@sylphx/flow 0.2.10 → 0.2.12
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/README.md +36 -0
- package/dist/chunk-01gv4qey.js +4 -0
- package/dist/chunk-01gv4qey.js.map +11 -0
- package/dist/{chunk-f9yb2zk3.js → chunk-3m9whg4q.js} +2 -2
- package/dist/{chunk-f9yb2zk3.js.map → chunk-3m9whg4q.js.map} +1 -1
- package/dist/{chunk-sgafqzer.js → chunk-3w6pd43t.js} +3 -3
- package/dist/{chunk-sgafqzer.js.map → chunk-3w6pd43t.js.map} +2 -2
- package/dist/{chunk-d6k94684.js → chunk-4nm4ere4.js} +3 -3
- package/dist/{chunk-d6k94684.js.map → chunk-4nm4ere4.js.map} +1 -1
- package/dist/{chunk-ceyg2zjg.js → chunk-4vrj3f8r.js} +3 -3
- package/dist/{chunk-ceyg2zjg.js.map → chunk-4vrj3f8r.js.map} +1 -1
- package/dist/chunk-5njgv5k5.js +161 -0
- package/dist/{chunk-rsagxdqj.js.map → chunk-5njgv5k5.js.map} +4 -6
- package/dist/{chunk-6eb5a8kv.js → chunk-67n29s4q.js} +4 -4
- package/dist/chunk-67n29s4q.js.map +10 -0
- package/dist/{chunk-66qzap9m.js → chunk-86ce45n6.js} +2 -2
- package/dist/{chunk-66qzap9m.js.map → chunk-86ce45n6.js.map} +1 -1
- package/dist/{chunk-fyvtp08n.js → chunk-99pz5wm0.js} +2 -2
- package/dist/{chunk-fyvtp08n.js.map → chunk-99pz5wm0.js.map} +1 -1
- package/dist/chunk-d409xn8f.js +6 -0
- package/dist/{chunk-cjy100rr.js.map → chunk-d409xn8f.js.map} +2 -2
- package/dist/chunk-g0qpndpd.js +23 -0
- package/dist/{chunk-gmmm7xpw.js.map → chunk-g0qpndpd.js.map} +5 -5
- package/dist/{chunk-51kpynby.js → chunk-g4baca7p.js} +3 -3
- package/dist/{chunk-51kpynby.js.map → chunk-g4baca7p.js.map} +1 -1
- package/dist/chunk-gc66xe7z.js +4 -0
- package/dist/{chunk-8ep9gk6d.js.map → chunk-gc66xe7z.js.map} +2 -2
- package/dist/{chunk-2nfq57ym.js → chunk-hj6qtsqp.js} +2 -2
- package/dist/{chunk-2nfq57ym.js.map → chunk-hj6qtsqp.js.map} +2 -2
- package/dist/{chunk-etqfkn4f.js → chunk-jbd95k1f.js} +3 -3
- package/dist/{chunk-etqfkn4f.js.map → chunk-jbd95k1f.js.map} +1 -1
- package/dist/{chunk-z61qdct1.js → chunk-kn908zkk.js} +2 -2
- package/dist/{chunk-z61qdct1.js.map → chunk-kn908zkk.js.map} +1 -1
- package/dist/{chunk-rvx8bgqk.js → chunk-mw13a082.js} +3 -3
- package/dist/{chunk-rvx8bgqk.js.map → chunk-mw13a082.js.map} +1 -1
- package/dist/chunk-nke51f3c.js +4 -0
- package/dist/chunk-nke51f3c.js.map +10 -0
- package/dist/{chunk-ny1s8fnh.js → chunk-ns5atzyz.js} +2 -2
- package/dist/{chunk-ny1s8fnh.js.map → chunk-ns5atzyz.js.map} +1 -1
- package/dist/chunk-pp4r3hp4.js +105 -0
- package/dist/chunk-pp4r3hp4.js.map +27 -0
- package/dist/{chunk-372bgp30.js → chunk-q4nh3vst.js} +3 -3
- package/dist/{chunk-372bgp30.js.map → chunk-q4nh3vst.js.map} +1 -1
- package/dist/{chunk-585jp0rg.js → chunk-q5gqgs0p.js} +3 -3
- package/dist/chunk-q5gqgs0p.js.map +10 -0
- package/dist/{chunk-f676awyz.js → chunk-s9bsh0gp.js} +3 -3
- package/dist/{chunk-f676awyz.js.map → chunk-s9bsh0gp.js.map} +1 -1
- package/dist/chunk-ss51dw5h.js +27 -0
- package/dist/{chunk-weshapwk.js.map → chunk-ss51dw5h.js.map} +5 -5
- package/dist/{chunk-mtrcdhzn.js → chunk-xs370t8p.js} +3 -3
- package/dist/{chunk-mtrcdhzn.js.map → chunk-xs370t8p.js.map} +8 -8
- package/dist/chunk-xtrn4wn0.js +3 -0
- package/dist/{chunk-b0047ggx.js.map → chunk-xtrn4wn0.js.map} +2 -2
- package/dist/{chunk-7h737bp8.js → chunk-xvfz960r.js} +3 -3
- package/dist/{chunk-7h737bp8.js.map → chunk-xvfz960r.js.map} +1 -1
- package/dist/chunk-xytc0fks.js +27 -0
- package/dist/{chunk-vc4xy6dm.js.map → chunk-xytc0fks.js.map} +2 -2
- package/dist/chunk-yxv7hqse.js +23 -0
- package/dist/chunk-yxv7hqse.js.map +11 -0
- package/dist/chunk-zv5y8yfq.js +19 -0
- package/dist/chunk-zv5y8yfq.js.map +11 -0
- package/dist/index.js +278 -285
- package/dist/index.js.map +34 -30
- package/drizzle/0002_lyrical_random.sql +2 -0
- package/drizzle/0003_romantic_lockjaw.sql +4 -0
- package/drizzle/0004_blushing_meteorite.sql +6 -0
- package/drizzle/meta/0002_snapshot.json +920 -0
- package/drizzle/meta/0003_snapshot.json +920 -0
- package/drizzle/meta/0004_snapshot.json +921 -0
- package/drizzle/meta/_journal.json +21 -0
- package/package.json +4 -1
- package/dist/chunk-057m762a.js +0 -4
- package/dist/chunk-057m762a.js.map +0 -10
- package/dist/chunk-2j2gmjg5.js +0 -107
- package/dist/chunk-2j2gmjg5.js.map +0 -25
- package/dist/chunk-585jp0rg.js.map +0 -10
- package/dist/chunk-6eb5a8kv.js.map +0 -10
- package/dist/chunk-8ep9gk6d.js +0 -4
- package/dist/chunk-9qzv4trv.js +0 -23
- package/dist/chunk-9qzv4trv.js.map +0 -11
- package/dist/chunk-b0047ggx.js +0 -3
- package/dist/chunk-cjy100rr.js +0 -6
- package/dist/chunk-e74zv5ct.js +0 -19
- package/dist/chunk-e74zv5ct.js.map +0 -10
- package/dist/chunk-gmmm7xpw.js +0 -23
- package/dist/chunk-rsagxdqj.js +0 -161
- package/dist/chunk-vc4xy6dm.js +0 -27
- package/dist/chunk-weshapwk.js +0 -27
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Ha as M}from"./chunk-kn908zkk.js";import{Ka as E}from"./chunk-xs370t8p.js";import"./chunk-cv1nhr27.js";import"./chunk-jbd95k1f.js";import{Sb as Z}from"./chunk-4vrj3f8r.js";import{Tb as N,Wb as R}from"./chunk-3m9whg4q.js";import V from"node:fs/promises";import J from"node:path";import j from"node:os";var v=E(),x=Z.object({defaultProvider:Z.enum(["anthropic","openai","google","openrouter","claude-code","zai"]).optional(),defaultModel:Z.string().optional(),providers:Z.record(Z.string(),Z.object({defaultModel:Z.string().optional()}).passthrough()).optional()}),z=J.join(j.homedir(),".sylphx-flow","settings.json"),S=".sylphx-flow/settings.json",_=".sylphx-flow/settings.local.json",G=".sylphx-flow/ai-config.json",Y=(q=process.cwd())=>({global:z,project:J.join(q,S),local:J.join(q,_),legacy:J.join(q,G)}),B=async(q)=>{try{let k=await V.readFile(q,"utf8"),D=JSON.parse(k);return x.parse(D)}catch(k){if(k.code==="ENOENT")return null;throw k}},$=(q,k)=>{let D=new Set([...Object.keys(q.providers||{}),...Object.keys(k.providers||{})]),K={};for(let H of D)K[H]={...q.providers?.[H],...k.providers?.[H]};return{defaultProvider:k.defaultProvider??q.defaultProvider,defaultModel:k.defaultModel??q.defaultModel,providers:K}},h=async(q=process.cwd())=>{let k=Y(q);try{return await V.access(k.global).catch(()=>{}),!0}catch{}try{return await V.access(k.project),!0}catch{}try{return await V.access(k.local),!0}catch{}try{return await V.access(k.legacy),!0}catch{}return!1},T=async(q=process.cwd())=>{return M(async()=>{let k=Y(q),[D,K,H,U]=await Promise.all([B(k.global),B(k.project),B(k.local),B(k.legacy)]);if(U&&!D){await y(q);let X=await B(k.global);if(X){let W={};if(W=$(W,X),K)W=$(W,K);if(H)W=$(W,H);return W}}let Q={};if(D)Q=$(Q,D);if(K)Q=$(Q,K);if(H)Q=$(Q,H);if(U)Q=$(Q,U);return Q},(k)=>Error(`Failed to load AI config: ${k.message}`))},L=async(q,k=process.cwd())=>{let K=Y(k).global;return M(async()=>{await V.mkdir(J.dirname(K),{recursive:!0});let H={...q};if(!H.defaultProvider&&H.providers){let{getProvider:Q}=await import("./chunk-xs370t8p.js"),X=[];for(let[W,O]of Object.entries(H.providers))try{if(Q(W).isConfigured(O))X.push(W)}catch{}if(X.length>0)H.defaultProvider=X[X.length-1]}let U=x.parse(H);await V.writeFile(K,JSON.stringify(U,null,2)+`
|
|
2
2
|
`,"utf8")},(H)=>Error(`Failed to save AI config: ${H.message}`))},p=async(q,k,D=process.cwd())=>{let H=Y(D)[k];return M(async()=>{await V.mkdir(J.dirname(H),{recursive:!0});let U=x.parse(q);await V.writeFile(H,JSON.stringify(U,null,2)+`
|
|
3
|
-
`,"utf8")},(U)=>Error(`Failed to save AI config to ${k}: ${U.message}`))},C=async(q,k=process.cwd())=>{let D=await T(k);if(D._tag==="Failure")return D;let K={...D.value,...q,providers:{...D.value.providers,...q.providers}};return L(K,k)},l=async(q=process.cwd())=>{let k=await T(q);if(k._tag==="Failure")return[];let D=[],K=k.value;if(!K.providers)return[];let{getProvider:H}=await import("./chunk-
|
|
3
|
+
`,"utf8")},(U)=>Error(`Failed to save AI config to ${k}: ${U.message}`))},C=async(q,k=process.cwd())=>{let D=await T(k);if(D._tag==="Failure")return D;let K={...D.value,...q,providers:{...D.value.providers,...q.providers}};return L(K,k)},l=async(q=process.cwd())=>{let k=await T(q);if(k._tag==="Failure")return[];let D=[],K=k.value;if(!K.providers)return[];let{getProvider:H}=await import("./chunk-xs370t8p.js");for(let[U,Q]of Object.entries(K.providers))try{if(H(U).isConfigured(Q))D.push(U)}catch{}return D},y=async(q=process.cwd())=>{return M(async()=>{let k=Y(q),D=await B(k.legacy);if(!D)return;if(await B(k.global)){console.log("Legacy config found but global config already exists. Skipping migration."),console.log(`You can manually delete ${k.legacy} if migration is complete.`);return}await V.mkdir(J.dirname(k.global),{recursive:!0}),await V.writeFile(k.global,JSON.stringify(D,null,2)+`
|
|
4
4
|
`,"utf8"),console.log(`✓ Migrated configuration from ${k.legacy} to ${k.global}`),console.log(` You can now safely delete the legacy file: ${k.legacy}`)},(k)=>Error(`Failed to migrate legacy config: ${k.message}`))};export{C as updateAIConfig,p as saveAIConfigTo,L as saveAIConfig,y as migrateLegacyConfig,T as loadAIConfig,l as getConfiguredProviders,Y as getAIConfigPaths,h as aiConfigExists,v as AI_PROVIDERS};
|
|
5
|
-
export{v as
|
|
5
|
+
export{v as Aa,T as Ba,L as Ca,l as Da};
|
|
6
6
|
|
|
7
|
-
//# debugId=
|
|
7
|
+
//# debugId=2920349B75A13FF164756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/config/ai-config.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * AI Configuration Management\n *\n * Three-tier configuration system:\n * 1. Global: ~/.sylphx-flow/settings.json (user defaults, contains API keys)\n * 2. Project: ./.sylphx-flow/settings.json (project preferences, no secrets)\n * 3. Local: ./.sylphx-flow/settings.local.json (local overrides, gitignored)\n *\n * Priority: local > project > global\n */\n\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport os from 'node:os';\nimport { z } from 'zod';\nimport { type Result, success, tryCatchAsync } from '../core/functional/result.js';\nimport { getAllProviders } from '../providers/index.js';\nimport type { ProviderId, ProviderConfigValue as ProviderConfigValueType } from '../types/provider.types.js';\n\n// Re-export types for backward compatibility\nexport type { ProviderId } from '../types/provider.types.js';\n\n/**\n * AI_PROVIDERS - Provider metadata from registry\n * Contains basic info (id, name) for UI components\n * Config schemas are defined in each provider's getConfigSchema()\n */\nexport const AI_PROVIDERS = getAllProviders();\n\n/**\n * Provider configuration\n * Each provider can have different config fields (defined by provider.getConfigSchema())\n * Common fields: apiKey, defaultModel, etc\n */\nexport type ProviderConfigValue = ProviderConfigValueType;\n\n/**\n * AI configuration schema\n * Uses generic Record for provider configs - validation happens at provider level\n */\nconst aiConfigSchema = z.object({\n defaultProvider: z.enum(['anthropic', 'openai', 'google', 'openrouter', 'claude-code', 'zai']).optional(),\n defaultModel: z.string().optional(),\n providers: z.record(\n z.string(),\n z.object({\n defaultModel: z.string().optional(),\n }).passthrough() // Allow additional fields defined by provider\n ).optional(),\n});\n\nexport type AIConfig = z.infer<typeof aiConfigSchema>;\n\n/**\n * Configuration file paths\n */\nconst GLOBAL_CONFIG_FILE = path.join(os.homedir(), '.sylphx-flow', 'settings.json');\nconst PROJECT_CONFIG_FILE = '.sylphx-flow/settings.json';\nconst LOCAL_CONFIG_FILE = '.sylphx-flow/settings.local.json';\n\n/**\n * Deprecated config file (for migration)\n */\nconst LEGACY_CONFIG_FILE = '.sylphx-flow/ai-config.json';\n\n/**\n * Get AI config file paths in priority order\n */\nexport const getAIConfigPaths = (cwd: string = process.cwd()): {\n global: string;\n project: string;\n local: string;\n legacy: string;\n} => ({\n global: GLOBAL_CONFIG_FILE,\n project: path.join(cwd, PROJECT_CONFIG_FILE),\n local: path.join(cwd, LOCAL_CONFIG_FILE),\n legacy: path.join(cwd, LEGACY_CONFIG_FILE),\n});\n\n/**\n * Load config from a single file\n */\nconst loadConfigFile = async (filePath: string): Promise<AIConfig | null> => {\n try {\n const content = await fs.readFile(filePath, 'utf8');\n const parsed = JSON.parse(content);\n return aiConfigSchema.parse(parsed);\n } catch (error: any) {\n if (error.code === 'ENOENT') {\n return null; // File doesn't exist\n }\n throw error; // Re-throw other errors\n }\n};\n\n/**\n * Deep merge two configs (b overwrites a)\n */\nconst mergeConfigs = (a: AIConfig, b: AIConfig): AIConfig => {\n // Merge provider configs dynamically\n const allProviderIds = new Set([\n ...Object.keys(a.providers || {}),\n ...Object.keys(b.providers || {}),\n ]);\n\n const mergedProviders: Record<string, any> = {};\n for (const providerId of allProviderIds) {\n mergedProviders[providerId] = {\n ...a.providers?.[providerId],\n ...b.providers?.[providerId],\n };\n }\n\n return {\n defaultProvider: b.defaultProvider ?? a.defaultProvider,\n defaultModel: b.defaultModel ?? a.defaultModel,\n providers: mergedProviders,\n };\n};\n\n/**\n * Check if any AI config exists\n */\nexport const aiConfigExists = async (cwd: string = process.cwd()): Promise<boolean> => {\n const paths = getAIConfigPaths(cwd);\n try {\n // Check any of the config files\n await fs.access(paths.global).catch(() => {});\n return true;\n } catch {}\n\n try {\n await fs.access(paths.project);\n return true;\n } catch {}\n\n try {\n await fs.access(paths.local);\n return true;\n } catch {}\n\n try {\n await fs.access(paths.legacy);\n return true;\n } catch {}\n\n return false;\n};\n\n/**\n * Load AI configuration\n * Merges global, project, and local configs with priority: local > project > global\n * Automatically migrates legacy config on first load\n */\nexport const loadAIConfig = async (cwd: string = process.cwd()): Promise<Result<AIConfig, Error>> => {\n return tryCatchAsync(\n async () => {\n const paths = getAIConfigPaths(cwd);\n\n // Load all config files\n const [globalConfig, projectConfig, localConfig, legacyConfig] = await Promise.all([\n loadConfigFile(paths.global),\n loadConfigFile(paths.project),\n loadConfigFile(paths.local),\n loadConfigFile(paths.legacy),\n ]);\n\n // Auto-migrate legacy config if it exists and global doesn't\n if (legacyConfig && !globalConfig) {\n await migrateLegacyConfig(cwd);\n // Reload global config after migration\n const migratedGlobal = await loadConfigFile(paths.global);\n if (migratedGlobal) {\n // Start with empty config\n let merged: AIConfig = {};\n\n // Merge in priority order: global < project < local\n merged = mergeConfigs(merged, migratedGlobal);\n if (projectConfig) merged = mergeConfigs(merged, projectConfig);\n if (localConfig) merged = mergeConfigs(merged, localConfig);\n\n return merged;\n }\n }\n\n // Start with empty config\n let merged: AIConfig = {};\n\n // Merge in priority order: global < project < local < legacy (for backwards compat)\n if (globalConfig) merged = mergeConfigs(merged, globalConfig);\n if (projectConfig) merged = mergeConfigs(merged, projectConfig);\n if (localConfig) merged = mergeConfigs(merged, localConfig);\n if (legacyConfig) merged = mergeConfigs(merged, legacyConfig);\n\n return merged;\n },\n (error: any) => new Error(`Failed to load AI config: ${error.message}`)\n );\n};\n\n/**\n * Save AI configuration to global settings\n * By default, all configuration (including API keys) goes to ~/.sylphx-flow/settings.json\n * Automatically sets default provider if not set\n */\nexport const saveAIConfig = async (\n config: AIConfig,\n cwd: string = process.cwd()\n): Promise<Result<void, Error>> => {\n const paths = getAIConfigPaths(cwd);\n const configPath = paths.global; // Save to global by default\n\n return tryCatchAsync(\n async () => {\n // Ensure directory exists\n await fs.mkdir(path.dirname(configPath), { recursive: true });\n\n // Auto-set default provider if not set\n const configToSave = { ...config };\n if (!configToSave.defaultProvider && configToSave.providers) {\n // Get configured providers (those that pass isConfigured check)\n const { getProvider } = await import('../providers/index.js');\n const configuredProviders: ProviderId[] = [];\n\n for (const [providerId, providerConfig] of Object.entries(configToSave.providers)) {\n try {\n const provider = getProvider(providerId as ProviderId);\n if (provider.isConfigured(providerConfig)) {\n configuredProviders.push(providerId as ProviderId);\n }\n } catch {\n // Skip unknown providers\n }\n }\n\n // Use last configured provider as default\n if (configuredProviders.length > 0) {\n configToSave.defaultProvider = configuredProviders[configuredProviders.length - 1];\n }\n }\n\n // Validate config\n const validated = aiConfigSchema.parse(configToSave);\n\n // Write config\n await fs.writeFile(configPath, JSON.stringify(validated, null, 2) + '\\n', 'utf8');\n },\n (error: any) => new Error(`Failed to save AI config: ${error.message}`)\n );\n};\n\n/**\n * Save AI configuration to a specific location\n */\nexport const saveAIConfigTo = async (\n config: AIConfig,\n location: 'global' | 'project' | 'local',\n cwd: string = process.cwd()\n): Promise<Result<void, Error>> => {\n const paths = getAIConfigPaths(cwd);\n const configPath = paths[location];\n\n return tryCatchAsync(\n async () => {\n // Ensure directory exists\n await fs.mkdir(path.dirname(configPath), { recursive: true });\n\n // Validate config\n const validated = aiConfigSchema.parse(config);\n\n // Write config\n await fs.writeFile(configPath, JSON.stringify(validated, null, 2) + '\\n', 'utf8');\n },\n (error: any) => new Error(`Failed to save AI config to ${location}: ${error.message}`)\n );\n};\n\n/**\n * Update AI configuration (merge with existing)\n * Default provider is auto-set by saveAIConfig to last configured provider\n */\nexport const updateAIConfig = async (\n updates: Partial<AIConfig>,\n cwd: string = process.cwd()\n): Promise<Result<void, Error>> => {\n const currentResult = await loadAIConfig(cwd);\n\n if (currentResult._tag === 'Failure') {\n return currentResult;\n }\n\n const merged: AIConfig = {\n ...currentResult.value,\n ...updates,\n providers: {\n ...currentResult.value.providers,\n ...updates.providers,\n },\n };\n\n // saveAIConfig will auto-set default provider if not set\n return saveAIConfig(merged, cwd);\n};\n\n/**\n * Get configured providers\n * Uses provider's isConfigured() method to check\n */\nexport const getConfiguredProviders = async (\n cwd: string = process.cwd()\n): Promise<ProviderId[]> => {\n const result = await loadAIConfig(cwd);\n\n if (result._tag === 'Failure') {\n return [];\n }\n\n const providers: ProviderId[] = [];\n const config = result.value;\n\n if (!config.providers) {\n return [];\n }\n\n // Dynamically import provider registry to avoid circular dependency\n const { getProvider } = await import('../providers/index.js');\n\n for (const [providerId, providerConfig] of Object.entries(config.providers)) {\n try {\n const provider = getProvider(providerId as ProviderId);\n if (provider.isConfigured(providerConfig)) {\n providers.push(providerId as ProviderId);\n }\n } catch {\n // Skip unknown providers\n }\n }\n\n return providers;\n};\n\n/**\n * Migrate legacy ai-config.json to new settings system\n * Automatically called on first load if legacy config exists\n */\nexport const migrateLegacyConfig = async (cwd: string = process.cwd()): Promise<Result<void, Error>> => {\n return tryCatchAsync(\n async () => {\n const paths = getAIConfigPaths(cwd);\n\n // Check if legacy config exists\n const legacyConfig = await loadConfigFile(paths.legacy);\n if (!legacyConfig) {\n return; // No legacy config to migrate\n }\n\n // Check if global config already exists\n const globalConfig = await loadConfigFile(paths.global);\n if (globalConfig) {\n // Global config exists, don't overwrite it\n console.log('Legacy config found but global config already exists. Skipping migration.');\n console.log(`You can manually delete ${paths.legacy} if migration is complete.`);\n return;\n }\n\n // Migrate to global config\n await fs.mkdir(path.dirname(paths.global), { recursive: true });\n await fs.writeFile(paths.global, JSON.stringify(legacyConfig, null, 2) + '\\n', 'utf8');\n\n console.log(`✓ Migrated configuration from ${paths.legacy} to ${paths.global}`);\n console.log(` You can now safely delete the legacy file: ${paths.legacy}`);\n },\n (error: any) => new Error(`Failed to migrate legacy config: ${error.message}`)\n );\n};\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "2920349B75A13FF164756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as M}from"./chunk-waemzsf4.js";import{
|
|
1
|
+
import{a as M}from"./chunk-waemzsf4.js";import{Ea as J,Fa as V,Ga as X}from"./chunk-kn908zkk.js";import"./chunk-3m9whg4q.js";var j=async(q)=>{return{sessionCommand:`sylphx-flow hook --type session --target ${q}`,messageCommand:`sylphx-flow hook --type message --target ${q}`,notificationCommand:`sylphx-flow hook --type notification --target ${q}`}},B={sessionCommand:"sylphx-flow hook --type session --target claude-code",messageCommand:"sylphx-flow hook --type message --target claude-code",notificationCommand:"sylphx-flow hook --type notification --target claude-code"},Z=(q)=>{return X(()=>JSON.parse(q),(v)=>M("Failed to parse Claude Code settings",{cause:v instanceof Error?v:void 0}))},Y=(q=B)=>{let v=q.sessionCommand||B.sessionCommand,G=q.messageCommand||B.messageCommand,N=q.notificationCommand||B.notificationCommand;return{SessionStart:[{hooks:[{type:"command",command:v}]}],UserPromptSubmit:[{hooks:[{type:"command",command:G}]}],Notification:[{matcher:"",hooks:[{type:"command",command:N}]}]}},$=(q,v=B)=>{let G=Y(v);return{...q,hooks:{...q.hooks||{},...G}}},W=(q=B)=>{return{hooks:Y(q)}},Q=(q)=>{return JSON.stringify(q,null,2)},y=()=>{return"Claude Code hooks configured: SessionStart (static info) + UserPromptSubmit (dynamic info)"},R=(q,v=B)=>{if(q===null||q.trim()===""){let P=W(v);return J(Q(P))}let G=Z(q);if(G._tag==="Failure"){let P=W(v);return J(Q(P))}let N=$(G.value,v);return J(Q(N))},z=(q)=>{if(q.sessionCommand!==void 0&&q.sessionCommand.trim()==="")return V(M("Session command cannot be empty"));if(q.messageCommand!==void 0&&q.messageCommand.trim()==="")return V(M("Message command cannot be empty"));return J(q)};export{z as validateHookConfig,Q as serializeSettings,R as processSettings,Z as parseSettings,$ as mergeSettings,y as getSuccessMessage,j as generateHookCommands,W as createSettings,Y as buildHookConfiguration,B as DEFAULT_HOOKS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=4387D896057D481F64756E2164756E21
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"/**\n * Business logic for Claude Code target setup\n * Pure functions separated from I/O\n *\n * DESIGN RATIONALE:\n * - Business logic testable without file system\n * - Pure functions for settings transformation\n * - Side effects isolated\n * - Clear separation of concerns\n */\n\nimport type { ConfigError } from '../../core/functional/error-types.js';\nimport { configError } from '../../core/functional/error-types.js';\nimport type { Result } from '../../core/functional/result.js';\nimport { failure, success, tryCatch } from '../../core/functional/result.js';\n\n/**\n * Claude Code settings structure\n */\nexport interface ClaudeCodeSettings {\n hooks?: Record<\n string,\n Array<{\n hooks: Array<{\n type: string;\n command: string;\n }>;\n }>\n >;\n [key: string]: unknown;\n}\n\nexport interface HookConfig {\n sessionCommand?: string;\n messageCommand?: string;\n notificationCommand?: string;\n}\n\n/**\n * Generate hook commands for the target\n * Uses global sylphx-flow command (users must install globally first)\n */\nexport const generateHookCommands = async (targetId: string): Promise<HookConfig> => {\n return {\n sessionCommand: `sylphx-flow hook --type session --target ${targetId}`,\n messageCommand: `sylphx-flow hook --type message --target ${targetId}`,\n notificationCommand: `sylphx-flow hook --type notification --target ${targetId}`,\n };\n};\n\n/**\n * Default hook commands (fallback)\n * Now using unified hook command for all content (rules, output styles, system info)\n */\nexport const DEFAULT_HOOKS: HookConfig = {\n sessionCommand: 'sylphx-flow hook --type session --target claude-code',\n messageCommand: 'sylphx-flow hook --type message --target claude-code',\n notificationCommand: 'sylphx-flow hook --type notification --target claude-code',\n};\n\n/**\n * Parse JSON settings (pure)\n */\nexport const parseSettings = (content: string): Result<ClaudeCodeSettings, ConfigError> => {\n return tryCatch(\n () => JSON.parse(content) as ClaudeCodeSettings,\n (error) =>\n configError('Failed to parse Claude Code settings', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n\n/**\n * Build hook configuration (pure)\n */\nexport const buildHookConfiguration = (\n config: HookConfig = DEFAULT_HOOKS\n): ClaudeCodeSettings['hooks'] => {\n const sessionCommand = config.sessionCommand || DEFAULT_HOOKS.sessionCommand!;\n const messageCommand = config.messageCommand || DEFAULT_HOOKS.messageCommand!;\n const notificationCommand = config.notificationCommand || DEFAULT_HOOKS.notificationCommand!;\n\n return {\n SessionStart: [\n {\n hooks: [\n {\n type: 'command',\n command: sessionCommand,\n },\n ],\n },\n ],\n UserPromptSubmit: [\n {\n hooks: [\n {\n type: 'command',\n command: messageCommand,\n },\n ],\n },\n ],\n Notification: [\n {\n matcher: '',\n hooks: [\n {\n type: 'command',\n command: notificationCommand,\n },\n ],\n },\n ],\n };\n};\n\n/**\n * Merge settings with new hooks (pure)\n */\nexport const mergeSettings = (\n existingSettings: ClaudeCodeSettings,\n hookConfig: HookConfig = DEFAULT_HOOKS\n): ClaudeCodeSettings => {\n const newHooks = buildHookConfiguration(hookConfig);\n\n return {\n ...existingSettings,\n hooks: {\n ...(existingSettings.hooks || {}),\n ...newHooks,\n },\n };\n};\n\n/**\n * Create settings with hooks (pure)\n */\nexport const createSettings = (hookConfig: HookConfig = DEFAULT_HOOKS): ClaudeCodeSettings => {\n return {\n hooks: buildHookConfiguration(hookConfig),\n };\n};\n\n/**\n * Serialize settings to JSON (pure)\n */\nexport const serializeSettings = (settings: ClaudeCodeSettings): string => {\n return JSON.stringify(settings, null, 2);\n};\n\n/**\n * Get success message (pure)\n */\nexport const getSuccessMessage = (): string => {\n return 'Claude Code hooks configured: SessionStart (static info) + UserPromptSubmit (dynamic info)';\n};\n\n/**\n * Process settings: parse existing or create new, merge hooks, serialize (pure)\n */\nexport const processSettings = (\n existingContent: string | null,\n hookConfig: HookConfig = DEFAULT_HOOKS\n): Result<string, ConfigError> => {\n if (existingContent === null || existingContent.trim() === '') {\n // No existing settings, create new\n const settings = createSettings(hookConfig);\n return success(serializeSettings(settings));\n }\n\n // Parse existing settings\n const parseResult = parseSettings(existingContent);\n if (parseResult._tag === 'Failure') {\n // If parsing fails, create new settings\n const settings = createSettings(hookConfig);\n return success(serializeSettings(settings));\n }\n\n // Merge with existing\n const merged = mergeSettings(parseResult.value, hookConfig);\n return success(serializeSettings(merged));\n};\n\n/**\n * Validate hook configuration (pure)\n */\nexport const validateHookConfig = (config: HookConfig): Result<HookConfig, ConfigError> => {\n if (config.sessionCommand !== undefined && config.sessionCommand.trim() === '') {\n return failure(configError('Session command cannot be empty'));\n }\n\n if (config.messageCommand !== undefined && config.messageCommand.trim() === '') {\n return failure(configError('Message command cannot be empty'));\n }\n\n return success(config);\n};\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "yIA0CO,FAAM,JAAuB,MAAO,IAA0C,CACnF,MAAO,CACL,eAAgB,4CAA4C,IAC5D,eAAgB,4CAA4C,IAC5D,oBAAqB,iDAAiD,GACxE,GAOW,EAA4B,CACvC,eAAgB,uDAChB,eAAgB,uDAChB,oBAAqB,2DACvB,EAKa,EAAgB,CAAC,IAA6D,CACzF,OAAO,EACL,IAAM,KAAK,MAAM,CAAO,EACxB,CAAC,IACC,EAAY,uCAAwC,CAClD,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAMW,EAAyB,CACpC,EAAqB,IACW,CAChC,IAAM,EAAiB,EAAO,gBAAkB,EAAc,eACxD,EAAiB,EAAO,gBAAkB,EAAc,eACxD,EAAsB,EAAO,qBAAuB,EAAc,oBAExE,MAAO,CACL,aAAc,CACZ,CACE,MAAO,CACL,CACE,KAAM,UACN,QAAS,CACX,CACF,CACF,CACF,EACA,iBAAkB,CAChB,CACE,MAAO,CACL,CACE,KAAM,UACN,QAAS,CACX,CACF,CACF,CACF,EACA,aAAc,CACZ,CACE,QAAS,GACT,MAAO,CACL,CACE,KAAM,UACN,QAAS,CACX,CACF,CACF,CACF,CACF,GAMW,EAAgB,CAC3B,EACA,EAAyB,IACF,CACvB,IAAM,EAAW,EAAuB,CAAU,EAElD,MAAO,IACF,EACH,MAAO,IACD,EAAiB,OAAS,CAAC,KAC5B,CACL,CACF,GAMW,EAAiB,CAAC,EAAyB,IAAsC,CAC5F,MAAO,CACL,MAAO,EAAuB,CAAU,CAC1C,GAMW,EAAoB,CAAC,IAAyC,CACzE,OAAO,KAAK,UAAU,EAAU,KAAM,CAAC,GAM5B,EAAoB,IAAc,CAC7C,MAAO,8FAMI,EAAkB,CAC7B,EACA,EAAyB,IACO,CAChC,GAAI,IAAoB,MAAQ,EAAgB,KAAK,IAAM,GAAI,CAE7D,IAAM,EAAW,EAAe,CAAU,EAC1C,OAAO,EAAQ,EAAkB,CAAQ,CAAC,EAI5C,IAAM,EAAc,EAAc,CAAe,EACjD,GAAI,EAAY,OAAS,UAAW,CAElC,IAAM,EAAW,EAAe,CAAU,EAC1C,OAAO,EAAQ,EAAkB,CAAQ,CAAC,EAI5C,IAAM,EAAS,EAAc,EAAY,MAAO,CAAU,EAC1D,OAAO,EAAQ,EAAkB,CAAM,CAAC,GAM7B,EAAqB,CAAC,IAAwD,CACzF,GAAI,EAAO,iBAAmB,QAAa,EAAO,eAAe,KAAK,IAAM,GAC1E,OAAO,EAAQ,EAAY,iCAAiC,CAAC,EAG/D,GAAI,EAAO,iBAAmB,QAAa,EAAO,eAAe,KAAK,IAAM,GAC1E,OAAO,EAAQ,EAAY,iCAAiC,CAAC,EAG/D,OAAO,EAAQ,CAAM",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "4387D896057D481F64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{xa as nI}from"./chunk-51kpynby.js";import{Rb as YW,Sb as XW}from"./chunk-f9yb2zk3.js";var iI=XW((NB,vC)=>{(function(fz,ak){if(typeof NB==="object"&&typeof vC==="object")vC.exports=ak();else if(typeof define==="function"&&define.amd)define([],ak);else if(typeof NB==="object")NB.ReactDevToolsBackend=ak();else fz.ReactDevToolsBackend=ak()})(self,()=>{return(()=>{var pC={786:(ah,u,fh)=>{var e;function Zh(N){return Zh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(T){return typeof T}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":typeof T},Zh(N)}var hk=fh(206),Wk=fh(189),Mh=Object.assign,F=Wk.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=Symbol.for("react.context"),A=Symbol.for("react.memo_cache_sentinel"),S=Object.prototype.hasOwnProperty,i=[],Wh=null;function wh(){if(Wh===null){var N=new Map;try{if(yh.useContext({_currentValue:null}),yh.useState(null),yh.useReducer(function(r){return r},null),yh.useRef(null),typeof yh.useCacheRefresh==="function"&&yh.useCacheRefresh(),yh.useLayoutEffect(function(){}),yh.useInsertionEffect(function(){}),yh.useEffect(function(){}),yh.useImperativeHandle(void 0,function(){return null}),yh.useDebugValue(null),yh.useCallback(function(){}),yh.useTransition(),yh.useSyncExternalStore(function(){return function(){}},function(){return null},function(){return null}),yh.useDeferredValue(null),yh.useMemo(function(){return null}),yh.useOptimistic(null,function(r){return r}),yh.useFormState(function(r){return r},null),yh.useActionState(function(r){return r},null),yh.useHostTransitionStatus(),typeof yh.useMemoCache==="function"&&yh.useMemoCache(0),typeof yh.use==="function"){yh.use({$$typeof:U,_currentValue:null}),yh.use({then:function(){},status:"fulfilled",value:null});try{yh.use({then:function(){}})}catch(r){}}yh.useId(),typeof yh.useEffectEvent==="function"&&yh.useEffectEvent(function(){})}finally{var T=i;i=[]}for(var X=0;X<T.length;X++){var g=T[X];N.set(g.primitive,hk.parse(g.stackError))}Wh=N}return Wh}var s=null,Kh=null,l=null,Bh=0,xh=null;function Vh(){var N=Kh;return N!==null&&(Kh=N.next),N}function _k(N){if(s===null)return N._currentValue;if(l===null)throw Error("Context reads do not line up with context dependencies. This is a bug in React Debug Tools.");return S.call(l,"memoizedValue")?(N=l.memoizedValue,l=l.next):N=N._currentValue,N}var Fk=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."),yh={readContext:_k,use:function(T){if(T!==null&&Zh(T)==="object"){if(typeof T.then==="function"){switch(T=xh!==null&&Bh<xh.length?xh[Bh++]:T,T.status){case"fulfilled":var X=T.value;return i.push({displayName:null,primitive:"Promise",stackError:Error(),value:X,debugInfo:T._debugInfo===void 0?null:T._debugInfo,dispatcherHookName:"Use"}),X;case"rejected":throw T.reason}throw i.push({displayName:null,primitive:"Unresolved",stackError:Error(),value:T,debugInfo:T._debugInfo===void 0?null:T._debugInfo,dispatcherHookName:"Use"}),Fk}if(T.$$typeof===U)return X=_k(T),i.push({displayName:T.displayName||"Context",primitive:"Context (use)",stackError:Error(),value:X,debugInfo:null,dispatcherHookName:"Use"}),X}throw Error("An unsupported type was passed to use(): "+String(T))},useCallback:function(T){var X=Vh();return i.push({displayName:null,primitive:"Callback",stackError:Error(),value:X!==null?X.memoizedState[0]:T,debugInfo:null,dispatcherHookName:"Callback"}),T},useContext:function(T){var X=_k(T);return i.push({displayName:T.displayName||null,primitive:"Context",stackError:Error(),value:X,debugInfo:null,dispatcherHookName:"Context"}),X},useEffect:function(T){Vh(),i.push({displayName:null,primitive:"Effect",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Effect"})},useImperativeHandle:function(T){Vh();var X=void 0;T!==null&&Zh(T)==="object"&&(X=T.current),i.push({displayName:null,primitive:"ImperativeHandle",stackError:Error(),value:X,debugInfo:null,dispatcherHookName:"ImperativeHandle"})},useLayoutEffect:function(T){Vh(),i.push({displayName:null,primitive:"LayoutEffect",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"LayoutEffect"})},useInsertionEffect:function(T){Vh(),i.push({displayName:null,primitive:"InsertionEffect",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"InsertionEffect"})},useMemo:function(T){var X=Vh();return T=X!==null?X.memoizedState[0]:T(),i.push({displayName:null,primitive:"Memo",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Memo"}),T},useReducer:function(T,X,g){return T=Vh(),X=T!==null?T.memoizedState:g!==void 0?g(X):X,i.push({displayName:null,primitive:"Reducer",stackError:Error(),value:X,debugInfo:null,dispatcherHookName:"Reducer"}),[X,function(){}]},useRef:function(T){var X=Vh();return T=X!==null?X.memoizedState:{current:T},i.push({displayName:null,primitive:"Ref",stackError:Error(),value:T.current,debugInfo:null,dispatcherHookName:"Ref"}),T},useState:function(T){var X=Vh();return T=X!==null?X.memoizedState:typeof T==="function"?T():T,i.push({displayName:null,primitive:"State",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"State"}),[T,function(){}]},useDebugValue:function(T,X){i.push({displayName:null,primitive:"DebugValue",stackError:Error(),value:typeof X==="function"?X(T):T,debugInfo:null,dispatcherHookName:"DebugValue"})},useDeferredValue:function(T){var X=Vh();return T=X!==null?X.memoizedState:T,i.push({displayName:null,primitive:"DeferredValue",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"DeferredValue"}),T},useTransition:function(){var T=Vh();return Vh(),T=T!==null?T.memoizedState:!1,i.push({displayName:null,primitive:"Transition",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Transition"}),[T,function(){}]},useSyncExternalStore:function(T,X){return Vh(),Vh(),T=X(),i.push({displayName:null,primitive:"SyncExternalStore",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"SyncExternalStore"}),T},useId:function(){var T=Vh();return T=T!==null?T.memoizedState:"",i.push({displayName:null,primitive:"Id",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Id"}),T},useHostTransitionStatus:function(){var T=_k({_currentValue:null});return i.push({displayName:null,primitive:"HostTransitionStatus",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"HostTransitionStatus"}),T},useFormState:function(T,X){var g=Vh();Vh(),Vh(),T=Error();var r=null,t=null;if(g!==null)if(X=g.memoizedState,Zh(X)==="object"&&X!==null&&typeof X.then==="function")switch(X.status){case"fulfilled":var _h=X.value;r=X._debugInfo===void 0?null:X._debugInfo;break;case"rejected":t=X.reason;break;default:t=Fk,r=X._debugInfo===void 0?null:X._debugInfo,_h=X}else _h=X;else _h=X;if(i.push({displayName:null,primitive:"FormState",stackError:T,value:_h,debugInfo:r,dispatcherHookName:"FormState"}),t!==null)throw t;return[_h,function(){},!1]},useActionState:function(T,X){var g=Vh();Vh(),Vh(),T=Error();var r=null,t=null;if(g!==null)if(X=g.memoizedState,Zh(X)==="object"&&X!==null&&typeof X.then==="function")switch(X.status){case"fulfilled":var _h=X.value;r=X._debugInfo===void 0?null:X._debugInfo;break;case"rejected":t=X.reason;break;default:t=Fk,r=X._debugInfo===void 0?null:X._debugInfo,_h=X}else _h=X;else _h=X;if(i.push({displayName:null,primitive:"ActionState",stackError:T,value:_h,debugInfo:r,dispatcherHookName:"ActionState"}),t!==null)throw t;return[_h,function(){},!1]},useOptimistic:function(T){var X=Vh();return T=X!==null?X.memoizedState:T,i.push({displayName:null,primitive:"Optimistic",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Optimistic"}),[T,function(){}]},useMemoCache:function(T){var X=s;if(X==null)return[];if(X=X.updateQueue!=null?X.updateQueue.memoCache:null,X==null)return[];var g=X.data[X.index];if(g===void 0){g=X.data[X.index]=Array(T);for(var r=0;r<T;r++)g[r]=A}return X.index++,g},useCacheRefresh:function(){var T=Vh();return i.push({displayName:null,primitive:"CacheRefresh",stackError:Error(),value:T!==null?T.memoizedState:function(){},debugInfo:null,dispatcherHookName:"CacheRefresh"}),function(){}},useEffectEvent:function(T){return Vh(),i.push({displayName:null,primitive:"EffectEvent",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"EffectEvent"}),T}},rk={get:function(T,X){if(T.hasOwnProperty(X))return T[X];throw T=Error("Missing method in Dispatcher: "+X),T.name="ReactDebugToolsUnsupportedHookError",T}},Lk=typeof Proxy>"u"?yh:new Proxy(yh,rk),kq=0;function Iq(N,T,X){var g=T[X].source,r=0;h:for(;r<N.length;r++)if(N[r].source===g){for(var t=X+1,_h=r+1;t<T.length&&_h<N.length;t++,_h++)if(N[_h].source!==T[t].source)continue h;return r}return-1}function Ph(N,T){return N=m(N),T==="HostTransitionStatus"?N===T||N==="FormStatus":N===T}function m(N){if(!N)return"";var T=N.lastIndexOf("[as ");if(T!==-1)return m(N.slice(T+4,-1));if(T=N.lastIndexOf("."),T=T===-1?0:T+1,N.slice(T).startsWith("unstable_")&&(T+=9),N.slice(T).startsWith("experimental_")&&(T+=13),N.slice(T,T+3)==="use"){if(N.length-T===3)return"Use";T+=3}return N.slice(T)}function n(N,T){for(var X=[],g=null,r=X,t=0,_h=[],Rk=0;Rk<T.length;Rk++){var Kk=T[Rk],Ck=N,uh=hk.parse(Kk.stackError);h:{var Eh=uh,$k=Iq(Eh,Ck,kq);if($k!==-1)Ck=$k;else{for(var Z=0;Z<Ck.length&&5>Z;Z++)if($k=Iq(Eh,Ck,Z),$k!==-1){kq=Z,Ck=$k;break h}Ck=-1}}h:{if(Eh=uh,$k=wh().get(Kk.primitive),$k!==void 0){for(Z=0;Z<$k.length&&Z<Eh.length;Z++)if($k[Z].source!==Eh[Z].source){Z<Eh.length-1&&Ph(Eh[Z].functionName,Kk.dispatcherHookName)&&Z++,Z<Eh.length-1&&Ph(Eh[Z].functionName,Kk.dispatcherHookName)&&Z++,Eh=Z;break h}}Eh=-1}if(uh=Ck===-1||Eh===-1||2>Ck-Eh?Eh===-1?[null,null]:[uh[Eh-1],null]:[uh[Eh-1],uh.slice(Eh,Ck-1)],Eh=uh[0],uh=uh[1],Ck=Kk.displayName,Ck===null&&Eh!==null&&(Ck=m(Eh.functionName)||m(Kk.dispatcherHookName)),uh!==null){if(Eh=0,g!==null){for(;Eh<uh.length&&Eh<g.length&&uh[uh.length-Eh-1].source===g[g.length-Eh-1].source;)Eh++;for(g=g.length-1;g>Eh;g--)r=_h.pop()}for(g=uh.length-Eh-1;1<=g;g--)Eh=[],$k=uh[g],$k={id:null,isStateEditable:!1,name:m(uh[g-1].functionName),value:void 0,subHooks:Eh,debugInfo:null,hookSource:{lineNumber:$k.lineNumber===void 0?null:$k.lineNumber,columnNumber:$k.columnNumber===void 0?null:$k.columnNumber,functionName:$k.functionName===void 0?null:$k.functionName,fileName:$k.fileName===void 0?null:$k.fileName}},r.push($k),_h.push(r),r=Eh;g=uh}Eh=Kk.primitive,$k=Kk.debugInfo,Kk={id:Eh==="Context"||Eh==="Context (use)"||Eh==="DebugValue"||Eh==="Promise"||Eh==="Unresolved"||Eh==="HostTransitionStatus"?null:t++,isStateEditable:Eh==="Reducer"||Eh==="State",name:Ck||Eh,value:Kk.value,subHooks:[],debugInfo:$k,hookSource:null},Ck={lineNumber:null,functionName:null,fileName:null,columnNumber:null},uh&&1<=uh.length&&(uh=uh[0],Ck.lineNumber=uh.lineNumber===void 0?null:uh.lineNumber,Ck.functionName=uh.functionName===void 0?null:uh.functionName,Ck.fileName=uh.fileName===void 0?null:uh.fileName,Ck.columnNumber=uh.columnNumber===void 0?null:uh.columnNumber),Kk.hookSource=Ck,r.push(Kk)}return v(X,null),X}function v(N,T){for(var X=[],g=0;g<N.length;g++){var r=N[g];r.name==="DebugValue"&&r.subHooks.length===0?(N.splice(g,1),g--,X.push(r)):v(r.subHooks,r)}T!==null&&(X.length===1?T.value=X[0].value:1<X.length&&(T.value=X.map(function(t){return t.value})))}function Uh(N){if(N!==Fk){if(N instanceof Error&&N.name==="ReactDebugToolsUnsupportedHookError")throw N;var T=Error("Error rendering inspected component",{cause:N});throw T.name="ReactDebugToolsRenderError",T.cause=N,T}}function qk(N,T,X){X==null&&(X=F);var g=X.H;X.H=Lk;try{var r=Error();N(T)}catch(t){Uh(t)}finally{N=i,i=[],X.H=g}return X=r===void 0?[]:hk.parse(r),n(X,N)}function nk(N){N.forEach(function(T,X){return X._currentValue=T})}e=qk,u.inspectHooksOfFiber=function(N,T){if(T==null&&(T=F),N.tag!==0&&N.tag!==15&&N.tag!==11)throw Error("Unknown Fiber. Needs to be a function component to inspect hooks.");wh(),Kh=N.memoizedState,s=N;var X=N.dependencies&&N.dependencies._debugThenableState;if(X=X?X.thenables||X:null,xh=Array.isArray(X)?X:null,Bh=0,S.call(s,"dependencies"))X=s.dependencies,l=X!==null?X.firstContext:null;else if(S.call(s,"dependencies_old"))X=s.dependencies_old,l=X!==null?X.firstContext:null;else if(S.call(s,"dependencies_new"))X=s.dependencies_new,l=X!==null?X.firstContext:null;else if(S.call(s,"contextDependencies"))X=s.contextDependencies,l=X!==null?X.first:null;else throw Error("Unsupported React version. This is a bug in React Debug Tools.");X=N.type;var g=N.memoizedProps;if(X!==N.elementType&&X&&X.defaultProps){g=Mh({},g);var r=X.defaultProps;for(t in r)g[t]===void 0&&(g[t]=r[t])}var t=new Map;try{if(l!==null&&!S.call(l,"memoizedValue"))for(r=N;r;){if(r.tag===10){var _h=r.type;_h._context!==void 0&&(_h=_h._context),t.has(_h)||(t.set(_h,_h._currentValue),_h._currentValue=r.memoizedProps.value)}r=r.return}if(N.tag===11){var Rk=X.render;_h=g;var Kk=N.ref;N=T;var Ck=N.H;N.H=Lk;try{var uh=Error();Rk(_h,Kk)}catch(Z){Uh(Z)}finally{var Eh=i;i=[],N.H=Ck}var $k=uh===void 0?[]:hk.parse(uh);return n($k,Eh)}return qk(X,g,T)}finally{xh=l=Kh=s=null,Bh=0,nk(t)}}},987:(ah,u,fh)=>{ah.exports=fh(786)},126:(ah,u,fh)=>{var e=fh(169);function Zh(Z){return Zh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(w){return typeof w}:function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w},Zh(Z)}var hk=Symbol.for("react.transitional.element"),Wk=Symbol.for("react.portal"),Mh=Symbol.for("react.fragment"),F=Symbol.for("react.strict_mode"),U=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),S=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),Wh=Symbol.for("react.suspense"),wh=Symbol.for("react.suspense_list"),s=Symbol.for("react.memo"),Kh=Symbol.for("react.lazy"),l=Symbol.for("react.activity"),Bh=Symbol.for("react.postpone"),xh=Symbol.for("react.view_transition"),Vh=Symbol.iterator;function _k(Z){if(Z===null||Zh(Z)!=="object")return null;return Z=Vh&&Z[Vh]||Z["@@iterator"],typeof Z==="function"?Z:null}var Fk={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},yh=Object.assign,rk={};function Lk(Z,w,Xh){this.props=Z,this.context=w,this.refs=rk,this.updater=Xh||Fk}Lk.prototype.isReactComponent={},Lk.prototype.setState=function(Z,w){if(Zh(Z)!=="object"&&typeof Z!=="function"&&Z!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,Z,w,"setState")},Lk.prototype.forceUpdate=function(Z){this.updater.enqueueForceUpdate(this,Z,"forceUpdate")};function kq(){}kq.prototype=Lk.prototype;function Iq(Z,w,Xh){this.props=Z,this.context=w,this.refs=rk,this.updater=Xh||Fk}var Ph=Iq.prototype=new kq;Ph.constructor=Iq,yh(Ph,Lk.prototype),Ph.isPureReactComponent=!0;var m=Array.isArray;function n(){}var v={H:null,A:null,T:null,S:null,G:null},Uh=Object.prototype.hasOwnProperty;function qk(Z,w,Xh){var Ah=Xh.ref;return{$$typeof:hk,type:Z,key:w,ref:Ah!==void 0?Ah:null,props:Xh}}function nk(Z,w){return qk(Z.type,w,Z.props)}function N(Z){return Zh(Z)==="object"&&Z!==null&&Z.$$typeof===hk}function T(Z){var w={"=":"=0",":":"=2"};return"$"+Z.replace(/[=:]/g,function(Xh){return w[Xh]})}var X=/\/+/g;function g(Z,w){return Zh(Z)==="object"&&Z!==null&&Z.key!=null?T(""+Z.key):w.toString(36)}function r(Z){switch(Z.status){case"fulfilled":return Z.value;case"rejected":throw Z.reason;default:switch(typeof Z.status==="string"?Z.then(n,n):(Z.status="pending",Z.then(function(w){Z.status==="pending"&&(Z.status="fulfilled",Z.value=w)},function(w){Z.status==="pending"&&(Z.status="rejected",Z.reason=w)})),Z.status){case"fulfilled":return Z.value;case"rejected":throw Z.reason}}throw Z}function t(Z,w,Xh,Ah,lh){var Dk=Zh(Z);if(Dk==="undefined"||Dk==="boolean")Z=null;var Ek=!1;if(Z===null)Ek=!0;else switch(Dk){case"bigint":case"string":case"number":Ek=!0;break;case"object":switch(Z.$$typeof){case hk:case Wk:Ek=!0;break;case Kh:return Ek=Z._init,t(Ek(Z._payload),w,Xh,Ah,lh)}}if(Ek)return lh=lh(Z),Ek=Ah===""?"."+g(Z,0):Ah,m(lh)?(Xh="",Ek!=null&&(Xh=Ek.replace(X,"$&/")+"/"),t(lh,w,Xh,"",function(rC){return rC})):lh!=null&&(N(lh)&&(lh=nk(lh,Xh+(lh.key==null||Z&&Z.key===lh.key?"":(""+lh.key).replace(X,"$&/")+"/")+Ek)),w.push(lh)),1;Ek=0;var Mq=Ah===""?".":Ah+":";if(m(Z))for(var qq=0;qq<Z.length;qq++)Ah=Z[qq],Dk=Mq+g(Ah,qq),Ek+=t(Ah,w,Xh,Dk,lh);else if(qq=_k(Z),typeof qq==="function")for(Z=qq.call(Z),qq=0;!(Ah=Z.next()).done;)Ah=Ah.value,Dk=Mq+g(Ah,qq++),Ek+=t(Ah,w,Xh,Dk,lh);else if(Dk==="object"){if(typeof Z.then==="function")return t(r(Z),w,Xh,Ah,lh);throw w=String(Z),Error("Objects are not valid as a React child (found: "+(w==="[object Object]"?"object with keys {"+Object.keys(Z).join(", ")+"}":w)+"). If you meant to render a collection of children, use an array instead.")}return Ek}function _h(Z,w,Xh){if(Z==null)return Z;var Ah=[],lh=0;return t(Z,Ah,"","",function(Dk){return w.call(Xh,Dk,lh++)}),Ah}function Rk(Z){if(Z._status===-1){var w=Z._result;w=w(),w.then(function(Xh){if(Z._status===0||Z._status===-1)Z._status=1,Z._result=Xh},function(Xh){if(Z._status===0||Z._status===-1)Z._status=2,Z._result=Xh}),Z._status===-1&&(Z._status=0,Z._result=w)}if(Z._status===1)return Z._result.default;throw Z._result}function Kk(Z,w){return v.H.useOptimistic(Z,w)}var Ck=typeof reportError==="function"?reportError:function(Z){if((typeof window>"u"?"undefined":Zh(window))==="object"&&typeof window.ErrorEvent==="function"){var w=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:Zh(Z)==="object"&&Z!==null&&typeof Z.message==="string"?String(Z.message):String(Z),error:Z});if(!window.dispatchEvent(w))return}else if((typeof e>"u"?"undefined":Zh(e))==="object"&&typeof e.emit==="function"){e.emit("uncaughtException",Z);return}console.error(Z)};function uh(Z){var w=v.T,Xh={};Xh.types=w!==null?w.types:null,Xh.gesture=null,v.T=Xh;try{var Ah=Z(),lh=v.S;lh!==null&&lh(Xh,Ah),Zh(Ah)==="object"&&Ah!==null&&typeof Ah.then==="function"&&Ah.then(n,Ck)}catch(Dk){Ck(Dk)}finally{w!==null&&Xh.types!==null&&(w.types=Xh.types),v.T=w}}function Eh(Z){var w=v.T;if(w!==null){var Xh=w.types;Xh===null?w.types=[Z]:Xh.indexOf(Z)===-1&&Xh.push(Z)}else uh(Eh.bind(null,Z))}var $k={map:_h,forEach:function(w,Xh,Ah){_h(w,function(){Xh.apply(this,arguments)},Ah)},count:function(w){var Xh=0;return _h(w,function(){Xh++}),Xh},toArray:function(w){return _h(w,function(Xh){return Xh})||[]},only:function(w){if(!N(w))throw Error("React.Children.only expected to receive a single React element child.");return w}};u.Activity=l,u.Children=$k,u.Component=Lk,u.Fragment=Mh,u.Profiler=U,u.PureComponent=Iq,u.StrictMode=F,u.Suspense=Wh,u.ViewTransition=xh,u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=v,u.__COMPILER_RUNTIME={__proto__:null,c:function(w){return v.H.useMemoCache(w)}},u.addTransitionType=Eh,u.cache=function(Z){return function(){return Z.apply(null,arguments)}},u.cacheSignal=function(){return null},u.cloneElement=function(Z,w,Xh){if(Z===null||Z===void 0)throw Error("The argument must be a React element, but you passed "+Z+".");var Ah=yh({},Z.props),lh=Z.key;if(w!=null)for(Dk in w.key!==void 0&&(lh=""+w.key),w)!Uh.call(w,Dk)||Dk==="key"||Dk==="__self"||Dk==="__source"||Dk==="ref"&&w.ref===void 0||(Ah[Dk]=w[Dk]);var Dk=arguments.length-2;if(Dk===1)Ah.children=Xh;else if(1<Dk){for(var Ek=Array(Dk),Mq=0;Mq<Dk;Mq++)Ek[Mq]=arguments[Mq+2];Ah.children=Ek}return qk(Z.type,lh,Ah)},u.createContext=function(Z){return Z={$$typeof:S,_currentValue:Z,_currentValue2:Z,_threadCount:0,Provider:null,Consumer:null},Z.Provider=Z,Z.Consumer={$$typeof:A,_context:Z},Z},u.createElement=function(Z,w,Xh){var Ah,lh={},Dk=null;if(w!=null)for(Ah in w.key!==void 0&&(Dk=""+w.key),w)Uh.call(w,Ah)&&Ah!=="key"&&Ah!=="__self"&&Ah!=="__source"&&(lh[Ah]=w[Ah]);var Ek=arguments.length-2;if(Ek===1)lh.children=Xh;else if(1<Ek){for(var Mq=Array(Ek),qq=0;qq<Ek;qq++)Mq[qq]=arguments[qq+2];lh.children=Mq}if(Z&&Z.defaultProps)for(Ah in Ek=Z.defaultProps,Ek)lh[Ah]===void 0&&(lh[Ah]=Ek[Ah]);return qk(Z,Dk,lh)},u.createRef=function(){return{current:null}},u.experimental_useOptimistic=function(Z,w){return Kk(Z,w)},u.forwardRef=function(Z){return{$$typeof:i,render:Z}},u.isValidElement=N,u.lazy=function(Z){return{$$typeof:Kh,_payload:{_status:-1,_result:Z},_init:Rk}},u.memo=function(Z,w){return{$$typeof:s,type:Z,compare:w===void 0?null:w}},u.startTransition=uh,u.unstable_Activity=l,u.unstable_SuspenseList=wh,u.unstable_getCacheForType=function(Z){var w=v.A;return w?w.getCacheForType(Z):Z()},u.unstable_postpone=function(Z){throw Z=Error(Z),Z.$$typeof=Bh,Z},u.unstable_startGestureTransition=function(Z,w,Xh){if(Z==null)throw Error("A Timeline is required as the first argument to startGestureTransition.");var Ah=v.T,lh={types:null};lh.gesture=Z,v.T=lh;try{w();var Dk=v.G;if(Dk!==null)return Dk(lh,Z,Xh)}catch(Ek){Ck(Ek)}finally{v.T=Ah}return n},u.unstable_useCacheRefresh=function(){return v.H.useCacheRefresh()},u.use=function(Z){return v.H.use(Z)},u.useActionState=function(Z,w,Xh){return v.H.useActionState(Z,w,Xh)},u.useCallback=function(Z,w){return v.H.useCallback(Z,w)},u.useContext=function(Z){return v.H.useContext(Z)},u.useDebugValue=function(){},u.useDeferredValue=function(Z,w){return v.H.useDeferredValue(Z,w)},u.useEffect=function(Z,w){return v.H.useEffect(Z,w)},u.useEffectEvent=function(Z){return v.H.useEffectEvent(Z)},u.useId=function(){return v.H.useId()},u.useImperativeHandle=function(Z,w,Xh){return v.H.useImperativeHandle(Z,w,Xh)},u.useInsertionEffect=function(Z,w){return v.H.useInsertionEffect(Z,w)},u.useLayoutEffect=function(Z,w){return v.H.useLayoutEffect(Z,w)},u.useMemo=function(Z,w){return v.H.useMemo(Z,w)},u.useOptimistic=Kk,u.useReducer=function(Z,w,Xh){return v.H.useReducer(Z,w,Xh)},u.useRef=function(Z){return v.H.useRef(Z)},u.useState=function(Z){return v.H.useState(Z)},u.useSyncExternalStore=function(Z,w,Xh){return v.H.useSyncExternalStore(Z,w,Xh)},u.useTransition=function(){return v.H.useTransition()},u.version="19.3.0-experimental-3cde211b-20251020"},189:(ah,u,fh)=>{ah.exports=fh(126)},206:function(ah,u,fh){var e,Zh,hk;function Wk(Mh){return Wk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(F){return typeof F}:function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},Wk(Mh)}(function(Mh,F){Zh=[fh(430)],e=F,hk=typeof e==="function"?e.apply(u,Zh):e,hk!==void 0&&(ah.exports=hk)})(this,function(F){var U=/(^|@)\S+:\d+/,A=/^\s*at .*(\S+:\d+|\(native\))/m,S=/^(eval@)?(\[native code])?$/;return{parse:function(Wh){if(typeof Wh.stacktrace<"u"||typeof Wh["opera#sourceloc"]<"u")return this.parseOpera(Wh);else if(Wh.stack&&Wh.stack.match(A))return this.parseV8OrIE(Wh);else if(Wh.stack)return this.parseFFOrSafari(Wh);else throw Error("Cannot parse given Error object")},extractLocation:function(Wh){if(Wh.indexOf(":")===-1)return[Wh];var wh=/(.+?)(?::(\d+))?(?::(\d+))?$/,s=wh.exec(Wh.replace(/[()]/g,""));return[s[1],s[2]||void 0,s[3]||void 0]},parseV8OrIE:function(Wh){var wh=Wh.stack.split(`
|
|
1
|
+
import{za as nI}from"./chunk-g4baca7p.js";import{Tb as YW,Ub as XW}from"./chunk-3m9whg4q.js";var iI=XW((NB,vC)=>{(function(fz,ak){if(typeof NB==="object"&&typeof vC==="object")vC.exports=ak();else if(typeof define==="function"&&define.amd)define([],ak);else if(typeof NB==="object")NB.ReactDevToolsBackend=ak();else fz.ReactDevToolsBackend=ak()})(self,()=>{return(()=>{var pC={786:(ah,u,fh)=>{var e;function Zh(N){return Zh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(T){return typeof T}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":typeof T},Zh(N)}var hk=fh(206),Wk=fh(189),Mh=Object.assign,F=Wk.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=Symbol.for("react.context"),A=Symbol.for("react.memo_cache_sentinel"),S=Object.prototype.hasOwnProperty,i=[],Wh=null;function wh(){if(Wh===null){var N=new Map;try{if(yh.useContext({_currentValue:null}),yh.useState(null),yh.useReducer(function(r){return r},null),yh.useRef(null),typeof yh.useCacheRefresh==="function"&&yh.useCacheRefresh(),yh.useLayoutEffect(function(){}),yh.useInsertionEffect(function(){}),yh.useEffect(function(){}),yh.useImperativeHandle(void 0,function(){return null}),yh.useDebugValue(null),yh.useCallback(function(){}),yh.useTransition(),yh.useSyncExternalStore(function(){return function(){}},function(){return null},function(){return null}),yh.useDeferredValue(null),yh.useMemo(function(){return null}),yh.useOptimistic(null,function(r){return r}),yh.useFormState(function(r){return r},null),yh.useActionState(function(r){return r},null),yh.useHostTransitionStatus(),typeof yh.useMemoCache==="function"&&yh.useMemoCache(0),typeof yh.use==="function"){yh.use({$$typeof:U,_currentValue:null}),yh.use({then:function(){},status:"fulfilled",value:null});try{yh.use({then:function(){}})}catch(r){}}yh.useId(),typeof yh.useEffectEvent==="function"&&yh.useEffectEvent(function(){})}finally{var T=i;i=[]}for(var X=0;X<T.length;X++){var g=T[X];N.set(g.primitive,hk.parse(g.stackError))}Wh=N}return Wh}var s=null,Kh=null,l=null,Bh=0,xh=null;function Vh(){var N=Kh;return N!==null&&(Kh=N.next),N}function _k(N){if(s===null)return N._currentValue;if(l===null)throw Error("Context reads do not line up with context dependencies. This is a bug in React Debug Tools.");return S.call(l,"memoizedValue")?(N=l.memoizedValue,l=l.next):N=N._currentValue,N}var Fk=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."),yh={readContext:_k,use:function(T){if(T!==null&&Zh(T)==="object"){if(typeof T.then==="function"){switch(T=xh!==null&&Bh<xh.length?xh[Bh++]:T,T.status){case"fulfilled":var X=T.value;return i.push({displayName:null,primitive:"Promise",stackError:Error(),value:X,debugInfo:T._debugInfo===void 0?null:T._debugInfo,dispatcherHookName:"Use"}),X;case"rejected":throw T.reason}throw i.push({displayName:null,primitive:"Unresolved",stackError:Error(),value:T,debugInfo:T._debugInfo===void 0?null:T._debugInfo,dispatcherHookName:"Use"}),Fk}if(T.$$typeof===U)return X=_k(T),i.push({displayName:T.displayName||"Context",primitive:"Context (use)",stackError:Error(),value:X,debugInfo:null,dispatcherHookName:"Use"}),X}throw Error("An unsupported type was passed to use(): "+String(T))},useCallback:function(T){var X=Vh();return i.push({displayName:null,primitive:"Callback",stackError:Error(),value:X!==null?X.memoizedState[0]:T,debugInfo:null,dispatcherHookName:"Callback"}),T},useContext:function(T){var X=_k(T);return i.push({displayName:T.displayName||null,primitive:"Context",stackError:Error(),value:X,debugInfo:null,dispatcherHookName:"Context"}),X},useEffect:function(T){Vh(),i.push({displayName:null,primitive:"Effect",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Effect"})},useImperativeHandle:function(T){Vh();var X=void 0;T!==null&&Zh(T)==="object"&&(X=T.current),i.push({displayName:null,primitive:"ImperativeHandle",stackError:Error(),value:X,debugInfo:null,dispatcherHookName:"ImperativeHandle"})},useLayoutEffect:function(T){Vh(),i.push({displayName:null,primitive:"LayoutEffect",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"LayoutEffect"})},useInsertionEffect:function(T){Vh(),i.push({displayName:null,primitive:"InsertionEffect",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"InsertionEffect"})},useMemo:function(T){var X=Vh();return T=X!==null?X.memoizedState[0]:T(),i.push({displayName:null,primitive:"Memo",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Memo"}),T},useReducer:function(T,X,g){return T=Vh(),X=T!==null?T.memoizedState:g!==void 0?g(X):X,i.push({displayName:null,primitive:"Reducer",stackError:Error(),value:X,debugInfo:null,dispatcherHookName:"Reducer"}),[X,function(){}]},useRef:function(T){var X=Vh();return T=X!==null?X.memoizedState:{current:T},i.push({displayName:null,primitive:"Ref",stackError:Error(),value:T.current,debugInfo:null,dispatcherHookName:"Ref"}),T},useState:function(T){var X=Vh();return T=X!==null?X.memoizedState:typeof T==="function"?T():T,i.push({displayName:null,primitive:"State",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"State"}),[T,function(){}]},useDebugValue:function(T,X){i.push({displayName:null,primitive:"DebugValue",stackError:Error(),value:typeof X==="function"?X(T):T,debugInfo:null,dispatcherHookName:"DebugValue"})},useDeferredValue:function(T){var X=Vh();return T=X!==null?X.memoizedState:T,i.push({displayName:null,primitive:"DeferredValue",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"DeferredValue"}),T},useTransition:function(){var T=Vh();return Vh(),T=T!==null?T.memoizedState:!1,i.push({displayName:null,primitive:"Transition",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Transition"}),[T,function(){}]},useSyncExternalStore:function(T,X){return Vh(),Vh(),T=X(),i.push({displayName:null,primitive:"SyncExternalStore",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"SyncExternalStore"}),T},useId:function(){var T=Vh();return T=T!==null?T.memoizedState:"",i.push({displayName:null,primitive:"Id",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Id"}),T},useHostTransitionStatus:function(){var T=_k({_currentValue:null});return i.push({displayName:null,primitive:"HostTransitionStatus",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"HostTransitionStatus"}),T},useFormState:function(T,X){var g=Vh();Vh(),Vh(),T=Error();var r=null,t=null;if(g!==null)if(X=g.memoizedState,Zh(X)==="object"&&X!==null&&typeof X.then==="function")switch(X.status){case"fulfilled":var _h=X.value;r=X._debugInfo===void 0?null:X._debugInfo;break;case"rejected":t=X.reason;break;default:t=Fk,r=X._debugInfo===void 0?null:X._debugInfo,_h=X}else _h=X;else _h=X;if(i.push({displayName:null,primitive:"FormState",stackError:T,value:_h,debugInfo:r,dispatcherHookName:"FormState"}),t!==null)throw t;return[_h,function(){},!1]},useActionState:function(T,X){var g=Vh();Vh(),Vh(),T=Error();var r=null,t=null;if(g!==null)if(X=g.memoizedState,Zh(X)==="object"&&X!==null&&typeof X.then==="function")switch(X.status){case"fulfilled":var _h=X.value;r=X._debugInfo===void 0?null:X._debugInfo;break;case"rejected":t=X.reason;break;default:t=Fk,r=X._debugInfo===void 0?null:X._debugInfo,_h=X}else _h=X;else _h=X;if(i.push({displayName:null,primitive:"ActionState",stackError:T,value:_h,debugInfo:r,dispatcherHookName:"ActionState"}),t!==null)throw t;return[_h,function(){},!1]},useOptimistic:function(T){var X=Vh();return T=X!==null?X.memoizedState:T,i.push({displayName:null,primitive:"Optimistic",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"Optimistic"}),[T,function(){}]},useMemoCache:function(T){var X=s;if(X==null)return[];if(X=X.updateQueue!=null?X.updateQueue.memoCache:null,X==null)return[];var g=X.data[X.index];if(g===void 0){g=X.data[X.index]=Array(T);for(var r=0;r<T;r++)g[r]=A}return X.index++,g},useCacheRefresh:function(){var T=Vh();return i.push({displayName:null,primitive:"CacheRefresh",stackError:Error(),value:T!==null?T.memoizedState:function(){},debugInfo:null,dispatcherHookName:"CacheRefresh"}),function(){}},useEffectEvent:function(T){return Vh(),i.push({displayName:null,primitive:"EffectEvent",stackError:Error(),value:T,debugInfo:null,dispatcherHookName:"EffectEvent"}),T}},rk={get:function(T,X){if(T.hasOwnProperty(X))return T[X];throw T=Error("Missing method in Dispatcher: "+X),T.name="ReactDebugToolsUnsupportedHookError",T}},Lk=typeof Proxy>"u"?yh:new Proxy(yh,rk),kq=0;function Iq(N,T,X){var g=T[X].source,r=0;h:for(;r<N.length;r++)if(N[r].source===g){for(var t=X+1,_h=r+1;t<T.length&&_h<N.length;t++,_h++)if(N[_h].source!==T[t].source)continue h;return r}return-1}function Ph(N,T){return N=m(N),T==="HostTransitionStatus"?N===T||N==="FormStatus":N===T}function m(N){if(!N)return"";var T=N.lastIndexOf("[as ");if(T!==-1)return m(N.slice(T+4,-1));if(T=N.lastIndexOf("."),T=T===-1?0:T+1,N.slice(T).startsWith("unstable_")&&(T+=9),N.slice(T).startsWith("experimental_")&&(T+=13),N.slice(T,T+3)==="use"){if(N.length-T===3)return"Use";T+=3}return N.slice(T)}function n(N,T){for(var X=[],g=null,r=X,t=0,_h=[],Rk=0;Rk<T.length;Rk++){var Kk=T[Rk],Ck=N,uh=hk.parse(Kk.stackError);h:{var Eh=uh,$k=Iq(Eh,Ck,kq);if($k!==-1)Ck=$k;else{for(var Z=0;Z<Ck.length&&5>Z;Z++)if($k=Iq(Eh,Ck,Z),$k!==-1){kq=Z,Ck=$k;break h}Ck=-1}}h:{if(Eh=uh,$k=wh().get(Kk.primitive),$k!==void 0){for(Z=0;Z<$k.length&&Z<Eh.length;Z++)if($k[Z].source!==Eh[Z].source){Z<Eh.length-1&&Ph(Eh[Z].functionName,Kk.dispatcherHookName)&&Z++,Z<Eh.length-1&&Ph(Eh[Z].functionName,Kk.dispatcherHookName)&&Z++,Eh=Z;break h}}Eh=-1}if(uh=Ck===-1||Eh===-1||2>Ck-Eh?Eh===-1?[null,null]:[uh[Eh-1],null]:[uh[Eh-1],uh.slice(Eh,Ck-1)],Eh=uh[0],uh=uh[1],Ck=Kk.displayName,Ck===null&&Eh!==null&&(Ck=m(Eh.functionName)||m(Kk.dispatcherHookName)),uh!==null){if(Eh=0,g!==null){for(;Eh<uh.length&&Eh<g.length&&uh[uh.length-Eh-1].source===g[g.length-Eh-1].source;)Eh++;for(g=g.length-1;g>Eh;g--)r=_h.pop()}for(g=uh.length-Eh-1;1<=g;g--)Eh=[],$k=uh[g],$k={id:null,isStateEditable:!1,name:m(uh[g-1].functionName),value:void 0,subHooks:Eh,debugInfo:null,hookSource:{lineNumber:$k.lineNumber===void 0?null:$k.lineNumber,columnNumber:$k.columnNumber===void 0?null:$k.columnNumber,functionName:$k.functionName===void 0?null:$k.functionName,fileName:$k.fileName===void 0?null:$k.fileName}},r.push($k),_h.push(r),r=Eh;g=uh}Eh=Kk.primitive,$k=Kk.debugInfo,Kk={id:Eh==="Context"||Eh==="Context (use)"||Eh==="DebugValue"||Eh==="Promise"||Eh==="Unresolved"||Eh==="HostTransitionStatus"?null:t++,isStateEditable:Eh==="Reducer"||Eh==="State",name:Ck||Eh,value:Kk.value,subHooks:[],debugInfo:$k,hookSource:null},Ck={lineNumber:null,functionName:null,fileName:null,columnNumber:null},uh&&1<=uh.length&&(uh=uh[0],Ck.lineNumber=uh.lineNumber===void 0?null:uh.lineNumber,Ck.functionName=uh.functionName===void 0?null:uh.functionName,Ck.fileName=uh.fileName===void 0?null:uh.fileName,Ck.columnNumber=uh.columnNumber===void 0?null:uh.columnNumber),Kk.hookSource=Ck,r.push(Kk)}return v(X,null),X}function v(N,T){for(var X=[],g=0;g<N.length;g++){var r=N[g];r.name==="DebugValue"&&r.subHooks.length===0?(N.splice(g,1),g--,X.push(r)):v(r.subHooks,r)}T!==null&&(X.length===1?T.value=X[0].value:1<X.length&&(T.value=X.map(function(t){return t.value})))}function Uh(N){if(N!==Fk){if(N instanceof Error&&N.name==="ReactDebugToolsUnsupportedHookError")throw N;var T=Error("Error rendering inspected component",{cause:N});throw T.name="ReactDebugToolsRenderError",T.cause=N,T}}function qk(N,T,X){X==null&&(X=F);var g=X.H;X.H=Lk;try{var r=Error();N(T)}catch(t){Uh(t)}finally{N=i,i=[],X.H=g}return X=r===void 0?[]:hk.parse(r),n(X,N)}function nk(N){N.forEach(function(T,X){return X._currentValue=T})}e=qk,u.inspectHooksOfFiber=function(N,T){if(T==null&&(T=F),N.tag!==0&&N.tag!==15&&N.tag!==11)throw Error("Unknown Fiber. Needs to be a function component to inspect hooks.");wh(),Kh=N.memoizedState,s=N;var X=N.dependencies&&N.dependencies._debugThenableState;if(X=X?X.thenables||X:null,xh=Array.isArray(X)?X:null,Bh=0,S.call(s,"dependencies"))X=s.dependencies,l=X!==null?X.firstContext:null;else if(S.call(s,"dependencies_old"))X=s.dependencies_old,l=X!==null?X.firstContext:null;else if(S.call(s,"dependencies_new"))X=s.dependencies_new,l=X!==null?X.firstContext:null;else if(S.call(s,"contextDependencies"))X=s.contextDependencies,l=X!==null?X.first:null;else throw Error("Unsupported React version. This is a bug in React Debug Tools.");X=N.type;var g=N.memoizedProps;if(X!==N.elementType&&X&&X.defaultProps){g=Mh({},g);var r=X.defaultProps;for(t in r)g[t]===void 0&&(g[t]=r[t])}var t=new Map;try{if(l!==null&&!S.call(l,"memoizedValue"))for(r=N;r;){if(r.tag===10){var _h=r.type;_h._context!==void 0&&(_h=_h._context),t.has(_h)||(t.set(_h,_h._currentValue),_h._currentValue=r.memoizedProps.value)}r=r.return}if(N.tag===11){var Rk=X.render;_h=g;var Kk=N.ref;N=T;var Ck=N.H;N.H=Lk;try{var uh=Error();Rk(_h,Kk)}catch(Z){Uh(Z)}finally{var Eh=i;i=[],N.H=Ck}var $k=uh===void 0?[]:hk.parse(uh);return n($k,Eh)}return qk(X,g,T)}finally{xh=l=Kh=s=null,Bh=0,nk(t)}}},987:(ah,u,fh)=>{ah.exports=fh(786)},126:(ah,u,fh)=>{var e=fh(169);function Zh(Z){return Zh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(w){return typeof w}:function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w},Zh(Z)}var hk=Symbol.for("react.transitional.element"),Wk=Symbol.for("react.portal"),Mh=Symbol.for("react.fragment"),F=Symbol.for("react.strict_mode"),U=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),S=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),Wh=Symbol.for("react.suspense"),wh=Symbol.for("react.suspense_list"),s=Symbol.for("react.memo"),Kh=Symbol.for("react.lazy"),l=Symbol.for("react.activity"),Bh=Symbol.for("react.postpone"),xh=Symbol.for("react.view_transition"),Vh=Symbol.iterator;function _k(Z){if(Z===null||Zh(Z)!=="object")return null;return Z=Vh&&Z[Vh]||Z["@@iterator"],typeof Z==="function"?Z:null}var Fk={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},yh=Object.assign,rk={};function Lk(Z,w,Xh){this.props=Z,this.context=w,this.refs=rk,this.updater=Xh||Fk}Lk.prototype.isReactComponent={},Lk.prototype.setState=function(Z,w){if(Zh(Z)!=="object"&&typeof Z!=="function"&&Z!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,Z,w,"setState")},Lk.prototype.forceUpdate=function(Z){this.updater.enqueueForceUpdate(this,Z,"forceUpdate")};function kq(){}kq.prototype=Lk.prototype;function Iq(Z,w,Xh){this.props=Z,this.context=w,this.refs=rk,this.updater=Xh||Fk}var Ph=Iq.prototype=new kq;Ph.constructor=Iq,yh(Ph,Lk.prototype),Ph.isPureReactComponent=!0;var m=Array.isArray;function n(){}var v={H:null,A:null,T:null,S:null,G:null},Uh=Object.prototype.hasOwnProperty;function qk(Z,w,Xh){var Ah=Xh.ref;return{$$typeof:hk,type:Z,key:w,ref:Ah!==void 0?Ah:null,props:Xh}}function nk(Z,w){return qk(Z.type,w,Z.props)}function N(Z){return Zh(Z)==="object"&&Z!==null&&Z.$$typeof===hk}function T(Z){var w={"=":"=0",":":"=2"};return"$"+Z.replace(/[=:]/g,function(Xh){return w[Xh]})}var X=/\/+/g;function g(Z,w){return Zh(Z)==="object"&&Z!==null&&Z.key!=null?T(""+Z.key):w.toString(36)}function r(Z){switch(Z.status){case"fulfilled":return Z.value;case"rejected":throw Z.reason;default:switch(typeof Z.status==="string"?Z.then(n,n):(Z.status="pending",Z.then(function(w){Z.status==="pending"&&(Z.status="fulfilled",Z.value=w)},function(w){Z.status==="pending"&&(Z.status="rejected",Z.reason=w)})),Z.status){case"fulfilled":return Z.value;case"rejected":throw Z.reason}}throw Z}function t(Z,w,Xh,Ah,lh){var Dk=Zh(Z);if(Dk==="undefined"||Dk==="boolean")Z=null;var Ek=!1;if(Z===null)Ek=!0;else switch(Dk){case"bigint":case"string":case"number":Ek=!0;break;case"object":switch(Z.$$typeof){case hk:case Wk:Ek=!0;break;case Kh:return Ek=Z._init,t(Ek(Z._payload),w,Xh,Ah,lh)}}if(Ek)return lh=lh(Z),Ek=Ah===""?"."+g(Z,0):Ah,m(lh)?(Xh="",Ek!=null&&(Xh=Ek.replace(X,"$&/")+"/"),t(lh,w,Xh,"",function(rC){return rC})):lh!=null&&(N(lh)&&(lh=nk(lh,Xh+(lh.key==null||Z&&Z.key===lh.key?"":(""+lh.key).replace(X,"$&/")+"/")+Ek)),w.push(lh)),1;Ek=0;var Mq=Ah===""?".":Ah+":";if(m(Z))for(var qq=0;qq<Z.length;qq++)Ah=Z[qq],Dk=Mq+g(Ah,qq),Ek+=t(Ah,w,Xh,Dk,lh);else if(qq=_k(Z),typeof qq==="function")for(Z=qq.call(Z),qq=0;!(Ah=Z.next()).done;)Ah=Ah.value,Dk=Mq+g(Ah,qq++),Ek+=t(Ah,w,Xh,Dk,lh);else if(Dk==="object"){if(typeof Z.then==="function")return t(r(Z),w,Xh,Ah,lh);throw w=String(Z),Error("Objects are not valid as a React child (found: "+(w==="[object Object]"?"object with keys {"+Object.keys(Z).join(", ")+"}":w)+"). If you meant to render a collection of children, use an array instead.")}return Ek}function _h(Z,w,Xh){if(Z==null)return Z;var Ah=[],lh=0;return t(Z,Ah,"","",function(Dk){return w.call(Xh,Dk,lh++)}),Ah}function Rk(Z){if(Z._status===-1){var w=Z._result;w=w(),w.then(function(Xh){if(Z._status===0||Z._status===-1)Z._status=1,Z._result=Xh},function(Xh){if(Z._status===0||Z._status===-1)Z._status=2,Z._result=Xh}),Z._status===-1&&(Z._status=0,Z._result=w)}if(Z._status===1)return Z._result.default;throw Z._result}function Kk(Z,w){return v.H.useOptimistic(Z,w)}var Ck=typeof reportError==="function"?reportError:function(Z){if((typeof window>"u"?"undefined":Zh(window))==="object"&&typeof window.ErrorEvent==="function"){var w=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:Zh(Z)==="object"&&Z!==null&&typeof Z.message==="string"?String(Z.message):String(Z),error:Z});if(!window.dispatchEvent(w))return}else if((typeof e>"u"?"undefined":Zh(e))==="object"&&typeof e.emit==="function"){e.emit("uncaughtException",Z);return}console.error(Z)};function uh(Z){var w=v.T,Xh={};Xh.types=w!==null?w.types:null,Xh.gesture=null,v.T=Xh;try{var Ah=Z(),lh=v.S;lh!==null&&lh(Xh,Ah),Zh(Ah)==="object"&&Ah!==null&&typeof Ah.then==="function"&&Ah.then(n,Ck)}catch(Dk){Ck(Dk)}finally{w!==null&&Xh.types!==null&&(w.types=Xh.types),v.T=w}}function Eh(Z){var w=v.T;if(w!==null){var Xh=w.types;Xh===null?w.types=[Z]:Xh.indexOf(Z)===-1&&Xh.push(Z)}else uh(Eh.bind(null,Z))}var $k={map:_h,forEach:function(w,Xh,Ah){_h(w,function(){Xh.apply(this,arguments)},Ah)},count:function(w){var Xh=0;return _h(w,function(){Xh++}),Xh},toArray:function(w){return _h(w,function(Xh){return Xh})||[]},only:function(w){if(!N(w))throw Error("React.Children.only expected to receive a single React element child.");return w}};u.Activity=l,u.Children=$k,u.Component=Lk,u.Fragment=Mh,u.Profiler=U,u.PureComponent=Iq,u.StrictMode=F,u.Suspense=Wh,u.ViewTransition=xh,u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=v,u.__COMPILER_RUNTIME={__proto__:null,c:function(w){return v.H.useMemoCache(w)}},u.addTransitionType=Eh,u.cache=function(Z){return function(){return Z.apply(null,arguments)}},u.cacheSignal=function(){return null},u.cloneElement=function(Z,w,Xh){if(Z===null||Z===void 0)throw Error("The argument must be a React element, but you passed "+Z+".");var Ah=yh({},Z.props),lh=Z.key;if(w!=null)for(Dk in w.key!==void 0&&(lh=""+w.key),w)!Uh.call(w,Dk)||Dk==="key"||Dk==="__self"||Dk==="__source"||Dk==="ref"&&w.ref===void 0||(Ah[Dk]=w[Dk]);var Dk=arguments.length-2;if(Dk===1)Ah.children=Xh;else if(1<Dk){for(var Ek=Array(Dk),Mq=0;Mq<Dk;Mq++)Ek[Mq]=arguments[Mq+2];Ah.children=Ek}return qk(Z.type,lh,Ah)},u.createContext=function(Z){return Z={$$typeof:S,_currentValue:Z,_currentValue2:Z,_threadCount:0,Provider:null,Consumer:null},Z.Provider=Z,Z.Consumer={$$typeof:A,_context:Z},Z},u.createElement=function(Z,w,Xh){var Ah,lh={},Dk=null;if(w!=null)for(Ah in w.key!==void 0&&(Dk=""+w.key),w)Uh.call(w,Ah)&&Ah!=="key"&&Ah!=="__self"&&Ah!=="__source"&&(lh[Ah]=w[Ah]);var Ek=arguments.length-2;if(Ek===1)lh.children=Xh;else if(1<Ek){for(var Mq=Array(Ek),qq=0;qq<Ek;qq++)Mq[qq]=arguments[qq+2];lh.children=Mq}if(Z&&Z.defaultProps)for(Ah in Ek=Z.defaultProps,Ek)lh[Ah]===void 0&&(lh[Ah]=Ek[Ah]);return qk(Z,Dk,lh)},u.createRef=function(){return{current:null}},u.experimental_useOptimistic=function(Z,w){return Kk(Z,w)},u.forwardRef=function(Z){return{$$typeof:i,render:Z}},u.isValidElement=N,u.lazy=function(Z){return{$$typeof:Kh,_payload:{_status:-1,_result:Z},_init:Rk}},u.memo=function(Z,w){return{$$typeof:s,type:Z,compare:w===void 0?null:w}},u.startTransition=uh,u.unstable_Activity=l,u.unstable_SuspenseList=wh,u.unstable_getCacheForType=function(Z){var w=v.A;return w?w.getCacheForType(Z):Z()},u.unstable_postpone=function(Z){throw Z=Error(Z),Z.$$typeof=Bh,Z},u.unstable_startGestureTransition=function(Z,w,Xh){if(Z==null)throw Error("A Timeline is required as the first argument to startGestureTransition.");var Ah=v.T,lh={types:null};lh.gesture=Z,v.T=lh;try{w();var Dk=v.G;if(Dk!==null)return Dk(lh,Z,Xh)}catch(Ek){Ck(Ek)}finally{v.T=Ah}return n},u.unstable_useCacheRefresh=function(){return v.H.useCacheRefresh()},u.use=function(Z){return v.H.use(Z)},u.useActionState=function(Z,w,Xh){return v.H.useActionState(Z,w,Xh)},u.useCallback=function(Z,w){return v.H.useCallback(Z,w)},u.useContext=function(Z){return v.H.useContext(Z)},u.useDebugValue=function(){},u.useDeferredValue=function(Z,w){return v.H.useDeferredValue(Z,w)},u.useEffect=function(Z,w){return v.H.useEffect(Z,w)},u.useEffectEvent=function(Z){return v.H.useEffectEvent(Z)},u.useId=function(){return v.H.useId()},u.useImperativeHandle=function(Z,w,Xh){return v.H.useImperativeHandle(Z,w,Xh)},u.useInsertionEffect=function(Z,w){return v.H.useInsertionEffect(Z,w)},u.useLayoutEffect=function(Z,w){return v.H.useLayoutEffect(Z,w)},u.useMemo=function(Z,w){return v.H.useMemo(Z,w)},u.useOptimistic=Kk,u.useReducer=function(Z,w,Xh){return v.H.useReducer(Z,w,Xh)},u.useRef=function(Z){return v.H.useRef(Z)},u.useState=function(Z){return v.H.useState(Z)},u.useSyncExternalStore=function(Z,w,Xh){return v.H.useSyncExternalStore(Z,w,Xh)},u.useTransition=function(){return v.H.useTransition()},u.version="19.3.0-experimental-3cde211b-20251020"},189:(ah,u,fh)=>{ah.exports=fh(126)},206:function(ah,u,fh){var e,Zh,hk;function Wk(Mh){return Wk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(F){return typeof F}:function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},Wk(Mh)}(function(Mh,F){Zh=[fh(430)],e=F,hk=typeof e==="function"?e.apply(u,Zh):e,hk!==void 0&&(ah.exports=hk)})(this,function(F){var U=/(^|@)\S+:\d+/,A=/^\s*at .*(\S+:\d+|\(native\))/m,S=/^(eval@)?(\[native code])?$/;return{parse:function(Wh){if(typeof Wh.stacktrace<"u"||typeof Wh["opera#sourceloc"]<"u")return this.parseOpera(Wh);else if(Wh.stack&&Wh.stack.match(A))return this.parseV8OrIE(Wh);else if(Wh.stack)return this.parseFFOrSafari(Wh);else throw Error("Cannot parse given Error object")},extractLocation:function(Wh){if(Wh.indexOf(":")===-1)return[Wh];var wh=/(.+?)(?::(\d+))?(?::(\d+))?$/,s=wh.exec(Wh.replace(/[()]/g,""));return[s[1],s[2]||void 0,s[3]||void 0]},parseV8OrIE:function(Wh){var wh=Wh.stack.split(`
|
|
2
2
|
`).filter(function(s){return!!s.match(A)},this);return wh.map(function(s){if(s.indexOf("(eval ")>-1)s=s.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,"");var Kh=s.replace(/^\s+/,"").replace(/\(eval code/g,"("),l=Kh.match(/ (\((.+):(\d+):(\d+)\)$)/);Kh=l?Kh.replace(l[0],""):Kh;var Bh=Kh.split(/\s+/).slice(1),xh=this.extractLocation(l?l[1]:Bh.pop()),Vh=Bh.join(" ")||void 0,_k=["eval","<anonymous>"].indexOf(xh[0])>-1?void 0:xh[0];return new F({functionName:Vh,fileName:_k,lineNumber:xh[1],columnNumber:xh[2],source:s})},this)},parseFFOrSafari:function(Wh){var wh=Wh.stack.split(`
|
|
3
3
|
`).filter(function(s){return!s.match(S)},this);return wh.map(function(s){if(s.indexOf(" > eval")>-1)s=s.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1");if(s.indexOf("@")===-1&&s.indexOf(":")===-1)return new F({functionName:s});else{var Kh=/((.*".+"[^@]*)?[^@]*)(?:@)/,l=s.match(Kh),Bh=l&&l[1]?l[1]:void 0,xh=this.extractLocation(s.replace(Kh,""));return new F({functionName:Bh,fileName:xh[0],lineNumber:xh[1],columnNumber:xh[2],source:s})}},this)},parseOpera:function(Wh){if(!Wh.stacktrace||Wh.message.indexOf(`
|
|
4
4
|
`)>-1&&Wh.message.split(`
|
|
@@ -72,4 +72,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
72
72
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dH(h,k){if(!h)return;if(typeof h==="string")return ZC(h,k);var q=Object.prototype.toString.call(h).slice(8,-1);if(q==="Object"&&h.constructor)q=h.constructor.name;if(q==="Map"||q==="Set")return Array.from(h);if(q==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(q))return ZC(h,k)}function dQ(h){if(typeof Symbol<"u"&&h[Symbol.iterator]!=null||h["@@iterator"]!=null)return Array.from(h)}function aQ(h){if(Array.isArray(h))return ZC(h)}function ZC(h,k){if(k==null||k>h.length)k=h.length;for(var q=0,x=Array(k);q<k;q++)x[q]=h[q];return x}var nQ=/\s{4}(in|at)\s{1}/,iQ=/:\d+:\d+(\n|$)/;function sQ(h){return nQ.test(h)||iQ.test(h)}var aH=/ \(\<anonymous\>\)$|\@unknown\:0\:0$|\(|\)|\[|\]/gm;function lQ(h,k){return h.replace(aH,"")===k.replace(aH,"")}var cx=console,tQ={recordChangeDescriptions:!1,recordTimeline:!1};function eQ(h,k){var q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:tQ;if(h.hasOwnProperty("__REACT_DEVTOOLS_GLOBAL_HOOK__"))return null;function C(b){try{if(typeof b.version==="string"){if(b.bundleType>0)return"development";return"production"}var qh=Function.prototype.toString;if(b.Mount&&b.Mount._renderNewRootComponent){var Th=qh.call(b.Mount._renderNewRootComponent);if(Th.indexOf("function")!==0)return"production";if(Th.indexOf("storedMeasure")!==-1)return"development";if(Th.indexOf("should be a pure function")!==-1){if(Th.indexOf("NODE_ENV")!==-1)return"development";if(Th.indexOf("development")!==-1)return"development";if(Th.indexOf("true")!==-1)return"development";if(Th.indexOf("nextElement")!==-1||Th.indexOf("nextComponent")!==-1)return"unminified";else return"development"}if(Th.indexOf("nextElement")!==-1||Th.indexOf("nextComponent")!==-1)return"unminified";return"outdated"}}catch(eh){}return"production"}function O(b){try{var qh=Function.prototype.toString,Th=qh.call(b);if(Th.indexOf("^_^")>-1)W=!0,setTimeout(function(){throw Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://react.dev/link/perf-use-production-build")})}catch(eh){}}var Q=q,I=0;function J(b){var qh=++I;rh.set(qh,b);var Th=W?"deadcode":C(b);nh.emit("renderer",{id:qh,renderer:b,reactBuildType:Th});var eh=yQ(nh,qh,b,h,Q,x);if(eh!=null)nh.rendererInterfaces.set(qh,eh),nh.emit("renderer-attached",{id:qh,rendererInterface:eh});else nh.hasUnsupportedRendererAttached=!0,nh.emit("unsupported-renderer-version");return qh}var W=!1;function _(b,qh){return nh.on(b,qh),function(){return nh.off(b,qh)}}function E(b,qh){if(!ih[b])ih[b]=[];ih[b].push(qh)}function V(b,qh){if(!ih[b])return;var Th=ih[b].indexOf(qh);if(Th!==-1)ih[b].splice(Th,1);if(!ih[b].length)delete ih[b]}function c(b,qh){if(ih[b])ih[b].map(function(Th){return Th(qh)})}function j(b){var qh=Ok;if(!qh[b])qh[b]=new Set;return qh[b]}function d(b,qh){var Th=zk.get(b);if(Th!=null)Th.handleCommitFiberUnmount(qh)}function $h(b,qh,Th){var eh=nh.getFiberRoots(b),uk=qh.current,wk=eh.has(qh),gk=uk.memoizedState==null||uk.memoizedState.element==null;if(!wk&&!gk)eh.add(qh);else if(wk&&gk)eh.delete(qh);var vk=zk.get(b);if(vk!=null)vk.handleCommitFiberRoot(qh,Th)}function Lh(b,qh){var Th=zk.get(b);if(Th!=null)Th.handlePostCommitFiberRoot(qh)}var Rh=!1;function th(b,qh){if(Rh=qh,qh)o();else Jh()}var P=[];function o(){if(!nh.settings)return;if(P.length>0)return;var b=["group","groupCollapsed","info","log"],qh=function(){var wk=eh[Th],gk=cx[wk],vk=function(){var fk=nh.settings;for(var Sk=arguments.length,Hk=Array(Sk),Uk=0;Uk<Sk;Uk++)Hk[Uk]=arguments[Uk];if(fk==null){gk.apply(void 0,Hk);return}if(fk.hideConsoleLogsInStrictMode)return;gk.apply(void 0,[$k].concat(rH(pH.apply(void 0,Hk))))};cx[wk]=vk,P.push(function(){cx[wk]=gk})};for(var Th=0,eh=b;Th<eh.length;Th++)qh()}function Jh(){P.forEach(function(b){return b()}),P.length=0}var Ch=[],Sh=[];function Nh(b){var qh=b.stack.split(`
|
|
73
73
|
`),Th=qh.length>1?qh[1]:null;return Th}function Fh(){return Sh}function gh(b){var qh=Nh(b);if(qh!==null)Ch.push(qh)}function Oh(b){if(Ch.length>0){var qh=Ch.pop(),Th=Nh(b);if(Th!==null)Sh.push([qh,Th])}}function bh(){if(!nh.settings)return;var b=["error","trace","warn"],qh=function(){var wk=eh[Th],gk=cx[wk],vk=function(){var fk=nh.settings;for(var Sk=arguments.length,Hk=Array(Sk),Uk=0;Uk<Sk;Uk++)Hk[Uk]=arguments[Uk];if(fk==null){gk.apply(void 0,Hk);return}if(Rh&&fk.hideConsoleLogsInStrictMode)return;var Bq=!1,Uq=!1;if(fk.appendComponentStack){var Aq=Hk.length>0?Hk[Hk.length-1]:null;Uq=typeof Aq==="string"&&sQ(Aq)}var yq=fk.showInlineWarningsAndErrors&&(wk==="error"||wk==="warn"),hh=pQ(nh.rendererInterfaces.values()),Hh;try{var mh=function(){var Tk=Hh.value,bk=Tk.onErrorOrWarning,Oq=Tk.getComponentStack;try{if(yq){if(bk!=null)bk(wk,Hk.slice())}}catch(sq){setTimeout(function(){throw sq},0)}try{if(fk.appendComponentStack&&Oq!=null){var dk=Error("react-stack-top-frame"),zq=Oq(dk);if(zq!==null){var{enableOwnerStacks:Yq,componentStack:Gq}=zq;if(Gq!==""){var jk=Error("");if(jk.name=Yq?"Stack":"Component Stack",jk.stack=(Yq?"Error Stack:":"Error Component Stack:")+Gq,Uq){if(lQ(Hk[Hk.length-1],Gq)){var Zq=Hk[0];if(Hk.length>1&&typeof Zq==="string"&&Zq.endsWith("%s"))Hk[0]=Zq.slice(0,Zq.length-2);Hk[Hk.length-1]=jk,Bq=!0}}else Hk.push(jk),Bq=!0}return 1}}}catch(sq){setTimeout(function(){throw sq},0)}};for(hh.s();!(Hh=hh.n()).done;)if(mh())break}catch(Qk){hh.e(Qk)}finally{hh.f()}if(fk.breakOnConsoleErrors)debugger;if(Rh)if(!1)var oh;else gk.apply(void 0,[Bq?Z:$k].concat(rH(pH.apply(void 0,Hk))));else gk.apply(void 0,Hk)};cx[wk]=vk};for(var Th=0,eh=b;Th<eh.length;Th++)qh()}var Ok={},zk=new Map,ih={},rh=new Map,vh=new Map,nh={rendererInterfaces:zk,listeners:ih,backends:vh,renderers:rh,hasUnsupportedRendererAttached:!1,emit:c,getFiberRoots:j,inject:J,on:E,off:V,sub:_,supportsFiber:!0,supportsFlight:!0,checkDCE:O,onCommitFiberUnmount:d,onCommitFiberRoot:$h,onPostCommitFiberRoot:Lh,setStrictMode:th,getInternalModuleRanges:Fh,registerInternalModuleStart:gh,registerInternalModuleStop:Oh};if(k==null)nh.settings={appendComponentStack:!0,breakOnConsoleErrors:!1,showInlineWarningsAndErrors:!0,hideConsoleLogsInStrictMode:!1},bh();else Promise.resolve(k).then(function(b){nh.settings=b,nh.emit("settingsInitialized",b),bh()}).catch(function(){cx.error("React DevTools failed to get Console Patching settings. Console won't be patched and some console features will not work.")});return Object.defineProperty(h,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return nh}}),nh}function nH(h,k,q,x){if(h==null)return function(){};function C(I,J){k.registerRendererInterface(I,J),J.flushInitialOperations()}var O=[h.sub("renderer-attached",function(I){var{id:J,rendererInterface:W}=I;C(J,W)}),h.sub("unsupported-renderer-version",function(){k.onUnsupportedRenderer()}),h.sub("fastRefreshScheduled",k.onFastRefreshScheduled),h.sub("operations",k.onHookOperations),h.sub("traceUpdates",k.onTraceUpdates),h.sub("settingsInitialized",k.onHookSettings)];k.addListener("getIfHasUnsupportedRendererVersion",function(){if(h.hasUnsupportedRendererAttached)k.onUnsupportedRenderer()}),h.rendererInterfaces.forEach(function(I,J){C(J,I)}),h.emit("react-devtools",k),h.reactDevtoolsAgent=k;var Q=function(){O.forEach(function(J){return J()}),h.rendererInterfaces.forEach(function(J){J.cleanup()}),h.reactDevtoolsAgent=null};if(k.addListener("shutdown",Q),k.addListener("updateHookSettings",function(I){h.settings=I}),k.addListener("getHookSettings",function(){if(h.settings!=null)k.onHookSettings(h.settings)}),x)k.onReloadAndProfileSupportedByHost();return function(){O.forEach(function(I){return I()})}}function iH(h,k){var q=!1,x={bottom:0,left:0,right:0,top:0},C=k[h];if(C!=null){for(var O=0,Q=Object.keys(x);O<Q.length;O++){var I=Q[O];x[I]=C}q=!0}var J=k[h+"Horizontal"];if(J!=null)x.left=J,x.right=J,q=!0;else{var W=k[h+"Left"];if(W!=null)x.left=W,q=!0;var _=k[h+"Right"];if(_!=null)x.right=_,q=!0;var E=k[h+"End"];if(E!=null)x.right=E,q=!0;var V=k[h+"Start"];if(V!=null)x.left=V,q=!0}var c=k[h+"Vertical"];if(c!=null)x.bottom=c,x.top=c,q=!0;else{var j=k[h+"Bottom"];if(j!=null)x.bottom=j,q=!0;var d=k[h+"Top"];if(d!=null)x.top=d,q=!0}return q?x:null}function Cx(h){return Cx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},Cx(h)}function BB(h,k,q){if(k=oQ(k),k in h)Object.defineProperty(h,k,{value:q,enumerable:!0,configurable:!0,writable:!0});else h[k]=q;return h}function oQ(h){var k=hT(h,"string");return Cx(k)=="symbol"?k:k+""}function hT(h,k){if(Cx(h)!="object"||!h)return h;var q=h[Symbol.toPrimitive];if(q!==void 0){var x=q.call(h,k||"default");if(Cx(x)!="object")return x;throw TypeError("@@toPrimitive must return a primitive value.")}return(k==="string"?String:Number)(h)}function _C(h,k,q,x){h.addListener("NativeStyleEditor_measure",function(C){var{id:O,rendererID:Q}=C;$C(k,h,q,O,Q)}),h.addListener("NativeStyleEditor_renameAttribute",function(C){var{id:O,rendererID:Q,oldName:I,newName:J,value:W}=C;kT(k,O,Q,I,J,W),setTimeout(function(){return $C(k,h,q,O,Q)})}),h.addListener("NativeStyleEditor_setValue",function(C){var{id:O,rendererID:Q,name:I,value:J}=C;qT(k,O,Q,I,J),setTimeout(function(){return $C(k,h,q,O,Q)})}),h.send("isNativeStyleEditorSupported",{isSupported:!0,validAttributes:x})}var sH={top:0,left:0,right:0,bottom:0},Xz=new Map;function $C(h,k,q,x,C){var O=h.getInstanceAndStyle({id:x,rendererID:C});if(!O||!O.style){k.send("NativeStyleEditor_styleAndLayout",{id:x,layout:null,style:null});return}var{instance:Q,style:I}=O,J=q(I),W=Xz.get(x);if(W!=null)J=Object.assign({},J,W);if(!Q||typeof Q.measure!=="function"){k.send("NativeStyleEditor_styleAndLayout",{id:x,layout:null,style:J||null});return}Q.measure(function(_,E,V,c,j,d){if(typeof _!=="number"){k.send("NativeStyleEditor_styleAndLayout",{id:x,layout:null,style:J||null});return}var $h=J!=null&&iH("margin",J)||sH,Lh=J!=null&&iH("padding",J)||sH;k.send("NativeStyleEditor_styleAndLayout",{id:x,layout:{x:_,y:E,width:V,height:c,left:j,top:d,margin:$h,padding:Lh},style:J||null})})}function lH(h){var k={};for(var q in h)k[q]=h[q];return k}function kT(h,k,q,x,C,O){var Q=h.getInstanceAndStyle({id:k,rendererID:q});if(!Q||!Q.style)return;var{instance:I,style:J}=Q,W=C?BB(BB({},x,void 0),C,O):BB({},x,void 0),_;if(I!==null&&typeof I.setNativeProps==="function"){var E=Xz.get(k);if(!E)Xz.set(k,W);else Object.assign(E,W);I.setNativeProps({style:W})}else if(mq(J)){var V=J.length-1;if(Cx(J[V])==="object"&&!mq(J[V])){if(_=lH(J[V]),delete _[x],C)_[C]=O;else _[x]=void 0;h.overrideValueAtPath({type:"props",id:k,rendererID:q,path:["style",V],value:_})}else h.overrideValueAtPath({type:"props",id:k,rendererID:q,path:["style"],value:J.concat([W])})}else if(Cx(J)==="object"){if(_=lH(J),delete _[x],C)_[C]=O;else _[x]=void 0;h.overrideValueAtPath({type:"props",id:k,rendererID:q,path:["style"],value:_})}else h.overrideValueAtPath({type:"props",id:k,rendererID:q,path:["style"],value:[J,W]});h.emit("hideNativeHighlight")}function qT(h,k,q,x,C){var O=h.getInstanceAndStyle({id:k,rendererID:q});if(!O||!O.style)return;var{instance:Q,style:I}=O,J=BB({},x,C);if(Q!==null&&typeof Q.setNativeProps==="function"){var W=Xz.get(k);if(!W)Xz.set(k,J);else Object.assign(W,J);Q.setNativeProps({style:J})}else if(mq(I)){var _=I.length-1;if(Cx(I[_])==="object"&&!mq(I[_]))h.overrideValueAtPath({type:"props",id:k,rendererID:q,path:["style",_,x],value:C});else h.overrideValueAtPath({type:"props",id:k,rendererID:q,path:["style"],value:I.concat([J])})}else h.overrideValueAtPath({type:"props",id:k,rendererID:q,path:["style"],value:[I,J]});h.emit("hideNativeHighlight")}var CB=AB();function Yz(h){if(S){var k;for(var q=arguments.length,x=Array(q>1?q-1:0),C=1;C<q;C++)x[C-1]=arguments[C];(k=console).log.apply(k,["%c[core/backend] %c".concat(h),"color: teal; font-weight: bold;","font-weight: bold;"].concat(x))}}function xT(h){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,q=arguments.length>2?arguments[2]:void 0;eQ(window,h,k,q)}function tH(h){var k=window.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(k==null)return;var q=h||{},x=q.host,C=x===void 0?"localhost":x,O=q.nativeStyleEditorValidAttributes,Q=q.useHttps,I=Q===void 0?!1:Q,J=q.port,W=J===void 0?8097:J,_=q.websocket,E=q.resolveRNStyle,V=E===void 0?null:E,c=q.retryConnectionDelay,j=c===void 0?2000:c,d=q.isAppActive,$h=d===void 0?function(){return!0}:d,Lh=q.onSettingsUpdated,Rh=q.isReloadAndProfileSupported,th=Rh===void 0?FD():Rh,P=q.isProfiling,o=q.onReloadAndProfile,Jh=q.onReloadAndProfileFlagsReset,Ch=I?"wss":"ws",Sh=null;function Nh(){if(Sh===null)Sh=setTimeout(function(){return tH(h)},j)}if(!$h()){Nh();return}var Fh=null,gh=[],Oh=Ch+"://"+C+":"+W,bh=_?_:new window.WebSocket(Oh);bh.onclose=Ok,bh.onerror=zk,bh.onmessage=ih,bh.onopen=function(){if(Fh=new lD({listen:function(Th){return gh.push(Th),function(){var eh=gh.indexOf(Th);if(eh>=0)gh.splice(eh,1)}},send:function(Th,eh,uk){if(bh.readyState===bh.OPEN){if(S)Yz("wall.send()",Th,eh);bh.send(JSON.stringify({event:Th,payload:eh}))}else{if(S)Yz("wall.send()","Shutting down bridge because of closed WebSocket connection");if(Fh!==null)Fh.shutdown();Nh()}}}),Fh.addListener("updateComponentFilters",function(qh){CB=qh}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null)Fh.send("overrideComponentFilters",CB);var rh=new kH(Fh,P,o);if(typeof Jh==="function")Jh();if(Lh!=null)rh.addListener("updateHookSettings",Lh);if(rh.addListener("shutdown",function(){if(Lh!=null)rh.removeListener("updateHookSettings",Lh);k.emit("shutdown")}),nH(k,rh,window,th),V!=null||k.resolveRNStyle!=null)_C(Fh,rh,V||k.resolveRNStyle,O||k.nativeStyleEditorValidAttributes||null);else{var vh,nh,b=function(){if(Fh!==null)_C(Fh,rh,vh,nh)};if(!k.hasOwnProperty("resolveRNStyle"))Object.defineProperty(k,"resolveRNStyle",{enumerable:!1,get:function(){return vh},set:function(Th){vh=Th,b()}});if(!k.hasOwnProperty("nativeStyleEditorValidAttributes"))Object.defineProperty(k,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return nh},set:function(Th){nh=Th,b()}})}};function Ok(){if(S)Yz("WebSocket.onclose");if(Fh!==null)Fh.emit("shutdown");Nh()}function zk(){if(S)Yz("WebSocket.onerror");Nh()}function ih(rh){var vh;try{if(typeof rh.data==="string"){if(vh=JSON.parse(rh.data),S)Yz("WebSocket.onmessage",vh)}else throw Error()}catch(nh){console.error("[React DevTools] Failed to parse JSON: "+rh.data);return}gh.forEach(function(nh){try{nh(vh)}catch(b){throw console.log("[React DevTools] Error calling listener",vh),console.log("error:",b),b}})}}function zT(h){var{onSubscribe:k,onUnsubscribe:q,onMessage:x,nativeStyleEditorValidAttributes:C,resolveRNStyle:O,onSettingsUpdated:Q,isReloadAndProfileSupported:I}=h,J=I===void 0?FD():I,W=h.isProfiling,_=h.onReloadAndProfile,E=h.onReloadAndProfileFlagsReset,V=window.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(V==null)return;var c={listen:function(P){return k(P),function(){q(P)}},send:function(P,o){x(P,o)}},j=new lD(c);if(j.addListener("updateComponentFilters",function(th){CB=th}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null)j.send("overrideComponentFilters",CB);var d=new kH(j,W,_);if(typeof E==="function")E();if(Q!=null)d.addListener("updateHookSettings",Q);d.addListener("shutdown",function(){if(Q!=null)d.removeListener("updateHookSettings",Q);V.emit("shutdown")});var $h=nH(V,d,window,J),Lh=O||V.resolveRNStyle;if(Lh!=null){var Rh=C||V.nativeStyleEditorValidAttributes||null;_C(j,d,Lh,Rh)}return $h}})(),VB})()})});var EB=global;EB.WebSocket||=nI;EB.window||=global;EB.self||=global;EB.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}];var bC=YW(iI(),1);bC.default.initialize();bC.default.connectToDevTools();
|
|
74
74
|
|
|
75
|
-
//# debugId=
|
|
75
|
+
//# debugId=865393A188292ED164756E2164756E21
|