@cedros/login-react 0.0.45 → 0.0.46
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/dist/{AuthenticationSettings-bNQiNQ9g.cjs → AuthenticationSettings-BBOjHR6j.cjs} +1 -1
- package/dist/{AuthenticationSettings-bNQiNQ9g.cjs.map → AuthenticationSettings-BBOjHR6j.cjs.map} +1 -1
- package/dist/{AuthenticationSettings-BlYOmaEG.cjs → AuthenticationSettings-BXZRBZqc.cjs} +1 -1
- package/dist/{AuthenticationSettings-BlYOmaEG.cjs.map → AuthenticationSettings-BXZRBZqc.cjs.map} +1 -1
- package/dist/{AuthenticationSettings-BsuwWKbT.js → AuthenticationSettings-Bc_qT4nV.js} +1 -1
- package/dist/{AuthenticationSettings-BsuwWKbT.js.map → AuthenticationSettings-Bc_qT4nV.js.map} +1 -1
- package/dist/{AuthenticationSettings-DrHqtD7p.js → AuthenticationSettings-DXWCVZxS.js} +1 -1
- package/dist/{AuthenticationSettings-DrHqtD7p.js.map → AuthenticationSettings-DXWCVZxS.js.map} +1 -1
- package/dist/{AutosaveStatus-CZSwtgrL.cjs → AutosaveStatus-DfMPudTQ.cjs} +1 -1
- package/dist/AutosaveStatus-DfMPudTQ.cjs.map +1 -0
- package/dist/{AutosaveStatus-D-roPsRx.js → AutosaveStatus-DhGM3UUx.js} +103 -36
- package/dist/AutosaveStatus-DhGM3UUx.js.map +1 -0
- package/dist/{CreditSystemSettings-BTqZFn4K.js → CreditSystemSettings-B59-gOQT.js} +1 -1
- package/dist/{CreditSystemSettings-BTqZFn4K.js.map → CreditSystemSettings-B59-gOQT.js.map} +1 -1
- package/dist/{CreditSystemSettings-3R6crxvW.cjs → CreditSystemSettings-Badz4iAc.cjs} +1 -1
- package/dist/{CreditSystemSettings-3R6crxvW.cjs.map → CreditSystemSettings-Badz4iAc.cjs.map} +1 -1
- package/dist/{CreditSystemSettings-BskW_NKx.cjs → CreditSystemSettings-BxSoDwEi.cjs} +1 -1
- package/dist/{CreditSystemSettings-BskW_NKx.cjs.map → CreditSystemSettings-BxSoDwEi.cjs.map} +1 -1
- package/dist/{CreditSystemSettings-SL45GRH3.js → CreditSystemSettings-DxFpOeBW.js} +1 -1
- package/dist/{CreditSystemSettings-SL45GRH3.js.map → CreditSystemSettings-DxFpOeBW.js.map} +1 -1
- package/dist/{EmailSettings-XETM8FdS.js → EmailSettings-0y8D1QzF.js} +1 -1
- package/dist/{EmailSettings-XETM8FdS.js.map → EmailSettings-0y8D1QzF.js.map} +1 -1
- package/dist/{EmailSettings-BUAQji4I.js → EmailSettings-BA722mhf.js} +1 -1
- package/dist/{EmailSettings-BUAQji4I.js.map → EmailSettings-BA722mhf.js.map} +1 -1
- package/dist/{EmailSettings-CihElRkc.cjs → EmailSettings-BwZvdOYB.cjs} +1 -1
- package/dist/{EmailSettings-CihElRkc.cjs.map → EmailSettings-BwZvdOYB.cjs.map} +1 -1
- package/dist/{EmailSettings-CEC1rhrm.cjs → EmailSettings-DIjo3aJo.cjs} +1 -1
- package/dist/{EmailSettings-CEC1rhrm.cjs.map → EmailSettings-DIjo3aJo.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-CCT9DwmL.js → EmbeddedWalletSettings-BDbPpqWD.js} +1 -1
- package/dist/{EmbeddedWalletSettings-CCT9DwmL.js.map → EmbeddedWalletSettings-BDbPpqWD.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-MtwR81WH.cjs → EmbeddedWalletSettings-Db9a0D5l.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-MtwR81WH.cjs.map → EmbeddedWalletSettings-Db9a0D5l.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-B-083zu6.js → EmbeddedWalletSettings-MH4A6e6S.js} +1 -1
- package/dist/{EmbeddedWalletSettings-B-083zu6.js.map → EmbeddedWalletSettings-MH4A6e6S.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-DXIjansC.cjs → EmbeddedWalletSettings-T7LwbGok.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-DXIjansC.cjs.map → EmbeddedWalletSettings-T7LwbGok.cjs.map} +1 -1
- package/dist/{ServerSettings-DBpbRihl.js → ServerSettings-CwCkkU50.js} +1 -1
- package/dist/{ServerSettings-DBpbRihl.js.map → ServerSettings-CwCkkU50.js.map} +1 -1
- package/dist/{ServerSettings-24DA_BOI.js → ServerSettings-DKzWaqjC.js} +1 -1
- package/dist/{ServerSettings-24DA_BOI.js.map → ServerSettings-DKzWaqjC.js.map} +1 -1
- package/dist/{ServerSettings-BTEuzdrf.cjs → ServerSettings-DptlzQAu.cjs} +1 -1
- package/dist/{ServerSettings-BTEuzdrf.cjs.map → ServerSettings-DptlzQAu.cjs.map} +1 -1
- package/dist/{ServerSettings-BNc4LEs4.cjs → ServerSettings-j5Lu5D-R.cjs} +1 -1
- package/dist/{ServerSettings-BNc4LEs4.cjs.map → ServerSettings-j5Lu5D-R.cjs.map} +1 -1
- package/dist/{WebhookSettings-D9IsXZJN.js → WebhookSettings-2hlLLyGd.js} +1 -1
- package/dist/{WebhookSettings-D9IsXZJN.js.map → WebhookSettings-2hlLLyGd.js.map} +1 -1
- package/dist/{WebhookSettings-C6X_JJcD.cjs → WebhookSettings-CoEoVRRO.cjs} +1 -1
- package/dist/{WebhookSettings-C6X_JJcD.cjs.map → WebhookSettings-CoEoVRRO.cjs.map} +1 -1
- package/dist/{WebhookSettings-H1x6IKOj.cjs → WebhookSettings-DOaydSWQ.cjs} +1 -1
- package/dist/{WebhookSettings-H1x6IKOj.cjs.map → WebhookSettings-DOaydSWQ.cjs.map} +1 -1
- package/dist/{WebhookSettings-BhIwucKb.js → WebhookSettings-LS_wUimF.js} +1 -1
- package/dist/{WebhookSettings-BhIwucKb.js.map → WebhookSettings-LS_wUimF.js.map} +1 -1
- package/dist/admin-only.cjs +1 -1
- package/dist/admin-only.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +11 -11
- package/dist/{plugin-BwwJh2cY.cjs → plugin-Ci67QMGG.cjs} +1 -1
- package/dist/{plugin-BwwJh2cY.cjs.map → plugin-Ci67QMGG.cjs.map} +1 -1
- package/dist/{plugin-CetHtdLq.js → plugin-Cm8Q6O4-.js} +1 -1
- package/dist/{plugin-CetHtdLq.js.map → plugin-Cm8Q6O4-.js.map} +1 -1
- package/package.json +1 -1
- package/dist/AutosaveStatus-CZSwtgrL.cjs.map +0 -1
- package/dist/AutosaveStatus-D-roPsRx.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSettings-
|
|
1
|
+
{"version":3,"file":"ServerSettings-j5Lu5D-R.cjs","sources":["../src/components/admin/settings/ServerSettings.tsx"],"sourcesContent":["/**\n * Server settings page - infrastructure configuration with tabs\n *\n * Tab visibility:\n * - Integrations: only shown when `feature_cedros_pay` is enabled.\n * This tab contains the Cedros Pay API Key, which is only needed when\n * cedros-pay runs as a separate microservice. In co-located deployments\n * (e.g., cedros-login and cedros-pay in the same Rust binary), inter-service\n * auth uses JWT/JWKS and no API key is needed.\n * - Logging, Metrics, Security: always visible.\n */\nimport { useState, useEffect, useMemo } from 'react';\nimport { LoadingSpinner } from '../../shared/LoadingSpinner';\nimport { ErrorMessage } from '../../shared/ErrorMessage';\nimport { useSettingsAutosave } from '../../../hooks/useSettingsAutosave';\nimport { SettingsSection } from './settingsInputs';\nimport { AutosaveStatus } from './AutosaveStatus';\n\ntype ServerTab = 'integrations' | 'logging' | 'metrics' | 'security';\n\ninterface TabConfig {\n id: ServerTab;\n label: string;\n /** Categories to pull settings from (defaults to ['server']) */\n categories?: string[];\n keys: string[];\n /** When set, tab is only visible if this setting is 'true' */\n requiredSetting?: string;\n}\n\nconst TABS: TabConfig[] = [\n {\n id: 'integrations',\n label: 'Integrations',\n keys: ['server_cedros_pay_api_key'],\n requiredSetting: 'feature_cedros_pay',\n },\n {\n id: 'logging',\n label: 'Logging',\n keys: ['server_log_level'],\n },\n {\n id: 'metrics',\n label: 'Metrics',\n keys: ['server_metrics_api_key'],\n },\n {\n id: 'security',\n label: 'Security',\n categories: ['security', 'features'],\n keys: ['feature_mfa', 'security_cors_origins', 'security_session_timeout'],\n },\n];\n\nexport interface ServerSettingsProps {\n className?: string;\n}\n\nexport function ServerSettings({ className }: ServerSettingsProps) {\n const {\n settings,\n edits,\n isLoading,\n autosaveStatus,\n autosaveError,\n error,\n fetchSettings,\n handleChange,\n getEffectiveValue,\n } = useSettingsAutosave();\n\n // Filter tabs based on feature flags\n const visibleTabs = useMemo(\n () =>\n TABS.filter((tab) => {\n if (!tab.requiredSetting) return true;\n return getEffectiveValue(tab.requiredSetting) === 'true';\n }),\n [getEffectiveValue]\n );\n\n // Default to first visible tab\n const [activeTab, setActiveTab] = useState<ServerTab | null>(null);\n\n // Set initial tab when tabs become available\n useEffect(() => {\n if (activeTab === null && visibleTabs.length > 0) {\n setActiveTab(visibleTabs[0].id);\n } else if (activeTab && !visibleTabs.some((t) => t.id === activeTab)) {\n // Active tab was hidden (feature toggled off) — fall back\n setActiveTab(visibleTabs[0]?.id ?? null);\n }\n }, [visibleTabs, activeTab]);\n\n useEffect(() => {\n fetchSettings();\n }, [fetchSettings]);\n\n // Get current tab config\n const currentTab = visibleTabs.find((t) => t.id === activeTab);\n\n // Collect settings from all categories for the current tab\n const currentSettings = useMemo(() => {\n if (!currentTab) return [];\n const categories = currentTab.categories ?? ['server'];\n const allSettings: (typeof settings)[string] = [];\n for (const category of categories) {\n const categorySettings = settings[category] ?? [];\n allSettings.push(...categorySettings);\n }\n // Filter by keys and sort by keys order\n return allSettings\n .filter((s) => currentTab.keys.includes(s.key))\n .sort((a, b) => currentTab.keys.indexOf(a.key) - currentTab.keys.indexOf(b.key));\n }, [settings, currentTab]);\n\n if (isLoading && Object.keys(settings).length === 0) {\n return (\n <div className={`cedros-system-settings cedros-system-settings-loading ${className ?? ''}`}>\n <LoadingSpinner />\n <span>Loading settings...</span>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`cedros-system-settings ${className ?? ''}`}>\n <ErrorMessage error={error.message} />\n </div>\n );\n }\n\n return (\n <div className={`cedros-system-settings ${className ?? ''}`}>\n <div className=\"cedros-settings-page-header\">\n <div className=\"cedros-settings-page-header-content\">\n <h2 className=\"cedros-settings-page-title\">Auth Server</h2>\n <p className=\"cedros-settings-page-description\">\n Server infrastructure settings. Some may be overridden by environment variables.\n </p>\n </div>\n <AutosaveStatus status={autosaveStatus} error={autosaveError} />\n </div>\n\n {/* Tabs */}\n <div className=\"cedros-admin-tabs cedros-admin-tabs--line\">\n {visibleTabs.map((tab) => (\n <button\n key={tab.id}\n type=\"button\"\n className={`cedros-admin-tab ${activeTab === tab.id ? 'cedros-admin-tab-active' : ''}`}\n onClick={() => setActiveTab(tab.id)}\n aria-selected={activeTab === tab.id}\n role=\"tab\"\n >\n {tab.label}\n </button>\n ))}\n </div>\n\n {/* Tab content */}\n <div className=\"cedros-admin-tab-content\" role=\"tabpanel\">\n {currentSettings.length === 0 ? (\n <div className=\"cedros-system-settings-empty\">\n <p>No settings found for {currentTab?.label ?? 'this section'}.</p>\n </div>\n ) : (\n <SettingsSection settings={currentSettings} edits={edits} onChange={handleChange} />\n )}\n </div>\n </div>\n );\n}\n"],"names":["TABS","ServerSettings","className","settings","edits","isLoading","autosaveStatus","autosaveError","error","fetchSettings","handleChange","getEffectiveValue","useSettingsAutosave","visibleTabs","useMemo","tab","activeTab","setActiveTab","useState","useEffect","t","currentTab","currentSettings","categories","allSettings","category","categorySettings","s","a","b","jsx","LoadingSpinner","ErrorMessage","jsxs","AutosaveStatus","SettingsSection"],"mappings":"oMA8BMA,EAAoB,CACxB,CACE,GAAI,eACJ,MAAO,eACP,KAAM,CAAC,2BAA2B,EAClC,gBAAiB,oBAAA,EAEnB,CACE,GAAI,UACJ,MAAO,UACP,KAAM,CAAC,kBAAkB,CAAA,EAE3B,CACE,GAAI,UACJ,MAAO,UACP,KAAM,CAAC,wBAAwB,CAAA,EAEjC,CACE,GAAI,WACJ,MAAO,WACP,WAAY,CAAC,WAAY,UAAU,EACnC,KAAM,CAAC,cAAe,wBAAyB,0BAA0B,CAAA,CAE7E,EAMO,SAASC,EAAe,CAAE,UAAAC,GAAkC,CACjE,KAAM,CACJ,SAAAC,EACA,MAAAC,EACA,UAAAC,EACA,eAAAC,EACA,cAAAC,EACA,MAAAC,EACA,cAAAC,EACA,aAAAC,EACA,kBAAAC,CAAA,EACEC,sBAAA,EAGEC,EAAcC,EAAAA,QAClB,IACEd,EAAK,OAAQe,GACNA,EAAI,gBACFJ,EAAkBI,EAAI,eAAe,IAAM,OADjB,EAElC,EACH,CAACJ,CAAiB,CAAA,EAId,CAACK,EAAWC,CAAY,EAAIC,EAAAA,SAA2B,IAAI,EAGjEC,EAAAA,UAAU,IAAM,CACVH,IAAc,MAAQH,EAAY,OAAS,EAC7CI,EAAaJ,EAAY,CAAC,EAAE,EAAE,EACrBG,GAAa,CAACH,EAAY,KAAMO,GAAMA,EAAE,KAAOJ,CAAS,GAEjEC,EAAaJ,EAAY,CAAC,GAAG,IAAM,IAAI,CAE3C,EAAG,CAACA,EAAaG,CAAS,CAAC,EAE3BG,EAAAA,UAAU,IAAM,CACdV,EAAA,CACF,EAAG,CAACA,CAAa,CAAC,EAGlB,MAAMY,EAAaR,EAAY,KAAMO,GAAMA,EAAE,KAAOJ,CAAS,EAGvDM,EAAkBR,EAAAA,QAAQ,IAAM,CACpC,GAAI,CAACO,EAAY,MAAO,CAAA,EACxB,MAAME,EAAaF,EAAW,YAAc,CAAC,QAAQ,EAC/CG,EAAyC,CAAA,EAC/C,UAAWC,KAAYF,EAAY,CACjC,MAAMG,EAAmBvB,EAASsB,CAAQ,GAAK,CAAA,EAC/CD,EAAY,KAAK,GAAGE,CAAgB,CACtC,CAEA,OAAOF,EACJ,OAAQG,GAAMN,EAAW,KAAK,SAASM,EAAE,GAAG,CAAC,EAC7C,KAAK,CAACC,EAAGC,IAAMR,EAAW,KAAK,QAAQO,EAAE,GAAG,EAAIP,EAAW,KAAK,QAAQQ,EAAE,GAAG,CAAC,CACnF,EAAG,CAAC1B,EAAUkB,CAAU,CAAC,EAEzB,OAAIhB,GAAa,OAAO,KAAKF,CAAQ,EAAE,SAAW,SAE7C,MAAA,CAAI,UAAW,yDAAyDD,GAAa,EAAE,GACtF,SAAA,CAAA4B,EAAAA,IAACC,EAAAA,eAAA,EAAe,EAChBD,EAAAA,IAAC,QAAK,SAAA,qBAAA,CAAmB,CAAA,EAC3B,EAIAtB,EAEAsB,EAAAA,IAAC,MAAA,CAAI,UAAW,0BAA0B5B,GAAa,EAAE,GACvD,SAAA4B,EAAAA,IAACE,EAAAA,aAAA,CAAa,MAAOxB,EAAM,OAAA,CAAS,EACtC,SAKD,MAAA,CAAI,UAAW,0BAA0BN,GAAa,EAAE,GACvD,SAAA,CAAA+B,EAAAA,KAAC,MAAA,CAAI,UAAU,8BACb,SAAA,CAAAA,EAAAA,KAAC,MAAA,CAAI,UAAU,sCACb,SAAA,CAAAH,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA6B,SAAA,cAAW,EACtDA,EAAAA,IAAC,IAAA,CAAE,UAAU,mCAAmC,SAAA,kFAAA,CAEhD,CAAA,EACF,EACAA,EAAAA,IAACI,EAAAA,eAAA,CAAe,OAAQ5B,EAAgB,MAAOC,CAAA,CAAe,CAAA,EAChE,QAGC,MAAA,CAAI,UAAU,4CACZ,SAAAM,EAAY,IAAKE,GAChBe,EAAAA,IAAC,SAAA,CAEC,KAAK,SACL,UAAW,oBAAoBd,IAAcD,EAAI,GAAK,0BAA4B,EAAE,GACpF,QAAS,IAAME,EAAaF,EAAI,EAAE,EAClC,gBAAeC,IAAcD,EAAI,GACjC,KAAK,MAEJ,SAAAA,EAAI,KAAA,EAPAA,EAAI,EAAA,CASZ,EACH,EAGAe,MAAC,MAAA,CAAI,UAAU,2BAA2B,KAAK,WAC5C,SAAAR,EAAgB,SAAW,EAC1BQ,MAAC,MAAA,CAAI,UAAU,+BACb,gBAAC,IAAA,CAAE,SAAA,CAAA,yBAAuBT,GAAY,OAAS,eAAe,GAAA,CAAA,CAAC,CAAA,CACjE,EAEAS,EAAAA,IAACK,kBAAA,CAAgB,SAAUb,EAAiB,MAAAlB,EAAc,SAAUM,CAAA,CAAc,CAAA,CAEtF,CAAA,EACF,CAEJ"}
|
|
@@ -2,7 +2,7 @@ import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect as p } from "react";
|
|
3
3
|
import { L as v } from "./LoadingSpinner-6vml-zwr.js";
|
|
4
4
|
import { E as S } from "./ErrorMessage-CcEK0pYO.js";
|
|
5
|
-
import { u as y, A as N, S as E } from "./AutosaveStatus-
|
|
5
|
+
import { u as y, A as N, S as E } from "./AutosaveStatus-DhGM3UUx.js";
|
|
6
6
|
function b({
|
|
7
7
|
title: i,
|
|
8
8
|
description: d,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookSettings-
|
|
1
|
+
{"version":3,"file":"WebhookSettings-2hlLLyGd.js","sources":["../src/components/admin/settings/SettingsPageLayout.tsx","../src/components/admin/settings/WebhookSettings.tsx"],"sourcesContent":["/**\n * Shared layout for settings pages with autosave\n */\nimport { useEffect } from 'react';\nimport { LoadingSpinner } from '../../shared/LoadingSpinner';\nimport { ErrorMessage } from '../../shared/ErrorMessage';\nimport { useSettingsAutosave } from '../../../hooks/useSettingsAutosave';\nimport { SettingsSection } from './settingsInputs';\nimport { AutosaveStatus } from './AutosaveStatus';\n\nexport interface SettingsPageLayoutProps {\n /** Page title */\n title: string;\n /** Page description */\n description: string;\n /** Categories to display on this page */\n categories: string[];\n /** Additional CSS class */\n className?: string;\n}\n\n/**\n * Shared layout component for settings pages.\n * Handles loading and displaying settings for specified categories.\n * Changes are automatically saved after a brief debounce.\n */\nexport function SettingsPageLayout({\n title,\n description,\n categories,\n className = '',\n}: SettingsPageLayoutProps) {\n const {\n settings,\n edits,\n isLoading,\n autosaveStatus,\n autosaveError,\n error,\n fetchSettings,\n handleChange,\n } = useSettingsAutosave();\n\n useEffect(() => {\n fetchSettings();\n }, [fetchSettings]);\n\n // Filter settings to only show relevant categories\n const relevantCategories = categories.filter((cat) => settings[cat]?.length > 0);\n\n if (isLoading && Object.keys(settings).length === 0) {\n return (\n <div className={`cedros-system-settings cedros-system-settings-loading ${className}`}>\n <LoadingSpinner />\n <span>Loading settings...</span>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`cedros-system-settings ${className}`}>\n <ErrorMessage error={error.message} />\n </div>\n );\n }\n\n return (\n <div className={`cedros-system-settings ${className}`}>\n <div className=\"cedros-settings-page-header\">\n <div className=\"cedros-settings-page-header-content\">\n <h2 className=\"cedros-settings-page-title\">{title}</h2>\n <p className=\"cedros-settings-page-description\">{description}</p>\n </div>\n <AutosaveStatus status={autosaveStatus} error={autosaveError} />\n </div>\n\n {relevantCategories.length === 0 ? (\n <div className=\"cedros-system-settings-empty\">\n <p>No settings found for this section.</p>\n </div>\n ) : (\n relevantCategories.map((category) => (\n <SettingsSection\n key={category}\n settings={settings[category]}\n edits={edits}\n onChange={handleChange}\n />\n ))\n )}\n </div>\n );\n}\n","/**\n * Webhook settings page - HTTP webhook configuration\n */\nimport { SettingsPageLayout } from './SettingsPageLayout';\n\nconst CATEGORIES = ['webhook'];\n\nexport interface WebhookSettingsProps {\n className?: string;\n}\n\nexport function WebhookSettings({ className }: WebhookSettingsProps) {\n return (\n <SettingsPageLayout\n title=\"Webhooks\"\n description=\"Configure HTTP webhook notifications for authentication events.\"\n categories={CATEGORIES}\n className={className}\n />\n );\n}\n"],"names":["SettingsPageLayout","title","description","categories","className","settings","edits","isLoading","autosaveStatus","autosaveError","error","fetchSettings","handleChange","useSettingsAutosave","useEffect","relevantCategories","cat","jsxs","jsx","LoadingSpinner","ErrorMessage","AutosaveStatus","category","SettingsSection","CATEGORIES","WebhookSettings"],"mappings":";;;;;AA0BO,SAASA,EAAmB;AAAA,EACjC,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAA4B;AAC1B,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAA;AAEJ,EAAAC,EAAU,MAAM;AACd,IAAAH,EAAA;AAAA,EACF,GAAG,CAACA,CAAa,CAAC;AAGlB,QAAMI,IAAqBZ,EAAW,OAAO,CAACa,MAAQX,EAASW,CAAG,GAAG,SAAS,CAAC;AAE/E,SAAIT,KAAa,OAAO,KAAKF,CAAQ,EAAE,WAAW,IAE9C,gBAAAY,EAAC,OAAA,EAAI,WAAW,yDAAyDb,CAAS,IAChF,UAAA;AAAA,IAAA,gBAAAc,EAACC,GAAA,EAAe;AAAA,IAChB,gBAAAD,EAAC,UAAK,UAAA,sBAAA,CAAmB;AAAA,EAAA,GAC3B,IAIAR,IAEA,gBAAAQ,EAAC,OAAA,EAAI,WAAW,0BAA0Bd,CAAS,IACjD,UAAA,gBAAAc,EAACE,GAAA,EAAa,OAAOV,EAAM,QAAA,CAAS,GACtC,IAKF,gBAAAO,EAAC,OAAA,EAAI,WAAW,0BAA0Bb,CAAS,IACjD,UAAA;AAAA,IAAA,gBAAAa,EAAC,OAAA,EAAI,WAAU,+BACb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,uCACb,UAAA;AAAA,QAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,8BAA8B,UAAAjB,GAAM;AAAA,QAClD,gBAAAiB,EAAC,KAAA,EAAE,WAAU,oCAAoC,UAAAhB,EAAA,CAAY;AAAA,MAAA,GAC/D;AAAA,MACA,gBAAAgB,EAACG,GAAA,EAAe,QAAQb,GAAgB,OAAOC,EAAA,CAAe;AAAA,IAAA,GAChE;AAAA,IAECM,EAAmB,WAAW,IAC7B,gBAAAG,EAAC,SAAI,WAAU,gCACb,UAAA,gBAAAA,EAAC,KAAA,EAAE,iDAAmC,EAAA,CACxC,IAEAH,EAAmB,IAAI,CAACO,MACtB,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QAEC,UAAUlB,EAASiB,CAAQ;AAAA,QAC3B,OAAAhB;AAAA,QACA,UAAUM;AAAA,MAAA;AAAA,MAHLU;AAAA,IAAA,CAKR;AAAA,EAAA,GAEL;AAEJ;ACxFA,MAAME,IAAa,CAAC,SAAS;AAMtB,SAASC,EAAgB,EAAE,WAAArB,KAAmC;AACnE,SACE,gBAAAc;AAAA,IAAClB;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,YAAYwB;AAAA,MACZ,WAAApB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./WebhookSettings-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./WebhookSettings-DOaydSWQ.cjs");function o(){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.WebhookSettings,{})})}exports.default=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookSettings-
|
|
1
|
+
{"version":3,"file":"WebhookSettings-CoEoVRRO.cjs","sources":["../src/admin/sections/WebhookSettings.tsx"],"sourcesContent":["/**\n * Webhook Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport { WebhookSettings as Settings } from '../../components/admin/settings';\n\nexport default function WebhookSettings(): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["WebhookSettings","jsx","Settings"],"mappings":"wLAOA,SAAwBA,GAAqC,CAC3D,aACG,MAAA,CAAI,UAAU,4BACb,SAAAC,MAACC,EAAAA,kBAAS,EACZ,CAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),S=require("react"),f=require("./LoadingSpinner-d6sSxgQN.cjs"),p=require("./ErrorMessage-CHbYbVi2.cjs"),r=require("./AutosaveStatus-
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),S=require("react"),f=require("./LoadingSpinner-d6sSxgQN.cjs"),p=require("./ErrorMessage-CHbYbVi2.cjs"),r=require("./AutosaveStatus-DfMPudTQ.cjs");function g({title:t,description:d,categories:u,className:n=""}){const{settings:i,edits:h,isLoading:l,autosaveStatus:j,autosaveError:x,error:o,fetchSettings:a,handleChange:m}=r.useSettingsAutosave();S.useEffect(()=>{a()},[a]);const c=u.filter(s=>i[s]?.length>0);return l&&Object.keys(i).length===0?e.jsxs("div",{className:`cedros-system-settings cedros-system-settings-loading ${n}`,children:[e.jsx(f.LoadingSpinner,{}),e.jsx("span",{children:"Loading settings..."})]}):o?e.jsx("div",{className:`cedros-system-settings ${n}`,children:e.jsx(p.ErrorMessage,{error:o.message})}):e.jsxs("div",{className:`cedros-system-settings ${n}`,children:[e.jsxs("div",{className:"cedros-settings-page-header",children:[e.jsxs("div",{className:"cedros-settings-page-header-content",children:[e.jsx("h2",{className:"cedros-settings-page-title",children:t}),e.jsx("p",{className:"cedros-settings-page-description",children:d})]}),e.jsx(r.AutosaveStatus,{status:j,error:x})]}),c.length===0?e.jsx("div",{className:"cedros-system-settings-empty",children:e.jsx("p",{children:"No settings found for this section."})}):c.map(s=>e.jsx(r.SettingsSection,{settings:i[s],edits:h,onChange:m},s))]})}const v=["webhook"];function y({className:t}){return e.jsx(g,{title:"Webhooks",description:"Configure HTTP webhook notifications for authentication events.",categories:v,className:t})}exports.SettingsPageLayout=g;exports.WebhookSettings=y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookSettings-
|
|
1
|
+
{"version":3,"file":"WebhookSettings-DOaydSWQ.cjs","sources":["../src/components/admin/settings/SettingsPageLayout.tsx","../src/components/admin/settings/WebhookSettings.tsx"],"sourcesContent":["/**\n * Shared layout for settings pages with autosave\n */\nimport { useEffect } from 'react';\nimport { LoadingSpinner } from '../../shared/LoadingSpinner';\nimport { ErrorMessage } from '../../shared/ErrorMessage';\nimport { useSettingsAutosave } from '../../../hooks/useSettingsAutosave';\nimport { SettingsSection } from './settingsInputs';\nimport { AutosaveStatus } from './AutosaveStatus';\n\nexport interface SettingsPageLayoutProps {\n /** Page title */\n title: string;\n /** Page description */\n description: string;\n /** Categories to display on this page */\n categories: string[];\n /** Additional CSS class */\n className?: string;\n}\n\n/**\n * Shared layout component for settings pages.\n * Handles loading and displaying settings for specified categories.\n * Changes are automatically saved after a brief debounce.\n */\nexport function SettingsPageLayout({\n title,\n description,\n categories,\n className = '',\n}: SettingsPageLayoutProps) {\n const {\n settings,\n edits,\n isLoading,\n autosaveStatus,\n autosaveError,\n error,\n fetchSettings,\n handleChange,\n } = useSettingsAutosave();\n\n useEffect(() => {\n fetchSettings();\n }, [fetchSettings]);\n\n // Filter settings to only show relevant categories\n const relevantCategories = categories.filter((cat) => settings[cat]?.length > 0);\n\n if (isLoading && Object.keys(settings).length === 0) {\n return (\n <div className={`cedros-system-settings cedros-system-settings-loading ${className}`}>\n <LoadingSpinner />\n <span>Loading settings...</span>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`cedros-system-settings ${className}`}>\n <ErrorMessage error={error.message} />\n </div>\n );\n }\n\n return (\n <div className={`cedros-system-settings ${className}`}>\n <div className=\"cedros-settings-page-header\">\n <div className=\"cedros-settings-page-header-content\">\n <h2 className=\"cedros-settings-page-title\">{title}</h2>\n <p className=\"cedros-settings-page-description\">{description}</p>\n </div>\n <AutosaveStatus status={autosaveStatus} error={autosaveError} />\n </div>\n\n {relevantCategories.length === 0 ? (\n <div className=\"cedros-system-settings-empty\">\n <p>No settings found for this section.</p>\n </div>\n ) : (\n relevantCategories.map((category) => (\n <SettingsSection\n key={category}\n settings={settings[category]}\n edits={edits}\n onChange={handleChange}\n />\n ))\n )}\n </div>\n );\n}\n","/**\n * Webhook settings page - HTTP webhook configuration\n */\nimport { SettingsPageLayout } from './SettingsPageLayout';\n\nconst CATEGORIES = ['webhook'];\n\nexport interface WebhookSettingsProps {\n className?: string;\n}\n\nexport function WebhookSettings({ className }: WebhookSettingsProps) {\n return (\n <SettingsPageLayout\n title=\"Webhooks\"\n description=\"Configure HTTP webhook notifications for authentication events.\"\n categories={CATEGORIES}\n className={className}\n />\n );\n}\n"],"names":["SettingsPageLayout","title","description","categories","className","settings","edits","isLoading","autosaveStatus","autosaveError","error","fetchSettings","handleChange","useSettingsAutosave","useEffect","relevantCategories","cat","jsxs","jsx","LoadingSpinner","ErrorMessage","AutosaveStatus","category","SettingsSection","CATEGORIES","WebhookSettings"],"mappings":"oMA0BO,SAASA,EAAmB,CACjC,MAAAC,EACA,YAAAC,EACA,WAAAC,EACA,UAAAC,EAAY,EACd,EAA4B,CAC1B,KAAM,CACJ,SAAAC,EACA,MAAAC,EACA,UAAAC,EACA,eAAAC,EACA,cAAAC,EACA,MAAAC,EACA,cAAAC,EACA,aAAAC,CAAA,EACEC,sBAAA,EAEJC,EAAAA,UAAU,IAAM,CACdH,EAAA,CACF,EAAG,CAACA,CAAa,CAAC,EAGlB,MAAMI,EAAqBZ,EAAW,OAAQa,GAAQX,EAASW,CAAG,GAAG,OAAS,CAAC,EAE/E,OAAIT,GAAa,OAAO,KAAKF,CAAQ,EAAE,SAAW,EAE9CY,EAAAA,KAAC,MAAA,CAAI,UAAW,yDAAyDb,CAAS,GAChF,SAAA,CAAAc,EAAAA,IAACC,EAAAA,eAAA,EAAe,EAChBD,EAAAA,IAAC,QAAK,SAAA,qBAAA,CAAmB,CAAA,EAC3B,EAIAR,EAEAQ,EAAAA,IAAC,MAAA,CAAI,UAAW,0BAA0Bd,CAAS,GACjD,SAAAc,EAAAA,IAACE,EAAAA,aAAA,CAAa,MAAOV,EAAM,OAAA,CAAS,EACtC,EAKFO,EAAAA,KAAC,MAAA,CAAI,UAAW,0BAA0Bb,CAAS,GACjD,SAAA,CAAAa,EAAAA,KAAC,MAAA,CAAI,UAAU,8BACb,SAAA,CAAAA,EAAAA,KAAC,MAAA,CAAI,UAAU,sCACb,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,6BAA8B,SAAAjB,EAAM,EAClDiB,EAAAA,IAAC,IAAA,CAAE,UAAU,mCAAoC,SAAAhB,CAAA,CAAY,CAAA,EAC/D,EACAgB,EAAAA,IAACG,EAAAA,eAAA,CAAe,OAAQb,EAAgB,MAAOC,CAAA,CAAe,CAAA,EAChE,EAECM,EAAmB,SAAW,EAC7BG,EAAAA,IAAC,OAAI,UAAU,+BACb,SAAAA,EAAAA,IAAC,IAAA,CAAE,+CAAmC,CAAA,CACxC,EAEAH,EAAmB,IAAKO,GACtBJ,EAAAA,IAACK,EAAAA,gBAAA,CAEC,SAAUlB,EAASiB,CAAQ,EAC3B,MAAAhB,EACA,SAAUM,CAAA,EAHLU,CAAA,CAKR,CAAA,EAEL,CAEJ,CCxFA,MAAME,EAAa,CAAC,SAAS,EAMtB,SAASC,EAAgB,CAAE,UAAArB,GAAmC,CACnE,OACEc,EAAAA,IAAClB,EAAA,CACC,MAAM,WACN,YAAY,kEACZ,WAAYwB,EACZ,UAAApB,CAAA,CAAA,CAGN"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { W as t } from "./WebhookSettings-
|
|
3
|
+
import { W as t } from "./WebhookSettings-2hlLLyGd.js";
|
|
4
4
|
function i() {
|
|
5
5
|
return /* @__PURE__ */ o("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ o(t, {}) });
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookSettings-
|
|
1
|
+
{"version":3,"file":"WebhookSettings-LS_wUimF.js","sources":["../src/admin/sections/WebhookSettings.tsx"],"sourcesContent":["/**\n * Webhook Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport { WebhookSettings as Settings } from '../../components/admin/settings';\n\nexport default function WebhookSettings(): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["WebhookSettings","jsx","Settings"],"mappings":";;;AAOA,SAAwBA,IAAqC;AAC3D,2BACG,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAC,EAACC,KAAS,GACZ;AAEJ;"}
|
package/dist/admin-only.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./plugin-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./plugin-Ci67QMGG.cjs");exports.AdminShell=e.AdminShell;exports.CEDROS_LOGIN_SECTION_IDS=e.CEDROS_LOGIN_SECTION_IDS;exports.Icons=e.Icons;exports.cedrosLoginPlugin=e.cedrosLoginPlugin;exports.loginPlugin=e.cedrosLoginPlugin;exports.useAdminShell=e.useAdminShell;
|
package/dist/admin-only.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./useAuth-B1yS_YiD.cjs"),M=require("./useCedrosLogin-DtJorrE7.cjs"),e=require("react/jsx-runtime"),d=require("react"),Q=require("./LoadingSpinner-d6sSxgQN.cjs"),zs=require("./sanitization-Bo_tn-L2.cjs"),X=require("./EmailRegisterForm-xFb6MaVA.cjs"),Oe=require("./validation-BuGQrA-K.cjs"),te=require("./ErrorMessage-CHbYbVi2.cjs"),$s=require("./GoogleLoginButton-2zNTIKMm.cjs"),Ze=require("./SolanaLoginButton-CqdzSSeJ.cjs"),he=require("./PermissionsSection-4zcE9Zs9.cjs"),Vs=require("./useSystemSettings-B2jY51ob.cjs"),ke=require("./AutosaveStatus-CZSwtgrL.cjs"),Ct=require("./AdminDepositList-B_z6x3j5.cjs"),Me=require("./AdminWithdrawalHistory-B2EY2ZmH.cjs"),We=require("./useUsersStatsSummary-DnsYtFGX.cjs"),Cn=require("./StatsBar-DTUZCwDD.cjs"),Hs=require("./useOrgs-CNqfn-fk.cjs"),Be=require("./plugin-BwwJh2cY.cjs"),En=require("./AuthenticationSettings-bNQiNQ9g.cjs"),_n=require("./EmbeddedWalletSettings-MtwR81WH.cjs"),jt=require("./EmailSettings-CEC1rhrm.cjs"),Qs=require("./CreditSystemSettings-3R6crxvW.cjs"),Ln=require("./ServerSettings-BNc4LEs4.cjs"),lt=require("./WebhookSettings-H1x6IKOj.cjs"),ya=require("./useAdminDeposits-CpLd68oP.cjs");async function Pn(t,s,r=D.DEFAULT_KDF_PARAMS){return D.validateKdfParams(r),D.argon2Derive(t,s,r)}function Rn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function xa(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var s=t.default;if(typeof s=="function"){var r=function o(){var n=!1;try{n=this instanceof o}catch{}return n?Reflect.construct(s,arguments,this.constructor):s.apply(this,arguments)};r.prototype=s.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(o){var n=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r,o,n.get?n:{enumerable:!0,get:function(){return t[o]}})}),r}var Nt={exports:{}};const va=globalThis.crypto,Aa=globalThis.crypto,ja=globalThis.crypto.subtle,Na=globalThis.crypto.getRandomValues.bind(globalThis.crypto),ka=globalThis.crypto.randomUUID.bind(globalThis.crypto),Sa=Object.freeze(Object.defineProperty({__proto__:null,default:va,getRandomValues:Na,randomUUID:ka,subtle:ja,webcrypto:Aa},Symbol.toStringTag,{value:"Module"})),Ca=xa(Sa);var Ea=Nt.exports,yr;function _a(){return yr||(yr=1,(function(t,s){(function(r,o){t.exports=o(Ca)})(Ea,function(r){var o,n,a,i,l;function c(){o={bits:8,radix:16,minBits:3,maxBits:20,bytesPerChar:2,maxBytesPerChar:6,primitivePolynomials:[null,null,1,3,3,5,3,3,29,17,9,5,83,27,43,3,45,9,39,39,9,5,3,33,27,9,71,39,9,5,83]},n={},a=new Array(1024).join("0"),i=!0,l=["nodeCryptoRandomBytes","browserCryptoGetRandomValues","testRandom"]}function h(){return!!(n&&n.rng&&typeof n.rng=="function")}function m(f,y){var x;if(y===0||y===1)return f;if(y&&y>1024)throw new Error("Padding must be multiples of no larger than 1024 bits.");return y=y||n.bits,f&&(x=f.length%y),x?(a+f).slice(-(y-x+f.length)):f}function u(f){var y="",x,A;for(A=f.length-1;A>=0;A--){if(x=parseInt(f[A],16),isNaN(x))throw new Error("Invalid hex character.");y=m(x.toString(2),4)+y}return y}function p(f){var y="",x,A;for(f=m(f,4),A=f.length;A>=4;A-=4){if(x=parseInt(f.slice(A-4,A),2),isNaN(x))throw new Error("Invalid binary character.");y=x.toString(16)+y}return y}function b(){return!!(r&&typeof r=="object"&&(typeof r.getRandomValues=="function"||typeof r.getRandomValues=="object")&&(typeof Uint32Array=="function"||typeof Uint32Array=="object"))}function w(){return typeof r=="object"&&typeof r.randomBytes=="function"}function g(f){function y(C,P,L,R){var T=0,B,F="",W;for(P&&(B=P.length-1);T<B||F.length<C;)W=Math.abs(parseInt(P[T],L)),F=F+m(W.toString(2),R),T++;return F=F.substr(-C),(F.match(/0/g)||[]).length===F.length?null:F}function x(C){var P,L,R,T,B=null;for(R=16,T=4,L=Math.ceil(C/8);B===null;)P=r.randomBytes(L),B=y(C,P.toString("hex"),R,T);return B}function A(C){var P,L,R,T=null;for(L=10,R=32,P=Math.ceil(C/32);T===null;)T=y(C,r.getRandomValues(new Uint32Array(P)),L,R);return T}function _(C){var P,L,R,T,B,F=null;T=10,B=32,L=Math.ceil(C/32),R=123456789,P=new Uint32Array(L);for(var W=0;W<P.length;W++)P[W]=R;for(;F===null;)F=y(C,P,T,B);return F}if(f&&f==="testRandom")return n.typeCSPRNG=f,_;if(f&&f==="nodeCryptoRandomBytes")return n.typeCSPRNG=f,x;if(f&&f==="browserCryptoGetRandomValues")return n.typeCSPRNG=f,A;if(w())return n.typeCSPRNG="nodeCryptoRandomBytes",x;if(b())return n.typeCSPRNG="browserCryptoGetRandomValues",A}function j(f,y){var x=[],A;for(y&&(f=m(f,y)),A=f.length;A>n.bits;A-=n.bits)x.push(parseInt(f.slice(A-n.bits,A),2));return x.push(parseInt(f.slice(0,A),2)),x}function v(f,y){var x=n.logs[f],A=0,_;for(_=y.length-1;_>=0;_--)A!==0?A=n.exps[(x+n.logs[A])%n.maxShares]^y[_]:A=y[_];return A}function N(f,y,x){var A=0,_,C,P,L;for(P=0,_=y.length;P<_;P++)if(x[P]){for(C=n.logs[x[P]],L=0;L<_;L++)if(P!==L){if(f===y[L]){C=-1;break}C=(C+n.logs[f^y[L]]-n.logs[y[P]^y[L]]+n.maxShares)%n.maxShares}A=C===-1?A:A^n.exps[C]}return A}function k(f,y,x){var A=[],_=[f],C,P;for(C=1;C<x;C++)_[C]=parseInt(n.rng(n.bits),2);for(C=1,P=y+1;C<P;C++)A[C-1]={x:C,y:v(C,_)};return A}function S(f,y,x){var A,_,C,P,L;if(y=parseInt(y,n.radix),f=parseInt(f,10)||n.bits,A=f.toString(36).toUpperCase(),C=Math.pow(2,f)-1,P=C.toString(n.radix).length,_=m(y.toString(n.radix),P),typeof y!="number"||y%1!==0||y<1||y>C)throw new Error("Share id must be an integer between 1 and "+C+", inclusive.");return L=A+_+x,L}var E={init:function(f,y){var x=[],A=[],_=1,C,P;if(c(),f&&(typeof f!="number"||f%1!==0||f<o.minBits||f>o.maxBits))throw new Error("Number of bits must be an integer between "+o.minBits+" and "+o.maxBits+", inclusive.");if(y&&l.indexOf(y)===-1)throw new Error("Invalid RNG type argument : '"+y+"'");for(n.radix=o.radix,n.bits=f||o.bits,n.size=Math.pow(2,n.bits),n.maxShares=n.size-1,C=o.primitivePolynomials[n.bits],P=0;P<n.size;P++)A[P]=_,x[_]=P,_=_<<1,_>=n.size&&(_=_^C,_=_&n.maxShares);if(n.logs=x,n.exps=A,y&&this.setRNG(y),h()||this.setRNG(),!h()||!n.bits||!n.size||!n.maxShares||!n.logs||!n.exps||n.logs.length!==n.size||n.exps.length!==n.size)throw new Error("Initialization failed.")},combine:function(f,y){var x,A,_,C,P="",L,R,T,B=[],F=[];for(y=y||0,x=0,_=f.length;x<_;x++){if(R=this.extractShareComponents(f[x]),L===void 0)L=R.bits;else if(R.bits!==L)throw new Error("Mismatched shares: Different bit settings.");if(n.bits!==L&&this.init(L),B.indexOf(R.id)===-1)for(B.push(R.id),T=j(u(R.data)),A=0,C=T.length;A<C;A++)F[A]=F[A]||[],F[A][B.length-1]=T[A]}for(x=0,_=F.length;x<_;x++)P=m(N(y,B,F[x]).toString(2))+P;return p(y>=1?P:P.slice(P.indexOf("1")+1))},getConfig:function(){var f={};return f.radix=n.radix,f.bits=n.bits,f.maxShares=n.maxShares,f.hasCSPRNG=h(),f.typeCSPRNG=n.typeCSPRNG,f},extractShareComponents:function(f){var y,x,A,_,C={},P,L;if(y=parseInt(f.substr(0,1),36),y&&(typeof y!="number"||y%1!==0||y<o.minBits||y>o.maxBits))throw new Error("Invalid share : Number of bits must be an integer between "+o.minBits+" and "+o.maxBits+", inclusive.");if(_=Math.pow(2,y)-1,A=(Math.pow(2,y)-1).toString(n.radix).length,P="^([a-kA-K3-9]{1})([a-fA-F0-9]{"+A+"})([a-fA-F0-9]+)$",L=new RegExp(P).exec(f),L&&(x=parseInt(L[2],n.radix)),typeof x!="number"||x%1!==0||x<1||x>_)throw new Error("Invalid share : Share id must be an integer between 1 and "+n.maxShares+", inclusive.");if(L&&L[3])return C.bits=y,C.id=x,C.data=L[3],C;throw new Error("The share data provided is invalid : "+f)},setRNG:function(f){var y="Random number generator is invalid ",x=" Supply an CSPRNG of the form function(bits){} that returns a string containing 'bits' number of random 1's and 0's.";if(f&&typeof f=="string"&&l.indexOf(f)===-1)throw new Error("Invalid RNG type argument : '"+f+"'");if(f||(f=g()),f&&typeof f=="string"&&(f=g(f)),i){if(f&&typeof f!="function")throw new Error(y+"(Not a function)."+x);if(f&&typeof f(n.bits)!="string")throw new Error(y+"(Output is not a string)."+x);if(f&&!parseInt(f(n.bits),2))throw new Error(y+"(Binary string output not parseable to an Integer)."+x);if(f&&f(n.bits).length>n.bits)throw new Error(y+"(Output length is greater than config.bits)."+x);if(f&&f(n.bits).length<n.bits)throw new Error(y+"(Output length is less than config.bits)."+x)}return n.rng=f,!0},str2hex:function(f,y){var x,A,_="",C,P,L,R;if(typeof f!="string")throw new Error("Input must be a character string.");if(y||(y=o.bytesPerChar),typeof y!="number"||y<1||y>o.maxBytesPerChar||y%1!==0)throw new Error("Bytes per character must be an integer between 1 and "+o.maxBytesPerChar+", inclusive.");for(x=2*y,A=Math.pow(16,x)-1,L=0,R=f.length;L<R;L++){if(P=f[L].charCodeAt(),isNaN(P))throw new Error("Invalid character: "+f[L]);if(P>A)throw C=Math.ceil(Math.log(P+1)/Math.log(256)),new Error("Invalid character code ("+P+"). Maximum allowable is 256^bytes-1 ("+A+"). To convert this character, use at least "+C+" bytes.");_=m(P.toString(16),x)+_}return _},hex2str:function(f,y){var x,A="",_,C;if(typeof f!="string")throw new Error("Input must be a hexadecimal string.");if(y=y||o.bytesPerChar,typeof y!="number"||y%1!==0||y<1||y>o.maxBytesPerChar)throw new Error("Bytes per character must be an integer between 1 and "+o.maxBytesPerChar+", inclusive.");for(x=2*y,f=m(f,x),_=0,C=f.length;_<C;_+=x)A=String.fromCharCode(parseInt(f.slice(_,_+x),16))+A;return A},random:function(f){if(typeof f!="number"||f%1!==0||f<2||f>65536)throw new Error("Number of bits must be an Integer between 1 and 65536.");return p(n.rng(f))},share:function(f,y,x,A){var _,C,P=new Array(y),L=new Array(y),R,T,B;if(A=A||128,typeof f!="string")throw new Error("Secret must be a string.");if(typeof y!="number"||y%1!==0||y<2)throw new Error("Number of shares must be an integer between 2 and 2^bits-1 ("+n.maxShares+"), inclusive.");if(y>n.maxShares)throw _=Math.ceil(Math.log(y+1)/Math.LN2),new Error("Number of shares must be an integer between 2 and 2^bits-1 ("+n.maxShares+"), inclusive. To create "+y+" shares, use at least "+_+" bits.");if(typeof x!="number"||x%1!==0||x<2)throw new Error("Threshold number of shares must be an integer between 2 and 2^bits-1 ("+n.maxShares+"), inclusive.");if(x>n.maxShares)throw _=Math.ceil(Math.log(x+1)/Math.LN2),new Error("Threshold number of shares must be an integer between 2 and 2^bits-1 ("+n.maxShares+"), inclusive. To use a threshold of "+x+", use at least "+_+" bits.");if(x>y)throw new Error("Threshold number of shares was "+x+" but must be less than or equal to the "+y+" shares specified as the total to generate.");if(typeof A!="number"||A%1!==0||A<0||A>1024)throw new Error("Zero-pad length must be an integer between 0 and 1024 inclusive.");for(f="1"+u(f),f=j(f,A),R=0,B=f.length;R<B;R++)for(C=k(f[R],y,x),T=0;T<y;T++)P[T]=P[T]||C[T].x.toString(n.radix),L[T]=m(C[T].y.toString(2))+(L[T]||"");for(R=0;R<y;R++)P[R]=S(n.bits,P[R],p(L[R]));return P},newShare:function(f,y){var x,A;if(f&&typeof f=="string"&&(f=parseInt(f,n.radix)),A=f.toString(n.radix),f&&A&&y&&y[0])return x=this.extractShareComponents(y[0]),S(x.bits,A,this.combine(y,f));throw new Error("Invalid 'id' or 'shares' Array argument to newShare().")},_reset:c,_padLeft:m,_hex2bin:u,_bin2hex:p,_hasCryptoGetRandomValues:b,_hasCryptoRandomBytes:w,_getRNG:g,_isSetRNG:h,_splitNumStringToIntArray:j,_horner:v,_lagrange:N,_getShares:k,_constructPublicShareString:S};return E.init(),E})})(Nt)),Nt.exports}var La=_a();const Tn=Rn(La);function Mn(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Gs(t,s=""){if(!Number.isSafeInteger(t)||t<0){const r=s&&`"${s}" `;throw new Error(`${r}expected integer >= 0, got ${t}`)}}function ie(t,s,r=""){const o=Mn(t),n=t?.length,a=s!==void 0;if(!o||a&&n!==s){const i=r&&`"${r}" `,l=a?` of length ${s}`:"",c=o?`length=${n}`:`type=${typeof t}`;throw new Error(i+"expected Uint8Array"+l+", got "+c)}return t}function xr(t,s=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(s&&t.finished)throw new Error("Hash#digest() has already been called")}function Pa(t,s){ie(t,void 0,"digestInto() output");const r=s.outputLen;if(t.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}function Ts(...t){for(let s=0;s<t.length;s++)t[s].fill(0)}function Gt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const Bn=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Ra=Array.from({length:256},(t,s)=>s.toString(16).padStart(2,"0"));function Ks(t){if(ie(t),Bn)return t.toHex();let s="";for(let r=0;r<t.length;r++)s+=Ra[t[r]];return s}const je={_0:48,_9:57,A:65,F:70,a:97,f:102};function vr(t){if(t>=je._0&&t<=je._9)return t-je._0;if(t>=je.A&&t<=je.F)return t-(je.A-10);if(t>=je.a&&t<=je.f)return t-(je.a-10)}function In(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Bn)return Uint8Array.fromHex(t);const s=t.length,r=s/2;if(s%2)throw new Error("hex string expected, got unpadded hex of length "+s);const o=new Uint8Array(r);for(let n=0,a=0;n<r;n++,a+=2){const i=vr(t.charCodeAt(a)),l=vr(t.charCodeAt(a+1));if(i===void 0||l===void 0){const c=t[a]+t[a+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+a)}o[n]=i*16+l}return o}function Ar(...t){let s=0;for(let o=0;o<t.length;o++){const n=t[o];ie(n),s+=n.length}const r=new Uint8Array(s);for(let o=0,n=0;o<t.length;o++){const a=t[o];r.set(a,n),n+=a.length}return r}function Ta(t,s={}){const r=(n,a)=>t(a).update(n).digest(),o=t(void 0);return r.outputLen=o.outputLen,r.blockLen=o.blockLen,r.create=n=>t(n),Object.assign(r,s),Object.freeze(r)}function Ma(t=32){const s=typeof globalThis=="object"?globalThis.crypto:null;if(typeof s?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return s.getRandomValues(new Uint8Array(t))}const Ba=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});let Ia=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(s,r,o,n){this.blockLen=s,this.outputLen=r,this.padOffset=o,this.isLE=n,this.buffer=new Uint8Array(s),this.view=Gt(this.buffer)}update(s){xr(this),ie(s);const{view:r,buffer:o,blockLen:n}=this,a=s.length;for(let i=0;i<a;){const l=Math.min(n-this.pos,a-i);if(l===n){const c=Gt(s);for(;n<=a-i;i+=n)this.process(c,i);continue}o.set(s.subarray(i,i+l),this.pos),this.pos+=l,i+=l,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=s.length,this.roundClean(),this}digestInto(s){xr(this),Pa(s,this),this.finished=!0;const{buffer:r,view:o,blockLen:n,isLE:a}=this;let{pos:i}=this;r[i++]=128,Ts(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let u=i;u<n;u++)r[u]=0;o.setBigUint64(n-8,BigInt(this.length*8),a),this.process(o,0);const l=Gt(s),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");const h=c/4,m=this.get();if(h>m.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<h;u++)l.setUint32(4*u,m[u],a)}digest(){const{buffer:s,outputLen:r}=this;this.digestInto(s);const o=s.slice(0,r);return this.destroy(),o}_cloneInto(s){s||=new this.constructor,s.set(...this.get());const{blockLen:r,buffer:o,length:n,finished:a,destroyed:i,pos:l}=this;return s.destroyed=i,s.finished=a,s.length=n,s.pos=l,n%r&&s.buffer.set(o),s}clone(){return this._cloneInto()}};const ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),ht=BigInt(2**32-1),jr=BigInt(32);function Da(t,s=!1){return s?{h:Number(t&ht),l:Number(t>>jr&ht)}:{h:Number(t>>jr&ht)|0,l:Number(t&ht)|0}}function Ua(t,s=!1){const r=t.length;let o=new Uint32Array(r),n=new Uint32Array(r);for(let a=0;a<r;a++){const{h:i,l}=Da(t[a],s);[o[a],n[a]]=[i,l]}return[o,n]}const Nr=(t,s,r)=>t>>>r,kr=(t,s,r)=>t<<32-r|s>>>r,Qe=(t,s,r)=>t>>>r|s<<32-r,Ge=(t,s,r)=>t<<32-r|s>>>r,mt=(t,s,r)=>t<<64-r|s>>>r-32,ft=(t,s,r)=>t>>>r-32|s<<64-r;function Ne(t,s,r,o){const n=(s>>>0)+(o>>>0);return{h:t+r+(n/2**32|0)|0,l:n|0}}const Fa=(t,s,r)=>(t>>>0)+(s>>>0)+(r>>>0),Wa=(t,s,r,o)=>s+r+o+(t/2**32|0)|0,Oa=(t,s,r,o)=>(t>>>0)+(s>>>0)+(r>>>0)+(o>>>0),qa=(t,s,r,o,n)=>s+r+o+n+(t/2**32|0)|0,za=(t,s,r,o,n)=>(t>>>0)+(s>>>0)+(r>>>0)+(o>>>0)+(n>>>0),$a=(t,s,r,o,n,a)=>s+r+o+n+a+(t/2**32|0)|0,Dn=Ua(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Va=Dn[0],Ha=Dn[1],Ee=new Uint32Array(80),_e=new Uint32Array(80);class Qa extends Ia{constructor(s){super(128,s,16,!1)}get(){const{Ah:s,Al:r,Bh:o,Bl:n,Ch:a,Cl:i,Dh:l,Dl:c,Eh:h,El:m,Fh:u,Fl:p,Gh:b,Gl:w,Hh:g,Hl:j}=this;return[s,r,o,n,a,i,l,c,h,m,u,p,b,w,g,j]}set(s,r,o,n,a,i,l,c,h,m,u,p,b,w,g,j){this.Ah=s|0,this.Al=r|0,this.Bh=o|0,this.Bl=n|0,this.Ch=a|0,this.Cl=i|0,this.Dh=l|0,this.Dl=c|0,this.Eh=h|0,this.El=m|0,this.Fh=u|0,this.Fl=p|0,this.Gh=b|0,this.Gl=w|0,this.Hh=g|0,this.Hl=j|0}process(s,r){for(let k=0;k<16;k++,r+=4)Ee[k]=s.getUint32(r),_e[k]=s.getUint32(r+=4);for(let k=16;k<80;k++){const S=Ee[k-15]|0,E=_e[k-15]|0,f=Qe(S,E,1)^Qe(S,E,8)^Nr(S,E,7),y=Ge(S,E,1)^Ge(S,E,8)^kr(S,E,7),x=Ee[k-2]|0,A=_e[k-2]|0,_=Qe(x,A,19)^mt(x,A,61)^Nr(x,A,6),C=Ge(x,A,19)^ft(x,A,61)^kr(x,A,6),P=Oa(y,C,_e[k-7],_e[k-16]),L=qa(P,f,_,Ee[k-7],Ee[k-16]);Ee[k]=L|0,_e[k]=P|0}let{Ah:o,Al:n,Bh:a,Bl:i,Ch:l,Cl:c,Dh:h,Dl:m,Eh:u,El:p,Fh:b,Fl:w,Gh:g,Gl:j,Hh:v,Hl:N}=this;for(let k=0;k<80;k++){const S=Qe(u,p,14)^Qe(u,p,18)^mt(u,p,41),E=Ge(u,p,14)^Ge(u,p,18)^ft(u,p,41),f=u&b^~u&g,y=p&w^~p&j,x=za(N,E,y,Ha[k],_e[k]),A=$a(x,v,S,f,Va[k],Ee[k]),_=x|0,C=Qe(o,n,28)^mt(o,n,34)^mt(o,n,39),P=Ge(o,n,28)^ft(o,n,34)^ft(o,n,39),L=o&a^o&l^a&l,R=n&i^n&c^i&c;v=g|0,N=j|0,g=b|0,j=w|0,b=u|0,w=p|0,{h:u,l:p}=Ne(h|0,m|0,A|0,_|0),h=l|0,m=c|0,l=a|0,c=i|0,a=o|0,i=n|0;const T=Fa(_,P,R);o=Wa(T,A,C,L),n=T|0}({h:o,l:n}=Ne(this.Ah|0,this.Al|0,o|0,n|0)),{h:a,l:i}=Ne(this.Bh|0,this.Bl|0,a|0,i|0),{h:l,l:c}=Ne(this.Ch|0,this.Cl|0,l|0,c|0),{h,l:m}=Ne(this.Dh|0,this.Dl|0,h|0,m|0),{h:u,l:p}=Ne(this.Eh|0,this.El|0,u|0,p|0),{h:b,l:w}=Ne(this.Fh|0,this.Fl|0,b|0,w|0),{h:g,l:j}=Ne(this.Gh|0,this.Gl|0,g|0,j|0),{h:v,l:N}=Ne(this.Hh|0,this.Hl|0,v|0,N|0),this.set(o,n,a,i,l,c,h,m,u,p,b,w,g,j,v,N)}roundClean(){Ts(Ee,_e)}destroy(){Ts(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class Ga extends Qa{Ah=ce[0]|0;Al=ce[1]|0;Bh=ce[2]|0;Bl=ce[3]|0;Ch=ce[4]|0;Cl=ce[5]|0;Dh=ce[6]|0;Dl=ce[7]|0;Eh=ce[8]|0;El=ce[9]|0;Fh=ce[10]|0;Fl=ce[11]|0;Gh=ce[12]|0;Gl=ce[13]|0;Hh=ce[14]|0;Hl=ce[15]|0;constructor(){super(64)}}const Ka=Ta(()=>new Ga,Ba(3));const Un=BigInt(0),Sr=BigInt(1);function Ms(t,s=""){if(typeof t!="boolean"){const r=s&&`"${s}" `;throw new Error(r+"expected boolean, got type="+typeof t)}return t}function Ya(t){if(typeof t=="bigint"){if(!kt(t))throw new Error("positive bigint expected, got "+t)}else Gs(t);return t}function Fn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Un:BigInt("0x"+t)}function Za(t){return Fn(Ks(t))}function Et(t){return Fn(Ks(Bs(ie(t)).reverse()))}function Wn(t,s){Gs(s),t=Ya(t);const r=In(t.toString(16).padStart(s*2,"0"));if(r.length!==s)throw new Error("number too large");return r}function Xa(t,s){return Wn(t,s).reverse()}function Bs(t){return Uint8Array.from(t)}const kt=t=>typeof t=="bigint"&&Un<=t;function Ja(t,s,r){return kt(t)&&kt(s)&&kt(r)&&s<=t&&t<r}function Cr(t,s,r,o){if(!Ja(s,r,o))throw new Error("expected valid "+t+": "+r+" <= n < "+o+", got "+s)}const ei=t=>(Sr<<BigInt(t))-Sr;function Ys(t,s={},r={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function o(a,i,l){const c=t[a];if(l&&c===void 0)return;const h=typeof c;if(h!==i||c===null)throw new Error(`param "${a}" is invalid: expected ${i}, got ${h}`)}const n=(a,i)=>Object.entries(a).forEach(([l,c])=>o(l,c,i));n(s,!1),n(r,!0)}function Er(t){const s=new WeakMap;return(r,...o)=>{const n=s.get(r);if(n!==void 0)return n;const a=t(r,...o);return s.set(r,a),a}}const me=BigInt(0),de=BigInt(1),Fe=BigInt(2),On=BigInt(3),qn=BigInt(4),zn=BigInt(5),ti=BigInt(7),$n=BigInt(8),si=BigInt(9),Vn=BigInt(16);function oe(t,s){const r=t%s;return r>=me?r:s+r}function xe(t,s,r){let o=t;for(;s-- >me;)o*=o,o%=r;return o}function _r(t,s){if(t===me)throw new Error("invert: expected non-zero number");if(s<=me)throw new Error("invert: expected positive modulus, got "+s);let r=oe(t,s),o=s,n=me,a=de;for(;r!==me;){const l=o/r,c=o%r,h=n-a*l;o=r,r=c,n=a,a=h}if(o!==de)throw new Error("invert: does not exist");return oe(n,s)}function Zs(t,s,r){if(!t.eql(t.sqr(s),r))throw new Error("Cannot find square root")}function Hn(t,s){const r=(t.ORDER+de)/qn,o=t.pow(s,r);return Zs(t,o,s),o}function ri(t,s){const r=(t.ORDER-zn)/$n,o=t.mul(s,Fe),n=t.pow(o,r),a=t.mul(s,n),i=t.mul(t.mul(a,Fe),n),l=t.mul(a,t.sub(i,t.ONE));return Zs(t,l,s),l}function ni(t){const s=Xs(t),r=Qn(t),o=r(s,s.neg(s.ONE)),n=r(s,o),a=r(s,s.neg(o)),i=(t+ti)/Vn;return(l,c)=>{let h=l.pow(c,i),m=l.mul(h,o);const u=l.mul(h,n),p=l.mul(h,a),b=l.eql(l.sqr(m),c),w=l.eql(l.sqr(u),c);h=l.cmov(h,m,b),m=l.cmov(p,u,w);const g=l.eql(l.sqr(m),c),j=l.cmov(h,m,g);return Zs(l,j,c),j}}function Qn(t){if(t<On)throw new Error("sqrt is not defined for small field");let s=t-de,r=0;for(;s%Fe===me;)s/=Fe,r++;let o=Fe;const n=Xs(t);for(;Lr(n,o)===1;)if(o++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Hn;let a=n.pow(o,s);const i=(s+de)/Fe;return function(c,h){if(c.is0(h))return h;if(Lr(c,h)!==1)throw new Error("Cannot find square root");let m=r,u=c.mul(c.ONE,a),p=c.pow(h,s),b=c.pow(h,i);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let w=1,g=c.sqr(p);for(;!c.eql(g,c.ONE);)if(w++,g=c.sqr(g),w===m)throw new Error("Cannot find square root");const j=de<<BigInt(m-w-1),v=c.pow(u,j);m=w,u=c.sqr(v),p=c.mul(p,u),b=c.mul(b,v)}return b}}function oi(t){return t%qn===On?Hn:t%$n===zn?ri:t%Vn===si?ni(t):Qn(t)}const ai=(t,s)=>(oe(t,s)&de)===de,ii=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ci(t){const s={ORDER:"bigint",BYTES:"number",BITS:"number"},r=ii.reduce((o,n)=>(o[n]="function",o),s);return Ys(t,r),t}function li(t,s,r){if(r<me)throw new Error("invalid exponent, negatives unsupported");if(r===me)return t.ONE;if(r===de)return s;let o=t.ONE,n=s;for(;r>me;)r&de&&(o=t.mul(o,n)),n=t.sqr(n),r>>=de;return o}function Gn(t,s,r=!1){const o=new Array(s.length).fill(r?t.ZERO:void 0),n=s.reduce((i,l,c)=>t.is0(l)?i:(o[c]=i,t.mul(i,l)),t.ONE),a=t.inv(n);return s.reduceRight((i,l,c)=>t.is0(l)?i:(o[c]=t.mul(i,o[c]),t.mul(i,l)),a),o}function Lr(t,s){const r=(t.ORDER-de)/Fe,o=t.pow(s,r),n=t.eql(o,t.ONE),a=t.eql(o,t.ZERO),i=t.eql(o,t.neg(t.ONE));if(!n&&!a&&!i)throw new Error("invalid Legendre symbol result");return n?1:a?0:-1}function di(t,s){s!==void 0&&Gs(s);const r=s!==void 0?s:t.toString(2).length,o=Math.ceil(r/8);return{nBitLength:r,nByteLength:o}}class ui{ORDER;BITS;BYTES;isLE;ZERO=me;ONE=de;_lengths;_sqrt;_mod;constructor(s,r={}){if(s<=me)throw new Error("invalid field: expected ORDER > 0, got "+s);let o;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(o=r.BITS),typeof r.sqrt=="function"&&(this.sqrt=r.sqrt),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=r.allowedLengths?.slice()),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));const{nBitLength:n,nByteLength:a}=di(s,o);if(a>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=s,this.BITS=n,this.BYTES=a,this._sqrt=void 0,Object.preventExtensions(this)}create(s){return oe(s,this.ORDER)}isValid(s){if(typeof s!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof s);return me<=s&&s<this.ORDER}is0(s){return s===me}isValidNot0(s){return!this.is0(s)&&this.isValid(s)}isOdd(s){return(s&de)===de}neg(s){return oe(-s,this.ORDER)}eql(s,r){return s===r}sqr(s){return oe(s*s,this.ORDER)}add(s,r){return oe(s+r,this.ORDER)}sub(s,r){return oe(s-r,this.ORDER)}mul(s,r){return oe(s*r,this.ORDER)}pow(s,r){return li(this,s,r)}div(s,r){return oe(s*_r(r,this.ORDER),this.ORDER)}sqrN(s){return s*s}addN(s,r){return s+r}subN(s,r){return s-r}mulN(s,r){return s*r}inv(s){return _r(s,this.ORDER)}sqrt(s){return this._sqrt||(this._sqrt=oi(this.ORDER)),this._sqrt(this,s)}toBytes(s){return this.isLE?Xa(s,this.BYTES):Wn(s,this.BYTES)}fromBytes(s,r=!1){ie(s);const{_lengths:o,BYTES:n,isLE:a,ORDER:i,_mod:l}=this;if(o){if(!o.includes(s.length)||s.length>n)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+s.length);const h=new Uint8Array(n);h.set(s,a?0:h.length-s.length),s=h}if(s.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+s.length);let c=a?Et(s):Za(s);if(l&&(c=oe(c,i)),!r&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(s){return Gn(this,s)}cmov(s,r,o){return o?r:s}}function Xs(t,s={}){return new ui(t,s)}const _t=BigInt(0),Is=BigInt(1);function Pr(t,s){const r=s.negate();return t?r:s}function Kt(t,s){const r=Gn(t.Fp,s.map(o=>o.Z));return s.map((o,n)=>t.fromAffine(o.toAffine(r[n])))}function Kn(t,s){if(!Number.isSafeInteger(t)||t<=0||t>s)throw new Error("invalid window size, expected [1.."+s+"], got W="+t)}function Yt(t,s){Kn(t,s);const r=Math.ceil(s/t)+1,o=2**(t-1),n=2**t,a=ei(t),i=BigInt(t);return{windows:r,windowSize:o,mask:a,maxNumber:n,shiftBy:i}}function Rr(t,s,r){const{windowSize:o,mask:n,maxNumber:a,shiftBy:i}=r;let l=Number(t&n),c=t>>i;l>o&&(l-=a,c+=Is);const h=s*o,m=h+Math.abs(l)-1,u=l===0,p=l<0,b=s%2!==0;return{nextN:c,offset:m,isZero:u,isNeg:p,isNegF:b,offsetF:h}}const Zt=new WeakMap,Yn=new WeakMap;function Xt(t){return Yn.get(t)||1}function Tr(t){if(t!==_t)throw new Error("invalid wNAF")}class hi{BASE;ZERO;Fn;bits;constructor(s,r){this.BASE=s.BASE,this.ZERO=s.ZERO,this.Fn=s.Fn,this.bits=r}_unsafeLadder(s,r,o=this.ZERO){let n=s;for(;r>_t;)r&Is&&(o=o.add(n)),n=n.double(),r>>=Is;return o}precomputeWindow(s,r){const{windows:o,windowSize:n}=Yt(r,this.bits),a=[];let i=s,l=i;for(let c=0;c<o;c++){l=i,a.push(l);for(let h=1;h<n;h++)l=l.add(i),a.push(l);i=l.double()}return a}wNAF(s,r,o){if(!this.Fn.isValid(o))throw new Error("invalid scalar");let n=this.ZERO,a=this.BASE;const i=Yt(s,this.bits);for(let l=0;l<i.windows;l++){const{nextN:c,offset:h,isZero:m,isNeg:u,isNegF:p,offsetF:b}=Rr(o,l,i);o=c,m?a=a.add(Pr(p,r[b])):n=n.add(Pr(u,r[h]))}return Tr(o),{p:n,f:a}}wNAFUnsafe(s,r,o,n=this.ZERO){const a=Yt(s,this.bits);for(let i=0;i<a.windows&&o!==_t;i++){const{nextN:l,offset:c,isZero:h,isNeg:m}=Rr(o,i,a);if(o=l,!h){const u=r[c];n=n.add(m?u.negate():u)}}return Tr(o),n}getPrecomputes(s,r,o){let n=Zt.get(r);return n||(n=this.precomputeWindow(r,s),s!==1&&(typeof o=="function"&&(n=o(n)),Zt.set(r,n))),n}cached(s,r,o){const n=Xt(s);return this.wNAF(n,this.getPrecomputes(n,s,o),r)}unsafe(s,r,o,n){const a=Xt(s);return a===1?this._unsafeLadder(s,r,n):this.wNAFUnsafe(a,this.getPrecomputes(a,s,o),r,n)}createCache(s,r){Kn(r,this.bits),Yn.set(s,r),Zt.delete(s)}hasCache(s){return Xt(s)!==1}}function Mr(t,s,r){if(s){if(s.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ci(s),s}else return Xs(t,{isLE:r})}function mi(t,s,r={},o){if(o===void 0&&(o=t==="edwards"),!s||typeof s!="object")throw new Error(`expected valid ${t} CURVE object`);for(const c of["p","n","h"]){const h=s[c];if(!(typeof h=="bigint"&&h>_t))throw new Error(`CURVE.${c} must be positive bigint`)}const n=Mr(s.p,r.Fp,o),a=Mr(s.n,r.Fn,o),l=["Gx","Gy","a","d"];for(const c of l)if(!n.isValid(s[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return s=Object.freeze(Object.assign({},s)),{CURVE:s,Fp:n,Fn:a}}function fi(t,s){return function(o){const n=t(o);return{secretKey:n,publicKey:s(n)}}}const Le=BigInt(0),ae=BigInt(1),Jt=BigInt(2),pi=BigInt(8);function gi(t,s,r,o){const n=t.sqr(r),a=t.sqr(o),i=t.add(t.mul(s.a,n),a),l=t.add(t.ONE,t.mul(s.d,t.mul(n,a)));return t.eql(i,l)}function wi(t,s={}){const r=mi("edwards",t,s,s.FpFnLE),{Fp:o,Fn:n}=r;let a=r.CURVE;const{h:i}=a;Ys(s,{},{uvRatio:"function"});const l=Jt<<BigInt(n.BYTES*8)-ae,c=j=>o.create(j),h=s.uvRatio||((j,v)=>{try{return{isValid:!0,value:o.sqrt(o.div(j,v))}}catch{return{isValid:!1,value:Le}}});if(!gi(o,a,a.Gx,a.Gy))throw new Error("bad curve params: generator point");function m(j,v,N=!1){const k=N?ae:Le;return Cr("coordinate "+j,v,k,l),v}function u(j){if(!(j instanceof w))throw new Error("EdwardsPoint expected")}const p=Er((j,v)=>{const{X:N,Y:k,Z:S}=j,E=j.is0();v==null&&(v=E?pi:o.inv(S));const f=c(N*v),y=c(k*v),x=o.mul(S,v);if(E)return{x:Le,y:ae};if(x!==ae)throw new Error("invZ was invalid");return{x:f,y}}),b=Er(j=>{const{a:v,d:N}=a;if(j.is0())throw new Error("bad point: ZERO");const{X:k,Y:S,Z:E,T:f}=j,y=c(k*k),x=c(S*S),A=c(E*E),_=c(A*A),C=c(y*v),P=c(A*c(C+x)),L=c(_+c(N*c(y*x)));if(P!==L)throw new Error("bad point: equation left != right (1)");const R=c(k*S),T=c(E*f);if(R!==T)throw new Error("bad point: equation left != right (2)");return!0});class w{static BASE=new w(a.Gx,a.Gy,ae,c(a.Gx*a.Gy));static ZERO=new w(Le,ae,ae,Le);static Fp=o;static Fn=n;X;Y;Z;T;constructor(v,N,k,S){this.X=m("x",v),this.Y=m("y",N),this.Z=m("z",k,!0),this.T=m("t",S),Object.freeze(this)}static CURVE(){return a}static fromAffine(v){if(v instanceof w)throw new Error("extended point not allowed");const{x:N,y:k}=v||{};return m("x",N),m("y",k),new w(N,k,ae,c(N*k))}static fromBytes(v,N=!1){const k=o.BYTES,{a:S,d:E}=a;v=Bs(ie(v,k,"point")),Ms(N,"zip215");const f=Bs(v),y=v[k-1];f[k-1]=y&-129;const x=Et(f),A=N?l:o.ORDER;Cr("point.y",x,Le,A);const _=c(x*x),C=c(_-ae),P=c(E*_-S);let{isValid:L,value:R}=h(C,P);if(!L)throw new Error("bad point: invalid y coordinate");const T=(R&ae)===ae,B=(y&128)!==0;if(!N&&R===Le&&B)throw new Error("bad point: x=0 and x_0=1");return B!==T&&(R=c(-R)),w.fromAffine({x:R,y:x})}static fromHex(v,N=!1){return w.fromBytes(In(v),N)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(v=8,N=!0){return g.createCache(this,v),N||this.multiply(Jt),this}assertValidity(){b(this)}equals(v){u(v);const{X:N,Y:k,Z:S}=this,{X:E,Y:f,Z:y}=v,x=c(N*y),A=c(E*S),_=c(k*y),C=c(f*S);return x===A&&_===C}is0(){return this.equals(w.ZERO)}negate(){return new w(c(-this.X),this.Y,this.Z,c(-this.T))}double(){const{a:v}=a,{X:N,Y:k,Z:S}=this,E=c(N*N),f=c(k*k),y=c(Jt*c(S*S)),x=c(v*E),A=N+k,_=c(c(A*A)-E-f),C=x+f,P=C-y,L=x-f,R=c(_*P),T=c(C*L),B=c(_*L),F=c(P*C);return new w(R,T,F,B)}add(v){u(v);const{a:N,d:k}=a,{X:S,Y:E,Z:f,T:y}=this,{X:x,Y:A,Z:_,T:C}=v,P=c(S*x),L=c(E*A),R=c(y*k*C),T=c(f*_),B=c((S+E)*(x+A)-P-L),F=T-R,W=T+R,O=c(L-N*P),I=c(B*F),U=c(W*O),z=c(B*O),K=c(F*W);return new w(I,U,K,z)}subtract(v){return this.add(v.negate())}multiply(v){if(!n.isValidNot0(v))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:N,f:k}=g.cached(this,v,S=>Kt(w,S));return Kt(w,[N,k])[0]}multiplyUnsafe(v,N=w.ZERO){if(!n.isValid(v))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return v===Le?w.ZERO:this.is0()||v===ae?this:g.unsafe(this,v,k=>Kt(w,k),N)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return g.unsafe(this,a.n).is0()}toAffine(v){return p(this,v)}clearCofactor(){return i===ae?this:this.multiplyUnsafe(i)}toBytes(){const{x:v,y:N}=this.toAffine(),k=o.toBytes(N);return k[k.length-1]|=v&ae?128:0,k}toHex(){return Ks(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const g=new hi(w,n.BITS);return w.BASE.precompute(8),w}function bi(t,s,r={}){if(typeof s!="function")throw new Error('"hash" function param is required');Ys(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:o}=r,{BASE:n,Fp:a,Fn:i}=t,l=r.randomBytes||Ma,c=r.adjustScalarBytes||(x=>x),h=r.domain||((x,A,_)=>{if(Ms(_,"phflag"),A.length||_)throw new Error("Contexts/pre-hash are not supported");return x});function m(x){return i.create(Et(x))}function u(x){const A=k.secretKey;ie(x,k.secretKey,"secretKey");const _=ie(s(x),2*A,"hashedSecretKey"),C=c(_.slice(0,A)),P=_.slice(A,2*A),L=m(C);return{head:C,prefix:P,scalar:L}}function p(x){const{head:A,prefix:_,scalar:C}=u(x),P=n.multiply(C),L=P.toBytes();return{head:A,prefix:_,scalar:C,point:P,pointBytes:L}}function b(x){return p(x).pointBytes}function w(x=Uint8Array.of(),...A){const _=Ar(...A);return m(s(h(_,ie(x,void 0,"context"),!!o)))}function g(x,A,_={}){x=ie(x,void 0,"message"),o&&(x=o(x));const{prefix:C,scalar:P,pointBytes:L}=p(A),R=w(_.context,C,x),T=n.multiply(R).toBytes(),B=w(_.context,T,L,x),F=i.create(R+B*P);if(!i.isValid(F))throw new Error("sign failed: invalid s");const W=Ar(T,i.toBytes(F));return ie(W,k.signature,"result")}const j={zip215:!0};function v(x,A,_,C=j){const{context:P,zip215:L}=C,R=k.signature;x=ie(x,R,"signature"),A=ie(A,void 0,"message"),_=ie(_,k.publicKey,"publicKey"),L!==void 0&&Ms(L,"zip215"),o&&(A=o(A));const T=R/2,B=x.subarray(0,T),F=Et(x.subarray(T,R));let W,O,I;try{W=t.fromBytes(_,L),O=t.fromBytes(B,L),I=n.multiplyUnsafe(F)}catch{return!1}if(!L&&W.isSmallOrder())return!1;const U=w(P,O.toBytes(),W.toBytes(),A);return O.add(W.multiplyUnsafe(U)).subtract(I).clearCofactor().is0()}const N=a.BYTES,k={secretKey:N,publicKey:N,signature:2*N,seed:N};function S(x=l(k.seed)){return ie(x,k.seed,"seed")}function E(x){return Mn(x)&&x.length===i.BYTES}function f(x,A){try{return!!t.fromBytes(x,A)}catch{return!1}}const y={getExtendedPublicKey:p,randomSecretKey:S,isValidSecretKey:E,isValidPublicKey:f,toMontgomery(x){const{y:A}=t.fromBytes(x),_=k.publicKey,C=_===32;if(!C&&_!==57)throw new Error("only defined for 25519 and 448");const P=C?a.div(ae+A,ae-A):a.div(A-ae,A+ae);return a.toBytes(P)},toMontgomerySecret(x){const A=k.secretKey;ie(x,A);const _=s(x.subarray(0,A));return c(_).subarray(0,A)}};return Object.freeze({keygen:fi(S,b),getPublicKey:b,sign:g,verify:v,utils:y,Point:t,lengths:k})}const yi=BigInt(1),Br=BigInt(2),xi=BigInt(5),vi=BigInt(8),Js=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Ai={p:Js,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:vi,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function ji(t){const s=BigInt(10),r=BigInt(20),o=BigInt(40),n=BigInt(80),a=Js,l=t*t%a*t%a,c=xe(l,Br,a)*l%a,h=xe(c,yi,a)*t%a,m=xe(h,xi,a)*h%a,u=xe(m,s,a)*m%a,p=xe(u,r,a)*u%a,b=xe(p,o,a)*p%a,w=xe(b,n,a)*b%a,g=xe(w,n,a)*b%a,j=xe(g,s,a)*m%a;return{pow_p_5_8:xe(j,Br,a)*t%a,b2:l}}function Ni(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const Ir=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ki(t,s){const r=Js,o=oe(s*s*s,r),n=oe(o*o*s,r),a=ji(t*n).pow_p_5_8;let i=oe(t*o*a,r);const l=oe(s*i*i,r),c=i,h=oe(i*Ir,r),m=l===t,u=l===oe(-t,r),p=l===oe(-t*Ir,r);return m&&(i=c),(u||p)&&(i=h),ai(i,r)&&(i=oe(-i,r)),{isValid:m||u,value:i}}const Si=wi(Ai,{uvRatio:ki});function Ci(t){return bi(Si,Ka,Object.assign({adjustScalarBytes:Ni},t))}const Ei=Ci({});function _i(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ut(t,...s){if(!_i(t))throw new Error("Uint8Array expected");if(s.length>0&&!s.includes(t.length))throw new Error("Uint8Array expected of length "+s+", got length="+t.length)}function Dr(t,s=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(s&&t.finished)throw new Error("Hash#digest() has already been called")}function Li(t,s){Ut(t);const r=s.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Ds(...t){for(let s=0;s<t.length;s++)t[s].fill(0)}function es(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ve(t,s){return t<<32-s|t>>>s}function Pi(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Zn(t){return typeof t=="string"&&(t=Pi(t)),Ut(t),t}class Ri{}function Ti(t){const s=o=>t().update(Zn(o)).digest(),r=t();return s.outputLen=r.outputLen,s.blockLen=r.blockLen,s.create=()=>t(),s}function Mi(t,s,r,o){if(typeof t.setBigUint64=="function")return t.setBigUint64(s,r,o);const n=BigInt(32),a=BigInt(4294967295),i=Number(r>>n&a),l=Number(r&a),c=o?4:0,h=o?0:4;t.setUint32(s+c,i,o),t.setUint32(s+h,l,o)}function Bi(t,s,r){return t&s^~t&r}function Ii(t,s,r){return t&s^t&r^s&r}class Di extends Ri{constructor(s,r,o,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=s,this.outputLen=r,this.padOffset=o,this.isLE=n,this.buffer=new Uint8Array(s),this.view=es(this.buffer)}update(s){Dr(this),s=Zn(s),Ut(s);const{view:r,buffer:o,blockLen:n}=this,a=s.length;for(let i=0;i<a;){const l=Math.min(n-this.pos,a-i);if(l===n){const c=es(s);for(;n<=a-i;i+=n)this.process(c,i);continue}o.set(s.subarray(i,i+l),this.pos),this.pos+=l,i+=l,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=s.length,this.roundClean(),this}digestInto(s){Dr(this),Li(s,this),this.finished=!0;const{buffer:r,view:o,blockLen:n,isLE:a}=this;let{pos:i}=this;r[i++]=128,Ds(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let u=i;u<n;u++)r[u]=0;Mi(o,n-8,BigInt(this.length*8),a),this.process(o,0);const l=es(s),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=c/4,m=this.get();if(h>m.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<h;u++)l.setUint32(4*u,m[u],a)}digest(){const{buffer:s,outputLen:r}=this;this.digestInto(s);const o=s.slice(0,r);return this.destroy(),o}_cloneInto(s){s||(s=new this.constructor),s.set(...this.get());const{blockLen:r,buffer:o,length:n,finished:a,destroyed:i,pos:l}=this;return s.destroyed=i,s.finished=a,s.length=n,s.pos=l,n%r&&s.buffer.set(o),s}clone(){return this._cloneInto()}}const Pe=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ui=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Re=new Uint32Array(64);class Fi extends Di{constructor(s=32){super(64,s,8,!1),this.A=Pe[0]|0,this.B=Pe[1]|0,this.C=Pe[2]|0,this.D=Pe[3]|0,this.E=Pe[4]|0,this.F=Pe[5]|0,this.G=Pe[6]|0,this.H=Pe[7]|0}get(){const{A:s,B:r,C:o,D:n,E:a,F:i,G:l,H:c}=this;return[s,r,o,n,a,i,l,c]}set(s,r,o,n,a,i,l,c){this.A=s|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=a|0,this.F=i|0,this.G=l|0,this.H=c|0}process(s,r){for(let u=0;u<16;u++,r+=4)Re[u]=s.getUint32(r,!1);for(let u=16;u<64;u++){const p=Re[u-15],b=Re[u-2],w=ve(p,7)^ve(p,18)^p>>>3,g=ve(b,17)^ve(b,19)^b>>>10;Re[u]=g+Re[u-7]+w+Re[u-16]|0}let{A:o,B:n,C:a,D:i,E:l,F:c,G:h,H:m}=this;for(let u=0;u<64;u++){const p=ve(l,6)^ve(l,11)^ve(l,25),b=m+p+Bi(l,c,h)+Ui[u]+Re[u]|0,g=(ve(o,2)^ve(o,13)^ve(o,22))+Ii(o,n,a)|0;m=h,h=c,c=l,l=i+b|0,i=a,a=n,n=o,o=b+g|0}o=o+this.A|0,n=n+this.B|0,a=a+this.C|0,i=i+this.D|0,l=l+this.E|0,c=c+this.F|0,h=h+this.G|0,m=m+this.H|0,this.set(o,n,a,i,l,c,h,m)}roundClean(){Ds(Re)}destroy(){this.set(0,0,0,0,0,0,0,0),Ds(this.buffer)}}const Xn=Ti(()=>new Fi),Wi=Xn,Oi="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function qi(t){if(t.length!==16)throw new Error(`Invalid seed length: expected 16, got ${t.length}`);const s=Wi(t),r=Ei.getPublicKey(s),o=new Uint8Array(64);return o.set(s,0),o.set(r,32),D.wipeBytes(s),{publicKey:r,secretKey:o}}function Jn(t){const s=qi(t),r=s.publicKey;return D.wipeBytes(s.secretKey),r}function eo(t){if(t.length!==32)throw new Error(`Invalid public key length: expected 32, got ${t.length}`);return zi(t)}function zi(t){let s=0;for(let n=0;n<t.length&&t[n]===0;n++)s++;let r=0n;for(let n=0;n<t.length;n++)r=r*256n+BigInt(t[n]);let o="";for(;r>0n;){const n=Number(r%58n);o=Oi[n]+o,r=r/58n}return"1".repeat(s)+o}const $i=2,Vi=3;function to(t){if(t.length!==16)throw new Error(`Invalid seed length: expected 16, got ${t.length}`);const s=Us(t),r=Tn.share(s,Vi,$i);if(r.length!==3)throw new Error(`Unexpected share count: ${r.length}`);const o=ts(r[0]),n=ts(r[1]),a=ts(r[2]);return{shareA:D.toShamirShare(o),shareB:D.toShamirShare(n),shareC:D.toShamirShare(a)}}function Hi(t,s,r){const o=Ur(t),n=Ur(s);try{const a=Tn.combine([o,n]),i=so(a);if(i.length!==16)throw new Error(`Reconstructed seed has wrong length: ${i.length}`);return D.toSeed(i)}catch(a){throw a instanceof Error&&a.message.startsWith("Reconstructed seed")||a instanceof Error&&a.message.startsWith("Invalid expectedPublicKey")||a instanceof Error&&a.message.startsWith("Reconstructed seed does not match")?a:new Error("Failed to reconstruct seed from shares")}}function Us(t){return Array.from(t).map(s=>s.toString(16).padStart(2,"0")).join("")}function so(t){if(!/^[0-9a-fA-F]*$/.test(t))throw new Error("Invalid hex string: contains non-hex characters");if(t.length%2!==0)throw new Error(`Invalid hex string: length ${t.length} is odd (must be even)`);const s=new Uint8Array(t.length/2);for(let r=0;r<s.length;r++)s[r]=parseInt(t.substr(r*2,2),16);return s}function ts(t){const s=t.length%2!==0,r=s?"0"+t:t,o=so(r),n=new Uint8Array(1+o.length);return n[0]=s?1:0,n.set(o,1),n}function Ur(t){const s=t[0];if(s===0||s===1){const o=s===1,n=t.subarray(1),a=Us(n),i=o?a.substring(1):a;if(/^[0-9a-f]/.test(i))return i}const r=Us(t);return r.startsWith("0")&&!r.startsWith("00")?r.substring(1):r}function Lt(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ro(t,s){return Array.isArray(s)?s.length===0?!0:t?s.every(r=>typeof r=="string"):s.every(r=>Number.isSafeInteger(r)):!1}function Qi(t){if(typeof t!="function")throw new Error("function expected");return!0}function Pt(t,s){if(typeof s!="string")throw new Error(`${t}: string expected`);return!0}function et(t){if(!Number.isSafeInteger(t))throw new Error(`invalid integer: ${t}`)}function Rt(t){if(!Array.isArray(t))throw new Error("array expected")}function Tt(t,s){if(!ro(!0,s))throw new Error(`${t}: array of strings expected`)}function no(t,s){if(!ro(!1,s))throw new Error(`${t}: array of numbers expected`)}function Gi(...t){const s=a=>a,r=(a,i)=>l=>a(i(l)),o=t.map(a=>a.encode).reduceRight(r,s),n=t.map(a=>a.decode).reduce(r,s);return{encode:o,decode:n}}function Ki(t){const s=typeof t=="string"?t.split(""):t,r=s.length;Tt("alphabet",s);const o=new Map(s.map((n,a)=>[n,a]));return{encode:n=>(Rt(n),n.map(a=>{if(!Number.isSafeInteger(a)||a<0||a>=r)throw new Error(`alphabet.encode: digit index outside alphabet "${a}". Allowed: ${t}`);return s[a]})),decode:n=>(Rt(n),n.map(a=>{Pt("alphabet.decode",a);const i=o.get(a);if(i===void 0)throw new Error(`Unknown letter: "${a}". Allowed: ${t}`);return i}))}}function Yi(t=""){return Pt("join",t),{encode:s=>(Tt("join.decode",s),s.join(t)),decode:s=>(Pt("join.decode",s),s.split(t))}}function Zi(t,s="="){return et(t),Pt("padding",s),{encode(r){for(Tt("padding.encode",r);r.length*t%8;)r.push(s);return r},decode(r){Tt("padding.decode",r);let o=r.length;if(o*t%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;o>0&&r[o-1]===s;o--)if((o-1)*t%8===0)throw new Error("padding: invalid, string has too much padding");return r.slice(0,o)}}}function Fs(t,s,r){if(s<2)throw new Error(`convertRadix: invalid from=${s}, base cannot be less than 2`);if(r<2)throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(Rt(t),!t.length)return[];let o=0;const n=[],a=Array.from(t,l=>{if(et(l),l<0||l>=s)throw new Error(`invalid integer: ${l}`);return l}),i=a.length;for(;;){let l=0,c=!0;for(let h=o;h<i;h++){const m=a[h],u=s*l,p=u+m;if(!Number.isSafeInteger(p)||u/s!==l||p-m!==u)throw new Error("convertRadix: carry overflow");const b=p/r;l=p%r;const w=Math.floor(b);if(a[h]=w,!Number.isSafeInteger(w)||w*r+l!==p)throw new Error("convertRadix: carry overflow");if(c)w?c=!1:o=h;else continue}if(n.push(l),c)break}for(let l=0;l<t.length-1&&t[l]===0;l++)n.push(0);return n.reverse()}const oo=(t,s)=>s===0?t:oo(s,t%s),Mt=(t,s)=>t+(s-oo(t,s)),ss=(()=>{let t=[];for(let s=0;s<40;s++)t.push(2**s);return t})();function Ws(t,s,r,o){if(Rt(t),s<=0||s>32)throw new Error(`convertRadix2: wrong from=${s}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(Mt(s,r)>32)throw new Error(`convertRadix2: carry overflow from=${s} to=${r} carryBits=${Mt(s,r)}`);let n=0,a=0;const i=ss[s],l=ss[r]-1,c=[];for(const h of t){if(et(h),h>=i)throw new Error(`convertRadix2: invalid data word=${h} from=${s}`);if(n=n<<s|h,a+s>32)throw new Error(`convertRadix2: carry overflow pos=${a} from=${s}`);for(a+=s;a>=r;a-=r)c.push((n>>a-r&l)>>>0);const m=ss[a];if(m===void 0)throw new Error("invalid carry");n&=m-1}if(n=n<<r-a&l,!o&&a>=s)throw new Error("Excess padding");if(!o&&n>0)throw new Error(`Non-zero padding: ${n}`);return o&&a>0&&c.push(n>>>0),c}function Xi(t){et(t);const s=2**8;return{encode:r=>{if(!Lt(r))throw new Error("radix.encode input should be Uint8Array");return Fs(Array.from(r),s,t)},decode:r=>(no("radix.decode",r),Uint8Array.from(Fs(r,t,s)))}}function Ji(t,s=!1){if(et(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(Mt(8,t)>32||Mt(t,8)>32)throw new Error("radix2: carry overflow");return{encode:r=>{if(!Lt(r))throw new Error("radix2.encode input should be Uint8Array");return Ws(Array.from(r),8,t,!s)},decode:r=>(no("radix2.decode",r),Uint8Array.from(Ws(r,t,8,s)))}}function ec(t,s){return et(t),Qi(s),{encode(r){if(!Lt(r))throw new Error("checksum.encode: input should be Uint8Array");const o=s(r).slice(0,t),n=new Uint8Array(r.length+t);return n.set(r),n.set(o,r.length),n},decode(r){if(!Lt(r))throw new Error("checksum.decode: input should be Uint8Array");const o=r.slice(0,-t),n=r.slice(-t),a=s(o).slice(0,t);for(let i=0;i<t;i++)if(a[i]!==n[i])throw new Error("Invalid checksum");return o}}}const pt={alphabet:Ki,chain:Gi,checksum:ec,convertRadix:Fs,convertRadix2:Ws,radix:Xi,radix2:Ji,join:Yi,padding:Zi};const tc=t=>t[0]==="あいこくしん";function sc(t){if(typeof t!="string")throw new TypeError("invalid mnemonic type: "+typeof t);return t.normalize("NFKD")}function rc(t){const s=sc(t),r=s.split(" ");if(![12,15,18,21,24].includes(r.length))throw new Error("Invalid mnemonic");return{nfkd:s,words:r}}function ao(t){Ut(t,16,20,24,28,32)}const nc=t=>{const s=8-t.length/4;return new Uint8Array([Xn(t)[0]>>s<<s])};function io(t){if(!Array.isArray(t)||t.length!==2048||typeof t[0]!="string")throw new Error("Wordlist: expected array of 2048 strings");return t.forEach(s=>{if(typeof s!="string")throw new Error("wordlist: non-string element: "+s)}),pt.chain(pt.checksum(1,nc),pt.radix2(11,!0),pt.alphabet(t))}function er(t,s){const{words:r}=rc(t),o=io(s).decode(r);return ao(o),o}function co(t,s){return ao(t),io(s).encode(t).join(tc(s)?" ":" ")}function tr(t,s){try{er(t,s)}catch{return!1}return!0}const Se=`abandon
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./useAuth-B1yS_YiD.cjs"),M=require("./useCedrosLogin-DtJorrE7.cjs"),e=require("react/jsx-runtime"),d=require("react"),Q=require("./LoadingSpinner-d6sSxgQN.cjs"),zs=require("./sanitization-Bo_tn-L2.cjs"),X=require("./EmailRegisterForm-xFb6MaVA.cjs"),Oe=require("./validation-BuGQrA-K.cjs"),te=require("./ErrorMessage-CHbYbVi2.cjs"),$s=require("./GoogleLoginButton-2zNTIKMm.cjs"),Ze=require("./SolanaLoginButton-CqdzSSeJ.cjs"),he=require("./PermissionsSection-4zcE9Zs9.cjs"),Vs=require("./useSystemSettings-B2jY51ob.cjs"),ke=require("./AutosaveStatus-DfMPudTQ.cjs"),Ct=require("./AdminDepositList-B_z6x3j5.cjs"),Me=require("./AdminWithdrawalHistory-B2EY2ZmH.cjs"),We=require("./useUsersStatsSummary-DnsYtFGX.cjs"),Cn=require("./StatsBar-DTUZCwDD.cjs"),Hs=require("./useOrgs-CNqfn-fk.cjs"),Be=require("./plugin-Ci67QMGG.cjs"),En=require("./AuthenticationSettings-BBOjHR6j.cjs"),_n=require("./EmbeddedWalletSettings-Db9a0D5l.cjs"),jt=require("./EmailSettings-DIjo3aJo.cjs"),Qs=require("./CreditSystemSettings-Badz4iAc.cjs"),Ln=require("./ServerSettings-j5Lu5D-R.cjs"),lt=require("./WebhookSettings-DOaydSWQ.cjs"),ya=require("./useAdminDeposits-CpLd68oP.cjs");async function Pn(t,s,r=D.DEFAULT_KDF_PARAMS){return D.validateKdfParams(r),D.argon2Derive(t,s,r)}function Rn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function xa(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var s=t.default;if(typeof s=="function"){var r=function o(){var n=!1;try{n=this instanceof o}catch{}return n?Reflect.construct(s,arguments,this.constructor):s.apply(this,arguments)};r.prototype=s.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(o){var n=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r,o,n.get?n:{enumerable:!0,get:function(){return t[o]}})}),r}var Nt={exports:{}};const va=globalThis.crypto,Aa=globalThis.crypto,ja=globalThis.crypto.subtle,Na=globalThis.crypto.getRandomValues.bind(globalThis.crypto),ka=globalThis.crypto.randomUUID.bind(globalThis.crypto),Sa=Object.freeze(Object.defineProperty({__proto__:null,default:va,getRandomValues:Na,randomUUID:ka,subtle:ja,webcrypto:Aa},Symbol.toStringTag,{value:"Module"})),Ca=xa(Sa);var Ea=Nt.exports,yr;function _a(){return yr||(yr=1,(function(t,s){(function(r,o){t.exports=o(Ca)})(Ea,function(r){var o,n,a,i,l;function c(){o={bits:8,radix:16,minBits:3,maxBits:20,bytesPerChar:2,maxBytesPerChar:6,primitivePolynomials:[null,null,1,3,3,5,3,3,29,17,9,5,83,27,43,3,45,9,39,39,9,5,3,33,27,9,71,39,9,5,83]},n={},a=new Array(1024).join("0"),i=!0,l=["nodeCryptoRandomBytes","browserCryptoGetRandomValues","testRandom"]}function h(){return!!(n&&n.rng&&typeof n.rng=="function")}function m(f,y){var x;if(y===0||y===1)return f;if(y&&y>1024)throw new Error("Padding must be multiples of no larger than 1024 bits.");return y=y||n.bits,f&&(x=f.length%y),x?(a+f).slice(-(y-x+f.length)):f}function u(f){var y="",x,A;for(A=f.length-1;A>=0;A--){if(x=parseInt(f[A],16),isNaN(x))throw new Error("Invalid hex character.");y=m(x.toString(2),4)+y}return y}function p(f){var y="",x,A;for(f=m(f,4),A=f.length;A>=4;A-=4){if(x=parseInt(f.slice(A-4,A),2),isNaN(x))throw new Error("Invalid binary character.");y=x.toString(16)+y}return y}function b(){return!!(r&&typeof r=="object"&&(typeof r.getRandomValues=="function"||typeof r.getRandomValues=="object")&&(typeof Uint32Array=="function"||typeof Uint32Array=="object"))}function w(){return typeof r=="object"&&typeof r.randomBytes=="function"}function g(f){function y(C,P,L,R){var T=0,B,F="",W;for(P&&(B=P.length-1);T<B||F.length<C;)W=Math.abs(parseInt(P[T],L)),F=F+m(W.toString(2),R),T++;return F=F.substr(-C),(F.match(/0/g)||[]).length===F.length?null:F}function x(C){var P,L,R,T,B=null;for(R=16,T=4,L=Math.ceil(C/8);B===null;)P=r.randomBytes(L),B=y(C,P.toString("hex"),R,T);return B}function A(C){var P,L,R,T=null;for(L=10,R=32,P=Math.ceil(C/32);T===null;)T=y(C,r.getRandomValues(new Uint32Array(P)),L,R);return T}function _(C){var P,L,R,T,B,F=null;T=10,B=32,L=Math.ceil(C/32),R=123456789,P=new Uint32Array(L);for(var W=0;W<P.length;W++)P[W]=R;for(;F===null;)F=y(C,P,T,B);return F}if(f&&f==="testRandom")return n.typeCSPRNG=f,_;if(f&&f==="nodeCryptoRandomBytes")return n.typeCSPRNG=f,x;if(f&&f==="browserCryptoGetRandomValues")return n.typeCSPRNG=f,A;if(w())return n.typeCSPRNG="nodeCryptoRandomBytes",x;if(b())return n.typeCSPRNG="browserCryptoGetRandomValues",A}function j(f,y){var x=[],A;for(y&&(f=m(f,y)),A=f.length;A>n.bits;A-=n.bits)x.push(parseInt(f.slice(A-n.bits,A),2));return x.push(parseInt(f.slice(0,A),2)),x}function v(f,y){var x=n.logs[f],A=0,_;for(_=y.length-1;_>=0;_--)A!==0?A=n.exps[(x+n.logs[A])%n.maxShares]^y[_]:A=y[_];return A}function N(f,y,x){var A=0,_,C,P,L;for(P=0,_=y.length;P<_;P++)if(x[P]){for(C=n.logs[x[P]],L=0;L<_;L++)if(P!==L){if(f===y[L]){C=-1;break}C=(C+n.logs[f^y[L]]-n.logs[y[P]^y[L]]+n.maxShares)%n.maxShares}A=C===-1?A:A^n.exps[C]}return A}function k(f,y,x){var A=[],_=[f],C,P;for(C=1;C<x;C++)_[C]=parseInt(n.rng(n.bits),2);for(C=1,P=y+1;C<P;C++)A[C-1]={x:C,y:v(C,_)};return A}function S(f,y,x){var A,_,C,P,L;if(y=parseInt(y,n.radix),f=parseInt(f,10)||n.bits,A=f.toString(36).toUpperCase(),C=Math.pow(2,f)-1,P=C.toString(n.radix).length,_=m(y.toString(n.radix),P),typeof y!="number"||y%1!==0||y<1||y>C)throw new Error("Share id must be an integer between 1 and "+C+", inclusive.");return L=A+_+x,L}var E={init:function(f,y){var x=[],A=[],_=1,C,P;if(c(),f&&(typeof f!="number"||f%1!==0||f<o.minBits||f>o.maxBits))throw new Error("Number of bits must be an integer between "+o.minBits+" and "+o.maxBits+", inclusive.");if(y&&l.indexOf(y)===-1)throw new Error("Invalid RNG type argument : '"+y+"'");for(n.radix=o.radix,n.bits=f||o.bits,n.size=Math.pow(2,n.bits),n.maxShares=n.size-1,C=o.primitivePolynomials[n.bits],P=0;P<n.size;P++)A[P]=_,x[_]=P,_=_<<1,_>=n.size&&(_=_^C,_=_&n.maxShares);if(n.logs=x,n.exps=A,y&&this.setRNG(y),h()||this.setRNG(),!h()||!n.bits||!n.size||!n.maxShares||!n.logs||!n.exps||n.logs.length!==n.size||n.exps.length!==n.size)throw new Error("Initialization failed.")},combine:function(f,y){var x,A,_,C,P="",L,R,T,B=[],F=[];for(y=y||0,x=0,_=f.length;x<_;x++){if(R=this.extractShareComponents(f[x]),L===void 0)L=R.bits;else if(R.bits!==L)throw new Error("Mismatched shares: Different bit settings.");if(n.bits!==L&&this.init(L),B.indexOf(R.id)===-1)for(B.push(R.id),T=j(u(R.data)),A=0,C=T.length;A<C;A++)F[A]=F[A]||[],F[A][B.length-1]=T[A]}for(x=0,_=F.length;x<_;x++)P=m(N(y,B,F[x]).toString(2))+P;return p(y>=1?P:P.slice(P.indexOf("1")+1))},getConfig:function(){var f={};return f.radix=n.radix,f.bits=n.bits,f.maxShares=n.maxShares,f.hasCSPRNG=h(),f.typeCSPRNG=n.typeCSPRNG,f},extractShareComponents:function(f){var y,x,A,_,C={},P,L;if(y=parseInt(f.substr(0,1),36),y&&(typeof y!="number"||y%1!==0||y<o.minBits||y>o.maxBits))throw new Error("Invalid share : Number of bits must be an integer between "+o.minBits+" and "+o.maxBits+", inclusive.");if(_=Math.pow(2,y)-1,A=(Math.pow(2,y)-1).toString(n.radix).length,P="^([a-kA-K3-9]{1})([a-fA-F0-9]{"+A+"})([a-fA-F0-9]+)$",L=new RegExp(P).exec(f),L&&(x=parseInt(L[2],n.radix)),typeof x!="number"||x%1!==0||x<1||x>_)throw new Error("Invalid share : Share id must be an integer between 1 and "+n.maxShares+", inclusive.");if(L&&L[3])return C.bits=y,C.id=x,C.data=L[3],C;throw new Error("The share data provided is invalid : "+f)},setRNG:function(f){var y="Random number generator is invalid ",x=" Supply an CSPRNG of the form function(bits){} that returns a string containing 'bits' number of random 1's and 0's.";if(f&&typeof f=="string"&&l.indexOf(f)===-1)throw new Error("Invalid RNG type argument : '"+f+"'");if(f||(f=g()),f&&typeof f=="string"&&(f=g(f)),i){if(f&&typeof f!="function")throw new Error(y+"(Not a function)."+x);if(f&&typeof f(n.bits)!="string")throw new Error(y+"(Output is not a string)."+x);if(f&&!parseInt(f(n.bits),2))throw new Error(y+"(Binary string output not parseable to an Integer)."+x);if(f&&f(n.bits).length>n.bits)throw new Error(y+"(Output length is greater than config.bits)."+x);if(f&&f(n.bits).length<n.bits)throw new Error(y+"(Output length is less than config.bits)."+x)}return n.rng=f,!0},str2hex:function(f,y){var x,A,_="",C,P,L,R;if(typeof f!="string")throw new Error("Input must be a character string.");if(y||(y=o.bytesPerChar),typeof y!="number"||y<1||y>o.maxBytesPerChar||y%1!==0)throw new Error("Bytes per character must be an integer between 1 and "+o.maxBytesPerChar+", inclusive.");for(x=2*y,A=Math.pow(16,x)-1,L=0,R=f.length;L<R;L++){if(P=f[L].charCodeAt(),isNaN(P))throw new Error("Invalid character: "+f[L]);if(P>A)throw C=Math.ceil(Math.log(P+1)/Math.log(256)),new Error("Invalid character code ("+P+"). Maximum allowable is 256^bytes-1 ("+A+"). To convert this character, use at least "+C+" bytes.");_=m(P.toString(16),x)+_}return _},hex2str:function(f,y){var x,A="",_,C;if(typeof f!="string")throw new Error("Input must be a hexadecimal string.");if(y=y||o.bytesPerChar,typeof y!="number"||y%1!==0||y<1||y>o.maxBytesPerChar)throw new Error("Bytes per character must be an integer between 1 and "+o.maxBytesPerChar+", inclusive.");for(x=2*y,f=m(f,x),_=0,C=f.length;_<C;_+=x)A=String.fromCharCode(parseInt(f.slice(_,_+x),16))+A;return A},random:function(f){if(typeof f!="number"||f%1!==0||f<2||f>65536)throw new Error("Number of bits must be an Integer between 1 and 65536.");return p(n.rng(f))},share:function(f,y,x,A){var _,C,P=new Array(y),L=new Array(y),R,T,B;if(A=A||128,typeof f!="string")throw new Error("Secret must be a string.");if(typeof y!="number"||y%1!==0||y<2)throw new Error("Number of shares must be an integer between 2 and 2^bits-1 ("+n.maxShares+"), inclusive.");if(y>n.maxShares)throw _=Math.ceil(Math.log(y+1)/Math.LN2),new Error("Number of shares must be an integer between 2 and 2^bits-1 ("+n.maxShares+"), inclusive. To create "+y+" shares, use at least "+_+" bits.");if(typeof x!="number"||x%1!==0||x<2)throw new Error("Threshold number of shares must be an integer between 2 and 2^bits-1 ("+n.maxShares+"), inclusive.");if(x>n.maxShares)throw _=Math.ceil(Math.log(x+1)/Math.LN2),new Error("Threshold number of shares must be an integer between 2 and 2^bits-1 ("+n.maxShares+"), inclusive. To use a threshold of "+x+", use at least "+_+" bits.");if(x>y)throw new Error("Threshold number of shares was "+x+" but must be less than or equal to the "+y+" shares specified as the total to generate.");if(typeof A!="number"||A%1!==0||A<0||A>1024)throw new Error("Zero-pad length must be an integer between 0 and 1024 inclusive.");for(f="1"+u(f),f=j(f,A),R=0,B=f.length;R<B;R++)for(C=k(f[R],y,x),T=0;T<y;T++)P[T]=P[T]||C[T].x.toString(n.radix),L[T]=m(C[T].y.toString(2))+(L[T]||"");for(R=0;R<y;R++)P[R]=S(n.bits,P[R],p(L[R]));return P},newShare:function(f,y){var x,A;if(f&&typeof f=="string"&&(f=parseInt(f,n.radix)),A=f.toString(n.radix),f&&A&&y&&y[0])return x=this.extractShareComponents(y[0]),S(x.bits,A,this.combine(y,f));throw new Error("Invalid 'id' or 'shares' Array argument to newShare().")},_reset:c,_padLeft:m,_hex2bin:u,_bin2hex:p,_hasCryptoGetRandomValues:b,_hasCryptoRandomBytes:w,_getRNG:g,_isSetRNG:h,_splitNumStringToIntArray:j,_horner:v,_lagrange:N,_getShares:k,_constructPublicShareString:S};return E.init(),E})})(Nt)),Nt.exports}var La=_a();const Tn=Rn(La);function Mn(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Gs(t,s=""){if(!Number.isSafeInteger(t)||t<0){const r=s&&`"${s}" `;throw new Error(`${r}expected integer >= 0, got ${t}`)}}function ie(t,s,r=""){const o=Mn(t),n=t?.length,a=s!==void 0;if(!o||a&&n!==s){const i=r&&`"${r}" `,l=a?` of length ${s}`:"",c=o?`length=${n}`:`type=${typeof t}`;throw new Error(i+"expected Uint8Array"+l+", got "+c)}return t}function xr(t,s=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(s&&t.finished)throw new Error("Hash#digest() has already been called")}function Pa(t,s){ie(t,void 0,"digestInto() output");const r=s.outputLen;if(t.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}function Ts(...t){for(let s=0;s<t.length;s++)t[s].fill(0)}function Gt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const Bn=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Ra=Array.from({length:256},(t,s)=>s.toString(16).padStart(2,"0"));function Ks(t){if(ie(t),Bn)return t.toHex();let s="";for(let r=0;r<t.length;r++)s+=Ra[t[r]];return s}const je={_0:48,_9:57,A:65,F:70,a:97,f:102};function vr(t){if(t>=je._0&&t<=je._9)return t-je._0;if(t>=je.A&&t<=je.F)return t-(je.A-10);if(t>=je.a&&t<=je.f)return t-(je.a-10)}function In(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Bn)return Uint8Array.fromHex(t);const s=t.length,r=s/2;if(s%2)throw new Error("hex string expected, got unpadded hex of length "+s);const o=new Uint8Array(r);for(let n=0,a=0;n<r;n++,a+=2){const i=vr(t.charCodeAt(a)),l=vr(t.charCodeAt(a+1));if(i===void 0||l===void 0){const c=t[a]+t[a+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+a)}o[n]=i*16+l}return o}function Ar(...t){let s=0;for(let o=0;o<t.length;o++){const n=t[o];ie(n),s+=n.length}const r=new Uint8Array(s);for(let o=0,n=0;o<t.length;o++){const a=t[o];r.set(a,n),n+=a.length}return r}function Ta(t,s={}){const r=(n,a)=>t(a).update(n).digest(),o=t(void 0);return r.outputLen=o.outputLen,r.blockLen=o.blockLen,r.create=n=>t(n),Object.assign(r,s),Object.freeze(r)}function Ma(t=32){const s=typeof globalThis=="object"?globalThis.crypto:null;if(typeof s?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return s.getRandomValues(new Uint8Array(t))}const Ba=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});let Ia=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(s,r,o,n){this.blockLen=s,this.outputLen=r,this.padOffset=o,this.isLE=n,this.buffer=new Uint8Array(s),this.view=Gt(this.buffer)}update(s){xr(this),ie(s);const{view:r,buffer:o,blockLen:n}=this,a=s.length;for(let i=0;i<a;){const l=Math.min(n-this.pos,a-i);if(l===n){const c=Gt(s);for(;n<=a-i;i+=n)this.process(c,i);continue}o.set(s.subarray(i,i+l),this.pos),this.pos+=l,i+=l,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=s.length,this.roundClean(),this}digestInto(s){xr(this),Pa(s,this),this.finished=!0;const{buffer:r,view:o,blockLen:n,isLE:a}=this;let{pos:i}=this;r[i++]=128,Ts(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let u=i;u<n;u++)r[u]=0;o.setBigUint64(n-8,BigInt(this.length*8),a),this.process(o,0);const l=Gt(s),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");const h=c/4,m=this.get();if(h>m.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<h;u++)l.setUint32(4*u,m[u],a)}digest(){const{buffer:s,outputLen:r}=this;this.digestInto(s);const o=s.slice(0,r);return this.destroy(),o}_cloneInto(s){s||=new this.constructor,s.set(...this.get());const{blockLen:r,buffer:o,length:n,finished:a,destroyed:i,pos:l}=this;return s.destroyed=i,s.finished=a,s.length=n,s.pos=l,n%r&&s.buffer.set(o),s}clone(){return this._cloneInto()}};const ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),ht=BigInt(2**32-1),jr=BigInt(32);function Da(t,s=!1){return s?{h:Number(t&ht),l:Number(t>>jr&ht)}:{h:Number(t>>jr&ht)|0,l:Number(t&ht)|0}}function Ua(t,s=!1){const r=t.length;let o=new Uint32Array(r),n=new Uint32Array(r);for(let a=0;a<r;a++){const{h:i,l}=Da(t[a],s);[o[a],n[a]]=[i,l]}return[o,n]}const Nr=(t,s,r)=>t>>>r,kr=(t,s,r)=>t<<32-r|s>>>r,Qe=(t,s,r)=>t>>>r|s<<32-r,Ge=(t,s,r)=>t<<32-r|s>>>r,mt=(t,s,r)=>t<<64-r|s>>>r-32,ft=(t,s,r)=>t>>>r-32|s<<64-r;function Ne(t,s,r,o){const n=(s>>>0)+(o>>>0);return{h:t+r+(n/2**32|0)|0,l:n|0}}const Fa=(t,s,r)=>(t>>>0)+(s>>>0)+(r>>>0),Wa=(t,s,r,o)=>s+r+o+(t/2**32|0)|0,Oa=(t,s,r,o)=>(t>>>0)+(s>>>0)+(r>>>0)+(o>>>0),qa=(t,s,r,o,n)=>s+r+o+n+(t/2**32|0)|0,za=(t,s,r,o,n)=>(t>>>0)+(s>>>0)+(r>>>0)+(o>>>0)+(n>>>0),$a=(t,s,r,o,n,a)=>s+r+o+n+a+(t/2**32|0)|0,Dn=Ua(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Va=Dn[0],Ha=Dn[1],Ee=new Uint32Array(80),_e=new Uint32Array(80);class Qa extends Ia{constructor(s){super(128,s,16,!1)}get(){const{Ah:s,Al:r,Bh:o,Bl:n,Ch:a,Cl:i,Dh:l,Dl:c,Eh:h,El:m,Fh:u,Fl:p,Gh:b,Gl:w,Hh:g,Hl:j}=this;return[s,r,o,n,a,i,l,c,h,m,u,p,b,w,g,j]}set(s,r,o,n,a,i,l,c,h,m,u,p,b,w,g,j){this.Ah=s|0,this.Al=r|0,this.Bh=o|0,this.Bl=n|0,this.Ch=a|0,this.Cl=i|0,this.Dh=l|0,this.Dl=c|0,this.Eh=h|0,this.El=m|0,this.Fh=u|0,this.Fl=p|0,this.Gh=b|0,this.Gl=w|0,this.Hh=g|0,this.Hl=j|0}process(s,r){for(let k=0;k<16;k++,r+=4)Ee[k]=s.getUint32(r),_e[k]=s.getUint32(r+=4);for(let k=16;k<80;k++){const S=Ee[k-15]|0,E=_e[k-15]|0,f=Qe(S,E,1)^Qe(S,E,8)^Nr(S,E,7),y=Ge(S,E,1)^Ge(S,E,8)^kr(S,E,7),x=Ee[k-2]|0,A=_e[k-2]|0,_=Qe(x,A,19)^mt(x,A,61)^Nr(x,A,6),C=Ge(x,A,19)^ft(x,A,61)^kr(x,A,6),P=Oa(y,C,_e[k-7],_e[k-16]),L=qa(P,f,_,Ee[k-7],Ee[k-16]);Ee[k]=L|0,_e[k]=P|0}let{Ah:o,Al:n,Bh:a,Bl:i,Ch:l,Cl:c,Dh:h,Dl:m,Eh:u,El:p,Fh:b,Fl:w,Gh:g,Gl:j,Hh:v,Hl:N}=this;for(let k=0;k<80;k++){const S=Qe(u,p,14)^Qe(u,p,18)^mt(u,p,41),E=Ge(u,p,14)^Ge(u,p,18)^ft(u,p,41),f=u&b^~u&g,y=p&w^~p&j,x=za(N,E,y,Ha[k],_e[k]),A=$a(x,v,S,f,Va[k],Ee[k]),_=x|0,C=Qe(o,n,28)^mt(o,n,34)^mt(o,n,39),P=Ge(o,n,28)^ft(o,n,34)^ft(o,n,39),L=o&a^o&l^a&l,R=n&i^n&c^i&c;v=g|0,N=j|0,g=b|0,j=w|0,b=u|0,w=p|0,{h:u,l:p}=Ne(h|0,m|0,A|0,_|0),h=l|0,m=c|0,l=a|0,c=i|0,a=o|0,i=n|0;const T=Fa(_,P,R);o=Wa(T,A,C,L),n=T|0}({h:o,l:n}=Ne(this.Ah|0,this.Al|0,o|0,n|0)),{h:a,l:i}=Ne(this.Bh|0,this.Bl|0,a|0,i|0),{h:l,l:c}=Ne(this.Ch|0,this.Cl|0,l|0,c|0),{h,l:m}=Ne(this.Dh|0,this.Dl|0,h|0,m|0),{h:u,l:p}=Ne(this.Eh|0,this.El|0,u|0,p|0),{h:b,l:w}=Ne(this.Fh|0,this.Fl|0,b|0,w|0),{h:g,l:j}=Ne(this.Gh|0,this.Gl|0,g|0,j|0),{h:v,l:N}=Ne(this.Hh|0,this.Hl|0,v|0,N|0),this.set(o,n,a,i,l,c,h,m,u,p,b,w,g,j,v,N)}roundClean(){Ts(Ee,_e)}destroy(){Ts(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class Ga extends Qa{Ah=ce[0]|0;Al=ce[1]|0;Bh=ce[2]|0;Bl=ce[3]|0;Ch=ce[4]|0;Cl=ce[5]|0;Dh=ce[6]|0;Dl=ce[7]|0;Eh=ce[8]|0;El=ce[9]|0;Fh=ce[10]|0;Fl=ce[11]|0;Gh=ce[12]|0;Gl=ce[13]|0;Hh=ce[14]|0;Hl=ce[15]|0;constructor(){super(64)}}const Ka=Ta(()=>new Ga,Ba(3));const Un=BigInt(0),Sr=BigInt(1);function Ms(t,s=""){if(typeof t!="boolean"){const r=s&&`"${s}" `;throw new Error(r+"expected boolean, got type="+typeof t)}return t}function Ya(t){if(typeof t=="bigint"){if(!kt(t))throw new Error("positive bigint expected, got "+t)}else Gs(t);return t}function Fn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Un:BigInt("0x"+t)}function Za(t){return Fn(Ks(t))}function Et(t){return Fn(Ks(Bs(ie(t)).reverse()))}function Wn(t,s){Gs(s),t=Ya(t);const r=In(t.toString(16).padStart(s*2,"0"));if(r.length!==s)throw new Error("number too large");return r}function Xa(t,s){return Wn(t,s).reverse()}function Bs(t){return Uint8Array.from(t)}const kt=t=>typeof t=="bigint"&&Un<=t;function Ja(t,s,r){return kt(t)&&kt(s)&&kt(r)&&s<=t&&t<r}function Cr(t,s,r,o){if(!Ja(s,r,o))throw new Error("expected valid "+t+": "+r+" <= n < "+o+", got "+s)}const ei=t=>(Sr<<BigInt(t))-Sr;function Ys(t,s={},r={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function o(a,i,l){const c=t[a];if(l&&c===void 0)return;const h=typeof c;if(h!==i||c===null)throw new Error(`param "${a}" is invalid: expected ${i}, got ${h}`)}const n=(a,i)=>Object.entries(a).forEach(([l,c])=>o(l,c,i));n(s,!1),n(r,!0)}function Er(t){const s=new WeakMap;return(r,...o)=>{const n=s.get(r);if(n!==void 0)return n;const a=t(r,...o);return s.set(r,a),a}}const me=BigInt(0),de=BigInt(1),Fe=BigInt(2),On=BigInt(3),qn=BigInt(4),zn=BigInt(5),ti=BigInt(7),$n=BigInt(8),si=BigInt(9),Vn=BigInt(16);function oe(t,s){const r=t%s;return r>=me?r:s+r}function xe(t,s,r){let o=t;for(;s-- >me;)o*=o,o%=r;return o}function _r(t,s){if(t===me)throw new Error("invert: expected non-zero number");if(s<=me)throw new Error("invert: expected positive modulus, got "+s);let r=oe(t,s),o=s,n=me,a=de;for(;r!==me;){const l=o/r,c=o%r,h=n-a*l;o=r,r=c,n=a,a=h}if(o!==de)throw new Error("invert: does not exist");return oe(n,s)}function Zs(t,s,r){if(!t.eql(t.sqr(s),r))throw new Error("Cannot find square root")}function Hn(t,s){const r=(t.ORDER+de)/qn,o=t.pow(s,r);return Zs(t,o,s),o}function ri(t,s){const r=(t.ORDER-zn)/$n,o=t.mul(s,Fe),n=t.pow(o,r),a=t.mul(s,n),i=t.mul(t.mul(a,Fe),n),l=t.mul(a,t.sub(i,t.ONE));return Zs(t,l,s),l}function ni(t){const s=Xs(t),r=Qn(t),o=r(s,s.neg(s.ONE)),n=r(s,o),a=r(s,s.neg(o)),i=(t+ti)/Vn;return(l,c)=>{let h=l.pow(c,i),m=l.mul(h,o);const u=l.mul(h,n),p=l.mul(h,a),b=l.eql(l.sqr(m),c),w=l.eql(l.sqr(u),c);h=l.cmov(h,m,b),m=l.cmov(p,u,w);const g=l.eql(l.sqr(m),c),j=l.cmov(h,m,g);return Zs(l,j,c),j}}function Qn(t){if(t<On)throw new Error("sqrt is not defined for small field");let s=t-de,r=0;for(;s%Fe===me;)s/=Fe,r++;let o=Fe;const n=Xs(t);for(;Lr(n,o)===1;)if(o++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Hn;let a=n.pow(o,s);const i=(s+de)/Fe;return function(c,h){if(c.is0(h))return h;if(Lr(c,h)!==1)throw new Error("Cannot find square root");let m=r,u=c.mul(c.ONE,a),p=c.pow(h,s),b=c.pow(h,i);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let w=1,g=c.sqr(p);for(;!c.eql(g,c.ONE);)if(w++,g=c.sqr(g),w===m)throw new Error("Cannot find square root");const j=de<<BigInt(m-w-1),v=c.pow(u,j);m=w,u=c.sqr(v),p=c.mul(p,u),b=c.mul(b,v)}return b}}function oi(t){return t%qn===On?Hn:t%$n===zn?ri:t%Vn===si?ni(t):Qn(t)}const ai=(t,s)=>(oe(t,s)&de)===de,ii=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ci(t){const s={ORDER:"bigint",BYTES:"number",BITS:"number"},r=ii.reduce((o,n)=>(o[n]="function",o),s);return Ys(t,r),t}function li(t,s,r){if(r<me)throw new Error("invalid exponent, negatives unsupported");if(r===me)return t.ONE;if(r===de)return s;let o=t.ONE,n=s;for(;r>me;)r&de&&(o=t.mul(o,n)),n=t.sqr(n),r>>=de;return o}function Gn(t,s,r=!1){const o=new Array(s.length).fill(r?t.ZERO:void 0),n=s.reduce((i,l,c)=>t.is0(l)?i:(o[c]=i,t.mul(i,l)),t.ONE),a=t.inv(n);return s.reduceRight((i,l,c)=>t.is0(l)?i:(o[c]=t.mul(i,o[c]),t.mul(i,l)),a),o}function Lr(t,s){const r=(t.ORDER-de)/Fe,o=t.pow(s,r),n=t.eql(o,t.ONE),a=t.eql(o,t.ZERO),i=t.eql(o,t.neg(t.ONE));if(!n&&!a&&!i)throw new Error("invalid Legendre symbol result");return n?1:a?0:-1}function di(t,s){s!==void 0&&Gs(s);const r=s!==void 0?s:t.toString(2).length,o=Math.ceil(r/8);return{nBitLength:r,nByteLength:o}}class ui{ORDER;BITS;BYTES;isLE;ZERO=me;ONE=de;_lengths;_sqrt;_mod;constructor(s,r={}){if(s<=me)throw new Error("invalid field: expected ORDER > 0, got "+s);let o;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(o=r.BITS),typeof r.sqrt=="function"&&(this.sqrt=r.sqrt),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=r.allowedLengths?.slice()),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));const{nBitLength:n,nByteLength:a}=di(s,o);if(a>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=s,this.BITS=n,this.BYTES=a,this._sqrt=void 0,Object.preventExtensions(this)}create(s){return oe(s,this.ORDER)}isValid(s){if(typeof s!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof s);return me<=s&&s<this.ORDER}is0(s){return s===me}isValidNot0(s){return!this.is0(s)&&this.isValid(s)}isOdd(s){return(s&de)===de}neg(s){return oe(-s,this.ORDER)}eql(s,r){return s===r}sqr(s){return oe(s*s,this.ORDER)}add(s,r){return oe(s+r,this.ORDER)}sub(s,r){return oe(s-r,this.ORDER)}mul(s,r){return oe(s*r,this.ORDER)}pow(s,r){return li(this,s,r)}div(s,r){return oe(s*_r(r,this.ORDER),this.ORDER)}sqrN(s){return s*s}addN(s,r){return s+r}subN(s,r){return s-r}mulN(s,r){return s*r}inv(s){return _r(s,this.ORDER)}sqrt(s){return this._sqrt||(this._sqrt=oi(this.ORDER)),this._sqrt(this,s)}toBytes(s){return this.isLE?Xa(s,this.BYTES):Wn(s,this.BYTES)}fromBytes(s,r=!1){ie(s);const{_lengths:o,BYTES:n,isLE:a,ORDER:i,_mod:l}=this;if(o){if(!o.includes(s.length)||s.length>n)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+s.length);const h=new Uint8Array(n);h.set(s,a?0:h.length-s.length),s=h}if(s.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+s.length);let c=a?Et(s):Za(s);if(l&&(c=oe(c,i)),!r&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(s){return Gn(this,s)}cmov(s,r,o){return o?r:s}}function Xs(t,s={}){return new ui(t,s)}const _t=BigInt(0),Is=BigInt(1);function Pr(t,s){const r=s.negate();return t?r:s}function Kt(t,s){const r=Gn(t.Fp,s.map(o=>o.Z));return s.map((o,n)=>t.fromAffine(o.toAffine(r[n])))}function Kn(t,s){if(!Number.isSafeInteger(t)||t<=0||t>s)throw new Error("invalid window size, expected [1.."+s+"], got W="+t)}function Yt(t,s){Kn(t,s);const r=Math.ceil(s/t)+1,o=2**(t-1),n=2**t,a=ei(t),i=BigInt(t);return{windows:r,windowSize:o,mask:a,maxNumber:n,shiftBy:i}}function Rr(t,s,r){const{windowSize:o,mask:n,maxNumber:a,shiftBy:i}=r;let l=Number(t&n),c=t>>i;l>o&&(l-=a,c+=Is);const h=s*o,m=h+Math.abs(l)-1,u=l===0,p=l<0,b=s%2!==0;return{nextN:c,offset:m,isZero:u,isNeg:p,isNegF:b,offsetF:h}}const Zt=new WeakMap,Yn=new WeakMap;function Xt(t){return Yn.get(t)||1}function Tr(t){if(t!==_t)throw new Error("invalid wNAF")}class hi{BASE;ZERO;Fn;bits;constructor(s,r){this.BASE=s.BASE,this.ZERO=s.ZERO,this.Fn=s.Fn,this.bits=r}_unsafeLadder(s,r,o=this.ZERO){let n=s;for(;r>_t;)r&Is&&(o=o.add(n)),n=n.double(),r>>=Is;return o}precomputeWindow(s,r){const{windows:o,windowSize:n}=Yt(r,this.bits),a=[];let i=s,l=i;for(let c=0;c<o;c++){l=i,a.push(l);for(let h=1;h<n;h++)l=l.add(i),a.push(l);i=l.double()}return a}wNAF(s,r,o){if(!this.Fn.isValid(o))throw new Error("invalid scalar");let n=this.ZERO,a=this.BASE;const i=Yt(s,this.bits);for(let l=0;l<i.windows;l++){const{nextN:c,offset:h,isZero:m,isNeg:u,isNegF:p,offsetF:b}=Rr(o,l,i);o=c,m?a=a.add(Pr(p,r[b])):n=n.add(Pr(u,r[h]))}return Tr(o),{p:n,f:a}}wNAFUnsafe(s,r,o,n=this.ZERO){const a=Yt(s,this.bits);for(let i=0;i<a.windows&&o!==_t;i++){const{nextN:l,offset:c,isZero:h,isNeg:m}=Rr(o,i,a);if(o=l,!h){const u=r[c];n=n.add(m?u.negate():u)}}return Tr(o),n}getPrecomputes(s,r,o){let n=Zt.get(r);return n||(n=this.precomputeWindow(r,s),s!==1&&(typeof o=="function"&&(n=o(n)),Zt.set(r,n))),n}cached(s,r,o){const n=Xt(s);return this.wNAF(n,this.getPrecomputes(n,s,o),r)}unsafe(s,r,o,n){const a=Xt(s);return a===1?this._unsafeLadder(s,r,n):this.wNAFUnsafe(a,this.getPrecomputes(a,s,o),r,n)}createCache(s,r){Kn(r,this.bits),Yn.set(s,r),Zt.delete(s)}hasCache(s){return Xt(s)!==1}}function Mr(t,s,r){if(s){if(s.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ci(s),s}else return Xs(t,{isLE:r})}function mi(t,s,r={},o){if(o===void 0&&(o=t==="edwards"),!s||typeof s!="object")throw new Error(`expected valid ${t} CURVE object`);for(const c of["p","n","h"]){const h=s[c];if(!(typeof h=="bigint"&&h>_t))throw new Error(`CURVE.${c} must be positive bigint`)}const n=Mr(s.p,r.Fp,o),a=Mr(s.n,r.Fn,o),l=["Gx","Gy","a","d"];for(const c of l)if(!n.isValid(s[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return s=Object.freeze(Object.assign({},s)),{CURVE:s,Fp:n,Fn:a}}function fi(t,s){return function(o){const n=t(o);return{secretKey:n,publicKey:s(n)}}}const Le=BigInt(0),ae=BigInt(1),Jt=BigInt(2),pi=BigInt(8);function gi(t,s,r,o){const n=t.sqr(r),a=t.sqr(o),i=t.add(t.mul(s.a,n),a),l=t.add(t.ONE,t.mul(s.d,t.mul(n,a)));return t.eql(i,l)}function wi(t,s={}){const r=mi("edwards",t,s,s.FpFnLE),{Fp:o,Fn:n}=r;let a=r.CURVE;const{h:i}=a;Ys(s,{},{uvRatio:"function"});const l=Jt<<BigInt(n.BYTES*8)-ae,c=j=>o.create(j),h=s.uvRatio||((j,v)=>{try{return{isValid:!0,value:o.sqrt(o.div(j,v))}}catch{return{isValid:!1,value:Le}}});if(!gi(o,a,a.Gx,a.Gy))throw new Error("bad curve params: generator point");function m(j,v,N=!1){const k=N?ae:Le;return Cr("coordinate "+j,v,k,l),v}function u(j){if(!(j instanceof w))throw new Error("EdwardsPoint expected")}const p=Er((j,v)=>{const{X:N,Y:k,Z:S}=j,E=j.is0();v==null&&(v=E?pi:o.inv(S));const f=c(N*v),y=c(k*v),x=o.mul(S,v);if(E)return{x:Le,y:ae};if(x!==ae)throw new Error("invZ was invalid");return{x:f,y}}),b=Er(j=>{const{a:v,d:N}=a;if(j.is0())throw new Error("bad point: ZERO");const{X:k,Y:S,Z:E,T:f}=j,y=c(k*k),x=c(S*S),A=c(E*E),_=c(A*A),C=c(y*v),P=c(A*c(C+x)),L=c(_+c(N*c(y*x)));if(P!==L)throw new Error("bad point: equation left != right (1)");const R=c(k*S),T=c(E*f);if(R!==T)throw new Error("bad point: equation left != right (2)");return!0});class w{static BASE=new w(a.Gx,a.Gy,ae,c(a.Gx*a.Gy));static ZERO=new w(Le,ae,ae,Le);static Fp=o;static Fn=n;X;Y;Z;T;constructor(v,N,k,S){this.X=m("x",v),this.Y=m("y",N),this.Z=m("z",k,!0),this.T=m("t",S),Object.freeze(this)}static CURVE(){return a}static fromAffine(v){if(v instanceof w)throw new Error("extended point not allowed");const{x:N,y:k}=v||{};return m("x",N),m("y",k),new w(N,k,ae,c(N*k))}static fromBytes(v,N=!1){const k=o.BYTES,{a:S,d:E}=a;v=Bs(ie(v,k,"point")),Ms(N,"zip215");const f=Bs(v),y=v[k-1];f[k-1]=y&-129;const x=Et(f),A=N?l:o.ORDER;Cr("point.y",x,Le,A);const _=c(x*x),C=c(_-ae),P=c(E*_-S);let{isValid:L,value:R}=h(C,P);if(!L)throw new Error("bad point: invalid y coordinate");const T=(R&ae)===ae,B=(y&128)!==0;if(!N&&R===Le&&B)throw new Error("bad point: x=0 and x_0=1");return B!==T&&(R=c(-R)),w.fromAffine({x:R,y:x})}static fromHex(v,N=!1){return w.fromBytes(In(v),N)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(v=8,N=!0){return g.createCache(this,v),N||this.multiply(Jt),this}assertValidity(){b(this)}equals(v){u(v);const{X:N,Y:k,Z:S}=this,{X:E,Y:f,Z:y}=v,x=c(N*y),A=c(E*S),_=c(k*y),C=c(f*S);return x===A&&_===C}is0(){return this.equals(w.ZERO)}negate(){return new w(c(-this.X),this.Y,this.Z,c(-this.T))}double(){const{a:v}=a,{X:N,Y:k,Z:S}=this,E=c(N*N),f=c(k*k),y=c(Jt*c(S*S)),x=c(v*E),A=N+k,_=c(c(A*A)-E-f),C=x+f,P=C-y,L=x-f,R=c(_*P),T=c(C*L),B=c(_*L),F=c(P*C);return new w(R,T,F,B)}add(v){u(v);const{a:N,d:k}=a,{X:S,Y:E,Z:f,T:y}=this,{X:x,Y:A,Z:_,T:C}=v,P=c(S*x),L=c(E*A),R=c(y*k*C),T=c(f*_),B=c((S+E)*(x+A)-P-L),F=T-R,W=T+R,O=c(L-N*P),I=c(B*F),U=c(W*O),z=c(B*O),K=c(F*W);return new w(I,U,K,z)}subtract(v){return this.add(v.negate())}multiply(v){if(!n.isValidNot0(v))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:N,f:k}=g.cached(this,v,S=>Kt(w,S));return Kt(w,[N,k])[0]}multiplyUnsafe(v,N=w.ZERO){if(!n.isValid(v))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return v===Le?w.ZERO:this.is0()||v===ae?this:g.unsafe(this,v,k=>Kt(w,k),N)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return g.unsafe(this,a.n).is0()}toAffine(v){return p(this,v)}clearCofactor(){return i===ae?this:this.multiplyUnsafe(i)}toBytes(){const{x:v,y:N}=this.toAffine(),k=o.toBytes(N);return k[k.length-1]|=v&ae?128:0,k}toHex(){return Ks(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const g=new hi(w,n.BITS);return w.BASE.precompute(8),w}function bi(t,s,r={}){if(typeof s!="function")throw new Error('"hash" function param is required');Ys(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:o}=r,{BASE:n,Fp:a,Fn:i}=t,l=r.randomBytes||Ma,c=r.adjustScalarBytes||(x=>x),h=r.domain||((x,A,_)=>{if(Ms(_,"phflag"),A.length||_)throw new Error("Contexts/pre-hash are not supported");return x});function m(x){return i.create(Et(x))}function u(x){const A=k.secretKey;ie(x,k.secretKey,"secretKey");const _=ie(s(x),2*A,"hashedSecretKey"),C=c(_.slice(0,A)),P=_.slice(A,2*A),L=m(C);return{head:C,prefix:P,scalar:L}}function p(x){const{head:A,prefix:_,scalar:C}=u(x),P=n.multiply(C),L=P.toBytes();return{head:A,prefix:_,scalar:C,point:P,pointBytes:L}}function b(x){return p(x).pointBytes}function w(x=Uint8Array.of(),...A){const _=Ar(...A);return m(s(h(_,ie(x,void 0,"context"),!!o)))}function g(x,A,_={}){x=ie(x,void 0,"message"),o&&(x=o(x));const{prefix:C,scalar:P,pointBytes:L}=p(A),R=w(_.context,C,x),T=n.multiply(R).toBytes(),B=w(_.context,T,L,x),F=i.create(R+B*P);if(!i.isValid(F))throw new Error("sign failed: invalid s");const W=Ar(T,i.toBytes(F));return ie(W,k.signature,"result")}const j={zip215:!0};function v(x,A,_,C=j){const{context:P,zip215:L}=C,R=k.signature;x=ie(x,R,"signature"),A=ie(A,void 0,"message"),_=ie(_,k.publicKey,"publicKey"),L!==void 0&&Ms(L,"zip215"),o&&(A=o(A));const T=R/2,B=x.subarray(0,T),F=Et(x.subarray(T,R));let W,O,I;try{W=t.fromBytes(_,L),O=t.fromBytes(B,L),I=n.multiplyUnsafe(F)}catch{return!1}if(!L&&W.isSmallOrder())return!1;const U=w(P,O.toBytes(),W.toBytes(),A);return O.add(W.multiplyUnsafe(U)).subtract(I).clearCofactor().is0()}const N=a.BYTES,k={secretKey:N,publicKey:N,signature:2*N,seed:N};function S(x=l(k.seed)){return ie(x,k.seed,"seed")}function E(x){return Mn(x)&&x.length===i.BYTES}function f(x,A){try{return!!t.fromBytes(x,A)}catch{return!1}}const y={getExtendedPublicKey:p,randomSecretKey:S,isValidSecretKey:E,isValidPublicKey:f,toMontgomery(x){const{y:A}=t.fromBytes(x),_=k.publicKey,C=_===32;if(!C&&_!==57)throw new Error("only defined for 25519 and 448");const P=C?a.div(ae+A,ae-A):a.div(A-ae,A+ae);return a.toBytes(P)},toMontgomerySecret(x){const A=k.secretKey;ie(x,A);const _=s(x.subarray(0,A));return c(_).subarray(0,A)}};return Object.freeze({keygen:fi(S,b),getPublicKey:b,sign:g,verify:v,utils:y,Point:t,lengths:k})}const yi=BigInt(1),Br=BigInt(2),xi=BigInt(5),vi=BigInt(8),Js=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Ai={p:Js,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:vi,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function ji(t){const s=BigInt(10),r=BigInt(20),o=BigInt(40),n=BigInt(80),a=Js,l=t*t%a*t%a,c=xe(l,Br,a)*l%a,h=xe(c,yi,a)*t%a,m=xe(h,xi,a)*h%a,u=xe(m,s,a)*m%a,p=xe(u,r,a)*u%a,b=xe(p,o,a)*p%a,w=xe(b,n,a)*b%a,g=xe(w,n,a)*b%a,j=xe(g,s,a)*m%a;return{pow_p_5_8:xe(j,Br,a)*t%a,b2:l}}function Ni(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const Ir=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ki(t,s){const r=Js,o=oe(s*s*s,r),n=oe(o*o*s,r),a=ji(t*n).pow_p_5_8;let i=oe(t*o*a,r);const l=oe(s*i*i,r),c=i,h=oe(i*Ir,r),m=l===t,u=l===oe(-t,r),p=l===oe(-t*Ir,r);return m&&(i=c),(u||p)&&(i=h),ai(i,r)&&(i=oe(-i,r)),{isValid:m||u,value:i}}const Si=wi(Ai,{uvRatio:ki});function Ci(t){return bi(Si,Ka,Object.assign({adjustScalarBytes:Ni},t))}const Ei=Ci({});function _i(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ut(t,...s){if(!_i(t))throw new Error("Uint8Array expected");if(s.length>0&&!s.includes(t.length))throw new Error("Uint8Array expected of length "+s+", got length="+t.length)}function Dr(t,s=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(s&&t.finished)throw new Error("Hash#digest() has already been called")}function Li(t,s){Ut(t);const r=s.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Ds(...t){for(let s=0;s<t.length;s++)t[s].fill(0)}function es(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ve(t,s){return t<<32-s|t>>>s}function Pi(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Zn(t){return typeof t=="string"&&(t=Pi(t)),Ut(t),t}class Ri{}function Ti(t){const s=o=>t().update(Zn(o)).digest(),r=t();return s.outputLen=r.outputLen,s.blockLen=r.blockLen,s.create=()=>t(),s}function Mi(t,s,r,o){if(typeof t.setBigUint64=="function")return t.setBigUint64(s,r,o);const n=BigInt(32),a=BigInt(4294967295),i=Number(r>>n&a),l=Number(r&a),c=o?4:0,h=o?0:4;t.setUint32(s+c,i,o),t.setUint32(s+h,l,o)}function Bi(t,s,r){return t&s^~t&r}function Ii(t,s,r){return t&s^t&r^s&r}class Di extends Ri{constructor(s,r,o,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=s,this.outputLen=r,this.padOffset=o,this.isLE=n,this.buffer=new Uint8Array(s),this.view=es(this.buffer)}update(s){Dr(this),s=Zn(s),Ut(s);const{view:r,buffer:o,blockLen:n}=this,a=s.length;for(let i=0;i<a;){const l=Math.min(n-this.pos,a-i);if(l===n){const c=es(s);for(;n<=a-i;i+=n)this.process(c,i);continue}o.set(s.subarray(i,i+l),this.pos),this.pos+=l,i+=l,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=s.length,this.roundClean(),this}digestInto(s){Dr(this),Li(s,this),this.finished=!0;const{buffer:r,view:o,blockLen:n,isLE:a}=this;let{pos:i}=this;r[i++]=128,Ds(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let u=i;u<n;u++)r[u]=0;Mi(o,n-8,BigInt(this.length*8),a),this.process(o,0);const l=es(s),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=c/4,m=this.get();if(h>m.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<h;u++)l.setUint32(4*u,m[u],a)}digest(){const{buffer:s,outputLen:r}=this;this.digestInto(s);const o=s.slice(0,r);return this.destroy(),o}_cloneInto(s){s||(s=new this.constructor),s.set(...this.get());const{blockLen:r,buffer:o,length:n,finished:a,destroyed:i,pos:l}=this;return s.destroyed=i,s.finished=a,s.length=n,s.pos=l,n%r&&s.buffer.set(o),s}clone(){return this._cloneInto()}}const Pe=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ui=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Re=new Uint32Array(64);class Fi extends Di{constructor(s=32){super(64,s,8,!1),this.A=Pe[0]|0,this.B=Pe[1]|0,this.C=Pe[2]|0,this.D=Pe[3]|0,this.E=Pe[4]|0,this.F=Pe[5]|0,this.G=Pe[6]|0,this.H=Pe[7]|0}get(){const{A:s,B:r,C:o,D:n,E:a,F:i,G:l,H:c}=this;return[s,r,o,n,a,i,l,c]}set(s,r,o,n,a,i,l,c){this.A=s|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=a|0,this.F=i|0,this.G=l|0,this.H=c|0}process(s,r){for(let u=0;u<16;u++,r+=4)Re[u]=s.getUint32(r,!1);for(let u=16;u<64;u++){const p=Re[u-15],b=Re[u-2],w=ve(p,7)^ve(p,18)^p>>>3,g=ve(b,17)^ve(b,19)^b>>>10;Re[u]=g+Re[u-7]+w+Re[u-16]|0}let{A:o,B:n,C:a,D:i,E:l,F:c,G:h,H:m}=this;for(let u=0;u<64;u++){const p=ve(l,6)^ve(l,11)^ve(l,25),b=m+p+Bi(l,c,h)+Ui[u]+Re[u]|0,g=(ve(o,2)^ve(o,13)^ve(o,22))+Ii(o,n,a)|0;m=h,h=c,c=l,l=i+b|0,i=a,a=n,n=o,o=b+g|0}o=o+this.A|0,n=n+this.B|0,a=a+this.C|0,i=i+this.D|0,l=l+this.E|0,c=c+this.F|0,h=h+this.G|0,m=m+this.H|0,this.set(o,n,a,i,l,c,h,m)}roundClean(){Ds(Re)}destroy(){this.set(0,0,0,0,0,0,0,0),Ds(this.buffer)}}const Xn=Ti(()=>new Fi),Wi=Xn,Oi="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function qi(t){if(t.length!==16)throw new Error(`Invalid seed length: expected 16, got ${t.length}`);const s=Wi(t),r=Ei.getPublicKey(s),o=new Uint8Array(64);return o.set(s,0),o.set(r,32),D.wipeBytes(s),{publicKey:r,secretKey:o}}function Jn(t){const s=qi(t),r=s.publicKey;return D.wipeBytes(s.secretKey),r}function eo(t){if(t.length!==32)throw new Error(`Invalid public key length: expected 32, got ${t.length}`);return zi(t)}function zi(t){let s=0;for(let n=0;n<t.length&&t[n]===0;n++)s++;let r=0n;for(let n=0;n<t.length;n++)r=r*256n+BigInt(t[n]);let o="";for(;r>0n;){const n=Number(r%58n);o=Oi[n]+o,r=r/58n}return"1".repeat(s)+o}const $i=2,Vi=3;function to(t){if(t.length!==16)throw new Error(`Invalid seed length: expected 16, got ${t.length}`);const s=Us(t),r=Tn.share(s,Vi,$i);if(r.length!==3)throw new Error(`Unexpected share count: ${r.length}`);const o=ts(r[0]),n=ts(r[1]),a=ts(r[2]);return{shareA:D.toShamirShare(o),shareB:D.toShamirShare(n),shareC:D.toShamirShare(a)}}function Hi(t,s,r){const o=Ur(t),n=Ur(s);try{const a=Tn.combine([o,n]),i=so(a);if(i.length!==16)throw new Error(`Reconstructed seed has wrong length: ${i.length}`);return D.toSeed(i)}catch(a){throw a instanceof Error&&a.message.startsWith("Reconstructed seed")||a instanceof Error&&a.message.startsWith("Invalid expectedPublicKey")||a instanceof Error&&a.message.startsWith("Reconstructed seed does not match")?a:new Error("Failed to reconstruct seed from shares")}}function Us(t){return Array.from(t).map(s=>s.toString(16).padStart(2,"0")).join("")}function so(t){if(!/^[0-9a-fA-F]*$/.test(t))throw new Error("Invalid hex string: contains non-hex characters");if(t.length%2!==0)throw new Error(`Invalid hex string: length ${t.length} is odd (must be even)`);const s=new Uint8Array(t.length/2);for(let r=0;r<s.length;r++)s[r]=parseInt(t.substr(r*2,2),16);return s}function ts(t){const s=t.length%2!==0,r=s?"0"+t:t,o=so(r),n=new Uint8Array(1+o.length);return n[0]=s?1:0,n.set(o,1),n}function Ur(t){const s=t[0];if(s===0||s===1){const o=s===1,n=t.subarray(1),a=Us(n),i=o?a.substring(1):a;if(/^[0-9a-f]/.test(i))return i}const r=Us(t);return r.startsWith("0")&&!r.startsWith("00")?r.substring(1):r}function Lt(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ro(t,s){return Array.isArray(s)?s.length===0?!0:t?s.every(r=>typeof r=="string"):s.every(r=>Number.isSafeInteger(r)):!1}function Qi(t){if(typeof t!="function")throw new Error("function expected");return!0}function Pt(t,s){if(typeof s!="string")throw new Error(`${t}: string expected`);return!0}function et(t){if(!Number.isSafeInteger(t))throw new Error(`invalid integer: ${t}`)}function Rt(t){if(!Array.isArray(t))throw new Error("array expected")}function Tt(t,s){if(!ro(!0,s))throw new Error(`${t}: array of strings expected`)}function no(t,s){if(!ro(!1,s))throw new Error(`${t}: array of numbers expected`)}function Gi(...t){const s=a=>a,r=(a,i)=>l=>a(i(l)),o=t.map(a=>a.encode).reduceRight(r,s),n=t.map(a=>a.decode).reduce(r,s);return{encode:o,decode:n}}function Ki(t){const s=typeof t=="string"?t.split(""):t,r=s.length;Tt("alphabet",s);const o=new Map(s.map((n,a)=>[n,a]));return{encode:n=>(Rt(n),n.map(a=>{if(!Number.isSafeInteger(a)||a<0||a>=r)throw new Error(`alphabet.encode: digit index outside alphabet "${a}". Allowed: ${t}`);return s[a]})),decode:n=>(Rt(n),n.map(a=>{Pt("alphabet.decode",a);const i=o.get(a);if(i===void 0)throw new Error(`Unknown letter: "${a}". Allowed: ${t}`);return i}))}}function Yi(t=""){return Pt("join",t),{encode:s=>(Tt("join.decode",s),s.join(t)),decode:s=>(Pt("join.decode",s),s.split(t))}}function Zi(t,s="="){return et(t),Pt("padding",s),{encode(r){for(Tt("padding.encode",r);r.length*t%8;)r.push(s);return r},decode(r){Tt("padding.decode",r);let o=r.length;if(o*t%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;o>0&&r[o-1]===s;o--)if((o-1)*t%8===0)throw new Error("padding: invalid, string has too much padding");return r.slice(0,o)}}}function Fs(t,s,r){if(s<2)throw new Error(`convertRadix: invalid from=${s}, base cannot be less than 2`);if(r<2)throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(Rt(t),!t.length)return[];let o=0;const n=[],a=Array.from(t,l=>{if(et(l),l<0||l>=s)throw new Error(`invalid integer: ${l}`);return l}),i=a.length;for(;;){let l=0,c=!0;for(let h=o;h<i;h++){const m=a[h],u=s*l,p=u+m;if(!Number.isSafeInteger(p)||u/s!==l||p-m!==u)throw new Error("convertRadix: carry overflow");const b=p/r;l=p%r;const w=Math.floor(b);if(a[h]=w,!Number.isSafeInteger(w)||w*r+l!==p)throw new Error("convertRadix: carry overflow");if(c)w?c=!1:o=h;else continue}if(n.push(l),c)break}for(let l=0;l<t.length-1&&t[l]===0;l++)n.push(0);return n.reverse()}const oo=(t,s)=>s===0?t:oo(s,t%s),Mt=(t,s)=>t+(s-oo(t,s)),ss=(()=>{let t=[];for(let s=0;s<40;s++)t.push(2**s);return t})();function Ws(t,s,r,o){if(Rt(t),s<=0||s>32)throw new Error(`convertRadix2: wrong from=${s}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(Mt(s,r)>32)throw new Error(`convertRadix2: carry overflow from=${s} to=${r} carryBits=${Mt(s,r)}`);let n=0,a=0;const i=ss[s],l=ss[r]-1,c=[];for(const h of t){if(et(h),h>=i)throw new Error(`convertRadix2: invalid data word=${h} from=${s}`);if(n=n<<s|h,a+s>32)throw new Error(`convertRadix2: carry overflow pos=${a} from=${s}`);for(a+=s;a>=r;a-=r)c.push((n>>a-r&l)>>>0);const m=ss[a];if(m===void 0)throw new Error("invalid carry");n&=m-1}if(n=n<<r-a&l,!o&&a>=s)throw new Error("Excess padding");if(!o&&n>0)throw new Error(`Non-zero padding: ${n}`);return o&&a>0&&c.push(n>>>0),c}function Xi(t){et(t);const s=2**8;return{encode:r=>{if(!Lt(r))throw new Error("radix.encode input should be Uint8Array");return Fs(Array.from(r),s,t)},decode:r=>(no("radix.decode",r),Uint8Array.from(Fs(r,t,s)))}}function Ji(t,s=!1){if(et(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(Mt(8,t)>32||Mt(t,8)>32)throw new Error("radix2: carry overflow");return{encode:r=>{if(!Lt(r))throw new Error("radix2.encode input should be Uint8Array");return Ws(Array.from(r),8,t,!s)},decode:r=>(no("radix2.decode",r),Uint8Array.from(Ws(r,t,8,s)))}}function ec(t,s){return et(t),Qi(s),{encode(r){if(!Lt(r))throw new Error("checksum.encode: input should be Uint8Array");const o=s(r).slice(0,t),n=new Uint8Array(r.length+t);return n.set(r),n.set(o,r.length),n},decode(r){if(!Lt(r))throw new Error("checksum.decode: input should be Uint8Array");const o=r.slice(0,-t),n=r.slice(-t),a=s(o).slice(0,t);for(let i=0;i<t;i++)if(a[i]!==n[i])throw new Error("Invalid checksum");return o}}}const pt={alphabet:Ki,chain:Gi,checksum:ec,convertRadix:Fs,convertRadix2:Ws,radix:Xi,radix2:Ji,join:Yi,padding:Zi};const tc=t=>t[0]==="あいこくしん";function sc(t){if(typeof t!="string")throw new TypeError("invalid mnemonic type: "+typeof t);return t.normalize("NFKD")}function rc(t){const s=sc(t),r=s.split(" ");if(![12,15,18,21,24].includes(r.length))throw new Error("Invalid mnemonic");return{nfkd:s,words:r}}function ao(t){Ut(t,16,20,24,28,32)}const nc=t=>{const s=8-t.length/4;return new Uint8Array([Xn(t)[0]>>s<<s])};function io(t){if(!Array.isArray(t)||t.length!==2048||typeof t[0]!="string")throw new Error("Wordlist: expected array of 2048 strings");return t.forEach(s=>{if(typeof s!="string")throw new Error("wordlist: non-string element: "+s)}),pt.chain(pt.checksum(1,nc),pt.radix2(11,!0),pt.alphabet(t))}function er(t,s){const{words:r}=rc(t),o=io(s).decode(r);return ao(o),o}function co(t,s){return ao(t),io(s).encode(t).join(tc(s)?" ":" ")}function tr(t,s){try{er(t,s)}catch{return!1}return!0}const Se=`abandon
|
|
2
2
|
ability
|
|
3
3
|
able
|
|
4
4
|
about
|
package/dist/index.js
CHANGED
|
@@ -16,23 +16,23 @@ import { d as ms, S as pa } from "./SolanaLoginButton-CyeX35eU.js";
|
|
|
16
16
|
import { r as jm, u as $m } from "./SolanaLoginButton-CyeX35eU.js";
|
|
17
17
|
import { u as ga, a as wa, M as ya, I as ba, b as va, P as Aa, c as Na, d as ka } from "./PermissionsSection-mm9hfp-u.js";
|
|
18
18
|
import { u as Dn } from "./useSystemSettings-rgskaDqP.js";
|
|
19
|
-
import { C as Ca, S as Vr, a as Ea, u as Fn, A as On } from "./AutosaveStatus-
|
|
19
|
+
import { C as Ca, S as Vr, a as Ea, u as Fn, A as On } from "./AutosaveStatus-DhGM3UUx.js";
|
|
20
20
|
import { A as Sa, a as xa } from "./AdminDepositList-BUm_ZcAW.js";
|
|
21
21
|
import { A as _a, a as La, b as Pa, c as Ta } from "./AdminWithdrawalHistory-C76bkbjX.js";
|
|
22
22
|
import { u as Ra, A as Ba, a as Ia, b as Wn } from "./useUsersStatsSummary-BGeh3RnI.js";
|
|
23
23
|
import { c as Hm } from "./useUsersStatsSummary-BGeh3RnI.js";
|
|
24
24
|
import { S as qn } from "./StatsBar-BX-hHtTq.js";
|
|
25
25
|
import { u as Ma, O as Ua } from "./useOrgs-C90KT9KP.js";
|
|
26
|
-
import { P as Da } from "./plugin-
|
|
27
|
-
import { I as Gm, A as Km, C as Ym, c as Zm, c as Xm, u as Jm } from "./plugin-
|
|
28
|
-
import { A as Fa } from "./AuthenticationSettings-
|
|
29
|
-
import { E as Oa } from "./EmbeddedWalletSettings-
|
|
30
|
-
import { A as Wa, S as qa, P as za } from "./EmailSettings-
|
|
31
|
-
import { E as tf } from "./EmailSettings-
|
|
32
|
-
import { C as ja } from "./CreditSystemSettings-
|
|
33
|
-
import { S as $a } from "./ServerSettings-
|
|
34
|
-
import { S as Hr } from "./WebhookSettings-
|
|
35
|
-
import { W as sf } from "./WebhookSettings-
|
|
26
|
+
import { P as Da } from "./plugin-Cm8Q6O4-.js";
|
|
27
|
+
import { I as Gm, A as Km, C as Ym, c as Zm, c as Xm, u as Jm } from "./plugin-Cm8Q6O4-.js";
|
|
28
|
+
import { A as Fa } from "./AuthenticationSettings-Bc_qT4nV.js";
|
|
29
|
+
import { E as Oa } from "./EmbeddedWalletSettings-BDbPpqWD.js";
|
|
30
|
+
import { A as Wa, S as qa, P as za } from "./EmailSettings-BA722mhf.js";
|
|
31
|
+
import { E as tf } from "./EmailSettings-BA722mhf.js";
|
|
32
|
+
import { C as ja } from "./CreditSystemSettings-DxFpOeBW.js";
|
|
33
|
+
import { S as $a } from "./ServerSettings-DKzWaqjC.js";
|
|
34
|
+
import { S as Hr } from "./WebhookSettings-2hlLLyGd.js";
|
|
35
|
+
import { W as sf } from "./WebhookSettings-2hlLLyGd.js";
|
|
36
36
|
import { u as of } from "./useAdminDeposits-C76B2Q_8.js";
|
|
37
37
|
async function zn(e, r, s = mt) {
|
|
38
38
|
return ra(s), sa(e, r, s);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),n=require("react"),q=require("./LoadingSpinner-d6sSxgQN.cjs");function A({name:t,email:i,picture:r,onSettings:c,onLogout:p,className:S=""}){const[u,j]=n.useState(!1),w=n.useRef(null);n.useEffect(()=>{function x(_){w.current&&!w.current.contains(_.target)&&j(!1)}if(u)return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[u]),n.useEffect(()=>{function x(_){_.key==="Escape"&&j(!1)}if(u)return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[u]);const P=n.useCallback(()=>{j(!1),c?.()},[c]),M=n.useCallback(()=>{j(!1),p?.()},[p]),y=t||"User",h=(t?.[0]||i?.[0]||"?").toUpperCase();return e.jsxs("div",{className:`cedros-profile-dropdown ${S}`,ref:w,children:[e.jsxs("button",{type:"button",className:"cedros-profile-dropdown__trigger",onClick:()=>j(!u),"aria-expanded":u,"aria-haspopup":"menu",children:[e.jsx("div",{className:"cedros-profile-dropdown__avatar",children:r?e.jsx("img",{src:r,alt:y,className:"cedros-profile-dropdown__avatar-img",referrerPolicy:"no-referrer"}):e.jsx("span",{className:"cedros-profile-dropdown__avatar-placeholder",children:h})}),e.jsxs("div",{className:"cedros-profile-dropdown__info",children:[e.jsx("span",{className:"cedros-profile-dropdown__name",children:y}),i&&e.jsx("span",{className:"cedros-profile-dropdown__email",children:i})]}),e.jsx("svg",{className:`cedros-profile-dropdown__chevron ${u?"cedros-profile-dropdown__chevron--open":""}`,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("path",{d:"m6 9 6 6 6-6"})})]}),u&&e.jsxs("div",{className:"cedros-profile-dropdown__menu",role:"menu",children:[c&&e.jsxs("button",{type:"button",className:"cedros-profile-dropdown__item",onClick:P,role:"menuitem",children:[e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),"Settings"]}),p&&e.jsxs("button",{type:"button",className:"cedros-profile-dropdown__item cedros-profile-dropdown__item--danger",onClick:M,role:"menuitem",children:[e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),e.jsx("polyline",{points:"16 17 21 12 16 7"}),e.jsx("line",{x1:"21",x2:"9",y1:"12",y2:"12"})]}),"Log out"]})]})]})}class T{plugins=new Map;listeners=new Set;register(i){this.plugins.has(i.id)&&console.warn(`Plugin ${i.id} already registered, replacing...`),this.plugins.set(i.id,i),i.onRegister?.(this),this.notify()}unregister(i){const r=this.plugins.get(i);r&&(r.onUnregister?.(),this.plugins.delete(i),this.notify())}get(i){return this.plugins.get(i)}getAll(){return Array.from(this.plugins.values())}subscribe(i){return this.listeners.add(i),()=>this.listeners.delete(i)}notify(){const i=this.getAll();this.listeners.forEach(r=>r(i))}}const I=n.createContext(null);function D(){const t=n.useContext(I);if(!t)throw new Error("useAdminShell must be used within AdminShell");return t}function G(t){const i=new Map;for(const r of t)for(const c of r.groups??[])i.has(c.label)||i.set(c.label,c.order);return i}function $({title:t="Admin",plugins:i=[],hostContext:r,defaultSection:c,pageSize:p=20,refreshInterval:S=0,onSectionChange:u,logo:j,sidebarFooter:w,onSettingsClick:P,onLogoutClick:M,className:y=""}){const[h]=n.useState(()=>{const s=new T;return i.forEach(o=>s.register(o)),s}),[x,_]=n.useState(()=>h.getAll());n.useEffect(()=>h.subscribe(_),[h]);const f=n.useMemo(()=>x.flatMap(s=>s.sections.filter(o=>!(o.requiredPermission&&!s.checkPermission(o.requiredPermission,r)||r.dashboardPermissions&&!r.dashboardPermissions.canAccess(o.id))).map(o=>({...o,qualifiedId:`${s.id}:${o.id}`,pluginId:s.id,cssNamespace:s.cssNamespace}))),[x,r]),[v,N]=n.useState(()=>c??f[0]?.qualifiedId??null),[E,U]=n.useState(new Set),z=n.useCallback(s=>{U(o=>{const d=new Set(o);return d.has(s)?d.delete(s):d.add(s),d})},[]);n.useEffect(()=>{v&&!f.find(s=>s.qualifiedId===v)&&N(f[0]?.qualifiedId??null)},[f,v]);const L=n.useCallback(s=>{N(s),u?.(s)},[u]),C=n.useCallback(s=>{const o=h.get(s);return o?o.createPluginContext(r):null},[h,r]),O=n.useMemo(()=>{const s=G(x),o=new Map;return f.forEach(g=>{const a=g.group??"Menu",b=o.get(a)??[];o.set(a,[...b,g])}),Array.from(o.entries()).sort(([g],[a])=>{const b=s.get(g)??99,V=s.get(a)??99;return b-V})},[f,x]),k=n.useMemo(()=>{if(!v)return null;const[s,o]=v.split(":"),d=h.get(s);if(!d)return null;const g=d.components[o];if(!g)return null;const a=d.createPluginContext(r);return{Component:g,pluginContext:a,plugin:d}},[v,h,r]),W=n.useMemo(()=>({registry:h,hostContext:r,activeSection:v,setActiveSection:L,getPluginContext:C}),[h,r,v,L,C]),R=n.useMemo(()=>{const s=r.cedrosLogin;if(!s)return null;const o=s.user?{authMethods:[],emailVerified:!1,createdAt:"",updatedAt:"",...s.user}:null;return{config:{serverUrl:s.serverUrl},user:o,authState:s.user?"authenticated":"unauthenticated",error:null,logout:async()=>{},refreshUser:async()=>{},isModalOpen:!1,openModal:()=>{},closeModal:()=>{},_internal:{handleLoginSuccess:()=>{},getAccessToken:s.getAccessToken,getReferralCode:()=>null}}},[r.cedrosLogin]);return e.jsx(I.Provider,{value:W,children:e.jsx(q.CedrosLoginContext.Provider,{value:R,children:e.jsxs("div",{className:`cedros-admin cedros-admin-shell ${y||""}`,children:[e.jsxs("aside",{className:"cedros-admin-shell__sidebar",children:[e.jsx("div",{className:"cedros-admin-shell__sidebar-header",children:j??e.jsx("div",{className:"cedros-admin-shell__logo",children:e.jsx("span",{className:"cedros-admin-shell__logo-text",children:t})})}),e.jsx("nav",{className:"cedros-admin-shell__nav",children:O.map(([s,o])=>{const d=s==="Configuration",g=E.has(s);return e.jsxs("div",{className:"cedros-admin-shell__nav-group",children:[d?e.jsxs("button",{type:"button",className:"cedros-admin-shell__nav-label cedros-admin-shell__nav-label--collapsible",onClick:()=>z(s),"aria-expanded":!g,children:[e.jsx("span",{children:s}),e.jsx("span",{className:`cedros-admin-shell__nav-chevron ${g?"":"cedros-admin-shell__nav-chevron--expanded"}`,children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("path",{d:"m9 18 6-6-6-6"})})})]}):e.jsx("span",{className:"cedros-admin-shell__nav-label",children:s}),(!d||!g)&&o.sort((a,b)=>(a.order??0)-(b.order??0)).map(a=>e.jsxs("button",{type:"button",className:`cedros-admin-shell__nav-item ${v===a.qualifiedId?"cedros-admin-shell__nav-item--active":""}`,onClick:()=>L(a.qualifiedId),"aria-current":v===a.qualifiedId?"page":void 0,children:[e.jsx("span",{className:"cedros-admin-shell__nav-icon",children:a.icon}),e.jsx("span",{className:"cedros-admin-shell__nav-text",children:a.label}),a.badge&&e.jsx("span",{className:"cedros-admin-shell__nav-badge",children:a.badge})]},a.qualifiedId))]},s)})}),(r.cedrosLogin?.user||w)&&e.jsxs("div",{className:"cedros-admin-shell__sidebar-footer",children:[r.cedrosLogin?.user&&e.jsx(A,{name:r.cedrosLogin.user.name,email:r.cedrosLogin.user.email,picture:r.cedrosLogin.user.picture,onSettings:P,onLogout:M}),w]})]}),e.jsx("main",{className:"cedros-admin-shell__main",children:k?e.jsx(n.Suspense,{fallback:e.jsx(B,{}),children:e.jsx("div",{className:"cedros-admin-shell__section","data-plugin-namespace":k.plugin.cssNamespace,children:e.jsx(k.Component,{pluginContext:k.pluginContext,pageSize:p,refreshInterval:S})})}):e.jsx("div",{className:"cedros-admin-shell__empty",children:f.length===0?"No plugins loaded":"Select a section from the sidebar"})})]})})})}function B(){return e.jsxs("div",{className:"cedros-admin-shell__loading",children:[e.jsx(q.LoadingSpinner,{}),e.jsx("span",{children:"Loading..."})]})}const l={width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},m={users:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),e.jsx("circle",{cx:"9",cy:"7",r:"4"}),e.jsx("path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}),e.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),members:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),e.jsx("circle",{cx:"9",cy:"7",r:"4"}),e.jsx("path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}),e.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),invites:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),e.jsx("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}),deposits:e.jsxs("svg",{...l,children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"}),e.jsx("path",{d:"M12 18V6"})]}),withdrawals:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2"}),e.jsx("path",{d:"M9 22v-4h6v4"}),e.jsx("path",{d:"M8 6h.01"}),e.jsx("path",{d:"M16 6h.01"}),e.jsx("path",{d:"M12 6h.01"}),e.jsx("path",{d:"M12 10h.01"}),e.jsx("path",{d:"M12 14h.01"}),e.jsx("path",{d:"M16 10h.01"}),e.jsx("path",{d:"M16 14h.01"}),e.jsx("path",{d:"M8 10h.01"}),e.jsx("path",{d:"M8 14h.01"})]}),settings:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),wallet:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"}),e.jsx("path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"})]}),chevronRight:e.jsx("svg",{...l,children:e.jsx("path",{d:"m9 18 6-6-6-6"})}),key:e.jsx("svg",{...l,children:e.jsx("path",{d:"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"})}),toggles:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"20",height:"12",x:"2",y:"6",rx:"6"}),e.jsx("circle",{cx:"8",cy:"12",r:"2"})]}),shield:e.jsx("svg",{...l,children:e.jsx("path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"})}),mail:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),e.jsx("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}),webhook:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2"}),e.jsx("path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06"}),e.jsx("path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8"})]}),coins:e.jsxs("svg",{...l,children:[e.jsx("circle",{cx:"8",cy:"8",r:"6"}),e.jsx("path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18"}),e.jsx("path",{d:"M7 6h1v4"}),e.jsx("path",{d:"m16.71 13.88.7.71-2.82 2.82"})]}),server:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}),e.jsx("rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}),e.jsx("line",{x1:"6",x2:"6.01",y1:"6",y2:"6"}),e.jsx("line",{x1:"6",x2:"6.01",y1:"18",y2:"18"})]})},H=n.lazy(()=>Promise.resolve().then(()=>require("./UsersSection-C1Tt0ePx.cjs"))),F=n.lazy(()=>Promise.resolve().then(()=>require("./TeamSection-Km7EwLWD.cjs"))),J=n.lazy(()=>Promise.resolve().then(()=>require("./DepositsSection-uQUdGeVb.cjs"))),K=n.lazy(()=>Promise.resolve().then(()=>require("./WithdrawalsSection-BhuCwFat.cjs"))),Q=n.lazy(()=>Promise.resolve().then(()=>require("./AuthenticationSettings-BlYOmaEG.cjs"))),X=n.lazy(()=>Promise.resolve().then(()=>require("./EmbeddedWalletSettings-DXIjansC.cjs"))),Y=n.lazy(()=>Promise.resolve().then(()=>require("./EmailSettings-CihElRkc.cjs"))),Z=n.lazy(()=>Promise.resolve().then(()=>require("./WebhookSettings-C6X_JJcD.cjs"))),ee=n.lazy(()=>Promise.resolve().then(()=>require("./CreditSystemSettings-BskW_NKx.cjs"))),se=n.lazy(()=>Promise.resolve().then(()=>require("./ServerSettings-BTEuzdrf.cjs"))),re={"login:users:read":["admin","owner"],"login:users:write":["admin","owner"],"login:members:read":["member:read","admin","owner"],"login:members:write":["member:remove","member:role_change"],"login:invites:read":["invite:read","admin","owner"],"login:invites:write":["invite:create","invite:cancel"],"login:deposits:read":["admin","owner"],"login:deposits:write":["admin","owner"],"login:settings:read":["admin","owner"],"login:settings:write":["admin","owner"]},ie=[{id:"users",label:"Users",icon:m.users,group:"Users",order:0,requiredPermission:"login:users:read"},{id:"team",label:"Team",icon:m.members,group:"Users",order:1,requiredPermission:"login:members:read"},{id:"deposits",label:"Deposits",icon:m.deposits,group:"Users",order:2,requiredPermission:"login:deposits:read"},{id:"withdrawals",label:"Withdrawals",icon:m.withdrawals,group:"Users",order:3,requiredPermission:"login:deposits:read"},{id:"settings-auth",label:"Authentication",icon:m.key,group:"Configuration",order:0,requiredPermission:"login:settings:read"},{id:"settings-email",label:"Email & SMTP",icon:m.mail,group:"Configuration",order:1,requiredPermission:"login:settings:read"},{id:"settings-webhooks",label:"Webhooks",icon:m.webhook,group:"Configuration",order:2,requiredPermission:"login:settings:read"},{id:"settings-wallet",label:"User Wallets",icon:m.wallet,group:"Configuration",order:3,requiredPermission:"login:settings:read"},{id:"settings-credits",label:"Credit System",icon:m.coins,group:"Configuration",order:4,requiredPermission:"login:settings:read"},{id:"settings-server",label:"Auth Server",icon:m.server,group:"Configuration",order:5,requiredPermission:"login:settings:read"}],ne={id:"cedros-login",name:"Cedros Login",version:"1.0.0",sections:ie,groups:[{id:"users",label:"Users",order:0},{id:"configuration",label:"Configuration",order:2}],components:{users:H,team:F,deposits:J,withdrawals:K,"settings-auth":Q,"settings-wallet":X,"settings-email":Y,"settings-webhooks":Z,"settings-credits":ee,"settings-server":se},createPluginContext(t){const i=t.cedrosLogin;if(!i)throw new Error("cedros-login plugin requires cedrosLogin in hostContext");return{serverUrl:i.serverUrl,userId:i.user?.id,getAccessToken:i.getAccessToken,hasPermission:r=>this.checkPermission(r,t),orgId:t.org?.orgId,pluginData:{user:i.user,orgRole:t.org?.role}}},checkPermission(t,i){const r=i.org;if(!r)return!!i.cedrosLogin?.user;const c=re[t];return c?c.some(p=>r.permissions.includes(p)||p===r.role||p==="admin"&&["admin","owner"].includes(r.role)||p==="owner"&&r.role==="owner"):!1},cssNamespace:"cedros-dashboard"},oe={users:"users",team:"team",deposits:"deposits",withdrawals:"withdrawals",settingsAuth:"settings-auth",settingsEmail:"settings-email",settingsWebhooks:"settings-webhooks",settingsWallet:"settings-wallet",settingsCredits:"settings-credits",settingsServer:"settings-server"};exports.AdminShell=$;exports.CEDROS_LOGIN_SECTION_IDS=oe;exports.Icons=m;exports.ProfileDropdown=A;exports.cedrosLoginPlugin=ne;exports.useAdminShell=D;
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),n=require("react"),q=require("./LoadingSpinner-d6sSxgQN.cjs");function A({name:t,email:i,picture:r,onSettings:c,onLogout:p,className:S=""}){const[u,j]=n.useState(!1),w=n.useRef(null);n.useEffect(()=>{function x(_){w.current&&!w.current.contains(_.target)&&j(!1)}if(u)return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[u]),n.useEffect(()=>{function x(_){_.key==="Escape"&&j(!1)}if(u)return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[u]);const P=n.useCallback(()=>{j(!1),c?.()},[c]),M=n.useCallback(()=>{j(!1),p?.()},[p]),y=t||"User",h=(t?.[0]||i?.[0]||"?").toUpperCase();return e.jsxs("div",{className:`cedros-profile-dropdown ${S}`,ref:w,children:[e.jsxs("button",{type:"button",className:"cedros-profile-dropdown__trigger",onClick:()=>j(!u),"aria-expanded":u,"aria-haspopup":"menu",children:[e.jsx("div",{className:"cedros-profile-dropdown__avatar",children:r?e.jsx("img",{src:r,alt:y,className:"cedros-profile-dropdown__avatar-img",referrerPolicy:"no-referrer"}):e.jsx("span",{className:"cedros-profile-dropdown__avatar-placeholder",children:h})}),e.jsxs("div",{className:"cedros-profile-dropdown__info",children:[e.jsx("span",{className:"cedros-profile-dropdown__name",children:y}),i&&e.jsx("span",{className:"cedros-profile-dropdown__email",children:i})]}),e.jsx("svg",{className:`cedros-profile-dropdown__chevron ${u?"cedros-profile-dropdown__chevron--open":""}`,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("path",{d:"m6 9 6 6 6-6"})})]}),u&&e.jsxs("div",{className:"cedros-profile-dropdown__menu",role:"menu",children:[c&&e.jsxs("button",{type:"button",className:"cedros-profile-dropdown__item",onClick:P,role:"menuitem",children:[e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),"Settings"]}),p&&e.jsxs("button",{type:"button",className:"cedros-profile-dropdown__item cedros-profile-dropdown__item--danger",onClick:M,role:"menuitem",children:[e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),e.jsx("polyline",{points:"16 17 21 12 16 7"}),e.jsx("line",{x1:"21",x2:"9",y1:"12",y2:"12"})]}),"Log out"]})]})]})}class T{plugins=new Map;listeners=new Set;register(i){this.plugins.has(i.id)&&console.warn(`Plugin ${i.id} already registered, replacing...`),this.plugins.set(i.id,i),i.onRegister?.(this),this.notify()}unregister(i){const r=this.plugins.get(i);r&&(r.onUnregister?.(),this.plugins.delete(i),this.notify())}get(i){return this.plugins.get(i)}getAll(){return Array.from(this.plugins.values())}subscribe(i){return this.listeners.add(i),()=>this.listeners.delete(i)}notify(){const i=this.getAll();this.listeners.forEach(r=>r(i))}}const I=n.createContext(null);function D(){const t=n.useContext(I);if(!t)throw new Error("useAdminShell must be used within AdminShell");return t}function G(t){const i=new Map;for(const r of t)for(const c of r.groups??[])i.has(c.label)||i.set(c.label,c.order);return i}function $({title:t="Admin",plugins:i=[],hostContext:r,defaultSection:c,pageSize:p=20,refreshInterval:S=0,onSectionChange:u,logo:j,sidebarFooter:w,onSettingsClick:P,onLogoutClick:M,className:y=""}){const[h]=n.useState(()=>{const s=new T;return i.forEach(o=>s.register(o)),s}),[x,_]=n.useState(()=>h.getAll());n.useEffect(()=>h.subscribe(_),[h]);const f=n.useMemo(()=>x.flatMap(s=>s.sections.filter(o=>!(o.requiredPermission&&!s.checkPermission(o.requiredPermission,r)||r.dashboardPermissions&&!r.dashboardPermissions.canAccess(o.id))).map(o=>({...o,qualifiedId:`${s.id}:${o.id}`,pluginId:s.id,cssNamespace:s.cssNamespace}))),[x,r]),[v,N]=n.useState(()=>c??f[0]?.qualifiedId??null),[E,U]=n.useState(new Set),z=n.useCallback(s=>{U(o=>{const d=new Set(o);return d.has(s)?d.delete(s):d.add(s),d})},[]);n.useEffect(()=>{v&&!f.find(s=>s.qualifiedId===v)&&N(f[0]?.qualifiedId??null)},[f,v]);const L=n.useCallback(s=>{N(s),u?.(s)},[u]),C=n.useCallback(s=>{const o=h.get(s);return o?o.createPluginContext(r):null},[h,r]),O=n.useMemo(()=>{const s=G(x),o=new Map;return f.forEach(g=>{const a=g.group??"Menu",b=o.get(a)??[];o.set(a,[...b,g])}),Array.from(o.entries()).sort(([g],[a])=>{const b=s.get(g)??99,V=s.get(a)??99;return b-V})},[f,x]),k=n.useMemo(()=>{if(!v)return null;const[s,o]=v.split(":"),d=h.get(s);if(!d)return null;const g=d.components[o];if(!g)return null;const a=d.createPluginContext(r);return{Component:g,pluginContext:a,plugin:d}},[v,h,r]),W=n.useMemo(()=>({registry:h,hostContext:r,activeSection:v,setActiveSection:L,getPluginContext:C}),[h,r,v,L,C]),R=n.useMemo(()=>{const s=r.cedrosLogin;if(!s)return null;const o=s.user?{authMethods:[],emailVerified:!1,createdAt:"",updatedAt:"",...s.user}:null;return{config:{serverUrl:s.serverUrl},user:o,authState:s.user?"authenticated":"unauthenticated",error:null,logout:async()=>{},refreshUser:async()=>{},isModalOpen:!1,openModal:()=>{},closeModal:()=>{},_internal:{handleLoginSuccess:()=>{},getAccessToken:s.getAccessToken,getReferralCode:()=>null}}},[r.cedrosLogin]);return e.jsx(I.Provider,{value:W,children:e.jsx(q.CedrosLoginContext.Provider,{value:R,children:e.jsxs("div",{className:`cedros-admin cedros-admin-shell ${y||""}`,children:[e.jsxs("aside",{className:"cedros-admin-shell__sidebar",children:[e.jsx("div",{className:"cedros-admin-shell__sidebar-header",children:j??e.jsx("div",{className:"cedros-admin-shell__logo",children:e.jsx("span",{className:"cedros-admin-shell__logo-text",children:t})})}),e.jsx("nav",{className:"cedros-admin-shell__nav",children:O.map(([s,o])=>{const d=s==="Configuration",g=E.has(s);return e.jsxs("div",{className:"cedros-admin-shell__nav-group",children:[d?e.jsxs("button",{type:"button",className:"cedros-admin-shell__nav-label cedros-admin-shell__nav-label--collapsible",onClick:()=>z(s),"aria-expanded":!g,children:[e.jsx("span",{children:s}),e.jsx("span",{className:`cedros-admin-shell__nav-chevron ${g?"":"cedros-admin-shell__nav-chevron--expanded"}`,children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("path",{d:"m9 18 6-6-6-6"})})})]}):e.jsx("span",{className:"cedros-admin-shell__nav-label",children:s}),(!d||!g)&&o.sort((a,b)=>(a.order??0)-(b.order??0)).map(a=>e.jsxs("button",{type:"button",className:`cedros-admin-shell__nav-item ${v===a.qualifiedId?"cedros-admin-shell__nav-item--active":""}`,onClick:()=>L(a.qualifiedId),"aria-current":v===a.qualifiedId?"page":void 0,children:[e.jsx("span",{className:"cedros-admin-shell__nav-icon",children:a.icon}),e.jsx("span",{className:"cedros-admin-shell__nav-text",children:a.label}),a.badge&&e.jsx("span",{className:"cedros-admin-shell__nav-badge",children:a.badge})]},a.qualifiedId))]},s)})}),(r.cedrosLogin?.user||w)&&e.jsxs("div",{className:"cedros-admin-shell__sidebar-footer",children:[r.cedrosLogin?.user&&e.jsx(A,{name:r.cedrosLogin.user.name,email:r.cedrosLogin.user.email,picture:r.cedrosLogin.user.picture,onSettings:P,onLogout:M}),w]})]}),e.jsx("main",{className:"cedros-admin-shell__main",children:k?e.jsx(n.Suspense,{fallback:e.jsx(B,{}),children:e.jsx("div",{className:"cedros-admin-shell__section","data-plugin-namespace":k.plugin.cssNamespace,children:e.jsx(k.Component,{pluginContext:k.pluginContext,pageSize:p,refreshInterval:S})})}):e.jsx("div",{className:"cedros-admin-shell__empty",children:f.length===0?"No plugins loaded":"Select a section from the sidebar"})})]})})})}function B(){return e.jsxs("div",{className:"cedros-admin-shell__loading",children:[e.jsx(q.LoadingSpinner,{}),e.jsx("span",{children:"Loading..."})]})}const l={width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},m={users:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),e.jsx("circle",{cx:"9",cy:"7",r:"4"}),e.jsx("path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}),e.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),members:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),e.jsx("circle",{cx:"9",cy:"7",r:"4"}),e.jsx("path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}),e.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),invites:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),e.jsx("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}),deposits:e.jsxs("svg",{...l,children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"}),e.jsx("path",{d:"M12 18V6"})]}),withdrawals:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2"}),e.jsx("path",{d:"M9 22v-4h6v4"}),e.jsx("path",{d:"M8 6h.01"}),e.jsx("path",{d:"M16 6h.01"}),e.jsx("path",{d:"M12 6h.01"}),e.jsx("path",{d:"M12 10h.01"}),e.jsx("path",{d:"M12 14h.01"}),e.jsx("path",{d:"M16 10h.01"}),e.jsx("path",{d:"M16 14h.01"}),e.jsx("path",{d:"M8 10h.01"}),e.jsx("path",{d:"M8 14h.01"})]}),settings:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),wallet:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"}),e.jsx("path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"})]}),chevronRight:e.jsx("svg",{...l,children:e.jsx("path",{d:"m9 18 6-6-6-6"})}),key:e.jsx("svg",{...l,children:e.jsx("path",{d:"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"})}),toggles:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"20",height:"12",x:"2",y:"6",rx:"6"}),e.jsx("circle",{cx:"8",cy:"12",r:"2"})]}),shield:e.jsx("svg",{...l,children:e.jsx("path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"})}),mail:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),e.jsx("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}),webhook:e.jsxs("svg",{...l,children:[e.jsx("path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2"}),e.jsx("path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06"}),e.jsx("path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8"})]}),coins:e.jsxs("svg",{...l,children:[e.jsx("circle",{cx:"8",cy:"8",r:"6"}),e.jsx("path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18"}),e.jsx("path",{d:"M7 6h1v4"}),e.jsx("path",{d:"m16.71 13.88.7.71-2.82 2.82"})]}),server:e.jsxs("svg",{...l,children:[e.jsx("rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}),e.jsx("rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}),e.jsx("line",{x1:"6",x2:"6.01",y1:"6",y2:"6"}),e.jsx("line",{x1:"6",x2:"6.01",y1:"18",y2:"18"})]})},H=n.lazy(()=>Promise.resolve().then(()=>require("./UsersSection-C1Tt0ePx.cjs"))),F=n.lazy(()=>Promise.resolve().then(()=>require("./TeamSection-Km7EwLWD.cjs"))),J=n.lazy(()=>Promise.resolve().then(()=>require("./DepositsSection-uQUdGeVb.cjs"))),K=n.lazy(()=>Promise.resolve().then(()=>require("./WithdrawalsSection-BhuCwFat.cjs"))),Q=n.lazy(()=>Promise.resolve().then(()=>require("./AuthenticationSettings-BXZRBZqc.cjs"))),X=n.lazy(()=>Promise.resolve().then(()=>require("./EmbeddedWalletSettings-T7LwbGok.cjs"))),Y=n.lazy(()=>Promise.resolve().then(()=>require("./EmailSettings-BwZvdOYB.cjs"))),Z=n.lazy(()=>Promise.resolve().then(()=>require("./WebhookSettings-CoEoVRRO.cjs"))),ee=n.lazy(()=>Promise.resolve().then(()=>require("./CreditSystemSettings-BxSoDwEi.cjs"))),se=n.lazy(()=>Promise.resolve().then(()=>require("./ServerSettings-DptlzQAu.cjs"))),re={"login:users:read":["admin","owner"],"login:users:write":["admin","owner"],"login:members:read":["member:read","admin","owner"],"login:members:write":["member:remove","member:role_change"],"login:invites:read":["invite:read","admin","owner"],"login:invites:write":["invite:create","invite:cancel"],"login:deposits:read":["admin","owner"],"login:deposits:write":["admin","owner"],"login:settings:read":["admin","owner"],"login:settings:write":["admin","owner"]},ie=[{id:"users",label:"Users",icon:m.users,group:"Users",order:0,requiredPermission:"login:users:read"},{id:"team",label:"Team",icon:m.members,group:"Users",order:1,requiredPermission:"login:members:read"},{id:"deposits",label:"Deposits",icon:m.deposits,group:"Users",order:2,requiredPermission:"login:deposits:read"},{id:"withdrawals",label:"Withdrawals",icon:m.withdrawals,group:"Users",order:3,requiredPermission:"login:deposits:read"},{id:"settings-auth",label:"Authentication",icon:m.key,group:"Configuration",order:0,requiredPermission:"login:settings:read"},{id:"settings-email",label:"Email & SMTP",icon:m.mail,group:"Configuration",order:1,requiredPermission:"login:settings:read"},{id:"settings-webhooks",label:"Webhooks",icon:m.webhook,group:"Configuration",order:2,requiredPermission:"login:settings:read"},{id:"settings-wallet",label:"User Wallets",icon:m.wallet,group:"Configuration",order:3,requiredPermission:"login:settings:read"},{id:"settings-credits",label:"Credit System",icon:m.coins,group:"Configuration",order:4,requiredPermission:"login:settings:read"},{id:"settings-server",label:"Auth Server",icon:m.server,group:"Configuration",order:5,requiredPermission:"login:settings:read"}],ne={id:"cedros-login",name:"Cedros Login",version:"1.0.0",sections:ie,groups:[{id:"users",label:"Users",order:0},{id:"configuration",label:"Configuration",order:2}],components:{users:H,team:F,deposits:J,withdrawals:K,"settings-auth":Q,"settings-wallet":X,"settings-email":Y,"settings-webhooks":Z,"settings-credits":ee,"settings-server":se},createPluginContext(t){const i=t.cedrosLogin;if(!i)throw new Error("cedros-login plugin requires cedrosLogin in hostContext");return{serverUrl:i.serverUrl,userId:i.user?.id,getAccessToken:i.getAccessToken,hasPermission:r=>this.checkPermission(r,t),orgId:t.org?.orgId,pluginData:{user:i.user,orgRole:t.org?.role}}},checkPermission(t,i){const r=i.org;if(!r)return!!i.cedrosLogin?.user;const c=re[t];return c?c.some(p=>r.permissions.includes(p)||p===r.role||p==="admin"&&["admin","owner"].includes(r.role)||p==="owner"&&r.role==="owner"):!1},cssNamespace:"cedros-dashboard"},oe={users:"users",team:"team",deposits:"deposits",withdrawals:"withdrawals",settingsAuth:"settings-auth",settingsEmail:"settings-email",settingsWebhooks:"settings-webhooks",settingsWallet:"settings-wallet",settingsCredits:"settings-credits",settingsServer:"settings-server"};exports.AdminShell=$;exports.CEDROS_LOGIN_SECTION_IDS=oe;exports.Icons=m;exports.ProfileDropdown=A;exports.cedrosLoginPlugin=ne;exports.useAdminShell=D;
|