@abtnode/webapp 1.16.30-beta-5d9c2c41 → 1.16.30-beta-cd65989e

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 (178) hide show
  1. package/blocklet.js +1 -1
  2. package/blocklet.yml +1 -1
  3. package/dist/assets/{Add-240wNjwq.js → Add-DcfqNj9w.js} +1 -1
  4. package/dist/assets/{ArrowDropDown-C_UcQOEh.js → ArrowDropDown-DYMMZRTO.js} +1 -1
  5. package/dist/assets/{Autocomplete-BcT7Oksd.js → Autocomplete-B3WY_LBb.js} +1 -1
  6. package/dist/assets/{Breadcrumbs-6lYKQe5b.js → Breadcrumbs-C3Ukk_Va.js} +1 -1
  7. package/dist/assets/{ButtonGroup-D2VNVq8p.js → ButtonGroup-Dyh7V3R_.js} +1 -1
  8. package/dist/assets/{CheckCircle-C3oHDZBR.js → CheckCircle-DFyRfRNK.js} +1 -1
  9. package/dist/assets/{ChevronLeft-CsFylH21.js → ChevronLeft-BP608n3q.js} +1 -1
  10. package/dist/assets/{ChevronRight-DB27L3xw.js → ChevronRight-DXthvSJU.js} +1 -1
  11. package/dist/assets/{Close-B0TqWuc9.js → Close-DRCHgHGm.js} +1 -1
  12. package/dist/assets/{Delete-DmepPquU.js → Delete-Db11NFpL.js} +1 -1
  13. package/dist/assets/DeleteOutline-CZIY0Jkx.js +1 -0
  14. package/dist/assets/DeleteOutline-FodRCvrE.js +1 -0
  15. package/dist/assets/{Done-DcWcwr60.js → Done-8K83c718.js} +1 -1
  16. package/dist/assets/{Edit-D1BvuH2M.js → Edit-D7NzY4U7.js} +1 -1
  17. package/dist/assets/{EditIcon-CDlQ1Y8-.js → EditIcon-C7JFIq8b.js} +1 -1
  18. package/dist/assets/{ExpandMore-CK0-Eu1n.js → ExpandMore-DQZgaGQn.js} +1 -1
  19. package/dist/assets/{FilterList-Bw1ZqePf.js → FilterList-FpqscjJw.js} +1 -1
  20. package/dist/assets/{Google-DmQIUmmK.js → Google-kRiNbyHh.js} +1 -1
  21. package/dist/assets/{Https-CdebkXl3.js → Https-s4r-e05W.js} +1 -1
  22. package/dist/assets/{InputAdornment-BRIOp0gH.js → InputAdornment-B5quKKO5.js} +1 -1
  23. package/dist/assets/{InputLabel-C31crC9j.js → InputLabel-Dh6H4BIb.js} +1 -1
  24. package/dist/assets/{LastPage-15pWD2wJ.js → LastPage-DT2e5BXx.js} +1 -1
  25. package/dist/assets/{Launch-CMM_hnCO.js → Launch-cwgW1pSn.js} +1 -1
  26. package/dist/assets/{Link-C4-IDwJx.js → Link-DEgDwuSo.js} +1 -1
  27. package/dist/assets/{LoadingButton-hwdCNe1X.js → LoadingButton-DDckTsBs.js} +1 -1
  28. package/dist/assets/{LockIcon-DGv96agC.js → LockIcon-DuSbMAm7.js} +1 -1
  29. package/dist/assets/{Loop-B2Vl1OiI.js → Loop-ZSIw_P5f.js} +1 -1
  30. package/dist/assets/{MoreHoriz-q-g-RPDL.js → MoreHoriz-DAjkNEHz.js} +1 -1
  31. package/dist/assets/{MoreVert-s3M1upT5.js → MoreVert-BWsZ-BJo.js} +1 -1
  32. package/dist/assets/{Pagination-B5dMIe8j.js → Pagination-BJP77u5l.js} +1 -1
  33. package/dist/assets/{Public-CF6xMrln.js → Public-DDWrr2XN.js} +1 -1
  34. package/dist/assets/{SchemaReference.es-BLQMCHdi.js → SchemaReference.es-k9Z767eT.js} +1 -1
  35. package/dist/assets/{Search-B0peOjeQ.js → Search-SYh-6ZOz.js} +1 -1
  36. package/dist/assets/{Select-C--LsVoO.js → Select-BLXgoX9k.js} +1 -1
  37. package/dist/assets/{Skeleton-CaItownp.js → Skeleton-Dyu5Ax0I.js} +1 -1
  38. package/dist/assets/{Slider-BA1jwO1h.js → Slider-B0276czb.js} +1 -1
  39. package/dist/assets/{Stepper-BQ3ikYJX.js → Stepper-CZPI8cC9.js} +1 -1
  40. package/dist/assets/{TextField-D1TVUQl2.js → TextField-DwK_GXoo.js} +1 -1
  41. package/dist/assets/{ToggleButtonGroup-CbsnXtMY.js → ToggleButtonGroup-DYNoxLKb.js} +1 -1
  42. package/dist/assets/{ViewList-C8_Q1ZaL.js → ViewList-BuaOPxVQ.js} +1 -1
  43. package/dist/assets/{actions-DkIxbagz.js → actions-CCXhc7Af.js} +1 -1
  44. package/dist/assets/actions-CWKaEmCe.js +11 -0
  45. package/dist/assets/{agreement-DxK9sfKx.js → agreement-zGj-Qfxf.js} +1 -1
  46. package/dist/assets/api-CG6YJvRD.js +1 -0
  47. package/dist/assets/{app-avatar-C7ZZG5lQ.js → app-avatar-CHPdyNGu.js} +1 -1
  48. package/dist/assets/{audit-logs-CrN9QYVu.js → audit-logs-D956eiA3.js} +1 -1
  49. package/dist/assets/blocklet-DsP8dvbD.js +1 -0
  50. package/dist/assets/{brace-fold.es-Byk4OhlU.js → brace-fold.es-Ceo3WJ-_.js} +1 -1
  51. package/dist/assets/{bundle-avatar-BDTyLzjh.js → bundle-avatar-BmpkX0gn.js} +1 -1
  52. package/dist/assets/{chart-BXerkWdt.js → chart-C1MBEatU.js} +1 -1
  53. package/dist/assets/{click-to-copy-CK-Mkhd0.js → click-to-copy-BE3dtZl9.js} +1 -1
  54. package/dist/assets/{closebrackets.es-CTZfsjeS.js → closebrackets.es-DRptbCUu.js} +1 -1
  55. package/dist/assets/{codemirror.es-CosWD2iy.js → codemirror.es-ZszZWF0R.js} +1 -1
  56. package/dist/assets/{comment.es-DxS_C5_M.js → comment.es-cnLgD8Uc.js} +1 -1
  57. package/dist/assets/{config-navigation-D8N_TmOY.js → config-navigation-BOrH5Hvb.js} +1 -1
  58. package/dist/assets/{delete-confirm-BKnCoOpO.js → delete-confirm-DpRBeIKH.js} +1 -1
  59. package/dist/assets/{detail-BmlatkjD.js → detail-vJPrtqvp.js} +3 -3
  60. package/dist/assets/{dialog.es-Bg0EeV0q.js → dialog.es-CfQUxsPX.js} +1 -1
  61. package/dist/assets/{download-C0fC4yYB.js → download-cFw_E2Hj.js} +1 -1
  62. package/dist/assets/{foldgutter.es-pqkwUOpu.js → foldgutter.es-CgkrTV35.js} +1 -1
  63. package/dist/assets/getValidReactChildren-BAhSJfgG.js +1 -0
  64. package/dist/assets/{hint.es-EAu4kf7y.js → hint.es-eNWKZSbN.js} +1 -1
  65. package/dist/assets/{hint.es2-BFhwDvJp.js → hint.es2-BhkzwSZo.js} +1 -1
  66. package/dist/assets/{iframe-DCJ7N4jM.js → iframe-BIwxy4ip.js} +1 -1
  67. package/dist/assets/{index-BH1hVJpW.js → index-77OEIYM-.js} +1 -1
  68. package/dist/assets/{index-CheSXyoA.js → index-AgJrAiSK.js} +3 -3
  69. package/dist/assets/{index-M9-_GBvS.js → index-B07CNOuw.js} +1 -1
  70. package/dist/assets/{index-CIV9Tvzf.js → index-BBKwIw61.js} +1 -1
  71. package/dist/assets/{index-c1dR1RcA.js → index-BHeHy1vA.js} +1 -1
  72. package/dist/assets/{index-B4PWSsiR.js → index-BL7aEYjP.js} +1 -1
  73. package/dist/assets/index-BReI-Zee.js +68 -0
  74. package/dist/assets/{index-BvnS-7-1.js → index-BSMELOgI.js} +1 -1
  75. package/dist/assets/{index-C8xCbxUE.js → index-Bd4i9E1O.js} +1 -1
  76. package/dist/assets/{index-Ch9-jINY.js → index-BkdBfB4w.js} +1 -1
  77. package/dist/assets/{index-Cu-S2eZJ.js → index-Bq5tRfCd.js} +1 -1
  78. package/dist/assets/{index-CDre3mnK.js → index-BtBRSL1d.js} +3 -3
  79. package/dist/assets/{index-de76ek1K.js → index-C42qq7Ec.js} +1 -1
  80. package/dist/assets/{index-CuOQXV32.js → index-C74bQC6L.js} +1 -1
  81. package/dist/assets/{index-D8KWuR1-.js → index-CInfPT7W.js} +1 -1
  82. package/dist/assets/{index-BI-i5kKF.js → index-CRniQIuD.js} +1 -1
  83. package/dist/assets/{index-BJXHdeeV.js → index-Cd1cCAJE.js} +1 -1
  84. package/dist/assets/{index-C1PiAS_Y.js → index-CrQS5iun.js} +1 -1
  85. package/dist/assets/index-Cw-_inHl.js +80 -0
  86. package/dist/assets/{index-CRLxFVWY.js → index-Cwi3bFQC.js} +3 -3
  87. package/dist/assets/{index-CZrhCkal.js → index-D1PLfduk.js} +1 -1
  88. package/dist/assets/{index-CGjwUKrb.js → index-D3Cozcmh.js} +1 -1
  89. package/dist/assets/{index-DdIvdpgD.js → index-D4xfc6Js.js} +1 -1
  90. package/dist/assets/{index-DIrIbW6w.js → index-D9Y3tfXV.js} +1 -1
  91. package/dist/assets/{index-D9XZ1bG6.js → index-DBx2-m_Y.js} +1 -1
  92. package/dist/assets/{index-wRDZOUMs.js → index-DD1cWFOC.js} +1 -1
  93. package/dist/assets/{index-CmFVyjgY.js → index-DEPFtOhR.js} +1 -1
  94. package/dist/assets/{index-nsaxnXRB.js → index-DMFar3I1.js} +1 -1
  95. package/dist/assets/{index-DnZQlEKp.js → index-Dcdxfmgi.js} +1 -1
  96. package/dist/assets/{index-BPY6z3Rs.js → index-Dd6xY134.js} +3 -3
  97. package/dist/assets/{index-BeN4ZgCH.js → index-Dntt1eil.js} +1 -1
  98. package/dist/assets/{index-ClZOvGLQ.js → index-Dp2GTeOn.js} +1 -1
  99. package/dist/assets/{index-DqnDo97c.js → index-Dpoqj6Jo.js} +1 -1
  100. package/dist/assets/{index-CDRbsQoL.js → index-Dqs8xtQE.js} +1 -1
  101. package/dist/assets/{index-DxuvuH9i.js → index-Dw1w1qL3.js} +1 -1
  102. package/dist/assets/index-FIMmdaZK.js +21 -0
  103. package/dist/assets/{index-Cx3miQZ4.js → index-H_NjEuu9.js} +3 -2
  104. package/dist/assets/{index-BUnnmW1r.js → index-KJ30jnaf.js} +1 -1
  105. package/dist/assets/{index-DivETz-Z.js → index-NkzSJ_BT.js} +5 -5
  106. package/dist/assets/{index-6XBeHuD_.js → index-YpvJfazn.js} +1 -1
  107. package/dist/assets/{index-BMfXnuvp.js → index-ZSHqTs4i.js} +1 -1
  108. package/dist/assets/{index-7fpoPAbz.js → index-bivCnspX.js} +1 -1
  109. package/dist/assets/{index-qU6j-u6W.js → index-cvAtg-Od.js} +14 -14
  110. package/dist/assets/{index-B_FDrImE.js → index-wZRHPQoX.js} +1 -1
  111. package/dist/assets/{index.es-CZDnnfg-.js → index.es-tDltq_DZ.js} +1 -1
  112. package/dist/assets/{index.esm-Dkpk3RMi.js → index.esm-DhpdxP8T.js} +1 -1
  113. package/dist/assets/{info-addon.es-B1aKFVvv.js → info-addon.es-DMX0vTB2.js} +1 -1
  114. package/dist/assets/{info.es-DTXDBN9z.js → info.es-C_it_PXd.js} +1 -1
  115. package/dist/assets/{install-from-url-DjctVTOl.js → install-from-url-BCD5VkoR.js} +1 -1
  116. package/dist/assets/{invitation-DSdBJgkC.js → invitation-BumVTtN2.js} +1 -1
  117. package/dist/assets/{is-path-prefix-equal-C6zlDhVp.js → is-path-prefix-equal-DubKYq2T.js} +1 -1
  118. package/dist/assets/{isEqual-0cnx2qOS.js → isEqual-BkbmgPj_.js} +1 -1
  119. package/dist/assets/{item-Dln-w3Iq.js → item-DrPKfKmr.js} +1 -1
  120. package/dist/assets/{javascript.es-DKea0oPd.js → javascript.es-DMQy9e7V.js} +1 -1
  121. package/dist/assets/{jump-to-line.es-DmWSMR-E.js → jump-to-line.es-CnkPzf5y.js} +1 -1
  122. package/dist/assets/{jump.es-CQGzFoAd.js → jump.es-C9HLQdHA.js} +1 -1
  123. package/dist/assets/{line-BIpTQfTJ.js → line-4lY_Qb2m.js} +3 -3
  124. package/dist/assets/{lint.es-BAY5Woc0.js → lint.es-C5Vl7JPf.js} +1 -1
  125. package/dist/assets/{lint.es2-C4O9zzDQ.js → lint.es2-Bm4ZHXqa.js} +1 -1
  126. package/dist/assets/{lint.es3-q80vs6e3.js → lint.es3-BB9pBVnq.js} +1 -1
  127. package/dist/assets/{list-header-DuWvRnX_.js → list-header-BCtVonO4.js} +1 -1
  128. package/dist/assets/{log-U-Oy1msj.js → log-wlfixqXj.js} +1 -1
  129. package/dist/assets/{lottie-D0zUdkp5.js → lottie-iTUSD55o.js} +1 -1
  130. package/dist/assets/{matchbrackets.es-B_OCWqIS.js → matchbrackets.es-Bl0t_qCA.js} +1 -1
  131. package/dist/assets/{memory-CESYopLm.js → memory-wEAomQNC.js} +1 -1
  132. package/dist/assets/{mode.es-DVfsqtAx.js → mode.es-rKbkm8lU.js} +1 -1
  133. package/dist/assets/{mode.es2-gg_0Yels.js → mode.es2-ytsRZP0t.js} +1 -1
  134. package/dist/assets/{mode.es3-CWCOwidy.js → mode.es3-DfHDE8XK.js} +1 -1
  135. package/dist/assets/{onlineParser.es-CTZOlUJG.js → onlineParser.es-wDu05TUX.js} +1 -1
  136. package/dist/assets/{overview-D7OPOkGE.js → overview-1N_1lpT0.js} +1 -1
  137. package/dist/assets/{react-Blm3BSvE.js → react-B4m6RLMM.js} +3 -3
  138. package/dist/assets/{redux-CaV6uiOr.js → redux-CxE33JOf.js} +1 -1
  139. package/dist/assets/{resource-dialog-Cbfivwvi.js → resource-dialog-C-7qKAQl.js} +1 -1
  140. package/dist/assets/{runtime-BE0JWW3n.js → runtime-5KBAFD-g.js} +1 -1
  141. package/dist/assets/{schema-BKkMgYH9.js → schema-B4kKlOTb.js} +1 -1
  142. package/dist/assets/sdk-CV4QPi_Q.js +1 -0
  143. package/dist/assets/{search.es-CGDd2k_t.js → search.es-CQuNoVSc.js} +1 -1
  144. package/dist/assets/{searchcursor.es-xO-dGzm1.js → searchcursor.es-Bbgmgmrg.js} +1 -1
  145. package/dist/assets/service-Bwn6NSxE.js +1 -0
  146. package/dist/assets/{shorten-label-CZVhjulh.js → shorten-label-C_WwZ4ZV.js} +1 -1
  147. package/dist/assets/{show-hint.es-opE1QlXT.js → show-hint.es-tSocwxSB.js} +1 -1
  148. package/dist/assets/{slicedToArray-C3_toPJB.js → slicedToArray-CmalbWCs.js} +1 -1
  149. package/dist/assets/{spaces-Swq2BNwF.js → spaces-1KfYd8Qs.js} +1 -1
  150. package/dist/assets/{status-dc380TH5.js → status-V0qJ0HIh.js} +1 -1
  151. package/dist/assets/{sublime.es-Bw3Iznmf.js → sublime.es-CLH5NL12.js} +1 -1
  152. package/dist/assets/{switch-control-CcMPAAj7.js → switch-control-CdkyWsoc.js} +1 -1
  153. package/dist/assets/{table-icons-TmY--eR2.js → table-icons-Baq11dUV.js} +2 -2
  154. package/dist/assets/{team-CBZV1UuS.js → team-Cup7T2o5.js} +1 -1
  155. package/dist/assets/{toUpper-Bjz0AMGp.js → toUpper-Dy6OxPnp.js} +1 -1
  156. package/dist/assets/{traffic-wydTjZWz.js → traffic-BL6WX1d5.js} +1 -1
  157. package/dist/assets/{url-evaluation-Oli2ZbAu.js → url-evaluation-DDt3hytj.js} +1 -1
  158. package/dist/assets/{url-join-BPHLmPis.js → url-join-H8M29juk.js} +1 -1
  159. package/dist/assets/{use-blocklet-info-for-connect-did-spaces-DRjxN2RW.js → use-blocklet-info-for-connect-did-spaces-Z2TSdCJw.js} +1 -1
  160. package/dist/assets/{useLocalStorage-DABDAbRI.js → useLocalStorage-6mPZ-rWo.js} +1 -1
  161. package/dist/assets/{useThemeProps-Cqic-E0U.js → useThemeProps-rDwpoqme.js} +1 -1
  162. package/dist/assets/{util-DMkhCe5T.js → util-DThpIciT.js} +1 -1
  163. package/dist/assets/{wait-container-7MRBml26.js → wait-container-DHDQHqIH.js} +1 -1
  164. package/dist/assets/{withStyles-mttjYCTj.js → withStyles-CXCpzdMR.js} +1 -1
  165. package/dist/assets/{wrap-locale-Dy0OLcMz.js → wrap-locale-Kr9QT-Cb.js} +1 -1
  166. package/dist/index.html +1 -1
  167. package/dist/service-worker.js +1 -1
  168. package/package.json +1 -1
  169. package/dist/assets/DeleteOutline-o5TFeql0.js +0 -1
  170. package/dist/assets/actions-Drufb-pQ.js +0 -11
  171. package/dist/assets/api-DOcnwqon.js +0 -1
  172. package/dist/assets/blocklet-DX4HGT6b.js +0 -1
  173. package/dist/assets/getValidReactChildren-Bwdvi5zb.js +0 -1
  174. package/dist/assets/index-B8Hu4oNh.js +0 -80
  175. package/dist/assets/index-CGyIRwUl.js +0 -21
  176. package/dist/assets/index-HwE3ySwC.js +0 -68
  177. package/dist/assets/sdk-DM3m0pIz.js +0 -1
  178. package/dist/assets/service-CqEmzSuD.js +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-nsaxnXRB.js","./index-BojVbZw0.js","./index-D8KWuR1-.js","./click-to-copy-CK-Mkhd0.js","./withStyles-mttjYCTj.js","./index-B8Hu4oNh.js","./useLocalStorage-DABDAbRI.js","./index-CDRbsQoL.js","./FilterList-Bw1ZqePf.js","./useThemeProps-Cqic-E0U.js","./Select-C--LsVoO.js","./Delete-DmepPquU.js","./InputLabel-C31crC9j.js","./TextField-D1TVUQl2.js","./LastPage-15pWD2wJ.js","./index-BH1hVJpW.js","./redux-CaV6uiOr.js","./Search-B0peOjeQ.js","./index-c1dR1RcA.js","./MoreVert-s3M1upT5.js","./status-dc380TH5.js","./url-evaluation-Oli2ZbAu.js","./actions-Drufb-pQ.js","./ButtonGroup-D2VNVq8p.js","./getValidReactChildren-Bwdvi5zb.js","./index-BvnS-7-1.js","./isEqual-0cnx2qOS.js","./install-from-url-DjctVTOl.js","./schema-BKkMgYH9.js","./index-C1PiAS_Y.js","./Stepper-BQ3ikYJX.js","./app-avatar-C7ZZG5lQ.js","./Add-240wNjwq.js","./index-ClZOvGLQ.js","./ExpandMore-CK0-Eu1n.js","./index-CheSXyoA.js","./index-Cx3miQZ4.js","./url-join-BPHLmPis.js","./Skeleton-CaItownp.js","./Close-B0TqWuc9.js","./lottie-D0zUdkp5.js","./wait-container-7MRBml26.js","./Launch-CMM_hnCO.js","./DeleteOutline-o5TFeql0.js","./spaces-Swq2BNwF.js","./api-DOcnwqon.js","./index-CGyIRwUl.js","./item-Dln-w3Iq.js","./index-DxuvuH9i.js","./index-ZG7jWpak.js","./index-BMfXnuvp.js","./InputAdornment-BRIOp0gH.js","./preact.module-DJUF--8d.js","./Done-DcWcwr60.js","./delete-confirm-BKnCoOpO.js","./shorten-label-CZVhjulh.js","./blocklet-DX4HGT6b.js","./item-D_j8BgsJ.css","./ArrowDropDown-C_UcQOEh.js","./Breadcrumbs-6lYKQe5b.js","./index-wRDZOUMs.js","./index-BUnnmW1r.js","./index.esm-Dkpk3RMi.js","./switch-control-CcMPAAj7.js","./is-path-prefix-equal-C6zlDhVp.js","./Link-C4-IDwJx.js","./logo-BKA11TRi.js","./LoadingButton-hwdCNe1X.js","./Public-CF6xMrln.js","./CheckCircle-C3oHDZBR.js","./ChevronRight-DB27L3xw.js","./Edit-D1BvuH2M.js","./Https-CdebkXl3.js","./Slider-BA1jwO1h.js","./index-CZrhCkal.js","./download-C0fC4yYB.js","./download-D33dFtt_.css","./index-DqnDo97c.js","./audit-logs-CrN9QYVu.js","./index-7fpoPAbz.js","./index-D4PP6P2d.css","./Pagination-B5dMIe8j.js","./index-6XBeHuD_.js","./index-DdIvdpgD.js","./Loop-B2Vl1OiI.js","./ViewList-C8_Q1ZaL.js","./list-header-DuWvRnX_.js","./index-M9-_GBvS.js","./resource-dialog-Cbfivwvi.js","./index-BJXHdeeV.js","./index-CGjwUKrb.js","./team-CBZV1UuS.js","./sdk-DM3m0pIz.js","./actions-DkIxbagz.js","./MoreHoriz-q-g-RPDL.js","./index-Ch9-jINY.js","./EditIcon-CDlQ1Y8-.js","./LockIcon-DGv96agC.js","./Google-DmQIUmmK.js","./ToggleButtonGroup-CbsnXtMY.js","./detail-BmlatkjD.js","./index-B4PWSsiR.js","./index-BI-i5kKF.js","./invitation-DSdBJgkC.js","./index-DIrIbW6w.js","./wrap-locale-Dy0OLcMz.js","./index-CDre3mnK.js","./index-BeN4ZgCH.js","./index-B_FDrImE.js","./agreement-DxK9sfKx.js","./index-C8xCbxUE.js","./index-CuOQXV32.js","./index-DivETz-Z.js","./index-C7igR7se.css","./index-CmFVyjgY.js","./traffic-wydTjZWz.js","./iframe-DCJ7N4jM.js","./ChevronLeft-CsFylH21.js","./chart-BXerkWdt.js","./bundle-avatar-BDTyLzjh.js","./memory-CESYopLm.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-DMFar3I1.js","./index-BojVbZw0.js","./index-CInfPT7W.js","./click-to-copy-BE3dtZl9.js","./withStyles-CXCpzdMR.js","./index-Cw-_inHl.js","./useLocalStorage-6mPZ-rWo.js","./index-Dqs8xtQE.js","./FilterList-FpqscjJw.js","./useThemeProps-rDwpoqme.js","./Select-BLXgoX9k.js","./Delete-Db11NFpL.js","./InputLabel-Dh6H4BIb.js","./TextField-DwK_GXoo.js","./LastPage-DT2e5BXx.js","./index-77OEIYM-.js","./redux-CxE33JOf.js","./Search-SYh-6ZOz.js","./index-BHeHy1vA.js","./MoreVert-BWsZ-BJo.js","./status-V0qJ0HIh.js","./url-evaluation-DDt3hytj.js","./actions-CWKaEmCe.js","./ButtonGroup-Dyh7V3R_.js","./getValidReactChildren-BAhSJfgG.js","./index-BSMELOgI.js","./isEqual-BkbmgPj_.js","./install-from-url-BCD5VkoR.js","./schema-B4kKlOTb.js","./index-CrQS5iun.js","./Stepper-CZPI8cC9.js","./app-avatar-CHPdyNGu.js","./Add-DcfqNj9w.js","./index-Dp2GTeOn.js","./ExpandMore-DQZgaGQn.js","./index-AgJrAiSK.js","./index-H_NjEuu9.js","./url-join-H8M29juk.js","./Skeleton-Dyu5Ax0I.js","./Close-DRCHgHGm.js","./lottie-iTUSD55o.js","./wait-container-DHDQHqIH.js","./Launch-cwgW1pSn.js","./DeleteOutline-CZIY0Jkx.js","./DeleteOutline-FodRCvrE.js","./spaces-1KfYd8Qs.js","./api-CG6YJvRD.js","./index-FIMmdaZK.js","./item-DrPKfKmr.js","./index-Dw1w1qL3.js","./index-ZG7jWpak.js","./index-ZSHqTs4i.js","./InputAdornment-B5quKKO5.js","./preact.module-DJUF--8d.js","./Done-8K83c718.js","./delete-confirm-DpRBeIKH.js","./shorten-label-C_WwZ4ZV.js","./blocklet-DsP8dvbD.js","./item-D_j8BgsJ.css","./ArrowDropDown-DYMMZRTO.js","./Breadcrumbs-C3Ukk_Va.js","./index-DD1cWFOC.js","./index-KJ30jnaf.js","./index.esm-DhpdxP8T.js","./switch-control-CdkyWsoc.js","./is-path-prefix-equal-DubKYq2T.js","./Link-DEgDwuSo.js","./logo-BKA11TRi.js","./LoadingButton-DDckTsBs.js","./Public-DDWrr2XN.js","./CheckCircle-DFyRfRNK.js","./ChevronRight-DXthvSJU.js","./Edit-D7NzY4U7.js","./Https-s4r-e05W.js","./Slider-B0276czb.js","./index-D1PLfduk.js","./download-cFw_E2Hj.js","./download-D33dFtt_.css","./index-Dpoqj6Jo.js","./audit-logs-D956eiA3.js","./index-bivCnspX.js","./index-D4PP6P2d.css","./Pagination-BJP77u5l.js","./index-YpvJfazn.js","./index-D4xfc6Js.js","./Loop-ZSIw_P5f.js","./ViewList-BuaOPxVQ.js","./list-header-BCtVonO4.js","./index-B07CNOuw.js","./resource-dialog-C-7qKAQl.js","./index-Cd1cCAJE.js","./index-D3Cozcmh.js","./team-Cup7T2o5.js","./sdk-CV4QPi_Q.js","./actions-CCXhc7Af.js","./MoreHoriz-DAjkNEHz.js","./index-BkdBfB4w.js","./EditIcon-C7JFIq8b.js","./LockIcon-DuSbMAm7.js","./Google-kRiNbyHh.js","./ToggleButtonGroup-DYNoxLKb.js","./detail-vJPrtqvp.js","./index-BL7aEYjP.js","./index-CRniQIuD.js","./invitation-BumVTtN2.js","./index-D9Y3tfXV.js","./wrap-locale-Kr9QT-Cb.js","./index-BtBRSL1d.js","./index-Dntt1eil.js","./index-wZRHPQoX.js","./agreement-zGj-Qfxf.js","./index-Bd4i9E1O.js","./index-C74bQC6L.js","./index-NkzSJ_BT.js","./index-C7igR7se.css","./index-DEPFtOhR.js","./traffic-BL6WX1d5.js","./iframe-BIwxy4ip.js","./ChevronLeft-BP608n3q.js","./chart-C1MBEatU.js","./bundle-avatar-BmpkX0gn.js","./memory-wEAomQNC.js"])))=>i.map(i=>d[i]);
2
2
  var Km=a=>{throw TypeError(a)};var Pp=(a,j,_e)=>j.has(a)||Km("Cannot "+_e);var Wr=(a,j,_e)=>(Pp(a,j,"read from private field"),_e?_e.call(a):j.get(a)),Is=(a,j,_e)=>j.has(a)?Km("Cannot add the same private member more than once"):j instanceof WeakSet?j.add(a):j.set(a,_e),Uo=(a,j,_e,et)=>(Pp(a,j,"write to private field"),et?et.call(a,_e):j.set(a,_e),_e),Ro=(a,j,_e)=>(Pp(a,j,"access private method"),_e);var Ip=(a,j,_e,et)=>({set _(tt){Uo(a,j,tt,_e)},get _(){return Wr(a,j,et)}});function _mergeNamespaces(a,j){for(var _e=0;_e<j.length;_e++){const et=j[_e];if(typeof et!="string"&&!Array.isArray(et)){for(const tt in et)if(tt!=="default"&&!(tt in a)){const nt=Object.getOwnPropertyDescriptor(et,tt);nt&&Object.defineProperty(a,tt,nt.get?nt:{enumerable:!0,get:()=>et[tt]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}(function(){const j=document.createElement("link").relList;if(j&&j.supports&&j.supports("modulepreload"))return;for(const tt of document.querySelectorAll('link[rel="modulepreload"]'))et(tt);new MutationObserver(tt=>{for(const nt of tt)if(nt.type==="childList")for(const rt of nt.addedNodes)rt.tagName==="LINK"&&rt.rel==="modulepreload"&&et(rt)}).observe(document,{childList:!0,subtree:!0});function _e(tt){const nt={};return tt.integrity&&(nt.integrity=tt.integrity),tt.referrerPolicy&&(nt.referrerPolicy=tt.referrerPolicy),tt.crossOrigin==="use-credentials"?nt.credentials="include":tt.crossOrigin==="anonymous"?nt.credentials="omit":nt.credentials="same-origin",nt}function et(tt){if(tt.ep)return;tt.ep=!0;const nt=_e(tt);fetch(tt.href,nt)}})();var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs$1(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}function getAugmentedNamespace(a){if(a.__esModule)return a;var j=a.default;if(typeof j=="function"){var _e=function et(){return this instanceof et?Reflect.construct(j,arguments,this.constructor):j.apply(this,arguments)};_e.prototype=j.prototype}else _e={};return Object.defineProperty(_e,"__esModule",{value:!0}),Object.keys(a).forEach(function(et){var tt=Object.getOwnPropertyDescriptor(a,et);Object.defineProperty(_e,et,tt.get?tt:{enumerable:!0,get:function(){return a[et]}})}),_e}var jsxRuntime={exports:{}},reactJsxRuntime_production_min={},react={exports:{}},react_production_min={};/**
3
3
  * @license React
4
4
  * react.production.min.js
@@ -276,7 +276,7 @@ use chrome, FireFox or Internet Explorer 11`)}var j=safeBufferExports,_e=browser
276
276
  `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(j){return j instanceof this?j:new this(j)}static concat(j,..._e){const et=new this(j);return _e.forEach(tt=>et.set(tt)),et}static accessor(j){const et=(this[$internals]=this[$internals]={accessors:{}}).accessors,tt=this.prototype;function nt(rt){const it=normalizeHeader(rt);et[it]||(buildAccessors(tt,rt),et[it]=!0)}return utils$1.isArray(j)?j.forEach(nt):nt(j),this}};AxiosHeaders$1.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);utils$1.reduceDescriptors(AxiosHeaders$1.prototype,({value:a},j)=>{let _e=j[0].toUpperCase()+j.slice(1);return{get:()=>a,set(et){this[_e]=et}}});utils$1.freezeMethods(AxiosHeaders$1);function transformData(a,j){const _e=this||defaults$1,et=j||_e,tt=AxiosHeaders$1.from(et.headers);let nt=et.data;return utils$1.forEach(a,function(it){nt=it.call(_e,nt,tt.normalize(),j?j.status:void 0)}),tt.normalize(),nt}function isCancel$1(a){return!!(a&&a.__CANCEL__)}function CanceledError$1(a,j,_e){AxiosError$1.call(this,a??"canceled",AxiosError$1.ERR_CANCELED,j,_e),this.name="CanceledError"}utils$1.inherits(CanceledError$1,AxiosError$1,{__CANCEL__:!0});function settle(a,j,_e){const et=_e.config.validateStatus;!_e.status||!et||et(_e.status)?a(_e):j(new AxiosError$1("Request failed with status code "+_e.status,[AxiosError$1.ERR_BAD_REQUEST,AxiosError$1.ERR_BAD_RESPONSE][Math.floor(_e.status/100)-4],_e.config,_e.request,_e))}function parseProtocol(a){const j=/^([-+\w]{1,25})(:?\/\/|:)/.exec(a);return j&&j[1]||""}function speedometer(a,j){a=a||10;const _e=new Array(a),et=new Array(a);let tt=0,nt=0,rt;return j=j!==void 0?j:1e3,function(ot){const ut=Date.now(),st=et[nt];rt||(rt=ut),_e[tt]=ot,et[tt]=ut;let ft=nt,dt=0;for(;ft!==tt;)dt+=_e[ft++],ft=ft%a;if(tt=(tt+1)%a,tt===nt&&(nt=(nt+1)%a),ut-rt<j)return;const ht=st&&ut-st;return ht?Math.round(dt*1e3/ht):void 0}}function throttle(a,j){let _e=0,et=1e3/j,tt,nt;const rt=(ut,st=Date.now())=>{_e=st,tt=null,nt&&(clearTimeout(nt),nt=null),a.apply(null,ut)};return[(...ut)=>{const st=Date.now(),ft=st-_e;ft>=et?rt(ut,st):(tt=ut,nt||(nt=setTimeout(()=>{nt=null,rt(tt)},et-ft)))},()=>tt&&rt(tt)]}const progressEventReducer=(a,j,_e=3)=>{let et=0;const tt=speedometer(50,250);return throttle(nt=>{const rt=nt.loaded,it=nt.lengthComputable?nt.total:void 0,ot=rt-et,ut=tt(ot),st=rt<=it;et=rt;const ft={loaded:rt,total:it,progress:it?rt/it:void 0,bytes:ot,rate:ut||void 0,estimated:ut&&it&&st?(it-rt)/ut:void 0,event:nt,lengthComputable:it!=null,[j?"download":"upload"]:!0};a(ft)},_e)},progressEventDecorator=(a,j)=>{const _e=a!=null;return[et=>j[0]({lengthComputable:_e,total:a,loaded:et}),j[1]]},asyncDecorator=a=>(...j)=>utils$1.asap(()=>a(...j)),isURLSameOrigin=platform.hasStandardBrowserEnv?function a(){const j=/(msie|trident)/i.test(navigator.userAgent),_e=document.createElement("a");let et;function tt(nt){let rt=nt;return j&&(_e.setAttribute("href",rt),rt=_e.href),_e.setAttribute("href",rt),{href:_e.href,protocol:_e.protocol?_e.protocol.replace(/:$/,""):"",host:_e.host,search:_e.search?_e.search.replace(/^\?/,""):"",hash:_e.hash?_e.hash.replace(/^#/,""):"",hostname:_e.hostname,port:_e.port,pathname:_e.pathname.charAt(0)==="/"?_e.pathname:"/"+_e.pathname}}return et=tt(window.location.href),function(rt){const it=utils$1.isString(rt)?tt(rt):rt;return it.protocol===et.protocol&&it.host===et.host}}():function a(){return function(){return!0}}(),cookies=platform.hasStandardBrowserEnv?{write(a,j,_e,et,tt,nt){const rt=[a+"="+encodeURIComponent(j)];utils$1.isNumber(_e)&&rt.push("expires="+new Date(_e).toGMTString()),utils$1.isString(et)&&rt.push("path="+et),utils$1.isString(tt)&&rt.push("domain="+tt),nt===!0&&rt.push("secure"),document.cookie=rt.join("; ")},read(a){const j=document.cookie.match(new RegExp("(^|;\\s*)("+a+")=([^;]*)"));return j?decodeURIComponent(j[3]):null},remove(a){this.write(a,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function isAbsoluteURL(a){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(a)}function combineURLs(a,j){return j?a.replace(/\/?\/$/,"")+"/"+j.replace(/^\/+/,""):a}function buildFullPath(a,j){return a&&!isAbsoluteURL(j)?combineURLs(a,j):j}const headersToObject=a=>a instanceof AxiosHeaders$1?{...a}:a;function mergeConfig$1(a,j){j=j||{};const _e={};function et(ut,st,ft){return utils$1.isPlainObject(ut)&&utils$1.isPlainObject(st)?utils$1.merge.call({caseless:ft},ut,st):utils$1.isPlainObject(st)?utils$1.merge({},st):utils$1.isArray(st)?st.slice():st}function tt(ut,st,ft){if(utils$1.isUndefined(st)){if(!utils$1.isUndefined(ut))return et(void 0,ut,ft)}else return et(ut,st,ft)}function nt(ut,st){if(!utils$1.isUndefined(st))return et(void 0,st)}function rt(ut,st){if(utils$1.isUndefined(st)){if(!utils$1.isUndefined(ut))return et(void 0,ut)}else return et(void 0,st)}function it(ut,st,ft){if(ft in j)return et(ut,st);if(ft in a)return et(void 0,ut)}const ot={url:nt,method:nt,data:nt,baseURL:rt,transformRequest:rt,transformResponse:rt,paramsSerializer:rt,timeout:rt,timeoutMessage:rt,withCredentials:rt,withXSRFToken:rt,adapter:rt,responseType:rt,xsrfCookieName:rt,xsrfHeaderName:rt,onUploadProgress:rt,onDownloadProgress:rt,decompress:rt,maxContentLength:rt,maxBodyLength:rt,beforeRedirect:rt,transport:rt,httpAgent:rt,httpsAgent:rt,cancelToken:rt,socketPath:rt,responseEncoding:rt,validateStatus:it,headers:(ut,st)=>tt(headersToObject(ut),headersToObject(st),!0)};return utils$1.forEach(Object.keys(Object.assign({},a,j)),function(st){const ft=ot[st]||tt,dt=ft(a[st],j[st],st);utils$1.isUndefined(dt)&&ft!==it||(_e[st]=dt)}),_e}const resolveConfig=a=>{const j=mergeConfig$1({},a);let{data:_e,withXSRFToken:et,xsrfHeaderName:tt,xsrfCookieName:nt,headers:rt,auth:it}=j;j.headers=rt=AxiosHeaders$1.from(rt),j.url=buildURL(buildFullPath(j.baseURL,j.url),a.params,a.paramsSerializer),it&&rt.set("Authorization","Basic "+btoa((it.username||"")+":"+(it.password?unescape(encodeURIComponent(it.password)):"")));let ot;if(utils$1.isFormData(_e)){if(platform.hasStandardBrowserEnv||platform.hasStandardBrowserWebWorkerEnv)rt.setContentType(void 0);else if((ot=rt.getContentType())!==!1){const[ut,...st]=ot?ot.split(";").map(ft=>ft.trim()).filter(Boolean):[];rt.setContentType([ut||"multipart/form-data",...st].join("; "))}}if(platform.hasStandardBrowserEnv&&(et&&utils$1.isFunction(et)&&(et=et(j)),et||et!==!1&&isURLSameOrigin(j.url))){const ut=tt&&nt&&cookies.read(nt);ut&&rt.set(tt,ut)}return j},isXHRAdapterSupported=typeof XMLHttpRequest<"u",xhrAdapter=isXHRAdapterSupported&&function(a){return new Promise(function(_e,et){const tt=resolveConfig(a);let nt=tt.data;const rt=AxiosHeaders$1.from(tt.headers).normalize();let{responseType:it,onUploadProgress:ot,onDownloadProgress:ut}=tt,st,ft,dt,ht,mt;function bt(){ht&&ht(),mt&&mt(),tt.cancelToken&&tt.cancelToken.unsubscribe(st),tt.signal&&tt.signal.removeEventListener("abort",st)}let Rt=new XMLHttpRequest;Rt.open(tt.method.toUpperCase(),tt.url,!0),Rt.timeout=tt.timeout;function St(){if(!Rt)return;const Pt=AxiosHeaders$1.from("getAllResponseHeaders"in Rt&&Rt.getAllResponseHeaders()),qt={data:!it||it==="text"||it==="json"?Rt.responseText:Rt.response,status:Rt.status,statusText:Rt.statusText,headers:Pt,config:a,request:Rt};settle(function(Ut){_e(Ut),bt()},function(Ut){et(Ut),bt()},qt),Rt=null}"onloadend"in Rt?Rt.onloadend=St:Rt.onreadystatechange=function(){!Rt||Rt.readyState!==4||Rt.status===0&&!(Rt.responseURL&&Rt.responseURL.indexOf("file:")===0)||setTimeout(St)},Rt.onabort=function(){Rt&&(et(new AxiosError$1("Request aborted",AxiosError$1.ECONNABORTED,a,Rt)),Rt=null)},Rt.onerror=function(){et(new AxiosError$1("Network Error",AxiosError$1.ERR_NETWORK,a,Rt)),Rt=null},Rt.ontimeout=function(){let Lt=tt.timeout?"timeout of "+tt.timeout+"ms exceeded":"timeout exceeded";const qt=tt.transitional||transitionalDefaults;tt.timeoutErrorMessage&&(Lt=tt.timeoutErrorMessage),et(new AxiosError$1(Lt,qt.clarifyTimeoutError?AxiosError$1.ETIMEDOUT:AxiosError$1.ECONNABORTED,a,Rt)),Rt=null},nt===void 0&&rt.setContentType(null),"setRequestHeader"in Rt&&utils$1.forEach(rt.toJSON(),function(Lt,qt){Rt.setRequestHeader(qt,Lt)}),utils$1.isUndefined(tt.withCredentials)||(Rt.withCredentials=!!tt.withCredentials),it&&it!=="json"&&(Rt.responseType=tt.responseType),ut&&([dt,mt]=progressEventReducer(ut,!0),Rt.addEventListener("progress",dt)),ot&&Rt.upload&&([ft,ht]=progressEventReducer(ot),Rt.upload.addEventListener("progress",ft),Rt.upload.addEventListener("loadend",ht)),(tt.cancelToken||tt.signal)&&(st=Pt=>{Rt&&(et(!Pt||Pt.type?new CanceledError$1(null,a,Rt):Pt),Rt.abort(),Rt=null)},tt.cancelToken&&tt.cancelToken.subscribe(st),tt.signal&&(tt.signal.aborted?st():tt.signal.addEventListener("abort",st)));const Dt=parseProtocol(tt.url);if(Dt&&platform.protocols.indexOf(Dt)===-1){et(new AxiosError$1("Unsupported protocol "+Dt+":",AxiosError$1.ERR_BAD_REQUEST,a));return}Rt.send(nt||null)})},composeSignals=(a,j)=>{let _e=new AbortController,et;const tt=function(ot){if(!et){et=!0,rt();const ut=ot instanceof Error?ot:this.reason;_e.abort(ut instanceof AxiosError$1?ut:new CanceledError$1(ut instanceof Error?ut.message:ut))}};let nt=j&&setTimeout(()=>{tt(new AxiosError$1(`timeout ${j} of ms exceeded`,AxiosError$1.ETIMEDOUT))},j);const rt=()=>{a&&(nt&&clearTimeout(nt),nt=null,a.forEach(ot=>{ot&&(ot.removeEventListener?ot.removeEventListener("abort",tt):ot.unsubscribe(tt))}),a=null)};a.forEach(ot=>ot&&ot.addEventListener&&ot.addEventListener("abort",tt));const{signal:it}=_e;return it.unsubscribe=rt,[it,()=>{nt&&clearTimeout(nt),nt=null}]},streamChunk=function*(a,j){let _e=a.byteLength;if(!j||_e<j){yield a;return}let et=0,tt;for(;et<_e;)tt=et+j,yield a.slice(et,tt),et=tt},readBytes=async function*(a,j,_e){for await(const et of a)yield*streamChunk(ArrayBuffer.isView(et)?et:await _e(String(et)),j)},trackStream=(a,j,_e,et,tt)=>{const nt=readBytes(a,j,tt);let rt=0,it,ot=ut=>{it||(it=!0,et&&et(ut))};return new ReadableStream({async pull(ut){try{const{done:st,value:ft}=await nt.next();if(st){ot(),ut.close();return}let dt=ft.byteLength;if(_e){let ht=rt+=dt;_e(ht)}ut.enqueue(new Uint8Array(ft))}catch(st){throw ot(st),st}},cancel(ut){return ot(ut),nt.return()}},{highWaterMark:2})},isFetchSupported=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",isReadableStreamSupported=isFetchSupported&&typeof ReadableStream=="function",encodeText=isFetchSupported&&(typeof TextEncoder=="function"?(a=>j=>a.encode(j))(new TextEncoder):async a=>new Uint8Array(await new Response(a).arrayBuffer())),test$1=(a,...j)=>{try{return!!a(...j)}catch{return!1}},supportsRequestStream=isReadableStreamSupported&&test$1(()=>{let a=!1;const j=new Request(platform.origin,{body:new ReadableStream,method:"POST",get duplex(){return a=!0,"half"}}).headers.has("Content-Type");return a&&!j}),DEFAULT_CHUNK_SIZE=64*1024,supportsResponseStream=isReadableStreamSupported&&test$1(()=>utils$1.isReadableStream(new Response("").body)),resolvers={stream:supportsResponseStream&&(a=>a.body)};isFetchSupported&&(a=>{["text","arrayBuffer","blob","formData","stream"].forEach(j=>{!resolvers[j]&&(resolvers[j]=utils$1.isFunction(a[j])?_e=>_e[j]():(_e,et)=>{throw new AxiosError$1(`Response type '${j}' is not supported`,AxiosError$1.ERR_NOT_SUPPORT,et)})})})(new Response);const getBodyLength=async a=>{if(a==null)return 0;if(utils$1.isBlob(a))return a.size;if(utils$1.isSpecCompliantForm(a))return(await new Request(a).arrayBuffer()).byteLength;if(utils$1.isArrayBufferView(a)||utils$1.isArrayBuffer(a))return a.byteLength;if(utils$1.isURLSearchParams(a)&&(a=a+""),utils$1.isString(a))return(await encodeText(a)).byteLength},resolveBodyLength=async(a,j)=>{const _e=utils$1.toFiniteNumber(a.getContentLength());return _e??getBodyLength(j)},fetchAdapter=isFetchSupported&&(async a=>{let{url:j,method:_e,data:et,signal:tt,cancelToken:nt,timeout:rt,onDownloadProgress:it,onUploadProgress:ot,responseType:ut,headers:st,withCredentials:ft="same-origin",fetchOptions:dt}=resolveConfig(a);ut=ut?(ut+"").toLowerCase():"text";let[ht,mt]=tt||nt||rt?composeSignals([tt,nt],rt):[],bt,Rt;const St=()=>{!bt&&setTimeout(()=>{ht&&ht.unsubscribe()}),bt=!0};let Dt;try{if(ot&&supportsRequestStream&&_e!=="get"&&_e!=="head"&&(Dt=await resolveBodyLength(st,et))!==0){let Mt=new Request(j,{method:"POST",body:et,duplex:"half"}),Ut;if(utils$1.isFormData(et)&&(Ut=Mt.headers.get("content-type"))&&st.setContentType(Ut),Mt.body){const[Jt,un]=progressEventDecorator(Dt,progressEventReducer(asyncDecorator(ot)));et=trackStream(Mt.body,DEFAULT_CHUNK_SIZE,Jt,un,encodeText)}}utils$1.isString(ft)||(ft=ft?"include":"omit"),Rt=new Request(j,{...dt,signal:ht,method:_e.toUpperCase(),headers:st.normalize().toJSON(),body:et,duplex:"half",credentials:ft});let Pt=await fetch(Rt);const Lt=supportsResponseStream&&(ut==="stream"||ut==="response");if(supportsResponseStream&&(it||Lt)){const Mt={};["status","statusText","headers"].forEach(dn=>{Mt[dn]=Pt[dn]});const Ut=utils$1.toFiniteNumber(Pt.headers.get("content-length")),[Jt,un]=it&&progressEventDecorator(Ut,progressEventReducer(asyncDecorator(it),!0))||[];Pt=new Response(trackStream(Pt.body,DEFAULT_CHUNK_SIZE,Jt,()=>{un&&un(),Lt&&St()},encodeText),Mt)}ut=ut||"text";let qt=await resolvers[utils$1.findKey(resolvers,ut)||"text"](Pt,a);return!Lt&&St(),mt&&mt(),await new Promise((Mt,Ut)=>{settle(Mt,Ut,{data:qt,headers:AxiosHeaders$1.from(Pt.headers),status:Pt.status,statusText:Pt.statusText,config:a,request:Rt})})}catch(Pt){throw St(),Pt&&Pt.name==="TypeError"&&/fetch/i.test(Pt.message)?Object.assign(new AxiosError$1("Network Error",AxiosError$1.ERR_NETWORK,a,Rt),{cause:Pt.cause||Pt}):AxiosError$1.from(Pt,Pt&&Pt.code,a,Rt)}}),knownAdapters={http:httpAdapter,xhr:xhrAdapter,fetch:fetchAdapter};utils$1.forEach(knownAdapters,(a,j)=>{if(a){try{Object.defineProperty(a,"name",{value:j})}catch{}Object.defineProperty(a,"adapterName",{value:j})}});const renderReason=a=>`- ${a}`,isResolvedHandle=a=>utils$1.isFunction(a)||a===null||a===!1,adapters={getAdapter:a=>{a=utils$1.isArray(a)?a:[a];const{length:j}=a;let _e,et;const tt={};for(let nt=0;nt<j;nt++){_e=a[nt];let rt;if(et=_e,!isResolvedHandle(_e)&&(et=knownAdapters[(rt=String(_e)).toLowerCase()],et===void 0))throw new AxiosError$1(`Unknown adapter '${rt}'`);if(et)break;tt[rt||"#"+nt]=et}if(!et){const nt=Object.entries(tt).map(([it,ot])=>`adapter ${it} `+(ot===!1?"is not supported by the environment":"is not available in the build"));let rt=j?nt.length>1?`since :
277
277
  `+nt.map(renderReason).join(`
278
278
  `):" "+renderReason(nt[0]):"as no adapter specified";throw new AxiosError$1("There is no suitable adapter to dispatch the request "+rt,"ERR_NOT_SUPPORT")}return et},adapters:knownAdapters};function throwIfCancellationRequested(a){if(a.cancelToken&&a.cancelToken.throwIfRequested(),a.signal&&a.signal.aborted)throw new CanceledError$1(null,a)}function dispatchRequest(a){return throwIfCancellationRequested(a),a.headers=AxiosHeaders$1.from(a.headers),a.data=transformData.call(a,a.transformRequest),["post","put","patch"].indexOf(a.method)!==-1&&a.headers.setContentType("application/x-www-form-urlencoded",!1),adapters.getAdapter(a.adapter||defaults$1.adapter)(a).then(function(et){return throwIfCancellationRequested(a),et.data=transformData.call(a,a.transformResponse,et),et.headers=AxiosHeaders$1.from(et.headers),et},function(et){return isCancel$1(et)||(throwIfCancellationRequested(a),et&&et.response&&(et.response.data=transformData.call(a,a.transformResponse,et.response),et.response.headers=AxiosHeaders$1.from(et.response.headers))),Promise.reject(et)})}const VERSION$1="1.7.3",validators$1={};["object","boolean","number","function","string","symbol"].forEach((a,j)=>{validators$1[a]=function(et){return typeof et===a||"a"+(j<1?"n ":" ")+a}});const deprecatedWarnings={};validators$1.transitional=function a(j,_e,et){function tt(nt,rt){return"[Axios v"+VERSION$1+"] Transitional option '"+nt+"'"+rt+(et?". "+et:"")}return(nt,rt,it)=>{if(j===!1)throw new AxiosError$1(tt(rt," has been removed"+(_e?" in "+_e:"")),AxiosError$1.ERR_DEPRECATED);return _e&&!deprecatedWarnings[rt]&&(deprecatedWarnings[rt]=!0,console.warn(tt(rt," has been deprecated since v"+_e+" and will be removed in the near future"))),j?j(nt,rt,it):!0}};function assertOptions(a,j,_e){if(typeof a!="object")throw new AxiosError$1("options must be an object",AxiosError$1.ERR_BAD_OPTION_VALUE);const et=Object.keys(a);let tt=et.length;for(;tt-- >0;){const nt=et[tt],rt=j[nt];if(rt){const it=a[nt],ot=it===void 0||rt(it,nt,a);if(ot!==!0)throw new AxiosError$1("option "+nt+" must be "+ot,AxiosError$1.ERR_BAD_OPTION_VALUE);continue}if(_e!==!0)throw new AxiosError$1("Unknown option "+nt,AxiosError$1.ERR_BAD_OPTION)}}const validator={assertOptions,validators:validators$1},validators=validator.validators;let Axios$1=class{constructor(j){this.defaults=j,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}async request(j,_e){try{return await this._request(j,_e)}catch(et){if(et instanceof Error){let tt;Error.captureStackTrace?Error.captureStackTrace(tt={}):tt=new Error;const nt=tt.stack?tt.stack.replace(/^.+\n/,""):"";try{et.stack?nt&&!String(et.stack).endsWith(nt.replace(/^.+\n.+\n/,""))&&(et.stack+=`
279
- `+nt):et.stack=nt}catch{}}throw et}}_request(j,_e){typeof j=="string"?(_e=_e||{},_e.url=j):_e=j||{},_e=mergeConfig$1(this.defaults,_e);const{transitional:et,paramsSerializer:tt,headers:nt}=_e;et!==void 0&&validator.assertOptions(et,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),tt!=null&&(utils$1.isFunction(tt)?_e.paramsSerializer={serialize:tt}:validator.assertOptions(tt,{encode:validators.function,serialize:validators.function},!0)),_e.method=(_e.method||this.defaults.method||"get").toLowerCase();let rt=nt&&utils$1.merge(nt.common,nt[_e.method]);nt&&utils$1.forEach(["delete","get","head","post","put","patch","common"],mt=>{delete nt[mt]}),_e.headers=AxiosHeaders$1.concat(rt,nt);const it=[];let ot=!0;this.interceptors.request.forEach(function(bt){typeof bt.runWhen=="function"&&bt.runWhen(_e)===!1||(ot=ot&&bt.synchronous,it.unshift(bt.fulfilled,bt.rejected))});const ut=[];this.interceptors.response.forEach(function(bt){ut.push(bt.fulfilled,bt.rejected)});let st,ft=0,dt;if(!ot){const mt=[dispatchRequest.bind(this),void 0];for(mt.unshift.apply(mt,it),mt.push.apply(mt,ut),dt=mt.length,st=Promise.resolve(_e);ft<dt;)st=st.then(mt[ft++],mt[ft++]);return st}dt=it.length;let ht=_e;for(ft=0;ft<dt;){const mt=it[ft++],bt=it[ft++];try{ht=mt(ht)}catch(Rt){bt.call(this,Rt);break}}try{st=dispatchRequest.call(this,ht)}catch(mt){return Promise.reject(mt)}for(ft=0,dt=ut.length;ft<dt;)st=st.then(ut[ft++],ut[ft++]);return st}getUri(j){j=mergeConfig$1(this.defaults,j);const _e=buildFullPath(j.baseURL,j.url);return buildURL(_e,j.params,j.paramsSerializer)}};utils$1.forEach(["delete","get","head","options"],function a(j){Axios$1.prototype[j]=function(_e,et){return this.request(mergeConfig$1(et||{},{method:j,url:_e,data:(et||{}).data}))}});utils$1.forEach(["post","put","patch"],function a(j){function _e(et){return function(nt,rt,it){return this.request(mergeConfig$1(it||{},{method:j,headers:et?{"Content-Type":"multipart/form-data"}:{},url:nt,data:rt}))}}Axios$1.prototype[j]=_e(),Axios$1.prototype[j+"Form"]=_e(!0)});let CancelToken$1=class Xm{constructor(j){if(typeof j!="function")throw new TypeError("executor must be a function.");let _e;this.promise=new Promise(function(nt){_e=nt});const et=this;this.promise.then(tt=>{if(!et._listeners)return;let nt=et._listeners.length;for(;nt-- >0;)et._listeners[nt](tt);et._listeners=null}),this.promise.then=tt=>{let nt;const rt=new Promise(it=>{et.subscribe(it),nt=it}).then(tt);return rt.cancel=function(){et.unsubscribe(nt)},rt},j(function(nt,rt,it){et.reason||(et.reason=new CanceledError$1(nt,rt,it),_e(et.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(j){if(this.reason){j(this.reason);return}this._listeners?this._listeners.push(j):this._listeners=[j]}unsubscribe(j){if(!this._listeners)return;const _e=this._listeners.indexOf(j);_e!==-1&&this._listeners.splice(_e,1)}static source(){let j;return{token:new Xm(function(tt){j=tt}),cancel:j}}};function spread$1(a){return function(_e){return a.apply(null,_e)}}function isAxiosError$1(a){return utils$1.isObject(a)&&a.isAxiosError===!0}const HttpStatusCode$1={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HttpStatusCode$1).forEach(([a,j])=>{HttpStatusCode$1[j]=a});function createInstance(a){const j=new Axios$1(a),_e=bind(Axios$1.prototype.request,j);return utils$1.extend(_e,Axios$1.prototype,j,{allOwnKeys:!0}),utils$1.extend(_e,j,null,{allOwnKeys:!0}),_e.create=function(tt){return createInstance(mergeConfig$1(a,tt))},_e}const axios$4=createInstance(defaults$1);axios$4.Axios=Axios$1;axios$4.CanceledError=CanceledError$1;axios$4.CancelToken=CancelToken$1;axios$4.isCancel=isCancel$1;axios$4.VERSION=VERSION$1;axios$4.toFormData=toFormData$1;axios$4.AxiosError=AxiosError$1;axios$4.Cancel=axios$4.CanceledError;axios$4.all=function a(j){return Promise.all(j)};axios$4.spread=spread$1;axios$4.isAxiosError=isAxiosError$1;axios$4.mergeConfig=mergeConfig$1;axios$4.AxiosHeaders=AxiosHeaders$1;axios$4.formToJSON=a=>formDataToJSON(utils$1.isHTMLForm(a)?new FormData(a):a);axios$4.getAdapter=adapters.getAdapter;axios$4.HttpStatusCode=HttpStatusCode$1;axios$4.default=axios$4;const{Axios,AxiosError,CanceledError,isCancel,CancelToken,VERSION,all,Cancel,isAxiosError,spread,toFormData,AxiosHeaders,HttpStatusCode,formToJSON,getAdapter,mergeConfig}=axios$4,axios$3=Object.freeze(Object.defineProperty({__proto__:null,Axios,AxiosError,AxiosHeaders,Cancel,CancelToken,CanceledError,HttpStatusCode,VERSION,all,default:axios$4,formToJSON,getAdapter,isAxiosError,isCancel,mergeConfig,spread,toFormData},Symbol.toStringTag,{value:"Module"}));var __defProp$2$1=Object.defineProperty,__defNormalProp$2=(a,j,_e)=>j in a?__defProp$2$1(a,j,{enumerable:!0,configurable:!0,writable:!0,value:_e}):a[j]=_e,__publicField$2=(a,j,_e)=>(__defNormalProp$2(a,j+"",_e),_e);class AuthService{constructor({api:j}){__publicField$2(this,"api"),this.api=j}async getUserPublicInfo({did:j}){const{data:_e}=await this.api.get("/api/user",{params:{did:j}});return _e}async getUserPrivacyConfig({did:j}){const{data:_e}=await this.api.get("/api/user/privacy/config",{params:{did:j}});return _e}async saveUserPrivacyConfig(j){const{data:_e}=await this.api.post("/api/user/privacy/config",j);return _e}async getUserNotificationConfig(){const{data:j}=await this.api.get("/api/user/notification/config");return j}async saveUserNotificationConfig(j){const{data:_e}=await this.api.post("/api/user/notification/config",j);return _e}async testNotificationWebhook(j){const{data:_e}=await this.api.put("/api/user/notification/webhook",j);return _e}async getProfileUrl({did:j,locale:_e}){const et=`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/user`;return withQuery(et,{did:j,locale:_e})}async getProfile(){const{data:j}=await this.api.get("/api/user/profile");return j}async refreshProfile(){await this.api.put("/api/user/refreshProfile")}async saveProfile({locale:j}){const{data:_e}=await this.api.put("/api/user/profile",{locale:j});return _e}async logout({visitorId:j}){const{data:_e}=await this.api.post("/api/user/logout",{visitorId:j});return _e}}class TokenService{getSessionToken(){return api$3.get(constant$3.SESSION_TOKEN_STORAGE_KEY)}setSessionToken(j){api$3.set(constant$3.SESSION_TOKEN_STORAGE_KEY,j)}removeSessionToken(){api$3.remove(constant$3.SESSION_TOKEN_STORAGE_KEY)}getRefreshToken(){return localStorage.getItem(constant$3.REFRESH_TOKEN_STORAGE_KEY)}setRefreshToken(j){localStorage.setItem(constant$3.REFRESH_TOKEN_STORAGE_KEY,j)}removeRefreshToken(){localStorage.removeItem(constant$3.REFRESH_TOKEN_STORAGE_KEY)}}var __defProp$1$1=Object.defineProperty,__defNormalProp$1=(a,j,_e)=>j in a?__defProp$1$1(a,j,{enumerable:!0,configurable:!0,writable:!0,value:_e}):a[j]=_e,__publicField$1=(a,j,_e)=>(__defNormalProp$1(a,j+"",_e),_e);class UserSessionService{constructor({api:j}){__publicField$1(this,"api"),this.api=j}async getUserSessions({did:j}){const{data:_e}=await this.api.get("/api/user-session",{params:{userDid:j}});return _e}}const blockletCache=new QuickLRU({maxSize:30,maxAge:60*1e3});class BlockletService{async getBlocklet(j,_e=!1){if(!_e&&blockletCache.has(j))return blockletCache.get(j);const et=withQuery(joinURL(j,"__blocklet__.js"),{type:"json",t:Date.now()}),nt=await(await fetch(et)).json();return blockletCache.set(j,nt),nt}async loadBlocklet(){return new Promise((j,_e)=>{if(typeof window>"u"||typeof document>"u"){_e();return}const et=document.createElement("script");let tt="/";window.blocklet&&window.blocklet.prefix&&(tt=window.blocklet.prefix),et.src=withQuery(joinURL(tt,"__blocklet__.js"),{t:Date.now()}),et.onload=()=>{j()},et.onerror=()=>{_e()},document.head.append(et)})}getPrefix(j){var _e;return j?(j==null?void 0:j.prefix)||"/":typeof window>"u"||typeof document>"u"?null:((_e=window.blocklet)==null?void 0:_e.prefix)||"/"}}const version$3="1.16.29",sleep$2=(a=0)=>new Promise(j=>{setTimeout(()=>{j()},a)}),getBearerToken=a=>`Bearer ${encodeURIComponent(a)}`,visitorIdKey="__visitor_id",getVisitorId$1=()=>localStorage.getItem(visitorIdKey);async function sleepForLoading(a,j=300){a.metaData.endTime=+new Date;const{startTime:_e,endTime:et}=a.metaData,tt=et-_e;tt<j&&await sleep$2(j-tt),delete a.metaData}const createAxios$1=(a,j)=>{const _e={...a==null?void 0:a.headers,"x-blocklet-js-sdk-version":version$3},et=getVisitorId$1();[void 0,null].includes(et)||(_e["x-blocklet-visitor-id"]=et);const tt=axios$4.create({...a,headers:_e});return j!=null&&j.lazy&&(tt.interceptors.request.use(nt=>(nt.metaData={startTime:+new Date},nt),nt=>Promise.reject(nt)),tt.interceptors.response.use(async nt=>(await sleepForLoading(nt.config,j==null?void 0:j.lazyTime),nt),async nt=>(await sleepForLoading(nt.response.config,j==null?void 0:j.lazyTime),Promise.reject(nt)))),tt};async function renewRefreshToken$1(a){if(!a)throw new Error("Refresh token not found");const j=createAxios$1({baseURL:constant$3.WELLKNOWN_SERVICE_PATH_PREFIX,timeout:10*1e3,headers:{authorization:getBearerToken(a)}}),{data:_e}=await j.post("/api/did/refreshSession");return _e}function createRequest$1({getSessionToken:a,setSessionToken:j,removeSessionToken:_e,getRefreshToken:et,setRefreshToken:tt,removeRefreshToken:nt,onRefreshTokenError:rt,onRefreshTokenSuccess:it},ot,ut){let st=null;const ft=createAxios$1({timeout:30*1e3,...ot},ut);return ft.interceptors.request.use(async dt=>{if(!api$3.get(constant$3.SESSION_TOKEN_STORAGE_KEY)){const ht=a();ht&&(dt.headers.authorization=getBearerToken(ht))}return st&&await st,dt},dt=>Promise.reject(dt)),ft.interceptors.response.use(dt=>dt,async dt=>{var mt;const ht=dt.config;if(ht.headers={...ht==null?void 0:ht.headers},((mt=dt==null?void 0:dt.response)==null?void 0:mt.status)===401&&!ht._retry){ht._retry=!0;try{st||(st=renewRefreshToken$1(et()));const bt=await st;return j(bt.nextToken),tt(bt.nextRefreshToken),typeof it=="function"&&it(bt),ft(ht)}catch(bt){return _e(),nt(),typeof rt=="function"&&rt(bt),Promise.reject(dt)}finally{st=null}}return Promise.reject(dt)}),ft}var __defProp$3=Object.defineProperty,__defNormalProp$3=(a,j,_e)=>j in a?__defProp$3(a,j,{enumerable:!0,configurable:!0,writable:!0,value:_e}):a[j]=_e,__publicField=(a,j,_e)=>(__defNormalProp$3(a,typeof j!="symbol"?j+"":j,_e),_e);class BlockletSDK{constructor(){__publicField(this,"api"),__publicField(this,"user"),__publicField(this,"userSession"),__publicField(this,"token"),__publicField(this,"blocklet");const j=new TokenService,_e=createRequest$1({getSessionToken:j.getSessionToken,setSessionToken:j.setSessionToken,removeSessionToken:j.removeSessionToken,getRefreshToken:j.getRefreshToken,setRefreshToken:j.setRefreshToken,removeRefreshToken:j.removeRefreshToken,onRefreshTokenError:()=>{console.error("Failed to refresh token")},onRefreshTokenSuccess:()=>{}},{baseURL:constant$3.WELLKNOWN_SERVICE_PATH_PREFIX});this.user=new AuthService({api:_e}),this.userSession=new UserSessionService({api:_e}),this.token=j,this.api=_e,this.blocklet=new BlockletService}}function createAxios$2(a={},j={}){const _e=new TokenService,et=new BlockletService;return a.baseURL===void 0&&(a.baseURL=et.getPrefix()),createRequest$1({getSessionToken:_e.getSessionToken,setSessionToken:_e.setSessionToken,removeSessionToken:_e.removeSessionToken,getRefreshToken:_e.getRefreshToken,setRefreshToken:_e.setRefreshToken,removeRefreshToken:_e.removeRefreshToken,onRefreshTokenError:()=>{console.error("Failed to refresh token")},onRefreshTokenSuccess:()=>{}},a,j)}const name="@arcblock/did-connect",version$2="2.10.21",description="Client side library to work with DID Connect by ArcBlock.",keywords=["react","arcblock","component"],author="wangshijun<wangshijun2010@gmail.com>",homepage="https://github.com/ArcBlock/ux#readme",license="Apache-2.0",main="lib/index.js",module$1="lib/index.js",repository={type:"git",url:"git+https://github.com/ArcBlock/ux.git"},scripts={lint:"eslint src tests --ext js --ext jsx","lint:fix":"npm run lint -- --fix",build:"babel --config-file ./babel.config.es.js src --out-dir lib --copy-files --no-copy-ignored",autoexports:"node tools/auto-exports.js",watch:"babel --config-file ./babel.config.es.js src --out-dir lib -w --copy-files --no-copy-ignored",precommit:"CI=1 npm run lint",prepush:"CI=1 npm run lint",prepublish:"npm run build",test:"node tools/jest.js",coverage:"npm run test -- --coverage"},bugs={url:"https://github.com/ArcBlock/ux/issues"},dependencies={"@arcblock/bridge":"^2.10.21","@arcblock/icons":"^2.10.21","@arcblock/react-hooks":"^2.10.21","@arcblock/ws":"^1.18.130","@fontsource/inter":"^5.0.16","@iconify-icons/logos":"^1.2.36","@iconify-icons/material-symbols":"^1.2.58","@iconify/react":"^4.1.1",ahooks:"^3.7.10",axios:"^1.7.2",buffer:"^6.0.3","core-js":"^3.25.5",eventemitter3:"^5.0.1","js-cookie":"^2.2.1","jwt-decode":"^3.1.2",lodash:"^4.17.21","mdi-material-ui":"^7.5.0","p-queue":"^6.6.2","p-wait-for":"^5.0.2","path-to-regexp":"^1.8.0",semver:"^7.5.4",tweetnacl:"^1.0.3","tweetnacl-sealedbox-js":"^1.2.0",ufo:"^1.5.3"},peerDependencies={"@arcblock/ux":"^2.9.79","@blocklet/js-sdk":"^1.16.28-beta-641c9f13","@emotion/react":"^11.10.4","@emotion/styled":"^11.10.4","@mui/material":"^5.15.0",react:"^18.2.0","react-dom":"^18.2.0"},publishConfig={access:"public"},devDependencies={"@babel/cli":"^7.19.3","@babel/core":"^7.19.3","@babel/preset-env":"^7.19.3","@babel/preset-react":"^7.18.6","eslint-plugin-react-hooks":"^4.6.0",glob:"^10.3.3",jest:"^28.1.3"},gitHead="949068dfafbd2bff9933a2fc2a48d1cd90db491b",pkg={name,version:version$2,description,keywords,author,homepage,license,main,module:module$1,repository,scripts,bugs,dependencies,peerDependencies,publishConfig,devDependencies,gitHead},DEFAULT_TIMEOUT$1=5*60,DEFAULT_WINDOW_TIMEOUT=30*60,AUTH_SERVICE_PREFIX="/.well-known/service",SESSION_TOKEN_STORAGE_KEY="login_token",REFRESH_TOKEN_STORAGE_KEY="refresh_token",RELAY_SOCKET_PREFIX="/.well-known/service",API_DID_PREFIX="/api/did",DEFAULT_NAME="DID Connect",DID_CONNECT_URL_PARAMS_NAME="__did-connect__";class NotOpenError extends Error{constructor(){super("Failed to open popup")}}const{version:version$1}=pkg;function unescape$2(a){return(a+"===".slice((a.length+3)%4)).replace(/-/g,"+").replace(/_/g,"/")}function escape$3(a){return a.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}const decodeConnectUrl=a=>window.atob(unescape$2(a)),parseTokenFromConnectUrl=a=>{const j=new URL(a),_e=decodeURIComponent(j.searchParams.get("url"));return new URL(_e).searchParams.get("_t_")},getAppId$1=(a,j)=>{var et,tt,nt;let _e=j==null?void 0:j.publisher;if(!_e){if(a!=null&&a.agentDid)return a.agentDid;_e=a==null?void 0:a.publisher}return _e?_e.replace("did:abt:",""):((et=globalThis.blocklet)==null?void 0:et.appPid)||((tt=globalThis.blocklet)==null?void 0:tt.appId)||((nt=globalThis.env)==null?void 0:nt.appId)||""},getConnectedInfo=a=>{var _e;const j={connected_did:a.did||"",connected_pk:a.pk||"",connected_app:getAppId$1(a.appInfo,a.memberAppInfo)};return(_e=a==null?void 0:a.connectedWallet)!=null&&_e.os&&(j.connected_wallet_os=a.connectedWallet.os),j},updateConnectedInfo=(a,j=!1)=>{if(!a)return;j||(a=getConnectedInfo(a));const _e=getCookieOptions({expireInDays:7,returnDomain:!1});isNil$1(a.connected_did)||Cookies.set("connected_did",a.connected_did,_e),isNil$1(a.connected_pk)||Cookies.set("connected_pk",a.connected_pk,_e),isNil$1(a.connected_app)||Cookies.set("connected_app",a.connected_app,_e),a.connected_wallet_os&&Cookies.set("connected_wallet_os",a.connected_wallet_os,_e)},encodeKey=a=>escape$3(Buffer$1$1.from(a).toString("base64")),decodeKey=a=>Uint8Array.from(Buffer$1$1.from(unescape$2(a),"base64")),decrypt$1=(a,j,_e)=>{const et=SealedBox.open(Uint8Array.from(Buffer$1$1.from(a,"base64")),decodeKey(j),decodeKey(_e));return JSON.parse(Buffer$1$1.from(et).toString("utf8"))},parseNextWorkflow=(a,j="_t_")=>{const _e=new URL(a),et={baseUrl:_e.origin,prefix:_e.pathname.replace(/\/auth$/,""),token:_e.searchParams.get(j)||""};if(!et.baseUrl)throw new Error("Invalid next workflow: origin empty");if(!et.token)throw new Error("Invalid next workflow: token not found");return et},getApiErrorMessage=(a,j)=>{var et;let _e=a.message;return a.response&&(_e=((et=a.response)==null?void 0:et.data)||j),_e},createAxios=(a={},{lazy:j=!1,lazyTime:_e=300}={})=>createAxios$2({...a,headers:{...a.headers,"x-did-connect-version":version$1}},{lazy:j,lazyTime:_e}),sleep$1=(a=0)=>new Promise(j=>{setTimeout(()=>{j()},a)});function getBrowserLang(){if(typeof window>"u")return null;const a=window.navigator.languages&&window.navigator.languages[0]||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage||window.navigator.systemLanguage||null;return{"zh-CN":"zh","zh-TW":"zh",zh:"zh",en:"en"}[a]||"en"}async function decodeUrlParams(){const a=window.location.href;try{const j=new URL(a),_e=j.searchParams.get(DID_CONNECT_URL_PARAMS_NAME);if(_e){j.searchParams.delete(DID_CONNECT_URL_PARAMS_NAME);const et=JSON.parse(Buffer$1$1.from(_e,"base64").toString("utf-8"));if(isString$2(et.forceConnected)&&isUndefined$2(et.sourceAppPid)){const nt=await new BlockletSDK().user.getUserPublicInfo({did:et.forceConnected});isUndefined$2(nt==null?void 0:nt.sourceAppPid)||(et.sourceAppPid=nt.sourceAppPid)}return{params:et,url:j.href}}}catch{console.warn("Failed to decode did-connect url params")}return{params:null,url:a}}const openPopup=(a,{width:j=600,height:_e=700,name:et="did-connect:popup"}={})=>{const tt=window.screenX+(window.innerWidth-j)/2,nt=window.screenY+(window.innerHeight-_e)/2,rt=[`left=${tt}`,`top=${nt}`,`width=${j}`,`height=${_e}`,"resizable=no","scrollbars=yes","status=yes","popup=yes"],it=window.open("",et,rt.join(","));if(it===null)throw new NotOpenError;return it.location.href=a,it},runPopup=a=>new Promise((j,_e)=>{let et,tt;const nt=({data:rt})=>{if(rt&&rt.type==="authorization_response"){if(rt!=null&&rt.error){console.error(rt.error);return}setTimeout(()=>{var it;(it=a.popup)==null||it.close(),clearTimeout(tt),clearInterval(et),window.removeEventListener("message",nt,!1),j(rt)},a.closeTimeout||0)}};tt=setTimeout(()=>{clearInterval(et),_e(new Error("Timeout")),window.removeEventListener("message",nt,!1)},(a.timeoutInSeconds||DEFAULT_WINDOW_TIMEOUT)*1e3),et=setInterval(()=>{var rt;(rt=a.popup)!=null&&rt.closed&&(clearInterval(et),clearTimeout(tt),window.removeEventListener("message",nt,!1),_e(new Error("Popup closed")))},1e3),window.addEventListener("message",nt)}),keyPair=tweetnacl.box.keyPair();function useSecurity(){const[a,j]=useLocalStorageState("__encKey",{defaultValue:encodeKey(keyPair.publicKey),deserializer:nt=>nt,serializer:nt=>nt}),[_e,et]=useLocalStorageState("__decKey",{defaultValue:encodeKey(keyPair.secretKey),deserializer:nt=>nt,serializer:nt=>nt});return reactExports.useEffect(()=>{localStorage.getItem("__encKey")||j(encodeKey(keyPair.publicKey)),localStorage.getItem("__decKey")||et(encodeKey(keyPair.secretKey))},[]),{encryptKey:a,decryptKey:_e,decrypt:nt=>decrypt$1(nt,a,_e)}}var lodash={exports:{}};/**
279
+ `+nt):et.stack=nt}catch{}}throw et}}_request(j,_e){typeof j=="string"?(_e=_e||{},_e.url=j):_e=j||{},_e=mergeConfig$1(this.defaults,_e);const{transitional:et,paramsSerializer:tt,headers:nt}=_e;et!==void 0&&validator.assertOptions(et,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),tt!=null&&(utils$1.isFunction(tt)?_e.paramsSerializer={serialize:tt}:validator.assertOptions(tt,{encode:validators.function,serialize:validators.function},!0)),_e.method=(_e.method||this.defaults.method||"get").toLowerCase();let rt=nt&&utils$1.merge(nt.common,nt[_e.method]);nt&&utils$1.forEach(["delete","get","head","post","put","patch","common"],mt=>{delete nt[mt]}),_e.headers=AxiosHeaders$1.concat(rt,nt);const it=[];let ot=!0;this.interceptors.request.forEach(function(bt){typeof bt.runWhen=="function"&&bt.runWhen(_e)===!1||(ot=ot&&bt.synchronous,it.unshift(bt.fulfilled,bt.rejected))});const ut=[];this.interceptors.response.forEach(function(bt){ut.push(bt.fulfilled,bt.rejected)});let st,ft=0,dt;if(!ot){const mt=[dispatchRequest.bind(this),void 0];for(mt.unshift.apply(mt,it),mt.push.apply(mt,ut),dt=mt.length,st=Promise.resolve(_e);ft<dt;)st=st.then(mt[ft++],mt[ft++]);return st}dt=it.length;let ht=_e;for(ft=0;ft<dt;){const mt=it[ft++],bt=it[ft++];try{ht=mt(ht)}catch(Rt){bt.call(this,Rt);break}}try{st=dispatchRequest.call(this,ht)}catch(mt){return Promise.reject(mt)}for(ft=0,dt=ut.length;ft<dt;)st=st.then(ut[ft++],ut[ft++]);return st}getUri(j){j=mergeConfig$1(this.defaults,j);const _e=buildFullPath(j.baseURL,j.url);return buildURL(_e,j.params,j.paramsSerializer)}};utils$1.forEach(["delete","get","head","options"],function a(j){Axios$1.prototype[j]=function(_e,et){return this.request(mergeConfig$1(et||{},{method:j,url:_e,data:(et||{}).data}))}});utils$1.forEach(["post","put","patch"],function a(j){function _e(et){return function(nt,rt,it){return this.request(mergeConfig$1(it||{},{method:j,headers:et?{"Content-Type":"multipart/form-data"}:{},url:nt,data:rt}))}}Axios$1.prototype[j]=_e(),Axios$1.prototype[j+"Form"]=_e(!0)});let CancelToken$1=class Xm{constructor(j){if(typeof j!="function")throw new TypeError("executor must be a function.");let _e;this.promise=new Promise(function(nt){_e=nt});const et=this;this.promise.then(tt=>{if(!et._listeners)return;let nt=et._listeners.length;for(;nt-- >0;)et._listeners[nt](tt);et._listeners=null}),this.promise.then=tt=>{let nt;const rt=new Promise(it=>{et.subscribe(it),nt=it}).then(tt);return rt.cancel=function(){et.unsubscribe(nt)},rt},j(function(nt,rt,it){et.reason||(et.reason=new CanceledError$1(nt,rt,it),_e(et.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(j){if(this.reason){j(this.reason);return}this._listeners?this._listeners.push(j):this._listeners=[j]}unsubscribe(j){if(!this._listeners)return;const _e=this._listeners.indexOf(j);_e!==-1&&this._listeners.splice(_e,1)}static source(){let j;return{token:new Xm(function(tt){j=tt}),cancel:j}}};function spread$1(a){return function(_e){return a.apply(null,_e)}}function isAxiosError$1(a){return utils$1.isObject(a)&&a.isAxiosError===!0}const HttpStatusCode$1={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HttpStatusCode$1).forEach(([a,j])=>{HttpStatusCode$1[j]=a});function createInstance(a){const j=new Axios$1(a),_e=bind(Axios$1.prototype.request,j);return utils$1.extend(_e,Axios$1.prototype,j,{allOwnKeys:!0}),utils$1.extend(_e,j,null,{allOwnKeys:!0}),_e.create=function(tt){return createInstance(mergeConfig$1(a,tt))},_e}const axios$4=createInstance(defaults$1);axios$4.Axios=Axios$1;axios$4.CanceledError=CanceledError$1;axios$4.CancelToken=CancelToken$1;axios$4.isCancel=isCancel$1;axios$4.VERSION=VERSION$1;axios$4.toFormData=toFormData$1;axios$4.AxiosError=AxiosError$1;axios$4.Cancel=axios$4.CanceledError;axios$4.all=function a(j){return Promise.all(j)};axios$4.spread=spread$1;axios$4.isAxiosError=isAxiosError$1;axios$4.mergeConfig=mergeConfig$1;axios$4.AxiosHeaders=AxiosHeaders$1;axios$4.formToJSON=a=>formDataToJSON(utils$1.isHTMLForm(a)?new FormData(a):a);axios$4.getAdapter=adapters.getAdapter;axios$4.HttpStatusCode=HttpStatusCode$1;axios$4.default=axios$4;const{Axios,AxiosError,CanceledError,isCancel,CancelToken,VERSION,all,Cancel,isAxiosError,spread,toFormData,AxiosHeaders,HttpStatusCode,formToJSON,getAdapter,mergeConfig}=axios$4,axios$3=Object.freeze(Object.defineProperty({__proto__:null,Axios,AxiosError,AxiosHeaders,Cancel,CancelToken,CanceledError,HttpStatusCode,VERSION,all,default:axios$4,formToJSON,getAdapter,isAxiosError,isCancel,mergeConfig,spread,toFormData},Symbol.toStringTag,{value:"Module"}));var __defProp$2$1=Object.defineProperty,__defNormalProp$2=(a,j,_e)=>j in a?__defProp$2$1(a,j,{enumerable:!0,configurable:!0,writable:!0,value:_e}):a[j]=_e,__publicField$2=(a,j,_e)=>(__defNormalProp$2(a,j+"",_e),_e);class AuthService{constructor({api:j}){__publicField$2(this,"api"),this.api=j}async getUserPublicInfo({did:j}){const{data:_e}=await this.api.get("/api/user",{params:{did:j}});return _e}async getUserPrivacyConfig({did:j}){const{data:_e}=await this.api.get("/api/user/privacy/config",{params:{did:j}});return _e}async saveUserPrivacyConfig(j){const{data:_e}=await this.api.post("/api/user/privacy/config",j);return _e}async getUserNotificationConfig(){const{data:j}=await this.api.get("/api/user/notification/config");return j}async saveUserNotificationConfig(j){const{data:_e}=await this.api.post("/api/user/notification/config",j);return _e}async testNotificationWebhook(j){const{data:_e}=await this.api.put("/api/user/notification/webhook",j);return _e}async getProfileUrl({did:j,locale:_e}){const et=`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/user`;return withQuery(et,{did:j,locale:_e})}async getProfile(){const{data:j}=await this.api.get("/api/user/profile");return j}async refreshProfile(){await this.api.put("/api/user/refreshProfile")}async saveProfile({locale:j}){const{data:_e}=await this.api.put("/api/user/profile",{locale:j});return _e}async logout({visitorId:j}){const{data:_e}=await this.api.post("/api/user/logout",{visitorId:j});return _e}}class TokenService{getSessionToken(){return api$3.get(constant$3.SESSION_TOKEN_STORAGE_KEY)}setSessionToken(j){api$3.set(constant$3.SESSION_TOKEN_STORAGE_KEY,j)}removeSessionToken(){api$3.remove(constant$3.SESSION_TOKEN_STORAGE_KEY)}getRefreshToken(){return localStorage.getItem(constant$3.REFRESH_TOKEN_STORAGE_KEY)}setRefreshToken(j){localStorage.setItem(constant$3.REFRESH_TOKEN_STORAGE_KEY,j)}removeRefreshToken(){localStorage.removeItem(constant$3.REFRESH_TOKEN_STORAGE_KEY)}}var __defProp$1$1=Object.defineProperty,__defNormalProp$1=(a,j,_e)=>j in a?__defProp$1$1(a,j,{enumerable:!0,configurable:!0,writable:!0,value:_e}):a[j]=_e,__publicField$1=(a,j,_e)=>(__defNormalProp$1(a,j+"",_e),_e);class UserSessionService{constructor({api:j}){__publicField$1(this,"api"),this.api=j}async getUserSessions({did:j}){const{data:_e}=await this.api.get("/api/user-session",{params:{userDid:j}});return _e}}const blockletCache=new QuickLRU({maxSize:30,maxAge:60*1e3});class BlockletService{async getBlocklet(j,_e=!1){if(!_e&&blockletCache.has(j))return blockletCache.get(j);const et=withQuery(joinURL(j,"__blocklet__.js"),{type:"json",t:Date.now()}),nt=await(await fetch(et)).json();return blockletCache.set(j,nt),nt}async loadBlocklet(){return new Promise((j,_e)=>{if(typeof window>"u"||typeof document>"u"){_e();return}const et=document.createElement("script");let tt="/";window.blocklet&&window.blocklet.prefix&&(tt=window.blocklet.prefix),et.src=withQuery(joinURL(tt,"__blocklet__.js"),{t:Date.now()}),et.onload=()=>{j()},et.onerror=()=>{_e()},document.head.append(et)})}getPrefix(j){var _e;return j?(j==null?void 0:j.prefix)||"/":typeof window>"u"||typeof document>"u"?null:((_e=window.blocklet)==null?void 0:_e.prefix)||"/"}}const version$3="1.16.29",sleep$2=(a=0)=>new Promise(j=>{setTimeout(()=>{j()},a)}),getBearerToken=a=>`Bearer ${encodeURIComponent(a)}`,visitorIdKey="__visitor_id",getVisitorId$1=()=>localStorage.getItem(visitorIdKey);async function sleepForLoading(a,j=300){a.metaData.endTime=+new Date;const{startTime:_e,endTime:et}=a.metaData,tt=et-_e;tt<j&&await sleep$2(j-tt),delete a.metaData}const createAxios$1=(a,j)=>{const _e={...a==null?void 0:a.headers,"x-blocklet-js-sdk-version":version$3},et=getVisitorId$1();[void 0,null].includes(et)||(_e["x-blocklet-visitor-id"]=et);const tt=axios$4.create({...a,headers:_e});return j!=null&&j.lazy&&(tt.interceptors.request.use(nt=>(nt.metaData={startTime:+new Date},nt),nt=>Promise.reject(nt)),tt.interceptors.response.use(async nt=>(await sleepForLoading(nt.config,j==null?void 0:j.lazyTime),nt),async nt=>(await sleepForLoading(nt.response.config,j==null?void 0:j.lazyTime),Promise.reject(nt)))),tt};async function renewRefreshToken$1(a){if(!a)throw new Error("Refresh token not found");const j=createAxios$1({baseURL:constant$3.WELLKNOWN_SERVICE_PATH_PREFIX,timeout:10*1e3,headers:{authorization:getBearerToken(a)}}),{data:_e}=await j.post("/api/did/refreshSession");return _e}function createRequest$1({getSessionToken:a,setSessionToken:j,removeSessionToken:_e,getRefreshToken:et,setRefreshToken:tt,removeRefreshToken:nt,onRefreshTokenError:rt,onRefreshTokenSuccess:it},ot,ut){let st=null;const ft=createAxios$1({timeout:30*1e3,...ot},ut);return ft.interceptors.request.use(async dt=>{if(!api$3.get(constant$3.SESSION_TOKEN_STORAGE_KEY)){const ht=a();ht&&(dt.headers.authorization=getBearerToken(ht))}return st&&await st,dt},dt=>Promise.reject(dt)),ft.interceptors.response.use(dt=>dt,async dt=>{var mt;const ht=dt.config;if(ht.headers={...ht==null?void 0:ht.headers},((mt=dt==null?void 0:dt.response)==null?void 0:mt.status)===401&&!ht._retry){ht._retry=!0;try{st||(st=renewRefreshToken$1(et()));const bt=await st;return j(bt.nextToken),tt(bt.nextRefreshToken),typeof it=="function"&&it(bt),ft(ht)}catch(bt){return _e(),nt(),typeof rt=="function"&&rt(bt),Promise.reject(dt)}finally{st=null}}return Promise.reject(dt)}),ft}var __defProp$3=Object.defineProperty,__defNormalProp$3=(a,j,_e)=>j in a?__defProp$3(a,j,{enumerable:!0,configurable:!0,writable:!0,value:_e}):a[j]=_e,__publicField=(a,j,_e)=>(__defNormalProp$3(a,typeof j!="symbol"?j+"":j,_e),_e);class BlockletSDK{constructor(){__publicField(this,"api"),__publicField(this,"user"),__publicField(this,"userSession"),__publicField(this,"token"),__publicField(this,"blocklet");const j=new TokenService,_e=createRequest$1({getSessionToken:j.getSessionToken,setSessionToken:j.setSessionToken,removeSessionToken:j.removeSessionToken,getRefreshToken:j.getRefreshToken,setRefreshToken:j.setRefreshToken,removeRefreshToken:j.removeRefreshToken,onRefreshTokenError:()=>{console.error("Failed to refresh token")},onRefreshTokenSuccess:()=>{}},{baseURL:constant$3.WELLKNOWN_SERVICE_PATH_PREFIX});this.user=new AuthService({api:_e}),this.userSession=new UserSessionService({api:_e}),this.token=j,this.api=_e,this.blocklet=new BlockletService}}function createAxios$2(a={},j={}){const _e=new TokenService,et=new BlockletService;return a.baseURL===void 0&&(a.baseURL=et.getPrefix()),createRequest$1({getSessionToken:_e.getSessionToken,setSessionToken:_e.setSessionToken,removeSessionToken:_e.removeSessionToken,getRefreshToken:_e.getRefreshToken,setRefreshToken:_e.setRefreshToken,removeRefreshToken:_e.removeRefreshToken,onRefreshTokenError:()=>{console.error("Failed to refresh token")},onRefreshTokenSuccess:()=>{}},a,j)}const name="@arcblock/did-connect",version$2="2.10.22",description="Client side library to work with DID Connect by ArcBlock.",keywords=["react","arcblock","component"],author="wangshijun<wangshijun2010@gmail.com>",homepage="https://github.com/ArcBlock/ux#readme",license="Apache-2.0",main="lib/index.js",module$1="lib/index.js",repository={type:"git",url:"git+https://github.com/ArcBlock/ux.git"},scripts={lint:"eslint src tests --ext js --ext jsx","lint:fix":"npm run lint -- --fix",build:"babel --config-file ./babel.config.es.js src --out-dir lib --copy-files --no-copy-ignored",autoexports:"node tools/auto-exports.js",watch:"babel --config-file ./babel.config.es.js src --out-dir lib -w --copy-files --no-copy-ignored",precommit:"CI=1 npm run lint",prepush:"CI=1 npm run lint",prepublish:"npm run build",test:"node tools/jest.js",coverage:"npm run test -- --coverage"},bugs={url:"https://github.com/ArcBlock/ux/issues"},dependencies={"@arcblock/bridge":"^2.10.22","@arcblock/icons":"^2.10.22","@arcblock/react-hooks":"^2.10.22","@arcblock/ws":"^1.18.130","@fontsource/inter":"^5.0.16","@iconify-icons/logos":"^1.2.36","@iconify-icons/material-symbols":"^1.2.58","@iconify/react":"^4.1.1",ahooks:"^3.7.10",axios:"^1.7.2",buffer:"^6.0.3","core-js":"^3.25.5",eventemitter3:"^5.0.1","js-cookie":"^2.2.1","jwt-decode":"^3.1.2",lodash:"^4.17.21","mdi-material-ui":"^7.5.0","p-queue":"^6.6.2","p-wait-for":"^5.0.2","path-to-regexp":"^1.8.0",semver:"^7.5.4",tweetnacl:"^1.0.3","tweetnacl-sealedbox-js":"^1.2.0",ufo:"^1.5.3"},peerDependencies={"@arcblock/ux":"^2.9.79","@blocklet/js-sdk":"^1.16.28-beta-641c9f13","@emotion/react":"^11.10.4","@emotion/styled":"^11.10.4","@mui/material":"^5.15.0",react:"^18.2.0","react-dom":"^18.2.0"},publishConfig={access:"public"},devDependencies={"@babel/cli":"^7.19.3","@babel/core":"^7.19.3","@babel/preset-env":"^7.19.3","@babel/preset-react":"^7.18.6","eslint-plugin-react-hooks":"^4.6.0",glob:"^10.3.3",jest:"^28.1.3"},gitHead="9fff4ecb5be75faeb708d0de193144e199fea46d",pkg={name,version:version$2,description,keywords,author,homepage,license,main,module:module$1,repository,scripts,bugs,dependencies,peerDependencies,publishConfig,devDependencies,gitHead},DEFAULT_TIMEOUT$1=5*60,DEFAULT_WINDOW_TIMEOUT=30*60,AUTH_SERVICE_PREFIX="/.well-known/service",SESSION_TOKEN_STORAGE_KEY="login_token",REFRESH_TOKEN_STORAGE_KEY="refresh_token",RELAY_SOCKET_PREFIX="/.well-known/service",API_DID_PREFIX="/api/did",DEFAULT_NAME="DID Connect",DID_CONNECT_URL_PARAMS_NAME="__did-connect__";class NotOpenError extends Error{constructor(){super("Failed to open popup")}}const{version:version$1}=pkg;function unescape$2(a){return(a+"===".slice((a.length+3)%4)).replace(/-/g,"+").replace(/_/g,"/")}function escape$3(a){return a.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}const decodeConnectUrl=a=>window.atob(unescape$2(a)),parseTokenFromConnectUrl=a=>{const j=new URL(a),_e=decodeURIComponent(j.searchParams.get("url"));return new URL(_e).searchParams.get("_t_")},getAppId$1=(a,j)=>{var et,tt,nt;let _e=j==null?void 0:j.publisher;if(!_e){if(a!=null&&a.agentDid)return a.agentDid;_e=a==null?void 0:a.publisher}return _e?_e.replace("did:abt:",""):((et=globalThis.blocklet)==null?void 0:et.appPid)||((tt=globalThis.blocklet)==null?void 0:tt.appId)||((nt=globalThis.env)==null?void 0:nt.appId)||""},getConnectedInfo=a=>{var _e;const j={connected_did:a.did||"",connected_pk:a.pk||"",connected_app:getAppId$1(a.appInfo,a.memberAppInfo)};return(_e=a==null?void 0:a.connectedWallet)!=null&&_e.os&&(j.connected_wallet_os=a.connectedWallet.os),j},updateConnectedInfo=(a,j=!1)=>{if(!a)return;j||(a=getConnectedInfo(a));const _e=getCookieOptions({expireInDays:7,returnDomain:!1});isNil$1(a.connected_did)||Cookies.set("connected_did",a.connected_did,_e),isNil$1(a.connected_pk)||Cookies.set("connected_pk",a.connected_pk,_e),isNil$1(a.connected_app)||Cookies.set("connected_app",a.connected_app,_e),a.connected_wallet_os&&Cookies.set("connected_wallet_os",a.connected_wallet_os,_e)},encodeKey=a=>escape$3(Buffer$1$1.from(a).toString("base64")),decodeKey=a=>Uint8Array.from(Buffer$1$1.from(unescape$2(a),"base64")),decrypt$1=(a,j,_e)=>{const et=SealedBox.open(Uint8Array.from(Buffer$1$1.from(a,"base64")),decodeKey(j),decodeKey(_e));return JSON.parse(Buffer$1$1.from(et).toString("utf8"))},parseNextWorkflow=(a,j="_t_")=>{const _e=new URL(a),et={baseUrl:_e.origin,prefix:_e.pathname.replace(/\/auth$/,""),token:_e.searchParams.get(j)||""};if(!et.baseUrl)throw new Error("Invalid next workflow: origin empty");if(!et.token)throw new Error("Invalid next workflow: token not found");return et},getApiErrorMessage=(a,j)=>{var et;let _e=a.message;return a.response&&(_e=((et=a.response)==null?void 0:et.data)||j),_e},createAxios=(a={},{lazy:j=!1,lazyTime:_e=300}={})=>createAxios$2({...a,headers:{...a.headers,"x-did-connect-version":version$1}},{lazy:j,lazyTime:_e}),sleep$1=(a=0)=>new Promise(j=>{setTimeout(()=>{j()},a)});function getBrowserLang(){if(typeof window>"u")return null;const a=window.navigator.languages&&window.navigator.languages[0]||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage||window.navigator.systemLanguage||null;return{"zh-CN":"zh","zh-TW":"zh",zh:"zh",en:"en"}[a]||"en"}async function decodeUrlParams(){const a=window.location.href;try{const j=new URL(a),_e=j.searchParams.get(DID_CONNECT_URL_PARAMS_NAME);if(_e){j.searchParams.delete(DID_CONNECT_URL_PARAMS_NAME);const et=JSON.parse(Buffer$1$1.from(_e,"base64").toString("utf-8"));if(isString$2(et.forceConnected)&&isUndefined$2(et.sourceAppPid)){const nt=await new BlockletSDK().user.getUserPublicInfo({did:et.forceConnected});isUndefined$2(nt==null?void 0:nt.sourceAppPid)||(et.sourceAppPid=nt.sourceAppPid)}return{params:et,url:j.href}}}catch{console.warn("Failed to decode did-connect url params")}return{params:null,url:a}}const openPopup=(a,{width:j=600,height:_e=700,name:et="did-connect:popup"}={})=>{const tt=window.screenX+(window.innerWidth-j)/2,nt=window.screenY+(window.innerHeight-_e)/2,rt=[`left=${tt}`,`top=${nt}`,`width=${j}`,`height=${_e}`,"resizable=no","scrollbars=yes","status=yes","popup=yes"],it=window.open("",et,rt.join(","));if(it===null)throw new NotOpenError;return it.location.href=a,it},runPopup=a=>new Promise((j,_e)=>{let et,tt;const nt=({data:rt})=>{if(rt&&rt.type==="authorization_response"){if(rt!=null&&rt.error){console.error(rt.error);return}setTimeout(()=>{var it;(it=a.popup)==null||it.close(),clearTimeout(tt),clearInterval(et),window.removeEventListener("message",nt,!1),j(rt)},a.closeTimeout||0)}};tt=setTimeout(()=>{clearInterval(et),_e(new Error("Timeout")),window.removeEventListener("message",nt,!1)},(a.timeoutInSeconds||DEFAULT_WINDOW_TIMEOUT)*1e3),et=setInterval(()=>{var rt;(rt=a.popup)!=null&&rt.closed&&(clearInterval(et),clearTimeout(tt),window.removeEventListener("message",nt,!1),_e(new Error("Popup closed")))},1e3),window.addEventListener("message",nt)}),keyPair=tweetnacl.box.keyPair();function useSecurity(){const[a,j]=useLocalStorageState("__encKey",{defaultValue:encodeKey(keyPair.publicKey),deserializer:nt=>nt,serializer:nt=>nt}),[_e,et]=useLocalStorageState("__decKey",{defaultValue:encodeKey(keyPair.secretKey),deserializer:nt=>nt,serializer:nt=>nt});return reactExports.useEffect(()=>{localStorage.getItem("__encKey")||j(encodeKey(keyPair.publicKey)),localStorage.getItem("__decKey")||et(encodeKey(keyPair.secretKey))},[]),{encryptKey:a,decryptKey:_e,decrypt:nt=>decrypt$1(nt,a,_e)}}var lodash={exports:{}};/**
280
280
  * @license
281
281
  * Lodash <https://lodash.com/>
282
282
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
@@ -2493,4 +2493,4 @@ ${et}
2493
2493
  ${a=>a.scrollable?"":"overflow: hidden"};
2494
2494
  }
2495
2495
  `;function GlobalSubscriber(){const{t:a}=useLocaleContext(),{session:j}=useSessionContext$1(),{info:_e,refresh:et}=useNodeContext();return useSubscription(constant.TeamEvents.userUpdated,({teamDid:tt,user:nt})=>{tt===_e.did&&nt&&!nt.approved&&j&&j.user&&j.user.did===nt.did&&(toast.warning(a("session.forbidLogin"),{autoHideDuration:10*1e3}),j.logout())}),useSubscription(constant$3.EVENTS.NOTIFICATION_CREATE,tt=>{tt.entityType==="node"&&et({silent:!0})}),useSubscription(constant$3.EVENTS.NODE_UPDATED,()=>{et({silent:!0})}),null}var util={},baseUniq=_baseUniq;function uniq(a){return a&&a.length?baseUniq(a):[]}var uniq_1=uniq;const uniq$1=getDefaultExportFromCjs$1(uniq_1),require$$6=getAugmentedNamespace(dist$2);class Node{constructor(j){this.value=j,this.next=void 0}}let Queue$1=class{constructor(){this.clear()}enqueue(j){const _e=new Node(j);this._head?(this._tail.next=_e,this._tail=_e):(this._head=_e,this._tail=_e),this._size++}dequeue(){const j=this._head;if(j)return this._head=this._head.next,this._size--,j.value}clear(){this._head=void 0,this._tail=void 0,this._size=0}get size(){return this._size}*[Symbol.iterator](){let j=this._head;for(;j;)yield j.value,j=j.next}};var yoctoQueue=Queue$1;const Queue=yoctoQueue,pLimit=a=>{if(!((Number.isInteger(a)||a===1/0)&&a>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const j=new Queue;let _e=0;const et=()=>{_e--,j.size>0&&j.dequeue()()},tt=async(it,ot,...ut)=>{_e++;const st=(async()=>it(...ut))();ot(st);try{await st}catch{}et()},nt=(it,ot,...ut)=>{j.enqueue(tt.bind(null,it,ot,...ut)),(async()=>(await Promise.resolve(),_e<a&&j.size>0&&j.dequeue()()))()},rt=(it,...ot)=>new Promise(ut=>{nt(it,ut,...ot)});return Object.defineProperties(rt,{activeCount:{get:()=>_e},pendingCount:{get:()=>j.size},clearQueue:{value:()=>{j.clear()}}}),rt};var pLimit_1=pLimit,engine={},browser={};browser.endianness=function(){return"LE"};browser.hostname=function(){return typeof location<"u"?location.hostname:""};browser.loadavg=function(){return[]};browser.uptime=function(){return 0};browser.freemem=function(){return Number.MAX_VALUE};browser.totalmem=function(){return Number.MAX_VALUE};browser.cpus=function(){return[]};browser.type=function(){return"Browser"};browser.release=function(){return typeof navigator<"u"?navigator.appVersion:""};browser.networkInterfaces=browser.getNetworkInterfaces=function(){return{}};browser.arch=function(){return"javascript"};browser.platform=function(){return"browser"};browser.tmpdir=browser.tmpDir=function(){return"/tmp"};browser.EOL=`
2496
- `;browser.homedir=function(){return"/"};(function(a){var j=commonjsGlobal&&commonjsGlobal.__importDefault||function(ut){return ut&&ut.__esModule?ut:{default:ut}};Object.defineProperty(a,"__esModule",{value:!0}),a.hasMountPoint=a.hasStartEngine=a.isPackBlocklet=a.isGatewayBlocklet=a.getBlockletEngine=void 0;const _e=j(browser),et=constant,tt=ut=>{if(ut===void 0)throw new Error("blocklet meta param is required");const{engine:st}=ut;if(!st)return{interpreter:"node",source:""};if(!Array.isArray(st))return st;const ft=_e.default.platform(),dt=st.find(ht=>ht.platform===ft);if(!dt)throw new Error(`can not find a proper engine interpreter on ${ft}`);return dt};a.getBlockletEngine=tt;const nt=ut=>(ut==null?void 0:ut.group)===et.BlockletGroup.gateway;a.isGatewayBlocklet=nt;const rt=ut=>(ut==null?void 0:ut.group)===et.BlockletGroup.pack;a.isPackBlocklet=rt;const it=ut=>!!(ut!=null&&ut.main)||(0,a.getBlockletEngine)(ut||{}).interpreter==="blocklet";a.hasStartEngine=it;const ot=ut=>((0,a.hasStartEngine)(ut)||((ut==null?void 0:ut.interfaces)||[]).find(st=>st.type===et.BLOCKLET_INTERFACE_TYPE_WEB))&&(0,a.isGatewayBlocklet)(ut)===!1;a.hasMountPoint=ot})(engine);(function(a){var j=commonjsGlobal&&commonjsGlobal.__importDefault||function(an){return an&&an.__esModule?an:{default:an}};Object.defineProperty(a,"__esModule",{value:!0}),a.hasStartEngine=a.isPackBlocklet=a.isGatewayBlocklet=a.isAccessible=a.isRunning=a.isBeforeInstalled=a.isInProgress=a.getBlockletServices=a.getBlockletAppIdList=a.getRolesFromAuthConfig=a.isPreferenceKey=a.isExternalBlocklet=a.getBlockletChainInfo=a.getChainInfo=a.getConnectAppUrl=a.getParentComponentName=a.filterComponentsV2=a.findComponentByIdV2=a.findComponentV2=a.findComponentById=a.findComponent=a.getComponentBundleId=a.getComponentName=a.getComponentId=a.replaceSlotToIp=a.getComponentWhoCanAccess=a.getWhoCanAccess=a.findServiceFromMeta=a.findWebInterfacePort=a.findWebInterface=a.fixBlockletStatus=a.getAppDescription=a.getDisplayName=a.getAppName=a.hasRunnableComponent=a.wipeSensitiveData=a.isEnvShareable=a.isEnvShareableToClient=a.getComponentMissingConfigs=a.getAppMissingConfigs=a.getSharedConfigObj=a.isDeletableBlocklet=a.forEachComponentV2Sync=a.forEachComponentV2=a.forEachChildSync=a.forEachChild=a.forEachBlockletSync=a.forEachBlocklet=a.isFreeComponent=a.isFreeBlocklet=void 0,a.hasResourceType=void 0,a.getAppUrl=Yt;const _e=j(get_1),et=j(uniq_1),tt=require$$6,nt=j(pLimit_1),rt=j(constant$3),it=constant,ot=engine;Object.defineProperty(a,"hasStartEngine",{enumerable:!0,get:function(){return ot.hasStartEngine}}),Object.defineProperty(a,"isGatewayBlocklet",{enumerable:!0,get:function(){return ot.isGatewayBlocklet}}),Object.defineProperty(a,"isPackBlocklet",{enumerable:!0,get:function(){return ot.isPackBlocklet}});const{NODE_SERVICES:ut,SLOT_FOR_IP_DNS_SITE:st,WHO_CAN_ACCESS:ft,WHO_CAN_ACCESS_PREFIX_ROLES:dt}=rt.default,ht=(an,_n=[])=>`${_n.map(Bn=>Bn&&Bn.meta?Bn.meta.did:"").join("/")}${_n.length?"/":""}${an&&an.meta?an.meta.did:""}`;a.getComponentId=ht;const mt=(an,_n=[])=>`${_n.map(Bn=>Bn&&Bn.meta?Bn.meta.name:"").join("/")}${_n.length?"/":""}${an&&an.meta?an.meta.name:""}`;a.getComponentName=mt;const bt=an=>`${an.meta.bundleName}@${an.meta.version}`;a.getComponentBundleId=bt;const Rt=an=>{if(!an)return"";const _n=an.split("/");return _n.pop(),!_n.length||(_n[_n.length-1].startsWith("@")&&_n.pop(),!_n.length)?"":_n.join("/")};a.getParentComponentName=Rt;const St=(an,_n,{parallel:Bn=!1,concurrencyLimit:Dn=5,sync:sn,params:Vt,_parent:Kt,_root:hn,_level:kn=0,_tasks:An,_ancestors:In=[],_limit:qn}={})=>{const Fn=hn||Kt||an,Un=ht(an,In),tr=In.concat(an);if(sn){const Rr=_n(an,{parent:Kt,root:Fn,level:kn,params:Vt,ancestors:In,id:Un});if(an.children)for(const br of an.children)St(br,_n,{sync:sn,params:Rr,_parent:an,_root:Fn,_level:kn+1,_ancestors:tr});return null}if(!Bn)return new Promise(async(Rr,br)=>{try{const ir=await _n(an,{parent:Kt,root:Fn,level:kn,ancestors:In,params:Vt,id:Un});if(an.children)for(const Pr of an.children)await St(Pr,_n,{params:ir,_parent:an,_root:Fn,_level:kn+1,_ancestors:tr});Rr(null)}catch(ir){br(ir)}});const er=qn||(0,nt.default)(Dn),Jn=An||[];if(Jn.push(er(()=>_n(an,{parent:Kt,root:Fn,level:kn,ancestors:In,id:Un}))),an.children)for(const Rr of an.children)St(Rr,_n,{parallel:Bn,_parent:an,_root:Fn,_level:kn+1,_tasks:Jn,_ancestors:tr,_limit:er});return An?null:Promise.all(Jn)};a.forEachBlocklet=St;const Dt=(an,_n)=>St(an,_n,{sync:!0});a.forEachBlockletSync=Dt;const Pt=(an,_n,{parallel:Bn=!1,concurrencyLimit:Dn=5,sync:sn}={})=>{if(sn){if(an.children)for(const hn of an.children)_n(hn);return null}if(!Bn)return new Promise(async(hn,kn)=>{try{if(an.children)for(const An of an.children)await _n(An);hn(null)}catch(An){kn(An)}});const Vt=(0,nt.default)(Dn),Kt=[];if(an.children)for(const hn of an.children)Kt.push(Vt(()=>_n(hn)));return Promise.all(Kt)};a.forEachComponentV2=Pt;const Lt=(an,_n)=>Pt(an,_n,{sync:!0});a.forEachComponentV2Sync=Lt;const qt=(an,_n,Bn)=>St(an,(Dn,sn)=>sn.level===0?{}:_n(Dn,sn),Bn);a.forEachChild=qt;const Mt=(an,_n)=>qt(an,_n,{sync:!0});a.forEachChildSync=Mt;const Ut=(an,_n,{_ancestors:Bn=[],returnAncestors:Dn=!1}={})=>{if(!_n)return null;if(_n(an,{ancestors:Bn}))return Dn?{component:an,ancestors:Bn}:an;for(const sn of an.children||[]){const Vt=Bn.concat(an),Kt=Ut(sn,_n,{_ancestors:Vt,returnAncestors:Dn});if(Kt)return Kt}return null};a.findComponent=Ut;const Jt=(an,_n,{returnAncestors:Bn=!1}={})=>(Array.isArray(_n)&&(_n=_n.join("/")),Ut(an,(Dn,{ancestors:sn})=>{const Vt=ht(Dn,sn);return _n===Vt},{returnAncestors:Bn}));a.findComponentById=Jt;const un=(an,_n)=>{if(!_n)return null;for(const Bn of an.children||[])if(_n(Bn,an))return Bn;return null};a.findComponentV2=un;const dn=(an,_n)=>_n?(Array.isArray(_n)&&(_n=_n.join("/")),un(an,(Bn,Dn)=>{if(_n.includes("/")){const sn=ht(Bn,[Dn]);return _n===sn}return _n===Bn.meta.did})):null;a.findComponentByIdV2=dn;const Gt=(an,_n)=>{if(!_n)return[];const Bn=[];for(const Dn of an.children||[])_n(Dn,an)&&Bn.push(Dn);return Bn};a.filterComponentsV2=Gt;const Ot=an=>!!an&&!!(an.key||an.name)&&!an.secure&&an.shared!==!1&&!it.BLOCKLET_CONFIGURABLE_KEY[an.key||an.name];a.isEnvShareableToClient=Ot;const $t=an=>!!an&&!!(an.key||an.name)&&!an.secure&&!!an.shared&&!it.BLOCKLET_CONFIGURABLE_KEY[an.key||an.name];a.isEnvShareable=$t;const ct=(an,_n)=>{const Bn={};return!an||!_n||(Array.isArray(an.configs)&&an.configs.forEach(({key:Dn,value:sn,secure:Vt})=>{if(!$t({key:Dn,secure:Vt,shared:!0}))return;const Kt=(an.configObj||{})[Dn]||sn,hn=(_n.configs||[]).find(kn=>kn.key===Dn);(!hn||$t(hn)||!hn.value&&!(_n.configObj||{})[hn.key])&&(Bn[Dn]=Kt)}),(an.configs||[]).forEach(({key:Dn,value:sn})=>{[it.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_HOST,it.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_ID,it.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_TYPE].includes(Dn)&&(Bn[it.CHAIN_PROP_MAP[Dn]]=sn)})),Bn};a.getSharedConfigObj=ct;const pt=an=>an.key.startsWith(it.BLOCKLET_PREFERENCE_PREFIX)===!0;a.isPreferenceKey=pt;const xt=(an,_n)=>!!(an.required&&(!an.value&&!_n[an.key]||Object.values(it.CHAIN_PROP_MAP).includes(an.key)&&Object.keys(_n).includes(an.key)&&!_n[an.key])),Et=(an={})=>{const _n=[];return Lt(an,Bn=>{var Vt;if(((Vt=Bn.meta)==null?void 0:Vt.group)===it.BlockletGroup.gateway)return;const Dn=Bn.configs||[],sn=ct(an,Bn);Dn.forEach(Kt=>{xt(Kt,sn)&&_n.push({did:Bn.meta.did,key:Kt.key,description:Kt.description})})}),_n.filter(Bn=>!pt(Bn))};a.getAppMissingConfigs=Et;const wt=(an={},_n={})=>{const Bn=[],Dn=an.configs||[],sn=ct(_n,an);return Dn.forEach(Vt=>{xt(Vt,sn)&&Bn.push({did:an.meta.did,key:Vt.key,description:Vt.description})}),Bn};a.getComponentMissingConfigs=wt;const kt=an=>an.payment?(an.payment.price||[]).map(Bn=>Bn.value||0).every(Bn=>Bn===0):!0;a.isFreeBlocklet=kt;const Tt=an=>!an.payment||!an.payment.componentPrice?!0:!an.payment.componentPrice.length;a.isFreeComponent=Tt;const At=an=>an&&(St(an,_n=>{_n.configs&&(_n.configs=_n.configs.filter(Bn=>!pt(Bn)),_n.configs.forEach(Bn=>{Bn.secure&&(Bn.value=Bn.value?"__encrypted__":"")})),(_n.environments||[]).forEach(Bn=>{["BLOCKLET_APP_SK","BLOCKLET_APP_PSK"].includes(Bn.key)&&(Bn.value="__encrypted__")}),(_n.migratedFrom||[]).forEach(Bn=>{Bn.appSk="__encrypted__"}),delete an.configObj,delete an.environmentObj},{sync:!0}),an);a.wipeSensitiveData=At;const vt=an=>{if(!an)return!1;const _n=an.environments.find(Bn=>Bn.key==="BLOCKLET_DELETABLE");return _n?_n.value==="yes":!0};a.isDeletableBlocklet=vt;const It=an=>{let _n=!1;return Dt(an,Bn=>{Bn.meta.group!==it.BlockletGroup.gateway&&(_n=!0)}),_n};a.hasRunnableComponent=It;const rn=(an,_n=!1)=>{if(!an)return"";const{meta:Bn}=an;let Dn;if(!_n&&an.environments){const sn=an.environments.find(Vt=>Vt.key==="BLOCKLET_APP_NAME");sn&&sn.value&&(Dn=sn.value)}return Dn||Bn.title||Bn.name};a.getAppName=rn,a.getDisplayName=rn;const jt=(an,_n=!1)=>{if(!an)return"";const{meta:Bn}=an;let Dn;if(!_n&&an.environments){const sn=an.environments.find(Vt=>Vt.key==="BLOCKLET_APP_DESCRIPTION");sn&&sn.value&&(Dn=sn.value)}return Dn||Bn.description||Bn.name};a.getAppDescription=jt;function Yt(an){var Dn,sn,Vt;const _n=(Vt=(sn=(Dn=an==null?void 0:an.site)==null?void 0:Dn.domainAliases)==null?void 0:sn.sort((Kt,hn)=>{var kn,An,In,qn;return(kn=Kt.accessibility)!=null&&kn.accessible&&((An=hn.accessibility)!=null&&An.accessible)?+Kt.isProtected-+hn.isProtected:+((In=hn.accessibility)==null?void 0:In.accessible)-+((qn=Kt.accessibility)==null?void 0:qn.accessible)}))==null?void 0:Vt.map(Kt=>{var An;const hn=(An=Kt==null?void 0:Kt.domainStatus)!=null&&An.isHttps?"https://":"http://",kn=Kt==null?void 0:Kt.value;return`${hn}${kn}`}).filter(Boolean);return _n==null?void 0:_n[0]}const Wt=an=>{an&&(Dt(an,_n=>{_n.status=(0,it.fromBlockletStatus)(_n.status),_n.source!==void 0&&(_n.source=(0,it.fromBlockletSource)(_n.source))}),an.settings&&(an.settings.children||[]).forEach(_n=>{Dt(_n,Bn=>{Bn.status=(0,it.fromBlockletStatus)(Bn.status),Bn.source!==void 0&&(Bn.source=(0,it.fromBlockletSource)(Bn.source))})}))};a.fixBlockletStatus=Wt;const Xt=an=>{if(!an)return null;const _n=an.meta||an||{},{interfaces:Bn=[]}=_n;return Array.isArray(Bn)?Bn.find(Dn=>Dn.type===it.BLOCKLET_INTERFACE_TYPE_WEB):null};a.findWebInterface=Xt;const mn=an=>{if(!an)return null;const _n=Xt(an),{ports:Bn}=an;return!_n||!Bn?null:Bn[_n.port]};a.findWebInterfacePort=mn;const Tn=(an,_n)=>{const Bn=[_n];_n===ut.AUTH&&Bn.push(ut.AUTH_SERVICE);const Dn=Xt(an);return Dn?(Dn.services||[]).find(sn=>Bn.includes(sn.name)):null};a.findServiceFromMeta=Tn;const zt=an=>{if(!an)return ft.ALL;if((0,_e.default)(an,"settings.whoCanAccess"))return an.settings.whoCanAccess;const _n=Tn(an.meta,ut.AUTH);return(0,_e.default)(_n,"config.whoCanAccess")?_n.config.whoCanAccess:ft.ALL};a.getWhoCanAccess=zt;const Bt=(an,_n)=>{const Bn=(an.configs||[]).find(sn=>sn.key===it.BLOCKLET_CONFIGURABLE_KEY.COMPONENT_ACCESS_WHO);if(Bn)return Bn.value;if(_n&&(0,_e.default)(_n,"settings.whoCanAccess")&&(0,_e.default)(_n,"settings.whoCanAccess")!==ft.ALL)return(0,_e.default)(_n,"settings.whoCanAccess");const Dn=Tn(an.meta,ut.AUTH);return(0,_e.default)(Dn,"config.whoCanAccess")?Dn.config.whoCanAccess:ft.ALL};a.getComponentWhoCanAccess=Bt;const Zt=({request:an,baseUrl:_n})=>{const Bn=an.headers["x-blocklet-did"]||"",Dn=an.headers["x-blocklet-real-did"]||"",sn=an.headers["x-path-prefix"]||"/",Vt=an.headers["x-group-path-prefix"]||"/";let Kt=_n;return Bn!==Dn&&sn!==Vt&&(Kt=(0,tt.joinURL)(Kt,"/").replace(sn,Vt)),Kt};a.getConnectAppUrl=Zt;const Qt=(an,_n)=>{const Bn=(_n||"").includes(":")?":":/\./;return(an||"").replace(st,(_n||"").replace(new RegExp(Bn,"g"),"-"))};a.replaceSlotToIp=Qt;const ln=an=>{const _n=Object.entries(it.CHAIN_INFO_CONFIG).reduce((Bn,Dn)=>{const[sn,[Vt,Kt]]=Dn;return Bn[Vt]=(0,_e.default)(an,sn)||Kt,Bn},{});return _n.type==="ethereum"&&_n.id==="none"&&(_n.id="1"),_n};a.getChainInfo=ln;const En=an=>{const _n=ln({});if(!an)return _n;const Bn=ln(an.configObj);if(Bn.host!=="none")return Bn;let Dn;return Mt(an,sn=>{if(Dn&&Dn.host!=="none")return;const Vt=ln(sn.configObj);Vt.host!=="none"&&(Dn=Vt)}),Dn||_n};a.getBlockletChainInfo=En;const yn=an=>!!(an!=null&&an.controller);a.isExternalBlocklet=yn;const fn=an=>an.whoCanAccess.startsWith(dt)?an.whoCanAccess.substring(dt.length).split(","):[];a.getRolesFromAuthConfig=fn;const xn=an=>{const _n=Array.isArray(an.migratedFrom)?an.migratedFrom.map(Bn=>Bn.appDid):[];return(0,et.default)([an.appDid,an.appPid,..._n].filter(Boolean))};a.getBlockletAppIdList=xn;const wn=an=>{const _n=[];return an&&Dt(an,Bn=>{var sn;(((sn=Bn.meta)==null?void 0:sn.interfaces)||[]).filter(Vt=>Vt.type===it.BLOCKLET_INTERFACE_TYPE_SERVICE).forEach(Vt=>{const Kt=Vt.port||{};_n.push({name:Vt.name,protocol:Vt.protocol,port:Number(Kt.external),upstreamPort:Number((Bn.ports||{})[Kt.internal])})})}),_n};a.getBlockletServices=wn;const Sn=an=>[it.BlockletStatus.downloading,it.BlockletStatus.waiting,it.BlockletStatus.starting,it.BlockletStatus.installing,it.BlockletStatus.stopping,it.BlockletStatus.upgrading,"downloading","waiting","starting","installing","extracting","stopping","upgrading","restarting","deleting"].includes(an);a.isInProgress=Sn;const zn=an=>[it.BlockletStatus.added,it.BlockletStatus.waiting,it.BlockletStatus.downloading,it.BlockletStatus.installing,"added","waiting","downloading","installing"].includes(an);a.isBeforeInstalled=zn;const Zn=an=>[it.BlockletStatus.running,"running"].includes(an);a.isRunning=Zn;const vn=an=>[it.BlockletStatus.running,it.BlockletStatus.waiting,it.BlockletStatus.downloading,"running","waiting","downloading"].includes(an);a.isAccessible=vn;const Ln=(an,{type:_n,did:Bn}={type:"",did:""})=>{var Dn,sn,Vt;return an?!(0,ot.hasStartEngine)(an.meta)&&((Vt=(sn=(Dn=an.meta)==null?void 0:Dn.resource)==null?void 0:sn.bundles)==null?void 0:Vt.length)>0&&(an.meta.resource.bundles||[]).some(Kt=>Kt.type===_n&&Kt.did===Bn):!1};a.hasResourceType=Ln,a.default={isFreeBlocklet:kt,isFreeComponent:Tt,forEachBlocklet:St,forEachBlockletSync:Dt,forEachChild:qt,forEachChildSync:Mt,forEachComponentV2:Pt,forEachComponentV2Sync:Lt,isDeletableBlocklet:vt,getSharedConfigObj:ct,getAppMissingConfigs:Et,getComponentMissingConfigs:wt,isEnvShareableToClient:Ot,isEnvShareable:$t,wipeSensitiveData:At,hasRunnableComponent:It,getAppName:rn,getAppDescription:jt,getAppUrl:Yt,getDisplayName:rn,fixBlockletStatus:Wt,findWebInterface:Xt,findWebInterfacePort:mn,findServiceFromMeta:Tn,getWhoCanAccess:zt,getComponentWhoCanAccess:Bt,replaceSlotToIp:Qt,getComponentId:ht,getComponentName:mt,getComponentBundleId:bt,findComponent:Ut,findComponentById:Jt,findComponentV2:un,findComponentByIdV2:dn,filterComponentsV2:Gt,getParentComponentName:Rt,getConnectAppUrl:Zt,getChainInfo:ln,getBlockletChainInfo:En,isExternalBlocklet:yn,isPreferenceKey:pt,getRolesFromAuthConfig:fn,getBlockletServices:wn,isInProgress:Sn,isBeforeInstalled:zn,isRunning:Zn,isAccessible:vn,isGatewayBlocklet:ot.isGatewayBlocklet,isPackBlocklet:ot.isPackBlocklet,hasStartEngine:ot.hasStartEngine,hasResourceType:Ln}})(util);const getServerUrl=(a,j=!1)=>{const _e=a.routing.adminPath;return j?encodeURIComponent(joinURL(window.location.origin,_e)):joinURL(window.location.origin,_e)},getLaunchAgreementUrl=(a,j,_e)=>{const et=getServerUrl(j),tt=joinURL(_e,`/api/blocklets/${a.did}/blocklet.json`),nt=new URL(joinURL(et,"/launch-blocklet/agreement"));return nt.searchParams.set("blocklet_meta_url",tt),nt.searchParams.set("from",window.location.href),nt.href},ensureDomainAliases=async(a,{getIP:j}={})=>{if(!a||!a.length)return[];if(!j||!a.some(et=>et.value.includes(constant$3.SLOT_FOR_IP_DNS_SITE)))return a;const _e=await j();return _e?a.map(et=>{try{return et.value=util.replaceSlotToIp(et.value,_e),et}catch{return et}}).filter(Boolean):a},getAppCapabilities=a=>{const j={didSpace:null};return util.forEachBlockletSync(a,_e=>{var et,tt;j.didSpace===constant.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED||j.didSpace===constant.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED_ON_SETUP||(tt=(et=_e==null?void 0:_e.meta)==null?void 0:et.capabilities)!=null&&tt.didSpace&&(j.didSpace=_e.meta.capabilities.didSpace)}),j},fixBlocklet=async(a,{fixRuntime:j=!0,oldBlocklet:_e,getIP:et}={})=>{if(a.site||(a.site={domainAliases:[],rules:[]}),a.site.rules.forEach(tt=>{tt.from.pathPrefix=normalizePathPrefix$1(tt.from.pathPrefix||"/")}),a.site.rules=sortBy$1(a.site.rules,tt=>tt.from.pathPrefix),j===!0)a.site.domainAliases=await ensureDomainAliases(a.site.domainAliases,{getIP:et}),a.appRuntimeInfo&&(a.appRuntimeInfo.startAt=new Date-a.appRuntimeInfo.uptime),util.forEachBlockletSync(a,tt=>{tt.runtimeInfo&&(tt.runtimeInfo.startAt=new Date-tt.runtimeInfo.uptime)});else if(j==="merge-old"&&_e){a.site.domainAliases=_e.site.domainAliases,a.appRuntimeInfo=_e.appRuntimeInfo;const tt={};util.forEachBlockletSync(_e,(nt,{id:rt})=>{tt[rt]=nt}),util.forEachBlockletSync(a,(nt,{id:rt})=>{const it=tt[rt];it&&(nt.runtimeInfo=it.runtimeInfo,nt.diskInfo=it.diskInfo,nt.engine=it.engine)})}else a.site.domainAliases=[];a.capabilities=getAppCapabilities(a)},DEFAULT_WALLET_TYPE="arcblock",getWalletType=(a,j=!1)=>{let _e;return j?(_e=(a.configs||[]).find(et=>et.key==="BLOCKLET_APP_CHAIN_TYPE"),_e&&_e.value||(_e=(a.environments||[]).find(et=>["CHAIN_TYPE","BLOCKLET_APP_CHAIN_TYPE"].includes(et.key)),_e&&_e.value)?_e.value:DEFAULT_WALLET_TYPE):(_e=(a.environments||[]).find(et=>["CHAIN_TYPE","BLOCKLET_APP_CHAIN_TYPE"].includes(et.name)),_e&&_e.default?_e.default:DEFAULT_WALLET_TYPE)},isServerless=a=>!isEmpty$2(a==null?void 0:a.controller);let cache=null;const fetch$1=async()=>{const a=window.env.apiPrefix||"/",j=joinURL(a,"/api/dns-resolve?accessible=1");try{return(await axios$4.get(j)).data.address}catch{return null}},getIp=()=>(cache||(cache=fetch$1()),cache),BlockletsContext=reactExports.createContext({}),{Provider:Provider$2,Consumer:Consumer$2}=BlockletsContext,mergeBlocklets=(a,j,_e)=>_e?a.map(et=>{const tt={...et},nt=j.find(rt=>rt.meta.did===et.meta.did);return nt&&_e.forEach(rt=>{tt[rt]=nt[rt]}),tt}):j;function BlockletsProvider({children:a}){const j=useNodeContext(),_e=createClient(),[et,tt]=reactExports.useState(null),[nt,rt]=reactExports.useState(!1),[it,ot]=reactExports.useState([]),[ut,st]=reactExports.useState([]),[ft,dt]=reactExports.useState(!1),ht=(Lt,qt)=>{util.isExternalBlocklet(Lt)?st(qt):ot(qt)},mt=4,bt=async({silent:Lt=!0,retries:qt=mt,updates:Mt,useCache:Ut=!0}={})=>{Lt||rt(!0);try{tt(null);const{blocklets:Jt}=await _e.getBlocklets({input:{useCache:Ut}});for(const Gt of Jt)await fixBlocklet(Gt,{getIP:getIp});const un=Jt.filter(Gt=>!util.isExternalBlocklet(Gt)),dn=Jt.filter(util.isExternalBlocklet);ot(Gt=>mergeBlocklets(Gt,un,Mt)),st(Gt=>mergeBlocklets(Gt,dn,Mt)),rt(!1),dt(!0)}catch(Jt){qt>0?setTimeout(()=>bt({silent:Lt,retries:qt-1,useCache:Ut}),1e3):(rt(!1),tt(Jt))}},Rt=async Lt=>{try{const{blocklet:qt}=await j.api.getBlocklet({input:{did:Lt.meta.did,attachRuntimeInfo:!0}});await fixBlocklet(qt,{getIP:getIp}),ht(qt,Mt=>Mt.some(Ut=>Ut.meta.did===qt.meta.did)?Mt.map(Ut=>Ut.meta.did===qt.meta.did?qt:Ut):[...Mt,qt])}catch(qt){tt(qt)}},St=Lt=>{j.refresh(),Rt(Lt)};reactExports.useEffect(()=>{bt({silent:!1})},[]);const Dt=Lt=>{const qt={};util.forEachBlockletSync(Lt,(Mt,{id:Ut})=>{qt[Ut]=constant.fromBlockletStatus(Mt.status)}),ht(Lt,Mt=>Mt.map(Ut=>(Ut.meta.did===Lt.meta.did&&util.forEachBlockletSync(Ut,(Jt,{id:un})=>{qt[un]&&(Jt.status=qt[un])}),Ut)))};useSubscription(constant.BlockletEvents.added,Lt=>{Lt.status=constant.fromBlockletStatus(Lt.status),ht(Lt,qt=>[...qt,Lt])}),useSubscription(constant.BlockletEvents.removed,Lt=>{j.refresh(),ht(Lt,qt=>qt.filter(Mt=>Mt.meta.did!==Lt.meta.did))}),useSubscription(constant.BlockletEvents.statusChange,Dt),useSubscription(constant.BlockletEvents.installed,St),useSubscription(constant.BlockletEvents.upgraded,St),useSubscription(constant.BlockletEvents.updated,Rt),useSubscription(constant.BlockletEvents.startFailed,Rt);const Pt={loading:nt,error:et,data:it,externalData:ut,refresh:bt,initialized:ft,api:_e};return jsxRuntimeExports.jsx(Provider$2,{value:{blocklets:Pt},children:a})}function useBlockletsContext(){const{blocklets:a}=reactExports.useContext(BlockletsContext);return a}const authorize=({user:a,launchType:j,nftId:_e})=>{var et;if(!a)return!1;if(j==="serverless"){if(!_e)throw new Error("nftId is required");return((et=a==null?void 0:a.controller)==null?void 0:et.nftId)===_e}return(a.permissions||[]).includes("mutate_blocklets")},isServerlessBlockletInstalled=a=>{var j,_e;return a.isGetBlocklet&&((_e=(j=a.runtimeBlocklet)==null?void 0:j.controller)==null?void 0:_e.consumedAt)},getRestoredAccessUrl=async a=>{const j=getBlockletUrls({blocklet:a});let _e="";return _e=j.find(et=>{try{const{hostname:tt}=new URL(et);return urlEvaluation.isSlpDomain(tt)}catch(tt){return console.error(tt),!1}}),_e||(_e=await getAccessibleUrl(j)),_e},LaunchBlockletContext=reactExports.createContext({}),{Provider:Provider$1,Consumer:Consumer$1}=LaunchBlockletContext;function LaunchBlockletProvider({children:a}){const{session:j}=useSessionContext$1(),{t:_e}=useLocaleContext(),{api:et,info:tt}=useNodeContext(),[nt]=useSearchParams(),rt=createClient(),it=nt.get("launchType"),ot=nt.get("fromLauncher"),ut=nt.get("blocklet_meta_url")||"",st=nt.get("nftId")||"",ft=nt.get("launcherSessionId")||"",dt=nt.get("launcherUrl")||"",ht=new URL(ut).origin,[mt,bt]=reactExports.useState({meta:null,appDid:nt.get("appDid")||null,sessionId:nt.get("sessionId")||null,isFree:!0,isExternal:!1,isInstalling:!1,isInstalled:!1,isRunning:!1,launcherSession:null,registryUrl:""}),Rt=(dn,Gt)=>bt(Ot=>({...Ot,appDid:dn,sessionId:Gt})),St=authorize({user:j.user,launchType:it,nftId:st}),[Dt,Pt]=reactExports.useState(null),[Lt,qt]=reactExports.useState(!0),Mt=reactExports.useMemo(()=>tt?getServerUrl(tt):"",[tt]),Ut=async dn=>{if(!dn)throw new Error("appDid should not be empty");const{blocklet:Gt}=await et.getBlocklet({input:{did:dn,attachConfig:!1}});if(!Gt)return null;const Ot=constant.BlockletStatus[Gt.status],$t=!!st,ct=Ot<constant.BlockletStatus.installed,pt=Ot===constant.BlockletStatus.installed,xt=Ot===constant.BlockletStatus.running;return bt(Et=>({...Et,isInstalled:pt,isRunning:xt,isExternal:$t,isInstalling:ct})),{isInstalled:pt,isRunning:xt,isExternal:$t,isInstalling:ct}},Jt=async()=>{qt(!0);try{if(!ut)throw new Error(_e("common.invalidParam"));const[{meta:dn,isFree:Gt,registryUrl:Ot},{launcherSession:$t,error:ct}]=await Promise.all([et.getBlockletMetaFromUrl({input:{url:ut,checkPrice:!0}}),ft?et.getLauncherSession({input:{launcherSessionId:ft,launcherUrl:dt}}):Promise.resolve({})]);if(ft&&!$t)throw new Error(`Launch session invalid: ${ct}`);if(!dn)throw new Error(_e("LaunchBlockletBlocklet.error.loadMetaFailed"));let pt={};St&&mt.appDid&&(pt=await Ut(mt.appDid)),bt(xt=>({...xt,...pt,meta:dn,isFree:Gt,registryUrl:Ot,launcherSession:$t}))}catch(dn){console.error(dn),Pt(dn.message)}finally{qt(!1)}};reactExports.useEffect(()=>{var dn,Gt,Ot;((dn=j==null?void 0:j.user)==null?void 0:dn.role)===constant$3.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&((Ot=(Gt=j==null?void 0:j.user)==null?void 0:Gt.controller)==null?void 0:Ot.nftId)!==st&&j.logout(),Jt()},[]),reactExports.useEffect(()=>{Lt||!mt.meta||(St?mt.appDid&&Ut(mt.appDid).catch(dn=>{toast.error(dn.message)}):(bt(dn=>({...dn,isInstalled:!1,isRunning:!1,isExternal:!1})),Pt(null)))},[St]);const un={meta:mt.meta,isFree:mt.isFree,appDid:mt.appDid,sessionId:mt.sessionId,isInstalling:mt.isInstalling,isInstalled:mt.isInstalled,isExternal:mt.isExternal,isRunning:mt.isRunning,serverUrl:Mt,storeUrl:mt.registryUrl||ht,blockletMetaUrl:ut,fromLauncher:ot,loading:Lt,error:Dt,api:rt,getBlocklet:Ut,setAppDid:Rt,launcherUrl:dt,launcherSession:mt.launcherSession,launcherSessionId:ft};return jsxRuntimeExports.jsx(Provider$1,{value:un,children:a})}function useLaunchBlockletContext(){return reactExports.useContext(LaunchBlockletContext)}function useQuery(){return new URLSearchParams(useLocation().search)}const BlockletAppContext=reactExports.createContext(),{Provider,Consumer}=BlockletAppContext;function BlockletAppProvider({children:a}){const _e=useQuery().get("blocklet_meta_url"),et=_default$2(async()=>{const{data:nt}=await axios$1.get(_e);return nt});if(et.loading)return jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(CircularProgress,{})});const tt={meta:et.value,error:et.error};return jsxRuntimeExports.jsx(Provider,{value:tt,children:a})}BlockletAppProvider.propTypes={children:PropTypes.any.isRequired};function useBlockletAppContext(){return reactExports.useContext(BlockletAppContext)}const Dashboard=reactExports.lazy(()=>__vitePreload(()=>import("./index-nsaxnXRB.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),BlockletList=reactExports.lazy(()=>__vitePreload(()=>import("./index-B8Hu4oNh.js"),__vite__mapDeps([5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,2,30,31,32,33,34]),import.meta.url)),BlockletRestore=reactExports.lazy(()=>__vitePreload(()=>import("./index-CheSXyoA.js"),__vite__mapDeps([35,36,37,38,39,40,41,6,42,43,44,45,13,10,12,26,19,18]),import.meta.url)),BlockletStore=reactExports.lazy(()=>__vitePreload(()=>import("./index-CGyIRwUl.js"),__vite__mapDeps([46,6,47,48,49,18,17,50,10,51,52,32,13,12,42,53,43,54,3,55,56,19,23,24,57,58,59]),import.meta.url)),Settings=reactExports.lazy(()=>__vitePreload(()=>import("./index-wRDZOUMs.js"),__vite__mapDeps([60,61,11,58,62,63,50,64,13,10,12,7,8,9,14,15,16,17,18,19,65,54,3,55,2,66,6,67,68,32,21,20,69,34,70,71,72,4,73]),import.meta.url)),LogPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-CZrhCkal.js"),__vite__mapDeps([74,75,23,24,10,76]),import.meta.url)),TeamPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-DqnDo97c.js"),__vite__mapDeps([77,61,11,78,79,80,18,6,10,12,81,14,82,83,32,84,85,86,17,13,7,8,9,15,16,19,87,34,88,89,90,50,25,26,49,21,91,56,3,2,92,93,94,55,95,33,23,24,96,97,98,48,51,99,1,54,71]),import.meta.url)),BlockletDetail=reactExports.lazy(()=>__vitePreload(()=>import("./detail-BmlatkjD.js"),__vite__mapDeps([100,61,11,20,21,22,6,19,23,24,31,56,91,59]),import.meta.url)),EULAPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-D9XZ1bG6.js"),[],import.meta.url)),Notifications=reactExports.lazy(()=>__vitePreload(()=>import("./index-B4PWSsiR.js"),__vite__mapDeps([101,1,81,14]),import.meta.url)),IssuePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-BI-i5kKF.js"),__vite__mapDeps([102,103,90,104,92,69,105]),import.meta.url)),LostPassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-CDre3mnK.js"),__vite__mapDeps([106,69,85,53,105,30]),import.meta.url)),ExchangePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-BeN4ZgCH.js"),__vite__mapDeps([107,105]),import.meta.url)),BlockletLauncher=reactExports.lazy(()=>__vitePreload(()=>import("./index-B_FDrImE.js"),__vite__mapDeps([108,36,37,38,39,40,41,109,79,80,45,26,6,28,25,29,66]),import.meta.url)),NotFoundPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-C8xCbxUE.js"),__vite__mapDeps([110,90]),import.meta.url)),Invite=reactExports.lazy(()=>__vitePreload(()=>import("./index-CuOQXV32.js"),__vite__mapDeps([111,103,90,104,92,69,105]),import.meta.url)),Console=reactExports.lazy(()=>__vitePreload(()=>import("./index-DivETz-Z.js").then(a=>a.a2),__vite__mapDeps([112,113]),import.meta.url)),AnalyticsPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-CmFVyjgY.js"),__vite__mapDeps([114,61,11,115,116,117,70,10,118,9,13,12,51,7,8,14,15,16,17,18,19,31,119,120,4,6,99,24]),import.meta.url));function useSharedContext(){const a=useNodeContext(),{session:j}=useSessionContext$1(),{wallet:_e}=useBrowser(),et=j.user&&j.user.did;return reactExports.useEffect(()=>{const tt=getWsClient();return et?tt.connect():tt.isConnected()&&tt.disconnect(),()=>{tt.isConnected()&&tt.disconnect()}},[et]),reactExports.useEffect(()=>{if(_e)return()=>{};const tt=()=>{document.visibilityState==="visible"&&j.refresh()};return document.addEventListener("visibilitychange",tt),()=>{document.removeEventListener("visibilitychange",tt)}},[]),{node:a,session:j}}function ProtectedApp(){var rt;const{t:a}=useLocaleContext(),{node:j,session:_e}=useSharedContext(),et=useLocation();reactExports.useEffect(()=>{window.tracker&&typeof window.tracker.pageView=="function"&&window.tracker.pageView(`${et.pathname}${et.search}`)},[et]),reactExports.useEffect(()=>{var it;((it=_e==null?void 0:_e.user)==null?void 0:it.role)===constant$3.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&_e.logout()},[(rt=_e==null?void 0:_e.user)==null?void 0:rt.role]);const tt=jsxRuntimeExports.jsx(CircularProgress,{});if(j.loading||_e.loading)return jsxRuntimeExports.jsx(Center,{children:tt});if(!j.info.initialized)return getAuthMethod.getServerAuthMethod(j.info)==="nft"?jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"verify-owner"}):jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(NodeConnectOwner,{})});if(j.info.upgradeSessionId)return jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(MaintainProgress,{})});if(!_e.user)return jsxRuntimeExports.jsx(NodeLogin,{loadingEle:tt});const nt=jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(NotificationProvider,{children:jsxRuntimeExports.jsxs(BlockletsProvider,{children:[jsxRuntimeExports.jsx(Health,{}),jsxRuntimeExports.jsx(CheckNodeStatus,{}),jsxRuntimeExports.jsx(GlobalSubscriber,{}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:nt,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:"/dashboard",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:"Dashboard",children:jsxRuntimeExports.jsx(Dashboard,{})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.blocklets"),children:jsxRuntimeExports.jsx(BlockletList,{})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets/:did/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:"Blocklets",children:jsxRuntimeExports.jsx(BlockletDetail,{})})}),jsxRuntimeExports.jsx(Route,{path:"/settings/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.setting"),children:jsxRuntimeExports.jsx(Settings,{})})}),jsxRuntimeExports.jsx(Route,{path:"/eula",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("setup.steps.eula"),children:jsxRuntimeExports.jsx(EULAPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/store",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.store"),children:jsxRuntimeExports.jsx(BlockletStore,{})})}),jsxRuntimeExports.jsx(Route,{path:"/console",element:jsxRuntimeExports.jsx(DashboardRoute,{title:`GraphQL ${a("common.console")}`,scrollable:!1,fullWidth:!0,children:jsxRuntimeExports.jsx(Console,{})})}),jsxRuntimeExports.jsx(Route,{path:"/notifications",element:jsxRuntimeExports.jsx(DashboardRoute,{children:jsxRuntimeExports.jsx(Notifications,{})})}),jsxRuntimeExports.jsx(Route,{path:"/team/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.team"),children:jsxRuntimeExports.jsx(TeamPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/logs/:name",element:jsxRuntimeExports.jsx(DashboardRoute,{scrollable:!1,fullWidth:!0,title:a("common.logs"),children:jsxRuntimeExports.jsx(LogPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/analytics/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.analytics"),children:jsxRuntimeExports.jsx(AnalyticsPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/",element:jsxRuntimeExports.jsx(Navigate,{to:"/dashboard",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/team",element:jsxRuntimeExports.jsx(Navigate,{to:"/team/members",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/analytics",element:jsxRuntimeExports.jsx(Navigate,{to:"/analytics/traffic",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/logs",element:jsxRuntimeExports.jsx(Navigate,{to:"/logs/abtnode",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/router",element:jsxRuntimeExports.jsx(Navigate,{to:"/router/rules",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/settings",element:jsxRuntimeExports.jsx(Navigate,{to:"/settings/basic",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/marketplace",element:jsxRuntimeExports.jsx(Navigate,{to:"/store",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/marketplace/:did",element:jsxRuntimeExports.jsx(Navigate,{to:"/store/:did",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"*",element:jsxRuntimeExports.jsx(NotFoundPage,{})})]})})]})})}function UnprotectedWrapper({children:a}){const{node:j,session:_e}=useSharedContext();return j.loading||!_e.initialized&&_e.loading?jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(CircularProgress,{})}):j.info.upgradeSessionId?jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(MaintainProgress,{})}):a}function App(){const{changeLocale:a}=useLocaleContext(),j=useQuery();reactExports.useEffect(()=>{const et=j.get("locale");et&&["zh","en"].includes(et)&&a(et)},[]);const _e=jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:_e,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/issue-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(IssuePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/lost-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LostPassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/exchange-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(ExchangePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:"/accept-server",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"accept-server"})})}),jsxRuntimeExports.jsx(Route,{path:"/launch-blocklet/*",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LaunchBlockletProvider,{children:jsxRuntimeExports.jsx(BlockletLauncher,{})})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets/restore/*",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(BlockletAppProvider,{children:jsxRuntimeExports.jsx(BlockletRestore,{})})})}),jsxRuntimeExports.jsx(Route,{path:`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/invite`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(Invite,{})})}),jsxRuntimeExports.jsx(Route,{path:"/*",element:jsxRuntimeExports.jsx(ProtectedApp,{})})]})})}function AppWrapper(){const a=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(CssBaseline,{}),jsxRuntimeExports.jsx(BrowserRouter,{history,basename:a,children:jsxRuntimeExports.jsx(Root$5,{children:jsxRuntimeExports.jsx(App,{})})})]})}const root=createRoot(document.getElementById("root"));root.render(jsxRuntimeExports.jsx(AppWrapper,{}));const prefix=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";register(`${prefix}/service-worker.js`.replace(/\/+/g,"/"),{registrationOptions:{scope:prefix},registered(){console.info("Service worker has been registered.")},ready(){console.info("Service worker is active.")},cached(){console.info("Content has been cached for offline use.")},updatefound(){console.info("New content is downloading.")},updated(){console.info("New content is available; please refresh.")},offline(){console.info("No internet connection found. App is running in offline mode.")},error(a){console.error("Error during service worker registration:",a)}});export{default_1$n as $,useNavigate as A,ButtonComponent as B,CircularProgress as C,Dialog as D,toast as E,useSearchParams as F,Grid as G,constant$3 as H,ImageIcon as I,useMediaQuery as J,Alert as K,LinearProgress as L,formatError$1 as M,util as N,Link$2 as O,PropTypes as P,Box as Q,isEmpty$2 as R,RelativeTime$1 as S,TagComponent as T,MenuItem$1 as U,Permission as V,WrappedDidAddress as W,Center as X,toString_1 as Y,propTypesExports as Z,_createCompounder as _,useSubscription as a,Menu$1 as a$,lodashExports as a0,api$2 as a1,IconButton as a2,Confirm as a3,makeStyles as a4,ListItemSecondaryAction as a5,List as a6,ListItem as a7,ListItemText as a8,getServerUrl as a9,ErrorFallback as aA,formatRegistryLogoPath as aB,engine as aC,ListItemIcon as aD,ensureDomainAliases as aE,normalizePathPrefix$1 as aF,sortBy$1 as aG,getIp as aH,stringSortHandlerAsc as aI,getAccessUrl as aJ,requireCreateSvgIcon as aK,interopRequireDefaultExports as aL,history as aM,semver$1 as aN,useReactive as aO,useAsyncEffect as aP,sleep as aQ,checkInputByType as aR,Stack$5 as aS,isChrome as aT,_default$2 as aU,axios$1 as aV,shouldCheckDomainStatus as aW,formatMountPoint as aX,_default$5 as aY,FormControlLabel as aZ,Checkbox as a_,useBlockletAppContext as aa,getAuthMethod as ab,ConfirmDialog as ac,setSessionToken as ad,getRestoredAccessUrl as ae,Debug as af,isServerlessBlockletInstalled as ag,getWsClient as ah,useTheme$2 as ai,useQuery as aj,getPathPrefix as ak,HeaderAddon as al,SessionContext as am,Global as an,Routes as ao,Route as ap,Navigate as aq,css$1 as ar,AvatarWithErrorBoundary as as,formatToDatetime as at,getLaunchAgreementUrl as au,axios$4 as av,useSessionContext$1 as aw,Tooltip as ax,getBlockletMetaUrl as ay,ErrorBoundary as az,constant as b,useForkRef as b$,checkIsWildcardDomain as b0,Popover as b1,Card as b2,CardContent as b3,formatToDate as b4,sortDomains as b5,Collapse as b6,isUrl$1 as b7,__awaiter as b8,__generator as b9,_baseRest as bA,_arrayFilter as bB,last_1 as bC,isArrayLikeObject_1 as bD,default_1$c as bE,isDownloading as bF,withPermission as bG,getBlockletUrl as bH,getBlockletUrlParams as bI,createSvgIcon$1 as bJ,styled$1 as bK,ButtonBase as bL,_extends$2 as bM,emphasize_1 as bN,_objectWithoutPropertiesLoose$1 as bO,generateUtilityClasses as bP,generateUtilityClass as bQ,useDefaultProps as bR,useSlotProps as bS,clsx$1 as bT,composeClasses as bU,rootShouldForwardProp as bV,SwitchBase as bW,capitalize$3 as bX,alpha_1 as bY,createChainedFunction$1 as bZ,useControlled as b_,__spread as ba,React$2 as bb,dayjs$1 as bc,Divider as bd,isCertificateMatch as be,NodeContext as bf,useParams as bg,__assign as bh,__spreadArrays as bi,DidAddressWrapper as bj,createPassportSvg as bk,useNodeContext$1 as bl,getWalletType as bm,__vitePreload as bn,isInstalling as bo,Badge as bp,NavLink$1 as bq,createAppPassportSvg as br,_SetCache as bs,_arrayMap as bt,_baseUnary as bu,_arrayIncludes as bv,_arrayIncludesWith as bw,_cacheHas as bx,_baseFlatten as by,_baseUniq as bz,createClient as c,ownerDocument as c$,useId as c0,merge$1 as c1,toSlotDomain as c2,omit$1 as c3,fixBlocklet as c4,memoize$5 as c5,defaultCheckAccessible as c6,getBlockletUrls as c7,urlEvaluation as c8,ButtonGroupContext as c9,API_DID_PREFIX as cA,AUTH_SERVICE_PREFIX as cB,formatDateTime as cC,getExplorerLink as cD,patchJsxToLocale as cE,flat$1 as cF,en$2 as cG,LocaleProvider as cH,getAugmentedNamespace as cI,Theme as cJ,ReactDOM as cK,global$2 as cL,punycodeExports as cM,commonjsGlobal as cN,copy$1 as cO,dist$4 as cP,Util as cQ,require$$3 as cR,getSessionToken as cS,SvgLogo as cT,hoistStatics as cU,getLogoHash as cV,useEnhancedEffect$1 as cW,debounce$5 as cX,ownerWindow as cY,useRtl as cZ,useEventCallback$1 as c_,ButtonGroupButtonContext as ca,BlockletAdminRoles as cb,ListItemAvatar as cc,Avatar$1 as cd,NotificationTag as ce,useNotificationContext as cf,useRequest as cg,useMemoizedFn as ch,isNumber$2 as ci,__read as cj,useLatest as ck,defaultDayjs as cl,useBrowser as cm,Container$3 as cn,isFunction$8 as co,usePassportId as cp,FullPage as cq,useLaunchBlockletContext as cr,useSecurity as cs,authorize as ct,isNewStoreUrl as cu,getAccessibleUrl as cv,getBlockletLogoUrl as cw,Img as cx,useLocation as cy,useMount as cz,useBlockletsContext as d,private_safeAlpha_1 as d$,colors$1 as d0,useFormControl as d1,formControlState as d2,util$6 as d3,upperFirst$2 as d4,camelCase$2 as d5,ClickToCopy as d6,getGridUtilityClass as d7,gridClasses as d8,Grow as d9,lib$1 as dA,urlExports as dB,cloneDeep_1 as dC,get_1 as dD,DID as dE,isHostComponent as dF,FormControlContext as dG,GlobalStyles as dH,formatMuiErrorMessage$1 as dI,deepmerge$1 as dJ,isMuiElement as dK,slotShouldForwardProp as dL,Button$1 as dM,Paper as dN,ClickAwayListener as dO,MenuList as dP,Popper as dQ,useTheme$3 as dR,GlobalStyles$2 as dS,ThemeProvider$2 as dT,toPropertyKey$3 as dU,createSpacing as dV,createBreakpoints as dW,createTheme$1 as dX,private_safeDarken_1 as dY,private_safeLighten_1 as dZ,private_safeEmphasize_1 as d_,PopoverPaper as da,PopoverRoot as db,getOffsetLeft as dc,getOffsetTop as dd,getPopoverUtilityClass as de,popoverClasses as df,emotionSerialize_esm as dg,emotionUtils_browser_esm as dh,emotionCache_browser_esm as di,emotionReact_browser_esm as dj,reactDomExports as dk,Close as dl,_baseIteratee as dm,isArrayLike_1 as dn,keys_1 as dp,_baseFindIndex as dq,toInteger_1 as dr,noop$7 as ds,isObject$p as dt,cloneDeep$1 as du,padStart_1 as dv,Buffer$3 as dw,lib$2 as dx,upperFirst_1 as dy,pick_1 as dz,_default$1 as e,Hidden as e$,private_safeColorChannel_1 as e0,defaultSxConfig as e1,styleFunctionSx$1 as e2,getOverlayAlpha as e3,hslToRgb_1 as e4,THEME_ID as e5,createTypography as e6,StyledEngineProvider as e7,ThemeProvider$1 as e8,alpha$1 as e9,getChipUtilityClass as eA,buttonClasses as eB,getButtonUtilityClass as eC,checkboxClasses as eD,getCheckboxUtilityClass as eE,formControlLabelClasses as eF,getFormControlLabelUtilityClasses as eG,getListItemTextUtilityClass as eH,listItemTextClasses as eI,getMenuItemUtilityClass as eJ,menuItemClasses as eK,getTooltipUtilityClass as eL,tooltipClasses as eM,lighten_1 as eN,darken_1 as eO,Toolbar as eP,getToolbarUtilityClass as eQ,toolbarClasses$1 as eR,_baseIsEqual as eS,SvgIcon as eT,process$1$1 as eU,urlPathFriendly$1 as eV,useThemeProps as eW,defaultTheme$2 as eX,commonjsRequire as eY,create$4 as eZ,ThemeProvider$4 as e_,createMuiTheme as ea,darken$1 as eb,decomposeColor$1 as ec,duration as ed,easing as ee,emphasize$1 as ef,getContrastRatio$1 as eg,getLuminance$1 as eh,hexToRgb$1 as ei,hslToRgb$1 as ej,keyframes as ek,lighten$1 as el,createMixins as em,recomposeColor$1 as en,responsiveFontSizes as eo,rgbToHex$1 as ep,getUnit as eq,toUnitless as er,getPaperUtilityClass as es,paperClasses$1 as et,getIconButtonUtilityClass as eu,iconButtonClasses as ev,getTypographyUtilityClass as ew,typographyClasses$1 as ex,chipClasses as ey,Chip as ez,LocaleContext as f,Fade as f$,Check$1 as f0,withQuery as f1,createTheme$3 as f2,styled$2 as f3,useTheme$4 as f4,extendSxProp as f5,getTargetElement as f6,useEventListener as f7,useUpdateEffect as f8,__spreadArray as f9,util$5 as fA,shams$1 as fB,hasPropertyDescriptors_1 as fC,defineDataProperty as fD,safeBufferExports as fE,requireBrowser$9 as fF,requireElliptic as fG,requireCryptoBrowserify as fH,ripemd160 as fI,getInviteLink as fJ,SessionContext$1 as fK,getIssuePassportLink as fL,Icon as fM,getTextColor_1 as fN,isProtectedRole as fO,lib$3 as fP,createPassportSvg$2 as fQ,semver as fR,browserExports as fS,require$$0$1 as fT,isAbsoluteUrl as fU,dist$1 as fV,browser$4 as fW,requireObjectWithoutPropertiesLoose as fX,loadIcon as fY,createTheme as fZ,ThemeProvider as f_,_baseOrderBy as fa,isArray_1 as fb,default_1$p as fc,useCreation as fd,parseQuery as fe,useDebounceFn as ff,createRoot as fg,useSize as fh,colors$2 as fi,callBound$2 as fj,callBindExports as fk,normalizePathPrefix_1 as fl,clamp$1 as fm,useIsFocusVisible as fn,extractEventHandlers as fo,resolveProps as fp,debounce_1 as fq,noop_1 as fr,_default$3 as fs,formatTime as ft,RelativeTime as fu,useUpdate as fv,tmp as fw,getVisitorId$2 as fx,useConfirm as fy,translate as fz,getDefaultExportFromCjs$1 as g,defaultUnit as g$,ListItemButton as g0,AUTH_SERVICE_PREFIX$1 as g1,getTranslation as g2,SessionPermission as g3,NAVIGATION_URL as g4,LocaleSelector as g5,SessionUser as g6,default_1$l as g7,ResponsiveHeader as g8,withErrorBoundary as g9,_baseToString as gA,_baseTrim as gB,_castSlice as gC,_charsEndIndex as gD,_stringToArray as gE,validateDomain as gF,require$$6 as gG,axios_1 as gH,CopyButton as gI,isServerless as gJ,getSystemDomains as gK,data$l as gL,isRunning as gM,getTransferAppLink as gN,pick$1 as gO,data$f as gP,data$e as gQ,data$g as gR,_copyArray as gS,usePreviousProps as gT,setRef as gU,ClearIcon as gV,hoistNonReactStatics_cjs as gW,functionPlugin as gX,jssGlobal as gY,jssNested as gZ,camelCase as g_,NavMenu as ga,DashboardWrapper as gb,BlockletSDK as gc,useUnmount as gd,identity_1 as ge,_baseForOwn as gf,_baseMap as gg,isString_1 as gh,isPlainObject_1 as gi,default_1$h as gj,_isIndex as gk,_typeof$2 as gl,Dialog$1 as gm,dialogClasses as gn,DialogContent as go,FocusTrap as gp,DialogActions as gq,TransitionGroup as gr,localizedFormatPlugin as gs,isExtracting as gt,APP_PREFIX as gu,objectAssign$1 as gv,_inheritsLoose$3 as gw,forceReflow as gx,Transition$1 as gy,_baseIndexOf as gz,useTheme as h,jssVendorPrefixer as h0,jssPropsSort as h1,createJss as h2,getDynamicStyles as h3,isNil_1 as h4,omit_1 as h5,withoutTrailingSlash as h6,isString$2 as h7,isAbsoluteUrl$1 as h8,nanoid as h9,isValidClusterSize as hA,extractStatusUrlFromNextWorkflow as hB,pWaitFor$1 as hC,hasRequiredSteps as hD,getStoreList as hE,flatten$4 as hF,trimEnd$1 as hG,useCheckUpdateByUrl as hH,DialogTitle as hI,_baseEach as hJ,_baseAssignValue as hK,throttle$4 as hL,EventEmitter$1 as hM,pTimeout$2 as hN,TimeoutError_1 as hO,debounce$3 as hP,uniq$1 as hQ,Backdrop as hR,omitBy$1 as ha,isNil$1 as hb,isEqual$1 as hc,useEffectWithTarget$1 as hd,__values as he,isString$3 as hf,isFunction$5 as hg,circularProgressClasses$1 as hh,getCircularProgressUtilityClass as hi,collapseClasses$1 as hj,getCollapseUtilityClass as hk,boxClasses as hl,Icon$2 as hm,getIconUtilityClass as hn,iconClasses$1 as ho,getLinearProgressUtilityClass as hp,linearProgressClasses$1 as hq,getMenuUtilityClass as hr,menuClasses$1 as hs,_unsupportedIterableToArray as ht,_setPrototypeOf as hu,_assertThisInitialized$1 as hv,_createClass as hw,require$$1$4 as hx,Check as hy,reactIsExports as hz,Link$1 as i,jsxRuntimeExports as j,get$6 as k,filesize as l,Typography as m,newStyled as n,formatLocale as o,prettyMs as p,joinURL as q,reactExports as r,styled as s,useLocaleContext as t,useNodeContext as u,useSessionContext as v,_default as w,DialogContentText as x,DidConnect as y,getWebWalletUrl as z};
2496
+ `;browser.homedir=function(){return"/"};(function(a){var j=commonjsGlobal&&commonjsGlobal.__importDefault||function(ut){return ut&&ut.__esModule?ut:{default:ut}};Object.defineProperty(a,"__esModule",{value:!0}),a.hasMountPoint=a.hasStartEngine=a.isPackBlocklet=a.isGatewayBlocklet=a.getBlockletEngine=void 0;const _e=j(browser),et=constant,tt=ut=>{if(ut===void 0)throw new Error("blocklet meta param is required");const{engine:st}=ut;if(!st)return{interpreter:"node",source:""};if(!Array.isArray(st))return st;const ft=_e.default.platform(),dt=st.find(ht=>ht.platform===ft);if(!dt)throw new Error(`can not find a proper engine interpreter on ${ft}`);return dt};a.getBlockletEngine=tt;const nt=ut=>(ut==null?void 0:ut.group)===et.BlockletGroup.gateway;a.isGatewayBlocklet=nt;const rt=ut=>(ut==null?void 0:ut.group)===et.BlockletGroup.pack;a.isPackBlocklet=rt;const it=ut=>!!(ut!=null&&ut.main)||(0,a.getBlockletEngine)(ut||{}).interpreter==="blocklet";a.hasStartEngine=it;const ot=ut=>((0,a.hasStartEngine)(ut)||((ut==null?void 0:ut.interfaces)||[]).find(st=>st.type===et.BLOCKLET_INTERFACE_TYPE_WEB))&&(0,a.isGatewayBlocklet)(ut)===!1;a.hasMountPoint=ot})(engine);(function(a){var j=commonjsGlobal&&commonjsGlobal.__importDefault||function(an){return an&&an.__esModule?an:{default:an}};Object.defineProperty(a,"__esModule",{value:!0}),a.hasStartEngine=a.isPackBlocklet=a.isGatewayBlocklet=a.isAccessible=a.isRunning=a.isBeforeInstalled=a.isInProgress=a.getBlockletServices=a.getBlockletAppIdList=a.getRolesFromAuthConfig=a.isPreferenceKey=a.isExternalBlocklet=a.getBlockletChainInfo=a.getChainInfo=a.getConnectAppUrl=a.getParentComponentName=a.filterComponentsV2=a.findComponentByIdV2=a.findComponentV2=a.findComponentById=a.findComponent=a.getComponentBundleId=a.getComponentName=a.getComponentId=a.replaceSlotToIp=a.getComponentWhoCanAccess=a.getWhoCanAccess=a.findServiceFromMeta=a.findWebInterfacePort=a.findWebInterface=a.fixBlockletStatus=a.getAppDescription=a.getDisplayName=a.getAppName=a.hasRunnableComponent=a.wipeSensitiveData=a.isEnvShareable=a.isEnvShareableToClient=a.getComponentMissingConfigs=a.getAppMissingConfigs=a.getSharedConfigObj=a.isDeletableBlocklet=a.forEachComponentV2Sync=a.forEachComponentV2=a.forEachChildSync=a.forEachChild=a.forEachBlockletSync=a.forEachBlocklet=a.isFreeComponent=a.isFreeBlocklet=void 0,a.hasResourceType=void 0,a.getAppUrl=Yt;const _e=j(get_1),et=j(uniq_1),tt=require$$6,nt=j(pLimit_1),rt=j(constant$3),it=constant,ot=engine;Object.defineProperty(a,"hasStartEngine",{enumerable:!0,get:function(){return ot.hasStartEngine}}),Object.defineProperty(a,"isGatewayBlocklet",{enumerable:!0,get:function(){return ot.isGatewayBlocklet}}),Object.defineProperty(a,"isPackBlocklet",{enumerable:!0,get:function(){return ot.isPackBlocklet}});const{NODE_SERVICES:ut,SLOT_FOR_IP_DNS_SITE:st,WHO_CAN_ACCESS:ft,WHO_CAN_ACCESS_PREFIX_ROLES:dt}=rt.default,ht=(an,_n=[])=>`${_n.map(Bn=>Bn&&Bn.meta?Bn.meta.did:"").join("/")}${_n.length?"/":""}${an&&an.meta?an.meta.did:""}`;a.getComponentId=ht;const mt=(an,_n=[])=>`${_n.map(Bn=>Bn&&Bn.meta?Bn.meta.name:"").join("/")}${_n.length?"/":""}${an&&an.meta?an.meta.name:""}`;a.getComponentName=mt;const bt=an=>`${an.meta.bundleName}@${an.meta.version}`;a.getComponentBundleId=bt;const Rt=an=>{if(!an)return"";const _n=an.split("/");return _n.pop(),!_n.length||(_n[_n.length-1].startsWith("@")&&_n.pop(),!_n.length)?"":_n.join("/")};a.getParentComponentName=Rt;const St=(an,_n,{parallel:Bn=!1,concurrencyLimit:Dn=5,sync:sn,params:Vt,_parent:Kt,_root:hn,_level:kn=0,_tasks:An,_ancestors:In=[],_limit:qn}={})=>{const Fn=hn||Kt||an,Un=ht(an,In),tr=In.concat(an);if(sn){const Rr=_n(an,{parent:Kt,root:Fn,level:kn,params:Vt,ancestors:In,id:Un});if(an.children)for(const br of an.children)St(br,_n,{sync:sn,params:Rr,_parent:an,_root:Fn,_level:kn+1,_ancestors:tr});return null}if(!Bn)return new Promise(async(Rr,br)=>{try{const ir=await _n(an,{parent:Kt,root:Fn,level:kn,ancestors:In,params:Vt,id:Un});if(an.children)for(const Pr of an.children)await St(Pr,_n,{params:ir,_parent:an,_root:Fn,_level:kn+1,_ancestors:tr});Rr(null)}catch(ir){br(ir)}});const er=qn||(0,nt.default)(Dn),Jn=An||[];if(Jn.push(er(()=>_n(an,{parent:Kt,root:Fn,level:kn,ancestors:In,id:Un}))),an.children)for(const Rr of an.children)St(Rr,_n,{parallel:Bn,_parent:an,_root:Fn,_level:kn+1,_tasks:Jn,_ancestors:tr,_limit:er});return An?null:Promise.all(Jn)};a.forEachBlocklet=St;const Dt=(an,_n)=>St(an,_n,{sync:!0});a.forEachBlockletSync=Dt;const Pt=(an,_n,{parallel:Bn=!1,concurrencyLimit:Dn=5,sync:sn}={})=>{if(sn){if(an.children)for(const hn of an.children)_n(hn);return null}if(!Bn)return new Promise(async(hn,kn)=>{try{if(an.children)for(const An of an.children)await _n(An);hn(null)}catch(An){kn(An)}});const Vt=(0,nt.default)(Dn),Kt=[];if(an.children)for(const hn of an.children)Kt.push(Vt(()=>_n(hn)));return Promise.all(Kt)};a.forEachComponentV2=Pt;const Lt=(an,_n)=>Pt(an,_n,{sync:!0});a.forEachComponentV2Sync=Lt;const qt=(an,_n,Bn)=>St(an,(Dn,sn)=>sn.level===0?{}:_n(Dn,sn),Bn);a.forEachChild=qt;const Mt=(an,_n)=>qt(an,_n,{sync:!0});a.forEachChildSync=Mt;const Ut=(an,_n,{_ancestors:Bn=[],returnAncestors:Dn=!1}={})=>{if(!_n)return null;if(_n(an,{ancestors:Bn}))return Dn?{component:an,ancestors:Bn}:an;for(const sn of an.children||[]){const Vt=Bn.concat(an),Kt=Ut(sn,_n,{_ancestors:Vt,returnAncestors:Dn});if(Kt)return Kt}return null};a.findComponent=Ut;const Jt=(an,_n,{returnAncestors:Bn=!1}={})=>(Array.isArray(_n)&&(_n=_n.join("/")),Ut(an,(Dn,{ancestors:sn})=>{const Vt=ht(Dn,sn);return _n===Vt},{returnAncestors:Bn}));a.findComponentById=Jt;const un=(an,_n)=>{if(!_n)return null;for(const Bn of an.children||[])if(_n(Bn,an))return Bn;return null};a.findComponentV2=un;const dn=(an,_n)=>_n?(Array.isArray(_n)&&(_n=_n.join("/")),un(an,(Bn,Dn)=>{if(_n.includes("/")){const sn=ht(Bn,[Dn]);return _n===sn}return _n===Bn.meta.did})):null;a.findComponentByIdV2=dn;const Gt=(an,_n)=>{if(!_n)return[];const Bn=[];for(const Dn of an.children||[])_n(Dn,an)&&Bn.push(Dn);return Bn};a.filterComponentsV2=Gt;const Ot=an=>!!an&&!!(an.key||an.name)&&!an.secure&&an.shared!==!1&&!it.BLOCKLET_CONFIGURABLE_KEY[an.key||an.name];a.isEnvShareableToClient=Ot;const $t=an=>!!an&&!!(an.key||an.name)&&!an.secure&&!!an.shared&&!it.BLOCKLET_CONFIGURABLE_KEY[an.key||an.name];a.isEnvShareable=$t;const ct=(an,_n)=>{const Bn={};return!an||!_n||(Array.isArray(an.configs)&&an.configs.forEach(({key:Dn,value:sn,secure:Vt})=>{if(!$t({key:Dn,secure:Vt,shared:!0}))return;const Kt=(an.configObj||{})[Dn]||sn,hn=(_n.configs||[]).find(kn=>kn.key===Dn);(!hn||$t(hn)||!hn.value&&!(_n.configObj||{})[hn.key])&&(Bn[Dn]=Kt)}),(an.configs||[]).forEach(({key:Dn,value:sn})=>{[it.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_HOST,it.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_ID,it.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_TYPE].includes(Dn)&&(Bn[it.CHAIN_PROP_MAP[Dn]]=sn)})),Bn};a.getSharedConfigObj=ct;const pt=an=>an.key.startsWith(it.BLOCKLET_PREFERENCE_PREFIX)===!0;a.isPreferenceKey=pt;const xt=(an,_n)=>!!(an.required&&(!an.value&&!_n[an.key]||Object.values(it.CHAIN_PROP_MAP).includes(an.key)&&Object.keys(_n).includes(an.key)&&!_n[an.key])),Et=(an={})=>{const _n=[];return Lt(an,Bn=>{var Vt;if(((Vt=Bn.meta)==null?void 0:Vt.group)===it.BlockletGroup.gateway)return;const Dn=Bn.configs||[],sn=ct(an,Bn);Dn.forEach(Kt=>{xt(Kt,sn)&&_n.push({did:Bn.meta.did,key:Kt.key,description:Kt.description})})}),_n.filter(Bn=>!pt(Bn))};a.getAppMissingConfigs=Et;const wt=(an={},_n={})=>{const Bn=[],Dn=an.configs||[],sn=ct(_n,an);return Dn.forEach(Vt=>{xt(Vt,sn)&&Bn.push({did:an.meta.did,key:Vt.key,description:Vt.description})}),Bn};a.getComponentMissingConfigs=wt;const kt=an=>an.payment?(an.payment.price||[]).map(Bn=>Bn.value||0).every(Bn=>Bn===0):!0;a.isFreeBlocklet=kt;const Tt=an=>!an.payment||!an.payment.componentPrice?!0:!an.payment.componentPrice.length;a.isFreeComponent=Tt;const At=an=>an&&(St(an,_n=>{_n.configs&&(_n.configs=_n.configs.filter(Bn=>!pt(Bn)),_n.configs.forEach(Bn=>{Bn.secure&&(Bn.value=Bn.value?"__encrypted__":"")})),(_n.environments||[]).forEach(Bn=>{["BLOCKLET_APP_SK","BLOCKLET_APP_PSK"].includes(Bn.key)&&(Bn.value="__encrypted__")}),(_n.migratedFrom||[]).forEach(Bn=>{Bn.appSk="__encrypted__"}),delete an.configObj,delete an.environmentObj},{sync:!0}),an);a.wipeSensitiveData=At;const vt=an=>{if(!an)return!1;const _n=an.environments.find(Bn=>Bn.key==="BLOCKLET_DELETABLE");return _n?_n.value==="yes":!0};a.isDeletableBlocklet=vt;const It=an=>{let _n=!1;return Dt(an,Bn=>{Bn.meta.group!==it.BlockletGroup.gateway&&(_n=!0)}),_n};a.hasRunnableComponent=It;const rn=(an,_n=!1)=>{if(!an)return"";const{meta:Bn}=an;let Dn;if(!_n&&an.environments){const sn=an.environments.find(Vt=>Vt.key==="BLOCKLET_APP_NAME");sn&&sn.value&&(Dn=sn.value)}return Dn||Bn.title||Bn.name};a.getAppName=rn,a.getDisplayName=rn;const jt=(an,_n=!1)=>{if(!an)return"";const{meta:Bn}=an;let Dn;if(!_n&&an.environments){const sn=an.environments.find(Vt=>Vt.key==="BLOCKLET_APP_DESCRIPTION");sn&&sn.value&&(Dn=sn.value)}return Dn||Bn.description||Bn.name};a.getAppDescription=jt;function Yt(an){var Dn,sn,Vt;const _n=(Vt=(sn=(Dn=an==null?void 0:an.site)==null?void 0:Dn.domainAliases)==null?void 0:sn.sort((Kt,hn)=>{var kn,An,In,qn;return(kn=Kt.accessibility)!=null&&kn.accessible&&((An=hn.accessibility)!=null&&An.accessible)?+Kt.isProtected-+hn.isProtected:+((In=hn.accessibility)==null?void 0:In.accessible)-+((qn=Kt.accessibility)==null?void 0:qn.accessible)}))==null?void 0:Vt.map(Kt=>{var An;const hn=(An=Kt==null?void 0:Kt.domainStatus)!=null&&An.isHttps?"https://":"http://",kn=Kt==null?void 0:Kt.value;return`${hn}${kn}`}).filter(Boolean);return _n==null?void 0:_n[0]}const Wt=an=>{an&&(Dt(an,_n=>{_n.status=(0,it.fromBlockletStatus)(_n.status),_n.source!==void 0&&(_n.source=(0,it.fromBlockletSource)(_n.source))}),an.settings&&(an.settings.children||[]).forEach(_n=>{Dt(_n,Bn=>{Bn.status=(0,it.fromBlockletStatus)(Bn.status),Bn.source!==void 0&&(Bn.source=(0,it.fromBlockletSource)(Bn.source))})}))};a.fixBlockletStatus=Wt;const Xt=an=>{if(!an)return null;const _n=an.meta||an||{},{interfaces:Bn=[]}=_n;return Array.isArray(Bn)?Bn.find(Dn=>Dn.type===it.BLOCKLET_INTERFACE_TYPE_WEB):null};a.findWebInterface=Xt;const mn=an=>{if(!an)return null;const _n=Xt(an),{ports:Bn}=an;return!_n||!Bn?null:Bn[_n.port]};a.findWebInterfacePort=mn;const Tn=(an,_n)=>{const Bn=[_n];_n===ut.AUTH&&Bn.push(ut.AUTH_SERVICE);const Dn=Xt(an);return Dn?(Dn.services||[]).find(sn=>Bn.includes(sn.name)):null};a.findServiceFromMeta=Tn;const zt=an=>{if(!an)return ft.ALL;if((0,_e.default)(an,"settings.whoCanAccess"))return an.settings.whoCanAccess;const _n=Tn(an.meta,ut.AUTH);return(0,_e.default)(_n,"config.whoCanAccess")?_n.config.whoCanAccess:ft.ALL};a.getWhoCanAccess=zt;const Bt=(an,_n)=>{const Bn=(an.configs||[]).find(sn=>sn.key===it.BLOCKLET_CONFIGURABLE_KEY.COMPONENT_ACCESS_WHO);if(Bn)return Bn.value;if(_n&&(0,_e.default)(_n,"settings.whoCanAccess")&&(0,_e.default)(_n,"settings.whoCanAccess")!==ft.ALL)return(0,_e.default)(_n,"settings.whoCanAccess");const Dn=Tn(an.meta,ut.AUTH);return(0,_e.default)(Dn,"config.whoCanAccess")?Dn.config.whoCanAccess:ft.ALL};a.getComponentWhoCanAccess=Bt;const Zt=({request:an,baseUrl:_n})=>{const Bn=an.headers["x-blocklet-did"]||"",Dn=an.headers["x-blocklet-real-did"]||"",sn=an.headers["x-path-prefix"]||"/",Vt=an.headers["x-group-path-prefix"]||"/";let Kt=_n;return Bn!==Dn&&sn!==Vt&&(Kt=(0,tt.joinURL)(Kt,"/").replace(sn,Vt)),Kt};a.getConnectAppUrl=Zt;const Qt=(an,_n)=>{const Bn=(_n||"").includes(":")?":":/\./;return(an||"").replace(st,(_n||"").replace(new RegExp(Bn,"g"),"-"))};a.replaceSlotToIp=Qt;const ln=an=>{const _n=Object.entries(it.CHAIN_INFO_CONFIG).reduce((Bn,Dn)=>{const[sn,[Vt,Kt]]=Dn;return Bn[Vt]=(0,_e.default)(an,sn)||Kt,Bn},{});return _n.type==="ethereum"&&_n.id==="none"&&(_n.id="1"),_n};a.getChainInfo=ln;const En=an=>{const _n=ln({});if(!an)return _n;const Bn=ln(an.configObj);if(Bn.host!=="none")return Bn;let Dn;return Mt(an,sn=>{if(Dn&&Dn.host!=="none")return;const Vt=ln(sn.configObj);Vt.host!=="none"&&(Dn=Vt)}),Dn||_n};a.getBlockletChainInfo=En;const yn=an=>!!(an!=null&&an.controller);a.isExternalBlocklet=yn;const fn=an=>an.whoCanAccess.startsWith(dt)?an.whoCanAccess.substring(dt.length).split(","):[];a.getRolesFromAuthConfig=fn;const xn=an=>{const _n=Array.isArray(an.migratedFrom)?an.migratedFrom.map(Bn=>Bn.appDid):[];return(0,et.default)([an.appDid,an.appPid,..._n].filter(Boolean))};a.getBlockletAppIdList=xn;const wn=an=>{const _n=[];return an&&Dt(an,Bn=>{var sn;(((sn=Bn.meta)==null?void 0:sn.interfaces)||[]).filter(Vt=>Vt.type===it.BLOCKLET_INTERFACE_TYPE_SERVICE).forEach(Vt=>{const Kt=Vt.port||{};_n.push({name:Vt.name,protocol:Vt.protocol,port:Number(Kt.external),upstreamPort:Number((Bn.ports||{})[Kt.internal])})})}),_n};a.getBlockletServices=wn;const Sn=an=>[it.BlockletStatus.downloading,it.BlockletStatus.waiting,it.BlockletStatus.starting,it.BlockletStatus.installing,it.BlockletStatus.stopping,it.BlockletStatus.upgrading,"downloading","waiting","starting","installing","extracting","stopping","upgrading","restarting","deleting"].includes(an);a.isInProgress=Sn;const zn=an=>[it.BlockletStatus.added,it.BlockletStatus.waiting,it.BlockletStatus.downloading,it.BlockletStatus.installing,"added","waiting","downloading","installing"].includes(an);a.isBeforeInstalled=zn;const Zn=an=>[it.BlockletStatus.running,"running"].includes(an);a.isRunning=Zn;const vn=an=>[it.BlockletStatus.running,it.BlockletStatus.waiting,it.BlockletStatus.downloading,"running","waiting","downloading"].includes(an);a.isAccessible=vn;const Ln=(an,{type:_n,did:Bn}={type:"",did:""})=>{var Dn,sn,Vt;return an?!(0,ot.hasStartEngine)(an.meta)&&((Vt=(sn=(Dn=an.meta)==null?void 0:Dn.resource)==null?void 0:sn.bundles)==null?void 0:Vt.length)>0&&(an.meta.resource.bundles||[]).some(Kt=>Kt.type===_n&&Kt.did===Bn):!1};a.hasResourceType=Ln,a.default={isFreeBlocklet:kt,isFreeComponent:Tt,forEachBlocklet:St,forEachBlockletSync:Dt,forEachChild:qt,forEachChildSync:Mt,forEachComponentV2:Pt,forEachComponentV2Sync:Lt,isDeletableBlocklet:vt,getSharedConfigObj:ct,getAppMissingConfigs:Et,getComponentMissingConfigs:wt,isEnvShareableToClient:Ot,isEnvShareable:$t,wipeSensitiveData:At,hasRunnableComponent:It,getAppName:rn,getAppDescription:jt,getAppUrl:Yt,getDisplayName:rn,fixBlockletStatus:Wt,findWebInterface:Xt,findWebInterfacePort:mn,findServiceFromMeta:Tn,getWhoCanAccess:zt,getComponentWhoCanAccess:Bt,replaceSlotToIp:Qt,getComponentId:ht,getComponentName:mt,getComponentBundleId:bt,findComponent:Ut,findComponentById:Jt,findComponentV2:un,findComponentByIdV2:dn,filterComponentsV2:Gt,getParentComponentName:Rt,getConnectAppUrl:Zt,getChainInfo:ln,getBlockletChainInfo:En,isExternalBlocklet:yn,isPreferenceKey:pt,getRolesFromAuthConfig:fn,getBlockletServices:wn,isInProgress:Sn,isBeforeInstalled:zn,isRunning:Zn,isAccessible:vn,isGatewayBlocklet:ot.isGatewayBlocklet,isPackBlocklet:ot.isPackBlocklet,hasStartEngine:ot.hasStartEngine,hasResourceType:Ln}})(util);const getServerUrl=(a,j=!1)=>{const _e=a.routing.adminPath;return j?encodeURIComponent(joinURL(window.location.origin,_e)):joinURL(window.location.origin,_e)},getLaunchAgreementUrl=(a,j,_e)=>{const et=getServerUrl(j),tt=joinURL(_e,`/api/blocklets/${a.did}/blocklet.json`),nt=new URL(joinURL(et,"/launch-blocklet/agreement"));return nt.searchParams.set("blocklet_meta_url",tt),nt.searchParams.set("from",window.location.href),nt.href},ensureDomainAliases=async(a,{getIP:j}={})=>{if(!a||!a.length)return[];if(!j||!a.some(et=>et.value.includes(constant$3.SLOT_FOR_IP_DNS_SITE)))return a;const _e=await j();return _e?a.map(et=>{try{return et.value=util.replaceSlotToIp(et.value,_e),et}catch{return et}}).filter(Boolean):a},getAppCapabilities=a=>{const j={didSpace:null};return util.forEachBlockletSync(a,_e=>{var et,tt;j.didSpace===constant.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED||j.didSpace===constant.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED_ON_SETUP||(tt=(et=_e==null?void 0:_e.meta)==null?void 0:et.capabilities)!=null&&tt.didSpace&&(j.didSpace=_e.meta.capabilities.didSpace)}),j},fixBlocklet=async(a,{fixRuntime:j=!0,oldBlocklet:_e,getIP:et}={})=>{if(a.site||(a.site={domainAliases:[],rules:[]}),a.site.rules.forEach(tt=>{tt.from.pathPrefix=normalizePathPrefix$1(tt.from.pathPrefix||"/")}),a.site.rules=sortBy$1(a.site.rules,tt=>tt.from.pathPrefix),j===!0)a.site.domainAliases=await ensureDomainAliases(a.site.domainAliases,{getIP:et}),a.appRuntimeInfo&&(a.appRuntimeInfo.startAt=new Date-a.appRuntimeInfo.uptime),util.forEachBlockletSync(a,tt=>{tt.runtimeInfo&&(tt.runtimeInfo.startAt=new Date-tt.runtimeInfo.uptime)});else if(j==="merge-old"&&_e){a.site.domainAliases=_e.site.domainAliases,a.appRuntimeInfo=_e.appRuntimeInfo;const tt={};util.forEachBlockletSync(_e,(nt,{id:rt})=>{tt[rt]=nt}),util.forEachBlockletSync(a,(nt,{id:rt})=>{const it=tt[rt];it&&(nt.runtimeInfo=it.runtimeInfo,nt.diskInfo=it.diskInfo,nt.engine=it.engine)})}else a.site.domainAliases=[];a.capabilities=getAppCapabilities(a)},DEFAULT_WALLET_TYPE="arcblock",getWalletType=(a,j=!1)=>{let _e;return j?(_e=(a.configs||[]).find(et=>et.key==="BLOCKLET_APP_CHAIN_TYPE"),_e&&_e.value||(_e=(a.environments||[]).find(et=>["CHAIN_TYPE","BLOCKLET_APP_CHAIN_TYPE"].includes(et.key)),_e&&_e.value)?_e.value:DEFAULT_WALLET_TYPE):(_e=(a.environments||[]).find(et=>["CHAIN_TYPE","BLOCKLET_APP_CHAIN_TYPE"].includes(et.name)),_e&&_e.default?_e.default:DEFAULT_WALLET_TYPE)},isServerless=a=>!isEmpty$2(a==null?void 0:a.controller);let cache=null;const fetch$1=async()=>{const a=window.env.apiPrefix||"/",j=joinURL(a,"/api/dns-resolve?accessible=1");try{return(await axios$4.get(j)).data.address}catch{return null}},getIp=()=>(cache||(cache=fetch$1()),cache),BlockletsContext=reactExports.createContext({}),{Provider:Provider$2,Consumer:Consumer$2}=BlockletsContext,mergeBlocklets=(a,j,_e)=>_e?a.map(et=>{const tt={...et},nt=j.find(rt=>rt.meta.did===et.meta.did);return nt&&_e.forEach(rt=>{tt[rt]=nt[rt]}),tt}):j;function BlockletsProvider({children:a}){const j=useNodeContext(),_e=createClient(),[et,tt]=reactExports.useState(null),[nt,rt]=reactExports.useState(!1),[it,ot]=reactExports.useState([]),[ut,st]=reactExports.useState([]),[ft,dt]=reactExports.useState(!1),ht=(Lt,qt)=>{util.isExternalBlocklet(Lt)?st(qt):ot(qt)},mt=4,bt=async({silent:Lt=!0,retries:qt=mt,updates:Mt,useCache:Ut=!0}={})=>{Lt||rt(!0);try{tt(null);const{blocklets:Jt}=await _e.getBlocklets({input:{useCache:Ut}});for(const Gt of Jt)await fixBlocklet(Gt,{getIP:getIp});const un=Jt.filter(Gt=>!util.isExternalBlocklet(Gt)),dn=Jt.filter(util.isExternalBlocklet);ot(Gt=>mergeBlocklets(Gt,un,Mt)),st(Gt=>mergeBlocklets(Gt,dn,Mt)),rt(!1),dt(!0)}catch(Jt){qt>0?setTimeout(()=>bt({silent:Lt,retries:qt-1,useCache:Ut}),1e3):(rt(!1),tt(Jt))}},Rt=async Lt=>{try{const{blocklet:qt}=await j.api.getBlocklet({input:{did:Lt.meta.did,attachRuntimeInfo:!0}});await fixBlocklet(qt,{getIP:getIp}),ht(qt,Mt=>Mt.some(Ut=>Ut.meta.did===qt.meta.did)?Mt.map(Ut=>Ut.meta.did===qt.meta.did?qt:Ut):[...Mt,qt])}catch(qt){tt(qt)}},St=Lt=>{j.refresh(),Rt(Lt)};reactExports.useEffect(()=>{bt({silent:!1})},[]);const Dt=Lt=>{const qt={};util.forEachBlockletSync(Lt,(Mt,{id:Ut})=>{qt[Ut]=constant.fromBlockletStatus(Mt.status)}),ht(Lt,Mt=>Mt.map(Ut=>(Ut.meta.did===Lt.meta.did&&util.forEachBlockletSync(Ut,(Jt,{id:un})=>{qt[un]&&(Jt.status=qt[un])}),Ut)))};useSubscription(constant.BlockletEvents.added,Lt=>{Lt.status=constant.fromBlockletStatus(Lt.status),ht(Lt,qt=>[...qt,Lt])}),useSubscription(constant.BlockletEvents.removed,Lt=>{j.refresh(),ht(Lt,qt=>qt.filter(Mt=>Mt.meta.did!==Lt.meta.did))}),useSubscription(constant.BlockletEvents.statusChange,Dt),useSubscription(constant.BlockletEvents.installed,St),useSubscription(constant.BlockletEvents.upgraded,St),useSubscription(constant.BlockletEvents.updated,Rt),useSubscription(constant.BlockletEvents.startFailed,Rt);const Pt={loading:nt,error:et,data:it,externalData:ut,refresh:bt,initialized:ft,api:_e};return jsxRuntimeExports.jsx(Provider$2,{value:{blocklets:Pt},children:a})}function useBlockletsContext(){const{blocklets:a}=reactExports.useContext(BlockletsContext);return a}const authorize=({user:a,launchType:j,nftId:_e})=>{var et;if(!a)return!1;if(j==="serverless"){if(!_e)throw new Error("nftId is required");return((et=a==null?void 0:a.controller)==null?void 0:et.nftId)===_e}return(a.permissions||[]).includes("mutate_blocklets")},isServerlessBlockletInstalled=a=>{var j,_e;return a.isGetBlocklet&&((_e=(j=a.runtimeBlocklet)==null?void 0:j.controller)==null?void 0:_e.consumedAt)},getRestoredAccessUrl=async a=>{const j=getBlockletUrls({blocklet:a});let _e="";return _e=j.find(et=>{try{const{hostname:tt}=new URL(et);return urlEvaluation.isSlpDomain(tt)}catch(tt){return console.error(tt),!1}}),_e||(_e=await getAccessibleUrl(j)),_e},LaunchBlockletContext=reactExports.createContext({}),{Provider:Provider$1,Consumer:Consumer$1}=LaunchBlockletContext;function LaunchBlockletProvider({children:a}){const{session:j}=useSessionContext$1(),{t:_e}=useLocaleContext(),{api:et,info:tt}=useNodeContext(),[nt]=useSearchParams(),rt=createClient(),it=nt.get("launchType"),ot=nt.get("fromLauncher"),ut=nt.get("blocklet_meta_url")||"",st=nt.get("nftId")||"",ft=nt.get("launcherSessionId")||"",dt=nt.get("launcherUrl")||"",ht=new URL(ut).origin,[mt,bt]=reactExports.useState({meta:null,appDid:nt.get("appDid")||null,sessionId:nt.get("sessionId")||null,isFree:!0,isExternal:!1,isInstalling:!1,isInstalled:!1,isRunning:!1,launcherSession:null,registryUrl:""}),Rt=(dn,Gt)=>bt(Ot=>({...Ot,appDid:dn,sessionId:Gt})),St=authorize({user:j.user,launchType:it,nftId:st}),[Dt,Pt]=reactExports.useState(null),[Lt,qt]=reactExports.useState(!0),Mt=reactExports.useMemo(()=>tt?getServerUrl(tt):"",[tt]),Ut=async dn=>{if(!dn)throw new Error("appDid should not be empty");const{blocklet:Gt}=await et.getBlocklet({input:{did:dn,attachConfig:!1}});if(!Gt)return null;const Ot=constant.BlockletStatus[Gt.status],$t=!!st,ct=Ot<constant.BlockletStatus.installed,pt=Ot===constant.BlockletStatus.installed,xt=Ot===constant.BlockletStatus.running;return bt(Et=>({...Et,isInstalled:pt,isRunning:xt,isExternal:$t,isInstalling:ct})),{isInstalled:pt,isRunning:xt,isExternal:$t,isInstalling:ct}},Jt=async()=>{qt(!0);try{if(!ut)throw new Error(_e("common.invalidParam"));const[{meta:dn,isFree:Gt,registryUrl:Ot},{launcherSession:$t,error:ct}]=await Promise.all([et.getBlockletMetaFromUrl({input:{url:ut,checkPrice:!0}}),ft?et.getLauncherSession({input:{launcherSessionId:ft,launcherUrl:dt}}):Promise.resolve({})]);if(ft&&!$t)throw new Error(`Launch session invalid: ${ct}`);if(!dn)throw new Error(_e("LaunchBlockletBlocklet.error.loadMetaFailed"));let pt={};St&&mt.appDid&&(pt=await Ut(mt.appDid)),bt(xt=>({...xt,...pt,meta:dn,isFree:Gt,registryUrl:Ot,launcherSession:$t}))}catch(dn){console.error(dn),Pt(dn.message)}finally{qt(!1)}};reactExports.useEffect(()=>{var dn,Gt,Ot;((dn=j==null?void 0:j.user)==null?void 0:dn.role)===constant$3.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&((Ot=(Gt=j==null?void 0:j.user)==null?void 0:Gt.controller)==null?void 0:Ot.nftId)!==st&&j.logout(),Jt()},[]),reactExports.useEffect(()=>{Lt||!mt.meta||(St?mt.appDid&&Ut(mt.appDid).catch(dn=>{toast.error(dn.message)}):(bt(dn=>({...dn,isInstalled:!1,isRunning:!1,isExternal:!1})),Pt(null)))},[St]);const un={meta:mt.meta,isFree:mt.isFree,appDid:mt.appDid,sessionId:mt.sessionId,isInstalling:mt.isInstalling,isInstalled:mt.isInstalled,isExternal:mt.isExternal,isRunning:mt.isRunning,serverUrl:Mt,storeUrl:mt.registryUrl||ht,blockletMetaUrl:ut,fromLauncher:ot,loading:Lt,error:Dt,api:rt,getBlocklet:Ut,setAppDid:Rt,launcherUrl:dt,launcherSession:mt.launcherSession,launcherSessionId:ft};return jsxRuntimeExports.jsx(Provider$1,{value:un,children:a})}function useLaunchBlockletContext(){return reactExports.useContext(LaunchBlockletContext)}function useQuery(){return new URLSearchParams(useLocation().search)}const BlockletAppContext=reactExports.createContext(),{Provider,Consumer}=BlockletAppContext;function BlockletAppProvider({children:a}){const _e=useQuery().get("blocklet_meta_url"),et=_default$2(async()=>{const{data:nt}=await axios$1.get(_e);return nt});if(et.loading)return jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(CircularProgress,{})});const tt={meta:et.value,error:et.error};return jsxRuntimeExports.jsx(Provider,{value:tt,children:a})}BlockletAppProvider.propTypes={children:PropTypes.any.isRequired};function useBlockletAppContext(){return reactExports.useContext(BlockletAppContext)}const Dashboard=reactExports.lazy(()=>__vitePreload(()=>import("./index-DMFar3I1.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),BlockletList=reactExports.lazy(()=>__vitePreload(()=>import("./index-Cw-_inHl.js"),__vite__mapDeps([5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,2,30,31,32,33,34]),import.meta.url)),BlockletRestore=reactExports.lazy(()=>__vitePreload(()=>import("./index-AgJrAiSK.js"),__vite__mapDeps([35,36,37,38,39,40,41,6,42,43,44,45,46,13,10,12,26,19,18]),import.meta.url)),BlockletStore=reactExports.lazy(()=>__vitePreload(()=>import("./index-FIMmdaZK.js"),__vite__mapDeps([47,6,48,49,50,18,17,51,10,52,53,32,13,12,42,54,43,44,55,3,56,57,19,23,24,58,59,60]),import.meta.url)),Settings=reactExports.lazy(()=>__vitePreload(()=>import("./index-DD1cWFOC.js"),__vite__mapDeps([61,62,11,59,63,64,51,65,13,10,12,7,8,9,14,15,16,17,18,19,66,55,3,56,2,67,6,68,69,32,21,20,70,34,71,72,73,4,74]),import.meta.url)),LogPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-D1PLfduk.js"),__vite__mapDeps([75,76,23,24,10,77]),import.meta.url)),TeamPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dpoqj6Jo.js"),__vite__mapDeps([78,62,11,79,80,81,18,6,10,12,82,14,83,84,32,85,86,87,17,13,7,8,9,15,16,19,88,34,89,90,91,51,25,26,50,21,92,57,3,2,93,94,95,56,96,33,23,24,97,98,99,49,52,100,1,55,72]),import.meta.url)),BlockletDetail=reactExports.lazy(()=>__vitePreload(()=>import("./detail-vJPrtqvp.js"),__vite__mapDeps([101,62,11,20,21,22,6,19,23,24,31,57,92,60]),import.meta.url)),EULAPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-DBx2-m_Y.js"),[],import.meta.url)),Notifications=reactExports.lazy(()=>__vitePreload(()=>import("./index-BL7aEYjP.js"),__vite__mapDeps([102,1,82,14]),import.meta.url)),IssuePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-CRniQIuD.js"),__vite__mapDeps([103,104,91,105,93,70,106]),import.meta.url)),LostPassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-BtBRSL1d.js"),__vite__mapDeps([107,70,86,54,106,30]),import.meta.url)),ExchangePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dntt1eil.js"),__vite__mapDeps([108,106]),import.meta.url)),BlockletLauncher=reactExports.lazy(()=>__vitePreload(()=>import("./index-wZRHPQoX.js"),__vite__mapDeps([109,36,37,38,39,40,41,110,80,81,46,26,6,28,25,29,67]),import.meta.url)),NotFoundPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-Bd4i9E1O.js"),__vite__mapDeps([111,91]),import.meta.url)),Invite=reactExports.lazy(()=>__vitePreload(()=>import("./index-C74bQC6L.js"),__vite__mapDeps([112,104,91,105,93,70,106]),import.meta.url)),Console=reactExports.lazy(()=>__vitePreload(()=>import("./index-NkzSJ_BT.js").then(a=>a.a2),__vite__mapDeps([113,114]),import.meta.url)),AnalyticsPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-DEPFtOhR.js"),__vite__mapDeps([115,62,11,116,117,118,71,10,119,9,13,12,52,7,8,14,15,16,17,18,19,31,120,121,4,6,100,24]),import.meta.url));function useSharedContext(){const a=useNodeContext(),{session:j}=useSessionContext$1(),{wallet:_e}=useBrowser(),et=j.user&&j.user.did;return reactExports.useEffect(()=>{const tt=getWsClient();return et?tt.connect():tt.isConnected()&&tt.disconnect(),()=>{tt.isConnected()&&tt.disconnect()}},[et]),reactExports.useEffect(()=>{if(_e)return()=>{};const tt=()=>{document.visibilityState==="visible"&&j.refresh()};return document.addEventListener("visibilitychange",tt),()=>{document.removeEventListener("visibilitychange",tt)}},[]),{node:a,session:j}}function ProtectedApp(){var rt;const{t:a}=useLocaleContext(),{node:j,session:_e}=useSharedContext(),et=useLocation();reactExports.useEffect(()=>{window.tracker&&typeof window.tracker.pageView=="function"&&window.tracker.pageView(`${et.pathname}${et.search}`)},[et]),reactExports.useEffect(()=>{var it;((it=_e==null?void 0:_e.user)==null?void 0:it.role)===constant$3.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&_e.logout()},[(rt=_e==null?void 0:_e.user)==null?void 0:rt.role]);const tt=jsxRuntimeExports.jsx(CircularProgress,{});if(j.loading||_e.loading)return jsxRuntimeExports.jsx(Center,{children:tt});if(!j.info.initialized)return getAuthMethod.getServerAuthMethod(j.info)==="nft"?jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"verify-owner"}):jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(NodeConnectOwner,{})});if(j.info.upgradeSessionId)return jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(MaintainProgress,{})});if(!_e.user)return jsxRuntimeExports.jsx(NodeLogin,{loadingEle:tt});const nt=jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(NotificationProvider,{children:jsxRuntimeExports.jsxs(BlockletsProvider,{children:[jsxRuntimeExports.jsx(Health,{}),jsxRuntimeExports.jsx(CheckNodeStatus,{}),jsxRuntimeExports.jsx(GlobalSubscriber,{}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:nt,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:"/dashboard",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:"Dashboard",children:jsxRuntimeExports.jsx(Dashboard,{})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.blocklets"),children:jsxRuntimeExports.jsx(BlockletList,{})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets/:did/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:"Blocklets",children:jsxRuntimeExports.jsx(BlockletDetail,{})})}),jsxRuntimeExports.jsx(Route,{path:"/settings/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.setting"),children:jsxRuntimeExports.jsx(Settings,{})})}),jsxRuntimeExports.jsx(Route,{path:"/eula",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("setup.steps.eula"),children:jsxRuntimeExports.jsx(EULAPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/store",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.store"),children:jsxRuntimeExports.jsx(BlockletStore,{})})}),jsxRuntimeExports.jsx(Route,{path:"/console",element:jsxRuntimeExports.jsx(DashboardRoute,{title:`GraphQL ${a("common.console")}`,scrollable:!1,fullWidth:!0,children:jsxRuntimeExports.jsx(Console,{})})}),jsxRuntimeExports.jsx(Route,{path:"/notifications",element:jsxRuntimeExports.jsx(DashboardRoute,{children:jsxRuntimeExports.jsx(Notifications,{})})}),jsxRuntimeExports.jsx(Route,{path:"/team/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.team"),children:jsxRuntimeExports.jsx(TeamPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/logs/:name",element:jsxRuntimeExports.jsx(DashboardRoute,{scrollable:!1,fullWidth:!0,title:a("common.logs"),children:jsxRuntimeExports.jsx(LogPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/analytics/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:a("common.analytics"),children:jsxRuntimeExports.jsx(AnalyticsPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/",element:jsxRuntimeExports.jsx(Navigate,{to:"/dashboard",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/team",element:jsxRuntimeExports.jsx(Navigate,{to:"/team/members",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/analytics",element:jsxRuntimeExports.jsx(Navigate,{to:"/analytics/traffic",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/logs",element:jsxRuntimeExports.jsx(Navigate,{to:"/logs/abtnode",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/router",element:jsxRuntimeExports.jsx(Navigate,{to:"/router/rules",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/settings",element:jsxRuntimeExports.jsx(Navigate,{to:"/settings/basic",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/marketplace",element:jsxRuntimeExports.jsx(Navigate,{to:"/store",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"/marketplace/:did",element:jsxRuntimeExports.jsx(Navigate,{to:"/store/:did",replace:!0})}),jsxRuntimeExports.jsx(Route,{path:"*",element:jsxRuntimeExports.jsx(NotFoundPage,{})})]})})]})})}function UnprotectedWrapper({children:a}){const{node:j,session:_e}=useSharedContext();return j.loading||!_e.initialized&&_e.loading?jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(CircularProgress,{})}):j.info.upgradeSessionId?jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(MaintainProgress,{})}):a}function App(){const{changeLocale:a}=useLocaleContext(),j=useQuery();reactExports.useEffect(()=>{const et=j.get("locale");et&&["zh","en"].includes(et)&&a(et)},[]);const _e=jsxRuntimeExports.jsx(Center,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:_e,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/issue-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(IssuePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/lost-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LostPassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/exchange-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(ExchangePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:"/accept-server",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"accept-server"})})}),jsxRuntimeExports.jsx(Route,{path:"/launch-blocklet/*",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LaunchBlockletProvider,{children:jsxRuntimeExports.jsx(BlockletLauncher,{})})})}),jsxRuntimeExports.jsx(Route,{path:"/blocklets/restore/*",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(BlockletAppProvider,{children:jsxRuntimeExports.jsx(BlockletRestore,{})})})}),jsxRuntimeExports.jsx(Route,{path:`${constant$3.WELLKNOWN_SERVICE_PATH_PREFIX}/invite`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(Invite,{})})}),jsxRuntimeExports.jsx(Route,{path:"/*",element:jsxRuntimeExports.jsx(ProtectedApp,{})})]})})}function AppWrapper(){const a=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(CssBaseline,{}),jsxRuntimeExports.jsx(BrowserRouter,{history,basename:a,children:jsxRuntimeExports.jsx(Root$5,{children:jsxRuntimeExports.jsx(App,{})})})]})}const root=createRoot(document.getElementById("root"));root.render(jsxRuntimeExports.jsx(AppWrapper,{}));const prefix=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";register(`${prefix}/service-worker.js`.replace(/\/+/g,"/"),{registrationOptions:{scope:prefix},registered(){console.info("Service worker has been registered.")},ready(){console.info("Service worker is active.")},cached(){console.info("Content has been cached for offline use.")},updatefound(){console.info("New content is downloading.")},updated(){console.info("New content is available; please refresh.")},offline(){console.info("No internet connection found. App is running in offline mode.")},error(a){console.error("Error during service worker registration:",a)}});export{default_1$n as $,useNavigate as A,ButtonComponent as B,CircularProgress as C,Dialog as D,toast as E,useSearchParams as F,Grid as G,constant$3 as H,ImageIcon as I,useMediaQuery as J,Alert as K,LinearProgress as L,formatError$1 as M,util as N,Link$2 as O,PropTypes as P,Box as Q,isEmpty$2 as R,RelativeTime$1 as S,TagComponent as T,MenuItem$1 as U,Permission as V,WrappedDidAddress as W,Center as X,toString_1 as Y,propTypesExports as Z,_createCompounder as _,useSubscription as a,Menu$1 as a$,lodashExports as a0,api$2 as a1,IconButton as a2,Confirm as a3,makeStyles as a4,ListItemSecondaryAction as a5,List as a6,ListItem as a7,ListItemText as a8,getServerUrl as a9,ErrorFallback as aA,formatRegistryLogoPath as aB,engine as aC,ListItemIcon as aD,ensureDomainAliases as aE,normalizePathPrefix$1 as aF,sortBy$1 as aG,getIp as aH,stringSortHandlerAsc as aI,getAccessUrl as aJ,requireCreateSvgIcon as aK,interopRequireDefaultExports as aL,history as aM,semver$1 as aN,useReactive as aO,useAsyncEffect as aP,sleep as aQ,checkInputByType as aR,Stack$5 as aS,isChrome as aT,_default$2 as aU,axios$1 as aV,shouldCheckDomainStatus as aW,formatMountPoint as aX,_default$5 as aY,FormControlLabel as aZ,Checkbox as a_,useBlockletAppContext as aa,getAuthMethod as ab,ConfirmDialog as ac,setSessionToken as ad,getRestoredAccessUrl as ae,Debug as af,isServerlessBlockletInstalled as ag,getWsClient as ah,useTheme$2 as ai,useQuery as aj,getPathPrefix as ak,HeaderAddon as al,SessionContext as am,Global as an,Routes as ao,Route as ap,Navigate as aq,css$1 as ar,AvatarWithErrorBoundary as as,formatToDatetime as at,getLaunchAgreementUrl as au,axios$4 as av,useSessionContext$1 as aw,Tooltip as ax,getBlockletMetaUrl as ay,ErrorBoundary as az,constant as b,useForkRef as b$,checkIsWildcardDomain as b0,Popover as b1,Card as b2,CardContent as b3,formatToDate as b4,sortDomains as b5,Collapse as b6,isUrl$1 as b7,__awaiter as b8,__generator as b9,_baseRest as bA,_arrayFilter as bB,last_1 as bC,isArrayLikeObject_1 as bD,default_1$c as bE,isDownloading as bF,withPermission as bG,getBlockletUrl as bH,getBlockletUrlParams as bI,createSvgIcon$1 as bJ,styled$1 as bK,ButtonBase as bL,_extends$2 as bM,emphasize_1 as bN,_objectWithoutPropertiesLoose$1 as bO,generateUtilityClasses as bP,generateUtilityClass as bQ,useDefaultProps as bR,useSlotProps as bS,clsx$1 as bT,composeClasses as bU,rootShouldForwardProp as bV,SwitchBase as bW,capitalize$3 as bX,alpha_1 as bY,createChainedFunction$1 as bZ,useControlled as b_,__spread as ba,React$2 as bb,dayjs$1 as bc,Divider as bd,isCertificateMatch as be,NodeContext as bf,useParams as bg,__assign as bh,__spreadArrays as bi,DidAddressWrapper as bj,createPassportSvg as bk,useNodeContext$1 as bl,getWalletType as bm,__vitePreload as bn,isInstalling as bo,Badge as bp,NavLink$1 as bq,createAppPassportSvg as br,_SetCache as bs,_arrayMap as bt,_baseUnary as bu,_arrayIncludes as bv,_arrayIncludesWith as bw,_cacheHas as bx,_baseFlatten as by,_baseUniq as bz,createClient as c,ownerDocument as c$,useId as c0,merge$1 as c1,toSlotDomain as c2,omit$1 as c3,fixBlocklet as c4,memoize$5 as c5,defaultCheckAccessible as c6,getBlockletUrls as c7,urlEvaluation as c8,ButtonGroupContext as c9,API_DID_PREFIX as cA,AUTH_SERVICE_PREFIX as cB,formatDateTime as cC,getExplorerLink as cD,patchJsxToLocale as cE,flat$1 as cF,en$2 as cG,LocaleProvider as cH,getAugmentedNamespace as cI,Theme as cJ,ReactDOM as cK,global$2 as cL,punycodeExports as cM,commonjsGlobal as cN,copy$1 as cO,dist$4 as cP,Util as cQ,require$$3 as cR,getSessionToken as cS,SvgLogo as cT,hoistStatics as cU,getLogoHash as cV,useEnhancedEffect$1 as cW,debounce$5 as cX,ownerWindow as cY,useRtl as cZ,useEventCallback$1 as c_,ButtonGroupButtonContext as ca,BlockletAdminRoles as cb,ListItemAvatar as cc,Avatar$1 as cd,NotificationTag as ce,useNotificationContext as cf,useRequest as cg,useMemoizedFn as ch,isNumber$2 as ci,__read as cj,useLatest as ck,defaultDayjs as cl,useBrowser as cm,Container$3 as cn,isFunction$8 as co,usePassportId as cp,FullPage as cq,useLaunchBlockletContext as cr,useSecurity as cs,authorize as ct,isNewStoreUrl as cu,getAccessibleUrl as cv,getBlockletLogoUrl as cw,Img as cx,useLocation as cy,useMount as cz,useBlockletsContext as d,private_safeAlpha_1 as d$,colors$1 as d0,useFormControl as d1,formControlState as d2,util$6 as d3,upperFirst$2 as d4,camelCase$2 as d5,ClickToCopy as d6,getGridUtilityClass as d7,gridClasses as d8,Grow as d9,lib$1 as dA,urlExports as dB,cloneDeep_1 as dC,get_1 as dD,DID as dE,isHostComponent as dF,FormControlContext as dG,GlobalStyles as dH,formatMuiErrorMessage$1 as dI,deepmerge$1 as dJ,isMuiElement as dK,slotShouldForwardProp as dL,Button$1 as dM,Paper as dN,ClickAwayListener as dO,MenuList as dP,Popper as dQ,useTheme$3 as dR,GlobalStyles$2 as dS,ThemeProvider$2 as dT,toPropertyKey$3 as dU,createSpacing as dV,createBreakpoints as dW,createTheme$1 as dX,private_safeDarken_1 as dY,private_safeLighten_1 as dZ,private_safeEmphasize_1 as d_,PopoverPaper as da,PopoverRoot as db,getOffsetLeft as dc,getOffsetTop as dd,getPopoverUtilityClass as de,popoverClasses as df,emotionSerialize_esm as dg,emotionUtils_browser_esm as dh,emotionCache_browser_esm as di,emotionReact_browser_esm as dj,reactDomExports as dk,Close as dl,_baseIteratee as dm,isArrayLike_1 as dn,keys_1 as dp,_baseFindIndex as dq,toInteger_1 as dr,noop$7 as ds,isObject$p as dt,cloneDeep$1 as du,padStart_1 as dv,Buffer$3 as dw,lib$2 as dx,upperFirst_1 as dy,pick_1 as dz,_default$1 as e,Hidden as e$,private_safeColorChannel_1 as e0,defaultSxConfig as e1,styleFunctionSx$1 as e2,getOverlayAlpha as e3,hslToRgb_1 as e4,THEME_ID as e5,createTypography as e6,StyledEngineProvider as e7,ThemeProvider$1 as e8,alpha$1 as e9,getChipUtilityClass as eA,buttonClasses as eB,getButtonUtilityClass as eC,checkboxClasses as eD,getCheckboxUtilityClass as eE,formControlLabelClasses as eF,getFormControlLabelUtilityClasses as eG,getListItemTextUtilityClass as eH,listItemTextClasses as eI,getMenuItemUtilityClass as eJ,menuItemClasses as eK,getTooltipUtilityClass as eL,tooltipClasses as eM,lighten_1 as eN,darken_1 as eO,Toolbar as eP,getToolbarUtilityClass as eQ,toolbarClasses$1 as eR,_baseIsEqual as eS,SvgIcon as eT,process$1$1 as eU,urlPathFriendly$1 as eV,useThemeProps as eW,defaultTheme$2 as eX,commonjsRequire as eY,create$4 as eZ,ThemeProvider$4 as e_,createMuiTheme as ea,darken$1 as eb,decomposeColor$1 as ec,duration as ed,easing as ee,emphasize$1 as ef,getContrastRatio$1 as eg,getLuminance$1 as eh,hexToRgb$1 as ei,hslToRgb$1 as ej,keyframes as ek,lighten$1 as el,createMixins as em,recomposeColor$1 as en,responsiveFontSizes as eo,rgbToHex$1 as ep,getUnit as eq,toUnitless as er,getPaperUtilityClass as es,paperClasses$1 as et,getIconButtonUtilityClass as eu,iconButtonClasses as ev,getTypographyUtilityClass as ew,typographyClasses$1 as ex,chipClasses as ey,Chip as ez,LocaleContext as f,Fade as f$,Check$1 as f0,withQuery as f1,createTheme$3 as f2,styled$2 as f3,useTheme$4 as f4,extendSxProp as f5,getTargetElement as f6,useEventListener as f7,useUpdateEffect as f8,__spreadArray as f9,util$5 as fA,shams$1 as fB,hasPropertyDescriptors_1 as fC,defineDataProperty as fD,safeBufferExports as fE,requireBrowser$9 as fF,requireElliptic as fG,requireCryptoBrowserify as fH,ripemd160 as fI,getInviteLink as fJ,SessionContext$1 as fK,getIssuePassportLink as fL,Icon as fM,getTextColor_1 as fN,isProtectedRole as fO,lib$3 as fP,createPassportSvg$2 as fQ,semver as fR,browserExports as fS,require$$0$1 as fT,isAbsoluteUrl as fU,dist$1 as fV,browser$4 as fW,requireObjectWithoutPropertiesLoose as fX,loadIcon as fY,createTheme as fZ,ThemeProvider as f_,_baseOrderBy as fa,isArray_1 as fb,default_1$p as fc,useCreation as fd,parseQuery as fe,useDebounceFn as ff,createRoot as fg,useSize as fh,colors$2 as fi,callBound$2 as fj,callBindExports as fk,normalizePathPrefix_1 as fl,clamp$1 as fm,useIsFocusVisible as fn,extractEventHandlers as fo,resolveProps as fp,debounce_1 as fq,noop_1 as fr,_default$3 as fs,formatTime as ft,RelativeTime as fu,useUpdate as fv,tmp as fw,getVisitorId$2 as fx,useConfirm as fy,translate as fz,getDefaultExportFromCjs$1 as g,defaultUnit as g$,ListItemButton as g0,AUTH_SERVICE_PREFIX$1 as g1,getTranslation as g2,SessionPermission as g3,NAVIGATION_URL as g4,LocaleSelector as g5,SessionUser as g6,default_1$l as g7,ResponsiveHeader as g8,withErrorBoundary as g9,_baseToString as gA,_baseTrim as gB,_castSlice as gC,_charsEndIndex as gD,_stringToArray as gE,validateDomain as gF,require$$6 as gG,axios_1 as gH,CopyButton as gI,isServerless as gJ,getSystemDomains as gK,data$l as gL,isRunning as gM,getTransferAppLink as gN,pick$1 as gO,data$f as gP,data$e as gQ,data$g as gR,_copyArray as gS,usePreviousProps as gT,setRef as gU,ClearIcon as gV,hoistNonReactStatics_cjs as gW,functionPlugin as gX,jssGlobal as gY,jssNested as gZ,camelCase as g_,NavMenu as ga,DashboardWrapper as gb,BlockletSDK as gc,useUnmount as gd,identity_1 as ge,_baseForOwn as gf,_baseMap as gg,isString_1 as gh,isPlainObject_1 as gi,default_1$h as gj,_isIndex as gk,_typeof$2 as gl,Dialog$1 as gm,dialogClasses as gn,DialogContent as go,FocusTrap as gp,DialogActions as gq,TransitionGroup as gr,localizedFormatPlugin as gs,isExtracting as gt,APP_PREFIX as gu,objectAssign$1 as gv,_inheritsLoose$3 as gw,forceReflow as gx,Transition$1 as gy,_baseIndexOf as gz,useTheme as h,jssVendorPrefixer as h0,jssPropsSort as h1,createJss as h2,getDynamicStyles as h3,isNil_1 as h4,omit_1 as h5,withoutTrailingSlash as h6,isString$2 as h7,isAbsoluteUrl$1 as h8,nanoid as h9,isValidClusterSize as hA,extractStatusUrlFromNextWorkflow as hB,pWaitFor$1 as hC,hasRequiredSteps as hD,getStoreList as hE,flatten$4 as hF,trimEnd$1 as hG,useCheckUpdateByUrl as hH,DialogTitle as hI,_baseEach as hJ,_baseAssignValue as hK,throttle$4 as hL,EventEmitter$1 as hM,pTimeout$2 as hN,TimeoutError_1 as hO,debounce$3 as hP,uniq$1 as hQ,Backdrop as hR,omitBy$1 as ha,isNil$1 as hb,isEqual$1 as hc,useEffectWithTarget$1 as hd,__values as he,isString$3 as hf,isFunction$5 as hg,circularProgressClasses$1 as hh,getCircularProgressUtilityClass as hi,collapseClasses$1 as hj,getCollapseUtilityClass as hk,boxClasses as hl,Icon$2 as hm,getIconUtilityClass as hn,iconClasses$1 as ho,getLinearProgressUtilityClass as hp,linearProgressClasses$1 as hq,getMenuUtilityClass as hr,menuClasses$1 as hs,_unsupportedIterableToArray as ht,_setPrototypeOf as hu,_assertThisInitialized$1 as hv,_createClass as hw,require$$1$4 as hx,Check as hy,reactIsExports as hz,Link$1 as i,jsxRuntimeExports as j,get$6 as k,filesize as l,Typography as m,newStyled as n,formatLocale as o,prettyMs as p,joinURL as q,reactExports as r,styled as s,useLocaleContext as t,useNodeContext as u,useSessionContext as v,_default as w,DialogContentText as x,DidConnect as y,getWebWalletUrl as z};
@@ -1 +1 @@
1
- import{A as l,bg as m,u as p,j as s,U as u}from"./index-CRLxFVWY.js";import{L as g,D as v}from"./download-C0fC4yYB.js";import{F as f,S as x}from"./Select-C--LsVoO.js";import"./ButtonGroup-D2VNVq8p.js";import"./getValidReactChildren-Bwdvi5zb.js";function k(){const i=l(),{name:a="abtnode"}=m(),{info:n}=p(),r=n.routing.provider,o=[{id:"abtnode",name:"Blocklet Server",types:["error","info","access","stdout","stderr","pm2"]},{id:"blocklet-services",name:"Blocklet Services",types:["error","info","access","stdout","stderr"]}];if(r){const e=`Service Gateway(${r})`;o.push({id:`service-gateway-${r}`,name:e,types:["error","access"]})}const c=e=>{i(`/logs/${e.target.value}`)},d=s.jsx(f,{sx:{minWidth:240},children:s.jsx(x,{value:a,onChange:c,size:"small",children:o.map(e=>s.jsx(u,{value:e.id,children:e.name},e.id))})}),t=o.find(e=>e.id===a)||o[0];return s.jsx(g,{name:t.name,logId:t.id,types:t.types,prepend:d,postpend:s.jsx(v,{id:n.did,name:"blocklet-server"})},t.id)}export{k as default};
1
+ import{A as l,bg as m,u as p,j as s,U as u}from"./index-Cwi3bFQC.js";import{L as g,D as v}from"./download-cFw_E2Hj.js";import{F as f,S as x}from"./Select-BLXgoX9k.js";import"./ButtonGroup-Dyh7V3R_.js";import"./getValidReactChildren-BAhSJfgG.js";function k(){const i=l(),{name:a="abtnode"}=m(),{info:n}=p(),r=n.routing.provider,o=[{id:"abtnode",name:"Blocklet Server",types:["error","info","access","stdout","stderr","pm2"]},{id:"blocklet-services",name:"Blocklet Services",types:["error","info","access","stdout","stderr"]}];if(r){const e=`Service Gateway(${r})`;o.push({id:`service-gateway-${r}`,name:e,types:["error","access"]})}const c=e=>{i(`/logs/${e.target.value}`)},d=s.jsx(f,{sx:{minWidth:240},children:s.jsx(x,{value:a,onChange:c,size:"small",children:o.map(e=>s.jsx(u,{value:e.id,children:e.name},e.id))})}),t=o.find(e=>e.id===a)||o[0];return s.jsx(g,{name:t.name,logId:t.id,types:t.types,prepend:d,postpend:s.jsx(v,{id:n.did,name:"blocklet-server"})},t.id)}export{k as default};
@@ -1,4 +1,4 @@
1
- import{P as o,s as C,j as n,Q as u,aK as x,aL as g,ai as j,t as T}from"./index-CRLxFVWY.js";function i({icon:e,title:t,description:s,extra:I,...O}){return n.jsxs(w,{...O,children:[e,typeof t=="string"?n.jsx(u,{mt:3,fontSize:22,fontWeight:400,color:"#47494E",textAlign:"center",children:t}):t,typeof s=="string"?n.jsx(u,{mt:1,fontSize:14,color:"#7F828B",textAlign:"center",children:s}):s,n.jsx(u,{mt:3,children:I})]})}i.propTypes={icon:o.element,title:o.oneOfType([o.string,o.element]),description:o.oneOfType([o.string,o.element]),actions:o.any,extra:o.element};i.defaultProps={icon:void 0,title:"",description:"",actions:null,extra:void 0};const w=C("div")`
1
+ import{P as o,s as C,j as n,Q as u,aK as x,aL as g,ai as j,t as T}from"./index-Cwi3bFQC.js";function i({icon:e,title:t,description:s,extra:I,...O}){return n.jsxs(w,{...O,children:[e,typeof t=="string"?n.jsx(u,{mt:3,fontSize:22,fontWeight:400,color:"#47494E",textAlign:"center",children:t}):t,typeof s=="string"?n.jsx(u,{mt:1,fontSize:14,color:"#7F828B",textAlign:"center",children:s}):s,n.jsx(u,{mt:3,children:I})]})}i.propTypes={icon:o.element,title:o.oneOfType([o.string,o.element]),description:o.oneOfType([o.string,o.element]),actions:o.any,extra:o.element};i.defaultProps={icon:void 0,title:"",description:"",actions:null,extra:void 0};const w=C("div")`
2
2
  box-sizing: border-box;
3
3
  display: flex;
4
4
  flex-direction: column;
@@ -1,4 +1,4 @@
1
- import{g as c}from"./index-CRLxFVWY.js";var i={exports:{}};/*!
1
+ import{g as c}from"./index-Cwi3bFQC.js";var i={exports:{}};/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
@@ -1 +1 @@
1
- import{P as s,j as t,B as i,gj as r}from"./index-CRLxFVWY.js";function n({children:e,...o}){return t.jsxs(i,{color:"did",variant:"contained",...o,children:[t.jsx("span",{style:{fontWeight:400},children:e||"Continue With"}),t.jsx(r,{style:{width:"auto",height:"1.2em",margin:"0 4px 0 8px"}})]})}n.propTypes={children:s.any};n.defaultProps={children:""};export{n as C};
1
+ import{P as s,j as t,B as i,gj as r}from"./index-Cwi3bFQC.js";function n({children:e,...o}){return t.jsxs(i,{color:"did",variant:"contained",...o,children:[t.jsx("span",{style:{fontWeight:400},children:e||"Continue With"}),t.jsx(r,{style:{width:"auto",height:"1.2em",margin:"0 4px 0 8px"}})]})}n.propTypes={children:s.any};n.defaultProps={children:""};export{n as C};
@@ -1,4 +1,4 @@
1
- import{j as e,H as r,r as n,f as o,m as i,n as a}from"./index-CRLxFVWY.js";const s=({...t})=>e.jsxs("div",{...t,children:[e.jsx("h3",{children:"End User License Agreement for Blocklet Server"}),e.jsxs("p",{children:["Blocklet Server License Agreement ",r.COPYRIGHT_OWNER," version 2020-08-28"]}),e.jsx("p",{children:"Blocklet Server LICENSE AGREEMENT"}),e.jsxs("p",{children:["PLEASE READ THIS END USER LICENCE AGREEMENT CAREFULLY. This Blocklet Server License Agreement ('Agreement') is a legal agreement between you (the 'End User') and ",r.COPYRIGHT_OWNER," (ARCBLOCK) for the Blocklet Server software (the 'Software') licensed to End User hereunder and supplied to End User. The term Software includes any APIs, software modules, and any associated materials and 'online' or electronic documentation. This Agreement applies to End User's use of the Software but it shall be superseded by any signed agreement between End User and ARCBLOCK concerning the Software."]}),e.jsx("p",{children:"By installing or using the Software, You agree to accept and to be bound by this Agreement at all times. If You do not agree with one of these, please do not install or use the Software."}),e.jsx("h4",{children:"1. Software license"}),e.jsx("p",{children:"Notwithstanding any reference to 'sale' or 'purchase', the Software is licensed, not sold. Subject to the terms and conditions of this Agreement, ARCBLOCK grants End User a non-exclusive, non-transferable right to access and use the Software as part of the services for End User's use ('Authorized Use') in object form in the products, versions, and number of installed instances as purchased from ARCBLOCK."}),e.jsx("h4",{children:"2. Limitations"}),e.jsx("p",{children:"2.1. Restrictions. End User shall not itself, or through any parent, subsidiary, affiliate, agent or other third party: (a) sell, lease, license, distribute, sublicense or otherwise transfer in whole or in part, the Software to a third party; (b) decompile, disassemble, translate, reverse engineer or otherwise attempt to derive source code from the Software except to the limited extent, if any, that applicable law permits such acts notwithstanding any contractual prohibitions, provided, however, before End User exercises any rights that End User believes to be entitled to based on mandatory law, End User shall provide ARCBLOCK with thirty (30) days prior written notice and provide all reasonably requested information to allow ARCBLOCK to assess End User's claim and, at ARCBLOCK sole discretion, to provide alternatives that reduce any adverse impact on ARCBLOCK's intellectual property or other rights; (c) allow access or permit use of the Software by any third party except authorized third party contractors solely to provide services to End User, provided that End User shall be liable for all acts and omissions of such authorized third party contractors; (d) modify or create derivative works based upon the Software; (e) disclose the results of any benchmark test of the Software to any third party; (f) change any proprietary rights notices which appear in the Software; or (g) circumvent the license keys embedded within the Software."}),e.jsx("p",{children:"2.2. Software Transfer. Upon written consent from ARCBLOCK, which will not be unreasonably withheld, End User may permanently transfer all of its rights under this Agreement; provided that the recipient agrees to the terms of this Agreement."}),e.jsx("p",{children:"2.3. High Risk Activities. The Software is not intended for use in hazardous environments requiring fail safe performance (such as, without limitation, the planning, construction, maintenance, control, or direct operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, medical device and life support machines, or weapon systems) in which the failure of the Software could lead to death, personal injury or physical and environmental damage ('High Risk Activities'). Accordingly, this Agreement excludes any High Risk Activities and End User agrees not to use the Software in connection with High Risk Activities."}),e.jsx("h4",{children:"3. Ownership"}),e.jsx("p",{children:"The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. ARCBLOCK owns all rights, title and interest in the copyrights, patents and all other intellectual property rights in and to the Software and any accompanying printed materials, and all derivative works thereof."}),e.jsx("h4",{children:"4. Open source programs"}),e.jsx("p",{children:"The Software may include individual open source software components, each of which has its own copyright and its own applicable license conditions. The open source software components are licensed to End User under the terms of the applicable open source license conditions and/or copyright notices that can be found in the licenses file, the related documentation or other materials accompanying the Software."}),e.jsx("h4",{children:"5. Trademarks"}),e.jsx("p",{children:"The marks 'ARCBLOCK', ‘BLOCKLETS’ and ‘Blocklet Server’ are trademarks of ARCBLOCK. ARCBLOCK's failure to list a trademark in this Section shall not constitute a waiver of any trademark rights. All other trademarks in the Software not owned by ARCBLOCK are the property of their respective owners."}),e.jsx("h4",{children:"6. Disclaimer and Warranty"}),e.jsx("p",{children:"6.1. DISCLAIMER OF WARRANTIES. THE SOFTWARE IS PROVIDED 'AS IS' WITHOUT WARRANTY OF ANY KIND AND ARCBLOCK EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED OR ARISING OUT OF A COURSE OF CONDUCT OR COURSE OF DEALING, INCLUDING ALL WARRANTIES OF TITLE, PERFORMANCE, USE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON INFRINGEMENT AND THE ABSENCE OF LATENT OR OTHER DEFECTS, WHETHER OR NOT DISCOVERABLE. ARCBLOCK MAKES NO WARRANTY REGARDING NON INTERRUPTION OF USE. NO ORAL OR WRITTEN STATEMENT PROVIDED BY ARCBLOCK SHALL CREATE ANY WARRANTY."}),e.jsx("p",{children:"6.2. LIMITATION OF LIABILITY. THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY END USER. ARCBLOCK SHALL NOT HAVE ANY LIABILITY TO END USER OR ANY OTHER PARTY FOR ANY INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER, INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUE, PROFIT OR OPPORTUNITY, LOST OR DAMAGED DATA OR OTHER COMMERCIAL OR ECONOMIC LOSS, EVEN IF ARCBLOCK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR THEY ARE FORESEEABLE. ARCBLOCK'S MAXIMUM AGGREGATE LIABILITY RELATING TO THIS AGREEMENT OR THE SOFTWARE SHALL NOT EXCEED THE AMOUNT PAID BY END USER FOR THE SOFTWARE."}),e.jsx("p",{children:"6.3. ALLOCATION. THE PROVISIONS OF THIS SECTION ALLOCATE RISKS UNDER THIS AGREEMENT BETWEEN ARCBLOCK AND END USER. ARCBLOCK'S LICENSING FEES FOR THE SOFTWARE REFLECT THIS ALLOCATION OF RISKS AND LIMITATION OF LIABILITY. THE FOREGOING LIMITATIONS, EXCLUSIONS AND DISCLAIMERS APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, EVEN IF ANY REMEDY FAILS IN ITS ESSENTIAL PURPOSE."}),e.jsx("p",{children:"6.4. Limitation. Because some jurisdictions do not allow certain disclaimers, exclusions or limitations of warranties, damages or liability, the above disclaimers, exclusions or limitations may not apply to End User and, therefore, shall apply only to the maximum extent allowed under applicable law."}),e.jsx("h4",{children:"7. Term"}),e.jsx("p",{children:"This Agreement is effective until terminated. End Users may terminate the Agreement at any time by returning or destroying all copies of the Software and related documentation. End User's rights under this Agreement will terminate automatically if End User fails to comply with the Agreement."}),e.jsx("h4",{children:"8. Miscellaneous"}),e.jsx("p",{children:"8.1. Governing Law. This Agreement shall be governed by the laws of the State of Washington, without reference to the principles of conflicts of law. The provisions of the Uniform Computerized Information Transaction Act and United Nations Convention on Contracts for the International Sale of Goods shall not apply to this Agreement. Any litigation related to this Agreement shall be brought in the state or federal courts located in Washington, and only in those courts and each party irrevocably waives any objections to such venue. Notwithstanding anything to the contrary herein, ARCBLOCK shall be entitled to seek injunctive or other equitable relief, wherever ARCBLOCK deems appropriate in any jurisdiction, in order to preserve or enforce ARCBLOCK's rights for any breach or threatened breach of this Agreement."}),e.jsx("p",{children:"8.2. Severability. Every term, condition or provision of this Agreement is severable from the others. If a court or an arbitrator of competent jurisdiction holds any term, condition or provision of this Agreement to be invalid, unenforceable or illegal in whole or in part for any reason, the validity and enforceability of the remaining terms, conditions or provisions, or portions of them, will not be affected."}),e.jsx("p",{children:"8.3. Confidentiality. Except as expressly allowed by this Agreement, End User will not use or disclose any Software or related technology, idea, algorithm or information ('Confidential Information') except to the extent End User can document that it is generally available for use and disclosure by the public without charge or license. End User shall hold the Confidential Information in trust and confidence and avoid the disclosure or release thereof to any other person or entity by using the same degree of care as it uses to avoid unauthorized use, disclosure, or dissemination of its own Confidential Information of a similar nature, but not less than reasonable care. End User may disclose Confidential Information as required to comply with binding orders of governmental entities that have jurisdiction over it; provided that End User gives ARCBLOCK reasonable written notice to allow ARCBLOCK to seek a protective order or other appropriate remedy, discloses only such Confidential Information as is required by the governmental entity, and uses commercially reasonable efforts to obtain confidential treatment for any Confidential Information disclosed. End User recognizes and agrees that there is no adequate remedy at law for a breach of this Section, that such a breach would irreparably harm ARCBLOCK and that ARCBLOCK is entitled to equitable relief (without need to post a bond) with respect to any such breach or potential breach in addition to any other remedies."}),e.jsx("p",{children:"8.4. Indemnity. End User shall defend, indemnify and hold harmless ARCBLOCK, and its officers, directors, employees and agents (the ARCBLOCK indemnities’), from and against all suits, claims, demands, losses, liabilities, damages and expenses (including reasonable attorneys' fees and costs) that the ARCBLOCK Indemnities may suffer or incur in connection with: (i) any third party claim arising from End User's breach of this Agreement; and (ii) any infringement by End User of ARCBLOCK's intellectual property rights in the Software."}),e.jsx("p",{children:"8.5. Entire Agreement and Waiver. The Agreement is the sole, final and entire agreement between the parties with respect to the subject matter hereof, may only be amended in writing signed by both ARCBLOCK License parties. A failure or delay in enforcing any provisions, exercising any option or requiring performance, be construed to be a waiver by ARCBLOCK."}),e.jsx("p",{children:"8.6. Marketing. ARCBLOCK may use End User's name and company logo on its customer list and web site, and link to End User's web site."}),e.jsx("p",{children:"8.7. Independent Contractor. The relationship of the parties is that of independent contractors. Neither party will be deemed to be the legal representative of the other nor will it have any right to bind the other party to any contract or commitment. This Agreement does not, and will not, be construed to create an employer employee, agency, joint venture or partnership relationship between the parties. Each party agrees to assume complete responsibility for its own employees regarding federal or state laws, including employers' liability and tax withholding, worker's compensation, social security, unemployment insurance, and OSHA requirements."}),e.jsx("p",{children:"8.8. Notices. All notices must be in writing and will be effective three (3) days after the date sent to each party's corporate headquarters."}),e.jsx("p",{children:"8.9. Audit. During the term of this Agreement and for one (1) year following termination or expiration (but no more than once in a calendar year), ARCBLOCK and its auditors may inspect End User's records relating to its reproduction and use of the Software for the purposes of verifying End User's compliance with this Agreement. End User shall cooperate fully with ARCBLOCK and its auditors in conducting audits and provide reasonable assistance. If an underpayment is discovered, End User shall promptly pay such amount and End User shall reimburse ARCBLOCK for the cost of the audit."}),e.jsx("p",{children:`8.10. Government Regulation. End User acknowledges that the Software is subject to export restrictions by the U.S. government and import restrictions by certain foreign governments. End User may not export or re-export the Software except in compliance with the U.S. Export Administration Act and the related rules and regulations and similar non-U.S. government restrictions, if applicable. End User shall not and shall not allow any third party to remove or export from the United States or allow the export or re export of any part of the Software or any direct product thereof: (i) into (or to a national or resident of) any embargoed or terrorist supporting country; (ii) to anyone on the U.S. Commerce Department's Table of Denial Orders or U.S. Treasury Department's list of Specially Designated Nationals; (iii) to any country to which such export or re export is restricted or prohibited, or as to which the U.S. government or any agency thereof requires an export license or other governmental approval at the time of export or re export without first obtaining such license or approval; or (iv) otherwise in violation of any export or import restrictions, laws or regulations of any United States or foreign agency or authority. End User agrees to the foregoing and warrants that it is not located in, under the control of, or a national or resident of any such prohibited country or on any such prohibited party list. The Software is further restricted from being used for terrorist activity, or for the design or development of nuclear, chemical, or biological weapons or missile technology without the prior permission of the U.S. government. The Software and accompanying documentation are deemed to be "commercial computer software" and "commercial computer software documentation", respectively, pursuant to DFAR Section 227.7202 and FAR Section 12.212(b), as applicable. Any use, modification, reproduction, release, performing, displaying or disclosing of the Software and related documentation by the U.S. Government shall be governed solely by the terms of this Agreement.`})]});function h(){const{t}=n.useContext(o);return e.jsxs(l,{children:[e.jsx(i,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:t("setup.steps.eula")}),e.jsx(s,{})]})}const l=a.main`
1
+ import{j as e,H as r,r as n,f as o,m as i,n as a}from"./index-Cwi3bFQC.js";const s=({...t})=>e.jsxs("div",{...t,children:[e.jsx("h3",{children:"End User License Agreement for Blocklet Server"}),e.jsxs("p",{children:["Blocklet Server License Agreement ",r.COPYRIGHT_OWNER," version 2020-08-28"]}),e.jsx("p",{children:"Blocklet Server LICENSE AGREEMENT"}),e.jsxs("p",{children:["PLEASE READ THIS END USER LICENCE AGREEMENT CAREFULLY. This Blocklet Server License Agreement ('Agreement') is a legal agreement between you (the 'End User') and ",r.COPYRIGHT_OWNER," (ARCBLOCK) for the Blocklet Server software (the 'Software') licensed to End User hereunder and supplied to End User. The term Software includes any APIs, software modules, and any associated materials and 'online' or electronic documentation. This Agreement applies to End User's use of the Software but it shall be superseded by any signed agreement between End User and ARCBLOCK concerning the Software."]}),e.jsx("p",{children:"By installing or using the Software, You agree to accept and to be bound by this Agreement at all times. If You do not agree with one of these, please do not install or use the Software."}),e.jsx("h4",{children:"1. Software license"}),e.jsx("p",{children:"Notwithstanding any reference to 'sale' or 'purchase', the Software is licensed, not sold. Subject to the terms and conditions of this Agreement, ARCBLOCK grants End User a non-exclusive, non-transferable right to access and use the Software as part of the services for End User's use ('Authorized Use') in object form in the products, versions, and number of installed instances as purchased from ARCBLOCK."}),e.jsx("h4",{children:"2. Limitations"}),e.jsx("p",{children:"2.1. Restrictions. End User shall not itself, or through any parent, subsidiary, affiliate, agent or other third party: (a) sell, lease, license, distribute, sublicense or otherwise transfer in whole or in part, the Software to a third party; (b) decompile, disassemble, translate, reverse engineer or otherwise attempt to derive source code from the Software except to the limited extent, if any, that applicable law permits such acts notwithstanding any contractual prohibitions, provided, however, before End User exercises any rights that End User believes to be entitled to based on mandatory law, End User shall provide ARCBLOCK with thirty (30) days prior written notice and provide all reasonably requested information to allow ARCBLOCK to assess End User's claim and, at ARCBLOCK sole discretion, to provide alternatives that reduce any adverse impact on ARCBLOCK's intellectual property or other rights; (c) allow access or permit use of the Software by any third party except authorized third party contractors solely to provide services to End User, provided that End User shall be liable for all acts and omissions of such authorized third party contractors; (d) modify or create derivative works based upon the Software; (e) disclose the results of any benchmark test of the Software to any third party; (f) change any proprietary rights notices which appear in the Software; or (g) circumvent the license keys embedded within the Software."}),e.jsx("p",{children:"2.2. Software Transfer. Upon written consent from ARCBLOCK, which will not be unreasonably withheld, End User may permanently transfer all of its rights under this Agreement; provided that the recipient agrees to the terms of this Agreement."}),e.jsx("p",{children:"2.3. High Risk Activities. The Software is not intended for use in hazardous environments requiring fail safe performance (such as, without limitation, the planning, construction, maintenance, control, or direct operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, medical device and life support machines, or weapon systems) in which the failure of the Software could lead to death, personal injury or physical and environmental damage ('High Risk Activities'). Accordingly, this Agreement excludes any High Risk Activities and End User agrees not to use the Software in connection with High Risk Activities."}),e.jsx("h4",{children:"3. Ownership"}),e.jsx("p",{children:"The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. ARCBLOCK owns all rights, title and interest in the copyrights, patents and all other intellectual property rights in and to the Software and any accompanying printed materials, and all derivative works thereof."}),e.jsx("h4",{children:"4. Open source programs"}),e.jsx("p",{children:"The Software may include individual open source software components, each of which has its own copyright and its own applicable license conditions. The open source software components are licensed to End User under the terms of the applicable open source license conditions and/or copyright notices that can be found in the licenses file, the related documentation or other materials accompanying the Software."}),e.jsx("h4",{children:"5. Trademarks"}),e.jsx("p",{children:"The marks 'ARCBLOCK', ‘BLOCKLETS’ and ‘Blocklet Server’ are trademarks of ARCBLOCK. ARCBLOCK's failure to list a trademark in this Section shall not constitute a waiver of any trademark rights. All other trademarks in the Software not owned by ARCBLOCK are the property of their respective owners."}),e.jsx("h4",{children:"6. Disclaimer and Warranty"}),e.jsx("p",{children:"6.1. DISCLAIMER OF WARRANTIES. THE SOFTWARE IS PROVIDED 'AS IS' WITHOUT WARRANTY OF ANY KIND AND ARCBLOCK EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED OR ARISING OUT OF A COURSE OF CONDUCT OR COURSE OF DEALING, INCLUDING ALL WARRANTIES OF TITLE, PERFORMANCE, USE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON INFRINGEMENT AND THE ABSENCE OF LATENT OR OTHER DEFECTS, WHETHER OR NOT DISCOVERABLE. ARCBLOCK MAKES NO WARRANTY REGARDING NON INTERRUPTION OF USE. NO ORAL OR WRITTEN STATEMENT PROVIDED BY ARCBLOCK SHALL CREATE ANY WARRANTY."}),e.jsx("p",{children:"6.2. LIMITATION OF LIABILITY. THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY END USER. ARCBLOCK SHALL NOT HAVE ANY LIABILITY TO END USER OR ANY OTHER PARTY FOR ANY INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER, INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUE, PROFIT OR OPPORTUNITY, LOST OR DAMAGED DATA OR OTHER COMMERCIAL OR ECONOMIC LOSS, EVEN IF ARCBLOCK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR THEY ARE FORESEEABLE. ARCBLOCK'S MAXIMUM AGGREGATE LIABILITY RELATING TO THIS AGREEMENT OR THE SOFTWARE SHALL NOT EXCEED THE AMOUNT PAID BY END USER FOR THE SOFTWARE."}),e.jsx("p",{children:"6.3. ALLOCATION. THE PROVISIONS OF THIS SECTION ALLOCATE RISKS UNDER THIS AGREEMENT BETWEEN ARCBLOCK AND END USER. ARCBLOCK'S LICENSING FEES FOR THE SOFTWARE REFLECT THIS ALLOCATION OF RISKS AND LIMITATION OF LIABILITY. THE FOREGOING LIMITATIONS, EXCLUSIONS AND DISCLAIMERS APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, EVEN IF ANY REMEDY FAILS IN ITS ESSENTIAL PURPOSE."}),e.jsx("p",{children:"6.4. Limitation. Because some jurisdictions do not allow certain disclaimers, exclusions or limitations of warranties, damages or liability, the above disclaimers, exclusions or limitations may not apply to End User and, therefore, shall apply only to the maximum extent allowed under applicable law."}),e.jsx("h4",{children:"7. Term"}),e.jsx("p",{children:"This Agreement is effective until terminated. End Users may terminate the Agreement at any time by returning or destroying all copies of the Software and related documentation. End User's rights under this Agreement will terminate automatically if End User fails to comply with the Agreement."}),e.jsx("h4",{children:"8. Miscellaneous"}),e.jsx("p",{children:"8.1. Governing Law. This Agreement shall be governed by the laws of the State of Washington, without reference to the principles of conflicts of law. The provisions of the Uniform Computerized Information Transaction Act and United Nations Convention on Contracts for the International Sale of Goods shall not apply to this Agreement. Any litigation related to this Agreement shall be brought in the state or federal courts located in Washington, and only in those courts and each party irrevocably waives any objections to such venue. Notwithstanding anything to the contrary herein, ARCBLOCK shall be entitled to seek injunctive or other equitable relief, wherever ARCBLOCK deems appropriate in any jurisdiction, in order to preserve or enforce ARCBLOCK's rights for any breach or threatened breach of this Agreement."}),e.jsx("p",{children:"8.2. Severability. Every term, condition or provision of this Agreement is severable from the others. If a court or an arbitrator of competent jurisdiction holds any term, condition or provision of this Agreement to be invalid, unenforceable or illegal in whole or in part for any reason, the validity and enforceability of the remaining terms, conditions or provisions, or portions of them, will not be affected."}),e.jsx("p",{children:"8.3. Confidentiality. Except as expressly allowed by this Agreement, End User will not use or disclose any Software or related technology, idea, algorithm or information ('Confidential Information') except to the extent End User can document that it is generally available for use and disclosure by the public without charge or license. End User shall hold the Confidential Information in trust and confidence and avoid the disclosure or release thereof to any other person or entity by using the same degree of care as it uses to avoid unauthorized use, disclosure, or dissemination of its own Confidential Information of a similar nature, but not less than reasonable care. End User may disclose Confidential Information as required to comply with binding orders of governmental entities that have jurisdiction over it; provided that End User gives ARCBLOCK reasonable written notice to allow ARCBLOCK to seek a protective order or other appropriate remedy, discloses only such Confidential Information as is required by the governmental entity, and uses commercially reasonable efforts to obtain confidential treatment for any Confidential Information disclosed. End User recognizes and agrees that there is no adequate remedy at law for a breach of this Section, that such a breach would irreparably harm ARCBLOCK and that ARCBLOCK is entitled to equitable relief (without need to post a bond) with respect to any such breach or potential breach in addition to any other remedies."}),e.jsx("p",{children:"8.4. Indemnity. End User shall defend, indemnify and hold harmless ARCBLOCK, and its officers, directors, employees and agents (the ARCBLOCK indemnities’), from and against all suits, claims, demands, losses, liabilities, damages and expenses (including reasonable attorneys' fees and costs) that the ARCBLOCK Indemnities may suffer or incur in connection with: (i) any third party claim arising from End User's breach of this Agreement; and (ii) any infringement by End User of ARCBLOCK's intellectual property rights in the Software."}),e.jsx("p",{children:"8.5. Entire Agreement and Waiver. The Agreement is the sole, final and entire agreement between the parties with respect to the subject matter hereof, may only be amended in writing signed by both ARCBLOCK License parties. A failure or delay in enforcing any provisions, exercising any option or requiring performance, be construed to be a waiver by ARCBLOCK."}),e.jsx("p",{children:"8.6. Marketing. ARCBLOCK may use End User's name and company logo on its customer list and web site, and link to End User's web site."}),e.jsx("p",{children:"8.7. Independent Contractor. The relationship of the parties is that of independent contractors. Neither party will be deemed to be the legal representative of the other nor will it have any right to bind the other party to any contract or commitment. This Agreement does not, and will not, be construed to create an employer employee, agency, joint venture or partnership relationship between the parties. Each party agrees to assume complete responsibility for its own employees regarding federal or state laws, including employers' liability and tax withholding, worker's compensation, social security, unemployment insurance, and OSHA requirements."}),e.jsx("p",{children:"8.8. Notices. All notices must be in writing and will be effective three (3) days after the date sent to each party's corporate headquarters."}),e.jsx("p",{children:"8.9. Audit. During the term of this Agreement and for one (1) year following termination or expiration (but no more than once in a calendar year), ARCBLOCK and its auditors may inspect End User's records relating to its reproduction and use of the Software for the purposes of verifying End User's compliance with this Agreement. End User shall cooperate fully with ARCBLOCK and its auditors in conducting audits and provide reasonable assistance. If an underpayment is discovered, End User shall promptly pay such amount and End User shall reimburse ARCBLOCK for the cost of the audit."}),e.jsx("p",{children:`8.10. Government Regulation. End User acknowledges that the Software is subject to export restrictions by the U.S. government and import restrictions by certain foreign governments. End User may not export or re-export the Software except in compliance with the U.S. Export Administration Act and the related rules and regulations and similar non-U.S. government restrictions, if applicable. End User shall not and shall not allow any third party to remove or export from the United States or allow the export or re export of any part of the Software or any direct product thereof: (i) into (or to a national or resident of) any embargoed or terrorist supporting country; (ii) to anyone on the U.S. Commerce Department's Table of Denial Orders or U.S. Treasury Department's list of Specially Designated Nationals; (iii) to any country to which such export or re export is restricted or prohibited, or as to which the U.S. government or any agency thereof requires an export license or other governmental approval at the time of export or re export without first obtaining such license or approval; or (iv) otherwise in violation of any export or import restrictions, laws or regulations of any United States or foreign agency or authority. End User agrees to the foregoing and warrants that it is not located in, under the control of, or a national or resident of any such prohibited country or on any such prohibited party list. The Software is further restricted from being used for terrorist activity, or for the design or development of nuclear, chemical, or biological weapons or missile technology without the prior permission of the U.S. government. The Software and accompanying documentation are deemed to be "commercial computer software" and "commercial computer software documentation", respectively, pursuant to DFAR Section 227.7202 and FAR Section 12.212(b), as applicable. Any use, modification, reproduction, release, performing, displaying or disclosing of the Software and related documentation by the U.S. Government shall be governed solely by the terms of this Agreement.`})]});function h(){const{t}=n.useContext(o);return e.jsxs(l,{children:[e.jsx(i,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:t("setup.steps.eula")}),e.jsx(s,{})]})}const l=a.main`
2
2
  .page-header {
3
3
  display: flex;
4
4
  justify-content: space-between;