@abtnode/webapp 1.16.47-beta-20250730-070104-87a128a5 → 1.16.47-beta-20250731-014139-e860268f
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.
- package/blocklet.js +1 -1
- package/blocklet.yml +1 -1
- package/dist/assets/{AdapterDayjs-BtMrgFCS.js → AdapterDayjs-BiAcanOe.js} +5 -5
- package/dist/assets/{Add-D_yVrBZ2.js → Add-CMaOaJcy.js} +1 -1
- package/dist/assets/ArrowDropDown-BidZ6YZa.js +1 -0
- package/dist/assets/{Autocomplete-DFB-zfAj.js → Autocomplete-Jvr3OBqO.js} +1 -1
- package/dist/assets/{Breadcrumbs-Bn8z2ZUX.js → Breadcrumbs-CWrPLIEE.js} +1 -1
- package/dist/assets/{ButtonGroup-DEvYFpA9.js → ButtonGroup-BHDJ_xHw.js} +1 -1
- package/dist/assets/{CSSTransition-sQz5ESLI.js → CSSTransition-BKoPfTin.js} +1 -1
- package/dist/assets/{CallMerge-nqJcCofk.js → CallMerge-B_44wajA.js} +1 -1
- package/dist/assets/{CardContent-DBRqZcUi.js → CardContent-C9FF8zmo.js} +1 -1
- package/dist/assets/{ChevronLeft-4c5hb-O9.js → ChevronLeft-C_5SFpZ3.js} +1 -1
- package/dist/assets/{ChevronRight-gJV_CVk6.js → ChevronRight-D5Dv2KwC.js} +1 -1
- package/dist/assets/{Clear-CseZqtJJ.js → Clear-DUjqNsqY.js} +1 -1
- package/dist/assets/{DeleteOutline-Ce83cykk.js → DeleteOutline-BJkxA9W_.js} +1 -1
- package/dist/assets/{Done-TWYMo-78.js → Done-1e3LsE76.js} +1 -1
- package/dist/assets/{Edit-SaGMHxTB.js → Edit-Brfok_V9.js} +1 -1
- package/dist/assets/{ErrorOutline-Cpk6THeg.js → ErrorOutline-DU8Lm-me.js} +1 -1
- package/dist/assets/{FilterList-BAa4N29F.js → FilterList-DdUKcAm_.js} +1 -1
- package/dist/assets/{Google-oyxfoTny.js → Google-MHF3yZux.js} +1 -1
- package/dist/assets/{HelpOutline-CwK6RnYZ.js → HelpOutline-r64pe9r_.js} +1 -1
- package/dist/assets/{Launch-BGA2e5Nh.js → Launch-BSO75Y-o.js} +1 -1
- package/dist/assets/{Link-BuDft3kj.js → Link-DxZkbVyA.js} +1 -1
- package/dist/assets/{ListItemButton-Bc8Ct64X.js → ListItemButton-CWYI6B1i.js} +1 -1
- package/dist/assets/{ListSubheader-Dx1TAi_z.js → ListSubheader-B5z3JXVs.js} +1 -1
- package/dist/assets/{LoadingButton-_O3gAanO.js → LoadingButton-BvBtyajW.js} +1 -1
- package/dist/assets/{MoreVert-CPqEfvtL.js → MoreVert-B3-V93zF.js} +1 -1
- package/dist/assets/{OpenInNew-B8F3vFrA.js → OpenInNew-2p7Osi_B.js} +1 -1
- package/dist/assets/{Refresh-BGBC8bFM.js → Refresh-BwUIw44i.js} +1 -1
- package/dist/assets/{Search-B-mOt1mV.js → Search-CVsnDnpP.js} +1 -1
- package/dist/assets/{Slider-DtMbThDZ.js → Slider-BUlXyua5.js} +1 -1
- package/dist/assets/{Stepper-D3IZ8VnG.js → Stepper-Yd1ce1vv.js} +1 -1
- package/dist/assets/{Switch-BXS-cMbK.js → Switch-C1fxxz5n.js} +1 -1
- package/dist/assets/{TableSearch-Ba0268Ym.js → TableSearch-CKX4rVuU.js} +2 -2
- package/dist/assets/{ToggleButtonGroup-wz_HOnUh.js → ToggleButtonGroup-DrT1SlJe.js} +1 -1
- package/dist/assets/{Verified-BZYKWFMj.js → Verified-DYk2lw3M.js} +1 -1
- package/dist/assets/{VerifiedUser-C7uawhTO.js → VerifiedUser-NPP4tmwS.js} +1 -1
- package/dist/assets/{ViewList-Dnwh79y2.js → ViewList-Dxw4_fs_.js} +1 -1
- package/dist/assets/{_createAggregator-C-igeddN.js → _createAggregator-BgffVIEW.js} +1 -1
- package/dist/assets/{actions-BasLLFLB.js → actions-BWsi7i72.js} +2 -2
- package/dist/assets/{actions-DCyuilI2.js → actions-G3fsUkti.js} +1 -1
- package/dist/assets/{agreement-DZDzRKHa.js → agreement-DQuDFy25.js} +1 -1
- package/dist/assets/api-BJGpnzKK.js +1 -0
- package/dist/assets/{appearance-B9fu42ad.js → appearance-Se_lMnLq.js} +1 -1
- package/dist/assets/{ar-7eC8LKj2.js → ar-DKohTs5n.js} +1 -1
- package/dist/assets/{audit-logs-D8ZHDIr5.js → audit-logs-CqQ2o-hd.js} +2 -2
- package/dist/assets/{base-chart-CZ5IfPx1.js → base-chart-_QOGjOWD.js} +1 -1
- package/dist/assets/{blocklet-DTKRGXY2.js → blocklet-BWShyefZ.js} +1 -1
- package/dist/assets/{chain-D_LNFrKA.js → chain-4QRvY1Fq.js} +2 -2
- package/dist/assets/click-to-copy-BgnS-qFa.js +1 -0
- package/dist/assets/client-a5hg5ILL.js +1 -0
- package/dist/assets/cloneDeep-DUxbCdHx.js +1 -0
- package/dist/assets/{collapse-D8BjMRV-.js → collapse-DhWx6Fiz.js} +1 -1
- package/dist/assets/{config-navigation-HsCZP_KM.js → config-navigation-CsJNd9mk.js} +3 -3
- package/dist/assets/{connect-to-B93KdpBp.js → connect-to-BJU3I-tO.js} +1 -1
- package/dist/assets/{cssMode-BLx8QOT-.js → cssMode-BfuAy7Af.js} +1 -1
- package/dist/assets/{de-DgwOa_mf.js → de-CYm7FmiN.js} +1 -1
- package/dist/assets/{delete-confirm-DOAuBeZW.js → delete-confirm-DRlMHX1Z.js} +1 -1
- package/dist/assets/{depsEqual-KodVUXvV.js → depsEqual-D0AotRxG.js} +1 -1
- package/dist/assets/detail-D5mwafWs.js +58 -0
- package/dist/assets/{domains-Ba91DmOX.js → domains-Uw1IUOhz.js} +2 -2
- package/dist/assets/{download-BADzbUsd.js → download-BITZfYyH.js} +1 -1
- package/dist/assets/emotion-cache.browser.esm-BDnrC0c-.js +1 -0
- package/dist/assets/engine-3IdUdjkH.js +1 -0
- package/dist/assets/{es-B_gBSKp3.js → es-5zob_8Of.js} +1 -1
- package/dist/assets/{fr-Bm0AhLrO.js → fr-GNzEzJIo.js} +1 -1
- package/dist/assets/{freemarker2-BTTF114U.js → freemarker2-RPBEtbdT.js} +1 -1
- package/dist/assets/{get-safe-url-Ye2EWwkH.js → get-safe-url-Dqogbkdq.js} +1 -1
- package/dist/assets/getValidReactChildren-SkwQHrW1.js +1 -0
- package/dist/assets/{graphqlMode-CLyuuGgs.js → graphqlMode-CaadduEK.js} +2 -2
- package/dist/assets/{handlebars-D1wnOJww.js → handlebars-D8A3QMQA.js} +1 -1
- package/dist/assets/{hi-DO31L4at.js → hi-BMaS53lF.js} +1 -1
- package/dist/assets/{html-CAWHXH95.js → html-mPnmQbuN.js} +1 -1
- package/dist/assets/html-title-CacFoTyg.js +1 -0
- package/dist/assets/{htmlMode-BHaJrt3h.js → htmlMode-DI5mRJJV.js} +1 -1
- package/dist/assets/{id-BYCjnoK8.js → id-CbyxMpli.js} +1 -1
- package/dist/assets/{iframe-CUpb7ICB.js → iframe-Czk-UT3-.js} +1 -1
- package/dist/assets/{index-a7RH9Stt.js → index-9W_t0LqL.js} +1 -1
- package/dist/assets/{index-DmpIRzjQ.js → index-B-8U8lYj.js} +1 -1
- package/dist/assets/{index-Cft3_tM7.js → index-B1iMTf-1.js} +1 -1
- package/dist/assets/{index-Bmy8KBkN.js → index-B9eEN6Ex.js} +1 -1
- package/dist/assets/{index-Dvrc3qEy.js → index-BCt6EuqV.js} +1 -1
- package/dist/assets/{index-Dm9SjbUQ.js → index-BOGGfGZP.js} +1 -1
- package/dist/assets/{index-CkvSX6B-.js → index-BbLteX_9.js} +19 -19
- package/dist/assets/index-BeXjeW_D.js +79 -0
- package/dist/assets/{index-CU1U0Fbj.js → index-BiSZbdUR.js} +1 -1
- package/dist/assets/{index-CgI1wgSP.js → index-Bk2swyn_.js} +23 -23
- package/dist/assets/{index-DiZ8ImCf.js → index-BwAWqOYq.js} +1 -1
- package/dist/assets/index-C0IoSN2J.js +45 -0
- package/dist/assets/{index-CkqfZU31.js → index-C2SQKbgp.js} +1 -1
- package/dist/assets/index-C7H9Stfd.js +316 -0
- package/dist/assets/{index-BAmzwezR.js → index-C7J9Tf7N.js} +1 -1
- package/dist/assets/{index-jJRuEvFt.js → index-CC-3XMOt.js} +1 -1
- package/dist/assets/{index-BdnfHuZv.js → index-CGfr_Xf0.js} +1 -1
- package/dist/assets/{index-DMhD7EeU.js → index-CLTTHohk.js} +1 -1
- package/dist/assets/{index-BRb176tk.js → index-COsQ2pDX.js} +1 -1
- package/dist/assets/{index-BPfwFPum.js → index-CSsjxwWr.js} +1 -1
- package/dist/assets/{index-Dz2nYC7g.js → index-CWfqG7JG.js} +3 -3
- package/dist/assets/{index-BXRotQM-.js → index-CZj-IeN0.js} +1 -1
- package/dist/assets/{index-CFpyMQ_d.js → index-CagsSpuh.js} +9 -9
- package/dist/assets/{index-CX6gDshF.js → index-CjzEBnHB.js} +8 -8
- package/dist/assets/index-CmGv3elb.js +120 -0
- package/dist/assets/{index-BApymdtV.js → index-CmwksVS0.js} +1 -1
- package/dist/assets/{index-Nhy6IaeB.js → index-CqSRbifn.js} +1 -1
- package/dist/assets/{index-NS5A6eLA.js → index-CsVDrMMd.js} +2 -2
- package/dist/assets/{index-CUwyrdOY.js → index-CwxkXQDN.js} +1 -1
- package/dist/assets/{index-ijZD2Gee.js → index-Cyh9wrDu.js} +10 -10
- package/dist/assets/{index-zs5l3prb.js → index-Cz0waa_4.js} +1 -1
- package/dist/assets/{index-BqithI6e.js → index-D-Icpyc2.js} +1 -1
- package/dist/assets/{index-Dv62Si5m.js → index-D4Q12FU6.js} +1 -1
- package/dist/assets/{index-YPVihXU7.js → index-DFaykc-l.js} +1 -1
- package/dist/assets/{index-BfXbyXkW.js → index-DGqI12Zh.js} +1 -1
- package/dist/assets/{index-BLpgHHR-.js → index-DSZpPG9s.js} +3 -3
- package/dist/assets/{index-BUVEfL-H.js → index-D_ZRDcUb.js} +1 -1
- package/dist/assets/index-DcxGCVz2.js +1 -0
- package/dist/assets/{index-DNy1-otX.js → index-Df8aFWjk.js} +9 -9
- package/dist/assets/{index-Bo_5PZBY.js → index-DuWuA4Qr.js} +2 -2
- package/dist/assets/{index-vaPTgN2r.js → index-Pb0zzrzv.js} +20 -20
- package/dist/assets/index-WWc-YnJr.js +113 -0
- package/dist/assets/{index-D18Kk1fT.js → index-dQzdi1Hq.js} +1 -1
- package/dist/assets/{index-Bn2tsvZc.js → index-jUWkwezj.js} +4 -4
- package/dist/assets/{index-Dl_Ia9GM.js → index-n35bDjPH.js} +1 -1
- package/dist/assets/{index-CJc0rh4y.js → index-sraicR1d.js} +1 -1
- package/dist/assets/{index.esm-CSlUhA6z.js → index.esm-CXCRSK_f.js} +1 -1
- package/dist/assets/{install-from-url-DZxo6ZYF.js → install-from-url-Bpa-muAm.js} +1 -1
- package/dist/assets/{invitation-DuMro-DT.js → invitation-hZO0WzEZ.js} +1 -1
- package/dist/assets/{is-path-prefix-equal-BbciGE2u.js → is-path-prefix-equal-CpCr5Pp2.js} +1 -1
- package/dist/assets/{item-Bh3b7oE0.js → item-Ds6r8B85.js} +6 -6
- package/dist/assets/{ja-Ck2EVKeO.js → ja-BPCCKkW4.js} +1 -1
- package/dist/assets/{javascript-Bfi1s6Y8.js → javascript-CGPbA1CY.js} +1 -1
- package/dist/assets/{jsonMode-lekI5_I4.js → jsonMode-Dlg8sdnH.js} +1 -1
- package/dist/assets/{ko-Nk_6p6Jl.js → ko-Wbe93sio.js} +1 -1
- package/dist/assets/{liquid-DZv4bT5H.js → liquid-D13SNYj1.js} +1 -1
- package/dist/assets/{list-header-B5ciTDV9.js → list-header-DZTbN58s.js} +1 -1
- package/dist/assets/{log-H6ZEmpY1.js → log-C--AbUmH.js} +1 -1
- package/dist/assets/{lottie-react.esm-TmjsMLZQ.js → lottie-react.esm-bHdqVYkV.js} +1 -1
- package/dist/assets/{mdx-D7KGnBOI.js → mdx-geJ5pn3l.js} +1 -1
- package/dist/assets/{memory-BJvUF24N.js → memory-DLJFi013.js} +1 -1
- package/dist/assets/{metric-DqHLPUdD.js → metric-nF2Xx_cP.js} +1 -1
- package/dist/assets/omit-CMtjAJiD.js +1 -0
- package/dist/assets/{overview-N_ciTHKs.js → overview-DbcbGc2C.js} +1 -1
- package/dist/assets/{permission-xI7TPD_-.js → permission-DG9uH24n.js} +1 -1
- package/dist/assets/{preference-COzP_QI_.js → preference-DQfFXuWW.js} +3 -3
- package/dist/assets/{pt-C-JzkWqR.js → pt-C1fHGXQk.js} +1 -1
- package/dist/assets/{python-CJm_dsIE.js → python-Cdls_5iy.js} +1 -1
- package/dist/assets/{raf-schd.esm-s2KsxjyR.js → raf-schd.esm-BfNfEe8D.js} +1 -1
- package/dist/assets/{razor-BWHFGLFh.js → razor-DxOaQqxx.js} +1 -1
- package/dist/assets/{rotate-session-key-CowHvrJJ.js → rotate-session-key-BXcd-5Zn.js} +1 -1
- package/dist/assets/{ru-DR6is0tr.js → ru-DJ3aNml8.js} +1 -1
- package/dist/assets/{runtime-DgZNKPs1.js → runtime-CzuKUbuj.js} +1 -1
- package/dist/assets/schema-CgZR3vFp.js +1 -0
- package/dist/assets/sdk-CJb0Z10-.js +1 -0
- package/dist/assets/service-zTgtva4o.js +1 -0
- package/dist/assets/{shorten-label-NmOkB2cg.js → shorten-label-BCEJK9kd.js} +1 -1
- package/dist/assets/{simple-select-DVpAUW9K.js → simple-select-DGcxx-W-.js} +1 -1
- package/dist/assets/{spaces-CZFNtfbq.js → spaces-CUI-UEB-.js} +1 -1
- package/dist/assets/{status-CFt9_6p0.js → status-Bi_Pou8g.js} +1 -1
- package/dist/assets/{status-B-Brq_RM.js → status-mS0PFNHr.js} +1 -1
- package/dist/assets/{switch-control-B8ORvjoD.js → switch-control-BBKsCU2Y.js} +1 -1
- package/dist/assets/{table-icons-BKf29GdU.js → table-icons-hZGjJ2eg.js} +52 -68
- package/dist/assets/{team-Dk-2oEpZ.js → team-1bg7ZL8j.js} +1 -1
- package/dist/assets/{th-Cn3755Vi.js → th-C22KCFdo.js} +1 -1
- package/dist/assets/{toLower-CD8Z1e9D.js → toLower-p7cMPP8n.js} +1 -1
- package/dist/assets/toUpper-g96Av6xB.js +1 -0
- package/dist/assets/{traffic-DR9L6nFW.js → traffic-B8RUG_pS.js} +1 -1
- package/dist/assets/{tsMode-OD8H16VT.js → tsMode-B0Ss7AK7.js} +1 -1
- package/dist/assets/{typescript-CPkFJ71d.js → typescript-Cq9RZqPR.js} +1 -1
- package/dist/assets/{url-evaluation-c4Fe77Jg.js → url-evaluation-BMLhywvu.js} +1 -1
- package/dist/assets/{url-join-DA4AkRL3.js → url-join-CBh7FZtG.js} +1 -1
- package/dist/assets/{use-mobile-MMitRVbD.js → use-mobile-BHeriyen.js} +1 -1
- package/dist/assets/{use-mobile-s6Z2HXGw.js → use-mobile-Dn3IunVN.js} +1 -1
- package/dist/assets/{useAsync-BLbCNK6N.js → useAsync-ByzD9-iZ.js} +1 -1
- package/dist/assets/{useAsyncRetry-DruySzFm.js → useAsyncRetry-CrZGrFzH.js} +1 -1
- package/dist/assets/{useLocalStorage-DBFHYH4w.js → useLocalStorage-BHL7RS8q.js} +1 -1
- package/dist/assets/{useThemeProps-CHzERYQJ.js → useThemeProps-DooTQWd6.js} +1 -1
- package/dist/assets/{util-DcV9UPg-.js → util-BErsOHdh.js} +1 -1
- package/dist/assets/{vi-7MIaoDt9.js → vi-D_AWh4Q3.js} +1 -1
- package/dist/assets/{wait-container-C3t0_9pD.js → wait-container-DfL-msy6.js} +1 -1
- package/dist/assets/{without-wallet-C-NBCmOm.js → without-wallet-BwvrV6Xc.js} +1 -1
- package/dist/assets/wrap-locale-DdILYRop.js +1 -0
- package/dist/assets/{xml-ZnZT4dmm.js → xml-Cr_Y_Yft.js} +1 -1
- package/dist/assets/{yaml-COdysg5-.js → yaml-RBxoeLGe.js} +1 -1
- package/dist/assets/{zh-DswrR4Lx.js → zh-ZjW3xV_P.js} +1 -1
- package/dist/assets/{zh-tw-De_IfliP.js → zh-tw-BuqwZI-0.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/package.json +1 -1
- package/dist/assets/ArrowDropDown-xY2s7Ihq.js +0 -1
- package/dist/assets/api-Clj72YcZ.js +0 -1
- package/dist/assets/click-to-copy-B9VHrkLa.js +0 -1
- package/dist/assets/client-CKiDm4Sh.js +0 -1
- package/dist/assets/cloneDeep-ChKH-mUk.js +0 -1
- package/dist/assets/detail-DNxn6vzE.js +0 -58
- package/dist/assets/emotion-cache.browser.esm-LZWLgccN.js +0 -1
- package/dist/assets/engine-CnD_uEkh.js +0 -1
- package/dist/assets/getValidReactChildren-CcAo1bEa.js +0 -1
- package/dist/assets/index-BJi0KLKD.js +0 -113
- package/dist/assets/index-CUJnu-Cz.js +0 -316
- package/dist/assets/index-Ch95NoWO.js +0 -45
- package/dist/assets/index-D8Whs-QW.js +0 -120
- package/dist/assets/index-DtIGnfqA.js +0 -80
- package/dist/assets/index-SNFmscVU.js +0 -1
- package/dist/assets/index-rqx96NXG.js +0 -1
- package/dist/assets/omit-A7YJlIhK.js +0 -1
- package/dist/assets/schema-BCRuQHJw.js +0 -1
- package/dist/assets/sdk-Bv8uTx0n.js +0 -1
- package/dist/assets/service-C3ESAoY1.js +0 -1
- package/dist/assets/toUpper-B-KX3CuD.js +0 -1
- package/dist/assets/wrap-locale-DH63zt6h.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-C7J9Tf7N.js","./index-BojVbZw0.js","./index-B-8U8lYj.js","./metric-nF2Xx_cP.js","./click-to-copy-BgnS-qFa.js","./index-BeXjeW_D.js","./useLocalStorage-BHL7RS8q.js","./index-CLTTHohk.js","./FilterList-DdUKcAm_.js","./CSSTransition-BKoPfTin.js","./emotion-cache.browser.esm-BDnrC0c-.js","./index-CqSRbifn.js","./redux-DfszZyTl.js","./typeof-QjJsDpFa.js","./depsEqual-D0AotRxG.js","./index-dQzdi1Hq.js","./TableSearch-CKX4rVuU.js","./Search-CVsnDnpP.js","./Clear-DUjqNsqY.js","./MoreVert-B3-V93zF.js","./status-mS0PFNHr.js","./url-evaluation-BMLhywvu.js","./actions-BWsi7i72.js","./get-safe-url-Dqogbkdq.js","./ButtonGroup-BHDJ_xHw.js","./getValidReactChildren-SkwQHrW1.js","./permission-DG9uH24n.js","./install-from-url-Bpa-muAm.js","./without-wallet-BwvrV6Xc.js","./index-B9eEN6Ex.js","./cloneDeep-DUxbCdHx.js","./Autocomplete-Jvr3OBqO.js","./ListSubheader-B5z3JXVs.js","./ListItemButton-CWYI6B1i.js","./Stepper-Yd1ce1vv.js","./Launch-BSO75Y-o.js","./Add-CMaOaJcy.js","./index-BiSZbdUR.js","./schema-CgZR3vFp.js","./index-C7H9Stfd.js","./toLower-p7cMPP8n.js","./index-BwAWqOYq.js","./url-join-CBh7FZtG.js","./wait-container-DfL-msy6.js","./use-mobile-BHeriyen.js","./DeleteOutline-BJkxA9W_.js","./spaces-CUI-UEB-.js","./api-BJGpnzKK.js","./index-D_ZRDcUb.js","./item-Ds6r8B85.js","./ChevronLeft-C_5SFpZ3.js","./ChevronRight-D5Dv2KwC.js","./blocklet-BWShyefZ.js","./Verified-DYk2lw3M.js","./VerifiedUser-NPP4tmwS.js","./Done-1e3LsE76.js","./delete-confirm-DRlMHX1Z.js","./item-G0iZE90Q.css","./engine-3IdUdjkH.js","./ArrowDropDown-BidZ6YZa.js","./Breadcrumbs-CWrPLIEE.js","./index-Bk2swyn_.js","./html-title-CacFoTyg.js","./index.esm-CXCRSK_f.js","./switch-control-BBKsCU2Y.js","./Switch-C1fxxz5n.js","./Link-DxZkbVyA.js","./logo-BKA11TRi.js","./Refresh-BwUIw44i.js","./LoadingButton-BvBtyajW.js","./rotate-session-key-BXcd-5Zn.js","./is-path-prefix-equal-CpCr5Pp2.js","./Edit-Brfok_V9.js","./CallMerge-B_44wajA.js","./CardContent-C9FF8zmo.js","./Slider-BUlXyua5.js","./visuallyHidden-Dan1xhjv.js","./index-COsQ2pDX.js","./download-BITZfYyH.js","./download-1sZ_L4eJ.css","./index-CmGv3elb.js","./audit-logs-CqQ2o-hd.js","./index-CGfr_Xf0.js","./decode-DPztD6kB.js","./index-gnjjKJuC.css","./shorten-label-BCEJK9kd.js","./team-1bg7ZL8j.js","./index-Pb0zzrzv.js","./ViewList-Dxw4_fs_.js","./use-mobile-Dn3IunVN.js","./client-a5hg5ILL.js","./AdapterDayjs-BiAcanOe.js","./useThemeProps-DooTQWd6.js","./ErrorOutline-DU8Lm-me.js","./index-BCt6EuqV.js","./sdk-CJb0Z10-.js","./actions-G3fsUkti.js","./index-Cyh9wrDu.js","./Google-MHF3yZux.js","./chain-4QRvY1Fq.js","./list-header-DZTbN58s.js","./ToggleButtonGroup-DrT1SlJe.js","./index-CSsjxwWr.js","./index-ZgkIHsf0.css","./useAsyncRetry-CrZGrFzH.js","./useAsync-ByzD9-iZ.js","./detail-D5mwafWs.js","./index-D-Icpyc2.js","./index-CZj-IeN0.js","./invitation-hZO0WzEZ.js","./index-C2SQKbgp.js","./wrap-locale-DdILYRop.js","./index-CWfqG7JG.js","./index-CwxkXQDN.js","./index-BOGGfGZP.js","./agreement-DQuDFy25.js","./index-n35bDjPH.js","./index-D4Q12FU6.js","./index-C0IoSN2J.js","./traffic-B8RUG_pS.js","./iframe-Czk-UT3-.js","./index-DBii9-f-.js","./base-chart-_QOGjOWD.js","./index-DGqI12Zh.js","./index-DRYJ0xIl.js","./memory-DLJFi013.js","./index-B1iMTf-1.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
function _mergeNamespaces(be,Ce){for(var Se=0;Se<Ce.length;Se++){const Te=Ce[Se];if(typeof Te!="string"&&!Array.isArray(Te)){for(const Re in Te)if(Re!=="default"&&!(Re in be)){const Le=Object.getOwnPropertyDescriptor(Te,Re);Le&&Object.defineProperty(be,Re,Le.get?Le:{enumerable:!0,get:()=>Te[Re]})}}}return Object.freeze(Object.defineProperty(be,Symbol.toStringTag,{value:"Module"}))}(function(){const Ce=document.createElement("link").relList;if(Ce&&Ce.supports&&Ce.supports("modulepreload"))return;for(const Re of document.querySelectorAll('link[rel="modulepreload"]'))Te(Re);new MutationObserver(Re=>{for(const Le of Re)if(Le.type==="childList")for(const De of Le.addedNodes)De.tagName==="LINK"&&De.rel==="modulepreload"&&Te(De)}).observe(document,{childList:!0,subtree:!0});function Se(Re){const Le={};return Re.integrity&&(Le.integrity=Re.integrity),Re.referrerPolicy&&(Le.referrerPolicy=Re.referrerPolicy),Re.crossOrigin==="use-credentials"?Le.credentials="include":Re.crossOrigin==="anonymous"?Le.credentials="omit":Le.credentials="same-origin",Le}function Te(Re){if(Re.ep)return;Re.ep=!0;const Le=Se(Re);fetch(Re.href,Le)}})();var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs$1(be){return be&&be.__esModule&&Object.prototype.hasOwnProperty.call(be,"default")?be.default:be}function getAugmentedNamespace(be){if(Object.prototype.hasOwnProperty.call(be,"__esModule"))return be;var Ce=be.default;if(typeof Ce=="function"){var Se=function Te(){var Re=!1;try{Re=this instanceof Te}catch{}return Re?Reflect.construct(Ce,arguments,this.constructor):Ce.apply(this,arguments)};Se.prototype=Ce.prototype}else Se={};return Object.defineProperty(Se,"__esModule",{value:!0}),Object.keys(be).forEach(function(Te){var Re=Object.getOwnPropertyDescriptor(be,Te);Object.defineProperty(Se,Te,Re.get?Re:{enumerable:!0,get:function(){return be[Te]}})}),Se}var jsxRuntime={exports:{}},reactJsxRuntime_production={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
@@ -532,7 +532,7 @@ ${Re}-----END CERTIFICATE-----
|
|
|
532
532
|
word-break: break-word;
|
|
533
533
|
`;function y$7({...be}){const{user:Ce,avatarSize:Se=40,renderCustomContent:Te,infoType:Re=a$8.Minimal,renderFields:Le,popupRenderFields:De,...Pe}=be;return jsxRuntimeExports.jsxs(Box,{sx:{display:"flex",flexDirection:"column",width:"100%",flex:1,height:"100%"},children:[jsxRuntimeExports.jsx(D$4,{user:Ce,avatarSize:Se,...Pe}),Re===a$8.Basic&&jsxRuntimeExports.jsx(le$3,{user:Ce,renderFields:Le}),jsxRuntimeExports.jsx(Box,{className:"user-card__footer",children:Te&&jsxRuntimeExports.jsx(Box,{sx:{mt:1.5},children:Te()})})]})}function l$h({...be}){const{infoType:Ce=a$8.Minimal}=be;switch(Ce){case a$8.NameOnly:return jsxRuntimeExports.jsx(c$6,{...be});default:return jsxRuntimeExports.jsx(y$7,{...be})}}function p$8({children:be,sx:Ce={}}){const Se=useTheme();return jsxRuntimeExports.jsx(Box,{sx:o$a({p:2,backgroundColor:Se.palette.background.paper,border:"1px solid",borderColor:"divider",borderRadius:1,maxWidth:500,minWidth:320,display:"flex"},Ce||null),children:be})}function b$a({children:be,cardType:Ce=l$k.Detailed,variant:Se="box",containerRef:Te=void 0,sx:Re={}}){const Le={minWidth:320,p:2,borderRadius:1,...Ce===l$k.Detailed?{border:"1px solid",borderColor:"divider"}:{}};return Se==="paper"?jsxRuntimeExports.jsx(Paper,{ref:Te,elevation:0,sx:Le,children:be}):jsxRuntimeExports.jsx(Box,{ref:Te,sx:o$a(Le,{display:"flex",alignItems:Ce===l$k.AvatarOnly?"center":"flex-start",gap:2},Re||null),children:be})}function B$4(be){const{cardType:Ce=l$k.Detailed,showHoverCard:Se}=be,Te=Se!==void 0?Se:Ce===l$k.AvatarOnly,Re=reactExports.useRef(null),[Le,De]=reactExports.useState(()=>be.user||null);reactExports.useEffect(()=>{let qe=!0;return be.user?De(be.user):be.did&&S$5(be.did)&&!be.user&&I$6(be.did).then(je=>{qe&&De(je||{fullName:"Anonymous",did:be.did,avatar:""})}),()=>{qe=!1}},[be.did,be.user]);const Pe=reactExports.useMemo(()=>{if(!Le)return null;const{avatar:qe="",...je}=Le,Fe=qe.split("?")[1];return qe&&!Fe?{...je,avatar:`${qe}?imageFilter=resize&w=48&h=48`}:Le},[Le]);if(!Pe)return jsxRuntimeExports.jsx($$5,{did:be.did,size:be.avatarSize,useProxyFallback:!0,...be.avatarProps});const Oe=()=>jsxRuntimeExports.jsx(p$8,{sx:be.popupSx,children:jsxRuntimeExports.jsx(l$h,{...be,shouldShowHoverCard:!1,user:Pe,avatarProps:be.popupAvatarProps,shortenLabelProps:be.popupShortenLabelProps||be.shortenLabelProps,renderFields:be.popupRenderFields,renderName:be.popupRenderName,infoType:be.popupInfoType||be.infoType,didProps:be.popupDidProps||be.didProps,showDid:be.popupShowDid||be.showDid})});return Ce===l$k.AvatarOnly?jsxRuntimeExports.jsx(u$d,{...be,shouldShowHoverCard:Te,renderCardContent:Oe,user:Pe}):jsxRuntimeExports.jsx(b$a,{containerRef:Re,cardType:Ce,sx:be.sx,children:jsxRuntimeExports.jsx(l$h,{...be,shouldShowHoverCard:Te,renderCardContent:Oe,user:Pe})})}const data$x={width:24,height:24,body:'<path fill="currentColor" d="M4 20q-.825 0-1.413-.588T2 18V6q0-.825.588-1.413T4 4h16q.825 0 1.413.588T22 6v12q0 .825-.588 1.413T20 20H4ZM20 8l-7.475 4.675q-.125.075-.263.113t-.262.037q-.125 0-.263-.037t-.262-.113L4 8v10h16V8Zm-8 3l8-5H4l8 5ZM4 8v.25v-1.475v.025V6v.8v-.012V8.25V8v10V8Z"/>'},data$w={width:256,height:315,body:'<path d="M213.803 167.03c.442 47.58 41.74 63.413 42.197 63.615c-.35 1.116-6.599 22.563-21.757 44.716c-13.104 19.153-26.705 38.235-48.13 38.63c-21.05.388-27.82-12.483-51.888-12.483c-24.061 0-31.582 12.088-51.51 12.871c-20.68.783-36.428-20.71-49.64-39.793c-27-39.033-47.633-110.3-19.928-158.406c13.763-23.89 38.36-39.017 65.056-39.405c20.307-.387 39.475 13.662 51.889 13.662c12.406 0 35.699-16.895 60.186-14.414c10.25.427 39.026 4.14 57.503 31.186c-1.49.923-34.335 20.044-33.978 59.822M174.24 50.199c10.98-13.29 18.369-31.79 16.353-50.199c-15.826.636-34.962 10.546-46.314 23.828c-10.173 11.763-19.082 30.589-16.678 48.633c17.64 1.365 35.66-8.964 46.64-22.262"/>'},data$v={width:256,height:262,body:'<path fill="#4285F4" d="M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622l38.755 30.023l2.685.268c24.659-22.774 38.875-56.282 38.875-96.027"/><path fill="#34A853" d="M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055c-34.523 0-63.824-22.773-74.269-54.25l-1.531.13l-40.298 31.187l-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1"/><path fill="#FBBC05" d="M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82c0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782"/><path fill="#EB4335" d="M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0C79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251"/>'},data$u={width:256,height:285,body:'<path d="M220.412 0h-92.415l28.562 89.006h92.416l-74.77 53.077l28.57 89.511c48.128-35.06 63.854-88.12 46.208-142.588L220.413 0ZM7.018 89.006h92.416L127.997 0H35.589L7.019 89.006c-17.655 54.468-1.92 107.529 46.207 142.588l28.563-89.51l-74.77-53.078Zm46.208 142.588l74.77 52.97l74.77-52.97l-74.77-53.847l-74.77 53.847Z"/>'},data$t={width:24,height:24,body:'<path fill="currentColor" d="M5 20q-.825 0-1.413-.588T3 18v-.8q0-.85.438-1.563T4.6 14.55q1.55-.775 3.15-1.163T11 13q.5 0 1 .038t1 .112q-.1 1.45.525 2.738T15.35 18v2H5Zm6-8q-1.65 0-2.825-1.175T7 8q0-1.65 1.175-2.825T11 4q1.65 0 2.825 1.175T15 8q0 1.65-1.175 2.825T11 12Zm7.5 2q.425 0 .713-.288T19.5 13q0-.425-.288-.713T18.5 12q-.425 0-.713.288T17.5 13q0 .425.288.713T18.5 14Zm.15 8.65l-1-1q-.05-.05-.15-.35v-4.45q-1.1-.325-1.8-1.238T15 13.5q0-1.45 1.025-2.475T18.5 10q1.45 0 2.475 1.025T22 13.5q0 1.125-.638 2t-1.612 1.25l.9.9q.15.15.15.35t-.15.35l-.8.8q-.15.15-.15.35t.15.35l.8.8q.15.15.15.35t-.15.35l-1.3 1.3q-.15.15-.35.15t-.35-.15Z"/>'};function i$6({width:be="100%",height:Ce="100%",...Se}){return jsxRuntimeExports.jsx(Box,{component:"img",width:be,height:Ce,alt:"did-wallet-logo",...Se,src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI3ByZWZpeF9fY2xpcDApIj48cmVjdCB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHJ4PSI2IiBmaWxsPSJ1cmwoI3ByZWZpeF9fcGFpbnQwX2xpbmVhcikiLz48ZyBmaWx0ZXI9InVybCgjcHJlZml4X19maWx0ZXIwX2kpIj48cGF0aCBkPSJNMy41MiA3LjM2QTIuNTYgMi41NiAwIDAxNi4wOCA0LjhoMTkuODRhMi41NiAyLjU2IDAgMDEyLjU2IDIuNTZ2MTIuMTZhMi41NiAyLjU2IDAgMDEtMi41NiAyLjU2SDYuMDhhMi41NiAyLjU2IDAgMDEtMi41Ni0yLjU2VjcuMzZ6IiBmaWxsPSIjOUZDQkZGIi8+PC9nPjxnIGZpbHRlcj0idXJsKCNwcmVmaXhfX2ZpbHRlcjFfZCkiPjxwYXRoIGQ9Ik0yLjU2IDkuMjhhMi41NiAyLjU2IDAgMDEyLjU2LTIuNTZoMjEuNzZhMi41NiAyLjU2IDAgMDEyLjU2IDIuNTZ2MTMuNmEyLjU2IDIuNTYgMCAwMS0yLjU2IDIuNTZINS4xMmEyLjU2IDIuNTYgMCAwMS0yLjU2LTIuNTZWOS4yOHoiIGZpbGw9InVybCgjcHJlZml4X19wYWludDFfbGluZWFyKSIvPjwvZz48ZyBmaWx0ZXI9InVybCgjcHJlZml4X19maWx0ZXIyX2QpIj48cGF0aCBkPSJNMCAyMi4zMmwzMi02LjE2VjMySDB2LTkuNjh6IiBmaWxsPSJ1cmwoI3ByZWZpeF9fcGFpbnQyX2xpbmVhcikiLz48L2c+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjUzNiA5LjI0OGg4LjI4OGMuNDA4IDAgLjc0LjMuNzQuNjcydjQuNjRjMCAuMzcxLS4zMzIuNjcyLS43NC42NzJINS41MzZjLS40MDggMC0uNzQtLjMtLjc0LS42NzJ2LS4wNGEuMTU4LjE1OCAwIDEwLS4zMTYgMHYuMDRjMCAuNTMuNDczLjk2IDEuMDU2Ljk2aDguMjg4Yy41ODMgMCAxLjA1Ni0uNDMgMS4wNTYtLjk2VjkuOTJjMC0uNTMtLjQ3My0uOTYtMS4wNTYtLjk2SDUuNTM2Yy0uNTgzIDAtMS4wNTYuNDMtMS4wNTYuOTZ2LjA0YS4xNTguMTU4IDAgMDAuMzE3IDB2LS4wNGMwLS4zNzEuMzMtLjY3Mi43MzktLjY3MnptLTEuMDIzIDQuNjM4YS4xMjcuMTI3IDAgMDAuMDg3LjAzNGgxLjI2N2MuNDcyIDAgLjgzLS4xMDcgMS4wNzYtLjMyMi4yNS0uMjE3LjM4MS0uNTQ4LjM5Ny0uOTkzYTExLjI4MSAxMS4yODEgMCAwMDAtLjczNGMtLjAxMi0uNDI2LS4xNDgtLjc1MS0uNDA2LS45NzUtLjI1OC0uMjI0LS42MjItLjMzNi0xLjA5LS4zMzZINC42YS4xMjcuMTI3IDAgMDAtLjA4Ny4wMzQuMTE3LjExNyAwIDAwLS4wMzMuMDg2djMuMTJjMCAuMDMyLjAxMS4wNi4wMzMuMDg2em0xLjc5NC0uODA2Yy0uMDk5LjEtLjI1My4xNDktLjQ2NC4xNDloLS41MDJWMTEuMjVoLjQ3OGMuMjEgMCAuMzY5LjA1MS40NzQuMTU0LjEwOC4xMDIuMTY2LjI2LjE3Mi40NzUuMDA2LjA5LjAxLjIwOC4wMS4zNTVzLS4wMDQuMjY3LS4wMS4zNmMtLjAwNi4yMjEtLjA1OS4zODMtLjE1OC40ODV6bTEuNjMuODA2YS4xMjcuMTI3IDAgMDAuMDg3LjAzNGguNjRhLjExNi4xMTYgMCAwMC4wODctLjAzNC4xMS4xMSAwIDAwLjAzOC0uMDg2di0zLjEyYS4xMS4xMSAwIDAwLS4wMzgtLjA4Ni4xMTYuMTE2IDAgMDAtLjA4Ni0uMDM0aC0uNjQxYS4xMjcuMTI3IDAgMDAtLjA4Ny4wMzQuMTE3LjExNyAwIDAwLS4wMzMuMDg2djMuMTJjMCAuMDMyLjAxMS4wNi4wMzMuMDg2em0xLjYzNy4wMzRhLjEyNy4xMjcgMCAwMS0uMDg2LS4wMzQuMTI4LjEyOCAwIDAxLS4wMzMtLjA4NnYtMy4xMmMwLS4wMzUuMDEtLjA2NC4wMzMtLjA4NmEuMTI3LjEyNyAwIDAxLjA4Ni0uMDM0aDEuMjQ0Yy40NjkgMCAuODMyLjExMiAxLjA5LjMzNi4yNTkuMjI0LjM5NC41NDkuNDA3Ljk3NGExMS4yNDQgMTEuMjQ0IDAgMDEwIC43MzVjLS4wMTYuNDQ1LS4xNDguNzc2LS4zOTcuOTkzLS4yNDUuMjE1LS42MDQuMzIyLTEuMDc2LjMyMkg5LjU3NHptMS4yNDQtLjY5MWMuMjEgMCAuMzY1LS4wNS40NjQtLjE0OS4wOTktLjEwMi4xNTItLjI2NC4xNTgtLjQ4NWE1LjUyIDUuNTIgMCAwMC4wMS0uMzZjMC0uMTQ3LS4wMDQtLjI2NS0uMDEtLjM1NS0uMDA2LS4yMTQtLjA2NC0uMzczLS4xNzItLjQ3NS0uMTA2LS4xMDMtLjI2My0uMTU0LS40NzQtLjE1NGgtLjQ3OHYxLjk3OGguNTAyem0yLjQ2OC0xLjM4MmEuMjg4LjI4OCAwIDAxLS4yODgtLjI4Ni4yODguMjg4IDAgMDEuNTc2IDBjMCAuMTU4LS4xMy4yODYtLjI4OC4yODZ6bTAgMS40OTVhLjI4OC4yODggMCAwMS0uMjg4LS4yODYuMjg4LjI4OCAwIDAxLjU3NiAwYzAgLjE1OC0uMTMuMjg3LS4yODguMjg3eiIgZmlsbD0iIzQ1OThGQSIvPjwvZz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9InByZWZpeF9fcGFpbnQwX2xpbmVhciIgeDE9IjE2IiB5MT0iMCIgeDI9IjE2IiB5Mj0iMzIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjNEY5REY2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMEE3OUY4Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9InByZWZpeF9fcGFpbnQxX2xpbmVhciIgeDE9IjE2IiB5MT0iNi43MiIgeDI9IjE2IiB5Mj0iMjUuNDQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRUNFRkZGIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9InByZWZpeF9fcGFpbnQyX2xpbmVhciIgeDE9IjE2IiB5MT0iMTkuMiIgeDI9IjE4LjQ4IiB5Mj0iMzIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4wMDciIHN0b3AtY29sb3I9IiM3N0IyRjYiLz48c3RvcCBvZmZzZXQ9Ii4wNTUiIHN0b3AtY29sb3I9IiM0RjlERjYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0NTk4RkEiLz48L2xpbmVhckdyYWRpZW50PjxmaWx0ZXIgaWQ9InByZWZpeF9fZmlsdGVyMF9pIiB4PSIzLjUyIiB5PSIxLjgiIHdpZHRoPSIyNC45NiIgaGVpZ2h0PSIyMC4yOCIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+PGZlQmxlbmQgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+PGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPjxmZU9mZnNldCBkeT0iLTMiLz48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIyIi8+PGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4yIDAiLz48ZmVCbGVuZCBpbjI9InNoYXBlIiByZXN1bHQ9ImVmZmVjdDFfaW5uZXJTaGFkb3ciLz48L2ZpbHRlcj48ZmlsdGVyIGlkPSJwcmVmaXhfX2ZpbHRlcjFfZCIgeD0iLTEuNDQiIHk9IjEuNzIiIHdpZHRoPSIzNC44OCIgaGVpZ2h0PSIyNi43MiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+PGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPjxmZU9mZnNldCBkeT0iLTEiLz48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIyIi8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuMjIwNzY3IDAgMCAwIDAgMC40NzA4MDMgMCAwIDAgMCAwLjcwMTYwNSAwIDAgMCAwLjE4IDAiLz48ZmVCbGVuZCBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3ciLz48ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz48L2ZpbHRlcj48ZmlsdGVyIGlkPSJwcmVmaXhfX2ZpbHRlcjJfZCIgeD0iLTUiIHk9IjExLjE2IiB3aWR0aD0iNDIiIGhlaWdodD0iMjUuODQiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz48ZmVPZmZzZXQvPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjIuNSIvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjE0MzgyIDAgMCAwIDAgMC4yMDUwNjUgMCAwIDAgMCAwLjUyMjYzNCAwIDAgMCAwLjI1IDAiLz48ZmVCbGVuZCBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3ciLz48ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz48L2ZpbHRlcj48Y2xpcFBhdGggaWQ9InByZWZpeF9fY2xpcDAiPjxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgcng9IjYiIGZpbGw9IiNmZmYiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="})}function e$d({width:be=24,height:Ce=24,...Se}){return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 250",width:be,height:Ce,...Se,children:jsxRuntimeExports.jsx("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46c6.397 1.185 8.746-2.777 8.746-6.158c0-3.052-.12-13.135-.174-23.83c-35.61 7.742-43.124-15.103-43.124-15.103c-5.823-14.795-14.213-18.73-14.213-18.73c-11.613-7.944.876-7.78.876-7.78c12.853.902 19.621 13.19 19.621 13.19c11.417 19.568 29.945 13.911 37.249 10.64c1.149-8.272 4.466-13.92 8.127-17.116c-28.431-3.236-58.318-14.212-58.318-63.258c0-13.975 5-25.394 13.188-34.358c-1.329-3.224-5.71-16.242 1.24-33.874c0 0 10.749-3.44 35.21 13.121c10.21-2.836 21.16-4.258 32.038-4.307c10.878.049 21.837 1.47 32.066 4.307c24.431-16.56 35.165-13.12 35.165-13.12c6.967 17.63 2.584 30.65 1.255 33.873c8.207 8.964 13.173 20.383 13.173 34.358c0 49.163-29.944 59.988-58.447 63.157c4.591 3.972 8.682 11.762 8.682 23.704c0 17.126-.148 30.91-.148 35.126c0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002C256 57.307 198.691 0 128.001 0m-80.06 182.34c-.282.636-1.283.827-2.194.39c-.929-.417-1.45-1.284-1.15-1.922c.276-.655 1.279-.838 2.205-.399c.93.418 1.46 1.293 1.139 1.931m6.296 5.618c-.61.566-1.804.303-2.614-.591c-.837-.892-.994-2.086-.375-2.66c.63-.566 1.787-.301 2.626.591c.838.903 1 2.088.363 2.66m4.32 7.188c-.785.545-2.067.034-2.86-1.104c-.784-1.138-.784-2.503.017-3.05c.795-.547 2.058-.055 2.861 1.075c.782 1.157.782 2.522-.019 3.08m7.304 8.325c-.701.774-2.196.566-3.29-.49c-1.119-1.032-1.43-2.496-.726-3.27c.71-.776 2.213-.558 3.315.49c1.11 1.03 1.45 2.505.701 3.27m9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033c-1.448-.439-2.395-1.613-2.103-2.626c.301-1.01 1.747-1.484 3.207-1.028c1.446.436 2.396 1.602 2.095 2.622m10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95c-1.53.034-2.769-.82-2.786-1.86c0-1.065 1.202-1.932 2.733-1.958c1.522-.03 2.768.818 2.768 1.868m10.555-.405c.182 1.03-.875 2.088-2.387 2.37c-1.485.271-2.861-.365-3.05-1.386c-.184-1.056.893-2.114 2.376-2.387c1.514-.263 2.868.356 3.061 1.403"})})}function L$5({provider:be="wallet",...Ce}){if(["wallet","wallet-web"].includes(be))return jsxRuntimeExports.jsx(i$6,{...Ce});if(be===E$9.GITHUB)return jsxRuntimeExports.jsx(Box,{component:"span",...Ce,sx:o$a({display:"inline-block"},Ce.sx),children:jsxRuntimeExports.jsx(e$d,{width:"100%",height:"100%",fill:"currentColor"})});const Se={[E$9.AUTH0]:data$u,[E$9.EMAIL]:data$x,[E$9.APPLE]:data$w,[E$9.GOOGLE]:data$v,[E$9.PASSKEY]:data$t,[E$9.TWITTER]:{body:'<path fill="currentColor" d="M149.079 108.399L242.33 0h-22.098l-80.97 94.12L74.59 0H0l97.796 142.328L0 256h22.1l85.507-99.395L175.905 256h74.59L149.073 108.399zM118.81 143.58l-9.909-14.172l-78.84-112.773h33.943l63.625 91.011l9.909 14.173l82.705 118.3H186.3l-67.49-96.533z"/>',width:251,height:251}};return Se[be]?jsxRuntimeExports.jsx(Box,{component:Icon,icon:Se[be],fill:"currentColor",...Ce,sx:o$a({width:"100%",height:"100%"},be===E$9.TWITTER?{scale:"0.8"}:{},Ce.sx)}):null}const M$3=reactExports.memo(L$5),s$8=reactExports.createContext({blocklet:null,masterBlocklet:null}),{Provider:g$9,Consumer:M$2}=s$8;function j$6({children:be,baseUrl:Ce="",loading:Se=null}){const[Te,Re]=reactExports.useState(null),[Le,De]=reactExports.useState(null),Pe=useMemoizedFn(async()=>{if(!Ce||window.location.href.startsWith(Ce))throw new Error("no blocklet data");return await l$t(Ce)});return useAsyncEffect(async()=>{let Oe=null,qe=null;try{Oe=await Pe()}catch{Oe=globalThis.blocklet||globalThis.env}if(Oe&&s$d(Oe)){const je=o$f(Oe);je&&(qe=await l$t(je.appUrl))}Re(Oe),De(qe)},[Ce]),jsxRuntimeExports.jsx(g$9,{value:{blocklet:Te,masterBlocklet:Le},children:Te?be:Se||null})}function E$6(){const{blocklet:be,masterBlocklet:Ce}=reactExports.use(s$8);return{blocklet:be,masterBlocklet:Ce}}function p$7(be){function Ce({...Te}){const{blocklet:Re,masterBlocklet:Le}=E$6();return jsxRuntimeExports.jsx(be,{...Te,blocklet:Re,masterBlocklet:Le})}function Se({baseUrl:Te,...Re}){return jsxRuntimeExports.jsx(j$6,{baseUrl:Te,children:jsxRuntimeExports.jsx(Ce,{baseUrl:Te,...Re})})}return Se}var n$6={call:function(be,Ce,Se){var Te="";typeof Ce=="function"&&(Se=Ce,Ce={});var Re={data:Ce===void 0?null:Ce};if(typeof Se=="function"){var Le="dscb"+window.dscb++;window[Le]=Se,Re._dscbstub=Le}return Re=JSON.stringify(Re),window._dsbridge?Te=_dsbridge.call(be,Re):(window._dswk||navigator.userAgent.indexOf("_dsbridge")!=-1)&&(Te=prompt("_dsbridge="+be,Re)),JSON.parse(Te||"{}").data},register:function(be,Ce,Se){var Te=Se?window._dsaf:window._dsf;window._dsInit||(window._dsInit=!0,setTimeout(function(){n$6.call("_dsb.dsinit")},0)),typeof Ce=="object"?Te._obs[be]=Ce:Te[be]=Ce},registerAsyn:function(be,Ce){this.register(be,Ce,!0)},hasNativeMethod:function(be,Ce){return this.call("_dsb.hasNativeMethod",{name:be,type:Ce||"all"})},disableJavascriptDialogBlock:function(be){this.call("_dsb.disableJavascriptDialogBlock",{disable:be!==!1})},canUseBridge(){return!!(window._dsbridge||window._dswk||navigator.userAgent.indexOf("_dsbridge")!=-1)}};(function(){if(!n$6.canUseBridge()||window._dsf)return;const be=window.close;var Ce={_dsf:{_obs:{}},_dsaf:{_obs:{}},dscb:0,dsBridge:n$6,close:function(){n$6.call("_dsb.closePage"),be()},_handleMessageFromNative:function(Te){var Re=JSON.parse(Te.data),Le={id:Te.callbackId,complete:!0},De=this._dsf[Te.method],Pe=this._dsaf[Te.method],Oe=function(Ze,Ye){Le.data=Ze.apply(Ye,Re),n$6.call("_dsb.returnValue",Le)},qe=function(Ze,Ye){Re.push(function(tt,nt){Le.data=tt,Le.complete=nt!==!1,n$6.call("_dsb.returnValue",Le)}),Ze.apply(Ye,Re)};if(De)Oe(De,this._dsf);else if(Pe)qe(Pe,this._dsaf);else{var je=Te.method.split(".");if(je.length<2)return;var Fe=je.pop(),He=je.join("."),Ge=this._dsf._obs,Ke=Ge[He]||{},Je=Ke[Fe];if(Je&&typeof Je=="function"){Oe(Je,Ke);return}if(Ge=this._dsaf._obs,Ke=Ge[He]||{},Je=Ke[Fe],Je&&typeof Je=="function"){qe(Je,Ke);return}}}};for(var Se in Ce)window[Se]=Ce[Se];n$6.register("_hasJavascriptMethod",function(De,Re){var Le=De.split(".");if(Le.length<2)return!!(_dsf[Le]||_dsaf[Le]);var De=Le.pop(),Pe=Le.join("."),Oe=_dsf._obs[Pe]||_dsaf._obs[Pe];return Oe&&!!Oe[De]})})();const f$6="1",g$8={register(...be){n$6.canUseBridge()?n$6.register(...be):console.warn("dsbridge is not available")},registerAsyn(...be){n$6.canUseBridge()?n$6.registerAsyn(...be):console.warn("dsbridge is not available")},call(...be){n$6.call(...be)},asyncCall(...be){return new Promise((Ce,Se)=>{n$6.call(...be,Te=>{try{const Re=JSON.parse(Te);if(Re.code===0){const Le=JSON.parse(Re.data);Ce(Le)}else Se(new Error(Re.error))}catch{Ce(Te)}})})},shareMessage(be){const{content:Ce,imgUrl:Se,success:Te,fail:Re}=be;if(!Ce&&!Se){Re("params error");return}n$6.call("arcShare",JSON.stringify({content:Ce,imgUrl:Se}),Le=>{const De=JSON.parse(Le);De&&De.code===0?typeof Te=="function"&&Te(Le):typeof Re=="function"&&Re(Le)})},showLoading(){n$6.call("arcShowLoading")},hideLoading(){n$6.call("arcHideLoading")},showToast(be){be&&typeof be=="string"&&n$6.call("arcToast",be)},chooseImgs(be){const{limit:Ce,success:Se,fail:Te}=be;n$6.call("arcChooseImgs",JSON.stringify({limit:Ce}),Re=>{const Le=JSON.parse(Re);Le&&Le.code===0?typeof Se=="function"&&Se(Re):typeof Te=="function"&&Te(Re)})},previewImgs(be){const{imgs:Ce}=be;!Ce||Ce.length===0||n$6.call("arcPreviewImgs",JSON.stringify(be))},isSetPWD(be){const{success:Ce,fail:Se}=be;n$6.call("arcIsSetPWD","",Te=>{const Re=JSON.parse(Te);Re&&Re.code===0?typeof Ce=="function"&&Ce(Te):typeof Se=="function"&&Se(Te)})},isCodeABOk(be){const{success:Ce,fail:Se}=be;n$6.call("arcIsCodeABOk","",Te=>{const Re=JSON.parse(Te);Re&&Re.code===0?typeof Ce=="function"&&Ce(Te):typeof Se=="function"&&Se(Te)})},callArc(be,Ce={}){return new Promise((Se,Te)=>{const Re=["arc",be].join("__"),Le={...Ce,_version:f$6};n$6.call(Re,Le,De=>{try{const Pe=JSON.parse(De);if(Pe?._version===f$6)if(Pe.code===0)try{const Oe=JSON.parse(Pe.data);Se(Oe)}catch{console.warn("Failed to parse result.data"),Se(Pe.data)}else Te(new Error(Pe.error));else Se(Pe)}catch{console.warn("Failed to parse resString"),Se(De)}})})},registerBlocklet(be,Ce=()=>{}){if(n$6.canUseBridge()){const Se=["blocklet",be].join("__");n$6.registerAsyn(Se,(...Te)=>{const Re=Te.map(Le=>{try{return JSON.parse(Le)}catch{return Le}});Ce(...Re)})}else console.warn("dsbridge is not available")}};var naclFastExports=requireNaclFast();const l$g=getDefaultExportFromCjs$1(naclFastExports),overheadLength=l$g.box.publicKeyLength+l$g.box.overheadLength;var util$3,hasRequiredUtil$3;function requireUtil$3(){if(hasRequiredUtil$3)return util$3;hasRequiredUtil$3=1;const be="Input must be an string, Buffer or Uint8Array";function Ce(De){let Pe;if(De instanceof Uint8Array)Pe=De;else if(typeof De=="string")Pe=new TextEncoder().encode(De);else throw new Error(be);return Pe}function Se(De){return Array.prototype.map.call(De,function(Pe){return(Pe<16?"0":"")+Pe.toString(16)}).join("")}function Te(De){return(4294967296+De).toString(16).substring(1)}function Re(De,Pe,Oe){let qe=`
|
|
534
534
|
`+De+" = ";for(let je=0;je<Pe.length;je+=2){if(Oe===32)qe+=Te(Pe[je]).toUpperCase(),qe+=" ",qe+=Te(Pe[je+1]).toUpperCase();else if(Oe===64)qe+=Te(Pe[je+1]).toUpperCase(),qe+=Te(Pe[je]).toUpperCase();else throw new Error("Invalid size "+Oe);je%6===4?qe+=`
|
|
535
|
-
`+new Array(De.length+4).join(" "):je<Pe.length-2&&(qe+=" ")}console.log(qe)}function Le(De,Pe,Oe){let qe=new Date().getTime();const je=new Uint8Array(Pe);for(let He=0;He<Pe;He++)je[He]=He%256;const Fe=new Date().getTime();console.log("Generated random input in "+(Fe-qe)+"ms"),qe=Fe;for(let He=0;He<Oe;He++){const Ge=De(je),Ke=new Date().getTime(),Je=Ke-qe;qe=Ke,console.log("Hashed in "+Je+"ms: "+Ge.substring(0,20)+"..."),console.log(Math.round(Pe/(1<<20)/(Je/1e3)*100)/100+" MB PER SECOND")}}return util$3={normalizeInput:Ce,toHex:Se,debugPrint:Re,testSpeed:Le},util$3}var blake2b_1,hasRequiredBlake2b;function requireBlake2b(){if(hasRequiredBlake2b)return blake2b_1;hasRequiredBlake2b=1;const be=requireUtil$3();function Ce(Ye,tt,nt){const it=Ye[tt]+Ye[nt];let ot=Ye[tt+1]+Ye[nt+1];it>=4294967296&&ot++,Ye[tt]=it,Ye[tt+1]=ot}function Se(Ye,tt,nt,it){let ot=Ye[tt]+nt;nt<0&&(ot+=4294967296);let gt=Ye[tt+1]+it;ot>=4294967296&>++,Ye[tt]=ot,Ye[tt+1]=gt}function Te(Ye,tt){return Ye[tt]^Ye[tt+1]<<8^Ye[tt+2]<<16^Ye[tt+3]<<24}function Re(Ye,tt,nt,it,ot,gt){const ft=qe[ot],wt=qe[ot+1],Vt=qe[gt],$t=qe[gt+1];Ce(Oe,Ye,tt),Se(Oe,Ye,ft,wt);let Mt=Oe[it]^Oe[Ye],rt=Oe[it+1]^Oe[Ye+1];Oe[it]=rt,Oe[it+1]=Mt,Ce(Oe,nt,it),Mt=Oe[tt]^Oe[nt],rt=Oe[tt+1]^Oe[nt+1],Oe[tt]=Mt>>>24^rt<<8,Oe[tt+1]=rt>>>24^Mt<<8,Ce(Oe,Ye,tt),Se(Oe,Ye,Vt,$t),Mt=Oe[it]^Oe[Ye],rt=Oe[it+1]^Oe[Ye+1],Oe[it]=Mt>>>16^rt<<16,Oe[it+1]=rt>>>16^Mt<<16,Ce(Oe,nt,it),Mt=Oe[tt]^Oe[nt],rt=Oe[tt+1]^Oe[nt+1],Oe[tt]=rt>>>31^Mt<<1,Oe[tt+1]=Mt>>>31^rt<<1}const Le=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),De=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],Pe=new Uint8Array(De.map(function(Ye){return Ye*2})),Oe=new Uint32Array(32),qe=new Uint32Array(32);function je(Ye,tt){let nt=0;for(nt=0;nt<16;nt++)Oe[nt]=Ye.h[nt],Oe[nt+16]=Le[nt];for(Oe[24]=Oe[24]^Ye.t,Oe[25]=Oe[25]^Ye.t/4294967296,tt&&(Oe[28]=~Oe[28],Oe[29]=~Oe[29]),nt=0;nt<32;nt++)qe[nt]=Te(Ye.b,4*nt);for(nt=0;nt<12;nt++)Re(0,8,16,24,Pe[nt*16+0],Pe[nt*16+1]),Re(2,10,18,26,Pe[nt*16+2],Pe[nt*16+3]),Re(4,12,20,28,Pe[nt*16+4],Pe[nt*16+5]),Re(6,14,22,30,Pe[nt*16+6],Pe[nt*16+7]),Re(0,10,20,30,Pe[nt*16+8],Pe[nt*16+9]),Re(2,12,22,24,Pe[nt*16+10],Pe[nt*16+11]),Re(4,14,16,26,Pe[nt*16+12],Pe[nt*16+13]),Re(6,8,18,28,Pe[nt*16+14],Pe[nt*16+15]);for(nt=0;nt<16;nt++)Ye.h[nt]=Ye.h[nt]^Oe[nt]^Oe[nt+16]}const Fe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function He(Ye,tt,nt,it){if(Ye===0||Ye>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(tt&&tt.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(nt&&nt.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(it&&it.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");const ot={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:Ye};Fe.fill(0),Fe[0]=Ye,tt&&(Fe[1]=tt.length),Fe[2]=1,Fe[3]=1,nt&&Fe.set(nt,32),it&&Fe.set(it,48);for(let gt=0;gt<16;gt++)ot.h[gt]=Le[gt]^Te(Fe,gt*4);return tt&&(Ge(ot,tt),ot.c=128),ot}function Ge(Ye,tt){for(let nt=0;nt<tt.length;nt++)Ye.c===128&&(Ye.t+=Ye.c,je(Ye,!1),Ye.c=0),Ye.b[Ye.c++]=tt[nt]}function Ke(Ye){for(Ye.t+=Ye.c;Ye.c<128;)Ye.b[Ye.c++]=0;je(Ye,!0);const tt=new Uint8Array(Ye.outlen);for(let nt=0;nt<Ye.outlen;nt++)tt[nt]=Ye.h[nt>>2]>>8*(nt&3);return tt}function Je(Ye,tt,nt,it,ot){nt=nt||64,Ye=be.normalizeInput(Ye),it&&(it=be.normalizeInput(it)),ot&&(ot=be.normalizeInput(ot));const gt=He(nt,tt,it,ot);return Ge(gt,Ye),Ke(gt)}function Ze(Ye,tt,nt,it,ot){const gt=Je(Ye,tt,nt,it,ot);return be.toHex(gt)}return blake2b_1={blake2b:Je,blake2bHex:Ze,blake2bInit:He,blake2bUpdate:Ge,blake2bFinal:Ke},blake2b_1}var blake2bExports=requireBlake2b();const blake=getDefaultExportFromCjs$1(blake2bExports);function nonce(be,Ce){var Se=blake.blake2bInit(l$g.box.nonceLength,null);return blake.blake2bUpdate(Se,be),blake.blake2bUpdate(Se,Ce),blake.blake2bFinal(Se)}function zero(be){for(var Ce=0;Ce<be.length;Ce++)be[Ce]=0}function seal$1(be,Ce){var Se=new Uint8Array(overheadLength+be.length),Te=l$g.box.keyPair();Se.set(Te.publicKey);var Re=nonce(Te.publicKey,Ce),Le=l$g.box(be,Re,Ce,Te.secretKey);return Se.set(Le,Te.publicKey.length),zero(Te.secretKey),Se}function open(be,Ce,Se){var Te=be.subarray(0,l$g.box.publicKeyLength),Re=nonce(Te,Ce),Le=be.subarray(l$g.box.publicKeyLength);return l$g.box.open(Le,Re,Te,Se)}const g$7={seal:seal$1,open};let i$5=class extends Error{};function h$6(be,{throwOnError:Ce=!0,returnRaw:Se=!1,allowProtocols:Te=["https:","http:"],allowDomains:Re=void 0}={}){Re===void 0&&(Re=window.blocklet?.domainAliases||[],Re.push(window.location.href));try{let Le;be.startsWith("/")?Le=window.location.origin:be.startsWith("./")&&(Le=window.location.href);const De=new URL(be,Le),Pe=Re&&Re.map(Oe=>{try{return new URL(Oe).hostname}catch{return new URL(`https://${Oe}`).hostname}});if(Te!==null&&!Te.includes(De.protocol)){if(console.error(`Invalid protocol: ${De.protocol}`),Ce)throw new i$5(`Invalid protocol: ${De.protocol}`);return null}if(Pe!==null&&!Pe.includes(De.hostname)){if(console.error(`Invalid host: ${De.hostname}`),Ce)throw new i$5(`Invalid host: ${De.hostname}`);return null}return Se?be:De.href}catch(Le){if(Le instanceof i$5){if(Ce)throw Le;return null}if(console.error(`Failed to convert url: ${be}`),Ce)throw new Error(`Failed to convert url: ${be}`);return null}}var browser$5={exports:{}},ms,hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var be=1e3,Ce=be*60,Se=Ce*60,Te=Se*24,Re=Te*7,Le=Te*365.25;ms=function(je,Fe){Fe=Fe||{};var He=typeof je;if(He==="string"&&je.length>0)return De(je);if(He==="number"&&isFinite(je))return Fe.long?Oe(je):Pe(je);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(je))};function De(je){if(je=String(je),!(je.length>100)){var Fe=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(je);if(Fe){var He=parseFloat(Fe[1]),Ge=(Fe[2]||"ms").toLowerCase();switch(Ge){case"years":case"year":case"yrs":case"yr":case"y":return He*Le;case"weeks":case"week":case"w":return He*Re;case"days":case"day":case"d":return He*Te;case"hours":case"hour":case"hrs":case"hr":case"h":return He*Se;case"minutes":case"minute":case"mins":case"min":case"m":return He*Ce;case"seconds":case"second":case"secs":case"sec":case"s":return He*be;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return He;default:return}}}}function Pe(je){var Fe=Math.abs(je);return Fe>=Te?Math.round(je/Te)+"d":Fe>=Se?Math.round(je/Se)+"h":Fe>=Ce?Math.round(je/Ce)+"m":Fe>=be?Math.round(je/be)+"s":je+"ms"}function Oe(je){var Fe=Math.abs(je);return Fe>=Te?qe(je,Fe,Te,"day"):Fe>=Se?qe(je,Fe,Se,"hour"):Fe>=Ce?qe(je,Fe,Ce,"minute"):Fe>=be?qe(je,Fe,be,"second"):je+" ms"}function qe(je,Fe,He,Ge){var Ke=Fe>=He*1.5;return Math.round(je/He)+" "+Ge+(Ke?"s":"")}return ms}var common,hasRequiredCommon;function requireCommon(){if(hasRequiredCommon)return common;hasRequiredCommon=1;function be(Ce){Te.debug=Te,Te.default=Te,Te.coerce=qe,Te.disable=Pe,Te.enable=Le,Te.enabled=Oe,Te.humanize=requireMs(),Te.destroy=je,Object.keys(Ce).forEach(Fe=>{Te[Fe]=Ce[Fe]}),Te.names=[],Te.skips=[],Te.formatters={};function Se(Fe){let He=0;for(let Ge=0;Ge<Fe.length;Ge++)He=(He<<5)-He+Fe.charCodeAt(Ge),He|=0;return Te.colors[Math.abs(He)%Te.colors.length]}Te.selectColor=Se;function Te(Fe){let He,Ge=null,Ke,Je;function Ze(...Ye){if(!Ze.enabled)return;const tt=Ze,nt=Number(new Date),it=nt-(He||nt);tt.diff=it,tt.prev=He,tt.curr=nt,He=nt,Ye[0]=Te.coerce(Ye[0]),typeof Ye[0]!="string"&&Ye.unshift("%O");let ot=0;Ye[0]=Ye[0].replace(/%([a-zA-Z%])/g,(ft,wt)=>{if(ft==="%%")return"%";ot++;const Vt=Te.formatters[wt];if(typeof Vt=="function"){const $t=Ye[ot];ft=Vt.call(tt,$t),Ye.splice(ot,1),ot--}return ft}),Te.formatArgs.call(tt,Ye),(tt.log||Te.log).apply(tt,Ye)}return Ze.namespace=Fe,Ze.useColors=Te.useColors(),Ze.color=Te.selectColor(Fe),Ze.extend=Re,Ze.destroy=Te.destroy,Object.defineProperty(Ze,"enabled",{enumerable:!0,configurable:!1,get:()=>Ge!==null?Ge:(Ke!==Te.namespaces&&(Ke=Te.namespaces,Je=Te.enabled(Fe)),Je),set:Ye=>{Ge=Ye}}),typeof Te.init=="function"&&Te.init(Ze),Ze}function Re(Fe,He){const Ge=Te(this.namespace+(typeof He>"u"?":":He)+Fe);return Ge.log=this.log,Ge}function Le(Fe){Te.save(Fe),Te.namespaces=Fe,Te.names=[],Te.skips=[];const He=(typeof Fe=="string"?Fe:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const Ge of He)Ge[0]==="-"?Te.skips.push(Ge.slice(1)):Te.names.push(Ge)}function De(Fe,He){let Ge=0,Ke=0,Je=-1,Ze=0;for(;Ge<Fe.length;)if(Ke<He.length&&(He[Ke]===Fe[Ge]||He[Ke]==="*"))He[Ke]==="*"?(Je=Ke,Ze=Ge,Ke++):(Ge++,Ke++);else if(Je!==-1)Ke=Je+1,Ze++,Ge=Ze;else return!1;for(;Ke<He.length&&He[Ke]==="*";)Ke++;return Ke===He.length}function Pe(){const Fe=[...Te.names,...Te.skips.map(He=>"-"+He)].join(",");return Te.enable(""),Fe}function Oe(Fe){for(const He of Te.skips)if(De(Fe,He))return!1;for(const He of Te.names)if(De(Fe,He))return!0;return!1}function qe(Fe){return Fe instanceof Error?Fe.stack||Fe.message:Fe}function je(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return Te.enable(Te.load()),Te}return common=be,common}var hasRequiredBrowser$5;function requireBrowser$5(){return hasRequiredBrowser$5||(hasRequiredBrowser$5=1,function(be,Ce){var Se={};Ce.formatArgs=Re,Ce.save=Le,Ce.load=De,Ce.useColors=Te,Ce.storage=Pe(),Ce.destroy=(()=>{let qe=!1;return()=>{qe||(qe=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),Ce.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Te(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let qe;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(qe=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(qe[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Re(qe){if(qe[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+qe[0]+(this.useColors?"%c ":" ")+"+"+be.exports.humanize(this.diff),!this.useColors)return;const je="color: "+this.color;qe.splice(1,0,je,"color: inherit");let Fe=0,He=0;qe[0].replace(/%[a-zA-Z%]/g,Ge=>{Ge!=="%%"&&(Fe++,Ge==="%c"&&(He=Fe))}),qe.splice(He,0,je)}Ce.log=console.debug||console.log||(()=>{});function Le(qe){try{qe?Ce.storage.setItem("debug",qe):Ce.storage.removeItem("debug")}catch{}}function De(){let qe;try{qe=Ce.storage.getItem("debug")||Ce.storage.getItem("DEBUG")}catch{}return!qe&&typeof process$1<"u"&&"env"in process$1&&(qe=Se.DEBUG),qe}function Pe(){try{return localStorage}catch{}}be.exports=requireCommon()(Ce);const{formatters:Oe}=be.exports;Oe.j=function(qe){try{return JSON.stringify(qe)}catch(je){return"[UnexpectedJSONParseError]: "+je.message}}}(browser$5,browser$5.exports)),browser$5.exports}var browserExports$2=requireBrowser$5();const Debug=getDefaultExportFromCjs$1(browserExports$2),i$4=Debug,d$8=be=>new Proxy(window.console,{get(Ce,Se){return(...Te)=>{try{return["log","debug","info","warn","error"].includes(Se)?Ce[Se](be,...Te):Ce[Se]instanceof Function?Ce[Se](...Te):Ce[Se]}catch(Re){console.error(`Logger error in ${be}:`,Re);return}}}}),o$7="3.0.35",s$7={version:o$7},_=300,o$6=1800,n$5="/.well-known/service",E$5="login_token",c$5="refresh_token",t$c="/.well-known/service",e$c="/api/did",d$7="__did-connect__",T$5=["scanned","succeed","error","busy"],A$3={chrome:"https://chromewebstore.google.com/detail/did-wallet/ibjflpbmadchofnbpppegdbnifdgincp",edge:"https://microsoftedge.microsoft.com/addons/detail/did-wallet/hjgoblidjnnnamdkinbichnfbmghmafd"},i$3=2*1e3,S$4=6,I$5="nf_lang",l$f=1e3,D$3=window?.blocklet?.DID_SPACES_BASE_URL||"https://www.didspaces.com/app";let o$5=class extends Error{constructor(){super("Failed to open popup")}};const l$e="wallet_url",c$4=()=>window.localStorage.getItem(l$e)||window.env?.webWalletUrl||window.blocklet?.webWalletUrl||"https://web.abtwallet.io/",w$5=be=>{const{protocol:Ce}=window.location;let Se="";try{Se=new URL(be).protocol}catch{Se=""}return Ce===Se},{version:O$3}=s$7,Z$3=i$4("did-connect"),ee=d$8("did-connect");function h$5(be){return(be+"===".slice((be.length+3)%4)).replace(/-/g,"+").replace(/_/g,"/")}function b$9(be){return be.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}const oe$1=be=>window.atob(h$5(be)),ne$2=be=>{const Ce=new URL(be),Se=decodeURIComponent(Ce.searchParams.get("url"));return new URL(Se).searchParams.get("_t_")},W$1=(be,Ce)=>{let Se=Ce?.publisher;if(!Se){if(be?.agentDid)return be.agentDid;Se=be?.publisher}return Se?Se.replace("did:abt:",""):globalThis.blocklet?.appPid||globalThis.blocklet?.appId||globalThis.env?.appId||""},z$4=be=>{const Ce={connected_did:be.did||"",connected_pk:be.pk||"",connected_app:W$1(be.appInfo,be.memberAppInfo)};return be?.connectedWallet?.os&&(Ce.connected_wallet_os=be.connectedWallet.os),Ce},te$1=(be,Ce=!1)=>{if(!be)return;Ce||(be=z$4(be));const Se=ht({expireInDays:7,returnDomain:!1});!isNil(be.connected_did)&&!isNil(be.connected_pk)&&libExports$3.isValid(be.connected_did)&&libExports$3.isFromPublicKey(be.connected_did,be.connected_pk)&&(Cookies.set("connected_did",be.connected_did,Se),Cookies.set("connected_pk",be.connected_pk,Se)),!isNil(be.connected_app)&&libExports$3.isValid(be.connected_app)&&Cookies.set("connected_app",be.connected_app,Se),be.connected_wallet_os&&Cookies.set("connected_wallet_os",be.connected_wallet_os,Se)},se$2=be=>b$9(Buffer$1$1.from(be).toString("base64")),u$b=be=>Uint8Array.from(Buffer$1$1.from(h$5(be),"base64")),ie$2=(be,Ce,Se)=>{const Te=g$7.open(Uint8Array.from(Buffer$1$1.from(be,"base64")),u$b(Ce),u$b(Se));return JSON.parse(Buffer$1$1.from(Te).toString("utf8"))},ae$2=(be,Ce)=>Buffer$1$1.from(g$7.seal(Uint8Array.from(Buffer$1$1.from(be)),u$b(Ce))).toString("base64"),ce$1=(be,Ce="_t_")=>{const Se=new URL(be),Te={baseUrl:Se.origin,prefix:Se.pathname.replace(/\/auth$/,""),token:Se.searchParams.get(Ce)||""};if(!Te.baseUrl)throw new Error("Invalid next workflow: origin empty");if(!Te.token)throw new Error("Invalid next workflow: token not found");return Te},f$5=(be,Ce)=>{let Se=be.message;const{response:Te}=be;return Te&&(Se=Te.data?.error||Te.data?.message||Te.data||Ce,Se=typeof Se=="object"?Ce:Se),Se},pe=(be,Ce,Se)=>{if(!be)return be;if(!be.name)return f$5(be,Ce);switch(be.name){case"NotAllowedError":return Se?Se("webauthn.error.canceled"):"Authentication was canceled";case"SecurityError":return Se?Se("webauthn.error.security"):"A security error occurred during authentication";case"NotSupportedError":return Se?Se("webauthn.error.notSupported"):"This browser does not support passkey authentication";case"AbortError":return Se?Se("webauthn.error.aborted"):"Authentication was aborted";default:return console.warn("Unhandled WebAuthn error type:",be.name),f$5(be,Ce)}},le$2=(be={},{lazy:Ce=!1,lazyTime:Se=300}={})=>{const Te={...be.headers,"x-did-connect-version":O$3},Re=createAxios({...be,headers:Te},{lazy:Ce,lazyTime:Se});return Re.interceptors.request.use(Le=>{const De=Q$4();return De&&(Le.headers["x-blocklet-visitor-id"]=De),Le}),Re},ue$2=(be=0)=>new Promise(Ce=>{setTimeout(()=>{Ce()},be)});function de$2(){if(typeof window>"u")return null;const be=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"}[be]||"en"}function me$1(be,Ce){return[void 0,null,""].includes(be)?Ce:be/86400}async function we$1(){const be=window.location.href;try{const Ce=new URL(be),Se=Ce.searchParams.get(d$7);if(Se){Ce.searchParams.delete(d$7);const Te=JSON.parse(Buffer$1$1.from(Se,"base64").toString("utf-8"));if(isString$1(Te.forceConnected)&&isUndefined$1(Te.sourceAppPid)){const Re=await new BlockletSDK().user.getUserPublicInfo({did:Te.forceConnected});isUndefined$1(Re?.sourceAppPid)||(Te.sourceAppPid=Re.sourceAppPid)}return{params:Te,url:Ce.href}}}catch{console.warn("Failed to decode did-connect url params")}return{params:null,url:be}}const fe=(be,{width:Ce=680,height:Se=720,name:Te="did-connect:popup",offsetX:Re=0,offsetY:Le=0}={})=>{const De=h$6(be,{allowDomains:null}),Pe=window.screenX+(window.innerWidth-Ce)/2+Re,Oe=window.screenY+(window.innerHeight-Se)/2+Le,qe=[`left=${Pe}`,`top=${Oe}`,`width=${Ce}`,`height=${Se}`,"resizable=no","scrollbars=yes","status=yes","popup=yes"],je=window.open("",Te,qe.join(","));if(je===null)throw new o$5;return je.location.href=withQuery(De,{opener:window.location.origin}),je},ge=be=>new Promise((Ce,Se)=>{let Te,Re;const Le=({data:De})=>{if(De&&De.type==="authorization_response"){if(De?.error){console.error(De.error);return}setTimeout(()=>{be.popup?.close(),clearTimeout(Re),clearInterval(Te),window.removeEventListener("message",Le,!1),Ce(De)},be.closeTimeout||0)}};Re=setTimeout(()=>{clearInterval(Te),Se(new Error("Timeout")),window.removeEventListener("message",Le,!1)},(be.timeoutInSeconds||o$6)*1e3),Te=setInterval(()=>{be.popup?.closed&&(clearInterval(Te),clearTimeout(Re),window.removeEventListener("message",Le,!1),Se(new Error("Popup closed")))},1e3),window.addEventListener("message",Le)}),r$8=l$g.box.keyPair();function z$3(){const[be,Ce]=useLocalStorageState("__encKey",{defaultValue:se$2(r$8.publicKey),deserializer:Re=>Re,serializer:Re=>Re}),[Se,Te]=useLocalStorageState("__decKey",{defaultValue:se$2(r$8.secretKey),deserializer:Re=>Re,serializer:Re=>Re});return reactExports.useEffect(()=>{localStorage.getItem("__encKey")||Ce(se$2(r$8.publicKey)),localStorage.getItem("__decKey")||Te(se$2(r$8.secretKey))},[]),{encryptKey:be,decryptKey:Se,decrypt:(Re,Le=be,De=Se)=>ie$2(Re,Le,De),encrypt:(Re,Le=be)=>ae$2(Re,Le)}}const e$b=reactExports.createContext();function v$6(be){return be?.did}function o$4(be){return be?.connectedAccounts||be?.extraConfigs?.connectedAccounts||[]}function w$4(be){return be?.sourceProvider||be?.extraConfigs?.sourceProvider||"wallet"}function D$2(be){return o$4(be).map(Ce=>Ce.provider)}function g$6(be){return o$4(be).map(Ce=>Ce.did)}function r$7(be){return o$4(be).find(Ce=>Ce.provider==="wallet")}function P$2(be){return r$7(be)?.did}function m$9({session:be}){const[Ce,Se]=reactExports.useState({did:"",wallet:"",walletDid:"",permanentDid:"",connectedDids:[],connectedAccounts:[],sourceProvider:"",sourceProviders:[]});return reactExports.useEffect(()=>{if(be?.user){const Te=v$6(be.user),Re=P$2(be.user),Le=o$4(be.user),De=g$6(be.user),Pe=r$7(be.user),Oe=w$4(be.user),qe=D$2(be.user);Se({did:Te,wallet:Pe,walletDid:Re,permanentDid:Te,connectedDids:De,connectedAccounts:Le,sourceProvider:Oe,sourceProviders:qe})}},[be?.user]),Ce}function G$3(be){const Ce={prefix:e$c,checkInterval:2e3,checkTimeout:_*1e3,locale:"en",tokenKey:"_t_",encKey:"_ek_",baseUrl:"",messages:{},extraParams:{},forceConnected:!0,enabledConnectTypes:[],disableSwitchApp:!1,hideCloseButton:!1,qrcodeSize:160,options:{}};function Se(Te){const{encryptKey:Re,decrypt:Le}=z$3(),De=d$e(),Pe=reactExports.use(e$b),Oe=P$2(Pe?.session?.user),qe=pick(Te,["action","checkTimeout","locale","messages","baseUrl","prefix","checkInterval","closeTimeout","extraParams","tokenKey","encKey","forceConnected","provider","enabledConnectTypes","disableSwitchApp","hideCloseButton","options"]),je=Object.assign({},Ce,qe);je.forceConnected===!0&&(je.forceConnected=Oe||!0);const Fe=Te.serviceHost||window?.env?.apiPrefix||window?.blocklet?.prefix||"/";!Ut(je.prefix)&&!je.prefix?.startsWith(n$5)&&(je.prefix=joinURL(Fe,je.prefix));const He=De.arcSphere&&Te.open&&!window.forceOpenConnect,{run:Ge}=useDebounceFn(useMemoizedFn(async()=>{Z$3("bridge call arcDidConnect",Te,qe,je);try{const Ke=await g$8.callArc("didConnect",{...je,[je.encKey]:Re});if(Z$3("bridge callArc didConnect: result",Ke),Ke.action==="error"){Te.onError(Ke.data);return}if(Ke.action==="success"){Te.onSuccess(Ke.data,Le);return}Te.onClose(Ke.data)}catch(Ke){logger.error("Failed to callArc didConnect",Ke)}}),{leading:!0,wait:300});return reactExports.useEffect(()=>{He&&(Z$3("WrapConnect call"),Ge())},[Ge,He]),He?null:jsxRuntimeExports.jsx(be,{...Te})}return Se.propTypes={open:o$g.bool},Se}function F$5({blocklet:be,action:Ce,sourceAppPid:Se,connectState:Te,enableSwitchApp:Re}){const Le=reactExports.use(e$b),De=useCreation(()=>Re===!0?!0:!(Re===!1||Le?.session?.user&&!["login","invite","connect-to-did-space","connect-to-did-domain"].includes(Ce)),[Ce,Le?.session?.user]),Pe=useCreation(()=>{if(isUndefined$1(Se)){const Oe=s$d(be),qe=o$f(be);if(Oe&&qe?.appPid)return qe.appPid}return Se},[Se,be]);return{appInfoList:useCreation(()=>g$e(be).filter(Oe=>De?!0:isUndefined$1(Se)?isUndefined$1(Te.sourceAppPid)?Le?.session?.user?Oe.sourceAppPid===Le.session.user.sourceAppPid:Oe.sourceAppPid===Pe:Oe.sourceAppPid===Te.sourceAppPid:Oe.sourceAppPid===Se),[De,Se,Te.sourceAppPid,Pe,Le?.session?.user]),autoGenerateSourceAppPid:Pe,canSwitchApp:De}}const e$a={en:{generateError:"Request new QR Code failed",checkError:"Status check failed!",scanned:"Use your wallet to continue operation...",mfaCode:"We sent you a verification request on your DID Wallet, enter the digits below to confirm.",refresh:"Refresh",open:"Open in DID Wallet",openDidConnect:"Open DID Connect",error:"We encountered some errors when processing the request",invalidSessionStatus:"Invalid session status",success:"Success",wait:"Wait a second",waiting:"Waiting for next workflow to complete...",failed:"Failed",oops:"Oops",forbidden:"Login user and wallet user mismatch, please logout, then login to retry",webWallet:"Auth with Web Wallet",cancel:"Cancel",close:"Close",retry:"Retry",retryForbidden:"Please start this workflow from the beginning",getWallet:"Don't have the DID Wallet? Get it now.",back:"Back",connect:"Use the following to connect",connecting:"Connecting to your",connectingSuffix:"Or use the following to connect",connected:"Connected to your",busyTitle:"Busy",busyDesc:"Busy processing another DID Connect request",loginWithBefore:"Login with ",loginWithAfter:"",bindOAuth:"Bind third party login",bind:"Bind ",loginOAuthFailed:"Login with third party failed",loginWithAnotherAccount:"Login with another account",quickLoginDescription:"The following accounts have been detected in the current unified login environment. Click the following accounts to log in quickly.",quickLogin:"Login {appName} with {masterAppName} account",sessionFrom:"Session founded from {appName} blocklet",loginWithThisAccount:"Click to login with this account",chooseAccount:"Choose an account",lostPassport:"Lost your passport?",lostPassportTips:"If you have lost your passport, you can click here to claim back.",download:"Download",downloadTips:"Click to download DID Wallet if you don't have one",scanWithWallet1:"Scan with your",scanWithWallet2:" ",openInWallet:"Open in DID Wallet",webExtension:"Web Wallet Extension",connectButton:"Connect",switch:"Switch",requestConnect:"Requesting Connection",continueInWallet:"Please continue in {method}",loginWithBelow:"Login using the following methods",otherAccount:"Other account",DIDWalletPreviewTitle:"DID Wallet",DIDWalletPreviewDescription:"Scan this QR Code with DID Wallet.",DIDWalletWebPreviewTitle:"DID Wallet (Extension)",DIDWalletWebPreviewDescription:"Unleash Web3 with top security & privacy via auto sub-accounts in DID wallet",githubPreviewTitle:"GitHub",githubPreviewDescription:"Sign in with GitHub - Faster, more reliable, and convenient. Log in with your GitHub account in one click, simple and efficient.",googlePreviewTitle:"Google",googlePreviewDescription:"Sign in with Google - Faster, safer, easier. Sign in with Google with a single tap.",applePreviewTitle:"Apple",applePreviewDescription:"Sign in with Apple - The fast, easy way to sign in to apps and websites.",passkeyPreviewTitle:"Passkey",passkeyPreviewDescription:"Sign in with Passkey - More secure and convenient authentication. No passwords to remember, easily access apps and websites.",didConnectTitle:"DID Connect",didConnectDescription:"Decentralized identities and apps, W3C DID-based, future-ready."},zh:{generateError:"二维码生成失败",checkError:"扫码状态检查失败",scanned:"请到您的钱包上继续操作……",mfaCode:"我们给你的 DID Wallet 发送了一个二次验证请求,请输入下面的数字完成验证",refresh:"刷新",open:"在 DID Wallet 中打开",openDidConnect:"打开 DID Connect",error:"服务器开小差了!",invalidSessionStatus:"无效的会话状态",success:"成功",failed:"失败",wait:"请稍候",waiting:"正在等待下个流程完成...",forbidden:"登录用户和扫码用户不匹配,为保障安全,请退出后重新登录",oops:"哎呀",webWallet:"使用 Web Wallet 验证",cancel:"取消",close:"关闭",retry:"重试",retryForbidden:"请关闭当前弹窗并重新开始当前流程",getWallet:"还没有 DID Wallet? 现在下载.",back:"返回",connect:"请选择以下方式之一连接",connecting:"正在自动连接您的",connectingSuffix:"或选择以下方式手动连接",connected:"已连接您的",busyTitle:"钱包繁忙",busyDesc:"正在处理其他请求",loginWithBefore:"使用",loginWithAfter:"登录",bindOAuth:"绑定第三方登录",bind:"绑定",loginOAuthFailed:"第三方登录失败",loginWithAnotherAccount:"使用其他账户登录",quickLoginDescription:"检测到当前统一登录环境中已存在下列账户,点击以下账户,进行快捷登录",quickLogin:"使用 {masterAppName} 账户登录 {appName}",sessionFrom:"发现自 {appName} 应用",loginWithThisAccount:"点击使用此账号登录",chooseAccount:"选择一个账号",lostPassport:"找回通行证",lostPassportTips:"如果您丢失了登录通行证,您可以点击这里来找回。",download:"下载",downloadTips:"如果您还没有 DID Wallet,点击下载",scanWithWallet1:"使用",scanWithWallet2:"扫码二维码",openInWallet:"使用 DID Wallet 打开",webExtension:"浏览器插件",connectButton:"连接",switch:"切换",requestConnect:"正在请求连接",continueInWallet:"请在 {method} 中继续完成您的操作",loginWithBelow:"使用以下方式进行登录",otherAccount:"其他账号",DIDWalletPreviewTitle:"DID Connect",DIDWalletPreviewDescription:"请使用 DID Wallet 扫描二维码",DIDWalletWebPreviewTitle:"DID Wallet (Extension)",DIDWalletWebPreviewDescription:"使用 DID Wallet 自动创建子账户,保障 Web3 安全与隐私",githubPreviewTitle:"GitHub",githubPreviewDescription:"使用 GitHub 账户登录 - 更快捷、更可靠、更便捷。使用您的 GitHub 账号一键登录,简单高效。",googlePreviewTitle:"Google",googlePreviewDescription:"使用 Google 账户登录 - 更快捷、更安全、更轻松。使用 Google 账号登录,一点即达。",applePreviewTitle:"Apple",applePreviewDescription:"使用 Apple 账户登录 - 登录 App 和网站的快速、简单方法。",passkeyPreviewTitle:"Passkey",passkeyPreviewDescription:"使用 Passkey 账户登录 - 更安全、更便捷的身份验证方式。无需记忆密码,轻松登录各类应用和网站",didConnectTitle:"DID Connect",didConnectDescription:"面向未来的基于 W3C DID 去中心化身份和应用"}},T$4=reactExports.createContext({isWalletWebview:!1,isMobile:!1,matchSmallScreen:!1,blocklet:null}),{Provider:ue$1,Consumer:Ie}=T$4;function de$1({children:be,blocklet:Ce,masterBlocklet:Se=void 0,action:Te,extraParams:Re={},locale:Le="en",testOnlyBorderColor:De=void 0,...Pe}){const Oe=useUpdate(),[qe,je]=reactExports.useState([]),[Fe,He]=reactExports.useState(""),Ge=useCreation(()=>new Map(qe.map(Tt=>[Tt.name,Tt])),[qe]),Ke=useMemoizedFn(Tt=>Ge.get(Tt)),Je=useLatest(Fe),Ze=useMemoizedFn((Tt,It={})=>p$b(e$a,Tt,Le,"en",It)),Ye=reactExports.use(e$b),tt=useReactive({sourceAppPid:void 0,status:"created",autoActiveWebview:!0,deeplink:void 0,chooseMethod:"",retryConnect:noop$1}),nt=reactExports.useRef({cancelCount:0}),it=d$e(),{appInfoList:ot,autoGenerateSourceAppPid:gt,canSwitchApp:ft}=F$5({blocklet:Ce,connectState:tt,action:Te,sourceAppPid:Re?.sourceAppPid,enableSwitchApp:Re?.forceSwitch||Re?.enableSwitchApp}),wt=reactExports.useRef(null),Vt=useSize(wt),$t=useCreation(()=>(Vt?.width||0)<500,[Vt?.width]),Mt=useCreation(()=>{if(ft)return{...Re,sourceAppPid:isUndefined$1(tt.sourceAppPid)?gt:tt.sourceAppPid};const Tt=o$f(Ce)?.appPid,It=o$f(globalThis.blocklet)?.appPid;return Ye?.session?.user&&(Tt===It||!Tt)?isUndefined$1(Re?.sourceAppPid)?{...Re,sourceAppPid:Ye.session.user?.sourceAppPid}:Re:{...Re,sourceAppPid:gt}},[ft,Re,tt.sourceAppPid,Te,gt,Ye?.session?.user]),rt=useCreation(()=>{const Tt=window?.navigator?.userAgent;return Tt.indexOf("Edge")>-1||Tt.indexOf("Edg")>-1?"edge":Tt.indexOf("Chrome")>-1?"chrome":"unknown"},[]);reactExports.useEffect(()=>{tt.sourceAppPid=Mt.sourceAppPid},[Mt.sourceAppPid]);const ut=useMemoizedFn(Tt=>{tt.status=Tt||"created"}),bt=globalThis.blocklet?u$l(Ce):globalThis.env,St=useCreation(()=>{if(De)return De;const Tt=bt.appPid,It=X$2(Tt),_t=It?void 0:getDIDMotifInfo(Tt);return It?Ot(Tt):_t.color},[bt.appId,De]),Ct=useCreation(()=>({isWalletWebview:it.wallet||it.arcSphere,isMobile:it.mobile.any,matchSmallScreen:$t,connectState:tt,staticState:nt,reactiveState:tt,appInfoList:ot,extraParams:Mt,blocklet:Ce,masterBlocklet:Se,browserBrand:rt,currentAppInfo:bt,currentAppColor:St,t:Ze,locale:Le,action:Te,changeStatus:ut,getPlugin:Ke,latestActivePlugin:Je,plugins:qe,setPlugins:je,selectedPlugin:Fe,setSelectedPlugin:He,forceUpdate:Oe}),[it.wallet,it.arcSphere,it.mobile.any,$t,JSON.stringify(tt),JSON.stringify(ot),JSON.stringify(Mt),Ce,Se,Le,Fe,Oe,bt,St]);return jsxRuntimeExports.jsx(ue$1,{value:Ct,children:jsxRuntimeExports.jsx(Box,{...Pe,ref:wt,children:be})})}de$1.propTypes={children:o$g.any.isRequired,blocklet:o$g.object.isRequired,masterBlocklet:o$g.object,action:o$g.string.isRequired,extraParams:o$g.object,locale:o$g.string,testOnlyBorderColor:o$g.string};function xe$1(){return reactExports.use(T$4)}const data$s={width:24,height:24,body:'<path fill="currentColor" d="M16.15 13H5q-.425 0-.713-.288T4 12q0-.425.288-.713T5 11h11.15L13.3 8.15q-.3-.3-.288-.7t.288-.7q.3-.3.713-.313t.712.288L19.3 11.3q.15.15.213.325t.062.375q0 .2-.063.375t-.212.325l-4.575 4.575q-.3.3-.712.288t-.713-.313q-.275-.3-.288-.7t.288-.7L16.15 13Z"/>'};function b$8({title:be,description:Ce=null,icon:Se,iconScale:Te=.95,slotProps:Re={},mode:Le="normal",...De}){const Pe=useTheme();return jsxRuntimeExports.jsxs(Box,{...De,sx:o$a({display:"flex",alignItems:"center",gap:1,cursor:"pointer",p:1,borderRadius:1,backgroundColor:"grey.50",textDecoration:"none",transition:"background-color 0.5s","&:hover, &:active, &.did-connect__choose-item__active":{backgroundColor:"grey.100"},"& .other-item-icon":{opacity:"0",transform:"translateX(-100%)",transition:"transform 0.2s ease, opacity 0.1s ease"},"&:hover":{"& .other-item-icon":{display:"inline-block",transform:"translateX(0)",opacity:"1"}}},De?.sx),children:[jsxRuntimeExports.jsx(Box,{className:"arc-login-item__icon",sx:o$a({display:"flex",justifyContent:"center",alignItems:"center",color:"text.primary"},Re?.icon?.sx),children:reactExports.isValidElement(Se)?Se:jsxRuntimeExports.jsx(Box,{component:Icon,icon:Se,sx:{transform:`scale(${Te})`,width:24,height:24}})}),Le==="normal"?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Box,{sx:{display:"flex",flexDirection:"column",flex:1},children:[jsxRuntimeExports.jsx(Typography,{sx:{fontSize:14,fontWeight:"500",color:"text.primary",whiteSpace:"nowrap"},children:be}),Ce?jsxRuntimeExports.jsx(Typography,{sx:{color:"text.secondary",fontSize:12,lineHeight:1},children:Ce}):null]}),jsxRuntimeExports.jsx(Icon,{className:"other-item-icon",icon:data$s,fontSize:"1.3rem",color:Pe.palette.primary.main})]}):null]})}b$8.propTypes={title:o$g.string.isRequired,description:o$g.string,icon:o$g.any.isRequired,iconScale:o$g.number,slotProps:o$g.object,mode:o$g.oneOf(["simple","normal"])};function A$2({disableSwitchApp:be,tokenState:Ce}){const{appInfoList:Se,connectState:Te}=xe$1(),{encryptKey:Re}=z$3();return useCreation(()=>{if(!Ce.url)return"";const Le=!be&&Se.length>1,De=new URL(Ce.url||"https://www.didwallet.io"),Pe=De.searchParams.get("url");if(Pe&&Le){const Oe=new URL(decodeURIComponent(Pe));Oe.searchParams.set("_ek_",Re);const qe=Q$4();qe&&Oe.searchParams.set("vid",qe),Te?.sourceAppPid&&Oe.searchParams.set("spid",Te?.sourceAppPid),De.searchParams.set("url",Oe.toString())}return De.toString()},[Ce.url,Se.length,Te?.sourceAppPid,Re])}function K$3({ref:be=null,tokenState:Ce,locale:Se,tokenKey:Te,onClick:Re=noop$1,disableSwitchApp:Le=!1,...De}){const Pe=useReactive({loading:!1}),{isWalletWebview:Oe}=xe$1(),qe="DID Wallet",je=d$e(),Fe=new URL(window.location.href),He=A$2({disableSwitchApp:Le,tokenState:Ce}),Ge=useCreation(()=>{if(!Ce.url)return"";Fe.searchParams.set("tokenKey",Ce.token);const nt=new URL(He);je.wallet||(nt.searchParams.set("callback",encodeURIComponent(Fe)),nt.searchParams.set("callback_delay",1500)),nt.searchParams.set("locale",Se);const it=new TextEncoder,ot=nt.href.length;let gt="",ft="";try{if(Ce.appInfo){const wt=it.encode(JSON.stringify(Ce.appInfo));gt=btoa(String.fromCharCode(...wt))}if(Ce.memberAppInfo){const wt=it.encode(JSON.stringify(Ce.memberAppInfo));ft=btoa(String.fromCharCode(...wt))}if(ot+8+gt.length+14+ft.length>2e3)throw ee.warn("URL too long, drop appInfo & memberAppInfo",{appInfo:gt,memberAppInfo:ft}),new Error("URL too long");ft?gt&&(nt.searchParams.set("appInfo",gt),nt.searchParams.set("memberAppInfo",ft)):gt&&nt.searchParams.set("appInfo",gt)}catch(wt){ee.warn("Failed to convert appInfo & memberAppInfo",wt)}return nt.href.replace(/^https?:\/\//,"abt://")},[Te,Ce.token,Ce.appInfo,Ce.memberAppInfo,Ce.url]),Ke=useMemoizedFn(()=>{Pe.loading=!0,setTimeout(()=>{g$8.call("authAction",{action:"auth",deepLink:Ge})},600),setTimeout(()=>{Pe.loading=!1},2e3)}),Je=useMemoizedFn(()=>{Ce.checking=!0,Ce.status="scanned"}),Ze={};!Oe&&je.mobile.any&&(Ze.component="a",Ze.href=Ge),Ce.url||(Ze.sx={cursor:"not-allowed"});const Ye=useMemoizedFn(nt=>{Ce.url&&(Oe?Ke():je.mobile.any?Je():nt())}),tt=useMemoizedFn(()=>{Ye(Re)});return reactExports.useImperativeHandle(be,()=>({connect:Ye})),jsxRuntimeExports.jsx(b$8,{...De,...Ze,sx:o$a(De?.sx,Ze?.sx),title:qe,icon:Pe.loading||!Ce.url?jsxRuntimeExports.jsx(CircularProgress,{color:"primary",size:24,sx:{"& svg":{transform:"scale(0.75)"}}}):jsxRuntimeExports.jsx(M$3,{width:"24px",height:"24px",provider:E$9.DID_WALLET,style:{transform:"scale(0.9)"}}),iconScale:1,onClick:tt})}K$3.propTypes={tokenState:o$g.object.isRequired,tokenKey:o$g.string.isRequired,locale:o$g.string.isRequired,onClick:o$g.func,disableSwitchApp:o$g.bool,ref:o$g.any};function j$5({ref:be=null,tokenState:Ce,locale:Se="en",webWalletUrl:Te,onClick:Re=noop$1,disableSwitchApp:Le=!1,...De}){const{browserBrand:Pe}=xe$1(),Oe=N$7(),qe=useReactive({loading:!1}),je=A$2({disableSwitchApp:Le,tokenState:Ce}),Fe=useMemoizedFn(()=>{qe.loading=!0,xt({webWalletUrl:Te,url:je,locale:Se,appInfo:Ce.appInfo,memberAppInfo:Ce.memberAppInfo})?.type==="web"?qe.loading=!1:setTimeout(()=>{qe.loading=!1},3e3)}),He=useMemoizedFn(Ze=>{Ce.url&&(Re(Ze),Ze?.preventDefault(),Fe())});reactExports.useImperativeHandle(be,()=>({connect:Fe}));const Ge=useCreation(()=>Pe==="edge"?A$3.edge:Pe==="chrome"?A$3.chrome:null,[Pe]),Ke=useCreation(()=>{const Ze={};return Oe?Ze.onClick=He:Ge?(Ze.component="a",Ze.href=Ge,Ze.target="_blank",Ze.rel="noopener"):Ze.onClick=He,Ce.url||(Ze.sx={cursor:"not-allowed"}),Ze},[He,Ce.url]),Je=useCreation(()=>Oe||Ge?"DID Wallet (Extension)":"DID Wallet (Web)",[Oe,Ge]);return jsxRuntimeExports.jsx(b$8,{...De,sx:o$a({textDecoration:"none"},De?.sx,Ke.sx),title:Je,icon:qe.loading||!Ce.url?jsxRuntimeExports.jsx(CircularProgress,{color:"primary",size:24,sx:{"& svg":{transform:"scale(0.75)"}}}):jsxRuntimeExports.jsx(M$3,{width:"24px",height:"24px",provider:E$9.DID_WALLET,style:{transform:"scale(0.9)"}}),...omit(Ke,"sx")})}j$5.propTypes={tokenState:o$g.object.isRequired,locale:o$g.string,webWalletUrl:o$g.string.isRequired,onClick:o$g.func,disableSwitchApp:o$g.bool,ref:o$g.any};function $$4({children:be,title:Ce="",prepend:Se=null,toolbar:Te=null,actions:Re=null,showCloseButton:Le=!0,actionsPosition:De="right",PaperProps:Pe={},slotProps:Oe={},...qe}){const je=useTheme(),Fe=useMediaQuery(je.breakpoints.down("md")),He=Ce||Le||Te,Ge=(Je,Ze)=>{const{onClose:Ye}=qe;Ye&&Ye(Je,Ze)};Pe.style=Object.assign({minWidth:300,minHeight:300},Pe.style);const Ke=jsxRuntimeExports.jsx(IconButton,{className:"ux-dialog_closeButton",onClick:Je=>Ge(Je,"closeButton"),children:jsxRuntimeExports.jsx(CloseIcon,{})});return jsxRuntimeExports.jsxs(H$5,{fullScreen:Fe,onClose:Ge,PaperProps:Pe,...qe,children:[He&&jsxRuntimeExports.jsxs(O$2,{...Oe.header,className:"ux-dialog_header",isMobile:Fe,children:[jsxRuntimeExports.jsxs("div",{className:"ux-dialog_left",children:[Le&&Fe&&Ke,Se&&jsxRuntimeExports.jsx("div",{className:"ux-dialog_prepend",children:Se}),Ce&&jsxRuntimeExports.jsx(Typography,{variant:"h6",className:"ux-dialog_title",children:Ce})]}),jsxRuntimeExports.jsxs("div",{className:"ux-dialog_right",children:[jsxRuntimeExports.jsx("div",{className:"ux-dialog_toolbar",children:Te}),Le&&!Fe&&Ke]})]}),jsxRuntimeExports.jsx(DialogContent,{...Oe.content,children:be}),Re&&jsxRuntimeExports.jsx(DialogActions,{className:`ux-dialog_actions--${De}`,children:Re})]})}$$4.propTypes={children:o$g.node.isRequired,title:o$g.node,prepend:o$g.node,toolbar:o$g.node,actions:o$g.node,showCloseButton:o$g.bool,actionsPosition:o$g.oneOf(["left","center","right"]),PaperProps:o$g.object,slotProps:o$g.shape({content:o$g.object,header:o$g.object}),onClose:o$g.func};const H$5=m$c(Dialog)`
|
|
535
|
+
`+new Array(De.length+4).join(" "):je<Pe.length-2&&(qe+=" ")}console.log(qe)}function Le(De,Pe,Oe){let qe=new Date().getTime();const je=new Uint8Array(Pe);for(let He=0;He<Pe;He++)je[He]=He%256;const Fe=new Date().getTime();console.log("Generated random input in "+(Fe-qe)+"ms"),qe=Fe;for(let He=0;He<Oe;He++){const Ge=De(je),Ke=new Date().getTime(),Je=Ke-qe;qe=Ke,console.log("Hashed in "+Je+"ms: "+Ge.substring(0,20)+"..."),console.log(Math.round(Pe/(1<<20)/(Je/1e3)*100)/100+" MB PER SECOND")}}return util$3={normalizeInput:Ce,toHex:Se,debugPrint:Re,testSpeed:Le},util$3}var blake2b_1,hasRequiredBlake2b;function requireBlake2b(){if(hasRequiredBlake2b)return blake2b_1;hasRequiredBlake2b=1;const be=requireUtil$3();function Ce(Ye,tt,nt){const it=Ye[tt]+Ye[nt];let ot=Ye[tt+1]+Ye[nt+1];it>=4294967296&&ot++,Ye[tt]=it,Ye[tt+1]=ot}function Se(Ye,tt,nt,it){let ot=Ye[tt]+nt;nt<0&&(ot+=4294967296);let gt=Ye[tt+1]+it;ot>=4294967296&>++,Ye[tt]=ot,Ye[tt+1]=gt}function Te(Ye,tt){return Ye[tt]^Ye[tt+1]<<8^Ye[tt+2]<<16^Ye[tt+3]<<24}function Re(Ye,tt,nt,it,ot,gt){const ft=qe[ot],wt=qe[ot+1],Vt=qe[gt],$t=qe[gt+1];Ce(Oe,Ye,tt),Se(Oe,Ye,ft,wt);let Mt=Oe[it]^Oe[Ye],rt=Oe[it+1]^Oe[Ye+1];Oe[it]=rt,Oe[it+1]=Mt,Ce(Oe,nt,it),Mt=Oe[tt]^Oe[nt],rt=Oe[tt+1]^Oe[nt+1],Oe[tt]=Mt>>>24^rt<<8,Oe[tt+1]=rt>>>24^Mt<<8,Ce(Oe,Ye,tt),Se(Oe,Ye,Vt,$t),Mt=Oe[it]^Oe[Ye],rt=Oe[it+1]^Oe[Ye+1],Oe[it]=Mt>>>16^rt<<16,Oe[it+1]=rt>>>16^Mt<<16,Ce(Oe,nt,it),Mt=Oe[tt]^Oe[nt],rt=Oe[tt+1]^Oe[nt+1],Oe[tt]=rt>>>31^Mt<<1,Oe[tt+1]=Mt>>>31^rt<<1}const Le=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),De=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],Pe=new Uint8Array(De.map(function(Ye){return Ye*2})),Oe=new Uint32Array(32),qe=new Uint32Array(32);function je(Ye,tt){let nt=0;for(nt=0;nt<16;nt++)Oe[nt]=Ye.h[nt],Oe[nt+16]=Le[nt];for(Oe[24]=Oe[24]^Ye.t,Oe[25]=Oe[25]^Ye.t/4294967296,tt&&(Oe[28]=~Oe[28],Oe[29]=~Oe[29]),nt=0;nt<32;nt++)qe[nt]=Te(Ye.b,4*nt);for(nt=0;nt<12;nt++)Re(0,8,16,24,Pe[nt*16+0],Pe[nt*16+1]),Re(2,10,18,26,Pe[nt*16+2],Pe[nt*16+3]),Re(4,12,20,28,Pe[nt*16+4],Pe[nt*16+5]),Re(6,14,22,30,Pe[nt*16+6],Pe[nt*16+7]),Re(0,10,20,30,Pe[nt*16+8],Pe[nt*16+9]),Re(2,12,22,24,Pe[nt*16+10],Pe[nt*16+11]),Re(4,14,16,26,Pe[nt*16+12],Pe[nt*16+13]),Re(6,8,18,28,Pe[nt*16+14],Pe[nt*16+15]);for(nt=0;nt<16;nt++)Ye.h[nt]=Ye.h[nt]^Oe[nt]^Oe[nt+16]}const Fe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function He(Ye,tt,nt,it){if(Ye===0||Ye>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(tt&&tt.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(nt&&nt.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(it&&it.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");const ot={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:Ye};Fe.fill(0),Fe[0]=Ye,tt&&(Fe[1]=tt.length),Fe[2]=1,Fe[3]=1,nt&&Fe.set(nt,32),it&&Fe.set(it,48);for(let gt=0;gt<16;gt++)ot.h[gt]=Le[gt]^Te(Fe,gt*4);return tt&&(Ge(ot,tt),ot.c=128),ot}function Ge(Ye,tt){for(let nt=0;nt<tt.length;nt++)Ye.c===128&&(Ye.t+=Ye.c,je(Ye,!1),Ye.c=0),Ye.b[Ye.c++]=tt[nt]}function Ke(Ye){for(Ye.t+=Ye.c;Ye.c<128;)Ye.b[Ye.c++]=0;je(Ye,!0);const tt=new Uint8Array(Ye.outlen);for(let nt=0;nt<Ye.outlen;nt++)tt[nt]=Ye.h[nt>>2]>>8*(nt&3);return tt}function Je(Ye,tt,nt,it,ot){nt=nt||64,Ye=be.normalizeInput(Ye),it&&(it=be.normalizeInput(it)),ot&&(ot=be.normalizeInput(ot));const gt=He(nt,tt,it,ot);return Ge(gt,Ye),Ke(gt)}function Ze(Ye,tt,nt,it,ot){const gt=Je(Ye,tt,nt,it,ot);return be.toHex(gt)}return blake2b_1={blake2b:Je,blake2bHex:Ze,blake2bInit:He,blake2bUpdate:Ge,blake2bFinal:Ke},blake2b_1}var blake2bExports=requireBlake2b();const blake=getDefaultExportFromCjs$1(blake2bExports);function nonce(be,Ce){var Se=blake.blake2bInit(l$g.box.nonceLength,null);return blake.blake2bUpdate(Se,be),blake.blake2bUpdate(Se,Ce),blake.blake2bFinal(Se)}function zero(be){for(var Ce=0;Ce<be.length;Ce++)be[Ce]=0}function seal$1(be,Ce){var Se=new Uint8Array(overheadLength+be.length),Te=l$g.box.keyPair();Se.set(Te.publicKey);var Re=nonce(Te.publicKey,Ce),Le=l$g.box(be,Re,Ce,Te.secretKey);return Se.set(Le,Te.publicKey.length),zero(Te.secretKey),Se}function open(be,Ce,Se){var Te=be.subarray(0,l$g.box.publicKeyLength),Re=nonce(Te,Ce),Le=be.subarray(l$g.box.publicKeyLength);return l$g.box.open(Le,Re,Te,Se)}const g$7={seal:seal$1,open};let i$5=class extends Error{};function h$6(be,{throwOnError:Ce=!0,returnRaw:Se=!1,allowProtocols:Te=["https:","http:"],allowDomains:Re=void 0}={}){Re===void 0&&(Re=window.blocklet?.domainAliases||[],Re.push(window.location.href));try{let Le;be.startsWith("/")?Le=window.location.origin:be.startsWith("./")&&(Le=window.location.href);const De=new URL(be,Le),Pe=Re&&Re.map(Oe=>{try{return new URL(Oe).hostname}catch{return new URL(`https://${Oe}`).hostname}});if(Te!==null&&!Te.includes(De.protocol)){if(console.error(`Invalid protocol: ${De.protocol}`),Ce)throw new i$5(`Invalid protocol: ${De.protocol}`);return null}if(Pe!==null&&!Pe.includes(De.hostname)){if(console.error(`Invalid host: ${De.hostname}`),Ce)throw new i$5(`Invalid host: ${De.hostname}`);return null}return Se?be:De.href}catch(Le){if(Le instanceof i$5){if(Ce)throw Le;return null}if(console.error(`Failed to convert url: ${be}`),Ce)throw new Error(`Failed to convert url: ${be}`);return null}}var browser$5={exports:{}},ms,hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var be=1e3,Ce=be*60,Se=Ce*60,Te=Se*24,Re=Te*7,Le=Te*365.25;ms=function(je,Fe){Fe=Fe||{};var He=typeof je;if(He==="string"&&je.length>0)return De(je);if(He==="number"&&isFinite(je))return Fe.long?Oe(je):Pe(je);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(je))};function De(je){if(je=String(je),!(je.length>100)){var Fe=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(je);if(Fe){var He=parseFloat(Fe[1]),Ge=(Fe[2]||"ms").toLowerCase();switch(Ge){case"years":case"year":case"yrs":case"yr":case"y":return He*Le;case"weeks":case"week":case"w":return He*Re;case"days":case"day":case"d":return He*Te;case"hours":case"hour":case"hrs":case"hr":case"h":return He*Se;case"minutes":case"minute":case"mins":case"min":case"m":return He*Ce;case"seconds":case"second":case"secs":case"sec":case"s":return He*be;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return He;default:return}}}}function Pe(je){var Fe=Math.abs(je);return Fe>=Te?Math.round(je/Te)+"d":Fe>=Se?Math.round(je/Se)+"h":Fe>=Ce?Math.round(je/Ce)+"m":Fe>=be?Math.round(je/be)+"s":je+"ms"}function Oe(je){var Fe=Math.abs(je);return Fe>=Te?qe(je,Fe,Te,"day"):Fe>=Se?qe(je,Fe,Se,"hour"):Fe>=Ce?qe(je,Fe,Ce,"minute"):Fe>=be?qe(je,Fe,be,"second"):je+" ms"}function qe(je,Fe,He,Ge){var Ke=Fe>=He*1.5;return Math.round(je/He)+" "+Ge+(Ke?"s":"")}return ms}var common,hasRequiredCommon;function requireCommon(){if(hasRequiredCommon)return common;hasRequiredCommon=1;function be(Ce){Te.debug=Te,Te.default=Te,Te.coerce=qe,Te.disable=Pe,Te.enable=Le,Te.enabled=Oe,Te.humanize=requireMs(),Te.destroy=je,Object.keys(Ce).forEach(Fe=>{Te[Fe]=Ce[Fe]}),Te.names=[],Te.skips=[],Te.formatters={};function Se(Fe){let He=0;for(let Ge=0;Ge<Fe.length;Ge++)He=(He<<5)-He+Fe.charCodeAt(Ge),He|=0;return Te.colors[Math.abs(He)%Te.colors.length]}Te.selectColor=Se;function Te(Fe){let He,Ge=null,Ke,Je;function Ze(...Ye){if(!Ze.enabled)return;const tt=Ze,nt=Number(new Date),it=nt-(He||nt);tt.diff=it,tt.prev=He,tt.curr=nt,He=nt,Ye[0]=Te.coerce(Ye[0]),typeof Ye[0]!="string"&&Ye.unshift("%O");let ot=0;Ye[0]=Ye[0].replace(/%([a-zA-Z%])/g,(ft,wt)=>{if(ft==="%%")return"%";ot++;const Vt=Te.formatters[wt];if(typeof Vt=="function"){const $t=Ye[ot];ft=Vt.call(tt,$t),Ye.splice(ot,1),ot--}return ft}),Te.formatArgs.call(tt,Ye),(tt.log||Te.log).apply(tt,Ye)}return Ze.namespace=Fe,Ze.useColors=Te.useColors(),Ze.color=Te.selectColor(Fe),Ze.extend=Re,Ze.destroy=Te.destroy,Object.defineProperty(Ze,"enabled",{enumerable:!0,configurable:!1,get:()=>Ge!==null?Ge:(Ke!==Te.namespaces&&(Ke=Te.namespaces,Je=Te.enabled(Fe)),Je),set:Ye=>{Ge=Ye}}),typeof Te.init=="function"&&Te.init(Ze),Ze}function Re(Fe,He){const Ge=Te(this.namespace+(typeof He>"u"?":":He)+Fe);return Ge.log=this.log,Ge}function Le(Fe){Te.save(Fe),Te.namespaces=Fe,Te.names=[],Te.skips=[];const He=(typeof Fe=="string"?Fe:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const Ge of He)Ge[0]==="-"?Te.skips.push(Ge.slice(1)):Te.names.push(Ge)}function De(Fe,He){let Ge=0,Ke=0,Je=-1,Ze=0;for(;Ge<Fe.length;)if(Ke<He.length&&(He[Ke]===Fe[Ge]||He[Ke]==="*"))He[Ke]==="*"?(Je=Ke,Ze=Ge,Ke++):(Ge++,Ke++);else if(Je!==-1)Ke=Je+1,Ze++,Ge=Ze;else return!1;for(;Ke<He.length&&He[Ke]==="*";)Ke++;return Ke===He.length}function Pe(){const Fe=[...Te.names,...Te.skips.map(He=>"-"+He)].join(",");return Te.enable(""),Fe}function Oe(Fe){for(const He of Te.skips)if(De(Fe,He))return!1;for(const He of Te.names)if(De(Fe,He))return!0;return!1}function qe(Fe){return Fe instanceof Error?Fe.stack||Fe.message:Fe}function je(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return Te.enable(Te.load()),Te}return common=be,common}var hasRequiredBrowser$5;function requireBrowser$5(){return hasRequiredBrowser$5||(hasRequiredBrowser$5=1,function(be,Ce){var Se={};Ce.formatArgs=Re,Ce.save=Le,Ce.load=De,Ce.useColors=Te,Ce.storage=Pe(),Ce.destroy=(()=>{let qe=!1;return()=>{qe||(qe=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),Ce.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Te(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let qe;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(qe=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(qe[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Re(qe){if(qe[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+qe[0]+(this.useColors?"%c ":" ")+"+"+be.exports.humanize(this.diff),!this.useColors)return;const je="color: "+this.color;qe.splice(1,0,je,"color: inherit");let Fe=0,He=0;qe[0].replace(/%[a-zA-Z%]/g,Ge=>{Ge!=="%%"&&(Fe++,Ge==="%c"&&(He=Fe))}),qe.splice(He,0,je)}Ce.log=console.debug||console.log||(()=>{});function Le(qe){try{qe?Ce.storage.setItem("debug",qe):Ce.storage.removeItem("debug")}catch{}}function De(){let qe;try{qe=Ce.storage.getItem("debug")||Ce.storage.getItem("DEBUG")}catch{}return!qe&&typeof process$1<"u"&&"env"in process$1&&(qe=Se.DEBUG),qe}function Pe(){try{return localStorage}catch{}}be.exports=requireCommon()(Ce);const{formatters:Oe}=be.exports;Oe.j=function(qe){try{return JSON.stringify(qe)}catch(je){return"[UnexpectedJSONParseError]: "+je.message}}}(browser$5,browser$5.exports)),browser$5.exports}var browserExports$2=requireBrowser$5();const Debug=getDefaultExportFromCjs$1(browserExports$2),i$4=Debug,d$8=be=>new Proxy(window.console,{get(Ce,Se){return(...Te)=>{try{return["log","debug","info","warn","error"].includes(Se)?Ce[Se](be,...Te):Ce[Se]instanceof Function?Ce[Se](...Te):Ce[Se]}catch(Re){console.error(`Logger error in ${be}:`,Re);return}}}}),o$7="3.0.36",s$7={version:o$7},_=300,o$6=1800,n$5="/.well-known/service",E$5="login_token",c$5="refresh_token",t$c="/.well-known/service",e$c="/api/did",d$7="__did-connect__",T$5=["scanned","succeed","error","busy"],A$3={chrome:"https://chromewebstore.google.com/detail/did-wallet/ibjflpbmadchofnbpppegdbnifdgincp",edge:"https://microsoftedge.microsoft.com/addons/detail/did-wallet/hjgoblidjnnnamdkinbichnfbmghmafd"},i$3=2*1e3,S$4=6,I$5="nf_lang",l$f=1e3,D$3=window?.blocklet?.DID_SPACES_BASE_URL||"https://www.didspaces.com/app";let o$5=class extends Error{constructor(){super("Failed to open popup")}};const l$e="wallet_url",c$4=()=>window.localStorage.getItem(l$e)||window.env?.webWalletUrl||window.blocklet?.webWalletUrl||"https://web.abtwallet.io/",w$5=be=>{const{protocol:Ce}=window.location;let Se="";try{Se=new URL(be).protocol}catch{Se=""}return Ce===Se},{version:O$3}=s$7,Z$3=i$4("did-connect"),ee=d$8("did-connect");function h$5(be){return(be+"===".slice((be.length+3)%4)).replace(/-/g,"+").replace(/_/g,"/")}function b$9(be){return be.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}const oe$1=be=>window.atob(h$5(be)),ne$2=be=>{const Ce=new URL(be),Se=decodeURIComponent(Ce.searchParams.get("url"));return new URL(Se).searchParams.get("_t_")},W$1=(be,Ce)=>{let Se=Ce?.publisher;if(!Se){if(be?.agentDid)return be.agentDid;Se=be?.publisher}return Se?Se.replace("did:abt:",""):globalThis.blocklet?.appPid||globalThis.blocklet?.appId||globalThis.env?.appId||""},z$4=be=>{const Ce={connected_did:be.did||"",connected_pk:be.pk||"",connected_app:W$1(be.appInfo,be.memberAppInfo)};return be?.connectedWallet?.os&&(Ce.connected_wallet_os=be.connectedWallet.os),Ce},te$1=(be,Ce=!1)=>{if(!be)return;Ce||(be=z$4(be));const Se=ht({expireInDays:7,returnDomain:!1});!isNil(be.connected_did)&&!isNil(be.connected_pk)&&libExports$3.isValid(be.connected_did)&&libExports$3.isFromPublicKey(be.connected_did,be.connected_pk)&&(Cookies.set("connected_did",be.connected_did,Se),Cookies.set("connected_pk",be.connected_pk,Se)),!isNil(be.connected_app)&&libExports$3.isValid(be.connected_app)&&Cookies.set("connected_app",be.connected_app,Se),be.connected_wallet_os&&Cookies.set("connected_wallet_os",be.connected_wallet_os,Se)},se$2=be=>b$9(Buffer$1$1.from(be).toString("base64")),u$b=be=>Uint8Array.from(Buffer$1$1.from(h$5(be),"base64")),ie$2=(be,Ce,Se)=>{const Te=g$7.open(Uint8Array.from(Buffer$1$1.from(be,"base64")),u$b(Ce),u$b(Se));return JSON.parse(Buffer$1$1.from(Te).toString("utf8"))},ae$2=(be,Ce)=>Buffer$1$1.from(g$7.seal(Uint8Array.from(Buffer$1$1.from(be)),u$b(Ce))).toString("base64"),ce$1=(be,Ce="_t_")=>{const Se=new URL(be),Te={baseUrl:Se.origin,prefix:Se.pathname.replace(/\/auth$/,""),token:Se.searchParams.get(Ce)||""};if(!Te.baseUrl)throw new Error("Invalid next workflow: origin empty");if(!Te.token)throw new Error("Invalid next workflow: token not found");return Te},f$5=(be,Ce)=>{let Se=be.message;const{response:Te}=be;return Te&&(Se=Te.data?.error||Te.data?.message||Te.data||Ce,Se=typeof Se=="object"?Ce:Se),Se},pe=(be,Ce,Se)=>{if(!be)return be;if(!be.name)return f$5(be,Ce);switch(be.name){case"NotAllowedError":return Se?Se("webauthn.error.canceled"):"Authentication was canceled";case"SecurityError":return Se?Se("webauthn.error.security"):"A security error occurred during authentication";case"NotSupportedError":return Se?Se("webauthn.error.notSupported"):"This browser does not support passkey authentication";case"AbortError":return Se?Se("webauthn.error.aborted"):"Authentication was aborted";default:return console.warn("Unhandled WebAuthn error type:",be.name),f$5(be,Ce)}},le$2=(be={},{lazy:Ce=!1,lazyTime:Se=300}={})=>{const Te={...be.headers,"x-did-connect-version":O$3},Re=createAxios({...be,headers:Te},{lazy:Ce,lazyTime:Se});return Re.interceptors.request.use(Le=>{const De=Q$4();return De&&(Le.headers["x-blocklet-visitor-id"]=De),Le}),Re},ue$2=(be=0)=>new Promise(Ce=>{setTimeout(()=>{Ce()},be)});function de$2(){if(typeof window>"u")return null;const be=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"}[be]||"en"}function me$1(be,Ce){return[void 0,null,""].includes(be)?Ce:be/86400}async function we$1(){const be=window.location.href;try{const Ce=new URL(be),Se=Ce.searchParams.get(d$7);if(Se){Ce.searchParams.delete(d$7);const Te=JSON.parse(Buffer$1$1.from(Se,"base64").toString("utf-8"));if(isString$1(Te.forceConnected)&&isUndefined$1(Te.sourceAppPid)){const Re=await new BlockletSDK().user.getUserPublicInfo({did:Te.forceConnected});isUndefined$1(Re?.sourceAppPid)||(Te.sourceAppPid=Re.sourceAppPid)}return{params:Te,url:Ce.href}}}catch{console.warn("Failed to decode did-connect url params")}return{params:null,url:be}}const fe=(be,{width:Ce=680,height:Se=720,name:Te="did-connect:popup",offsetX:Re=0,offsetY:Le=0}={})=>{const De=h$6(be,{allowDomains:null}),Pe=window.screenX+(window.innerWidth-Ce)/2+Re,Oe=window.screenY+(window.innerHeight-Se)/2+Le,qe=[`left=${Pe}`,`top=${Oe}`,`width=${Ce}`,`height=${Se}`,"resizable=no","scrollbars=yes","status=yes","popup=yes"],je=window.open("",Te,qe.join(","));if(je===null)throw new o$5;return je.location.href=withQuery(De,{opener:window.location.origin}),je},ge=be=>new Promise((Ce,Se)=>{let Te,Re;const Le=({data:De})=>{if(De&&De.type==="authorization_response"){if(De?.error){console.error(De.error);return}setTimeout(()=>{be.popup?.close(),clearTimeout(Re),clearInterval(Te),window.removeEventListener("message",Le,!1),Ce(De)},be.closeTimeout||0)}};Re=setTimeout(()=>{clearInterval(Te),Se(new Error("Timeout")),window.removeEventListener("message",Le,!1)},(be.timeoutInSeconds||o$6)*1e3),Te=setInterval(()=>{be.popup?.closed&&(clearInterval(Te),clearTimeout(Re),window.removeEventListener("message",Le,!1),Se(new Error("Popup closed")))},1e3),window.addEventListener("message",Le)}),r$8=l$g.box.keyPair();function z$3(){const[be,Ce]=useLocalStorageState("__encKey",{defaultValue:se$2(r$8.publicKey),deserializer:Re=>Re,serializer:Re=>Re}),[Se,Te]=useLocalStorageState("__decKey",{defaultValue:se$2(r$8.secretKey),deserializer:Re=>Re,serializer:Re=>Re});return reactExports.useEffect(()=>{localStorage.getItem("__encKey")||Ce(se$2(r$8.publicKey)),localStorage.getItem("__decKey")||Te(se$2(r$8.secretKey))},[]),{encryptKey:be,decryptKey:Se,decrypt:(Re,Le=be,De=Se)=>ie$2(Re,Le,De),encrypt:(Re,Le=be)=>ae$2(Re,Le)}}const e$b=reactExports.createContext();function v$6(be){return be?.did}function o$4(be){return be?.connectedAccounts||be?.extraConfigs?.connectedAccounts||[]}function w$4(be){return be?.sourceProvider||be?.extraConfigs?.sourceProvider||"wallet"}function D$2(be){return o$4(be).map(Ce=>Ce.provider)}function g$6(be){return o$4(be).map(Ce=>Ce.did)}function r$7(be){return o$4(be).find(Ce=>Ce.provider==="wallet")}function P$2(be){return r$7(be)?.did}function m$9({session:be}){const[Ce,Se]=reactExports.useState({did:"",wallet:"",walletDid:"",permanentDid:"",connectedDids:[],connectedAccounts:[],sourceProvider:"",sourceProviders:[]});return reactExports.useEffect(()=>{if(be?.user){const Te=v$6(be.user),Re=P$2(be.user),Le=o$4(be.user),De=g$6(be.user),Pe=r$7(be.user),Oe=w$4(be.user),qe=D$2(be.user);Se({did:Te,wallet:Pe,walletDid:Re,permanentDid:Te,connectedDids:De,connectedAccounts:Le,sourceProvider:Oe,sourceProviders:qe})}},[be?.user]),Ce}function G$3(be){const Ce={prefix:e$c,checkInterval:2e3,checkTimeout:_*1e3,locale:"en",tokenKey:"_t_",encKey:"_ek_",baseUrl:"",messages:{},extraParams:{},forceConnected:!0,enabledConnectTypes:[],disableSwitchApp:!1,hideCloseButton:!1,qrcodeSize:160,options:{}};function Se(Te){const{encryptKey:Re,decrypt:Le}=z$3(),De=d$e(),Pe=reactExports.use(e$b),Oe=P$2(Pe?.session?.user),qe=pick(Te,["action","checkTimeout","locale","messages","baseUrl","prefix","checkInterval","closeTimeout","extraParams","tokenKey","encKey","forceConnected","provider","enabledConnectTypes","disableSwitchApp","hideCloseButton","options"]),je=Object.assign({},Ce,qe);je.forceConnected===!0&&(je.forceConnected=Oe||!0);const Fe=Te.serviceHost||window?.env?.apiPrefix||window?.blocklet?.prefix||"/";!Ut(je.prefix)&&!je.prefix?.startsWith(n$5)&&(je.prefix=joinURL(Fe,je.prefix));const He=De.arcSphere&&Te.open&&!window.forceOpenConnect,{run:Ge}=useDebounceFn(useMemoizedFn(async()=>{Z$3("bridge call arcDidConnect",Te,qe,je);try{const Ke=await g$8.callArc("didConnect",{...je,[je.encKey]:Re});if(Z$3("bridge callArc didConnect: result",Ke),Ke.action==="error"){Te.onError(Ke.data);return}if(Ke.action==="success"){Te.onSuccess(Ke.data,Le);return}Te.onClose(Ke.data)}catch(Ke){logger.error("Failed to callArc didConnect",Ke)}}),{leading:!0,wait:300});return reactExports.useEffect(()=>{He&&(Z$3("WrapConnect call"),Ge())},[Ge,He]),He?null:jsxRuntimeExports.jsx(be,{...Te})}return Se.propTypes={open:o$g.bool},Se}function F$5({blocklet:be,action:Ce,sourceAppPid:Se,connectState:Te,enableSwitchApp:Re}){const Le=reactExports.use(e$b),De=useCreation(()=>Re===!0?!0:!(Re===!1||Le?.session?.user&&!["login","invite","connect-to-did-space","connect-to-did-domain"].includes(Ce)),[Ce,Le?.session?.user]),Pe=useCreation(()=>{if(isUndefined$1(Se)){const Oe=s$d(be),qe=o$f(be);if(Oe&&qe?.appPid)return qe.appPid}return Se},[Se,be]);return{appInfoList:useCreation(()=>g$e(be).filter(Oe=>De?!0:isUndefined$1(Se)?isUndefined$1(Te.sourceAppPid)?Le?.session?.user?Oe.sourceAppPid===Le.session.user.sourceAppPid:Oe.sourceAppPid===Pe:Oe.sourceAppPid===Te.sourceAppPid:Oe.sourceAppPid===Se),[De,Se,Te.sourceAppPid,Pe,Le?.session?.user]),autoGenerateSourceAppPid:Pe,canSwitchApp:De}}const e$a={en:{generateError:"Request new QR Code failed",checkError:"Status check failed!",scanned:"Use your wallet to continue operation...",mfaCode:"We sent you a verification request on your DID Wallet, enter the digits below to confirm.",refresh:"Refresh",open:"Open in DID Wallet",openDidConnect:"Open DID Connect",error:"We encountered some errors when processing the request",invalidSessionStatus:"Invalid session status",success:"Success",wait:"Wait a second",waiting:"Waiting for next workflow to complete...",failed:"Failed",oops:"Oops",forbidden:"Login user and wallet user mismatch, please logout, then login to retry",webWallet:"Auth with Web Wallet",cancel:"Cancel",close:"Close",retry:"Retry",retryForbidden:"Please start this workflow from the beginning",getWallet:"Don't have the DID Wallet? Get it now.",back:"Back",connect:"Use the following to connect",connecting:"Connecting to your",connectingSuffix:"Or use the following to connect",connected:"Connected to your",busyTitle:"Busy",busyDesc:"Busy processing another DID Connect request",loginWithBefore:"Login with ",loginWithAfter:"",bindOAuth:"Bind third party login",bind:"Bind ",loginOAuthFailed:"Login with third party failed",loginWithAnotherAccount:"Login with another account",quickLoginDescription:"The following accounts have been detected in the current unified login environment. Click the following accounts to log in quickly.",quickLogin:"Login {appName} with {masterAppName} account",sessionFrom:"Session founded from {appName} blocklet",loginWithThisAccount:"Click to login with this account",chooseAccount:"Choose an account",lostPassport:"Lost your passport?",lostPassportTips:"If you have lost your passport, you can click here to claim back.",download:"Download",downloadTips:"Click to download DID Wallet if you don't have one",scanWithWallet1:"Scan with your",scanWithWallet2:" ",openInWallet:"Open in DID Wallet",webExtension:"Web Wallet Extension",connectButton:"Connect",switch:"Switch",requestConnect:"Requesting Connection",continueInWallet:"Please continue in {method}",loginWithBelow:"Login using the following methods",otherAccount:"Other account",DIDWalletPreviewTitle:"DID Wallet",DIDWalletPreviewDescription:"Scan this QR Code with DID Wallet.",DIDWalletWebPreviewTitle:"DID Wallet (Extension)",DIDWalletWebPreviewDescription:"Unleash Web3 with top security & privacy via auto sub-accounts in DID wallet",githubPreviewTitle:"GitHub",githubPreviewDescription:"Sign in with GitHub - Faster, more reliable, and convenient. Log in with your GitHub account in one click, simple and efficient.",googlePreviewTitle:"Google",googlePreviewDescription:"Sign in with Google - Faster, safer, easier. Sign in with Google with a single tap.",applePreviewTitle:"Apple",applePreviewDescription:"Sign in with Apple - The fast, easy way to sign in to apps and websites.",passkeyPreviewTitle:"Passkey",passkeyPreviewDescription:"Sign in with Passkey - More secure and convenient authentication. No passwords to remember, easily access apps and websites.",didConnectTitle:"DID Connect",didConnectDescription:"Decentralized identities and apps, W3C DID-based, future-ready."},zh:{generateError:"二维码生成失败",checkError:"扫码状态检查失败",scanned:"请到您的钱包上继续操作……",mfaCode:"我们给你的 DID Wallet 发送了一个二次验证请求,请输入下面的数字完成验证",refresh:"刷新",open:"在 DID Wallet 中打开",openDidConnect:"打开 DID Connect",error:"服务器开小差了!",invalidSessionStatus:"无效的会话状态",success:"成功",failed:"失败",wait:"请稍候",waiting:"正在等待下个流程完成...",forbidden:"登录用户和扫码用户不匹配,为保障安全,请退出后重新登录",oops:"哎呀",webWallet:"使用 Web Wallet 验证",cancel:"取消",close:"关闭",retry:"重试",retryForbidden:"请关闭当前弹窗并重新开始当前流程",getWallet:"还没有 DID Wallet? 现在下载.",back:"返回",connect:"请选择以下方式之一连接",connecting:"正在自动连接您的",connectingSuffix:"或选择以下方式手动连接",connected:"已连接您的",busyTitle:"钱包繁忙",busyDesc:"正在处理其他请求",loginWithBefore:"使用",loginWithAfter:"登录",bindOAuth:"绑定第三方登录",bind:"绑定",loginOAuthFailed:"第三方登录失败",loginWithAnotherAccount:"使用其他账户登录",quickLoginDescription:"检测到当前统一登录环境中已存在下列账户,点击以下账户,进行快捷登录",quickLogin:"使用 {masterAppName} 账户登录 {appName}",sessionFrom:"发现自 {appName} 应用",loginWithThisAccount:"点击使用此账号登录",chooseAccount:"选择一个账号",lostPassport:"找回通行证",lostPassportTips:"如果您丢失了登录通行证,您可以点击这里来找回。",download:"下载",downloadTips:"如果您还没有 DID Wallet,点击下载",scanWithWallet1:"使用",scanWithWallet2:"扫码二维码",openInWallet:"使用 DID Wallet 打开",webExtension:"浏览器插件",connectButton:"连接",switch:"切换",requestConnect:"正在请求连接",continueInWallet:"请在 {method} 中继续完成您的操作",loginWithBelow:"使用以下方式进行登录",otherAccount:"其他账号",DIDWalletPreviewTitle:"DID Connect",DIDWalletPreviewDescription:"请使用 DID Wallet 扫描二维码",DIDWalletWebPreviewTitle:"DID Wallet (Extension)",DIDWalletWebPreviewDescription:"使用 DID Wallet 自动创建子账户,保障 Web3 安全与隐私",githubPreviewTitle:"GitHub",githubPreviewDescription:"使用 GitHub 账户登录 - 更快捷、更可靠、更便捷。使用您的 GitHub 账号一键登录,简单高效。",googlePreviewTitle:"Google",googlePreviewDescription:"使用 Google 账户登录 - 更快捷、更安全、更轻松。使用 Google 账号登录,一点即达。",applePreviewTitle:"Apple",applePreviewDescription:"使用 Apple 账户登录 - 登录 App 和网站的快速、简单方法。",passkeyPreviewTitle:"Passkey",passkeyPreviewDescription:"使用 Passkey 账户登录 - 更安全、更便捷的身份验证方式。无需记忆密码,轻松登录各类应用和网站",didConnectTitle:"DID Connect",didConnectDescription:"面向未来的基于 W3C DID 去中心化身份和应用"}},T$4=reactExports.createContext({isWalletWebview:!1,isMobile:!1,matchSmallScreen:!1,blocklet:null}),{Provider:ue$1,Consumer:Ie}=T$4;function de$1({children:be,blocklet:Ce,masterBlocklet:Se=void 0,action:Te,extraParams:Re={},locale:Le="en",testOnlyBorderColor:De=void 0,...Pe}){const Oe=useUpdate(),[qe,je]=reactExports.useState([]),[Fe,He]=reactExports.useState(""),Ge=useCreation(()=>new Map(qe.map(Tt=>[Tt.name,Tt])),[qe]),Ke=useMemoizedFn(Tt=>Ge.get(Tt)),Je=useLatest(Fe),Ze=useMemoizedFn((Tt,It={})=>p$b(e$a,Tt,Le,"en",It)),Ye=reactExports.use(e$b),tt=useReactive({sourceAppPid:void 0,status:"created",autoActiveWebview:!0,deeplink:void 0,chooseMethod:"",retryConnect:noop$1}),nt=reactExports.useRef({cancelCount:0}),it=d$e(),{appInfoList:ot,autoGenerateSourceAppPid:gt,canSwitchApp:ft}=F$5({blocklet:Ce,connectState:tt,action:Te,sourceAppPid:Re?.sourceAppPid,enableSwitchApp:Re?.forceSwitch||Re?.enableSwitchApp}),wt=reactExports.useRef(null),Vt=useSize(wt),$t=useCreation(()=>(Vt?.width||0)<500,[Vt?.width]),Mt=useCreation(()=>{if(ft)return{...Re,sourceAppPid:isUndefined$1(tt.sourceAppPid)?gt:tt.sourceAppPid};const Tt=o$f(Ce)?.appPid,It=o$f(globalThis.blocklet)?.appPid;return Ye?.session?.user&&(Tt===It||!Tt)?isUndefined$1(Re?.sourceAppPid)?{...Re,sourceAppPid:Ye.session.user?.sourceAppPid}:Re:{...Re,sourceAppPid:gt}},[ft,Re,tt.sourceAppPid,Te,gt,Ye?.session?.user]),rt=useCreation(()=>{const Tt=window?.navigator?.userAgent;return Tt.indexOf("Edge")>-1||Tt.indexOf("Edg")>-1?"edge":Tt.indexOf("Chrome")>-1?"chrome":"unknown"},[]);reactExports.useEffect(()=>{tt.sourceAppPid=Mt.sourceAppPid},[Mt.sourceAppPid]);const ut=useMemoizedFn(Tt=>{tt.status=Tt||"created"}),bt=globalThis.blocklet?u$l(Ce):globalThis.env,St=useCreation(()=>{if(De)return De;const Tt=bt.appPid,It=X$2(Tt),_t=It?void 0:getDIDMotifInfo(Tt);return It?Ot(Tt):_t.color},[bt.appId,De]),Ct=useCreation(()=>({isWalletWebview:it.wallet||it.arcSphere,isMobile:it.mobile.any,matchSmallScreen:$t,connectState:tt,staticState:nt,reactiveState:tt,appInfoList:ot,extraParams:Mt,blocklet:Ce,masterBlocklet:Se,browserBrand:rt,currentAppInfo:bt,currentAppColor:St,t:Ze,locale:Le,action:Te,changeStatus:ut,getPlugin:Ke,latestActivePlugin:Je,plugins:qe,setPlugins:je,selectedPlugin:Fe,setSelectedPlugin:He,forceUpdate:Oe}),[it.wallet,it.arcSphere,it.mobile.any,$t,JSON.stringify(tt),JSON.stringify(ot),JSON.stringify(Mt),Ce,Se,Le,Fe,Oe,bt,St]);return jsxRuntimeExports.jsx(ue$1,{value:Ct,children:jsxRuntimeExports.jsx(Box,{...Pe,ref:wt,children:be})})}de$1.propTypes={children:o$g.any.isRequired,blocklet:o$g.object.isRequired,masterBlocklet:o$g.object,action:o$g.string.isRequired,extraParams:o$g.object,locale:o$g.string,testOnlyBorderColor:o$g.string};function xe$1(){return reactExports.use(T$4)}const data$s={width:24,height:24,body:'<path fill="currentColor" d="M16.15 13H5q-.425 0-.713-.288T4 12q0-.425.288-.713T5 11h11.15L13.3 8.15q-.3-.3-.288-.7t.288-.7q.3-.3.713-.313t.712.288L19.3 11.3q.15.15.213.325t.062.375q0 .2-.063.375t-.212.325l-4.575 4.575q-.3.3-.712.288t-.713-.313q-.275-.3-.288-.7t.288-.7L16.15 13Z"/>'};function b$8({title:be,description:Ce=null,icon:Se,iconScale:Te=.95,slotProps:Re={},mode:Le="normal",...De}){const Pe=useTheme();return jsxRuntimeExports.jsxs(Box,{...De,sx:o$a({display:"flex",alignItems:"center",gap:1,cursor:"pointer",p:1,borderRadius:1,backgroundColor:"grey.50",textDecoration:"none",transition:"background-color 0.5s","&:hover, &:active, &.did-connect__choose-item__active":{backgroundColor:"grey.100"},"& .other-item-icon":{opacity:"0",transform:"translateX(-100%)",transition:"transform 0.2s ease, opacity 0.1s ease"},"&:hover":{"& .other-item-icon":{display:"inline-block",transform:"translateX(0)",opacity:"1"}}},De?.sx),children:[jsxRuntimeExports.jsx(Box,{className:"arc-login-item__icon",sx:o$a({display:"flex",justifyContent:"center",alignItems:"center",color:"text.primary"},Re?.icon?.sx),children:reactExports.isValidElement(Se)?Se:jsxRuntimeExports.jsx(Box,{component:Icon,icon:Se,sx:{transform:`scale(${Te})`,width:24,height:24}})}),Le==="normal"?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(Box,{sx:{display:"flex",flexDirection:"column",flex:1},children:[jsxRuntimeExports.jsx(Typography,{sx:{fontSize:14,fontWeight:"500",color:"text.primary",whiteSpace:"nowrap"},children:be}),Ce?jsxRuntimeExports.jsx(Typography,{sx:{color:"text.secondary",fontSize:12,lineHeight:1},children:Ce}):null]}),jsxRuntimeExports.jsx(Icon,{className:"other-item-icon",icon:data$s,fontSize:"1.3rem",color:Pe.palette.primary.main})]}):null]})}b$8.propTypes={title:o$g.string.isRequired,description:o$g.string,icon:o$g.any.isRequired,iconScale:o$g.number,slotProps:o$g.object,mode:o$g.oneOf(["simple","normal"])};function A$2({disableSwitchApp:be,tokenState:Ce}){const{appInfoList:Se,connectState:Te}=xe$1(),{encryptKey:Re}=z$3();return useCreation(()=>{if(!Ce.url)return"";const Le=!be&&Se.length>1,De=new URL(Ce.url||"https://www.didwallet.io"),Pe=De.searchParams.get("url");if(Pe&&Le){const Oe=new URL(decodeURIComponent(Pe));Oe.searchParams.set("_ek_",Re);const qe=Q$4();qe&&Oe.searchParams.set("vid",qe),Te?.sourceAppPid&&Oe.searchParams.set("spid",Te?.sourceAppPid),De.searchParams.set("url",Oe.toString())}return De.toString()},[Ce.url,Se.length,Te?.sourceAppPid,Re])}function K$3({ref:be=null,tokenState:Ce,locale:Se,tokenKey:Te,onClick:Re=noop$1,disableSwitchApp:Le=!1,...De}){const Pe=useReactive({loading:!1}),{isWalletWebview:Oe}=xe$1(),qe="DID Wallet",je=d$e(),Fe=new URL(window.location.href),He=A$2({disableSwitchApp:Le,tokenState:Ce}),Ge=useCreation(()=>{if(!Ce.url)return"";Fe.searchParams.set("tokenKey",Ce.token);const nt=new URL(He);je.wallet||(nt.searchParams.set("callback",encodeURIComponent(Fe)),nt.searchParams.set("callback_delay",1500)),nt.searchParams.set("locale",Se);const it=new TextEncoder,ot=nt.href.length;let gt="",ft="";try{if(Ce.appInfo){const wt=it.encode(JSON.stringify(Ce.appInfo));gt=btoa(String.fromCharCode(...wt))}if(Ce.memberAppInfo){const wt=it.encode(JSON.stringify(Ce.memberAppInfo));ft=btoa(String.fromCharCode(...wt))}if(ot+8+gt.length+14+ft.length>2e3)throw ee.warn("URL too long, drop appInfo & memberAppInfo",{appInfo:gt,memberAppInfo:ft}),new Error("URL too long");ft?gt&&(nt.searchParams.set("appInfo",gt),nt.searchParams.set("memberAppInfo",ft)):gt&&nt.searchParams.set("appInfo",gt)}catch(wt){ee.warn("Failed to convert appInfo & memberAppInfo",wt)}return nt.href.replace(/^https?:\/\//,"abt://")},[Te,Ce.token,Ce.appInfo,Ce.memberAppInfo,Ce.url]),Ke=useMemoizedFn(()=>{Pe.loading=!0,setTimeout(()=>{g$8.call("authAction",{action:"auth",deepLink:Ge})},600),setTimeout(()=>{Pe.loading=!1},2e3)}),Je=useMemoizedFn(()=>{Ce.checking=!0,Ce.status="scanned"}),Ze={};!Oe&&je.mobile.any&&(Ze.component="a",Ze.href=Ge),Ce.url||(Ze.sx={cursor:"not-allowed"});const Ye=useMemoizedFn(nt=>{Ce.url&&(Oe?Ke():je.mobile.any?Je():nt())}),tt=useMemoizedFn(()=>{Ye(Re)});return reactExports.useImperativeHandle(be,()=>({connect:Ye})),jsxRuntimeExports.jsx(b$8,{...De,...Ze,sx:o$a(De?.sx,Ze?.sx),title:qe,icon:Pe.loading||!Ce.url?jsxRuntimeExports.jsx(CircularProgress,{color:"primary",size:24,sx:{"& svg":{transform:"scale(0.75)"}}}):jsxRuntimeExports.jsx(M$3,{width:"24px",height:"24px",provider:E$9.DID_WALLET,style:{transform:"scale(0.9)"}}),iconScale:1,onClick:tt})}K$3.propTypes={tokenState:o$g.object.isRequired,tokenKey:o$g.string.isRequired,locale:o$g.string.isRequired,onClick:o$g.func,disableSwitchApp:o$g.bool,ref:o$g.any};function j$5({ref:be=null,tokenState:Ce,locale:Se="en",webWalletUrl:Te,onClick:Re=noop$1,disableSwitchApp:Le=!1,...De}){const{browserBrand:Pe}=xe$1(),Oe=N$7(),qe=useReactive({loading:!1}),je=A$2({disableSwitchApp:Le,tokenState:Ce}),Fe=useMemoizedFn(()=>{qe.loading=!0,xt({webWalletUrl:Te,url:je,locale:Se,appInfo:Ce.appInfo,memberAppInfo:Ce.memberAppInfo})?.type==="web"?qe.loading=!1:setTimeout(()=>{qe.loading=!1},3e3)}),He=useMemoizedFn(Ze=>{Ce.url&&(Re(Ze),Ze?.preventDefault(),Fe())});reactExports.useImperativeHandle(be,()=>({connect:Fe}));const Ge=useCreation(()=>Pe==="edge"?A$3.edge:Pe==="chrome"?A$3.chrome:null,[Pe]),Ke=useCreation(()=>{const Ze={};return Oe?Ze.onClick=He:Ge?(Ze.component="a",Ze.href=Ge,Ze.target="_blank",Ze.rel="noopener"):Ze.onClick=He,Ce.url||(Ze.sx={cursor:"not-allowed"}),Ze},[He,Ce.url]),Je=useCreation(()=>Oe||Ge?"DID Wallet (Extension)":"DID Wallet (Web)",[Oe,Ge]);return jsxRuntimeExports.jsx(b$8,{...De,sx:o$a({textDecoration:"none"},De?.sx,Ke.sx),title:Je,icon:qe.loading||!Ce.url?jsxRuntimeExports.jsx(CircularProgress,{color:"primary",size:24,sx:{"& svg":{transform:"scale(0.75)"}}}):jsxRuntimeExports.jsx(M$3,{width:"24px",height:"24px",provider:E$9.DID_WALLET,style:{transform:"scale(0.9)"}}),...omit(Ke,"sx")})}j$5.propTypes={tokenState:o$g.object.isRequired,locale:o$g.string,webWalletUrl:o$g.string.isRequired,onClick:o$g.func,disableSwitchApp:o$g.bool,ref:o$g.any};function $$4({children:be,title:Ce="",prepend:Se=null,toolbar:Te=null,actions:Re=null,showCloseButton:Le=!0,actionsPosition:De="right",PaperProps:Pe={},slotProps:Oe={},...qe}){const je=useTheme(),Fe=useMediaQuery(je.breakpoints.down("md")),He=Ce||Le||Te,Ge=(Je,Ze)=>{const{onClose:Ye}=qe;Ye&&Ye(Je,Ze)};Pe.style=Object.assign({minWidth:300,minHeight:300},Pe.style);const Ke=jsxRuntimeExports.jsx(IconButton,{className:"ux-dialog_closeButton",onClick:Je=>Ge(Je,"closeButton"),children:jsxRuntimeExports.jsx(CloseIcon,{})});return jsxRuntimeExports.jsxs(H$5,{fullScreen:Fe,onClose:Ge,PaperProps:Pe,...qe,children:[He&&jsxRuntimeExports.jsxs(O$2,{...Oe.header,className:"ux-dialog_header",isMobile:Fe,children:[jsxRuntimeExports.jsxs("div",{className:"ux-dialog_left",children:[Le&&Fe&&Ke,Se&&jsxRuntimeExports.jsx("div",{className:"ux-dialog_prepend",children:Se}),Ce&&jsxRuntimeExports.jsx(Typography,{variant:"h6",className:"ux-dialog_title",children:Ce})]}),jsxRuntimeExports.jsxs("div",{className:"ux-dialog_right",children:[jsxRuntimeExports.jsx("div",{className:"ux-dialog_toolbar",children:Te}),Le&&!Fe&&Ke]})]}),jsxRuntimeExports.jsx(DialogContent,{...Oe.content,children:be}),Re&&jsxRuntimeExports.jsx(DialogActions,{className:`ux-dialog_actions--${De}`,children:Re})]})}$$4.propTypes={children:o$g.node.isRequired,title:o$g.node,prepend:o$g.node,toolbar:o$g.node,actions:o$g.node,showCloseButton:o$g.bool,actionsPosition:o$g.oneOf(["left","center","right"]),PaperProps:o$g.object,slotProps:o$g.shape({content:o$g.object,header:o$g.object}),onClose:o$g.func};const H$5=m$c(Dialog)`
|
|
536
536
|
.MuiDialog-paper {
|
|
537
537
|
${be=>be.fullScreen?"border-radius: 0;":""};
|
|
538
538
|
}
|
|
@@ -1552,7 +1552,7 @@ ${Re}-----END CERTIFICATE-----
|
|
|
1552
1552
|
`):"Validation failed";if(Array.isArray(be?.details))return`Validate failed: ${be.details.map(Se=>{const Te=Se.message.replace(/["]/g,"'");return`${Se.path.join(".")}: ${Te}`}).join(";")}`;if(Array.isArray(be?.errors))return be.errors.map(Ce=>Ce.msg||Ce.message).join(`
|
|
1553
1553
|
`);if(Array.isArray(be?.constraints))return Object.values(be.constraints).join(`
|
|
1554
1554
|
`);if(be?.keyword==="validation")return be.message||"Validation error";if(Array.isArray(be?.errors))return be.errors.map(Ce=>Ce.message).join(`
|
|
1555
|
-
`);if(be instanceof TypeError&&be.message.includes("fetch"))return"Network error: Failed to fetch";if(be?.name==="FetchError")return be.message||"Fetch error occurred";if(be?.isAxiosError){if(be.response?.data){if(be.response.data.message)return be.response.data.message;if(be.response.data.error)return be.response.data.error;const Ce=typeof be.response.data=="string"?be.response.data.slice(0,200):JSON.stringify(be.response.data);return`Request failed: ${be.response.status} ${be.response.statusText}: ${Ce}`}return be.message||"Request failed"}if(be?.response){if(be.response.error)return be.response.error;if(be.response.data?.message)return be.response.data.message;if(be.response.data?.error)return be.response.data.error;const Ce=typeof be.response.data=="string"?be.response.data.slice(0,200):JSON.stringify(be.response.data);return`Request failed: ${be.response.status} ${be.response.statusText}: ${Ce}`}return be.message||String(be)}var urlPathFriendly$1={},isAbsoluteUrl,hasRequiredIsAbsoluteUrl;function requireIsAbsoluteUrl(){return hasRequiredIsAbsoluteUrl||(hasRequiredIsAbsoluteUrl=1,isAbsoluteUrl=be=>{if(typeof be!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof be}\``);return/^[a-zA-Z]:\\/.test(be)?!1:/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(be)}),isAbsoluteUrl}var hasRequiredUrlPathFriendly;function requireUrlPathFriendly(){if(hasRequiredUrlPathFriendly)return urlPathFriendly$1;hasRequiredUrlPathFriendly=1;var be=urlPathFriendly$1&&urlPathFriendly$1.__importDefault||function(De){return De&&De.__esModule?De:{default:De}};Object.defineProperty(urlPathFriendly$1,"__esModule",{value:!0}),urlPathFriendly$1.checkLink=urlPathFriendly$1.isValidUrlPath=void 0;const Ce=be(requireIsAbsoluteUrl()),Se=De=>/[^\x20-\x7F]/.test(De)?!1:/^[a-z0-9/\-._]*$/i.test(De)&&!De.includes("//");urlPathFriendly$1.isValidUrlPath=Se;const Te=(De,{keepSlash:Pe=!0}={})=>{const Fe=De.trim().replace(/[^\x20-\x7F]/g,"").replace(/[^a-z0-9_.\-/]/gi,"-").replace(/-+/g,"-").replace(/\.+/g,".").replace(/\/+/g,"/");return Pe?Fe:Fe.replace(/^\/|\/$/g,"")},Re=De=>/^\/(?:[^/]+\/)*$/.test(De)||/^\/(?:[^/]+\/)*[^/]+$/.test(De),Le=De=>!!((0,Ce.default)(De)||Re(De));return urlPathFriendly$1.checkLink=Le,urlPathFriendly$1.default=Te,urlPathFriendly$1}var urlPathFriendlyExports=requireUrlPathFriendly();const urlPathFriendly=getDefaultExportFromCjs$1(urlPathFriendlyExports),STORE_LOGO_FILTER="imageFilter=convert&f=png&h=80";function filesize(be,Ce={}){return filesize$1(be,{base:2,round:2,...Ce})}function sleep(be){return new Promise(Ce=>setTimeout(Ce,be))}const validateDomain=(be,Ce="en")=>be?be.endsWith(constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX)?{en:`Site domain cannot include ${constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX}`,zh:`站点域名不能包含 ${constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX}`}[Ce]:null:{en:"Site domain cannot be empty",zh:"站点域名不能为空"}[Ce];function getAccessUrl(be,Ce="",Se=void 0){if(!be)return"";try{let Te="";const Re=Number(window.location.port);Re&&![80,443].includes(Re)&&(Te=`:${Re}`);const Le=new URL(`${window.location.protocol}//${be}${Te}`);Le.pathname=Ce;const De=Le.href.replace(/\/$/,"");if(!Se||!Object.keys(Se))return De;const Pe=new URLSearchParams;return Object.keys(Se).forEach(Oe=>{Pe.append(Oe,Se[Oe])}),`${De}${Le.pathname==="/"?"/":""}?${Pe.toString()}`}catch(Te){return console.error(Te),""}}function getBlockletUrl({blocklet:be,domain:Ce,mountPoint:Se,params:Te}={}){const{site:Re}=be;if(!Re)return null;const Le=Ce||(Re.domainAliases||[])[0];if(!Le)return null;let De=Se;if(!De){const Pe=Re.rules.filter(Oe=>!Oe.from.pathPrefix.startsWith(constantExports$1.WELLKNOWN_PATH_PREFIX))[0];De=Pe?Pe.from.pathPrefix:"/"}return getAccessUrl(Le.value,De,Te)}function getBlockletUrls({blocklet:be,mountPoint:Ce,params:Se}={}){const{site:Te}=be;if(!Te)return[];const Re=Te.domainAliases||[];if(!Re.length)return[];let Le=Ce;if(!Le){const De=Te.rules.filter(Oe=>!Oe.from.pathPrefix.startsWith(constantExports$1.WELLKNOWN_PATH_PREFIX));let Pe=De[0];if(Pe?.from?.pathPrefix!=="/"){const Oe=De.find(qe=>qe.from?.pathPrefix==="/");Oe&&(Pe=Oe)}Le=normalizePathPrefix(Pe?.from?.pathPrefix||"/")}return Re.map(De=>getAccessUrl(De.value,Le,Se))}function getExplorerLink(be,Ce,Se){if(be)try{const Te=new URL(be);switch(Se){case"asset":Te.pathname=`/explorer/assets/${Ce}`;break;case"account":Te.pathname=`/explorer/accounts/${Ce}`;break;case"tx":Te.pathname=`/explorer/txs/${Ce}`;break;case"token":Te.pathname=`/explorer/tokens/${Ce}`;break;case"factory":Te.pathname=`/explorer/factories/${Ce}`;break;case"bridge":Te.pathname=`/explorer/bridges/${Ce}`;break;default:Te.pathname="/"}return Te.href}catch{return}}function patchJsxToLocale(be,Ce={}){return be.split(/{{|}}/).map(Se=>Ce[Se]?Ce[Se]instanceof Function?Ce[Se]():Ce[Se]:Se).filter(Boolean)}const formatLocale=(be="en")=>be==="tw"?"zh":be;function formatToDate(be,Ce="en"){return be?dayjs(be).locale(formatLocale(Ce)).format("ll"):"-"}function formatToDatetime(be,Ce="en"){return be?dayjs(be).locale(formatLocale(Ce)).format("lll"):"-"}function formatTime(be,Ce="lll",Se="en"){return be?dayjs(be).locale(formatLocale(Se)).format(Ce):"-"}function formatDateTime(be,Ce="en"){return dayjs(be).locale(formatLocale(Ce)).format("YYYY-MM-DD HH:mm")}const formatPrettyMsLocale=be=>be==="zh"?"zh_CN":"en_US",isInstalling=be=>["waiting","downloading","installing","upgrading"].includes(be),isDownloading=be=>["waiting","downloading"].includes(be),isExtracting=be=>["extracting"].includes(be),checkInputByType=(be,Ce)=>{const Se={url:isUrl};return be?Se[be]?Se[be](Ce):!1:!0},shouldCheckDomainStatus=be=>be&&![constantExports$1.DOMAIN_FOR_IP_SITE,constantExports$1.DOMAIN_FOR_IP_SITE_REGEXP,constantExports$1.DOMAIN_FOR_DEFAULT_SITE,constantExports$1.DOMAIN_FOR_INTERNAL_SITE].includes(be),checkIsWildcardDomain=be=>{try{if(!be)return!1;const Ce=be.startsWith("http")?be:`http://${be}`,Se=new window.URL(Ce);return decodeURIComponent(Se.host).split(".").some(Te=>Te==="*")}catch(Ce){return console.error(be,Ce),!1}},stringSortHandlerAsc=(be="",Ce="")=>be>Ce?1:Ce>be?-1:0,getInviteLink=({inviteId:be,endpoint:Ce})=>{if(!Ce)return"";const Se=new URL(Ce);return Se.pathname=joinURL(Se.pathname,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"invite"),Se.searchParams.set("inviteId",be),Se.href},getTransferAppLink=({transferId:be,endpoint:Ce})=>{if(!Ce)return"";const Se=new URL(Ce);return Se.pathname=joinURL(Se.pathname,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"transfer"),Se.searchParams.set("transferId",be),Se.href},getIssuePassportLink=({id:be,endpoint:Ce})=>{if(!Ce)return"";const Se=new URL(Ce);return Se.pathname=joinURL(Se.pathname,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"issue-passport"),Se.searchParams.set("id",be),Se.href},formatRegistryLogoPath=(be,Ce,Se="")=>Ce.startsWith("/assets")?Ce:Se?`/assets/${be}/${Ce}?v=${Se}&${STORE_LOGO_FILTER}`:`/assets/${be}/${Ce}?${STORE_LOGO_FILTER}`;function getWebWalletUrl(be){try{const Ce=window.localStorage.getItem("wallet_url");if(Ce)return Ce}catch{}return be&&be.webWalletUrl?be.webWalletUrl:constantExports$1.WEB_WALLET_URL}function isValidClusterSize(be){const{value:Ce,cpuCores:Se}=be;if(!Ce)return"";const Te=Number(Ce);return Number.isNaN(Te)?"Cluster size should be a number":Number.isInteger(Te)?Te<=0||Te>Se?`Cluster size should between 1 to ${Se}`:"":"Cluster size should be integer"}function isProtectedRole(be){return Object.values(constantExports$1.ROLES).includes(be)}const getBlockletLogoUrl=({did:be,baseUrl:Ce,logoPath:Se,version:Te=""})=>{if(Se&&Se.startsWith("http"))return Se;if(Ce.startsWith("http")&&Se)return joinURL(Ce,formatRegistryLogoPath(be,Se,Te));let Le=(window.env.apiPrefix||"/").replace(/^\/+/,"").replace(/\/+$/,"");return Le&&(Le=`/${Le}`),joinURL(Le,Te?`/blocklet/logo/${be}?v=${Te}&${STORE_LOGO_FILTER}`:`/blocklet/logo/${be}?${STORE_LOGO_FILTER}`)},getPathPrefix=()=>window.env&&window.env.apiPrefix?window.env.apiPrefix:"/",checkBlockletAccessible=async(be,Ce=5e3)=>{try{const Se=new URL(be);return Se.protocol="https",Se.pathname=joinURL("/__blocklet__.js?type=json"),await axios.get(Se.toString(),{timeout:Ce,validateStatus:Te=>Te>=200&&Te<400||Te===503}),!0}catch(Se){return console.error(Se),!1}},waitingForAccessible=async(be,Ce=30*1e3)=>{const Se=await be.map(async Te=>{try{await tryWithTimeout(async()=>{let Re=!1;do Re=await checkBlockletAccessible(Te),await sleep(2e3);while(!Re)},Ce)}catch(Re){console.error(Re)}});await Promise.all(Se)},getAccessibleUrl=async be=>{try{return await waitingForAccessible(be),(await urlEvaluationExports.evaluateURLs(be,{checkAccessible:checkBlockletAccessible}))[0].url}catch(Ce){return console.warn("get accessible url failed",Ce),""}},isCertificateMatch=(be=[],Ce=[])=>{try{return Ce.map(Se=>Se.domain).some(Se=>be.some(Te=>new window.URL(Te.startsWith("http")?Te:`http://${Te}`).hostname===Se))}catch{return console.warn("domain match failed"),!1}},getBlockletUrlParams=(be,Ce)=>(be||{}).status==="running"?{locale:Ce}:{locale:Ce,__start__:1};function deepDecodeURIComponent(be){let Ce=decodeURIComponent(be);for(;Ce!==decodeURIComponent(Ce);)Ce=decodeURIComponent(Ce);return Ce}function extractStatusUrlFromNextWorkflow(be){const Ce=new URL(deepDecodeURIComponent(be)).searchParams.get("url");return{statusUrl:Ce.replace("/auth?","/status?"),token:new URL(Ce).searchParams.get("_t_")}}function getBlockletMetaUrl(be,Ce,Se){let Te=be;return!Te&&Se?.tarball&&(Te=new URL(Se.tarball).origin),joinURL(Te,constantExports$1.BLOCKLET_STORE_API_PREFIX,`/blocklets/${Ce}/blocklet.json`)}const isNewStoreUrl=(be,Ce)=>{if(typeof be=="string"){let Se=decodeURIComponent(be?.trim());/^https?:\/\//.test(Se)||(Se=`https://${Se}`),Se=trimEnd(Se,"/");try{new URL(Se)}catch{throw new Error("Invalid Blocklet Store URL")}return Ce?.some(Re=>[be,Se].includes(Re.url))?{isNew:!1,decoded:Se}:{isNew:!0,decoded:Se}}return{isNew:!1,decoded:""}},APP_PREFIX=window.env?.groupPathPrefix||"/",BlockletAdminRoles=[constantExports$1.ROLES.ADMIN,constantExports$1.ROLES.OWNER],toSlotDomain=be=>{if(be.endsWith(constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX)){const Se=be.split(".").shift().match(constantExports$1.IP);if(Se)return be.replace(Se[0].slice(1),constantExports$1.SLOT_FOR_IP_DNS_SITE)}return be},getStoreList=({fromBlocklet:be,nodeInfo:Ce,blocklet:Se})=>{const Te=be?Se?.meta?.did:Ce?.did,Re=be?Se?.settings?.storeList||[]:Ce?.blockletRegistryList||[];return{teamDid:Te,storeList:Re.filter(Le=>Le.protected||!Le.scope)}},isDidDomainOrIpEchoDomain=be=>be?be.endsWith(constantExports$1.DEFAULT_DID_DOMAIN)||be.endsWith(constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX)||be.endsWith(constantExports$1.DEFAULT_SLP_DOMAIN):!1,sortDomains=be=>(be||[]).sort((Ce,Se)=>isDidDomainOrIpEchoDomain(Ce.value)&&isDidDomainOrIpEchoDomain(Se.value)?0:isDidDomainOrIpEchoDomain(Ce.value)?1:isDidDomainOrIpEchoDomain(Se.value)?-1:1),formatMountPoint=be=>normalizePathPrefix(urlPathFriendly(be)),getLauncherBaseURL=async be=>{if(!be)return"";let Ce=be;try{const{data:Se}=await axios.get(joinURL(be,"__blocklet__.js?type=json"),{timeout:5e3}),Te=Se.componentMountPoints?.find(Le=>Le.did==="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7"),Re=new URL(be);Ce=joinURL(Re.origin,Te?.mountPoint)}catch(Se){console.error(Se)}return Ce},getSubscriptionUrlV2=async({launcherUrl:be="",launcherSessionId:Ce="",nftDid:Se,locale:Te="en",theme:Re=""})=>{if(!be)return"";const Le=await getLauncherBaseURL(be),De=Re?`&theme=${Re}`:"";return joinURL(Le,`/embed/subscription?launcherSessionId=${Ce}&nftDid=${Se}&locale=${Te}${De}`)},getSystemDomains=be=>be.filter(Ce=>Ce.isProtected),getLogoHash=be=>encodeURIComponent((be||"").split("/").slice(-1)[0].slice(0,7)),hasRequiredEnvironments=be=>(be.environments||[]).some(Ce=>Ce.required),hasRequiredSteps=be=>!!be.requirements?.fuels?.length||hasRequiredEnvironments(be),isFromWallet=()=>{const{searchParams:be}=new URL(window.location.href);return be.get("fromWallet")==="1"};function fetchSvgAsPng(be,Ce={}){if(!be||!be.toLowerCase().endsWith(".svg"))return null;const{width:Se,height:Te,quality:Re=1}=Ce;return new Promise((Le,De)=>{const Pe=new Image;Pe.crossOrigin="anonymous",Pe.onload=()=>{const Oe=document.createElement("canvas"),qe=Se?Se*Re:Pe.width*Re,je=Te?Te*Re:Pe.height*Re;Oe.width=qe,Oe.height=je;const Fe=Oe.getContext("2d");Fe.clearRect(0,0,Oe.width,Oe.height),Fe.imageSmoothingEnabled=!0,Fe.imageSmoothingQuality="high";const He=Pe.width/Pe.height;let Ge=Pe.width*Re,Ke=Pe.height*Re;if(Se||Te){if(Se&&!Te)Ge=Se*Re,Ke=Ge/He;else if(!Se&&Te)Ke=Te*Re,Ge=Ke*He;else if(Se&&Te){const Ye=qe/je;He>Ye?(Ke=je,Ge=Ke*He):(Ge=qe,Ke=Ge/He)}}const Je=(qe-Ge)/2,Ze=(je-Ke)/2;Fe.drawImage(Pe,Je,Ze,Ge,Ke),Oe.toBlob(Ye=>Le(Ye),"image/png",1)},Pe.onerror=Oe=>{console.error("Error loading SVG image:",Oe),De(new Error(`Failed to load SVG image: ${be}`))},Pe.src=be})}function blobToFile(be,Ce){return new File([be],Ce,{type:be.type})}function isDomainAccessible(be){if(!be)return!1;const Ce=withHttps(withQuery(joinURL(be,"/__blocklet__.js"),{type:"json"}));return new Promise(async Se=>{try{const Te=await axios.get(Ce,{timeout:5e3});Se(!!Te?.data?.did)}catch{Se(!1)}})}async function getBlockletAccessibleUrl(be){if(!be)return"";const Ce=sortDomains(be.site?.domainAliases),Se=Ce.filter(Re=>urlEvaluationExports.isCustomDomain(Re.value)),Te=Ce.filter(Re=>!urlEvaluationExports.isCustomDomain(Re.value));for(const Re of Se)if(await isDomainAccessible(Re.value))return withHttps(Re.value);return withHttps(Te[0]?.value)}const updateWindowEnv=()=>new Promise((be,Ce)=>{const Se=document.createElement("script");Se.src="/.well-known/service/api/env",Se.onload=()=>{document.body.removeChild(Se),be()},Se.onerror=()=>{document.body.removeChild(Se),Ce(new Error("Failed to load script: /.well-known/service/api/env"))},document.body.appendChild(Se)});function getSessionToken(){return window.localStorage.getItem("__sst")}function setSessionToken(be){return window.localStorage.setItem("__sst",be)}function setRefreshToken(be){return window.localStorage.setItem("__srt",be)}function createPassportSvg(be,Ce){return createPassportSvg$1({...be,issuerAvatarUrl:joinURL(window.location.origin,Ce.routing.adminPath,"/images/node.png")})}const createAppPassportSvg=(be,Ce)=>createPassportSvg$1({...be,issuerAvatarUrl:joinURL(Ce,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo")}),api=axios$2.create();api.interceptors.request.use(be=>{const Ce=window.env&&window.env.apiPrefix||"/";be.baseURL=joinURL(Ce,"/api"),be.timeout=2e4;const Se=getSessionToken();return Se&&(be.headers=Object.assign(be.headers||{},{authorization:`Bearer ${Se}`})),be},be=>Promise.reject(be));api.interceptors.response.use(be=>be,async be=>{throw typeof be.response?.data?.text=="string"?be.message=be.response.data.text:typeof be.response?.data?.text=="function"&&(be.message=await be.response.data.text()),be});var es_regexp_exec={},globalThis_1,hasRequiredGlobalThis;function requireGlobalThis(){if(hasRequiredGlobalThis)return globalThis_1;hasRequiredGlobalThis=1;var be=function(Ce){return Ce&&Ce.Math===Math&&Ce};return globalThis_1=be(typeof globalThis=="object"&&globalThis)||be(typeof window=="object"&&window)||be(typeof self=="object"&&self)||be(typeof commonjsGlobal=="object"&&commonjsGlobal)||be(typeof globalThis_1=="object"&&globalThis_1)||function(){return this}()||Function("return this")(),globalThis_1}var objectGetOwnPropertyDescriptor={},fails,hasRequiredFails;function requireFails(){return hasRequiredFails||(hasRequiredFails=1,fails=function(be){try{return!!be()}catch{return!0}}),fails}var descriptors,hasRequiredDescriptors;function requireDescriptors(){if(hasRequiredDescriptors)return descriptors;hasRequiredDescriptors=1;var be=requireFails();return descriptors=!be(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),descriptors}var functionBindNative,hasRequiredFunctionBindNative;function requireFunctionBindNative(){if(hasRequiredFunctionBindNative)return functionBindNative;hasRequiredFunctionBindNative=1;var be=requireFails();return functionBindNative=!be(function(){var Ce=(function(){}).bind();return typeof Ce!="function"||Ce.hasOwnProperty("prototype")}),functionBindNative}var functionCall,hasRequiredFunctionCall;function requireFunctionCall(){if(hasRequiredFunctionCall)return functionCall;hasRequiredFunctionCall=1;var be=requireFunctionBindNative(),Ce=Function.prototype.call;return functionCall=be?Ce.bind(Ce):function(){return Ce.apply(Ce,arguments)},functionCall}var objectPropertyIsEnumerable={},hasRequiredObjectPropertyIsEnumerable;function requireObjectPropertyIsEnumerable(){if(hasRequiredObjectPropertyIsEnumerable)return objectPropertyIsEnumerable;hasRequiredObjectPropertyIsEnumerable=1;var be={}.propertyIsEnumerable,Ce=Object.getOwnPropertyDescriptor,Se=Ce&&!be.call({1:2},1);return objectPropertyIsEnumerable.f=Se?function(Re){var Le=Ce(this,Re);return!!Le&&Le.enumerable}:be,objectPropertyIsEnumerable}var createPropertyDescriptor,hasRequiredCreatePropertyDescriptor;function requireCreatePropertyDescriptor(){return hasRequiredCreatePropertyDescriptor||(hasRequiredCreatePropertyDescriptor=1,createPropertyDescriptor=function(be,Ce){return{enumerable:!(be&1),configurable:!(be&2),writable:!(be&4),value:Ce}}),createPropertyDescriptor}var functionUncurryThis,hasRequiredFunctionUncurryThis;function requireFunctionUncurryThis(){if(hasRequiredFunctionUncurryThis)return functionUncurryThis;hasRequiredFunctionUncurryThis=1;var be=requireFunctionBindNative(),Ce=Function.prototype,Se=Ce.call,Te=be&&Ce.bind.bind(Se,Se);return functionUncurryThis=be?Te:function(Re){return function(){return Se.apply(Re,arguments)}},functionUncurryThis}var classofRaw,hasRequiredClassofRaw;function requireClassofRaw(){if(hasRequiredClassofRaw)return classofRaw;hasRequiredClassofRaw=1;var be=requireFunctionUncurryThis(),Ce=be({}.toString),Se=be("".slice);return classofRaw=function(Te){return Se(Ce(Te),8,-1)},classofRaw}var indexedObject,hasRequiredIndexedObject;function requireIndexedObject(){if(hasRequiredIndexedObject)return indexedObject;hasRequiredIndexedObject=1;var be=requireFunctionUncurryThis(),Ce=requireFails(),Se=requireClassofRaw(),Te=Object,Re=be("".split);return indexedObject=Ce(function(){return!Te("z").propertyIsEnumerable(0)})?function(Le){return Se(Le)==="String"?Re(Le,""):Te(Le)}:Te,indexedObject}var isNullOrUndefined,hasRequiredIsNullOrUndefined;function requireIsNullOrUndefined(){return hasRequiredIsNullOrUndefined||(hasRequiredIsNullOrUndefined=1,isNullOrUndefined=function(be){return be==null}),isNullOrUndefined}var requireObjectCoercible,hasRequiredRequireObjectCoercible;function requireRequireObjectCoercible(){if(hasRequiredRequireObjectCoercible)return requireObjectCoercible;hasRequiredRequireObjectCoercible=1;var be=requireIsNullOrUndefined(),Ce=TypeError;return requireObjectCoercible=function(Se){if(be(Se))throw new Ce("Can't call method on "+Se);return Se},requireObjectCoercible}var toIndexedObject,hasRequiredToIndexedObject;function requireToIndexedObject(){if(hasRequiredToIndexedObject)return toIndexedObject;hasRequiredToIndexedObject=1;var be=requireIndexedObject(),Ce=requireRequireObjectCoercible();return toIndexedObject=function(Se){return be(Ce(Se))},toIndexedObject}var isCallable,hasRequiredIsCallable;function requireIsCallable(){if(hasRequiredIsCallable)return isCallable;hasRequiredIsCallable=1;var be=typeof document=="object"&&document.all;return isCallable=typeof be>"u"&&be!==void 0?function(Ce){return typeof Ce=="function"||Ce===be}:function(Ce){return typeof Ce=="function"},isCallable}var isObject,hasRequiredIsObject;function requireIsObject(){if(hasRequiredIsObject)return isObject;hasRequiredIsObject=1;var be=requireIsCallable();return isObject=function(Ce){return typeof Ce=="object"?Ce!==null:be(Ce)},isObject}var getBuiltIn,hasRequiredGetBuiltIn;function requireGetBuiltIn(){if(hasRequiredGetBuiltIn)return getBuiltIn;hasRequiredGetBuiltIn=1;var be=requireGlobalThis(),Ce=requireIsCallable(),Se=function(Te){return Ce(Te)?Te:void 0};return getBuiltIn=function(Te,Re){return arguments.length<2?Se(be[Te]):be[Te]&&be[Te][Re]},getBuiltIn}var objectIsPrototypeOf,hasRequiredObjectIsPrototypeOf;function requireObjectIsPrototypeOf(){if(hasRequiredObjectIsPrototypeOf)return objectIsPrototypeOf;hasRequiredObjectIsPrototypeOf=1;var be=requireFunctionUncurryThis();return objectIsPrototypeOf=be({}.isPrototypeOf),objectIsPrototypeOf}var environmentUserAgent,hasRequiredEnvironmentUserAgent;function requireEnvironmentUserAgent(){if(hasRequiredEnvironmentUserAgent)return environmentUserAgent;hasRequiredEnvironmentUserAgent=1;var be=requireGlobalThis(),Ce=be.navigator,Se=Ce&&Ce.userAgent;return environmentUserAgent=Se?String(Se):"",environmentUserAgent}var environmentV8Version,hasRequiredEnvironmentV8Version;function requireEnvironmentV8Version(){if(hasRequiredEnvironmentV8Version)return environmentV8Version;hasRequiredEnvironmentV8Version=1;var be=requireGlobalThis(),Ce=requireEnvironmentUserAgent(),Se=be.process,Te=be.Deno,Re=Se&&Se.versions||Te&&Te.version,Le=Re&&Re.v8,De,Pe;return Le&&(De=Le.split("."),Pe=De[0]>0&&De[0]<4?1:+(De[0]+De[1])),!Pe&&Ce&&(De=Ce.match(/Edge\/(\d+)/),(!De||De[1]>=74)&&(De=Ce.match(/Chrome\/(\d+)/),De&&(Pe=+De[1]))),environmentV8Version=Pe,environmentV8Version}var symbolConstructorDetection,hasRequiredSymbolConstructorDetection;function requireSymbolConstructorDetection(){if(hasRequiredSymbolConstructorDetection)return symbolConstructorDetection;hasRequiredSymbolConstructorDetection=1;var be=requireEnvironmentV8Version(),Ce=requireFails(),Se=requireGlobalThis(),Te=Se.String;return symbolConstructorDetection=!!Object.getOwnPropertySymbols&&!Ce(function(){var Re=Symbol("symbol detection");return!Te(Re)||!(Object(Re)instanceof Symbol)||!Symbol.sham&&be&&be<41}),symbolConstructorDetection}var useSymbolAsUid,hasRequiredUseSymbolAsUid;function requireUseSymbolAsUid(){if(hasRequiredUseSymbolAsUid)return useSymbolAsUid;hasRequiredUseSymbolAsUid=1;var be=requireSymbolConstructorDetection();return useSymbolAsUid=be&&!Symbol.sham&&typeof Symbol.iterator=="symbol",useSymbolAsUid}var isSymbol,hasRequiredIsSymbol;function requireIsSymbol(){if(hasRequiredIsSymbol)return isSymbol;hasRequiredIsSymbol=1;var be=requireGetBuiltIn(),Ce=requireIsCallable(),Se=requireObjectIsPrototypeOf(),Te=requireUseSymbolAsUid(),Re=Object;return isSymbol=Te?function(Le){return typeof Le=="symbol"}:function(Le){var De=be("Symbol");return Ce(De)&&Se(De.prototype,Re(Le))},isSymbol}var tryToString,hasRequiredTryToString;function requireTryToString(){if(hasRequiredTryToString)return tryToString;hasRequiredTryToString=1;var be=String;return tryToString=function(Ce){try{return be(Ce)}catch{return"Object"}},tryToString}var aCallable,hasRequiredACallable;function requireACallable(){if(hasRequiredACallable)return aCallable;hasRequiredACallable=1;var be=requireIsCallable(),Ce=requireTryToString(),Se=TypeError;return aCallable=function(Te){if(be(Te))return Te;throw new Se(Ce(Te)+" is not a function")},aCallable}var getMethod,hasRequiredGetMethod;function requireGetMethod(){if(hasRequiredGetMethod)return getMethod;hasRequiredGetMethod=1;var be=requireACallable(),Ce=requireIsNullOrUndefined();return getMethod=function(Se,Te){var Re=Se[Te];return Ce(Re)?void 0:be(Re)},getMethod}var ordinaryToPrimitive,hasRequiredOrdinaryToPrimitive;function requireOrdinaryToPrimitive(){if(hasRequiredOrdinaryToPrimitive)return ordinaryToPrimitive;hasRequiredOrdinaryToPrimitive=1;var be=requireFunctionCall(),Ce=requireIsCallable(),Se=requireIsObject(),Te=TypeError;return ordinaryToPrimitive=function(Re,Le){var De,Pe;if(Le==="string"&&Ce(De=Re.toString)&&!Se(Pe=be(De,Re))||Ce(De=Re.valueOf)&&!Se(Pe=be(De,Re))||Le!=="string"&&Ce(De=Re.toString)&&!Se(Pe=be(De,Re)))return Pe;throw new Te("Can't convert object to primitive value")},ordinaryToPrimitive}var sharedStore={exports:{}},isPure,hasRequiredIsPure;function requireIsPure(){return hasRequiredIsPure||(hasRequiredIsPure=1,isPure=!1),isPure}var defineGlobalProperty,hasRequiredDefineGlobalProperty;function requireDefineGlobalProperty(){if(hasRequiredDefineGlobalProperty)return defineGlobalProperty;hasRequiredDefineGlobalProperty=1;var be=requireGlobalThis(),Ce=Object.defineProperty;return defineGlobalProperty=function(Se,Te){try{Ce(be,Se,{value:Te,configurable:!0,writable:!0})}catch{be[Se]=Te}return Te},defineGlobalProperty}var hasRequiredSharedStore;function requireSharedStore(){if(hasRequiredSharedStore)return sharedStore.exports;hasRequiredSharedStore=1;var be=requireIsPure(),Ce=requireGlobalThis(),Se=requireDefineGlobalProperty(),Te="__core-js_shared__",Re=sharedStore.exports=Ce[Te]||Se(Te,{});return(Re.versions||(Re.versions=[])).push({version:"3.43.0",mode:be?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"}),sharedStore.exports}var shared,hasRequiredShared;function requireShared(){if(hasRequiredShared)return shared;hasRequiredShared=1;var be=requireSharedStore();return shared=function(Ce,Se){return be[Ce]||(be[Ce]=Se||{})},shared}var toObject,hasRequiredToObject;function requireToObject(){if(hasRequiredToObject)return toObject;hasRequiredToObject=1;var be=requireRequireObjectCoercible(),Ce=Object;return toObject=function(Se){return Ce(be(Se))},toObject}var hasOwnProperty_1,hasRequiredHasOwnProperty;function requireHasOwnProperty(){if(hasRequiredHasOwnProperty)return hasOwnProperty_1;hasRequiredHasOwnProperty=1;var be=requireFunctionUncurryThis(),Ce=requireToObject(),Se=be({}.hasOwnProperty);return hasOwnProperty_1=Object.hasOwn||function(Re,Le){return Se(Ce(Re),Le)},hasOwnProperty_1}var uid,hasRequiredUid;function requireUid(){if(hasRequiredUid)return uid;hasRequiredUid=1;var be=requireFunctionUncurryThis(),Ce=0,Se=Math.random(),Te=be(1.1.toString);return uid=function(Re){return"Symbol("+(Re===void 0?"":Re)+")_"+Te(++Ce+Se,36)},uid}var wellKnownSymbol,hasRequiredWellKnownSymbol;function requireWellKnownSymbol(){if(hasRequiredWellKnownSymbol)return wellKnownSymbol;hasRequiredWellKnownSymbol=1;var be=requireGlobalThis(),Ce=requireShared(),Se=requireHasOwnProperty(),Te=requireUid(),Re=requireSymbolConstructorDetection(),Le=requireUseSymbolAsUid(),De=be.Symbol,Pe=Ce("wks"),Oe=Le?De.for||De:De&&De.withoutSetter||Te;return wellKnownSymbol=function(qe){return Se(Pe,qe)||(Pe[qe]=Re&&Se(De,qe)?De[qe]:Oe("Symbol."+qe)),Pe[qe]},wellKnownSymbol}var toPrimitive,hasRequiredToPrimitive;function requireToPrimitive(){if(hasRequiredToPrimitive)return toPrimitive;hasRequiredToPrimitive=1;var be=requireFunctionCall(),Ce=requireIsObject(),Se=requireIsSymbol(),Te=requireGetMethod(),Re=requireOrdinaryToPrimitive(),Le=requireWellKnownSymbol(),De=TypeError,Pe=Le("toPrimitive");return toPrimitive=function(Oe,qe){if(!Ce(Oe)||Se(Oe))return Oe;var je=Te(Oe,Pe),Fe;if(je){if(qe===void 0&&(qe="default"),Fe=be(je,Oe,qe),!Ce(Fe)||Se(Fe))return Fe;throw new De("Can't convert object to primitive value")}return qe===void 0&&(qe="number"),Re(Oe,qe)},toPrimitive}var toPropertyKey,hasRequiredToPropertyKey;function requireToPropertyKey(){if(hasRequiredToPropertyKey)return toPropertyKey;hasRequiredToPropertyKey=1;var be=requireToPrimitive(),Ce=requireIsSymbol();return toPropertyKey=function(Se){var Te=be(Se,"string");return Ce(Te)?Te:Te+""},toPropertyKey}var documentCreateElement,hasRequiredDocumentCreateElement;function requireDocumentCreateElement(){if(hasRequiredDocumentCreateElement)return documentCreateElement;hasRequiredDocumentCreateElement=1;var be=requireGlobalThis(),Ce=requireIsObject(),Se=be.document,Te=Ce(Se)&&Ce(Se.createElement);return documentCreateElement=function(Re){return Te?Se.createElement(Re):{}},documentCreateElement}var ie8DomDefine,hasRequiredIe8DomDefine;function requireIe8DomDefine(){if(hasRequiredIe8DomDefine)return ie8DomDefine;hasRequiredIe8DomDefine=1;var be=requireDescriptors(),Ce=requireFails(),Se=requireDocumentCreateElement();return ie8DomDefine=!be&&!Ce(function(){return Object.defineProperty(Se("div"),"a",{get:function(){return 7}}).a!==7}),ie8DomDefine}var hasRequiredObjectGetOwnPropertyDescriptor;function requireObjectGetOwnPropertyDescriptor(){if(hasRequiredObjectGetOwnPropertyDescriptor)return objectGetOwnPropertyDescriptor;hasRequiredObjectGetOwnPropertyDescriptor=1;var be=requireDescriptors(),Ce=requireFunctionCall(),Se=requireObjectPropertyIsEnumerable(),Te=requireCreatePropertyDescriptor(),Re=requireToIndexedObject(),Le=requireToPropertyKey(),De=requireHasOwnProperty(),Pe=requireIe8DomDefine(),Oe=Object.getOwnPropertyDescriptor;return objectGetOwnPropertyDescriptor.f=be?Oe:function(je,Fe){if(je=Re(je),Fe=Le(Fe),Pe)try{return Oe(je,Fe)}catch{}if(De(je,Fe))return Te(!Ce(Se.f,je,Fe),je[Fe])},objectGetOwnPropertyDescriptor}var objectDefineProperty={},v8PrototypeDefineBug,hasRequiredV8PrototypeDefineBug;function requireV8PrototypeDefineBug(){if(hasRequiredV8PrototypeDefineBug)return v8PrototypeDefineBug;hasRequiredV8PrototypeDefineBug=1;var be=requireDescriptors(),Ce=requireFails();return v8PrototypeDefineBug=be&&Ce(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),v8PrototypeDefineBug}var anObject,hasRequiredAnObject;function requireAnObject(){if(hasRequiredAnObject)return anObject;hasRequiredAnObject=1;var be=requireIsObject(),Ce=String,Se=TypeError;return anObject=function(Te){if(be(Te))return Te;throw new Se(Ce(Te)+" is not an object")},anObject}var hasRequiredObjectDefineProperty;function requireObjectDefineProperty(){if(hasRequiredObjectDefineProperty)return objectDefineProperty;hasRequiredObjectDefineProperty=1;var be=requireDescriptors(),Ce=requireIe8DomDefine(),Se=requireV8PrototypeDefineBug(),Te=requireAnObject(),Re=requireToPropertyKey(),Le=TypeError,De=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,Oe="enumerable",qe="configurable",je="writable";return objectDefineProperty.f=be?Se?function(He,Ge,Ke){if(Te(He),Ge=Re(Ge),Te(Ke),typeof He=="function"&&Ge==="prototype"&&"value"in Ke&&je in Ke&&!Ke[je]){var Je=Pe(He,Ge);Je&&Je[je]&&(He[Ge]=Ke.value,Ke={configurable:qe in Ke?Ke[qe]:Je[qe],enumerable:Oe in Ke?Ke[Oe]:Je[Oe],writable:!1})}return De(He,Ge,Ke)}:De:function(He,Ge,Ke){if(Te(He),Ge=Re(Ge),Te(Ke),Ce)try{return De(He,Ge,Ke)}catch{}if("get"in Ke||"set"in Ke)throw new Le("Accessors not supported");return"value"in Ke&&(He[Ge]=Ke.value),He},objectDefineProperty}var createNonEnumerableProperty,hasRequiredCreateNonEnumerableProperty;function requireCreateNonEnumerableProperty(){if(hasRequiredCreateNonEnumerableProperty)return createNonEnumerableProperty;hasRequiredCreateNonEnumerableProperty=1;var be=requireDescriptors(),Ce=requireObjectDefineProperty(),Se=requireCreatePropertyDescriptor();return createNonEnumerableProperty=be?function(Te,Re,Le){return Ce.f(Te,Re,Se(1,Le))}:function(Te,Re,Le){return Te[Re]=Le,Te},createNonEnumerableProperty}var makeBuiltIn={exports:{}},functionName,hasRequiredFunctionName;function requireFunctionName(){if(hasRequiredFunctionName)return functionName;hasRequiredFunctionName=1;var be=requireDescriptors(),Ce=requireHasOwnProperty(),Se=Function.prototype,Te=be&&Object.getOwnPropertyDescriptor,Re=Ce(Se,"name"),Le=Re&&(function(){}).name==="something",De=Re&&(!be||be&&Te(Se,"name").configurable);return functionName={EXISTS:Re,PROPER:Le,CONFIGURABLE:De},functionName}var inspectSource,hasRequiredInspectSource;function requireInspectSource(){if(hasRequiredInspectSource)return inspectSource;hasRequiredInspectSource=1;var be=requireFunctionUncurryThis(),Ce=requireIsCallable(),Se=requireSharedStore(),Te=be(Function.toString);return Ce(Se.inspectSource)||(Se.inspectSource=function(Re){return Te(Re)}),inspectSource=Se.inspectSource,inspectSource}var weakMapBasicDetection,hasRequiredWeakMapBasicDetection;function requireWeakMapBasicDetection(){if(hasRequiredWeakMapBasicDetection)return weakMapBasicDetection;hasRequiredWeakMapBasicDetection=1;var be=requireGlobalThis(),Ce=requireIsCallable(),Se=be.WeakMap;return weakMapBasicDetection=Ce(Se)&&/native code/.test(String(Se)),weakMapBasicDetection}var sharedKey,hasRequiredSharedKey;function requireSharedKey(){if(hasRequiredSharedKey)return sharedKey;hasRequiredSharedKey=1;var be=requireShared(),Ce=requireUid(),Se=be("keys");return sharedKey=function(Te){return Se[Te]||(Se[Te]=Ce(Te))},sharedKey}var hiddenKeys,hasRequiredHiddenKeys;function requireHiddenKeys(){return hasRequiredHiddenKeys||(hasRequiredHiddenKeys=1,hiddenKeys={}),hiddenKeys}var internalState,hasRequiredInternalState;function requireInternalState(){if(hasRequiredInternalState)return internalState;hasRequiredInternalState=1;var be=requireWeakMapBasicDetection(),Ce=requireGlobalThis(),Se=requireIsObject(),Te=requireCreateNonEnumerableProperty(),Re=requireHasOwnProperty(),Le=requireSharedStore(),De=requireSharedKey(),Pe=requireHiddenKeys(),Oe="Object already initialized",qe=Ce.TypeError,je=Ce.WeakMap,Fe,He,Ge,Ke=function(tt){return Ge(tt)?He(tt):Fe(tt,{})},Je=function(tt){return function(nt){var it;if(!Se(nt)||(it=He(nt)).type!==tt)throw new qe("Incompatible receiver, "+tt+" required");return it}};if(be||Le.state){var Ze=Le.state||(Le.state=new je);Ze.get=Ze.get,Ze.has=Ze.has,Ze.set=Ze.set,Fe=function(tt,nt){if(Ze.has(tt))throw new qe(Oe);return nt.facade=tt,Ze.set(tt,nt),nt},He=function(tt){return Ze.get(tt)||{}},Ge=function(tt){return Ze.has(tt)}}else{var Ye=De("state");Pe[Ye]=!0,Fe=function(tt,nt){if(Re(tt,Ye))throw new qe(Oe);return nt.facade=tt,Te(tt,Ye,nt),nt},He=function(tt){return Re(tt,Ye)?tt[Ye]:{}},Ge=function(tt){return Re(tt,Ye)}}return internalState={set:Fe,get:He,has:Ge,enforce:Ke,getterFor:Je},internalState}var hasRequiredMakeBuiltIn;function requireMakeBuiltIn(){if(hasRequiredMakeBuiltIn)return makeBuiltIn.exports;hasRequiredMakeBuiltIn=1;var be=requireFunctionUncurryThis(),Ce=requireFails(),Se=requireIsCallable(),Te=requireHasOwnProperty(),Re=requireDescriptors(),Le=requireFunctionName().CONFIGURABLE,De=requireInspectSource(),Pe=requireInternalState(),Oe=Pe.enforce,qe=Pe.get,je=String,Fe=Object.defineProperty,He=be("".slice),Ge=be("".replace),Ke=be([].join),Je=Re&&!Ce(function(){return Fe(function(){},"length",{value:8}).length!==8}),Ze=String(String).split("String"),Ye=makeBuiltIn.exports=function(tt,nt,it){He(je(nt),0,7)==="Symbol("&&(nt="["+Ge(je(nt),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),it&&it.getter&&(nt="get "+nt),it&&it.setter&&(nt="set "+nt),(!Te(tt,"name")||Le&&tt.name!==nt)&&(Re?Fe(tt,"name",{value:nt,configurable:!0}):tt.name=nt),Je&&it&&Te(it,"arity")&&tt.length!==it.arity&&Fe(tt,"length",{value:it.arity});try{it&&Te(it,"constructor")&&it.constructor?Re&&Fe(tt,"prototype",{writable:!1}):tt.prototype&&(tt.prototype=void 0)}catch{}var ot=Oe(tt);return Te(ot,"source")||(ot.source=Ke(Ze,typeof nt=="string"?nt:"")),tt};return Function.prototype.toString=Ye(function(){return Se(this)&&qe(this).source||De(this)},"toString"),makeBuiltIn.exports}var defineBuiltIn,hasRequiredDefineBuiltIn;function requireDefineBuiltIn(){if(hasRequiredDefineBuiltIn)return defineBuiltIn;hasRequiredDefineBuiltIn=1;var be=requireIsCallable(),Ce=requireObjectDefineProperty(),Se=requireMakeBuiltIn(),Te=requireDefineGlobalProperty();return defineBuiltIn=function(Re,Le,De,Pe){Pe||(Pe={});var Oe=Pe.enumerable,qe=Pe.name!==void 0?Pe.name:Le;if(be(De)&&Se(De,qe,Pe),Pe.global)Oe?Re[Le]=De:Te(Le,De);else{try{Pe.unsafe?Re[Le]&&(Oe=!0):delete Re[Le]}catch{}Oe?Re[Le]=De:Ce.f(Re,Le,{value:De,enumerable:!1,configurable:!Pe.nonConfigurable,writable:!Pe.nonWritable})}return Re},defineBuiltIn}var objectGetOwnPropertyNames={},mathTrunc,hasRequiredMathTrunc;function requireMathTrunc(){if(hasRequiredMathTrunc)return mathTrunc;hasRequiredMathTrunc=1;var be=Math.ceil,Ce=Math.floor;return mathTrunc=Math.trunc||function(Te){var Re=+Te;return(Re>0?Ce:be)(Re)},mathTrunc}var toIntegerOrInfinity,hasRequiredToIntegerOrInfinity;function requireToIntegerOrInfinity(){if(hasRequiredToIntegerOrInfinity)return toIntegerOrInfinity;hasRequiredToIntegerOrInfinity=1;var be=requireMathTrunc();return toIntegerOrInfinity=function(Ce){var Se=+Ce;return Se!==Se||Se===0?0:be(Se)},toIntegerOrInfinity}var toAbsoluteIndex,hasRequiredToAbsoluteIndex;function requireToAbsoluteIndex(){if(hasRequiredToAbsoluteIndex)return toAbsoluteIndex;hasRequiredToAbsoluteIndex=1;var be=requireToIntegerOrInfinity(),Ce=Math.max,Se=Math.min;return toAbsoluteIndex=function(Te,Re){var Le=be(Te);return Le<0?Ce(Le+Re,0):Se(Le,Re)},toAbsoluteIndex}var toLength,hasRequiredToLength;function requireToLength(){if(hasRequiredToLength)return toLength;hasRequiredToLength=1;var be=requireToIntegerOrInfinity(),Ce=Math.min;return toLength=function(Se){var Te=be(Se);return Te>0?Ce(Te,9007199254740991):0},toLength}var lengthOfArrayLike,hasRequiredLengthOfArrayLike;function requireLengthOfArrayLike(){if(hasRequiredLengthOfArrayLike)return lengthOfArrayLike;hasRequiredLengthOfArrayLike=1;var be=requireToLength();return lengthOfArrayLike=function(Ce){return be(Ce.length)},lengthOfArrayLike}var arrayIncludes,hasRequiredArrayIncludes;function requireArrayIncludes(){if(hasRequiredArrayIncludes)return arrayIncludes;hasRequiredArrayIncludes=1;var be=requireToIndexedObject(),Ce=requireToAbsoluteIndex(),Se=requireLengthOfArrayLike(),Te=function(Re){return function(Le,De,Pe){var Oe=be(Le),qe=Se(Oe);if(qe===0)return!Re&&-1;var je=Ce(Pe,qe),Fe;if(Re&&De!==De){for(;qe>je;)if(Fe=Oe[je++],Fe!==Fe)return!0}else for(;qe>je;je++)if((Re||je in Oe)&&Oe[je]===De)return Re||je||0;return!Re&&-1}};return arrayIncludes={includes:Te(!0),indexOf:Te(!1)},arrayIncludes}var objectKeysInternal,hasRequiredObjectKeysInternal;function requireObjectKeysInternal(){if(hasRequiredObjectKeysInternal)return objectKeysInternal;hasRequiredObjectKeysInternal=1;var be=requireFunctionUncurryThis(),Ce=requireHasOwnProperty(),Se=requireToIndexedObject(),Te=requireArrayIncludes().indexOf,Re=requireHiddenKeys(),Le=be([].push);return objectKeysInternal=function(De,Pe){var Oe=Se(De),qe=0,je=[],Fe;for(Fe in Oe)!Ce(Re,Fe)&&Ce(Oe,Fe)&&Le(je,Fe);for(;Pe.length>qe;)Ce(Oe,Fe=Pe[qe++])&&(~Te(je,Fe)||Le(je,Fe));return je},objectKeysInternal}var enumBugKeys,hasRequiredEnumBugKeys;function requireEnumBugKeys(){return hasRequiredEnumBugKeys||(hasRequiredEnumBugKeys=1,enumBugKeys=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),enumBugKeys}var hasRequiredObjectGetOwnPropertyNames;function requireObjectGetOwnPropertyNames(){if(hasRequiredObjectGetOwnPropertyNames)return objectGetOwnPropertyNames;hasRequiredObjectGetOwnPropertyNames=1;var be=requireObjectKeysInternal(),Ce=requireEnumBugKeys(),Se=Ce.concat("length","prototype");return objectGetOwnPropertyNames.f=Object.getOwnPropertyNames||function(Re){return be(Re,Se)},objectGetOwnPropertyNames}var objectGetOwnPropertySymbols={},hasRequiredObjectGetOwnPropertySymbols;function requireObjectGetOwnPropertySymbols(){return hasRequiredObjectGetOwnPropertySymbols||(hasRequiredObjectGetOwnPropertySymbols=1,objectGetOwnPropertySymbols.f=Object.getOwnPropertySymbols),objectGetOwnPropertySymbols}var ownKeys,hasRequiredOwnKeys;function requireOwnKeys(){if(hasRequiredOwnKeys)return ownKeys;hasRequiredOwnKeys=1;var be=requireGetBuiltIn(),Ce=requireFunctionUncurryThis(),Se=requireObjectGetOwnPropertyNames(),Te=requireObjectGetOwnPropertySymbols(),Re=requireAnObject(),Le=Ce([].concat);return ownKeys=be("Reflect","ownKeys")||function(Pe){var Oe=Se.f(Re(Pe)),qe=Te.f;return qe?Le(Oe,qe(Pe)):Oe},ownKeys}var copyConstructorProperties,hasRequiredCopyConstructorProperties;function requireCopyConstructorProperties(){if(hasRequiredCopyConstructorProperties)return copyConstructorProperties;hasRequiredCopyConstructorProperties=1;var be=requireHasOwnProperty(),Ce=requireOwnKeys(),Se=requireObjectGetOwnPropertyDescriptor(),Te=requireObjectDefineProperty();return copyConstructorProperties=function(Re,Le,De){for(var Pe=Ce(Le),Oe=Te.f,qe=Se.f,je=0;je<Pe.length;je++){var Fe=Pe[je];!be(Re,Fe)&&!(De&&be(De,Fe))&&Oe(Re,Fe,qe(Le,Fe))}},copyConstructorProperties}var isForced_1,hasRequiredIsForced;function requireIsForced(){if(hasRequiredIsForced)return isForced_1;hasRequiredIsForced=1;var be=requireFails(),Ce=requireIsCallable(),Se=/#|\.prototype\./,Te=function(Oe,qe){var je=Le[Re(Oe)];return je===Pe?!0:je===De?!1:Ce(qe)?be(qe):!!qe},Re=Te.normalize=function(Oe){return String(Oe).replace(Se,".").toLowerCase()},Le=Te.data={},De=Te.NATIVE="N",Pe=Te.POLYFILL="P";return isForced_1=Te,isForced_1}var _export,hasRequired_export;function require_export(){if(hasRequired_export)return _export;hasRequired_export=1;var be=requireGlobalThis(),Ce=requireObjectGetOwnPropertyDescriptor().f,Se=requireCreateNonEnumerableProperty(),Te=requireDefineBuiltIn(),Re=requireDefineGlobalProperty(),Le=requireCopyConstructorProperties(),De=requireIsForced();return _export=function(Pe,Oe){var qe=Pe.target,je=Pe.global,Fe=Pe.stat,He,Ge,Ke,Je,Ze,Ye;if(je?Ge=be:Fe?Ge=be[qe]||Re(qe,{}):Ge=be[qe]&&be[qe].prototype,Ge)for(Ke in Oe){if(Ze=Oe[Ke],Pe.dontCallGetSet?(Ye=Ce(Ge,Ke),Je=Ye&&Ye.value):Je=Ge[Ke],He=De(je?Ke:qe+(Fe?".":"#")+Ke,Pe.forced),!He&&Je!==void 0){if(typeof Ze==typeof Je)continue;Le(Ze,Je)}(Pe.sham||Je&&Je.sham)&&Se(Ze,"sham",!0),Te(Ge,Ke,Ze,Pe)}},_export}var toStringTagSupport,hasRequiredToStringTagSupport;function requireToStringTagSupport(){if(hasRequiredToStringTagSupport)return toStringTagSupport;hasRequiredToStringTagSupport=1;var be=requireWellKnownSymbol(),Ce=be("toStringTag"),Se={};return Se[Ce]="z",toStringTagSupport=String(Se)==="[object z]",toStringTagSupport}var classof,hasRequiredClassof;function requireClassof(){if(hasRequiredClassof)return classof;hasRequiredClassof=1;var be=requireToStringTagSupport(),Ce=requireIsCallable(),Se=requireClassofRaw(),Te=requireWellKnownSymbol(),Re=Te("toStringTag"),Le=Object,De=Se(function(){return arguments}())==="Arguments",Pe=function(Oe,qe){try{return Oe[qe]}catch{}};return classof=be?Se:function(Oe){var qe,je,Fe;return Oe===void 0?"Undefined":Oe===null?"Null":typeof(je=Pe(qe=Le(Oe),Re))=="string"?je:De?Se(qe):(Fe=Se(qe))==="Object"&&Ce(qe.callee)?"Arguments":Fe},classof}var toString,hasRequiredToString;function requireToString(){if(hasRequiredToString)return toString;hasRequiredToString=1;var be=requireClassof(),Ce=String;return toString=function(Se){if(be(Se)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return Ce(Se)},toString}var regexpFlags,hasRequiredRegexpFlags;function requireRegexpFlags(){if(hasRequiredRegexpFlags)return regexpFlags;hasRequiredRegexpFlags=1;var be=requireAnObject();return regexpFlags=function(){var Ce=be(this),Se="";return Ce.hasIndices&&(Se+="d"),Ce.global&&(Se+="g"),Ce.ignoreCase&&(Se+="i"),Ce.multiline&&(Se+="m"),Ce.dotAll&&(Se+="s"),Ce.unicode&&(Se+="u"),Ce.unicodeSets&&(Se+="v"),Ce.sticky&&(Se+="y"),Se},regexpFlags}var regexpStickyHelpers,hasRequiredRegexpStickyHelpers;function requireRegexpStickyHelpers(){if(hasRequiredRegexpStickyHelpers)return regexpStickyHelpers;hasRequiredRegexpStickyHelpers=1;var be=requireFails(),Ce=requireGlobalThis(),Se=Ce.RegExp,Te=be(function(){var De=Se("a","y");return De.lastIndex=2,De.exec("abcd")!==null}),Re=Te||be(function(){return!Se("a","y").sticky}),Le=Te||be(function(){var De=Se("^r","gy");return De.lastIndex=2,De.exec("str")!==null});return regexpStickyHelpers={BROKEN_CARET:Le,MISSED_STICKY:Re,UNSUPPORTED_Y:Te},regexpStickyHelpers}var objectDefineProperties={},objectKeys,hasRequiredObjectKeys;function requireObjectKeys(){if(hasRequiredObjectKeys)return objectKeys;hasRequiredObjectKeys=1;var be=requireObjectKeysInternal(),Ce=requireEnumBugKeys();return objectKeys=Object.keys||function(Te){return be(Te,Ce)},objectKeys}var hasRequiredObjectDefineProperties;function requireObjectDefineProperties(){if(hasRequiredObjectDefineProperties)return objectDefineProperties;hasRequiredObjectDefineProperties=1;var be=requireDescriptors(),Ce=requireV8PrototypeDefineBug(),Se=requireObjectDefineProperty(),Te=requireAnObject(),Re=requireToIndexedObject(),Le=requireObjectKeys();return objectDefineProperties.f=be&&!Ce?Object.defineProperties:function(Pe,Oe){Te(Pe);for(var qe=Re(Oe),je=Le(Oe),Fe=je.length,He=0,Ge;Fe>He;)Se.f(Pe,Ge=je[He++],qe[Ge]);return Pe},objectDefineProperties}var html$3,hasRequiredHtml$1;function requireHtml$1(){if(hasRequiredHtml$1)return html$3;hasRequiredHtml$1=1;var be=requireGetBuiltIn();return html$3=be("document","documentElement"),html$3}var objectCreate,hasRequiredObjectCreate;function requireObjectCreate(){if(hasRequiredObjectCreate)return objectCreate;hasRequiredObjectCreate=1;var be=requireAnObject(),Ce=requireObjectDefineProperties(),Se=requireEnumBugKeys(),Te=requireHiddenKeys(),Re=requireHtml$1(),Le=requireDocumentCreateElement(),De=requireSharedKey(),Pe=">",Oe="<",qe="prototype",je="script",Fe=De("IE_PROTO"),He=function(){},Ge=function(tt){return Oe+je+Pe+tt+Oe+"/"+je+Pe},Ke=function(tt){tt.write(Ge("")),tt.close();var nt=tt.parentWindow.Object;return tt=null,nt},Je=function(){var tt=Le("iframe"),nt="java"+je+":",it;return tt.style.display="none",Re.appendChild(tt),tt.src=String(nt),it=tt.contentWindow.document,it.open(),it.write(Ge("document.F=Object")),it.close(),it.F},Ze,Ye=function(){try{Ze=new ActiveXObject("htmlfile")}catch{}Ye=typeof document<"u"?document.domain&&Ze?Ke(Ze):Je():Ke(Ze);for(var tt=Se.length;tt--;)delete Ye[qe][Se[tt]];return Ye()};return Te[Fe]=!0,objectCreate=Object.create||function(nt,it){var ot;return nt!==null?(He[qe]=be(nt),ot=new He,He[qe]=null,ot[Fe]=nt):ot=Ye(),it===void 0?ot:Ce.f(ot,it)},objectCreate}var regexpUnsupportedDotAll,hasRequiredRegexpUnsupportedDotAll;function requireRegexpUnsupportedDotAll(){if(hasRequiredRegexpUnsupportedDotAll)return regexpUnsupportedDotAll;hasRequiredRegexpUnsupportedDotAll=1;var be=requireFails(),Ce=requireGlobalThis(),Se=Ce.RegExp;return regexpUnsupportedDotAll=be(function(){var Te=Se(".","s");return!(Te.dotAll&&Te.test(`
|
|
1555
|
+
`);if(be instanceof TypeError&&be.message.includes("fetch"))return"Network error: Failed to fetch";if(be?.name==="FetchError")return be.message||"Fetch error occurred";if(be?.isAxiosError){if(be.response?.data){if(be.response.data.message)return be.response.data.message;if(be.response.data.error)return be.response.data.error;const Ce=typeof be.response.data=="string"?be.response.data.slice(0,200):JSON.stringify(be.response.data);return`Request failed: ${be.response.status} ${be.response.statusText}: ${Ce}`}return be.message||"Request failed"}if(be?.response){if(be.response.error)return be.response.error;if(be.response.data?.message)return be.response.data.message;if(be.response.data?.error)return be.response.data.error;const Ce=typeof be.response.data=="string"?be.response.data.slice(0,200):JSON.stringify(be.response.data);return`Request failed: ${be.response.status} ${be.response.statusText}: ${Ce}`}return be.message||String(be)}var urlPathFriendly$1={},isAbsoluteUrl,hasRequiredIsAbsoluteUrl;function requireIsAbsoluteUrl(){return hasRequiredIsAbsoluteUrl||(hasRequiredIsAbsoluteUrl=1,isAbsoluteUrl=be=>{if(typeof be!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof be}\``);return/^[a-zA-Z]:\\/.test(be)?!1:/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(be)}),isAbsoluteUrl}var hasRequiredUrlPathFriendly;function requireUrlPathFriendly(){if(hasRequiredUrlPathFriendly)return urlPathFriendly$1;hasRequiredUrlPathFriendly=1;var be=urlPathFriendly$1&&urlPathFriendly$1.__importDefault||function(De){return De&&De.__esModule?De:{default:De}};Object.defineProperty(urlPathFriendly$1,"__esModule",{value:!0}),urlPathFriendly$1.checkLink=urlPathFriendly$1.isValidUrlPath=void 0;const Ce=be(requireIsAbsoluteUrl()),Se=De=>/[^\x20-\x7F]/.test(De)?!1:/^[a-z0-9/\-._]*$/i.test(De)&&!De.includes("//");urlPathFriendly$1.isValidUrlPath=Se;const Te=(De,{keepSlash:Pe=!0}={})=>{const Fe=De.trim().replace(/[^\x20-\x7F]/g,"").replace(/[^a-z0-9_.\-/]/gi,"-").replace(/-+/g,"-").replace(/\.+/g,".").replace(/\/+/g,"/");return Pe?Fe:Fe.replace(/^\/|\/$/g,"")},Re=De=>/^\/(?:[^/]+\/)*$/.test(De)||/^\/(?:[^/]+\/)*[^/]+$/.test(De),Le=De=>!!((0,Ce.default)(De)||Re(De));return urlPathFriendly$1.checkLink=Le,urlPathFriendly$1.default=Te,urlPathFriendly$1}var urlPathFriendlyExports=requireUrlPathFriendly();const urlPathFriendly=getDefaultExportFromCjs$1(urlPathFriendlyExports),STORE_LOGO_FILTER="imageFilter=convert&f=png&h=80";function filesize(be,Ce={}){return filesize$1(be,{base:2,round:2,...Ce})}function sleep(be){return new Promise(Ce=>setTimeout(Ce,be))}const validateDomain=(be,Ce="en")=>be?be.endsWith(constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX)?{en:`Site domain cannot include ${constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX}`,zh:`站点域名不能包含 ${constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX}`}[Ce]:null:{en:"Site domain cannot be empty",zh:"站点域名不能为空"}[Ce];function getAccessUrl(be,Ce="",Se=void 0){if(!be)return"";try{let Te="";const Re=Number(window.location.port);Re&&![80,443].includes(Re)&&(Te=`:${Re}`);const Le=new URL(`${window.location.protocol}//${be}${Te}`);Le.pathname=Ce;const De=Le.href.replace(/\/$/,"");if(!Se||!Object.keys(Se))return De;const Pe=new URLSearchParams;return Object.keys(Se).forEach(Oe=>{Pe.append(Oe,Se[Oe])}),`${De}${Le.pathname==="/"?"/":""}?${Pe.toString()}`}catch(Te){return console.error(Te),""}}function getBlockletUrl({blocklet:be,domain:Ce,mountPoint:Se,params:Te}={}){const{site:Re}=be;if(!Re)return null;const Le=Ce||(Re.domainAliases||[])[0];if(!Le)return null;let De=Se;if(!De){const Pe=Re.rules.filter(Oe=>!Oe.from.pathPrefix.startsWith(constantExports$1.WELLKNOWN_PATH_PREFIX))[0];De=Pe?Pe.from.pathPrefix:"/"}return getAccessUrl(Le.value,De,Te)}function getBlockletUrls({blocklet:be,mountPoint:Ce,params:Se}={}){const{site:Te}=be;if(!Te)return[];const Re=Te.domainAliases||[];if(!Re.length)return[];let Le=Ce;if(!Le){const De=Te.rules.filter(Oe=>!Oe.from.pathPrefix.startsWith(constantExports$1.WELLKNOWN_PATH_PREFIX));let Pe=De[0];if(Pe?.from?.pathPrefix!=="/"){const Oe=De.find(qe=>qe.from?.pathPrefix==="/");Oe&&(Pe=Oe)}Le=normalizePathPrefix(Pe?.from?.pathPrefix||"/")}return Re.map(De=>getAccessUrl(De.value,Le,Se))}function getExplorerLink(be,Ce,Se){if(be)try{const Te=new URL(be);switch(Se){case"asset":Te.pathname=`/explorer/assets/${Ce}`;break;case"account":Te.pathname=`/explorer/accounts/${Ce}`;break;case"tx":Te.pathname=`/explorer/txs/${Ce}`;break;case"token":Te.pathname=`/explorer/tokens/${Ce}`;break;case"factory":Te.pathname=`/explorer/factories/${Ce}`;break;case"bridge":Te.pathname=`/explorer/bridges/${Ce}`;break;default:Te.pathname="/"}return Te.href}catch{return}}function patchJsxToLocale(be,Ce={}){return be.split(/{{|}}/).map(Se=>Ce[Se]?Ce[Se]instanceof Function?Ce[Se]():Ce[Se]:Se).filter(Boolean)}const formatLocale=(be="en")=>be==="tw"?"zh":be;function formatToDate(be,Ce="en"){return be?dayjs(be).locale(formatLocale(Ce)).format("ll"):"-"}function formatToDatetime(be,Ce="en"){return be?dayjs(be).locale(formatLocale(Ce)).format("lll"):"-"}function formatTime(be,Ce="lll",Se="en"){return be?dayjs(be).locale(formatLocale(Se)).format(Ce):"-"}function formatDateTime(be,Ce="en"){return dayjs(be).locale(formatLocale(Ce)).format("YYYY-MM-DD HH:mm")}const formatPrettyMsLocale=be=>be==="zh"?"zh_CN":"en_US",isInstalling=be=>["waiting","downloading","installing","upgrading"].includes(be),isDownloading=be=>["waiting","downloading"].includes(be),isExtracting=be=>["extracting"].includes(be),checkInputByType=(be,Ce)=>{const Se={url:isUrl};return be?Se[be]?Se[be](Ce):!1:!0},shouldCheckDomainStatus=be=>be&&![constantExports$1.DOMAIN_FOR_IP_SITE,constantExports$1.DOMAIN_FOR_IP_SITE_REGEXP,constantExports$1.DOMAIN_FOR_DEFAULT_SITE,constantExports$1.DOMAIN_FOR_INTERNAL_SITE].includes(be),checkIsWildcardDomain=be=>{try{if(!be)return!1;const Ce=be.startsWith("http")?be:`http://${be}`,Se=new window.URL(Ce);return decodeURIComponent(Se.host).split(".").some(Te=>Te==="*")}catch(Ce){return console.error(be,Ce),!1}},stringSortHandlerAsc=(be="",Ce="")=>be>Ce?1:Ce>be?-1:0,getInviteLink=({inviteId:be,endpoint:Ce})=>{if(!Ce)return"";const Se=new URL(Ce);return Se.pathname=joinURL(Se.pathname,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"invite"),Se.searchParams.set("inviteId",be),Se.href},getTransferAppLink=({transferId:be,endpoint:Ce})=>{if(!Ce)return"";const Se=new URL(Ce);return Se.pathname=joinURL(Se.pathname,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"transfer"),Se.searchParams.set("transferId",be),Se.href},getIssuePassportLink=({id:be,endpoint:Ce})=>{if(!Ce)return"";const Se=new URL(Ce);return Se.pathname=joinURL(Se.pathname,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"issue-passport"),Se.searchParams.set("id",be),Se.href},formatRegistryLogoPath=(be,Ce,Se="")=>Ce.startsWith("/assets")?Ce:Se?`/assets/${be}/${Ce}?v=${Se}&${STORE_LOGO_FILTER}`:`/assets/${be}/${Ce}?${STORE_LOGO_FILTER}`;function getWebWalletUrl(be){try{const Ce=window.localStorage.getItem("wallet_url");if(Ce)return Ce}catch{}return be&&be.webWalletUrl?be.webWalletUrl:constantExports$1.WEB_WALLET_URL}function isValidClusterSize(be){const{value:Ce,cpuCores:Se}=be;if(!Ce)return"";const Te=Number(Ce);return Number.isNaN(Te)?"Cluster size should be a number":Number.isInteger(Te)?Te<=0||Te>Se?`Cluster size should between 1 to ${Se}`:"":"Cluster size should be integer"}function isProtectedRole(be){return Object.values(constantExports$1.ROLES).includes(be)}const getBlockletLogoUrl=({did:be,baseUrl:Ce,logoPath:Se,version:Te=""})=>{if(Se&&Se.startsWith("http"))return Se;if(Ce.startsWith("http")&&Se)return joinURL(Ce,formatRegistryLogoPath(be,Se,Te));let Le=(window.env.apiPrefix||"/").replace(/^\/+/,"").replace(/\/+$/,"");return Le&&(Le=`/${Le}`),joinURL(Le,Te?`/blocklet/logo/${be}?v=${Te}&${STORE_LOGO_FILTER}`:`/blocklet/logo/${be}?${STORE_LOGO_FILTER}`)},getPathPrefix=()=>window.env&&window.env.apiPrefix?window.env.apiPrefix:"/",checkBlockletAccessible=async(be,Ce=5e3)=>{try{const Se=new URL(be);return Se.protocol="https",Se.pathname=joinURL("/__blocklet__.js?type=json"),await axios.get(Se.toString(),{timeout:Ce,validateStatus:Te=>Te>=200&&Te<400||Te===503}),!0}catch(Se){return console.error(Se),!1}},waitingForAccessible=async(be,Ce=30*1e3)=>{const Se=await be.map(async Te=>{try{await tryWithTimeout(async()=>{let Re=!1;do Re=await checkBlockletAccessible(Te),await sleep(2e3);while(!Re)},Ce)}catch(Re){console.error(Re)}});await Promise.all(Se)},getAccessibleUrl=async be=>{try{return await waitingForAccessible(be),(await urlEvaluationExports.evaluateURLs(be,{checkAccessible:checkBlockletAccessible}))[0].url}catch(Ce){return console.warn("get accessible url failed",Ce),""}},isCertificateMatch=(be=[],Ce=[])=>{try{return Ce.map(Se=>Se.domain).some(Se=>be.some(Te=>new window.URL(Te.startsWith("http")?Te:`http://${Te}`).hostname===Se))}catch{return console.warn("domain match failed"),!1}},getBlockletUrlParams=(be,Ce)=>(be||{}).status==="running"?{locale:Ce}:{locale:Ce,__start__:1};function deepDecodeURIComponent(be){let Ce=decodeURIComponent(be);for(;Ce!==decodeURIComponent(Ce);)Ce=decodeURIComponent(Ce);return Ce}function extractStatusUrlFromNextWorkflow(be){const Ce=new URL(deepDecodeURIComponent(be)).searchParams.get("url");return{statusUrl:Ce.replace("/auth?","/status?"),token:new URL(Ce).searchParams.get("_t_")}}function getBlockletMetaUrl(be,Ce,Se){let Te=be;return!Te&&Se?.tarball&&(Te=new URL(Se.tarball).origin),joinURL(Te,constantExports$1.BLOCKLET_STORE_API_PREFIX,`/blocklets/${Ce}/blocklet.json`)}const isNewStoreUrl=(be,Ce)=>{if(typeof be=="string"){let Se=decodeURIComponent(be?.trim());/^https?:\/\//.test(Se)||(Se=`https://${Se}`),Se=trimEnd(Se,"/");try{new URL(Se)}catch{throw new Error("Invalid Blocklet Store URL")}return Ce?.some(Re=>[be,Se].includes(Re.url))?{isNew:!1,decoded:Se}:{isNew:!0,decoded:Se}}return{isNew:!1,decoded:""}},APP_PREFIX=window.env?.groupPathPrefix||"/",BlockletAdminRoles=[constantExports$1.ROLES.ADMIN,constantExports$1.ROLES.OWNER],toSlotDomain=be=>{if(be.endsWith(constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX)){const Se=be.split(".").shift().match(constantExports$1.IP);if(Se)return be.replace(Se[0].slice(1),constantExports$1.SLOT_FOR_IP_DNS_SITE)}return be},getStoreList=({fromBlocklet:be,nodeInfo:Ce,blocklet:Se})=>{const Te=be?Se?.meta?.did:Ce?.did,Re=be?Se?.settings?.storeList||[]:Ce?.blockletRegistryList||[];return{teamDid:Te,storeList:Re.filter(Le=>Le.protected||!Le.scope)}},isDidDomainOrIpEchoDomain=be=>be?be.endsWith(constantExports$1.DEFAULT_DID_DOMAIN)||be.endsWith(constantExports$1.DEFAULT_IP_DOMAIN_SUFFIX)||be.endsWith(constantExports$1.DEFAULT_SLP_DOMAIN):!1,sortDomains=be=>(be||[]).sort((Ce,Se)=>isDidDomainOrIpEchoDomain(Ce.value)&&isDidDomainOrIpEchoDomain(Se.value)?0:isDidDomainOrIpEchoDomain(Ce.value)?1:isDidDomainOrIpEchoDomain(Se.value)?-1:1),formatMountPoint=be=>normalizePathPrefix(urlPathFriendly(be)),getLauncherBaseURL=async be=>{if(!be)return"";let Ce=be;try{const{data:Se}=await axios.get(joinURL(be,"__blocklet__.js?type=json"),{timeout:5e3}),Te=Se.componentMountPoints?.find(Le=>Le.did==="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7"),Re=new URL(be);Ce=joinURL(Re.origin,Te?.mountPoint)}catch(Se){console.error(Se)}return Ce},getSubscriptionUrlV2=async({launcherUrl:be="",launcherSessionId:Ce="",nftDid:Se,locale:Te="en",theme:Re=""})=>{if(!be)return"";const Le=await getLauncherBaseURL(be),De=Re?`&theme=${Re}`:"";return joinURL(Le,`/embed/subscription?launcherSessionId=${Ce}&nftDid=${Se}&locale=${Te}${De}`)},getSystemDomains=be=>be.filter(Ce=>Ce.isProtected),getLogoHash=be=>encodeURIComponent((be||"").split("/").slice(-1)[0].slice(0,7)),hasRequiredEnvironments=be=>(be.environments||[]).some(Ce=>Ce.required),hasRequiredSteps=be=>!!be.requirements?.fuels?.length||hasRequiredEnvironments(be),isFromWallet=()=>{const{searchParams:be}=new URL(window.location.href);return be.get("fromWallet")==="1"};function fetchSvgAsPng(be,Ce={}){if(!be||!be.toLowerCase().endsWith(".svg"))return null;const{width:Se,height:Te,quality:Re=1}=Ce;return new Promise((Le,De)=>{const Pe=new Image;Pe.crossOrigin="anonymous",Pe.onload=()=>{const Oe=document.createElement("canvas"),qe=Se?Se*Re:Pe.width*Re,je=Te?Te*Re:Pe.height*Re;Oe.width=qe,Oe.height=je;const Fe=Oe.getContext("2d");Fe.clearRect(0,0,Oe.width,Oe.height),Fe.imageSmoothingEnabled=!0,Fe.imageSmoothingQuality="high";const He=Pe.width/Pe.height;let Ge=Pe.width*Re,Ke=Pe.height*Re;if(Se||Te){if(Se&&!Te)Ge=Se*Re,Ke=Ge/He;else if(!Se&&Te)Ke=Te*Re,Ge=Ke*He;else if(Se&&Te){const Ye=qe/je;He>Ye?(Ke=je,Ge=Ke*He):(Ge=qe,Ke=Ge/He)}}const Je=(qe-Ge)/2,Ze=(je-Ke)/2;Fe.drawImage(Pe,Je,Ze,Ge,Ke),Oe.toBlob(Ye=>Le(Ye),"image/png",1)},Pe.onerror=Oe=>{console.error("Error loading SVG image:",Oe),De(new Error(`Failed to load SVG image: ${be}`))},Pe.src=be})}function blobToFile(be,Ce){return new File([be],Ce,{type:be.type})}function isDomainAccessible(be){if(!be)return!1;const Ce=withHttps(withQuery(joinURL(be,"/__blocklet__.js"),{type:"json"}));return new Promise(async Se=>{try{const Te=await axios.get(Ce,{timeout:5e3});Se(!!Te?.data?.did)}catch{Se(!1)}})}async function getBlockletAccessibleUrl(be){if(!be)return"";const Ce=sortDomains(be.site?.domainAliases),Se=Ce.filter(Re=>urlEvaluationExports.isCustomDomain(Re.value)),Te=Ce.filter(Re=>!urlEvaluationExports.isCustomDomain(Re.value));for(const Re of Se)if(await isDomainAccessible(Re.value))return withHttps(Re.value);return withHttps(Te[0]?.value)}const updateWindowEnv=()=>new Promise((be,Ce)=>{const Se=document.createElement("script");Se.src="/.well-known/service/api/env",Se.onload=()=>{document.body.removeChild(Se),be()},Se.onerror=()=>{document.body.removeChild(Se),Ce(new Error("Failed to load script: /.well-known/service/api/env"))},document.body.appendChild(Se)});function getSessionToken(){return window.localStorage.getItem("__sst")}function setSessionToken(be){return window.localStorage.setItem("__sst",be)}function setRefreshToken(be){return window.localStorage.setItem("__srt",be)}function createPassportSvg(be,Ce){return createPassportSvg$1({...be,issuerAvatarUrl:joinURL(window.location.origin,Ce.routing.adminPath,"/images/node.png")})}const createAppPassportSvg=(be,Ce)=>createPassportSvg$1({...be,issuerAvatarUrl:joinURL(Ce,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo")});function getCommonHtmlTitle(be="",Ce="",Se={}){const Te=[be,Ce].filter(Boolean).join(" - "),Re=Se.name||"";return Re?Te?`${Te} | ${Re}`:Re:Te}const api=axios$2.create();api.interceptors.request.use(be=>{const Ce=window.env&&window.env.apiPrefix||"/";be.baseURL=joinURL(Ce,"/api"),be.timeout=2e4;const Se=getSessionToken();return Se&&(be.headers=Object.assign(be.headers||{},{authorization:`Bearer ${Se}`})),be},be=>Promise.reject(be));api.interceptors.response.use(be=>be,async be=>{throw typeof be.response?.data?.text=="string"?be.message=be.response.data.text:typeof be.response?.data?.text=="function"&&(be.message=await be.response.data.text()),be});var es_regexp_exec={},globalThis_1,hasRequiredGlobalThis;function requireGlobalThis(){if(hasRequiredGlobalThis)return globalThis_1;hasRequiredGlobalThis=1;var be=function(Ce){return Ce&&Ce.Math===Math&&Ce};return globalThis_1=be(typeof globalThis=="object"&&globalThis)||be(typeof window=="object"&&window)||be(typeof self=="object"&&self)||be(typeof commonjsGlobal=="object"&&commonjsGlobal)||be(typeof globalThis_1=="object"&&globalThis_1)||function(){return this}()||Function("return this")(),globalThis_1}var objectGetOwnPropertyDescriptor={},fails,hasRequiredFails;function requireFails(){return hasRequiredFails||(hasRequiredFails=1,fails=function(be){try{return!!be()}catch{return!0}}),fails}var descriptors,hasRequiredDescriptors;function requireDescriptors(){if(hasRequiredDescriptors)return descriptors;hasRequiredDescriptors=1;var be=requireFails();return descriptors=!be(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),descriptors}var functionBindNative,hasRequiredFunctionBindNative;function requireFunctionBindNative(){if(hasRequiredFunctionBindNative)return functionBindNative;hasRequiredFunctionBindNative=1;var be=requireFails();return functionBindNative=!be(function(){var Ce=(function(){}).bind();return typeof Ce!="function"||Ce.hasOwnProperty("prototype")}),functionBindNative}var functionCall,hasRequiredFunctionCall;function requireFunctionCall(){if(hasRequiredFunctionCall)return functionCall;hasRequiredFunctionCall=1;var be=requireFunctionBindNative(),Ce=Function.prototype.call;return functionCall=be?Ce.bind(Ce):function(){return Ce.apply(Ce,arguments)},functionCall}var objectPropertyIsEnumerable={},hasRequiredObjectPropertyIsEnumerable;function requireObjectPropertyIsEnumerable(){if(hasRequiredObjectPropertyIsEnumerable)return objectPropertyIsEnumerable;hasRequiredObjectPropertyIsEnumerable=1;var be={}.propertyIsEnumerable,Ce=Object.getOwnPropertyDescriptor,Se=Ce&&!be.call({1:2},1);return objectPropertyIsEnumerable.f=Se?function(Re){var Le=Ce(this,Re);return!!Le&&Le.enumerable}:be,objectPropertyIsEnumerable}var createPropertyDescriptor,hasRequiredCreatePropertyDescriptor;function requireCreatePropertyDescriptor(){return hasRequiredCreatePropertyDescriptor||(hasRequiredCreatePropertyDescriptor=1,createPropertyDescriptor=function(be,Ce){return{enumerable:!(be&1),configurable:!(be&2),writable:!(be&4),value:Ce}}),createPropertyDescriptor}var functionUncurryThis,hasRequiredFunctionUncurryThis;function requireFunctionUncurryThis(){if(hasRequiredFunctionUncurryThis)return functionUncurryThis;hasRequiredFunctionUncurryThis=1;var be=requireFunctionBindNative(),Ce=Function.prototype,Se=Ce.call,Te=be&&Ce.bind.bind(Se,Se);return functionUncurryThis=be?Te:function(Re){return function(){return Se.apply(Re,arguments)}},functionUncurryThis}var classofRaw,hasRequiredClassofRaw;function requireClassofRaw(){if(hasRequiredClassofRaw)return classofRaw;hasRequiredClassofRaw=1;var be=requireFunctionUncurryThis(),Ce=be({}.toString),Se=be("".slice);return classofRaw=function(Te){return Se(Ce(Te),8,-1)},classofRaw}var indexedObject,hasRequiredIndexedObject;function requireIndexedObject(){if(hasRequiredIndexedObject)return indexedObject;hasRequiredIndexedObject=1;var be=requireFunctionUncurryThis(),Ce=requireFails(),Se=requireClassofRaw(),Te=Object,Re=be("".split);return indexedObject=Ce(function(){return!Te("z").propertyIsEnumerable(0)})?function(Le){return Se(Le)==="String"?Re(Le,""):Te(Le)}:Te,indexedObject}var isNullOrUndefined,hasRequiredIsNullOrUndefined;function requireIsNullOrUndefined(){return hasRequiredIsNullOrUndefined||(hasRequiredIsNullOrUndefined=1,isNullOrUndefined=function(be){return be==null}),isNullOrUndefined}var requireObjectCoercible,hasRequiredRequireObjectCoercible;function requireRequireObjectCoercible(){if(hasRequiredRequireObjectCoercible)return requireObjectCoercible;hasRequiredRequireObjectCoercible=1;var be=requireIsNullOrUndefined(),Ce=TypeError;return requireObjectCoercible=function(Se){if(be(Se))throw new Ce("Can't call method on "+Se);return Se},requireObjectCoercible}var toIndexedObject,hasRequiredToIndexedObject;function requireToIndexedObject(){if(hasRequiredToIndexedObject)return toIndexedObject;hasRequiredToIndexedObject=1;var be=requireIndexedObject(),Ce=requireRequireObjectCoercible();return toIndexedObject=function(Se){return be(Ce(Se))},toIndexedObject}var isCallable,hasRequiredIsCallable;function requireIsCallable(){if(hasRequiredIsCallable)return isCallable;hasRequiredIsCallable=1;var be=typeof document=="object"&&document.all;return isCallable=typeof be>"u"&&be!==void 0?function(Ce){return typeof Ce=="function"||Ce===be}:function(Ce){return typeof Ce=="function"},isCallable}var isObject,hasRequiredIsObject;function requireIsObject(){if(hasRequiredIsObject)return isObject;hasRequiredIsObject=1;var be=requireIsCallable();return isObject=function(Ce){return typeof Ce=="object"?Ce!==null:be(Ce)},isObject}var getBuiltIn,hasRequiredGetBuiltIn;function requireGetBuiltIn(){if(hasRequiredGetBuiltIn)return getBuiltIn;hasRequiredGetBuiltIn=1;var be=requireGlobalThis(),Ce=requireIsCallable(),Se=function(Te){return Ce(Te)?Te:void 0};return getBuiltIn=function(Te,Re){return arguments.length<2?Se(be[Te]):be[Te]&&be[Te][Re]},getBuiltIn}var objectIsPrototypeOf,hasRequiredObjectIsPrototypeOf;function requireObjectIsPrototypeOf(){if(hasRequiredObjectIsPrototypeOf)return objectIsPrototypeOf;hasRequiredObjectIsPrototypeOf=1;var be=requireFunctionUncurryThis();return objectIsPrototypeOf=be({}.isPrototypeOf),objectIsPrototypeOf}var environmentUserAgent,hasRequiredEnvironmentUserAgent;function requireEnvironmentUserAgent(){if(hasRequiredEnvironmentUserAgent)return environmentUserAgent;hasRequiredEnvironmentUserAgent=1;var be=requireGlobalThis(),Ce=be.navigator,Se=Ce&&Ce.userAgent;return environmentUserAgent=Se?String(Se):"",environmentUserAgent}var environmentV8Version,hasRequiredEnvironmentV8Version;function requireEnvironmentV8Version(){if(hasRequiredEnvironmentV8Version)return environmentV8Version;hasRequiredEnvironmentV8Version=1;var be=requireGlobalThis(),Ce=requireEnvironmentUserAgent(),Se=be.process,Te=be.Deno,Re=Se&&Se.versions||Te&&Te.version,Le=Re&&Re.v8,De,Pe;return Le&&(De=Le.split("."),Pe=De[0]>0&&De[0]<4?1:+(De[0]+De[1])),!Pe&&Ce&&(De=Ce.match(/Edge\/(\d+)/),(!De||De[1]>=74)&&(De=Ce.match(/Chrome\/(\d+)/),De&&(Pe=+De[1]))),environmentV8Version=Pe,environmentV8Version}var symbolConstructorDetection,hasRequiredSymbolConstructorDetection;function requireSymbolConstructorDetection(){if(hasRequiredSymbolConstructorDetection)return symbolConstructorDetection;hasRequiredSymbolConstructorDetection=1;var be=requireEnvironmentV8Version(),Ce=requireFails(),Se=requireGlobalThis(),Te=Se.String;return symbolConstructorDetection=!!Object.getOwnPropertySymbols&&!Ce(function(){var Re=Symbol("symbol detection");return!Te(Re)||!(Object(Re)instanceof Symbol)||!Symbol.sham&&be&&be<41}),symbolConstructorDetection}var useSymbolAsUid,hasRequiredUseSymbolAsUid;function requireUseSymbolAsUid(){if(hasRequiredUseSymbolAsUid)return useSymbolAsUid;hasRequiredUseSymbolAsUid=1;var be=requireSymbolConstructorDetection();return useSymbolAsUid=be&&!Symbol.sham&&typeof Symbol.iterator=="symbol",useSymbolAsUid}var isSymbol,hasRequiredIsSymbol;function requireIsSymbol(){if(hasRequiredIsSymbol)return isSymbol;hasRequiredIsSymbol=1;var be=requireGetBuiltIn(),Ce=requireIsCallable(),Se=requireObjectIsPrototypeOf(),Te=requireUseSymbolAsUid(),Re=Object;return isSymbol=Te?function(Le){return typeof Le=="symbol"}:function(Le){var De=be("Symbol");return Ce(De)&&Se(De.prototype,Re(Le))},isSymbol}var tryToString,hasRequiredTryToString;function requireTryToString(){if(hasRequiredTryToString)return tryToString;hasRequiredTryToString=1;var be=String;return tryToString=function(Ce){try{return be(Ce)}catch{return"Object"}},tryToString}var aCallable,hasRequiredACallable;function requireACallable(){if(hasRequiredACallable)return aCallable;hasRequiredACallable=1;var be=requireIsCallable(),Ce=requireTryToString(),Se=TypeError;return aCallable=function(Te){if(be(Te))return Te;throw new Se(Ce(Te)+" is not a function")},aCallable}var getMethod,hasRequiredGetMethod;function requireGetMethod(){if(hasRequiredGetMethod)return getMethod;hasRequiredGetMethod=1;var be=requireACallable(),Ce=requireIsNullOrUndefined();return getMethod=function(Se,Te){var Re=Se[Te];return Ce(Re)?void 0:be(Re)},getMethod}var ordinaryToPrimitive,hasRequiredOrdinaryToPrimitive;function requireOrdinaryToPrimitive(){if(hasRequiredOrdinaryToPrimitive)return ordinaryToPrimitive;hasRequiredOrdinaryToPrimitive=1;var be=requireFunctionCall(),Ce=requireIsCallable(),Se=requireIsObject(),Te=TypeError;return ordinaryToPrimitive=function(Re,Le){var De,Pe;if(Le==="string"&&Ce(De=Re.toString)&&!Se(Pe=be(De,Re))||Ce(De=Re.valueOf)&&!Se(Pe=be(De,Re))||Le!=="string"&&Ce(De=Re.toString)&&!Se(Pe=be(De,Re)))return Pe;throw new Te("Can't convert object to primitive value")},ordinaryToPrimitive}var sharedStore={exports:{}},isPure,hasRequiredIsPure;function requireIsPure(){return hasRequiredIsPure||(hasRequiredIsPure=1,isPure=!1),isPure}var defineGlobalProperty,hasRequiredDefineGlobalProperty;function requireDefineGlobalProperty(){if(hasRequiredDefineGlobalProperty)return defineGlobalProperty;hasRequiredDefineGlobalProperty=1;var be=requireGlobalThis(),Ce=Object.defineProperty;return defineGlobalProperty=function(Se,Te){try{Ce(be,Se,{value:Te,configurable:!0,writable:!0})}catch{be[Se]=Te}return Te},defineGlobalProperty}var hasRequiredSharedStore;function requireSharedStore(){if(hasRequiredSharedStore)return sharedStore.exports;hasRequiredSharedStore=1;var be=requireIsPure(),Ce=requireGlobalThis(),Se=requireDefineGlobalProperty(),Te="__core-js_shared__",Re=sharedStore.exports=Ce[Te]||Se(Te,{});return(Re.versions||(Re.versions=[])).push({version:"3.43.0",mode:be?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"}),sharedStore.exports}var shared,hasRequiredShared;function requireShared(){if(hasRequiredShared)return shared;hasRequiredShared=1;var be=requireSharedStore();return shared=function(Ce,Se){return be[Ce]||(be[Ce]=Se||{})},shared}var toObject,hasRequiredToObject;function requireToObject(){if(hasRequiredToObject)return toObject;hasRequiredToObject=1;var be=requireRequireObjectCoercible(),Ce=Object;return toObject=function(Se){return Ce(be(Se))},toObject}var hasOwnProperty_1,hasRequiredHasOwnProperty;function requireHasOwnProperty(){if(hasRequiredHasOwnProperty)return hasOwnProperty_1;hasRequiredHasOwnProperty=1;var be=requireFunctionUncurryThis(),Ce=requireToObject(),Se=be({}.hasOwnProperty);return hasOwnProperty_1=Object.hasOwn||function(Re,Le){return Se(Ce(Re),Le)},hasOwnProperty_1}var uid,hasRequiredUid;function requireUid(){if(hasRequiredUid)return uid;hasRequiredUid=1;var be=requireFunctionUncurryThis(),Ce=0,Se=Math.random(),Te=be(1.1.toString);return uid=function(Re){return"Symbol("+(Re===void 0?"":Re)+")_"+Te(++Ce+Se,36)},uid}var wellKnownSymbol,hasRequiredWellKnownSymbol;function requireWellKnownSymbol(){if(hasRequiredWellKnownSymbol)return wellKnownSymbol;hasRequiredWellKnownSymbol=1;var be=requireGlobalThis(),Ce=requireShared(),Se=requireHasOwnProperty(),Te=requireUid(),Re=requireSymbolConstructorDetection(),Le=requireUseSymbolAsUid(),De=be.Symbol,Pe=Ce("wks"),Oe=Le?De.for||De:De&&De.withoutSetter||Te;return wellKnownSymbol=function(qe){return Se(Pe,qe)||(Pe[qe]=Re&&Se(De,qe)?De[qe]:Oe("Symbol."+qe)),Pe[qe]},wellKnownSymbol}var toPrimitive,hasRequiredToPrimitive;function requireToPrimitive(){if(hasRequiredToPrimitive)return toPrimitive;hasRequiredToPrimitive=1;var be=requireFunctionCall(),Ce=requireIsObject(),Se=requireIsSymbol(),Te=requireGetMethod(),Re=requireOrdinaryToPrimitive(),Le=requireWellKnownSymbol(),De=TypeError,Pe=Le("toPrimitive");return toPrimitive=function(Oe,qe){if(!Ce(Oe)||Se(Oe))return Oe;var je=Te(Oe,Pe),Fe;if(je){if(qe===void 0&&(qe="default"),Fe=be(je,Oe,qe),!Ce(Fe)||Se(Fe))return Fe;throw new De("Can't convert object to primitive value")}return qe===void 0&&(qe="number"),Re(Oe,qe)},toPrimitive}var toPropertyKey,hasRequiredToPropertyKey;function requireToPropertyKey(){if(hasRequiredToPropertyKey)return toPropertyKey;hasRequiredToPropertyKey=1;var be=requireToPrimitive(),Ce=requireIsSymbol();return toPropertyKey=function(Se){var Te=be(Se,"string");return Ce(Te)?Te:Te+""},toPropertyKey}var documentCreateElement,hasRequiredDocumentCreateElement;function requireDocumentCreateElement(){if(hasRequiredDocumentCreateElement)return documentCreateElement;hasRequiredDocumentCreateElement=1;var be=requireGlobalThis(),Ce=requireIsObject(),Se=be.document,Te=Ce(Se)&&Ce(Se.createElement);return documentCreateElement=function(Re){return Te?Se.createElement(Re):{}},documentCreateElement}var ie8DomDefine,hasRequiredIe8DomDefine;function requireIe8DomDefine(){if(hasRequiredIe8DomDefine)return ie8DomDefine;hasRequiredIe8DomDefine=1;var be=requireDescriptors(),Ce=requireFails(),Se=requireDocumentCreateElement();return ie8DomDefine=!be&&!Ce(function(){return Object.defineProperty(Se("div"),"a",{get:function(){return 7}}).a!==7}),ie8DomDefine}var hasRequiredObjectGetOwnPropertyDescriptor;function requireObjectGetOwnPropertyDescriptor(){if(hasRequiredObjectGetOwnPropertyDescriptor)return objectGetOwnPropertyDescriptor;hasRequiredObjectGetOwnPropertyDescriptor=1;var be=requireDescriptors(),Ce=requireFunctionCall(),Se=requireObjectPropertyIsEnumerable(),Te=requireCreatePropertyDescriptor(),Re=requireToIndexedObject(),Le=requireToPropertyKey(),De=requireHasOwnProperty(),Pe=requireIe8DomDefine(),Oe=Object.getOwnPropertyDescriptor;return objectGetOwnPropertyDescriptor.f=be?Oe:function(je,Fe){if(je=Re(je),Fe=Le(Fe),Pe)try{return Oe(je,Fe)}catch{}if(De(je,Fe))return Te(!Ce(Se.f,je,Fe),je[Fe])},objectGetOwnPropertyDescriptor}var objectDefineProperty={},v8PrototypeDefineBug,hasRequiredV8PrototypeDefineBug;function requireV8PrototypeDefineBug(){if(hasRequiredV8PrototypeDefineBug)return v8PrototypeDefineBug;hasRequiredV8PrototypeDefineBug=1;var be=requireDescriptors(),Ce=requireFails();return v8PrototypeDefineBug=be&&Ce(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),v8PrototypeDefineBug}var anObject,hasRequiredAnObject;function requireAnObject(){if(hasRequiredAnObject)return anObject;hasRequiredAnObject=1;var be=requireIsObject(),Ce=String,Se=TypeError;return anObject=function(Te){if(be(Te))return Te;throw new Se(Ce(Te)+" is not an object")},anObject}var hasRequiredObjectDefineProperty;function requireObjectDefineProperty(){if(hasRequiredObjectDefineProperty)return objectDefineProperty;hasRequiredObjectDefineProperty=1;var be=requireDescriptors(),Ce=requireIe8DomDefine(),Se=requireV8PrototypeDefineBug(),Te=requireAnObject(),Re=requireToPropertyKey(),Le=TypeError,De=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,Oe="enumerable",qe="configurable",je="writable";return objectDefineProperty.f=be?Se?function(He,Ge,Ke){if(Te(He),Ge=Re(Ge),Te(Ke),typeof He=="function"&&Ge==="prototype"&&"value"in Ke&&je in Ke&&!Ke[je]){var Je=Pe(He,Ge);Je&&Je[je]&&(He[Ge]=Ke.value,Ke={configurable:qe in Ke?Ke[qe]:Je[qe],enumerable:Oe in Ke?Ke[Oe]:Je[Oe],writable:!1})}return De(He,Ge,Ke)}:De:function(He,Ge,Ke){if(Te(He),Ge=Re(Ge),Te(Ke),Ce)try{return De(He,Ge,Ke)}catch{}if("get"in Ke||"set"in Ke)throw new Le("Accessors not supported");return"value"in Ke&&(He[Ge]=Ke.value),He},objectDefineProperty}var createNonEnumerableProperty,hasRequiredCreateNonEnumerableProperty;function requireCreateNonEnumerableProperty(){if(hasRequiredCreateNonEnumerableProperty)return createNonEnumerableProperty;hasRequiredCreateNonEnumerableProperty=1;var be=requireDescriptors(),Ce=requireObjectDefineProperty(),Se=requireCreatePropertyDescriptor();return createNonEnumerableProperty=be?function(Te,Re,Le){return Ce.f(Te,Re,Se(1,Le))}:function(Te,Re,Le){return Te[Re]=Le,Te},createNonEnumerableProperty}var makeBuiltIn={exports:{}},functionName,hasRequiredFunctionName;function requireFunctionName(){if(hasRequiredFunctionName)return functionName;hasRequiredFunctionName=1;var be=requireDescriptors(),Ce=requireHasOwnProperty(),Se=Function.prototype,Te=be&&Object.getOwnPropertyDescriptor,Re=Ce(Se,"name"),Le=Re&&(function(){}).name==="something",De=Re&&(!be||be&&Te(Se,"name").configurable);return functionName={EXISTS:Re,PROPER:Le,CONFIGURABLE:De},functionName}var inspectSource,hasRequiredInspectSource;function requireInspectSource(){if(hasRequiredInspectSource)return inspectSource;hasRequiredInspectSource=1;var be=requireFunctionUncurryThis(),Ce=requireIsCallable(),Se=requireSharedStore(),Te=be(Function.toString);return Ce(Se.inspectSource)||(Se.inspectSource=function(Re){return Te(Re)}),inspectSource=Se.inspectSource,inspectSource}var weakMapBasicDetection,hasRequiredWeakMapBasicDetection;function requireWeakMapBasicDetection(){if(hasRequiredWeakMapBasicDetection)return weakMapBasicDetection;hasRequiredWeakMapBasicDetection=1;var be=requireGlobalThis(),Ce=requireIsCallable(),Se=be.WeakMap;return weakMapBasicDetection=Ce(Se)&&/native code/.test(String(Se)),weakMapBasicDetection}var sharedKey,hasRequiredSharedKey;function requireSharedKey(){if(hasRequiredSharedKey)return sharedKey;hasRequiredSharedKey=1;var be=requireShared(),Ce=requireUid(),Se=be("keys");return sharedKey=function(Te){return Se[Te]||(Se[Te]=Ce(Te))},sharedKey}var hiddenKeys,hasRequiredHiddenKeys;function requireHiddenKeys(){return hasRequiredHiddenKeys||(hasRequiredHiddenKeys=1,hiddenKeys={}),hiddenKeys}var internalState,hasRequiredInternalState;function requireInternalState(){if(hasRequiredInternalState)return internalState;hasRequiredInternalState=1;var be=requireWeakMapBasicDetection(),Ce=requireGlobalThis(),Se=requireIsObject(),Te=requireCreateNonEnumerableProperty(),Re=requireHasOwnProperty(),Le=requireSharedStore(),De=requireSharedKey(),Pe=requireHiddenKeys(),Oe="Object already initialized",qe=Ce.TypeError,je=Ce.WeakMap,Fe,He,Ge,Ke=function(tt){return Ge(tt)?He(tt):Fe(tt,{})},Je=function(tt){return function(nt){var it;if(!Se(nt)||(it=He(nt)).type!==tt)throw new qe("Incompatible receiver, "+tt+" required");return it}};if(be||Le.state){var Ze=Le.state||(Le.state=new je);Ze.get=Ze.get,Ze.has=Ze.has,Ze.set=Ze.set,Fe=function(tt,nt){if(Ze.has(tt))throw new qe(Oe);return nt.facade=tt,Ze.set(tt,nt),nt},He=function(tt){return Ze.get(tt)||{}},Ge=function(tt){return Ze.has(tt)}}else{var Ye=De("state");Pe[Ye]=!0,Fe=function(tt,nt){if(Re(tt,Ye))throw new qe(Oe);return nt.facade=tt,Te(tt,Ye,nt),nt},He=function(tt){return Re(tt,Ye)?tt[Ye]:{}},Ge=function(tt){return Re(tt,Ye)}}return internalState={set:Fe,get:He,has:Ge,enforce:Ke,getterFor:Je},internalState}var hasRequiredMakeBuiltIn;function requireMakeBuiltIn(){if(hasRequiredMakeBuiltIn)return makeBuiltIn.exports;hasRequiredMakeBuiltIn=1;var be=requireFunctionUncurryThis(),Ce=requireFails(),Se=requireIsCallable(),Te=requireHasOwnProperty(),Re=requireDescriptors(),Le=requireFunctionName().CONFIGURABLE,De=requireInspectSource(),Pe=requireInternalState(),Oe=Pe.enforce,qe=Pe.get,je=String,Fe=Object.defineProperty,He=be("".slice),Ge=be("".replace),Ke=be([].join),Je=Re&&!Ce(function(){return Fe(function(){},"length",{value:8}).length!==8}),Ze=String(String).split("String"),Ye=makeBuiltIn.exports=function(tt,nt,it){He(je(nt),0,7)==="Symbol("&&(nt="["+Ge(je(nt),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),it&&it.getter&&(nt="get "+nt),it&&it.setter&&(nt="set "+nt),(!Te(tt,"name")||Le&&tt.name!==nt)&&(Re?Fe(tt,"name",{value:nt,configurable:!0}):tt.name=nt),Je&&it&&Te(it,"arity")&&tt.length!==it.arity&&Fe(tt,"length",{value:it.arity});try{it&&Te(it,"constructor")&&it.constructor?Re&&Fe(tt,"prototype",{writable:!1}):tt.prototype&&(tt.prototype=void 0)}catch{}var ot=Oe(tt);return Te(ot,"source")||(ot.source=Ke(Ze,typeof nt=="string"?nt:"")),tt};return Function.prototype.toString=Ye(function(){return Se(this)&&qe(this).source||De(this)},"toString"),makeBuiltIn.exports}var defineBuiltIn,hasRequiredDefineBuiltIn;function requireDefineBuiltIn(){if(hasRequiredDefineBuiltIn)return defineBuiltIn;hasRequiredDefineBuiltIn=1;var be=requireIsCallable(),Ce=requireObjectDefineProperty(),Se=requireMakeBuiltIn(),Te=requireDefineGlobalProperty();return defineBuiltIn=function(Re,Le,De,Pe){Pe||(Pe={});var Oe=Pe.enumerable,qe=Pe.name!==void 0?Pe.name:Le;if(be(De)&&Se(De,qe,Pe),Pe.global)Oe?Re[Le]=De:Te(Le,De);else{try{Pe.unsafe?Re[Le]&&(Oe=!0):delete Re[Le]}catch{}Oe?Re[Le]=De:Ce.f(Re,Le,{value:De,enumerable:!1,configurable:!Pe.nonConfigurable,writable:!Pe.nonWritable})}return Re},defineBuiltIn}var objectGetOwnPropertyNames={},mathTrunc,hasRequiredMathTrunc;function requireMathTrunc(){if(hasRequiredMathTrunc)return mathTrunc;hasRequiredMathTrunc=1;var be=Math.ceil,Ce=Math.floor;return mathTrunc=Math.trunc||function(Te){var Re=+Te;return(Re>0?Ce:be)(Re)},mathTrunc}var toIntegerOrInfinity,hasRequiredToIntegerOrInfinity;function requireToIntegerOrInfinity(){if(hasRequiredToIntegerOrInfinity)return toIntegerOrInfinity;hasRequiredToIntegerOrInfinity=1;var be=requireMathTrunc();return toIntegerOrInfinity=function(Ce){var Se=+Ce;return Se!==Se||Se===0?0:be(Se)},toIntegerOrInfinity}var toAbsoluteIndex,hasRequiredToAbsoluteIndex;function requireToAbsoluteIndex(){if(hasRequiredToAbsoluteIndex)return toAbsoluteIndex;hasRequiredToAbsoluteIndex=1;var be=requireToIntegerOrInfinity(),Ce=Math.max,Se=Math.min;return toAbsoluteIndex=function(Te,Re){var Le=be(Te);return Le<0?Ce(Le+Re,0):Se(Le,Re)},toAbsoluteIndex}var toLength,hasRequiredToLength;function requireToLength(){if(hasRequiredToLength)return toLength;hasRequiredToLength=1;var be=requireToIntegerOrInfinity(),Ce=Math.min;return toLength=function(Se){var Te=be(Se);return Te>0?Ce(Te,9007199254740991):0},toLength}var lengthOfArrayLike,hasRequiredLengthOfArrayLike;function requireLengthOfArrayLike(){if(hasRequiredLengthOfArrayLike)return lengthOfArrayLike;hasRequiredLengthOfArrayLike=1;var be=requireToLength();return lengthOfArrayLike=function(Ce){return be(Ce.length)},lengthOfArrayLike}var arrayIncludes,hasRequiredArrayIncludes;function requireArrayIncludes(){if(hasRequiredArrayIncludes)return arrayIncludes;hasRequiredArrayIncludes=1;var be=requireToIndexedObject(),Ce=requireToAbsoluteIndex(),Se=requireLengthOfArrayLike(),Te=function(Re){return function(Le,De,Pe){var Oe=be(Le),qe=Se(Oe);if(qe===0)return!Re&&-1;var je=Ce(Pe,qe),Fe;if(Re&&De!==De){for(;qe>je;)if(Fe=Oe[je++],Fe!==Fe)return!0}else for(;qe>je;je++)if((Re||je in Oe)&&Oe[je]===De)return Re||je||0;return!Re&&-1}};return arrayIncludes={includes:Te(!0),indexOf:Te(!1)},arrayIncludes}var objectKeysInternal,hasRequiredObjectKeysInternal;function requireObjectKeysInternal(){if(hasRequiredObjectKeysInternal)return objectKeysInternal;hasRequiredObjectKeysInternal=1;var be=requireFunctionUncurryThis(),Ce=requireHasOwnProperty(),Se=requireToIndexedObject(),Te=requireArrayIncludes().indexOf,Re=requireHiddenKeys(),Le=be([].push);return objectKeysInternal=function(De,Pe){var Oe=Se(De),qe=0,je=[],Fe;for(Fe in Oe)!Ce(Re,Fe)&&Ce(Oe,Fe)&&Le(je,Fe);for(;Pe.length>qe;)Ce(Oe,Fe=Pe[qe++])&&(~Te(je,Fe)||Le(je,Fe));return je},objectKeysInternal}var enumBugKeys,hasRequiredEnumBugKeys;function requireEnumBugKeys(){return hasRequiredEnumBugKeys||(hasRequiredEnumBugKeys=1,enumBugKeys=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),enumBugKeys}var hasRequiredObjectGetOwnPropertyNames;function requireObjectGetOwnPropertyNames(){if(hasRequiredObjectGetOwnPropertyNames)return objectGetOwnPropertyNames;hasRequiredObjectGetOwnPropertyNames=1;var be=requireObjectKeysInternal(),Ce=requireEnumBugKeys(),Se=Ce.concat("length","prototype");return objectGetOwnPropertyNames.f=Object.getOwnPropertyNames||function(Re){return be(Re,Se)},objectGetOwnPropertyNames}var objectGetOwnPropertySymbols={},hasRequiredObjectGetOwnPropertySymbols;function requireObjectGetOwnPropertySymbols(){return hasRequiredObjectGetOwnPropertySymbols||(hasRequiredObjectGetOwnPropertySymbols=1,objectGetOwnPropertySymbols.f=Object.getOwnPropertySymbols),objectGetOwnPropertySymbols}var ownKeys,hasRequiredOwnKeys;function requireOwnKeys(){if(hasRequiredOwnKeys)return ownKeys;hasRequiredOwnKeys=1;var be=requireGetBuiltIn(),Ce=requireFunctionUncurryThis(),Se=requireObjectGetOwnPropertyNames(),Te=requireObjectGetOwnPropertySymbols(),Re=requireAnObject(),Le=Ce([].concat);return ownKeys=be("Reflect","ownKeys")||function(Pe){var Oe=Se.f(Re(Pe)),qe=Te.f;return qe?Le(Oe,qe(Pe)):Oe},ownKeys}var copyConstructorProperties,hasRequiredCopyConstructorProperties;function requireCopyConstructorProperties(){if(hasRequiredCopyConstructorProperties)return copyConstructorProperties;hasRequiredCopyConstructorProperties=1;var be=requireHasOwnProperty(),Ce=requireOwnKeys(),Se=requireObjectGetOwnPropertyDescriptor(),Te=requireObjectDefineProperty();return copyConstructorProperties=function(Re,Le,De){for(var Pe=Ce(Le),Oe=Te.f,qe=Se.f,je=0;je<Pe.length;je++){var Fe=Pe[je];!be(Re,Fe)&&!(De&&be(De,Fe))&&Oe(Re,Fe,qe(Le,Fe))}},copyConstructorProperties}var isForced_1,hasRequiredIsForced;function requireIsForced(){if(hasRequiredIsForced)return isForced_1;hasRequiredIsForced=1;var be=requireFails(),Ce=requireIsCallable(),Se=/#|\.prototype\./,Te=function(Oe,qe){var je=Le[Re(Oe)];return je===Pe?!0:je===De?!1:Ce(qe)?be(qe):!!qe},Re=Te.normalize=function(Oe){return String(Oe).replace(Se,".").toLowerCase()},Le=Te.data={},De=Te.NATIVE="N",Pe=Te.POLYFILL="P";return isForced_1=Te,isForced_1}var _export,hasRequired_export;function require_export(){if(hasRequired_export)return _export;hasRequired_export=1;var be=requireGlobalThis(),Ce=requireObjectGetOwnPropertyDescriptor().f,Se=requireCreateNonEnumerableProperty(),Te=requireDefineBuiltIn(),Re=requireDefineGlobalProperty(),Le=requireCopyConstructorProperties(),De=requireIsForced();return _export=function(Pe,Oe){var qe=Pe.target,je=Pe.global,Fe=Pe.stat,He,Ge,Ke,Je,Ze,Ye;if(je?Ge=be:Fe?Ge=be[qe]||Re(qe,{}):Ge=be[qe]&&be[qe].prototype,Ge)for(Ke in Oe){if(Ze=Oe[Ke],Pe.dontCallGetSet?(Ye=Ce(Ge,Ke),Je=Ye&&Ye.value):Je=Ge[Ke],He=De(je?Ke:qe+(Fe?".":"#")+Ke,Pe.forced),!He&&Je!==void 0){if(typeof Ze==typeof Je)continue;Le(Ze,Je)}(Pe.sham||Je&&Je.sham)&&Se(Ze,"sham",!0),Te(Ge,Ke,Ze,Pe)}},_export}var toStringTagSupport,hasRequiredToStringTagSupport;function requireToStringTagSupport(){if(hasRequiredToStringTagSupport)return toStringTagSupport;hasRequiredToStringTagSupport=1;var be=requireWellKnownSymbol(),Ce=be("toStringTag"),Se={};return Se[Ce]="z",toStringTagSupport=String(Se)==="[object z]",toStringTagSupport}var classof,hasRequiredClassof;function requireClassof(){if(hasRequiredClassof)return classof;hasRequiredClassof=1;var be=requireToStringTagSupport(),Ce=requireIsCallable(),Se=requireClassofRaw(),Te=requireWellKnownSymbol(),Re=Te("toStringTag"),Le=Object,De=Se(function(){return arguments}())==="Arguments",Pe=function(Oe,qe){try{return Oe[qe]}catch{}};return classof=be?Se:function(Oe){var qe,je,Fe;return Oe===void 0?"Undefined":Oe===null?"Null":typeof(je=Pe(qe=Le(Oe),Re))=="string"?je:De?Se(qe):(Fe=Se(qe))==="Object"&&Ce(qe.callee)?"Arguments":Fe},classof}var toString,hasRequiredToString;function requireToString(){if(hasRequiredToString)return toString;hasRequiredToString=1;var be=requireClassof(),Ce=String;return toString=function(Se){if(be(Se)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return Ce(Se)},toString}var regexpFlags,hasRequiredRegexpFlags;function requireRegexpFlags(){if(hasRequiredRegexpFlags)return regexpFlags;hasRequiredRegexpFlags=1;var be=requireAnObject();return regexpFlags=function(){var Ce=be(this),Se="";return Ce.hasIndices&&(Se+="d"),Ce.global&&(Se+="g"),Ce.ignoreCase&&(Se+="i"),Ce.multiline&&(Se+="m"),Ce.dotAll&&(Se+="s"),Ce.unicode&&(Se+="u"),Ce.unicodeSets&&(Se+="v"),Ce.sticky&&(Se+="y"),Se},regexpFlags}var regexpStickyHelpers,hasRequiredRegexpStickyHelpers;function requireRegexpStickyHelpers(){if(hasRequiredRegexpStickyHelpers)return regexpStickyHelpers;hasRequiredRegexpStickyHelpers=1;var be=requireFails(),Ce=requireGlobalThis(),Se=Ce.RegExp,Te=be(function(){var De=Se("a","y");return De.lastIndex=2,De.exec("abcd")!==null}),Re=Te||be(function(){return!Se("a","y").sticky}),Le=Te||be(function(){var De=Se("^r","gy");return De.lastIndex=2,De.exec("str")!==null});return regexpStickyHelpers={BROKEN_CARET:Le,MISSED_STICKY:Re,UNSUPPORTED_Y:Te},regexpStickyHelpers}var objectDefineProperties={},objectKeys,hasRequiredObjectKeys;function requireObjectKeys(){if(hasRequiredObjectKeys)return objectKeys;hasRequiredObjectKeys=1;var be=requireObjectKeysInternal(),Ce=requireEnumBugKeys();return objectKeys=Object.keys||function(Te){return be(Te,Ce)},objectKeys}var hasRequiredObjectDefineProperties;function requireObjectDefineProperties(){if(hasRequiredObjectDefineProperties)return objectDefineProperties;hasRequiredObjectDefineProperties=1;var be=requireDescriptors(),Ce=requireV8PrototypeDefineBug(),Se=requireObjectDefineProperty(),Te=requireAnObject(),Re=requireToIndexedObject(),Le=requireObjectKeys();return objectDefineProperties.f=be&&!Ce?Object.defineProperties:function(Pe,Oe){Te(Pe);for(var qe=Re(Oe),je=Le(Oe),Fe=je.length,He=0,Ge;Fe>He;)Se.f(Pe,Ge=je[He++],qe[Ge]);return Pe},objectDefineProperties}var html$3,hasRequiredHtml$1;function requireHtml$1(){if(hasRequiredHtml$1)return html$3;hasRequiredHtml$1=1;var be=requireGetBuiltIn();return html$3=be("document","documentElement"),html$3}var objectCreate,hasRequiredObjectCreate;function requireObjectCreate(){if(hasRequiredObjectCreate)return objectCreate;hasRequiredObjectCreate=1;var be=requireAnObject(),Ce=requireObjectDefineProperties(),Se=requireEnumBugKeys(),Te=requireHiddenKeys(),Re=requireHtml$1(),Le=requireDocumentCreateElement(),De=requireSharedKey(),Pe=">",Oe="<",qe="prototype",je="script",Fe=De("IE_PROTO"),He=function(){},Ge=function(tt){return Oe+je+Pe+tt+Oe+"/"+je+Pe},Ke=function(tt){tt.write(Ge("")),tt.close();var nt=tt.parentWindow.Object;return tt=null,nt},Je=function(){var tt=Le("iframe"),nt="java"+je+":",it;return tt.style.display="none",Re.appendChild(tt),tt.src=String(nt),it=tt.contentWindow.document,it.open(),it.write(Ge("document.F=Object")),it.close(),it.F},Ze,Ye=function(){try{Ze=new ActiveXObject("htmlfile")}catch{}Ye=typeof document<"u"?document.domain&&Ze?Ke(Ze):Je():Ke(Ze);for(var tt=Se.length;tt--;)delete Ye[qe][Se[tt]];return Ye()};return Te[Fe]=!0,objectCreate=Object.create||function(nt,it){var ot;return nt!==null?(He[qe]=be(nt),ot=new He,He[qe]=null,ot[Fe]=nt):ot=Ye(),it===void 0?ot:Ce.f(ot,it)},objectCreate}var regexpUnsupportedDotAll,hasRequiredRegexpUnsupportedDotAll;function requireRegexpUnsupportedDotAll(){if(hasRequiredRegexpUnsupportedDotAll)return regexpUnsupportedDotAll;hasRequiredRegexpUnsupportedDotAll=1;var be=requireFails(),Ce=requireGlobalThis(),Se=Ce.RegExp;return regexpUnsupportedDotAll=be(function(){var Te=Se(".","s");return!(Te.dotAll&&Te.test(`
|
|
1556
1556
|
`)&&Te.flags==="s")}),regexpUnsupportedDotAll}var regexpUnsupportedNcg,hasRequiredRegexpUnsupportedNcg;function requireRegexpUnsupportedNcg(){if(hasRequiredRegexpUnsupportedNcg)return regexpUnsupportedNcg;hasRequiredRegexpUnsupportedNcg=1;var be=requireFails(),Ce=requireGlobalThis(),Se=Ce.RegExp;return regexpUnsupportedNcg=be(function(){var Te=Se("(?<a>b)","g");return Te.exec("b").groups.a!=="b"||"b".replace(Te,"$<a>c")!=="bc"}),regexpUnsupportedNcg}var regexpExec,hasRequiredRegexpExec;function requireRegexpExec(){if(hasRequiredRegexpExec)return regexpExec;hasRequiredRegexpExec=1;var be=requireFunctionCall(),Ce=requireFunctionUncurryThis(),Se=requireToString(),Te=requireRegexpFlags(),Re=requireRegexpStickyHelpers(),Le=requireShared(),De=requireObjectCreate(),Pe=requireInternalState().get,Oe=requireRegexpUnsupportedDotAll(),qe=requireRegexpUnsupportedNcg(),je=Le("native-string-replace",String.prototype.replace),Fe=RegExp.prototype.exec,He=Fe,Ge=Ce("".charAt),Ke=Ce("".indexOf),Je=Ce("".replace),Ze=Ce("".slice),Ye=function(){var ot=/a/,gt=/b*/g;return be(Fe,ot,"a"),be(Fe,gt,"a"),ot.lastIndex!==0||gt.lastIndex!==0}(),tt=Re.BROKEN_CARET,nt=/()??/.exec("")[1]!==void 0,it=Ye||nt||tt||Oe||qe;return it&&(He=function(gt){var ft=this,wt=Pe(ft),Vt=Se(gt),$t=wt.raw,Mt,rt,ut,bt,St,Ct,Tt;if($t)return $t.lastIndex=ft.lastIndex,Mt=be(He,$t,Vt),ft.lastIndex=$t.lastIndex,Mt;var It=wt.groups,_t=tt&&ft.sticky,st=be(Te,ft),Nt=ft.source,fn=0,Xt=Vt;if(_t&&(st=Je(st,"y",""),Ke(st,"g")===-1&&(st+="g"),Xt=Ze(Vt,ft.lastIndex),ft.lastIndex>0&&(!ft.multiline||ft.multiline&&Ge(Vt,ft.lastIndex-1)!==`
|
|
1557
1557
|
`)&&(Nt="(?: "+Nt+")",Xt=" "+Xt,fn++),rt=new RegExp("^(?:"+Nt+")",st)),nt&&(rt=new RegExp("^"+Nt+"$(?!\\s)",st)),Ye&&(ut=ft.lastIndex),bt=be(Fe,_t?rt:ft,Xt),_t?bt?(bt.input=Ze(bt.input,fn),bt[0]=Ze(bt[0],fn),bt.index=ft.lastIndex,ft.lastIndex+=bt[0].length):ft.lastIndex=0:Ye&&bt&&(ft.lastIndex=ft.global?bt.index+bt[0].length:ut),nt&&bt&&bt.length>1&&be(je,bt[0],rt,function(){for(St=1;St<arguments.length-2;St++)arguments[St]===void 0&&(bt[St]=void 0)}),bt&&It)for(bt.groups=Ct=De(null),St=0;St<It.length;St++)Tt=It[St],Ct[Tt[0]]=bt[Tt[1]];return bt}),regexpExec=He,regexpExec}var hasRequiredEs_regexp_exec;function requireEs_regexp_exec(){if(hasRequiredEs_regexp_exec)return es_regexp_exec;hasRequiredEs_regexp_exec=1;var be=require_export(),Ce=requireRegexpExec();return be({target:"RegExp",proto:!0,forced:/./.exec!==Ce},{exec:Ce}),es_regexp_exec}var es_string_endsWith={},functionUncurryThisClause,hasRequiredFunctionUncurryThisClause;function requireFunctionUncurryThisClause(){if(hasRequiredFunctionUncurryThisClause)return functionUncurryThisClause;hasRequiredFunctionUncurryThisClause=1;var be=requireClassofRaw(),Ce=requireFunctionUncurryThis();return functionUncurryThisClause=function(Se){if(be(Se)==="Function")return Ce(Se)},functionUncurryThisClause}var isRegexp,hasRequiredIsRegexp;function requireIsRegexp(){if(hasRequiredIsRegexp)return isRegexp;hasRequiredIsRegexp=1;var be=requireIsObject(),Ce=requireClassofRaw(),Se=requireWellKnownSymbol(),Te=Se("match");return isRegexp=function(Re){var Le;return be(Re)&&((Le=Re[Te])!==void 0?!!Le:Ce(Re)==="RegExp")},isRegexp}var notARegexp,hasRequiredNotARegexp;function requireNotARegexp(){if(hasRequiredNotARegexp)return notARegexp;hasRequiredNotARegexp=1;var be=requireIsRegexp(),Ce=TypeError;return notARegexp=function(Se){if(be(Se))throw new Ce("The method doesn't accept regular expressions");return Se},notARegexp}var correctIsRegexpLogic,hasRequiredCorrectIsRegexpLogic;function requireCorrectIsRegexpLogic(){if(hasRequiredCorrectIsRegexpLogic)return correctIsRegexpLogic;hasRequiredCorrectIsRegexpLogic=1;var be=requireWellKnownSymbol(),Ce=be("match");return correctIsRegexpLogic=function(Se){var Te=/./;try{"/./"[Se](Te)}catch{try{return Te[Ce]=!1,"/./"[Se](Te)}catch{}}return!1},correctIsRegexpLogic}var hasRequiredEs_string_endsWith;function requireEs_string_endsWith(){if(hasRequiredEs_string_endsWith)return es_string_endsWith;hasRequiredEs_string_endsWith=1;var be=require_export(),Ce=requireFunctionUncurryThisClause(),Se=requireObjectGetOwnPropertyDescriptor().f,Te=requireToLength(),Re=requireToString(),Le=requireNotARegexp(),De=requireRequireObjectCoercible(),Pe=requireCorrectIsRegexpLogic(),Oe=requireIsPure(),qe=Ce("".slice),je=Math.min,Fe=Pe("endsWith"),He=!Oe&&!Fe&&!!function(){var Ge=Se(String.prototype,"endsWith");return Ge&&!Ge.writable}();return be({target:"String",proto:!0,forced:!He&&!Fe},{endsWith:function(Ke){var Je=Re(De(this));Le(Ke);var Ze=arguments.length>1?arguments[1]:void 0,Ye=Je.length,tt=Ze===void 0?Ye:je(Te(Ze),Ye),nt=Re(Ke);return qe(Je,tt-nt.length,tt)===nt}}),es_string_endsWith}var es_string_replace={},functionApply,hasRequiredFunctionApply;function requireFunctionApply(){if(hasRequiredFunctionApply)return functionApply;hasRequiredFunctionApply=1;var be=requireFunctionBindNative(),Ce=Function.prototype,Se=Ce.apply,Te=Ce.call;return functionApply=typeof Reflect=="object"&&Reflect.apply||(be?Te.bind(Se):function(){return Te.apply(Se,arguments)}),functionApply}var fixRegexpWellKnownSymbolLogic,hasRequiredFixRegexpWellKnownSymbolLogic;function requireFixRegexpWellKnownSymbolLogic(){if(hasRequiredFixRegexpWellKnownSymbolLogic)return fixRegexpWellKnownSymbolLogic;hasRequiredFixRegexpWellKnownSymbolLogic=1,requireEs_regexp_exec();var be=requireFunctionCall(),Ce=requireDefineBuiltIn(),Se=requireRegexpExec(),Te=requireFails(),Re=requireWellKnownSymbol(),Le=requireCreateNonEnumerableProperty(),De=Re("species"),Pe=RegExp.prototype;return fixRegexpWellKnownSymbolLogic=function(Oe,qe,je,Fe){var He=Re(Oe),Ge=!Te(function(){var Ye={};return Ye[He]=function(){return 7},""[Oe](Ye)!==7}),Ke=Ge&&!Te(function(){var Ye=!1,tt=/a/;return Oe==="split"&&(tt={},tt.constructor={},tt.constructor[De]=function(){return tt},tt.flags="",tt[He]=/./[He]),tt.exec=function(){return Ye=!0,null},tt[He](""),!Ye});if(!Ge||!Ke||je){var Je=/./[He],Ze=qe(He,""[Oe],function(Ye,tt,nt,it,ot){var gt=tt.exec;return gt===Se||gt===Pe.exec?Ge&&!ot?{done:!0,value:be(Je,tt,nt,it)}:{done:!0,value:be(Ye,nt,tt,it)}:{done:!1}});Ce(String.prototype,Oe,Ze[0]),Ce(Pe,He,Ze[1])}Fe&&Le(Pe[He],"sham",!0)},fixRegexpWellKnownSymbolLogic}var stringMultibyte,hasRequiredStringMultibyte;function requireStringMultibyte(){if(hasRequiredStringMultibyte)return stringMultibyte;hasRequiredStringMultibyte=1;var be=requireFunctionUncurryThis(),Ce=requireToIntegerOrInfinity(),Se=requireToString(),Te=requireRequireObjectCoercible(),Re=be("".charAt),Le=be("".charCodeAt),De=be("".slice),Pe=function(Oe){return function(qe,je){var Fe=Se(Te(qe)),He=Ce(je),Ge=Fe.length,Ke,Je;return He<0||He>=Ge?Oe?"":void 0:(Ke=Le(Fe,He),Ke<55296||Ke>56319||He+1===Ge||(Je=Le(Fe,He+1))<56320||Je>57343?Oe?Re(Fe,He):Ke:Oe?De(Fe,He,He+2):(Ke-55296<<10)+(Je-56320)+65536)}};return stringMultibyte={codeAt:Pe(!1),charAt:Pe(!0)},stringMultibyte}var advanceStringIndex,hasRequiredAdvanceStringIndex;function requireAdvanceStringIndex(){if(hasRequiredAdvanceStringIndex)return advanceStringIndex;hasRequiredAdvanceStringIndex=1;var be=requireStringMultibyte().charAt;return advanceStringIndex=function(Ce,Se,Te){return Se+(Te?be(Ce,Se).length:1)},advanceStringIndex}var getSubstitution,hasRequiredGetSubstitution;function requireGetSubstitution(){if(hasRequiredGetSubstitution)return getSubstitution;hasRequiredGetSubstitution=1;var be=requireFunctionUncurryThis(),Ce=requireToObject(),Se=Math.floor,Te=be("".charAt),Re=be("".replace),Le=be("".slice),De=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,Pe=/\$([$&'`]|\d{1,2})/g;return getSubstitution=function(Oe,qe,je,Fe,He,Ge){var Ke=je+Oe.length,Je=Fe.length,Ze=Pe;return He!==void 0&&(He=Ce(He),Ze=De),Re(Ge,Ze,function(Ye,tt){var nt;switch(Te(tt,0)){case"$":return"$";case"&":return Oe;case"`":return Le(qe,0,je);case"'":return Le(qe,Ke);case"<":nt=He[Le(tt,1,-1)];break;default:var it=+tt;if(it===0)return Ye;if(it>Je){var ot=Se(it/10);return ot===0?Ye:ot<=Je?Fe[ot-1]===void 0?Te(tt,1):Fe[ot-1]+Te(tt,1):Ye}nt=Fe[it-1]}return nt===void 0?"":nt})},getSubstitution}var regexpFlagsDetection,hasRequiredRegexpFlagsDetection;function requireRegexpFlagsDetection(){if(hasRequiredRegexpFlagsDetection)return regexpFlagsDetection;hasRequiredRegexpFlagsDetection=1;var be=requireGlobalThis(),Ce=requireFails(),Se=be.RegExp,Te=!Ce(function(){var Re=!0;try{Se(".","d")}catch{Re=!1}var Le={},De="",Pe=Re?"dgimsy":"gimsy",Oe=function(He,Ge){Object.defineProperty(Le,He,{get:function(){return De+=Ge,!0}})},qe={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};Re&&(qe.hasIndices="d");for(var je in qe)Oe(je,qe[je]);var Fe=Object.getOwnPropertyDescriptor(Se.prototype,"flags").get.call(Le);return Fe!==Pe||De!==Pe});return regexpFlagsDetection={correct:Te},regexpFlagsDetection}var regexpGetFlags,hasRequiredRegexpGetFlags;function requireRegexpGetFlags(){if(hasRequiredRegexpGetFlags)return regexpGetFlags;hasRequiredRegexpGetFlags=1;var be=requireFunctionCall(),Ce=requireHasOwnProperty(),Se=requireObjectIsPrototypeOf(),Te=requireRegexpFlagsDetection(),Re=requireRegexpFlags(),Le=RegExp.prototype;return regexpGetFlags=Te.correct?function(De){return De.flags}:function(De){return!Te.correct&&Se(Le,De)&&!Ce(De,"flags")?be(Re,De):De.flags},regexpGetFlags}var regexpExecAbstract,hasRequiredRegexpExecAbstract;function requireRegexpExecAbstract(){if(hasRequiredRegexpExecAbstract)return regexpExecAbstract;hasRequiredRegexpExecAbstract=1;var be=requireFunctionCall(),Ce=requireAnObject(),Se=requireIsCallable(),Te=requireClassofRaw(),Re=requireRegexpExec(),Le=TypeError;return regexpExecAbstract=function(De,Pe){var Oe=De.exec;if(Se(Oe)){var qe=be(Oe,De,Pe);return qe!==null&&Ce(qe),qe}if(Te(De)==="RegExp")return be(Re,De,Pe);throw new Le("RegExp#exec called on incompatible receiver")},regexpExecAbstract}var hasRequiredEs_string_replace;function requireEs_string_replace(){if(hasRequiredEs_string_replace)return es_string_replace;hasRequiredEs_string_replace=1;var be=requireFunctionApply(),Ce=requireFunctionCall(),Se=requireFunctionUncurryThis(),Te=requireFixRegexpWellKnownSymbolLogic(),Re=requireFails(),Le=requireAnObject(),De=requireIsCallable(),Pe=requireIsObject(),Oe=requireToIntegerOrInfinity(),qe=requireToLength(),je=requireToString(),Fe=requireRequireObjectCoercible(),He=requireAdvanceStringIndex(),Ge=requireGetMethod(),Ke=requireGetSubstitution(),Je=requireRegexpGetFlags(),Ze=requireRegexpExecAbstract(),Ye=requireWellKnownSymbol(),tt=Ye("replace"),nt=Math.max,it=Math.min,ot=Se([].concat),gt=Se([].push),ft=Se("".indexOf),wt=Se("".slice),Vt=function(ut){return ut===void 0?ut:String(ut)},$t=function(){return"a".replace(/./,"$0")==="$0"}(),Mt=function(){return/./[tt]?/./[tt]("a","$0")==="":!1}(),rt=!Re(function(){var ut=/./;return ut.exec=function(){var bt=[];return bt.groups={a:"7"},bt},"".replace(ut,"$<a>")!=="7"});return Te("replace",function(ut,bt,St){var Ct=Mt?"$":"$0";return[function(It,_t){var st=Fe(this),Nt=Pe(It)?Ge(It,tt):void 0;return Nt?Ce(Nt,It,st,_t):Ce(bt,je(st),It,_t)},function(Tt,It){var _t=Le(this),st=je(Tt);if(typeof It=="string"&&ft(It,Ct)===-1&&ft(It,"$<")===-1){var Nt=St(bt,_t,st,It);if(Nt.done)return Nt.value}var fn=De(It);fn||(It=je(It));var Xt=je(Je(_t)),pn=ft(Xt,"g")!==-1,zt;pn&&(zt=ft(Xt,"u")!==-1,_t.lastIndex=0);for(var sn=[],Kt;Kt=Ze(_t,st),!(Kt===null||(gt(sn,Kt),!pn));){var on=je(Kt[0]);on===""&&(_t.lastIndex=He(st,qe(_t.lastIndex),zt))}for(var Rn="",En=0,Yt=0;Yt<sn.length;Yt++){Kt=sn[Yt];for(var Bt=je(Kt[0]),an=nt(it(Oe(Kt.index),st.length),0),ln=[],gn,wn=1;wn<Kt.length;wn++)gt(ln,Vt(Kt[wn]));var In=Kt.groups;if(fn){var xn=ot([Bt],ln,an,st);In!==void 0&>(xn,In),gn=je(be(It,void 0,xn))}else gn=Ke(Bt,st,an,ln,In,It);an>=En&&(Rn+=wt(st,En,an)+gn,En=an+Bt.length)}return Rn+wt(st,En)}]},!rt||!$t||Mt),es_string_replace}var pRetry$1={exports:{}},hasRequiredPRetry;function requirePRetry(){if(hasRequiredPRetry)return pRetry$1.exports;hasRequiredPRetry=1;const be=requireRetry(),Ce=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class Se extends Error{constructor(Pe){super(),Pe instanceof Error?(this.originalError=Pe,{message:Pe}=Pe):(this.originalError=new Error(Pe),this.originalError.stack=this.stack),this.name="AbortError",this.message=Pe}}const Te=(De,Pe,Oe)=>{const qe=Oe.retries-(Pe-1);return De.attemptNumber=Pe,De.retriesLeft=qe,De},Re=De=>Ce.includes(De),Le=(De,Pe)=>new Promise((Oe,qe)=>{Pe={onFailedAttempt:()=>{},retries:10,...Pe};const je=be.operation(Pe);je.attempt(async Fe=>{try{Oe(await De(Fe))}catch(He){if(!(He instanceof Error)){qe(new TypeError(`Non-error was thrown: "${He}". You should only throw errors.`));return}if(He instanceof Se)je.stop(),qe(He.originalError);else if(He instanceof TypeError&&!Re(He.message))je.stop(),qe(He);else{Te(He,Fe,Pe);try{await Pe.onFailedAttempt(He)}catch(Ge){qe(Ge);return}je.retry(He)||qe(je.mainError())}}})});return pRetry$1.exports=Le,pRetry$1.exports.default=Le,pRetry$1.exports.AbortError=Se,pRetry$1.exports}var lodash_set,hasRequiredLodash_set;function requireLodash_set(){if(hasRequiredLodash_set)return lodash_set;hasRequiredLodash_set=1;var be="Expected a function",Ce="__lodash_hash_undefined__",Se=9007199254740991,Te="[object Function]",Re="[object GeneratorFunction]",Le="[object Symbol]",De=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Pe=/^\w*$/,Oe=/^\./,qe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,je=/[\\^$.*+?()[\]{}|]/g,Fe=/\\(\\)?/g,He=/^\[object .+?Constructor\]$/,Ge=/^(?:0|[1-9]\d*)$/,Ke=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,Je=typeof self=="object"&&self&&self.Object===Object&&self,Ze=Ke||Je||Function("return this")();function Ye(jn,Qn){return jn?.[Qn]}function tt(jn){var Qn=!1;if(jn!=null&&typeof jn.toString!="function")try{Qn=!!(jn+"")}catch{}return Qn}var nt=Array.prototype,it=Function.prototype,ot=Object.prototype,gt=Ze["__core-js_shared__"],ft=function(){var jn=/[^.]+$/.exec(gt&>.keys&>.keys.IE_PROTO||"");return jn?"Symbol(src)_1."+jn:""}(),wt=it.toString,Vt=ot.hasOwnProperty,$t=ot.toString,Mt=RegExp("^"+wt.call(Vt).replace(je,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),rt=Ze.Symbol,ut=nt.splice,bt=dr(Ze,"Map"),St=dr(Object,"create"),Ct=rt?rt.prototype:void 0,Tt=Ct?Ct.toString:void 0;function It(jn){var Qn=-1,tr=jn?jn.length:0;for(this.clear();++Qn<tr;){var Cr=jn[Qn];this.set(Cr[0],Cr[1])}}function _t(){this.__data__=St?St(null):{}}function st(jn){return this.has(jn)&&delete this.__data__[jn]}function Nt(jn){var Qn=this.__data__;if(St){var tr=Qn[jn];return tr===Ce?void 0:tr}return Vt.call(Qn,jn)?Qn[jn]:void 0}function fn(jn){var Qn=this.__data__;return St?Qn[jn]!==void 0:Vt.call(Qn,jn)}function Xt(jn,Qn){var tr=this.__data__;return tr[jn]=St&&Qn===void 0?Ce:Qn,this}It.prototype.clear=_t,It.prototype.delete=st,It.prototype.get=Nt,It.prototype.has=fn,It.prototype.set=Xt;function pn(jn){var Qn=-1,tr=jn?jn.length:0;for(this.clear();++Qn<tr;){var Cr=jn[Qn];this.set(Cr[0],Cr[1])}}function zt(){this.__data__=[]}function sn(jn){var Qn=this.__data__,tr=In(Qn,jn);if(tr<0)return!1;var Cr=Qn.length-1;return tr==Cr?Qn.pop():ut.call(Qn,tr,1),!0}function Kt(jn){var Qn=this.__data__,tr=In(Qn,jn);return tr<0?void 0:Qn[tr][1]}function on(jn){return In(this.__data__,jn)>-1}function Rn(jn,Qn){var tr=this.__data__,Cr=In(tr,jn);return Cr<0?tr.push([jn,Qn]):tr[Cr][1]=Qn,this}pn.prototype.clear=zt,pn.prototype.delete=sn,pn.prototype.get=Kt,pn.prototype.has=on,pn.prototype.set=Rn;function En(jn){var Qn=-1,tr=jn?jn.length:0;for(this.clear();++Qn<tr;){var Cr=jn[Qn];this.set(Cr[0],Cr[1])}}function Yt(){this.__data__={hash:new It,map:new(bt||pn),string:new It}}function Bt(jn){return Hn(this,jn).delete(jn)}function an(jn){return Hn(this,jn).get(jn)}function ln(jn){return Hn(this,jn).has(jn)}function gn(jn,Qn){return Hn(this,jn).set(jn,Qn),this}En.prototype.clear=Yt,En.prototype.delete=Bt,En.prototype.get=an,En.prototype.has=ln,En.prototype.set=gn;function wn(jn,Qn,tr){var Cr=jn[Qn];(!(Vt.call(jn,Qn)&&qt(Cr,tr))||tr===void 0&&!(Qn in jn))&&(jn[Qn]=tr)}function In(jn,Qn){for(var tr=jn.length;tr--;)if(qt(jn[tr][0],Qn))return tr;return-1}function xn(jn){if(!kn(jn)||$n(jn))return!1;var Qn=Ln(jn)||tt(jn)?Mt:He;return Qn.test(yn(jn))}function _n(jn,Qn,tr,Cr){if(!kn(jn))return jn;Qn=cn(Qn,jn)?[Qn]:Nn(Qn);for(var Pr=-1,_r=Qn.length,Nr=_r-1,Ur=jn;Ur!=null&&++Pr<_r;){var un=Zn(Qn[Pr]),Ht=tr;if(Pr!=Nr){var tn=Ur[un];Ht=void 0,Ht===void 0&&(Ht=kn(tn)?tn:On(Qn[Pr+1])?[]:{})}wn(Ur,un,Ht),Ur=Ur[un]}return jn}function zn(jn){if(typeof jn=="string")return jn;if(Mn(jn))return Tt?Tt.call(jn):"";var Qn=jn+"";return Qn=="0"&&1/jn==-1/0?"-0":Qn}function Nn(jn){return dn(jn)?jn:Gn(jn)}function Hn(jn,Qn){var tr=jn.__data__;return mn(Qn)?tr[typeof Qn=="string"?"string":"hash"]:tr.map}function dr(jn,Qn){var tr=Ye(jn,Qn);return xn(tr)?tr:void 0}function On(jn,Qn){return Qn=Qn??Se,!!Qn&&(typeof jn=="number"||Ge.test(jn))&&jn>-1&&jn%1==0&&jn<Qn}function cn(jn,Qn){if(dn(jn))return!1;var tr=typeof jn;return tr=="number"||tr=="symbol"||tr=="boolean"||jn==null||Mn(jn)?!0:Pe.test(jn)||!De.test(jn)||Qn!=null&&jn in Object(Qn)}function mn(jn){var Qn=typeof jn;return Qn=="string"||Qn=="number"||Qn=="symbol"||Qn=="boolean"?jn!=="__proto__":jn===null}function $n(jn){return!!ft&&ft in jn}var Gn=Jt(function(jn){jn=Yn(jn);var Qn=[];return Oe.test(jn)&&Qn.push(""),jn.replace(qe,function(tr,Cr,Pr,_r){Qn.push(Pr?_r.replace(Fe,"$1"):Cr||tr)}),Qn});function Zn(jn){if(typeof jn=="string"||Mn(jn))return jn;var Qn=jn+"";return Qn=="0"&&1/jn==-1/0?"-0":Qn}function yn(jn){if(jn!=null){try{return wt.call(jn)}catch{}try{return jn+""}catch{}}return""}function Jt(jn,Qn){if(typeof jn!="function"||Qn&&typeof Qn!="function")throw new TypeError(be);var tr=function(){var Cr=arguments,Pr=Qn?Qn.apply(this,Cr):Cr[0],_r=tr.cache;if(_r.has(Pr))return _r.get(Pr);var Nr=jn.apply(this,Cr);return tr.cache=_r.set(Pr,Nr),Nr};return tr.cache=new(Jt.Cache||En),tr}Jt.Cache=En;function qt(jn,Qn){return jn===Qn||jn!==jn&&Qn!==Qn}var dn=Array.isArray;function Ln(jn){var Qn=kn(jn)?$t.call(jn):"";return Qn==Te||Qn==Re}function kn(jn){var Qn=typeof jn;return!!jn&&(Qn=="object"||Qn=="function")}function Cn(jn){return!!jn&&typeof jn=="object"}function Mn(jn){return typeof jn=="symbol"||Cn(jn)&&$t.call(jn)==Le}function Yn(jn){return jn==null?"":zn(jn)}function ar(jn,Qn,tr){return jn==null?jn:_n(jn,Qn,tr)}return lodash_set=ar,lodash_set}var lodash_get,hasRequiredLodash_get;function requireLodash_get(){if(hasRequiredLodash_get)return lodash_get;hasRequiredLodash_get=1;var be="Expected a function",Ce="__lodash_hash_undefined__",Se="[object Function]",Te="[object GeneratorFunction]",Re="[object Symbol]",Le=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,De=/^\w*$/,Pe=/^\./,Oe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,qe=/[\\^$.*+?()[\]{}|]/g,je=/\\(\\)?/g,Fe=/^\[object .+?Constructor\]$/,He=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,Ge=typeof self=="object"&&self&&self.Object===Object&&self,Ke=He||Ge||Function("return this")();function Je(Cn,Mn){return Cn?.[Mn]}function Ze(Cn){var Mn=!1;if(Cn!=null&&typeof Cn.toString!="function")try{Mn=!!(Cn+"")}catch{}return Mn}var Ye=Array.prototype,tt=Function.prototype,nt=Object.prototype,it=Ke["__core-js_shared__"],ot=function(){var Cn=/[^.]+$/.exec(it&&it.keys&&it.keys.IE_PROTO||"");return Cn?"Symbol(src)_1."+Cn:""}(),gt=tt.toString,ft=nt.hasOwnProperty,wt=nt.toString,Vt=RegExp("^"+gt.call(ft).replace(qe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$t=Ke.Symbol,Mt=Ye.splice,rt=zn(Ke,"Map"),ut=zn(Object,"create"),bt=$t?$t.prototype:void 0,St=bt?bt.toString:void 0;function Ct(Cn){var Mn=-1,Yn=Cn?Cn.length:0;for(this.clear();++Mn<Yn;){var ar=Cn[Mn];this.set(ar[0],ar[1])}}function Tt(){this.__data__=ut?ut(null):{}}function It(Cn){return this.has(Cn)&&delete this.__data__[Cn]}function _t(Cn){var Mn=this.__data__;if(ut){var Yn=Mn[Cn];return Yn===Ce?void 0:Yn}return ft.call(Mn,Cn)?Mn[Cn]:void 0}function st(Cn){var Mn=this.__data__;return ut?Mn[Cn]!==void 0:ft.call(Mn,Cn)}function Nt(Cn,Mn){var Yn=this.__data__;return Yn[Cn]=ut&&Mn===void 0?Ce:Mn,this}Ct.prototype.clear=Tt,Ct.prototype.delete=It,Ct.prototype.get=_t,Ct.prototype.has=st,Ct.prototype.set=Nt;function fn(Cn){var Mn=-1,Yn=Cn?Cn.length:0;for(this.clear();++Mn<Yn;){var ar=Cn[Mn];this.set(ar[0],ar[1])}}function Xt(){this.__data__=[]}function pn(Cn){var Mn=this.__data__,Yn=ln(Mn,Cn);if(Yn<0)return!1;var ar=Mn.length-1;return Yn==ar?Mn.pop():Mt.call(Mn,Yn,1),!0}function zt(Cn){var Mn=this.__data__,Yn=ln(Mn,Cn);return Yn<0?void 0:Mn[Yn][1]}function sn(Cn){return ln(this.__data__,Cn)>-1}function Kt(Cn,Mn){var Yn=this.__data__,ar=ln(Yn,Cn);return ar<0?Yn.push([Cn,Mn]):Yn[ar][1]=Mn,this}fn.prototype.clear=Xt,fn.prototype.delete=pn,fn.prototype.get=zt,fn.prototype.has=sn,fn.prototype.set=Kt;function on(Cn){var Mn=-1,Yn=Cn?Cn.length:0;for(this.clear();++Mn<Yn;){var ar=Cn[Mn];this.set(ar[0],ar[1])}}function Rn(){this.__data__={hash:new Ct,map:new(rt||fn),string:new Ct}}function En(Cn){return _n(this,Cn).delete(Cn)}function Yt(Cn){return _n(this,Cn).get(Cn)}function Bt(Cn){return _n(this,Cn).has(Cn)}function an(Cn,Mn){return _n(this,Cn).set(Cn,Mn),this}on.prototype.clear=Rn,on.prototype.delete=En,on.prototype.get=Yt,on.prototype.has=Bt,on.prototype.set=an;function ln(Cn,Mn){for(var Yn=Cn.length;Yn--;)if(Gn(Cn[Yn][0],Mn))return Yn;return-1}function gn(Cn,Mn){Mn=Nn(Mn,Cn)?[Mn]:xn(Mn);for(var Yn=0,ar=Mn.length;Cn!=null&&Yn<ar;)Cn=Cn[cn(Mn[Yn++])];return Yn&&Yn==ar?Cn:void 0}function wn(Cn){if(!Jt(Cn)||dr(Cn))return!1;var Mn=yn(Cn)||Ze(Cn)?Vt:Fe;return Mn.test(mn(Cn))}function In(Cn){if(typeof Cn=="string")return Cn;if(dn(Cn))return St?St.call(Cn):"";var Mn=Cn+"";return Mn=="0"&&1/Cn==-1/0?"-0":Mn}function xn(Cn){return Zn(Cn)?Cn:On(Cn)}function _n(Cn,Mn){var Yn=Cn.__data__;return Hn(Mn)?Yn[typeof Mn=="string"?"string":"hash"]:Yn.map}function zn(Cn,Mn){var Yn=Je(Cn,Mn);return wn(Yn)?Yn:void 0}function Nn(Cn,Mn){if(Zn(Cn))return!1;var Yn=typeof Cn;return Yn=="number"||Yn=="symbol"||Yn=="boolean"||Cn==null||dn(Cn)?!0:De.test(Cn)||!Le.test(Cn)||Mn!=null&&Cn in Object(Mn)}function Hn(Cn){var Mn=typeof Cn;return Mn=="string"||Mn=="number"||Mn=="symbol"||Mn=="boolean"?Cn!=="__proto__":Cn===null}function dr(Cn){return!!ot&&ot in Cn}var On=$n(function(Cn){Cn=Ln(Cn);var Mn=[];return Pe.test(Cn)&&Mn.push(""),Cn.replace(Oe,function(Yn,ar,jn,Qn){Mn.push(jn?Qn.replace(je,"$1"):ar||Yn)}),Mn});function cn(Cn){if(typeof Cn=="string"||dn(Cn))return Cn;var Mn=Cn+"";return Mn=="0"&&1/Cn==-1/0?"-0":Mn}function mn(Cn){if(Cn!=null){try{return gt.call(Cn)}catch{}try{return Cn+""}catch{}}return""}function $n(Cn,Mn){if(typeof Cn!="function"||Mn&&typeof Mn!="function")throw new TypeError(be);var Yn=function(){var ar=arguments,jn=Mn?Mn.apply(this,ar):ar[0],Qn=Yn.cache;if(Qn.has(jn))return Qn.get(jn);var tr=Cn.apply(this,ar);return Yn.cache=Qn.set(jn,tr),tr};return Yn.cache=new($n.Cache||on),Yn}$n.Cache=on;function Gn(Cn,Mn){return Cn===Mn||Cn!==Cn&&Mn!==Mn}var Zn=Array.isArray;function yn(Cn){var Mn=Jt(Cn)?wt.call(Cn):"";return Mn==Se||Mn==Te}function Jt(Cn){var Mn=typeof Cn;return!!Cn&&(Mn=="object"||Mn=="function")}function qt(Cn){return!!Cn&&typeof Cn=="object"}function dn(Cn){return typeof Cn=="symbol"||qt(Cn)&&wt.call(Cn)==Re}function Ln(Cn){return Cn==null?"":In(Cn)}function kn(Cn,Mn,Yn){var ar=Cn==null?void 0:gn(Cn,Mn);return ar===void 0?Yn:ar}return lodash_get=kn,lodash_get}function isObjectLike(be){return typeof be=="object"&&be!==null}function invariant(be,Ce){if(!!!be)throw new Error("Unexpected invariant triggered.")}const LineRegExp=/\r\n|[\n\r]/g;function getLocation(be,Ce){let Se=0,Te=1;for(const Re of be.body.matchAll(LineRegExp)){if(typeof Re.index=="number"||invariant(!1),Re.index>=Ce)break;Se=Re.index+Re[0].length,Te+=1}return{line:Te,column:Ce+1-Se}}function printLocation(be){return printSourceLocation(be.source,getLocation(be.source,be.start))}function printSourceLocation(be,Ce){const Se=be.locationOffset.column-1,Te="".padStart(Se)+be.body,Re=Ce.line-1,Le=be.locationOffset.line-1,De=Ce.line+Le,Pe=Ce.line===1?Se:0,Oe=Ce.column+Pe,qe=`${be.name}:${De}:${Oe}
|
|
1558
1558
|
`,je=Te.split(/\r\n|[\n\r]/g),Fe=je[Re];if(Fe.length>120){const He=Math.floor(Oe/80),Ge=Oe%80,Ke=[];for(let Je=0;Je<Fe.length;Je+=80)Ke.push(Fe.slice(Je,Je+80));return qe+printPrefixedLines([[`${De} |`,Ke[0]],...Ke.slice(1,He+1).map(Je=>["|",Je]),["|","^".padStart(Ge)],["|",Ke[He+1]]])}return qe+printPrefixedLines([[`${De-1} |`,je[Re-1]],[`${De} |`,Fe],["|","^".padStart(Oe)],[`${De+1} |`,je[Re+1]]])}function printPrefixedLines(be){const Ce=be.filter(([Te,Re])=>Re!==void 0),Se=Math.max(...Ce.map(([Te])=>Te.length));return Ce.map(([Te,Re])=>Te.padStart(Se)+(Re?" "+Re:"")).join(`
|
|
@@ -1766,7 +1766,7 @@ This error typically indicates you are using an incompatible GraphQL client vers
|
|
|
1766
1766
|
box-shadow: none;
|
|
1767
1767
|
background-color: ${({theme:be})=>`${be.palette.action.disabled} !important`};
|
|
1768
1768
|
}
|
|
1769
|
-
`;function CheckNodeStatus(){const{t:be}=T$8(),{info:Ce={},api:Se}=useNodeContext(),[Te,Re]=reactExports.useState(),{status:Le}=Ce;reactExports.useEffect(()=>{Le===constantExports$1.SERVER_STATUS.START_FROM_CRASH&&(Re(!0),Se.resetNodeStatus().catch(Pe=>{console.error(Pe.message)}))},[Le]);const De=()=>{Re(!1)};return Te?jsxRuntimeExports.jsx(ConfirmDialog,{description:be("dashboard.startFromCrashTip"),confirm:be("common.confirm"),showCancel:!1,color:"primary",onConfirm:De}):null}function j$3({children:be,theme:Ce,injectFirst:Se,darkSchemeClass:Te,prefer:Re,disableBlockletTheme:Le=!1,enableColorScheme:De,disableStyleCache:Pe,locale:Oe,fallbackLocale:qe,translations:je={},languages:Fe,onLoadingTranslation:He}){return jsxRuntimeExports.jsx(ke,{theme:Ce,injectFirst:Se,darkSchemeClass:Te,prefer:Re,disableBlockletTheme:Le,enableColorScheme:De,disableStyleCache:Pe,children:jsxRuntimeExports.jsx(Q$3,{locale:Oe,fallbackLocale:qe,translations:je,onLoadingTranslation:He,languages:Fe,children:be})})}function f$3(){const{mode:be,toggleMode:Ce,prefer:Se}=U$3();return Ce&&(Se==="system"||window.blocklet?.theme?.prefer==="system")?jsxRuntimeExports.jsx(IconButton,{onClick:Ce,children:be==="light"?jsxRuntimeExports.jsx(i$a,{}):jsxRuntimeExports.jsx(l$o,{})}):null}function ErrorFallback({error:be,resetErrorBoundary:Ce}){return jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsxs(Alert,{severity:"error",action:jsxRuntimeExports.jsx(n$4,{onClick:Ce,color:"secondary",variant:"outlined",children:"Reload"}),style:{minWidth:480},children:[jsxRuntimeExports.jsx(AlertTitle,{children:"Oops, this application crashed"}),jsxRuntimeExports.jsx(Typography,{children:be.message})]})})}var merge=createAssigner(function(be,Ce,Se){baseMerge(be,Ce,Se)});const en$2={common:{invalid:"Invalid",about:"About",access:"Access",buy:"Buy",change:"Change",upload:"Upload",accessKey:"Access Keys",action:"Action",actions:"Actions",add:"Add",refresh:"Refresh",address:"Address",afterTime:"After {time}",allow:"Allow",alreadyExist:"already exists",approve:"Approve",approved:"approved",appUrl:"APP Url",auditLogs:"Audit Trail",auditLogsSearch:"Search by action or content",unrecordedUser:"Unrecorded name",unrecordedRole:"Unrecorded role",notificationRecords:"Notifications",author:"Author",avatar:"Avatar",back:"Back",basic:"Basic",basicInfo:"Basic Information",profile:"Profile",bind:"Bind",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Blocklets Storage",cacheStorage:"Cache Storage",cancel:"Cancel",certificate:"certificate",category:"Log Topic",click:"Click to copy",close:"Close",selectAll:"Select All",unselectAll:"Unselect All",collapseAll:"Collapse All",community:"Community URL",complete:"Complete",componentBasicInfo:"Component Basic Information",components:"Blocklets",config:"Configure",configuration:"Configuration",appearance:"Appearance",configNavigation:"Navigation",configSuccess:"Config successfully",confirm:"Confirm",connect:"Connect",console:"Console",continue:"Continue",continueWith:"Continue With",copiedTip:"Copied",optional:"Optional",copyAndClose:"Copy & Close",copyTip:"Click To Copy",coreStorage:"Core Storage",cpu:"CPU",create:"Create",createSuccess:"Create Access Key",created:"Created At",createdAt:"Created At",createdBy:"Created By",dAddress:"Decentralized Identifiers (DID)",dataStorage:"Storage on Local Disk",delConfirm:"Delete",delConfirmDescription:"Confirm delete {data}?",delete:"Delete",dependents:"Dependents",description:"Description",detail:"Detail",did:"DID",disk:"Disk",diskInfo:"Disk Info",docker:"IS Docker",documentation:"Documentation",domain:"Domain",downgradeTo:"Downgrade to",download:"Download",connectToStore:"Connect to Store",blockletStudio:"Studio",uploaded:"Uploaded",downloading:"Downloading",edit:"Edit",email:"Email",phone:"Phone",empty:"Empty",emptyData:"No results found",enable:"Enable",engine:"Engine",env:"Environment",environment:"Environment",expandAll:"Expand All",expired:"Expired",expires:"Expires",export:"Export",externalIp:"External IP",failed:"Failed",filter:"Log Filter",fingerprint:"Fingerprint",finish:"Finish",forbid:"Forbid",free:"Free",general:"General",gitpod:"IS Gitpod",goEULA:'Click to view "End User License Agreement"',group:"Group",image:"IS Image",install:"Install",installed:"Installed",installedAt:"Installed At",installSuccess:"Successfully installed",installing:"Installing",internalIp:"Internal IP",introduction:"Introduction",invite:"Invite",inviting:"Inviting",ip:"IP",isPublic:"Public",issue:"Issue",issuer:"Issuer",item:"Item",joined:"Joined",key:"Key",lastPublishedAt:"Published At",launcher:"Launcher Information",leavePageTip:"Are you sure to leave the page?",link:"Link",loading:"loading",log:"View Logs",logStorage:"Log Storage",login:"Login",logo:"Logo",logout:"Logout",logs:"Logs",manageTeam:"Manage Team",marketplace:"Marketplace",member:"Member",members:"Members",memory:"Memory",meta:"Meta Data",analytics:"Analytics",runtime:"Runtime",traffic:"Traffic",less:"Less",more:"More",mountPoint:"MountPoint",name:"Name",next:"Next",no:"No",noData:"No records to display",notice:"Unexpected bad things will happen if you don't read this!",noticeTitle:"Notice",notification:"Notification",open:"Open",visitStore:"Visit Store",visitTarget:"Visit {name}",management:"Management",os:"Operating System",overview:"Overview",owner:"Owner",page404:"404 Page",passport:"Passport",display:"Display",permission:"Permission",port:"Port",pre:"Previous",preferences:"Preferences",preview:"Preview",protected:"Protected",protocol:"Protocol",purchase:"Purchase",reconnect:"Reconnect",disconnect:"Disconnect",readMore:"More",redirect:"Redirect",redirectCode:"Redirect Code",redirectPermanently:"Permanent Redirect",redirectTemporary:"Temporary Redirect",redirectUrl:"Redirect URL",rewrite:"Rewrite",release:"Release",rewriteUrl:"Rewrite URL",reject:"Reject",reload:"Reload",remark:"Remark",remove:"Remove",removeSuccess:"Remove successfully",renew:"Renew",reportIssue:"Report an issue",required:"Required",requiredErrorText:"{name} is required",resource:"Resource",restart:"Restart",restore:"Restore",retry:"Retry",revoke:"Revoke",role:"Role",running:"running",runtimeInfo:"Runtime Info",save:"Save",saveChanges:"Save Changes",saveSuccess:"Saved successfully",scheduleFailed:"schedule failed",scheduleSuccess:"successfully scheduled",scope:"Scope",screenshot:"Screenshots",search:"Search",security:"Security",serverDid:"Server DID",serverVersion:"Server Version",setting:"Settings",start:"Start",status:"Status",stop:"Stop",storage:"Storage",backup:"Backup",store:"Store",succeeded:"Succeeded",subscription:"Subscription",support:"Support URL or Email",switch:"Switch",team:"Team",the:"The",timeAgo:"{time} ago",title:"Title",type:"Type",unavailable:"Unavailable",update:"Update",updateAvailable:"New version {version} available",updatedAt:"Updated At",updatedBy:"Updated By",upgrade:"Upgrade",upgradeServer:"Upgrade Server",upgradeTo:"Upgrade to",upgrading:"Upgrading",uptime:"Uptime",url:"URL",valid:"Valid",value:"Value",version:"Version",visit:"Visit",waiting:"Waiting",webhook:"Integrations",yes:"Yes",invalidParam:"Invalid Params",launch:"Launch",price:"Price",redirecting:"Redirecting",error:"Error",reminder:"Reminder",normal:"Normal",gateway:"Gateway",verifyNFT:"Verify NFT",errorMessage:"Error Message: ",slugifyHint:"The actual mount point will be: {value}",strategy:"Strategy",auto:"Auto",manual:"Manual",progress:"In progress",fileCount:"File Count",fileSize:"File Size",time:"Time",startTime:"Start time",endTime:"End time",selected:"Selected",timeoutError:"Timeout error",tags:"Tags",sourceApp:"Belong to App",requiredInputPlaceholder:"Please Enter {name}",moveUp:"Move Up",moveDown:"Move Down",enabled:"Enabled",disabled:"Disabled",homepage:"Home Page",homepageTip:"Home Page or Live Demo URL",repository:"Repository",view:"View",expand:"Expand",collapse:"Collapse",all:"All",bugOrConnectDomain:"Purchase or configure existing domain",bugOrConnectDomainTip:"A domain name is your website's unique address on the internet. You can purchase a new domain from DID Names or any domain registrar, or configure an existing domain you already own.",connectExistingDomain:"Configure existing domain",domains:"Domains",didDomains:"DID Domains",didDomainsDescription:"The following domains are automatically managed by the DID:Names service.",systemDomains:"Default Domains",systemDomainsDescription:"The following domains are automatically assigned by default. While they are accessible, they are not intended for production use and should not be shared with customers. These domains are primarily for development purposes.",manualDomains:"My Domains",manualDomainsDescription:"The following domains are managed by your domain provider and have been manually configured to point to here.",timeInfo:"Timing",operator:"Operator",inviter:"Inviter",minutes:"Minutes",hours:"Hours",hour:"Hour",days:"Days",day:"Day",weeks:"Weeks",months:"Months",custom:"Custom",clear:"Clear",ok:"OK",environments:"Environments",sites:"Sites",active:"Active",backupTime:"Backup Time",lastUsedAt:"Last Used At",expiredAt:"Expiration Date",createdVia:"Created Via",neverExpired:"Never",baseInfo:"Basic Information",otherInfo:"Other Information",lightMode:"Light Mode",darkMode:"Dark Mode",advancedConfig:"Advanced",document:"document",mcpServers:"MCP Servers",generate:"Generate",copy:"Copy",copied:"Copied"},setup:{connect:{title:"Setup Blocklet Server",scan:"Use the following methods to become the owner of this server",confirm:"Review this operation on your DID Wallet",success:"Your account is connected to this server"},keyPair:{title:"Derive KeyPair",scan:"Connect your DID Wallet to generate a key-pair for this app",confirm:"Review this operation on your DID Wallet",success:"Your key pair is securely stored"},verify:{title:"Ownership Credential Required",scan:"Connect your DID Wallet to provide ownership credentials",confirm:"Review this operation on your DID Wallet",success:"Your account is connected to this server"},accept:{title:"Accepting server require ownership certificates",scan:"Connect your DID Wallet to provide ownership credentials",confirm:"Review this operation on your DID Wallet",success:"Your account is connected to this server"},title:"Setup Blocklet Server",steps:{eula:"End User License Agreement",eulaFooter:"I have read and agreed to the terms of the EULA",connect:"Connect Owner DID Wallet",verify:"Verify Ownership",basicSettings:"Basic Settings",launchApp:"Launch Application",complete:"Complete"},congratulation:"Congratulations! Your Blocklet Server is secure and ready to use",redirectButton:"Take me to dashboard!"},login:{login:"Connect",termsOfUse:"Terms of Use",agreeTermsOfUse:"I acknowledge that I have read and agree to the applicable",loginTo:"Connect to",description:"Only server owner and approved members can access the dashboard",switchDid:{title:"Switch Account",scan:"Please use the following methods to add switch account",confirm:"Confirm switch in your DID Wallet",success:"Successfully switched"},switchSpecifiedDid:{title:"Switch Account",scan:"You need switch DID to {did} to complete the following actions",confirm:"Confirm switch in your DID Wallet",success:"Successfully switched"},connect:{title:"Connect",scan:"Only server owner and approved members can access the dashboard",confirm:"Confirm in your account",success:"You are successfully connected"},verify:{title:"Verify Access",scan:"Connect your DID Wallet to present owner or admin passport",confirm:"Confirm in your account",success:"Your access is verified",abort:"Access verification aborted",description:"You need to provide {roles} passport to perform this operation, you will only be asked to verify again after 1 hour of inactivity.",descriptionForDestroy:"You need to provide {roles} passport to perform this dangerous operation to ensure safety."}},acceptServer:{title:"Claim Server with Ownership NFT",tooltip:"If you received a server ownership nft, you can claim your owner passport with this link."},didConnect:{genKeyPair:{title:"Generate Blocklet DID",scan:"Use the following methods to generate a Blocklet DID",success:"Successfully generate Blocklet DID",successDesc:"The Blocklet DID has been generate successfully (Subsequent publications require the wallet that generated the DID to operate)"},common:{invalidSession:"Invalid Session",invalidSessionDesc:"Session does not exist or has expired",connectionError:"Failed to connect"}},exchangePassport:{title:"Get Passport with NFT",success:"You have successfully get your passport and logged in with the passport",login:"Login",tooltip1:"If you own NFT from collection, ",tooltip2:"you can exchange your passport with this link.",dialog:{title:"Get Passport with NFT",scan:"Connect your DID Wallet to present your NFT to get a passport",confirm:"Select NFT on your DID Wallet",success:"Passport has been successfully exchanged"}},payablePassport:{title:"Purchase passport with payment",tooltip:"If you do not have a passport, you can purchase a passport with this link."},sidebar:{dashboard:"Dashboard",blocklets:"Blocklets",console:"Console",settings:"Settings"},system:{total:"Total",used:"Used",free:"Free",cores:"Number of cores",instances:"Number of instances"},blocklet:{external:"External",usingDocker:"This Blocklet will run using docker",usingIsolation:"This Blocklet will run using network isolation",notFound:"Blocklet not found on this server, maybe it has been deleted",installFromMarket:"Install New Blocklets",installFromUrl:"Install From Url",installFromCreate:"Create Blocklet",titleValidationError:"Title length must be between 3 and 20 characters",descriptionValidationError:"Description length must be between 3 and 80 characters",installFromDiskBackup:"Restore from this server",dockerImage:"Support Docker",installedAt:"Installed At",internal:"Internal",startedAt:"Started At",stoppedAt:"Stopped At",urlEmptyTip:"No Access URL, ",goToAddRule:"Go To Add",services:"Exposed Services",upstreamPort:"Upstream Port",noService:"No Services",appId:"App DID",appPid:"Permanent DID",whyNeedAppPid:"If your application has been migrated, the permanent DID is the DID generated when this Blocklet was originally installed",alsoKnownAs:"Also Known As",skSource:"Owner Wallet",skSourceMigratedTip:"This app was launched with a server managed wallet, and have migrated to DID Wallet for better security.",skSourceManagedTip:"This app is running with a server managed wallet, please migrate to DID Wallet as soon as possible for better security.",mountPoint:{description1:"This change may break URLs containing the old mount point, which may further leads to:",case1:"Broken resource references between blocklets within this app",case2:"Broken URL if you have shared them publicly",description2:"You can setup a redirect from the old mount point to the new one to minimize possible breaking changes."},reloadSuccess:"Blocklet was reloaded successfully",statusTip:"Blocklet is {status}",initialUptime:"Less than 1m",dashboard:"Blocklet Dashboard",noComponent:"Application has no components and cannot be started",gotoVisitError:"Unable to access blocklet url, please try again later",fromUrl:{title:"Install Blocklet",label:"Blocklet Meta URL",description:"The URL should point to the Meta File of the Blocklet. If you need to refer to a local file, please add the file:// prefix, e.g. file:///Users/foo/blocklet.json.",confirm:"Install",step0:"Input URL",step1:"Confirm Meta Info",existTipPrefix:"Blocklet with the same DID already exists, the version is",existTipSuffix:", Please install a higher version."},action:{stopDescription:"Stopping the blocklet will make its public interfaces unaccessible, which may cause end user failures",stopComponentDescription:"Stopping the component will make its public interfaces unaccessible, which may cause end user failures",confirmStop:"Yes, Stop It",cancelDownloadDescription:"Cancel download {name} ?",removeApplicationDescription:"Removing the application will erase code and data generated by this application, which is not recoverable if you do not have any backups",removeApplicationAfterBackup:"Backup and remove the application. You can restore the application from this server if you need",removeApplicationComplete:"Remove both code and data for this application",removeComponentDescription:"Removing the component will erase code and data generated by this component, which is not recoverable if you do not have any backups",removeComponentKeepData:"Keep data for this component, only remove code",removeComponentComplete:"Remove both code and data for this component",confirmRemove:"Yes, Remove It",confirmComponentRemove:"Yes, Remove It",upgradeDescription:"Upgrading the blocklet will make it temporarily unavailable, are you sure to continue?",confirmUpgrade:"Yes, Upgrade It",confirmRestart:"Yes, Restart It",restartDescription:"Restarting the blocklet will temporarily suspended and may not start because of a configuration change"},dev:{modeTip:"Please switch Blocklet Server to DEBUG mode"},index:{tableTitle:"Manage Your Blocklets",noBlocklet:"No blocklets found in this Blocklet Server, install a blocklet from market place to start."},config:{baseInfo:"Basic Information",baseInfoDesc:"The basic information of the website can be set here.",logoSettings:"Visual Information",logoSettingsDesc:"Shape a unique brand image, enhance the website's recognition and visual appeal in various scenarios.",languagesDesc:"Used in: visitor language selection",changeImageTip:"Tip: If you want to change the picture, please click Preview Picture to change it.",name:"App Name",nameDesc:"Used in: DID Connect header, browser tab, website footer, SEO metadata and OpenGraph metadata",description:"App Description",descriptionDesc:"Used in: SEO metadata and OpenGraph metadata",logoSquare:"App Logo",logoSquareDesc:"Used in: user authentication dialog footer and <b>DID Wallet</b> app list",logoDesc:`
|
|
1769
|
+
`;function CheckNodeStatus(){const{t:be}=T$8(),{info:Ce={},api:Se}=useNodeContext(),[Te,Re]=reactExports.useState(),{status:Le}=Ce;reactExports.useEffect(()=>{Le===constantExports$1.SERVER_STATUS.START_FROM_CRASH&&(Re(!0),Se.resetNodeStatus().catch(Pe=>{console.error(Pe.message)}))},[Le]);const De=()=>{Re(!1)};return Te?jsxRuntimeExports.jsx(ConfirmDialog,{description:be("dashboard.startFromCrashTip"),confirm:be("common.confirm"),showCancel:!1,color:"primary",onConfirm:De}):null}function j$3({children:be,theme:Ce,injectFirst:Se,darkSchemeClass:Te,prefer:Re,disableBlockletTheme:Le=!1,enableColorScheme:De,disableStyleCache:Pe,locale:Oe,fallbackLocale:qe,translations:je={},languages:Fe,onLoadingTranslation:He}){return jsxRuntimeExports.jsx(ke,{theme:Ce,injectFirst:Se,darkSchemeClass:Te,prefer:Re,disableBlockletTheme:Le,enableColorScheme:De,disableStyleCache:Pe,children:jsxRuntimeExports.jsx(Q$3,{locale:Oe,fallbackLocale:qe,translations:je,onLoadingTranslation:He,languages:Fe,children:be})})}function f$3(){const{mode:be,toggleMode:Ce,prefer:Se}=U$3();return Ce&&(Se==="system"||window.blocklet?.theme?.prefer==="system")?jsxRuntimeExports.jsx(IconButton,{onClick:Ce,children:be==="light"?jsxRuntimeExports.jsx(i$a,{}):jsxRuntimeExports.jsx(l$o,{})}):null}function ErrorFallback({error:be,resetErrorBoundary:Ce}){return jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsxs(Alert,{severity:"error",action:jsxRuntimeExports.jsx(n$4,{onClick:Ce,color:"secondary",variant:"outlined",children:"Reload"}),style:{minWidth:480},children:[jsxRuntimeExports.jsx(AlertTitle,{children:"Oops, this application crashed"}),jsxRuntimeExports.jsx(Typography,{children:be.message})]})})}var merge=createAssigner(function(be,Ce,Se){baseMerge(be,Ce,Se)});const en$2={common:{invalid:"Invalid",about:"About",access:"Access",buy:"Buy",change:"Change",upload:"Upload",accessKey:"Access Keys",action:"Action",actions:"Actions",add:"Add",refresh:"Refresh",address:"Address",afterTime:"After {time}",allow:"Allow",alreadyExist:"already exists",approve:"Approve",approved:"approved",appUrl:"APP Url",auditLogs:"Audit Trail",auditLogsSearch:"Search by action or content",unrecordedUser:"Unrecorded name",unrecordedRole:"Unrecorded role",notificationRecords:"Notifications",author:"Author",avatar:"Avatar",back:"Back",basic:"Basic",basicInfo:"Basic Information",profile:"Profile",bind:"Bind",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Blocklets Storage",cacheStorage:"Cache Storage",cancel:"Cancel",certificate:"certificate",category:"Log Topic",click:"Click to copy",close:"Close",selectAll:"Select All",unselectAll:"Unselect All",collapseAll:"Collapse All",community:"Community URL",complete:"Complete",componentBasicInfo:"Component Basic Information",components:"Blocklets",config:"Configure",configuration:"Configuration",appearance:"Appearance",configNavigation:"Navigation",configSuccess:"Config successfully",confirm:"Confirm",connect:"Connect",console:"Console",continue:"Continue",continueWith:"Continue With",copiedTip:"Copied",optional:"Optional",copyAndClose:"Copy & Close",copyTip:"Click To Copy",coreStorage:"Core Storage",cpu:"CPU",create:"Create",createSuccess:"Create Access Key",created:"Created At",createdAt:"Created At",createdBy:"Created By",dAddress:"Decentralized Identifiers (DID)",dataStorage:"Storage on Local Disk",delConfirm:"Delete",delConfirmDescription:"Confirm delete {data}?",delete:"Delete",dependents:"Dependents",description:"Description",detail:"Detail",did:"DID",disk:"Disk",diskInfo:"Disk Info",docker:"IS Docker",documentation:"Documentation",domain:"Domain",downgradeTo:"Downgrade to",download:"Download",connectToStore:"Connect to Store",blockletStudio:"Studio",uploaded:"Uploaded",downloading:"Downloading",edit:"Edit",email:"Email",phone:"Phone",empty:"Empty",emptyData:"No results found",enable:"Enable",engine:"Engine",env:"Environment",environment:"Environment",expandAll:"Expand All",expired:"Expired",expires:"Expires",export:"Export",externalIp:"External IP",failed:"Failed",filter:"Log Filter",fingerprint:"Fingerprint",finish:"Finish",forbid:"Forbid",free:"Free",general:"General",gitpod:"IS Gitpod",goEULA:'Click to view "End User License Agreement"',group:"Group",image:"IS Image",install:"Install",installed:"Installed",installedAt:"Installed At",installSuccess:"Successfully installed",installing:"Installing",internalIp:"Internal IP",introduction:"Introduction",invite:"Invite",inviting:"Inviting",ip:"IP",isPublic:"Public",issue:"Issue",issuer:"Issuer",item:"Item",joined:"Joined",key:"Key",lastPublishedAt:"Published At",launcher:"Launcher Information",leavePageTip:"Are you sure to leave the page?",link:"Link",loading:"loading",log:"View Logs",logStorage:"Log Storage",login:"Login",logo:"Logo",logout:"Logout",logs:"Logs",manageTeam:"Manage Team",marketplace:"Marketplace",member:"Member",members:"Members",memory:"Memory",meta:"Meta Data",analytics:"Analytics",runtime:"Runtime",traffic:"Traffic",less:"Less",more:"More",mountPoint:"MountPoint",name:"Name",next:"Next",no:"No",noData:"No records to display",notice:"Unexpected bad things will happen if you don't read this!",noticeTitle:"Notice",notification:"Notification",open:"Open",visitStore:"Visit Store",visitTarget:"Visit {name}",management:"Management",os:"Operating System",overview:"Overview",owner:"Owner",page404:"404 Page",passport:"Passport",display:"Display",permission:"Permission",port:"Port",pre:"Previous",preferences:"Preferences",preview:"Preview",protected:"Protected",protocol:"Protocol",purchase:"Purchase",reconnect:"Reconnect",disconnect:"Disconnect",readMore:"More",redirect:"Redirect",redirectCode:"Redirect Code",redirectPermanently:"Permanent Redirect",redirectTemporary:"Temporary Redirect",redirectUrl:"Redirect URL",rewrite:"Rewrite",release:"Release",rewriteUrl:"Rewrite URL",reject:"Reject",reload:"Reload",remark:"Remark",remove:"Remove",removeSuccess:"Remove successfully",renew:"Renew",reportIssue:"Report an issue",required:"Required",requiredErrorText:"{name} is required",resource:"Resource",restart:"Restart",restore:"Restore",retry:"Retry",revoke:"Revoke",role:"Role",running:"running",runtimeInfo:"Runtime Info",save:"Save",saveChanges:"Save Changes",saveSuccess:"Saved successfully",scheduleFailed:"schedule failed",scheduleSuccess:"successfully scheduled",scope:"Scope",screenshot:"Screenshots",search:"Search",security:"Security",serverDid:"Server DID",serverVersion:"Server Version",setting:"Settings",start:"Start",status:"Status",stop:"Stop",storage:"Storage",backup:"Backup",store:"Store",succeeded:"Succeeded",subscription:"Subscription",support:"Support URL or Email",switch:"Switch",team:"Team",the:"The",timeAgo:"{time} ago",title:"Title",type:"Type",unavailable:"Unavailable",update:"Update",updateAvailable:"New version {version} available",updatedAt:"Updated At",updatedBy:"Updated By",upgrade:"Upgrade",upgradeServer:"Upgrade Server",upgradeTo:"Upgrade to",upgrading:"Upgrading",uptime:"Uptime",url:"URL",valid:"Valid",value:"Value",version:"Version",visit:"Visit",waiting:"Waiting",webhook:"Integrations",yes:"Yes",invalidParam:"Invalid Params",launch:"Launch",price:"Price",redirecting:"Redirecting",error:"Error",reminder:"Reminder",normal:"Normal",gateway:"Gateway",verifyNFT:"Verify NFT",errorMessage:"Error Message: ",slugifyHint:"The actual mount point will be: {value}",strategy:"Strategy",auto:"Auto",manual:"Manual",progress:"In progress",fileCount:"File Count",fileSize:"File Size",time:"Time",startTime:"Start time",endTime:"End time",timeoutError:"Timeout error",tags:"Tags",sourceApp:"Belong to App",requiredInputPlaceholder:"Please Enter {name}",moveUp:"Move Up",moveDown:"Move Down",enabled:"Enabled",disabled:"Disabled",homepage:"Home Page",homepageTip:"Home Page or Live Demo URL",repository:"Repository",view:"View",expand:"Expand",collapse:"Collapse",all:"All",bugOrConnectDomain:"Purchase or configure existing domain",bugOrConnectDomainTip:"A domain name is your website's unique address on the internet. You can purchase a new domain from DID Names or any domain registrar, or configure an existing domain you already own.",connectExistingDomain:"Configure existing domain",domains:"Domains",didDomains:"DID Domains",didDomainsDescription:"The following domains are automatically managed by the DID:Names service.",systemDomains:"Default Domains",systemDomainsDescription:"The following domains are automatically assigned by default. While they are accessible, they are not intended for production use and should not be shared with customers. These domains are primarily for development purposes.",manualDomains:"My Domains",manualDomainsDescription:"The following domains are managed by your domain provider and have been manually configured to point to here.",timeInfo:"Timing",operator:"Operator",inviter:"Inviter",minutes:"Minutes",hours:"Hours",hour:"Hour",days:"Days",day:"Day",weeks:"Weeks",months:"Months",custom:"Custom",clear:"Clear",ok:"OK",environments:"Environments",sites:"Sites",active:"Active",backupTime:"Backup Time",lastUsedAt:"Last Used At",expiredAt:"Expiration Date",createdVia:"Created Via",neverExpired:"Never",baseInfo:"Basic Information",otherInfo:"Other Information",lightMode:"Light Mode",darkMode:"Dark Mode",advancedConfig:"Advanced",document:"document",mcpServers:"MCP Servers",generate:"Generate",copy:"Copy",copied:"Copied"},setup:{connect:{title:"Setup Blocklet Server",scan:"Use the following methods to become the owner of this server",confirm:"Review this operation on your DID Wallet",success:"Your account is connected to this server"},keyPair:{title:"Derive KeyPair",scan:"Connect your DID Wallet to generate a key-pair for this app",confirm:"Review this operation on your DID Wallet",success:"Your key pair is securely stored"},verify:{title:"Ownership Credential Required",scan:"Connect your DID Wallet to provide ownership credentials",confirm:"Review this operation on your DID Wallet",success:"Your account is connected to this server"},accept:{title:"Accepting server require ownership certificates",scan:"Connect your DID Wallet to provide ownership credentials",confirm:"Review this operation on your DID Wallet",success:"Your account is connected to this server"},title:"Setup Blocklet Server",steps:{eula:"End User License Agreement",eulaFooter:"I have read and agreed to the terms of the EULA",connect:"Connect Owner DID Wallet",verify:"Verify Ownership",basicSettings:"Basic Settings",launchApp:"Launch Application",complete:"Complete"},congratulation:"Congratulations! Your Blocklet Server is secure and ready to use",redirectButton:"Take me to dashboard!"},login:{login:"Connect",termsOfUse:"Terms of Use",agreeTermsOfUse:"I acknowledge that I have read and agree to the applicable",loginTo:"Connect to",description:"Only server owner and approved members can access the dashboard",switchDid:{title:"Switch Account",scan:"Please use the following methods to add switch account",confirm:"Confirm switch in your DID Wallet",success:"Successfully switched"},switchSpecifiedDid:{title:"Switch Account",scan:"You need switch DID to {did} to complete the following actions",confirm:"Confirm switch in your DID Wallet",success:"Successfully switched"},connect:{title:"Connect",scan:"Only server owner and approved members can access the dashboard",confirm:"Confirm in your account",success:"You are successfully connected"},verify:{title:"Verify Access",scan:"Connect your DID Wallet to present owner or admin passport",confirm:"Confirm in your account",success:"Your access is verified",abort:"Access verification aborted",description:"You need to provide {roles} passport to perform this operation, you will only be asked to verify again after 1 hour of inactivity.",descriptionForDestroy:"You need to provide {roles} passport to perform this dangerous operation to ensure safety."}},acceptServer:{title:"Claim Server with Ownership NFT",tooltip:"If you received a server ownership nft, you can claim your owner passport with this link."},didConnect:{genKeyPair:{title:"Generate Blocklet DID",scan:"Use the following methods to generate a Blocklet DID",success:"Successfully generate Blocklet DID",successDesc:"The Blocklet DID has been generate successfully (Subsequent publications require the wallet that generated the DID to operate)"},common:{invalidSession:"Invalid Session",invalidSessionDesc:"Session does not exist or has expired",connectionError:"Failed to connect"}},exchangePassport:{title:"Get Passport with NFT",success:"You have successfully get your passport and logged in with the passport",login:"Login",tooltip1:"If you own NFT from collection, ",tooltip2:"you can exchange your passport with this link.",dialog:{title:"Get Passport with NFT",scan:"Connect your DID Wallet to present your NFT to get a passport",confirm:"Select NFT on your DID Wallet",success:"Passport has been successfully exchanged"}},payablePassport:{title:"Purchase passport with payment",tooltip:"If you do not have a passport, you can purchase a passport with this link."},sidebar:{dashboard:"Dashboard",blocklets:"Blocklets",console:"Console",settings:"Settings"},system:{total:"Total",used:"Used",free:"Free",cores:"Number of cores",instances:"Number of instances"},blocklet:{external:"External",usingDocker:"This Blocklet will run using docker",usingIsolation:"This Blocklet will run using network isolation",notFound:"Blocklet not found on this server, maybe it has been deleted",installFromMarket:"Install New Blocklets",installFromUrl:"Install From Url",installFromCreate:"Create Blocklet",titleValidationError:"Title length must be between 3 and 20 characters",descriptionValidationError:"Description length must be between 3 and 80 characters",installFromDiskBackup:"Restore from this server",dockerImage:"Support Docker",installedAt:"Installed At",internal:"Internal",startedAt:"Started At",stoppedAt:"Stopped At",urlEmptyTip:"No Access URL, ",goToAddRule:"Go To Add",services:"Exposed Services",upstreamPort:"Upstream Port",noService:"No Services",appId:"App DID",appPid:"Permanent DID",whyNeedAppPid:"If your application has been migrated, the permanent DID is the DID generated when this Blocklet was originally installed",alsoKnownAs:"Also Known As",skSource:"Owner Wallet",skSourceMigratedTip:"This app was launched with a server managed wallet, and have migrated to DID Wallet for better security.",skSourceManagedTip:"This app is running with a server managed wallet, please migrate to DID Wallet as soon as possible for better security.",mountPoint:{description1:"This change may break URLs containing the old mount point, which may further leads to:",case1:"Broken resource references between blocklets within this app",case2:"Broken URL if you have shared them publicly",description2:"You can setup a redirect from the old mount point to the new one to minimize possible breaking changes."},reloadSuccess:"Blocklet was reloaded successfully",statusTip:"Blocklet is {status}",initialUptime:"Less than 1m",dashboard:"Blocklet Dashboard",noComponent:"Application has no components and cannot be started",gotoVisitError:"Unable to access blocklet url, please try again later",fromUrl:{title:"Install Blocklet",label:"Blocklet Meta URL",description:"The URL should point to the Meta File of the Blocklet. If you need to refer to a local file, please add the file:// prefix, e.g. file:///Users/foo/blocklet.json.",confirm:"Install",step0:"Input URL",step1:"Confirm Meta Info",existTipPrefix:"Blocklet with the same DID already exists, the version is",existTipSuffix:", Please install a higher version."},action:{stopDescription:"Stopping the blocklet will make its public interfaces unaccessible, which may cause end user failures",stopComponentDescription:"Stopping the component will make its public interfaces unaccessible, which may cause end user failures",confirmStop:"Yes, Stop It",cancelDownloadDescription:"Cancel download {name} ?",removeApplicationDescription:"Removing the application will erase code and data generated by this application, which is not recoverable if you do not have any backups",removeApplicationAfterBackup:"Backup and remove the application. You can restore the application from this server if you need",removeApplicationComplete:"Remove both code and data for this application",removeComponentDescription:"Removing the component will erase code and data generated by this component, which is not recoverable if you do not have any backups",removeComponentKeepData:"Keep data for this component, only remove code",removeComponentComplete:"Remove both code and data for this component",confirmRemove:"Yes, Remove It",confirmComponentRemove:"Yes, Remove It",upgradeDescription:"Upgrading the blocklet will make it temporarily unavailable, are you sure to continue?",confirmUpgrade:"Yes, Upgrade It",confirmRestart:"Yes, Restart It",restartDescription:"Restarting the blocklet will temporarily suspended and may not start because of a configuration change"},dev:{modeTip:"Please switch Blocklet Server to DEBUG mode"},index:{tableTitle:"Manage Your Blocklets",noBlocklet:"No blocklets found in this Blocklet Server, install a blocklet from market place to start."},config:{baseInfo:"Basic Information",baseInfoDesc:"The basic information of the website can be set here.",logoSettings:"Visual Information",logoSettingsDesc:"Shape a unique brand image, enhance the website's recognition and visual appeal in various scenarios.",languagesDesc:"Used in: visitor language selection",changeImageTip:"Tip: If you want to change the picture, please click Preview Picture to change it.",name:"App Name",nameDesc:"Used in: DID Connect header, browser tab, website footer, SEO metadata and OpenGraph metadata",description:"App Description",descriptionDesc:"Used in: SEO metadata and OpenGraph metadata",logoSquare:"App Logo",logoSquareDesc:"Used in: user authentication dialog footer and <b>DID Wallet</b> app list",logoDesc:`
|
|
1770
1770
|
Recommended Size: {width}* {height} pixels`,logoRect:"Website Logo",logoRectDesc:"Used in: website header and footer, will fallback to app logo if not configured",logoFavicon:"Favicon",logoFaviconDesc:"Used in: browser address bar and tab, will fallback to app logo if not configured",splashPortrait:"Splash Images",splashDesc:`ArcSphere APP launch screen (will be displayed in <b>ArcSphere</b> if configured)
|
|
1771
1771
|
|
|
1772
1772
|
Portrait Mode:
|
|
@@ -1776,7 +1776,7 @@ Landscape Mode:
|
|
|
1776
1776
|
Ratio: 16:9`,splashLandscape:"Splash Landscape",splashPortraitDesc:"Displayed when the blocklet is launched. PNG or JPG format, recommended aspect ratio 9:16 for portrait and 16:9 for landscape (max 5MB)",ogImage:"Open Graph Background",ogImageDesc:"Used in: social media sharing background",clusterSize:"Instance count when run this blocklet in cluster mode",copyrightOwner:"Copyright Owner",copyrightYear:"Copyright Year",copyrightDesc:"Used in: website footer",advanced:"Advanced Configuration",deletable:{name:"Delete Protection",enable:"This blocklet can NOT currently be deleted",disable:"This blocklet can currently be deleted"},tenantMode:{name:"Multi-Tenant Mode",multiple:"This blocklet runs in multiple tenant mode, data should be isolated for each tenant",single:"This blocklet runs in single tenant mode, all data are shared"},walletType:{name:"Wallet Type",description:"Blocklet instance wallet type, will change the derived DID"},languages:"Supported Languages",selectLanguagesTip:"Adjust the order by removing and re-adding",languagesSearch:"Search by Country's Local Name, English Name, or ISO Code...",passportColor:"Passport Color",appUrl:"App URL",appUrlDesc:"Used in: sitemap and social sharing",access:{title:"Who can access?",description:"Choose how you want to control access to your application.",useDefault:"Use default",defaultDescription:"Use the application's default configuration",whoCanAccess:{all:{title:"Open to Everyone",description:"Anyone can access this blocklet without authenticating."},owner:{title:"Owner-Only Access",description:"Only the blocklet owner can access it."},invited:{title:"Invite-Only Access",description:"Only invited members can access it."}},publicToStore:"Public On Store",publicInstanceTip:"The access address of this blocklet will be displayed in the Store (along with your DID for accepting donations)",updatedTip:"Access Control Modified"},changedTip:"Configuration updated, please restart Blocklet",missingRequired:"Missing required configuration to start the blocklet",gotoFix:"Go to fix",environment:{key:"Configuration key",value:"Configuration value",keyValueRequired:"Configuration key and value must be specified",invalidKey:"Configuration key must not start with BLOCKLET_ or COMPONENT_",deleteForbidden:"This configuration is required and should not be deleted",tip:"Configurations prefixed with BWA_ should not contain sensitive information because they will be sent to the browser"},dangerZone:"Danger Zone",migrate:{button:"Change DID",title:"Confirm DID Change",description:"If you are launching with server managed wallet, you can change application DID to your own wallet.",confirm:"Are you sure you want to change the application DID? This operation will invalidate all existing sessions and force users to login again, including your own session."},sharedToAllComponents:"Will be shared to all components",session:{period:"Session validity period",profile:"User profile requirements",ttl:"User will be asked to login again if they have no activity on this site for {day} days",day:"{day} day",days:"{day} days",cacheTtl:"Cache duration for user session data (in seconds)",fullNameEnabled:"Request user name on login (enabled by default)",avatarEnabled:"Request user avatar on login (enabled by default)",emailEnabled:"Request user email on login",emailRequireVerified:"Require user email to be verified before login",emailRequireUnique:"Require user email to be unique across all users",phoneEnabled:"Request user phone number on login (not supported yet)",phoneRequireVerified:"Require user phone number to be verified before login",phoneRequireUnique:"Require user phone number to be unique across all users",emailTrustOauthProviders:"Trust OAuth providers for email verification status",enableDomainBlackList:"Enable email domain black list (reject listed email domains)",enableDomainWhiteList:"Enable email domain white list (only allow listed email domains to login)",addDomain:"Add source to fetch the list (in plain text format, one domain per line)",enableBlacklist:"Enable login token & refresh token revocation",experimentalSettings:"Experimental Settings"},clearCache:{name:"Cache Management",purpose:"Manage files cached in router and blocklet services",title:"Confirm Cache Clear?",action:"Clear Cache",success:"Successfully cleared {count} cache entries",description:"Are you sure you want to clear cached files in router and blocklet service? this operation may cause slight performance downgrade in the short term"},rotateSessionKey:{name:"Session Salt Rotation",purpose:"Session salt is a random value used to enhance the security of session tokens. Click the button to rotate the session salt manually, which helps reduce the risk of login token compromise.",title:"Confirm Session Salt Rotation?",action:"Rotate Salt",success:"Successfully rotated session salt",description:"Are you sure you want to rotate session salt? this operation will invalidate all existing login tokens and force user to login again, including your own login token."},vault:{name:"Vault DID",title:"Setup Vault",desc:"Use vault to add an extra layer of security to funds managed by this blocklet.",tip:"Input the vault address to continue, you need to prove ownership of the vault address before it can be used.",address:"Vault Address",verified:"Vault is verified",current:"Current Vault",error:{invalid:"Vault address must be a valid DID",holder:"Vault address must be a valid token holder on blockchain, token/asset/factory/stake address are not supported.",duplicate:"This vault address was used before, please use a different one",appDid:"Can not use application DID as vault address, please use a different one"},role:"Role Type",firstSeen:"First Seen",lastSeen:"Last Seen",migratedFrom:"Migrated From",migratedTo:"Migrated To",commit:{title:"Verify Vault Ownership",scan:"Use the following methods to verify the vault ownership",confirm:"Confirm using DID Wallet",success:"Vault is configured successfully"},approve:{title:"Approve Vault Change",byOwner:"Sign with blocklet owner to approve the change",byLast:"Sign with last vault to approve the change",confirm:"Confirm using DID Wallet",success:"Vault change is approved"}}},overview:{source:"Source",deployedFrom:"Deployed From",accessControl:"Access Control",viewInStore:"View It In Store"},diskInfo:{empty:"Disk info not available now!",appDir:"App Directory",dataDir:"Data Directory",logDir:"Log Directory",cacheDir:"Cache Directory"},runtimeInfo:{noRunning:"Runtime information will be available when blocklet is running!",memoryUsage:"Memory Usage",cpuUsage:"CPU Usage",uptime:"Uptime",port:"Port",processId:"Process ID"},dist:{downloadLink:"Download Link",verify:"Verify"},status:{added:"Added",waiting:"Waiting",downloading:"Downloading",extracting:"Extracting",installing:"Installing",upgrading:"Upgrading",installed:"Installed",created:"Created",starting:"Starting",running:"Running",stopping:"Stopping",stopped:"Stopped",error:"Error",deleting:"Deleting",corrupted:"Corrupted",purchasing:"Waiting for purchase",purchased:"Purchased",verifying:"Verifying purchase",resource:"Resource"},list:{download:"Download",star:"Star",searchPlaceholder:"Search by Blocklet Name or DID"},component:{container:"Global Config",showContainer:"Show Global Config",didSpaceConfig:"Configure DID Spaces",didSpaceConfigTip:"Complete the following authorize process to store application data in DID Spaces",didSpaceConnected:"Storage being authorized to: {endpoint}",checkUpdateTitle:"Check for Updates",updateTitle:"Update Blocklets",noUpdate:"No Blocklets to update",add:"Add Blocklet",selectComponent:"Select Blocklet",selectRegistry:"Select Blocklet Store",selectRegistryTip:"You can switch blocklet store to see more components",selectInstance:"Select Instance",selectInstanceTip:"You can select an existing instance or create a new instance. Existing instances will use previously saved configuration and data",newInstance:"Create New Instance",noComponent:"No Blocklets",mountPoint:"What's the mount point?",mountPointTip:"If you set mount point to '/my-prefix', then all requests that begins with that mount point will be routed to the selected Blocklet",delete:"Delete Blocklet",deleteDescription:"This Blocklet will not be accessible after deletion. Confirm delete?",purchase:"Payment Required",tip:{stopBlocklet:"Please stop running Blocklet first",requiredBy:"The Blocklet is required by {name}"},choose:"Choose",upgrade:"Upgrade",upgradeAvailable:"Upgrade Available",needBuy:"Need Purchase",isOfficial:"Officially Certified",addWithName:"Add Blocklet To {name}",relatedComponents:"Related Blocklets",required:"Required",noDependencies:"{name} doesn't have any dependencies",installed:"Installed",installingTip:"Installing component, please wait...",installingCanCloseWindowTip:"Installing component in the background, you can safely close this window",installSuccessTip:"Congratulations, the component was installed successfully!",missDownloadTokenTip:"Cannot add paid component without valid download token",purchaseComponentSecondCheckTip:"Please present your blocklet purchase NFT to continue",installComponentError:"There was an error installing the component, please retry again",downloadComponentError:"There was an error downloading the component, please retry again",addComponentTip:{introduction:"Welcome to the Add Component Wizard",isPurchase:"You need to Verify NFT before use <b>{name}</b> as a component;",belowInformation:"Below is the information for the component: ",verifyNFT:"Please select the Verify NFT method",config:"Please fill in the configuration of the component",environment:"Please fill in the environment of the component",fromUrl:"Add Blocklet From Url",fromUpload:"Add Blocklet From Upload",uploadFailed:"Upload failed",allowedFileTypes:"Types of files allowed for upload: {types}"},addNext:"Add {name}",upgradeNext:"Upgrade {name}",setting:"Settings"},router:{urlPath:"URL Path",noRunning:"The blocklet is not currently started. Unable to access through the following address!",securitySetting:"Security Setting",checkUrlAccessible:"Check the accessibility of the address",urlInaccessible:"It may be due to network reasons, the address is temporarily inaccessible",noAccessibleUrl:"No accessible URL",domainLockTooltip:"The system generated Domain cannot be edited.",urlLockTooltip:"The system generated URL Path cannot be edited.",showAllDomains:"Show all domains",showAllDIDs:"Show all DIDs",currentDomainTip:"You are accessing the current page through this domain"},export:{title:"Export Blocklet",name:"Bundle Name",nameTip:'e.g. "my-blocklet-name" or "@my-scope/blocklet-name"',result:"What's next",exportSource:"Export Source",success:"Blocklet successfully exported",resultTipStart:"With",resultTipEnd:"you can build and publish this blocklet within minutes",uploadedComponentTip:"Directly uploaded components cannot be exported:"},migrate:{title:"Migrate Application",scan:"Connect your DID Wallet to generate a key-pair for this application",confirm:"Review this operation on your DID Wallet",success:"Your application is successfully migrated, the page will be refreshed in {sec} seconds",intro:{l1:"Click here",l2:"to migrate your application to new version (changes are disabled before the migration completes)",l3:"1. The application DID will be fully controlled from your DID Wallet.",l4:"2. The application data will be migrated, and no further changes required.",l5:"3. The new application structure will give you more flexibly when change components.",l6:"4. Please do not change component mount points before component new version is out."},tip:{duplicate:"Find duplicate component {name}, please delete useless components and migrate again",running:"Please stop blocklet before migration"}},error:{isRunning:"Blocklet is running, please stop it first",isInProgress:"Blocklet is in progress, please wait for it to finish"},publish:{store:"Blocklet Store",connectOrUpload:"Connect or Upload",projectSettings:"Project Settings",noStoreSelected:"Please select one of the existing stores or add a new store to continue",forceResourceBlocklet:"Force defined as a resource-based blocklet",autoUploadTip:"Upload release to connected Blocklet Stores automatically after creation",autoPublishErrorTip:"Auto publish to {storeName} failed: {error}",possibleSameStoreTip:"Try resolving dependency blocklets to the same Blocklet Store before each uploading when possible",needProjectId:"Please create a project first",developerInfo:"Developer Information",branding:"Branding",brandingHelp:"More information about the blocklet will be displayed in the Store",download:"Download {name}",deleteStoreTip:"Are you sure you want to remove {name} from the connect Store list?",delete:"Delete {name}",copyInstallUrl:"Copy Install URL",installToThisServer:"Install to this server",createResource:"Create Resource",blockletStudio:"Blocklet Studio",tenantScope:"Tenant",addResource:"Add Blocklet",productTitle:"Product",versionTitle:"Versioning",imgTitle:"Images",storeRule:{warning:"Warning",screenshot:"screenshot",screenshots:"screenshots",first:"1st",second:"2nd",third:"3rd",maxImageCount:"The store allows at most {max} {unit}.",minImageCount:"The store requires at least {min} {unit}.",minImageSize:"The {name} screenshot image size must be at least {width}x{height}.",logoFormat:"The logo image format just supports [{format}]."},resourceTitle:"Content",resourceSelect:"Select resource from following blocklets",resourceUpload:"Upload resource from your disk (index.html is required in the archive)",resourceDocker:"Build Blocklet from Docker",resourceSelectTitle:"Resource",resourceUploadTitle:"Upload",resourceDockerTitle:"Docker",resourceDockerInputTip:"Please input the docker run command",blockletEmptyTip:"There aren't any blocklets here",createBlockletTip:"You can create new blocklet through existing resources, components, and configuration in this application",createBlocklet:"New blocklet",reconnectStoreTip:"After reconnecting, a new developer will be bound. Are you sure you want to reconnect?",disconnectStoreTip:"After disconnecting, the blocklet will be removed from the store. Are you sure you want to disconnect?",componentNotRunning:"Blocklet {name} is not running, please start it first",allComponentsNotRunning:"Blocklets is not running, please start it first",releaseEmptyTip:"There aren't any releases here",resourceEmptyTip:"No available resources",viewLastRelease:"View last release",createReleaseTip:"You can create a release of the blocklet, along with release notes and resources, for other people to use",createRelease:"Create release",deleteReleaseTip:"The release cannot be recovered after deletion",createBlockletDid:"Create from DID Wallet",createReleaseSuccess:"Release created successfully",saveDraftSuccess:"Draft saved successfully",packTip:"Currently blocklets can be installed directly as applications. Components and application configurations will be automatically included in the Blocklet",resourceTip:"Currently, as a Resource Blocklet, it cannot be directly installed from the Store.",whyCantSeeInStore:"You can publish the current blocklet on the store, and it can be used all over the world",whyCantSeeResourceBlockletInStore:"You can publish the current blocklet on the store, and it can be used all over the world, Blocklet are hidden from the store listing page by default",resourceChangedWarning:"You have modified the resource, please save it in time",install:"Install {name}",installResourceTip:"Install Url:",installResourceTip2:"If you want to see more tips, please visit",installResourceHelp:"Help Document",componentIncluded:"Included",componentForceRequired:"Required",steps:{branding:"Describe the basic information of your Blocklet. This information will be presented to users in the store.",introduction:"A clear introduction can effectively highlight your Blocklet. You can use Markdown syntax to write and preview it.",resources:"Please select the resources that need to be associated with the current Blocklet, as these resources will be installed along with the Blocklet.",blocklets:"Please select the Blocklets that need to be associated and installed when installing the current Blocklet.",version:"Set the release version and the change log."},connect:{title:"Create Blocklet DID",scan:"Use the following methods to generate Blocklet DID",confirm:"Confirm using DID Wallet",success:"Blocklet DID has been generated, please continue your operation"},deleteProject:{title:"Delete {name}",scan:"Use the following methods to delete {name}",confirm:"Confirm using DID Wallet",success:"Blocklet has been deleted, please continue your operation",description:"Are you sure you want to delete the Blocklet? Here are the issues you might encounter:",tip1:"The Blocklet cannot be recovered after deletion.",tip2:"You will no longer be able to publish new versions to the deleted Blocklet, which means that the Blocklet will not be updated in the Store anymore.",tip3:"Deleting the Blocklet will not affect its currently published version in the Store."},saveDraft:"Save Draft",releaseNote:"Release Note",errorTip:{noDid:"Blocklet DID is required",noFirstDid:"Please create Blocklet DID first",noTitle:"Blocklet Title is required",noVersion:"Blocklet Version is required",inValidVersion:"Invalid Blocklet Version",noResource:"Please select upload resource to be included in the blocklet",noDescription:"Blocklet Description is required",noNote:"Release Note is required",invalidUrl:"Please input a valid URL",invalidUrlOrEmail:"Please input a valid URL or email"},uploadToStoreSuccess:"Blocklet upload to Store successfully, you need publish it in the Store",publishToStoreSuccess:"Blocklet published to Store successfully",connectStoreSuccess:"Blocklet Store connected successfully",docker:{pleaseInputDockerCommand:"Please input the docker run command",volumeTip:"Volume must start with $BLOCKLET_DATA_DIR or $BLOCKLET_APP_DIR",volumeTip2:'Volume cannot contain ".."',noAllowTheArg:"The argument is not allowed to be used in the docker run command",needCustomInput:"Setup the value when install blocklet",dockerParams:"Docker Params",nextTab:"Parse Command",dockerCommand:"Docker Command",dockerImageName:"Docker Image Name",addItem:"Add Docker Run Param",envKey:"Environment Variable Key",publishTips:"The final external port will be automatically assigned by the blocklet",volumeTips:"The volume need start with $BLOCKLET_DATA_DIR or $BLOCKLET_APP_DIR",modifyParam:"Modify Docker Run Param",modifyEnv:"Modify Environment Variable",paramDetail:"Param Detail",description:"Description",secure:"Secure",shared:"Shared",required:"Required",autoGenerated:"Auto Generated",prefix:"Prefix",path:"Path",name:"Name",portType:"Port Type",proxyBehavior:"Proxy Behavior",serviceProxy:"Service",directProxy:"Direct",dockerImageNameError:"Docker Image Name cannot contain spaces",dockerCMDError:"Docker CMD only supports simple characters"},endpoint:{tab:"Remote Blocklet",uploadToEndpoint:"You can upload the current blocklet to the specified blocklet.",addEndpoint:"Add Blocklet Endpoint",urlEmpty:"Endpoint URL cannot be empty",addFailed:"Add Blocklet Endpoint Failed: ",deleteEndpoint:"Delete Blocklet Endpoint",deleteDesc:'Confirm Delete blocklet endpoint {name} ?<br/><span style="color: {color}">*After removing this blocklet endpoint, you cannot update the apps installed from this blocklet endpoint unless you add them again.</span>',confirmDesc:"Please input {name} to delete",visitEndpoint:"Visit Blocklet",disconnectEndpointTip:"Are you sure you want to disconnect {url}? After disconnecting, the blocklet will not be uploaded to this endpoint.",deleteFailed:"Delete Blocklet Endpoint Failed",publishToEndpointSuccess:"Blocklet published to Endpoint successfully",uploadToEndpointSuccess:"Blocklet uploaded to Endpoint successfully"}}},dashboard:{nodeDid:"Node",ownerDid:"Owner",routingEngine:"Routing Engine",ownerNftURL:"Owner NFT",expirationLeft:"Expiration Left",startFromCrashTip:"Blocklet Server did not exit normally last time, please manually start the blocklets that needs to be run.",runtimeConfig:{blockletMaxMemoryLimit:"Blocklet Max Memory Limit",daemonMaxMemoryLimit:"Server Max Memory Limit",proxyMaxMemoryLimit:"Event Bus Max Memory Limit"},document:"Learn more in our documentation"},store:{nameSort:"Name",popularSort:"Popularity",headerDescription:"Find and Install Your Blocklets",detail:{purchase:"Purchase {name}",open:"Open {name}",install:"Install {name}",upgrade:"Upgrade {name}",empty:"No introduction"},tooltip:{upgradeServer:"Blocklet requires Blocklet Server version {version}, current Blocklet Server version is {serverVersion}"},blockletRegistry:{changeFailed:"Change Blocklet Store Failed: ",addFailed:"Add Blocklet Store Failed: ",editFailed:"Edit Blocklet Store Failed: ",switchRegistry:"Switch Blocklet Store",addRegistry:"Add Blocklet Store",editRegistry:"Edit Blocklet Store",deleteRegistry:"Delete Blocklet Store",haveSameRegistry:"The same blocklet store exists",registryName:"Blocklet Store Name",registryUrl:"Blocklet Store URL",registryNameEmpty:"Blocklet Store name cannot be empty",registryUrlEmpty:"Blocklet store url cannot be empty",deleteDesc:'Confirm Delete blocklet store {name} ?<br/><span style="color: {color}">*After removing this blocklet store, you cannot update the apps installed from this blocklet store unless you add them again.</span>',confirmDesc:"Please input {name} to delete"},purchase:{title:"Purchase {name}",confirmed:"Your blocklet purchase NFT is verified",declined:"You do not provided valid the blocklet purchase NFT",waiting:"Waiting for purchase complete...",purchase:{title:"Purchase NFT",description:"Pay some token before installing this blocklet if you have not purchased this blocklet"},verify:{title:"Verify NFT",description:"Your NFT will be verified before installing this blocklet if you have purchased and hold the purchase NFT in your DID Wallet",auth:{title:"Purchase Credential Required",scan:"Connect DID Wallet to provide blocklet purchase NFT",confirm:"Review this operation on your DID Wallet",success:"Your purchase NFT is verified, and installing has started"}},auth:{title:"Purchase {name}",scan:"Scan following QRCode with your DID Wallet",confirm:"Confirm in your account",success:"Purchase NFT sent to your DID Wallet"},launch:"Launch {name}",autoLaunch:"{name} successfully purchased, redirecting to launch page..."}},setting:{saveSuccess:"Settings Saved Successfully",unSavedTip:'There are unsaved changes, please click "Save Changes" to save them.',unSavedLeaveTip:"There are unsaved changes, are you sure to leave the page?",form:{name:"Name Your Server",nameRequired:"Server description is required",namePlaceholder:"Server Name",description:"Describe Your Server",descriptionHolder:"Server Description",descriptionRequired:"Server description is required",domain:"Your Server Domain Name",domainPlaceholder:"Server Domain Name",domainRequired:"Server domain is required",ipPlaceholder:"IP",ipRequired:"IP is required",registry:"Blocklet Store",registryPlaceholder:"Blocklet store to fetch blocklets",registryRequired:"Blocklet store is required ",registerUrl:"Blocklet Launcher URL",registerUrlPlaceholder:"Input the URL of your preferred Blocklet Launcher, you can use the official one safely",webWalletUrl:"DID Wallet URL",webWalletUrlPlaceholder:'Please input the URL of your hosted "DID Wallet", you can use the official one safely',nftDomainUrl:"NFT Domain URL",nftDomainUrlPlaceholder:'Please input the URL of your hosted "NFT Domain", you can use the official one safely',enableWelcomePage:"Enable welcome page",welcome:{switchLabel:"Welcome Page"},enableSessionHardening:{switchLabel:"Enable Session Hardening",switchTips:"After enabling this option, mutation operations will require strict verification, which can improve the server's overall security."},security:{switchLabel:"File System Isolation",switchTips:"After disabling this option, the file system of the Blocklet will no longer be in isolation, which may pose a risk of malicious software damaging the file system.",warningTips:"The file system isolation feature cannot take effect. Please upgrade the node.js version (current version is {version}) to v21.6.0 or higher."},docker:{switchLabel:"Run Blocklets in Containers",switchTips:"After enabling this option, all blocklets will be run in Docker containers, which can improve the server's overall security.",notInstalled:"Can not enable container mode because docker is not installed or the current user has insufficient permission to run docker",needCloseFileSystemIsolation:"File system isolation and docker container mode runtime cannot be enabled at the same time"},dockerNetwork:{switchLabel:"Container Network Isolation",switchTips:"After enabling this option, blocklets run in a more secure manner: a blocklet cannot access the blocklet server or other blocklets across applications.",needEnableDocker:"Container mode must be enabled to enable network isolation"},upgrade:{title:"Upgrade Blocklet Server to {version}",description:"During the upgrade, your Blocklet Server will enter maintenance mode for a few minutes while the update is completed.",dialog:'Click on "confirm" to install the update. Blocklet Server will enter maintenance mode until the update is completed and return to production mode automatically.',confirm:"Upgrade",switchLabel:"Auto Update Check",enableBetaRelease:"Enable Beta Release",setup:"Preparing the upgrade",installing:"Installing Blocklet Server v{version}",restarting:"Restarting Blocklet Server",cleanup:"Migrating Blocklet Server data",verifying:"Verifying Blocklet Server v{version}",rollback:"Rollback Blocklet Server",complete:"Upgrade complete!",progress:"Upgrading {name}",check:"Check for Updates",latest:"You are running the latest version."},restart:{title:"Restart Blocklet Server",description:"During the restarting, your Blocklet Server will enter maintenance mode while the restart is completed.",dialog:'Click on "confirm" to restart. Blocklet Server will enter maintenance mode until the restart is completed and return to production mode automatically.',confirm:"Restart",setup:"Preparing the restart",verifying:"Verifying Blocklet Server",restarting:"Restarting Blocklet Server",cleanup:"Ensure everything is OK",rollback:"Cleanup the dirty state",complete:"Maintain complete!",progress:"Restarting {name}"},restartAllContainers:{title:"Restart All Container",description:"Restart all containers and keep blocklets running.",dialog:'Click "confirm" to restart all container blocklets and keep blockelts status running.',confirm:"Restart",setup:"Preparing the restart",verifying:"Verifying Blocklet Server",restarting:"Restarting All Container At Background",cleanup:"Ensure everything is OK",rollback:"Cleanup the dirty state",complete:"Maintain complete!",progress:"Restarting All Container At Background"},restartAllBlocklet:{title:"Restart All Blocklets",description:"Restart all blocklets that are running or error on this server.",dialog:'Click "confirm" to restart all blocklets at background.',confirm:"Restart",setup:"Preparing the restart",verifying:"Verifying Blocklet Server",restarting:"Restarting All Running Or Error Blocklets At Background",cleanup:"Ensure everything is OK",rollback:"Cleanup the dirty state",complete:"Maintain complete!",progress:"Restarting All Running Or Error Blocklets At Background"},register:{title:"Register to Blocklet Launcher",description:"Once added, you can launch blocklets to this blocklet server from {url}.",button:"Register"},monitor:{diskThreshold:"Send alert when disk usage exceeds (%)",diskThresholdPlaceholder:"Please set the disk usage alert threshold"}},accessKey:{listTitle:"Manage secure API access with Access Keys",tooltipTitle:"Generate and manage credentials that allow trusted systems to interact with your app programmatically. Access keys enable secure automation and seamless integration across your tools and services. ",accessKeyId:"Access Key ID",accessKeySecret:"Access Key Secret",lastUsed:"Last Used At",tip:"Please enter a name for this access key",passport:"Select a passport for the access key to grant or limit permissions",expireTime:"Set an expiration date for the access key for better security",saveSecretTip:"This is the only time that your Access Secret key can be viewed and cannot be recovered. However, you can create new access keys at any time",iKnow:"I have copied and saved the Access Secret",showSecret:"Show Secret Access Key",hideSecret:"Hide Secret",title:"Delete Access Key",descriptionNoTime:"This will permanently delete the access key {key} with name {name}, which is (never used before)",description:"This will permanently delete access key {key} with name {name}, which is (last used on {time}, {timeAge})",confirm_desc:"Please input {name} to delete",remark:"Access Key Name",remarkInvalid:"Access Key Name is required",authType:"Auth Type",resourceType:"Resource Type",resourceId:"Resource ID",component:"Component",expired:"{time} expired",simple:"Simple",signature:"Signature",signatureDesc:"Enterprise-grade security standard using cryptography. requires code integration with SDK (@abtnode/client), ideal for scenarios with high security requirements and critical data transmission",simpleDesc:"Lightweight Bearer Token mechanism, similar to OpenAPI Key, supports RESTful API calls and third-party service integration. No coding required, quick integration via HTTP Header, perfect for rapid development",viewSecret:"You can continue to access the secret key later in the details page of the access key",usage:"Usage"},webhook:{add:"Add Integration",delTitle:"Delete Integration",requiredError:"Please provide a valid {type}",confirm_desc:"Please input {name} to delete",test:"Test",description:"This will permanently delete integration with ID {id}",columns:{description:"ID",params:"Params",createdAt:"createdAt"}},dns:{step1Title:"1. Log in to your domain registrar",step1Desc1:"Log in to your domain registrar, find the domain management page, and locate the name server settings page. You can search for your domain registrar at ",step2Title:"2. Find the DNS settings for {url}",step2Desc:'This may be called "DNS Management", "Advanced settings", or similar.',step3Title:"3. Add the following DNS records",step3Desc:'"Name" might be called "host", "hostname", or "alias"'},domain:{addingDomain:"Adding domain...",checkingResolvable:"Checking domain status...",cannotResolve:"{domain} can not be resolved, please check your DNS configuration",resolvedAddressError:"{domain} is not properly configured with a CNAME record pointing to {curDomain}",invalidDNSReminder:"{error}. However, you can continue to add the domain, but automatic certificate generation is not available.",continueAdd:"Continue Adding",conflictTitle:"{domain} has already been used",conflictDescription:'{domain} is already used by "{title}", by clicking confirm, the domain will be removed from "{from}" and added to "{to}".'},aigne:{description:"The current configuration will take effect when {name} is running. Need to save and restart the application to take effect.",modelAdapter:"Model Provider",modelName:"Model Name",baseUrl:"AIGNE Hub URL",invalidUrl:"{provider} URL is invalid",revokeUrlAuthTitle:"Confirm change the {url}?",revokeUrlAuth:"Are you sure you want to change the {url}? After modification, your authorization will be invalid and need to be re-authorized!",apiKeyNotAuthorized:"The API key is not authorized. Please click the connect to AIGNE Hub button to authorize it",switchUser:"Switch User",connectTimeOut:"Connection to {provider} timed out, please try again later",desc:{modelAdapter:"The platform that provides an AI model service",modelName:"The specific model version or model name",key:"The {provider} API Key used for authentication",baseUrl:"Enter the URL of your AIGNE Hub instance (e.g., https://hub.aigne.io). Use your own if you’re self-hosting.",accessKeyId:"The unique key ID for accessing the model",secretAccessKey:"The secret key paired with the access key ID",docLink:"View official documentation for more details and API reference"},restart:{title:"Restart Blocklet",connectedContent:"Your Blocklet is currently connected to {provider}. The configuration will take effect after restart. Would you like to restart now?",notConnectedContent:"Your Blocklet is currently disconnected from {provider}. The configuration will take effect after restart. Would you like to restart now?",confirm:"Restart Now",cancel:"Restart Later"},configDesc:'Integrate your app with AIGNE Hub to enable secure, routed access to large language models (LLMs). Once connected, your app and its components can send intelligent requests and become smarter instantly. You can use your own self-hosted <a href="{url}" target="_blank">AIGNE Hub</a> or the default public instance.',failed:"AIGNE config save failed",authorizeAigneHub:"Connect to {name}",disconnect:"Disconnect",disconnectConfirm:"Are you sure you want to disconnect from AIGNE Hub? This will remove the current AI configuration.",disconnectSuccess:"Successfully disconnected from AIGNE Hub",disconnectFailed:"Failed to disconnect from AIGNE Hub",testConnection:"Test {provider} connection",testSuccess:"Connected successfully to AIGNE Hub",testFailed:"Could not connect to AIGNE Hub. Please check the URL or your network.",check:"Check"}},notification:{title:"Notifications",empty:"No activities yet",viewAll:"View All",showRead:"Show Read",markAllAsRead:"Mark All as Read",markAsRead:"Mark As Read",proceed:"Proceed",checkingForUpdates:"Checking for updates...",installComponentError:"Not found uninstalled component {name}",installingComponent:"Installing component {name}",pushKit:{enable:"Enable notification",endpoint:"PushKit endpoint",endpointInvalid:"PushKit endpoint is invalid URL",testSuccess:"Test PushKit send successfully",testFailed:"Test PushKit send failed",testReceiver:"PushKit receiver",testSend:"Test push-kit send",inputTestReceiver:"Please input test receiver did",receiverRequired:"PushKit receiver is required",pushPath:"Api path for push-kit (default /api/push)",did:"PushKit Blocklet DID",customOptions:"Custom Options"},email:{signature:"Signature",signatureTooltip:"The email signature is used at the bottom to provide the recipient with key information about the sender. ",companyName:"Company Name",companyLink:"Company Link",companyAddress:"Company Address",supportEmail:"Support Email",enable:"Enable notification",emailInvalid:"Email is invalid",linkInvalid:"Link is invalid, should start with http or https",from:"Email Sender",host:"SMTP Server Host",port:"SMTP Server Port",user:"SMTP Username",secure:"Secure Connection",password:"SMTP Password",fromRequired:"Email sender is required",fromInvalid:"Email sender is invalid",receiverRequired:"Email receiver is required",receiverInvalid:"Email receiver is invalid",hostRequired:"SMTP server host is required",hostInvalid:"SMTP server host is invalid",portRequired:"SMTP server port is required",portInvalid:"SMTP server port is invalid, port should be between 1 and 65535",userRequired:"SMTP server username is required",passwordRequired:"SMTP server user password is required",testSuccess:"Test email send successfully",testFailed:"Test email send failed",testReceiver:"Email receiver",testSendEmail:"Test email send",inputTestReceiver:"Please input test receiver email",disable:"Unsubscribe email notification",disableDescription:"After unsubscribe, you will no longer receive email notifications. To receive email notifications, you can subscribe it again on this page.",unsubscribe:"Unsubscribe email notification",unsubscribeDescription:"After unsubscribe, you will no longer receive any email notifications.",subscribe:"subscribe",subscribeDescription:"To receive email notifications, you can subscribe it again on settings page."},comingSoon:"More notification channel are under construction",unsubscribe:"Unsubscribe",unsubscribeSucceed:"Unsubscribe succeeded",unsubscribeFailed:"Unsubscribe failed",unsubscribeTokenRequired:"Unsubscribe token in required",unsubscribeTokenExpired:"Unsubscribe token is expired",unsubscribeTokenInvalid:"Unsubscribe token is invalid",notificationDetails:"Notification Details",notificationPreview:"Notification Preview",receiver:"Receiver",filter:"Filter",resend:"Resend",resendLimit:"You can resend a notification up to three times daily.",sendStatus:{success:"Sent",failed:"Failed",pending:"Pending",sentTime:"Sent Time: {date}",count:"{count} ",total:"Total",reason:{enabled:"User has enabled {channel} notification",disabled:"User has not enabled {channel} notification",unavailable:"Current Blocklet has not configured {channel} notification",available:"Current Blocklet has configured {channel} notification",notSent:"Current message has not been sent to {channel}",offline:"User is offline"}},from:"From",to:"To",body:"Body",notificationTitle:"Title",createdAt:"Created At",status:"Status",system:"System",severity:"Severity",config:"Configs",selectChannels:"Select Channels",selectChannelsTip:"Select the channels to resend",resendFailedOnly:"Resend Only to Failed Channels",statistics:"Statistics",allSender:"All Senders",allSeverity:"All Severities",severityType:{info:"Info",success:"Success",warning:"Warning",error:"Error"},clear:"Clear",allDone:"You're all done",filterType:{all:"All",unread:"Unread"},viewMore:"View More"},router:{routerSetting:"Domains & URLs",certSetting:"SSL Certificates",defaultSite:"Default",urlHelperText:"URL that do not start with HTTP/HTTPS are considered relative paths",empty:"Click on Actions to setup URL Mapping",healthy:{ok:"Blocklet or service is running",error:"Blocklet or service is not running or not installed"},service:{select:"Select Blocklet Services (Optional)",what:"Blocklet Services are pipelines executed against the request before redirecting to upstream blocklet"},nonProvider:{title:"Engine Change Warning",description:"If you change engine to none, your current page may not work properly because the previous engine will be stopped, are you sure to continue?",confirm:"I understand, continue"},validation:{urlRequired:"URL is required",redirectCodeRequired:"Redirect code is required",didRequired:"Blocklet is required",pathPrefixTooLong:"The URL Prefix cannot exceed {length} characters",pathPrefixCannotBeEmpty:"The URL Prefix cannot be empty",domainRequired:"Server domain is required",invalidUrl:"Please provide a valid URL",pathPrefixRequired:"URL prefix is required",redirectUrlRequired:"Redirect URL is required",rewriteUrlRequired:"Rewrite URL is required"},domain:{addSite:"Add Site",validate:{emptyTip:"Site domain cannot be empty",suffixTip:"Site domain cannot include {suffix}"},add:{title:"Add Domain Name",description:"Please provide a valid domain name",confirm:"Add",cancel:"Cancel",blocklet:"Select Blocklet",redirect:"Where to redirect the traffic?",port:"What port does your request handler need to listen to?",portTip:"This defaults to the main port of request handler, you can customize this",type:"Traffic Handler",component:"Select Component",pageGroup:"Page Group",pageGroupTip:"This component can render any group of pages listed above, leave empty to render all pages"},update:{title:"Update Site Domain",label:"Site Domain",description:"Please provide a valid site domain"},setup:{tipStart:"Add the DNS records for the domain",tipEnd:"as per the following guidelines",recordType:"Record Type",recordValue:"Record Value"},verify:{ok:"The domain resolution is normal",notResolved:"This domain neither resolved nor accessible, please check your DNS configuration"},https:{ok:"This domain has https enabled",bad:"This domain has not enabled https"},delete:{title:"Delete Site",description:'By confirming, you will delete your existing "{name}" site. Type "{name}" below and select Delete to complete the change, or select Cancel if you want to leave your site',confirm_desc:"Please input {name} to confirm"}},domainAlias:{custom:"Custom domain",noCustom:"No custom domain",noCustomTip:"No custom domain is configured with your website. For enhanced security and better user experience, we recommend configuring your own custom domain. Click below to get started.",nftDomain:"Automatic config with DID Names",showTipHint:"How do I configure domain name resolution?",add:{title:"Add Additional Domain",tips:"You can enter a domain name purchased from DID Names or any other domain. If it is a DID Domain, you must present the DID Domain NFT to proceed.",domainDescription:"Please provide a valid domain name",forceTip:"Force add if domain name already exists",helperText:"If an HTTP or HTTPS URL is entered, it will be automatically converted into a domain name.",isDidDomainError:"This domain is a DID Domain. Please add it using the method for automatic domain configuration."},addCustomDomain:{name:"Custom Domain"},addDomainNFT:{showNFT:"Configure domain automatically",tips:"You can enter a domain purchased from DID Names. If a DID Domain is detected, you must present the DID Domain NFT to continue.",connect:{title:"Connect DID Names to {appName}",scan:"Use one of the following methods to connect {domain} to {appName}",confirm:"Confirm in your account",success:"Authorization Successful"},authorizeFailed:"Failed to get the domain NFT info, please try again!",buyTip:"DID Names will do the domain name resolution automatically, no need to configure it manually, and the application will update the resolution record of the domain name automatically when needed. If your don't have DID Domain NFT yet, ",buy:"Buy DID Domain",topLevelDidDomainHint:"For DID Domain, if you enter a top-level domain (e.g. example.com), it will automatically be configured as www.example.com"},delete:{title:"Are you sure you want to delete?",description:'After delete "{domain}", access to that alias may not be handled properly.',confirmPlaceholder:'Please input "{domain}" to delete'}},domainSecurity:{title:"Domain Security",cors:{title:"Allowed CORS Domains",description:'Domain list that can send cross origin requests to {name}, comma separated, use "*" to allow anyone, which is not recommended',domainInvalid:"Please input a valid list of domain names"}},rule:{add:{title:"Add URL Mapping",confirm:"Add",pathPrefix:"What's the URL Prefix?",pathPrefixTip:"If you set prefix to '/my-prefix', then all requests that begins with that prefix will be routed to the configured blocklet",blocklet:"Which Blocklet will be handling those requests?",port:"Which port of the blocklet will be handling requests?",portTip:"This defaults to the main port of blocklet, if your blocklet listens on multiple ports, you can customize this",responseType:"Response Type",responseBody:"Response Content",responseBodyTip:"Paste your response content here, should not exceed 4096 characters",responseBodyRequired:"Response content can not be empty"},delete:{title:"Delete URL Mapping",description:'By confirming, you will delete your existing "{name}" URL Mapping. Type "{name}" below and select Delete to complete the change, or select Cancel if you want to leave your URL Mapping.',confirm_desc:"Please input {name} to delete",cancel:"Cancel"},update:{title:"Update URL Mapping",confirm:"Yes, Update",cancel:"Cancel"}},cert:{name:"Certificate Name",domain:"Domain Name",action:"Action",commonName:"Common Name",boundDomains:"Domains",source:"Source",expired:"Expired",leftDays:" days left",issuedOn:"Issued On",expiryOn:"Expiry On",fingerprintAlg:"Fingerprint Algorithm",validityPeriod:"Validity Period",matchedSites:"Matched Sites",upload:"Manual Upload",publicCertHelperText:"Public certificates can be downloaded",nonPublicCertHelperText:"Non-public certificates cannot be downloaded",protectedCertHelperText:"Protected certificates cannot be edited",unprotectedCertHelperText:"Unprotected certificates can be edited",issuing:"Certificate being generated",sourceTypes:{upload:"Manual Upload",lets_encrypt:"Let's Encrypt"},table:{nodata:"No data"},delete:{title:"Delete Certificate",description:"Confirm delete certificate of domain {domain}? Deleting it may affect related services. Please confirm it's safe before proceeding with the deletion.",confirm:"Confirm"},nginx:{title:"Update Certificate",titleAdd:"Add Certificate",pem:"SSL Certificate File",pemTip:'Please drop your server certificate file here, it should ends with ".pem" or ".crt"',key:"Private Key File",keyTip:'Please drop your server private key file here, it should ends with ".pem" or ".key"',confirm:"Save",cancel:"Cancel",invalidFile:"You have selected an invalid file",empty:"No file selected yet",source:"Source",sourceTypes:{upload:"Manual Upload",lets_encrypt:"Let's Encrypt"}},detail:{title:"Certificate Details"},genLetsEncryptCert:{title:"Generate Let's Encrypt certificate",dnsTip:"Please make sure the domain name has point to the current Blocklet Server.",description:"Adding a certificate will make the service more secure, and Blocklet Server will automatically renew the certificate before it expires."}},gateway:{reqLimit:{title:"Request Limiting",switchLabel:"Enable concurrent request limiting for reliable performance",global:"Limit concurrent requests handled by the gateway to {global} per second (global limit)",burstFactor:"The burst factor for the rate limiting, applied to both global and per-IP limits, (global: {global}, per-IP: {rate})",burstDelay:"The delay when requests burst and exceed the per-IP limit ({delay} seconds)",rate:"Limit concurrent requests by IP to {rate} per second (per-IP limit)",methods:"Limit concurrent requests by IP for the following methods"},cacheEnabled:{title:"Gateway Cache",switchLabel:"Enable gateway cache to boost performance"},blockPolicy:{title:"Request Blocking",switchLabel:"Block bad requests to protect your server",addItem:"Add Item",blacklistDesc:"Requests from these IPs will be blocked from accessing this Server and all Blocklets",inputPlaceholder:"Enter IP address, CIDR range, or URL",invalidItem:"Invalid IP address, CIDR range, or URL",autoBlocking:{switchLabel:"Block bad requests by realtime detection",windowSize:"The time window size for counting requests (seconds)",windowQuota:"The maximum number of requests (per IP) allowed within the window",blockDuration:"The duration to block user by IP when quota exceeded within the window (seconds)",statusCodes:"The status codes to be checked"}},proxyPolicy:{title:"Proxy Policy",switchLabel:"This server is running behind proxies",trustRecursive:"Trust proxies recursively",trustRecursiveDesc:"Use the leftmost IP in the X-Forwarded-For chain",trustedProxies:"Trusted Proxies",trustedProxiesDesc:"Requests from these IPs will be trusted to get the real client IP",realIpHeaderLabel:"Client IP Header",realIpHeaderDesc:"If the Blocklet Server is running behind proxies such as CloudFront, you can set the header of the client's real IP here.",addItem:"Add Item",inputPlaceholder:"Enter IP address, CIDR range",invalidItem:"Invalid IP address, CIDR range"},wafPolicy:{title:"Web Application Firewall",switchLabel:"Detect and block bad requests with ModSecurity",modeDesc:"The mode for ModSecurity",docDesc:"Check the documentation for how to setup ModSecurity",mode:{detectOnly:"Detect Only (will not block requests)",on:"On (will block requests)"},logLevelDesc:"The log level for ModSecurity (0-9), 0 means disable audit log",inboundAnomalyScoreThresholdDesc:"The inbound anomaly score threshold (1-100), lower value means more strict",outboundAnomalyScoreThresholdDesc:"The outbound anomaly score threshold (1-100), lower value means more strict"}}},noMatch:{desc:"We can't find the page that you're looking for"},health:{connectionErrorTip:"Blocklet Server can't connect to the network, please check if Blocklet Server has been stopped or there is a network issue",connectionRecoveryTip:"Blocklet Server connectivity has been recovered",connectionStoppedTip:"Blocklet Server has been stopped",wrongAccessUrlTip:"Blocklet Server access address is wrong, please use the correct access address"},embed:{iconTip:"Click to view subscription details"},debug:{title:"Your Blocklet Server is up and running!"},team:{add:"Add New",invite:{action:"Invite New",setting:"Invite Settings",enabled:"Disable this setting to restrict new user invites to owner/admin only",disabled:"Enable this setting to allow any user to invite new users",inviter:"Invited By"},member:{name:"Name",passport:"Passport",passports:"Passports",lastLogin:"Last Login",lastLoginIp:"Last Login IP",openProfile:"View Profile",source:"Register Source",source_derived:"Derived from oauth",source_wallet:"DID Wallet",filter:"Filter by",blockAccess:"Block Access",blockAccessDescription:"The user will not be able to connect to this application",allowAccess:"Allow Access",allowAccessDescription:"The user will be able to connect to this application",updateRole:"Update Role",removeUser:"Remove User",removeUserDescription:'Confirm remove user "{did}" and all its related data (connected accounts, passports, login sessions, etc.)? This action cannot be undone.',removeUserSuccess:"User removed successfully",revokePassport:"Revoke Passport",revokePassportDescription:"Once the passport is revoked, the passport holder can not use it to login again, are you sure to continue?",enablePassport:"Enable Passport",enablePassportDescription:"Once the revoked passport is enabled again, the passport holder can use it to login again, are you sure to continue?",passportPermissionTitle:"The passport has the following permissions:",search:"Search Member",onlyApprovedMember:"Show Approved Only",inviteDialog:{createInviteLink:"Generate Invitation Link",createSuccessTip:"The invitation link is successfully created, click to copy and send the link to the invited member, please note that this invitation link can not be reused and will expire on {expireDate}"},error:{passportEmpty:"Passport should not be empty"},connectedAccounts:"Connected Accounts",connections:"Connections",federated:"Federated",switch:{did:"Switch DID",profile:"Switch Profile",passport:"Switch Passport"},settings:{notification:"Notifications",email:"Send email to me when some events happen",wallet:"Send notification to my wallet when some events happen",phone:"Send text message to me when some events happen",webhook:"Webhooks",add:"Add new webhook",url:"Custom URL",slack:"Slack Webhook",tested:"Test message sent"},activeUserSessions:"Active User Sessions",forceLogout:"Force logout",forceLogoutDescription:"Confirm to force logout this user?"},transferNode:{name:"Transfer Ownership",inviteDialog:{title:"Transfer Blocklet Server",tips:{progress:"Transfer the server needs to be accepted by the receiver to complete the transfer operation, and once the receiver accepts it, you cannot log in to the server with the current passport again.",newOwnerPermissions:"The new Owner will have the right to manage all operations such as members, passports, and Blocklets.",revoke:'If you want to withdraw the transfer invitation, you can delete the invitation link in the "Team -> Members -> Inviting" page.'},createInviteLink:"Generate Invitation Link",createSuccessTip:"The invitation link is successfully created, click to copy and send the link to the invited member, please note that this invitation link can not be reused and will expire on {expireDate}"},delegateDialog:{title:"Authorize Required",scan:"Use the following methods to authorize server to transfer server ownership NFT.",confirm:"Confirm in your account",success:"Authorization Successful"}},transferApp:{name:"Transfer Ownership",description:"You can transfer the ownership of your application to another wallet or another person.",transferDialog:{title:"Transfer Application",tips:{progress:"Transfer the application needs to be accepted by the receiver to complete the transfer operation, and once the receiver accepts it, you cannot log in to the application with the current passport again.",newOwnerPermissions:"The new Owner will have the right to manage all operations such as members, passports, and settings."},createTransferLink:"Generate Transfer Link",createSuccessTip1:'The transfer link is successfully created, the invitee must use <a style="color: rgb(29, 193, 199)" target="_blank" href="https://www.didwallet.io/">DID Wallet</a> to receive the app ownership',createSuccessTip2:"Please click to copy and send the link to the invited member, please note that this transfer link can not be reused and will expire on {expireDate}. Your transfer link will only be shown once and will not be viewable again after closing this dialog",createSuccessTip3:"After the transfer is successful, the application will automatically restart to make the changes take effect",link:"Transfer Link",iKnow:"I have copied and saved the link"},connectDialog:{title:"Authorize Required",scan:"Use the following methods to authorize application to transfer ownership.",confirm:"Confirm in your account",success:"Authorization Successful"},receiveDialog:{title:"Receive Application Ownership",scan:"Use the following methods to receive the application ownership.",confirm:"Confirm in your account",success:"Receive Ownership Successfully"},successTitle:"You have become the new owner of this application",visitDashboard:"Visit Application Dashboard"},permission:{create:{title:"Create Permission",description:`Format: <action>_<resource>
|
|
1777
1777
|
e.g. 'query_user', 'mutate_user'`},delete:{title:"Delete Permission",description:"Confirm delete {name}?"},error:{actionEmpty:"action cannot be empty",resourceEmpty:"resource cannot be empty",permissionTooLong:"permission cannot exceed {length} characters",descriptionTooLong:"description cannot exceed {length} characters"}},passport:{sourceMaps:{recover:"Recovered",issue:"Issued",invite:"Invited",trusted:"Trusted"},related:"Related Passports",operationLogs:"Operation Logs",owner:"Owner",status:"Status",statusMap:{valid:"Valid",revoked:"Revoked",expired:"Expired"},view:"Manage Passports",create:{title:"Create Passport",titleTip:"Title cannot be modified after created, recommended within 14 letters"},bind:{title:"Bind Permission",roleTip:"You will get all the permissions of the selected passport after binding",permissionTip:"You will get the selected permissions after binding",transferLeftTitle:"All permissions",transferRightTitle:"Granted permissions"},delete:{title:"Delete Passport",description:"The passports holds by user will lose all permissions after it is deleted. Are you sure to continue?"},error:{titleEmpty:"title cannot be empty",titleTooLong:"title cannot exceed {length} characters",descriptionEmpty:"description cannot be empty"},issuance:{pending:"Pending",create:{title:"Generate Link"},delete:{title:"Delete Receive Link",description:"Confirm delete {link}?"}},issue:"Issue Passport",disableIssuance:"Disable Passport Issuance",enableIssuance:"Enable Passport Issuance",disableIssuanceTip:'"Issue Passport", "Invite Member" and other operations will be disabled',enableIssuanceTip:'"Issue Passport", "Invite Member" and other operations will be enabled',trustedPassportIssuers:"Trusted Passport Issuers",trustedPassportIssuersTip:"Manage trusted passport issuers that can be used to issue passport",trustedIssuers:"Trusted Issuers",trustedFactories:"Trusted NFT Collections",trustedFactoriesTip:"Manage trusted NFT Collections that can be used to exchange for a passport",searchFactoryAddress:"Search Collection DID",configFactories:"Config Trusted NFT Collections",configFactoriesTip:"Allow users to exchange NFTs for passport",factoryAddress:"NFT Collection Address",factory404:"NFT Collection not found",factoryAddressTip:"The NFT Collection address must exist on ArcBlock Main Chain",role:"Passport Type",ttl:"Passport Expire Policy",ttlNever:"Never Expire",ttlMint:"From NFT Purchase",ttlExchange:"From Passport Exchange",ttlNeverTip:"The passport will be valid until revoked",ttlMintTip:"The passport will be valid from the time the NFT is purchased until you specified ttl or revoke",ttlExchangeTip:"The passport will be valid from the time user successfully exchanged until you specified ttl or revoke",ttlTip:'"365d" means 365 days, you can also use "30 days" or "24h"',validUntil:"Valid until: {date}",externalPassport:"External Passport",notTrustedIssuerTip:"The passport cannot be used because the issuer is not on the list of trusted issuers",issuerDid:"Issuer DID",addNodeToTrustedIssuers:"Add current server as a trusted passport issuer",revoked:"Revoked",noPermission:"No permission to perform this operation",shouldNotDeleteCurrent:"You can not revoke your passport currently in use",mappingRule:"Mapping rule",defaultRule:"Default rule",search:"Search Passport",searchIssuerDid:"Search Issuer DID",issueBy:"Issue by {name}",configColor:"Config Passport Color",configColorTip:"Customize the color of the passport",color:"Passport Color",description:"Use this passport to connect {teamName} as {title}",displayBuiltin:"Builtin",displayCustom:"Custom",typesTip:"Customize the types of the passport, split by comma",issuanceDate:"Issuance Date: {date}",issuanceTime:"Issuance Time",relatedDescription:"The current passport is recovered from the following passport",passportExpireTime:"Expire Time",customExpireTime:"Custom Expire Time"},inviting:{link:"Invite Link",inviter:"Inviter",delete:{title:"Delete Invite Link",description:"Confirm delete {link}?"},disabledTip:"Invitation is not enabled"},whoCanAccess:{all:{title:"Accessible to all"},owner:{title:"Owner only"},invited:{title:"Invited user only"}}},launcher:{provider:"Provider",adminUrl:"URL"},session:{blockAccess:"You have been blocked from access this server"},launchBlocklet:{appInfo:"Application Information",appInfoDesc:"Confirm the application information",author:"Application Author: {author}",setup:"Setup Blocklet",redirect:"Redirect",alreadyConsumed:"The launch session has been consumed",redirectToLauncherBlocklet:"Redirecting to Launcher Blocklet",alreadyRunning:"Application {name} is already running on this Blocklet Server",alreadyInstalled:"Application {name} is already installed on this Blocklet Server",alreadyExists:"This application already exists, redirecting...",purchased:"Already Purchased",purchase:"Purchase",nextStep:"Next Step",agreement:"License Agreement",agreeAll:"Agree & Continue",installing:"Installing {appName} on {serverName}, it may take minutes to complete, please stay tuned...",redirecting:"{appName} is successfully installed, now starting...",start:"Launching",launch:"Install Blocklet to Server",launchSuccess:"{appName} is successfully launched!",installSuccess:"Blocklet is successfully installed and launched on {serverName}",openInRegistry:"View in Blocklet Store",subTitle:"Ready to install Blocklet {appName} on {serverName}",installingSubTitle:"{appName} installing",access:"Open the application",installRelatedComponents:"Install related Blocklets",canNotInstall:"Can not install",dockerBlockletCantInstall:"Can not install the Blocklet, because the Blocklet Server has not enabled Docker or Docker Network",viewApplication:"View Application",newVersion:"New Version",newVersionDesc:"The application already exists, but the current version can be upgraded",upgradeNow:"Upgrade Now",later:"Later",introduction:"Introduction",welcome:"Welcome to the Blocklet Launch Wizard",accept:"I agree to the Blocklet EULA",license:"Application License",next:"Agree to the EULA and continue",purchaseApp:"Purchase Blocklet",setupAppDesc:"Initialize your Blocklet",launched:"Complete",confirmInstall:"Confirm Installation",dialog:{title:"Become App Owner",nftFreeDescription:"Please present app space NFT and create app account to continue",nftPaidDescription:"Please present app space NFT and app purchase NFT to continue",freeDescription:"Please create app account to continue",paidDescription:"Please present app purchase NFT and create app account to continue",confirm:"Confirm in your account",success:"Authorization Successful",authorizationTimeout:"Authorization timeout"},waiting:{verifying:"Verifying app meta...",downloading:"Downloading app bundle...",downloadingComponent:"Downloading {name}",extractingComponent:"Extracting {name}",extracting:"Extracting app bundle...",installing:"Installing app components...",installed:"Installed",starting:"Starting the app...",done:"Your app is launching...",parsing:"Parsing app meta...",initializing:"Initializing app configuration...",initializingOwner:"Initializing app owner...",creatingSecurityRules:"Creating default security rules...",assigningDomain:"Assigning default domain...",waitingForDomain:"Waiting for default domain to take effect..."},error:{loadMetaFailed:"Load app information failed",appMetaNotFound:"No information found for this app",downloadFailed:"Failed to download the app, please try again",installFailed:"Failed to install the app, please try again",startFailed:"Failed to start the app, please try again",launchFailed:"Failed to launch the app, please try again",installedButStopped:"The app is installed successfully, but cannot be started. You can start it manually after resolving blocking issues",installedButError:"The app is successfully installed, but failed to start",restoreFailed:"Failed to restore app, please try again",resourceBlocklet:"This blocklet cannot be launched directly, but you can add it into existing application."},steps:{introduction:"Introduction",installApp:"Install Application",purchaseSpace:"Purchase Space",prepareSpace:"Prepare Space"},nav:{myApps:"My Apps",viewMyApps:"View My Apps"},withoutWallet:"Skip DID Wallet Connection",nwFailed:"Failed to retrieve workflow."},issuePassport:{title:"Receive Passport",description:"Use the following methods to receive the passport issued by {name}",dialog:{scan:"Use the following methods to claim the passport",confirm:"Confirm in your account",success:"The passport has been successfully added in your wallet",loginWithPassport:"Connect with this Passport",autoClose:"Page will auto close in {seconds}s",autoJump:"Page will auto jump in {seconds}s"}},lostPassport:{title:"Lost Passport",description:"The owner of {name} can use the following methods to retrieve the passport, members please contact the owner to reissue the passport",recoverDialog:{title:"Recover passport",scan:"Use the following methods to retrieve your passport",confirm:"Confirm on your DID wallet",success:"Successfully retrieved"},receiveDialog:{title:"Receive passport",scan:"Use the following methods to receive the passport",confirm:"Confirm on your DID wallet",success:"Successfully received"},return:"Cancel retrieval operation, return to homepage",recoverPassport:"Recover passport",receivePassport:"Receive passport"},invite:{message:"{name} invite you to be the {role} of {dapp}",success:"You have successfully joined {dapp}",receive:"Receive with",validUntil:"Valid until:",viewPermission:"View Permission",emptyPermission:"Empty Permission",open:"Open",description:{step1:"Download and setup your {wallet}",step2:"Click above button to receive passport",step3:"Login in {dapp} with received passport"},transferNFTDialog:{title:"Accept Blocklet Server {name}",scan:"Connect the Launcher to complete the reception of the Blocklet Server.",confirm:"Review this operation on your DID Wallet",success:"Connect successfully, waiting for confirmation of receiving the Server"}},receive:{dialog:{title:"Receive passport",scan:"After receiving the passport, you can use the passport to log in to the application",confirm:"Confirm in your account",success:"You are successfully connected"}},navigation:{navigation:"Navigation",access:"Access",members:"Members",passport:"Passport",analytics:"Analytics",dashboard:"Dashboard",studio:"Studio",blockletService:"Blocklet Service",actionFailed:"Action Failed",form:{themeConfig:"Theme Configuration",contentConfig:"Content Configuration",title:"Title",titlePlaceholder:"Please input navigation title",titleTooLong:"Title length should small than {len}",description:"Description",descriptionPlaceholder:"Please input navigation description",descriptionTooLong:"Description length should small than {len}",icon:"Default Icon",iconPlaceholder:"Please select an icon",invalidIcon:"Icon is invalid",findMoreIcon:"Find more icons",link:"Link",linkPlaceholder:"Please input navigation link",invalidLink:"Link is invalid",component:"Component",componentPlaceholder:"Please select navigation component",role:"Role",rolePlaceholder:"Please select navigation role",locale:"Locale",localePlaceholder:"Please input locale need to add",localeExists:"{value} is already exists",activeIcon:"Active Icon",activeColor:"Active Color",color:"Default Color",colorPlaceholder:"e.g. #FF0000",invalidColor:"Invalid hex color",searchIcons:"Search for Icons",searchIconsPlaceholder:"e.g. mdi:home"},action:{add:"Add navigation",addSub:"Add sub navigation",edit:"Edit navigation",hide:"Hide navigation",show:"Show navigation",del:"Delete navigation",new:"New",noAddSub:"Uninstalled component can't add sub navigation",noEdit:"Uninstalled component can't edit",noDel:"Not allowed delete built-in navigation",reset:"Reset",restConfirmTitle:"Do you want to clear all custom navigation?",restConfirmDesc:"After clearing, the navigation will be restored to Blocklet's original default configuration.",resetSuccessful:"Reset successful",delTabBarTitle:"Do you want to delete this tab?",delTabBarDesc:"It will no longer appear in your bottom navigation, but you can add it back anytime."},didConnect:"DID Connect",didSpaces:"DID Spaces",website:"Website",operations:"Operations",integration:"Integrations",developer:"Developers"},storage:{spaces:{title:"DID Spaces",tips:"Tips",label:"Enter DID Spaces Gateway",connected:{title:"Connected DID Spaces",tag:"Connected"},connectedWithName:"You have successfully connected to {name}",addedWithName:"You have successfully added {name}",connects:"Connect",reconnect:"Reconnect",addressCannotEmpty:"Address cannot be empty",addressNotValid:"{url} is not a valid address",authorize:{title:"Connect {appName} to DID Spaces",scan:"Use the following methods to allow the app {appName} to connect to DID Spaces",success:"Connected successfully"},provideNFT:{title:"Please show the DID Spaces NFT for {appName}",scan:"Use the following methods to allow the app {appName} show DID Space NFT",success:"Connected successfully"},backup:{title:"Backup",records:"Backup records",without:"Without backup",succeeded:"Backup succeeded",failed:"Backup failed",lastBackup:"Last backup time",lastBackupTip:'It has been {time} since your last successfully backup, please check your backup settings in the "DID Spaces" tab.',noBackup:"No backup",noBackupTip:"No backup has been created yet. We recommend setting up regular backups to protect your data and settings"},autoBackup:{title:"Auto backup",enabled:"Automatic backup is on",disabled:"Automatic backup is off"},autoCheckUpdate:{title:"Automatically check for new version notification",enabled:"Automatically check for new version is on",disabled:"Automatically check for new version is off"},backupSuccessfully:"Backup successfully",restore:"Restore",restoreSuccessfully:"Restore successfully",gateway:{title:"Gateway",select:"Select a DID Spaces",add:{title:"Add DID Spaces",label:"Enter the url of the DID Spaces",failed:"Add DID Spaces failed",invalidUrl:"Invalid DID Spaces gateway url",duplicate:"{name} is already connected to this blocklet"},delete:{title:"Disconnect",succeeded:"Successfully disconnected from DID Spaces {name}",failed:"Failed to disconnect from gateway",failedForSelected:"Unable to disconnect from the selected DID Spaces",descForBackup:`After disconnecting from {name}, you will no longer be able to back up Blocklet to this DID Space. Are you sure you want to disconnect?
|
|
1778
1778
|
You can restore backup operations by reconnecting to {name}.`,descForStorage:`After disconnecting from {name}, you will no longer be able to store data from this Blocklet to this DID Space. Are you sure you want to disconnect?
|
|
1779
|
-
You can resume data storage by reconnecting to {name}.`},connect:{title:"Connect DID Spaces",add:"Connect to DID Spaces now",addTips:"You are not connected to any DID Space yet",switch:"Switch DID Spaces",switchTips:"You are connected to {name}",connected:"Connected"},switch:{failedForMismatchSpace:"Please connect to the correct DID Space {name}"},connectTo:"Connect to DID Spaces"},strategy:{title:"Backup Strategy",autoBackup:"Auto backup",backupNow:"Backup now",viewBackupFiles:"View backup files"},progress:{title:"Backup progress"},record:{title:"Backup records",emptyData:"No records"},notYet:"You don't have a backup in progress yet...",connect:{now:"Connect now",title:"Connect DID Spaces",provider:"Provide your DID Space to start backups",providerForStorage:"Provide your DID Space for data storage",useWallet:"Connect with DID Wallet",useWalletReconnect:"Reconnect with DID Wallet",useSpaceGateway:"Connect using the DID Spaces gateway",useSpaceGatewayReconnect:"Reconnect using the DID Spaces gateway",switchToSpace:"Switch to DID Space",abortBlockletBackup:"Abort backup",switchToSpaceSucceeded:"Switched to DID Space {name}",succeeded:"You have successfully connected to DID Spaces",disconnect:"disconnect"},disconnected:{tag:"Disconnected",reconnectNow:"Reconnect Now"}},appLevel:{title:"App Level Storage",description:"All data generated by the application is stored on this DID Space"}},log:{lastDays:{1:"Last 1 Day",7:"Last 1 Week"}},oauth:{commonSettings:"Common Settings",save:"Save",saveSuccess:"Save successfully",saveFailed:"Save failed",issued:"Issued",thirdPartyLogin:"Third party login",alreadyBindOAuth:"Already bind third party login",alreadyBindWallet:"Already bind DID Wallet",viewDocument:"View Documentation",auth0:{enable:"Enable Auth0 login",domain:"Domain",domainDescription:"Auth0's domain is required",clientId:"Client ID",clientIdDescription:"Auth0 OAuth application client ID is required",clientSecret:"Client Secret",clientSecretDescription:"Auth0 OAuth application Client Secret is required"},github:{enable:"Enable Github login",clientId:"Client ID",clientIdDescription:"Github OAuth application Client ID is required",clientSecret:"Client Secret",clientSecretDescription:"Github OAuth application Client Secret is required"},twitter:{enable:"Enable X login",clientId:"Client ID",clientIdDescription:"X OAuth application Client ID is required",clientSecret:"Client Secret",clientSecretDescription:"X OAuth application Client Secret is required"},google:{enable:"Enable Google login",clientId:"Client ID",clientIdDescription:"Google OAuth application Client ID is required",clientSecret:"Client Secret",clientSecretDescription:"Google OAuth application Client Secret is required"},apple:{enable:"Enable Apple login",teamId:"Team ID",teamIdDescription:"Apple OAuth application Team ID is required",serviceId:"Service ID",serviceIdDescription:"Apple OAuth application Service ID is required",keyId:"Key ID",keyIdDescription:"Apple OAuth application Key ID is required",authKey:"Auth Key",authKeyDescription:"Apple OAuth application Auth Key is required",bundleId:"Bundle ID",bundleIdDescription:"Apple OAuth application Bundle ID is required"},comingSoon:"More login methods are under construction",moreLogin:"More Login",federated:"Federated Login",oauth:"Third Party Login",runTest:"Test",authorize:"OAuth Authorization",client:{listTitle:"Enable secure third-party access with OAuth Apps",tooltipTitle:"Use your app’s built-in OAuth server to authorize external applications with industry-standard protocols. Empower users with secure, seamless authentication and delegated access control.",tab:"OAuth Apps",name:"App Name",clientId:"Client ID",clientSecret:"Client Secret",scope:"Scope",redirectUris:"Redirect URIs",grantTypes:"Grant Types",responseTypes:"Response Types",tokenEndpointAuthMethod:"Token Endpoint Auth Method",actions:"Actions",grantResponse:"Grant & Response",metaContact:"Meta & Contact",clientUri:"Client URI",logoUri:"Logo URI",contacts:"Contacts",tosUri:"Terms of Service URL",policyUri:"Policy URI",jwksSoftware:"JWKS & Software",jwksUri:"JWKS URI",jwks:"JWKS",softwareId:"Software ID",softwareVersion:"Software Version",clientSecretExpiresAt:"Client Secret Expires At",clientIdIssuedAt:"Client ID Issued At",oauthAppDetails:"OAuth App Detail",oauthEndpoints:"OAuth Endpoints",authorizationEndpoint:"Authorization Endpoint",tokenEndpoint:"Token Endpoint",userinfoEndpoint:"Userinfo Endpoint",registrationEndpoint:"Registration Endpoint",endSessionEndpoint:"End Session Endpoint",validate:{clientName:"App name is required",clientNameMinLength:"App name must be at least 3 characters",clientUri:"Homepage URL is required",clientUriInvalid:"Please enter a valid URL starting with http:// or https://",redirectUris:"Authorization callback URL is required",redirectUrisInvalid:"Please enter valid URLs starting with http:// or https://",contacts:"Please enter valid email addresses separated by commas",tosUri:"Terms of Service URL is required",tosUriInvalid:"Please enter a valid URL",policyUri:"Policy URL is required",policyUriInvalid:"Please enter a valid URL",jwksUri:"JWKS URI is required",jwksUriInvalid:"Please enter a valid URL",jwks:"JWKS is required",jwksInvalid:"Please enter a valid JWKS"},input:{expireTime:"Set an expiration date for the client secret for better security",clientName:"App name",clientNamePlaceholder:"Something users will recognize and trust",clientUri:"Homepage URL",clientUriPlaceholder:"https://your-app.com",redirectUris:"Authorization callback URL",redirectUrisPlaceholder:"https://your-app.com/callback",contacts:"Contact Emails",contactsPlaceholder:"admin@your-app.com, support@your-app.com",permissions:"Select the permissions you need",tosUri:"Terms of Service URL",tosUriPlaceholder:"https://your-app.com/terms",policyUri:"Policy URL",policyUriPlaceholder:"https://your-app.com/policy",jwksUri:"JWKS URI",jwksUriPlaceholder:"https://your-app.com/jwks",jwks:"JWKS",jwksPlaceholder:"JSON Web Key Set"},helperText:{clientName:"Something users will recognize and trust.",clientUri:"The full URL to your application homepage.",redirectUris:"Your application’s callback URL.",contacts:"The email address of the person responsible for the application.",tosUri:"The URL to your application’s terms of service.",policyUri:"The URL to your application’s privacy policy.",read:"Read our ",document:"OAuth Documentation ",more:" for more information."},delete:{title:"Delete OAuth Client",description:"Are you sure you want to delete this {clientName} OAuth Client?"},register:"Create a new OAuth App",requiredInformation:"Required Information",optionalInformation:"Optional Information",registerButton:"Create",logo:"Logo",openRegistration:"Open Registration",openidConfiguration:"OpenID Configuration",createUser:"CreatedBy",update:"Update OAuth App",empty:"No Data Added"}},expiration:{mobile:{tips:{success:"{validity}",warning:"{validity}",error:"Expired"},loadFailed:"Retry!"},desktop:{tips:{success:"Subscription will expire after {validity}",warning:"Subscription will expire after {validity}",error:"Subscription Expired"},loading:"Load subscription...",loadFailed:"Failed to load subscription info, please retry!",nextInvoice:"Next Invoice: {date}"}},analytics:{trend:"Trends",detail:"Breakdown",runtime:"Runtime",traffic:{totalRequests:"Total Requests",validRequests:"Success Requests",failedRequests:"Failed Requests",uniqueVisitors:"Unique Visitors",uniqueFiles:"Unique URLs",uniqueReferrers:"Unique Referrers",uniqueNotFound:"Unique 404",uniqueStaticFiles:"Unique Static Files",logSize:"Log Size",bandwidth:"Bandwidth"}},federated:{title:"What is Federated Login?",description:"Federated login can be achieved through single sign-on across multiple systems. You can invite other teams to join the federated login, or proactively join the federated login platform of other organizations.",link:"View Document",inviteJoinFederatedLogin:"Invite to join federated login",inviteJoinFederatedLoginDescription:"Copy the following address and fill it in the application where you need to join to apply for federated login.",federatedLogin:"Federated login",joinFederatedLogin:"Join federated login",joinFederatedLoginDescription:"Please enter the federated login address provided by Master Blocklet to join the federated login",quitFederatedLogin:"Quit federated login",quitFederatedLoginDescription:"After quit federated login, normal login is always available",federatedJoinAppUrl:"Federated login join appUrl",federatedJoinAppUrlRequired:"Please input federated login join appUrl",failedToGetFederatedLoginAppUrl:"Failed to get federated login join appUrl",federatedJoinAppUrlInvalid:"Federated login appUrl is invalid",siteDetail:"Site detail",approveToJoinLogin:"Approve to join federated login",approve:"Enable login",revoke:"Disable login",enableFederatedLogin:"Enable federated login",disableFederatedLogin:"Disable federated login",enableFederatedLoginDescription:"After enable federated login, this site will be auto login",disableFederatedLoginDescription:"After disable federated login, this site will not be auto login",enableFederatedAutoLogin:"Enable automatic login",enableFederatedAutoLoginDescription:"After enable automatic login, if there is currently a unified login status, the site will automatically log in the identity of the federated login",disableFederatedAutoLogin:"Disable automatic login",disableFederatedAutoLoginDescription:"After the automatic login is turned off, the site will not automatically log in the user information of the unified login, and you can still choose to manually click to log in with the identity of the federated login",info:{appId:"APP DID",appPid:"Permanent ID",migratedFrom:"Also Known As",appName:"Blocklet name",appDescription:"Blocklet description",appUrl:"Blocklet url",appLogo:"Blocklet logo",did:"Blocklet DID",serverId:"Blocklet Server ID",serverVersion:"Blocklet Server version",version:"Blocklet version",appliedAt:"Apply at",status:"Status"},status:{pending:"Pending",approved:"Approved",rejected:"Rejected",revoked:"Revoked"},disbandFederatedLogin:"Disband federated login",disbandFederatedLoginDescription:"After disband federated login, all member site will quit federated login automatically",syncConfig:"Sync federated sites config",quitMember:"Remove",quitMemberDescription:"Remove specified members from the site group",removeFederatedLogin:"Remove member",removeFederatedLoginDescription:"After remove specified members from the site group, member can only use normal login"},optionsOrder:{1:"Option One",2:"Option Two"},securityRule:{title:"Security Rule",sortByDescription:"Sort by matching priority",add:"Add Security Rule",edit:"Edit Security Rule",view:"View Security Rule",useless:"Useless Security Rule",form:{precede:"Precede",pathPattern:"Path Pattern",pathPatternPlaceholder:"Please input path pattern",pathPatternErrorText:"Path pattern is invalid",accessPolicyOrResponseHeaderPolicyRequired:"Access Policy or Response Header Policy is required",accessPolicy:"Access Policy",accessPolicyPlaceholder:"Please select access policy",accessPolicyHelperText:"Please select access policy",responseHeaderPolicy:"Response Header Policy",responseHeaderPolicyPlaceholder:"Please select response header policy",responseHeaderPolicyHelperText:"Please select response header policy",remark:"Remark",remarkPlaceholder:"Please input remark",component:"Component",componentPlaceholder:"Please choose component"},delete:{title:"Delete Security Rule ?",description:"After removing a security rule, the rule will no longer take effect"}},responseHeaderPolicy:{title:"Response Header Policy",add:"Add Response Header Policy",edit:"Edit Response Header Policy",view:"View Response Header Policy",form:{name:"Name",namePlaceholder:"Please input name",description:"Description",descriptionPlaceholder:"Please input description",originOverride:"Origin Override",originOverrideHelperText:"Whether to allow the logic in the application to override this response header",cors:{origin:"Origin",originPlaceholder:"Support the following domain formats: http://www.example.com, http://*.example.com, http://www.example.com:8080, * (wildcard is not recommended)",originHelperText:"Domain name starts with http:// or https://, one per line, one wildcard * per line",methods:"Methods",allowedHeaders:"Allowed Headers",allowedHeadersPlaceholder:"It's recommended to fill in *, support multi-line input",allowedHeadersHelperText:"Tell the server which custom HTTP request headers can be used in the next request when sending an OPTIONS request, such as: x-blocklet-version",exposedHeaders:"Exposed Headers",exposedHeadersPlaceholder:"Support multi-line input",exposedHeadersHelperText:"Configure Expose-Headers, for example: X-Content-Range",maxAge:"Max-Age (Seconds)",maxAgeHelperText:"The validity period of the result obtained by the OPTIONS request, which needs to be a positive integer",optionsSuccessStatus:"Options Success Status",preflightContinue:"Preflight Continue",credentials:"Credentials",smartMode:"Smart Mode",smartModeHelperText:"Automatically add all domain names of the current application, as well as all domain names of the federated login site group"}},delete:{title:"Delete Response Header Policy ?",description:"After removing a response header policy, the policy will no longer take effect"}},accessPolicy:{title:"Access Policy",add:"Add Access Policy",edit:"Edit Access Policy",view:"View Access Policy",form:{name:"Name",namePlaceholder:"Please input name",description:"Description",descriptionPlaceholder:"Please input description",roles:"Access Roles",accessType:"Access type"},delete:{title:"Delete Access Policy ?",description:"After removing an access policy, the policy will no longer take effect"}},pagination:{next:"Next Page",previous:"Previous Page",rowsPerPage:"Per page:",displayRows:"of",jumpToPage:"Jump to Page:"},webhookEndpoint:{triggeredFrom:"This webhook was triggered from attempt",listTitle:"Send real-time event data with Webhooks",tooltipTitle:"Seamlessly connect your app to external systems by sending real-time event notifications. Webhooks enable powerful integrations and automated workflows across your tools and services.",createWebhook:"Create Webhook",createWebhookTitle:"Create Webhook",selectAllEvents:"Select All Events",selectAllEventsTooltip:"Select all available events",selectedEventsCount:"{count} events selected",selectedCount:"{count} selected",eventsCount:"{count} events",saveWebhook:"Create Webhook",noAvailableEvents:"No available events",loadingEvents:"Loading events...",loadingError:"Failed to load events: {message}",title:"Webhooks",noWebhooksAdded:"No webhooks added",validation:{urlRequired:"URL is required",urlInvalid:"Please enter a valid URL",descriptionRequired:"Description is required",eventRequired:"Please select at least one event"},hosted:"Hosted endpoints",add:"Create Webhook",addTip:"Set up your webhook endpoint to receive live events",listen:"Listen for",version:"API Version",attempts:"Webhook Attempts",url:{label:"URL",description:"Webhook URL"},description:{label:"Description",description:"An optional description of what this endpoint is used for"},events:{label:"Select events to listen to",description:""},disabled:"Disabled",enabled:"Enabled",disable:"Disable",enable:"Enable",editWebhookTitle:"Update Webhook",updateWebhook:"Update Webhook",waitingForEvents:"Waiting for events...",loadingMore:"Loading more...",loadMore:"Load more",response:"Response",request:"Request",eventData:"Event Data",deleteWebhook:{title:"Delete Webhook?",description:"After deleting a webhook, the webhook will no longer receive events"},success:" Success"},description:{environment:"The current variables will take effect when {name} is running. Need to restart the application to take effect.",preferences:"The current variables will take effect when {name} is running. Changes will be applied after saving, no application restart required."},preferencesFor:"Preferences for {name}",environmentFor:"Environments for {name}",accessKey:"Access Key",command:"Command",mcp:{listTitle:"Access your blocklet from MCP Clients",tooltipTitle:"Explore the list of MCP servers supported by this blocklet, select a server to instantly view the connection commands you need to join from your client.",endpoint:"MCP Endpoint",available:"Available MCP Servers",noServer:"No MCP server available"},installCommand:"Installation Command"},en$1={blocklet:{restoreBlocklet:{title:"Restore Blocklet",description:"Please select the blocklet you want to restore",verify:{title:"Verify Ownership",subTitle:"Verify ownership of the blocklet with your DID Wallet",verify:"Verify",reconnect:"Try another blocklet",scan:"Use the following methods to prove ownership",confirm:"Sign delegation to allow server to download and decrypt the backup",success:"Ownership verified, the restoring is in progress",exists:"This blocklet already exists on this server and restore is aborted",open:"Visit Blocklet",overwrite:"Overwrite"},overwrite:{title:"Overwrite existing blocklet?",description:"The blocklet you are restoring already exists on this server, do you want to overwrite it? The exiting blocklet will be deleted first if you continue"},restore:{title:"Restore Blocklet"}},restoreFromServer:{selectTitle:"Select Application",description:"Please select the application you want to restore",backupIn:"Backup in"},restoreFromSpaces:{title:"Restore from DID Spaces",navSubTitle:"Restore",connect:{title:"Connect to DID Spaces",subTitle:"Jump to DID Spaces, and select the blocklet you want to restore.",select:"Select DID Spaces Gateway",connect:"Connect"},selectBlocklet:{title:"Select App"},restore:{title:"Restore App",subTitle:"The app is being restored",completeTitle:"Everything is Ready",installedTitle:"Successfully restored!",installedSubTitle:"But still needs some configurations to start",support:'If retrying does not work, please ask help in the <a href="{communityLink}" target="_blank">community</a> or contact us at <a href="mailto: {supportEmail}">{supportEmail}</a>.'},nftAuthDialog:{title:"Please present your App Space NFT",scan:"Scan QR code with your DID Wallet to present your NFT",confirm:"Confirm in your account",success:"NFT successfully verified!"},progress:{waiting:"Waiting for restore...",restoring:"Restoring...",importData:"Importing data...",downloading:"Downloading files, progress: {progress}",importSuccess:"Successfully imported!",installing:"Installing..."}}},server:{checkUpgrade:"Check new version"}},flatMerge=be=>flat(merge(...be)),translations={en:flat(merge(en$2,en$1)),ar:async()=>{const be=await Promise.all([__vitePreload(()=>import("./ar-7eC8LKj2.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./ar-D5lpNQex.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},de:async()=>{const be=await Promise.all([__vitePreload(()=>import("./de-DgwOa_mf.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./de-B-nBacto.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},es:async()=>{const be=await Promise.all([__vitePreload(()=>import("./es-B_gBSKp3.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./es-Bim5LI46.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},fr:async()=>{const be=await Promise.all([__vitePreload(()=>import("./fr-Bm0AhLrO.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./fr-DaLsDtII.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},hi:async()=>{const be=await Promise.all([__vitePreload(()=>import("./hi-DO31L4at.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./hi-BGJWWeJR.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},id:async()=>{const be=await Promise.all([__vitePreload(()=>import("./id-BYCjnoK8.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./id-D5FUCxFy.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},ja:async()=>{const be=await Promise.all([__vitePreload(()=>import("./ja-Ck2EVKeO.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./ja-BNVc3FKo.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},ko:async()=>{const be=await Promise.all([__vitePreload(()=>import("./ko-Nk_6p6Jl.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./ko-ChYlA2AT.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},pt:async()=>{const be=await Promise.all([__vitePreload(()=>import("./pt-C-JzkWqR.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./pt-CG5Nkqxu.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},ru:async()=>{const be=await Promise.all([__vitePreload(()=>import("./ru-DR6is0tr.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./ru-yY3pEHy3.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},th:async()=>{const be=await Promise.all([__vitePreload(()=>import("./th-Cn3755Vi.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./th-DpMvfLqJ.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},vi:async()=>{const be=await Promise.all([__vitePreload(()=>import("./vi-7MIaoDt9.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./vi-DLoHNt-o.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},zh:async()=>{const be=await Promise.all([__vitePreload(()=>import("./zh-DswrR4Lx.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./zh-CKz_A9v_.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},"zh-TW":async()=>{const be=await Promise.all([__vitePreload(()=>import("./zh-tw-De_IfliP.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./zh-tw-CQSCOuqr.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)}};function GlobalStyles(){const be=useTheme(),Ce=reactExports.useMemo(()=>css`
|
|
1779
|
+
You can resume data storage by reconnecting to {name}.`},connect:{title:"Connect DID Spaces",add:"Connect to DID Spaces now",addTips:"You are not connected to any DID Space yet",switch:"Switch DID Spaces",switchTips:"You are connected to {name}",connected:"Connected"},switch:{failedForMismatchSpace:"Please connect to the correct DID Space {name}"},connectTo:"Connect to DID Spaces"},strategy:{title:"Backup Strategy",autoBackup:"Auto backup",backupNow:"Backup now",viewBackupFiles:"View backup files"},progress:{title:"Backup progress"},record:{title:"Backup records",emptyData:"No records"},notYet:"You don't have a backup in progress yet...",connect:{now:"Connect now",title:"Connect DID Spaces",provider:"Provide your DID Space to start backups",providerForStorage:"Provide your DID Space for data storage",useWallet:"Connect with DID Wallet",useWalletReconnect:"Reconnect with DID Wallet",useSpaceGateway:"Connect using the DID Spaces gateway",useSpaceGatewayReconnect:"Reconnect using the DID Spaces gateway",switchToSpace:"Switch to DID Space",abortBlockletBackup:"Abort backup",switchToSpaceSucceeded:"Switched to DID Space {name}",succeeded:"You have successfully connected to DID Spaces",disconnect:"disconnect"},disconnected:{tag:"Disconnected",reconnectNow:"Reconnect Now"}},appLevel:{title:"App Level Storage",description:"All data generated by the application is stored on this DID Space"}},log:{lastDays:{1:"Last 1 Day",7:"Last 1 Week"}},oauth:{commonSettings:"Common Settings",save:"Save",saveSuccess:"Save successfully",saveFailed:"Save failed",issued:"Issued",thirdPartyLogin:"Third party login",alreadyBindOAuth:"Already bind third party login",alreadyBindWallet:"Already bind DID Wallet",viewDocument:"View Documentation",auth0:{enable:"Enable Auth0 login",domain:"Domain",domainDescription:"Auth0's domain is required",clientId:"Client ID",clientIdDescription:"Auth0 OAuth application client ID is required",clientSecret:"Client Secret",clientSecretDescription:"Auth0 OAuth application Client Secret is required"},github:{enable:"Enable Github login",clientId:"Client ID",clientIdDescription:"Github OAuth application Client ID is required",clientSecret:"Client Secret",clientSecretDescription:"Github OAuth application Client Secret is required"},twitter:{enable:"Enable X login",clientId:"Client ID",clientIdDescription:"X OAuth application Client ID is required",clientSecret:"Client Secret",clientSecretDescription:"X OAuth application Client Secret is required"},google:{enable:"Enable Google login",clientId:"Client ID",clientIdDescription:"Google OAuth application Client ID is required",clientSecret:"Client Secret",clientSecretDescription:"Google OAuth application Client Secret is required"},apple:{enable:"Enable Apple login",teamId:"Team ID",teamIdDescription:"Apple OAuth application Team ID is required",serviceId:"Service ID",serviceIdDescription:"Apple OAuth application Service ID is required",keyId:"Key ID",keyIdDescription:"Apple OAuth application Key ID is required",authKey:"Auth Key",authKeyDescription:"Apple OAuth application Auth Key is required",bundleId:"Bundle ID",bundleIdDescription:"Apple OAuth application Bundle ID is required"},comingSoon:"More login methods are under construction",moreLogin:"More Login",federated:"Federated Login",oauth:"Third Party Login",runTest:"Test",authorize:"OAuth Authorization",client:{listTitle:"Enable secure third-party access with OAuth Apps",tooltipTitle:"Use your app’s built-in OAuth server to authorize external applications with industry-standard protocols. Empower users with secure, seamless authentication and delegated access control.",tab:"OAuth Apps",name:"App Name",clientId:"Client ID",clientSecret:"Client Secret",scope:"Scope",redirectUris:"Redirect URIs",grantTypes:"Grant Types",responseTypes:"Response Types",tokenEndpointAuthMethod:"Token Endpoint Auth Method",actions:"Actions",grantResponse:"Grant & Response",metaContact:"Meta & Contact",clientUri:"Client URI",logoUri:"Logo URI",contacts:"Contacts",tosUri:"Terms of Service URL",policyUri:"Policy URI",jwksSoftware:"JWKS & Software",jwksUri:"JWKS URI",jwks:"JWKS",softwareId:"Software ID",softwareVersion:"Software Version",clientSecretExpiresAt:"Client Secret Expires At",clientIdIssuedAt:"Client ID Issued At",oauthAppDetails:"OAuth App Detail",oauthEndpoints:"OAuth Endpoints",authorizationEndpoint:"Authorization Endpoint",tokenEndpoint:"Token Endpoint",userinfoEndpoint:"Userinfo Endpoint",registrationEndpoint:"Registration Endpoint",endSessionEndpoint:"End Session Endpoint",validate:{clientName:"App name is required",clientNameMinLength:"App name must be at least 3 characters",clientUri:"Homepage URL is required",clientUriInvalid:"Please enter a valid URL starting with http:// or https://",redirectUris:"Authorization callback URL is required",redirectUrisInvalid:"Please enter valid URLs starting with http:// or https://",contacts:"Please enter valid email addresses separated by commas",tosUri:"Terms of Service URL is required",tosUriInvalid:"Please enter a valid URL",policyUri:"Policy URL is required",policyUriInvalid:"Please enter a valid URL",jwksUri:"JWKS URI is required",jwksUriInvalid:"Please enter a valid URL",jwks:"JWKS is required",jwksInvalid:"Please enter a valid JWKS"},input:{expireTime:"Set an expiration date for the client secret for better security",clientName:"App name",clientNamePlaceholder:"Something users will recognize and trust",clientUri:"Homepage URL",clientUriPlaceholder:"https://your-app.com",redirectUris:"Authorization callback URL",redirectUrisPlaceholder:"https://your-app.com/callback",contacts:"Contact Emails",contactsPlaceholder:"admin@your-app.com, support@your-app.com",permissions:"Select the permissions you need",tosUri:"Terms of Service URL",tosUriPlaceholder:"https://your-app.com/terms",policyUri:"Policy URL",policyUriPlaceholder:"https://your-app.com/policy",jwksUri:"JWKS URI",jwksUriPlaceholder:"https://your-app.com/jwks",jwks:"JWKS",jwksPlaceholder:"JSON Web Key Set"},helperText:{clientName:"Something users will recognize and trust.",clientUri:"The full URL to your application homepage.",redirectUris:"Your application’s callback URL.",contacts:"The email address of the person responsible for the application.",tosUri:"The URL to your application’s terms of service.",policyUri:"The URL to your application’s privacy policy.",read:"Read our ",document:"OAuth Documentation ",more:" for more information."},delete:{title:"Delete OAuth Client",description:"Are you sure you want to delete this {clientName} OAuth Client?"},register:"Create a new OAuth App",requiredInformation:"Required Information",optionalInformation:"Optional Information",registerButton:"Create",logo:"Logo",openRegistration:"Open Registration",openidConfiguration:"OpenID Configuration",createUser:"CreatedBy",update:"Update OAuth App",empty:"No Data Added"}},expiration:{mobile:{tips:{success:"{validity}",warning:"{validity}",error:"Expired"},loadFailed:"Retry!"},desktop:{tips:{success:"Subscription will expire after {validity}",warning:"Subscription will expire after {validity}",error:"Subscription Expired"},loading:"Load subscription...",loadFailed:"Failed to load subscription info, please retry!",nextInvoice:"Next Invoice: {date}"}},analytics:{trend:"Trends",detail:"Breakdown",runtime:"Runtime",traffic:{totalRequests:"Total Requests",validRequests:"Success Requests",failedRequests:"Failed Requests",uniqueVisitors:"Unique Visitors",uniqueFiles:"Unique URLs",uniqueReferrers:"Unique Referrers",uniqueNotFound:"Unique 404",uniqueStaticFiles:"Unique Static Files",logSize:"Log Size",bandwidth:"Bandwidth"}},federated:{title:"What is Federated Login?",description:"Federated login can be achieved through single sign-on across multiple systems. You can invite other teams to join the federated login, or proactively join the federated login platform of other organizations.",link:"View Document",inviteJoinFederatedLogin:"Invite to join federated login",inviteJoinFederatedLoginDescription:"Copy the following address and fill it in the application where you need to join to apply for federated login.",federatedLogin:"Federated login",joinFederatedLogin:"Join federated login",joinFederatedLoginDescription:"Please enter the federated login address provided by Master Blocklet to join the federated login",quitFederatedLogin:"Quit federated login",quitFederatedLoginDescription:"After quit federated login, normal login is always available",federatedJoinAppUrl:"Federated login join appUrl",federatedJoinAppUrlRequired:"Please input federated login join appUrl",failedToGetFederatedLoginAppUrl:"Failed to get federated login join appUrl",federatedJoinAppUrlInvalid:"Federated login appUrl is invalid",siteDetail:"Site detail",approveToJoinLogin:"Approve to join federated login",approve:"Enable login",revoke:"Disable login",enableFederatedLogin:"Enable federated login",disableFederatedLogin:"Disable federated login",enableFederatedLoginDescription:"After enable federated login, this site will be auto login",disableFederatedLoginDescription:"After disable federated login, this site will not be auto login",enableFederatedAutoLogin:"Enable automatic login",enableFederatedAutoLoginDescription:"After enable automatic login, if there is currently a unified login status, the site will automatically log in the identity of the federated login",disableFederatedAutoLogin:"Disable automatic login",disableFederatedAutoLoginDescription:"After the automatic login is turned off, the site will not automatically log in the user information of the unified login, and you can still choose to manually click to log in with the identity of the federated login",info:{appId:"APP DID",appPid:"Permanent ID",migratedFrom:"Also Known As",appName:"Blocklet name",appDescription:"Blocklet description",appUrl:"Blocklet url",appLogo:"Blocklet logo",did:"Blocklet DID",serverId:"Blocklet Server ID",serverVersion:"Blocklet Server version",version:"Blocklet version",appliedAt:"Apply at",status:"Status"},status:{pending:"Pending",approved:"Approved",rejected:"Rejected",revoked:"Revoked"},disbandFederatedLogin:"Disband federated login",disbandFederatedLoginDescription:"After disband federated login, all member site will quit federated login automatically",syncConfig:"Sync federated sites config",quitMember:"Remove",quitMemberDescription:"Remove specified members from the site group",removeFederatedLogin:"Remove member",removeFederatedLoginDescription:"After remove specified members from the site group, member can only use normal login"},optionsOrder:{1:"Option One",2:"Option Two"},securityRule:{title:"Security Rule",sortByDescription:"Sort by matching priority",add:"Add Security Rule",edit:"Edit Security Rule",view:"View Security Rule",useless:"Useless Security Rule",form:{precede:"Precede",pathPattern:"Path Pattern",pathPatternPlaceholder:"Please input path pattern",pathPatternErrorText:"Path pattern is invalid",accessPolicyOrResponseHeaderPolicyRequired:"Access Policy or Response Header Policy is required",accessPolicy:"Access Policy",accessPolicyPlaceholder:"Please select access policy",accessPolicyHelperText:"Please select access policy",responseHeaderPolicy:"Response Header Policy",responseHeaderPolicyPlaceholder:"Please select response header policy",responseHeaderPolicyHelperText:"Please select response header policy",remark:"Remark",remarkPlaceholder:"Please input remark",component:"Component",componentPlaceholder:"Please choose component"},delete:{title:"Delete Security Rule ?",description:"After removing a security rule, the rule will no longer take effect"}},responseHeaderPolicy:{title:"Response Header Policy",add:"Add Response Header Policy",edit:"Edit Response Header Policy",view:"View Response Header Policy",form:{name:"Name",namePlaceholder:"Please input name",description:"Description",descriptionPlaceholder:"Please input description",originOverride:"Origin Override",originOverrideHelperText:"Whether to allow the logic in the application to override this response header",cors:{origin:"Origin",originPlaceholder:"Support the following domain formats: http://www.example.com, http://*.example.com, http://www.example.com:8080, * (wildcard is not recommended)",originHelperText:"Domain name starts with http:// or https://, one per line, one wildcard * per line",methods:"Methods",allowedHeaders:"Allowed Headers",allowedHeadersPlaceholder:"It's recommended to fill in *, support multi-line input",allowedHeadersHelperText:"Tell the server which custom HTTP request headers can be used in the next request when sending an OPTIONS request, such as: x-blocklet-version",exposedHeaders:"Exposed Headers",exposedHeadersPlaceholder:"Support multi-line input",exposedHeadersHelperText:"Configure Expose-Headers, for example: X-Content-Range",maxAge:"Max-Age (Seconds)",maxAgeHelperText:"The validity period of the result obtained by the OPTIONS request, which needs to be a positive integer",optionsSuccessStatus:"Options Success Status",preflightContinue:"Preflight Continue",credentials:"Credentials",smartMode:"Smart Mode",smartModeHelperText:"Automatically add all domain names of the current application, as well as all domain names of the federated login site group"}},delete:{title:"Delete Response Header Policy ?",description:"After removing a response header policy, the policy will no longer take effect"}},accessPolicy:{title:"Access Policy",add:"Add Access Policy",edit:"Edit Access Policy",view:"View Access Policy",form:{name:"Name",namePlaceholder:"Please input name",description:"Description",descriptionPlaceholder:"Please input description",roles:"Access Roles",accessType:"Access type"},delete:{title:"Delete Access Policy ?",description:"After removing an access policy, the policy will no longer take effect"}},pagination:{next:"Next Page",previous:"Previous Page",rowsPerPage:"Per page:",displayRows:"of",jumpToPage:"Jump to Page:"},webhookEndpoint:{triggeredFrom:"This webhook was triggered from attempt",listTitle:"Send real-time event data with Webhooks",tooltipTitle:"Seamlessly connect your app to external systems by sending real-time event notifications. Webhooks enable powerful integrations and automated workflows across your tools and services.",createWebhook:"Create Webhook",createWebhookTitle:"Create Webhook",selectAllEvents:"Select All Events",selectAllEventsTooltip:"Select all available events",selectedEventsCount:"{count} events selected",selectedCount:"{count} selected",eventsCount:"{count} events",saveWebhook:"Create Webhook",noAvailableEvents:"No available events",loadingEvents:"Loading events...",loadingError:"Failed to load events: {message}",title:"Webhooks",noWebhooksAdded:"No webhooks added",validation:{urlRequired:"URL is required",urlInvalid:"Please enter a valid URL",descriptionRequired:"Description is required",eventRequired:"Please select at least one event"},hosted:"Hosted endpoints",add:"Create Webhook",addTip:"Set up your webhook endpoint to receive live events",listen:"Listen for",version:"API Version",attempts:"Webhook Attempts",url:{label:"URL",description:"Webhook URL"},description:{label:"Description",description:"An optional description of what this endpoint is used for"},events:{label:"Select events to listen to",description:""},disabled:"Disabled",enabled:"Enabled",disable:"Disable",enable:"Enable",editWebhookTitle:"Update Webhook",updateWebhook:"Update Webhook",waitingForEvents:"Waiting for events...",loadingMore:"Loading more...",loadMore:"Load more",response:"Response",request:"Request",eventData:"Event Data",deleteWebhook:{title:"Delete Webhook?",description:"After deleting a webhook, the webhook will no longer receive events"},success:" Success"},description:{environment:"The current variables will take effect when {name} is running. Need to restart the application to take effect.",preferences:"The current variables will take effect when {name} is running. Changes will be applied after saving, no application restart required."},preferencesFor:"Preferences for {name}",environmentFor:"Environments for {name}",accessKey:"Access Key",command:"Command",mcp:{listTitle:"Access your blocklet from MCP Clients",tooltipTitle:"Explore the list of MCP servers supported by this blocklet, select a server to instantly view the connection commands you need to join from your client.",endpoint:"MCP Endpoint",available:"Available MCP Servers",noServer:"No MCP server available"},installCommand:"Installation Command"},en$1={blocklet:{restoreBlocklet:{title:"Restore Blocklet",description:"Please select the blocklet you want to restore",verify:{title:"Verify Ownership",subTitle:"Verify ownership of the blocklet with your DID Wallet",verify:"Verify",reconnect:"Try another blocklet",scan:"Use the following methods to prove ownership",confirm:"Sign delegation to allow server to download and decrypt the backup",success:"Ownership verified, the restoring is in progress",exists:"This blocklet already exists on this server and restore is aborted",open:"Visit Blocklet",overwrite:"Overwrite"},overwrite:{title:"Overwrite existing blocklet?",description:"The blocklet you are restoring already exists on this server, do you want to overwrite it? The exiting blocklet will be deleted first if you continue"},restore:{title:"Restore Blocklet"}},restoreFromServer:{selectTitle:"Select Application",description:"Please select the application you want to restore",backupIn:"Backup in"},restoreFromSpaces:{title:"Restore from DID Spaces",navSubTitle:"Restore",connect:{title:"Connect to DID Spaces",subTitle:"Jump to DID Spaces, and select the blocklet you want to restore.",select:"Select DID Spaces Gateway",connect:"Connect"},selectBlocklet:{title:"Select App"},restore:{title:"Restore App",subTitle:"The app is being restored",completeTitle:"Everything is Ready",installedTitle:"Successfully restored!",installedSubTitle:"But still needs some configurations to start",support:'If retrying does not work, please ask help in the <a href="{communityLink}" target="_blank">community</a> or contact us at <a href="mailto: {supportEmail}">{supportEmail}</a>.'},nftAuthDialog:{title:"Please present your App Space NFT",scan:"Scan QR code with your DID Wallet to present your NFT",confirm:"Confirm in your account",success:"NFT successfully verified!"},progress:{waiting:"Waiting for restore...",restoring:"Restoring...",importData:"Importing data...",downloading:"Downloading files, progress: {progress}",importSuccess:"Successfully imported!",installing:"Installing..."}}},server:{checkUpgrade:"Check new version"}},flatMerge=be=>flat(merge(...be)),translations={en:flat(merge(en$2,en$1)),ar:async()=>{const be=await Promise.all([__vitePreload(()=>import("./ar-DKohTs5n.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./ar-D5lpNQex.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},de:async()=>{const be=await Promise.all([__vitePreload(()=>import("./de-CYm7FmiN.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./de-B-nBacto.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},es:async()=>{const be=await Promise.all([__vitePreload(()=>import("./es-5zob_8Of.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./es-Bim5LI46.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},fr:async()=>{const be=await Promise.all([__vitePreload(()=>import("./fr-GNzEzJIo.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./fr-DaLsDtII.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},hi:async()=>{const be=await Promise.all([__vitePreload(()=>import("./hi-BMaS53lF.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./hi-BGJWWeJR.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},id:async()=>{const be=await Promise.all([__vitePreload(()=>import("./id-CbyxMpli.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./id-D5FUCxFy.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},ja:async()=>{const be=await Promise.all([__vitePreload(()=>import("./ja-BPCCKkW4.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./ja-BNVc3FKo.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},ko:async()=>{const be=await Promise.all([__vitePreload(()=>import("./ko-Wbe93sio.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./ko-ChYlA2AT.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},pt:async()=>{const be=await Promise.all([__vitePreload(()=>import("./pt-C1fHGXQk.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./pt-CG5Nkqxu.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},ru:async()=>{const be=await Promise.all([__vitePreload(()=>import("./ru-DJ3aNml8.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./ru-yY3pEHy3.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},th:async()=>{const be=await Promise.all([__vitePreload(()=>import("./th-C22KCFdo.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./th-DpMvfLqJ.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},vi:async()=>{const be=await Promise.all([__vitePreload(()=>import("./vi-D_AWh4Q3.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./vi-DLoHNt-o.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},zh:async()=>{const be=await Promise.all([__vitePreload(()=>import("./zh-ZjW3xV_P.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./zh-CKz_A9v_.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)},"zh-TW":async()=>{const be=await Promise.all([__vitePreload(()=>import("./zh-tw-BuqwZI-0.js"),[],import.meta.url).then(Ce=>Ce.default),__vitePreload(()=>import("./zh-tw-CQSCOuqr.js"),[],import.meta.url).then(Ce=>Ce.default)]);return flatMerge(be)}};function GlobalStyles(){const be=useTheme(),Ce=reactExports.useMemo(()=>css`
|
|
1780
1780
|
a {
|
|
1781
1781
|
color: ${teal.A700};
|
|
1782
1782
|
text-decoration: none;
|
|
@@ -2511,7 +2511,7 @@ ${Te}
|
|
|
2511
2511
|
-->
|
|
2512
2512
|
`),jsx(Box,{sx:{mx:{xs:0,md:2}},children:jsx(Link,{sx:{color:"text.primary"},target:"_blank",href:Se.href,rel:"noreferrer",style:{textDecoration:"underline"},children:Ce("common.reportIssue")})})}Feedback.propTypes={infos:o$g.arrayOf(o$g.shape({label:o$g.string,value:o$g.string}))};var en,hasRequiredEn;function requireEn(){return hasRequiredEn||(hasRequiredEn=1,en={year:{long:"year",short:"y"},day:{long:"day",short:"d"},hour:{long:"hour",short:"h"},minute:{long:"minute",short:"m"},second:{long:"second",short:"s"},millisecond:{long:"millisecond",short:"ms"},microsecond:{long:"microsecond",short:"µs"},nanosecond:{long:"nanosecond",short:"ns"}}),en}var zh,hasRequiredZh;function requireZh(){return hasRequiredZh||(hasRequiredZh=1,zh={year:{long:"年",short:"年"},day:{long:"天",short:"天"},hour:{long:"小时",short:"小时"},minute:{long:"分钟",short:"分"},second:{long:"秒钟",short:"秒"},millisecond:{long:"毫秒",short:"毫秒"},microsecond:{long:"微秒",short:"微秒"},nanosecond:{long:"纳秒",short:"纳秒"}}),zh}var register_lang,hasRequiredRegister_lang;function requireRegister_lang(){if(hasRequiredRegister_lang)return register_lang;hasRequiredRegister_lang=1;const be=new Map;return register_lang={registerLang:(Te,Re)=>{be.set(Te,Re)},getLang:(Te="en_US")=>be.get(Te)||be.get("en_US")},register_lang}var parseMs,hasRequiredParseMs;function requireParseMs(){return hasRequiredParseMs||(hasRequiredParseMs=1,parseMs=be=>{if(typeof be!="number")throw new TypeError("Expected a number");const Ce=be>0?Math.floor:Math.ceil;return{days:Ce(be/864e5),hours:Ce(be/36e5)%24,minutes:Ce(be/6e4)%60,seconds:Ce(be/1e3)%60,milliseconds:Ce(be)%1e3,microseconds:Ce(be*1e3)%1e3,nanoseconds:Ce(be*1e6)%1e3}}),parseMs}var parse_ms,hasRequiredParse_ms;function requireParse_ms(){if(hasRequiredParse_ms)return parse_ms;hasRequiredParse_ms=1;const be=requireParseMs(),{getLang:Ce}=requireRegister_lang(),Se=(Re,Le)=>Le===1?Re:`${Re}s`,Te=1e-7;return parse_ms=(Re,Le={})=>{if(!Number.isFinite(Re))throw new TypeError("Expected a finite number");Le.colonNotation&&(Le.compact=!1,Le.formatSubMilliseconds=!1,Le.separateMilliseconds=!1,Le.verbose=!1),Le.compact&&(Le.secondsDecimalDigits=0,Le.millisecondsDecimalDigits=0);const De=Ce(Le.locale),Pe=[],Oe=(Fe,He)=>{const Ge=Math.floor(Fe*10**He+Te);return(Math.round(Ge)/10**He).toFixed(He)},qe=(Fe,He,Ge)=>{if((Pe.length===0||!Le.colonNotation)&&Fe===0&&!(Le.colonNotation&&He==="minute"))return;const{long:Ke}=De[He]||Ce("en_US")[He],{short:Je}=De[He]||Ce("en_US")[He];let Ze=(Ge||Fe||"0").toString(),Ye,tt;if(Le.colonNotation){Ye=Pe.length>0?":":"",tt="";const nt=Ze.includes(".")?Ze.split(".")[0].length:Ze.length,it=Pe.length>0?2:1;Ze="0".repeat(Math.max(0,it-nt))+Ze}else Ye="",Le.locale==="zh_CN"?Object.values(je).filter(nt=>nt>0).length>1?!je.days&&!je.hours&&je.minutes&&Le.compact?tt=Ke:tt=Je:je.minutes?tt=Ke:tt=Je:tt=Le.verbose?` ${Se(Ke,Fe)}`:Je;Pe.push(Ye+Ze+tt)},je=be(Re);if(qe(Math.trunc(je.days/365),"year"),qe(je.days%365,"day"),qe(je.hours,"hour"),qe(je.minutes,"minute"),Le.separateMilliseconds||Le.formatSubMilliseconds||!Le.colonNotation&&Re<1e3)if(qe(je.seconds,"second"),Le.formatSubMilliseconds)qe(je.milliseconds,"millisecond"),qe(je.microseconds,"microsecond"),qe(je.nanoseconds,"nanosecond");else{const Fe=je.milliseconds+je.microseconds/1e3+je.nanoseconds/1e6,He=typeof Le.millisecondsDecimalDigits=="number"?Le.millisecondsDecimalDigits:0,Ge=Fe>=1?Math.round(Fe):Math.ceil(Fe),Ke=He?Fe.toFixed(He):Ge;qe(Number.parseFloat(Ke,10),"millisecond",Ke)}else{const Fe=Re/1e3%60,He=typeof Le.secondsDecimalDigits=="number"?Le.secondsDecimalDigits:1,Ge=Oe(Fe,He),Ke=Le.keepDecimalsOnWholeSeconds?Ge:Ge.replace(/\.0+$/,"");qe(Number.parseFloat(Ke,10),"second",Ke)}if(Pe.length===0){const Fe=(De.millisecond||Ce("en_US").millisecond).long,He=(De.millisecond||Ce("en_US").millisecond).short;return Le.locale==="zh_CN"?`0${Le.verbose?`${Fe}`:He}`:`0${Le.verbose?` ${Fe}s`:He}`}if(Le.compact)return Pe[0];if(typeof Le.unitCount=="number"){const Fe=Le.colonNotation?"":" ";return Pe.slice(0,Math.max(Le.unitCount,1)).join(Fe)}return Le.colonNotation?Pe.join(""):Pe.join(" ")},parse_ms}var prettyMsI18n,hasRequiredPrettyMsI18n;function requirePrettyMsI18n(){if(hasRequiredPrettyMsI18n)return prettyMsI18n;hasRequiredPrettyMsI18n=1;const be=requireEn(),Ce=requireZh(),{registerLang:Se}=requireRegister_lang(),Te=requireParse_ms();return Se("en_US",be),Se("zh_CN",Ce),Te.registerLang=Se,prettyMsI18n=Te,prettyMsI18n}var prettyMsI18nExports=requirePrettyMsI18n();const prettyMs=getDefaultExportFromCjs$1(prettyMsI18nExports);var useAsyncRetry$1={};const require$$0=getAugmentedNamespace(tslib_es6$1);var useAsync$1={},useAsyncFn={},useMountedState={},hasRequiredUseMountedState;function requireUseMountedState(){if(hasRequiredUseMountedState)return useMountedState;hasRequiredUseMountedState=1,Object.defineProperty(useMountedState,"__esModule",{value:!0});var be=requireReact();function Ce(){var Se=be.useRef(!1),Te=be.useCallback(function(){return Se.current},[]);return be.useEffect(function(){return Se.current=!0,function(){Se.current=!1}},[]),Te}return useMountedState.default=Ce,useMountedState}var hasRequiredUseAsyncFn;function requireUseAsyncFn(){if(hasRequiredUseAsyncFn)return useAsyncFn;hasRequiredUseAsyncFn=1,Object.defineProperty(useAsyncFn,"__esModule",{value:!0});var be=require$$0,Ce=requireReact(),Se=be.__importDefault(requireUseMountedState());function Te(Re,Le,De){Le===void 0&&(Le=[]),De===void 0&&(De={loading:!1});var Pe=Ce.useRef(0),Oe=Se.default(),qe=Ce.useState(De),je=qe[0],Fe=qe[1],He=Ce.useCallback(function(){for(var Ge=[],Ke=0;Ke<arguments.length;Ke++)Ge[Ke]=arguments[Ke];var Je=++Pe.current;return je.loading||Fe(function(Ze){return be.__assign(be.__assign({},Ze),{loading:!0})}),Re.apply(void 0,Ge).then(function(Ze){return Oe()&&Je===Pe.current&&Fe({value:Ze,loading:!1}),Ze},function(Ze){return Oe()&&Je===Pe.current&&Fe({error:Ze,loading:!1}),Ze})},Le);return[je,He]}return useAsyncFn.default=Te,useAsyncFn}var hasRequiredUseAsync;function requireUseAsync(){if(hasRequiredUseAsync)return useAsync$1;hasRequiredUseAsync=1,Object.defineProperty(useAsync$1,"__esModule",{value:!0});var be=require$$0,Ce=requireReact(),Se=be.__importDefault(requireUseAsyncFn());function Te(Re,Le){Le===void 0&&(Le=[]);var De=Se.default(Re,Le,{loading:!0}),Pe=De[0],Oe=De[1];return Ce.useEffect(function(){Oe()},[Oe]),Pe}return useAsync$1.default=Te,useAsync$1}var hasRequiredUseAsyncRetry;function requireUseAsyncRetry(){if(hasRequiredUseAsyncRetry)return useAsyncRetry$1;hasRequiredUseAsyncRetry=1,Object.defineProperty(useAsyncRetry$1,"__esModule",{value:!0});var be=require$$0,Ce=requireReact(),Se=be.__importDefault(requireUseAsync()),Te=function(Re,Le){Le===void 0&&(Le=[]);var De=Ce.useState(0),Pe=De[0],Oe=De[1],qe=Se.default(Re,be.__spreadArrays(Le,[Pe])),je=qe.loading,Fe=Ce.useCallback(function(){je||Oe(function(He){return He+1})},be.__spreadArrays(Le,[je]));return be.__assign(be.__assign({},qe),{retry:Fe})};return useAsyncRetry$1.default=Te,useAsyncRetry$1}var useAsyncRetryExports=requireUseAsyncRetry();const useAsyncRetry=getDefaultExportFromCjs$1(useAsyncRetryExports);var useSetState$1={},hasRequiredUseSetState;function requireUseSetState(){if(hasRequiredUseSetState)return useSetState$1;hasRequiredUseSetState=1,Object.defineProperty(useSetState$1,"__esModule",{value:!0});var be=requireReact(),Ce=function(Se){Se===void 0&&(Se={});var Te=be.useState(Se),Re=Te[0],Le=Te[1],De=be.useCallback(function(Pe){Le(function(Oe){return Object.assign({},Oe,Pe instanceof Function?Pe(Oe):Pe)})},[]);return[Re,De]};return useSetState$1.default=Ce,useSetState$1}var useSetStateExports=requireUseSetState();const useSetState=getDefaultExportFromCjs$1(useSetStateExports);function ChipLabel({children:be}){return useMediaQuery(Se=>Se.breakpoints.down("md"))?jsxRuntimeExports.jsx(Tooltip,{enterDelay:500,leaveDelay:2e3,title:typeof be=="string"?be:"",children:jsxRuntimeExports.jsx(Box,{sx:{display:"flex",alignItems:"center",gap:1},children:jsxRuntimeExports.jsx(AccessTimeIcon,{fontSize:"small"})})}):jsxRuntimeExports.jsxs(Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[jsxRuntimeExports.jsx(AccessTimeIcon,{fontSize:"small"}),be]})}ChipLabel.propTypes={children:o$g.node.isRequired};const ALERT_THRESHOLD_MS=30*24*60*60*1e3,DEFAULT_LAUNCHER_URL="https://launcher.arcblock.io/";function SubscriptionServer({launcherUrl:be,chainHost:Ce,nftId:Se="",launcherSessionId:Te="",sx:Re={},retention:Le=0,...De}){const{t:Pe,locale:Oe}=T$8(),[qe,je]=useSetState({safeIframeRef:null,popoverAnchorEl:null}),Fe=reactExports.useRef(null),He=useMediaQuery(gt=>gt.breakpoints.down("md")),Ge=useNodeContext$1(),Ke=He?"mobile":"desktop",Je=useAsyncRetry(async()=>{const[gt,ft]=await Promise.all([Ge.api.getLauncherSession({input:{launcherSessionId:Te||Se,launcherUrl:be}}),getSubscriptionUrlV2({launcherUrl:be||DEFAULT_LAUNCHER_URL,nftDid:Se,launcherSessionId:Te,locale:Oe})]);if(gt?.error)throw new Error(gt.error);return{launcherSession:gt.launcherSession,subscriptionURL:ft}},[Oe]);if(Je.loading)return jsxRuntimeExports.jsx(Chip,{label:jsxRuntimeExports.jsxs(ChipLabel,{children:[!He&&Pe("expiration.desktop.loading"),jsxRuntimeExports.jsx(CircularProgress,{size:16})]}),variant:"success",sx:{cursor:"pointer",...Re},...De,retention:Le});if(Je.error)return console.error(Je.error),jsxRuntimeExports.jsx(Chip,{label:jsxRuntimeExports.jsx(ChipLabel,{children:Pe(`expiration.${Ke}.loadFailed`)}),color:"error",variant:"success",sx:{cursor:"pointer",...Re},...De,retention:Le,onClick:()=>Je.retry()});const Ze=Je.value?.launcherSession?.expirationDate,Ye=dayjs(Ze).isBefore(dayjs()),tt=dayjs(Ze).diff(dayjs(),"ms");let nt="success";tt<=ALERT_THRESHOLD_MS&&(nt="warning"),Ye&&(nt="error");const it=gt=>{je({popoverAnchorEl:gt.currentTarget})},ot=()=>{je({popoverAnchorEl:null})};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Je.value?.launcherSession?.subscription&&jsxRuntimeExports.jsx(Chip,{label:jsxRuntimeExports.jsx(ChipLabel,{children:Pe("expiration.desktop.nextInvoice",{date:formatToDate(Ze,Oe)})}),color:"success",variant:"outlined",sx:{cursor:"pointer",...Re},...De,retention:Le,onClick:it}),!Je.value?.launcherSession?.subscription&&jsxRuntimeExports.jsx(Chip,{label:jsxRuntimeExports.jsx(ChipLabel,{children:Pe(`expiration.${Ke}.tips.${nt}`,{validity:prettyMs(tt,{locale:formatPrettyMsLocale(Oe),compact:!0,verbose:!0})})}),color:nt,variant:nt!=="success"?"contained":"outlined",sx:{cursor:"pointer",...Re},...De,retention:Le,onClick:it}),jsxRuntimeExports.jsx(Popover,{id:"popover-info",open:!!qe.popoverAnchorEl,anchorEl:qe.popoverAnchorEl,onClose:ot,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:jsxRuntimeExports.jsx(Box,{sx:{width:{xs:"360px",md:"450px"}},children:jsxRuntimeExports.jsx("iframe",{ref:Fe,title:Pe("common.subscription"),width:"100%",height:"600px",style:{border:0},src:Je.value?.subscriptionURL})})})]})}SubscriptionServer.propTypes={chainHost:o$g.string.isRequired,nftId:o$g.string,launcherSessionId:o$g.string,sx:o$g.object,retention:o$g.number,launcherUrl:o$g.string.isRequired};const SvgLogo=be=>reactExports.createElement("svg",{width:64,height:64,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",...be},reactExports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M50.152 10.6417L31.72 0L13.288 10.6417V24.7942L1 31.8887V53.1722L19.432 63.8139L31.6902 56.7366L31.72 56.7538L31.7498 56.7366L44.008 63.8139L62.44 53.1722V31.8887L50.152 24.7942V10.6417ZM60.52 32.9972L48.232 25.9027V11.7502L31.72 2.21703L15.208 11.7502V25.9028L2.92 32.9972V52.0636L19.432 61.5968L31.6902 54.5196L31.72 54.5368L31.7498 54.5196L44.008 61.5968L60.52 52.0636V32.9972Z",fill:"url(#paint0_linear_606_96)"}),reactExports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M50.1521 24.8307L31.7201 14.189L13.2881 24.8307V46.1141L31.7201 56.7558L50.1521 46.1141V24.8307ZM15.2081 25.9392L31.7201 16.406L48.2321 25.9392V45.0056L31.7201 54.5388L15.2081 45.0056V25.9392ZM28.5464 23.0464C28.6641 22.6342 29.0408 22.3501 29.4695 22.3501H33.9707C34.3993 22.3501 34.776 22.6342 34.8938 23.0464L35.7504 26.0447L37.8696 27.2681L40.8945 26.5109C41.3103 26.4068 41.7447 26.591 41.959 26.9622L44.2096 30.8604C44.424 31.2316 44.3662 31.6998 44.0682 32.0079L41.8999 34.2489V36.6959L44.0682 38.9369C44.3662 39.245 44.424 39.7133 44.2096 40.0845L41.959 43.9827C41.7447 44.3539 41.3103 44.538 40.8945 44.4339L37.8696 43.6767L35.7504 44.9002L34.8938 47.8984C34.776 48.3106 34.3993 48.5947 33.9707 48.5947H29.4695C29.0408 48.5947 28.6641 48.3106 28.5464 47.8984L27.6897 44.9002L25.5706 43.6767L22.5457 44.4339C22.1299 44.538 21.6955 44.3539 21.4812 43.9827L19.2305 40.0845C19.0162 39.7133 19.0739 39.245 19.372 38.9369L21.5402 36.6959V34.2489L19.372 32.0079C19.0739 31.6998 19.0162 31.2316 19.2305 30.8604L21.4812 26.9622C21.6955 26.591 22.1299 26.4068 22.5457 26.5109L25.5706 27.2681L27.6897 26.0447L28.5464 23.0464ZM28.9861 27.5132C29.2018 27.3887 29.3607 27.1851 29.4292 26.9456L30.1936 24.2701H33.2466L34.011 26.9456C34.0794 27.1851 34.2383 27.3887 34.4541 27.5132L37.2459 29.1251C37.4617 29.2497 37.7174 29.2855 37.9591 29.225L40.6583 28.5493L42.1848 31.1932L40.25 33.193C40.0768 33.372 39.9799 33.6114 39.9799 33.8605V37.0843C39.9799 37.3334 40.0768 37.5728 40.25 37.7518L42.1848 39.7516L40.6583 42.3955L37.9591 41.7198C37.7174 41.6593 37.4617 41.6951 37.2459 41.8197L34.4541 43.4316C34.2383 43.5561 34.0794 43.7597 34.011 43.9992L33.2466 46.6747H30.1936L29.4292 43.9992C29.3607 43.7597 29.2018 43.5561 28.9861 43.4316L26.1942 41.8197C25.9785 41.6951 25.7228 41.6593 25.4811 41.7198L22.7819 42.3955L21.2554 39.7516L23.1902 37.7518C23.3634 37.5728 23.4602 37.3334 23.4602 37.0843V33.8605C23.4602 33.6114 23.3634 33.372 23.1902 33.193L21.2554 31.1932L22.7819 28.5493L25.4811 29.225C25.7228 29.2855 25.9785 29.2497 26.1942 29.1251L28.9861 27.5132ZM31.7201 41.6407C28.3134 41.6407 25.5517 38.8791 25.5517 35.4724C25.5517 32.0657 28.3134 29.3041 31.7201 29.3041C35.1268 29.3041 37.8884 32.0657 37.8884 35.4724C37.8884 38.8791 35.1268 41.6407 31.7201 41.6407ZM35.9684 35.4724C35.9684 37.8187 34.0664 39.7207 31.7201 39.7207C29.3738 39.7207 27.4717 37.8187 27.4717 35.4724C27.4717 33.1261 29.3738 31.2241 31.7201 31.2241C34.0664 31.2241 35.9684 33.1261 35.9684 35.4724Z",fill:"url(#paint1_linear_606_96)"}),reactExports.createElement("defs",null,reactExports.createElement("linearGradient",{id:"paint0_linear_606_96",x1:31.72,y1:95.7208,x2:95.488,y2:34.3249,gradientUnits:"userSpaceOnUse"},reactExports.createElement("stop",{stopColor:"#0FA4B7"}),reactExports.createElement("stop",{offset:.494757,stopColor:"#1DC1C7"}),reactExports.createElement("stop",{offset:1,stopColor:"#2BE0D7"})),reactExports.createElement("linearGradient",{id:"paint1_linear_606_96",x1:28.4374,y1:99.2464,x2:98.7613,y2:44.9372,gradientUnits:"userSpaceOnUse"},reactExports.createElement("stop",{stopColor:"#0FA4B7"}),reactExports.createElement("stop",{offset:.494757,stopColor:"#1DC1C7"}),reactExports.createElement("stop",{offset:1,stopColor:"#2BE0D7"}))));function useShowConsole(){return useMediaQuery(Ce=>Ce.breakpoints.up("sm"))&&!1}const t$1=be=>reactExports.createElement("svg",{width:20,height:20,viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",...be},reactExports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.25107 2.50001C6.67528 2.49385 4.50443 4.60042 4.48473 7.00559V12.7899C4.48473 13.5826 4.40145 14.5678 3.90413 15.4998H16.0954C15.599 14.5684 15.5146 13.5831 15.5146 12.7889V7.01078C15.4804 4.60752 13.3051 2.50948 10.7176 2.50301C10.7174 2.50301 10.7177 2.50301 10.7176 2.50301L9.25107 2.50001ZM17.0146 7.00094V12.7889C17.0146 13.5789 17.1156 14.3509 17.5456 15.0078L17.8325 15.4458C18.2685 16.1098 17.7995 16.9998 17.0146 16.9998H2.98473C2.19974 16.9998 1.72975 16.1098 2.16674 15.4458L2.45374 15.0078C2.88473 14.3509 2.98473 13.5799 2.98473 12.7899V6.99994C3.00773 3.70898 5.9107 0.992018 9.25465 1.00002L10.7206 1.00302C14.0646 1.01102 16.9746 3.70898 17.0146 7.00094Z",fill:"currentColor"}),reactExports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.0602 18.0606C11.3415 17.7793 11.4996 17.3978 11.4996 17H12.9996C12.9996 17.7956 12.6835 18.5587 12.1209 19.1213C11.5583 19.6839 10.7952 19.9999 9.9996 19.9999C9.20396 19.9999 8.4409 19.6839 7.8783 19.1213C7.3157 18.5587 6.99963 17.7956 6.99963 17H8.49963C8.49963 17.3978 8.65767 17.7793 8.93896 18.0606C9.22026 18.3419 9.60178 18.4999 9.9996 18.4999C10.3974 18.4999 10.7789 18.3419 11.0602 18.0606Z",fill:"currentColor"}));function p$1(){let be=new Map;function Ce({root:Se,rootMargin:Te,threshold:Re}){let Le=be.get(Se);Le||(Le=new Map,be.set(Se,Le));let De=JSON.stringify({rootMargin:Te,threshold:Re}),Pe=Le.get(De);if(!Pe){let Oe=new Map;Pe={observer:new IntersectionObserver(qe=>{qe.forEach(je=>{Oe.get(je.target)?.(je)})},{root:Se,rootMargin:Te,threshold:Re}),entryCallbacks:Oe},Le.set(De,Pe)}return{observe:(Oe,qe)=>{Pe.entryCallbacks.set(Oe,qe),Pe.observer.observe(Oe)},unobserve:Oe=>{Pe.entryCallbacks.delete(Oe),Pe.observer.unobserve(Oe)}}}return{getObserver:Ce}}var C="0px",d=[0],H$1=p$1();function E(be){let Ce=be?.rootMargin??C,Se=be?.threshold??d,Te=reactExports.useRef(null),Re=reactExports.useRef(null),Le=reactExports.useRef(null),[De,Pe]=reactExports.useState(),Oe=reactExports.useCallback(()=>{let He=Te.current;if(!He){Pe(void 0);return}let Ge=H$1.getObserver({root:Re.current,rootMargin:Ce,threshold:Se});Ge.observe(He,Ke=>{Pe(Ke)}),Le.current=Ge},[Ce,Se]),qe=reactExports.useCallback(()=>{let He=Le.current,Ge=Te.current;Ge&&He?.unobserve(Ge),Le.current=null},[]),je=reactExports.useCallback(He=>{qe(),Te.current=He,Oe()},[Oe,qe]),Fe=reactExports.useCallback(He=>{qe(),Re.current=He,Oe()},[Oe,qe]);return[je,{entry:De,rootRef:Fe}]}var I=E;function h(be){let[Ce,Se]=I(be),Te=!!Se.entry?.isIntersecting,[Re,Le]=reactExports.useState(Te);return Te&&!Re&&Le(!0),[Ce,{...Se,isVisible:Te,wasEverVisible:Re}]}var g=h,u=100;function p({loading:be,hasNextPage:Ce,onLoadMore:Se,rootMargin:Te,disabled:Re,delayInMs:Le=u}){let De=reactExports.useRef(Se),[Pe,{rootRef:Oe,isVisible:qe}]=g({rootMargin:Te});reactExports.useEffect(()=>{De.current=Se},[Se]);let je=!Re&&!be&&qe&&Ce;return reactExports.useEffect(()=>{if(je){let Fe=setTimeout(()=>{De.current()},Le);return()=>{clearTimeout(Fe)}}},[je,Le]),[Pe,{rootRef:Oe}]}var H=p;const l=be=>reactExports.createElement("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...be},reactExports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.0608 6.75011L11.5304 7.28044L8.70722 10.1036C8.31669 10.4942 7.68353 10.4942 7.293 10.1036L4.46978 7.28044L3.93945 6.75011L5.00011 5.68945L5.53044 6.21978L8.00011 8.68945L10.4698 6.21978L11.0001 5.68945L12.0608 6.75011Z",fill:"currentColor"})),severityColors={info:"#3B82F6",success:"#10B981",warning:"#F59E0B",error:"#EF4444"};SeverityDot.propTypes={severity:o$g.oneOf(["info","success","warning","error",""]).isRequired,size:o$g.number};function SeverityDot({severity:be,size:Ce=8}){return severityColors[be]?jsxRuntimeExports.jsx(Box,{component:"span",sx:{display:"inline-block",width:Ce,height:Ce,borderRadius:"50%",backgroundColor:severityColors[be]||severityColors.info}}):null}NotificationTypes.propTypes={theme:o$g.string,type:o$g.oneOf(["button","line","select"]),onSelectType:o$g.func,extra:o$g.node,loading:o$g.bool,currentTab:o$g.oneOf(["info","success","warning","error",""])};function NotificationTypes({theme:be="dark",type:Ce="button",onSelectType:Se,extra:Te=void 0,currentTab:Re="",loading:Le=!1,...De}){const{t:Pe}=reactExports.useContext(g$d),Oe=[{label:Pe("notification.allSeverity"),value:""},{label:Pe("notification.severityType.info"),value:"info"},{label:Pe("notification.severityType.success"),value:"success"},{label:Pe("notification.severityType.warning"),value:"warning"},{label:Pe("notification.severityType.error"),value:"error"}],qe=Je=>{(Je!==Re||!Le)&&Se(Je)},je=reactExports.useMemo(()=>{const Je={width:"100%",bgcolor:be==="dark"?"#F9FAFB":"",overflowY:"auto",paddingTop:Ce==="select"?"0":"5px",whiteSpace:"nowrap",borderRadius:0,display:"flex",justifyContent:"space-between",alignItems:"flex-end",flexWrap:"wrap",gap:"8px"};return Ce==="line"?Object.assign(Je,{}):Je},[Ce,be]),Fe=(Je,Ze,Ye)=>jsxRuntimeExports.jsx(Button,{disabled:Le,onClick:()=>qe(Je.value),className:`profile-button ${Ze?"active":""}`,...De,children:Je.label},Je.value||Ye),He=(Je,Ze,Ye)=>jsxRuntimeExports.jsx(Button,{variant:"text",disabled:Le,onClick:()=>qe(Je.value),className:`profile-line-button ${Ze?"active":""}`,...De,children:Je.label},Je.value||Ye),Ge=()=>Oe?.map((Je,Ze)=>{const Ye=Re===Je?.value;return Ce==="line"?jsxRuntimeExports.jsx(reactExports.Fragment,{children:He(Je,Ye,Ze)},Je.value||Ze):jsxRuntimeExports.jsx(reactExports.Fragment,{children:Fe(Je,Ye,Ze)},Je.value||Ze)}),Ke=Je=>{const{value:Ze}=Je.target;qe(Ze==="all"?"":Ze)};return Ce==="select"?jsxRuntimeExports.jsx(FormControl,{sx:{maxWidth:300},children:jsxRuntimeExports.jsx(Select,{value:Re||"all",onChange:Ke,size:"small",label:"Severity",IconComponent:Je=>jsxRuntimeExports.jsx(l,{...Je,width:20,height:20}),MenuProps:{autoFocus:!1,PaperProps:{style:{maxHeight:400,overflowY:"auto",borderRadius:"8px",boxShadow:"0px 6px 24px rgba(0, 0, 0, 0.15)"}}},variant:"outlined",sx:{fieldset:{border:"none"}},children:Oe.map((Je,Ze)=>jsxRuntimeExports.jsx(MenuItem,{value:Je.value||"all",children:jsxRuntimeExports.jsxs(Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[jsxRuntimeExports.jsx(SeverityDot,{severity:Je.value}),Je.label]})},Je.value||Ze))})}):jsxRuntimeExports.jsxs(Box,{className:"severity-tabs",sx:je,children:[jsxRuntimeExports.jsx(Box,{sx:{...Ce==="line"?{flex:1,borderBottom:"1px solid",borderColor:"grey.200"}:{display:"flex",gap:"24px"}},children:Ge()}),Te]})}const t=be=>reactExports.createElement("svg",{width:64,height:64,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",...be},reactExports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M50.152 10.6417L31.72 0L13.288 10.6417V24.7942L1 31.8887V53.1722L19.432 63.8139L31.6902 56.7366L31.72 56.7538L31.7498 56.7366L44.008 63.8139L62.44 53.1722V31.8887L50.152 24.7942V10.6417ZM60.52 32.9972L48.232 25.9027V11.7502L31.72 2.21703L15.208 11.7502V25.9028L2.92 32.9972V52.0636L19.432 61.5968L31.6902 54.5196L31.72 54.5368L31.7498 54.5196L44.008 61.5968L60.52 52.0636V32.9972Z",fill:"url(#paint0_linear_615_426)"}),reactExports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M50.1521 24.8307L31.7201 14.189L13.2881 24.8307V46.1141L31.7201 56.7558L50.1521 46.1141V24.8307ZM15.2081 25.9392L31.7201 16.406L48.2321 25.9392V45.0056L31.7201 54.5388L15.2081 45.0056V25.9392ZM28.5464 23.0464C28.6641 22.6342 29.0408 22.3501 29.4695 22.3501H33.9707C34.3993 22.3501 34.776 22.6342 34.8938 23.0464L35.7504 26.0447L37.8696 27.2681L40.8945 26.5109C41.3103 26.4068 41.7447 26.591 41.959 26.9622L44.2096 30.8604C44.424 31.2316 44.3662 31.6998 44.0682 32.0079L41.8999 34.2489V36.6959L44.0682 38.9369C44.3662 39.245 44.424 39.7133 44.2096 40.0845L41.959 43.9827C41.7447 44.3539 41.3103 44.538 40.8945 44.4339L37.8696 43.6767L35.7504 44.9002L34.8938 47.8984C34.776 48.3106 34.3993 48.5947 33.9707 48.5947H29.4695C29.0408 48.5947 28.6641 48.3106 28.5464 47.8984L27.6897 44.9002L25.5706 43.6767L22.5457 44.4339C22.1299 44.538 21.6955 44.3539 21.4812 43.9827L19.2305 40.0845C19.0162 39.7133 19.0739 39.245 19.372 38.9369L21.5402 36.6959V34.2489L19.372 32.0079C19.0739 31.6998 19.0162 31.2316 19.2305 30.8604L21.4812 26.9622C21.6955 26.591 22.1299 26.4068 22.5457 26.5109L25.5706 27.2681L27.6897 26.0447L28.5464 23.0464ZM28.9861 27.5132C29.2018 27.3887 29.3607 27.1851 29.4292 26.9456L30.1936 24.2701H33.2466L34.011 26.9456C34.0794 27.1851 34.2383 27.3887 34.4541 27.5132L37.2459 29.1251C37.4617 29.2497 37.7174 29.2855 37.9591 29.225L40.6583 28.5493L42.1848 31.1932L40.25 33.193C40.0768 33.372 39.9799 33.6114 39.9799 33.8605V37.0843C39.9799 37.3334 40.0768 37.5728 40.25 37.7518L42.1848 39.7516L40.6583 42.3955L37.9591 41.7198C37.7174 41.6593 37.4617 41.6951 37.2459 41.8197L34.4541 43.4316C34.2383 43.5561 34.0794 43.7597 34.011 43.9992L33.2466 46.6747H30.1936L29.4292 43.9992C29.3607 43.7597 29.2018 43.5561 28.9861 43.4316L26.1942 41.8197C25.9785 41.6951 25.7228 41.6593 25.4811 41.7198L22.7819 42.3955L21.2554 39.7516L23.1902 37.7518C23.3634 37.5728 23.4602 37.3334 23.4602 37.0843V33.8605C23.4602 33.6114 23.3634 33.372 23.1902 33.193L21.2554 31.1932L22.7819 28.5493L25.4811 29.225C25.7228 29.2855 25.9785 29.2497 26.1942 29.1251L28.9861 27.5132ZM31.7201 41.6407C28.3134 41.6407 25.5517 38.8791 25.5517 35.4724C25.5517 32.0657 28.3134 29.3041 31.7201 29.3041C35.1268 29.3041 37.8884 32.0657 37.8884 35.4724C37.8884 38.8791 35.1268 41.6407 31.7201 41.6407ZM35.9684 35.4724C35.9684 37.8187 34.0664 39.7207 31.7201 39.7207C29.3738 39.7207 27.4717 37.8187 27.4717 35.4724C27.4717 33.1261 29.3738 31.2241 31.7201 31.2241C34.0664 31.2241 35.9684 33.1261 35.9684 35.4724Z",fill:"url(#paint1_linear_615_426)"}),reactExports.createElement("defs",null,reactExports.createElement("linearGradient",{id:"paint0_linear_615_426",x1:31.72,y1:95.7208,x2:95.488,y2:34.3249,gradientUnits:"userSpaceOnUse"},reactExports.createElement("stop",{stopColor:"#0FA4B7"}),reactExports.createElement("stop",{offset:.494757,stopColor:"#1DC1C7"}),reactExports.createElement("stop",{offset:1,stopColor:"#2BE0D7"})),reactExports.createElement("linearGradient",{id:"paint1_linear_615_426",x1:28.4374,y1:99.2464,x2:98.7613,y2:44.9372,gradientUnits:"userSpaceOnUse"},reactExports.createElement("stop",{stopColor:"#0FA4B7"}),reactExports.createElement("stop",{offset:.494757,stopColor:"#1DC1C7"}),reactExports.createElement("stop",{offset:1,stopColor:"#2BE0D7"}))));function useAvatar({blocklet:be,ancestors:Ce=[]}){const Se=useNodeContext$1(),{inService:Te}=Se,Re=isDownloading(be?.status)||isExtracting(be?.status),Le=`?v=${be?.meta?.version}${Re?"~":""}`;let De=Te?`${joinURL(APP_PREFIX,constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo-bundle")}${Le}`:joinURL(Se.imgPrefix,"blocklet.png");if(be.source==="registry"&&be.deployedFrom&&be.meta.logo)De=`${joinURL(be.deployedFrom,formatRegistryLogoPath(be.meta.bundleDid,be.meta.logo))}${Le}`;else{const Pe=window.env?.apiPrefix||"/",Oe=Ce.concat(be),qe=Te?Oe.slice(1):Oe;De=`${joinURL(Pe,`/blocklet/logo-bundle${qe.map(je=>`/${je.meta.did}`).join("")}`)}${Le}`}return{logoUrl:De,inService:Te}}function BlockletAvatar({blocklet:be,style:Ce={},size:Se=40,ancestors:Te=[],...Re}){const Le=useNodeContext$1(),{logoUrl:De,inService:Pe}=useAvatar({blocklet:be,ancestors:Te}),{variant:Oe}=Re,qe=Pe?()=>{}:Fe=>{Fe.target.src=`${Le.imgPrefix}/blocklet.png`};let je=jsxRuntimeExports.jsx("img",{src:De,onError:qe,alt:be.meta.name,style:{width:Se}});return be.meta.logo||(je=jsxRuntimeExports.jsx($$5,{did:be.meta.did||"",responsive:!0})),jsxRuntimeExports.jsx(Avatar,{variant:Oe||"square",style:Object.assign({backgroundColor:"transparent",width:Se,height:Se,borderRadius:10},Ce),...Re,children:je})}BlockletAvatar.propTypes={blocklet:o$g.object.isRequired,style:o$g.object,size:o$g.oneOfType([o$g.number,o$g.string]),ancestors:o$g.array};const getSearch=(be,Ce)=>{let Se="?v=";return Ce?Se+=getLogoHash(Ce):Se+=`${be?.meta?.version}${isInstalling(be?.status)?"~":""}`,Se};function useAppLogo({blocklet:be}){const{inService:Ce}=useNodeContext$1(),Se=(be?.environments||[]).find(nt=>nt.key===constantExports.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_SQUARE)?.value,Te=(be?.environments||[]).find(nt=>nt.key===constantExports.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_SQUARE_DARK)?.value,Re=(be?.environments||[]).find(nt=>nt.key===constantExports.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_RECT)?.value,Le=(be?.environments||[]).find(nt=>nt.key===constantExports.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_RECT_DARK)?.value,De=(be?.environments||[]).find(nt=>nt.key===constantExports.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_FAVICON)?.value,Pe=(be?.environments||[]).find(nt=>nt.key===constantExports.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SPLASH_PORTRAIT)?.value,Oe=(be?.environments||[]).find(nt=>nt.key===constantExports.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SPLASH_LANDSCAPE)?.value,qe=(be?.environments||[]).find(nt=>nt.key===constantExports.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_OG_IMAGE)?.value,je=window.env?.apiPrefix||"/",Fe=`${joinURL(je,`/blocklet/logo/${Ce?"":be.meta.did}`)}${getSearch(be,Se)}`,He=`${joinURL(je,`/blocklet/logo-dark/${Ce?"":be.meta.did}`)}${getSearch(be,Te)}`,Ge=`${joinURL(je,`/blocklet/logo-rect/${Ce?"":be.meta.did}`)}${getSearch(be,Re??Se)}`,Ke=`${joinURL(je,`/blocklet/logo-rect-dark/${Ce?"":be.meta.did}`)}${getSearch(be,Le??Te)}`,Je=`${joinURL(je,`/blocklet/logo-favicon/${Ce?"":be.meta.did}`)}${getSearch(be,De??Se)}`,Ze=`${joinURL(je,`/blocklet/splash/portrait/${Ce?"":be.meta.did}`)}${getSearch(be,Pe)}`,Ye=`${joinURL(je,`/blocklet/splash/landscape/${Ce?"":be.meta.did}`)}${getSearch(be,Oe)}`,tt=`${joinURL(je,`/blocklet/og-image/${Ce?"":be.meta.did}`)}${getSearch(be,qe)}`;return{logoUrl:Fe,logoDarkUrl:He,rectLogoUrl:Ge,rectLogoDarkUrl:Ke,faviconUrl:Je,splashPortraitUrl:Ze,splashLandscapeUrl:Ye,ogImageUrl:tt}}function useBlockletLogo({blocklet:be,square:Ce}={}){const{logoUrl:Se,logoDarkUrl:Te,rectLogoUrl:Re,rectLogoDarkUrl:Le}=useAppLogo({blocklet:be}),De=reactExports.useMemo(()=>({appLogo:Se,appLogoDark:Te,appLogoRect:Re,appLogoRectDark:Le}),[Se,Te,Re,Le]);return M$4({meta:De,square:Ce})}function BlockletAppAvatar({blocklet:be,style:Ce={},size:Se=40,...Te}){const Re=useBlockletLogo({blocklet:be,square:!0}),{variant:Le}=Te;return jsxRuntimeExports.jsx(Avatar,{variant:Le||"square",style:Object.assign({backgroundColor:"transparent",width:Se,height:Se,borderRadius:10},Ce),...Te,children:jsxRuntimeExports.jsx("img",{src:Re,alt:"",style:{width:Se}})})}BlockletAppAvatar.propTypes={blocklet:o$g.object.isRequired,style:o$g.object,size:o$g.oneOfType([o$g.number,o$g.string])};function parseDate(be){return be.includes(" ")?new Date(be.replace(" ","T").replace(" ","")).getTime():new Date(be).getTime()}function RelativeTime({value:be="",shouldUpdate:Ce=!1,...Se}){const{locale:Te}=T$8(),[Re,Le]=reactExports.useState(0);if(reactExports.useEffect(()=>{let Pe;if(Ce){const Oe=new Date(be).getTime(),qe=Date.now(),je=Math.abs(Math.floor((Oe-qe)/1e3)),Fe=()=>{Le(He=>{const Ge=Math.random()*1e3;return parseFloat((He+Ge).toFixed(4))})};je<60?Pe=setInterval(Fe,1e3):je<60*60?Pe=setInterval(Fe,6e4):Pe=setInterval(Fe,36e5)}return()=>{clearInterval(Pe)}},[be,Re,Ce]),!be)return"-";const De=parseDate(be);return jsxRuntimeExports.jsx(et,{value:De,locale:Te,...Se})}RelativeTime.propTypes={value:o$g.any,shouldUpdate:o$g.bool};var html$2,hasRequiredHtml;function requireHtml(){if(hasRequiredHtml)return html$2;hasRequiredHtml=1;var be=requireReact();function Ce(it){return it&&typeof it=="object"&&"default"in it?it:{default:it}}var Se=Ce(be);function Te(){return Te=Object.assign?Object.assign.bind():function(it){for(var ot=1;ot<arguments.length;ot++){var gt=arguments[ot];for(var ft in gt)({}).hasOwnProperty.call(gt,ft)&&(it[ft]=gt[ft])}return it},Te.apply(null,arguments)}function Re(it,ot){it.prototype=Object.create(ot.prototype),it.prototype.constructor=it,De(it,ot)}function Le(it,ot){if(it==null)return{};var gt={};for(var ft in it)if({}.hasOwnProperty.call(it,ft)){if(ot.indexOf(ft)!==-1)continue;gt[ft]=it[ft]}return gt}function De(it,ot){return De=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(gt,ft){return gt.__proto__=ft,gt},De(it,ot)}var Pe={position:"absolute",bottom:0,left:0,height:0,overflow:"hidden","padding-top":0,"padding-bottom":0,border:"none"},Oe=["box-sizing","width","font-size","font-weight","font-family","font-style","letter-spacing","text-indent","white-space","word-break","overflow-wrap","padding-left","padding-right"];function qe(it,ot){if(!it||typeof it!="object")return it;var gt={};return Object.keys(it).forEach(function(ft){ot.indexOf(ft)>-1||(gt[ft]=it[ft])}),gt}var je=["component","className","unsafeHTML"];function Fe(it,ot){if(ot!=="letters"&&ot!=="words")throw new Error("Unsupported options basedOn: "+ot);if(it.nodeType===Node.TEXT_NODE){var gt=document.createDocumentFragment(),ft;switch(ot){case"words":ft=it.textContent.split(/\b|(?=\W)/);break;case"letters":ft=Array.from(it.textContent);break}ft.forEach(function(Mt){gt.appendChild(He(Mt))}),it.parentNode.replaceChild(gt,it)}else if(it.nodeType===Node.ELEMENT_NODE)for(var wt=[].slice.call(it.childNodes),Vt=wt.length,$t=0;$t<Vt;$t++)Fe(wt[$t],ot)}function He(it){var ot=document.createElement("span");return ot.className="LinesEllipsis-unit",ot.textContent=it,ot}function Ge(it){it.parentNode.replaceChild(document.createTextNode(it.textContent),it)}function Ke(it,ot){if(!(!ot.contains(it)||it===ot)){for(;it.nextElementSibling;)it.parentNode.removeChild(it.nextElementSibling);Ke(it.parentNode,ot)}}function Je(it){for(var ot=it;ot=ot.parentNode;)if(/p|div|main|section|h\d|ul|ol|li/.test(ot.tagName.toLowerCase()))return ot}function Ze(it){return!!(it.offsetHeight&&(it.offsetWidth||/\S/.test(it.textContent)))}var Ye={component:"div",unsafeHTML:"",maxLine:1,ellipsis:"…",ellipsisHTML:void 0,className:"",basedOn:void 0,onReflow:function(){},winWidth:void 0},tt=Object.keys(Ye),nt=function(it){function ot(ft){var wt;return wt=it.call(this,ft)||this,wt.props=Te({},Ye,ft),wt.state={html:ft.unsafeHTML,clamped:!1},wt.canvas=null,wt.maxLine=0,wt.nlUnits=[],wt}Re(ot,it);var gt=ot.prototype;return gt.componentDidMount=function(){this.initCanvas(),this.reflow(this.props)},gt.componentDidUpdate=function(wt){wt.winWidth!==this.props.winWidth&&this.copyStyleToCanvas(),this.props!==wt&&this.reflow(this.props)},gt.componentWillUnmount=function(){this.canvas.parentNode.removeChild(this.canvas),this.canvas=null},gt.setState=function(wt,Vt){return typeof wt.clamped<"u"&&(this.clamped=wt.clamped),it.prototype.setState.call(this,wt,Vt)},gt.initCanvas=function(){if(!this.canvas){var wt=this.canvas=document.createElement("div");wt.className="LinesEllipsis-canvas "+this.props.className,wt.setAttribute("aria-hidden","true"),this.copyStyleToCanvas(),Object.keys(Pe).forEach(function(Vt){wt.style[Vt]=Pe[Vt]}),document.body.appendChild(wt)}},gt.copyStyleToCanvas=function(){var wt=this,Vt=window.getComputedStyle(this.target);Oe.forEach(function($t){wt.canvas.style[$t]=Vt[$t]})},gt.reflow=function(wt){this.maxLine=+wt.maxLine||1,this.canvas.innerHTML=wt.unsafeHTML;var Vt=wt.basedOn||(/^[\x00-\x7F]+$/.test(wt.unsafeHTML)?"words":"letters");Fe(this.canvas,Vt);var $t=this.putEllipsis(this.calcIndexes()),Mt={clamped:$t,html:this.canvas.innerHTML};this.setState(Mt,wt.onReflow.bind(this,Mt))},gt.calcIndexes=function(){var wt=[0],Vt=this.nlUnits=Array.from(this.canvas.querySelectorAll(".LinesEllipsis-unit")),$t=Vt.length;if(!Vt.length)return wt;var Mt=Vt.find(Ze);if(!Mt)return wt;for(var rt=1,ut=Mt.offsetTop,bt=1;bt<$t&&!(Ze(Vt[bt])&&Vt[bt].offsetTop-ut>1&&(rt++,wt.push(bt),ut=Vt[bt].offsetTop,rt>this.maxLine));bt++);return wt},gt.putEllipsis=function(wt){if(wt.length<=this.maxLine)return!1;this.nlUnits=this.nlUnits.slice(0,wt[this.maxLine]);var Vt=this.nlUnits.pop(),$t=this.makeEllipsisSpan();do Ke(Vt,this.canvas),Je(Vt).appendChild($t),Vt=this.nlUnits.pop();while(Vt&&(!Ze(Vt)||$t.offsetHeight>Vt.offsetHeight||$t.offsetTop>Vt.offsetTop));return Vt&&Ge(Vt),this.nlUnits.forEach(Ge),!0},gt.makeEllipsisSpan=function(){var wt=this.props,Vt=wt.ellipsisHTML,$t=wt.ellipsis,Mt=document.createElement("span");Mt.appendChild(document.createElement("wbr"));var rt=document.createElement("span");return rt.className="LinesEllipsis-ellipsis",Vt?rt.innerHTML=Vt:rt.textContent=$t,Mt.appendChild(rt),Mt},gt.isClamped=function(){return this.clamped},gt.render=function(){var wt=this,Vt=this.state,$t=Vt.html,Mt=Vt.clamped,rt=this.props,ut=rt.component,bt=rt.className,St=rt.unsafeHTML,Ct=Le(rt,je);return Se.default.createElement(ut,Te({className:"LinesEllipsis "+(Mt?"LinesEllipsis--clamped":"")+" "+bt,ref:function(It){return wt.target=It}},qe(Ct,tt)),Se.default.createElement("div",{dangerouslySetInnerHTML:{__html:Mt?$t:St}}))},ot}(Se.default.PureComponent);return html$2=nt,html$2}var htmlExports=requireHtml();const HTMLEllipsis=getDefaultExportFromCjs$1(htmlExports);/*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */const{entries,setPrototypeOf,isFrozen,getPrototypeOf,getOwnPropertyDescriptor}=Object;let{freeze,seal,create}=Object,{apply,construct}=typeof Reflect<"u"&&Reflect;freeze||(freeze=function(Ce){return Ce});seal||(seal=function(Ce){return Ce});apply||(apply=function(Ce,Se,Te){return Ce.apply(Se,Te)});construct||(construct=function(Ce,Se){return new Ce(...Se)});const arrayForEach=unapply(Array.prototype.forEach),arrayLastIndexOf=unapply(Array.prototype.lastIndexOf),arrayPop=unapply(Array.prototype.pop),arrayPush=unapply(Array.prototype.push),arraySplice=unapply(Array.prototype.splice),stringToLowerCase=unapply(String.prototype.toLowerCase),stringToString=unapply(String.prototype.toString),stringMatch=unapply(String.prototype.match),stringReplace=unapply(String.prototype.replace),stringIndexOf=unapply(String.prototype.indexOf),stringTrim=unapply(String.prototype.trim),objectHasOwnProperty=unapply(Object.prototype.hasOwnProperty),regExpTest=unapply(RegExp.prototype.test),typeErrorCreate=unconstruct(TypeError);function unapply(be){return function(Ce){Ce instanceof RegExp&&(Ce.lastIndex=0);for(var Se=arguments.length,Te=new Array(Se>1?Se-1:0),Re=1;Re<Se;Re++)Te[Re-1]=arguments[Re];return apply(be,Ce,Te)}}function unconstruct(be){return function(){for(var Ce=arguments.length,Se=new Array(Ce),Te=0;Te<Ce;Te++)Se[Te]=arguments[Te];return construct(be,Se)}}function addToSet(be,Ce){let Se=arguments.length>2&&arguments[2]!==void 0?arguments[2]:stringToLowerCase;setPrototypeOf&&setPrototypeOf(be,null);let Te=Ce.length;for(;Te--;){let Re=Ce[Te];if(typeof Re=="string"){const Le=Se(Re);Le!==Re&&(isFrozen(Ce)||(Ce[Te]=Le),Re=Le)}be[Re]=!0}return be}function cleanArray(be){for(let Ce=0;Ce<be.length;Ce++)objectHasOwnProperty(be,Ce)||(be[Ce]=null);return be}function clone(be){const Ce=create(null);for(const[Se,Te]of entries(be))objectHasOwnProperty(be,Se)&&(Array.isArray(Te)?Ce[Se]=cleanArray(Te):Te&&typeof Te=="object"&&Te.constructor===Object?Ce[Se]=clone(Te):Ce[Se]=Te);return Ce}function lookupGetter(be,Ce){for(;be!==null;){const Te=getOwnPropertyDescriptor(be,Ce);if(Te){if(Te.get)return unapply(Te.get);if(typeof Te.value=="function")return unapply(Te.value)}be=getPrototypeOf(be)}function Se(){return null}return Se}const html$1=freeze(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),svg$1=freeze(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),svgFilters=freeze(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),svgDisallowed=freeze(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),mathMl$1=freeze(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),mathMlDisallowed=freeze(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),text=freeze(["#text"]),html=freeze(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),svg=freeze(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),mathMl=freeze(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),xml=freeze(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),MUSTACHE_EXPR=seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm),ERB_EXPR=seal(/<%[\w\W]*|[\w\W]*%>/gm),TMPLIT_EXPR=seal(/\$\{[\w\W]*/gm),DATA_ATTR=seal(/^data-[\-\w.\u00B7-\uFFFF]+$/),ARIA_ATTR=seal(/^aria-[\-\w]+$/),IS_ALLOWED_URI=seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),IS_SCRIPT_OR_DATA=seal(/^(?:\w+script|data):/i),ATTR_WHITESPACE=seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),DOCTYPE_NAME=seal(/^html$/i),CUSTOM_ELEMENT=seal(/^[a-z][.\w]*(-[.\w]+)+$/i);var EXPRESSIONS=Object.freeze({__proto__:null,ARIA_ATTR,ATTR_WHITESPACE,CUSTOM_ELEMENT,DATA_ATTR,DOCTYPE_NAME,ERB_EXPR,IS_ALLOWED_URI,IS_SCRIPT_OR_DATA,MUSTACHE_EXPR,TMPLIT_EXPR});const NODE_TYPE={element:1,text:3,progressingInstruction:7,comment:8,document:9},getGlobal=function be(){return typeof window>"u"?null:window},_createTrustedTypesPolicy=function be(Ce,Se){if(typeof Ce!="object"||typeof Ce.createPolicy!="function")return null;let Te=null;const Re="data-tt-policy-suffix";Se&&Se.hasAttribute(Re)&&(Te=Se.getAttribute(Re));const Le="dompurify"+(Te?"#"+Te:"");try{return Ce.createPolicy(Le,{createHTML(De){return De},createScriptURL(De){return De}})}catch{return console.warn("TrustedTypes policy "+Le+" could not be created."),null}},_createHooksMap=function be(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function createDOMPurify(){let be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:getGlobal();const Ce=sr=>createDOMPurify(sr);if(Ce.version="3.2.6",Ce.removed=[],!be||!be.document||be.document.nodeType!==NODE_TYPE.document||!be.Element)return Ce.isSupported=!1,Ce;let{document:Se}=be;const Te=Se,Re=Te.currentScript,{DocumentFragment:Le,HTMLTemplateElement:De,Node:Pe,Element:Oe,NodeFilter:qe,NamedNodeMap:je=be.NamedNodeMap||be.MozNamedAttrMap,HTMLFormElement:Fe,DOMParser:He,trustedTypes:Ge}=be,Ke=Oe.prototype,Je=lookupGetter(Ke,"cloneNode"),Ze=lookupGetter(Ke,"remove"),Ye=lookupGetter(Ke,"nextSibling"),tt=lookupGetter(Ke,"childNodes"),nt=lookupGetter(Ke,"parentNode");if(typeof De=="function"){const sr=Se.createElement("template");sr.content&&sr.content.ownerDocument&&(Se=sr.content.ownerDocument)}let it,ot="";const{implementation:gt,createNodeIterator:ft,createDocumentFragment:wt,getElementsByTagName:Vt}=Se,{importNode:$t}=Te;let Mt=_createHooksMap();Ce.isSupported=typeof entries=="function"&&typeof nt=="function"&>&>.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:rt,ERB_EXPR:ut,TMPLIT_EXPR:bt,DATA_ATTR:St,ARIA_ATTR:Ct,IS_SCRIPT_OR_DATA:Tt,ATTR_WHITESPACE:It,CUSTOM_ELEMENT:_t}=EXPRESSIONS;let{IS_ALLOWED_URI:st}=EXPRESSIONS,Nt=null;const fn=addToSet({},[...html$1,...svg$1,...svgFilters,...mathMl$1,...text]);let Xt=null;const pn=addToSet({},[...html,...svg,...mathMl,...xml]);let zt=Object.seal(create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),sn=null,Kt=null,on=!0,Rn=!0,En=!1,Yt=!0,Bt=!1,an=!0,ln=!1,gn=!1,wn=!1,In=!1,xn=!1,_n=!1,zn=!0,Nn=!1;const Hn="user-content-";let dr=!0,On=!1,cn={},mn=null;const $n=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Gn=null;const Zn=addToSet({},["audio","video","img","source","image","track"]);let yn=null;const Jt=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),qt="http://www.w3.org/1998/Math/MathML",dn="http://www.w3.org/2000/svg",Ln="http://www.w3.org/1999/xhtml";let kn=Ln,Cn=!1,Mn=null;const Yn=addToSet({},[qt,dn,Ln],stringToString);let ar=addToSet({},["mi","mo","mn","ms","mtext"]),jn=addToSet({},["annotation-xml"]);const Qn=addToSet({},["title","style","font","a","script"]);let tr=null;const Cr=["application/xhtml+xml","text/html"],Pr="text/html";let _r=null,Nr=null;const Ur=Se.createElement("form"),un=function(Vn){return Vn instanceof RegExp||Vn instanceof Function},Ht=function(){let Vn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Nr&&Nr===Vn)){if((!Vn||typeof Vn!="object")&&(Vn={}),Vn=clone(Vn),tr=Cr.indexOf(Vn.PARSER_MEDIA_TYPE)===-1?Pr:Vn.PARSER_MEDIA_TYPE,_r=tr==="application/xhtml+xml"?stringToString:stringToLowerCase,Nt=objectHasOwnProperty(Vn,"ALLOWED_TAGS")?addToSet({},Vn.ALLOWED_TAGS,_r):fn,Xt=objectHasOwnProperty(Vn,"ALLOWED_ATTR")?addToSet({},Vn.ALLOWED_ATTR,_r):pn,Mn=objectHasOwnProperty(Vn,"ALLOWED_NAMESPACES")?addToSet({},Vn.ALLOWED_NAMESPACES,stringToString):Yn,yn=objectHasOwnProperty(Vn,"ADD_URI_SAFE_ATTR")?addToSet(clone(Jt),Vn.ADD_URI_SAFE_ATTR,_r):Jt,Gn=objectHasOwnProperty(Vn,"ADD_DATA_URI_TAGS")?addToSet(clone(Zn),Vn.ADD_DATA_URI_TAGS,_r):Zn,mn=objectHasOwnProperty(Vn,"FORBID_CONTENTS")?addToSet({},Vn.FORBID_CONTENTS,_r):$n,sn=objectHasOwnProperty(Vn,"FORBID_TAGS")?addToSet({},Vn.FORBID_TAGS,_r):clone({}),Kt=objectHasOwnProperty(Vn,"FORBID_ATTR")?addToSet({},Vn.FORBID_ATTR,_r):clone({}),cn=objectHasOwnProperty(Vn,"USE_PROFILES")?Vn.USE_PROFILES:!1,on=Vn.ALLOW_ARIA_ATTR!==!1,Rn=Vn.ALLOW_DATA_ATTR!==!1,En=Vn.ALLOW_UNKNOWN_PROTOCOLS||!1,Yt=Vn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Bt=Vn.SAFE_FOR_TEMPLATES||!1,an=Vn.SAFE_FOR_XML!==!1,ln=Vn.WHOLE_DOCUMENT||!1,In=Vn.RETURN_DOM||!1,xn=Vn.RETURN_DOM_FRAGMENT||!1,_n=Vn.RETURN_TRUSTED_TYPE||!1,wn=Vn.FORCE_BODY||!1,zn=Vn.SANITIZE_DOM!==!1,Nn=Vn.SANITIZE_NAMED_PROPS||!1,dr=Vn.KEEP_CONTENT!==!1,On=Vn.IN_PLACE||!1,st=Vn.ALLOWED_URI_REGEXP||IS_ALLOWED_URI,kn=Vn.NAMESPACE||Ln,ar=Vn.MATHML_TEXT_INTEGRATION_POINTS||ar,jn=Vn.HTML_INTEGRATION_POINTS||jn,zt=Vn.CUSTOM_ELEMENT_HANDLING||{},Vn.CUSTOM_ELEMENT_HANDLING&&un(Vn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(zt.tagNameCheck=Vn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Vn.CUSTOM_ELEMENT_HANDLING&&un(Vn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(zt.attributeNameCheck=Vn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Vn.CUSTOM_ELEMENT_HANDLING&&typeof Vn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(zt.allowCustomizedBuiltInElements=Vn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Bt&&(Rn=!1),xn&&(In=!0),cn&&(Nt=addToSet({},text),Xt=[],cn.html===!0&&(addToSet(Nt,html$1),addToSet(Xt,html)),cn.svg===!0&&(addToSet(Nt,svg$1),addToSet(Xt,svg),addToSet(Xt,xml)),cn.svgFilters===!0&&(addToSet(Nt,svgFilters),addToSet(Xt,svg),addToSet(Xt,xml)),cn.mathMl===!0&&(addToSet(Nt,mathMl$1),addToSet(Xt,mathMl),addToSet(Xt,xml))),Vn.ADD_TAGS&&(Nt===fn&&(Nt=clone(Nt)),addToSet(Nt,Vn.ADD_TAGS,_r)),Vn.ADD_ATTR&&(Xt===pn&&(Xt=clone(Xt)),addToSet(Xt,Vn.ADD_ATTR,_r)),Vn.ADD_URI_SAFE_ATTR&&addToSet(yn,Vn.ADD_URI_SAFE_ATTR,_r),Vn.FORBID_CONTENTS&&(mn===$n&&(mn=clone(mn)),addToSet(mn,Vn.FORBID_CONTENTS,_r)),dr&&(Nt["#text"]=!0),ln&&addToSet(Nt,["html","head","body"]),Nt.table&&(addToSet(Nt,["tbody"]),delete sn.tbody),Vn.TRUSTED_TYPES_POLICY){if(typeof Vn.TRUSTED_TYPES_POLICY.createHTML!="function")throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Vn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');it=Vn.TRUSTED_TYPES_POLICY,ot=it.createHTML("")}else it===void 0&&(it=_createTrustedTypesPolicy(Ge,Re)),it!==null&&typeof ot=="string"&&(ot=it.createHTML(""));freeze&&freeze(Vn),Nr=Vn}},tn=addToSet({},[...svg$1,...svgFilters,...svgDisallowed]),rn=addToSet({},[...mathMl$1,...mathMlDisallowed]),vn=function(Vn){let rr=nt(Vn);(!rr||!rr.tagName)&&(rr={namespaceURI:kn,tagName:"template"});const Sr=stringToLowerCase(Vn.tagName),qr=stringToLowerCase(rr.tagName);return Mn[Vn.namespaceURI]?Vn.namespaceURI===dn?rr.namespaceURI===Ln?Sr==="svg":rr.namespaceURI===qt?Sr==="svg"&&(qr==="annotation-xml"||ar[qr]):!!tn[Sr]:Vn.namespaceURI===qt?rr.namespaceURI===Ln?Sr==="math":rr.namespaceURI===dn?Sr==="math"&&jn[qr]:!!rn[Sr]:Vn.namespaceURI===Ln?rr.namespaceURI===dn&&!jn[qr]||rr.namespaceURI===qt&&!ar[qr]?!1:!rn[Sr]&&(Qn[Sr]||!tn[Sr]):!!(tr==="application/xhtml+xml"&&Mn[Vn.namespaceURI]):!1},Gt=function(Vn){arrayPush(Ce.removed,{element:Vn});try{nt(Vn).removeChild(Vn)}catch{Ze(Vn)}},nn=function(Vn,rr){try{arrayPush(Ce.removed,{attribute:rr.getAttributeNode(Vn),from:rr})}catch{arrayPush(Ce.removed,{attribute:null,from:rr})}if(rr.removeAttribute(Vn),Vn==="is")if(In||xn)try{Gt(rr)}catch{}else try{rr.setAttribute(Vn,"")}catch{}},hn=function(Vn){let rr=null,Sr=null;if(wn)Vn="<remove></remove>"+Vn;else{const jr=stringMatch(Vn,/^[\r\n\t ]+/);Sr=jr&&jr[0]}tr==="application/xhtml+xml"&&kn===Ln&&(Vn='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+Vn+"</body></html>");const qr=it?it.createHTML(Vn):Vn;if(kn===Ln)try{rr=new He().parseFromString(qr,tr)}catch{}if(!rr||!rr.documentElement){rr=gt.createDocument(kn,"template",null);try{rr.documentElement.innerHTML=Cn?ot:qr}catch{}}const zr=rr.body||rr.documentElement;return Vn&&Sr&&zr.insertBefore(Se.createTextNode(Sr),zr.childNodes[0]||null),kn===Ln?Vt.call(rr,ln?"html":"body")[0]:ln?rr.documentElement:zr},Qt=function(Vn){return ft.call(Vn.ownerDocument||Vn,Vn,qe.SHOW_ELEMENT|qe.SHOW_COMMENT|qe.SHOW_TEXT|qe.SHOW_PROCESSING_INSTRUCTION|qe.SHOW_CDATA_SECTION,null)},Sn=function(Vn){return Vn instanceof Fe&&(typeof Vn.nodeName!="string"||typeof Vn.textContent!="string"||typeof Vn.removeChild!="function"||!(Vn.attributes instanceof je)||typeof Vn.removeAttribute!="function"||typeof Vn.setAttribute!="function"||typeof Vn.namespaceURI!="string"||typeof Vn.insertBefore!="function"||typeof Vn.hasChildNodes!="function")},Pn=function(Vn){return typeof Pe=="function"&&Vn instanceof Pe};function Fn(sr,Vn,rr){arrayForEach(sr,Sr=>{Sr.call(Ce,Vn,rr,Nr)})}const Kn=function(Vn){let rr=null;if(Fn(Mt.beforeSanitizeElements,Vn,null),Sn(Vn))return Gt(Vn),!0;const Sr=_r(Vn.nodeName);if(Fn(Mt.uponSanitizeElement,Vn,{tagName:Sr,allowedTags:Nt}),an&&Vn.hasChildNodes()&&!Pn(Vn.firstElementChild)&®ExpTest(/<[/\w!]/g,Vn.innerHTML)&®ExpTest(/<[/\w!]/g,Vn.textContent)||Vn.nodeType===NODE_TYPE.progressingInstruction||an&&Vn.nodeType===NODE_TYPE.comment&®ExpTest(/<[/\w]/g,Vn.data))return Gt(Vn),!0;if(!Nt[Sr]||sn[Sr]){if(!sn[Sr]&&br(Sr)&&(zt.tagNameCheck instanceof RegExp&®ExpTest(zt.tagNameCheck,Sr)||zt.tagNameCheck instanceof Function&&zt.tagNameCheck(Sr)))return!1;if(dr&&!mn[Sr]){const qr=nt(Vn)||Vn.parentNode,zr=tt(Vn)||Vn.childNodes;if(zr&&qr){const jr=zr.length;for(let Gr=jr-1;Gr>=0;--Gr){const Dr=Je(zr[Gr],!0);Dr.__removalCount=(Vn.__removalCount||0)+1,qr.insertBefore(Dr,Ye(Vn))}}}return Gt(Vn),!0}return Vn instanceof Oe&&!vn(Vn)||(Sr==="noscript"||Sr==="noembed"||Sr==="noframes")&®ExpTest(/<\/no(script|embed|frames)/i,Vn.innerHTML)?(Gt(Vn),!0):(Bt&&Vn.nodeType===NODE_TYPE.text&&(rr=Vn.textContent,arrayForEach([rt,ut,bt],qr=>{rr=stringReplace(rr,qr," ")}),Vn.textContent!==rr&&(arrayPush(Ce.removed,{element:Vn.cloneNode()}),Vn.textContent=rr)),Fn(Mt.afterSanitizeElements,Vn,null),!1)},er=function(Vn,rr,Sr){if(zn&&(rr==="id"||rr==="name")&&(Sr in Se||Sr in Ur))return!1;if(!(Rn&&!Kt[rr]&®ExpTest(St,rr))){if(!(on&®ExpTest(Ct,rr))){if(!Xt[rr]||Kt[rr]){if(!(br(Vn)&&(zt.tagNameCheck instanceof RegExp&®ExpTest(zt.tagNameCheck,Vn)||zt.tagNameCheck instanceof Function&&zt.tagNameCheck(Vn))&&(zt.attributeNameCheck instanceof RegExp&®ExpTest(zt.attributeNameCheck,rr)||zt.attributeNameCheck instanceof Function&&zt.attributeNameCheck(rr))||rr==="is"&&zt.allowCustomizedBuiltInElements&&(zt.tagNameCheck instanceof RegExp&®ExpTest(zt.tagNameCheck,Sr)||zt.tagNameCheck instanceof Function&&zt.tagNameCheck(Sr))))return!1}else if(!yn[rr]){if(!regExpTest(st,stringReplace(Sr,It,""))){if(!((rr==="src"||rr==="xlink:href"||rr==="href")&&Vn!=="script"&&stringIndexOf(Sr,"data:")===0&&Gn[Vn])){if(!(En&&!regExpTest(Tt,stringReplace(Sr,It,"")))){if(Sr)return!1}}}}}}return!0},br=function(Vn){return Vn!=="annotation-xml"&&stringMatch(Vn,_t)},vr=function(Vn){Fn(Mt.beforeSanitizeAttributes,Vn,null);const{attributes:rr}=Vn;if(!rr||Sn(Vn))return;const Sr={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Xt,forceKeepAttr:void 0};let qr=rr.length;for(;qr--;){const zr=rr[qr],{name:jr,namespaceURI:Gr,value:Dr}=zr,Fr=_r(jr),$r=Dr;let Br=jr==="value"?$r:stringTrim($r);if(Sr.attrName=Fr,Sr.attrValue=Br,Sr.keepAttr=!0,Sr.forceKeepAttr=void 0,Fn(Mt.uponSanitizeAttribute,Vn,Sr),Br=Sr.attrValue,Nn&&(Fr==="id"||Fr==="name")&&(nn(jr,Vn),Br=Hn+Br),an&®ExpTest(/((--!?|])>)|<\/(style|title)/i,Br)){nn(jr,Vn);continue}if(Sr.forceKeepAttr)continue;if(!Sr.keepAttr){nn(jr,Vn);continue}if(!Yt&®ExpTest(/\/>/i,Br)){nn(jr,Vn);continue}Bt&&arrayForEach([rt,ut,bt],wr=>{Br=stringReplace(Br,wr," ")});const Lr=_r(Vn.nodeName);if(!er(Lr,Fr,Br)){nn(jr,Vn);continue}if(it&&typeof Ge=="object"&&typeof Ge.getAttributeType=="function"&&!Gr)switch(Ge.getAttributeType(Lr,Fr)){case"TrustedHTML":{Br=it.createHTML(Br);break}case"TrustedScriptURL":{Br=it.createScriptURL(Br);break}}if(Br!==$r)try{Gr?Vn.setAttributeNS(Gr,jr,Br):Vn.setAttribute(jr,Br),Sn(Vn)?Gt(Vn):arrayPop(Ce.removed)}catch{nn(jr,Vn)}}Fn(Mt.afterSanitizeAttributes,Vn,null)},Mr=function sr(Vn){let rr=null;const Sr=Qt(Vn);for(Fn(Mt.beforeSanitizeShadowDOM,Vn,null);rr=Sr.nextNode();)Fn(Mt.uponSanitizeShadowNode,rr,null),Kn(rr),vr(rr),rr.content instanceof Le&&sr(rr.content);Fn(Mt.afterSanitizeShadowDOM,Vn,null)};return Ce.sanitize=function(sr){let Vn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},rr=null,Sr=null,qr=null,zr=null;if(Cn=!sr,Cn&&(sr="<!-->"),typeof sr!="string"&&!Pn(sr))if(typeof sr.toString=="function"){if(sr=sr.toString(),typeof sr!="string")throw typeErrorCreate("dirty is not a string, aborting")}else throw typeErrorCreate("toString is not a function");if(!Ce.isSupported)return sr;if(gn||Ht(Vn),Ce.removed=[],typeof sr=="string"&&(On=!1),On){if(sr.nodeName){const Dr=_r(sr.nodeName);if(!Nt[Dr]||sn[Dr])throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place")}}else if(sr instanceof Pe)rr=hn("<!---->"),Sr=rr.ownerDocument.importNode(sr,!0),Sr.nodeType===NODE_TYPE.element&&Sr.nodeName==="BODY"||Sr.nodeName==="HTML"?rr=Sr:rr.appendChild(Sr);else{if(!In&&!Bt&&!ln&&sr.indexOf("<")===-1)return it&&_n?it.createHTML(sr):sr;if(rr=hn(sr),!rr)return In?null:_n?ot:""}rr&&wn&&Gt(rr.firstChild);const jr=Qt(On?sr:rr);for(;qr=jr.nextNode();)Kn(qr),vr(qr),qr.content instanceof Le&&Mr(qr.content);if(On)return sr;if(In){if(xn)for(zr=wt.call(rr.ownerDocument);rr.firstChild;)zr.appendChild(rr.firstChild);else zr=rr;return(Xt.shadowroot||Xt.shadowrootmode)&&(zr=$t.call(Te,zr,!0)),zr}let Gr=ln?rr.outerHTML:rr.innerHTML;return ln&&Nt["!doctype"]&&rr.ownerDocument&&rr.ownerDocument.doctype&&rr.ownerDocument.doctype.name&®ExpTest(DOCTYPE_NAME,rr.ownerDocument.doctype.name)&&(Gr="<!DOCTYPE "+rr.ownerDocument.doctype.name+`>
|
|
2513
2513
|
`+Gr),Bt&&arrayForEach([rt,ut,bt],Dr=>{Gr=stringReplace(Gr,Dr," ")}),it&&_n?it.createHTML(Gr):Gr},Ce.setConfig=function(){let sr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ht(sr),gn=!0},Ce.clearConfig=function(){Nr=null,gn=!1},Ce.isValidAttribute=function(sr,Vn,rr){Nr||Ht({});const Sr=_r(sr),qr=_r(Vn);return er(Sr,qr,rr)},Ce.addHook=function(sr,Vn){typeof Vn=="function"&&arrayPush(Mt[sr],Vn)},Ce.removeHook=function(sr,Vn){if(Vn!==void 0){const rr=arrayLastIndexOf(Mt[sr],Vn);return rr===-1?void 0:arraySplice(Mt[sr],rr,1)[0]}return arrayPop(Mt[sr])},Ce.removeHooks=function(sr){Mt[sr]=[]},Ce.removeAllHooks=function(){Mt=_createHooksMap()},Ce}var purify=createDOMPurify(),dist={},hasRequiredDist;function requireDist(){if(hasRequiredDist)return dist;hasRequiredDist=1;const be=/[^\0-\x7E]/,Ce=/[\x2E\u3002\uFF0E\uFF61]/g,Se={overflow:"Overflow Error","not-basic":"Illegal Input","invalid-input":"Invalid Input"},Te=Math.floor,Re=String.fromCharCode;function Le(un){throw new RangeError(Se[un])}const De=function(un,Ht){return un+22+75*(un<26)-((Ht!=0)<<5)},Pe=function(un,Ht,tn){let rn=0;for(un=tn?Te(un/700):un>>1,un+=Te(un/Ht);un>455;rn+=36)un=Te(un/35);return Te(rn+36*un/(un+38))};function Oe(un){return function(Ht,tn){const rn=Ht.split("@");let vn="";rn.length>1&&(vn=rn[0]+"@",Ht=rn[1]);const Gt=function(nn,hn){const Qt=[];let Sn=nn.length;for(;Sn--;)Qt[Sn]=hn(nn[Sn]);return Qt}((Ht=Ht.replace(Ce,".")).split("."),tn).join(".");return vn+Gt}(un,function(Ht){return be.test(Ht)?"xn--"+function(tn){const rn=[],vn=(tn=function(Pn){const Fn=[];let Kn=0;const er=Pn.length;for(;Kn<er;){const br=Pn.charCodeAt(Kn++);if(br>=55296&&br<=56319&&Kn<er){const vr=Pn.charCodeAt(Kn++);(64512&vr)==56320?Fn.push(((1023&br)<<10)+(1023&vr)+65536):(Fn.push(br),Kn--)}else Fn.push(br)}return Fn}(tn)).length;let Gt=128,nn=0,hn=72;for(const Pn of tn)Pn<128&&rn.push(Re(Pn));const Qt=rn.length;let Sn=Qt;for(Qt&&rn.push("-");Sn<vn;){let Pn=2147483647;for(const Kn of tn)Kn>=Gt&&Kn<Pn&&(Pn=Kn);const Fn=Sn+1;Pn-Gt>Te((2147483647-nn)/Fn)&&Le("overflow"),nn+=(Pn-Gt)*Fn,Gt=Pn;for(const Kn of tn)if(Kn<Gt&&++nn>2147483647&&Le("overflow"),Kn==Gt){let er=nn;for(let br=36;;br+=36){const vr=br<=hn?1:br>=hn+26?26:br-hn;if(er<vr)break;const Mr=er-vr,sr=36-vr;rn.push(Re(De(vr+Mr%sr,0))),er=Te(Mr/sr)}rn.push(Re(De(er,0))),hn=Pe(nn,Fn,Sn==Qt),nn=0,++Sn}++nn,++Gt}return rn.join("")}(Ht):Ht})}const qe=/#/g,je=/&/g,Fe=/\//g,He=/=/g,Ge=/\?/g,Ke=/\+/g,Je=/%5e/gi,Ze=/%60/gi,Ye=/%7b/gi,tt=/%7c/gi,nt=/%7d/gi,it=/%20/gi,ot=/%2f/gi,gt=/%252f/gi;function ft(un){return encodeURI(""+un).replace(tt,"|")}function wt(un){return ft(un).replace(Ye,"{").replace(nt,"}").replace(Je,"^")}function Vt(un){return ft(typeof un=="string"?un:JSON.stringify(un)).replace(Ke,"%2B").replace(it,"+").replace(qe,"%23").replace(je,"%26").replace(Ze,"`").replace(Je,"^").replace(Fe,"%2F")}function $t(un){return Vt(un).replace(He,"%3D")}function Mt(un){return ft(un).replace(qe,"%23").replace(Ge,"%3F").replace(gt,"%2F").replace(je,"%26").replace(Ke,"%2B")}function rt(un){return Mt(un).replace(Fe,"%2F")}function ut(un=""){try{return decodeURIComponent(""+un)}catch{return""+un}}function bt(un){return ut(un.replace(ot,"%252F"))}function St(un){return ut(un.replace(Ke," "))}function Ct(un){return ut(un.replace(Ke," "))}function Tt(un=""){return Oe(un)}function It(un=""){const Ht=Object.create(null);un[0]==="?"&&(un=un.slice(1));for(const tn of un.split("&")){const rn=tn.match(/([^=]+)=?(.*)/)||[];if(rn.length<2)continue;const vn=St(rn[1]);if(vn==="__proto__"||vn==="constructor")continue;const Gt=Ct(rn[2]||"");Ht[vn]===void 0?Ht[vn]=Gt:Array.isArray(Ht[vn])?Ht[vn].push(Gt):Ht[vn]=[Ht[vn],Gt]}return Ht}function _t(un,Ht){return(typeof Ht=="number"||typeof Ht=="boolean")&&(Ht=String(Ht)),Ht?Array.isArray(Ht)?Ht.map(tn=>`${$t(un)}=${Vt(tn)}`).join("&"):`${$t(un)}=${Vt(Ht)}`:$t(un)}function st(un){return Object.keys(un).filter(Ht=>un[Ht]!==void 0).map(Ht=>_t(Ht,un[Ht])).filter(Boolean).join("&")}const Nt=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,fn=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,Xt=/^([/\\]\s*){2,}[^/\\]/,pn=/^[\s\0]*(blob|data|javascript|vbscript):$/i,zt=/\/$|\/\?|\/#/,sn=/^\.?\//;function Kt(un){return["./","../"].some(Ht=>un.startsWith(Ht))}function on(un,Ht={}){return typeof Ht=="boolean"&&(Ht={acceptRelative:Ht}),Ht.strict?Nt.test(un):fn.test(un)||(Ht.acceptRelative?Xt.test(un):!1)}function Rn(un){return!!un&&pn.test(un)}function En(un="",Ht){return Ht?zt.test(un):un.endsWith("/")}function Yt(un="",Ht){if(!Ht)return(En(un)?un.slice(0,-1):un)||"/";if(!En(un,!0))return un||"/";let tn=un,rn="";const vn=un.indexOf("#");vn!==-1&&(tn=un.slice(0,vn),rn=un.slice(vn));const[Gt,...nn]=tn.split("?");return((Gt.endsWith("/")?Gt.slice(0,-1):Gt)||"/")+(nn.length>0?`?${nn.join("?")}`:"")+rn}function Bt(un="",Ht){if(!Ht)return un.endsWith("/")?un:un+"/";if(En(un,!0))return un||"/";let tn=un,rn="";const vn=un.indexOf("#");if(vn!==-1&&(tn=un.slice(0,vn),rn=un.slice(vn),!tn))return rn;const[Gt,...nn]=tn.split("?");return Gt+"/"+(nn.length>0?`?${nn.join("?")}`:"")+rn}function an(un=""){return un.startsWith("/")}function ln(un=""){return(an(un)?un.slice(1):un)||"/"}function gn(un=""){return an(un)?un:"/"+un}function wn(un=""){return un.split("://").map(Ht=>Ht.replace(/\/{2,}/g,"/")).join("://")}function In(un,Ht){if(Hn(Ht)||on(un))return un;const tn=Yt(Ht);return un.startsWith(tn)?un:On(tn,un)}function xn(un,Ht){if(Hn(Ht))return un;const tn=Yt(Ht);if(!un.startsWith(tn))return un;const rn=un.slice(tn.length);return rn[0]==="/"?rn:"/"+rn}function _n(un,Ht){const tn=Yn(un),rn={...It(tn.search),...Ht};return tn.search=st(rn),tr(tn)}function zn(un,Ht){if(!un.includes("?"))return un;const tn=Yn(un),rn=It(tn.search),vn=Object.fromEntries(Object.entries(rn).filter(([Gt,nn])=>Ht(Gt,nn)));return tn.search=st(vn),tr(tn)}function Nn(un){return It(Yn(un).search)}function Hn(un){return!un||un==="/"}function dr(un){return un&&un!=="/"}function On(un,...Ht){let tn=un||"";for(const rn of Ht.filter(vn=>dr(vn)))if(tn){const vn=rn.replace(sn,"");tn=Bt(tn)+vn}else tn=rn;return tn}function cn(...un){const Ht=/\/(?!\/)/,tn=un.filter(Boolean),rn=[];let vn=0;for(const nn of tn)if(!(!nn||nn==="/")){for(const[hn,Qt]of nn.split(Ht).entries())if(!(!Qt||Qt===".")){if(Qt===".."){if(rn.length===1&&on(rn[0]))continue;rn.pop(),vn--;continue}if(hn===1&&rn[rn.length-1]?.endsWith(":/")){rn[rn.length-1]+="/"+Qt;continue}rn.push(Qt),vn++}}let Gt=rn.join("/");return vn>=0?tn[0]?.startsWith("/")&&!Gt.startsWith("/")?Gt="/"+Gt:tn[0]?.startsWith("./")&&!Gt.startsWith("./")&&(Gt="./"+Gt):Gt="../".repeat(-1*vn)+Gt,tn[tn.length-1]?.endsWith("/")&&!Gt.endsWith("/")&&(Gt+="/"),Gt}function mn(un){return Zn(un,"http://")}function $n(un){return Zn(un,"https://")}function Gn(un){return Zn(un,"")}function Zn(un,Ht){let tn=un.match(fn);return tn||(tn=un.match(/^\/{2,}/)),tn?Ht+un.slice(tn[0].length):Ht+un}function yn(un){const Ht=Yn(un);return Ht.pathname=Mt(bt(Ht.pathname)),Ht.hash=wt(ut(Ht.hash)),Ht.host=Tt(ut(Ht.host)),Ht.search=st(It(Ht.search)),tr(Ht)}function Jt(un="",...Ht){if(typeof un!="string")throw new TypeError(`URL input should be string received ${typeof un} (${un})`);const tn=Ht.filter(vn=>dr(vn));if(tn.length===0)return un;const rn=Yn(un);for(const vn of tn){const Gt=Yn(vn);if(Gt.pathname&&(rn.pathname=Bt(rn.pathname)+ln(Gt.pathname)),Gt.hash&&Gt.hash!=="#"&&(rn.hash=Gt.hash),Gt.search&&Gt.search!=="?")if(rn.search&&rn.search!=="?"){const nn=st({...It(rn.search),...It(Gt.search)});rn.search=nn.length>0?"?"+nn:""}else rn.search=Gt.search}return tr(rn)}function qt(un,Ht){return ut(Yt(un))===ut(Yt(Ht))}function dn(un,Ht,tn={}){return tn.trailingSlash||(un=Bt(un),Ht=Bt(Ht)),tn.leadingSlash||(un=gn(un),Ht=gn(Ht)),tn.encoding||(un=ut(un),Ht=ut(Ht)),un===Ht}function Ln(un,Ht){if(!Ht||Ht==="#")return un;const tn=Yn(un);return tn.hash=Ht===""?"":"#"+wt(Ht),tr(tn)}function kn(un){return tr({...Yn(un),hash:""})}function Cn(un){const Ht=Yn(un);return(Ht.pathname||"/")+Ht.search+Ht.hash}const Mn=Symbol.for("ufo:protocolRelative");function Yn(un="",Ht){const tn=un.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(tn){const[,Fn,Kn=""]=tn;return{protocol:Fn.toLowerCase(),pathname:Kn,href:Fn+Kn,auth:"",host:"",search:"",hash:""}}if(!on(un,{acceptRelative:!0}))return Ht?Yn(Ht+un):ar(un);const[,rn="",vn,Gt=""]=un.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,nn="",hn=""]=Gt.match(/([^#/?]*)(.*)?/)||[];rn==="file:"&&(hn=hn.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:Qt,search:Sn,hash:Pn}=ar(hn);return{protocol:rn.toLowerCase(),auth:vn?vn.slice(0,Math.max(0,vn.length-1)):"",host:nn,pathname:Qt,search:Sn,hash:Pn,[Mn]:!rn}}function ar(un=""){const[Ht="",tn="",rn=""]=(un.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:Ht,search:tn,hash:rn}}function jn(un=""){const[Ht,tn]=un.split(":");return{username:ut(Ht),password:ut(tn)}}function Qn(un=""){const[Ht,tn]=(un.match(/([^/:]*):?(\d+)?/)||[]).splice(1);return{hostname:ut(Ht),port:tn}}function tr(un){const Ht=un.pathname||"",tn=un.search?(un.search.startsWith("?")?"":"?")+un.search:"",rn=un.hash||"",vn=un.auth?un.auth+"@":"",Gt=un.host||"";return(un.protocol||un[Mn]?(un.protocol||"")+"//":"")+vn+Gt+Ht+tn+rn}const Cr=/\/([^/]+\.[^/]+)$/,Pr=/\/([^/]+)$/;function _r(un="",Ht){const{pathname:tn}=Yn(un),rn=Ht?.strict?tn.match(Cr):tn.match(Pr);return rn?rn[1]:void 0}class Nr{protocol;host;auth;pathname;query={};hash;constructor(Ht=""){if(typeof Ht!="string")throw new TypeError(`URL input should be string received ${typeof Ht} (${Ht})`);const tn=Yn(Ht);this.protocol=ut(tn.protocol),this.host=ut(tn.host),this.auth=ut(tn.auth),this.pathname=bt(tn.pathname),this.query=It(tn.search),this.hash=ut(tn.hash)}get hostname(){return Qn(this.host).hostname}get port(){return Qn(this.host).port||""}get username(){return jn(this.auth).username}get password(){return jn(this.auth).password||""}get hasProtocol(){return this.protocol.length}get isAbsolute(){return this.hasProtocol||this.pathname[0]==="/"}get search(){const Ht=st(this.query);return Ht.length>0?"?"+Ht:""}get searchParams(){const Ht=new URLSearchParams;for(const tn in this.query){const rn=this.query[tn];if(Array.isArray(rn))for(const vn of rn)Ht.append(tn,vn);else Ht.append(tn,typeof rn=="string"?rn:JSON.stringify(rn))}return Ht}get origin(){return(this.protocol?this.protocol+"//":"")+Tt(this.host)}get fullpath(){return Mt(this.pathname)+this.search+wt(this.hash)}get encodedAuth(){if(!this.auth)return"";const{username:Ht,password:tn}=jn(this.auth);return encodeURIComponent(Ht)+(tn?":"+encodeURIComponent(tn):"")}get href(){const Ht=this.encodedAuth,tn=(this.protocol?this.protocol+"//":"")+(Ht?Ht+"@":"")+Tt(this.host);return this.hasProtocol&&this.isAbsolute?tn+this.fullpath:this.fullpath}append(Ht){if(Ht.hasProtocol)throw new Error("Cannot append a URL with protocol");Object.assign(this.query,Ht.query),Ht.pathname&&(this.pathname=Bt(this.pathname)+ln(Ht.pathname)),Ht.hash&&(this.hash=Ht.hash)}toJSON(){return this.href}toString(){return this.href}}function Ur(un){return new Nr(un)}return dist.$URL=Nr,dist.cleanDoubleSlashes=wn,dist.createURL=Ur,dist.decode=ut,dist.decodePath=bt,dist.decodeQueryKey=St,dist.decodeQueryValue=Ct,dist.encode=ft,dist.encodeHash=wt,dist.encodeHost=Tt,dist.encodeParam=rt,dist.encodePath=Mt,dist.encodeQueryItem=_t,dist.encodeQueryKey=$t,dist.encodeQueryValue=Vt,dist.filterQuery=zn,dist.getQuery=Nn,dist.hasLeadingSlash=an,dist.hasProtocol=on,dist.hasTrailingSlash=En,dist.isEmptyURL=Hn,dist.isEqual=dn,dist.isNonEmptyURL=dr,dist.isRelative=Kt,dist.isSamePath=qt,dist.isScriptProtocol=Rn,dist.joinRelativeURL=cn,dist.joinURL=On,dist.normalizeURL=yn,dist.parseAuth=jn,dist.parseFilename=_r,dist.parseHost=Qn,dist.parsePath=ar,dist.parseQuery=It,dist.parseURL=Yn,dist.resolveURL=Jt,dist.stringifyParsedURL=tr,dist.stringifyQuery=st,dist.withBase=In,dist.withFragment=Ln,dist.withHttp=mn,dist.withHttps=$n,dist.withLeadingSlash=gn,dist.withProtocol=Zn,dist.withQuery=_n,dist.withTrailingSlash=Bt,dist.withoutBase=xn,dist.withoutFragment=kn,dist.withoutHost=Cn,dist.withoutLeadingSlash=ln,dist.withoutProtocol=Gn,dist.withoutTrailingSlash=Yt,dist}const require$$1$2=getAugmentedNamespace(isEmpty$1);var constant,hasRequiredConstant;function requireConstant(){return hasRequiredConstant||(hasRequiredConstant=1,constant={DEFAULT_AVATAR:"https://web.abtwallet.io/static/images/public_default_avatar.png",SUPPORT_TX_TYPES:["Transfer","TransferV2","Exchange","ExchangeV2","AcquireAssetV2","Delegate","RevokeStake","ClaimStake","CreateAsset","CreateFactory","CreateToken","ConsumeAsset"],ASSETS_TYPES:{WALLET:"WALLET",VC_BADGE:"VC_BADGE",VC_CREDENTIAL:"VC_CREDENTIAL",VC_CERTIFICATION:"VC_CERTIFICATION",VC_TICKET:"VC_TICKET",VC_PASSPORT:"VC_PASSPORT",UNKNOWN:"UNKNOWN",NFT_COMMON_DISPLAY:"NFT_COMMON_DISPLAY"},NONE_FLAG:"none",IGNORE_CHAIN:["none","abtnode","eth","playground"],BLACK_LIST_CHAIN_HOST:["lbd.abtnetwork.io","zinc.network.arcblockio.cn","app.didconnect.io","ausd.abtnetwork.io","zinc.abtnetwork.io"],DEFAULT_MAIN_HOST:"https://main.abtnetwork.io/api/",DEFAULT_BETA_HOST:"https://beta.abtnetwork.io/api/",TOKEN_SWAP_CHAIN_HOSTS:["xenon.abtnetwork.io","xenon.network.arcblockio.cn","main.abtnetwork.io"],ARCBLOCK_TOKEN_CONTRACT_ADDRESS:"0xB98d4C97425d9908E66E53A6fDf673ACcA0BE986",ABT_TOKEN_ADDRESS:"z35nNRvYxBoHitx9yZ5ATS88psfShzPPBLxYD",ASSET_CHAIN_ID:"xenon-2020-01-15",BETA_CHAIN:"beta",ETH_MAIN_CHAIN_ID:"evm-1",DEFAULT_CHAIN_TOKEN:"ABT",DEFAULT_ETH_TOKEN:"ETH",DEFAULT_GAS_LIMIT:25200,DEFAULT_ERC20_GAS_LIMIT:8e4,CONTRACT_GAS_LIMIT:4e4,DEFAULT_WITHDRAW_GAS_LIMIT:1e5,GWEI:10**9,DEFAULT_DECIMAL:18,BASE_RATE:1e4,CURRENT_UNIT:"price-unit",HIDE_TEST_CHAINS:"hide-test-chains",HIDE_PRICE:"hide-balance-price",DEFAULT_IPFS_GATEWAY_HOST:"default-ipfs-gateway-host",DEFAULT_IPFS_GATEWAY:"default-ipfs-gateway",TX_SEND_STATUS:{WAITING:"WAITING",PENDING:"PENDING",OK:"OK",REPLACED:"replaced",FAIL_BEFORE_SEND:"fail-before-send",FAIL:"fail"},INFURA_PROJECT_ID:"ffa38bc49bc64c9c94df039a626aeeaf",EVM_DEFAULT_TOKEN_ADDRESS:"default",CURRENT_VERSION:"4.0",INIT_WALLET:"init-wallet",INIT_WALLET_TITLE:"wallet-title",INIT_CONNECT_SOCKET:"have-checked-connect-socket",INIT_GENERATE_DEFAULT:"default-information-has-been-generated",ENUM_SEND_TYPE:{EVM_ASSET:"evm-asset",OCAP_ASSET:"ocap-asset",EVM_TOKEN:"evm-token",OCAP_TOKEN:"ocap-token"},MAIN_OPENSEA_PROFILE:"https://opensea.io/account",TEST_OPENSEA_PROFILE:"https://testnets.opensea.io/account",VERSION_KEY:"local-wallet-version",ChainTxType:{Transfer:"transfer",TransferV2:"transfer_v2",TransferV3:"transfer_v3",ExchangeV2:"exchange_v2",Stake:"stake",RevokeStake:"revoke_stake",ClaimStake:"claim_stake",CreateFactory:"create_factory",CreateToken:"create_token",CreateAsset:"create_asset",AcquireAssetV2:"acquire_asset_v2",AcquireAssetV3:"acquire_asset_v3",WithdrawTokenV2:"withdraw_token_v2",DepositTokenV2:"deposit_token_v2",Delegate:"delegate",RevokeDelegate:"revoke_delegate",SlashStake:"slash_stake",MintAsset:"mint_asset"},loadingKeys:{migration:"migrationProviderLoading",generate:"generateProviderLoading",states:"statesProviderLoading",importData:"isImportBackupFile",security:"securityPassword"},DEFAULT_TOKEN_ADDRESS:["none","default"],KEY_PAIR_APP_ID:"zfffffffffffffffffffffffffffffffff"}),constant}var config,hasRequiredConfig;function requireConfig(){if(hasRequiredConfig)return config;hasRequiredConfig=1;const{ASSET_CHAIN_ID:be,BETA_CHAIN:Ce,INFURA_PROJECT_ID:Se,DEFAULT_BETA_HOST:Te,DEFAULT_MAIN_HOST:Re}=requireConstant(),Le=({chainId:Mt,chainName:rt,symbol:ut,decimal:bt,defaultRPC:St,explorer:Ct,isTest:Tt,canRemove:It,networkName:_t,icon:st="",host:Nt,consensusVersion:fn,endpoints:Xt=[]})=>({chainId:Mt,chainName:rt,symbol:ut,decimal:bt,defaultRPC:St,explorer:Ct,isTest:Tt,canRemove:It,networkName:_t,icon:st,host:Nt,consensusVersion:fn,endpoints:Xt.length?Xt:[St]}),De={EthereumMainnet:"EthereumMainnet",1:"EthereumMainnet",Ropsten:"Ropsten",3:"Ropsten",Rinkeby:"Rinkeby",4:"Rinkeby",Goerli:"Goerli",5:"Goerli",Kovan:"Kovan",42:"Kovan",BSC:"BSC",56:"BSC",BSCTestnet:"BSCTestnet",97:"BSCTestnet",EthereumClassic:"EthereumClassic",61:"EthereumClassic",EthereumClassicMordor:"EthereumClassicMordor",63:"EthereumClassicMordor",EthereumFair:"EthereumFair",513100:"EthereumFair",Arbitrum:"Arbitrum",42161:"Arbitrum",ArbitrumTestnet:"ArbitrumTestnet",421611:"ArbitrumTestnet"},Pe="evm-",Oe=`${Pe}1`,qe=`${Pe}3`,je=`${Pe}4`,Fe=`${Pe}5`,He=`${Pe}42`,Ge=`${Pe}56`,Ke=`${Pe}97`,Je=`${Pe}513100`,Ze=`${Pe}42161`,Ye=`${Pe}421611`,tt=`${Pe}61`,nt=`${Pe}63`,it="5e624de4f2e0d168d3b894131df06fb1b5cb288e",ot="qalBfUm3aQWUb9CyJWy0AunAMkYWTQKN",gt="50adb12d647f7abc6ac7943ee97d33037a7ca65c",ft="3iP2OU6Hnteu-UW4OX6U6Nb-6lxc3_Lk",wt={[De.EthereumMainnet]:Le({chainId:Oe,chainName:"Ethereum Mainnet",symbol:"ETH",decimal:18,defaultRPC:`https://mainnet.infura.io/v3/${Se}`,explorer:"https://etherscan.io",isTest:!1,canRemove:!1,networkName:"mainnet",endpoints:[`https://mainnet.infura.io/v3/${Se}`,`https://eth-mainnet.g.alchemy.com/v2/${ft}`,"https://eth-rpc.gateway.pokt.network/",`https://old-wild-sound.discover.quiknode.pro/${gt}/`]}),[De.Goerli]:Le({chainId:Fe,chainName:"Ethereum Goerli",symbol:"GOR",decimal:18,defaultRPC:`https://goerli.infura.io/v3/${Se}`,explorer:"https://goerli.etherscan.io",isTest:!0,canRemove:!0,networkName:"goerli",endpoints:[`https://goerli.infura.io/v3/${Se}`,"https://eth-goerli-rpc.gateway.pokt.network/",`https://eth-goerli.g.alchemy.com/v2/${ot}`,`https://crimson-chaotic-asphalt.ethereum-goerli.discover.quiknode.pro/${it}/`]}),[De.Ropsten]:Le({chainId:qe,chainName:"Ethereum Ropsten",symbol:"ROP",decimal:18,defaultRPC:`https://ropsten.infura.io/v3/${Se}`,explorer:"https://ropsten.etherscan.io",isTest:!0,canRemove:!0,networkName:"ropsten"}),[De.Rinkeby]:Le({chainId:je,chainName:"Ethereum Rinkeby",symbol:"RIN",decimal:18,defaultRPC:`https://rinkeby.infura.io/v3/${Se}`,explorer:"https://rinkeby.etherscan.io",isTest:!0,canRemove:!0,networkName:"rinkeby"}),[De.Kovan]:Le({chainId:He,chainName:"Ethereum Kovan",symbol:"KOV",decimal:18,defaultRPC:`https://kovan.infura.io/v3/${Se}`,explorer:"https://kovan.etherscan.io",isTest:!0,canRemove:!0,networkName:"kovan"}),[De.BSC]:Le({chainId:Ge,chainName:"Binance Smart Chain",symbol:"BNB",decimal:18,defaultRPC:"https://bsc-dataseed.binance.org/",explorer:"https://bscscan.com",isTest:!1,canRemove:!0,networkName:"BNB"}),[De.BSCTestnet]:Le({chainId:Ke,chainName:"Binance Smart Test Chain",symbol:"tBNB",decimal:18,defaultRPC:"https://data-seed-prebsc-1-s1.binance.org:8545/",explorer:"https://testnet.bscscan.com",isTest:!0,canRemove:!0,networkName:"BNB"}),[De.EthereumFair]:Le({chainId:Je,chainName:"EthereumFair",symbol:"ETHF",decimal:18,defaultRPC:"https://rpc.etherfair.org",explorer:"https://explorer.etherfair.org",isTest:!1,canRemove:!0,networkName:"Ethereum Fair"}),[De.Arbitrum]:Le({chainId:Ze,chainName:"Arbitrum",symbol:"ETH",decimal:18,defaultRPC:"https://arb1.arbitrum.io/rpc",explorer:"https://explorer.arbitrum.io",isTest:!1,canRemove:!0,networkName:"Arbitrum"}),[De.ArbitrumTestnet]:Le({chainId:Ye,chainName:"Arbitrum Testnet",symbol:"ARETH",decimal:18,defaultRPC:"https://rinkeby.arbitrum.io/rpc",explorer:"https://rinkeby-explorer.arbitrum.io",isTest:!0,canRemove:!0,networkName:"Arbitrum Testnet"}),[De.EthereumClassic]:Le({chainId:tt,chainName:"Ethereum Classic",symbol:"ETC",decimal:18,defaultRPC:"https://www.ethercluster.com/etc",explorer:"https://blockscout.com/etc/mainnet",isTest:!1,canRemove:!0,networkName:"Ethereum Classic"}),[De.EthereumClassicMordor]:Le({chainId:nt,chainName:"Ethereum Classic Mordor",symbol:"METC",decimal:18,defaultRPC:"https://www.ethercluster.com/mordor",explorer:"https://blockscout.com/etc/mordor",isTest:!0,canRemove:!0,networkName:"Ethereum Classic Mordor"})},Vt={[be]:Le({chainId:be,chainName:"Main",symbol:"ABT",decimal:18,defaultRPC:"https://main.abtnetwork.io/api/",explorer:"https://main.abtnetwork.io/explorer",isTest:!1,canRemove:!1,networkName:"ArcBlock Main",host:Re,consensusVersion:"@ocap/statedb-qldb v1.14.9"}),[Ce]:Le({chainId:Ce,chainName:"Beta",symbol:"TBA",decimal:18,defaultRPC:Te,explorer:"https://beta.abtnetwork.io/explorer",isTest:!0,canRemove:!0,networkName:"ArcBlock Beta",host:Te,consensusVersion:"ocap/statedb-qldb v1.14.3"})};return config={generateEVMChain:Le,getConfigByChainId:Mt=>{let rt=Mt;try{Mt.startsWith(Pe)&&(rt=Mt.replace(Pe,""))}catch{rt=Mt}return wt[De[rt]]},arcChainConfig:Vt,CHAIN:De,EVM_PREFIX:Pe,evmConfig:wt,QUICK_NODE_KEY_TEST:it,ARCHEMY_KEY_TEST:ot,QUICK_NODE_KEY_MAIN:gt,ARCHEMY_KEY_MAIN:ft,ASSET_CHAIN_ID:be,BETA_CHAIN:Ce,INFURA_PROJECT_ID:Se,DEFAULT_BETA_HOST:Te,DEFAULT_MAIN_HOST:Re},config}var util$1,hasRequiredUtil$1;function requireUtil$1(){if(hasRequiredUtil$1)return util$1;hasRequiredUtil$1=1;const{joinURL:be}=requireDist(),Ce=require$$1$2,{getConfigByChainId:Se,EVM_PREFIX:Te}=requireConfig(),Re=Ze=>Ze?Ze.startsWith(Te):!1,Le=Ze=>{const Ye=Se(Ze);return Ye?Ye.explorer:""},De=()=>{const Ze=window?.env?.appId;return Ze?`notifications-durable-list-${Ze}`:""},Pe=Ze=>{try{return JSON.parse(localStorage.getItem(Ze))}catch{return{}}},Oe=(Ze,Ye)=>{localStorage.setItem(Ze,JSON.stringify(Ye))},qe=Ze=>{localStorage.removeItem(Ze)},je=Ze=>{const{blocklet:Ye={}}=window,{componentMountPoints:tt=[]}=Ye,nt=tt.find(it=>it.did==="z8ia1mAXo8ZE7ytGF36L5uBf9kD2kenhqFGp9");return be(nt?.mountPoint||"/","/uploads",Ze)},Fe=Ze=>Ze?.startsWith("http")?Ze:je(Ze),He=Ze=>!Ce(Ze.activity)&&!!Ze.activity.type&&!!Ze.activity.actor,Ge=Ze=>He(Ze)&&!!Ze.actorInfo&&!!Ze.actorInfo.did,Ke={COMMENT:"comment",LIKE:"like",FOLLOW:"follow",TIPS:"tips",MENTION:"mention",ASSIGN:"assign",UN_ASSIGN:"un_assign"},Je={[Ke.COMMENT]:(Ze,Ye,tt)=>Ye>1?`have left ${Ye} comments on ${tt?"your":"the"} ${Ze}:`:`has commented on ${tt?"your":"the"} ${Ze}:`,[Ke.LIKE]:(Ze,Ye,tt)=>Ye>1?`have liked ${tt?"your":"the"} ${Ze}:`:`has liked ${tt?"your":"the"} ${Ze}:`,[Ke.FOLLOW]:(Ze,Ye)=>Ye>1?"have followed you":"has followed you",[Ke.TIPS]:(Ze,Ye,tt)=>Ye>1?`left tips for ${tt?"your":"the"} ${Ze}:`:`left a tip for ${tt?"your":"the"} ${Ze}:`,[Ke.MENTION]:(Ze,Ye,tt)=>Ye>1?`have mentioned you in ${tt?"your":"the"} ${Ze}:`:`mentioned you in ${tt?"your":"the"} ${Ze}:`,[Ke.ASSIGN]:()=>"has assigned you a task: ",[Ke.UN_ASSIGN]:()=>"has revoked your task assignment: "};return util$1={isEVMChain:Re,getExplorerUrl:Le,generateKey:De,getNotificationQueryParams:Pe,setNotificationQueryParams:Oe,removeNotificationQueryParams:qe,getImagePath:Fe,getImageBinFilePath:je,isActivityIncluded:He,isUserActor:Ge,ACTIVITY_DESCRIPTIONS:Je},util$1}var explorerUrl,hasRequiredExplorerUrl;function requireExplorerUrl(){if(hasRequiredExplorerUrl)return explorerUrl;hasRequiredExplorerUrl=1;const{joinURL:be,withQuery:Ce}=requireDist(),{toTypeInfo:Se}=requireLib$2(),{isEVMChain:Te,getExplorerUrl:Re}=requireUtil$1(),{arcChainConfig:Le}=requireConfig(),De={ROLE_ROLLUP:"number"},Pe="https://explorer.abtnetwork.io/explorer/";return explorerUrl=function({hash:qe,asset:je,rollup:Fe,address:He,token:Ge,stake:Ke,chainId:Je=""}){if(Te(Je)){const nt=Re(Je);return qe?be(nt,`tx/${qe}`):je?be(nt,`token/${je}`):be(nt,`address/${He}`)}const Ye=Le[Je]?.defaultRPC,tt=Ye?`${Ye}`:void 0;return Fe&&Se(Fe).role===De.ROLE_ROLLUP?qe?Ce(be(Pe,`rollups/${Fe}/moves/${qe}`),{host:tt}):Ce(be(Pe,`rollups/${Fe}`),{host:tt}):je?Ce(be(Pe,`assets/${je}`),{host:tt}):qe?Ce(be(Pe,`txs/${qe}`),{host:tt}):Ge?Ce(be(Pe,`tokens/${Ge}/tx`),{host:tt}):Ke?Ce(be(Pe,`stakes/${Ke}`),{host:tt}):Ce(be(Pe,`accounts/${He}`),{host:tt})},explorerUrl}var func,hasRequiredFunc;function requireFunc(){return hasRequiredFunc||(hasRequiredFunc=1,func={isSameAddr:(be,Ce)=>String(be).toLowerCase()===String(Ce).toLowerCase()}),func}var highlight,hasRequiredHighlight;function requireHighlight(){if(hasRequiredHighlight)return highlight;hasRequiredHighlight=1;const be=requireExplorerUrl(),{isSameAddr:Ce}=requireFunc();class Se{constructor({type:Oe,did:qe,chainId:je,text:Fe}){this.text=Fe,this.did=qe,this.type=Oe,this.chainId=je}}const Te=Pe=>{const Oe=[];try{let qe=0;const je=/<(.+?)\(?[tx|nft|token|stake|did|dapp|link]+[:](.+?)\)?>/gi,Fe=Pe.matchAll(je);for(const He of Fe){const Ge=/\([tx|nft|token|stake|did|dapp|link]+[:](.+?)\)/gi,Ke=He[0],Je=He.index||qe,Ze=Je+Ke.length;if([...Ke.matchAll(Ge)].length>1)return[Pe];let tt="";const nt=Ge.exec(Ke);let it="";if(nt){const Vt=nt[0];tt=Ke.replace(Vt,"").replace(/^</,"").replace(/(>)$/,""),it=Vt.replace(/\)$/,"").replace(/^\(/,"")}else it=Ke;const ot=it.split(":"),gt=(ot[0]||"").replace(/^</,"").replace(/^\(/,"").toUpperCase(),ft=(ot[1]||"").replace(/>$/,"").replace(/\)$/,""),wt=(ot[ot.length-1]||"").replace(/>$/,"").replace(/\)$/,"");Oe.push(Pe.substring(qe,Je)),Oe.push(new Se({type:gt,chainId:ft,did:wt,text:tt||gt})),qe=Ze}return qe<Pe.length&&Oe.push(Pe.substring(qe)),Oe}catch(qe){return console.error(qe?.message),[Pe]}},Re=Pe=>{let Oe;const{type:qe,chainId:je,did:Fe}=Pe;return Ce(qe,"link")?Oe=`${je}:${Fe}`:Ce(qe,"tx")?Oe=be({hash:Fe,chainId:je}):Ce(qe,"stake")?Oe=be({stake:Fe,chainId:je}):Ce(qe,"nft")?Oe=be({asset:Fe,chainId:je}):Ce(qe,"token")?Oe=be({token:Fe,chainId:je}):Ce(qe,"did")&&(Oe=be({address:Fe,chainId:je})),Oe};return highlight={toClickableSpan:(Pe,Oe=!0)=>Te(Pe).map(je=>{if(je instanceof Se){if(Oe){const Fe=Re(je),{type:He,chainId:Ge,did:Ke}=je;return Ce(He,"dapp")?`<em style="font-weight:bold;" data-type="${He}" data-chain-id="${Ge}" data-did="${Ke}">${je.text}</em>`:Fe?`<a target="_blank" rel="noopener noreferrer" style="color:#4598fa;font-weight:bold;" href="${Fe}">${je.text}</a>`:`<em style="font-weight:bold;" data-type="${He}" data-chain-id="${Ge}" data-did="${Ke}">${je.text}</em>`}return je.text}return je}).join(""),toTextList:Te,toSlackLink:Pe=>Te(Pe).map(qe=>qe instanceof Se?`<${Re(qe)}|${qe.text}>`:qe.replace(/:\n/g,": ")).join(""),Link:Se,getLink:Re},highlight}var highlightExports=requireHighlight(),funcExports=requireFunc(),utilExports$1=requireUtil$1(),nativeCeil=Math.ceil,nativeMax=Math.max;function chunk(be,Ce,Se){Ce===void 0?Ce=1:Ce=nativeMax(toInteger(Ce),0);var Te=be==null?0:be.length;if(!Te||Ce<1)return[];for(var Re=0,Le=0,De=Array(nativeCeil(Te/Ce));Re<Te;)De[Le++]=baseSlice(be,Re,Re+=Ce);return De}var isURL$1={exports:{}},includesString={exports:{}},hasRequiredIncludesString;function requireIncludesString(){return hasRequiredIncludesString||(hasRequiredIncludesString=1,function(be,Ce){Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.default=void 0;var Se=function(Re,Le){return Re.indexOf(Le)!==-1};Ce.default=Se,be.exports=Ce.default,be.exports.default=Ce.default}(includesString,includesString.exports)),includesString.exports}var hasRequiredIsURL;function requireIsURL(){return hasRequiredIsURL||(hasRequiredIsURL=1,function(be,Ce){Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.default=Ye;var Se=Oe(requireAssertString()),Te=Oe(requireCheckHost()),Re=Oe(requireIncludesString()),Le=Oe(requireIsFQDN()),De=Oe(requireIsIP()),Pe=Oe(requireMerge());function Oe(tt){return tt&&tt.__esModule?tt:{default:tt}}function qe(tt,nt){return Ke(tt)||Ge(tt,nt)||Fe(tt,nt)||je()}function je(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2514
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Fe(tt,nt){if(tt){if(typeof tt=="string")return He(tt,nt);var it={}.toString.call(tt).slice(8,-1);return it==="Object"&&tt.constructor&&(it=tt.constructor.name),it==="Map"||it==="Set"?Array.from(tt):it==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(it)?He(tt,nt):void 0}}function He(tt,nt){(nt==null||nt>tt.length)&&(nt=tt.length);for(var it=0,ot=Array(nt);it<nt;it++)ot[it]=tt[it];return ot}function Ge(tt,nt){var it=tt==null?null:typeof Symbol<"u"&&tt[Symbol.iterator]||tt["@@iterator"];if(it!=null){var ot,gt,ft,wt,Vt=[],$t=!0,Mt=!1;try{if(ft=(it=it.call(tt)).next,nt!==0)for(;!($t=(ot=ft.call(it)).done)&&(Vt.push(ot.value),Vt.length!==nt);$t=!0);}catch(rt){Mt=!0,gt=rt}finally{try{if(!$t&&it.return!=null&&(wt=it.return(),Object(wt)!==wt))return}finally{if(Mt)throw gt}}return Vt}}function Ke(tt){if(Array.isArray(tt))return tt}var Je={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_port:!1,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1,allow_fragments:!0,allow_query_components:!0,validate_length:!0,max_allowed_length:2084},Ze=/^\[([^\]]+)\](?::([0-9]+))?$/;function Ye(tt,nt){if((0,Se.default)(tt),!tt||/[\s<>]/.test(tt)||tt.indexOf("mailto:")===0||(nt=(0,Pe.default)(nt,Je),nt.validate_length&&tt.length>nt.max_allowed_length)||!nt.allow_fragments&&(0,Re.default)(tt,"#")||!nt.allow_query_components&&((0,Re.default)(tt,"?")||(0,Re.default)(tt,"&")))return!1;var it,ot,gt,ft,wt,Vt,$t,Mt;if($t=tt.split("#"),tt=$t.shift(),$t=tt.split("?"),tt=$t.shift(),$t=tt.split("://"),$t.length>1){if(it=$t.shift().toLowerCase(),nt.require_valid_protocol&&nt.protocols.indexOf(it)===-1)return!1}else{if(nt.require_protocol)return!1;if(tt.slice(0,2)==="//"){if(!nt.allow_protocol_relative_urls)return!1;$t[0]=tt.slice(2)}}if(tt=$t.join("://"),tt==="")return!1;if($t=tt.split("/"),tt=$t.shift(),tt===""&&!nt.require_host)return!0;if($t=tt.split("@"),$t.length>1){if(nt.disallow_auth||$t[0]===""||(ot=$t.shift(),ot.indexOf(":")>=0&&ot.split(":").length>2))return!1;var rt=ot.split(":"),ut=qe(rt,2),bt=ut[0],St=ut[1];if(bt===""&&St==="")return!1}ft=$t.join("@"),Vt=null,Mt=null;var Ct=ft.match(Ze);if(Ct?(gt="",Mt=Ct[1],Vt=Ct[2]||null):($t=ft.split(":"),gt=$t.shift(),$t.length&&(Vt=$t.join(":"))),Vt!==null&&Vt.length>0){if(wt=parseInt(Vt,10),!/^[0-9]+$/.test(Vt)||wt<=0||wt>65535)return!1}else if(nt.require_port)return!1;return nt.host_whitelist?(0,Te.default)(gt,nt.host_whitelist):gt===""&&!nt.require_host?!0:!(!(0,De.default)(gt)&&!(0,Le.default)(gt,nt)&&(!Mt||!(0,De.default)(Mt,6))||(gt=gt||Mt,nt.host_blacklist&&(0,Te.default)(gt,nt.host_blacklist)))}be.exports=Ce.default,be.exports.default=Ce.default}(isURL$1,isURL$1.exports)),isURL$1.exports}var isURLExports=requireIsURL();const isURL=getDefaultExportFromCjs$1(isURLExports),mergeAdjacentNotifications=be=>{if(!be||!be.length)return[];const Ce=[];let Se=null,Te=[];if(be.forEach(Re=>{if(!Re.activity||!Re.activity.type||!Se){Se&&(Te.length===1?Ce.push(Te[0]):(Se.items=Te,Ce.push(Se))),Re.activity&&Re.activity.type?(Se=Re,Te=[Re]):(Ce.push(Re),Se=null,Te=[]);return}const Le=Te[0].activity,De=Le.type,Pe=Le.target?.type,Oe=Le.target?.id,qe=Re.activity.type,je=Re.activity.target?.type,Fe=Re.activity.target?.id;if(De&&qe&&De===qe&&(!Le.target&&!Re.activity.target||Le.target&&Re.activity.target&&Pe===je&&Oe===Fe))Te.push(Re);else{if(Te.length===1)Ce.push(Te[0]);else{const Ge=Object.assign({},Se,{items:Te});Ce.push(Ge)}Se=Re,Te=[Re]}}),Se)if(Te.length===1)Ce.push(Te[0]);else{const Re=Object.assign({},Se,{items:Te});Ce.push(Re)}return Ce},isIncludeActivity=be=>!isEmpty(be.activity)&&!!be.activity.type&&!!be.activity.actor,isUserActor=be=>isIncludeActivity(be)&&!!be.actorInfo&&!!be.actorInfo.did,getActivityLink=be=>{if(!be)return null;const{meta:Ce,target:Se,actor:Te}=be||{};let Re=Se?.id;return Se?.type==="user"&&(Re=withQuery(joinURL(constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"user"),{did:Te})),{metaLink:Ce?.id,targetLink:Re}},isValidUrl=be=>isURL(be),getSeverityColor=be=>{let Ce="rgba(0, 0, 0, 0.12)";return be==="warning"?Ce="#DE9E37":be==="error"?Ce="#F16E6E":Ce="rgba(0, 0, 0, 0.12)",Ce},isAllText=be=>be.every(Ce=>Ce.type==="text"),isAllImage=be=>be.every(Ce=>Ce.type==="image"),combinedItem=be=>chunk(be,2).map(Ce=>({type:"combined",items:Ce})).filter(Ce=>(Ce.items||[]).every(Se=>Se?.data?.text?.trim?.())),isSameTypes=be=>{if(!be.length||be.length<=1)return!1;const Ce=be[0].type;return be.every(Se=>Se.type===Ce)},getUserProfileUrl=(be,Ce)=>{try{const Se=libExports$3.toTypeInfo(be);if(!(Se.role!==void 0&&Se.role!==libExports$4.types.RoleType.ACCOUNT))return;const Re=joinURL(constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"user");return withQuery(Re,{did:be,locale:Ce})}catch(Se){console.error(Se);return}},getComponentMountPoint=(be,Ce)=>Ce?.componentMountPoints?.find(Te=>Te.did===be)?.mountPoint,getNotificationLink=(be,Ce)=>{if(!be)return null;if(be.actions?.length===1)return be.actions[0].link||null;const Se=getActivityLink(be.activity),Te=Se?.metaLink||Se?.targetLink;if(Te)return isValidUrl(Te)?Te:joinURL(Ce,Te);if(be.attachments?.length===1){const Re=be.attachments[0];if(Re.type==="link")return Re.data?.url||null}return null},checkIfNotificationIsRead=be=>{const{receivers:Ce=[]}=be;return Ce.length?Ce.every(Se=>Se.read):!0};function isInViewport(be){const Ce=be.getBoundingClientRect(),Se=window.innerWidth||document.documentElement.clientWidth,Te=window.innerHeight||document.documentElement.clientHeight,Re=Ce.height,Le=Ce.width;let De=0;Ce.top>=0&&Ce.bottom<=Te?De=Re:Ce.top<0&&Ce.bottom>0&&Ce.bottom<=Te?De=Ce.bottom:Ce.top>=0&&Ce.top<Te&&Ce.bottom>Te?De=Te-Ce.top:Ce.top<0&&Ce.bottom>Te&&(De=Te);let Pe=0;return Ce.left>=0&&Ce.right<=Se?Pe=Le:Ce.left<0&&Ce.right>0&&Ce.right<=Se?Pe=Ce.right:Ce.left>=0&&Ce.left<Se&&Ce.right>Se?Pe=Se-Ce.left:Ce.left<0&&Ce.right>Se&&(Pe=Se),De*Pe/(Re*Le)>=.5}const getNotificationsInVisibleArea=be=>{if(!be)return[];const Ce=[],Se=5,Te=Array.from(be.querySelectorAll(".notification-row")),Re=Te.length;for(let Le=0;Le<Re;Le+=Se){const De=Te.slice(Le,Le+Se);let Pe=!0;for(const Oe of De){const qe=Oe.id;if(isInViewport(Oe))Ce.push(qe);else{Pe=!1;break}}if(!Pe)break}return Ce},getAllNotifications=be=>{const Ce=[];return be&&(be.items?.length?be.items.forEach(Se=>{checkIfNotificationIsRead(Se)||Ce.push(Se)}):checkIfNotificationIsRead(be)||Ce.push(be)),Ce},getUnReadNotificationByIds=(be,Ce)=>{let Se=[];return Ce.length&&Ce.forEach(Te=>{const Re=be.get(Te);Re&&(Se=Se.concat(getAllNotifications(Re)))}),Se},mergeDarkStyle=(be,Ce)=>({...be,...Ce?{filter:"invert(1)"}:{}}),getProxyImageUrl=be=>{if(!be)return null;try{return new URL(be).protocol!=="https:"?(console.warn("Image URL must use HTTPS protocol:",be),null):`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/proxy?url=${be}`}catch(Ce){return console.warn("Invalid image URL format:",be,Ce),null}};function LinkPreviewPage({attachment:be}){const{data:Ce}=be,Se=useTheme();let Te="";try{Te=new URL(Ce.url).host}catch{Te=Ce.url}return jsxRuntimeExports.jsxs(Link,{target:"_blank",rel:"noopener noreferrer",href:Ce.url,className:"link",style:{wordBreak:"break-all"},onClick:Re=>{Re.customPreventRedirect=!0},children:[!!Te&&jsxRuntimeExports.jsx("span",{className:"url",children:Te}),!!Ce.title&&jsxRuntimeExports.jsx(Box,{className:"title",style:{whiteSpace:"unset"},children:Ce.title}),!!Ce.description&&jsxRuntimeExports.jsx(Box,{className:"description",style:{whiteSpace:"unset",color:Se.palette.text.secondary},children:Ce.description}),!!Ce.image&&jsxRuntimeExports.jsx(M$7,{src:utilExports$1.getImagePath(Ce.image),alt:Ce.title||"",height:128,style:{borderRadius:"8px",maxWidth:"256px",objectFit:"cover"},fallback:getProxyImageUrl(utilExports$1.getImagePath(Ce.image))})]})}LinkPreviewPage.propTypes={attachment:o$g.object.isRequired};function ImagePreviewPage({attachment:be}){const{data:Ce}=be;return jsxRuntimeExports.jsx(M$7,{src:utilExports$1.getImagePath(Ce.url),alt:Ce.title||"",height:128,style:{borderRadius:"8px",maxWidth:"256px",objectFit:"cover"},fallback:getProxyImageUrl(utilExports$1.getImagePath(Ce.url))})}ImagePreviewPage.propTypes={attachment:o$g.object.isRequired};function TextPreviewPage({attachment:be,...Ce}){const{data:Se}=be,Te=Se.color?.toLowerCase()||Ce.color,Re=Se.size||Ce.size,Le=Se.fontWeight||Ce.fontWeight||400;let De="14px";return Re==="small"?De="12px":Re==="normal"?De="14px":Re==="big"?De="16px":Re==="large"&&(De="18px"),jsxRuntimeExports.jsx(TextPreview,{className:"title",style:{fontSize:De,color:Te,whiteSpace:"unset",fontWeight:Le},children:Se.text})}TextPreviewPage.propTypes={attachment:o$g.object.isRequired};const TextPreview=styled$3.span`
|
|
2514
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Fe(tt,nt){if(tt){if(typeof tt=="string")return He(tt,nt);var it={}.toString.call(tt).slice(8,-1);return it==="Object"&&tt.constructor&&(it=tt.constructor.name),it==="Map"||it==="Set"?Array.from(tt):it==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(it)?He(tt,nt):void 0}}function He(tt,nt){(nt==null||nt>tt.length)&&(nt=tt.length);for(var it=0,ot=Array(nt);it<nt;it++)ot[it]=tt[it];return ot}function Ge(tt,nt){var it=tt==null?null:typeof Symbol<"u"&&tt[Symbol.iterator]||tt["@@iterator"];if(it!=null){var ot,gt,ft,wt,Vt=[],$t=!0,Mt=!1;try{if(ft=(it=it.call(tt)).next,nt!==0)for(;!($t=(ot=ft.call(it)).done)&&(Vt.push(ot.value),Vt.length!==nt);$t=!0);}catch(rt){Mt=!0,gt=rt}finally{try{if(!$t&&it.return!=null&&(wt=it.return(),Object(wt)!==wt))return}finally{if(Mt)throw gt}}return Vt}}function Ke(tt){if(Array.isArray(tt))return tt}var Je={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_port:!1,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1,allow_fragments:!0,allow_query_components:!0,validate_length:!0,max_allowed_length:2084},Ze=/^\[([^\]]+)\](?::([0-9]+))?$/;function Ye(tt,nt){if((0,Se.default)(tt),!tt||/[\s<>]/.test(tt)||tt.indexOf("mailto:")===0||(nt=(0,Pe.default)(nt,Je),nt.validate_length&&tt.length>nt.max_allowed_length)||!nt.allow_fragments&&(0,Re.default)(tt,"#")||!nt.allow_query_components&&((0,Re.default)(tt,"?")||(0,Re.default)(tt,"&")))return!1;var it,ot,gt,ft,wt,Vt,$t,Mt;if($t=tt.split("#"),tt=$t.shift(),$t=tt.split("?"),tt=$t.shift(),$t=tt.split("://"),$t.length>1){if(it=$t.shift().toLowerCase(),nt.require_valid_protocol&&nt.protocols.indexOf(it)===-1)return!1}else{if(nt.require_protocol)return!1;if(tt.slice(0,2)==="//"){if(!nt.allow_protocol_relative_urls)return!1;$t[0]=tt.slice(2)}}if(tt=$t.join("://"),tt==="")return!1;if($t=tt.split("/"),tt=$t.shift(),tt===""&&!nt.require_host)return!0;if($t=tt.split("@"),$t.length>1){if(nt.disallow_auth||$t[0]===""||(ot=$t.shift(),ot.indexOf(":")>=0&&ot.split(":").length>2))return!1;var rt=ot.split(":"),ut=qe(rt,2),bt=ut[0],St=ut[1];if(bt===""&&St==="")return!1}ft=$t.join("@"),Vt=null,Mt=null;var Ct=ft.match(Ze);if(Ct?(gt="",Mt=Ct[1],Vt=Ct[2]||null):($t=ft.split(":"),gt=$t.shift(),$t.length&&(Vt=$t.join(":"))),Vt!==null&&Vt.length>0){if(wt=parseInt(Vt,10),!/^[0-9]+$/.test(Vt)||wt<=0||wt>65535)return!1}else if(nt.require_port)return!1;return nt.host_whitelist?(0,Te.default)(gt,nt.host_whitelist):gt===""&&!nt.require_host?!0:!(!(0,De.default)(gt)&&!(0,Le.default)(gt,nt)&&(!Mt||!(0,De.default)(Mt,6))||(gt=gt||Mt,nt.host_blacklist&&(0,Te.default)(gt,nt.host_blacklist)))}be.exports=Ce.default,be.exports.default=Ce.default}(isURL$1,isURL$1.exports)),isURL$1.exports}var isURLExports=requireIsURL();const isURL=getDefaultExportFromCjs$1(isURLExports),mergeAdjacentNotifications=be=>{if(!be||!be.length)return[];const Ce=[];let Se=null,Te=[];if(be.forEach(Re=>{if(!Re.activity||!Re.activity.type||!Se){Se&&(Te.length===1?Ce.push(Te[0]):(Se.items=Te,Ce.push(Se))),Re.activity&&Re.activity.type?(Se=Re,Te=[Re]):(Ce.push(Re),Se=null,Te=[]);return}const Le=Te[0].activity,De=Le.type,Pe=Le.target?.type,Oe=Le.target?.id,qe=Re.activity.type,je=Re.activity.target?.type,Fe=Re.activity.target?.id;if(De&&qe&&De===qe&&(!Le.target&&!Re.activity.target||Le.target&&Re.activity.target&&Pe===je&&Oe===Fe))Te.push(Re);else{if(Te.length===1)Ce.push(Te[0]);else{const Ge=Object.assign({},Se,{items:Te});Ce.push(Ge)}Se=Re,Te=[Re]}}),Se)if(Te.length===1)Ce.push(Te[0]);else{const Re=Object.assign({},Se,{items:Te});Ce.push(Re)}return Ce},isIncludeActivity=be=>!isEmpty(be.activity)&&!!be.activity.type&&!!be.activity.actor,isUserActor=be=>isIncludeActivity(be)&&!!be.actorInfo&&!!be.actorInfo.did,getActivityLink=be=>{if(!be)return null;const{meta:Ce,target:Se,actor:Te}=be||{};let Re=Se?.id;return Se?.type==="user"&&(Re=withQuery(joinURL(constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"user"),{did:Te})),{metaLink:Ce?.id,targetLink:Re}},isValidUrl=be=>isURL(be),getSeverityColor=be=>{let Ce="rgba(0, 0, 0, 0.12)";return be==="warning"?Ce="#DE9E37":be==="error"?Ce="#F16E6E":Ce="rgba(0, 0, 0, 0.12)",Ce},isAllText=be=>be.every(Ce=>Ce.type==="text"),isAllImage=be=>be.every(Ce=>Ce.type==="image"),combinedItem=be=>chunk(be,2).map(Ce=>({type:"combined",items:Ce})).filter(Ce=>(Ce.items||[]).every(Se=>Se?.data?.text?.trim?.())),isSameTypes=be=>{if(!be.length||be.length<=1)return!1;const Ce=be[0].type;return be.every(Se=>Se.type===Ce)},getUserProfileUrl=(be,Ce)=>{try{const Se=libExports$3.toTypeInfo(be);if(!(Se.role!==void 0&&Se.role!==libExports$4.types.RoleType.ACCOUNT))return;const Re=joinURL(constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX,"user");return withQuery(Re,{did:be,locale:Ce})}catch(Se){console.error(Se);return}},getComponentMountPoint=(be,Ce)=>Ce?.componentMountPoints?.find(Te=>Te.did===be)?.mountPoint,getNotificationLink=(be,Ce)=>{if(!be)return null;if(be.actions?.length===1)return be.actions[0].link||null;const Se=getActivityLink(be.activity),Te=Se?.metaLink||Se?.targetLink;if(Te)return isValidUrl(Te)?Te:joinURL(Ce,Te);if(be.attachments?.length===1){const Re=be.attachments[0];if(Re.type==="link")return Re.data?.url||null}return null},checkIfNotificationIsRead=be=>{const{receivers:Ce=[]}=be;return Ce.length?Ce.every(Se=>Se.read):!0};function isInViewport(be){const Ce=be.getBoundingClientRect(),Se=window.innerWidth||document.documentElement.clientWidth,Te=window.innerHeight||document.documentElement.clientHeight,Re=Ce.height,Le=Ce.width;let De=0;Ce.top>=0&&Ce.bottom<=Te?De=Re:Ce.top<0&&Ce.bottom>0&&Ce.bottom<=Te?De=Ce.bottom:Ce.top>=0&&Ce.top<Te&&Ce.bottom>Te?De=Te-Ce.top:Ce.top<0&&Ce.bottom>Te&&(De=Te);let Pe=0;return Ce.left>=0&&Ce.right<=Se?Pe=Le:Ce.left<0&&Ce.right>0&&Ce.right<=Se?Pe=Ce.right:Ce.left>=0&&Ce.left<Se&&Ce.right>Se?Pe=Se-Ce.left:Ce.left<0&&Ce.right>Se&&(Pe=Se),De*Pe/(Re*Le)>=.5}const getNotificationsInVisibleArea=be=>{if(!be)return[];const Ce=[],Se=5,Te=Array.from(be.querySelectorAll(".notification-row")),Re=Te.length;for(let Le=0;Le<Re;Le+=Se){const De=Te.slice(Le,Le+Se);let Pe=!0;for(const Oe of De){const qe=Oe.id;if(isInViewport(Oe))Ce.push(qe);else{Pe=!1;break}}if(!Pe)break}return Ce},getAllNotifications=be=>{const Ce=[];return be&&(be.items?.length?be.items.forEach(Se=>{checkIfNotificationIsRead(Se)||Ce.push(Se)}):checkIfNotificationIsRead(be)||Ce.push(be)),Ce},getUnReadNotificationByIds=(be,Ce)=>{let Se=[];return Ce.length&&Ce.forEach(Te=>{const Re=be.get(Te);Re&&(Se=Se.concat(getAllNotifications(Re)))}),Se},mergeDarkStyle=(be,Ce)=>({...be,...Ce?{filter:"invert(1)"}:{}}),getProxyImageUrl=be=>{if(!be)return null;try{return new URL(be).protocol!=="https:"?(console.warn("Image URL must use HTTPS protocol:",be),null):`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/proxy?url=${encodeURIComponent(be)}`}catch(Ce){return console.warn("Invalid image URL format:",be,Ce),null}};function LinkPreviewPage({attachment:be}){const{data:Ce}=be,Se=useTheme();let Te="";try{Te=new URL(Ce.url).host}catch{Te=Ce.url}return jsxRuntimeExports.jsxs(Link,{target:"_blank",rel:"noopener noreferrer",href:Ce.url,className:"link",style:{wordBreak:"break-all"},onClick:Re=>{Re.customPreventRedirect=!0},children:[!!Te&&jsxRuntimeExports.jsx("span",{className:"url",children:Te}),!!Ce.title&&jsxRuntimeExports.jsx(Box,{className:"title",style:{whiteSpace:"unset"},children:Ce.title}),!!Ce.description&&jsxRuntimeExports.jsx(Box,{className:"description",style:{whiteSpace:"unset",color:Se.palette.text.secondary},children:Ce.description}),!!Ce.image&&jsxRuntimeExports.jsx(M$7,{src:utilExports$1.getImagePath(Ce.image),alt:Ce.title||"",height:128,style:{borderRadius:"8px",maxWidth:"256px",objectFit:"cover"},fallback:getProxyImageUrl(utilExports$1.getImagePath(Ce.image))})]})}LinkPreviewPage.propTypes={attachment:o$g.object.isRequired};function ImagePreviewPage({attachment:be}){const{data:Ce}=be;return jsxRuntimeExports.jsx(M$7,{src:utilExports$1.getImagePath(Ce.url),alt:Ce.title||"",height:128,style:{borderRadius:"8px",maxWidth:"256px",objectFit:"cover"},sx:{".Img-root":{height:256}},fallback:getProxyImageUrl(utilExports$1.getImagePath(Ce.url))})}ImagePreviewPage.propTypes={attachment:o$g.object.isRequired};function TextPreviewPage({attachment:be,...Ce}){const{data:Se}=be,Te=Se.color?.toLowerCase()||Ce.color,Re=Se.size||Ce.size,Le=Se.fontWeight||Ce.fontWeight||400;let De="14px";return Re==="small"?De="12px":Re==="normal"?De="14px":Re==="big"?De="16px":Re==="large"&&(De="18px"),jsxRuntimeExports.jsx(TextPreview,{className:"title",style:{fontSize:De,color:Te,whiteSpace:"unset",fontWeight:Le},children:Se.text})}TextPreviewPage.propTypes={attachment:o$g.object.isRequired};const TextPreview=styled$3.span`
|
|
2515
2515
|
width: 100%;
|
|
2516
2516
|
display: -webkit-box;
|
|
2517
2517
|
-webkit-box-orient: vertical;
|
|
@@ -2886,9 +2886,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
2886
2886
|
word-break: break-word;
|
|
2887
2887
|
}
|
|
2888
2888
|
`;var util={};const require$$1=getAugmentedNamespace(uniq$1);var yoctoQueue,hasRequiredYoctoQueue;function requireYoctoQueue(){if(hasRequiredYoctoQueue)return yoctoQueue;hasRequiredYoctoQueue=1;class be{constructor(Te){this.value=Te,this.next=void 0}}class Ce{constructor(){this.clear()}enqueue(Te){const Re=new be(Te);this._head?(this._tail.next=Re,this._tail=Re):(this._head=Re,this._tail=Re),this._size++}dequeue(){const Te=this._head;if(Te)return this._head=this._head.next,this._size--,Te.value}clear(){this._head=void 0,this._tail=void 0,this._size=0}get size(){return this._size}*[Symbol.iterator](){let Te=this._head;for(;Te;)yield Te.value,Te=Te.next}}return yoctoQueue=Ce,yoctoQueue}var pLimit_1,hasRequiredPLimit;function requirePLimit(){if(hasRequiredPLimit)return pLimit_1;hasRequiredPLimit=1;const be=requireYoctoQueue();return pLimit_1=Se=>{if(!((Number.isInteger(Se)||Se===1/0)&&Se>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const Te=new be;let Re=0;const Le=()=>{Re--,Te.size>0&&Te.dequeue()()},De=async(qe,je,...Fe)=>{Re++;const He=(async()=>qe(...Fe))();je(He);try{await He}catch{}Le()},Pe=(qe,je,...Fe)=>{Te.enqueue(De.bind(null,qe,je,...Fe)),(async()=>(await Promise.resolve(),Re<Se&&Te.size>0&&Te.dequeue()()))()},Oe=(qe,...je)=>new Promise(Fe=>{Pe(qe,Fe,...je)});return Object.defineProperties(Oe,{activeCount:{get:()=>Re},pendingCount:{get:()=>Te.size},clearQueue:{value:()=>{Te.clear()}}}),Oe},pLimit_1}var engine={},browser={},hasRequiredBrowser;function requireBrowser(){return hasRequiredBrowser||(hasRequiredBrowser=1,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=`
|
|
2889
|
-
`,browser.homedir=function(){return"/"}),browser}var hasRequiredEngine;function requireEngine(){return hasRequiredEngine||(hasRequiredEngine=1,function(be){var Ce=engine&&engine.__importDefault||function(je){return je&&je.__esModule?je:{default:je}};Object.defineProperty(be,"__esModule",{value:!0}),be.hasMountPoint=be.hasStartEngine=be.isPackBlocklet=be.isGatewayBlocklet=be.getBlockletEngine=void 0;const Se=Ce(requireBrowser()),Te=requireConstant$1(),Re=je=>{if(je===void 0)throw new Error("blocklet meta param is required");const{engine:Fe}=je;if(!Fe)return{interpreter:"node",source:""};if(!Array.isArray(Fe))return Fe;const He=Se.default.platform(),Ge=Fe.find(Ke=>Ke.platform===He);if(!Ge)throw new Error(`can not find a proper engine interpreter on ${He}`);return Ge};be.getBlockletEngine=Re;const Le=je=>je?.group===Te.BlockletGroup.gateway;be.isGatewayBlocklet=Le;const De=je=>je?.group===Te.BlockletGroup.pack;be.isPackBlocklet=De;const Pe=je=>!!je?.main||!!je?.docker?.image||(0,be.getBlockletEngine)(je||{}).interpreter==="blocklet";be.hasStartEngine=Pe;const Oe=je=>!!je?.main||(0,be.getBlockletEngine)(je||{}).interpreter==="blocklet",qe=je=>{const Fe=(je?.interfaces||[]).find(He=>He.type===Te.BLOCKLET_INTERFACE_TYPE_WEB);return(Oe(je)||Fe)&&(0,be.isGatewayBlocklet)(je)===!1};be.hasMountPoint=qe}(engine)),engine}var hasRequiredUtil;function requireUtil(){return hasRequiredUtil||(hasRequiredUtil=1,function(be){var Ce=util&&util.__importDefault||function(cn){return cn&&cn.__esModule?cn:{default:cn}};Object.defineProperty(be,"__esModule",{value:!0}),be.hasStartEngine=be.isPackBlocklet=be.isGatewayBlocklet=be.isAccessible=be.isRunning=be.isBeforeInstalled=be.inProgressStatuses=be.isInProgress=be.getBlockletServices=be.getBlockletAppIdList=be.isPreferenceKey=be.isExternalBlocklet=be.getBlockletChainInfo=be.getChainInfo=be.getConnectAppUrl=be.getParentComponentName=be.filterComponentsV2=be.findComponentByIdV2=be.findComponentV2=be.findComponentById=be.findComponent=be.getComponentBundleId=be.getComponentName=be.getComponentId=be.replaceSlotToIp=be.checkPublicAccess=be.findServiceFromMeta=be.findDockerInterface=be.findWebInterfacePort=be.findWebInterface=be.fixBlockletStatus=be.getAppDescription=be.getDisplayName=be.getAppName=be.hasRunnableComponent=be.wipeSensitiveData=be.isEnvShareable=be.isEnvShareableToClient=be.getComponentMissingConfigs=be.getAppMissingConfigs=be.getSharedConfigObj=be.isDeletableBlocklet=be.forEachComponentV2Sync=be.forEachComponentV2=be.forEachChildSync=be.forEachChild=be.forEachBlockletSync=be.forEachBlocklet=be.isFreeComponent=be.isFreeBlocklet=void 0,be.nanoid=be.getMountPoints=be.hasResourceType=void 0,be.getAppUrl=Xt;const Se=Ce(require$$3$1),Te=Ce(require$$1),Re=requireDist(),Le=Ce(requirePLimit()),De=Ce(requireConstant$2()),Pe=requireConstant$1(),Oe=requireEngine();Object.defineProperty(be,"hasStartEngine",{enumerable:!0,get:function(){return Oe.hasStartEngine}}),Object.defineProperty(be,"isGatewayBlocklet",{enumerable:!0,get:function(){return Oe.isGatewayBlocklet}}),Object.defineProperty(be,"isPackBlocklet",{enumerable:!0,get:function(){return Oe.isPackBlocklet}});const{SLOT_FOR_IP_DNS_SITE:qe}=De.default,je=(cn,mn=[])=>`${mn.map($n=>$n&&$n.meta?$n.meta.did:"").join("/")}${mn.length?"/":""}${cn&&cn.meta?cn.meta.did:""}`;be.getComponentId=je;const Fe=(cn,mn=[])=>`${mn.map($n=>$n&&$n.meta?$n.meta.name:"").join("/")}${mn.length?"/":""}${cn&&cn.meta?cn.meta.name:""}`;be.getComponentName=Fe;const He=cn=>`${cn.meta.bundleName}@${cn.meta.version}`;be.getComponentBundleId=He;const Ge=cn=>{if(!cn)return"";const mn=cn.split("/");return mn.pop(),!mn.length||(mn[mn.length-1].startsWith("@")&&mn.pop(),!mn.length)?"":mn.join("/")};be.getParentComponentName=Ge;const Ke=(cn,mn,{parallel:$n=!1,concurrencyLimit:Gn=5,sync:Zn,params:yn,_parent:Jt,_root:qt,_level:dn=0,_tasks:Ln,_ancestors:kn=[],_limit:Cn}={})=>{const Mn=qt||Jt||cn,Yn=je(cn,kn),ar=kn.concat(cn);if(Zn){const tr=mn(cn,{parent:Jt,root:Mn,level:dn,params:yn,ancestors:kn,id:Yn});if(cn.children)for(const Cr of cn.children)Ke(Cr,mn,{sync:Zn,params:tr,_parent:cn,_root:Mn,_level:dn+1,_ancestors:ar});return null}if(!$n)return new Promise(async(tr,Cr)=>{try{const Pr=await mn(cn,{parent:Jt,root:Mn,level:dn,ancestors:kn,params:yn,id:Yn});if(cn.children)for(const _r of cn.children)await Ke(_r,mn,{params:Pr,_parent:cn,_root:Mn,_level:dn+1,_ancestors:ar});tr(null)}catch(Pr){Cr(Pr)}});const jn=Cn||(0,Le.default)(Gn),Qn=Ln||[];if(Qn.push(jn(()=>mn(cn,{parent:Jt,root:Mn,level:dn,ancestors:kn,id:Yn}))),cn.children)for(const tr of cn.children)Ke(tr,mn,{parallel:$n,_parent:cn,_root:Mn,_level:dn+1,_tasks:Qn,_ancestors:ar,_limit:jn});return Ln?null:Promise.all(Qn)};be.forEachBlocklet=Ke;const Je=(cn,mn)=>Ke(cn,mn,{sync:!0});be.forEachBlockletSync=Je;const Ze=(cn,mn,{parallel:$n=!1,concurrencyLimit:Gn=5,sync:Zn}={})=>{if(Zn){if(cn.children)for(const qt of cn.children)mn(qt);return null}if(!$n)return new Promise(async(qt,dn)=>{try{if(cn.children)for(const Ln of cn.children)await mn(Ln);qt(null)}catch(Ln){dn(Ln)}});const yn=(0,Le.default)(Gn),Jt=[];if(cn.children)for(const qt of cn.children)Jt.push(yn(()=>mn(qt)));return Promise.all(Jt)};be.forEachComponentV2=Ze;const Ye=(cn,mn)=>Ze(cn,mn,{sync:!0});be.forEachComponentV2Sync=Ye;const tt=(cn,mn,$n)=>Ke(cn,(Gn,Zn)=>Zn.level===0?{}:mn(Gn,Zn),$n);be.forEachChild=tt;const nt=(cn,mn)=>tt(cn,mn,{sync:!0});be.forEachChildSync=nt;const it=(cn,mn,{_ancestors:$n=[],returnAncestors:Gn=!1}={})=>{if(!mn)return null;if(mn(cn,{ancestors:$n}))return Gn?{component:cn,ancestors:$n}:cn;for(const Zn of cn.children||[]){const yn=$n.concat(cn),Jt=it(Zn,mn,{_ancestors:yn,returnAncestors:Gn});if(Jt)return Jt}return null};be.findComponent=it;const ot=(cn,mn,{returnAncestors:$n=!1}={})=>(Array.isArray(mn)&&(mn=mn.join("/")),it(cn,(Gn,{ancestors:Zn})=>{const yn=je(Gn,Zn);return mn===yn},{returnAncestors:$n}));be.findComponentById=ot;const gt=(cn,mn)=>{if(!mn)return null;for(const $n of cn.children||[])if(mn($n,cn))return $n;return null};be.findComponentV2=gt;const ft=(cn,mn)=>mn?(Array.isArray(mn)&&(mn=mn.join("/")),gt(cn,($n,Gn)=>{if(mn.includes("/")){const Zn=je($n,[Gn]);return mn===Zn}return mn===$n.meta.did})):null;be.findComponentByIdV2=ft;const wt=(cn,mn)=>{if(!mn)return[];const $n=[];for(const Gn of cn.children||[])mn(Gn,cn)&&$n.push(Gn);return $n};be.filterComponentsV2=wt;const Vt=cn=>!!cn&&!!(cn.key||cn.name)&&!cn.secure&&cn.shared!==!1&&!Pe.BLOCKLET_CONFIGURABLE_KEY[cn.key||cn.name];be.isEnvShareableToClient=Vt;const $t=(cn,mn=!1)=>!!cn&&!!(cn.key||cn.name)&&!!cn.shared&&!Pe.BLOCKLET_CONFIGURABLE_KEY[cn.key||cn.name]&&(mn?!0:!cn.secure);be.isEnvShareable=$t;const Mt=cn=>cn.key.startsWith(Pe.BLOCKLET_PREFERENCE_PREFIX)===!0;be.isPreferenceKey=Mt;const rt=(cn,mn,$n=!1)=>{const Gn={};return!cn||!mn||(Array.isArray(cn.configs)&&cn.configs.forEach(({key:Zn,value:yn,secure:Jt})=>{if(Mt({key:Zn})||!$t({key:Zn,secure:Jt,shared:!0},$n))return;const qt=(cn.configObj||{})[Zn]||yn,dn=(mn.configs||[]).find(Ln=>Ln.key===Zn);(!dn||$t(dn,$n)||!dn.value&&!(mn.configObj||{})[dn.key])&&(Gn[Zn]=qt)}),Array.isArray(cn.children)&&cn.children.filter(Zn=>Zn.meta?.did!==mn.meta?.did).forEach(Zn=>{(Zn.configs||[]).filter(yn=>$t(yn,$n)).filter(yn=>!(cn.configs||[]).find(Jt=>Jt.key===yn.key)).forEach(({key:yn,value:Jt})=>{const qt=(mn.configs||[]).find(dn=>dn.key===yn);(!qt||!qt.value&&!(mn.configObj||{})[qt.key])&&(Gn[yn]=Jt)})}),(cn.configs||[]).forEach(({key:Zn,value:yn})=>{[Pe.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_HOST,Pe.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_ID,Pe.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_TYPE].includes(Zn)&&(Gn[Pe.CHAIN_PROP_MAP[Zn]]=yn)})),Gn};be.getSharedConfigObj=rt;const ut=(cn,mn)=>!!(cn.required&&(!cn.value&&!mn[cn.key]||Object.values(Pe.CHAIN_PROP_MAP).includes(cn.key)&&Object.keys(mn).includes(cn.key)&&!mn[cn.key])),bt=(cn={})=>{const mn=[];return Ye(cn,$n=>{if($n.meta?.group===Pe.BlockletGroup.gateway)return;const Gn=$n.configs||[],Zn=rt(cn,$n);Gn.forEach(yn=>{ut(yn,Zn)&&mn.push({did:$n.meta.did,key:yn.key,description:yn.description})})}),mn.filter($n=>!Mt($n))};be.getAppMissingConfigs=bt;const St=(cn={},mn={})=>{const $n=[],Gn=cn.configs||[],Zn=rt(mn,cn);return Gn.forEach(yn=>{ut(yn,Zn)&&$n.push({did:cn.meta.did,key:yn.key,description:yn.description})}),$n};be.getComponentMissingConfigs=St;const Ct=cn=>cn.payment?(cn.payment.price||[]).map($n=>$n.value||0).every($n=>$n===0):!0;be.isFreeBlocklet=Ct;const Tt=cn=>!cn.payment||!cn.payment.componentPrice?!0:!cn.payment.componentPrice.length;be.isFreeComponent=Tt;const It=cn=>{if(!cn)return cn;const mn={...cn,configs:(cn.configs||[]).map($n=>({...$n})),environments:(cn.environments||[]).map($n=>({...$n})),migratedFrom:(cn.migratedFrom||[]).map($n=>({...$n})),settings:cn.settings?{...cn.settings,session:{...cn.settings.session}}:void 0,children:(cn.children||[]).map($n=>({...$n,configs:($n.configs||[]).map(Gn=>({...Gn})),environments:($n.environments||[]).map(Gn=>({...Gn}))}))};return Ke(mn,$n=>{$n.configs&&($n.configs=$n.configs.filter(Gn=>!Mt(Gn)),$n.configs.forEach(Gn=>{Gn.secure&&(Gn.value=Gn.value?"__encrypted__":"")})),($n.environments||[]).forEach(Gn=>{["BLOCKLET_APP_SK","BLOCKLET_APP_PSK","BLOCKLET_APP_SALT"].includes(Gn.key)&&(Gn.value="__encrypted__")}),($n.migratedFrom||[]).forEach(Gn=>{Gn.appSk="__encrypted__"}),delete mn.configObj,delete mn.environmentObj,delete mn.settings?.session?.salt},{sync:!0}),mn};be.wipeSensitiveData=It;const _t=cn=>{if(!cn)return!1;const mn=cn.environments.find($n=>$n.key==="BLOCKLET_DELETABLE");return mn?mn.value==="yes":!0};be.isDeletableBlocklet=_t;const st=cn=>{let mn=!1;return Je(cn,$n=>{$n.meta.group!==Pe.BlockletGroup.gateway&&(mn=!0)}),mn};be.hasRunnableComponent=st;const Nt=(cn,mn=!1)=>{if(!cn)return"";const{meta:$n}=cn;let Gn;if(!mn&&cn.environments){const Zn=cn.environments.find(yn=>yn.key==="BLOCKLET_APP_NAME");Zn&&Zn.value&&(Gn=Zn.value)}return Gn||$n.title||$n.name};be.getAppName=Nt,be.getDisplayName=Nt;const fn=(cn,mn=!1)=>{if(!cn)return"";const{meta:$n}=cn;let Gn;if(!mn&&cn.environments){const Zn=cn.environments.find(yn=>yn.key==="BLOCKLET_APP_DESCRIPTION");Zn&&Zn.value&&(Gn=Zn.value)}return Gn||$n.description||$n.name};be.getAppDescription=fn;function Xt(cn){return cn?.site?.domainAliases?.sort((Gn,Zn)=>Gn.accessibility?.accessible&&Zn.accessibility?.accessible?+Gn.isProtected-+Zn.isProtected:+Zn.accessibility?.accessible-+Gn.accessibility?.accessible)?.map(Gn=>{const Zn=Gn?.domainStatus?.isHttps?"https://":"http://",yn=Gn?.value;return`${Zn}${yn}`}).filter(Boolean)?.[0]}const pn=cn=>{cn&&(Je(cn,mn=>{mn.status=(0,Pe.fromBlockletStatus)(mn.status),mn.source!==void 0&&(mn.source=(0,Pe.fromBlockletSource)(mn.source))}),cn.settings&&(cn.settings.children||[]).forEach(mn=>{Je(mn,$n=>{$n.status=(0,Pe.fromBlockletStatus)($n.status),$n.source!==void 0&&($n.source=(0,Pe.fromBlockletSource)($n.source))})}))};be.fixBlockletStatus=pn;const zt=cn=>{if(!cn)return null;const mn=cn.meta||cn||{},{interfaces:$n=[]}=mn;return Array.isArray($n)?$n.find(Gn=>Gn.type===Pe.BLOCKLET_INTERFACE_TYPE_WEB):null};be.findWebInterface=zt;const sn=cn=>{if(!cn)return null;const mn=cn.meta||cn||{},{interfaces:$n=[]}=mn;return Array.isArray($n)?$n.find(Gn=>Gn.type===Pe.BLOCKLET_INTERFACE_TYPE_DOCKER):null};be.findDockerInterface=sn;const Kt=cn=>{if(!cn)return null;const mn=zt(cn),{ports:$n}=cn;return!mn||!$n?null:$n[mn.port]};be.findWebInterfacePort=Kt;const on=(cn,mn)=>{const $n=[mn],Gn=zt(cn);return Gn?(Gn.services||[]).find(Zn=>$n.includes(Zn.name)):null};be.findServiceFromMeta=on;const Rn=({request:cn,baseUrl:mn})=>{const $n=cn.headers["x-blocklet-did"]||"",Gn=cn.headers["x-blocklet-real-did"]||"",Zn=cn.headers["x-path-prefix"]||"/",yn=cn.headers["x-group-path-prefix"]||"/";let Jt=mn;return $n!==Gn&&Zn!==yn&&(Jt=(0,Re.joinURL)(Jt,"/").replace(Zn,yn)),Jt};be.getConnectAppUrl=Rn;const En=(cn,mn)=>{const $n=(mn||"").includes(":")?":":/\./;return(cn||"").replace(qe,(mn||"").replace(new RegExp($n,"g"),"-"))};be.replaceSlotToIp=En;const Yt=cn=>{const mn=Object.entries(Pe.CHAIN_INFO_CONFIG).reduce(($n,Gn)=>{const[Zn,[yn,Jt]]=Gn;return $n[yn]=(0,Se.default)(cn,Zn)||Jt,$n},{});return mn.type==="ethereum"&&mn.id==="none"&&(mn.id="1"),mn};be.getChainInfo=Yt;const Bt=cn=>{const mn=Yt({});if(!cn)return mn;const $n=Yt(cn.configObj);if($n.host!=="none")return $n;let Gn;return nt(cn,Zn=>{if(Gn&&Gn.host!=="none")return;const yn=Yt(Zn.configObj);yn.host!=="none"&&(Gn=yn)}),Gn||mn};be.getBlockletChainInfo=Bt;const an=cn=>!!cn?.controller;be.isExternalBlocklet=an;const ln=cn=>{const mn=Array.isArray(cn.migratedFrom)?cn.migratedFrom.map($n=>$n.appDid):[];return(0,Te.default)([cn.appDid,cn.appPid,...mn].filter(Boolean))};be.getBlockletAppIdList=ln;const gn=cn=>{const mn=[];return cn&&Je(cn,$n=>{($n.meta?.interfaces||[]).filter(Zn=>Zn.type===Pe.BLOCKLET_INTERFACE_TYPE_SERVICE).forEach(Zn=>{const yn=Zn.port||{};mn.push({name:Zn.name,protocol:Zn.protocol,port:Number(yn.external),upstreamPort:Number(($n.ports||{})[yn.internal])})})}),mn};be.getBlockletServices=gn;const wn=cn=>[Pe.BlockletStatus.downloading,Pe.BlockletStatus.waiting,Pe.BlockletStatus.starting,Pe.BlockletStatus.installing,Pe.BlockletStatus.stopping,Pe.BlockletStatus.upgrading,"downloading","waiting","starting","installing","extracting","stopping","upgrading","restarting","deleting"].includes(cn);be.isInProgress=wn;const In=[Pe.BlockletStatus.stopping,Pe.BlockletStatus.installing,Pe.BlockletStatus.downloading,Pe.BlockletStatus.restarting,Pe.BlockletStatus.starting,Pe.BlockletStatus.waiting,Pe.BlockletStatus.upgrading];be.inProgressStatuses=In;const xn=cn=>[Pe.BlockletStatus.added,Pe.BlockletStatus.waiting,Pe.BlockletStatus.downloading,Pe.BlockletStatus.installing,"added","waiting","downloading","installing"].includes(cn);be.isBeforeInstalled=xn;const _n=cn=>[Pe.BlockletStatus.running,"running"].includes(cn);be.isRunning=_n;const zn=cn=>[Pe.BlockletStatus.running,Pe.BlockletStatus.waiting,Pe.BlockletStatus.downloading,"running","waiting","downloading"].includes(cn);be.isAccessible=zn;const Nn=(cn,{type:mn,did:$n}={type:"",did:""})=>cn?!(0,Oe.hasStartEngine)(cn.meta)&&cn.meta?.resource?.bundles?.length>0&&(cn.meta.resource.bundles||[]).some(Gn=>Gn.type===mn&&Gn.did===$n):!1;be.hasResourceType=Nn;const Hn=cn=>{const mn=[];return Je(cn,($n,{level:Gn,params:Zn})=>{if((0,Oe.hasMountPoint)($n.meta)===!1)return null;const yn=Gn>1?Zn:mn;if(!yn)return null;const Jt=[];return yn.push({title:$n.meta?.title||"",name:$n.meta?.bundleName||"",did:$n.meta?.bundleDid||"",version:$n.meta?.version||"",status:(0,Pe.fromBlockletStatus)($n.status),mountPoint:(0,Re.joinURL)("/",$n.mountPoint||""),components:Jt,capabilities:$n.meta?.capabilities||{}}),Jt}),mn};be.getMountPoints=Hn;const dr=cn=>{if(!cn)return!0;const mn=cn?.accessPolicy?.roles??null,$n=cn?.accessPolicy?.reverse??!1;return mn===null&&$n===!1};be.checkPublicAccess=dr;const On=(cn=16)=>[...Array(cn)].map(()=>Math.random().toString(36)[2]).join("");be.nanoid=On,be.default={isFreeBlocklet:Ct,isFreeComponent:Tt,forEachBlocklet:Ke,forEachBlockletSync:Je,forEachChild:tt,forEachChildSync:nt,forEachComponentV2:Ze,forEachComponentV2Sync:Ye,isDeletableBlocklet:_t,getSharedConfigObj:rt,getAppMissingConfigs:bt,getComponentMissingConfigs:St,isEnvShareableToClient:Vt,isEnvShareable:$t,wipeSensitiveData:It,hasRunnableComponent:st,getAppName:Nt,getAppDescription:fn,getAppUrl:Xt,getDisplayName:Nt,fixBlockletStatus:pn,findWebInterface:zt,findWebInterfacePort:Kt,findDockerInterface:sn,findServiceFromMeta:on,checkPublicAccess:dr,replaceSlotToIp:En,getComponentId:je,getComponentName:Fe,getComponentBundleId:He,findComponent:it,findComponentById:ot,findComponentV2:gt,findComponentByIdV2:ft,filterComponentsV2:wt,getParentComponentName:Ge,getConnectAppUrl:Rn,getChainInfo:Yt,getBlockletChainInfo:Bt,isExternalBlocklet:an,isPreferenceKey:Mt,getBlockletServices:gn,isInProgress:wn,inProgressStatuses:In,isBeforeInstalled:xn,isRunning:_n,isAccessible:zn,isGatewayBlocklet:Oe.isGatewayBlocklet,isPackBlocklet:Oe.isPackBlocklet,hasStartEngine:Oe.hasStartEngine,hasResourceType:Nn,getMountPoints:Hn,nanoid:On}}(util)),util}var utilExports=requireUtil();const getServerUrl=(be,Ce=!1)=>{const Se=be.routing.adminPath;return Ce?encodeURIComponent(joinURL(window.location.origin,Se)):joinURL(window.location.origin,Se)},getLaunchAgreementUrl=(be,Ce,Se)=>{const Te=getServerUrl(Ce),Re=joinURL(Se,`/api/blocklets/${be.did}/blocklet.json`),Le=new URL(joinURL(Te,"/launch-blocklet/agreement"));return Le.searchParams.set("blocklet_meta_url",Re),Le.searchParams.set("from",window.location.href),Le.href},ensureDomainAliases=async(be,{getIP:Ce}={})=>{if(!be||!be.length)return[];if(!Ce||!be.some(Te=>Te.value.includes(constantExports$1.SLOT_FOR_IP_DNS_SITE)))return be;const Se=await Ce();return Se?be.map(Te=>{try{return Te.value=utilExports.replaceSlotToIp(Te.value,Se),Te}catch{return Te}}).filter(Boolean):be},getAppCapabilities=be=>{const Ce={didSpace:null};return utilExports.forEachBlockletSync(be,Se=>{Ce.didSpace===constantExports.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED||Ce.didSpace===constantExports.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED_ON_SETUP||Se?.meta?.capabilities?.didSpace&&(Ce.didSpace=Se.meta.capabilities.didSpace)}),Ce},fixBlocklet=async(be,{fixRuntime:Ce=!0,oldBlocklet:Se,getIP:Te}={})=>{if(be.site||(be.site={domainAliases:[],rules:[]}),be.site.rules.forEach(Re=>{Re.from.pathPrefix=normalizePathPrefix(Re.from.pathPrefix||"/")}),be.site.rules=sortBy(be.site.rules,Re=>Re.from.pathPrefix),Ce===!0)be.site.domainAliases=await ensureDomainAliases(be.site.domainAliases,{getIP:Te}),be.appRuntimeInfo&&(be.appRuntimeInfo.startAt=new Date-be.appRuntimeInfo.uptime),utilExports.forEachBlockletSync(be,Re=>{Re.runtimeInfo&&(Re.runtimeInfo.startAt=new Date-Re.runtimeInfo.uptime)});else if(Ce==="merge-old"&&Se){be.site.domainAliases=Se.site.domainAliases,be.appRuntimeInfo=Se.appRuntimeInfo;const Re={};utilExports.forEachBlockletSync(Se,(Le,{id:De})=>{Re[De]=Le}),utilExports.forEachBlockletSync(be,(Le,{id:De})=>{const Pe=Re[De];Pe&&(Le.runtimeInfo=Pe.runtimeInfo,Le.diskInfo=Pe.diskInfo,Le.engine=Pe.engine)})}else be.site.domainAliases=[];be.capabilities=getAppCapabilities(be)},DEFAULT_WALLET_TYPE="arcblock",getWalletType=(be,Ce=!1)=>{let Se;return Ce?(Se=(be.configs||[]).find(Te=>Te.key==="BLOCKLET_APP_CHAIN_TYPE"),Se&&Se.value||(Se=(be.environments||[]).find(Te=>["CHAIN_TYPE","BLOCKLET_APP_CHAIN_TYPE"].includes(Te.key)),Se&&Se.value)?Se.value:DEFAULT_WALLET_TYPE):(Se=(be.environments||[]).find(Te=>["CHAIN_TYPE","BLOCKLET_APP_CHAIN_TYPE"].includes(Te.name)),Se&&Se.default?Se.default:DEFAULT_WALLET_TYPE)},isServerless=be=>!isEmpty(be?.controller);let cache=null;const fetch$1=async()=>{const be=window.env.apiPrefix||"/",Ce=joinURL(be,"/api/dns-resolve?accessible=1");try{return(await axios$2.get(Ce)).data.address}catch{return null}},getIp=()=>(cache||(cache=fetch$1()),cache),BlockletsContext=reactExports.createContext({}),{Provider:Provider$3,Consumer:Consumer$3}=BlockletsContext,mergeBlocklets=(be,Ce,Se)=>Se?be.map(Te=>{const Re={...Te},Le=Ce.find(De=>De.meta.did===Te.meta.did);return Le&&Se.forEach(De=>{Re[De]=Le[De]}),Re}):Ce;function BlockletsProvider({children:be}){const Ce=useNodeContext(),[Se,Te]=reactExports.useState(null),[Re,Le]=reactExports.useState(!1),[De,Pe]=reactExports.useState([]),[Oe,qe]=reactExports.useState([]),[je,Fe]=reactExports.useState(!1),He=(nt,it)=>{utilExports.isExternalBlocklet(nt)?qe(it):Pe(it)},Ge=4,Ke=async({silent:nt=!0,retries:it=Ge,updates:ot,useCache:gt=!0,includeRuntimeInfo:ft=!1}={})=>{nt||Le(!0);try{Te(null);const{blocklets:wt}=await Ce.api.getBlocklets({input:{includeRuntimeInfo:ft,useCache:gt}});for(const Mt of wt)await fixBlocklet(Mt,{getIP:getIp});const Vt=wt.filter(Mt=>!utilExports.isExternalBlocklet(Mt)),$t=wt.filter(utilExports.isExternalBlocklet);Pe(Mt=>mergeBlocklets(Mt,Vt,ot)),qe(Mt=>mergeBlocklets(Mt,$t,ot)),Le(!1),Fe(!0)}catch(wt){it>0?setTimeout(()=>Ke({silent:nt,retries:it-1,useCache:gt,includeRuntimeInfo:ft}),1e3):(Le(!1),Te(wt))}},Je=async nt=>{try{const{blocklet:it}=await Ce.api.getBlocklet({input:{did:nt.meta.did,attachRuntimeInfo:!0}});await fixBlocklet(it,{getIP:getIp}),He(it,ot=>ot.some(gt=>gt.meta.did===it.meta.did)?ot.map(gt=>gt.meta.did===it.meta.did?it:gt):[...ot,it])}catch(it){Te(it)}},Ze=nt=>{Ce.refresh(),Je(nt)};reactExports.useEffect(()=>{Ke({silent:!1,includeRuntimeInfo:!1})},[]);const Ye=nt=>{const it={};utilExports.forEachBlockletSync(nt,(ot,{id:gt})=>{it[gt]=constantExports.fromBlockletStatus(ot.status)}),He(nt,ot=>ot.map(gt=>(gt.meta.did===nt.meta.did&&utilExports.forEachBlockletSync(gt,(ft,{id:wt})=>{it[wt]&&(ft.status=it[wt])}),gt)))};useSubscription(constantExports.BlockletEvents.added,nt=>{nt.status=constantExports.fromBlockletStatus(nt.status),He(nt,it=>[...it,nt])}),useSubscription(constantExports.BlockletEvents.removed,nt=>{Ce.refresh(),He(nt,it=>it.filter(ot=>ot.meta.did!==nt.meta.did))}),useSubscription(constantExports.BlockletEvents.statusChange,Ye),useSubscription(constantExports.BlockletEvents.installed,Ze),useSubscription(constantExports.BlockletEvents.upgraded,Ze),useSubscription(constantExports.BlockletEvents.updated,Je),useSubscription(constantExports.BlockletEvents.startFailed,Je);const tt={loading:Re,error:Se,data:De,externalData:Oe,refresh:Ke,initialized:je,api:Ce.api};return jsxRuntimeExports.jsx(Provider$3,{value:{blocklets:tt},children:be})}let didRefreshRuntimeInfo=!1;function useBlockletsContext(){const{blocklets:be}=reactExports.useContext(BlockletsContext);return reactExports.useEffect(()=>{!didRefreshRuntimeInfo&&be?.data?.length&&(didRefreshRuntimeInfo=!0,be.refresh({silent:!1,includeRuntimeInfo:!0}))},[be]),be}const key=utilExports$1.generateKey(),NotificationContext=reactExports.createContext({}),{Provider:Provider$2,Consumer:Consumer$2}=NotificationContext,parseParam=be=>Array.isArray(be)?be:typeof be=="string"?be.trim()?be.split(","):[]:[];function NotificationProvider({children:be}){const{api:Ce,info:Se}=useNodeContext(),{session:Te}=useSessionContext$1(),{data:Re,externalData:Le}=useBlockletsContext(),[De,Pe]=reactExports.useState([]),[Oe,qe]=reactExports.useState({page:1}),[je,Fe]=reactExports.useState({total:0,pageSize:10,pageCount:0,page:1}),[He,Ge]=reactExports.useState(!1),[Ke,Je]=reactExports.useState(0),{unReadCount:Ze=0,setUnReadCount:Ye}=Te||{},tt=useCreation(()=>Te.user?.did||""),{pathname:nt}=useLocation(),[it,ot]=useSearchParams(),gt=nt.includes("/notifications"),ft=useMediaQuery(_t=>_t.breakpoints.down("md")),wt=useCreation(()=>new Set(De.map(_t=>_t.id)),[De]),Vt=reactExports.useCallback(_t=>{Ye&&typeof Ye=="function"&&(typeof _t=="number"?Ye(_t<=0?0:_t):typeof _t=="function"&&Ye(_t))},[Ye]),$t=_t=>{const st=Math.ceil(_t/je.pageSize);Fe(Nt=>({...Nt,total:_t,pageCount:Math.max(0,st)}))},Mt=useCreation(()=>[].concat(Re).concat(Le),[Re,Le]),rt=_t=>{if(gt){const{severity:st,entityId:Nt}=_t;st!==it.get("severity")&&(st?it.set("severity",st):it.delete("severity")),Nt!==it.get("entityId")&&(Nt?it.set("entityId",Nt):it.delete("entityId")),ot(it,{replace:!0})}},ut=async({paging:_t={page:1,pageSize:10},append:st=!1,...Nt}={})=>{if(!He){Ge(!0);try{const fn={...Nt,severity:Nt?.severity||[],teamDid:Se.did,receiver:tt,paging:omit(_t,["currentPage"]),componentDid:[]},{entityId:Xt=[],source:pn=[]}=fn;typeof Xt=="string"&&(fn.entityId=parseParam(Xt)),typeof pn=="string"&&(fn.source=parseParam(pn)),Xt.includes("system")?(fn.source=(pn||[]).filter(Kt=>Kt!=="system").concat("system"),fn.entityId=Xt.filter(Kt=>Kt!=="system")):fn.source=(pn||[]).filter(Kt=>Kt!=="system");const zt=await Ce.getNotifications({input:{...fn}}),sn={...fn,source:[],entityId:fn.source.includes("system")?(Xt||[]).filter(Kt=>Kt!=="system").concat("system"):Xt||[]};rt(sn),qe(sn),utilExports$1.setNotificationQueryParams(key,omit(sn,"paging.page")),Pe(Kt=>{if(ft&&st){const on=zt.list.filter(Rn=>!wt.has(Rn.id));return Kt.concat(on)}return zt.list}),Fe({...zt.paging,currentPage:_t.currentPage||1}),Je(zt.unreadCount),Ge(!1)}catch(fn){H$7.error(fn.message),Ge(!1)}}};reactExports.useEffect(()=>{if(!gt){const _t=utilExports$1.getNotificationQueryParams(key);["severity","entityId","componentDid","source"].forEach(Nt=>{_t?.[Nt]!==void 0&&typeof _t[Nt]=="string"&&(_t[Nt]=parseParam(_t[Nt]))}),ut(_t??{})}},[]);const bt=reactExports.useCallback((_t=[])=>{const st=De.map(Nt=>_t.includes(Nt.id)?{...Nt,receivers:[{...Nt.receivers[0],read:!0}]}:Nt);Pe(st)},[De]),St=reactExports.useCallback(_t=>{Je(st=>Math.max(st-_t,0))},[]);useSubscription(constantExports$1.EVENTS.NOTIFICATION_CREATE,_t=>{const{severity:st=[],entityId:Nt=[]}=Oe??{},{severity:fn,entityId:Xt}=_t??{};if((!st.length||st.includes(fn))&&(!Nt.length||Nt.includes(Xt))){const{pageSize:pn=10}=je??{};Je(zt=>zt+1),Pe(zt=>{const sn=[_t,...zt||[]];return ft?sn:sn.slice(0,pn)}),$t(je.total+1)}Vt(pn=>pn+1)},[Oe,je]),useSubscription(constantExports$1.EVENTS.NOTIFICATION_READ,_t=>{const{receiver:st,readCount:Nt,notificationIds:fn}=_t;st===tt&&(Vt(Xt=>Math.max(Xt-Nt,0)),bt(fn),St(fn.length))},[Vt,bt,St]);const Ct=_t=>{if(!_t)return;const st=Array.isArray(_t)?_t:[_t];return st.length?Ce.readNotifications({input:{notificationIds:st,receiver:tt,teamDid:Se.did}}):void 0},Tt=reactExports.useCallback(async()=>{if(Ze>0)return await Ce.makeAllNotificationsAsRead({input:{receiver:tt,teamDid:Se.did}})},[Ce,tt,Ze,Se.did]),It={loading:He,refresh:ut,data:De,filterUnReadCount:Ke,paging:je,api:Ce,params:Oe,onReadNotification:Ct,unReadCount:Ze,makeAllAsRead:Tt,blocklets:Mt};return jsxRuntimeExports.jsx(Provider$2,{value:{notifications:It},children:be})}function useNotificationContext(){const{notifications:be}=reactExports.useContext(NotificationContext);return be}const viewAllUrl="/notifications";function NotificationAddon(){const{data:be,externalData:Ce}=useBlockletsContext(),Se=useNotificationContext(),{enqueueSnackbar:Te}=useSnackbar(),Re=reactExports.useMemo(()=>[].concat(be).concat(Ce),[be,Ce]),Le=reactExports.useCallback(De=>withQuery(viewAllUrl,{id:De.id,severity:De.severity||"all",entityId:De.entityId||"all"}),[]);return useSubscription(constantExports$1.EVENTS.NOTIFICATION_CREATE,De=>{const Pe=Le(De),Oe=["error","warning"].includes(De.severity)||De.sticky;Te(De.description,{variant:De.severity,autoHideDuration:Oe?null:5e3,content:qe=>jsxRuntimeExports.jsx(NotificationComponent$1,{viewAllUrl:Pe,keyId:qe,notification:De})})}),jsxRuntimeExports.jsx(NotificationAddon$1,{context:Se,blocklets:Re,viewAllUrl})}function Dashboard$1({children:be,title:Ce="Blocklet Server",...Se}){const{info:Te}=useNodeContext(),{t:Re}=reactExports.useContext(g$d),Le=useLocation();useShowConsole();const De=useMediaQuery(Ke=>Ke.breakpoints.down("md")),Pe=Te.ownerNft?.did||"",Oe=Te.launcher?.chainHost||"",qe=Te.launcher?.url||"",je=[{url:"/dashboard",name:"dashboard",title:Re("sidebar.dashboard"),icon:jsxRuntimeExports.jsx(t$9,{})},{url:"/store",name:"store",title:Re("common.store"),icon:jsxRuntimeExports.jsx(e$1,{})},{url:"/blocklets",name:"blocklets",title:Re("sidebar.blocklets"),icon:jsxRuntimeExports.jsx(e$3,{})},{url:"/logs",name:"log",title:Re("common.logs"),icon:jsxRuntimeExports.jsx(t$8,{})},{url:"/team",name:"team",title:Re("common.team"),icon:jsxRuntimeExports.jsx(t$7,{})},{url:"/analytics",name:"analytics",title:Re("common.analytics"),icon:jsxRuntimeExports.jsx(AnalyticsIcon,{})},{url:"/settings",name:"settings",title:Re("sidebar.settings"),icon:jsxRuntimeExports.jsx(e$2,{})}],Fe=Te.mode||constantExports$1.NODE_MODES.PRODUCTION,He={[constantExports$1.NODE_MODES.PRODUCTION]:"success",[constantExports$1.NODE_MODES.SERVERLESS]:"primary",[constantExports$1.NODE_MODES.MAINTENANCE]:"error",[constantExports$1.NODE_MODES.DEBUG]:"error"},Ge=[{label:"Server ID",value:Te.did},{label:"Server Version",value:Te.version}];return jsxRuntimeExports.jsx(ue,{links:je,headerProps:{brand:Te.name,description:jsxRuntimeExports.jsx(WrappedDidAddress,{compact:!0,responsive:!1,copyable:!1,showCopyButtonInTooltip:!0,did:Te.did}),brandAddon:jsxRuntimeExports.jsx(p$3,{type:He[Fe],children:`${Fe} mode`}),addons:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Pe&&Oe&&jsxRuntimeExports.jsx(SubscriptionServer,{chainHost:Oe,launcherUrl:qe,nftId:Pe,launcherSessionId:Te.ownerNft?.launcherSessionId,sx:{cursor:"pointer",marginRight:{xs:"8px",md:"64px"}}}),jsxRuntimeExports.jsx(HeaderAddon,{SessionContext,extraItems:[jsxRuntimeExports.jsx(NotificationAddon,{})]})]}),logo:De?null:jsxRuntimeExports.jsx(SvgLogo,{width:"48",height:"48"})},footerProps:{addon:jsxRuntimeExports.jsx(Feedback,{infos:Ge})},title:`${Ce}-${Te.name}`,legacy:!1,dense:!1,...Se,children:jsxRuntimeExports.jsx(ErrorBoundary,{FallbackComponent:k$1,resetKeys:[Le.pathname],children:be})})}Dashboard$1.propTypes={children:o$g.any.isRequired,title:o$g.string};function DashboardRoute({title:be="Blocklet Server",scrollable:Ce=!0,fullWidth:Se=!1,children:Te}){return jsxRuntimeExports.jsx(StyledDashboardLayout,{scrollable:Ce,fullWidth:Se,title:be,children:Te})}DashboardRoute.propTypes={children:o$g.any.isRequired,title:o$g.string,scrollable:o$g.bool,fullWidth:o$g.bool};const StyledDashboardLayout=styled$3(Dashboard$1)`
|
|
2889
|
+
`,browser.homedir=function(){return"/"}),browser}var hasRequiredEngine;function requireEngine(){return hasRequiredEngine||(hasRequiredEngine=1,function(be){var Ce=engine&&engine.__importDefault||function(je){return je&&je.__esModule?je:{default:je}};Object.defineProperty(be,"__esModule",{value:!0}),be.hasMountPoint=be.hasStartEngine=be.isPackBlocklet=be.isGatewayBlocklet=be.getBlockletEngine=void 0;const Se=Ce(requireBrowser()),Te=requireConstant$1(),Re=je=>{if(je===void 0)throw new Error("blocklet meta param is required");const{engine:Fe}=je;if(!Fe)return{interpreter:"node",source:""};if(!Array.isArray(Fe))return Fe;const He=Se.default.platform(),Ge=Fe.find(Ke=>Ke.platform===He);if(!Ge)throw new Error(`can not find a proper engine interpreter on ${He}`);return Ge};be.getBlockletEngine=Re;const Le=je=>je?.group===Te.BlockletGroup.gateway;be.isGatewayBlocklet=Le;const De=je=>je?.group===Te.BlockletGroup.pack;be.isPackBlocklet=De;const Pe=je=>!!je?.main||!!je?.docker?.image||(0,be.getBlockletEngine)(je||{}).interpreter==="blocklet";be.hasStartEngine=Pe;const Oe=je=>!!je?.main||(0,be.getBlockletEngine)(je||{}).interpreter==="blocklet",qe=je=>{const Fe=(je?.interfaces||[]).find(He=>He.type===Te.BLOCKLET_INTERFACE_TYPE_WEB);return(Oe(je)||Fe)&&(0,be.isGatewayBlocklet)(je)===!1};be.hasMountPoint=qe}(engine)),engine}var hasRequiredUtil;function requireUtil(){return hasRequiredUtil||(hasRequiredUtil=1,function(be){var Ce=util&&util.__importDefault||function(cn){return cn&&cn.__esModule?cn:{default:cn}};Object.defineProperty(be,"__esModule",{value:!0}),be.hasStartEngine=be.isPackBlocklet=be.isGatewayBlocklet=be.isAccessible=be.isRunning=be.isBeforeInstalled=be.inProgressStatuses=be.isInProgress=be.getBlockletServices=be.getBlockletAppIdList=be.isPreferenceKey=be.isExternalBlocklet=be.getBlockletChainInfo=be.getChainInfo=be.getConnectAppUrl=be.getParentComponentName=be.filterComponentsV2=be.findComponentByIdV2=be.findComponentV2=be.findComponentById=be.findComponent=be.getComponentBundleId=be.getComponentName=be.getComponentId=be.replaceSlotToIp=be.checkPublicAccess=be.findServiceFromMeta=be.findDockerInterface=be.findWebInterfacePort=be.findWebInterface=be.fixBlockletStatus=be.getAppDescription=be.getDisplayName=be.getAppName=be.hasRunnableComponent=be.wipeSensitiveData=be.isEnvShareable=be.isEnvShareableToClient=be.getComponentMissingConfigs=be.getAppMissingConfigs=be.getSharedConfigObj=be.isDeletableBlocklet=be.forEachComponentV2Sync=be.forEachComponentV2=be.forEachChildSync=be.forEachChild=be.forEachBlockletSync=be.forEachBlocklet=be.isFreeComponent=be.isFreeBlocklet=void 0,be.nanoid=be.getMountPoints=be.hasResourceType=void 0,be.getAppUrl=Xt;const Se=Ce(require$$3$1),Te=Ce(require$$1),Re=requireDist(),Le=Ce(requirePLimit()),De=Ce(requireConstant$2()),Pe=requireConstant$1(),Oe=requireEngine();Object.defineProperty(be,"hasStartEngine",{enumerable:!0,get:function(){return Oe.hasStartEngine}}),Object.defineProperty(be,"isGatewayBlocklet",{enumerable:!0,get:function(){return Oe.isGatewayBlocklet}}),Object.defineProperty(be,"isPackBlocklet",{enumerable:!0,get:function(){return Oe.isPackBlocklet}});const{SLOT_FOR_IP_DNS_SITE:qe}=De.default,je=(cn,mn=[])=>`${mn.map($n=>$n&&$n.meta?$n.meta.did:"").join("/")}${mn.length?"/":""}${cn&&cn.meta?cn.meta.did:""}`;be.getComponentId=je;const Fe=(cn,mn=[])=>`${mn.map($n=>$n&&$n.meta?$n.meta.name:"").join("/")}${mn.length?"/":""}${cn&&cn.meta?cn.meta.name:""}`;be.getComponentName=Fe;const He=cn=>`${cn.meta.bundleName}@${cn.meta.version}`;be.getComponentBundleId=He;const Ge=cn=>{if(!cn)return"";const mn=cn.split("/");return mn.pop(),!mn.length||(mn[mn.length-1].startsWith("@")&&mn.pop(),!mn.length)?"":mn.join("/")};be.getParentComponentName=Ge;const Ke=(cn,mn,{parallel:$n=!1,concurrencyLimit:Gn=5,sync:Zn,params:yn,_parent:Jt,_root:qt,_level:dn=0,_tasks:Ln,_ancestors:kn=[],_limit:Cn}={})=>{const Mn=qt||Jt||cn,Yn=je(cn,kn),ar=kn.concat(cn);if(Zn){const tr=mn(cn,{parent:Jt,root:Mn,level:dn,params:yn,ancestors:kn,id:Yn});if(cn.children)for(const Cr of cn.children)Ke(Cr,mn,{sync:Zn,params:tr,_parent:cn,_root:Mn,_level:dn+1,_ancestors:ar});return null}if(!$n)return new Promise(async(tr,Cr)=>{try{const Pr=await mn(cn,{parent:Jt,root:Mn,level:dn,ancestors:kn,params:yn,id:Yn});if(cn.children)for(const _r of cn.children)await Ke(_r,mn,{params:Pr,_parent:cn,_root:Mn,_level:dn+1,_ancestors:ar});tr(null)}catch(Pr){Cr(Pr)}});const jn=Cn||(0,Le.default)(Gn),Qn=Ln||[];if(Qn.push(jn(()=>mn(cn,{parent:Jt,root:Mn,level:dn,ancestors:kn,id:Yn}))),cn.children)for(const tr of cn.children)Ke(tr,mn,{parallel:$n,_parent:cn,_root:Mn,_level:dn+1,_tasks:Qn,_ancestors:ar,_limit:jn});return Ln?null:Promise.all(Qn)};be.forEachBlocklet=Ke;const Je=(cn,mn)=>Ke(cn,mn,{sync:!0});be.forEachBlockletSync=Je;const Ze=(cn,mn,{parallel:$n=!1,concurrencyLimit:Gn=5,sync:Zn}={})=>{if(Zn){if(cn.children)for(const qt of cn.children)mn(qt);return null}if(!$n)return new Promise(async(qt,dn)=>{try{if(cn.children)for(const Ln of cn.children)await mn(Ln);qt(null)}catch(Ln){dn(Ln)}});const yn=(0,Le.default)(Gn),Jt=[];if(cn.children)for(const qt of cn.children)Jt.push(yn(()=>mn(qt)));return Promise.all(Jt)};be.forEachComponentV2=Ze;const Ye=(cn,mn)=>Ze(cn,mn,{sync:!0});be.forEachComponentV2Sync=Ye;const tt=(cn,mn,$n)=>Ke(cn,(Gn,Zn)=>Zn.level===0?{}:mn(Gn,Zn),$n);be.forEachChild=tt;const nt=(cn,mn)=>tt(cn,mn,{sync:!0});be.forEachChildSync=nt;const it=(cn,mn,{_ancestors:$n=[],returnAncestors:Gn=!1}={})=>{if(!mn)return null;if(mn(cn,{ancestors:$n}))return Gn?{component:cn,ancestors:$n}:cn;for(const Zn of cn.children||[]){const yn=$n.concat(cn),Jt=it(Zn,mn,{_ancestors:yn,returnAncestors:Gn});if(Jt)return Jt}return null};be.findComponent=it;const ot=(cn,mn,{returnAncestors:$n=!1}={})=>(Array.isArray(mn)&&(mn=mn.join("/")),it(cn,(Gn,{ancestors:Zn})=>{const yn=je(Gn,Zn);return mn===yn},{returnAncestors:$n}));be.findComponentById=ot;const gt=(cn,mn)=>{if(!mn)return null;for(const $n of cn.children||[])if(mn($n,cn))return $n;return null};be.findComponentV2=gt;const ft=(cn,mn)=>mn?(Array.isArray(mn)&&(mn=mn.join("/")),gt(cn,($n,Gn)=>{if(mn.includes("/")){const Zn=je($n,[Gn]);return mn===Zn}return mn===$n.meta.did})):null;be.findComponentByIdV2=ft;const wt=(cn,mn)=>{if(!mn)return[];const $n=[];for(const Gn of cn.children||[])mn(Gn,cn)&&$n.push(Gn);return $n};be.filterComponentsV2=wt;const Vt=cn=>!!cn&&!!(cn.key||cn.name)&&!cn.secure&&cn.shared!==!1&&!Pe.BLOCKLET_CONFIGURABLE_KEY[cn.key||cn.name];be.isEnvShareableToClient=Vt;const $t=(cn,mn=!1)=>!!cn&&!!(cn.key||cn.name)&&!!cn.shared&&!Pe.BLOCKLET_CONFIGURABLE_KEY[cn.key||cn.name]&&(mn?!0:!cn.secure);be.isEnvShareable=$t;const Mt=cn=>cn.key.startsWith(Pe.BLOCKLET_PREFERENCE_PREFIX)===!0;be.isPreferenceKey=Mt;const rt=(cn,mn,$n=!1)=>{const Gn={};return!cn||!mn||(Array.isArray(cn.configs)&&cn.configs.forEach(({key:Zn,value:yn,secure:Jt})=>{if(Mt({key:Zn})||!$t({key:Zn,secure:Jt,shared:!0},$n))return;const qt=(cn.configObj||{})[Zn]||yn,dn=(mn.configs||[]).find(Ln=>Ln.key===Zn);(!dn||$t(dn,$n)||!dn.value&&!(mn.configObj||{})[dn.key])&&(Gn[Zn]=qt)}),Array.isArray(cn.children)&&cn.children.filter(Zn=>Zn.meta?.did!==mn.meta?.did).forEach(Zn=>{(Zn.configs||[]).filter(yn=>$t(yn,$n)).filter(yn=>!(cn.configs||[]).find(Jt=>Jt.key===yn.key)).forEach(({key:yn,value:Jt})=>{const qt=(mn.configs||[]).find(dn=>dn.key===yn);(!qt||!qt.value&&!(mn.configObj||{})[qt.key])&&(Gn[yn]=Jt)})}),(cn.configs||[]).forEach(({key:Zn,value:yn})=>{[Pe.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_HOST,Pe.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_ID,Pe.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_CHAIN_TYPE].includes(Zn)&&(Gn[Pe.CHAIN_PROP_MAP[Zn]]=yn)})),Gn};be.getSharedConfigObj=rt;const ut=(cn,mn)=>!!(cn.required&&(!cn.value&&!mn[cn.key]||Object.values(Pe.CHAIN_PROP_MAP).includes(cn.key)&&Object.keys(mn).includes(cn.key)&&!mn[cn.key])),bt=(cn={})=>{const mn=[];return Ye(cn,$n=>{if($n.meta?.group===Pe.BlockletGroup.gateway)return;const Gn=$n.configs||[],Zn=rt(cn,$n);Gn.forEach(yn=>{ut(yn,Zn)&&mn.push({did:$n.meta.did,key:yn.key,description:yn.description})})}),mn.filter($n=>!Mt($n))};be.getAppMissingConfigs=bt;const St=(cn={},mn={})=>{const $n=[],Gn=cn.configs||[],Zn=rt(mn,cn);return Gn.forEach(yn=>{ut(yn,Zn)&&$n.push({did:cn.meta.did,key:yn.key,description:yn.description})}),$n};be.getComponentMissingConfigs=St;const Ct=cn=>cn.payment?(cn.payment.price||[]).map($n=>$n.value||0).every($n=>$n===0):!0;be.isFreeBlocklet=Ct;const Tt=cn=>!cn.payment||!cn.payment.componentPrice?!0:!cn.payment.componentPrice.length;be.isFreeComponent=Tt;const It=cn=>{if(!cn)return cn;const mn={...cn,configs:(cn.configs||[]).map($n=>({...$n})),environments:(cn.environments||[]).map($n=>({...$n})),migratedFrom:(cn.migratedFrom||[]).map($n=>({...$n})),settings:cn.settings?{...cn.settings,session:{...cn.settings.session}}:void 0,children:(cn.children||[]).map($n=>({...$n,configs:($n.configs||[]).map(Gn=>({...Gn})),environments:($n.environments||[]).map(Gn=>({...Gn}))}))};return Ke(mn,$n=>{$n.configs&&($n.configs=$n.configs.filter(Gn=>!Mt(Gn)),$n.configs.forEach(Gn=>{Gn.secure&&(Gn.value=Gn.value?"__encrypted__":"")})),($n.environments||[]).forEach(Gn=>{["BLOCKLET_APP_SK","BLOCKLET_APP_PSK","BLOCKLET_APP_SALT"].includes(Gn.key)&&(Gn.value="__encrypted__")}),($n.migratedFrom||[]).forEach(Gn=>{Gn.appSk="__encrypted__"}),delete mn.configObj,delete mn.environmentObj,delete mn.settings?.session?.salt},{sync:!0}),mn};be.wipeSensitiveData=It;const _t=cn=>{if(!cn)return!1;const mn=cn.environments.find($n=>$n.key==="BLOCKLET_DELETABLE");return mn?mn.value==="yes":!0};be.isDeletableBlocklet=_t;const st=cn=>{let mn=!1;return Je(cn,$n=>{$n.meta.group!==Pe.BlockletGroup.gateway&&(mn=!0)}),mn};be.hasRunnableComponent=st;const Nt=(cn,mn=!1)=>{if(!cn)return"";const{meta:$n}=cn;let Gn;if(!mn&&cn.environments){const Zn=cn.environments.find(yn=>yn.key==="BLOCKLET_APP_NAME");Zn&&Zn.value&&(Gn=Zn.value)}return Gn||$n.title||$n.name};be.getAppName=Nt,be.getDisplayName=Nt;const fn=(cn,mn=!1)=>{if(!cn)return"";const{meta:$n}=cn;let Gn;if(!mn&&cn.environments){const Zn=cn.environments.find(yn=>yn.key==="BLOCKLET_APP_DESCRIPTION");Zn&&Zn.value&&(Gn=Zn.value)}return Gn||$n.description||$n.name};be.getAppDescription=fn;function Xt(cn){return cn?.site?.domainAliases?.sort((Gn,Zn)=>Gn.accessibility?.accessible&&Zn.accessibility?.accessible?+Gn.isProtected-+Zn.isProtected:+Zn.accessibility?.accessible-+Gn.accessibility?.accessible)?.map(Gn=>{const Zn=Gn?.domainStatus?.isHttps?"https://":"http://",yn=Gn?.value;return`${Zn}${yn}`}).filter(Boolean)?.[0]}const pn=cn=>{cn&&(Je(cn,mn=>{mn.status=(0,Pe.fromBlockletStatus)(mn.status),mn.source!==void 0&&(mn.source=(0,Pe.fromBlockletSource)(mn.source))}),cn.settings&&(cn.settings.children||[]).forEach(mn=>{Je(mn,$n=>{$n.status=(0,Pe.fromBlockletStatus)($n.status),$n.source!==void 0&&($n.source=(0,Pe.fromBlockletSource)($n.source))})}))};be.fixBlockletStatus=pn;const zt=cn=>{if(!cn)return null;const mn=cn.meta||cn||{},{interfaces:$n=[]}=mn;return Array.isArray($n)?$n.find(Gn=>Gn.type===Pe.BLOCKLET_INTERFACE_TYPE_WEB):null};be.findWebInterface=zt;const sn=cn=>{if(!cn)return null;const mn=cn.meta||cn||{},{interfaces:$n=[]}=mn;return Array.isArray($n)?$n.find(Gn=>Gn.type===Pe.BLOCKLET_INTERFACE_TYPE_DOCKER):null};be.findDockerInterface=sn;const Kt=cn=>{if(!cn)return null;const mn=zt(cn),{ports:$n}=cn;return!mn||!$n?null:$n[mn.port]};be.findWebInterfacePort=Kt;const on=(cn,mn)=>{const $n=[mn],Gn=zt(cn);return Gn?(Gn.services||[]).find(Zn=>$n.includes(Zn.name)):null};be.findServiceFromMeta=on;const Rn=({request:cn,baseUrl:mn})=>{const $n=cn.headers["x-blocklet-did"]||"",Gn=cn.headers["x-blocklet-real-did"]||"",Zn=cn.headers["x-path-prefix"]||"/",yn=cn.headers["x-group-path-prefix"]||"/";let Jt=mn;return $n!==Gn&&Zn!==yn&&(Jt=(0,Re.joinURL)(Jt,"/").replace(Zn,yn)),Jt};be.getConnectAppUrl=Rn;const En=(cn,mn)=>{const $n=(mn||"").includes(":")?":":/\./;return(cn||"").replace(qe,(mn||"").replace(new RegExp($n,"g"),"-"))};be.replaceSlotToIp=En;const Yt=cn=>{const mn=Object.entries(Pe.CHAIN_INFO_CONFIG).reduce(($n,Gn)=>{const[Zn,[yn,Jt]]=Gn;return $n[yn]=(0,Se.default)(cn,Zn)||Jt,$n},{});return mn.type==="ethereum"&&mn.id==="none"&&(mn.id="1"),mn};be.getChainInfo=Yt;const Bt=cn=>{const mn=Yt({});if(!cn)return mn;const $n=Yt(cn.configObj);if($n.host!=="none")return $n;let Gn;return nt(cn,Zn=>{if(Gn&&Gn.host!=="none")return;const yn=Yt(Zn.configObj);yn.host!=="none"&&(Gn=yn)}),Gn||mn};be.getBlockletChainInfo=Bt;const an=cn=>!!cn?.controller;be.isExternalBlocklet=an;const ln=cn=>{const mn=Array.isArray(cn.migratedFrom)?cn.migratedFrom.map($n=>$n.appDid):[];return(0,Te.default)([cn.appDid,cn.appPid,...mn].filter(Boolean))};be.getBlockletAppIdList=ln;const gn=cn=>{const mn=[];return cn&&Je(cn,$n=>{($n.meta?.interfaces||[]).filter(Zn=>Zn.type===Pe.BLOCKLET_INTERFACE_TYPE_SERVICE).forEach(Zn=>{const yn=Zn.port||{};mn.push({name:Zn.name,protocol:Zn.protocol,port:Number(yn.external),upstreamPort:Number(($n.ports||{})[yn.internal])})})}),mn};be.getBlockletServices=gn;const wn=cn=>[Pe.BlockletStatus.downloading,Pe.BlockletStatus.waiting,Pe.BlockletStatus.starting,Pe.BlockletStatus.installing,Pe.BlockletStatus.stopping,Pe.BlockletStatus.upgrading,"downloading","waiting","starting","installing","extracting","stopping","upgrading","restarting","deleting"].includes(cn);be.isInProgress=wn;const In=[Pe.BlockletStatus.stopping,Pe.BlockletStatus.installing,Pe.BlockletStatus.downloading,Pe.BlockletStatus.restarting,Pe.BlockletStatus.starting,Pe.BlockletStatus.waiting,Pe.BlockletStatus.upgrading];be.inProgressStatuses=In;const xn=cn=>[Pe.BlockletStatus.added,Pe.BlockletStatus.waiting,Pe.BlockletStatus.downloading,Pe.BlockletStatus.installing,"added","waiting","downloading","installing"].includes(cn);be.isBeforeInstalled=xn;const _n=cn=>[Pe.BlockletStatus.running,"running"].includes(cn);be.isRunning=_n;const zn=cn=>[Pe.BlockletStatus.running,Pe.BlockletStatus.waiting,Pe.BlockletStatus.downloading,"running","waiting","downloading"].includes(cn);be.isAccessible=zn;const Nn=(cn,{type:mn,did:$n}={type:"",did:""})=>cn?!(0,Oe.hasStartEngine)(cn.meta)&&cn.meta?.resource?.bundles?.length>0&&(cn.meta.resource.bundles||[]).some(Gn=>Gn.type===mn&&Gn.did===$n):!1;be.hasResourceType=Nn;const Hn=cn=>{const mn=[];return Je(cn,($n,{level:Gn,params:Zn})=>{if((0,Oe.hasMountPoint)($n.meta)===!1)return null;const yn=Gn>1?Zn:mn;if(!yn)return null;const Jt=[];return yn.push({title:$n.meta?.title||"",name:$n.meta?.bundleName||"",did:$n.meta?.bundleDid||"",version:$n.meta?.version||"",status:(0,Pe.fromBlockletStatus)($n.status),mountPoint:(0,Re.joinURL)("/",$n.mountPoint||""),components:Jt,capabilities:$n.meta?.capabilities||{}}),Jt}),mn};be.getMountPoints=Hn;const dr=cn=>{if(!cn)return!0;const mn=cn?.accessPolicy?.roles??null,$n=cn?.accessPolicy?.reverse??!1;return mn===null&&$n===!1};be.checkPublicAccess=dr;const On=(cn=16)=>[...Array(cn)].map(()=>Math.random().toString(36)[2]).join("");be.nanoid=On,be.default={isFreeBlocklet:Ct,isFreeComponent:Tt,forEachBlocklet:Ke,forEachBlockletSync:Je,forEachChild:tt,forEachChildSync:nt,forEachComponentV2:Ze,forEachComponentV2Sync:Ye,isDeletableBlocklet:_t,getSharedConfigObj:rt,getAppMissingConfigs:bt,getComponentMissingConfigs:St,isEnvShareableToClient:Vt,isEnvShareable:$t,wipeSensitiveData:It,hasRunnableComponent:st,getAppName:Nt,getAppDescription:fn,getAppUrl:Xt,getDisplayName:Nt,fixBlockletStatus:pn,findWebInterface:zt,findWebInterfacePort:Kt,findDockerInterface:sn,findServiceFromMeta:on,checkPublicAccess:dr,replaceSlotToIp:En,getComponentId:je,getComponentName:Fe,getComponentBundleId:He,findComponent:it,findComponentById:ot,findComponentV2:gt,findComponentByIdV2:ft,filterComponentsV2:wt,getParentComponentName:Ge,getConnectAppUrl:Rn,getChainInfo:Yt,getBlockletChainInfo:Bt,isExternalBlocklet:an,isPreferenceKey:Mt,getBlockletServices:gn,isInProgress:wn,inProgressStatuses:In,isBeforeInstalled:xn,isRunning:_n,isAccessible:zn,isGatewayBlocklet:Oe.isGatewayBlocklet,isPackBlocklet:Oe.isPackBlocklet,hasStartEngine:Oe.hasStartEngine,hasResourceType:Nn,getMountPoints:Hn,nanoid:On}}(util)),util}var utilExports=requireUtil();const getServerUrl=(be,Ce=!1)=>{const Se=be.routing.adminPath;return Ce?encodeURIComponent(joinURL(window.location.origin,Se)):joinURL(window.location.origin,Se)},getLaunchAgreementUrl=(be,Ce,Se)=>{const Te=getServerUrl(Ce),Re=joinURL(Se,`/api/blocklets/${be.did}/blocklet.json`),Le=new URL(joinURL(Te,"/launch-blocklet/agreement"));return Le.searchParams.set("blocklet_meta_url",Re),Le.searchParams.set("from",window.location.href),Le.href},ensureDomainAliases=async(be,{getIP:Ce}={})=>{if(!be||!be.length)return[];if(!Ce||!be.some(Te=>Te.value.includes(constantExports$1.SLOT_FOR_IP_DNS_SITE)))return be;const Se=await Ce();return Se?be.map(Te=>{try{return Te.value=utilExports.replaceSlotToIp(Te.value,Se),Te}catch{return Te}}).filter(Boolean):be},getAppCapabilities=be=>{const Ce={didSpace:null};return utilExports.forEachBlockletSync(be,Se=>{Ce.didSpace===constantExports.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED||Ce.didSpace===constantExports.BLOCKLET_APP_SPACE_REQUIREMENT.REQUIRED_ON_SETUP||Se?.meta?.capabilities?.didSpace&&(Ce.didSpace=Se.meta.capabilities.didSpace)}),Ce},fixBlocklet=async(be,{fixRuntime:Ce=!0,oldBlocklet:Se,getIP:Te}={})=>{if(be.site||(be.site={domainAliases:[],rules:[]}),be.site.rules.forEach(Re=>{Re.from.pathPrefix=normalizePathPrefix(Re.from.pathPrefix||"/")}),be.site.rules=sortBy(be.site.rules,Re=>Re.from.pathPrefix),Ce===!0)be.site.domainAliases=await ensureDomainAliases(be.site.domainAliases,{getIP:Te}),be.appRuntimeInfo&&(be.appRuntimeInfo.startAt=new Date-be.appRuntimeInfo.uptime),utilExports.forEachBlockletSync(be,Re=>{Re.runtimeInfo&&(Re.runtimeInfo.startAt=new Date-Re.runtimeInfo.uptime)});else if(Ce==="merge-old"&&Se){be.site.domainAliases=Se.site.domainAliases,be.appRuntimeInfo=Se.appRuntimeInfo;const Re={};utilExports.forEachBlockletSync(Se,(Le,{id:De})=>{Re[De]=Le}),utilExports.forEachBlockletSync(be,(Le,{id:De})=>{const Pe=Re[De];Pe&&(Le.runtimeInfo=Pe.runtimeInfo,Le.diskInfo=Pe.diskInfo,Le.engine=Pe.engine)})}else be.site.domainAliases=[];be.capabilities=getAppCapabilities(be)},DEFAULT_WALLET_TYPE="arcblock",getWalletType=(be,Ce=!1)=>{let Se;return Ce?(Se=(be.configs||[]).find(Te=>Te.key==="BLOCKLET_APP_CHAIN_TYPE"),Se&&Se.value||(Se=(be.environments||[]).find(Te=>["CHAIN_TYPE","BLOCKLET_APP_CHAIN_TYPE"].includes(Te.key)),Se&&Se.value)?Se.value:DEFAULT_WALLET_TYPE):(Se=(be.environments||[]).find(Te=>["CHAIN_TYPE","BLOCKLET_APP_CHAIN_TYPE"].includes(Te.name)),Se&&Se.default?Se.default:DEFAULT_WALLET_TYPE)},isServerless=be=>!isEmpty(be?.controller);let cache=null;const fetch$1=async()=>{const be=window.env.apiPrefix||"/",Ce=joinURL(be,"/api/dns-resolve?accessible=1");try{return(await axios$2.get(Ce)).data.address}catch{return null}},getIp=()=>(cache||(cache=fetch$1()),cache),BlockletsContext=reactExports.createContext({}),{Provider:Provider$3,Consumer:Consumer$3}=BlockletsContext,mergeBlocklets=(be,Ce,Se)=>Se?be.map(Te=>{const Re={...Te},Le=Ce.find(De=>De.meta.did===Te.meta.did);return Le&&Se.forEach(De=>{Re[De]=Le[De]}),Re}):Ce;function BlockletsProvider({children:be}){const Ce=useNodeContext(),[Se,Te]=reactExports.useState(null),[Re,Le]=reactExports.useState(!1),[De,Pe]=reactExports.useState([]),[Oe,qe]=reactExports.useState([]),[je,Fe]=reactExports.useState(!1),He=(nt,it)=>{utilExports.isExternalBlocklet(nt)?qe(it):Pe(it)},Ge=4,Ke=async({silent:nt=!0,retries:it=Ge,updates:ot,useCache:gt=!0,includeRuntimeInfo:ft=!1}={})=>{nt||Le(!0);try{Te(null);const{blocklets:wt}=await Ce.api.getBlocklets({input:{includeRuntimeInfo:ft,useCache:gt}});for(const Mt of wt)await fixBlocklet(Mt,{getIP:getIp});const Vt=wt.filter(Mt=>!utilExports.isExternalBlocklet(Mt)),$t=wt.filter(utilExports.isExternalBlocklet);Pe(Mt=>mergeBlocklets(Mt,Vt,ot)),qe(Mt=>mergeBlocklets(Mt,$t,ot)),Le(!1),Fe(!0)}catch(wt){it>0?setTimeout(()=>Ke({silent:nt,retries:it-1,useCache:gt,includeRuntimeInfo:ft}),1e3):(Le(!1),Te(wt))}},Je=async nt=>{try{const{blocklet:it}=await Ce.api.getBlocklet({input:{did:nt.meta.did,attachRuntimeInfo:!0}});await fixBlocklet(it,{getIP:getIp}),He(it,ot=>ot.some(gt=>gt.meta.did===it.meta.did)?ot.map(gt=>gt.meta.did===it.meta.did?it:gt):[...ot,it])}catch(it){Te(it)}},Ze=nt=>{Ce.refresh(),Je(nt)};reactExports.useEffect(()=>{Ke({silent:!1,includeRuntimeInfo:!1})},[]);const Ye=nt=>{const it={};utilExports.forEachBlockletSync(nt,(ot,{id:gt})=>{it[gt]=constantExports.fromBlockletStatus(ot.status)}),He(nt,ot=>ot.map(gt=>(gt.meta.did===nt.meta.did&&utilExports.forEachBlockletSync(gt,(ft,{id:wt})=>{it[wt]&&(ft.status=it[wt])}),gt)))};useSubscription(constantExports.BlockletEvents.added,nt=>{nt.status=constantExports.fromBlockletStatus(nt.status),He(nt,it=>[...it,nt])}),useSubscription(constantExports.BlockletEvents.removed,nt=>{Ce.refresh(),He(nt,it=>it.filter(ot=>ot.meta.did!==nt.meta.did))}),useSubscription(constantExports.BlockletEvents.statusChange,Ye),useSubscription(constantExports.BlockletEvents.installed,Ze),useSubscription(constantExports.BlockletEvents.upgraded,Ze),useSubscription(constantExports.BlockletEvents.updated,Je),useSubscription(constantExports.BlockletEvents.startFailed,Je);const tt={loading:Re,error:Se,data:De,externalData:Oe,refresh:Ke,initialized:je,api:Ce.api};return jsxRuntimeExports.jsx(Provider$3,{value:{blocklets:tt},children:be})}let didRefreshRuntimeInfo=!1;function useBlockletsContext(){const{blocklets:be}=reactExports.useContext(BlockletsContext);return reactExports.useEffect(()=>{!didRefreshRuntimeInfo&&be?.data?.length&&(didRefreshRuntimeInfo=!0,be.refresh({silent:!1,includeRuntimeInfo:!0}))},[be]),be}const key=utilExports$1.generateKey(),NotificationContext=reactExports.createContext({}),{Provider:Provider$2,Consumer:Consumer$2}=NotificationContext,parseParam=be=>Array.isArray(be)?be:typeof be=="string"?be.trim()?be.split(","):[]:[];function NotificationProvider({children:be}){const{api:Ce,info:Se}=useNodeContext(),{session:Te}=useSessionContext$1(),{data:Re,externalData:Le}=useBlockletsContext(),[De,Pe]=reactExports.useState([]),[Oe,qe]=reactExports.useState({page:1}),[je,Fe]=reactExports.useState({total:0,pageSize:10,pageCount:0,page:1}),[He,Ge]=reactExports.useState(!1),[Ke,Je]=reactExports.useState(0),{unReadCount:Ze=0,setUnReadCount:Ye}=Te||{},tt=useCreation(()=>Te.user?.did||""),{pathname:nt}=useLocation(),[it,ot]=useSearchParams(),gt=nt.includes("/notifications"),ft=useMediaQuery(_t=>_t.breakpoints.down("md")),wt=useCreation(()=>new Set(De.map(_t=>_t.id)),[De]),Vt=reactExports.useCallback(_t=>{Ye&&typeof Ye=="function"&&(typeof _t=="number"?Ye(_t<=0?0:_t):typeof _t=="function"&&Ye(_t))},[Ye]),$t=_t=>{const st=Math.ceil(_t/je.pageSize);Fe(Nt=>({...Nt,total:_t,pageCount:Math.max(0,st)}))},Mt=useCreation(()=>[].concat(Re).concat(Le),[Re,Le]),rt=_t=>{if(gt){const{severity:st,entityId:Nt}=_t;st!==it.get("severity")&&(st?it.set("severity",st):it.delete("severity")),Nt!==it.get("entityId")&&(Nt?it.set("entityId",Nt):it.delete("entityId")),ot(it,{replace:!0})}},ut=async({paging:_t={page:1,pageSize:10},append:st=!1,...Nt}={})=>{if(!He){Ge(!0);try{const fn={...Nt,severity:Nt?.severity||[],teamDid:Se.did,receiver:tt,paging:omit(_t,["currentPage"]),componentDid:[]},{entityId:Xt=[],source:pn=[]}=fn;typeof Xt=="string"&&(fn.entityId=parseParam(Xt)),typeof pn=="string"&&(fn.source=parseParam(pn)),Xt.includes("system")?(fn.source=(pn||[]).filter(Kt=>Kt!=="system").concat("system"),fn.entityId=Xt.filter(Kt=>Kt!=="system")):fn.source=(pn||[]).filter(Kt=>Kt!=="system");const zt=await Ce.getNotifications({input:{...fn}}),sn={...fn,source:[],entityId:fn.source.includes("system")?(Xt||[]).filter(Kt=>Kt!=="system").concat("system"):Xt||[]};rt(sn),qe(sn),utilExports$1.setNotificationQueryParams(key,omit(sn,"paging.page")),Pe(Kt=>{if(ft&&st){const on=zt.list.filter(Rn=>!wt.has(Rn.id));return Kt.concat(on)}return zt.list}),Fe({...zt.paging,currentPage:_t.currentPage||1}),Je(zt.unreadCount),Ge(!1)}catch(fn){H$7.error(fn.message),Ge(!1)}}};reactExports.useEffect(()=>{if(!gt){const _t=utilExports$1.getNotificationQueryParams(key);["severity","entityId","componentDid","source"].forEach(Nt=>{_t?.[Nt]!==void 0&&typeof _t[Nt]=="string"&&(_t[Nt]=parseParam(_t[Nt]))}),ut(_t??{})}},[]);const bt=reactExports.useCallback((_t=[])=>{const st=De.map(Nt=>_t.includes(Nt.id)?{...Nt,receivers:[{...Nt.receivers[0],read:!0}]}:Nt);Pe(st)},[De]),St=reactExports.useCallback(_t=>{Je(st=>Math.max(st-_t,0))},[]);useSubscription(constantExports$1.EVENTS.NOTIFICATION_CREATE,_t=>{const{severity:st=[],entityId:Nt=[]}=Oe??{},{severity:fn,entityId:Xt}=_t??{};if((!st.length||st.includes(fn))&&(!Nt.length||Nt.includes(Xt))){const{pageSize:pn=10}=je??{};Je(zt=>zt+1),Pe(zt=>{const sn=[_t,...zt||[]];return ft?sn:sn.slice(0,pn)}),$t(je.total+1)}Vt(pn=>pn+1)},[Oe,je]),useSubscription(constantExports$1.EVENTS.NOTIFICATION_READ,_t=>{const{receiver:st,readCount:Nt,notificationIds:fn}=_t;st===tt&&(Vt(Xt=>Math.max(Xt-Nt,0)),bt(fn),St(fn.length))},[Vt,bt,St]);const Ct=_t=>{if(!_t)return;const st=Array.isArray(_t)?_t:[_t];return st.length?Ce.readNotifications({input:{notificationIds:st,receiver:tt,teamDid:Se.did}}):void 0},Tt=reactExports.useCallback(async()=>{if(Ze>0)return await Ce.makeAllNotificationsAsRead({input:{receiver:tt,teamDid:Se.did}})},[Ce,tt,Ze,Se.did]),It={loading:He,refresh:ut,data:De,filterUnReadCount:Ke,paging:je,api:Ce,params:Oe,onReadNotification:Ct,unReadCount:Ze,makeAllAsRead:Tt,blocklets:Mt};return jsxRuntimeExports.jsx(Provider$2,{value:{notifications:It},children:be})}function useNotificationContext(){const{notifications:be}=reactExports.useContext(NotificationContext);return be}const viewAllUrl="/notifications";function NotificationAddon(){const{data:be,externalData:Ce}=useBlockletsContext(),Se=useNotificationContext(),{enqueueSnackbar:Te}=useSnackbar(),Re=reactExports.useMemo(()=>[].concat(be).concat(Ce),[be,Ce]),Le=reactExports.useCallback(De=>withQuery(viewAllUrl,{id:De.id,severity:De.severity||"all",entityId:De.entityId||"all"}),[]);return useSubscription(constantExports$1.EVENTS.NOTIFICATION_CREATE,De=>{const Pe=Le(De),Oe=["error","warning"].includes(De.severity)||De.sticky;Te(De.description,{variant:De.severity,autoHideDuration:Oe?null:5e3,content:qe=>jsxRuntimeExports.jsx(NotificationComponent$1,{viewAllUrl:Pe,keyId:qe,notification:De})})}),jsxRuntimeExports.jsx(NotificationAddon$1,{context:Se,blocklets:Re,viewAllUrl})}function Dashboard$1({children:be,title:Ce="Blocklet Server",...Se}){const{info:Te}=useNodeContext(),{t:Re}=reactExports.useContext(g$d),Le=useLocation();useShowConsole();const De=useMediaQuery(Ke=>Ke.breakpoints.down("md")),Pe=Te.ownerNft?.did||"",Oe=Te.launcher?.chainHost||"",qe=Te.launcher?.url||"",je=[{url:"/dashboard",name:"dashboard",title:Re("sidebar.dashboard"),icon:jsxRuntimeExports.jsx(t$9,{})},{url:"/store",name:"store",title:Re("common.store"),icon:jsxRuntimeExports.jsx(e$1,{})},{url:"/blocklets",name:"blocklets",title:Re("sidebar.blocklets"),icon:jsxRuntimeExports.jsx(e$3,{})},{url:"/logs",name:"log",title:Re("common.logs"),icon:jsxRuntimeExports.jsx(t$8,{})},{url:"/team",name:"team",title:Re("common.team"),icon:jsxRuntimeExports.jsx(t$7,{})},{url:"/analytics",name:"analytics",title:Re("common.analytics"),icon:jsxRuntimeExports.jsx(AnalyticsIcon,{})},{url:"/settings",name:"settings",title:Re("sidebar.settings"),icon:jsxRuntimeExports.jsx(e$2,{})}],Fe=Te.mode||constantExports$1.NODE_MODES.PRODUCTION,He={[constantExports$1.NODE_MODES.PRODUCTION]:"success",[constantExports$1.NODE_MODES.SERVERLESS]:"primary",[constantExports$1.NODE_MODES.MAINTENANCE]:"error",[constantExports$1.NODE_MODES.DEBUG]:"error"},Ge=[{label:"Server ID",value:Te.did},{label:"Server Version",value:Te.version}];return jsxRuntimeExports.jsx(ue,{links:je,headerProps:{brand:Te.name,description:jsxRuntimeExports.jsx(WrappedDidAddress,{compact:!0,responsive:!1,copyable:!1,showCopyButtonInTooltip:!0,did:Te.did}),brandAddon:jsxRuntimeExports.jsx(p$3,{type:He[Fe],children:`${Fe} mode`}),addons:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Pe&&Oe&&jsxRuntimeExports.jsx(SubscriptionServer,{chainHost:Oe,launcherUrl:qe,nftId:Pe,launcherSessionId:Te.ownerNft?.launcherSessionId,sx:{cursor:"pointer",marginRight:{xs:"8px",md:"64px"}}}),jsxRuntimeExports.jsx(HeaderAddon,{SessionContext,extraItems:[jsxRuntimeExports.jsx(NotificationAddon,{})]})]}),logo:De?null:jsxRuntimeExports.jsx(SvgLogo,{width:"48",height:"48"})},footerProps:{addon:jsxRuntimeExports.jsx(Feedback,{infos:Ge})},title:`${Ce} | ${Te.name}`,legacy:!1,dense:!1,...Se,children:jsxRuntimeExports.jsx(ErrorBoundary,{FallbackComponent:k$1,resetKeys:[Le.pathname],children:be})})}Dashboard$1.propTypes={children:o$g.any.isRequired,title:o$g.string};function DashboardRoute({title:be="Blocklet Server",scrollable:Ce=!0,fullWidth:Se=!1,children:Te}){return jsxRuntimeExports.jsx(StyledDashboardLayout,{scrollable:Ce,fullWidth:Se,title:be,children:Te})}DashboardRoute.propTypes={children:o$g.any.isRequired,title:o$g.string,scrollable:o$g.bool,fullWidth:o$g.bool};const StyledDashboardLayout=styled$3(Dashboard$1)`
|
|
2890
2890
|
.dashboard-content {
|
|
2891
2891
|
padding-top: 16px;
|
|
2892
2892
|
${be=>be.scrollable?"":"overflow: hidden"};
|
|
2893
2893
|
}
|
|
2894
|
-
`;function GlobalSubscriber(){const{t:be}=T$8(),{session:Ce}=useSessionContext$1(),{info:Se,refresh:Te}=useNodeContext();return useSubscription(constantExports.TeamEvents.userUpdated,({teamDid:Re,user:Le})=>{Re===Se.did&&Le&&!Le.approved&&Ce&&Ce.user&&Ce.user.did===Le.did&&(H$7.warning(be("session.blockAccess"),{autoHideDuration:10*1e3}),Ce.logout())}),useSubscription(constantExports$1.EVENTS.NOTIFICATION_CREATE,Re=>{Re.entityType==="node"&&Te({silent:!0})}),useSubscription(constantExports$1.EVENTS.NODE_UPDATED,()=>{Te({silent:!0})}),null}const authorize=({user:be,launchType:Ce,nftId:Se})=>{if(!be)return!1;if(Ce==="serverless"){if(!Se)throw new Error("nftId is required");return be?.controller?.nftId===Se}return(be.permissions||[]).includes("mutate_blocklets")},isServerlessBlockletInstalled=be=>be.isGetBlocklet&&be.runtimeBlocklet?.controller?.consumedAt,getRestoredAccessUrl=async be=>{const Ce=getBlockletUrls({blocklet:be});let Se="";return Se=Ce.find(Te=>{try{const{hostname:Re}=new URL(Te);return urlEvaluationExports.isSlpDomain(Re)}catch(Re){return console.error(Re),!1}}),Se||(Se=await getAccessibleUrl(Ce)),Se},LaunchBlockletContext=reactExports.createContext({}),{Provider:Provider$1,Consumer:Consumer$1}=LaunchBlockletContext;function LaunchBlockletProvider({children:be}){const{session:Ce}=useSessionContext$1(),{t:Se}=T$8(),{api:Te,info:Re}=useNodeContext(),[Le]=useSearchParams(),De=Le.get("launchType"),Pe=Le.get("fromLauncher"),Oe=Le.get("blocklet_meta_url")||"",qe=Le.get("nftId")||"",je=Le.get("from")||"",Fe=Le.get("launcherSessionId")||"",He=Le.get("launcherUrl")||"",Ge=je==="url",Ke=je==="empty",Je=Ge||Ke?"":new URL(Oe).origin,[Ze,Ye]=reactExports.useState({meta:null,appDid:Le.get("appDid")||null,sessionId:Le.get("sessionId")||null,isFree:!0,isExternal:!1,isInstalling:!1,isInstalled:!1,isRunning:!1,launcherSession:null,registryUrl:""}),tt=(rt,ut)=>Ye(bt=>({...bt,appDid:rt,sessionId:ut})),nt=authorize({user:Ce.user,launchType:De,nftId:qe}),[it,ot]=reactExports.useState(null),[gt,ft]=reactExports.useState(!0),wt=reactExports.useMemo(()=>Re?getServerUrl(Re):"",[Re]),Vt=async rt=>{if(!rt)throw new Error("appDid should not be empty");const{blocklet:ut}=await Te.getBlocklet({input:{did:rt,attachConfig:!1}});if(!ut)return null;const bt=constantExports.BlockletStatus[ut.status],St=!!qe,Ct=bt<constantExports.BlockletStatus.installed,Tt=bt===constantExports.BlockletStatus.installed,It=bt===constantExports.BlockletStatus.running;return Ye(_t=>({..._t,isInstalled:Tt,isRunning:It,isExternal:St,isInstalling:Ct})),{isInstalled:Tt,isRunning:It,isExternal:St,isInstalling:Ct}},$t=async()=>{if(ft(!0),Ke){Ye(rt=>({...rt,meta:{title:Le.get("title")||"",description:Le.get("description")||""}})),ft(!1);return}try{if(!Oe&&!Ke)throw new Error(Se("common.invalidParam"));const[{meta:rt,isFree:ut,registryUrl:bt},{launcherSession:St,error:Ct}]=await Promise.all([Te.getBlockletMetaFromUrl({input:{url:Oe,checkPrice:!0}}),Fe?Te.getLauncherSession({input:{launcherSessionId:Fe,launcherUrl:He}}):Promise.resolve({})]);if(Fe&&!St)throw new Error(`Launch session invalid: ${Ct}`);if(!rt)throw new Error(Se("LaunchBlockletBlocklet.error.loadMetaFailed"));let Tt={};nt&&Ze.appDid&&(Tt=await Vt(Ze.appDid)),Ye(It=>({...It,...Tt,meta:rt,isFree:ut,registryUrl:bt,launcherSession:St}))}catch(rt){console.error(rt),ot(rt.message)}finally{ft(!1)}};reactExports.useEffect(()=>{Ce?.user?.role===constantExports$1.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&Ce?.user?.controller?.nftId!==qe&&Ce.logout(),$t()},[]),reactExports.useEffect(()=>{gt||!Ze.meta||(nt?Ze.appDid&&Vt(Ze.appDid).catch(rt=>{H$7.error(rt.message)}):(Ye(rt=>({...rt,isInstalled:!1,isRunning:!1,isExternal:!1})),ot(null)))},[nt]);const Mt={meta:Ze.meta,isFree:Ze.isFree,appDid:Ze.appDid,sessionId:Ze.sessionId,isInstalling:Ze.isInstalling,isInstalled:Ze.isInstalled,isExternal:Ze.isExternal,isRunning:Ze.isRunning,serverUrl:wt,storeUrl:Ze.registryUrl||Je,blockletMetaUrl:Oe,fromLauncher:Pe,loading:gt,error:it,api:Te,getBlocklet:Vt,setAppDid:tt,launcherUrl:He,launcherSession:Ze.launcherSession,launcherSessionId:Fe,launchType:De};return jsxRuntimeExports.jsx(Provider$1,{value:Mt,children:be})}function useLaunchBlockletContext(){return reactExports.useContext(LaunchBlockletContext)}var useAsyncExports=requireUseAsync();const useAsync=getDefaultExportFromCjs$1(useAsyncExports);function useQuery(){return new URLSearchParams(useLocation().search)}const BlockletAppContext=reactExports.createContext(),{Provider,Consumer}=BlockletAppContext;function BlockletAppProvider({children:be}){const Se=useQuery().get("blocklet_meta_url"),Te=useAsync(async()=>{const{data:Le}=await axios.get(Se);return Le});if(Te.loading)return jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(CircularProgress,{})});const Re={meta:Te.value,error:Te.error};return jsxRuntimeExports.jsx(Provider,{value:Re,children:be})}BlockletAppProvider.propTypes={children:o$g.any.isRequired};function useBlockletAppContext(){return reactExports.useContext(BlockletAppContext)}const Dashboard=reactExports.lazy(()=>__vitePreload(()=>import("./index-BAmzwezR.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),BlockletList=reactExports.lazy(()=>__vitePreload(()=>import("./index-DtIGnfqA.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,30,2,31,32,33,34,35,36,37,38]),import.meta.url)),BlockletRestore=reactExports.lazy(()=>__vitePreload(()=>import("./index-CUJnu-Cz.js"),__vite__mapDeps([39,40,41,42,43,44,23,6,35,45,46,47,19,15]),import.meta.url)),BlockletStore=reactExports.lazy(()=>__vitePreload(()=>import("./index-BUVEfL-H.js"),__vite__mapDeps([48,6,49,50,51,17,15,52,31,32,53,54,36,35,55,45,56,4,19,23,24,25,57,58,26,59,60]),import.meta.url)),Settings=reactExports.lazy(()=>__vitePreload(()=>import("./index-CgI1wgSP.js"),__vite__mapDeps([61,62,59,63,64,65,26,7,8,9,10,11,12,13,14,15,16,17,18,19,66,21,56,4,2,67,6,68,69,70,36,20,71,51,72,73,74,75,76]),import.meta.url)),LogPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-BRb176tk.js"),__vite__mapDeps([77,78,24,25,79,6]),import.meta.url)),TeamPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-D8Whs-QW.js"),__vite__mapDeps([80,62,81,15,16,17,18,6,82,83,84,85,86,52,21,87,36,88,7,8,9,10,11,12,13,14,19,89,90,26,4,91,92,76,2,53,45,93,94,95,96,97,44,37,24,25,98,30,99,100,101,72,102,103,1,56,104,105]),import.meta.url)),BlockletDetail=reactExports.lazy(()=>__vitePreload(()=>import("./detail-DNxn6vzE.js"),__vite__mapDeps([106,62,20,21,22,6,19,23,24,25,26,52,107,86,60]),import.meta.url)),EULAPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-YPVihXU7.js"),[],import.meta.url)),Notifications=reactExports.lazy(()=>__vitePreload(()=>import("./index-BApymdtV.js"),[],import.meta.url)),IssuePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-BXRotQM-.js"),__vite__mapDeps([108,109,107,94,10,110,95,111,23]),import.meta.url)),LostPassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dz2nYC7g.js"),__vite__mapDeps([112,88,55,94,10,111,23,34]),import.meta.url)),ExchangePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-CUwyrdOY.js"),__vite__mapDeps([113,111,23]),import.meta.url)),BlockletLauncher=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dm9SjbUQ.js"),__vite__mapDeps([114,41,42,43,44,104,105,115,82,83,84,23,28,29,47,38,6,67,58]),import.meta.url)),NotFoundPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dl_Ia9GM.js"),__vite__mapDeps([116,107]),import.meta.url)),Invite=reactExports.lazy(()=>__vitePreload(()=>import("./index-Dv62Si5m.js"),__vite__mapDeps([117,109,107,94,10,110,95,111]),import.meta.url)),Console=reactExports.lazy(()=>__vitePreload(()=>import("./index-NS5A6eLA.js"),[],import.meta.url)),AnalyticsPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-Ch95NoWO.js"),__vite__mapDeps([118,62,119,120,50,51,121,13,122,123,91,92,9,76,7,8,10,11,12,14,15,16,17,18,19,124,125,74,6,101,25]),import.meta.url)),GenKeyPair=reactExports.lazy(()=>__vitePreload(()=>import("./index-Cft3_tM7.js"),__vite__mapDeps([126,107]),import.meta.url));function useSharedContext(){const be=useNodeContext(),{session:Ce}=useSessionContext$1(),{wallet:Se}=d$e(),Te=Ce.user&&Ce.user.did;return reactExports.useEffect(()=>{const Re=getWsClient();return Te?Re.connect():Re.isConnected()&&Re.disconnect(),()=>{Re.isConnected()&&Re.disconnect()}},[Te]),reactExports.useEffect(()=>{if(Se)return()=>{};const Re=()=>{document.visibilityState==="visible"&&Ce.refresh()};return document.addEventListener("visibilitychange",Re),()=>{document.removeEventListener("visibilitychange",Re)}},[]),{node:be,session:Ce}}function ProtectedApp(){const{t:be}=T$8(),{node:Ce,session:Se}=useSharedContext(),Te=useLocation();reactExports.useEffect(()=>{window.tracker&&typeof window.tracker.pageView=="function"&&window.tracker.pageView(`${Te.pathname}${Te.search}`)},[Te]),reactExports.useEffect(()=>{Se?.user?.role===constantExports$1.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&Se.logout()},[Se?.user?.role]);const Re=jsxRuntimeExports.jsx(CircularProgress,{});if(Ce.loading||Se.loading)return jsxRuntimeExports.jsx(o$d,{children:Re});if(!Ce.info.initialized)return getAuthMethodExports.getServerAuthMethod(Ce.info)==="nft"?jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"verify-owner"}):jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(NodeConnectOwner,{})});if(Ce.info.upgradeSessionId)return jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(MaintainProgress,{})});if(!Se.user)return jsxRuntimeExports.jsx(NodeLogin,{loadingEle:Re});const Le=jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(BlockletsProvider,{children:jsxRuntimeExports.jsxs(NotificationProvider,{children:[jsxRuntimeExports.jsx(Health,{}),jsxRuntimeExports.jsx(CheckNodeStatus,{}),jsxRuntimeExports.jsx(GlobalSubscriber,{}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:Le,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:be("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:be("common.setting"),children:jsxRuntimeExports.jsx(Settings,{})})}),jsxRuntimeExports.jsx(Route,{path:"/eula",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:be("setup.steps.eula"),children:jsxRuntimeExports.jsx(EULAPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/store",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:be("common.store"),children:jsxRuntimeExports.jsx(BlockletStore,{})})}),jsxRuntimeExports.jsx(Route,{path:"/console",element:jsxRuntimeExports.jsx(DashboardRoute,{title:`GraphQL ${be("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:be("common.team"),children:jsxRuntimeExports.jsx(TeamPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/logs/:name?",element:jsxRuntimeExports.jsx(DashboardRoute,{scrollable:!1,fullWidth:!0,title:be("common.logs"),children:jsxRuntimeExports.jsx(LogPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/analytics/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:be("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:"/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:be}){const{node:Ce,session:Se}=useSharedContext();return Ce.loading||!Se.initialized&&Se.loading?jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(CircularProgress,{})}):Ce.info.upgradeSessionId?jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(MaintainProgress,{})}):be}function App(){const{changeLocale:be}=T$8(),Ce=useQuery();reactExports.useEffect(()=>{const Te=Ce.get("locale");Te&&["zh","en"].includes(Te)&&be(Te)},[]);const Se=jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:Se,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/issue-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(IssuePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/lost-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LostPassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.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:"/gen-key-pair/",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(GenKeyPair,{})})}),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:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/invite`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(Invite,{})})}),jsxRuntimeExports.jsx(Route,{path:"/*",element:jsxRuntimeExports.jsx(ProtectedApp,{})})]})})}function AppWrapper(){const be=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";return jsxRuntimeExports.jsx(BrowserRouter,{history:history$1,basename:be,children:jsxRuntimeExports.jsx(Root,{children:jsxRuntimeExports.jsx(App,{})})})}const root=clientExports.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(be){console.error("Error during service worker registration:",be)}});export{$$4 as $,useNavigate as A,useSearchParams as B,CircularProgress as C,DialogContentText as D,constantExports$1 as E,useMediaQuery as F,Grid$1 as G,H$7 as H,libExports$3 as I,utilExports as J,Link$1 as K,Link as L,BlockletAppAvatar as M,Box as N,isEmpty as O,et as P,FormControl as Q,InputLabel as R,Select as S,Typography as T,MenuItem as U,Checkbox as V,WrappedDidAddress as W,Alert as X,formatError as Y,o$d as Z,CheckIcon$2 as _,useSubscription as a,Menu as a$,propTypesExports as a0,api as a1,merge as a2,cloneDeep as a3,IconButton as a4,R$4 as a5,ListItemSecondaryAction as a6,List as a7,ListItem as a8,ListItemText as a9,getBlockletMetaUrl as aA,ErrorBoundary as aB,k$1 as aC,formatRegistryLogoPath as aD,Icon as aE,ListItemIcon as aF,createSvgIcon as aG,ensureDomainAliases as aH,getIp as aI,normalizePathPrefix as aJ,sortBy as aK,stringSortHandlerAsc as aL,getAccessUrl as aM,history$1 as aN,semver as aO,useReactive as aP,useAsyncEffect as aQ,InfoOutlinedIcon as aR,sleep as aS,checkInputByType as aT,FormControlLabel as aU,Stack$1 as aV,useAsync as aW,axios as aX,shouldCheckDomainStatus as aY,formatMountPoint as aZ,urlPathFriendly as a_,getServerUrl as aa,useBlockletAppContext as ab,getAuthMethodExports as ac,ConfirmDialog as ad,getRestoredAccessUrl as ae,setSessionToken as af,isEqual as ag,isServerlessBlockletInstalled as ah,Debug as ai,getWsClient as aj,useQuery as ak,getPathPrefix as al,Global as am,Routes as an,Route as ao,Navigate as ap,HeaderAddon as aq,SessionContext as ar,css as as,$$5 as at,formatToDatetime as au,alpha$1 as av,getLaunchAgreementUrl as aw,axios$2 as ax,useSessionContext$1 as ay,Tooltip as az,constantExports as b,composeClasses as b$,checkIsWildcardDomain as b0,Popover as b1,Card as b2,formatToDate as b3,sortDomains as b4,M$9 as b5,Collapse as b6,CheckCircle as b7,styled as b8,isUrl as b9,isInstalling as bA,Badge as bB,createAppPassportSvg as bC,NavLink as bD,__vitePreload as bE,SetCache as bF,arrayIncludes$1 as bG,arrayIncludesWith as bH,cacheHas as bI,baseUniq as bJ,baseFlatten as bK,baseRest as bL,last as bM,arrayFilter as bN,isArrayLikeObject as bO,t$9 as bP,isDownloading as bQ,getBlockletUrl as bR,getBlockletUrlParams as bS,ButtonBase as bT,memoTheme as bU,emphasize as bV,generateUtilityClasses$1 as bW,generateUtilityClass$1 as bX,useDefaultProps as bY,useSlotProps as bZ,clsx$1 as b_,__awaiter as ba,__generator as bb,__spread as bc,getDefaultExportFromCjs$1 as bd,U$4 as be,dayjs as bf,Divider as bg,isCertificateMatch as bh,FormHelperText as bi,FormGroup as bj,o$a as bk,NodeContext as bl,useParams as bm,useNodeContext$1 as bn,uniqBy as bo,libExports$1 as bp,B$4 as bq,a$8 as br,l$k as bs,BlockletAvatar as bt,ClickAwayListener as bu,f$9 as bv,createPassportSvg as bw,getWalletType as bx,useCreation as by,BlockletAdminRoles as bz,createCompounder as c,Q$3 as c$,__read as c0,toSlotDomain as c1,omit as c2,fixBlocklet as c3,isProtectedRole as c4,baseOrderBy as c5,isArray$1 as c6,rootShouldForwardProp as c7,useFormControl as c8,createChainedFunction$1 as c9,Container$3 as cA,K$4 as cB,getLauncherBaseURL as cC,SvgIcon as cD,Buffer$1 as cE,parseURL as cF,withHttps as cG,useLaunchBlockletContext as cH,z$3 as cI,authorize as cJ,ArrowForwardIcon as cK,isNewStoreUrl as cL,getAccessibleUrl as cM,getBlockletLogoUrl as cN,t as cO,M$7 as cP,__spreadArrays as cQ,__assign as cR,h$6 as cS,useLocation as cT,useMount as cU,e$c as cV,formatDateTime as cW,getExplorerLink as cX,patchJsxToLocale as cY,flat as cZ,en$2 as c_,useSlot as ca,capitalize$1 as cb,SwitchBase as cc,createSimplePaletteValueFilter as cd,useControlled as ce,useForkRef as cf,useId as cg,getBlockletUrls as ch,defaultCheckAccessible as ci,urlEvaluationExports as cj,memoize as ck,ButtonGroupContext as cl,ButtonGroupButtonContext as cm,useNotificationContext as cn,utilExports$1 as co,NotificationList as cp,useRequest as cq,useMemoizedFn as cr,isNumber$3 as cs,useLatest as ct,defaultDayjs as cu,d$e as cv,Avatar as cw,isFromWallet as cx,usePassportId as cy,isFunction$2 as cz,useBlockletsContext as d,auto as d$,getSessionToken as d0,LinearProgress as d1,SvgLogo as d2,isNumber$1 as d3,useEnhancedEffect$1 as d4,debounce$2 as d5,ownerWindow as d6,useRtl as d7,KeyboardArrowLeft as d8,KeyboardArrowRight as d9,require$$3$1 as dA,requireConstant$1 as dB,$e as dC,noop$1 as dD,Button as dE,Paper as dF,MenuList as dG,Popper as dH,_inheritsLoose$1 as dI,ReactDOM as dJ,_objectWithoutPropertiesLoose$1 as dK,TransitionGroup as dL,ENTERED as dM,ENTERING as dN,EXITING as dO,TransitionGroupContext as dP,Transition as dQ,config$1 as dR,popperGenerator as dS,eventListeners as dT,popperOffsets$1 as dU,computeStyles$1 as dV,applyStyles$1 as dW,afterMain as dX,afterRead as dY,afterWrite as dZ,arrow$1 as d_,useEventCallback$1 as da,ownerDocument as db,m$c as dc,requireReact as dd,o$f as de,oe$1 as df,ne$2 as dg,InfoIcon$2 as dh,upperFirst as di,camelCase as dj,Skeleton as dk,R$5 as dl,isArrayLike as dm,baseIteratee as dn,keys as dp,toInteger as dq,baseFindIndex as dr,commonjsGlobal as ds,getAugmentedNamespace as dt,emotionUtils_browser_esm as du,requireJsxRuntime as dv,requirePropTypes as dw,requireReactDom as dx,isObject$3 as dy,requireUrl as dz,useAsyncRetry as e,ThemeProvider$3 as e$,basePlacements as e0,beforeMain as e1,beforeRead as e2,beforeWrite as e3,bottom as e4,clippingParents as e5,createPopper as e6,createPopper$1 as e7,detectOverflow as e8,end as e9,requireUrlPathFriendly as eA,b$8 as eB,data$t as eC,global$2 as eD,hoistStatics as eE,isEqual$3 as eF,usePreviousProps as eG,setRef as eH,ClearIcon as eI,ArrowDropDownIcon as eJ,Chip as eK,filledInputClasses as eL,inputBaseClasses as eM,outlinedInputClasses as eN,inputClasses as eO,ListContext as eP,getListItemButtonUtilityClass as eQ,listItemButtonClasses as eR,emotionReact_browser_esm as eS,emotionCache_browser_esm as eT,cloneDeep$1 as eU,forceReflow as eV,_extends$2 as eW,toString$2 as eX,deepmerge$1 as eY,StyledEngineProvider as eZ,ThemeProvider as e_,flip$1 as ea,hide$1 as eb,left as ec,main as ed,modifierPhases as ee,offset$1 as ef,placements as eg,popper as eh,preventOverflow$1 as ei,read as ej,reference as ek,right as el,start as em,top as en,variationPlacements as eo,viewport as ep,write as eq,requireReactIs as er,emotionStyled_browser_esm as es,emotionSerialize_esm as et,emotionSheet_esm as eu,process$1 as ev,requireLib$3 as ew,requireLib$4 as ex,requireLib$2 as ey,requireConstant$2 as ez,useTheme as f,shouldForwardProp as f$,s$2 as f0,CloseIcon as f1,isString$1 as f2,__spreadArray as f3,useEventListener as f4,ae$4 as f5,getTargetElement as f6,createTheme as f7,createAxios as f8,pick as f9,formatTime as fA,CloseFullscreenIcon as fB,S$8 as fC,TablePagination as fD,parseAvatar as fE,tmp as fF,useUpdate as fG,Q$4 as fH,I$4 as fI,p$b as fJ,Z$1 as fK,requireUtil$6 as fL,requireObjectKeys$1 as fM,requireShams$1 as fN,requireCallBound as fO,requireEsObjectAtoms as fP,requireDefineDataProperty as fQ,requireHasPropertyDescriptors as fR,requireCallBind as fS,requireCallBound$1 as fT,requireSafeBuffer$1 as fU,requireBrowser$f as fV,requireElliptic as fW,requireCryptoBrowserify as fX,requireRipemd160 as fY,requireLib$1 as fZ,requireUtil as f_,omitBy as fa,MenuIcon as fb,useDebounceFn as fc,Dialog as fd,OutlinedInput as fe,data as ff,Drawer as fg,parseQuery as fh,parseFilename as fi,stringifyParsedURL as fj,Grow as fk,Wt as fl,InputAdornment as fm,tooltipClasses as fn,e$9 as fo,requireEngine as fp,clamp as fq,extractEventHandlers as fr,isFocusVisible as fs,isHostComponent as ft,lighten as fu,darken as fv,slotShouldForwardProp as fw,requireNormalizePathPrefix as fx,debounce as fy,useInterval as fz,g$d as g,d$f as g$,resolveComponentProps as g0,l as g1,getInviteLink as g2,copy as g3,e$b as g4,getIssuePassportLink as g5,uniqBy$1 as g6,isNodeOwner as g7,isSelf as g8,Q$1 as g9,requireBrowser$3 as gA,require$$3 as gB,useTimeout as gC,Fade as gD,FocusTrap as gE,DialogActions as gF,dialogClasses as gG,DialogContent as gH,localizedFormatPlugin as gI,n$8 as gJ,purify as gK,Buffer$1$1 as gL,Q$2 as gM,resolveProps as gN,useThemeProps as gO,defaultTheme$1 as gP,THEME_ID as gQ,l$a as gR,isIndex as gS,useTheme$4 as gT,objectAssign as gU,__extends as gV,isServerless as gW,isFunction$1 as gX,omit$1 as gY,TableContext as gZ,Tablelvl2Context as g_,createPassportSvgExports as ga,getBlockletAccessibleUrl as gb,A$1 as gc,createPassportSvg$1 as gd,requireMs as ge,E$3 as gf,trim as gg,BlockletSDK as gh,getBlockletSDK as gi,MoreHorizIcon as gj,identity$1 as gk,arrayEach as gl,baseEach as gm,arrayMap as gn,baseMap as go,baseForOwn as gp,isPlainObject$2 as gq,require$$11 as gr,throttle$2 as gs,isUndefined$1 as gt,requireJsonStableStringify as gu,requireSemver as gv,requireBrowser$5 as gw,require$$0$1 as gx,requireIsAbsoluteUrl as gy,requireDist$2 as gz,get$1 as h,M$4 as h$,useUnmount as h0,isDidDomainOrIpEchoDomain as h1,ExpandLess as h2,validateDomain as h3,requireDist as h4,requireAxios as h5,trim$1 as h6,requirePRetry as h7,TableCell as h8,xe as h9,_assertThisInitialized$1 as hA,reactDomExports as hB,loadIcon as hC,withoutLeadingSlash as hD,fetchSvgAsPng as hE,blobToFile as hF,withoutTrailingSlash as hG,Rt as hH,t$f as hI,i as hJ,R$7 as hK,browserExports$1 as hL,highlightExports as hM,funcExports as hN,data$y as hO,useSnackbar as hP,common$3 as hQ,green as hR,amber as hS,SnackbarContent as hT,t$1 as hU,Y as hV,f$3 as hW,b as hX,g$8 as hY,withErrorBoundary as hZ,z$2 as h_,getSystemDomains as ha,copyArray as hb,baseIndexOf as hc,keyframes as hd,ke as he,useAppLogo as hf,getTransferAppLink as hg,requireBn as hh,require$$2 as hi,uniq as hj,updateWindowEnv as hk,M$3 as hl,isNil as hm,requireBase32 as hn,Ft as ho,withTrailingSlash as hp,data$B as hq,requireAssertString as hr,isEmail as hs,isURL as ht,createUseStorageState as hu,isBrowser$1 as hv,root$1 as hw,isNil$1 as hx,require$$10 as hy,requireHoistNonReactStatics_cjs as hz,filesize as i,ye as i0,G$1 as i1,ue as i2,useBlockletLogo as i3,isPlainObject$1 as i4,Toolbar as i5,_setPrototypeOf as i6,useEffectWithTarget$1 as i7,__values as i8,isString$3 as i9,e$f as iA,isNull as iB,orange as iC,purple as iD,useStore as iE,createStore as iF,create$1 as iG,t$g as iH,__rest as iI,clientExports as iJ,yt$1 as iK,retry as iL,isNetworkError as iM,requirePTimeout as iN,n$5 as iO,Modal as iP,GlobalStyles$2 as iQ,useSize as iR,FormLabel as ia,RelativeTime as ib,isIncludeActivity as ic,isUserActor as id,ActorAvatar as ie,SendComponentAvatar as ig,Activity as ih,NotificationContent$1 as ii,AvatarGroup as ij,requireCjs as ik,useTheme$2 as il,baseAssignValue as im,isValidClusterSize as io,extractStatusUrlFromNextWorkflow as ip,pWaitFor as iq,hasRequiredSteps as ir,getStoreList as is,flatten as it,trimEnd as iu,DialogTitle as iv,base32Exports as iw,flatExports as ix,Et as iy,AxiosError as iz,jsxRuntimeExports as j,prettyMs as k,formatLocale as l,T$8 as m,useSessionContext as n,o$g as o,p$3 as p,useSetState as q,reactExports as r,styled$3 as s,TextField as t,useNodeContext as u,n$4 as v,lo as w,getWebWalletUrl as x,joinURL as y,withQuery as z};
|
|
2894
|
+
`;function GlobalSubscriber(){const{t:be}=T$8(),{session:Ce}=useSessionContext$1(),{info:Se,refresh:Te}=useNodeContext();return useSubscription(constantExports.TeamEvents.userUpdated,({teamDid:Re,user:Le})=>{Re===Se.did&&Le&&!Le.approved&&Ce&&Ce.user&&Ce.user.did===Le.did&&(H$7.warning(be("session.blockAccess"),{autoHideDuration:10*1e3}),Ce.logout())}),useSubscription(constantExports$1.EVENTS.NOTIFICATION_CREATE,Re=>{Re.entityType==="node"&&Te({silent:!0})}),useSubscription(constantExports$1.EVENTS.NODE_UPDATED,()=>{Te({silent:!0})}),null}const authorize=({user:be,launchType:Ce,nftId:Se})=>{if(!be)return!1;if(Ce==="serverless"){if(!Se)throw new Error("nftId is required");return be?.controller?.nftId===Se}return(be.permissions||[]).includes("mutate_blocklets")},isServerlessBlockletInstalled=be=>be.isGetBlocklet&&be.runtimeBlocklet?.controller?.consumedAt,getRestoredAccessUrl=async be=>{const Ce=getBlockletUrls({blocklet:be});let Se="";return Se=Ce.find(Te=>{try{const{hostname:Re}=new URL(Te);return urlEvaluationExports.isSlpDomain(Re)}catch(Re){return console.error(Re),!1}}),Se||(Se=await getAccessibleUrl(Ce)),Se},LaunchBlockletContext=reactExports.createContext({}),{Provider:Provider$1,Consumer:Consumer$1}=LaunchBlockletContext;function LaunchBlockletProvider({children:be}){const{session:Ce}=useSessionContext$1(),{t:Se}=T$8(),{api:Te,info:Re}=useNodeContext(),[Le]=useSearchParams(),De=Le.get("launchType"),Pe=Le.get("fromLauncher"),Oe=Le.get("blocklet_meta_url")||"",qe=Le.get("nftId")||"",je=Le.get("from")||"",Fe=Le.get("launcherSessionId")||"",He=Le.get("launcherUrl")||"",Ge=je==="url",Ke=je==="empty",Je=Ge||Ke?"":new URL(Oe).origin,[Ze,Ye]=reactExports.useState({meta:null,appDid:Le.get("appDid")||null,sessionId:Le.get("sessionId")||null,isFree:!0,isExternal:!1,isInstalling:!1,isInstalled:!1,isRunning:!1,launcherSession:null,registryUrl:""}),tt=(rt,ut)=>Ye(bt=>({...bt,appDid:rt,sessionId:ut})),nt=authorize({user:Ce.user,launchType:De,nftId:qe}),[it,ot]=reactExports.useState(null),[gt,ft]=reactExports.useState(!0),wt=reactExports.useMemo(()=>Re?getServerUrl(Re):"",[Re]),Vt=async rt=>{if(!rt)throw new Error("appDid should not be empty");const{blocklet:ut}=await Te.getBlocklet({input:{did:rt,attachConfig:!1}});if(!ut)return null;const bt=constantExports.BlockletStatus[ut.status],St=!!qe,Ct=bt<constantExports.BlockletStatus.installed,Tt=bt===constantExports.BlockletStatus.installed,It=bt===constantExports.BlockletStatus.running;return Ye(_t=>({..._t,isInstalled:Tt,isRunning:It,isExternal:St,isInstalling:Ct})),{isInstalled:Tt,isRunning:It,isExternal:St,isInstalling:Ct}},$t=async()=>{if(ft(!0),Ke){Ye(rt=>({...rt,meta:{title:Le.get("title")||"",description:Le.get("description")||""}})),ft(!1);return}try{if(!Oe&&!Ke)throw new Error(Se("common.invalidParam"));const[{meta:rt,isFree:ut,registryUrl:bt},{launcherSession:St,error:Ct}]=await Promise.all([Te.getBlockletMetaFromUrl({input:{url:Oe,checkPrice:!0}}),Fe?Te.getLauncherSession({input:{launcherSessionId:Fe,launcherUrl:He}}):Promise.resolve({})]);if(Fe&&!St)throw new Error(`Launch session invalid: ${Ct}`);if(!rt)throw new Error(Se("LaunchBlockletBlocklet.error.loadMetaFailed"));let Tt={};nt&&Ze.appDid&&(Tt=await Vt(Ze.appDid)),Ye(It=>({...It,...Tt,meta:rt,isFree:ut,registryUrl:bt,launcherSession:St}))}catch(rt){console.error(rt),ot(rt.message)}finally{ft(!1)}};reactExports.useEffect(()=>{Ce?.user?.role===constantExports$1.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&Ce?.user?.controller?.nftId!==qe&&Ce.logout(),$t()},[]),reactExports.useEffect(()=>{gt||!Ze.meta||(nt?Ze.appDid&&Vt(Ze.appDid).catch(rt=>{H$7.error(rt.message)}):(Ye(rt=>({...rt,isInstalled:!1,isRunning:!1,isExternal:!1})),ot(null)))},[nt]);const Mt={meta:Ze.meta,isFree:Ze.isFree,appDid:Ze.appDid,sessionId:Ze.sessionId,isInstalling:Ze.isInstalling,isInstalled:Ze.isInstalled,isExternal:Ze.isExternal,isRunning:Ze.isRunning,serverUrl:wt,storeUrl:Ze.registryUrl||Je,blockletMetaUrl:Oe,fromLauncher:Pe,loading:gt,error:it,api:Te,getBlocklet:Vt,setAppDid:tt,launcherUrl:He,launcherSession:Ze.launcherSession,launcherSessionId:Fe,launchType:De};return jsxRuntimeExports.jsx(Provider$1,{value:Mt,children:be})}function useLaunchBlockletContext(){return reactExports.useContext(LaunchBlockletContext)}var useAsyncExports=requireUseAsync();const useAsync=getDefaultExportFromCjs$1(useAsyncExports);function useQuery(){return new URLSearchParams(useLocation().search)}const BlockletAppContext=reactExports.createContext(),{Provider,Consumer}=BlockletAppContext;function BlockletAppProvider({children:be}){const Se=useQuery().get("blocklet_meta_url"),Te=useAsync(async()=>{const{data:Le}=await axios.get(Se);return Le});if(Te.loading)return jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(CircularProgress,{})});const Re={meta:Te.value,error:Te.error};return jsxRuntimeExports.jsx(Provider,{value:Re,children:be})}BlockletAppProvider.propTypes={children:o$g.any.isRequired};function useBlockletAppContext(){return reactExports.useContext(BlockletAppContext)}const Dashboard=reactExports.lazy(()=>__vitePreload(()=>import("./index-C7J9Tf7N.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),BlockletList=reactExports.lazy(()=>__vitePreload(()=>import("./index-BeXjeW_D.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,30,2,31,32,33,34,35,36,37,38]),import.meta.url)),BlockletRestore=reactExports.lazy(()=>__vitePreload(()=>import("./index-C7H9Stfd.js"),__vite__mapDeps([39,40,41,42,43,44,23,6,35,45,46,47,19,15]),import.meta.url)),BlockletStore=reactExports.lazy(()=>__vitePreload(()=>import("./index-D_ZRDcUb.js"),__vite__mapDeps([48,6,49,50,51,17,15,52,31,32,53,54,36,35,55,45,56,4,19,23,24,25,57,58,26,59,60]),import.meta.url)),Settings=reactExports.lazy(()=>__vitePreload(()=>import("./index-Bk2swyn_.js"),__vite__mapDeps([61,62,59,63,64,65,26,7,8,9,10,11,12,13,14,15,16,17,18,19,66,21,56,4,2,67,6,68,69,70,36,20,71,51,72,73,74,75,76]),import.meta.url)),LogPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-COsQ2pDX.js"),__vite__mapDeps([77,78,24,25,79,6]),import.meta.url)),TeamPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-CmGv3elb.js"),__vite__mapDeps([80,62,81,15,16,17,18,6,82,83,84,85,86,52,21,87,36,88,7,8,9,10,11,12,13,14,19,89,90,26,4,91,92,76,2,53,45,93,94,95,96,97,44,37,24,25,98,30,99,100,101,72,102,103,1,56,104,105]),import.meta.url)),BlockletDetail=reactExports.lazy(()=>__vitePreload(()=>import("./detail-D5mwafWs.js"),__vite__mapDeps([106,62,20,21,22,6,19,23,24,25,26,52,107,86,60]),import.meta.url)),EULAPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-DFaykc-l.js"),[],import.meta.url)),Notifications=reactExports.lazy(()=>__vitePreload(()=>import("./index-CmwksVS0.js"),[],import.meta.url)),IssuePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-CZj-IeN0.js"),__vite__mapDeps([108,109,107,94,10,110,95,111,23]),import.meta.url)),LostPassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-CWfqG7JG.js"),__vite__mapDeps([112,88,55,94,10,111,23,34]),import.meta.url)),ExchangePassport=reactExports.lazy(()=>__vitePreload(()=>import("./index-CwxkXQDN.js"),__vite__mapDeps([113,111,23]),import.meta.url)),BlockletLauncher=reactExports.lazy(()=>__vitePreload(()=>import("./index-BOGGfGZP.js"),__vite__mapDeps([114,41,42,43,44,104,105,115,82,83,84,23,28,29,47,38,6,67,58]),import.meta.url)),NotFoundPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-n35bDjPH.js"),__vite__mapDeps([116,107]),import.meta.url)),Invite=reactExports.lazy(()=>__vitePreload(()=>import("./index-D4Q12FU6.js"),__vite__mapDeps([117,109,107,94,10,110,95,111]),import.meta.url)),Console=reactExports.lazy(()=>__vitePreload(()=>import("./index-CsVDrMMd.js"),[],import.meta.url)),AnalyticsPage=reactExports.lazy(()=>__vitePreload(()=>import("./index-C0IoSN2J.js"),__vite__mapDeps([118,62,119,120,50,51,121,13,122,123,91,92,9,76,7,8,10,11,12,14,15,16,17,18,19,124,125,74,6,101,25]),import.meta.url)),GenKeyPair=reactExports.lazy(()=>__vitePreload(()=>import("./index-B1iMTf-1.js"),__vite__mapDeps([126,107]),import.meta.url));function useSharedContext(){const be=useNodeContext(),{session:Ce}=useSessionContext$1(),{wallet:Se}=d$e(),Te=Ce.user&&Ce.user.did;return reactExports.useEffect(()=>{const Re=getWsClient();return Te?Re.connect():Re.isConnected()&&Re.disconnect(),()=>{Re.isConnected()&&Re.disconnect()}},[Te]),reactExports.useEffect(()=>{if(Se)return()=>{};const Re=()=>{document.visibilityState==="visible"&&Ce.refresh()};return document.addEventListener("visibilitychange",Re),()=>{document.removeEventListener("visibilitychange",Re)}},[]),{node:be,session:Ce}}function ProtectedApp(){const{t:be}=T$8(),{node:Ce,session:Se}=useSharedContext(),Te=useLocation();reactExports.useEffect(()=>{window.tracker&&typeof window.tracker.pageView=="function"&&window.tracker.pageView(`${Te.pathname}${Te.search}`)},[Te]),reactExports.useEffect(()=>{Se?.user?.role===constantExports$1.SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER&&Se.logout()},[Se?.user?.role]);const Re=jsxRuntimeExports.jsx(CircularProgress,{});if(Ce.loading||Se.loading)return jsxRuntimeExports.jsx(o$d,{children:Re});if(!Ce.info.initialized)return getAuthMethodExports.getServerAuthMethod(Ce.info)==="nft"?jsxRuntimeExports.jsx(NodeVerifyOwner,{action:"verify-owner"}):jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(NodeConnectOwner,{})});if(Ce.info.upgradeSessionId)return jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(MaintainProgress,{})});if(!Se.user)return jsxRuntimeExports.jsx(NodeLogin,{loadingEle:Re});const Le=jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(BlockletsProvider,{children:jsxRuntimeExports.jsxs(NotificationProvider,{children:[jsxRuntimeExports.jsx(Health,{}),jsxRuntimeExports.jsx(CheckNodeStatus,{}),jsxRuntimeExports.jsx(GlobalSubscriber,{}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:Le,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:be("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:be("common.setting"),children:jsxRuntimeExports.jsx(Settings,{})})}),jsxRuntimeExports.jsx(Route,{path:"/eula",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:be("setup.steps.eula"),children:jsxRuntimeExports.jsx(EULAPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/store",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:be("common.store"),children:jsxRuntimeExports.jsx(BlockletStore,{})})}),jsxRuntimeExports.jsx(Route,{path:"/console",element:jsxRuntimeExports.jsx(DashboardRoute,{title:`GraphQL ${be("common.console")}`,scrollable:!1,fullWidth:!0,children:jsxRuntimeExports.jsx(Console,{})})}),jsxRuntimeExports.jsx(Route,{path:"/notifications",element:jsxRuntimeExports.jsx(DashboardRoute,{title:be("common.notifications"),children:jsxRuntimeExports.jsx(Notifications,{})})}),jsxRuntimeExports.jsx(Route,{path:"/team/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:be("common.team"),children:jsxRuntimeExports.jsx(TeamPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/logs/:name?",element:jsxRuntimeExports.jsx(DashboardRoute,{scrollable:!1,fullWidth:!0,title:be("common.logs"),children:jsxRuntimeExports.jsx(LogPage,{})})}),jsxRuntimeExports.jsx(Route,{path:"/analytics/:tab",element:jsxRuntimeExports.jsx(DashboardRoute,{fullWidth:!0,title:be("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:"/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:be}){const{node:Ce,session:Se}=useSharedContext();return Ce.loading||!Se.initialized&&Se.loading?jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(CircularProgress,{})}):Ce.info.upgradeSessionId?jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(MaintainProgress,{})}):be}function App(){const{changeLocale:be}=T$8(),Ce=useQuery();reactExports.useEffect(()=>{const Te=Ce.get("locale");Te&&["zh","en"].includes(Te)&&be(Te)},[]);const Se=jsxRuntimeExports.jsx(o$d,{children:jsxRuntimeExports.jsx(CircularProgress,{})});return jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:Se,children:jsxRuntimeExports.jsxs(Routes,{children:[jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/issue-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(IssuePassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/lost-passport`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(LostPassport,{})})}),jsxRuntimeExports.jsx(Route,{path:`${constantExports$1.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:"/gen-key-pair/",element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(GenKeyPair,{})})}),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:`${constantExports$1.WELLKNOWN_SERVICE_PATH_PREFIX}/invite`,element:jsxRuntimeExports.jsx(UnprotectedWrapper,{children:jsxRuntimeExports.jsx(Invite,{})})}),jsxRuntimeExports.jsx(Route,{path:"/*",element:jsxRuntimeExports.jsx(ProtectedApp,{})})]})})}function AppWrapper(){const be=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";return jsxRuntimeExports.jsx(BrowserRouter,{history:history$1,basename:be,children:jsxRuntimeExports.jsx(Root,{children:jsxRuntimeExports.jsx(App,{})})})}const root=clientExports.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(be){console.error("Error during service worker registration:",be)}});export{$$4 as $,useNavigate as A,useSearchParams as B,CircularProgress as C,DialogContentText as D,constantExports$1 as E,useMediaQuery as F,Grid$1 as G,H$7 as H,libExports$3 as I,utilExports as J,Link$1 as K,Link as L,BlockletAppAvatar as M,Box as N,isEmpty as O,et as P,FormControl as Q,InputLabel as R,Select as S,Typography as T,MenuItem as U,Checkbox as V,WrappedDidAddress as W,Alert as X,formatError as Y,o$d as Z,CheckIcon$2 as _,useSubscription as a,Menu as a$,propTypesExports as a0,api as a1,merge as a2,cloneDeep as a3,IconButton as a4,R$4 as a5,ListItemSecondaryAction as a6,List as a7,ListItem as a8,ListItemText as a9,getBlockletMetaUrl as aA,ErrorBoundary as aB,k$1 as aC,formatRegistryLogoPath as aD,Icon as aE,ListItemIcon as aF,createSvgIcon as aG,ensureDomainAliases as aH,getIp as aI,normalizePathPrefix as aJ,sortBy as aK,stringSortHandlerAsc as aL,getAccessUrl as aM,history$1 as aN,semver as aO,useReactive as aP,useAsyncEffect as aQ,InfoOutlinedIcon as aR,sleep as aS,checkInputByType as aT,FormControlLabel as aU,Stack$1 as aV,useAsync as aW,axios as aX,shouldCheckDomainStatus as aY,formatMountPoint as aZ,urlPathFriendly as a_,getServerUrl as aa,useBlockletAppContext as ab,getAuthMethodExports as ac,ConfirmDialog as ad,getRestoredAccessUrl as ae,setSessionToken as af,isEqual as ag,isServerlessBlockletInstalled as ah,Debug as ai,getWsClient as aj,useQuery as ak,getPathPrefix as al,Global as am,Routes as an,Route as ao,Navigate as ap,HeaderAddon as aq,SessionContext as ar,css as as,$$5 as at,formatToDatetime as au,alpha$1 as av,getLaunchAgreementUrl as aw,axios$2 as ax,useSessionContext$1 as ay,Tooltip as az,constantExports as b,composeClasses as b$,checkIsWildcardDomain as b0,Popover as b1,Card as b2,formatToDate as b3,sortDomains as b4,M$9 as b5,Collapse as b6,CheckCircle as b7,styled as b8,isUrl as b9,isInstalling as bA,Badge as bB,createAppPassportSvg as bC,NavLink as bD,__vitePreload as bE,SetCache as bF,arrayIncludes$1 as bG,arrayIncludesWith as bH,cacheHas as bI,baseUniq as bJ,baseFlatten as bK,baseRest as bL,last as bM,arrayFilter as bN,isArrayLikeObject as bO,t$9 as bP,isDownloading as bQ,getBlockletUrl as bR,getBlockletUrlParams as bS,ButtonBase as bT,memoTheme as bU,emphasize as bV,generateUtilityClasses$1 as bW,generateUtilityClass$1 as bX,useDefaultProps as bY,useSlotProps as bZ,clsx$1 as b_,__awaiter as ba,__generator as bb,__spread as bc,getDefaultExportFromCjs$1 as bd,U$4 as be,dayjs as bf,Divider as bg,isCertificateMatch as bh,FormHelperText as bi,FormGroup as bj,o$a as bk,NodeContext as bl,useParams as bm,useNodeContext$1 as bn,uniqBy as bo,libExports$1 as bp,B$4 as bq,a$8 as br,l$k as bs,BlockletAvatar as bt,ClickAwayListener as bu,f$9 as bv,createPassportSvg as bw,getWalletType as bx,useCreation as by,BlockletAdminRoles as bz,createCompounder as c,Q$3 as c$,__read as c0,toSlotDomain as c1,omit as c2,fixBlocklet as c3,isProtectedRole as c4,baseOrderBy as c5,isArray$1 as c6,rootShouldForwardProp as c7,useFormControl as c8,createChainedFunction$1 as c9,Container$3 as cA,K$4 as cB,getLauncherBaseURL as cC,SvgIcon as cD,Buffer$1 as cE,parseURL as cF,withHttps as cG,useLaunchBlockletContext as cH,z$3 as cI,authorize as cJ,ArrowForwardIcon as cK,isNewStoreUrl as cL,getAccessibleUrl as cM,getBlockletLogoUrl as cN,t as cO,M$7 as cP,__spreadArrays as cQ,__assign as cR,h$6 as cS,useLocation as cT,useMount as cU,e$c as cV,formatDateTime as cW,getExplorerLink as cX,patchJsxToLocale as cY,flat as cZ,en$2 as c_,useSlot as ca,capitalize$1 as cb,SwitchBase as cc,createSimplePaletteValueFilter as cd,useControlled as ce,useForkRef as cf,useId as cg,getBlockletUrls as ch,defaultCheckAccessible as ci,urlEvaluationExports as cj,memoize as ck,ButtonGroupContext as cl,ButtonGroupButtonContext as cm,useNotificationContext as cn,utilExports$1 as co,NotificationList as cp,useRequest as cq,useMemoizedFn as cr,isNumber$3 as cs,useLatest as ct,defaultDayjs as cu,d$e as cv,Avatar as cw,isFromWallet as cx,usePassportId as cy,isFunction$2 as cz,useBlockletsContext as d,afterWrite as d$,getSessionToken as d0,LinearProgress as d1,SvgLogo as d2,isNumber$1 as d3,useEnhancedEffect$1 as d4,debounce$2 as d5,ownerWindow as d6,useRtl as d7,KeyboardArrowLeft as d8,KeyboardArrowRight as d9,isObject$3 as dA,requireUrl as dB,require$$3$1 as dC,requireConstant$1 as dD,$e as dE,noop$1 as dF,Button as dG,Paper as dH,MenuList as dI,Popper as dJ,_inheritsLoose$1 as dK,ReactDOM as dL,_objectWithoutPropertiesLoose$1 as dM,TransitionGroup as dN,ENTERED as dO,ENTERING as dP,EXITING as dQ,TransitionGroupContext as dR,Transition as dS,config$1 as dT,popperGenerator as dU,eventListeners as dV,popperOffsets$1 as dW,computeStyles$1 as dX,applyStyles$1 as dY,afterMain as dZ,afterRead as d_,useEventCallback$1 as da,ownerDocument as db,m$c as dc,getCommonHtmlTitle as dd,HelmetExport as de,requireReact as df,o$f as dg,oe$1 as dh,ne$2 as di,InfoIcon$2 as dj,upperFirst as dk,camelCase as dl,Skeleton as dm,R$5 as dn,isArrayLike as dp,baseIteratee as dq,keys as dr,toInteger as ds,baseFindIndex as dt,commonjsGlobal as du,getAugmentedNamespace as dv,emotionUtils_browser_esm as dw,requireJsxRuntime as dx,requirePropTypes as dy,requireReactDom as dz,useAsyncRetry as e,StyledEngineProvider as e$,arrow$1 as e0,auto as e1,basePlacements as e2,beforeMain as e3,beforeRead as e4,beforeWrite as e5,bottom as e6,clippingParents as e7,createPopper as e8,createPopper$1 as e9,requireLib$2 as eA,requireConstant$2 as eB,requireUrlPathFriendly as eC,b$8 as eD,data$t as eE,global$2 as eF,hoistStatics as eG,isEqual$3 as eH,usePreviousProps as eI,setRef as eJ,ClearIcon as eK,ArrowDropDownIcon as eL,Chip as eM,filledInputClasses as eN,inputBaseClasses as eO,outlinedInputClasses as eP,inputClasses as eQ,ListContext as eR,getListItemButtonUtilityClass as eS,listItemButtonClasses as eT,emotionReact_browser_esm as eU,emotionCache_browser_esm as eV,cloneDeep$1 as eW,forceReflow as eX,_extends$2 as eY,toString$2 as eZ,deepmerge$1 as e_,detectOverflow as ea,end as eb,flip$1 as ec,hide$1 as ed,left as ee,main as ef,modifierPhases as eg,offset$1 as eh,placements as ei,popper as ej,preventOverflow$1 as ek,read as el,reference as em,right as en,start as eo,top as ep,variationPlacements as eq,viewport as er,write as es,requireReactIs as et,emotionStyled_browser_esm as eu,emotionSerialize_esm as ev,emotionSheet_esm as ew,process$1 as ex,requireLib$3 as ey,requireLib$4 as ez,useTheme as f,requireLib$1 as f$,ThemeProvider as f0,ThemeProvider$3 as f1,s$2 as f2,CloseIcon as f3,isString$1 as f4,__spreadArray as f5,useEventListener as f6,ae$4 as f7,getTargetElement as f8,createTheme as f9,debounce as fA,useInterval as fB,formatTime as fC,CloseFullscreenIcon as fD,S$8 as fE,TablePagination as fF,parseAvatar as fG,tmp as fH,useUpdate as fI,Q$4 as fJ,I$4 as fK,p$b as fL,Z$1 as fM,requireUtil$6 as fN,requireObjectKeys$1 as fO,requireShams$1 as fP,requireCallBound as fQ,requireEsObjectAtoms as fR,requireDefineDataProperty as fS,requireHasPropertyDescriptors as fT,requireCallBind as fU,requireCallBound$1 as fV,requireSafeBuffer$1 as fW,requireBrowser$f as fX,requireElliptic as fY,requireCryptoBrowserify as fZ,requireRipemd160 as f_,createAxios as fa,pick as fb,omitBy as fc,MenuIcon as fd,useDebounceFn as fe,Dialog as ff,OutlinedInput as fg,data as fh,Drawer as fi,parseQuery as fj,parseFilename as fk,stringifyParsedURL as fl,Grow as fm,Wt as fn,InputAdornment as fo,tooltipClasses as fp,e$9 as fq,requireEngine as fr,clamp as fs,extractEventHandlers as ft,isFocusVisible as fu,isHostComponent as fv,lighten as fw,darken as fx,slotShouldForwardProp as fy,requireNormalizePathPrefix as fz,g$d as g,TableContext as g$,requireUtil as g0,shouldForwardProp as g1,resolveComponentProps as g2,l as g3,getInviteLink as g4,copy as g5,e$b as g6,getIssuePassportLink as g7,uniqBy$1 as g8,isNodeOwner as g9,requireIsAbsoluteUrl as gA,requireDist$2 as gB,requireBrowser$3 as gC,require$$3 as gD,useTimeout as gE,Fade as gF,FocusTrap as gG,DialogActions as gH,dialogClasses as gI,DialogContent as gJ,localizedFormatPlugin as gK,n$8 as gL,purify as gM,Buffer$1$1 as gN,Q$2 as gO,resolveProps as gP,useThemeProps as gQ,defaultTheme$1 as gR,THEME_ID as gS,l$a as gT,isIndex as gU,useTheme$4 as gV,objectAssign as gW,__extends as gX,isServerless as gY,isFunction$1 as gZ,omit$1 as g_,isSelf as ga,Q$1 as gb,createPassportSvgExports as gc,getBlockletAccessibleUrl as gd,A$1 as ge,createPassportSvg$1 as gf,requireMs as gg,E$3 as gh,trim as gi,BlockletSDK as gj,getBlockletSDK as gk,MoreHorizIcon as gl,identity$1 as gm,arrayEach as gn,baseEach as go,arrayMap as gp,baseMap as gq,baseForOwn as gr,isPlainObject$2 as gs,require$$11 as gt,throttle$2 as gu,isUndefined$1 as gv,requireJsonStableStringify as gw,requireSemver as gx,requireBrowser$5 as gy,require$$0$1 as gz,get$1 as h,withErrorBoundary as h$,Tablelvl2Context as h0,d$f as h1,useUnmount as h2,isDidDomainOrIpEchoDomain as h3,ExpandLess as h4,validateDomain as h5,requireDist as h6,requireAxios as h7,trim$1 as h8,requirePRetry as h9,require$$10 as hA,requireHoistNonReactStatics_cjs as hB,_assertThisInitialized$1 as hC,reactDomExports as hD,loadIcon as hE,withoutLeadingSlash as hF,fetchSvgAsPng as hG,blobToFile as hH,withoutTrailingSlash as hI,Rt as hJ,t$f as hK,i as hL,R$7 as hM,browserExports$1 as hN,highlightExports as hO,funcExports as hP,data$y as hQ,useSnackbar as hR,common$3 as hS,green as hT,amber as hU,SnackbarContent as hV,t$1 as hW,Y as hX,f$3 as hY,b as hZ,g$8 as h_,TableCell as ha,xe as hb,getSystemDomains as hc,copyArray as hd,baseIndexOf as he,keyframes as hf,ke as hg,useAppLogo as hh,getTransferAppLink as hi,requireBn as hj,require$$2 as hk,uniq as hl,updateWindowEnv as hm,M$3 as hn,isNil as ho,requireBase32 as hp,Ft as hq,withTrailingSlash as hr,data$B as hs,requireAssertString as ht,isEmail as hu,isURL as hv,createUseStorageState as hw,isBrowser$1 as hx,root$1 as hy,isNil$1 as hz,filesize as i,z$2 as i0,M$4 as i1,ye as i2,G$1 as i3,ue as i4,useBlockletLogo as i5,isPlainObject$1 as i6,Toolbar as i7,_setPrototypeOf as i8,useEffectWithTarget$1 as i9,Et as iA,AxiosError as iB,e$f as iC,isNull as iD,orange as iE,purple as iF,useStore as iG,createStore as iH,create$1 as iI,t$g as iJ,__rest as iK,clientExports as iL,yt$1 as iM,retry as iN,isNetworkError as iO,requirePTimeout as iP,n$5 as iQ,Modal as iR,GlobalStyles$2 as iS,useSize as iT,__values as ia,isString$3 as ib,FormLabel as ic,RelativeTime as id,isIncludeActivity as ie,isUserActor as ig,ActorAvatar as ih,SendComponentAvatar as ii,Activity as ij,NotificationContent$1 as ik,AvatarGroup as il,requireCjs as im,useTheme$2 as io,baseAssignValue as ip,isValidClusterSize as iq,extractStatusUrlFromNextWorkflow as ir,pWaitFor as is,hasRequiredSteps as it,getStoreList as iu,flatten as iv,trimEnd as iw,DialogTitle as ix,base32Exports as iy,flatExports as iz,jsxRuntimeExports as j,prettyMs as k,formatLocale as l,T$8 as m,useSessionContext as n,o$g as o,p$3 as p,useSetState as q,reactExports as r,styled$3 as s,TextField as t,useNodeContext as u,n$4 as v,lo as w,getWebWalletUrl as x,joinURL as y,withQuery as z};
|