diff --git a/.claude/settings.json b/.claude/settings.json index 0967ef4..93b0764 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1 +1,64 @@ -{} +{ + "userName": "", + "enableBlocklist": true, + "blockedCommands": { + "unix": [ + "rm -rf", + "chmod 777", + "chmod -R 777" + ], + "windows": [ + "del /s /q", + "rd /s /q", + "rmdir /s /q", + "format", + "diskpart", + "Remove-Item -Recurse -Force", + "Remove-Item -Force -Recurse", + "Remove-Item -r -fo", + "Remove-Item -fo -r", + "Remove-Item -Recurse", + "Remove-Item -r", + "ri -Recurse", + "ri -r", + "ri -Force", + "ri -fo", + "rm -r -fo", + "rm -Recurse", + "rm -Force", + "del -Recurse", + "del -Force", + "erase -Recurse", + "erase -Force", + "rd -Recurse", + "rmdir -Recurse", + "Format-Volume", + "Clear-Disk", + "Initialize-Disk", + "Remove-Partition" + ] + }, + "model": "haiku", + "enableAutoTitleGeneration": true, + "titleGenerationModel": "", + "thinkingBudget": "off", + "permissionMode": "normal", + "lastNonPlanPermissionMode": "normal", + "permissions": [], + "excludedTags": [], + "mediaFolder": "", + "environmentVariables": "", + "envSnippets": [], + "systemPrompt": "", + "allowedExportPaths": [ + "~/Desktop", + "~/Downloads" + ], + "allowedContextPaths": [], + "keyboardNavigation": { + "scrollUpKey": "w", + "scrollDownKey": "s", + "focusInputKey": "i" + }, + "claudeCliPath": "" +} \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index 6028022..c32391d 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -4,18 +4,25 @@ "table-editor-obsidian", "obsidian-git", "templater-obsidian", + "obsidian-tasks-plugin", + "calendar", "obsidian-kanban", + "obsidian-style-settings", "obsidian-icon-folder", "omnisearch", + "copilot", + "easy-typing-obsidian", "obsidian-advanced-uri", "advanced-canvas", - "obsidian-advanced-codeblock", - "better-word-counted", + "better-word-count", + "dataview", "obsidian-excalidraw-plugin", "obsidian-mind-map", "cm-chs-patch", "quickadd", - "highlightr-plugin", "any-block", - "obsidian-opencode" + "obsidian-opencode", + "opencode-obsidian", + "highlightr-plugin", + "code-styler" ] \ No newline at end of file diff --git a/.obsidian/plugins/note-buddy/main.js b/.obsidian/plugins/note-buddy/main.js new file mode 100644 index 0000000..a066aae --- /dev/null +++ b/.obsidian/plugins/note-buddy/main.js @@ -0,0 +1,413 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/main.ts +var main_exports = {}; +__export(main_exports, { + default: () => NoteBuddyPlugin +}); +module.exports = __toCommonJS(main_exports); +var import_obsidian4 = require("obsidian"); + +// src/chat-view.ts +var import_obsidian2 = require("obsidian"); + +// src/service.ts +var import_obsidian = require("obsidian"); + +// src/models.ts +var defaultSettings = { + serviceUrl: "http://127.0.0.1:4096" +}; + +// src/service.ts +var OpenCodeClient = class { + constructor(serviceUrl) { + this.session = null; + this.serviceUrl = serviceUrl; + } + async request(options) { + return await Promise.race([ + (0, import_obsidian.requestUrl)(options), + new Promise( + (_, reject) => setTimeout(() => reject(new Error("Request timeout after 10 seconds")), 1e4) + ) + ]); + } + async healthCheck() { + const url = `${this.serviceUrl}/global/health`; + try { + const response = await this.request({ + url, + method: "GET" + }); + if (response.status === 200 && response.json.healthy === true) { + return { + status: "connected" /* Connected */, + lastTestTime: Date.now() + }; + } else { + return { + status: "disconnected" /* Disconnected */, + lastTestTime: Date.now(), + lastError: `Service unhealthy or unreachable` + }; + } + } catch (error) { + const err = error; + return { + status: "disconnected" /* Disconnected */, + lastTestTime: Date.now(), + lastError: err.message || "Unknown error" + }; + } + } + async createSession() { + const url = `${this.serviceUrl}/session`; + try { + const response = await this.request({ + url, + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({}) + }); + if (response.status === 200) { + const data = response.json; + return { + sessionID: data.sessionID, + createTime: data.createTime, + title: data.title + }; + } else { + throw new Error(`HTTP ${response.status}: ${response.text}`); + } + } catch (error) { + const err = error; + throw new Error(`Failed to create session: ${err.message}`); + } + } + async sendMessageInternal(sessionID, message) { + const url = `${this.serviceUrl}/session/${sessionID}/message`; + try { + const response = await this.request({ + url, + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(message) + }); + if (response.status === 200) { + return response.json; + } else if (response.status === 404) { + throw new Error("Session not found"); + } else { + throw new Error(`HTTP ${response.status}: ${response.text}`); + } + } catch (error) { + const err = error; + throw new Error(`Failed to send message: ${err.message}`); + } + } + async sendMessage(input) { + if (!this.session) { + this.session = await this.createSession(); + } + const message = { + parts: [{ text: input, role: "user" }] + }; + const response = await this.sendMessageInternal(this.session.sessionID, message); + const assistantParts = response.parts.filter((part) => part.role === "assistant"); + const assistantText = assistantParts.map((part) => part.text).join("\n"); + return assistantText; + } + async sendMessageToSession(sessionID, message) { + return await this.sendMessageInternal(sessionID, message); + } +}; + +// src/chat-view.ts +var VIEW_TYPE_CHAT = "note-buddy-chat-view"; +var ChatView = class extends import_obsidian2.ItemView { + constructor(leaf, plugin) { + super(leaf); + this.plugin = plugin; + this.messages = []; + this.client = new OpenCodeClient(plugin.settings.serviceUrl); + } + getViewType() { + return VIEW_TYPE_CHAT; + } + getDisplayText() { + return "NoteBuddy Chat"; + } + async onOpen() { + const container = this.containerEl.children[1]; + container.empty(); + const chatContainer = container.createDiv({ cls: "nb-chat-container" }); + chatContainer.style.cssText = ` + display: flex; + flex-direction: column; + height: 100%; + gap: 1rem; + `; + const messagesContainer = chatContainer.createDiv({ cls: "nb-messages-container" }); + this.messagesContainer = messagesContainer; + messagesContainer.style.cssText = ` + flex: 1; + overflow-y: auto; + display: flex; + flex-direction: column; + gap: 0.5rem; + padding: 1rem; + `; + this.renderMessages(); + const welcomeMessage = messagesContainer.createDiv({ cls: "nb-message nb-message-system" }); + welcomeMessage.createSpan({ text: "Welcome to NoteBuddy! Chat with your notes here." }); + welcomeMessage.style.cssText = ` + padding: 0.75rem; + background-color: var(--background-secondary); + border-radius: 0.5rem; + font-size: 0.9rem; + color: var(--text-muted); + `; + const inputContainer = chatContainer.createDiv({ cls: "nb-input-container" }); + inputContainer.style.cssText = ` + display: flex; + gap: 0.5rem; + padding: 1rem; + border-top: 1px solid var(--background-modifier-border); + `; + const textarea = inputContainer.createEl("textarea", { + cls: "nb-chat-input", + attr: { placeholder: "Type your message..." } + }); + textarea.style.cssText = ` + flex: 1; + min-height: 60px; + max-height: 150px; + padding: 0.5rem; + border: 1px solid var(--background-modifier-border); + border-radius: 0.375rem; + background-color: var(--background-primary); + color: var(--text-normal); + resize: vertical; + font-family: inherit; + `; + const sendButton = inputContainer.createEl("button", { + cls: "nb-send-button", + text: "Send" + }); + sendButton.style.cssText = ` + padding: 0.5rem 1rem; + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + border-radius: 0.375rem; + cursor: pointer; + font-weight: 500; + `; + const sendMessage = async () => { + const message = textarea.value.trim(); + if (!message) return; + this.messages.push({ text: message, role: "user" }); + this.renderMessages(); + textarea.value = ""; + try { + if (!this.plugin.sessionState) { + this.plugin.sessionState = await this.client.createSession(); + } + const sendData = { + parts: [{ text: message, role: "user" }], + model: { + providerID: "anthropic", + modelID: "claude-3-5-sonnet-20241022" + } + }; + let response; + try { + response = await this.client.sendMessageToSession(this.plugin.sessionState.sessionID, sendData); + } catch (sendError) { + const err = sendError; + if (err.message.includes("Session not found") || err.message.includes("404")) { + this.plugin.sessionState = await this.client.createSession(); + response = await this.client.sendMessageToSession(this.plugin.sessionState.sessionID, sendData); + } else { + throw sendError; + } + } + this.messages.push(...response.parts); + this.renderMessages(); + this.messagesContainer.scrollTop = this.messagesContainer.scrollHeight; + } catch (error) { + console.error("[NoteBuddy] Send failed:", error); + new import_obsidian2.Notice(`Failed to send message: ${error.message}`); + } + }; + sendButton.onclick = sendMessage; + textarea.addEventListener("keydown", (e) => { + if (e.key === "Enter" && !e.shiftKey) { + e.preventDefault(); + sendMessage(); + } + }); + } + async onClose() { + console.log("[NoteBuddy] Chat view closed"); + } + renderMessages() { + this.messagesContainer.empty(); + if (this.messages.length === 0) { + const welcomeMessage = this.messagesContainer.createDiv({ cls: "nb-message nb-message-system" }); + welcomeMessage.createSpan({ text: "Welcome to NoteBuddy! Chat with your notes here." }); + welcomeMessage.style.cssText = ` + padding: 0.75rem; + background-color: var(--background-secondary); + border-radius: 0.5rem; + font-size: 0.9rem; + color: var(--text-muted); + `; + return; + } + for (const message of this.messages) { + const messageEl = this.messagesContainer.createDiv({ + cls: `nb-message nb-message-${message.role}` + }); + messageEl.createSpan({ text: message.text }); + messageEl.style.cssText = ` + padding: 0.75rem; + background-color: ${message.role === "user" ? "var(--background-modifier-accent)" : "var(--background-secondary)"}; + border-radius: 0.5rem; + font-size: 0.9rem; + align-self: ${message.role === "user" ? "flex-end" : "flex-start"}; + max-width: 70%; + `; + } + } +}; + +// src/settings.ts +var import_obsidian3 = require("obsidian"); +var NoteBuddySettingTab = class extends import_obsidian3.PluginSettingTab { + constructor(app, plugin) { + super(app, plugin); + this.plugin = plugin; + } + display() { + const { containerEl } = this; + containerEl.empty(); + containerEl.createEl("h2", { text: "NoteBuddy Settings" }); + new import_obsidian3.Setting(containerEl).setName("Service URL").setDesc("The URL of the OpenCode service (must include protocol, hostname, and port)").addText( + (text) => text.setPlaceholder("http://127.0.0.1:4096").setValue(this.plugin.settings.serviceUrl).onChange(async (value) => { + if (!value.startsWith("http://") && !value.startsWith("https://")) { + new import_obsidian3.Notice("Service URL must start with http:// or https://"); + return; + } + try { + const url = new URL(value); + if (!url.hostname || url.hostname === "") { + new import_obsidian3.Notice("Service URL must include a valid hostname"); + return; + } + if (!url.port || url.port === "") { + new import_obsidian3.Notice("Service URL must include a port number"); + return; + } + } catch (e) { + new import_obsidian3.Notice("Service URL must be a valid URL format"); + return; + } + this.plugin.settings.serviceUrl = value; + await this.plugin.saveSettings(); + }) + ); + new import_obsidian3.Setting(containerEl).setName("Test Connection").setDesc("Test the connection to the service").addButton( + (button) => button.setButtonText("Test").setCta().onClick(async () => { + const client = new OpenCodeClient(this.plugin.settings.serviceUrl); + const result = await client.healthCheck(); + if (result.status === "connected") { + new import_obsidian3.Notice("Connection successful!"); + } else { + new import_obsidian3.Notice(`Connection failed: ${result.lastError}`); + } + }) + ); + } +}; + +// src/main.ts +var DEFAULT_SETTINGS = defaultSettings; +var NoteBuddyPlugin = class extends import_obsidian4.Plugin { + constructor() { + super(...arguments); + this.ribbonIconEl = null; + } + async onload() { + console.log("Loading NoteBuddy plugin..."); + await this.loadSettings(); + this.registerView( + VIEW_TYPE_CHAT, + (leaf) => new ChatView(leaf, this) + ); + this.addRibbonIcon("bot", "NoteBuddy", () => { + this.activateView(); + }); + this.addCommand({ + id: "open-chat-view", + name: "Open NoteBuddy Chat", + callback: () => { + this.activateView(); + } + }); + this.app.workspace.onLayoutReady(() => { + this.activateView(); + }); + this.addSettingTab(new NoteBuddySettingTab(this.app, this)); + } + onunload() { + console.log("Unloading NoteBuddy plugin..."); + } + async activateView() { + const { workspace } = this.app; + let leaf = null; + const leaves = workspace.getLeavesOfType(VIEW_TYPE_CHAT); + if (leaves.length > 0) { + leaf = leaves[0]; + } else { + leaf = workspace.getRightLeaf(false); + } + if (leaf) { + await workspace.setActiveLeaf(leaf); + await leaf.setViewState({ type: VIEW_TYPE_CHAT, active: true }); + } + } + async loadSettings() { + this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); + } + async saveSettings() { + await this.saveData(this.settings); + } +}; diff --git a/.obsidian/plugins/note-buddy/styles.css b/.obsidian/plugins/note-buddy/styles.css new file mode 100644 index 0000000..4868068 --- /dev/null +++ b/.obsidian/plugins/note-buddy/styles.css @@ -0,0 +1,48 @@ +.note-buddy-chat { + height: 100%; + display: flex; + flex-direction: column; + background-color: var(--background-secondary); +} + +.note-buddy-chat h2 { + margin: 10px; + font-size: var(--font-ui-medium); + color: var(--text-normal); + font-weight: var(--font-semibold); +} + +.message-container { + background-color: var(--background-primary-alt); + border-radius: var(--radius-md); + margin: 0 10px 10px 10px; +} + +.input-bar textarea { + background-color: var(--background-primary); + color: var(--text-normal); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-sm); + font-family: var(--font-interface); + font-size: var(--font-ui-sm); +} + +.input-bar textarea:focus { + outline: none; + border-color: var(--interactive-accent); +} + +.input-bar button { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + border-radius: var(--radius-sm); + font-family: var(--font-interface); + font-weight: var(--font-semibold); + font-size: var(--font-ui-sm); + transition: background-color 0.2s; +} + +.input-bar button:hover { + background-color: var(--interactive-accent-hover); +} diff --git a/.obsidian/plugins/opencode-obsidian b/.obsidian/plugins/opencode-obsidian new file mode 100644 index 0000000..4868068 --- /dev/null +++ b/.obsidian/plugins/opencode-obsidian @@ -0,0 +1,48 @@ +.note-buddy-chat { + height: 100%; + display: flex; + flex-direction: column; + background-color: var(--background-secondary); +} + +.note-buddy-chat h2 { + margin: 10px; + font-size: var(--font-ui-medium); + color: var(--text-normal); + font-weight: var(--font-semibold); +} + +.message-container { + background-color: var(--background-primary-alt); + border-radius: var(--radius-md); + margin: 0 10px 10px 10px; +} + +.input-bar textarea { + background-color: var(--background-primary); + color: var(--text-normal); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-sm); + font-family: var(--font-interface); + font-size: var(--font-ui-sm); +} + +.input-bar textarea:focus { + outline: none; + border-color: var(--interactive-accent); +} + +.input-bar button { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + border-radius: var(--radius-sm); + font-family: var(--font-interface); + font-weight: var(--font-semibold); + font-size: var(--font-ui-sm); + transition: background-color 0.2s; +} + +.input-bar button:hover { + background-color: var(--interactive-accent-hover); +} diff --git a/.obsidian/plugins/opencode-obsidian/.github/workflows/ci.yml b/.obsidian/plugins/opencode-obsidian/.github/workflows/ci.yml deleted file mode 100644 index a4a968b..0000000 --- a/.obsidian/plugins/opencode-obsidian/.github/workflows/ci.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: CI - -on: - pull_request: - -jobs: - test: - runs-on: ubuntu-latest - timeout-minutes: 10 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Bun - uses: oven-sh/setup-bun@v2 - with: - bun-version: latest - - - name: Cache Bun dependencies - uses: actions/cache@v4 - with: - path: ~/.bun/install/cache - key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }} - restore-keys: | - ${{ runner.os }}-bun- - - - name: Cache OpenCode binary - id: cache-opencode - uses: actions/cache@v4 - with: - path: ~/.bun/bin/opencode - key: ${{ runner.os }}-opencode-${{ hashFiles('.github/workflows/ci.yml') }} - restore-keys: | - ${{ runner.os }}-opencode- - - - name: Install dependencies - run: bun install - - - name: Install OpenCode CLI - if: steps.cache-opencode.outputs.cache-hit != 'true' - run: bun install -g opencode-ai - - - name: Verify OpenCode installation - run: opencode --version - - - name: Type check - run: bun run tsc -noEmit -skipLibCheck - - - name: Build plugin - run: bun run build - - - name: Run tests - run: bun test diff --git a/.obsidian/plugins/opencode-obsidian/.gitignore b/.obsidian/plugins/opencode-obsidian/.gitignore deleted file mode 100644 index c2d3004..0000000 --- a/.obsidian/plugins/opencode-obsidian/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -data.json - diff --git a/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-apply.md b/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-apply.md deleted file mode 100644 index 954b9a7..0000000 --- a/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-apply.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -description: Implement an approved OpenSpec change and keep tasks in sync. ---- -The user has requested to implement the following change proposal. Find the change proposal and follow the instructions below. If you're not sure or if ambiguous, ask for clarification from the user. - - $ARGUMENTS - - -**Guardrails** -- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required. -- Keep changes tightly scoped to the requested outcome. -- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications. - -**Steps** -Track these steps as TODOs and complete them one by one. -1. Read `changes//proposal.md`, `design.md` (if present), and `tasks.md` to confirm scope and acceptance criteria. -2. Work through tasks sequentially, keeping edits minimal and focused on the requested change. -3. Confirm completion before updating statuses—make sure every item in `tasks.md` is finished. -4. Update the checklist after all work is done so each task is marked `- [x]` and reflects reality. -5. Reference `openspec list` or `openspec show ` when additional context is required. - -**Reference** -- Use `openspec show --json --deltas-only` if you need additional context from the proposal while implementing. - diff --git a/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-archive.md b/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-archive.md deleted file mode 100644 index d172e44..0000000 --- a/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-archive.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -description: Archive a deployed OpenSpec change and update specs. ---- - - $ARGUMENTS - - -**Guardrails** -- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required. -- Keep changes tightly scoped to the requested outcome. -- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications. - -**Steps** -1. Determine the change ID to archive: - - If this prompt already includes a specific change ID (for example inside a `` block populated by slash-command arguments), use that value after trimming whitespace. - - If the conversation references a change loosely (for example by title or summary), run `openspec list` to surface likely IDs, share the relevant candidates, and confirm which one the user intends. - - Otherwise, review the conversation, run `openspec list`, and ask the user which change to archive; wait for a confirmed change ID before proceeding. - - If you still cannot identify a single change ID, stop and tell the user you cannot archive anything yet. -2. Validate the change ID by running `openspec list` (or `openspec show `) and stop if the change is missing, already archived, or otherwise not ready to archive. -3. Run `openspec archive --yes` so the CLI moves the change and applies spec updates without prompts (use `--skip-specs` only for tooling-only work). -4. Review the command output to confirm the target specs were updated and the change landed in `changes/archive/`. -5. Validate with `openspec validate --strict` and inspect with `openspec show ` if anything looks off. - -**Reference** -- Use `openspec list` to confirm change IDs before archiving. -- Inspect refreshed specs with `openspec list --specs` and address any validation issues before handing off. - diff --git a/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-proposal.md b/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-proposal.md deleted file mode 100644 index 0de9bc1..0000000 --- a/.obsidian/plugins/opencode-obsidian/.opencode/command/openspec-proposal.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -description: Scaffold a new OpenSpec change and validate strictly. ---- -The user has requested the following change proposal. Use the openspec instructions to create their change proposal. - - $ARGUMENTS - - -**Guardrails** -- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required. -- Keep changes tightly scoped to the requested outcome. -- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications. -- Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files. -- Do not write any code during the proposal stage. Only create design documents (proposal.md, tasks.md, design.md, and spec deltas). Implementation happens in the apply stage after approval. - -**Steps** -1. Review `openspec/project.md`, run `openspec list` and `openspec list --specs`, and inspect related code or docs (e.g., via `rg`/`ls`) to ground the proposal in current behaviour; note any gaps that require clarification. -2. Choose a unique verb-led `change-id` and scaffold `proposal.md`, `tasks.md`, and `design.md` (when needed) under `openspec/changes//`. -3. Map the change into concrete capabilities or requirements, breaking multi-scope efforts into distinct spec deltas with clear relationships and sequencing. -4. Capture architectural reasoning in `design.md` when the solution spans multiple systems, introduces new patterns, or demands trade-off discussion before committing to specs. -5. Draft spec deltas in `changes//specs//spec.md` (one folder per capability) using `## ADDED|MODIFIED|REMOVED Requirements` with at least one `#### Scenario:` per requirement and cross-reference related capabilities when relevant. -6. Draft `tasks.md` as an ordered list of small, verifiable work items that deliver user-visible progress, include validation (tests, tooling), and highlight dependencies or parallelizable work. -7. Validate with `openspec validate --strict` and resolve every issue before sharing the proposal. - -**Reference** -- Use `openspec show --json --deltas-only` or `openspec show --type spec` to inspect details when validation fails. -- Search existing requirements with `rg -n "Requirement:|Scenario:" openspec/specs` before writing new ones. -- Explore the codebase with `rg `, `ls`, or direct file reads so proposals align with current implementation realities. - diff --git a/.obsidian/plugins/opencode-obsidian/LICENSE b/.obsidian/plugins/opencode-obsidian/LICENSE deleted file mode 100644 index 6e1227a..0000000 --- a/.obsidian/plugins/opencode-obsidian/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (C) 2020-2025 by Dynalist Inc. - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/.obsidian/plugins/opencode-obsidian/main.js b/.obsidian/plugins/opencode-obsidian/main.js deleted file mode 100644 index 8cdad4d..0000000 --- a/.obsidian/plugins/opencode-obsidian/main.js +++ /dev/null @@ -1,100 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ -var tr=Object.defineProperty;var Ig=Object.getOwnPropertyDescriptor;var Pg=Object.getOwnPropertyNames;var Tg=Object.prototype.hasOwnProperty;var yd=r=>{throw TypeError(r)};var zg=(r,e,n)=>e in r?tr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[e]=n;var Y=(r,e)=>()=>(r&&(e=r(r=0)),e);var $e=(r,e)=>{for(var n in e)tr(r,n,{get:e[n],enumerable:!0})},Og=(r,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of Pg(e))!Tg.call(r,t)&&t!==n&&tr(r,t,{get:()=>e[t],enumerable:!(i=Ig(e,t))||i.enumerable});return r};var Dg=r=>Og(tr({},"__esModule",{value:!0}),r);var D=(r,e,n)=>zg(r,typeof e!="symbol"?e+"":e,n),Oo=(r,e,n)=>e.has(r)||yd("Cannot "+n);var I=(r,e,n)=>(Oo(r,e,"read from private field"),n?n.call(r):e.get(r)),fe=(r,e,n)=>e.has(r)?yd("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,n),ee=(r,e,n,i)=>(Oo(r,e,"write to private field"),i?i.call(r,n):e.set(r,n),n),Ve=(r,e,n)=>(Oo(r,e,"access private method"),n);var nr,se=Y(()=>{nr=class{constructor(e={}){this.collectedErrors=[];var n,i,t,o;this.config={showUserNotifications:(n=e.showUserNotifications)!=null?n:!0,logToConsole:(i=e.logToConsole)!=null?i:!0,collectErrors:(t=e.collectErrors)!=null?t:!1,maxCollectedErrors:(o=e.maxCollectedErrors)!=null?o:100,notificationCallback:e.notificationCallback}}handleError(e,n={},i="error"){let t=e instanceof Error?e:new Error(String(e));this.config.collectErrors&&this.collectError(t,i,n),this.config.logToConsole&&this.logError(t,i,n),this.config.showUserNotifications&&(i==="critical"||i==="error")&&this.notifyUser(t,i,n)}logError(e,n,i){let o=`${`[${i.module||"Unknown"}]${i.function?`.${i.function}`:""}`} ${n.toUpperCase()}: ${e.message}`;switch(n){case"critical":case"error":console.error(o,{error:e,stack:e.stack,context:i.metadata});break;case"warning":console.warn(o,{error:e,context:i.metadata});break;case"info":console.debug(o,{error:e,context:i.metadata});break}}notifyUser(e,n,i){let t=e.message;if(e.message.includes("Unable to connect")||e.message.includes("Please ensure")||e.message.startsWith("Failed to")||(i.operation?t=`${i.operation}: ${t}`:i.module&&(t=`${i.module}: ${t}`)),t.length>200&&(t=t.substring(0,197)+"..."),this.config.notificationCallback)try{this.config.notificationCallback(t,n)}catch(s){console.error("[ErrorHandler] Failed to show notification:",s)}else console.error(`[User Notification - ${n}] ${t}`)}collectError(e,n,i){this.collectedErrors.length>=this.config.maxCollectedErrors&&this.collectedErrors.shift(),this.collectedErrors.push({error:e,severity:n,context:i,timestamp:Date.now()})}getCollectedErrors(){return[...this.collectedErrors]}clearCollectedErrors(){this.collectedErrors=[]}wrapAsync(e,n){return async(...i)=>{try{return await e(...i)}catch(t){throw this.handleError(t,n),t}}}wrapSync(e,n){return(...i)=>{try{return e(...i)}catch(t){throw this.handleError(t,n),t}}}}});function Sd(r){return new Date(r).toLocaleTimeString()}function $d(r){return new Date(r).toISOString()}function xd(){return new Date().toISOString().replace(/[:.]/g,"-")}function wd(r,e=50){return r.replace(/[<>:"/\\|?*]/g,"_").substring(0,e)}function _d(r){let e=r.trim();if(!e.startsWith("/"))return null;let n=e.slice(1).trim();if(!n)return null;let i=n.indexOf(" ");if(i===-1)return{command:n,args:""};let t=n.slice(0,i);return t?{command:t,args:n.slice(i+1)}:null}function kd(r,e){try{return JSON.parse(r)}catch(n){return e}}function Cd(r,e=""){try{return JSON.stringify(r)}catch(n){return e}}var Ct=Y(()=>{});function Mg(r={}){let{serverUrl:e,operation:n}=r;return e?`Unable to connect to OpenCode Server at ${e}. Please ensure the server is running and accessible.`:n?`Network error during ${n}. Please check your connection and try again.`:"Network error. Please check your connection and try again."}function Ag(r={}){let{operation:e,sessionId:n}=r;return n?"Session not found. It may have been deleted.":e?`Resource not found during ${e}.`:"Resource not found."}function Lg(r={}){let{operation:e}=r;return e?`Server error during ${e}. Please try again later.`:"Server error. Please try again later."}function Ug(r={}){let{operation:e,serverUrl:n}=r;return n?`Request timed out connecting to ${n}. The server may be slow or unresponsive.`:e?`Request timed out during ${e}. Please try again.`:"Request timed out. Please try again."}function je(r,e,n={}){let i=r instanceof Error?r.message:String(r);return i.includes("Unable to connect")||i.includes("Please ensure")||i.startsWith("Failed to")||i.includes("not found")||i.includes("Server error")?i:e===404?Ag(n):e===500?Lg(n):i.includes("timed out")||i.includes("timeout")?Ug(n):i.includes("network")||i.includes("ECONNREFUSED")||i.includes("ENOTFOUND")||i.includes("ETIMEDOUT")?Mg(n):n.operation?`Error during ${n.operation}: ${i}`:i}function le(r){var n,i;if(typeof(r==null?void 0:r.status)=="number")return r.status;if(typeof(r==null?void 0:r.statusCode)=="number")return r.statusCode;if(typeof((n=r==null?void 0:r.response)==null?void 0:n.status)=="number")return r.response.status;let e=(i=r==null?void 0:r.message)==null?void 0:i.match(/\b(404|500|502|503|504)\b/);return e?parseInt(e[1],10):null}function Id(r,e){let n=r instanceof Error?r.message:String(r);return!!(n.includes("network")||n.includes("ECONNREFUSED")||n.includes("ENOTFOUND")||n.includes("ETIMEDOUT")||n.includes("timed out")||n.includes("timeout")||e===500||e===502||e===503||e===504)}var mr=Y(()=>{});var yr={};$e(yr,{ServerManager:()=>pn});var Dd,pn,mn=Y(()=>{Dd=require("child_process");se();pn=class r{constructor(e,n,i){this.process=null;this.state="stopped";this.lastError=null;this.earlyExitCode=null;this.restartAttempts=0;this.maxRestartAttempts=3;this.autoRestartEnabled=!0;this.metrics=null;this.metricsInterval=null;var t,o;this.config=e,this.errorHandler=n,this.onStateChange=i,this.autoRestartEnabled=(t=e.autoRestart)!=null?t:!0,this.maxRestartAttempts=(o=e.maxRestartAttempts)!=null?o:3,this.errorHandler.handleError(new Error(`ServerManager initialized with config: ${JSON.stringify(e)}`),{module:"ServerManager",function:"constructor"},"info")}static async initializeFromConfig(e,n,i,t){if(!e.useEmbeddedServer)return null;let o=new r({opencodePath:e.opencodePath||"opencode",port:e.embeddedServerPort||4096,hostname:"127.0.0.1",startupTimeout:5e3,workingDirectory:"."},n,i),s=await o.start();return s&&t&&!e.url&&await t(o.getUrl()),s?o:null}updateConfig(e){this.config={...this.config,...e},this.errorHandler.handleError(new Error(`ServerManager config updated: ${JSON.stringify(this.config)}`),{module:"ServerManager",function:"updateConfig"},"info")}getState(){return this.state}getLastError(){return this.lastError}getUrl(){return`http://${this.config.hostname}:${this.config.port}`}async start(){var e,n;if(this.state==="running"||this.state==="starting")return this.errorHandler.handleError(new Error("Server already running or starting, skipping start request"),{module:"ServerManager",function:"start"},"info"),!0;if(this.setState("starting",null),this.earlyExitCode=null,!this.config.workingDirectory)return this.setError("Working directory not configured");if(await this.checkServerHealth().then(i=>i.isHealthy))return this.errorHandler.handleError(new Error(`Server already running on ${this.getUrl()}`),{module:"ServerManager",function:"start"},"info"),this.setState("running",null),!0;this.errorHandler.handleError(new Error(`Starting OpenCode server at ${this.config.workingDirectory}:${this.config.port}`),{module:"ServerManager",function:"start"},"info");try{return this.process=(0,Dd.spawn)(this.config.opencodePath,["serve","--port",this.config.port.toString(),"--hostname",this.config.hostname,"--cors","app://obsidian.md"],{cwd:this.config.workingDirectory,env:{...process.env},stdio:["ignore","pipe","pipe"],detached:!1}),this.errorHandler.handleError(new Error(`Process spawned with PID: ${this.process.pid}`),{module:"ServerManager",function:"start"},"info"),(e=this.process.stdout)==null||e.on("data",t=>{this.errorHandler.handleError(new Error(t.toString().trim()),{module:"OpenCodeServer",function:"stdout"},"info")}),(n=this.process.stderr)==null||n.on("data",t=>{this.errorHandler.handleError(new Error(t.toString().trim()),{module:"OpenCodeServer",function:"stderr"},"warning")}),this.process.on("exit",(t,o)=>{this.handleProcessExit(t,o)}),this.process.on("error",t=>{this.errorHandler.handleError(t,{module:"ServerManager",function:"process.error"},"error"),this.process=null,t.code==="ENOENT"?this.setError(`Executable not found at '${this.config.opencodePath}'`,t.code,t):this.setError(`Failed to start: ${t.message}`,t.code,t)}),await this.waitForServerOrExit(this.config.startupTimeout)?(this.setState("running",null),this.restartAttempts=0,this.startMetricsCollection(),!0):this.state==="error"?!1:(this.stop(),this.earlyExitCode!==null?this.setError(`Process exited unexpectedly (exit code ${this.earlyExitCode})`):this.process?this.setError("Server failed to start within timeout"):this.setError("Process exited before server became ready"))}catch(i){return this.errorHandler.handleError(i,{module:"ServerManager",function:"start"},"error"),this.setError(`Unexpected error: ${i.message}`,void 0,i)}}stop(){if(this.stopMetricsCollection(),!this.process){this.setState("stopped",null);return}let e=this.process;this.errorHandler.handleError(new Error(`Stopping process with PID: ${e.pid}`),{module:"ServerManager",function:"stop"},"info"),this.setState("stopped",null),this.process=null,e.kill("SIGTERM"),setTimeout(()=>{e.exitCode===null&&e.signalCode===null&&(this.errorHandler.handleError(new Error("Process still running, sending SIGKILL"),{module:"ServerManager",function:"stop.forceKill"},"warning"),e.kill("SIGKILL"))},2e3)}async checkServerHealth(){try{let e=["/health"],n=await fetch(`${this.getUrl()}/health`,{method:"GET",signal:AbortSignal.timeout(2e3)});if(!n.ok)return{isHealthy:!1,statusCode:n.status,error:`Health endpoint returned ${n.status}`,checkedEndpoints:e};try{e.push("/sessions");let i=await fetch(`${this.getUrl()}/sessions`,{method:"GET",signal:AbortSignal.timeout(2e3)});if(!i.ok)return{isHealthy:!1,statusCode:i.status,error:"Sessions endpoint not responding",checkedEndpoints:e}}catch(i){this.errorHandler.handleError(new Error(`Sessions endpoint check failed: ${i instanceof Error?i.message:"Unknown error"}`),{module:"ServerManager",function:"checkServerHealth"},"warning")}return this.errorHandler.handleError(new Error(`Health check passed for endpoints: ${e.join(", ")}`),{module:"ServerManager",function:"checkServerHealth"},"info"),{isHealthy:!0,statusCode:n.status,checkedEndpoints:e}}catch(e){let n=e instanceof Error?e.message:String(e);return this.errorHandler.handleError(new Error(`Health check failed: ${n}`),{module:"ServerManager",function:"checkServerHealth"},"info"),{isHealthy:!1,error:n,checkedEndpoints:["/health"]}}}handleProcessExit(e,n){if(this.process=null,this.errorHandler.handleError(new Error(`Process exited: code=${e}, signal=${n}`),{module:"ServerManager",function:"handleProcessExit"},"info"),this.state!=="stopped"){if(this.state==="starting"&&e!==null&&e!==0){this.earlyExitCode=e;return}this.state==="running"&&this.autoRestartEnabled?this.attemptAutoRestart():this.setState("stopped",null)}}attemptAutoRestart(){if(this.restartAttempts>=this.maxRestartAttempts){this.errorHandler.handleError(new Error(`Max restart attempts (${this.maxRestartAttempts}) reached`),{module:"ServerManager",function:"attemptAutoRestart"},"error"),this.setState("error",{message:"Server crashed and failed to restart",code:"MAX_RESTART_ATTEMPTS"});return}this.restartAttempts++;let e=this.calculateBackoffDelay(this.restartAttempts);this.errorHandler.handleError(new Error(`Auto-restarting in ${e}ms (attempt ${this.restartAttempts}/${this.maxRestartAttempts})`),{module:"ServerManager",function:"attemptAutoRestart"},"warning"),setTimeout(()=>{this.start()},e)}calculateBackoffDelay(e){return Math.min(1e3*Math.pow(2,e-1),4e3)}startMetricsCollection(){this.metricsInterval=setInterval(()=>{this.collectMetrics()},3e4)}stopMetricsCollection(){this.metricsInterval&&(clearInterval(this.metricsInterval),this.metricsInterval=null),this.metrics=null}async collectMetrics(){if(!(!this.process||!this.process.pid))try{let e=process.cpuUsage(),n=process.memoryUsage();this.metrics={cpu:(e.user+e.system)/1e6,memory:n.rss/1024/1024,uptime:process.uptime(),timestamp:Date.now()},this.metrics.memory>500&&this.errorHandler.handleError(new Error(`High memory usage: ${this.metrics.memory.toFixed(2)} MB`),{module:"ServerManager",function:"collectMetrics"},"warning")}catch(e){}}getMetrics(){return this.metrics}setState(e,n){this.state=e,this.lastError=n;let i={state:e,error:n||void 0,timestamp:Date.now()};this.errorHandler.handleError(new Error(`Server state changed: ${e} ${n?`(error: ${n.message})`:""}`),{module:"ServerManager",function:"setState"},"info"),this.onStateChange(i)}setError(e,n,i){let t={message:e,code:n,originalError:i};return this.errorHandler.handleError(new Error(e),{module:"ServerManager",function:"setError"},"error"),this.setState("error",t),!1}async waitForServerOrExit(e){let n=Date.now(),i=500;for(;Date.now()-nsetTimeout(n,e))}}});var Md=Y(()=>{});var Ad,Ld=Y(()=>{Ad=({onSseError:r,onSseEvent:e,responseTransformer:n,responseValidator:i,sseDefaultRetryDelay:t,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u})=>{let d,a=c!=null?c:h=>new Promise(g=>setTimeout(g,h));return{stream:async function*(){var b,$;let h=t!=null?t:3e3,g=0,y=(b=u.signal)!=null?b:new AbortController().signal;for(;!y.aborted;){g++;let P=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&P.set("Last-Event-ID",d);try{let S=await fetch(l,{...u,headers:P,signal:y});if(!S.ok)throw new Error(`SSE failed: ${S.status} ${S.statusText}`);if(!S.body)throw new Error("No body in SSE response");let x=S.body.pipeThrough(new TextDecoderStream).getReader(),M="",G=()=>{try{x.cancel()}catch(Te){}};y.addEventListener("abort",G);try{for(;;){let{done:Te,value:ot}=await x.read();if(Te)break;M+=ot;let st=M.split(` - -`);M=($=st.pop())!=null?$:"";for(let kt of st){let at=kt.split(` -`),O=[],V;for(let F of at)if(F.startsWith("data:"))O.push(F.replace(/^data:\s*/,""));else if(F.startsWith("event:"))V=F.replace(/^event:\s*/,"");else if(F.startsWith("id:"))d=F.replace(/^id:\s*/,"");else if(F.startsWith("retry:")){let te=Number.parseInt(F.replace(/^retry:\s*/,""),10);Number.isNaN(te)||(h=te)}let T,j=!1;if(O.length){let F=O.join(` -`);try{T=JSON.parse(F),j=!0}catch(te){T=F}}j&&(i&&await i(T),n&&(T=await n(T))),e==null||e({data:T,event:V,id:d,retry:h}),O.length&&(yield T)}}}finally{y.removeEventListener("abort",G),x.releaseLock()}break}catch(S){if(r==null||r(S),o!==void 0&&g>=o)break;let x=Math.min(h*2**(g-1),s!=null?s:3e4);await a(x)}}}()}}});var Ud,Nd=Y(()=>{Ud=async(r,e)=>{let n=typeof e=="function"?await e(r):e;if(n)return r.scheme==="bearer"?`Bearer ${n}`:r.scheme==="basic"?`Basic ${btoa(n)}`:n}});var Lo,Uo=Y(()=>{Lo={bodySerializer:r=>JSON.stringify(r,(e,n)=>typeof n=="bigint"?n.toString():n)}});var jg,Rg,Zg,br,Pt,Sr,No=Y(()=>{jg=r=>{switch(r){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Rg=r=>{switch(r){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Zg=r=>{switch(r){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},br=({allowReserved:r,explode:e,name:n,style:i,value:t})=>{if(!e){let c=(r?t:t.map(l=>encodeURIComponent(l))).join(Rg(i));switch(i){case"label":return`.${c}`;case"matrix":return`;${n}=${c}`;case"simple":return c;default:return`${n}=${c}`}}let o=jg(i),s=t.map(c=>i==="label"||i==="simple"?r?c:encodeURIComponent(c):Pt({allowReserved:r,name:n,value:c})).join(o);return i==="label"||i==="matrix"?o+s:s},Pt=({allowReserved:r,name:e,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${r?n:encodeURIComponent(n)}`},Sr=({allowReserved:r,explode:e,name:n,style:i,value:t,valueOnly:o})=>{if(t instanceof Date)return o?t.toISOString():`${n}=${t.toISOString()}`;if(i!=="deepObject"&&!e){let l=[];Object.entries(t).forEach(([d,a])=>{l=[...l,d,r?a:encodeURIComponent(a)]});let u=l.join(",");switch(i){case"form":return`${n}=${u}`;case"label":return`.${u}`;case"matrix":return`;${n}=${u}`;default:return u}}let s=Zg(i),c=Object.entries(t).map(([l,u])=>Pt({allowReserved:r,name:i==="deepObject"?`${n}[${l}]`:l,value:u})).join(s);return i==="label"||i==="matrix"?s+c:c}});var Fg,Hg,jd,Rd=Y(()=>{No();Fg=/\{[^{}]+\}/g,Hg=({path:r,url:e})=>{let n=e,i=e.match(Fg);if(i)for(let t of i){let o=!1,s=t.substring(1,t.length-1),c="simple";s.endsWith("*")&&(o=!0,s=s.substring(0,s.length-1)),s.startsWith(".")?(s=s.substring(1),c="label"):s.startsWith(";")&&(s=s.substring(1),c="matrix");let l=r[s];if(l==null)continue;if(Array.isArray(l)){n=n.replace(t,br({explode:o,name:s,style:c,value:l}));continue}if(typeof l=="object"){n=n.replace(t,Sr({explode:o,name:s,style:c,value:l,valueOnly:!0}));continue}if(c==="matrix"){n=n.replace(t,`;${Pt({name:s,value:l})}`);continue}let u=encodeURIComponent(c==="label"?`.${l}`:l);n=n.replace(t,u)}return n},jd=({baseUrl:r,path:e,query:n,querySerializer:i,url:t})=>{let o=t.startsWith("/")?t:`/${t}`,s=(r!=null?r:"")+o;e&&(s=Hg({path:e,url:s}));let c=n?i(n):"";return c.startsWith("?")&&(c=c.substring(1)),c&&(s+=`?${c}`),s}});var Zd,Fd,Vg,Hd,jo,Ro,$r,hn,Vd,qg,Wg,gn,Zo=Y(()=>{Nd();Uo();No();Rd();Zd=({allowReserved:r,array:e,object:n}={})=>t=>{let o=[];if(t&&typeof t=="object")for(let s in t){let c=t[s];if(c!=null)if(Array.isArray(c)){let l=br({allowReserved:r,explode:!0,name:s,style:"form",value:c,...e});l&&o.push(l)}else if(typeof c=="object"){let l=Sr({allowReserved:r,explode:!0,name:s,style:"deepObject",value:c,...n});l&&o.push(l)}else{let l=Pt({allowReserved:r,name:s,value:c});l&&o.push(l)}}return o.join("&")},Fd=r=>{var n;if(!r)return"stream";let e=(n=r.split(";")[0])==null?void 0:n.trim();if(e){if(e.startsWith("application/json")||e.endsWith("+json"))return"json";if(e==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(i=>e.startsWith(i)))return"blob";if(e.startsWith("text/"))return"text"}},Vg=(r,e)=>{var n,i;return e?!!(r.headers.has(e)||(n=r.query)!=null&&n[e]||(i=r.headers.get("Cookie"))!=null&&i.includes(`${e}=`)):!1},Hd=async({security:r,...e})=>{var n;for(let i of r){if(Vg(e,i.name))continue;let t=await Ud(i,e.auth);if(!t)continue;let o=(n=i.name)!=null?n:"Authorization";switch(i.in){case"query":e.query||(e.query={}),e.query[o]=t;break;case"cookie":e.headers.append("Cookie",`${o}=${t}`);break;case"header":default:e.headers.set(o,t);break}}},jo=r=>jd({baseUrl:r.baseUrl,path:r.path,query:r.query,querySerializer:typeof r.querySerializer=="function"?r.querySerializer:Zd(r.querySerializer),url:r.url}),Ro=(r,e)=>{var i;let n={...r,...e};return(i=n.baseUrl)!=null&&i.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=$r(r.headers,e.headers),n},$r=(...r)=>{let e=new Headers;for(let n of r){if(!n||typeof n!="object")continue;let i=n instanceof Headers?n.entries():Object.entries(n);for(let[t,o]of i)if(o===null)e.delete(t);else if(Array.isArray(o))for(let s of o)e.append(t,s);else o!==void 0&&e.set(t,typeof o=="object"?JSON.stringify(o):o)}return e},hn=class{constructor(){D(this,"_fns");this._fns=[]}clear(){this._fns=[]}getInterceptorIndex(e){return typeof e=="number"?this._fns[e]?e:-1:this._fns.indexOf(e)}exists(e){let n=this.getInterceptorIndex(e);return!!this._fns[n]}eject(e){let n=this.getInterceptorIndex(e);this._fns[n]&&(this._fns[n]=null)}update(e,n){let i=this.getInterceptorIndex(e);return this._fns[i]?(this._fns[i]=n,e):!1}use(e){return this._fns=[...this._fns,e],this._fns.length-1}},Vd=()=>({error:new hn,request:new hn,response:new hn}),qg=Zd({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Wg={"Content-Type":"application/json"},gn=(r={})=>({...Lo,headers:Wg,parseAs:"auto",querySerializer:qg,...r})});var fn,Fo=Y(()=>{Ld();Zo();fn=(r={})=>{let e=Ro(gn(),r),n=()=>({...e}),i=l=>(e=Ro(e,l),n()),t=Vd(),o=async l=>{var a,p;let u={...e,...l,fetch:(p=(a=l.fetch)!=null?a:e.fetch)!=null?p:globalThis.fetch,headers:$r(e.headers,l.headers),serializedBody:void 0};u.security&&await Hd({...u,security:u.security}),u.requestValidator&&await u.requestValidator(u),u.body&&u.bodySerializer&&(u.serializedBody=u.bodySerializer(u.body)),(u.serializedBody===void 0||u.serializedBody==="")&&u.headers.delete("Content-Type");let d=jo(u);return{opts:u,url:d}},s=async l=>{var S;let{opts:u,url:d}=await o(l),a={redirect:"follow",...u,body:u.serializedBody},p=new Request(d,a);for(let x of t.request._fns)x&&(p=await x(p,u));let m=u.fetch,h=await m(p);for(let x of t.response._fns)x&&(h=await x(h,p,u));let g={request:p,response:h};if(h.ok){if(h.status===204||h.headers.get("Content-Length")==="0")return u.responseStyle==="data"?{}:{data:{},...g};let x=(S=u.parseAs==="auto"?Fd(h.headers.get("Content-Type")):u.parseAs)!=null?S:"json",M;switch(x){case"arrayBuffer":case"blob":case"formData":case"json":case"text":M=await h[x]();break;case"stream":return u.responseStyle==="data"?h.body:{data:h.body,...g}}return x==="json"&&(u.responseValidator&&await u.responseValidator(M),u.responseTransformer&&(M=await u.responseTransformer(M))),u.responseStyle==="data"?M:{data:M,...g}}let y=await h.text(),b;try{b=JSON.parse(y)}catch(x){}let $=b!=null?b:y,P=$;for(let x of t.error._fns)x&&(P=await x($,h,p,u));if(P=P||{},u.throwOnError)throw P;return u.responseStyle==="data"?void 0:{error:P,...g}},c=l=>{let u=d=>s({...d,method:l});return u.sse=async d=>{let{opts:a,url:p}=await o(d);return Ad({...a,body:a.body,headers:a.headers,method:l,url:p})},u};return{buildUrl:jo,connect:c("CONNECT"),delete:c("DELETE"),get:c("GET"),getConfig:n,head:c("HEAD"),interceptors:t,options:c("OPTIONS"),patch:c("PATCH"),post:c("POST"),put:c("PUT"),request:s,setConfig:i,trace:c("TRACE")}}});var Bg,D$,qd=Y(()=>{Bg={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},D$=Object.entries(Bg)});var Wd=Y(()=>{Uo();qd();Fo();Zo()});var Bd,Jd=Y(()=>{Wd();Bd=fn(gn({baseUrl:"http://localhost:4096"}))});var K,Ho,Vo,qo,Wo,Bo,Jo,Go,Ko,Xo,Yo,Qo,es,ts,ns,rs,xr,is,os,ss,as,cs,ls,wr,Gd=Y(()=>{Jd();K=class{constructor(e){D(this,"_client",Bd);e!=null&&e.client&&(this._client=e.client)}},Ho=class extends K{event(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get.sse({url:"/global/event",...e})}},Vo=class extends K{list(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/project",...e})}current(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/project/current",...e})}},qo=class extends K{list(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/pty",...e})}create(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).post({url:"/pty",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}})}remove(e){var n;return((n=e.client)!=null?n:this._client).delete({url:"/pty/{id}",...e})}get(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/pty/{id}",...e})}update(e){var n;return((n=e.client)!=null?n:this._client).put({url:"/pty/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}connect(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/pty/{id}/connect",...e})}},Wo=class extends K{get(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/config",...e})}update(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).patch({url:"/config",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}})}providers(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/config/providers",...e})}},Bo=class extends K{ids(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/experimental/tool/ids",...e})}list(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/experimental/tool",...e})}},Jo=class extends K{dispose(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).post({url:"/instance/dispose",...e})}},Go=class extends K{get(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/path",...e})}},Ko=class extends K{get(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/vcs",...e})}},Xo=class extends K{list(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/session",...e})}create(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).post({url:"/session",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}})}status(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/session/status",...e})}delete(e){var n;return((n=e.client)!=null?n:this._client).delete({url:"/session/{id}",...e})}get(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/session/{id}",...e})}update(e){var n;return((n=e.client)!=null?n:this._client).patch({url:"/session/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}children(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/session/{id}/children",...e})}todo(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/session/{id}/todo",...e})}init(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/init",...e,headers:{"Content-Type":"application/json",...e.headers}})}fork(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/fork",...e,headers:{"Content-Type":"application/json",...e.headers}})}abort(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/abort",...e})}unshare(e){var n;return((n=e.client)!=null?n:this._client).delete({url:"/session/{id}/share",...e})}share(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/share",...e})}diff(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/session/{id}/diff",...e})}summarize(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/summarize",...e,headers:{"Content-Type":"application/json",...e.headers}})}messages(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/session/{id}/message",...e})}prompt(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/message",...e,headers:{"Content-Type":"application/json",...e.headers}})}message(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/session/{id}/message/{messageID}",...e})}promptAsync(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/prompt_async",...e,headers:{"Content-Type":"application/json",...e.headers}})}command(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/command",...e,headers:{"Content-Type":"application/json",...e.headers}})}shell(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/shell",...e,headers:{"Content-Type":"application/json",...e.headers}})}revert(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/revert",...e,headers:{"Content-Type":"application/json",...e.headers}})}unrevert(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/session/{id}/unrevert",...e})}},Yo=class extends K{list(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/command",...e})}},Qo=class extends K{authorize(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/provider/{id}/oauth/authorize",...e,headers:{"Content-Type":"application/json",...e.headers}})}callback(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/provider/{id}/oauth/callback",...e,headers:{"Content-Type":"application/json",...e.headers}})}},es=class extends K{constructor(){super(...arguments);D(this,"oauth",new Qo({client:this._client}))}list(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).get({url:"/provider",...n})}auth(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).get({url:"/provider/auth",...n})}},ts=class extends K{text(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/find",...e})}files(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/find/file",...e})}symbols(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/find/symbol",...e})}},ns=class extends K{list(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/file",...e})}read(e){var n;return((n=e.client)!=null?n:this._client).get({url:"/file/content",...e})}status(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/file/status",...e})}},rs=class extends K{log(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).post({url:"/log",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}})}agents(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/agent",...e})}},xr=class extends K{remove(e){var n;return((n=e.client)!=null?n:this._client).delete({url:"/mcp/{name}/auth",...e})}start(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/mcp/{name}/auth",...e})}callback(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/mcp/{name}/auth/callback",...e,headers:{"Content-Type":"application/json",...e.headers}})}authenticate(e){var n;return((n=e.client)!=null?n:this._client).post({url:"/mcp/{name}/auth/authenticate",...e})}set(e){var n;return((n=e.client)!=null?n:this._client).put({url:"/auth/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}},is=class extends K{constructor(){super(...arguments);D(this,"auth",new xr({client:this._client}))}status(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).get({url:"/mcp",...n})}add(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/mcp",...n,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers}})}connect(n){var i;return((i=n.client)!=null?i:this._client).post({url:"/mcp/{name}/connect",...n})}disconnect(n){var i;return((i=n.client)!=null?i:this._client).post({url:"/mcp/{name}/disconnect",...n})}},os=class extends K{status(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/lsp",...e})}},ss=class extends K{status(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/formatter",...e})}},as=class extends K{next(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get({url:"/tui/control/next",...e})}response(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).post({url:"/tui/control/response",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}})}},cs=class extends K{constructor(){super(...arguments);D(this,"control",new as({client:this._client}))}appendPrompt(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/append-prompt",...n,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers}})}openHelp(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/open-help",...n})}openSessions(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/open-sessions",...n})}openThemes(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/open-themes",...n})}openModels(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/open-models",...n})}submitPrompt(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/submit-prompt",...n})}clearPrompt(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/clear-prompt",...n})}executeCommand(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/execute-command",...n,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers}})}showToast(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/show-toast",...n,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers}})}publish(n){var i;return((i=n==null?void 0:n.client)!=null?i:this._client).post({url:"/tui/publish",...n,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers}})}},ls=class extends K{subscribe(e){var n;return((n=e==null?void 0:e.client)!=null?n:this._client).get.sse({url:"/event",...e})}},wr=class extends K{constructor(){super(...arguments);D(this,"global",new Ho({client:this._client}));D(this,"project",new Vo({client:this._client}));D(this,"pty",new qo({client:this._client}));D(this,"config",new Wo({client:this._client}));D(this,"tool",new Bo({client:this._client}));D(this,"instance",new Jo({client:this._client}));D(this,"path",new Go({client:this._client}));D(this,"vcs",new Ko({client:this._client}));D(this,"session",new Xo({client:this._client}));D(this,"command",new Yo({client:this._client}));D(this,"provider",new es({client:this._client}));D(this,"find",new ts({client:this._client}));D(this,"file",new ns({client:this._client}));D(this,"app",new rs({client:this._client}));D(this,"mcp",new is({client:this._client}));D(this,"lsp",new os({client:this._client}));D(this,"formatter",new ss({client:this._client}));D(this,"tui",new cs({client:this._client}));D(this,"auth",new xr({client:this._client}));D(this,"event",new ls({client:this._client}))}postSessionIdPermissionsPermissionId(n){var i;return((i=n.client)!=null?i:this._client).post({url:"/session/{id}/permissions/{permissionID}",...n,headers:{"Content-Type":"application/json",...n.headers}})}}});function Kd(r){r!=null&&r.fetch||(r={...r,fetch:i=>(i.timeout=!1,fetch(i))}),r!=null&&r.directory&&(r.headers={...r.headers,"x-opencode-directory":r.directory});let e=fn(r);return new wr({client:e})}var Xd=Y(()=>{Md();Fo();Gd()});var Yd,_r,Qd=Y(()=>{Yd=require("obsidian");se();_r=class{constructor(e,n){this.connectionState="disconnected";this.healthStatus=null;this.lastHealthCheckTime=null;this.lastConnectionError=null;this.eventStreamAbort=null;this.connectionStateCallbacks=[];this.reconnectAttemptCallbacks=[];this.healthStatusCallbacks=[];this.config=e,this.errorHandler=n}onConnectionStateChange(e){return this.connectionStateCallbacks.push(e),()=>{let n=this.connectionStateCallbacks.indexOf(e);n>-1&&this.connectionStateCallbacks.splice(n,1)}}onReconnectAttempt(e){return this.reconnectAttemptCallbacks.push(e),()=>{let n=this.reconnectAttemptCallbacks.indexOf(e);n>-1&&this.reconnectAttemptCallbacks.splice(n,1)}}getLastConnectionError(){return this.lastConnectionError}onHealthStatusChange(e){return this.healthStatusCallbacks.push(e),()=>{let n=this.healthStatusCallbacks.indexOf(e);n>-1&&this.healthStatusCallbacks.splice(n,1)}}getHealthStatus(){return this.healthStatus}setHealthStatus(e){if(this.healthStatus!==e){this.healthStatus=e,this.lastHealthCheckTime=Date.now();for(let n of this.healthStatusCallbacks)try{n(e)}catch(i){this.errorHandler.handleError(i,{module:"ConnectionHandler",function:"setHealthStatus",operation:"Notifying health status listeners",metadata:{status:e}},"warning")}}}setConnectionState(e,n){var i;if(e!==this.connectionState){this.connectionState=e,n&&"error"in n&&(this.lastConnectionError=(i=n.error)!=null?i:null);for(let t of this.connectionStateCallbacks)try{t(e,{error:this.lastConnectionError})}catch(o){this.errorHandler.handleError(o,{module:"ConnectionHandler",function:"setConnectionState",operation:"Notifying connection state listeners",metadata:{state:e}},"warning")}}}getConnectionState(){return this.connectionState}isConnected(){return this.connectionState==="connected"}notifyReconnectAttempt(e){for(let n of this.reconnectAttemptCallbacks)try{n(e)}catch(i){this.errorHandler.handleError(i,{module:"ConnectionHandler",function:"notifyReconnectAttempt",operation:"Notifying reconnect attempt listeners",metadata:{attempt:e.attempt,nextDelayMs:e.nextDelayMs}},"warning")}}calculateReconnectDelay(e){var l,u;let n=(l=this.config.reconnectDelay)!=null?l:1e3,i=3e4,t=(u=this.config.reconnectMaxAttempts)!=null?u:10,o=t===0?e:Math.min(e,t),s=Math.min(n*2**(o-1),i),c=Math.floor(Math.random()*Math.max(1,Math.floor(s*.25)));return s+c}shouldReconnect(e){var t,o;if(!((t=this.config.autoReconnect)!=null?t:!0))return!1;let i=(o=this.config.reconnectMaxAttempts)!=null?o:10;return i===0||e0&&this.setConnectionState("reconnecting");let m=await e(l);if(this.connectionState!=="connected"&&(this.setConnectionState("connected"),console.debug("[ConnectionHandler] Connected to OpenCode Server")),c=0,await n(m),!i||l.aborted)break}catch(m){if(l.aborted)break;if(!i)throw m;c+=1;let h=s===0?c:Math.min(c,s),g=Math.min(t*2**(h-1),o),y=Math.floor(Math.random()*Math.max(1,Math.floor(g*.25))),b=g+y,$=await this.healthCheck();if(!$.isHealthy){let P=new Error(`OpenCode Server is unavailable. Stopping reconnection attempts. ${$.error?`Error: ${$.error}`:""}`);throw this.lastConnectionError=P,this.setConnectionState("error",{error:P}),P}if(this.notifyReconnectAttempt({attempt:h,nextDelayMs:b,maxAttempts:s}),s!==0&&c>=s){let P=m instanceof Error?m:new Error(String(m));throw this.lastConnectionError=P,this.setConnectionState("error",{error:P}),P}await this.sleep(b)}}catch(m){let h=m instanceof Error?m:new Error(String(m));throw this.lastConnectionError=h,this.errorHandler.handleError(h,{module:"ConnectionHandler",function:"startEventLoop",operation:"Event subscription setup"},"error"),m}}getEventStreamAbort(){return this.eventStreamAbort}async healthCheck(){try{let e=`${this.config.url}/health`,n;try{n=await(0,Yd.requestUrl)({url:e,method:"GET",contentType:"text/plain"})}catch(t){let o=t instanceof Error?t.message:String(t);return o.includes("not valid JSON")||o.includes("Unexpected token")?(this.setHealthStatus(!1),{isHealthy:!1,error:o}):(this.errorHandler.handleError(t,{module:"ConnectionHandler",function:"healthCheck",operation:"Health check request",metadata:{url:e}},"warning"),this.setHealthStatus(!1),{isHealthy:!1,error:o})}let i=n.status>=200&&n.status<300;return i||this.errorHandler.handleError(new Error(`Health check returned status ${n.status}`),{module:"ConnectionHandler",function:"healthCheck",operation:"Health check response",metadata:{url:e,status:n.status}},"warning"),this.setHealthStatus(i),{isHealthy:i,statusCode:n.status}}catch(e){let n=e instanceof Error?e.message:String(e);return n.includes("not valid JSON")||n.includes("Unexpected token")?(this.setHealthStatus(!1),{isHealthy:!1,error:n}):(this.errorHandler.handleError(e,{module:"ConnectionHandler",function:"healthCheck",operation:"Health check",metadata:{serverUrl:this.config.url}},"warning"),this.setHealthStatus(!1),{isHealthy:!1,error:n})}}sleep(e){return new Promise(n=>setTimeout(n,e))}}});var kr,ep=Y(()=>{se();Ct();kr=class{constructor(e,n,i,t){this.lastEventId=null;this.streamTokenCallbacks=[];this.streamThinkingCallbacks=[];this.errorCallbacks=[];this.progressUpdateCallbacks=[];this.sessionEndCallbacks=[];this.permissionRequestCallbacks=[];this.config=e,this.errorHandler=n,this.sdkClient=i,this.sessionState=t}onStreamToken(e){this.streamTokenCallbacks.push(e)}onStreamThinking(e){this.streamThinkingCallbacks.push(e)}onError(e){this.errorCallbacks.push(e)}onProgressUpdate(e){this.progressUpdateCallbacks.push(e)}onSessionEnd(e){this.sessionEndCallbacks.push(e)}onPermissionRequest(e){this.permissionRequestCallbacks.push(e)}getLastEventId(){return this.lastEventId}setLastEventId(e){this.lastEventId=e}updateSessionState(e){this.sessionState=e}canUseNodeEventStream(){if(this.config.forceSdkEventStream)return!1;let e=this.getNodeRequire();return typeof process!="undefined"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&typeof e=="function"}getNodeRequire(){let e=globalThis.require;return typeof e=="function"?e:null}async createEventStream(e){var o,s;if(this.canUseNodeEventStream())return this.createNodeEventStream(e);let i=await this.sdkClient.event.subscribe({signal:e}),t=(s=(o=i==null?void 0:i.data)==null?void 0:o.stream)!=null?s:i==null?void 0:i.stream;if(!t)throw new Error("Event subscription did not include a stream");return t}async createNodeEventStream(e){let n=new URL("/event",`${this.config.url}/`);return this.nodeEventStream(n,e)}async*nodeEventStream(e,n){var d;let i=e.protocol==="https:"?"node:https":"node:http",t=this.getNodeRequire(),s=(t?t(i):await import(i)).request,c=await new Promise((a,p)=>{let m={Accept:"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};this.lastEventId&&(m["Last-Event-ID"]=this.lastEventId);let h=s({method:"GET",headers:m,hostname:e.hostname,port:e.port||void 0,path:`${e.pathname}${e.search}`,signal:n},g=>{var b,$,P;let y=(b=g.statusCode)!=null?b:0;if(y>=400){($=g.resume)==null||$.call(g),p(new Error(`Event stream failed: ${y} ${(P=g.statusMessage)!=null?P:""}`.trim()));return}a(g)});h.on("error",g=>p(g)),h.end()}),l=new TextDecoder,u="";for await(let a of c){if(n.aborted)break;u+=l.decode(a,{stream:!0});let p=u.split(` - -`);u=(d=p.pop())!=null?d:"";for(let m of p){let h=m.split(` -`),g=[];for(let $ of h){let P=$.replace(/\r$/,"");P.startsWith("data:")?g.push(P.replace(/^data:\s*/,"")):P.startsWith("id:")&&(this.lastEventId=P.replace(/^id:\s*/,""))}if(!g.length)continue;let y=g.join(` -`);yield kd(y,y)}}}async processEventStream(e){try{for await(let n of e)this.handleSDKEvent(n)}catch(n){throw this.errorHandler.handleError(n,{module:"StreamHandler",function:"processEventStream",operation:"Processing event stream"},"warning"),this.handleSDKError(n),n}}extractSessionIdFromEvent(e){var n,i,t,o,s,c;return((i=(n=e.properties)==null?void 0:n.part)==null?void 0:i.sessionID)||((o=(t=e.properties)==null?void 0:t.part)==null?void 0:o.sessionId)||((s=e.properties)==null?void 0:s.sessionID)||((c=e.properties)==null?void 0:c.sessionId)||e.sessionId||e.sessionID||e.id||null}handleSDKEvent(e){try{let n=this.extractSessionIdFromEvent(e)||"";if(e.type)switch(e.type){case"message.part.updated":case"message.updated":this.handleMessagePartUpdated(e,n);return;case"session.idle":case"session.completed":this.handleSessionIdle(n);return;case"session.progress":this.handleSessionProgress(e,n);return;case"session.ended":case"session.aborted":this.handleSessionEnded(e,n);return;case"permission.request":this.handlePermissionRequest(e,n);return;default:console.debug("[StreamHandler] Unhandled event type:",e.type);return}e.role==="assistant"&&e.parts&&this.handleAssistantMessage(e,n)}catch(n){this.errorHandler.handleError(n,{module:"StreamHandler",function:"handleSDKEvent",operation:"Processing SDK event",metadata:{eventType:e.type}},"warning")}}invokeCallbacks(e,n,i){e.forEach(t=>{try{t(...n)}catch(o){console.warn(`[StreamHandler] Error in ${i} callback:`,o)}})}handleMessagePartUpdated(e,n){var s,c,l,u;let i=((s=e.properties)==null?void 0:s.part)||((c=e.data)==null?void 0:c.part)||e.part,t=((l=e.properties)==null?void 0:l.delta)||((u=e.data)==null?void 0:u.delta)||e.delta;if(!i&&!t)return;let o=t||(i==null?void 0:i.text)||"";(i==null?void 0:i.type)==="text"||!(i!=null&&i.type)&&o?this.invokeCallbacks(this.streamTokenCallbacks,[n,o,!1],"stream token"):((i==null?void 0:i.type)==="reasoning"||(i==null?void 0:i.type)==="thinking")&&this.invokeCallbacks(this.streamThinkingCallbacks,[n,o],"stream thinking")}handleAssistantMessage(e,n){if(e.parts&&Array.isArray(e.parts))for(let i of e.parts)i.type==="text"&&i.text?this.invokeCallbacks(this.streamTokenCallbacks,[n,i.text,!1],"stream token"):i.type==="reasoning"&&i.text&&this.invokeCallbacks(this.streamThinkingCallbacks,[n,i.text],"stream thinking")}handleSessionIdle(e){this.sessionState.promptInFlightSessionId===e&&(this.sessionState.promptInFlightSessionId=null),this.invokeCallbacks(this.streamTokenCallbacks,[e,"",!0],"stream token completion")}handleSessionProgress(e,n){var t;let i=((t=e.data)==null?void 0:t.progress)||e.progress;i&&this.invokeCallbacks(this.progressUpdateCallbacks,[n,i],"progress update")}handleSessionEnded(e,n){var t;let i=((t=e.data)==null?void 0:t.reason)||e.reason||"completed";this.sessionState.sessions.delete(n),this.sessionState.currentSessionId===n&&(this.sessionState.currentSessionId=null),this.sessionState.promptInFlightSessionId===n&&(this.sessionState.promptInFlightSessionId=null),this.invokeCallbacks(this.sessionEndCallbacks,[n,i],"session end")}handlePermissionRequest(e,n){let i=e.properties||e.data||e,{requestId:t,operation:o,resourcePath:s,context:c}=i;if(!t||!o||!s){console.warn("[StreamHandler] Malformed permission.request event - missing required fields:",{requestId:t,operation:o,resourcePath:s,event:e});return}this.invokeCallbacks(this.permissionRequestCallbacks,[n,t,o,s,c],"permission request")}handleSDKError(e){this.errorHandler.handleError(e,{module:"StreamHandler",function:"handleSDKError",operation:"SDK event error"},"error"),this.invokeCallbacks(this.errorCallbacks,[e],"error")}}});var Cr,tp=Y(()=>{se();Ct();mr();Cr=class{constructor(e,n,i){this.currentSessionId=null;this.sessions=new Map;this.promptInFlightSessionId=null;this.sdkClient=e,this.errorHandler=n,this.serverUrl=i}getCurrentSessionId(){return this.currentSessionId}setCurrentSessionId(e){this.currentSessionId=e}getPromptInFlightSessionId(){return this.promptInFlightSessionId}setPromptInFlightSessionId(e){this.promptInFlightSessionId=e}getSessions(){return this.sessions}clearSessionState(){this.currentSessionId=null,this.promptInFlightSessionId=null,this.sessions.clear()}extractSessionId(e){var i;let n=(i=e.info)!=null?i:e;return n.id||n.sessionID||n.sessionId||null}isEnhancedError(e){return(e.message||"").includes("Unable to connect to OpenCode Server")}createHttpError(e,n,i){switch(e){case 404:return new Error(i?`Session ${i} not found`:`Resource not found during ${n}`);case 500:return new Error(`Server error during ${n}. Please try again later.`);default:return new Error(`HTTP ${e} error during ${n}`)}}handleOperationError(e,n,i,t,o="error"){let s=e instanceof Error?e:new Error(String(e)),c=this.isEnhancedError(s)?"warning":o;throw this.errorHandler.handleError(s,{module:"SessionOperations",function:n,operation:i,metadata:t},c),s}handleSdkError(e,n,i,t){let o=le(e),s;o===404||o===500?s=this.createHttpError(o,i,t):s=e instanceof Error?e:new Error(String(e));let c=this.isEnhancedError(s)?"warning":"error";throw this.errorHandler.handleError(s,{module:"SessionOperations",function:n,operation:i,metadata:{sessionId:t,statusCode:o}},c),s}async ensureSession(e){if(this.sessions.has(e))return!0;try{let n=await this.sdkClient.session.get({path:{id:e}});return n.error||!n.data?!1:(this.sessions.set(e,n.data),!0)}catch(n){return this.errorHandler.handleError(n,{module:"SessionOperations",function:"ensureSession",operation:"Ensuring session",metadata:{sessionId:e}},"warning"),!1}}async createSession(e){var n;if(this.promptInFlightSessionId)throw new Error("Another session operation is already in progress. Only one session can run at a time.");try{let i=await this.sdkClient.session.create({body:{title:e||`Session ${$d(Date.now())}`}});if(i.error)throw new Error(`Failed to create session: ${i.error}`);if(!i.data)throw new Error("OpenCode Server session.create returned no data.");let t=i.data,o=(n=t.info)!=null?n:t,s=this.extractSessionId(o);if(!s)throw new Error("OpenCode Server session response did not include an id.");return this.sessions.set(s,o),this.currentSessionId=s,s}catch(i){this.handleOperationError(i,"createSession","Creating session",{title:e,serverUrl:this.serverUrl})}}async startSession(e,n,i){if(this.promptInFlightSessionId)throw new Error("A session is already active. Only one session can run at a time.");try{let o=`Session${e?` (${e.currentNote||"Unknown note"})`:""}`,s=await this.createSession(o);if(e||i!=null&&i.length||n){let c=this.buildSystemMessage(e,n,i);c&&await this.sendMessage(s,c)}return s}catch(t){this.handleOperationError(t,"startSession","Starting session with context",{context:e,agent:n,instructions:i})}}async sendMessage(e,n){if(this.promptInFlightSessionId&&this.promptInFlightSessionId!==e)throw new Error("A different session is already running. Only one session can run at a time.");if(this.promptInFlightSessionId===e)throw new Error("A message is already in progress for this session. Please wait for it to finish.");try{let i=this.sessions.get(e);if(!i){let c=await this.sdkClient.session.get({path:{id:e}});if(c.error||!c.data)throw new Error(`Session ${e} not found`);i=c.data,this.sessions.set(e,i)}this.promptInFlightSessionId=e;let t=this.sdkClient.session.prompt({path:{id:e},body:{parts:[{type:"text",text:n}]}}),o=new Promise(c=>{setTimeout(()=>c({data:{}}),5e3)}),s=await Promise.race([t,o]);if(t.catch(c=>{this.errorHandler.handleError(c instanceof Error?c:new Error(String(c)),{module:"SessionOperations",function:"sendMessage",operation:"Background prompt error",metadata:{sessionId:e}},"warning")}),s.error)throw new Error(`Failed to send message: ${s.error}`)}catch(i){this.promptInFlightSessionId===e&&(this.promptInFlightSessionId=null),this.handleOperationError(i,"sendMessage","Sending message",{sessionId:e,contentLength:n.length})}}async sendSessionMessage(e,n,i){try{i!=null&&i.length&&this.errorHandler.handleError(new Error("Image attachments not yet supported in SDK client"),{module:"SessionOperations",function:"sendSessionMessage",operation:"Sending session message with images",metadata:{imageCount:i.length}},"warning"),await this.sendMessage(e,n)}catch(t){this.handleOperationError(t,"sendSessionMessage","Sending session message",{sessionId:e,contentLength:n.length,imageCount:i==null?void 0:i.length})}}async sendSessionCommand(e,n,i,t){var o;if(this.promptInFlightSessionId&&this.promptInFlightSessionId!==e)throw new Error("A different session is already running. Only one session can run at a time.");if(this.promptInFlightSessionId===e)throw new Error("A command is already in progress for this session. Please wait for it to finish.");try{this.promptInFlightSessionId=e;let s=await this.sdkClient.session.command({path:{id:e},body:{command:n,arguments:i,...t?{agent:t}:{}}});if(s.error)throw new Error(`Failed to send command: ${s.error}`);let c=(o=s.data)==null?void 0:o.parts;return!c||c.length===0?null:c.filter(u=>u.type==="text"&&u.text).map(u=>u.text).join("")||null}catch(s){return this.handleOperationError(s,"sendSessionCommand","Sending session command",{sessionId:e,command:n}),null}finally{this.promptInFlightSessionId===e&&(this.promptInFlightSessionId=null)}}async abortSession(e){try{if(!this.sessions.get(e)){this.errorHandler.handleError(new Error(`Session ${e} not found for abort`),{module:"SessionOperations",function:"abortSession",operation:"Aborting session",metadata:{sessionId:e}},"warning");return}let i=await this.sdkClient.session.abort({path:{id:e}});i.error&&this.errorHandler.handleError(new Error(`Failed to abort session: ${i.error}`),{module:"SessionOperations",function:"abortSession",operation:"Aborting session",metadata:{sessionId:e,error:i.error}},"warning"),this.sessions.delete(e),this.currentSessionId===e&&(this.currentSessionId=null),this.promptInFlightSessionId===e&&(this.promptInFlightSessionId=null)}catch(n){this.handleOperationError(n,"abortSession","Aborting session",{sessionId:e})}}async respondToPermission(e,n,i,t){let s=null;for(let c=1;c<=2;c++)try{let l=await this.sdkClient.session.permission.respond({path:{id:e},body:{requestId:n,approved:i,reason:t}});if(l.error)throw new Error(`Permission response failed: ${l.error}`);return}catch(l){s=l instanceof Error?l:new Error(String(l)),c<2&&(this.errorHandler.handleError(s,{module:"SessionOperations",function:"respondToPermission",operation:`Retry attempt ${c}`,metadata:{sessionId:e,requestId:n,approved:i}},"warning"),await new Promise(u=>setTimeout(u,500)))}this.handleOperationError(s,"respondToPermission","All retry attempts failed",{sessionId:e,requestId:n,approved:i,attempts:2})}async listSessions(){try{let e=await this.sdkClient.session.list();if(e.error)throw new Error(`Failed to list sessions: ${e.error}`);if(!e.data)throw new Error("OpenCode Server session.list returned no data.");return e.data.map(n=>({id:n.id,title:n.title||`Session ${n.id}`,lastUpdated:n.time.updated,messageCount:0,isActive:n.id===this.currentSessionId}))}catch(e){this.handleSdkError(e,"listSessions","listing sessions")}}async getSessionMessages(e){try{let n=await this.sdkClient.session.messages({path:{id:e}});if(n.error)throw new Error(`Failed to get session messages: ${n.error}`);if(!n.data)throw new Error("OpenCode Server session.messages returned no data.");return n.data.map(i=>{let o=i.parts.filter(s=>s.type==="text"&&s.text).map(s=>s.text).join(` -`);return{id:i.info.id,role:i.info.role,content:o,timestamp:i.info.time.created}})}catch(n){this.handleSdkError(n,"getSessionMessages","getting session messages",e)}}async updateSessionTitle(e,n){try{let i=await this.sdkClient.session.update({path:{id:e},body:{title:n}});if(i.error)throw new Error(`Failed to update session title: ${i.error}`);let t=this.sessions.get(e);t&&(t.title=n)}catch(i){this.handleSdkError(i,"updateSessionTitle","updating session title",e)}}async deleteSession(e){try{let n=await this.sdkClient.session.delete({path:{id:e}});if(n.error)throw new Error(`Failed to delete session: ${n.error}`);this.sessions.delete(e),this.currentSessionId===e&&(this.currentSessionId=null),this.promptInFlightSessionId===e&&(this.promptInFlightSessionId=null)}catch(n){le(n)===404&&(this.sessions.delete(e),this.currentSessionId===e&&(this.currentSessionId=null),this.promptInFlightSessionId===e&&(this.promptInFlightSessionId=null)),this.handleSdkError(n,"deleteSession","deleting session",e)}}async revertSession(e,n){try{let i=await this.sdkClient.session.revert({path:{id:e},body:{messageID:n}});if(i.error)throw new Error(`Failed to revert session: ${i.error}`)}catch(i){this.handleSdkError(i,"revertSession","reverting session",e)}}async unrevertSession(e){try{let n=await this.sdkClient.session.unrevert({path:{id:e}});if(n.error)throw new Error(`Failed to unrevert session: ${n.error}`)}catch(n){this.handleSdkError(n,"unrevertSession","unreverting session",e)}}async forkSession(e,n,i){try{let t=await this.sdkClient.session.fork({path:{id:e},body:{...n?{messageID:n}:{},...i?{title:i}:{}}});if(t.error)throw new Error(`Failed to fork session: ${t.error}`);if(!t.data)throw new Error("OpenCode Server session.fork returned no data.");let o=this.extractSessionId(t.data);if(!o)throw new Error("OpenCode Server fork response did not include a session id.");return this.sessions.set(o,t.data),o}catch(t){this.handleSdkError(t,"forkSession","forking session",e)}}async getSessionDiff(e){try{let n=await this.sdkClient.session.diff({path:{id:e}});if(n.error)throw new Error(`Failed to get session diff: ${n.error}`);if(!n.data)throw new Error("OpenCode Server session.diff returned no data.");let t=(n.data.files||[]).map(o=>({path:o.path||"",added:o.added||[],removed:o.removed||[],language:o.language}));return{sessionId:e,files:t}}catch(n){this.handleSdkError(n,"getSessionDiff","getting session diff",e)}}buildSystemMessage(e,n,i){var o,s;let t=[];if(n&&t.push(`Agent: ${n}`),i!=null&&i.length&&t.push(`Instructions: ${i.join(", ")}`),e){let c=[];e.currentNote&&c.push(`Current note: ${e.currentNote}`),e.selection&&c.push(`Selection: ${e.selection}`),(o=e.links)!=null&&o.length&&c.push(`Links: ${e.links.join(", ")}`),(s=e.tags)!=null&&s.length&&c.push(`Tags: ${e.tags.join(", ")}`),c.length&&t.push(`Context: ${c.join("; ")}`)}return t.length>0?t.join(` -`):null}async searchText(e){try{let n=await this.sdkClient.find.text({query:{pattern:e.pattern,...e.path?{directory:e.path}:{}},...e.language?{language:e.language}:{},...e.limit?{limit:e.limit}:{},...e.caseSensitive?{caseSensitive:e.caseSensitive}:{},...e.regex?{regex:e.regex}:{}});if(n.error)throw new Error(`Failed to search text: ${n.error}`);return n.data?n.data.map(i=>({path:i.path||"",line:i.line||0,content:i.content||"",language:i.language})):[]}catch(n){this.handleSdkError(n,"searchText","searching text")}}async searchFiles(e,n){try{let i=await this.sdkClient.find.files({query:{query:e},...n?{limit:n}:{}});if(i.error)throw new Error(`Failed to search files: ${i.error}`);return i.data?i.data.map(t=>({path:t.path||"",size:t.size||0,lastModified:t.lastModified||Date.now(),language:t.language})):[]}catch(i){this.handleSdkError(i,"searchFiles","searching files")}}async searchSymbols(e,n){try{let i=await this.sdkClient.find.symbols({query:{query:e},...n?{limit:n}:{}});if(i.error)throw new Error(`Failed to search symbols: ${i.error}`);return i.data?i.data.map(t=>({name:t.name||"",type:t.type||"",path:t.path||"",line:t.line||0,column:t.column||0,parent:t.parent})):[]}catch(i){this.handleSdkError(i,"searchSymbols","searching symbols")}}}});var rp={};$e(rp,{OpenCodeServerClient:()=>vn});function Jg(r,e){return Kd({baseUrl:r,fetch:e})}var np,vn,us=Y(()=>{Xd();np=require("obsidian");se();mr();Ct();Qd();ep();tp();vn=class{constructor(e,n){this.commandListCache=null;this.featureCache=null;var t;let i=this.normalizeServerUrl(e.url);this.config={...e,url:i,requestTimeoutMs:(t=e.requestTimeoutMs)!=null?t:1e4},this.errorHandler=n,this.connectionHandler=new _r(this.config,this.errorHandler),this.sdkClient=Jg(i,this.createObsidianFetch()),this.sessionOps=new Cr(this.sdkClient,this.errorHandler,i),this.streamHandler=new kr(this.config,this.errorHandler,this.sdkClient,{promptInFlightSessionId:this.sessionOps.getPromptInFlightSessionId(),sessions:this.sessionOps.getSessions(),currentSessionId:this.sessionOps.getCurrentSessionId()})}get currentSessionId(){return this.sessionOps.getCurrentSessionId()}set currentSessionId(e){this.sessionOps.setCurrentSessionId(e)}get sessions(){return this.sessionOps.getSessions()}get promptInFlightSessionId(){return this.sessionOps.getPromptInFlightSessionId()}set promptInFlightSessionId(e){this.sessionOps.setPromptInFlightSessionId(e)}createObsidianFetch(){return async(e,n)=>{var u;let{resolvedUrl:i,method:t,headers:o,contentType:s,body:c,bodyLength:l}=await this.buildRequestOptions(e,n);try{let d=(u=this.config.requestTimeoutMs)!=null?u:1e4,a=i.includes("/message"),p=i.includes("/prompt"),m=a||p?Math.max(d,6e4):d,h=null,g;try{let b=(0,np.requestUrl)({url:i,method:t,headers:o,contentType:s,body:c});try{g=m>0?await Promise.race([b.then($=>$),new Promise(($,P)=>{h=setTimeout(()=>{P(new Error(`HTTP request timed out after ${m}ms`))},m)})]):await b}catch($){throw $}}finally{h&&clearTimeout(h)}let y;return g.text?y=g.text:g.json!==void 0&&g.json!==null?y=Cd(g.json,""):y="",new Response(y,{status:g.status,statusText:g.status.toString(),headers:new Headers(g.headers||{})})}catch(d){let a=d instanceof Error?d.message:"Unknown error",p=a.includes("timed out");if(a.includes("not valid JSON")||a.includes("Unexpected token"))throw d;if(p){let h=this.config.url,g=new Error(`Unable to connect to OpenCode Server at ${h}. Please ensure the server is running and accessible.`);try{g.cause=d}catch(y){}throw this.errorHandler.handleError(g,{module:"OpenCodeClient",function:"createObsidianFetch",metadata:{url:i,method:t,suggestedFix:"Check if OpenCode Server is running at "+h}},"error"),g}throw this.errorHandler.handleError(d,{module:"OpenCodeClient",function:"createObsidianFetch",operation:"HTTP request",metadata:{url:i,method:t}},"error"),d}}}async buildRequestOptions(e,n){var u,d,a,p,m;let i=this.resolveRequestUrl(e),t=(n==null?void 0:n.method)||"GET",o=new Headers((u=n==null?void 0:n.headers)!=null?u:{}),s=n!=null&&n.body?String(n.body):void 0;typeof Request!="undefined"&&e instanceof Request&&(t=(a=(d=n==null?void 0:n.method)!=null?d:e.method)!=null?a:t,o=new Headers(e.headers),n!=null&&n.headers&&new Headers(n.headers).forEach((g,y)=>{o.set(y,g)}),(n==null?void 0:n.body)!==void 0?s=String(n.body):e.body&&!e.bodyUsed&&t!=="GET"&&t!=="HEAD"&&(s=await e.clone().text()));let c={};o.forEach((h,g)=>{c[g]=h});let l=(m=(p=o.get("content-type"))!=null?p:o.get("Content-Type"))!=null?m:void 0;return{resolvedUrl:i,method:t,headers:c,contentType:l,bodyLength:s?s.length:null,body:s}}resolveRequestUrl(e){if(e instanceof URL)return e.toString();if(typeof Request!="undefined"&&e instanceof Request)return e.url;if(typeof e!="string"){let t=e.url;if(t instanceof URL)return t.toString();if(typeof t=="string")return this.resolveRequestUrl(t);throw new Error("OpenCode Server request URL is invalid.")}let n=e.trim();if(!n)throw new Error("OpenCode Server request URL is empty.");return/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(n)?n:new URL(n,`${this.config.url}/`).toString()}normalizeServerUrl(e){let n=e.trim();if(!n)throw new Error("OpenCode Server URL is empty. Please set it in settings.");let t=/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(n)?n:`http://${n}`,o;try{o=new URL(t)}catch(s){throw new Error("OpenCode Server URL is invalid. Use http:// or https:// (e.g., http://127.0.0.1:4096).")}if(o.protocol!=="http:"&&o.protocol!=="https:")throw new Error("OpenCode Server URL must use http:// or https://.");return t.replace(/\/+$/,"")}extractSessionIdFromEvent(e){var n,i,t,o,s,c;return((i=(n=e.properties)==null?void 0:n.part)==null?void 0:i.sessionID)||((o=(t=e.properties)==null?void 0:t.part)==null?void 0:o.sessionId)||((s=e.properties)==null?void 0:s.sessionID)||((c=e.properties)==null?void 0:c.sessionId)||e.sessionId||e.sessionID||e.id||null}onConnectionStateChange(e){return this.connectionHandler.onConnectionStateChange(e)}onHealthStatusChange(e){return this.connectionHandler.onHealthStatusChange(e)}getHealthStatus(){return this.connectionHandler.getHealthStatus()}onReconnectAttempt(e){this.connectionHandler.onReconnectAttempt(e)}getLastConnectionError(){return this.connectionHandler.getLastConnectionError()}getConnectionState(){return this.connectionHandler.getConnectionState()}getConfig(){return this.connectionHandler.getConfig()}isConnected(){return this.connectionHandler.isConnected()}getCurrentSessionId(){return this.sessionOps.getCurrentSessionId()}async ensureSession(e){return this.sessionOps.ensureSession(e)}onStreamToken(e){this.streamHandler.onStreamToken(e)}onStreamThinking(e){this.streamHandler.onStreamThinking(e)}onError(e){this.streamHandler.onError(e)}onProgressUpdate(e){this.streamHandler.onProgressUpdate(e)}onSessionEnd(e){this.streamHandler.onSessionEnd(e)}onPermissionRequest(e){this.streamHandler.onPermissionRequest(e)}async connect(){await this.connectionHandler.connect(),this.streamHandler.updateSessionState({promptInFlightSessionId:this.sessionOps.getPromptInFlightSessionId(),sessions:this.sessionOps.getSessions(),currentSessionId:this.sessionOps.getCurrentSessionId()}),this.startEventLoop()}async disconnect(){await this.connectionHandler.disconnect(),this.sessionOps.clearSessionState()}async createSession(e){return this.sessionOps.createSession(e)}async startSession(e,n,i){return this.sessionOps.startSession(e,n,i)}async sendMessage(e,n){return this.sessionOps.sendMessage(e,n)}async sendSessionMessage(e,n,i){return this.sessionOps.sendSessionMessage(e,n,i)}async sendSessionCommand(e,n,i,t){return this.sessionOps.sendSessionCommand(e,n,i,t)}async listCommands(e=!1){var t;let i=Date.now();if(!e&&this.commandListCache&&i-this.commandListCache.fetchedAt<3e5)return this.commandListCache.commands;try{let o=await this.sdkClient.command.list();if(o.error||!o.data)throw new Error(`Failed to load commands: ${(t=o.error)!=null?t:"Unknown error"}`);let s=o.data.map(c=>({name:c.name,description:c.description,template:c.template,agent:c.agent,model:c.model}));return this.commandListCache={commands:s,fetchedAt:i},s}catch(o){return this.errorHandler.handleError(o,{module:"OpenCodeClient",function:"listCommands",operation:"Listing commands"},"warning"),[]}}async listAgents(){var e;try{let n=await this.sdkClient.app.agents();if(n.error||!n.data)throw new Error(`Failed to list agents: ${(e=n.error)!=null?e:"Unknown error"}`);return n.data.map(i=>({id:i.id,name:i.name,description:i.description,systemPrompt:i.systemPrompt||"",model:i.model,tools:i.tools,skills:i.skills,color:i.color,hidden:i.hidden,mode:i.mode}))}catch(n){throw this.errorHandler.handleError(n,{module:"OpenCodeClient",function:"listAgents",operation:"Listing agents"},"warning"),n}}async abortSession(e){return this.sessionOps.abortSession(e)}async respondToPermission(e,n,i,t){return this.sessionOps.respondToPermission(e,n,i,t)}async listSessions(){return this.sessionOps.listSessions()}async getSessionMessages(e){return this.sessionOps.getSessionMessages(e)}async updateSessionTitle(e,n){return this.sessionOps.updateSessionTitle(e,n)}async deleteSession(e){return this.sessionOps.deleteSession(e)}async revertSession(e,n){return this.sessionOps.revertSession(e,n)}async unrevertSession(e){return this.sessionOps.unrevertSession(e)}async forkSession(e,n,i){return this.sessionOps.forkSession(e,n,i)}async getSessionDiff(e){return this.sessionOps.getSessionDiff(e)}async searchText(e){return this.sessionOps.searchText(e)}async searchFiles(e,n){return this.sessionOps.searchFiles(e,n)}async searchSymbols(e,n){return this.sessionOps.searchSymbols(e,n)}async healthCheck(){return this.connectionHandler.healthCheck()}async detectFeatures(){let n=Date.now();if(this.featureCache&&n-this.featureCache.fetchedAt<3e5)return new Set(this.featureCache.features);let i=new Set,t=[{name:"session.list",test:()=>this.sdkClient.session.list()},{name:"session.create",test:()=>this.sdkClient.session.create({body:{title:"test"}})},{name:"session.get",test:()=>this.sdkClient.session.get({path:{id:"test"}})},{name:"session.update",test:()=>this.sdkClient.session.update({path:{id:"test"},body:{title:"test"}})},{name:"session.delete",test:()=>this.sdkClient.session.delete({path:{id:"test"}})},{name:"session.messages",test:()=>this.sdkClient.session.messages({path:{id:"test"}})}];for(let o of t)try{let s=await o.test();if(s.error){if(le(s.error)===404&&o.name==="session.list")continue;i.add(o.name)}else i.add(o.name)}catch(s){let c=le(s);if(c===404&&o.name==="session.list")continue;c===404&&i.add(o.name)}return this.featureCache={features:i,fetchedAt:n},new Set(i)}async hasFeature(e){return(await this.detectFeatures()).has(e)}startEventLoop(){this.connectionHandler.startEventLoop(e=>this.streamHandler.createEventStream(e),e=>this.streamHandler.processEventStream(e)).catch(()=>{})}}});var wg={};$e(wg,{ServerStartModal:()=>vd});var He,vd,_g=Y(()=>{He=require("obsidian"),vd=class extends He.Modal{constructor(e,n){super(e),this.plugin=n}onOpen(){let{contentEl:e}=this;e.createEl("h2",{text:"OpenCode Server Not Running"}),e.createEl("p",{text:"The OpenCode server is not currently running. You need to start it to use the plugin features.",cls:"setting-item-description"}),e.createEl("p",{text:"Would you like to start the OpenCode server now?",cls:"setting-item-description"});let n=e.createDiv("opencode-server-start-buttons"),i=n.createEl("button",{text:"Start Server",cls:"mod-cta"}),t=n.createEl("button",{text:"Configure",cls:"mod-button"}),o=n.createEl("button",{text:"Cancel",cls:"mod-button"});i.onclick=async()=>{var s;i.disabled=!0,i.textContent="Starting...";try{if(this.plugin.serverManager)await this.plugin.serverManager.start();else if(this.plugin.settings.opencodeServer){let l=this.plugin.settings.opencodeServer;this.plugin.serverManager=await Promise.resolve().then(()=>(mn(),yr)).then(u=>u.ServerManager.initializeFromConfig(l,this.plugin.errorHandler,d=>this.plugin.handleServerStateChange(d),async d=>{l.url=d,await this.plugin.saveSettings()}))}else{new He.Notice("Server configuration not found"),this.close();return}((s=this.plugin.serverManager)==null?void 0:s.getState())==="running"?(new He.Notice("OpenCode server started successfully"),this.close()):(new He.Notice("Failed to start OpenCode server. Please check the configuration."),this.close())}catch(c){console.error("Failed to start OpenCode server:",c),new He.Notice(`Failed to start server: ${c instanceof Error?c.message:"Unknown error"}`),this.close()}},t.onclick=()=>{this.close(),new He.Notice("Please open settings manually to configure the server.")},o.onclick=()=>{this.close(),new He.Notice("OpenCode server not started. Plugin features will be limited.")},n.style.display="flex",n.style.gap="8px",n.style.justifyContent="flex-end",n.style.marginTop="16px"}onClose(){let{contentEl:e}=this;e.empty()}}});var Xb={};$e(Xb,{default:()=>To});var Pe=require("obsidian");var Z=require("obsidian");se();function bd(r,e){let n=null,i=null,t=null,o=null;return function(...c){return n!==null&&(clearTimeout(n),n=null),i||(i=new Promise((l,u)=>{t=l,o=u})),n=setTimeout(async()=>{try{let l=await r(...c);t&&t(l)}catch(l){o&&o(l)}finally{n=null,i=null,t=null,o=null}},e),i}}Ct();function ae(r,e,n){r.setAttribute(e,n)}function q(r){for(;r.firstChild;)r.removeChild(r.firstChild)}function N(r,e){Object.entries(e).forEach(([n,i])=>{i!==void 0&&(r.style[n]=i)})}var rr=class{constructor(e,n,i,t){this.plugin=e;this.getLastHealthCheckResult=n;this.performHealthCheck=i;this.createNewConversation=t}render(e){var d,a,p,m,h,g,y;q(e);let n=e.createDiv("opencode-obsidian-status"),i=(m=(d=this.plugin.connectionManager)==null?void 0:d.getDiagnostics().state)!=null?m:(p=(a=this.plugin.opencodeClient)==null?void 0:a.getConnectionState())!=null?p:"disconnected",t=i==="connected",o=(h=this.getLastHealthCheckResult())!=null?h:!1,s=(g=this.plugin.opencodeClient)==null?void 0:g.getLastConnectionError();if(!((y=this.plugin.settings.opencodeServer)!=null&&y.url))n.addClass("disconnected"),n.textContent="\u25CF Server URL not configured",ae(n,"title","Configure OpenCode Server URL in settings");else if(i==="error"){n.addClass("disconnected");let b=(s==null?void 0:s.message)||"Connection error";n.textContent="\u25CF Connection error",ae(n,"title",`Error: ${b}`)}else if(i==="reconnecting")n.addClass("reconnecting"),n.textContent="\u25CF Reconnecting...",ae(n,"title","Attempting to reconnect to server");else if(i==="connecting")n.addClass("connecting"),n.textContent="\u25CF Connecting...",ae(n,"title","Connecting to server");else if(t)o?(n.addClass("connected"),n.textContent="\u25CF Connected",ae(n,"title",`Connected to ${this.plugin.settings.opencodeServer.url}`)):(n.addClass("disconnected"),n.textContent="\u25CF Connected but unhealthy",ae(n,"title","Server is responding but health check failed"));else{n.addClass("disconnected"),n.textContent="\u25CF Not connected";let b=(s==null?void 0:s.message)||"Not connected to server";ae(n,"title",b)}let c=e.createDiv("opencode-obsidian-controls"),l=c.createEl("button",{text:"Check connection",cls:"mod-small"});l.onclick=()=>{this.performHealthCheck()};let u=c.createEl("button",{text:"New chat",cls:"mod-cta"});u.onclick=()=>{this.createNewConversation()}}};var ir=require("obsidian");var ct=class extends ir.Modal{constructor(e,n,i,t){super(e),this.title=n,this.message=i,this.onConfirm=t}onOpen(){let{contentEl:e}=this;e.createEl("h2",{text:this.title}),e.createEl("p",{text:this.message}),new ir.Setting(e).addButton(n=>n.setButtonText("Cancel").onClick(()=>this.close())).addButton(n=>n.setButtonText("Confirm").setCta().onClick(()=>{this.onConfirm(),this.close()}))}onClose(){let{contentEl:e}=this;q(e)}};var or=class{constructor(e,n,i,t,o,s,c,l,u,d,a,p){this.getConversations=e;this.getActiveConversationId=n;this.app=i;this.switchConversation=t;this.renameConversation=o;this.deleteConversation=s;this.createNewConversation=c;this.exportConversation=l;this.getIsLoading=u;this.syncFromServer=d;this.viewSessionDiff=a;this.forkConversation=p;this.isLoading=!1}get conversations(){return this.getConversations()}get activeConversationId(){return this.getActiveConversationId()}formatRelativeTime(e){let i=Date.now()-e,t=Math.floor(i/1e3),o=Math.floor(t/60),s=Math.floor(o/60),c=Math.floor(s/24);return t<60?"just now":o<60?`${o} min${o!==1?"s":""} ago`:s<24?`${s} hour${s!==1?"s":""} ago`:c<7?`${c} day${c!==1?"s":""} ago`:new Date(e).toLocaleDateString()}render(e){var o,s;q(e);let n=(s=(o=this.getIsLoading)==null?void 0:o.call(this))!=null?s:!1;if(this.conversations.length===0){let c=e.createDiv("opencode-obsidian-no-conversations");if(n){let l=c.createSpan("opencode-obsidian-spinner opencode-obsidian-spinner-large");c.createSpan({text:" Loading conversations..."})}else c.textContent="No conversations yet";return}let i=e.createDiv("opencode-obsidian-tabs-container");n&&i.addClass("opencode-obsidian-tabs-loading"),this.conversations.forEach(c=>{let l=i.createDiv("opencode-obsidian-tab");ae(l,"data-conversation-id",c.id),c.id===this.activeConversationId&&l.addClass("active");let u=l.createDiv("opencode-obsidian-tab-content");if(c.sessionId){let b=l.createSpan("opencode-obsidian-tab-session-indicator");b.textContent="\u25CF",ae(b,"title","Synced with server")}let d=u.createSpan("opencode-obsidian-tab-title");d.textContent=c.title;let a=u.createDiv("opencode-obsidian-tab-metadata"),p=c.messages.length,m=this.formatRelativeTime(c.updatedAt);a.textContent=`${p} msg${p!==1?"s":""} \u2022 ${m}`;let h=`${c.title} -${p} message${p!==1?"s":""} \u2022 Last updated ${m}`;ae(l,"title",h);let g=!1;d.ondblclick=b=>{if(b.stopPropagation(),g)return;g=!0;let $=document.createElement("input");$.type="text",$.value=c.title,$.className="opencode-obsidian-tab-title-edit",N($,{width:`${d.offsetWidth}px`,minWidth:"120px",maxWidth:"300px"}),N(d,{display:"none"}),u.insertBefore($,d),$.focus(),$.select();let P=async()=>{let x=$.value.trim();x&&x!==c.title&&await this.renameConversation(c.id,x),$.remove(),N(d,{display:""}),g=!1},S=()=>{$.remove(),N(d,{display:""}),g=!1};$.onblur=()=>{setTimeout(P,200)},$.onkeydown=x=>{x.key==="Enter"?(x.preventDefault(),x.stopPropagation(),P()):x.key==="Escape"&&(x.preventDefault(),x.stopPropagation(),S())}};let y=l.createSpan("opencode-obsidian-tab-close");y.textContent="\xD7",ae(y,"title","Delete conversation"),y.onclick=async b=>{if(b.stopPropagation(),n)return;let P=!!c.sessionId?`Are you sure you want to delete "${c.title}"? This will also delete the session from the server.`:`Are you sure you want to delete "${c.title}"?`;new ct(this.app,"Delete conversation",P,async()=>{await this.deleteConversation(c.id)}).open()},l.oncontextmenu=b=>{n||(b.preventDefault(),b.stopPropagation(),this.showConversationContextMenu(l,c.id,b))},l.onclick=async()=>{!g&&!n&&await this.switchConversation(c.id)}});let t=i.createDiv("opencode-obsidian-tab opencode-obsidian-tab-new");if(n){let c=t.createSpan("opencode-obsidian-spinner");t.addClass("opencode-obsidian-tab-disabled")}else t.textContent="+";if(ae(t,"title",n?"Loading...":"New conversation"),t.onclick=async()=>{n||await this.createNewConversation()},this.syncFromServer){let c=i.createDiv("opencode-obsidian-tab opencode-obsidian-tab-sync");if(n){let l=c.createSpan("opencode-obsidian-spinner");c.addClass("opencode-obsidian-tab-disabled")}else c.innerHTML="\u21BB";ae(c,"title",n?"Syncing...":"Sync from server"),c.onclick=async()=>{!n&&this.syncFromServer&&await this.syncFromServer()}}}showConversationContextMenu(e,n,i){let t=document.querySelector(".opencode-obsidian-context-menu");t&&t.remove();let o=this.conversations.find(a=>a.id===n);if(!o)return;let s=document.createElement("div");s.className="opencode-obsidian-context-menu",N(s,{position:"fixed",left:`${i.clientX}px`,top:`${i.clientY}px`,zIndex:"10000"});let c=s.createDiv("opencode-obsidian-context-menu-item");c.textContent="Rename",c.onclick=async()=>{s.remove();let a=e.querySelector(".opencode-obsidian-tab-title");a&&a.dispatchEvent(new MouseEvent("dblclick",{bubbles:!0}))};let l=s.createDiv("opencode-obsidian-context-menu-item");if(l.textContent="Export",l.onclick=()=>{s.remove(),this.exportConversation(n)},o.sessionId&&this.viewSessionDiff){let a=s.createDiv("opencode-obsidian-context-menu-item");a.textContent="View changes",a.onclick=()=>{s.remove(),o.sessionId&&this.viewSessionDiff&&this.viewSessionDiff(o.sessionId)}}if(o.sessionId&&this.forkConversation){let a=s.createDiv("opencode-obsidian-context-menu-item");a.textContent="Fork session",a.onclick=()=>{s.remove(),this.forkConversation&&this.forkConversation(n)}}let u=s.createDiv("opencode-obsidian-context-menu-item");u.textContent="Delete",u.addClass("opencode-obsidian-context-menu-item-danger"),u.onclick=()=>{s.remove();let p=!!o.sessionId?`Are you sure you want to delete "${o.title}"? This will also delete the session from the server.`:`Are you sure you want to delete "${o.title}"?`;new ct(this.app,"Delete conversation",p,async()=>{await this.deleteConversation(n)}).open()},document.body.appendChild(s);let d=a=>{s.contains(a.target)||(s.remove(),document.removeEventListener("click",d))};setTimeout(()=>{document.addEventListener("click",d)},0)}};Ct();var sr=class{constructor(e,n,i,t,o,s,c,l){this.getActiveConversation=n;this.onRegenerate=i;this.getScrollPosition=t;this.getIsLoading=o;this.onRevert=s;this.onUnrevert=c;this.onFork=l;this.messageRenderer=e}render(e){var s,c,l;if(q(e),(c=(s=this.getIsLoading)==null?void 0:s.call(this))!=null?c:!1){let d=e.createDiv("opencode-obsidian-loading-overlay").createDiv("opencode-obsidian-loading-message");d.createSpan("opencode-obsidian-spinner"),d.createSpan({text:"Loading conversation..."});return}let i=this.getActiveConversation();if(!i||i.messages.length===0){e.createDiv("opencode-obsidian-empty-messages").textContent="Start a conversation...";return}let t=i.messages.some(u=>u.isReverted);if(i.messages.forEach(u=>{u.isReverted||this.renderMessage(e,u)}),t){let u=e.createDiv("opencode-obsidian-reverted-indicator");if(u.createSpan({text:"\u26A0\uFE0F Some messages have been reverted and are hidden"}),this.onUnrevert){let d=u.createEl("button",{text:"Unrevert all",cls:"opencode-obsidian-unrevert-button"});d.onclick=()=>{var a;(a=this.onUnrevert)==null||a.call(this)}}}let o=(l=this.getScrollPosition)==null?void 0:l.call(this,i.id);o!==void 0&&o>0?requestAnimationFrame(()=>{e.scrollTop=o}):e.scrollTop=e.scrollHeight}renderMessage(e,n){let i=e.createDiv(`opencode-obsidian-message opencode-obsidian-message-${n.role}`);ae(i,"data-message-id",n.id);let t=i.createDiv("opencode-obsidian-message-header");t.createSpan("opencode-obsidian-message-role").textContent=n.role,t.createSpan("opencode-obsidian-message-time").textContent=Sd(n.timestamp);let o=i.createDiv("opencode-obsidian-message-content");if(typeof n.content=="string"?this.messageRenderer.renderMessageContent(o,n.content):o.createDiv().textContent=JSON.stringify(n.content,null,2),n.images&&n.images.length>0){let l=o.createDiv("opencode-obsidian-message-images");n.images.forEach(u=>{let d=l.createEl("img",{attr:{src:u.data,alt:u.name||"Image"}});N(d,{maxWidth:"300px",maxHeight:"300px"})})}let s=this.getActiveConversation(),c=this.onFork&&s?l=>{var u;return(u=this.onFork)==null?void 0:u.call(this,s.id,l.id)}:void 0;this.messageRenderer.addMessageActions(i,n,this.onRegenerate,this.onRevert,c,s==null?void 0:s.id)}};var lt=require("obsidian");se();var ar=class{constructor(e,n){this.plugin=e;this.view=n}renderMessageContent(e,n){let i=n.split(` -`),t=!1,o="",s=[],c="";for(let l=0;l0){let l=e.createEl("pre");l.addClass("opencode-obsidian-code-block");let u=l.createEl("code");o&&u.addClass(`language-${o}`),u.textContent=s.join(` -`),this.addCodeBlockActions(l,s.join(` -`))}if(c.trim()){let l=e.createDiv("opencode-obsidian-markdown-text");lt.MarkdownRenderer.render(this.plugin.app,c.trim(),l,"",this.view)}}addCodeBlockActions(e,n){let t=e.createDiv("opencode-obsidian-code-actions").createEl("button",{text:"Copy",cls:"opencode-obsidian-code-copy"});t.onclick=async()=>{try{await navigator.clipboard.writeText(n),t.textContent="Copied!",setTimeout(()=>{t.textContent="Copy"},2e3)}catch(o){this.plugin.errorHandler.handleError(o,{module:"OpenCodeObsidianView",function:"addCodeActions",operation:"Copying code to clipboard"},"warning"),new lt.Notice("Failed to copy code")}}}addMessageActions(e,n,i,t,o,s){let c=e.createDiv("opencode-obsidian-message-actions"),l=c.createEl("button",{text:"\u{1F4CB}",cls:"opencode-obsidian-message-action",attr:{title:"Copy message"}});if(l.onclick=async()=>{try{await navigator.clipboard.writeText(n.content),new lt.Notice("Message copied to clipboard")}catch(u){this.plugin.errorHandler.handleError(u,{module:"OpenCodeObsidianView",function:"addMessageActions",operation:"Copying message to clipboard"},"warning"),new lt.Notice("Failed to copy message")}},n.role==="assistant"&&i){let u=c.createEl("button",{text:"\u{1F504}",cls:"opencode-obsidian-message-action",attr:{title:"Regenerate response"}});u.onclick=()=>{i(n)}}if(t){let u=c.createEl("button",{text:"\u21A9\uFE0F",cls:"opencode-obsidian-message-action",attr:{title:"Revert to here"}});u.onclick=()=>{t(n)}}if(o&&s){let u=c.createEl("button",{text:"\u{1F374}",cls:"opencode-obsidian-message-action",attr:{title:"Fork from here"}});u.onclick=async()=>{try{u.disabled=!0,u.textContent="\u23F3",await o(n)}catch(d){}finally{u.disabled=!1,u.textContent="\u{1F374}"}}}}};var cr=class{constructor(e,n,i,t,o,s,c,l){this.plugin=e;this.app=n;this.sendMessage=i;this.stopStreaming=t;this.showAttachmentModal=o;this.ensureCommandSuggestions=s;this.parseSlashCommand=c;this.setIsStreaming=l;this.commandSuggestions=[];this.commandSuggestionsLoading=!1;this.isStreaming=!1}render(e){var at;q(e);let n=e.createDiv("opencode-obsidian-input-container"),t=n.createDiv("opencode-obsidian-input-toolbar").createEl("select",{cls:"opencode-obsidian-agent-select"}),o=[{id:"assistant",name:"Assistant"},{id:"bootstrap",name:"Bootstrap"},{id:"thinking-partner",name:"Thinking Partner"},{id:"research-assistant",name:"Research Assistant"},{id:"read-only",name:"Read Only"}],s=((at=this.plugin.settings.agents)==null?void 0:at.filter(O=>!O.hidden))||[],c=s.length>0?s:o;c.forEach(O=>{let V=t.createEl("option",{value:O.id,text:O.name});"color"in O&&typeof O.color=="string"&&(V.style.color=O.color)});let l=this.plugin.settings.agent;c.some(O=>O.id===l)?t.value=l:c.length>0&&c[0]&&(t.value=c[0].id,this.plugin.settings.agent=c[0].id,this.plugin.saveSettings()),t.onchange=async()=>{this.plugin.settings.agent=t.value,await this.plugin.debouncedSaveSettings()};let u=n.createEl("textarea",{cls:"opencode-obsidian-input-textarea",attr:{placeholder:"Type your message... (Shift+Enter for new line, Enter to send)"}}),d=n.createDiv("opencode-obsidian-command-suggestions"),a=d.createDiv("opencode-obsidian-command-suggestions-list"),p=n.createDiv("opencode-obsidian-input-status"),m=p.createSpan("opencode-obsidian-char-count"),h=p.createSpan("opencode-obsidian-streaming-status"),g=()=>{let O=u.value.length;m.textContent=`${O} characters`,O>8e3?m.addClass("opencode-obsidian-char-warning"):m.removeClass("opencode-obsidian-char-warning")},y=[],b=-1,$=()=>{d.removeClass("is-visible"),y=[],b=-1},P=O=>{let V=u.value,T=V.startsWith("/")?V.slice(1):V,j=T.search(/\s/),F=j===-1?"":T.slice(j);u.value=`/${O.name}${F||" "}`,$(),u.focus(),g(),N(u,{height:"auto"}),N(u,{height:`${Math.min(u.scrollHeight,200)}px`})},S=O=>{if(q(a),y=O,b=O.length>0?0:-1,O.length===0){$();return}d.addClass("is-visible"),O.forEach((V,T)=>{let j=a.createDiv("opencode-obsidian-command-suggestion");T===b&&j.addClass("is-selected");let F=j.createSpan("opencode-obsidian-command-suggestion-name");if(F.textContent=`/${V.name}`,V.description){let te=j.createSpan("opencode-obsidian-command-suggestion-description");te.textContent=V.description}j.onclick=()=>P(V)})},x=O=>{q(a);let V=a.createDiv("opencode-obsidian-command-suggestion opencode-obsidian-command-suggestion-empty");V.textContent=O,d.addClass("is-visible"),y=[],b=-1},M=async()=>{var F,te;let O=u.value;if(!O.startsWith("/")){$();return}if(!this.plugin.opencodeClient){x("Server not connected.");return}this.commandSuggestions.length===0&&(this.commandSuggestionsLoading||x("Loading commands..."),await this.ensureCommandSuggestions());let V=(te=(F=O.slice(1).split(/\s+/)[0])==null?void 0:F.toLowerCase())!=null?te:"",j=this.commandSuggestions.filter(ke=>V?ke.name.toLowerCase().startsWith(V):!0).slice(0,8);if(j.length===0){V?x("No matching commands."):$();return}S(j)},G=()=>{g(),M(),N(u,{height:"auto"}),N(u,{height:`${Math.min(u.scrollHeight,200)}px`})};u.oninput=G,g();let Te=n.createDiv("opencode-obsidian-input-buttons"),ot=Te.createEl("button",{text:this.isStreaming?"Stop":"Send",cls:this.isStreaming?"mod-warning":"mod-cta"}),st=Te.createEl("button",{text:"\u{1F4CE}",cls:"opencode-obsidian-attach-btn",attr:{title:"Attach image"}}),kt=Te.createEl("button",{text:"\u{1F5D1}\uFE0F",cls:"opencode-obsidian-clear-btn",attr:{title:"Clear input"}});this.isStreaming?(h.textContent="Streaming response...",h.addClass("opencode-obsidian-streaming")):(h.textContent="",h.removeClass("opencode-obsidian-streaming")),ot.onclick=async()=>{if(this.isStreaming)this.stopStreaming();else{let O=u.value.trim();O&&(await this.sendMessage(O),u.value="",g())}},st.onclick=()=>{this.showAttachmentModal()},kt.onclick=()=>{u.value.trim()&&new ct(this.app,"Clear input?","Are you sure you want to clear the current input?",()=>{u.value="",g(),u.focus()}).open()},u.onkeydown=O=>{if(d.hasClass("is-visible")){if(O.key==="ArrowDown"){O.preventDefault(),y.length>0&&(b=(b+1)%y.length,S(y));return}if(O.key==="ArrowUp"){O.preventDefault(),y.length>0&&(b=(b-1+y.length)%y.length,S(y));return}if(O.key==="Tab"){let V=y[b];if(b>=0&&V){O.preventDefault(),P(V);return}}if(O.key==="Escape"){O.preventDefault(),$();return}if(O.key==="Enter"&&!O.shiftKey&&b>=0){let V=y[b];if(V){O.preventDefault(),P(V);return}}}O.key==="Enter"&&!O.shiftKey&&(O.preventDefault(),ot.click())},u.onblur=()=>{setTimeout(()=>{$()},150)}}updateStreamingStatus(e){this.isStreaming=e;let n=document.querySelector(".opencode-obsidian-input-status");if(!n)return;let i=n.querySelector(".opencode-obsidian-streaming-status");i&&(e?(i.textContent="Streaming response...",i.addClass("opencode-obsidian-streaming")):(i.textContent="",i.removeClass("opencode-obsidian-streaming")));let t=document.querySelector(".opencode-obsidian-input-buttons button.mod-cta, .opencode-obsidian-input-buttons button.mod-warning");t&&(t.textContent=e?"Stop":"Send",t.removeClass("mod-cta","mod-warning"),t.addClass(e?"mod-warning":"mod-cta"))}setCommandSuggestions(e){this.commandSuggestions=e}setCommandSuggestionsLoading(e){this.commandSuggestionsLoading=e}};var ut=require("obsidian");var lr=class extends ut.Modal{constructor(e,n){super(e),this.onFileSelect=n}onOpen(){let{contentEl:e}=this;e.createEl("h2",{text:"Attach image"});let n=e.createDiv("opencode-obsidian-drop-zone");n.textContent="Drop an image here or click to select";let i=e.createEl("input",{type:"file",attr:{accept:"image/*",style:"display: none"}}),t=o=>{if(!o.type.startsWith("image/")){new ut.Notice("Please select an image file");return}if(o.size>10*1024*1024){new ut.Notice("Image file is too large (max 10mb).");return}this.onFileSelect(o),this.close()};n.onclick=()=>i.click(),i.onchange=()=>{var s;let o=(s=i.files)==null?void 0:s[0];o&&t(o)},n.ondragover=o=>{o.preventDefault(),n.addClass("opencode-obsidian-drop-zone-hover")},n.ondragleave=()=>{n.removeClass("opencode-obsidian-drop-zone-hover")},n.ondrop=o=>{var c;o.preventDefault(),n.removeClass("opencode-obsidian-drop-zone-hover");let s=(c=o.dataTransfer)==null?void 0:c.files[0];s&&t(s)},new ut.Setting(e).addButton(o=>o.setButtonText("Cancel").onClick(()=>this.close()))}onClose(){let{contentEl:e}=this;q(e)}};var Ed=require("obsidian");var ur=class extends Ed.Modal{constructor(e,n){super(e),this.sessionDiff=n}onOpen(){let{contentEl:e}=this;if(e.addClass("opencode-diff-viewer"),e.createEl("h2",{text:"Session Changes"}),!this.sessionDiff.files||this.sessionDiff.files.length===0){e.createEl("p",{text:"No file modifications",cls:"opencode-diff-empty"});return}for(let n of this.sessionDiff.files)this.renderFileDiff(e,n)}onClose(){let{contentEl:e}=this;q(e)}renderFileDiff(e,n){let i=e.createDiv("opencode-diff-file");i.createDiv("opencode-diff-file-header").createEl("strong",{text:n.path});let o=i.createDiv("opencode-diff-content");if(n.removed&&n.removed.length>0){let s=o.createDiv("opencode-diff-section");s.createEl("div",{text:`- ${n.removed.length} line${n.removed.length===1?"":"s"} removed`,cls:"opencode-diff-section-header removed"}),this.renderCodeBlock(s,n.removed.join(` -`),n.language,"removed")}if(n.added&&n.added.length>0){let s=o.createDiv("opencode-diff-section");s.createEl("div",{text:`+ ${n.added.length} line${n.added.length===1?"":"s"} added`,cls:"opencode-diff-section-header added"}),this.renderCodeBlock(s,n.added.join(` -`),n.language,"added")}}renderCodeBlock(e,n,i,t){let o=e.createEl("pre",{cls:`opencode-diff-code ${t}`}),s=o.createEl("code");i&&s.addClass(`language-${i}`),s.textContent=n,this.addCopyButton(o,n)}addCopyButton(e,n){let t=e.createDiv("opencode-diff-code-actions").createEl("button",{text:"Copy",cls:"opencode-diff-code-copy"});t.onclick=async()=>{try{await navigator.clipboard.writeText(n),t.textContent="Copied!",setTimeout(()=>{t.textContent="Copy"},2e3)}catch(o){console.error("Failed to copy code:",o)}}}};var dr=require("obsidian");var ln=class{constructor(e,n){this.currentMode="text";this.searchTimeout=null;this.plugin=e,this.container=n,this.app=e.app,this.render(),this.bindEvents()}render(){q(this.container),N(this.container,{display:"flex",flexDirection:"column",height:"100%",backgroundColor:"var(--background-primary)",border:"1px solid var(--background-modifier-border)",borderRadius:"var(--radius-s)"});let e=this.container.createEl("div",{cls:"search-header"});N(e,{display:"flex",flexDirection:"column",padding:"8px",borderBottom:"1px solid var(--background-modifier-border)"}),this.modeTabs=e.createEl("div",{cls:"search-mode-tabs"}),N(this.modeTabs,{display:"flex",marginBottom:"8px",gap:"4px"}),this.createModeTab("text","Text"),this.createModeTab("files","Files"),this.createModeTab("symbols","Symbols");let n=e.createEl("div",{cls:"search-input-container"});N(n,{display:"flex",gap:"8px"}),this.searchInput=n.createEl("input",{type:"text",placeholder:"Search...",cls:"search-input"}),N(this.searchInput,{flex:"1",padding:"8px 12px",border:"1px solid var(--background-modifier-border)",borderRadius:"var(--radius-s)",backgroundColor:"var(--background-secondary)",color:"var(--text-normal)"}),this.searchButton=n.createEl("button",{text:"Search",cls:"search-button"}),N(this.searchButton,{padding:"8px 16px",backgroundColor:"var(--interactive-accent)",color:"var(--text-on-accent)",border:"none",borderRadius:"var(--radius-s)",cursor:"pointer"}),this.resultsContainer=this.container.createEl("div",{cls:"search-results"}),N(this.resultsContainer,{flex:"1",overflow:"auto",padding:"8px"}),this.statusMessage=this.container.createEl("div",{cls:"search-status"}),N(this.statusMessage,{padding:"8px",fontSize:"var(--font-size-smaller)",color:"var(--text-muted)",borderTop:"1px solid var(--background-modifier-border)"}),this.loadingIndicator=this.container.createEl("div",{cls:"search-loading",text:"Searching..."}),N(this.loadingIndicator,{display:"none",padding:"16px",textAlign:"center",color:"var(--text-muted)"})}createModeTab(e,n){let i=this.modeTabs.createEl("button",{text:n,cls:"search-mode-tab"});N(i,{padding:"4px 8px",backgroundColor:e===this.currentMode?"var(--interactive-accent)":"var(--background-secondary)",color:e===this.currentMode?"var(--text-on-accent)":"var(--text-normal)",border:"1px solid var(--background-modifier-border)",borderRadius:"var(--radius-xs)",cursor:"pointer",fontSize:"var(--font-size-smaller)"}),i.addEventListener("click",()=>{this.setMode(e)})}setMode(e){this.currentMode=e,this.modeTabs.querySelectorAll(".search-mode-tab").forEach((n,i)=>{let o=["text","files","symbols"][i];N(n,{backgroundColor:o===e?"var(--interactive-accent)":"var(--background-secondary)",color:o===e?"var(--text-on-accent)":"var(--text-normal)"})}),this.clearResults(),this.updatePlaceholder()}updatePlaceholder(){let e={text:"Search text across files...",files:"Search files by name...",symbols:"Search symbols (functions, classes, etc.)..."};this.searchInput.placeholder=e[this.currentMode]}bindEvents(){this.searchInput.addEventListener("input",()=>{this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchInput.value.trim().length>0?this.searchTimeout=window.setTimeout(()=>{this.performSearch()},300):this.clearResults()}),this.searchButton.addEventListener("click",()=>{this.performSearch()}),this.searchInput.addEventListener("keydown",e=>{e.key==="Enter"&&this.performSearch()}),this.searchInput.addEventListener("keydown",e=>{e.key==="Escape"&&this.hide()}),this.searchInput.focus()}async performSearch(){var n,i,t;let e=this.searchInput.value.trim();if(!e){this.clearResults();return}this.showLoading(),this.clearResults();try{let o=[];this.currentMode==="text"?o=await((n=this.plugin.opencodeClient)==null?void 0:n.searchText({pattern:e,limit:50}))||[]:this.currentMode==="files"?o=await((i=this.plugin.opencodeClient)==null?void 0:i.searchFiles(e,50))||[]:this.currentMode==="symbols"&&(o=await((t=this.plugin.opencodeClient)==null?void 0:t.searchSymbols(e,50))||[]),this.displayResults(o),this.updateStatus(`${o.length} results found`)}catch(o){console.error("Search failed:",o),new dr.Notice("Search failed. Please check your connection."),this.updateStatus("Search failed")}finally{this.hideLoading()}}displayResults(e){if(e.length===0){this.resultsContainer.createEl("div",{text:"No results found",cls:"search-no-results"});return}e.forEach((n,i)=>{let t=this.resultsContainer.createEl("div",{cls:"search-result-item"});if(N(t,{padding:"8px 12px",marginBottom:"4px",borderRadius:"var(--radius-s)",backgroundColor:"var(--background-secondary)",cursor:"pointer",transition:"background-color 0.2s"}),t.addEventListener("click",()=>{this.handleResultClick(n)}),t.addEventListener("mouseenter",()=>{N(t,{backgroundColor:"var(--background-secondary-alt)"})}),t.addEventListener("mouseleave",()=>{N(t,{backgroundColor:"var(--background-secondary)"})}),"line"in n){let o=n;this.renderTextResult(t,o)}else if("size"in n){let o=n;this.renderFileResult(t,o)}else if("type"in n){let o=n;this.renderSymbolResult(t,o)}})}renderTextResult(e,n){let i=e.createEl("div",{cls:"search-result-path",text:`${n.path}:${n.line}`});N(i,{fontSize:"var(--font-size-smaller)",color:"var(--text-muted)",marginBottom:"4px"});let t=e.createEl("div",{cls:"search-result-content"});t.innerHTML=this.highlightSearchTerms(n.content,this.searchInput.value),N(t,{fontSize:"var(--font-size-small)",whiteSpace:"pre-wrap",wordBreak:"break-word"})}renderFileResult(e,n){let i=e.createEl("div",{cls:"search-result-path",text:n.path});N(i,{fontSize:"var(--font-size-small)",fontWeight:"500",marginBottom:"4px"});let t=e.createEl("div",{cls:"search-result-metadata",text:this.formatFileSize(n.size)});N(t,{fontSize:"var(--font-size-smaller)",color:"var(--text-muted)"})}renderSymbolResult(e,n){let i=e.createEl("div",{cls:"search-result-symbol-header"}),t=i.createEl("span",{cls:"search-result-symbol-name",text:n.name});N(t,{fontSize:"var(--font-size-small)",fontWeight:"500",marginRight:"8px"});let o=i.createEl("span",{cls:"search-result-symbol-type",text:n.type});N(o,{fontSize:"var(--font-size-smaller)",color:"var(--text-muted)",backgroundColor:"var(--background-secondary-alt)",padding:"2px 6px",borderRadius:"var(--radius-xs)"});let s=e.createEl("div",{cls:"search-result-path",text:`${n.path}:${n.line}`});N(s,{fontSize:"var(--font-size-smaller)",color:"var(--text-muted)",marginTop:"4px"})}handleResultClick(e){try{let n="";if("path"in e&&(n=e.path),!n)return;let i=this.app.vault.getAbstractFileByPath(n);i&&"basename"in i&&"extension"in i?(this.app.workspace.getLeaf().openFile(i,{active:!0,..."line"in e&&{line:e.line-1}}),this.hide()):new dr.Notice(`File not found: ${n}`)}catch(n){console.error("Failed to open file:",n),new dr.Notice("Failed to open file")}}highlightSearchTerms(e,n){if(!n)return e;let i=new RegExp(`(${n})`,"gi");return e.replace(i,"$1")}formatFileSize(e){if(e===0)return"0 B";let n=1024,i=["B","KB","MB","GB"],t=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,t)).toFixed(1))+" "+i[t]}showLoading(){this.loadingIndicator.style.display="block",this.searchButton.disabled=!0}hideLoading(){this.loadingIndicator.style.display="none",this.searchButton.disabled=!1}clearResults(){q(this.resultsContainer),this.updateStatus("")}updateStatus(e){this.statusMessage.textContent=e}hide(){this.container.hide()}show(){this.container.show(),this.searchInput.focus()}focus(){this.searchInput.focus()}destroy(){this.searchTimeout&&clearTimeout(this.searchTimeout),q(this.container)}};var ve=require("obsidian");se();var un=class{constructor(e,n,i,t,o,s,c,l,u,d,a){this.plugin=e;this.getConversations=n;this.getActiveConversationId=i;this.setActiveConversationId=t;this.setConversations=o;this.saveCallback=s;this.updateConversationSelector=c;this.updateMessages=l;this.sessionManager=u;this.setIsLoading=d;this.leaf=a;this.sessionManager&&this.sessionManager.setOnSessionNotFoundCallback(p=>{this.handleSessionNotFound(p)})}get conversations(){return this.getConversations()}get activeConversationId(){return this.getActiveConversationId()}async loadConversations(){try{let e=await this.plugin.loadData();console.debug("[OpenCodeObsidianView] Loading conversations from local storage:",e);let n=e==null?void 0:e.conversations;if(n&&Array.isArray(n)&&n.length>0){this.setConversations(n);let i=this.conversations;if(console.debug(`[OpenCodeObsidianView] Loaded ${i.length} conversations from local storage`),i.length>0){let t=e==null?void 0:e.activeConversationId;if(t&&typeof t=="string"&&i.find(o=>o.id===t))this.setActiveConversationId(t),console.debug(`[OpenCodeObsidianView] Restored active conversation: ${t}`);else{let o=i[0];o&&(this.setActiveConversationId(o.id),console.debug(`[OpenCodeObsidianView] Set first conversation as active: ${o.id}`))}}}else console.debug("[OpenCodeObsidianView] No conversations found in local storage")}catch(e){this.plugin.errorHandler.handleError(e,{module:"OpenCodeObsidianView",function:"loadConversations",operation:"Loading conversations"},"warning"),console.debug("[OpenCodeObsidianView] Error loading conversations:",e)}}async saveConversations(){try{let e=await this.plugin.loadData(),n=this.conversations.map(t=>t.sessionId).filter(t=>t!=null),i={...e||{},conversations:this.conversations,activeConversationId:this.activeConversationId,sessionIds:n,lastSyncTimestamp:e==null?void 0:e.lastSyncTimestamp};await this.plugin.saveData(i)}catch(e){this.plugin.errorHandler.handleError(e,{module:"OpenCodeObsidianView",function:"saveConversations",operation:"Saving conversations"},"warning")}}async createNewConversation(){var e,n,i;(e=this.setIsLoading)==null||e.call(this,!0),this.updateConversationSelector();try{let t={id:`conv-${Date.now()}-${Math.random().toString(36).substring(2,11)}`,title:"New Chat",messages:[],createdAt:Date.now(),updatedAt:Date.now()};if(this.sessionManager&&((n=this.plugin.opencodeClient)!=null&&n.isConnected()))try{let s=await this.sessionManager.createSessionWithRetry(t.title);t.sessionId=s,new ve.Notice("New conversation created and synced with server")}catch(s){this.plugin.errorHandler.handleError(s,{module:"ConversationManager",function:"createNewConversation",operation:"Creating server session"},"warning"),new ve.Notice("Failed to create server session. Conversation will be local-only.")}else new ve.Notice("New conversation created");let o=[...this.conversations];o.unshift(t),this.setConversations(o),this.setActiveConversationId(t.id),await this.saveConversations(),this.updateConversationSelector(),this.updateMessages()}finally{(i=this.setIsLoading)==null||i.call(this,!1),this.updateConversationSelector()}}async switchConversation(e){var i,t;let n=this.conversations.find(o=>o.id===e);if(n){(i=this.setIsLoading)==null||i.call(this,!0),this.updateConversationSelector();try{this.setActiveConversationId(e),n.sessionId&&this.leaf&&this.leaf.setEphemeralState({lastActiveSessionId:n.sessionId}),await this.saveConversations(),this.updateConversationSelector(),this.updateMessages()}finally{(t=this.setIsLoading)==null||t.call(this,!1),this.updateConversationSelector()}}}async renameConversation(e,n){var i,t,o;(i=this.setIsLoading)==null||i.call(this,!0),this.updateConversationSelector();try{let s=this.conversations.find(u=>u.id===e);if(!s)return;let c=n.trim();if(!c){new ve.Notice("Title cannot be empty");return}let l=c.length>100?`${c.substring(0,97)}...`:c;if(s.title=l,s.updatedAt=Date.now(),s.sessionId&&this.sessionManager&&((t=this.plugin.opencodeClient)!=null&&t.isConnected()))try{await this.sessionManager.updateSessionTitleWithRetry(s.sessionId,l),new ve.Notice("Conversation renamed and synced with server")}catch(u){this.plugin.errorHandler.handleError(u,{module:"ConversationManager",function:"renameConversation",operation:"Updating server session title",metadata:{sessionId:s.sessionId,title:l}},"warning"),new ve.Notice("Failed to update session title on server. Local title updated.")}else new ve.Notice("Conversation renamed");await this.saveConversations(),this.updateConversationSelector()}finally{(o=this.setIsLoading)==null||o.call(this,!1),this.updateConversationSelector()}}async deleteConversation(e){var n,i,t,o,s;(n=this.setIsLoading)==null||n.call(this,!0),this.updateConversationSelector();try{let c=this.conversations,l=c.findIndex(p=>p.id===e);if(l===-1)return;let u=c[l];if(!u)return;if(u.sessionId&&this.sessionManager&&((i=this.plugin.opencodeClient)!=null&&i.isConnected()))try{await this.sessionManager.deleteSessionWithRetry(u.sessionId),new ve.Notice("Conversation deleted and removed from server")}catch(p){this.plugin.errorHandler.handleError(p,{module:"ConversationManager",function:"deleteConversation",operation:"Deleting server session",metadata:{sessionId:u.sessionId}},"warning"),new ve.Notice("Failed to delete session on server. Local conversation will be deleted.")}else new ve.Notice("Conversation deleted");let d=e===this.activeConversationId,a=[...c];if(a.splice(l,1),this.setConversations(a),d)if(a.length>0){let p=Math.min(l,a.length-1);this.setActiveConversationId((o=(t=a[p])==null?void 0:t.id)!=null?o:null)}else{this.setActiveConversationId(null),await this.createNewConversation();return}await this.saveConversations(),this.updateConversationSelector(),this.updateMessages()}finally{(s=this.setIsLoading)==null||s.call(this,!1),this.updateConversationSelector()}}async forkConversation(e,n){var t,o,s;let i=this.conversations.find(c=>c.id===e);if(!i)throw new Error(`Conversation not found: ${e}`);if(!i.sessionId)throw new Error(`Cannot fork conversation without sessionId: ${e}`);if(!this.sessionManager)throw new Error("SessionManager not available");if(!((t=this.plugin.opencodeClient)!=null&&t.isConnected()))throw new Error("OpenCode client not connected");(o=this.setIsLoading)==null||o.call(this,!0),this.updateConversationSelector();try{let c=`Fork of ${i.title}`,l=await this.sessionManager.forkSessionWithRetry(i.sessionId,n,c),u={id:`conv-${Date.now()}-${Math.random().toString(36).substring(2,11)}`,title:c,messages:[],createdAt:Date.now(),updatedAt:Date.now(),sessionId:l},d=[...this.conversations];return d.unshift(u),this.setConversations(d),this.setActiveConversationId(u.id),await this.saveConversations(),await this.loadSessionMessages(u.id),this.updateConversationSelector(),this.updateMessages(),new ve.Notice("Session forked successfully"),u.id}catch(c){throw this.plugin.errorHandler.handleError(c,{module:"ConversationManager",function:"forkConversation",operation:"Forking conversation",metadata:{conversationId:e,messageId:n}},"error"),new ve.Notice("Failed to fork session"),c}finally{(s=this.setIsLoading)==null||s.call(this,!1),this.updateConversationSelector()}}getActiveConversation(){return this.conversations.find(e=>e.id===this.activeConversationId)||null}async generateConversationTitle(e){var i;let n=this.conversations.find(t=>t.id===e);if(!(!n||n.messages.length<2)&&!(n.title!=="New Chat"&&!n.title.startsWith("Chat "))){if(!((i=this.plugin.opencodeClient)!=null&&i.isConnected())){this.generateTitleFromFirstMessage(n);return}this.generateTitleFromFirstMessage(n)}}generateTitleFromFirstMessage(e){var o;let n=e.messages.find(s=>s.role==="user");if(!n)return;let t=((o=n.content.trim().split(` -`)[0])!=null?o:"").substring(0,50).trim();t&&(e.title=t.length>50?`${t.substring(0,47)}...`:t,this.saveConversations(),this.updateConversationSelector())}findConversationBySessionId(e){return this.conversations.find(n=>n.sessionId===e)||null}async loadSessionMessages(e){var i;let n=this.conversations.find(t=>t.id===e);if(!n)throw new Error(`Conversation not found: ${e}`);if(!n.sessionId)throw new Error(`Conversation has no sessionId: ${e}`);if(!this.sessionManager)throw new Error("SessionManager not available");if(!((i=this.plugin.opencodeClient)!=null&&i.isConnected()))throw new Error("OpenCode client not connected");try{let t=await this.sessionManager.loadSessionMessagesWithRetry(n.sessionId);n.messages=t,n.updatedAt=Date.now(),await this.saveConversations(),this.updateMessages()}catch(t){throw this.plugin.errorHandler.handleError(t,{module:"ConversationManager",function:"loadSessionMessages",operation:"Loading session messages from server",metadata:{conversationId:e,sessionId:n.sessionId}},"error"),t}}async handleSessionNotFound(e){let n=this.conversations.find(i=>i.sessionId===e);n&&(console.debug(`[ConversationManager] Removing sessionId ${e} from conversation ${n.id} due to 404 error`),n.sessionId=void 0,n.updatedAt=Date.now(),await this.saveConversations(),this.updateConversationSelector(),new ve.Notice(`Session "${n.title}" was not found on server. Converted to local-only conversation.`))}};var Et=require("obsidian");se();var dn=class{constructor(e,n,i,t,o,s,c,l,u,d,a,p,m,h,g,y,b){this.plugin=e;this.app=n;this.getActiveConversation=i;this.createNewConversation=t;this.parseSlashCommand=o;this.setIsStreaming=s;this.setCurrentAbortController=c;this.updateMessages=l;this.updateStreamingStatus=u;this.saveConversations=d;this.generateConversationTitle=a;this.showThinkingIndicator=p;this.showBlockedIndicator=m;this.showUsageInfo=h;this.showToolUse=g;this.showToolResult=y;this.sessionManager=b;this.isStreaming=!1;this.currentAbortController=null}async sendMessage(e){var s;console.info("[OpenCodeObsidianView] sendMessage invoked:",{contentLength:e.length});let n=this.getActiveConversation();if(!n){await this.createNewConversation(),await this.sendMessage(e);return}if(e.trim().startsWith("/")&&!this.parseSlashCommand(e)){new Et.Notice("Enter a command after /.");return}let i={id:`msg-${Date.now()}-user`,role:"user",content:e,timestamp:Date.now()};n.messages.push(i);let t={id:`msg-${Date.now()}-assistant`,role:"assistant",content:"",timestamp:Date.now()};n.messages.push(t);let o=this.parseSlashCommand(e);this.currentAbortController=new AbortController,this.setCurrentAbortController(this.currentAbortController),this.setStreamingState(!0),this.updateMessages();try{if(!this.plugin.opencodeClient)throw new Error("OpenCode Server client not initialized. Please check settings.");this.plugin.connectionManager?await this.plugin.connectionManager.ensureConnected(1e4):this.plugin.opencodeClient.isConnected()||await this.plugin.opencodeClient.connect();let c=n.pendingImagePath,l;if(c&&o)new Et.Notice("Attachments are not supported for commands."),n.pendingImagePath=void 0;else if(c){try{let a=this.app.vault.getAbstractFileByPath(c);if(a instanceof Et.TFile){let p=a,m=await this.app.vault.readBinary(p),h=btoa(String.fromCharCode(...new Uint8Array(m))),y={jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp"}[p.extension.toLowerCase()]||"image/png";l=[{data:h,mimeType:y,name:p.name}]}}catch(a){this.plugin.errorHandler.handleError(a,{module:"OpenCodeObsidianView",function:"handleFileInput",operation:"Attaching image"},"warning")}n.pendingImagePath=void 0}let u=n.sessionId||((s=this.plugin.opencodeClient)==null?void 0:s.getCurrentSessionId())||null;if(u=await this.ensureSession(n,u),!this.plugin.opencodeClient)throw new Error("OpenCode Server client not initialized");let d=async a=>{if(this.plugin.opencodeClient)if(o){let p=await this.plugin.opencodeClient.sendSessionCommand(a,o.command,o.args,this.plugin.settings.agent);t.content=p!=null?p:"Command executed.",this.setStreamingState(!1),this.updateMessages()}else await this.plugin.opencodeClient.sendSessionMessage(a,e,l)};try{await d(u)}catch(a){let p=a instanceof Error?a.message:"";if(p.includes("Session")&&p.includes("not found")){console.debug("[MessageSender] Session not found, creating new session and retrying"),n.sessionId=null;let m=await this.createServerSession(n);await d(m)}else throw a}console.debug("[OpenCodeObsidianView] Message sent to OpenCode Server:",{sessionId:u,contentLength:e.length})}catch(c){this.plugin.errorHandler.handleError(c,{module:"OpenCodeObsidianView",function:"sendMessage",operation:"Sending message"});let l=c instanceof Error?c.message:"Unknown error";t.content=`Error: ${l}`,new Et.Notice(`Error: ${l}`),this.setStreamingState(!1)}finally{this.isStreaming||(this.currentAbortController=null,this.setCurrentAbortController(null),n.updatedAt=Date.now(),await this.saveConversations(),this.updateMessages(),n.messages.length>=2&&(n.title==="New Chat"||n.title.startsWith("Chat "))&&setTimeout(()=>{this.generateConversationTitle(n.id)},1e3))}}setStreamingState(e){this.isStreaming=e,this.setIsStreaming(e),this.updateStreamingStatus(e)}async ensureSession(e,n){return n?this.plugin.opencodeClient&&!await this.plugin.opencodeClient.ensureSession(n)?(e.sessionId=null,await this.createServerSession(e)):n:await this.createServerSession(e)}async createServerSession(e){var n;if(!this.plugin.opencodeClient)throw new Error("OpenCode Server client not initialized");try{let i;if(this.sessionManager&&this.plugin.opencodeClient.isConnected())i=await this.sessionManager.createSession(e.title);else{let t=this.app.workspace.getActiveFile(),o=t?{currentNote:t.path,properties:(n=this.app.metadataCache.getFileCache(t))==null?void 0:n.frontmatter}:void 0;i=await this.plugin.opencodeClient.startSession(o,this.plugin.settings.agent,this.plugin.settings.instructions)}return e.sessionId=i,await this.saveConversations(),console.debug("[MessageSender] Created new session:",i),i}catch(i){let t=i instanceof Error?i.message:"Unknown error";throw this.plugin.errorHandler.handleError(i,{module:"MessageSender",function:"createServerSession",operation:"Creating server session"}),t.includes("Unable to connect")||t.includes("Failed to create session")||t.includes("Failed to start session")?i:new Error(`Failed to create session: ${t}`)}}async handleResponseChunk(e,n){let i=e;switch(i.type){case"text":break;case"thinking":this.showThinkingIndicator(i.content||"");break;case"tool_use":this.showToolUse({id:i.id||"unknown",name:i.name||"unknown",input:i.input||{}});break;case"tool_result":this.showToolResult({id:i.id||"unknown",content:i.content||"",isError:i.isError||!1});break;case"blocked":this.showBlockedIndicator(i.content||"Waiting for permission...");break;case"usage":if(i.usage&&typeof i.usage=="object"){let t=i.usage;t.model!==void 0&&t.inputTokens!==void 0&&(console.debug("Token usage:",t),this.showUsageInfo({model:t.model,inputTokens:t.inputTokens,outputTokens:t.outputTokens}))}break;case"error":throw new Error(i.content||"Unknown error")}}stopStreaming(){this.currentAbortController&&(this.currentAbortController.abort(),this.currentAbortController=null,this.setCurrentAbortController(null)),this.abortActiveSession(),this.setStreamingState(!1)}abortActiveSession(){var t;let e=this.getActiveConversation(),n=(t=e==null?void 0:e.sessionId)!=null?t:null,i=this.plugin.opencodeClient;!n||!i||(async()=>{try{await i.abortSession(n),e&&(e.sessionId=null)}catch(o){this.plugin.errorHandler.handleError(o,{module:"OpenCodeObsidianView",function:"abortActiveSession",operation:"Aborting session",metadata:{sessionId:n}},"warning")}})()}async regenerateResponse(e){let n=this.getActiveConversation();if(!n)return;let i=n.messages.findIndex(o=>o.id===e.id);if(i<=0)return;let t=n.messages[i-1];!t||t.role!=="user"||(n.messages.splice(i,1),await this.sendMessage(t.content))}getIsStreaming(){return this.isStreaming}};se();var pr=class{constructor(e,n,i,t,o,s,c,l,u,d,a){this.plugin=e;this.sessionManager=n;this.getConversations=i;this.getActiveConversationId=t;this.setActiveConversationId=o;this.setConversations=s;this.saveConversations=c;this.updateConversationSelector=l;this.updateMessages=u;this.createNewConversation=d;this.findConversationBySessionId=a;this.syncTimer=null;this.isSyncing=!1}get conversations(){return this.getConversations()}get activeConversationId(){return this.getActiveConversationId()}mapServerSessionsToConversations(e){return e.map(n=>({id:`conv-${n.id}`,title:n.title,messages:[],createdAt:n.lastUpdated,updatedAt:n.lastUpdated,sessionId:n.id}))}mergeConversations(e,n){let i=new Map;for(let c of n)c.sessionId&&i.set(c.sessionId,c);let t=new Map,o=[];for(let c of e)c.sessionId?t.set(c.sessionId,c):o.push(c);let s=[];for(let[c,l]of i){let u=t.get(c);u?s.push({...u,title:l.title,updatedAt:l.updatedAt}):(s.push(l),console.debug(`[ConversationSync] Added new session from server: ${c}`))}for(let[c,l]of t)i.has(c)||console.debug(`[ConversationSync] Removing local conversation with deleted server session: ${c}`);return s.push(...o),s.sort((c,l)=>l.updatedAt-c.updatedAt),s}async syncConversationsFromServer(){var e,n,i;if(!((e=this.plugin.opencodeClient)!=null&&e.isConnected())){this.conversations.length===0&&await this.createNewConversation();return}if(!this.sessionManager){console.debug("[ConversationSync] SessionManager not available, skipping server sync"),this.conversations.length===0&&await this.createNewConversation();return}try{let t=await this.sessionManager.listSessions(!0),o=this.mapServerSessionsToConversations(t),s=this.mergeConversations(this.conversations,o);this.setConversations(s),!this.activeConversationId&&s.length>0&&this.setActiveConversationId((i=(n=s[0])==null?void 0:n.id)!=null?i:null),await this.saveConversations(),this.updateConversationSelector(),this.updateMessages(),this.conversations.length===0&&await this.createNewConversation(),console.debug(`[ConversationSync] Conversation sync completed. Total: ${this.conversations.length}`)}catch(t){this.plugin.errorHandler.handleError(t,{module:"ConversationSync",function:"syncConversationsFromServer",operation:"Syncing conversations from server"},"warning"),this.conversations.length===0&&await this.createNewConversation()}}startPeriodicSync(){this.stopPeriodicSync(),this.syncTimer=setInterval(()=>{this.performBackgroundSync()},3e5),console.debug("[ConversationSync] Periodic sync started (5 minute interval)")}stopPeriodicSync(){this.syncTimer&&(clearInterval(this.syncTimer),this.syncTimer=null,console.debug("[ConversationSync] Periodic sync stopped"))}async performBackgroundSync(){var e;if(this.isSyncing){console.debug("[ConversationSync] Sync already in progress, skipping");return}if(!(!((e=this.plugin.opencodeClient)!=null&&e.isConnected())||!this.sessionManager)){this.isSyncing=!0;try{let n=await this.sessionManager.listSessions(!0),i=this.mapServerSessionsToConversations(n),t=this.mergeConversationsWithTimestamps(this.conversations,i);this.hasConversationChanges(this.conversations,t)?(this.setConversations(t),await this.saveConversations(),this.updateConversationSelector(),console.debug(`[ConversationSync] Background sync completed. Total: ${this.conversations.length}`)):console.debug("[ConversationSync] No changes detected during background sync")}catch(n){this.plugin.errorHandler.handleError(n,{module:"ConversationSync",function:"performBackgroundSync",operation:"Background sync"},"warning")}finally{this.isSyncing=!1}}}mergeConversationsWithTimestamps(e,n){let i=new Map;for(let c of n)c.sessionId&&i.set(c.sessionId,c);let t=new Map,o=[];for(let c of e)c.sessionId?t.set(c.sessionId,c):o.push(c);let s=[];for(let[c,l]of i){let u=t.get(c);u?l.updatedAt>u.updatedAt?(s.push({...u,title:l.title,updatedAt:l.updatedAt}),console.debug(`[ConversationSync] Updated conversation from server (newer): ${c}`)):s.push(u):(s.push(l),console.debug(`[ConversationSync] Added new session from server: ${c}`))}for(let[c,l]of t)i.has(c)||console.debug(`[ConversationSync] Removing local conversation with deleted server session: ${c}`);return s.push(...o),s.sort((c,l)=>l.updatedAt-c.updatedAt),s}hasConversationChanges(e,n){if(e.length!==n.length)return!0;for(let i=0;isetTimeout(n,e))}async retryOperation(e,n,i=Ng){let t=null,o=i.delayMs;for(let s=1;s<=i.maxAttempts;s++)try{return await e()}catch(c){t=c instanceof Error?c:new Error(String(c));let l=le(c);if(!Id(c,l)||s===i.maxAttempts)throw t;console.debug(`[SessionManager] Retrying ${n} (attempt ${s}/${i.maxAttempts}) after ${o}ms`),await this.sleep(o),o*=i.backoffMultiplier}throw t||new Error(`Failed to ${n} after ${i.maxAttempts} attempts`)}async listSessionsWithRetry(e=!1){return this.retryOperation(()=>this.listSessions(e),"list sessions")}async createSessionWithRetry(e){return this.retryOperation(()=>this.createSession(e),"create session")}async loadSessionMessagesWithRetry(e){return this.retryOperation(()=>this.loadSessionMessages(e),"load session messages")}async updateSessionTitleWithRetry(e,n){return this.retryOperation(()=>this.updateSessionTitle(e,n),"update session title")}async deleteSessionWithRetry(e){return this.retryOperation(()=>this.deleteSession(e),"delete session")}async forkSessionWithRetry(e,n,i){return this.retryOperation(()=>this.forkSession(e,n,i),"fork session")}};var gr=class{constructor(e,n){this.plugin=e;this.todoManager=n}render(e){q(e);let n=e.createDiv("opencode-obsidian-todo-container");n.createDiv("opencode-obsidian-todo-header").createEl("h2",{text:"Todo List"});let t=n.createDiv("opencode-obsidian-todo-add-form");this.renderAddForm(t);let o=n.createDiv("opencode-obsidian-todo-controls");this.renderControls(o);let s=n.createDiv("opencode-obsidian-todo-list");this.renderTodoList(s);let c=n.createDiv("opencode-obsidian-todo-categories");this.renderCategories(c),this.todoManager.onTodoChange(()=>{this.renderTodoList(s)})}renderAddForm(e){let n=e.createEl("form",{cls:"opencode-obsidian-todo-form"}),i=n.createEl("input",{type:"text",placeholder:"Enter task title...",cls:"opencode-obsidian-todo-input"}),t=n.createEl("select",{cls:"opencode-obsidian-todo-select"});["low","medium","high"].forEach(c=>{let l=t.createEl("option",{value:c,text:c.charAt(0).toUpperCase()+c.slice(1)});c==="medium"&&(l.selected=!0)});let o=n.createEl("select",{cls:"opencode-obsidian-todo-select"});o.createEl("option",{value:"",text:"No category"}),this.todoManager.getCategories().forEach(c=>{o.createEl("option",{value:c.id,text:c.name})});let s=n.createEl("button",{type:"submit",text:"Add Task",cls:"mod-cta opencode-obsidian-todo-button"});n.addEventListener("submit",c=>{c.preventDefault();let l=i.value.trim();l&&(this.todoManager.createTodo({title:l,priority:t.value,status:"pending",categoryId:o.value||void 0}),i.value="")})}renderControls(e){let n=e.createDiv("opencode-obsidian-todo-filter-group"),i=n.createEl("select",{cls:"opencode-obsidian-todo-select",attr:{title:"Filter by status"}});i.createEl("option",{value:"",text:"All statuses"}),["pending","in_progress","completed","cancelled"].forEach(u=>{i.createEl("option",{value:u,text:u.split("_").map(d=>d.charAt(0).toUpperCase()+d.slice(1)).join(" ")})});let t=n.createEl("select",{cls:"opencode-obsidian-todo-select",attr:{title:"Filter by priority"}});t.createEl("option",{value:"",text:"All priorities"}),["low","medium","high"].forEach(u=>{t.createEl("option",{value:u,text:u.charAt(0).toUpperCase()+u.slice(1)})});let o=n.createDiv("opencode-obsidian-todo-checkbox-group"),s=o.createEl("input",{type:"checkbox",cls:"opencode-obsidian-todo-checkbox"});s.checked=!0;let c=o.createEl("label",{text:"Show completed"});c.insertBefore(s,c.firstChild);let l=()=>{var d;let u=(d=e.parentElement)==null?void 0:d.querySelector(".opencode-obsidian-todo-list");u&&this.renderTodoList(u)};i.addEventListener("change",l),t.addEventListener("change",l),s.addEventListener("change",l)}renderTodoList(e){var s,c;q(e);let n=(s=e.parentElement)==null?void 0:s.querySelector(".opencode-obsidian-todo-select"),i=n==null?void 0:n.nextElementSibling,t=(c=e.parentElement)==null?void 0:c.querySelector(".opencode-obsidian-todo-checkbox"),o=this.todoManager.getTodos({status:(n==null?void 0:n.value)||void 0,priority:(i==null?void 0:i.value)||void 0,showCompleted:t==null?void 0:t.checked});if(o.length===0){let l=e.createDiv("opencode-obsidian-todo-empty");l.textContent="No tasks found. Add a new task to get started!";return}o.forEach(l=>{let u=e.createDiv("opencode-obsidian-todo-item");u.addClass(`priority-${l.priority}`),u.addClass(`status-${l.status}`),u.createEl("button",{cls:"opencode-obsidian-todo-status-btn",text:this.getStatusIcon(l.status),attr:{title:this.getStatusText(l.status)}}).addEventListener("click",()=>{this.toggleTodoStatus(l)});let a=u.createDiv("opencode-obsidian-todo-content"),p=a.createEl("div",{text:l.title,cls:"opencode-obsidian-todo-title"});l.description&&a.createEl("div",{text:l.description,cls:"opencode-obsidian-todo-description"});let m=a.createDiv("opencode-obsidian-todo-meta");if(m.createEl("span",{text:l.priority.charAt(0).toUpperCase()+l.priority.slice(1),cls:`opencode-obsidian-todo-priority priority-${l.priority}`}),l.categoryId){let b=this.todoManager.getCategoryById(l.categoryId);if(b){let $=m.createEl("span",{text:b.name,cls:"opencode-obsidian-todo-category"});b.color&&($.style.backgroundColor=b.color)}}if(l.dueDate){let b=new Date(l.dueDate);m.createEl("span",{text:`Due: ${b.toLocaleDateString()}`,cls:"opencode-obsidian-todo-due-date"})}let h=u.createDiv("opencode-obsidian-todo-actions");h.createEl("button",{text:"\u270F\uFE0F",cls:"mod-small opencode-obsidian-todo-action-btn",attr:{title:"Edit"}}).addEventListener("click",()=>{this.editTodo(l,a)}),h.createEl("button",{text:"\u{1F5D1}\uFE0F",cls:"mod-small opencode-obsidian-todo-action-btn",attr:{title:"Delete"}}).addEventListener("click",()=>{confirm(`Are you sure you want to delete "${l.title}"?`)&&this.todoManager.deleteTodo(l.id)})})}renderCategories(e){let n=e.createEl("h3",{text:"Categories"}),i=e.createDiv("opencode-obsidian-todo-category-list");this.todoManager.getCategories().forEach(u=>{let d=i.createDiv("opencode-obsidian-todo-category-item");if(u.color){let p=d.createEl("span",{cls:"opencode-obsidian-category-color"});p.style.backgroundColor=u.color}d.createEl("span",{text:u.name,cls:"opencode-obsidian-category-name"}),d.createEl("button",{text:"\xD7",cls:"mod-small opencode-obsidian-category-delete"}).addEventListener("click",()=>{confirm(`Are you sure you want to delete category "${u.name}"?`)&&this.todoManager.deleteCategory(u.id)})});let o=e.createEl("form",{cls:"opencode-obsidian-add-category-form"}),s=o.createEl("input",{type:"text",placeholder:"New category name",cls:"opencode-obsidian-todo-input"}),c=o.createEl("input",{type:"color",cls:"opencode-obsidian-category-color-input"}),l=o.createEl("button",{type:"submit",text:"Add",cls:"mod-small opencode-obsidian-todo-button"});o.addEventListener("submit",u=>{u.preventDefault();let d=s.value.trim();d&&(this.todoManager.createCategory(d,c.value),s.value="",this.renderCategories(e))})}toggleTodoStatus(e){let n;switch(e.status){case"pending":n="in_progress";break;case"in_progress":n="completed";break;case"completed":n="pending";break;case"cancelled":n="pending";break;default:n="pending"}this.todoManager.updateTodo(e.id,{status:n})}editTodo(e,n){let i=n.innerHTML;q(n);let t=n.createEl("form",{cls:"opencode-obsidian-todo-edit-form"}),o=t.createEl("input",{type:"text",value:e.title,cls:"opencode-obsidian-todo-input"}),s=t.createEl("textarea",{value:e.description||"",placeholder:"Task description",cls:"opencode-obsidian-todo-textarea"}),c=t.createEl("select",{cls:"opencode-obsidian-todo-select"});["low","medium","high"].forEach(d=>{let a=c.createEl("option",{value:d,text:d.charAt(0).toUpperCase()+d.slice(1)});d===e.priority&&(a.selected=!0)});let l=t.createEl("button",{type:"submit",text:"Save",cls:"mod-small opencode-obsidian-todo-button"}),u=t.createEl("button",{type:"button",text:"Cancel",cls:"mod-small opencode-obsidian-todo-button"});t.addEventListener("submit",d=>{d.preventDefault(),this.todoManager.updateTodo(e.id,{title:o.value.trim(),description:s.value.trim()||void 0,priority:c.value})}),u.addEventListener("click",()=>{n.innerHTML=i})}getStatusIcon(e){switch(e){case"pending":return"\u25CB";case"in_progress":return"\u23F3";case"completed":return"\u2705";case"cancelled":return"\u274C";default:return"\u25CB"}}getStatusText(e){switch(e){case"pending":return"Mark as in progress";case"in_progress":return"Mark as completed";case"completed":return"Mark as pending";case"cancelled":return"Mark as pending";default:return"Toggle status"}}};var It="opencode-obsidian-view",fr=class extends Z.ItemView{constructor(n,i){super(n);this.conversations=[];this.activeConversationId=null;this.isStreaming=!1;this.isConversationOperationLoading=!1;this.currentAbortController=null;this.lastHealthCheckResult=null;this.eventUnsubscribers=[];this.commandSuggestions=[];this.commandSuggestionsLoading=!1;this.scrollPositions={};this.debouncedSaveScrollPosition=bd(async(n,i)=>{await this.saveScrollPosition(n,i)},500);this.isTodoListVisible=!1;this.todoListContainer=null;this.searchPanel=null;this.searchPanelContainer=null;this.isSearchPanelVisible=!1;this.sessionManager=null;this.plugin=i,this.messageRendererComponent=new ar(this.plugin,this),this.conversationManager=new un(this.plugin,()=>this.conversations,()=>this.activeConversationId,t=>{this.activeConversationId=t},t=>{this.conversations=t},()=>this.conversationManager.saveConversations(),()=>this.updateConversationSelector(),()=>this.updateMessages(),void 0,t=>{this.isConversationOperationLoading=t},this.leaf),this.headerComponent=new rr(this.plugin,()=>this.lastHealthCheckResult,()=>this.performHealthCheck(),()=>this.conversationManager.createNewConversation()),this.messageListComponent=new sr(this.messageRendererComponent,()=>this.conversationManager.getActiveConversation(),t=>this.messageSender.regenerateResponse(t),t=>this.scrollPositions[t],()=>this.isConversationOperationLoading,t=>this.revertToMessage(t),()=>this.unrevertSession(),(t,o)=>this.forkConversation(t,o)),this.conversationSelectorComponent=new or(()=>this.conversations,()=>this.activeConversationId,this.app,t=>this.conversationManager.switchConversation(t),(t,o)=>this.conversationManager.renameConversation(t,o),t=>this.conversationManager.deleteConversation(t),()=>this.conversationManager.createNewConversation(),t=>this.exportConversation(t),()=>this.isConversationOperationLoading,()=>this.syncConversationsFromServer(),t=>this.viewSessionDiff(t),t=>this.forkConversation(t)),this.messageSender=new dn(this.plugin,this.app,()=>this.conversationManager.getActiveConversation(),()=>this.conversationManager.createNewConversation(),t=>this.parseSlashCommand(t),t=>{this.isStreaming=t},t=>{this.currentAbortController=t},()=>this.updateMessages(),t=>this.updateStreamingStatus(t),()=>this.conversationManager.saveConversations(),t=>this.conversationManager.generateConversationTitle(t),t=>this.showThinkingIndicator(t),t=>this.showBlockedIndicator(t),t=>this.showUsageInfo(t),t=>this.showToolUse(t),t=>this.showToolResult(t),void 0),this.inputAreaComponent=new cr(this.plugin,this.app,t=>this.messageSender.sendMessage(t),()=>this.messageSender.stopStreaming(),()=>this.showAttachmentModal(),()=>this.ensureCommandSuggestions(),t=>this.parseSlashCommand(t),t=>{this.isStreaming=t}),this.plugin.opencodeClient&&(this.sessionManager=new hr(this.plugin.opencodeClient,this.plugin.errorHandler)),this.sessionManager&&(this.conversationManager=new un(this.plugin,()=>this.conversations,()=>this.activeConversationId,t=>{this.activeConversationId=t},t=>{this.conversations=t},()=>this.conversationManager.saveConversations(),()=>this.updateConversationSelector(),()=>this.updateMessages(),this.sessionManager,t=>{this.isConversationOperationLoading=t},this.leaf),this.messageSender=new dn(this.plugin,this.app,()=>this.conversationManager.getActiveConversation(),()=>this.conversationManager.createNewConversation(),t=>this.parseSlashCommand(t),t=>{this.isStreaming=t},t=>{this.currentAbortController=t},()=>this.updateMessages(),t=>this.updateStreamingStatus(t),()=>this.conversationManager.saveConversations(),t=>this.conversationManager.generateConversationTitle(t),t=>this.showThinkingIndicator(t),t=>this.showBlockedIndicator(t),t=>this.showUsageInfo(t),t=>this.showToolUse(t),t=>this.showToolResult(t),this.sessionManager)),this.conversationSync=new pr(this.plugin,this.sessionManager,()=>this.conversations,()=>this.activeConversationId,t=>{this.activeConversationId=t},t=>{this.conversations=t},()=>this.conversationManager.saveConversations(),()=>this.updateConversationSelector(),()=>this.updateMessages(),()=>this.conversationManager.createNewConversation(),t=>this.conversationManager.findConversationBySessionId(t))}getViewType(){return It}getDisplayText(){return"Opencode"}getIcon(){return"bot"}async onOpen(){let n=this.getContainer();if(!n)return;q(n),n.addClass("opencode-obsidian-view"),this.renderView(),await this.conversationManager.loadConversations(),await this.loadScrollPositions();let i=!1,t=this.leaf.getEphemeralState();if(t!=null&&t.lastActiveSessionId&&this.sessionManager){let o=this.conversationManager.findConversationBySessionId(t.lastActiveSessionId);o&&(await this.conversationManager.switchConversation(o.id),i=!0)}if(!i&&!this.activeConversationId&&this.conversations.length>0){let o=this.conversations[0];o&&await this.conversationManager.switchConversation(o.id)}this.updateConversationSelector(),this.updateMessages(),this.attachScrollListener(),this.registerEventBusCallbacks();try{this.plugin.connectionManager?(await this.plugin.connectionManager.ensureConnected(5e3),console.debug("[OpenCodeObsidianView] Connected to OpenCode Server")):this.plugin.opencodeClient&&!this.plugin.opencodeClient.isConnected()&&await this.plugin.opencodeClient.connect()}catch(o){if(this.plugin.errorHandler.handleError(o,{module:"OpenCodeObsidianView",function:"onOpen",operation:"Connecting to OpenCode Server"},"warning"),this.plugin.connectionManager){let s=o instanceof Error?o.message:String(o);new Z.Notice(`Connection failed: ${s}`)}}this.plugin.opencodeClient&&(await this.performHealthCheck(),this.plugin.opencodeClient.isConnected()&&this.lastHealthCheckResult&&(await this.conversationSync.syncConversationsFromServer(),this.conversationSync.startPeriodicSync())),this.conversations.length===0&&await this.conversationManager.createNewConversation()}async onClose(){this.currentAbortController&&this.currentAbortController.abort();for(let n of this.eventUnsubscribers)try{n()}catch(i){}this.eventUnsubscribers=[],this.conversationSync.stopPeriodicSync()}renderView(){let n=this.getContainer();if(!n)return;if(q(n),this.headerComponent.render(n.createDiv("opencode-obsidian-header")),n.createEl("button",{cls:"opencode-obsidian-view-toggle",text:this.isTodoListVisible?"Chat":"Todo List",attr:{title:this.isTodoListVisible?"Switch to chat view":"Switch to todo list view"}}).addEventListener("click",()=>this.toggleView()),this.searchPanelContainer=n.createDiv("opencode-obsidian-search-panel"),this.isSearchPanelVisible&&this.plugin.opencodeClient&&!this.isTodoListVisible?this.searchPanel=new ln(this.plugin,this.searchPanelContainer):this.searchPanelContainer.hide(),this.isTodoListVisible)if(this.plugin.todoManager)new gr(this.plugin,this.plugin.todoManager).render(n.createDiv("opencode-obsidian-todo-view"));else{let t=n.createDiv("opencode-obsidian-error");t.textContent="Todo manager not initialized. Please try reloading the plugin."}else this.conversationSelectorComponent.render(n.createDiv("opencode-obsidian-conversation-selector")),this.messageListComponent.render(n.createDiv("opencode-obsidian-messages")),this.inputAreaComponent.render(n.createDiv("opencode-obsidian-input"))}getContainer(){let n=this.containerEl.children[1];return n!=null?n:this.containerEl}updateHeader(){var i;let n=(i=this.getContainer())==null?void 0:i.querySelector(".opencode-obsidian-header");n&&this.headerComponent.render(n)}updateConversationSelector(){var i;let n=(i=this.getContainer())==null?void 0:i.querySelector(".opencode-obsidian-conversation-selector");n&&this.conversationSelectorComponent.render(n)}updateMessages(){var i;let n=(i=this.getContainer())==null?void 0:i.querySelector(".opencode-obsidian-messages");n&&this.messageListComponent.render(n)}openSearchPanel(){!this.searchPanelContainer||!this.plugin.opencodeClient||(this.isSearchPanelVisible=!0,this.searchPanelContainer.show(),this.searchPanel=new ln(this.plugin,this.searchPanelContainer),this.searchPanel.focus())}closeSearchPanel(){this.searchPanelContainer&&(this.isSearchPanelVisible=!1,this.searchPanelContainer.hide(),this.searchPanel&&(this.searchPanel.destroy(),this.searchPanel=null))}toggleSearchPanel(){this.isSearchPanelVisible?this.closeSearchPanel():this.openSearchPanel()}updateStreamingStatus(n){this.inputAreaComponent.updateStreamingStatus(n)}async performHealthCheck(){if(!this.plugin.opencodeClient){new Z.Notice("OpenCode Server client not initialized");return}try{let n=await this.plugin.opencodeClient.healthCheck();this.lastHealthCheckResult=n.isHealthy,new Z.Notice(n.isHealthy?"Server is healthy":`Server health check failed: ${n.error||"Unknown error"}`)}catch(n){this.lastHealthCheckResult=!1;let i=n instanceof Error?n.message:String(n);new Z.Notice(`Health check failed: ${i}`)}finally{this.updateHeader()}}async syncConversationsFromServer(){var n;if(!((n=this.plugin.opencodeClient)!=null&&n.isConnected())){new Z.Notice("Not connected to server");return}this.isConversationOperationLoading=!0,this.updateConversationSelector();try{await this.conversationSync.syncConversationsFromServer(),new Z.Notice("Conversations synced from server")}catch(i){let t=i instanceof Error?i.message:String(i);new Z.Notice(`Sync failed: ${t}`)}finally{this.isConversationOperationLoading=!1,this.updateConversationSelector()}}showTodoList(){this.isTodoListVisible=!this.isTodoListVisible,this.renderView()}toggleView(){this.isTodoListVisible=!this.isTodoListVisible,this.renderView()}async revertToMessage(n){if(!this.sessionManager){new Z.Notice("Session manager not available");return}let i=this.conversationManager.getActiveConversation();if(!i||!i.sessionId){new Z.Notice("No active session to revert");return}try{await this.sessionManager.revertSession(i.sessionId,n.id);let t=i.messages.findIndex(o=>o.id===n.id);if(t!==-1)for(let o=t+1;o{i.isReverted=!1}),await this.conversationManager.saveConversations(),this.updateMessages(),new Z.Notice("Session unreverted successfully")}catch(i){let t=i instanceof Error?i.message:String(i);new Z.Notice(`Failed to unrevert session: ${t}`)}}async forkConversation(n,i){if(!this.conversationManager){new Z.Notice("Conversation manager not available");return}try{await this.conversationManager.forkConversation(n,i)}catch(t){new Z.Notice("Failed to fork session. Please try again.")}}async ensureCommandSuggestions(){if(this.plugin.opencodeClient&&!(this.commandSuggestionsLoading||this.commandSuggestions.length>0)){this.commandSuggestionsLoading=!0;try{this.commandSuggestions=await this.plugin.opencodeClient.listCommands(),this.inputAreaComponent.setCommandSuggestions(this.commandSuggestions)}catch(n){this.plugin.errorHandler.handleError(n,{module:"OpenCodeObsidianView",function:"ensureCommandSuggestions",operation:"Loading command suggestions"},"warning")}finally{this.commandSuggestionsLoading=!1,this.inputAreaComponent.setCommandSuggestionsLoading(!1)}}}parseSlashCommand(n){return _d(n)}findTargetConversation(n,i=!1){let t=this.conversationManager.findConversationBySessionId(n)||this.conversationManager.getActiveConversation();return t?i&&t.sessionId!==n?(console.debug("[OpenCodeObsidianView] Ignoring event for mismatched sessionId:",n),null):t:null}registerEventBusCallbacks(){for(let i of this.eventUnsubscribers)try{i()}catch(t){}this.eventUnsubscribers=[],this.plugin.opencodeClient&&this.eventUnsubscribers.push(this.plugin.opencodeClient.onHealthStatusChange(i=>{this.lastHealthCheckResult=i,this.updateHeader(),console.debug("[OpenCodeObsidianView] Health status updated:",i)}));let n=this.plugin.sessionEventBus;this.eventUnsubscribers.push(n.onStreamToken(({sessionId:i,token:t,done:o})=>{let s=this.findTargetConversation(i,!0);if(!s)return;let c=s.messages[s.messages.length-1];if(c&&c.role==="assistant"){let l=c.content;if(!l&&s.messages.length>=2){let u=s.messages[s.messages.length-2];if(u&&u.role==="user"&&t===u.content)return}if(t===l)return;l&&t.startsWith(l)?c.content=t:c.content+=t,this.updateMessageContent(c.id,c.content)}if(o){this.updateMessages();let l=this.conversationManager.getActiveConversation();l&&l.sessionId===i&&(this.isStreaming=!1,this.updateStreamingStatus(!1)),s.updatedAt=Date.now(),this.conversationManager.saveConversations()}})),this.eventUnsubscribers.push(n.onStreamThinking(({sessionId:i,content:t})=>{let o=this.findTargetConversation(i,!0);if(!o)return;let s=o.messages[o.messages.length-1];s&&s.role==="assistant"&&this.messageSender.handleResponseChunk({type:"thinking",content:t},s)})),this.eventUnsubscribers.push(n.onError(({error:i})=>{let t=i,o=t.sessionId?this.findTargetConversation(t.sessionId):this.conversationManager.getActiveConversation();if(!o)return;let s=o.messages[o.messages.length-1];s&&s.role==="assistant"&&(s.content=`Error: ${i.message}`,this.updateMessages()),new Z.Notice(i.message),this.conversationManager.getActiveConversation()===o&&(this.isStreaming=!1,this.updateStreamingStatus(!1))})),this.eventUnsubscribers.push(n.onProgressUpdate(({sessionId:i,progress:t})=>{let o=this.findTargetConversation(i,!0);if(!o)return;let s=o.messages[o.messages.length-1];s&&s.role==="assistant"&&this.messageSender.handleResponseChunk({type:"progress",message:t.message,stage:t.stage,progress:t.progress},s)})),this.eventUnsubscribers.push(n.onSessionEnd(({sessionId:i,reason:t})=>{let o=this.conversationManager.findConversationBySessionId(i);o&&o.sessionId===i&&(o.sessionId=null);let s=this.conversationManager.getActiveConversation();s&&s.sessionId===i&&(this.isStreaming=!1,this.updateStreamingStatus(!1)),t==="error"&&new Z.Notice("Session ended due to error")}))}updateMessageContent(n,i){let t=this.containerEl.querySelector(`[data-message-id="${n}"]`),o=t==null?void 0:t.querySelector(".opencode-obsidian-message-content");if(!o){this.updateMessages();return}q(o),this.messageRendererComponent.renderMessageContent(o,i);let s=this.containerEl.querySelector(".opencode-obsidian-messages");s&&requestAnimationFrame(()=>{s.scrollTop=s.scrollHeight})}async exportConversation(n){let i=this.conversations.find(t=>t.id===n);if(!i){new Z.Notice("Conversation not found");return}try{let t=[];t.push(`# ${i.title}`),t.push(""),t.push(`**Created:** ${new Date(i.createdAt).toLocaleString()}`),t.push(`**Last Updated:** ${new Date(i.updatedAt).toLocaleString()}`),i.sessionId&&t.push(`**Session ID:** ${i.sessionId}`),t.push(""),t.push("---"),t.push(""),t.push("## Messages"),t.push("");for(let d of i.messages){let a=new Date(d.timestamp).toLocaleString();if(t.push(`### ${d.role==="user"?"User":"Assistant"} - ${a}`),t.push(""),t.push(d.content),t.push(""),d.images&&d.images.length>0)for(let p of d.images)t.push(`![${p.name||"Image"}](${p.data.substring(0,50)}...)`),t.push("")}let o=t.join(` -`),s=wd(i.title),c=xd(),u=`Exports/${`${s}-${c}.md`}`;await this.app.vault.createFolder("Exports").catch(()=>{}),await this.app.vault.create(u,o),new Z.Notice(`Conversation exported to ${u}`)}catch(t){this.plugin.errorHandler.handleError(t,{module:"OpenCodeObsidianView",function:"exportConversation",operation:"Exporting conversation"},"warning");let o=t instanceof Error?t.message:"Unknown error";new Z.Notice(`Failed to export conversation: ${o}`)}}async viewSessionDiff(n){var i;try{let t=new Z.Notice("Loading session changes...",0),o=await((i=this.plugin.opencodeClient)==null?void 0:i.getSessionDiff(n));if(t.hide(),!o){new Z.Notice("Failed to load session changes: Client not available");return}new ur(this.app,o).open()}catch(t){this.plugin.errorHandler.handleError(t,{module:"OpenCodeObsidianView",function:"viewSessionDiff",operation:"Viewing session diff",metadata:{sessionId:n}},"warning");let o=t instanceof Error?t.message:"Unknown error";new Z.Notice(`Failed to load session changes: ${o}`)}}showAttachmentModal(){new lr(this.app,n=>{(async()=>{try{this.conversationManager.getActiveConversation()||await this.conversationManager.createNewConversation();let t="05_Attachments",s=`${Date.now()}-${n.name}`,c=`${t}/${s}`;await this.app.vault.adapter.exists(t)||await this.app.vault.createFolder(t);let u=await n.arrayBuffer();await this.app.vault.createBinary(c,u);let d=this.app.vault.adapter.basePath,a=d?`${d}/${c}`:c,p=this.conversationManager.getActiveConversation();p&&(p.pendingImagePath=a),new Z.Notice(`Image attached: ${n.name}`)}catch(i){this.plugin.errorHandler.handleError(i,{module:"OpenCodeObsidianView",function:"handleFileInput",operation:"Saving image"},"warning");let t=i instanceof Error?i.message:"Unknown error";new Z.Notice(`Failed to save image: ${t}`)}})()}).open()}getOrCreateIndicator(n,i){let t=this.containerEl.querySelector(n);if(!t){let o=this.containerEl.querySelector(i);o&&(t=o.createDiv(n.replace(".","")))}return t}showThinkingIndicator(n){console.debug("AI is thinking:",n);let i=this.getOrCreateIndicator(".opencode-obsidian-thinking-indicator",".opencode-obsidian-messages");i&&(i.textContent=`\u{1F4AD} ${n||"Thinking..."}`,N(i,{display:"block"}),setTimeout(()=>{N(i,{display:"none"})},3e3))}showBlockedIndicator(n){let i=this.getOrCreateIndicator(".opencode-obsidian-blocked-indicator",".opencode-obsidian-header");i&&(i.textContent=`\u{1F512} ${n}`,N(i,{display:"block"}))}showUsageInfo(n){let i=`${n.model}: ${n.inputTokens} tokens`;console.debug("Usage:",i)}showToolUse(n){console.debug("Tool use:",n),new Z.Notice(`Using tool: ${n.name}`)}showToolResult(n){console.debug("Tool result:",n),n.isError&&new Z.Notice(`Tool error: ${n.content}`)}async loadScrollPositions(){try{let n=await this.plugin.loadData();this.scrollPositions=(n==null?void 0:n.scrollPositions)||{}}catch(n){this.plugin.errorHandler.handleError(n,{module:"OpenCodeObsidianView",function:"loadScrollPositions",operation:"Loading scroll positions"},"warning")}}async saveScrollPosition(n,i){try{this.scrollPositions[n]=i;let o={...await this.plugin.loadData()||{},scrollPositions:this.scrollPositions};await this.plugin.saveData(o)}catch(t){this.plugin.errorHandler.handleError(t,{module:"OpenCodeObsidianView",function:"saveScrollPosition",operation:"Saving scroll position"},"warning")}}attachScrollListener(){let n=this.containerEl.querySelector(".opencode-obsidian-messages");n&&n.addEventListener("scroll",()=>{this.activeConversationId&&this.debouncedSaveScrollPosition(this.activeConversationId,n.scrollTop)})}async createNewConversation(){await this.conversationManager.createNewConversation()}};var R=require("obsidian");function Pd(r,e){let n=null,i=null,t=null,o=null;return function(...c){return n!==null&&(clearTimeout(n),n=null),i||(i=new Promise((l,u)=>{t=l,o=u})),n=setTimeout(async()=>{try{let l=await r(...c);t&&t(l)}catch(l){o&&o(l)}finally{n=null,i=null,t=null,o=null}},e),i}}function Do(r){return r.replace(/\\/g,"/").replace(/^\/+/,"").replace(/\/+$/,"")}function vr(r,e,n){let i=r.trim(),t=i==="0"?0:parseInt(i,10);return isNaN(t)||n!==void 0&&te.trim()).filter(e=>e.length>0)}function Td(r){return r.split(",").map(e=>e.trim()).filter(e=>e.length>0)}function zd(r){return r.startsWith(".")?r:`.${r}`}function Od(r,e){return r.classList.contains(e)}function Ao(r){let e=document.createElement("textarea");return r!=null&&r.className&&(e.className=r.className),r!=null&&r.placeholder&&(e.placeholder=r.placeholder),r!=null&&r.rows&&(e.rows=r.rows),r!=null&&r.value&&(e.value=r.value),r!=null&&r.onChange&&(e.onchange=()=>{var n;return(n=r.onChange)==null?void 0:n.call(r,e.value)}),e}var Er=class extends R.PluginSettingTab{constructor(e,n){super(e,n),this.plugin=n}ensureServerConfig(){return this.plugin.settings.opencodeServer||(this.plugin.settings.opencodeServer={url:"",requestTimeoutMs:1e4,autoReconnect:!0,reconnectDelay:3e3,reconnectMaxAttempts:10,useEmbeddedServer:!1,opencodePath:"opencode",embeddedServerPort:4096}),this.plugin.settings.opencodeServer}display(){let{containerEl:e}=this;e.empty(),e.createEl("p",{text:"Configure your OpenCode Obsidian plugin settings. Changes are saved automatically.",cls:"setting-item-description"}),this.renderServerConfiguration(e),this.renderAgentConfiguration(e),this.renderToolPermissions(e),this.renderAdvancedSettings(e)}renderServerConfiguration(e){var t;new R.Setting(e).setName("OpenCode Server").setHeading(),e.createEl("p",{text:"Configure connection to OpenCode Server. Providers and API keys are managed on the server side.",cls:"setting-item-description"});let n=this.ensureServerConfig(),i=(t=n.useEmbeddedServer)!=null?t:!1;if(new R.Setting(e).setName("Use embedded server").setDesc("Run OpenCode Server directly within Obsidian (experimental)").addToggle(o=>{o.setValue(i).onChange(async s=>{n.useEmbeddedServer=s,await this.plugin.saveSettings(),this.display()})}),i){let o=new R.Setting(e);o.setName("Server Status");let s=o.controlEl.createDiv("opencode-server-status"),c=()=>{if(s.empty(),this.plugin.serverManager){let l=this.plugin.serverManager.getState(),u=s.createEl("span",{text:l.charAt(0).toUpperCase()+l.slice(1),cls:`opencode-server-status-${l}`});if(l==="error"){let a=this.plugin.serverManager.getLastError();a&&s.createEl("span",{text:` - ${a.message}`,cls:"opencode-server-status-error-message"})}let d=s.createDiv("opencode-server-control-buttons");if(l==="running"){let a=d.createEl("button",{text:"Stop",cls:"mod-danger"});a.onclick=async()=>{var p;a.disabled=!0,a.textContent="Stopping...",(p=this.plugin.serverManager)==null||p.stop(),await this.plugin.saveSettings(),this.display()}}else if(l==="stopped"||l==="error"){let a=d.createEl("button",{text:"Start",cls:"mod-cta"});a.onclick=async()=>{a.disabled=!0,a.textContent="Starting...",this.plugin.serverManager?await this.plugin.serverManager.start():this.plugin.serverManager=await Promise.resolve().then(()=>(mn(),yr)).then(p=>p.ServerManager.initializeFromConfig(n,this.plugin.errorHandler,m=>this.plugin.handleServerStateChange(m),async m=>{n.url=m,await this.plugin.saveSettings()})),await this.plugin.saveSettings(),this.display()}}}else{s.createEl("span",{text:"Not initialized",cls:"opencode-server-status-stopped"});let l=s.createEl("button",{text:"Initialize",cls:"mod-cta"});l.onclick=async()=>{l.disabled=!0,l.textContent="Initializing...",this.plugin.serverManager=await Promise.resolve().then(()=>(mn(),yr)).then(u=>u.ServerManager.initializeFromConfig(n,this.plugin.errorHandler,d=>this.plugin.handleServerStateChange(d),async d=>{n.url=d,await this.plugin.saveSettings()})),await this.plugin.saveSettings(),this.display()}}};c(),o.addExtraButton(l=>{l.setIcon("refresh-cw").setTooltip("Refresh server status").onClick(()=>{c()})}),new R.Setting(e).setName("OpenCode executable path").setDesc("Path to the opencode executable (e.g., /usr/local/bin/opencode or C:\\Program Files\\OpenCode\\opencode.exe)").addText(l=>{l.setPlaceholder("opencode").setValue(n.opencodePath||"opencode"),l.onChange(async u=>{n.opencodePath=u.trim()||"opencode",await this.plugin.debouncedSaveSettings()})}),new R.Setting(e).setName("Embedded server port").setDesc("Port to run the embedded OpenCode Server on").addText(l=>{l.setPlaceholder("4096").setValue((n.embeddedServerPort||4096).toString()),l.inputEl.type="number",l.inputEl.min="1024",l.inputEl.max="65535",l.onChange(async u=>{let d=parseInt(u.trim(),10);n.embeddedServerPort=isNaN(d)||d<1024||d>65535?4096:d,await this.plugin.debouncedSaveSettings()})})}else new R.Setting(e).setName("Server URL").setDesc("HTTP URL for OpenCode Server (e.g., http://127.0.0.1:4096 or https://opencode.example.com)").addText(o=>{var s;o.setPlaceholder("http://127.0.0.1:4096").setValue(((s=this.plugin.settings.opencodeServer)==null?void 0:s.url)||"").inputEl.classList.add("opencode-setting-url"),o.onChange(async c=>{let l=c.trim(),u=this.ensureServerConfig();u.url=l,l&&!this.isValidHttpUrl(l)?o.inputEl.classList.add("mod-invalid"):o.inputEl.classList.remove("mod-invalid"),await this.plugin.debouncedSaveSettings()})}).addButton(o=>{o.setButtonText("Test connection").setTooltip("Test connection to the OpenCode server").onClick(async()=>{var l;o.setDisabled(!0),o.setButtonText("Testing...");let s=this.ensureServerConfig(),c=s.url.trim();if(!c){new R.Notice("Please enter a server address"),o.setDisabled(!1),o.setButtonText("Test connection");return}if(!this.isValidHttpUrl(c)){new R.Notice("Invalid HTTP URL"),o.setDisabled(!1),o.setButtonText("Test connection");return}try{let u=this.plugin.opencodeClient,d=(l=u==null?void 0:u.getConfig())==null?void 0:l.url,a=d?Do(d):"",p=Do(c);if(!u||a!==p){let{OpenCodeServerClient:h}=await Promise.resolve().then(()=>(us(),rp));u=new h(s,this.plugin.errorHandler)}await u.healthCheck()?new R.Notice("Connection successful"):new R.Notice("Connection failed: Server health check failed")}catch(u){console.error("[OpenCodeSettings] Connection test failed:",u);let d=u instanceof Error?u.message:String(u);new R.Notice(`Connection failed: ${d}`)}finally{o.setDisabled(!1),o.setButtonText("Test connection")}})})}renderAgentConfiguration(e){new R.Setting(e).setName("Agent configuration").setHeading(),e.createEl("p",{text:"Select the default agent to use for conversations. Custom agents can be loaded from .opencode/agent/ directory.",cls:"setting-item-description"});let n=new R.Setting(e).setName("Default agent").setDesc(this.getAgentDescription());n.addDropdown(i=>{var l;let t=[{id:"assistant",name:"Assistant"},{id:"bootstrap",name:"Bootstrap"},{id:"thinking-partner",name:"Thinking Partner"},{id:"research-assistant",name:"Research Assistant"},{id:"read-only",name:"Read Only"}],o=((l=this.plugin.settings.agents)==null?void 0:l.filter(u=>!u.hidden))||[],s=o.length>0?o:t;s.forEach(u=>{let d=u.name;if("description"in u&&u.description){let a=typeof u.description=="string"?u.description:JSON.stringify(u.description);d=`${u.name} - ${a}`}i.addOption(u.id,d)});let c=this.plugin.settings.agent;s.some(u=>u.id===c)?i.setValue(c):s.length>0&&s[0]&&(i.setValue(s[0].id),this.plugin.settings.agent=s[0].id,this.plugin.saveSettings()),i.onChange(async u=>{this.plugin.settings.agent=u,await this.plugin.debouncedSaveSettings(),n.setDesc(this.getAgentDescription())})}),n.addButton(i=>{i.setButtonText("Refresh agents").setTooltip("Fetch latest agents from server").onClick(async()=>{i.setDisabled(!0),i.setButtonText("Refreshing...");try{if(!this.plugin.opencodeClient){new R.Notice("OpenCode Server client not configured");return}let t=await this.plugin.opencodeClient.listAgents();this.plugin.settings.agents=t,await this.plugin.saveSettings(),this.display(),new R.Notice("Agents refreshed successfully")}catch(t){let o=t instanceof Error?t.message:"Unknown error";new R.Notice(`Failed to refresh agents: ${o}`)}finally{i.setDisabled(!1),i.setButtonText("Refresh agents")}})})}renderToolPermissions(e){new R.Setting(e).setName("Tool permissions").setHeading(),e.createEl("p",{text:"Configure tool execution permissions for safety. Scoped write allows fine-grained control over file operations.",cls:"setting-item-description"});let n=new R.Setting(e).setName("Permission level").setDesc(this.getPermissionLevelDescription());n.addDropdown(t=>{t.addOption("read-only","Read-only (safest)").addOption("scoped-write","Scoped write (recommended)").addOption("full-write","Full write (advanced)").setValue(this.plugin.settings.toolPermission||"read-only").onChange(async o=>{if(this.plugin.settings.toolPermission=o,await this.plugin.saveSettings(),n.setDesc(this.getPermissionLevelDescription()),o==="read-only")this.plugin.settings.permissionScope=void 0;else if(o==="scoped-write"&&!this.plugin.settings.permissionScope){let s=this.app.vault.configDir;this.plugin.settings.permissionScope={allowedPaths:void 0,deniedPaths:[`**/${s}/**`,"**/.git/**","**/node_modules/**"],maxFileSize:10485760,allowedExtensions:[".md",".txt",".json",".yaml",".yml"]}}this.display(),new R.Notice("Tool permission level updated")})}),(this.plugin.settings.toolPermission==="scoped-write"||this.plugin.settings.toolPermission==="full-write")&&this.renderPermissionScope(e)}renderPermissionScope(e){var d,a;let n=this.plugin.settings.permissionScope||{},i=new R.Setting(e).setName("Allowed paths").setDesc("Glob patterns for allowed paths (e.g., notes/**, docs/*.md). Leave empty to allow all paths (subject to denied paths). One pattern per line."),t=Ao({className:"opencode-setting-textarea",placeholder:`notes/** -docs/*.md`,rows:3,value:((d=n.allowedPaths)==null?void 0:d.join(` -`))||"",onChange:async p=>{this.plugin.settings.permissionScope||(this.plugin.settings.permissionScope={});let m=Mo(p);this.plugin.settings.permissionScope.allowedPaths=m.length>0?m:void 0,await this.plugin.debouncedSaveSettings()}});i.controlEl.appendChild(t);let o=new R.Setting(e).setName("Denied paths"),s=this.app.vault.configDir;o.setDesc(`Glob patterns for denied paths (checked first, always denied). Example: **/${s}/**, **/.git/**. One pattern per line.`);let c=Ao({className:"opencode-setting-textarea",placeholder:`**/${s}/** -**/.git/** -**/node_modules/**`,rows:3,value:((a=n.deniedPaths)==null?void 0:a.join(` -`))||"",onChange:async p=>{this.plugin.settings.permissionScope||(this.plugin.settings.permissionScope={});let m=Mo(p);this.plugin.settings.permissionScope.deniedPaths=m.length>0?m:void 0,await this.plugin.debouncedSaveSettings()}});o.controlEl.appendChild(c);let l=new R.Setting(e);l.setName("Maximum file size"),l.setDesc("Maximum file size in bytes (e.g., 10485760 for 10MB). Leave empty for no limit."),l.addText(p=>{let m=n.maxFileSize;p.setPlaceholder("10485760 (10MB)").setValue(m?m.toString():""),p.inputEl.type="number",p.inputEl.min="1",p.onChange(async h=>{this.plugin.settings.permissionScope||(this.plugin.settings.permissionScope={});let g=parseInt(h.trim(),10);this.plugin.settings.permissionScope.maxFileSize=h.trim()&&!isNaN(g)&&g>0?g:void 0,await this.plugin.debouncedSaveSettings()})}),l.addExtraButton(p=>{p.setIcon("help").setTooltip("Common sizes: 1024 (1KB), 1048576 (1MB), 10485760 (10MB), 104857600 (100MB)").onClick(()=>{new R.Notice("1KB=1024, 1MB=1048576, 10MB=10485760, 100MB=104857600")})});let u=new R.Setting(e);u.setName("Allowed file extensions"),u.setDesc("Comma-separated list of allowed file extensions (e.g., .md, .txt, .json). Leave empty to allow all extensions."),u.addText(p=>{var m;p.setPlaceholder(".md, .txt, .json, .yaml").setValue(((m=n.allowedExtensions)==null?void 0:m.join(", "))||""),p.onChange(async h=>{this.plugin.settings.permissionScope||(this.plugin.settings.permissionScope={});let g=Td(h).map(zd);this.plugin.settings.permissionScope.allowedExtensions=g.length>0?g:void 0,await this.plugin.debouncedSaveSettings()})}),u.addExtraButton(p=>{p.setIcon("reset").setTooltip("Reset to default").onClick(()=>{this.plugin.settings.permissionScope&&(this.plugin.settings.permissionScope.allowedExtensions=void 0,this.display(),this.plugin.saveSettings())})})}renderAdvancedSettings(e){let n=e.createDiv("opencode-settings-advanced"),i=n.createDiv("opencode-settings-advanced-header");new R.Setting(i).setName("Advanced").setHeading();let t=i.createEl("button",{text:"Show",cls:"mod-cta"}),o=n.createDiv("opencode-settings-advanced-content");o.addClass("hidden"),t.onclick=()=>{let s=!Od(o,"hidden");s?o.addClass("hidden"):o.removeClass("hidden"),t.textContent=s?"Show":"Hide"},this.renderReconnectionSettings(o),new R.Setting(o).setName("Reset to defaults").setDesc("Reset all settings to default values. This cannot be undone.").addButton(s=>{s.setButtonText("Reset").setWarning().onClick(()=>{new R.Notice("Reset functionality coming soon")})})}renderReconnectionSettings(e){new R.Setting(e).setName("Reconnection").setHeading(),e.createEl("p",{text:"Configure automatic reconnection behavior when connection to OpenCode Server is lost.",cls:"setting-item-description"}),new R.Setting(e).setName("Auto reconnect").setDesc("Automatically attempt to reconnect when connection is lost").addToggle(n=>{var i,t;n.setValue((t=(i=this.plugin.settings.opencodeServer)==null?void 0:i.autoReconnect)!=null?t:!0).onChange(async o=>{let s=this.ensureServerConfig();s.autoReconnect=o,await this.plugin.saveSettings()})}),new R.Setting(e).setName("Reconnect delay").setDesc("Delay between reconnection attempts in milliseconds (default: 3000ms, with exponential backoff)").addText(n=>{var t,o;let i=(o=(t=this.plugin.settings.opencodeServer)==null?void 0:t.reconnectDelay)!=null?o:3e3;n.setPlaceholder("3000").setValue(i.toString()),n.inputEl.type="number",n.inputEl.min="1000",n.onChange(async s=>{let c=this.ensureServerConfig();c.reconnectDelay=vr(s,3e3,1e3),await this.plugin.debouncedSaveSettings()})}),new R.Setting(e).setName("Max reconnect attempts").setDesc("Maximum number of reconnection attempts (0 = unlimited, default: 10)").addText(n=>{var t,o;let i=(o=(t=this.plugin.settings.opencodeServer)==null?void 0:t.reconnectMaxAttempts)!=null?o:10;n.setPlaceholder("10").setValue(i===0?"0":i.toString()),n.inputEl.type="number",n.inputEl.min="0",n.onChange(async s=>{let c=this.ensureServerConfig();c.reconnectMaxAttempts=vr(s,10,0),await this.plugin.debouncedSaveSettings()})}),new R.Setting(e).setName("Request timeout").setDesc("Maximum time to wait for HTTP requests in milliseconds (0 = no timeout, default: 10000)").addText(n=>{var t,o;let i=(o=(t=this.plugin.settings.opencodeServer)==null?void 0:t.requestTimeoutMs)!=null?o:1e4;n.setPlaceholder("10000").setValue(i.toString()),n.inputEl.type="number",n.inputEl.min="0",n.onChange(async s=>{let c=this.ensureServerConfig();c.requestTimeoutMs=vr(s,1e4,0),await this.plugin.debouncedSaveSettings()})})}isValidHttpUrl(e){try{let n=new URL(e);return n.protocol==="http:"||n.protocol==="https:"}catch(n){return!1}}getAgentDescription(){var n;let e=((n=this.plugin.settings.agents)==null?void 0:n.filter(i=>!i.hidden).length)||0;return e>0?`The default agent to use for conversations. ${e} custom agent(s) loaded from .opencode/agent/ directory.`:"The default agent to use for conversations. Create custom agents in .opencode/agent/ directory."}getPermissionLevelDescription(){switch(this.plugin.settings.toolPermission||"read-only"){case"read-only":return"Tools can only read files. No write, create, modify, or delete operations are allowed. (Safest option)";case"scoped-write":return"Tools can write to files within specified paths. Configure allowed/denied paths, file size limits, and extensions below. (Recommended)";case"full-write":return"Tools can write to all files (with minimal safety restrictions). Use with caution. (Advanced users only)";default:return"Control what tools can do."}}};var ip={DEBOUNCE_DELAY:500,PAGINATION_THRESHOLD:50,MAX_NOTIFICATION_LENGTH:200,MODEL_FETCH_THROTTLE_DELAY:2e3,MODEL_FETCH_CACHE_DURATION:3e4};se();us();se();var Ir=class{constructor(e,n){this.state="disconnected";this.lastError=null;this.lastReconnectAttempt=null;this.qualityMetrics={latency:0,reconnectCount:0,connectedDuration:0,lastPingTime:0};this.connectionStartTime=null;this.stateListeners=[];this.client=e,this.errorHandler=n,this.state=e.getConnectionState(),this.lastError=e.getLastConnectionError(),this.client.onConnectionStateChange((i,t)=>{var o;this.state=i,this.lastError=(o=t==null?void 0:t.error)!=null?o:e.getLastConnectionError(),i==="connected"?this.connectionStartTime=Date.now():(i==="disconnected"||i==="error")&&(this.connectionStartTime=null),this.notify()}),this.client.onReconnectAttempt(i=>{this.lastReconnectAttempt=i,this.qualityMetrics.reconnectCount++,this.notify()})}getDiagnostics(){return{state:this.state,lastError:this.lastError,lastReconnectAttempt:this.lastReconnectAttempt,qualityMetrics:this.getQualityMetrics()}}getQualityMetrics(){return this.connectionStartTime&&this.state==="connected"&&(this.qualityMetrics.connectedDuration=Math.floor((Date.now()-this.connectionStartTime)/1e3)),{...this.qualityMetrics}}async measureLatency(){let e=Date.now();try{await this.client.healthCheck();let n=Date.now()-e;return this.qualityMetrics.latency=n,this.qualityMetrics.lastPingTime=Date.now(),n}catch(n){return this.errorHandler.handleError(n,{module:"ConnectionManager",function:"measureLatency"},"warning"),-1}}onDiagnosticsChange(e){return this.stateListeners.push(e),e(this.getDiagnostics()),()=>{this.stateListeners=this.stateListeners.filter(n=>n!==e)}}notify(){let e=this.getDiagnostics();for(let n of this.stateListeners)try{n(e)}catch(i){this.errorHandler.handleError(i,{module:"ConnectionManager",function:"notify",operation:"Notifying listeners",metadata:{state:e.state}},"warning")}}async connect(){await this.client.connect()}async disconnect(){await this.client.disconnect()}async retry(){this.state==="connected"||this.state==="connecting"||await this.client.connect()}async ensureConnected(e=1e4){this.state!=="connected"&&(await this.client.connect(),await this.waitForConnected(e))}waitForConnected(e){var n;return this.state==="connected"?Promise.resolve():this.state==="error"?Promise.reject((n=this.lastError)!=null?n:new Error("OpenCode Server connection failed.")):new Promise((i,t)=>{let o=!1,s=null,c=this.onDiagnosticsChange(l=>{var u;if(!o){if(l.state==="connected"){o=!0,s&&clearTimeout(s),c(),i();return}l.state==="error"&&(o=!0,s&&clearTimeout(s),c(),t((u=l.lastError)!=null?u:new Error("OpenCode Server connection failed.")))}});e>0&&(s=setTimeout(()=>{o||(o=!0,c(),t(new Error(`OpenCode Server connection timed out after ${e}ms.`)))},e))})}};se();var Pr=require("obsidian"),Tt=class extends Pr.Modal{constructor(n,i,t){super(n);this.timeoutSeconds=60;this.countdownInterval=null;this.countdownEl=null;this.responseHandled=!1;this.request=i,this.onResponse=t}onOpen(){let{contentEl:n}=this;n.empty();let i=n.createDiv("opencode-obsidian-permission-title");i.createEl("h2",{text:"Permission request"}),this.countdownEl=i.createEl("span",{text:` (${this.timeoutSeconds}s)`,cls:"opencode-obsidian-permission-countdown"}),this.startCountdown();let t=n.createDiv("opencode-obsidian-permission-tool-info");t.createEl("p",{text:`Tool: ${this.request.toolName}`}),this.request.args&&typeof this.request.args=="object"&&"path"in this.request.args&&t.createEl("p",{text:`File: ${this.request.args.path}`}),this.request.toolName==="obsidian.update_note"?this.renderUpdateNotePreview(n):this.request.preview&&this.renderGenericPreview(n);let o=n.createDiv("opencode-obsidian-permission-buttons");new Pr.Setting(o).addButton(s=>s.setButtonText("Deny").setWarning().onClick(()=>{this.responseHandled=!0,this.onResponse(!1,"User denied permission"),this.close()})).addButton(s=>s.setButtonText("Approve").setCta().onClick(()=>{this.responseHandled=!0,this.onResponse(!0),this.close()}))}startCountdown(){this.countdownInterval=setInterval(()=>{this.timeoutSeconds--,this.countdownEl&&(this.countdownEl.textContent=` (${this.timeoutSeconds}s)`),this.timeoutSeconds<=0&&this.stopCountdown()},1e3)}stopCountdown(){this.countdownInterval&&(clearInterval(this.countdownInterval),this.countdownInterval=null)}renderUpdateNotePreview(n){let i=this.request.args;if(!i){n.createEl("p",{text:"No preview available",cls:"mod-warning"});return}let t=n.createDiv("opencode-obsidian-permission-preview");if(i.mode){let s=t.createDiv("opencode-obsidian-permission-mode");s.createEl("strong",{text:"Update mode: "}),s.createEl("span",{text:i.mode})}if(this.request.preview){let s=t.createDiv("opencode-obsidian-permission-stats");i.mode==="replace"&&this.request.preview.removedLines!==void 0&&s.createEl("span",{text:`Removed: ${this.request.preview.removedLines} lines`}),this.request.preview.addedLines!==void 0&&(s.textContent&&s.appendText(" | "),s.createEl("span",{text:`Added: ${this.request.preview.addedLines} lines`}))}let o=t.createDiv("opencode-obsidian-permission-content");switch(i.mode){case"replace":this.renderReplacePreview(o,i);break;case"append":this.renderAppendPreview(o,i);break;case"prepend":this.renderPrependPreview(o,i);break;case"insert":this.renderInsertPreview(o,i);break;default:this.renderGenericPreview(o)}}renderReplacePreview(n,i){var l,u;let t=(l=this.request.preview)==null?void 0:l.originalContent,o=((u=this.request.preview)==null?void 0:u.newContent)||i.content;if(t){let d=n.createDiv("opencode-obsidian-permission-original");d.createEl("h4",{text:"Original content"}),d.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:t})}let s=n.createDiv("opencode-obsidian-permission-new");s.createEl("h4",{text:"New content"}),s.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:o})}renderAppendPreview(n,i){var c;let t=(c=this.request.preview)==null?void 0:c.originalContent;if(t){let l=n.createDiv("opencode-obsidian-permission-existing");l.createEl("h4",{text:"Existing content"}),l.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:t})}let o=n.createDiv("opencode-obsidian-permission-append");o.createEl("h4",{text:"Content to append"}),o.createEl("pre",{cls:"opencode-obsidian-code-preview opencode-obsidian-code-added"}).createEl("code",{text:i.content})}renderPrependPreview(n,i){var c;let t=n.createDiv("opencode-obsidian-permission-prepend");t.createEl("h4",{text:"Content to prepend"}),t.createEl("pre",{cls:"opencode-obsidian-code-preview opencode-obsidian-code-added"}).createEl("code",{text:i.content});let s=(c=this.request.preview)==null?void 0:c.originalContent;if(s){let l=n.createDiv("opencode-obsidian-permission-existing");l.createEl("h4",{text:"Existing content"}),l.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:s})}}renderInsertPreview(n,i){var c;let o=(((c=this.request.preview)==null?void 0:c.originalContent)||"").split(` -`),s=-1;if(i.insertAt!==void 0?s=Math.max(0,Math.min(o.length,i.insertAt-1)):i.insertMarker&&(s=o.findIndex(l=>l.includes(i.insertMarker)),s>=0&&(s+=1)),s>=0){let l=n.createDiv("opencode-obsidian-permission-before");l.createEl("h4",{text:"Before insertion point"}),l.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:o.slice(0,s).join(` -`)||"(start of file)"});let d=n.createDiv("opencode-obsidian-permission-insert");d.createEl("h4",{text:`Content to insert at line ${s+1}`}),d.createEl("pre",{cls:"opencode-obsidian-code-preview opencode-obsidian-code-added"}).createEl("code",{text:i.content});let p=n.createDiv("opencode-obsidian-permission-after");p.createEl("h4",{text:"After insertion point"}),p.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:o.slice(s).join(` -`)||"(end of file)"})}else n.createEl("p",{text:"Insertion point not found. Content to insert:",cls:"mod-warning"}),n.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:i.content})}renderGenericPreview(n){if(!this.request.preview){n.createEl("p",{text:"No preview available",cls:"mod-warning"});return}if(this.request.preview.originalContent){let o=n.createDiv("opencode-obsidian-permission-original");o.createEl("h4",{text:"Original"}),o.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:this.request.preview.originalContent})}let i=n.createDiv("opencode-obsidian-permission-new");i.createEl("h4",{text:"Modified"}),i.createEl("pre",{cls:"opencode-obsidian-code-preview"}).createEl("code",{text:this.request.preview.newContent})}onClose(){this.stopCountdown(),this.responseHandled||this.onResponse(!1,"Modal closed without response");let{contentEl:n}=this;n.empty()}};var op=6e4,Tr=class{constructor(e,n,i,t,o){this.client=e;this.eventBus=n;this.permissionManager=i;this.auditLogger=t;this.errorHandler=o;this.app=null;this.pendingRequests=new Map;this.currentModal=null;this.requestQueue=[];this.setupListeners()}setApp(e){this.app=e}setupListeners(){this.eventBus.onPermissionRequest(e=>{this.handleRequest(e)}),this.eventBus.onSessionEnd(e=>{this.cleanupSession(e.sessionId)})}async handleRequest(e){let{sessionId:n,requestId:i,operation:t,resourcePath:o,context:s}=e;try{await this.auditLogger.log({id:`perm_${Date.now()}_${Math.random().toString(36).slice(2,11)}`,timestamp:Date.now(),toolName:(s==null?void 0:s.toolName)||"server.operation",sessionId:n,callId:i,input:{operation:t,resourcePath:o,context:s},permissionLevel:this.permissionManager.getPermissionLevel(),requiredApproval:!0,dryRun:!1,isError:!1});let c=this.mapOperation(t),l=await this.permissionManager.validatePath(o,c);if(!l.allowed){await this.denyRequest(n,i,`Plugin denied: ${l.reason}`);return}await this.showModal(n,i,t,o,s)}catch(c){this.errorHandler.handleError(c,{module:"PermissionCoordinator",function:"handleRequest",metadata:{sessionId:n,requestId:i,operation:t,resourcePath:o}},"error"),await this.denyRequest(n,i,"Internal error")}}mapOperation(e){let n=e.toLowerCase();return n.includes("read")||n.includes("get")?"read":n.includes("create")?"create":n.includes("update")||n.includes("modify")?"modify":n.includes("delete")?"delete":"write"}async denyRequest(e,n,i){try{await this.client.respondToPermission(e,n,!1,i),await this.auditLogger.log({id:`perm_deny_${Date.now()}_${Math.random().toString(36).slice(2,11)}`,timestamp:Date.now(),toolName:"server.operation",sessionId:e,callId:n,input:{reason:i},output:{approved:!1,reason:i},permissionLevel:this.permissionManager.getPermissionLevel(),requiredApproval:!0,approved:!1,dryRun:!1,isError:!1})}catch(t){this.errorHandler.handleError(t,{module:"PermissionCoordinator",function:"denyRequest",metadata:{sessionId:e,requestId:n,reason:i}},"warning")}}async showModal(e,n,i,t,o){if(!this.app)throw new Error("App required for modal");if(this.currentModal){let l=setTimeout(()=>void this.handleTimeout(n),op);this.requestQueue.push({sessionId:e,requestId:n,operation:i,resourcePath:t,context:o,timeoutId:l});return}let s=setTimeout(()=>void this.handleTimeout(n),op);this.pendingRequests.set(n,{sessionId:e,requestId:n,operation:i,resourcePath:t,context:o,timeoutId:s});let c={sessionId:e,callId:n,toolName:(o==null?void 0:o.toolName)||i,args:{path:t,...o==null?void 0:o.args},preview:o==null?void 0:o.preview};this.currentModal=new Tt(this.app,c,async(l,u)=>{await this.handleUserResponse(n,l,u)}),this.currentModal.open()}async handleUserResponse(e,n,i){var o;let t=this.pendingRequests.get(e);if(t){clearTimeout(t.timeoutId),this.pendingRequests.delete(e),this.currentModal=null;try{await this.client.respondToPermission(t.sessionId,e,n,i),await this.auditLogger.log({id:`perm_resp_${Date.now()}_${Math.random().toString(36).slice(2,11)}`,timestamp:Date.now(),toolName:((o=t.context)==null?void 0:o.toolName)||"server.operation",sessionId:t.sessionId,callId:e,input:{operation:t.operation,resourcePath:t.resourcePath},output:{approved:n,reason:i},permissionLevel:this.permissionManager.getPermissionLevel(),requiredApproval:!0,approved:n,dryRun:!1,isError:!1})}catch(s){this.errorHandler.handleError(s,{module:"PermissionCoordinator",function:"handleUserResponse",metadata:{requestId:e,approved:n,reason:i}},"error")}await this.processNextQueued()}}async handleTimeout(e){let n=this.pendingRequests.get(e);n&&(this.pendingRequests.delete(e),this.currentModal&&(this.currentModal.close(),this.currentModal=null),await this.denyRequest(n.sessionId,e,"Request timed out"),await this.processNextQueued())}async processNextQueued(){let e=this.requestQueue.shift();e&&await this.showModal(e.sessionId,e.requestId,e.operation,e.resourcePath,e.context)}cleanupSession(e){for(let[n,i]of this.pendingRequests.entries())i.sessionId===e&&(clearTimeout(i.timeoutId),this.pendingRequests.delete(n),this.denyRequest(e,n,"Session ended"));this.requestQueue=this.requestQueue.filter(n=>n.sessionId!==e),this.currentModal&&(this.currentModal.close(),this.currentModal=null)}};se();async function ds(r,e,n,i,t,o,s,c){if(!r.url)return null;let l=new vn(r,e),u=new Ir(l,e);Gg(l,n);let d=new Tr(l,n,i,t,e);d.setApp(o);try{(await l.healthCheck()).isHealthy?(console.debug("[OpenCode Obsidian] Initial health check passed"),await Kg(l,e,s,c)):(e.handleError(new Error("Initial health check failed - server may be unavailable, using default agents"),{module:"ClientInitializer",function:"initializeClient"},"warning"),c&&s&&await s(c()))}catch(a){e.handleError(a,{module:"ClientInitializer",function:"initializeClient"},"warning"),c&&s&&await s(c())}return console.debug("[OpenCode Obsidian] OpenCode Server client initialized"),{client:l,connectionManager:u,permissionCoordinator:d}}async function sp(r,e,n,i,t,o,s,c,l){return r&&await r.disconnect(),await ds(e,n,i,t,o,s,c,l)}function Gg(r,e){r.onStreamToken((n,i,t)=>e.emitStreamToken({sessionId:n,token:i,done:t})),r.onStreamThinking((n,i)=>e.emitStreamThinking({sessionId:n,content:i})),r.onProgressUpdate((n,i)=>e.emitProgressUpdate({sessionId:n,progress:i})),r.onSessionEnd((n,i)=>e.emitSessionEnd({sessionId:n,reason:i})),r.onPermissionRequest((n,i,t,o,s)=>e.emitPermissionRequest({sessionId:n,requestId:i,operation:t,resourcePath:o,context:s})),r.onError(n=>e.emitError({error:n}))}async function Kg(r,e,n,i){try{let t=await r.listAgents();n&&await n(t)}catch(t){i&&n&&await n(i()),e.handleError(t,{module:"ClientInitializer",function:"loadAgents"},"warning")}}var E={};$e(E,{$brand:()=>zr,$input:()=>zc,$output:()=>Tc,NEVER:()=>ps,TimePrecision:()=>Ac,ZodAny:()=>ku,ZodArray:()=>Pu,ZodBase64:()=>io,ZodBase64URL:()=>oo,ZodBigInt:()=>sn,ZodBigIntFormat:()=>co,ZodBoolean:()=>on,ZodCIDRv4:()=>no,ZodCIDRv6:()=>ro,ZodCUID:()=>Gi,ZodCUID2:()=>Ki,ZodCatch:()=>Xu,ZodCodec:()=>vo,ZodCustom:()=>Jn,ZodCustomStringFormat:()=>nn,ZodDate:()=>Hn,ZodDefault:()=>qu,ZodDiscriminatedUnion:()=>zu,ZodE164:()=>so,ZodEmail:()=>Wi,ZodEmoji:()=>Bi,ZodEnum:()=>en,ZodError:()=>ky,ZodExactOptional:()=>Fu,ZodFile:()=>Ru,ZodFirstPartyTypeKind:()=>ld,ZodFunction:()=>sd,ZodGUID:()=>Nn,ZodIPv4:()=>eo,ZodIPv6:()=>to,ZodISODate:()=>Ri,ZodISODateTime:()=>ji,ZodISODuration:()=>Fi,ZodISOTime:()=>Zi,ZodIntersection:()=>Ou,ZodIssueCode:()=>Ey,ZodJWT:()=>ao,ZodKSUID:()=>Qi,ZodLazy:()=>rd,ZodLiteral:()=>ju,ZodMAC:()=>yu,ZodMap:()=>Uu,ZodNaN:()=>Qu,ZodNanoID:()=>Ji,ZodNever:()=>Eu,ZodNonOptional:()=>go,ZodNull:()=>wu,ZodNullable:()=>Vu,ZodNumber:()=>rn,ZodNumberFormat:()=>St,ZodObject:()=>qn,ZodOptional:()=>ho,ZodPipe:()=>fo,ZodPrefault:()=>Bu,ZodPromise:()=>od,ZodReadonly:()=>ed,ZodRealError:()=>Se,ZodRecord:()=>Bn,ZodSet:()=>Nu,ZodString:()=>tn,ZodStringFormat:()=>B,ZodSuccess:()=>Ku,ZodSymbol:()=>$u,ZodTemplateLiteral:()=>nd,ZodTransform:()=>Zu,ZodTuple:()=>Mu,ZodType:()=>L,ZodULID:()=>Xi,ZodURL:()=>Fn,ZodUUID:()=>Ue,ZodUndefined:()=>xu,ZodUnion:()=>Wn,ZodUnknown:()=>Cu,ZodVoid:()=>Iu,ZodXID:()=>Yi,ZodXor:()=>Tu,_ZodString:()=>qi,_default:()=>Wu,_function:()=>jh,any:()=>vh,array:()=>Vn,base64:()=>eh,base64url:()=>th,bigint:()=>ph,boolean:()=>Su,catch:()=>Yu,check:()=>Rh,cidrv4:()=>Ym,cidrv6:()=>Qm,clone:()=>pe,codec:()=>Lh,coerce:()=>yo,config:()=>Q,core:()=>Le,cuid:()=>Vm,cuid2:()=>qm,custom:()=>Zh,date:()=>bh,decode:()=>du,decodeAsync:()=>mu,describe:()=>Fh,discriminatedUnion:()=>kh,e164:()=>nh,email:()=>Mm,emoji:()=>Fm,encode:()=>uu,encodeAsync:()=>pu,endsWith:()=>qt,enum:()=>po,exactOptional:()=>Hu,file:()=>Oh,flattenError:()=>Cn,float32:()=>ch,float64:()=>lh,formatError:()=>En,fromJSONSchema:()=>Gh,function:()=>jh,getErrorMap:()=>Py,globalRegistry:()=>ce,gt:()=>Me,gte:()=>me,guid:()=>Am,hash:()=>ah,hex:()=>sh,hostname:()=>oh,httpUrl:()=>Zm,includes:()=>Ht,instanceof:()=>Vh,int:()=>Vi,int32:()=>uh,int64:()=>mh,intersection:()=>Du,ipv4:()=>Gm,ipv6:()=>Xm,iso:()=>yt,json:()=>Wh,jwt:()=>rh,keyof:()=>Sh,ksuid:()=>Jm,lazy:()=>id,length:()=>vt,literal:()=>zh,locales:()=>ht,looseObject:()=>wh,looseRecord:()=>Eh,lowercase:()=>Zt,lt:()=>De,lte:()=>_e,mac:()=>Km,map:()=>Ih,maxLength:()=>ft,maxSize:()=>Xe,meta:()=>Hh,mime:()=>Wt,minLength:()=>Ze,minSize:()=>Ae,multipleOf:()=>Ke,nan:()=>Ah,nanoid:()=>Hm,nativeEnum:()=>Th,negative:()=>Pi,never:()=>lo,nonnegative:()=>zi,nonoptional:()=>Gu,nonpositive:()=>Ti,normalize:()=>Bt,null:()=>_u,nullable:()=>Rn,nullish:()=>Dh,number:()=>bu,object:()=>$h,optional:()=>jn,overwrite:()=>Oe,parse:()=>su,parseAsync:()=>au,partialRecord:()=>Ch,pipe:()=>Zn,positive:()=>Ii,prefault:()=>Ju,preprocess:()=>Bh,prettifyError:()=>_s,promise:()=>Nh,property:()=>Oi,readonly:()=>td,record:()=>Lu,refine:()=>ad,regex:()=>Rt,regexes:()=>we,registry:()=>ai,safeDecode:()=>gu,safeDecodeAsync:()=>vu,safeEncode:()=>hu,safeEncodeAsync:()=>fu,safeParse:()=>cu,safeParseAsync:()=>lu,set:()=>Ph,setErrorMap:()=>Iy,size:()=>gt,slugify:()=>Xt,startsWith:()=>Vt,strictObject:()=>xh,string:()=>Hi,stringFormat:()=>ih,stringbool:()=>qh,success:()=>Mh,superRefine:()=>cd,symbol:()=>gh,templateLiteral:()=>Uh,toJSONSchema:()=>Li,toLowerCase:()=>Gt,toUpperCase:()=>Kt,transform:()=>mo,treeifyError:()=>ws,trim:()=>Jt,tuple:()=>Au,uint32:()=>dh,uint64:()=>hh,ulid:()=>Wm,undefined:()=>fh,union:()=>uo,unknown:()=>bt,uppercase:()=>Ft,url:()=>Rm,util:()=>k,uuid:()=>Lm,uuidv4:()=>Um,uuidv6:()=>Nm,uuidv7:()=>jm,void:()=>yh,xid:()=>Bm,xor:()=>_h});var Le={};$e(Le,{$ZodAny:()=>Ya,$ZodArray:()=>rc,$ZodAsyncError:()=>ze,$ZodBase64:()=>Fa,$ZodBase64URL:()=>Ha,$ZodBigInt:()=>ei,$ZodBigIntFormat:()=>Ja,$ZodBoolean:()=>zn,$ZodCIDRv4:()=>ja,$ZodCIDRv6:()=>Ra,$ZodCUID:()=>Ea,$ZodCUID2:()=>Ia,$ZodCatch:()=>$c,$ZodCheck:()=>J,$ZodCheckBigIntFormat:()=>ra,$ZodCheckEndsWith:()=>ga,$ZodCheckGreaterThan:()=>Br,$ZodCheckIncludes:()=>ma,$ZodCheckLengthEquals:()=>la,$ZodCheckLessThan:()=>Wr,$ZodCheckLowerCase:()=>da,$ZodCheckMaxLength:()=>aa,$ZodCheckMaxSize:()=>ia,$ZodCheckMimeType:()=>va,$ZodCheckMinLength:()=>ca,$ZodCheckMinSize:()=>oa,$ZodCheckMultipleOf:()=>ta,$ZodCheckNumberFormat:()=>na,$ZodCheckOverwrite:()=>ya,$ZodCheckProperty:()=>fa,$ZodCheckRegex:()=>ua,$ZodCheckSizeEquals:()=>sa,$ZodCheckStartsWith:()=>ha,$ZodCheckStringFormat:()=>Nt,$ZodCheckUpperCase:()=>pa,$ZodCodec:()=>Dn,$ZodCustom:()=>Pc,$ZodCustomStringFormat:()=>Wa,$ZodDate:()=>nc,$ZodDefault:()=>vc,$ZodDiscriminatedUnion:()=>sc,$ZodE164:()=>Va,$ZodEmail:()=>wa,$ZodEmoji:()=>ka,$ZodEncodeError:()=>qe,$ZodEnum:()=>dc,$ZodError:()=>kn,$ZodExactOptional:()=>gc,$ZodFile:()=>mc,$ZodFunction:()=>Cc,$ZodGUID:()=>$a,$ZodIPv4:()=>La,$ZodIPv6:()=>Ua,$ZodISODate:()=>Da,$ZodISODateTime:()=>Oa,$ZodISODuration:()=>Aa,$ZodISOTime:()=>Ma,$ZodIntersection:()=>ac,$ZodJWT:()=>qa,$ZodKSUID:()=>za,$ZodLazy:()=>Ic,$ZodLiteral:()=>pc,$ZodMAC:()=>Na,$ZodMap:()=>lc,$ZodNaN:()=>xc,$ZodNanoID:()=>Ca,$ZodNever:()=>ec,$ZodNonOptional:()=>bc,$ZodNull:()=>Xa,$ZodNullable:()=>fc,$ZodNumber:()=>Qr,$ZodNumberFormat:()=>Ba,$ZodObject:()=>Dp,$ZodObjectJIT:()=>ic,$ZodOptional:()=>ni,$ZodPipe:()=>wc,$ZodPrefault:()=>yc,$ZodPromise:()=>Ec,$ZodReadonly:()=>_c,$ZodRealError:()=>be,$ZodRecord:()=>cc,$ZodRegistry:()=>si,$ZodSet:()=>uc,$ZodString:()=>mt,$ZodStringFormat:()=>W,$ZodSuccess:()=>Sc,$ZodSymbol:()=>Ga,$ZodTemplateLiteral:()=>kc,$ZodTransform:()=>hc,$ZodTuple:()=>ti,$ZodType:()=>A,$ZodULID:()=>Pa,$ZodURL:()=>_a,$ZodUUID:()=>xa,$ZodUndefined:()=>Ka,$ZodUnion:()=>On,$ZodUnknown:()=>Qa,$ZodVoid:()=>tc,$ZodXID:()=>Ta,$ZodXor:()=>oc,$brand:()=>zr,$constructor:()=>f,$input:()=>zc,$output:()=>Tc,Doc:()=>Tn,JSONSchema:()=>tu,JSONSchemaGenerator:()=>Ui,NEVER:()=>ps,TimePrecision:()=>Ac,_any:()=>nl,_array:()=>ll,_base64:()=>_i,_base64url:()=>ki,_bigint:()=>Gc,_boolean:()=>Bc,_catch:()=>vy,_check:()=>Om,_cidrv4:()=>xi,_cidrv6:()=>wi,_coercedBigint:()=>Kc,_coercedBoolean:()=>Jc,_coercedDate:()=>al,_coercedNumber:()=>Zc,_coercedString:()=>Dc,_cuid:()=>gi,_cuid2:()=>fi,_custom:()=>dl,_date:()=>sl,_decode:()=>Ur,_decodeAsync:()=>jr,_default:()=>hy,_discriminatedUnion:()=>ny,_e164:()=>Ci,_email:()=>ci,_emoji:()=>mi,_encode:()=>Lr,_encodeAsync:()=>Nr,_endsWith:()=>qt,_enum:()=>cy,_file:()=>ul,_float32:()=>Hc,_float64:()=>Vc,_gt:()=>Me,_gte:()=>me,_guid:()=>An,_includes:()=>Ht,_int:()=>Fc,_int32:()=>qc,_int64:()=>Xc,_intersection:()=>ry,_ipv4:()=>Si,_ipv6:()=>$i,_isoDate:()=>Uc,_isoDateTime:()=>Lc,_isoDuration:()=>jc,_isoTime:()=>Nc,_jwt:()=>Ei,_ksuid:()=>bi,_lazy:()=>$y,_length:()=>vt,_literal:()=>uy,_lowercase:()=>Zt,_lt:()=>De,_lte:()=>_e,_mac:()=>Mc,_map:()=>sy,_max:()=>_e,_maxLength:()=>ft,_maxSize:()=>Xe,_mime:()=>Wt,_min:()=>me,_minLength:()=>Ze,_minSize:()=>Ae,_multipleOf:()=>Ke,_nan:()=>cl,_nanoid:()=>hi,_nativeEnum:()=>ly,_negative:()=>Pi,_never:()=>il,_nonnegative:()=>zi,_nonoptional:()=>gy,_nonpositive:()=>Ti,_normalize:()=>Bt,_null:()=>tl,_nullable:()=>my,_number:()=>Rc,_optional:()=>py,_overwrite:()=>Oe,_parse:()=>Mt,_parseAsync:()=>At,_pipe:()=>yy,_positive:()=>Ii,_promise:()=>xy,_property:()=>Oi,_readonly:()=>by,_record:()=>oy,_refine:()=>pl,_regex:()=>Rt,_safeDecode:()=>Zr,_safeDecodeAsync:()=>Hr,_safeEncode:()=>Rr,_safeEncodeAsync:()=>Fr,_safeParse:()=>Lt,_safeParseAsync:()=>Ut,_set:()=>ay,_size:()=>gt,_slugify:()=>Xt,_startsWith:()=>Vt,_string:()=>Oc,_stringFormat:()=>Yt,_stringbool:()=>fl,_success:()=>fy,_superRefine:()=>ml,_symbol:()=>Qc,_templateLiteral:()=>Sy,_toLowerCase:()=>Gt,_toUpperCase:()=>Kt,_transform:()=>dy,_trim:()=>Jt,_tuple:()=>iy,_uint32:()=>Wc,_uint64:()=>Yc,_ulid:()=>vi,_undefined:()=>el,_union:()=>ey,_unknown:()=>rl,_uppercase:()=>Ft,_url:()=>Ln,_uuid:()=>li,_uuidv4:()=>ui,_uuidv6:()=>di,_uuidv7:()=>pi,_void:()=>ol,_xid:()=>yi,_xor:()=>ty,clone:()=>pe,config:()=>Q,createStandardJSONSchemaMethod:()=>Qt,createToJSONSchemaMethod:()=>vl,decode:()=>kf,decodeAsync:()=>Ef,describe:()=>hl,encode:()=>_f,encodeAsync:()=>Cf,extractDefs:()=>Qe,finalize:()=>et,flattenError:()=>Cn,formatError:()=>En,globalConfig:()=>yn,globalRegistry:()=>ce,initializeContext:()=>Ye,isValidBase64:()=>Za,isValidBase64URL:()=>Pp,isValidJWT:()=>Tp,locales:()=>ht,meta:()=>gl,parse:()=>Mr,parseAsync:()=>Ar,prettifyError:()=>_s,process:()=>H,regexes:()=>we,registry:()=>ai,safeDecode:()=>Pf,safeDecodeAsync:()=>zf,safeEncode:()=>If,safeEncodeAsync:()=>Tf,safeParse:()=>ks,safeParseAsync:()=>Cs,toDotPath:()=>dp,toJSONSchema:()=>Li,treeifyError:()=>ws,util:()=>k,version:()=>ba});var ps=Object.freeze({status:"aborted"});function f(r,e,n){var c;function i(l,u){if(l._zod||Object.defineProperty(l,"_zod",{value:{def:u,constr:s,traits:new Set},enumerable:!1}),l._zod.traits.has(r))return;l._zod.traits.add(r),e(l,u);let d=s.prototype,a=Object.keys(d);for(let p=0;p{var u,d;return n!=null&&n.Parent&&l instanceof n.Parent?!0:(d=(u=l==null?void 0:l._zod)==null?void 0:u.traits)==null?void 0:d.has(r)}}),Object.defineProperty(s,"name",{value:r}),s}var zr=Symbol("zod_brand"),ze=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},qe=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},yn={};function Q(r){return r&&Object.assign(yn,r),yn}var k={};$e(k,{BIGINT_FORMAT_RANGES:()=>xs,Class:()=>hs,NUMBER_FORMAT_RANGES:()=>$s,aborted:()=>Ge,allowsEval:()=>vs,assert:()=>tf,assertEqual:()=>Xg,assertIs:()=>Qg,assertNever:()=>ef,assertNotEqual:()=>Yg,assignProp:()=>Be,base64ToUint8Array:()=>cp,base64urlToUint8Array:()=>bf,cached:()=>Ot,captureStackTrace:()=>Dr,cleanEnum:()=>yf,cleanRegex:()=>$n,clone:()=>pe,cloneDef:()=>rf,createTransparentProxy:()=>uf,defineLazy:()=>U,esc:()=>Or,escapeRegex:()=>Ce,extend:()=>mf,finalizeIssue:()=>ye,floatSafeRemainder:()=>gs,getElementAtPath:()=>of,getEnumValues:()=>Sn,getLengthableOrigin:()=>_n,getParsedType:()=>lf,getSizableOrigin:()=>wn,hexToUint8Array:()=>$f,isObject:()=>dt,isPlainObject:()=>Je,issue:()=>Dt,joinValues:()=>v,jsonStringifyReplacer:()=>zt,merge:()=>gf,mergeDefs:()=>Re,normalizeParams:()=>C,nullish:()=>We,numKeys:()=>cf,objectClone:()=>nf,omit:()=>pf,optionalKeys:()=>Ss,parsedType:()=>_,partial:()=>ff,pick:()=>df,prefixIssues:()=>xe,primitiveTypes:()=>bs,promiseAllObject:()=>sf,propertyKeyTypes:()=>xn,randomString:()=>af,required:()=>vf,safeExtend:()=>hf,shallowClone:()=>ys,slugify:()=>fs,stringifyPrimitive:()=>w,uint8ArrayToBase64:()=>lp,uint8ArrayToBase64url:()=>Sf,uint8ArrayToHex:()=>xf,unwrapMessage:()=>bn});function Xg(r){return r}function Yg(r){return r}function Qg(r){}function ef(r){throw new Error("Unexpected value in exhaustive check")}function tf(r){}function Sn(r){let e=Object.values(r).filter(i=>typeof i=="number");return Object.entries(r).filter(([i,t])=>e.indexOf(+i)===-1).map(([i,t])=>t)}function v(r,e="|"){return r.map(n=>w(n)).join(e)}function zt(r,e){return typeof e=="bigint"?e.toString():e}function Ot(r){return{get value(){{let n=r();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function We(r){return r==null}function $n(r){let e=r.startsWith("^")?1:0,n=r.endsWith("$")?r.length-1:r.length;return r.slice(e,n)}function gs(r,e){let n=(r.toString().split(".")[1]||"").length,i=e.toString(),t=(i.split(".")[1]||"").length;if(t===0&&/\d?e-\d?/.test(i)){let l=i.match(/\d?e-(\d?)/);l!=null&&l[1]&&(t=Number.parseInt(l[1]))}let o=n>t?n:t,s=Number.parseInt(r.toFixed(o).replace(".","")),c=Number.parseInt(e.toFixed(o).replace(".",""));return s%c/10**o}var ap=Symbol("evaluating");function U(r,e,n){let i;Object.defineProperty(r,e,{get(){if(i!==ap)return i===void 0&&(i=ap,i=n()),i},set(t){Object.defineProperty(r,e,{value:t})},configurable:!0})}function nf(r){return Object.create(Object.getPrototypeOf(r),Object.getOwnPropertyDescriptors(r))}function Be(r,e,n){Object.defineProperty(r,e,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Re(...r){let e={};for(let n of r){let i=Object.getOwnPropertyDescriptors(n);Object.assign(e,i)}return Object.defineProperties({},e)}function rf(r){return Re(r._zod.def)}function of(r,e){return e?e.reduce((n,i)=>n==null?void 0:n[i],r):r}function sf(r){let e=Object.keys(r),n=e.map(i=>r[i]);return Promise.all(n).then(i=>{let t={};for(let o=0;o{};function dt(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}var vs=Ot(()=>{var r;if(typeof navigator!="undefined"&&((r=navigator==null?void 0:navigator.userAgent)!=null&&r.includes("Cloudflare")))return!1;try{let e=Function;return new e(""),!0}catch(e){return!1}});function Je(r){if(dt(r)===!1)return!1;let e=r.constructor;if(e===void 0||typeof e!="function")return!0;let n=e.prototype;return!(dt(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function ys(r){return Je(r)?{...r}:Array.isArray(r)?[...r]:r}function cf(r){let e=0;for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&e++;return e}var lf=r=>{let e=typeof r;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(r)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(r)?"array":r===null?"null":r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?"promise":typeof Map!="undefined"&&r instanceof Map?"map":typeof Set!="undefined"&&r instanceof Set?"set":typeof Date!="undefined"&&r instanceof Date?"date":typeof File!="undefined"&&r instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},xn=new Set(["string","number","symbol"]),bs=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ce(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pe(r,e,n){let i=new r._zod.constr(e!=null?e:r._zod.def);return(!e||n!=null&&n.parent)&&(i._zod.parent=r),i}function C(r){let e=r;if(!e)return{};if(typeof e=="string")return{error:()=>e};if((e==null?void 0:e.message)!==void 0){if((e==null?void 0:e.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function uf(r){let e;return new Proxy({},{get(n,i,t){return e!=null||(e=r()),Reflect.get(e,i,t)},set(n,i,t,o){return e!=null||(e=r()),Reflect.set(e,i,t,o)},has(n,i){return e!=null||(e=r()),Reflect.has(e,i)},deleteProperty(n,i){return e!=null||(e=r()),Reflect.deleteProperty(e,i)},ownKeys(n){return e!=null||(e=r()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(n,i){return e!=null||(e=r()),Reflect.getOwnPropertyDescriptor(e,i)},defineProperty(n,i,t){return e!=null||(e=r()),Reflect.defineProperty(e,i,t)}})}function w(r){return typeof r=="bigint"?r.toString()+"n":typeof r=="string"?`"${r}"`:`${r}`}function Ss(r){return Object.keys(r).filter(e=>r[e]._zod.optin==="optional"&&r[e]._zod.optout==="optional")}var $s={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},xs={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function df(r,e){let n=r._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Re(r._zod.def,{get shape(){let s={};for(let c in e){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);e[c]&&(s[c]=n.shape[c])}return Be(this,"shape",s),s},checks:[]});return pe(r,o)}function pf(r,e){let n=r._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Re(r._zod.def,{get shape(){let s={...r._zod.def.shape};for(let c in e){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);e[c]&&delete s[c]}return Be(this,"shape",s),s},checks:[]});return pe(r,o)}function mf(r,e){if(!Je(e))throw new Error("Invalid input to extend: expected a plain object");let n=r._zod.def.checks;if(n&&n.length>0){let o=r._zod.def.shape;for(let s in e)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let t=Re(r._zod.def,{get shape(){let o={...r._zod.def.shape,...e};return Be(this,"shape",o),o}});return pe(r,t)}function hf(r,e){if(!Je(e))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Re(r._zod.def,{get shape(){let i={...r._zod.def.shape,...e};return Be(this,"shape",i),i}});return pe(r,n)}function gf(r,e){let n=Re(r._zod.def,{get shape(){let i={...r._zod.def.shape,...e._zod.def.shape};return Be(this,"shape",i),i},get catchall(){return e._zod.def.catchall},checks:[]});return pe(r,n)}function ff(r,e,n){let t=e._zod.def.checks;if(t&&t.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Re(e._zod.def,{get shape(){let c=e._zod.def.shape,l={...c};if(n)for(let u in n){if(!(u in c))throw new Error(`Unrecognized key: "${u}"`);n[u]&&(l[u]=r?new r({type:"optional",innerType:c[u]}):c[u])}else for(let u in c)l[u]=r?new r({type:"optional",innerType:c[u]}):c[u];return Be(this,"shape",l),l},checks:[]});return pe(e,s)}function vf(r,e,n){let i=Re(e._zod.def,{get shape(){let t=e._zod.def.shape,o={...t};if(n)for(let s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=new r({type:"nonoptional",innerType:t[s]}))}else for(let s in t)o[s]=new r({type:"nonoptional",innerType:t[s]});return Be(this,"shape",o),o}});return pe(e,i)}function Ge(r,e=0){var n;if(r.aborted===!0)return!0;for(let i=e;i{var t;var i;return(t=(i=n).path)!=null||(i.path=[]),n.path.unshift(r),n})}function bn(r){return typeof r=="string"?r:r==null?void 0:r.message}function ye(r,e,n){var t,o,s,c,l,u,d,a,p,m,h;let i={...r,path:(t=r.path)!=null?t:[]};if(!r.message){let g=(h=(m=(a=(u=bn((c=(s=(o=r.inst)==null?void 0:o._zod.def)==null?void 0:s.error)==null?void 0:c.call(s,r)))!=null?u:bn((l=e==null?void 0:e.error)==null?void 0:l.call(e,r)))!=null?a:bn((d=n.customError)==null?void 0:d.call(n,r)))!=null?m:bn((p=n.localeError)==null?void 0:p.call(n,r)))!=null?h:"Invalid input";i.message=g}return delete i.inst,delete i.continue,e!=null&&e.reportInput||delete i.input,i}function wn(r){return r instanceof Set?"set":r instanceof Map?"map":r instanceof File?"file":"unknown"}function _n(r){return Array.isArray(r)?"array":typeof r=="string"?"string":"unknown"}function _(r){let e=typeof r;switch(e){case"number":return Number.isNaN(r)?"nan":"number";case"object":{if(r===null)return"null";if(Array.isArray(r))return"array";let n=r;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return e}function Dt(...r){let[e,n,i]=r;return typeof e=="string"?{message:e,code:"custom",input:n,inst:i}:{...e}}function yf(r){return Object.entries(r).filter(([e,n])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function cp(r){let e=atob(r),n=new Uint8Array(e.length);for(let i=0;ie.toString(16).padStart(2,"0")).join("")}var hs=class{constructor(...e){}};var up=(r,e)=>{r.name="$ZodError",Object.defineProperty(r,"_zod",{value:r._zod,enumerable:!1}),Object.defineProperty(r,"issues",{value:e,enumerable:!1}),r.message=JSON.stringify(e,zt,2),Object.defineProperty(r,"toString",{value:()=>r.message,enumerable:!1})},kn=f("$ZodError",up),be=f("$ZodError",up,{Parent:Error});function Cn(r,e=n=>n.message){let n={},i=[];for(let t of r.issues)t.path.length>0?(n[t.path[0]]=n[t.path[0]]||[],n[t.path[0]].push(e(t))):i.push(e(t));return{formErrors:i,fieldErrors:n}}function En(r,e=n=>n.message){let n={_errors:[]},i=t=>{for(let o of t.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>i({issues:s}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)n._errors.push(e(o));else{let s=n,c=0;for(;cn.message){let n={errors:[]},i=(t,o=[])=>{var l,u,d,a;var s,c;for(let p of t.issues)if(p.code==="invalid_union"&&p.errors.length)p.errors.map(m=>i({issues:m},p.path));else if(p.code==="invalid_key")i({issues:p.issues},p.path);else if(p.code==="invalid_element")i({issues:p.issues},p.path);else{let m=[...o,...p.path];if(m.length===0){n.errors.push(e(p));continue}let h=n,g=0;for(;gtypeof i=="object"?i.key:i);for(let i of n)typeof i=="number"?e.push(`[${i}]`):typeof i=="symbol"?e.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?e.push(`[${JSON.stringify(i)}]`):(e.length&&e.push("."),e.push(i));return e.join("")}function _s(r){var i;let e=[],n=[...r.issues].sort((t,o)=>{var s,c;return((s=t.path)!=null?s:[]).length-((c=o.path)!=null?c:[]).length});for(let t of n)e.push(`\u2716 ${t.message}`),(i=t.path)!=null&&i.length&&e.push(` \u2192 at ${dp(t.path)}`);return e.join(` -`)}var Mt=r=>(e,n,i,t)=>{var c;let o=i?Object.assign(i,{async:!1}):{async:!1},s=e._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new ze;if(s.issues.length){let l=new((c=t==null?void 0:t.Err)!=null?c:r)(s.issues.map(u=>ye(u,o,Q())));throw Dr(l,t==null?void 0:t.callee),l}return s.value},Mr=Mt(be),At=r=>async(e,n,i,t)=>{var c;let o=i?Object.assign(i,{async:!0}):{async:!0},s=e._zod.run({value:n,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let l=new((c=t==null?void 0:t.Err)!=null?c:r)(s.issues.map(u=>ye(u,o,Q())));throw Dr(l,t==null?void 0:t.callee),l}return s.value},Ar=At(be),Lt=r=>(e,n,i)=>{let t=i?{...i,async:!1}:{async:!1},o=e._zod.run({value:n,issues:[]},t);if(o instanceof Promise)throw new ze;return o.issues.length?{success:!1,error:new(r!=null?r:kn)(o.issues.map(s=>ye(s,t,Q())))}:{success:!0,data:o.value}},ks=Lt(be),Ut=r=>async(e,n,i)=>{let t=i?Object.assign(i,{async:!0}):{async:!0},o=e._zod.run({value:n,issues:[]},t);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new r(o.issues.map(s=>ye(s,t,Q())))}:{success:!0,data:o.value}},Cs=Ut(be),Lr=r=>(e,n,i)=>{let t=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Mt(r)(e,n,t)},_f=Lr(be),Ur=r=>(e,n,i)=>Mt(r)(e,n,i),kf=Ur(be),Nr=r=>async(e,n,i)=>{let t=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return At(r)(e,n,t)},Cf=Nr(be),jr=r=>async(e,n,i)=>At(r)(e,n,i),Ef=jr(be),Rr=r=>(e,n,i)=>{let t=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Lt(r)(e,n,t)},If=Rr(be),Zr=r=>(e,n,i)=>Lt(r)(e,n,i),Pf=Zr(be),Fr=r=>async(e,n,i)=>{let t=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Ut(r)(e,n,t)},Tf=Fr(be),Hr=r=>async(e,n,i)=>Ut(r)(e,n,i),zf=Hr(be);var we={};$e(we,{base64:()=>Fs,base64url:()=>Vr,bigint:()=>Js,boolean:()=>Ks,browserEmail:()=>jf,cidrv4:()=>Rs,cidrv6:()=>Zs,cuid:()=>Es,cuid2:()=>Is,date:()=>Vs,datetime:()=>Ws,domain:()=>Ff,duration:()=>Ds,e164:()=>Hs,email:()=>As,emoji:()=>Ls,extendedDuration:()=>Of,guid:()=>Ms,hex:()=>Hf,hostname:()=>Zf,html5Email:()=>Lf,idnEmail:()=>Nf,integer:()=>Gs,ipv4:()=>Us,ipv6:()=>Ns,ksuid:()=>zs,lowercase:()=>Qs,mac:()=>js,md5_base64:()=>qf,md5_base64url:()=>Wf,md5_hex:()=>Vf,nanoid:()=>Os,null:()=>Xs,number:()=>qr,rfc5322Email:()=>Uf,sha1_base64:()=>Jf,sha1_base64url:()=>Gf,sha1_hex:()=>Bf,sha256_base64:()=>Xf,sha256_base64url:()=>Yf,sha256_hex:()=>Kf,sha384_base64:()=>ev,sha384_base64url:()=>tv,sha384_hex:()=>Qf,sha512_base64:()=>rv,sha512_base64url:()=>iv,sha512_hex:()=>nv,string:()=>Bs,time:()=>qs,ulid:()=>Ps,undefined:()=>Ys,unicodeEmail:()=>pp,uppercase:()=>ea,uuid:()=>pt,uuid4:()=>Df,uuid6:()=>Mf,uuid7:()=>Af,xid:()=>Ts});var Es=/^[cC][^\s-]{8,}$/,Is=/^[0-9a-z]+$/,Ps=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ts=/^[0-9a-vA-V]{20}$/,zs=/^[A-Za-z0-9]{27}$/,Os=/^[a-zA-Z0-9_-]{21}$/,Ds=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Of=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ms=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,pt=r=>r?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${r}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Df=pt(4),Mf=pt(6),Af=pt(7),As=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Lf=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Uf=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,pp=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Nf=pp,jf=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Rf="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Ls(){return new RegExp(Rf,"u")}var Us=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ns=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,js=r=>{let e=Ce(r!=null?r:":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},Rs=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Zs=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Fs=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Vr=/^[A-Za-z0-9_-]*$/,Zf=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Ff=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Hs=/^\+[1-9]\d{6,14}$/,mp="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Vs=new RegExp(`^${mp}$`);function hp(r){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof r.precision=="number"?r.precision===-1?`${e}`:r.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${r.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function qs(r){return new RegExp(`^${hp(r)}$`)}function Ws(r){let e=hp({precision:r.precision}),n=["Z"];r.local&&n.push(""),r.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let i=`${e}(?:${n.join("|")})`;return new RegExp(`^${mp}T(?:${i})$`)}var Bs=r=>{var n,i;let e=r?`[\\s\\S]{${(n=r==null?void 0:r.minimum)!=null?n:0},${(i=r==null?void 0:r.maximum)!=null?i:""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},Js=/^-?\d+n?$/,Gs=/^-?\d+$/,qr=/^-?\d+(?:\.\d+)?$/,Ks=/^(?:true|false)$/i,Xs=/^null$/i;var Ys=/^undefined$/i;var Qs=/^[^A-Z]*$/,ea=/^[^a-z]*$/,Hf=/^[0-9a-fA-F]*$/;function In(r,e){return new RegExp(`^[A-Za-z0-9+/]{${r}}${e}$`)}function Pn(r){return new RegExp(`^[A-Za-z0-9_-]{${r}}$`)}var Vf=/^[0-9a-fA-F]{32}$/,qf=In(22,"=="),Wf=Pn(22),Bf=/^[0-9a-fA-F]{40}$/,Jf=In(27,"="),Gf=Pn(27),Kf=/^[0-9a-fA-F]{64}$/,Xf=In(43,"="),Yf=Pn(43),Qf=/^[0-9a-fA-F]{96}$/,ev=In(64,""),tv=Pn(64),nv=/^[0-9a-fA-F]{128}$/,rv=In(86,"=="),iv=Pn(86);var J=f("$ZodCheck",(r,e)=>{var i,t;var n;(i=r._zod)!=null||(r._zod={}),r._zod.def=e,(t=(n=r._zod).onattach)!=null||(n.onattach=[])}),fp={number:"number",bigint:"bigint",object:"date"},Wr=f("$ZodCheckLessThan",(r,e)=>{J.init(r,e);let n=fp[typeof e.value];r._zod.onattach.push(i=>{var s;let t=i._zod.bag,o=(s=e.inclusive?t.maximum:t.exclusiveMaximum)!=null?s:Number.POSITIVE_INFINITY;e.value{(e.inclusive?i.value<=e.value:i.value{J.init(r,e);let n=fp[typeof e.value];r._zod.onattach.push(i=>{var s;let t=i._zod.bag,o=(s=e.inclusive?t.minimum:t.exclusiveMinimum)!=null?s:Number.NEGATIVE_INFINITY;e.value>o&&(e.inclusive?t.minimum=e.value:t.exclusiveMinimum=e.value)}),r._zod.check=i=>{(e.inclusive?i.value>=e.value:i.value>e.value)||i.issues.push({origin:n,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:i.value,inclusive:e.inclusive,inst:r,continue:!e.abort})}}),ta=f("$ZodCheckMultipleOf",(r,e)=>{J.init(r,e),r._zod.onattach.push(n=>{var t;var i;(t=(i=n._zod.bag).multipleOf)!=null||(i.multipleOf=e.value)}),r._zod.check=n=>{if(typeof n.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%e.value===BigInt(0):gs(n.value,e.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:e.value,input:n.value,inst:r,continue:!e.abort})}}),na=f("$ZodCheckNumberFormat",(r,e)=>{var s;J.init(r,e),e.format=e.format||"float64";let n=(s=e.format)==null?void 0:s.includes("int"),i=n?"int":"number",[t,o]=$s[e.format];r._zod.onattach.push(c=>{let l=c._zod.bag;l.format=e.format,l.minimum=t,l.maximum=o,n&&(l.pattern=Gs)}),r._zod.check=c=>{let l=c.value;if(n){if(!Number.isInteger(l)){c.issues.push({expected:i,format:e.format,code:"invalid_type",continue:!1,input:l,inst:r});return}if(!Number.isSafeInteger(l)){l>0?c.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:i,inclusive:!0,continue:!e.abort}):c.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:i,inclusive:!0,continue:!e.abort});return}}lo&&c.issues.push({origin:"number",input:l,code:"too_big",maximum:o,inclusive:!0,inst:r,continue:!e.abort})}}),ra=f("$ZodCheckBigIntFormat",(r,e)=>{J.init(r,e);let[n,i]=xs[e.format];r._zod.onattach.push(t=>{let o=t._zod.bag;o.format=e.format,o.minimum=n,o.maximum=i}),r._zod.check=t=>{let o=t.value;oi&&t.issues.push({origin:"bigint",input:o,code:"too_big",maximum:i,inclusive:!0,inst:r,continue:!e.abort})}}),ia=f("$ZodCheckMaxSize",(r,e)=>{var i;var n;J.init(r,e),(i=(n=r._zod.def).when)!=null||(n.when=t=>{let o=t.value;return!We(o)&&o.size!==void 0}),r._zod.onattach.push(t=>{var s;let o=(s=t._zod.bag.maximum)!=null?s:Number.POSITIVE_INFINITY;e.maximum{let o=t.value;o.size<=e.maximum||t.issues.push({origin:wn(o),code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:r,continue:!e.abort})}}),oa=f("$ZodCheckMinSize",(r,e)=>{var i;var n;J.init(r,e),(i=(n=r._zod.def).when)!=null||(n.when=t=>{let o=t.value;return!We(o)&&o.size!==void 0}),r._zod.onattach.push(t=>{var s;let o=(s=t._zod.bag.minimum)!=null?s:Number.NEGATIVE_INFINITY;e.minimum>o&&(t._zod.bag.minimum=e.minimum)}),r._zod.check=t=>{let o=t.value;o.size>=e.minimum||t.issues.push({origin:wn(o),code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:r,continue:!e.abort})}}),sa=f("$ZodCheckSizeEquals",(r,e)=>{var i;var n;J.init(r,e),(i=(n=r._zod.def).when)!=null||(n.when=t=>{let o=t.value;return!We(o)&&o.size!==void 0}),r._zod.onattach.push(t=>{let o=t._zod.bag;o.minimum=e.size,o.maximum=e.size,o.size=e.size}),r._zod.check=t=>{let o=t.value,s=o.size;if(s===e.size)return;let c=s>e.size;t.issues.push({origin:wn(o),...c?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:t.value,inst:r,continue:!e.abort})}}),aa=f("$ZodCheckMaxLength",(r,e)=>{var i;var n;J.init(r,e),(i=(n=r._zod.def).when)!=null||(n.when=t=>{let o=t.value;return!We(o)&&o.length!==void 0}),r._zod.onattach.push(t=>{var s;let o=(s=t._zod.bag.maximum)!=null?s:Number.POSITIVE_INFINITY;e.maximum{let o=t.value;if(o.length<=e.maximum)return;let c=_n(o);t.issues.push({origin:c,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:r,continue:!e.abort})}}),ca=f("$ZodCheckMinLength",(r,e)=>{var i;var n;J.init(r,e),(i=(n=r._zod.def).when)!=null||(n.when=t=>{let o=t.value;return!We(o)&&o.length!==void 0}),r._zod.onattach.push(t=>{var s;let o=(s=t._zod.bag.minimum)!=null?s:Number.NEGATIVE_INFINITY;e.minimum>o&&(t._zod.bag.minimum=e.minimum)}),r._zod.check=t=>{let o=t.value;if(o.length>=e.minimum)return;let c=_n(o);t.issues.push({origin:c,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:r,continue:!e.abort})}}),la=f("$ZodCheckLengthEquals",(r,e)=>{var i;var n;J.init(r,e),(i=(n=r._zod.def).when)!=null||(n.when=t=>{let o=t.value;return!We(o)&&o.length!==void 0}),r._zod.onattach.push(t=>{let o=t._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),r._zod.check=t=>{let o=t.value,s=o.length;if(s===e.length)return;let c=_n(o),l=s>e.length;t.issues.push({origin:c,...l?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:t.value,inst:r,continue:!e.abort})}}),Nt=f("$ZodCheckStringFormat",(r,e)=>{var t,o;var n,i;J.init(r,e),r._zod.onattach.push(s=>{var l;let c=s._zod.bag;c.format=e.format,e.pattern&&((l=c.patterns)!=null||(c.patterns=new Set),c.patterns.add(e.pattern))}),e.pattern?(t=(n=r._zod).check)!=null||(n.check=s=>{e.pattern.lastIndex=0,!e.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:e.format,input:s.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:r,continue:!e.abort})}):(o=(i=r._zod).check)!=null||(i.check=()=>{})}),ua=f("$ZodCheckRegex",(r,e)=>{Nt.init(r,e),r._zod.check=n=>{e.pattern.lastIndex=0,!e.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:e.pattern.toString(),inst:r,continue:!e.abort})}}),da=f("$ZodCheckLowerCase",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Qs),Nt.init(r,e)}),pa=f("$ZodCheckUpperCase",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=ea),Nt.init(r,e)}),ma=f("$ZodCheckIncludes",(r,e)=>{J.init(r,e);let n=Ce(e.includes),i=new RegExp(typeof e.position=="number"?`^.{${e.position}}${n}`:n);e.pattern=i,r._zod.onattach.push(t=>{var s;let o=t._zod.bag;(s=o.patterns)!=null||(o.patterns=new Set),o.patterns.add(i)}),r._zod.check=t=>{t.value.includes(e.includes,e.position)||t.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:t.value,inst:r,continue:!e.abort})}}),ha=f("$ZodCheckStartsWith",(r,e)=>{var i;J.init(r,e);let n=new RegExp(`^${Ce(e.prefix)}.*`);(i=e.pattern)!=null||(e.pattern=n),r._zod.onattach.push(t=>{var s;let o=t._zod.bag;(s=o.patterns)!=null||(o.patterns=new Set),o.patterns.add(n)}),r._zod.check=t=>{t.value.startsWith(e.prefix)||t.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:t.value,inst:r,continue:!e.abort})}}),ga=f("$ZodCheckEndsWith",(r,e)=>{var i;J.init(r,e);let n=new RegExp(`.*${Ce(e.suffix)}$`);(i=e.pattern)!=null||(e.pattern=n),r._zod.onattach.push(t=>{var s;let o=t._zod.bag;(s=o.patterns)!=null||(o.patterns=new Set),o.patterns.add(n)}),r._zod.check=t=>{t.value.endsWith(e.suffix)||t.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:t.value,inst:r,continue:!e.abort})}});function gp(r,e,n){r.issues.length&&e.issues.push(...xe(n,r.issues))}var fa=f("$ZodCheckProperty",(r,e)=>{J.init(r,e),r._zod.check=n=>{let i=e.schema._zod.run({value:n.value[e.property],issues:[]},{});if(i instanceof Promise)return i.then(t=>gp(t,n,e.property));gp(i,n,e.property)}}),va=f("$ZodCheckMimeType",(r,e)=>{J.init(r,e);let n=new Set(e.mime);r._zod.onattach.push(i=>{i._zod.bag.mime=e.mime}),r._zod.check=i=>{n.has(i.value.type)||i.issues.push({code:"invalid_value",values:e.mime,input:i.value.type,inst:r,continue:!e.abort})}}),ya=f("$ZodCheckOverwrite",(r,e)=>{J.init(r,e),r._zod.check=n=>{n.value=e.tx(n.value)}});var Tn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let i=e.split(` -`).filter(s=>s),t=Math.min(...i.map(s=>s.length-s.trimStart().length)),o=i.map(s=>s.slice(t)).map(s=>" ".repeat(this.indent*2)+s);for(let s of o)this.content.push(s)}compile(){var o;let e=Function,n=this==null?void 0:this.args,t=[...((o=this==null?void 0:this.content)!=null?o:[""]).map(s=>` ${s}`)];return new e(...n,t.join(` -`))}};var ba={major:4,minor:3,patch:5};var A=f("$ZodType",(r,e)=>{var t,o,s;var n;r!=null||(r={}),r._zod.def=e,r._zod.bag=r._zod.bag||{},r._zod.version=ba;let i=[...(t=r._zod.def.checks)!=null?t:[]];r._zod.traits.has("$ZodCheck")&&i.unshift(r);for(let c of i)for(let l of c._zod.onattach)l(r);if(i.length===0)(o=(n=r._zod).deferred)!=null||(n.deferred=[]),(s=r._zod.deferred)==null||s.push(()=>{r._zod.run=r._zod.parse});else{let c=(u,d,a)=>{let p=Ge(u),m;for(let h of d){if(h._zod.def.when){if(!h._zod.def.when(u))continue}else if(p)continue;let g=u.issues.length,y=h._zod.check(u);if(y instanceof Promise&&(a==null?void 0:a.async)===!1)throw new ze;if(m||y instanceof Promise)m=(m!=null?m:Promise.resolve()).then(async()=>{await y,u.issues.length!==g&&(p||(p=Ge(u,g)))});else{if(u.issues.length===g)continue;p||(p=Ge(u,g))}}return m?m.then(()=>u):u},l=(u,d,a)=>{if(Ge(u))return u.aborted=!0,u;let p=c(d,i,a);if(p instanceof Promise){if(a.async===!1)throw new ze;return p.then(m=>r._zod.parse(m,a))}return r._zod.parse(p,a)};r._zod.run=(u,d)=>{if(d.skipChecks)return r._zod.parse(u,d);if(d.direction==="backward"){let p=r._zod.parse({value:u.value,issues:[]},{...d,skipChecks:!0});return p instanceof Promise?p.then(m=>l(m,u,d)):l(p,u,d)}let a=r._zod.parse(u,d);if(a instanceof Promise){if(d.async===!1)throw new ze;return a.then(p=>c(p,i,d))}return c(a,i,d)}}U(r,"~standard",()=>({validate:c=>{var l;try{let u=ks(r,c);return u.success?{value:u.data}:{issues:(l=u.error)==null?void 0:l.issues}}catch(u){return Cs(r,c).then(d=>{var a;return d.success?{value:d.data}:{issues:(a=d.error)==null?void 0:a.issues}})}},vendor:"zod",version:1}))}),mt=f("$ZodString",(r,e)=>{var n,i,t;A.init(r,e),r._zod.pattern=(t=[...(i=(n=r==null?void 0:r._zod.bag)==null?void 0:n.patterns)!=null?i:[]].pop())!=null?t:Bs(r._zod.bag),r._zod.parse=(o,s)=>{if(e.coerce)try{o.value=String(o.value)}catch(c){}return typeof o.value=="string"||o.issues.push({expected:"string",code:"invalid_type",input:o.value,inst:r}),o}}),W=f("$ZodStringFormat",(r,e)=>{Nt.init(r,e),mt.init(r,e)}),$a=f("$ZodGUID",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Ms),W.init(r,e)}),xa=f("$ZodUUID",(r,e)=>{var n,i;if(e.version){let o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(o===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);(n=e.pattern)!=null||(e.pattern=pt(o))}else(i=e.pattern)!=null||(e.pattern=pt());W.init(r,e)}),wa=f("$ZodEmail",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=As),W.init(r,e)}),_a=f("$ZodURL",(r,e)=>{W.init(r,e),r._zod.check=n=>{try{let i=n.value.trim(),t=new URL(i);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(t.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:n.value,inst:r,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(t.protocol.endsWith(":")?t.protocol.slice(0,-1):t.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:n.value,inst:r,continue:!e.abort})),e.normalize?n.value=t.href:n.value=i;return}catch(i){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:r,continue:!e.abort})}}}),ka=f("$ZodEmoji",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Ls()),W.init(r,e)}),Ca=f("$ZodNanoID",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Os),W.init(r,e)}),Ea=f("$ZodCUID",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Es),W.init(r,e)}),Ia=f("$ZodCUID2",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Is),W.init(r,e)}),Pa=f("$ZodULID",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Ps),W.init(r,e)}),Ta=f("$ZodXID",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Ts),W.init(r,e)}),za=f("$ZodKSUID",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=zs),W.init(r,e)}),Oa=f("$ZodISODateTime",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Ws(e)),W.init(r,e)}),Da=f("$ZodISODate",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Vs),W.init(r,e)}),Ma=f("$ZodISOTime",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=qs(e)),W.init(r,e)}),Aa=f("$ZodISODuration",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Ds),W.init(r,e)}),La=f("$ZodIPv4",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Us),W.init(r,e),r._zod.bag.format="ipv4"}),Ua=f("$ZodIPv6",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Ns),W.init(r,e),r._zod.bag.format="ipv6",r._zod.check=i=>{try{new URL(`http://[${i.value}]`)}catch(t){i.issues.push({code:"invalid_format",format:"ipv6",input:i.value,inst:r,continue:!e.abort})}}}),Na=f("$ZodMAC",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=js(e.delimiter)),W.init(r,e),r._zod.bag.format="mac"}),ja=f("$ZodCIDRv4",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Rs),W.init(r,e)}),Ra=f("$ZodCIDRv6",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Zs),W.init(r,e),r._zod.check=i=>{let t=i.value.split("/");try{if(t.length!==2)throw new Error;let[o,s]=t;if(!s)throw new Error;let c=Number(s);if(`${c}`!==s)throw new Error;if(c<0||c>128)throw new Error;new URL(`http://[${o}]`)}catch(o){i.issues.push({code:"invalid_format",format:"cidrv6",input:i.value,inst:r,continue:!e.abort})}}});function Za(r){if(r==="")return!0;if(r.length%4!==0)return!1;try{return atob(r),!0}catch(e){return!1}}var Fa=f("$ZodBase64",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Fs),W.init(r,e),r._zod.bag.contentEncoding="base64",r._zod.check=i=>{Za(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:r,continue:!e.abort})}});function Pp(r){if(!Vr.test(r))return!1;let e=r.replace(/[-_]/g,i=>i==="-"?"+":"/"),n=e.padEnd(Math.ceil(e.length/4)*4,"=");return Za(n)}var Ha=f("$ZodBase64URL",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Vr),W.init(r,e),r._zod.bag.contentEncoding="base64url",r._zod.check=i=>{Pp(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:r,continue:!e.abort})}}),Va=f("$ZodE164",(r,e)=>{var n;(n=e.pattern)!=null||(e.pattern=Hs),W.init(r,e)});function Tp(r,e=null){try{let n=r.split(".");if(n.length!==3)return!1;let[i]=n;if(!i)return!1;let t=JSON.parse(atob(i));return!("typ"in t&&(t==null?void 0:t.typ)!=="JWT"||!t.alg||e&&(!("alg"in t)||t.alg!==e))}catch(n){return!1}}var qa=f("$ZodJWT",(r,e)=>{W.init(r,e),r._zod.check=n=>{Tp(n.value,e.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:r,continue:!e.abort})}}),Wa=f("$ZodCustomStringFormat",(r,e)=>{W.init(r,e),r._zod.check=n=>{e.fn(n.value)||n.issues.push({code:"invalid_format",format:e.format,input:n.value,inst:r,continue:!e.abort})}}),Qr=f("$ZodNumber",(r,e)=>{var n;A.init(r,e),r._zod.pattern=(n=r._zod.bag.pattern)!=null?n:qr,r._zod.parse=(i,t)=>{if(e.coerce)try{i.value=Number(i.value)}catch(c){}let o=i.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return i;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return i.issues.push({expected:"number",code:"invalid_type",input:o,inst:r,...s?{received:s}:{}}),i}}),Ba=f("$ZodNumberFormat",(r,e)=>{na.init(r,e),Qr.init(r,e)}),zn=f("$ZodBoolean",(r,e)=>{A.init(r,e),r._zod.pattern=Ks,r._zod.parse=(n,i)=>{if(e.coerce)try{n.value=!!n.value}catch(o){}let t=n.value;return typeof t=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:t,inst:r}),n}}),ei=f("$ZodBigInt",(r,e)=>{A.init(r,e),r._zod.pattern=Js,r._zod.parse=(n,i)=>{if(e.coerce)try{n.value=BigInt(n.value)}catch(t){}return typeof n.value=="bigint"||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:r}),n}}),Ja=f("$ZodBigIntFormat",(r,e)=>{ra.init(r,e),ei.init(r,e)}),Ga=f("$ZodSymbol",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{let t=n.value;return typeof t=="symbol"||n.issues.push({expected:"symbol",code:"invalid_type",input:t,inst:r}),n}}),Ka=f("$ZodUndefined",(r,e)=>{A.init(r,e),r._zod.pattern=Ys,r._zod.values=new Set([void 0]),r._zod.optin="optional",r._zod.optout="optional",r._zod.parse=(n,i)=>{let t=n.value;return typeof t=="undefined"||n.issues.push({expected:"undefined",code:"invalid_type",input:t,inst:r}),n}}),Xa=f("$ZodNull",(r,e)=>{A.init(r,e),r._zod.pattern=Xs,r._zod.values=new Set([null]),r._zod.parse=(n,i)=>{let t=n.value;return t===null||n.issues.push({expected:"null",code:"invalid_type",input:t,inst:r}),n}}),Ya=f("$ZodAny",(r,e)=>{A.init(r,e),r._zod.parse=n=>n}),Qa=f("$ZodUnknown",(r,e)=>{A.init(r,e),r._zod.parse=n=>n}),ec=f("$ZodNever",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:r}),n)}),tc=f("$ZodVoid",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{let t=n.value;return typeof t=="undefined"||n.issues.push({expected:"void",code:"invalid_type",input:t,inst:r}),n}}),nc=f("$ZodDate",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{if(e.coerce)try{n.value=new Date(n.value)}catch(c){}let t=n.value,o=t instanceof Date;return o&&!Number.isNaN(t.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:t,...o?{received:"Invalid Date"}:{},inst:r}),n}});function yp(r,e,n){r.issues.length&&e.issues.push(...xe(n,r.issues)),e.value[n]=r.value}var rc=f("$ZodArray",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{let t=n.value;if(!Array.isArray(t))return n.issues.push({expected:"array",code:"invalid_type",input:t,inst:r}),n;n.value=Array(t.length);let o=[];for(let s=0;syp(u,n,s))):yp(l,n,s)}return o.length?Promise.all(o).then(()=>n):n}});function Yr(r,e,n,i,t){if(r.issues.length){if(t&&!(n in i))return;e.issues.push(...xe(n,r.issues))}r.value===void 0?n in i&&(e.value[n]=void 0):e.value[n]=r.value}function zp(r){var i,t,o,s;let e=Object.keys(r.shape);for(let c of e)if(!((s=(o=(t=(i=r.shape)==null?void 0:i[c])==null?void 0:t._zod)==null?void 0:o.traits)!=null&&s.has("$ZodType")))throw new Error(`Invalid element at key "${c}": expected a Zod schema`);let n=Ss(r.shape);return{...r,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(n)}}function Op(r,e,n,i,t,o){let s=[],c=t.keySet,l=t.catchall._zod,u=l.def.type,d=l.optout==="optional";for(let a in e){if(c.has(a))continue;if(u==="never"){s.push(a);continue}let p=l.run({value:e[a],issues:[]},i);p instanceof Promise?r.push(p.then(m=>Yr(m,n,a,e,d))):Yr(p,n,a,e,d)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:e,inst:o}),r.length?Promise.all(r).then(()=>n):n}var Dp=f("$ZodObject",(r,e)=>{A.init(r,e);let n=Object.getOwnPropertyDescriptor(e,"shape");if(!(n!=null&&n.get)){let c=e.shape;Object.defineProperty(e,"shape",{get:()=>{let l={...c};return Object.defineProperty(e,"shape",{value:l}),l}})}let i=Ot(()=>zp(e));U(r._zod,"propValues",()=>{var u;let c=e.shape,l={};for(let d in c){let a=c[d]._zod;if(a.values){(u=l[d])!=null||(l[d]=new Set);for(let p of a.values)l[d].add(p)}}return l});let t=dt,o=e.catchall,s;r._zod.parse=(c,l)=>{s!=null||(s=i.value);let u=c.value;if(!t(u))return c.issues.push({expected:"object",code:"invalid_type",input:u,inst:r}),c;c.value={};let d=[],a=s.shape;for(let p of s.keys){let m=a[p],h=m._zod.optout==="optional",g=m._zod.run({value:u[p],issues:[]},l);g instanceof Promise?d.push(g.then(y=>Yr(y,c,p,u,h))):Yr(g,c,p,u,h)}return o?Op(d,u,c,l,i.value,r):d.length?Promise.all(d).then(()=>c):c}}),ic=f("$ZodObjectJIT",(r,e)=>{Dp.init(r,e);let n=r._zod.parse,i=Ot(()=>zp(e)),t=p=>{var P;let m=new Tn(["shape","payload","ctx"]),h=i.value,g=S=>{let x=Or(S);return`shape[${x}]._zod.run({ value: input[${x}], issues: [] }, ctx)`};m.write("const input = payload.value;");let y=Object.create(null),b=0;for(let S of h.keys)y[S]=`key_${b++}`;m.write("const newResult = {};");for(let S of h.keys){let x=y[S],M=Or(S),G=p[S],Te=((P=G==null?void 0:G._zod)==null?void 0:P.optout)==="optional";m.write(`const ${x} = ${g(S)};`),Te?m.write(` - if (${x}.issues.length) { - if (${M} in input) { - payload.issues = payload.issues.concat(${x}.issues.map(iss => ({ - ...iss, - path: iss.path ? [${M}, ...iss.path] : [${M}] - }))); - } - } - - if (${x}.value === undefined) { - if (${M} in input) { - newResult[${M}] = undefined; - } - } else { - newResult[${M}] = ${x}.value; - } - - `):m.write(` - if (${x}.issues.length) { - payload.issues = payload.issues.concat(${x}.issues.map(iss => ({ - ...iss, - path: iss.path ? [${M}, ...iss.path] : [${M}] - }))); - } - - if (${x}.value === undefined) { - if (${M} in input) { - newResult[${M}] = undefined; - } - } else { - newResult[${M}] = ${x}.value; - } - - `)}m.write("payload.value = newResult;"),m.write("return payload;");let $=m.compile();return(S,x)=>$(p,S,x)},o,s=dt,c=!yn.jitless,u=c&&vs.value,d=e.catchall,a;r._zod.parse=(p,m)=>{a!=null||(a=i.value);let h=p.value;return s(h)?c&&u&&(m==null?void 0:m.async)===!1&&m.jitless!==!0?(o||(o=t(e.shape)),p=o(p,m),d?Op([],h,p,m,a,r):p):n(p,m):(p.issues.push({expected:"object",code:"invalid_type",input:h,inst:r}),p)}});function bp(r,e,n,i){for(let o of r)if(o.issues.length===0)return e.value=o.value,e;let t=r.filter(o=>!Ge(o));return t.length===1?(e.value=t[0].value,t[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:n,errors:r.map(o=>o.issues.map(s=>ye(s,i,Q())))}),e)}var On=f("$ZodUnion",(r,e)=>{A.init(r,e),U(r._zod,"optin",()=>e.options.some(t=>t._zod.optin==="optional")?"optional":void 0),U(r._zod,"optout",()=>e.options.some(t=>t._zod.optout==="optional")?"optional":void 0),U(r._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),U(r._zod,"pattern",()=>{if(e.options.every(t=>t._zod.pattern)){let t=e.options.map(o=>o._zod.pattern);return new RegExp(`^(${t.map(o=>$n(o.source)).join("|")})$`)}});let n=e.options.length===1,i=e.options[0]._zod.run;r._zod.parse=(t,o)=>{if(n)return i(t,o);let s=!1,c=[];for(let l of e.options){let u=l._zod.run({value:t.value,issues:[]},o);if(u instanceof Promise)c.push(u),s=!0;else{if(u.issues.length===0)return u;c.push(u)}}return s?Promise.all(c).then(l=>bp(l,t,r,o)):bp(c,t,r,o)}});function Sp(r,e,n,i){let t=r.filter(o=>o.issues.length===0);return t.length===1?(e.value=t[0].value,e):(t.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:n,errors:r.map(o=>o.issues.map(s=>ye(s,i,Q())))}):e.issues.push({code:"invalid_union",input:e.value,inst:n,errors:[],inclusive:!1}),e)}var oc=f("$ZodXor",(r,e)=>{On.init(r,e),e.inclusive=!1;let n=e.options.length===1,i=e.options[0]._zod.run;r._zod.parse=(t,o)=>{if(n)return i(t,o);let s=!1,c=[];for(let l of e.options){let u=l._zod.run({value:t.value,issues:[]},o);u instanceof Promise?(c.push(u),s=!0):c.push(u)}return s?Promise.all(c).then(l=>Sp(l,t,r,o)):Sp(c,t,r,o)}}),sc=f("$ZodDiscriminatedUnion",(r,e)=>{e.inclusive=!1,On.init(r,e);let n=r._zod.parse;U(r._zod,"propValues",()=>{let t={};for(let o of e.options){let s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let[c,l]of Object.entries(s)){t[c]||(t[c]=new Set);for(let u of l)t[c].add(u)}}return t});let i=Ot(()=>{var s;let t=e.options,o=new Map;for(let c of t){let l=(s=c._zod.propValues)==null?void 0:s[e.discriminator];if(!l||l.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(c)}"`);for(let u of l){if(o.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);o.set(u,c)}}return o});r._zod.parse=(t,o)=>{let s=t.value;if(!dt(s))return t.issues.push({code:"invalid_type",expected:"object",input:s,inst:r}),t;let c=i.value.get(s==null?void 0:s[e.discriminator]);return c?c._zod.run(t,o):e.unionFallback?n(t,o):(t.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:s,path:[e.discriminator],inst:r}),t)}}),ac=f("$ZodIntersection",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{let t=n.value,o=e.left._zod.run({value:t,issues:[]},i),s=e.right._zod.run({value:t,issues:[]},i);return o instanceof Promise||s instanceof Promise?Promise.all([o,s]).then(([l,u])=>$p(n,l,u)):$p(n,o,s)}});function Sa(r,e){if(r===e)return{valid:!0,data:r};if(r instanceof Date&&e instanceof Date&&+r==+e)return{valid:!0,data:r};if(Je(r)&&Je(e)){let n=Object.keys(e),i=Object.keys(r).filter(o=>n.indexOf(o)!==-1),t={...r,...e};for(let o of i){let s=Sa(r[o],e[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};t[o]=s.data}return{valid:!0,data:t}}if(Array.isArray(r)&&Array.isArray(e)){if(r.length!==e.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let i=0;ic.l&&c.r).map(([c])=>c);if(o.length&&t&&r.issues.push({...t,keys:o}),Ge(r))return r;let s=Sa(e.value,n.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return r.value=s.data,r}var ti=f("$ZodTuple",(r,e)=>{A.init(r,e);let n=e.items;r._zod.parse=(i,t)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:r,expected:"tuple",code:"invalid_type"}),i;i.value=[];let s=[],c=[...n].reverse().findIndex(d=>d._zod.optin!=="optional"),l=c===-1?0:n.length-c;if(!e.rest){let d=o.length>n.length,a=o.length=o.length&&u>=l)continue;let a=d._zod.run({value:o[u],issues:[]},t);a instanceof Promise?s.push(a.then(p=>Jr(p,i,u))):Jr(a,i,u)}if(e.rest){let d=o.slice(n.length);for(let a of d){u++;let p=e.rest._zod.run({value:a,issues:[]},t);p instanceof Promise?s.push(p.then(m=>Jr(m,i,u))):Jr(p,i,u)}}return s.length?Promise.all(s).then(()=>i):i}});function Jr(r,e,n){r.issues.length&&e.issues.push(...xe(n,r.issues)),e.value[n]=r.value}var cc=f("$ZodRecord",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{let t=n.value;if(!Je(t))return n.issues.push({expected:"record",code:"invalid_type",input:t,inst:r}),n;let o=[],s=e.keyType._zod.values;if(s){n.value={};let c=new Set;for(let u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){c.add(typeof u=="number"?u.toString():u);let d=e.valueType._zod.run({value:t[u],issues:[]},i);d instanceof Promise?o.push(d.then(a=>{a.issues.length&&n.issues.push(...xe(u,a.issues)),n.value[u]=a.value})):(d.issues.length&&n.issues.push(...xe(u,d.issues)),n.value[u]=d.value)}let l;for(let u in t)c.has(u)||(l=l!=null?l:[],l.push(u));l&&l.length>0&&n.issues.push({code:"unrecognized_keys",input:t,inst:r,keys:l})}else{n.value={};for(let c of Reflect.ownKeys(t)){if(c==="__proto__")continue;let l=e.keyType._zod.run({value:c,issues:[]},i);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof c=="string"&&qr.test(c)&&l.issues.length&&l.issues.some(a=>a.code==="invalid_type"&&a.expected==="number")){let a=e.keyType._zod.run({value:Number(c),issues:[]},i);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");a.issues.length===0&&(l=a)}if(l.issues.length){e.mode==="loose"?n.value[c]=t[c]:n.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(a=>ye(a,i,Q())),input:c,path:[c],inst:r});continue}let d=e.valueType._zod.run({value:t[c],issues:[]},i);d instanceof Promise?o.push(d.then(a=>{a.issues.length&&n.issues.push(...xe(c,a.issues)),n.value[l.value]=a.value})):(d.issues.length&&n.issues.push(...xe(c,d.issues)),n.value[l.value]=d.value)}}return o.length?Promise.all(o).then(()=>n):n}}),lc=f("$ZodMap",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{let t=n.value;if(!(t instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:t,inst:r}),n;let o=[];n.value=new Map;for(let[s,c]of t){let l=e.keyType._zod.run({value:s,issues:[]},i),u=e.valueType._zod.run({value:c,issues:[]},i);l instanceof Promise||u instanceof Promise?o.push(Promise.all([l,u]).then(([d,a])=>{xp(d,a,n,s,t,r,i)})):xp(l,u,n,s,t,r,i)}return o.length?Promise.all(o).then(()=>n):n}});function xp(r,e,n,i,t,o,s){r.issues.length&&(xn.has(typeof i)?n.issues.push(...xe(i,r.issues)):n.issues.push({code:"invalid_key",origin:"map",input:t,inst:o,issues:r.issues.map(c=>ye(c,s,Q()))})),e.issues.length&&(xn.has(typeof i)?n.issues.push(...xe(i,e.issues)):n.issues.push({origin:"map",code:"invalid_element",input:t,inst:o,key:i,issues:e.issues.map(c=>ye(c,s,Q()))})),n.value.set(r.value,e.value)}var uc=f("$ZodSet",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{let t=n.value;if(!(t instanceof Set))return n.issues.push({input:t,inst:r,expected:"set",code:"invalid_type"}),n;let o=[];n.value=new Set;for(let s of t){let c=e.valueType._zod.run({value:s,issues:[]},i);c instanceof Promise?o.push(c.then(l=>wp(l,n))):wp(c,n)}return o.length?Promise.all(o).then(()=>n):n}});function wp(r,e){r.issues.length&&e.issues.push(...r.issues),e.value.add(r.value)}var dc=f("$ZodEnum",(r,e)=>{A.init(r,e);let n=Sn(e.entries),i=new Set(n);r._zod.values=i,r._zod.pattern=new RegExp(`^(${n.filter(t=>xn.has(typeof t)).map(t=>typeof t=="string"?Ce(t):t.toString()).join("|")})$`),r._zod.parse=(t,o)=>{let s=t.value;return i.has(s)||t.issues.push({code:"invalid_value",values:n,input:s,inst:r}),t}}),pc=f("$ZodLiteral",(r,e)=>{if(A.init(r,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let n=new Set(e.values);r._zod.values=n,r._zod.pattern=new RegExp(`^(${e.values.map(i=>typeof i=="string"?Ce(i):i?Ce(i.toString()):String(i)).join("|")})$`),r._zod.parse=(i,t)=>{let o=i.value;return n.has(o)||i.issues.push({code:"invalid_value",values:e.values,input:o,inst:r}),i}}),mc=f("$ZodFile",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{let t=n.value;return t instanceof File||n.issues.push({expected:"file",code:"invalid_type",input:t,inst:r}),n}}),hc=f("$ZodTransform",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{if(i.direction==="backward")throw new qe(r.constructor.name);let t=e.transform(n.value,n);if(i.async)return(t instanceof Promise?t:Promise.resolve(t)).then(s=>(n.value=s,n));if(t instanceof Promise)throw new ze;return n.value=t,n}});function _p(r,e){return r.issues.length&&e===void 0?{issues:[],value:void 0}:r}var ni=f("$ZodOptional",(r,e)=>{A.init(r,e),r._zod.optin="optional",r._zod.optout="optional",U(r._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),U(r._zod,"pattern",()=>{let n=e.innerType._zod.pattern;return n?new RegExp(`^(${$n(n.source)})?$`):void 0}),r._zod.parse=(n,i)=>{if(e.innerType._zod.optin==="optional"){let t=e.innerType._zod.run(n,i);return t instanceof Promise?t.then(o=>_p(o,n.value)):_p(t,n.value)}return n.value===void 0?n:e.innerType._zod.run(n,i)}}),gc=f("$ZodExactOptional",(r,e)=>{ni.init(r,e),U(r._zod,"values",()=>e.innerType._zod.values),U(r._zod,"pattern",()=>e.innerType._zod.pattern),r._zod.parse=(n,i)=>e.innerType._zod.run(n,i)}),fc=f("$ZodNullable",(r,e)=>{A.init(r,e),U(r._zod,"optin",()=>e.innerType._zod.optin),U(r._zod,"optout",()=>e.innerType._zod.optout),U(r._zod,"pattern",()=>{let n=e.innerType._zod.pattern;return n?new RegExp(`^(${$n(n.source)}|null)$`):void 0}),U(r._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),r._zod.parse=(n,i)=>n.value===null?n:e.innerType._zod.run(n,i)}),vc=f("$ZodDefault",(r,e)=>{A.init(r,e),r._zod.optin="optional",U(r._zod,"values",()=>e.innerType._zod.values),r._zod.parse=(n,i)=>{if(i.direction==="backward")return e.innerType._zod.run(n,i);if(n.value===void 0)return n.value=e.defaultValue,n;let t=e.innerType._zod.run(n,i);return t instanceof Promise?t.then(o=>kp(o,e)):kp(t,e)}});function kp(r,e){return r.value===void 0&&(r.value=e.defaultValue),r}var yc=f("$ZodPrefault",(r,e)=>{A.init(r,e),r._zod.optin="optional",U(r._zod,"values",()=>e.innerType._zod.values),r._zod.parse=(n,i)=>(i.direction==="backward"||n.value===void 0&&(n.value=e.defaultValue),e.innerType._zod.run(n,i))}),bc=f("$ZodNonOptional",(r,e)=>{A.init(r,e),U(r._zod,"values",()=>{let n=e.innerType._zod.values;return n?new Set([...n].filter(i=>i!==void 0)):void 0}),r._zod.parse=(n,i)=>{let t=e.innerType._zod.run(n,i);return t instanceof Promise?t.then(o=>Cp(o,r)):Cp(t,r)}});function Cp(r,e){return!r.issues.length&&r.value===void 0&&r.issues.push({code:"invalid_type",expected:"nonoptional",input:r.value,inst:e}),r}var Sc=f("$ZodSuccess",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>{if(i.direction==="backward")throw new qe("ZodSuccess");let t=e.innerType._zod.run(n,i);return t instanceof Promise?t.then(o=>(n.value=o.issues.length===0,n)):(n.value=t.issues.length===0,n)}}),$c=f("$ZodCatch",(r,e)=>{A.init(r,e),U(r._zod,"optin",()=>e.innerType._zod.optin),U(r._zod,"optout",()=>e.innerType._zod.optout),U(r._zod,"values",()=>e.innerType._zod.values),r._zod.parse=(n,i)=>{if(i.direction==="backward")return e.innerType._zod.run(n,i);let t=e.innerType._zod.run(n,i);return t instanceof Promise?t.then(o=>(n.value=o.value,o.issues.length&&(n.value=e.catchValue({...n,error:{issues:o.issues.map(s=>ye(s,i,Q()))},input:n.value}),n.issues=[]),n)):(n.value=t.value,t.issues.length&&(n.value=e.catchValue({...n,error:{issues:t.issues.map(o=>ye(o,i,Q()))},input:n.value}),n.issues=[]),n)}}),xc=f("$ZodNaN",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>((typeof n.value!="number"||!Number.isNaN(n.value))&&n.issues.push({input:n.value,inst:r,expected:"nan",code:"invalid_type"}),n)}),wc=f("$ZodPipe",(r,e)=>{A.init(r,e),U(r._zod,"values",()=>e.in._zod.values),U(r._zod,"optin",()=>e.in._zod.optin),U(r._zod,"optout",()=>e.out._zod.optout),U(r._zod,"propValues",()=>e.in._zod.propValues),r._zod.parse=(n,i)=>{if(i.direction==="backward"){let o=e.out._zod.run(n,i);return o instanceof Promise?o.then(s=>Gr(s,e.in,i)):Gr(o,e.in,i)}let t=e.in._zod.run(n,i);return t instanceof Promise?t.then(o=>Gr(o,e.out,i)):Gr(t,e.out,i)}});function Gr(r,e,n){return r.issues.length?(r.aborted=!0,r):e._zod.run({value:r.value,issues:r.issues},n)}var Dn=f("$ZodCodec",(r,e)=>{A.init(r,e),U(r._zod,"values",()=>e.in._zod.values),U(r._zod,"optin",()=>e.in._zod.optin),U(r._zod,"optout",()=>e.out._zod.optout),U(r._zod,"propValues",()=>e.in._zod.propValues),r._zod.parse=(n,i)=>{if((i.direction||"forward")==="forward"){let o=e.in._zod.run(n,i);return o instanceof Promise?o.then(s=>Kr(s,e,i)):Kr(o,e,i)}else{let o=e.out._zod.run(n,i);return o instanceof Promise?o.then(s=>Kr(s,e,i)):Kr(o,e,i)}}});function Kr(r,e,n){if(r.issues.length)return r.aborted=!0,r;if((n.direction||"forward")==="forward"){let t=e.transform(r.value,r);return t instanceof Promise?t.then(o=>Xr(r,o,e.out,n)):Xr(r,t,e.out,n)}else{let t=e.reverseTransform(r.value,r);return t instanceof Promise?t.then(o=>Xr(r,o,e.in,n)):Xr(r,t,e.in,n)}}function Xr(r,e,n,i){return r.issues.length?(r.aborted=!0,r):n._zod.run({value:e,issues:r.issues},i)}var _c=f("$ZodReadonly",(r,e)=>{A.init(r,e),U(r._zod,"propValues",()=>e.innerType._zod.propValues),U(r._zod,"values",()=>e.innerType._zod.values),U(r._zod,"optin",()=>{var n,i;return(i=(n=e.innerType)==null?void 0:n._zod)==null?void 0:i.optin}),U(r._zod,"optout",()=>{var n,i;return(i=(n=e.innerType)==null?void 0:n._zod)==null?void 0:i.optout}),r._zod.parse=(n,i)=>{if(i.direction==="backward")return e.innerType._zod.run(n,i);let t=e.innerType._zod.run(n,i);return t instanceof Promise?t.then(Ep):Ep(t)}});function Ep(r){return r.value=Object.freeze(r.value),r}var kc=f("$ZodTemplateLiteral",(r,e)=>{A.init(r,e);let n=[];for(let i of e.parts)if(typeof i=="object"&&i!==null){if(!i._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...i._zod.traits].shift()}`);let t=i._zod.pattern instanceof RegExp?i._zod.pattern.source:i._zod.pattern;if(!t)throw new Error(`Invalid template literal part: ${i._zod.traits}`);let o=t.startsWith("^")?1:0,s=t.endsWith("$")?t.length-1:t.length;n.push(t.slice(o,s))}else if(i===null||bs.has(typeof i))n.push(Ce(`${i}`));else throw new Error(`Invalid template literal part: ${i}`);r._zod.pattern=new RegExp(`^${n.join("")}$`),r._zod.parse=(i,t)=>{var o;return typeof i.value!="string"?(i.issues.push({input:i.value,inst:r,expected:"string",code:"invalid_type"}),i):(r._zod.pattern.lastIndex=0,r._zod.pattern.test(i.value)||i.issues.push({input:i.value,inst:r,code:"invalid_format",format:(o=e.format)!=null?o:"template_literal",pattern:r._zod.pattern.source}),i)}}),Cc=f("$ZodFunction",(r,e)=>(A.init(r,e),r._def=e,r._zod.def=e,r.implement=n=>{if(typeof n!="function")throw new Error("implement() must be called with a function");return function(...i){let t=r._def.input?Mr(r._def.input,i):i,o=Reflect.apply(n,this,t);return r._def.output?Mr(r._def.output,o):o}},r.implementAsync=n=>{if(typeof n!="function")throw new Error("implementAsync() must be called with a function");return async function(...i){let t=r._def.input?await Ar(r._def.input,i):i,o=await Reflect.apply(n,this,t);return r._def.output?await Ar(r._def.output,o):o}},r._zod.parse=(n,i)=>typeof n.value!="function"?(n.issues.push({code:"invalid_type",expected:"function",input:n.value,inst:r}),n):(r._def.output&&r._def.output._zod.def.type==="promise"?n.value=r.implementAsync(n.value):n.value=r.implement(n.value),n),r.input=(...n)=>{let i=r.constructor;return Array.isArray(n[0])?new i({type:"function",input:new ti({type:"tuple",items:n[0],rest:n[1]}),output:r._def.output}):new i({type:"function",input:n[0],output:r._def.output})},r.output=n=>{let i=r.constructor;return new i({type:"function",input:r._def.input,output:n})},r)),Ec=f("$ZodPromise",(r,e)=>{A.init(r,e),r._zod.parse=(n,i)=>Promise.resolve(n.value).then(t=>e.innerType._zod.run({value:t,issues:[]},i))}),Ic=f("$ZodLazy",(r,e)=>{A.init(r,e),U(r._zod,"innerType",()=>e.getter()),U(r._zod,"pattern",()=>{var n,i;return(i=(n=r._zod.innerType)==null?void 0:n._zod)==null?void 0:i.pattern}),U(r._zod,"propValues",()=>{var n,i;return(i=(n=r._zod.innerType)==null?void 0:n._zod)==null?void 0:i.propValues}),U(r._zod,"optin",()=>{var n,i,t;return(t=(i=(n=r._zod.innerType)==null?void 0:n._zod)==null?void 0:i.optin)!=null?t:void 0}),U(r._zod,"optout",()=>{var n,i,t;return(t=(i=(n=r._zod.innerType)==null?void 0:n._zod)==null?void 0:i.optout)!=null?t:void 0}),r._zod.parse=(n,i)=>r._zod.innerType._zod.run(n,i)}),Pc=f("$ZodCustom",(r,e)=>{J.init(r,e),A.init(r,e),r._zod.parse=(n,i)=>n,r._zod.check=n=>{let i=n.value,t=e.fn(i);if(t instanceof Promise)return t.then(o=>Ip(o,n,i,r));Ip(t,n,i,r)}});function Ip(r,e,n,i){var t;if(!r){let o={code:"custom",input:n,inst:i,path:[...(t=i._zod.def.path)!=null?t:[]],continue:!i._zod.def.abort};i._zod.def.params&&(o.params=i._zod.def.params),e.issues.push(Dt(o))}}var ht={};$e(ht,{ar:()=>Mp,az:()=>Ap,be:()=>Up,bg:()=>Np,ca:()=>jp,cs:()=>Rp,da:()=>Zp,de:()=>Fp,en:()=>ri,eo:()=>Hp,es:()=>Vp,fa:()=>qp,fi:()=>Wp,fr:()=>Bp,frCA:()=>Jp,he:()=>Gp,hu:()=>Kp,hy:()=>Yp,id:()=>Qp,is:()=>em,it:()=>tm,ja:()=>nm,ka:()=>rm,kh:()=>im,km:()=>ii,ko:()=>om,lt:()=>am,mk:()=>cm,ms:()=>lm,nl:()=>um,no:()=>dm,ota:()=>pm,pl:()=>hm,ps:()=>mm,pt:()=>gm,ru:()=>vm,sl:()=>ym,sv:()=>bm,ta:()=>Sm,th:()=>$m,tr:()=>xm,ua:()=>wm,uk:()=>oi,ur:()=>_m,uz:()=>km,vi:()=>Cm,yo:()=>Pm,zhCN:()=>Em,zhTW:()=>Im});var sv=()=>{let r={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},i={nan:"NaN"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${t.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${m}`:`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${a}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${m}`}case"invalid_value":return t.values.length===1?`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${w(t.values[0])}`:`\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${(c=t.origin)!=null?c:"\u0627\u0644\u0642\u064A\u0645\u0629"} ${a} ${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0639\u0646\u0635\u0631"}`:`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${(u=t.origin)!=null?u:"\u0627\u0644\u0642\u064A\u0645\u0629"} ${a} ${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${t.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${a} ${t.minimum.toString()} ${p.unit}`:`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${t.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${a} ${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${t.prefix}"`:a.format==="ends_with"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${a.suffix}"`:a.format==="includes"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${a.includes}"`:a.format==="regex"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${a.pattern}`:`${(d=n[a.format])!=null?d:t.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":return`\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${t.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${t.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${t.keys.length>1?"\u0629":""}: ${v(t.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${t.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${t.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};function Mp(){return{localeError:sv()}}var av=()=>{let r={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${t.expected}, daxil olan ${m}`:`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${a}, daxil olan ${m}`}case"invalid_value":return t.values.length===1?`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${w(t.values[0])}`:`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${(c=t.origin)!=null?c:"d\u0259y\u0259r"} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"element"}`:`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${(u=t.origin)!=null?u:"d\u0259y\u0259r"} ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${t.origin} ${a}${t.minimum.toString()} ${p.unit}`:`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${t.origin} ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Yanl\u0131\u015F m\u0259tn: "${a.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`:a.format==="ends_with"?`Yanl\u0131\u015F m\u0259tn: "${a.suffix}" il\u0259 bitm\u0259lidir`:a.format==="includes"?`Yanl\u0131\u015F m\u0259tn: "${a.includes}" daxil olmal\u0131d\u0131r`:a.format==="regex"?`Yanl\u0131\u015F m\u0259tn: ${a.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`:`Yanl\u0131\u015F ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${t.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${t.keys.length>1?"lar":""}: ${v(t.keys,", ")}`;case"invalid_key":return`${t.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${t.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};function Ap(){return{localeError:av()}}function Lp(r,e,n,i){let t=Math.abs(r),o=t%10,s=t%100;return s>=11&&s<=19?i:o===1?e:o>=2&&o<=4?n:i}var cv=()=>{let r={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},i={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return t=>{var o,s,c,l,u;switch(t.code){case"invalid_type":{let d=(o=i[t.expected])!=null?o:t.expected,a=_(t.input),p=(s=i[a])!=null?s:a;return/^[A-Z]/.test(t.expected)?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${t.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${p}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${d}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${p}`}case"invalid_value":return t.values.length===1?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${w(t.values[0])}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${v(t.values,"|")}`;case"too_big":{let d=t.inclusive?"<=":"<",a=e(t.origin);if(a){let p=Number(t.maximum),m=Lp(p,a.unit.one,a.unit.few,a.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${(c=t.origin)!=null?c:"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${a.verb} ${d}${t.maximum.toString()} ${m}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${(l=t.origin)!=null?l:"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${d}${t.maximum.toString()}`}case"too_small":{let d=t.inclusive?">=":">",a=e(t.origin);if(a){let p=Number(t.minimum),m=Lp(p,a.unit.one,a.unit.few,a.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${a.verb} ${d}${t.minimum.toString()} ${m}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${d}${t.minimum.toString()}`}case"invalid_format":{let d=t;return d.format==="starts_with"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${d.prefix}"`:d.format==="ends_with"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${d.suffix}"`:d.format==="includes"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${d.includes}"`:d.format==="regex"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${d.pattern}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${(u=n[d.format])!=null?u:t.format}`}case"not_multiple_of":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${t.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${t.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${v(t.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${t.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${t.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};function Up(){return{localeError:cv()}}var lv=()=>{let r={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},i={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${t.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${m}`:`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${a}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${m}`}case"invalid_value":return t.values.length===1?`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${w(t.values[0])}`:`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${(c=t.origin)!=null?c:"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`:`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${(u=t.origin)!=null?u:"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${a}${t.minimum.toString()} ${p.unit}`:`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;if(a.format==="starts_with")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 "${a.prefix}"`;if(a.format==="ends_with")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 "${a.suffix}"`;if(a.format==="includes")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 "${a.includes}"`;if(a.format==="regex")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${a.pattern}`;let p="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";return a.format==="emoji"&&(p="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),a.format==="datetime"&&(p="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),a.format==="date"&&(p="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"),a.format==="time"&&(p="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),a.format==="duration"&&(p="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"),`${p} ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${t.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${t.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${t.keys.length>1?"\u043E\u0432\u0435":""}: ${v(t.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${t.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${t.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};function Np(){return{localeError:lv()}}var uv=()=>{let r={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Tipus inv\xE0lid: s'esperava instanceof ${t.expected}, s'ha rebut ${m}`:`Tipus inv\xE0lid: s'esperava ${a}, s'ha rebut ${m}`}case"invalid_value":return t.values.length===1?`Valor inv\xE0lid: s'esperava ${w(t.values[0])}`:`Opci\xF3 inv\xE0lida: s'esperava una de ${v(t.values," o ")}`;case"too_big":{let a=t.inclusive?"com a m\xE0xim":"menys de",p=e(t.origin);return p?`Massa gran: s'esperava que ${(c=t.origin)!=null?c:"el valor"} contingu\xE9s ${a} ${t.maximum.toString()} ${(l=p.unit)!=null?l:"elements"}`:`Massa gran: s'esperava que ${(u=t.origin)!=null?u:"el valor"} fos ${a} ${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?"com a m\xEDnim":"m\xE9s de",p=e(t.origin);return p?`Massa petit: s'esperava que ${t.origin} contingu\xE9s ${a} ${t.minimum.toString()} ${p.unit}`:`Massa petit: s'esperava que ${t.origin} fos ${a} ${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Format inv\xE0lid: ha de comen\xE7ar amb "${a.prefix}"`:a.format==="ends_with"?`Format inv\xE0lid: ha d'acabar amb "${a.suffix}"`:a.format==="includes"?`Format inv\xE0lid: ha d'incloure "${a.includes}"`:a.format==="regex"?`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${a.pattern}`:`Format inv\xE0lid per a ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${t.divisor}`;case"unrecognized_keys":return`Clau${t.keys.length>1?"s":""} no reconeguda${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${t.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${t.origin}`;default:return"Entrada inv\xE0lida"}}};function jp(){return{localeError:uv()}}var dv=()=>{let r={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},i={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return t=>{var o,s,c,l,u,d,a,p,m;switch(t.code){case"invalid_type":{let h=(o=i[t.expected])!=null?o:t.expected,g=_(t.input),y=(s=i[g])!=null?s:g;return/^[A-Z]/.test(t.expected)?`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${t.expected}, obdr\u017Eeno ${y}`:`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${h}, obdr\u017Eeno ${y}`}case"invalid_value":return t.values.length===1?`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${w(t.values[0])}`:`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${v(t.values,"|")}`;case"too_big":{let h=t.inclusive?"<=":"<",g=e(t.origin);return g?`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${(c=t.origin)!=null?c:"hodnota"} mus\xED m\xEDt ${h}${t.maximum.toString()} ${(l=g.unit)!=null?l:"prvk\u016F"}`:`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${(u=t.origin)!=null?u:"hodnota"} mus\xED b\xFDt ${h}${t.maximum.toString()}`}case"too_small":{let h=t.inclusive?">=":">",g=e(t.origin);return g?`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${(d=t.origin)!=null?d:"hodnota"} mus\xED m\xEDt ${h}${t.minimum.toString()} ${(a=g.unit)!=null?a:"prvk\u016F"}`:`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${(p=t.origin)!=null?p:"hodnota"} mus\xED b\xFDt ${h}${t.minimum.toString()}`}case"invalid_format":{let h=t;return h.format==="starts_with"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${h.prefix}"`:h.format==="ends_with"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${h.suffix}"`:h.format==="includes"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${h.includes}"`:h.format==="regex"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${h.pattern}`:`Neplatn\xFD form\xE1t ${(m=n[h.format])!=null?m:t.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${t.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${v(t.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${t.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${t.origin}`;default:return"Neplatn\xFD vstup"}}};function Rp(){return{localeError:dv()}}var pv=()=>{let r={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},i={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Ugyldigt input: forventede instanceof ${t.expected}, fik ${m}`:`Ugyldigt input: forventede ${a}, fik ${m}`}case"invalid_value":return t.values.length===1?`Ugyldig v\xE6rdi: forventede ${w(t.values[0])}`:`Ugyldigt valg: forventede en af f\xF8lgende ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin),m=(c=i[t.origin])!=null?c:t.origin;return p?`For stor: forventede ${m!=null?m:"value"} ${p.verb} ${a} ${t.maximum.toString()} ${(l=p.unit)!=null?l:"elementer"}`:`For stor: forventede ${m!=null?m:"value"} havde ${a} ${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin),m=(u=i[t.origin])!=null?u:t.origin;return p?`For lille: forventede ${m} ${p.verb} ${a} ${t.minimum.toString()} ${p.unit}`:`For lille: forventede ${m} havde ${a} ${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Ugyldig streng: skal starte med "${a.prefix}"`:a.format==="ends_with"?`Ugyldig streng: skal ende med "${a.suffix}"`:a.format==="includes"?`Ugyldig streng: skal indeholde "${a.includes}"`:a.format==="regex"?`Ugyldig streng: skal matche m\xF8nsteret ${a.pattern}`:`Ugyldig ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${v(t.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${t.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${t.origin}`;default:return"Ugyldigt input"}}};function Zp(){return{localeError:pv()}}var mv=()=>{let r={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},i={nan:"NaN",number:"Zahl",array:"Array"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Ung\xFCltige Eingabe: erwartet instanceof ${t.expected}, erhalten ${m}`:`Ung\xFCltige Eingabe: erwartet ${a}, erhalten ${m}`}case"invalid_value":return t.values.length===1?`Ung\xFCltige Eingabe: erwartet ${w(t.values[0])}`:`Ung\xFCltige Option: erwartet eine von ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Zu gro\xDF: erwartet, dass ${(c=t.origin)!=null?c:"Wert"} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"Elemente"} hat`:`Zu gro\xDF: erwartet, dass ${(u=t.origin)!=null?u:"Wert"} ${a}${t.maximum.toString()} ist`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Zu klein: erwartet, dass ${t.origin} ${a}${t.minimum.toString()} ${p.unit} hat`:`Zu klein: erwartet, dass ${t.origin} ${a}${t.minimum.toString()} ist`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Ung\xFCltiger String: muss mit "${a.prefix}" beginnen`:a.format==="ends_with"?`Ung\xFCltiger String: muss mit "${a.suffix}" enden`:a.format==="includes"?`Ung\xFCltiger String: muss "${a.includes}" enthalten`:a.format==="regex"?`Ung\xFCltiger String: muss dem Muster ${a.pattern} entsprechen`:`Ung\xFCltig: ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${t.divisor} sein`;case"unrecognized_keys":return`${t.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${v(t.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${t.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${t.origin}`;default:return"Ung\xFCltige Eingabe"}}};function Fp(){return{localeError:mv()}}var hv=()=>{let r={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return`Invalid input: expected ${a}, received ${m}`}case"invalid_value":return t.values.length===1?`Invalid input: expected ${w(t.values[0])}`:`Invalid option: expected one of ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Too big: expected ${(c=t.origin)!=null?c:"value"} to have ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elements"}`:`Too big: expected ${(u=t.origin)!=null?u:"value"} to be ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Too small: expected ${t.origin} to have ${a}${t.minimum.toString()} ${p.unit}`:`Too small: expected ${t.origin} to be ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Invalid string: must start with "${a.prefix}"`:a.format==="ends_with"?`Invalid string: must end with "${a.suffix}"`:a.format==="includes"?`Invalid string: must include "${a.includes}"`:a.format==="regex"?`Invalid string: must match pattern ${a.pattern}`:`Invalid ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${t.divisor}`;case"unrecognized_keys":return`Unrecognized key${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`Invalid key in ${t.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${t.origin}`;default:return"Invalid input"}}};function ri(){return{localeError:hv()}}var gv=()=>{let r={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},i={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Nevalida enigo: atendi\u011Dis instanceof ${t.expected}, ricevi\u011Dis ${m}`:`Nevalida enigo: atendi\u011Dis ${a}, ricevi\u011Dis ${m}`}case"invalid_value":return t.values.length===1?`Nevalida enigo: atendi\u011Dis ${w(t.values[0])}`:`Nevalida opcio: atendi\u011Dis unu el ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Tro granda: atendi\u011Dis ke ${(c=t.origin)!=null?c:"valoro"} havu ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elementojn"}`:`Tro granda: atendi\u011Dis ke ${(u=t.origin)!=null?u:"valoro"} havu ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Tro malgranda: atendi\u011Dis ke ${t.origin} havu ${a}${t.minimum.toString()} ${p.unit}`:`Tro malgranda: atendi\u011Dis ke ${t.origin} estu ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Nevalida karaktraro: devas komenci\u011Di per "${a.prefix}"`:a.format==="ends_with"?`Nevalida karaktraro: devas fini\u011Di per "${a.suffix}"`:a.format==="includes"?`Nevalida karaktraro: devas inkluzivi "${a.includes}"`:a.format==="regex"?`Nevalida karaktraro: devas kongrui kun la modelo ${a.pattern}`:`Nevalida ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${t.divisor}`;case"unrecognized_keys":return`Nekonata${t.keys.length>1?"j":""} \u015Dlosilo${t.keys.length>1?"j":""}: ${v(t.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${t.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${t.origin}`;default:return"Nevalida enigo"}}};function Hp(){return{localeError:gv()}}var fv=()=>{let r={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return t=>{var o,s,c,l,u,d,a,p;switch(t.code){case"invalid_type":{let m=(o=i[t.expected])!=null?o:t.expected,h=_(t.input),g=(s=i[h])!=null?s:h;return/^[A-Z]/.test(t.expected)?`Entrada inv\xE1lida: se esperaba instanceof ${t.expected}, recibido ${g}`:`Entrada inv\xE1lida: se esperaba ${m}, recibido ${g}`}case"invalid_value":return t.values.length===1?`Entrada inv\xE1lida: se esperaba ${w(t.values[0])}`:`Opci\xF3n inv\xE1lida: se esperaba una de ${v(t.values,"|")}`;case"too_big":{let m=t.inclusive?"<=":"<",h=e(t.origin),g=(c=i[t.origin])!=null?c:t.origin;return h?`Demasiado grande: se esperaba que ${g!=null?g:"valor"} tuviera ${m}${t.maximum.toString()} ${(l=h.unit)!=null?l:"elementos"}`:`Demasiado grande: se esperaba que ${g!=null?g:"valor"} fuera ${m}${t.maximum.toString()}`}case"too_small":{let m=t.inclusive?">=":">",h=e(t.origin),g=(u=i[t.origin])!=null?u:t.origin;return h?`Demasiado peque\xF1o: se esperaba que ${g} tuviera ${m}${t.minimum.toString()} ${h.unit}`:`Demasiado peque\xF1o: se esperaba que ${g} fuera ${m}${t.minimum.toString()}`}case"invalid_format":{let m=t;return m.format==="starts_with"?`Cadena inv\xE1lida: debe comenzar con "${m.prefix}"`:m.format==="ends_with"?`Cadena inv\xE1lida: debe terminar en "${m.suffix}"`:m.format==="includes"?`Cadena inv\xE1lida: debe incluir "${m.includes}"`:m.format==="regex"?`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${m.pattern}`:`Inv\xE1lido ${(d=n[m.format])!=null?d:t.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${t.divisor}`;case"unrecognized_keys":return`Llave${t.keys.length>1?"s":""} desconocida${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${(a=i[t.origin])!=null?a:t.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${(p=i[t.origin])!=null?p:t.origin}`;default:return"Entrada inv\xE1lida"}}};function Vp(){return{localeError:fv()}}var vv=()=>{let r={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},i={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${t.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${m} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`:`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${a} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${m} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":return t.values.length===1?`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${w(t.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`:`\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${v(t.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${(c=t.origin)!=null?c:"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`:`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${(u=t.origin)!=null?u:"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${a}${t.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${t.origin} \u0628\u0627\u06CC\u062F ${a}${t.minimum.toString()} ${p.unit} \u0628\u0627\u0634\u062F`:`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${t.origin} \u0628\u0627\u06CC\u062F ${a}${t.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${a.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`:a.format==="ends_with"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${a.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`:a.format==="includes"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${a.includes}" \u0628\u0627\u0634\u062F`:a.format==="regex"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${a.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`:`${(d=n[a.format])!=null?d:t.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${t.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${t.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${v(t.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${t.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${t.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};function qp(){return{localeError:vv()}}var yv=()=>{let r={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},i={nan:"NaN"};return t=>{var o,s,c;switch(t.code){case"invalid_type":{let l=(o=i[t.expected])!=null?o:t.expected,u=_(t.input),d=(s=i[u])!=null?s:u;return/^[A-Z]/.test(t.expected)?`Virheellinen tyyppi: odotettiin instanceof ${t.expected}, oli ${d}`:`Virheellinen tyyppi: odotettiin ${l}, oli ${d}`}case"invalid_value":return t.values.length===1?`Virheellinen sy\xF6te: t\xE4ytyy olla ${w(t.values[0])}`:`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${v(t.values,"|")}`;case"too_big":{let l=t.inclusive?"<=":"<",u=e(t.origin);return u?`Liian suuri: ${u.subject} t\xE4ytyy olla ${l}${t.maximum.toString()} ${u.unit}`.trim():`Liian suuri: arvon t\xE4ytyy olla ${l}${t.maximum.toString()}`}case"too_small":{let l=t.inclusive?">=":">",u=e(t.origin);return u?`Liian pieni: ${u.subject} t\xE4ytyy olla ${l}${t.minimum.toString()} ${u.unit}`.trim():`Liian pieni: arvon t\xE4ytyy olla ${l}${t.minimum.toString()}`}case"invalid_format":{let l=t;return l.format==="starts_with"?`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${l.prefix}"`:l.format==="ends_with"?`Virheellinen sy\xF6te: t\xE4ytyy loppua "${l.suffix}"`:l.format==="includes"?`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${l.includes}"`:l.format==="regex"?`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${l.pattern}`:`Virheellinen ${(c=n[l.format])!=null?c:t.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${t.divisor} monikerta`;case"unrecognized_keys":return`${t.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${v(t.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};function Wp(){return{localeError:yv()}}var bv=()=>{let r={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},i={nan:"NaN",number:"nombre",array:"tableau"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Entr\xE9e invalide : instanceof ${t.expected} attendu, ${m} re\xE7u`:`Entr\xE9e invalide : ${a} attendu, ${m} re\xE7u`}case"invalid_value":return t.values.length===1?`Entr\xE9e invalide : ${w(t.values[0])} attendu`:`Option invalide : une valeur parmi ${v(t.values,"|")} attendue`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Trop grand : ${(c=t.origin)!=null?c:"valeur"} doit ${p.verb} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\xE9l\xE9ment(s)"}`:`Trop grand : ${(u=t.origin)!=null?u:"valeur"} doit \xEAtre ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Trop petit : ${t.origin} doit ${p.verb} ${a}${t.minimum.toString()} ${p.unit}`:`Trop petit : ${t.origin} doit \xEAtre ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Cha\xEEne invalide : doit commencer par "${a.prefix}"`:a.format==="ends_with"?`Cha\xEEne invalide : doit se terminer par "${a.suffix}"`:a.format==="includes"?`Cha\xEEne invalide : doit inclure "${a.includes}"`:a.format==="regex"?`Cha\xEEne invalide : doit correspondre au mod\xE8le ${a.pattern}`:`${(d=n[a.format])!=null?d:t.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${t.divisor}`;case"unrecognized_keys":return`Cl\xE9${t.keys.length>1?"s":""} non reconnue${t.keys.length>1?"s":""} : ${v(t.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${t.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${t.origin}`;default:return"Entr\xE9e invalide"}}};function Bp(){return{localeError:bv()}}var Sv=()=>{let r={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},i={nan:"NaN"};return t=>{var o,s,c,l,u;switch(t.code){case"invalid_type":{let d=(o=i[t.expected])!=null?o:t.expected,a=_(t.input),p=(s=i[a])!=null?s:a;return/^[A-Z]/.test(t.expected)?`Entr\xE9e invalide : attendu instanceof ${t.expected}, re\xE7u ${p}`:`Entr\xE9e invalide : attendu ${d}, re\xE7u ${p}`}case"invalid_value":return t.values.length===1?`Entr\xE9e invalide : attendu ${w(t.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${v(t.values,"|")}`;case"too_big":{let d=t.inclusive?"\u2264":"<",a=e(t.origin);return a?`Trop grand : attendu que ${(c=t.origin)!=null?c:"la valeur"} ait ${d}${t.maximum.toString()} ${a.unit}`:`Trop grand : attendu que ${(l=t.origin)!=null?l:"la valeur"} soit ${d}${t.maximum.toString()}`}case"too_small":{let d=t.inclusive?"\u2265":">",a=e(t.origin);return a?`Trop petit : attendu que ${t.origin} ait ${d}${t.minimum.toString()} ${a.unit}`:`Trop petit : attendu que ${t.origin} soit ${d}${t.minimum.toString()}`}case"invalid_format":{let d=t;return d.format==="starts_with"?`Cha\xEEne invalide : doit commencer par "${d.prefix}"`:d.format==="ends_with"?`Cha\xEEne invalide : doit se terminer par "${d.suffix}"`:d.format==="includes"?`Cha\xEEne invalide : doit inclure "${d.includes}"`:d.format==="regex"?`Cha\xEEne invalide : doit correspondre au motif ${d.pattern}`:`${(u=n[d.format])!=null?u:t.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${t.divisor}`;case"unrecognized_keys":return`Cl\xE9${t.keys.length>1?"s":""} non reconnue${t.keys.length>1?"s":""} : ${v(t.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${t.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${t.origin}`;default:return"Entr\xE9e invalide"}}};function Jp(){return{localeError:Sv()}}var $v=()=>{let r={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},e={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},n=u=>u?r[u]:void 0,i=u=>{let d=n(u);return d?d.label:u!=null?u:r.unknown.label},t=u=>`\u05D4${i(u)}`,o=u=>{var p;let d=n(u);return((p=d==null?void 0:d.gender)!=null?p:"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},s=u=>{var d;return u&&(d=e[u])!=null?d:null},c={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},base64url:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA",gender:"f"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},l={nan:"NaN"};return u=>{var d,a,p,m,h,g,y,b,$,P,S,x,M,G,Te,ot,st,kt,at,O,V;switch(u.code){case"invalid_type":{let T=u.expected,j=(d=l[T!=null?T:""])!=null?d:i(T),F=_(u.input),te=(m=(p=l[F])!=null?p:(a=r[F])==null?void 0:a.label)!=null?m:F;return/^[A-Z]/.test(u.expected)?`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${u.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${te}`:`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${j}, \u05D4\u05EA\u05E7\u05D1\u05DC ${te}`}case"invalid_value":{if(u.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${w(u.values[0])}`;let T=u.values.map(te=>w(te));if(u.values.length===2)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${T[0]} \u05D0\u05D5 ${T[1]}`;let j=T[T.length-1];return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${T.slice(0,-1).join(", ")} \u05D0\u05D5 ${j}`}case"too_big":{let T=s(u.origin),j=t((h=u.origin)!=null?h:"value");if(u.origin==="string")return`${(g=T==null?void 0:T.longLabel)!=null?g:"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${j} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${u.maximum.toString()} ${(y=T==null?void 0:T.unit)!=null?y:""} ${u.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(u.origin==="number"){let ke=u.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${u.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${u.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${j} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${ke}`}if(u.origin==="array"||u.origin==="set"){let ke=u.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",zo=u.inclusive?`${u.maximum} ${(b=T==null?void 0:T.unit)!=null?b:""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${u.maximum} ${($=T==null?void 0:T.unit)!=null?$:""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${j} ${ke} \u05DC\u05D4\u05DB\u05D9\u05DC ${zo}`.trim()}let F=u.inclusive?"<=":"<",te=o((P=u.origin)!=null?P:"value");return T!=null&&T.unit?`${T.longLabel} \u05DE\u05D3\u05D9: ${j} ${te} ${F}${u.maximum.toString()} ${T.unit}`:`${(S=T==null?void 0:T.longLabel)!=null?S:"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${j} ${te} ${F}${u.maximum.toString()}`}case"too_small":{let T=s(u.origin),j=t((x=u.origin)!=null?x:"value");if(u.origin==="string")return`${(M=T==null?void 0:T.shortLabel)!=null?M:"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${j} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${u.minimum.toString()} ${(G=T==null?void 0:T.unit)!=null?G:""} ${u.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(u.origin==="number"){let ke=u.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${u.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${u.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${j} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${ke}`}if(u.origin==="array"||u.origin==="set"){let ke=u.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(u.minimum===1&&u.inclusive){let Eg=(u.origin==="set","\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3");return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${j} ${ke} \u05DC\u05D4\u05DB\u05D9\u05DC ${Eg}`}let zo=u.inclusive?`${u.minimum} ${(Te=T==null?void 0:T.unit)!=null?Te:""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${u.minimum} ${(ot=T==null?void 0:T.unit)!=null?ot:""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${j} ${ke} \u05DC\u05D4\u05DB\u05D9\u05DC ${zo}`.trim()}let F=u.inclusive?">=":">",te=o((st=u.origin)!=null?st:"value");return T!=null&&T.unit?`${T.shortLabel} \u05DE\u05D3\u05D9: ${j} ${te} ${F}${u.minimum.toString()} ${T.unit}`:`${(kt=T==null?void 0:T.shortLabel)!=null?kt:"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${j} ${te} ${F}${u.minimum.toString()}`}case"invalid_format":{let T=u;if(T.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${T.prefix}"`;if(T.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${T.suffix}"`;if(T.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${T.includes}"`;if(T.format==="regex")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${T.pattern}`;let j=c[T.format],F=(at=j==null?void 0:j.label)!=null?at:T.format,ke=((O=j==null?void 0:j.gender)!=null?O:"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${F} \u05DC\u05D0 ${ke}`}case"not_multiple_of":return`\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${u.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${u.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${u.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${v(u.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${t((V=u.origin)!=null?V:"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};function Gp(){return{localeError:$v()}}var xv=()=>{let r={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},i={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${t.expected}, a kapott \xE9rt\xE9k ${m}`:`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${a}, a kapott \xE9rt\xE9k ${m}`}case"invalid_value":return t.values.length===1?`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${w(t.values[0])}`:`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`T\xFAl nagy: ${(c=t.origin)!=null?c:"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elem"}`:`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${(u=t.origin)!=null?u:"\xE9rt\xE9k"} t\xFAl nagy: ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${t.origin} m\xE9rete t\xFAl kicsi ${a}${t.minimum.toString()} ${p.unit}`:`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${t.origin} t\xFAl kicsi ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\xC9rv\xE9nytelen string: "${a.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`:a.format==="ends_with"?`\xC9rv\xE9nytelen string: "${a.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`:a.format==="includes"?`\xC9rv\xE9nytelen string: "${a.includes}" \xE9rt\xE9ket kell tartalmaznia`:a.format==="regex"?`\xC9rv\xE9nytelen string: ${a.pattern} mint\xE1nak kell megfelelnie`:`\xC9rv\xE9nytelen ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${t.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${t.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${t.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};function Kp(){return{localeError:xv()}}function Xp(r,e,n){return Math.abs(r)===1?e:n}function jt(r){if(!r)return"";let e=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],n=r[r.length-1];return r+(e.includes(n)?"\u0576":"\u0568")}var wv=()=>{let r={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},i={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return t=>{var o,s,c,l,u;switch(t.code){case"invalid_type":{let d=(o=i[t.expected])!=null?o:t.expected,a=_(t.input),p=(s=i[a])!=null?s:a;return/^[A-Z]/.test(t.expected)?`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${t.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${p}`:`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${d}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${p}`}case"invalid_value":return t.values.length===1?`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${w(t.values[1])}`:`\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${v(t.values,"|")}`;case"too_big":{let d=t.inclusive?"<=":"<",a=e(t.origin);if(a){let p=Number(t.maximum),m=Xp(p,a.unit.one,a.unit.many);return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${jt((c=t.origin)!=null?c:"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${d}${t.maximum.toString()} ${m}`}return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${jt((l=t.origin)!=null?l:"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${d}${t.maximum.toString()}`}case"too_small":{let d=t.inclusive?">=":">",a=e(t.origin);if(a){let p=Number(t.minimum),m=Xp(p,a.unit.one,a.unit.many);return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${jt(t.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${d}${t.minimum.toString()} ${m}`}return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${jt(t.origin)} \u056C\u056B\u0576\u056B ${d}${t.minimum.toString()}`}case"invalid_format":{let d=t;return d.format==="starts_with"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${d.prefix}"-\u0578\u057E`:d.format==="ends_with"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${d.suffix}"-\u0578\u057E`:d.format==="includes"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${d.includes}"`:d.format==="regex"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${d.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`:`\u054D\u056D\u0561\u056C ${(u=n[d.format])!=null?u:t.format}`}case"not_multiple_of":return`\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${t.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${t.keys.length>1?"\u0576\u0565\u0580":""}. ${v(t.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${jt(t.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${jt(t.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};function Yp(){return{localeError:wv()}}var _v=()=>{let r={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Input tidak valid: diharapkan instanceof ${t.expected}, diterima ${m}`:`Input tidak valid: diharapkan ${a}, diterima ${m}`}case"invalid_value":return t.values.length===1?`Input tidak valid: diharapkan ${w(t.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Terlalu besar: diharapkan ${(c=t.origin)!=null?c:"value"} memiliki ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elemen"}`:`Terlalu besar: diharapkan ${(u=t.origin)!=null?u:"value"} menjadi ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Terlalu kecil: diharapkan ${t.origin} memiliki ${a}${t.minimum.toString()} ${p.unit}`:`Terlalu kecil: diharapkan ${t.origin} menjadi ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`String tidak valid: harus dimulai dengan "${a.prefix}"`:a.format==="ends_with"?`String tidak valid: harus berakhir dengan "${a.suffix}"`:a.format==="includes"?`String tidak valid: harus menyertakan "${a.includes}"`:a.format==="regex"?`String tidak valid: harus sesuai pola ${a.pattern}`:`${(d=n[a.format])!=null?d:t.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${t.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${t.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${t.origin}`;default:return"Input tidak valid"}}};function Qp(){return{localeError:_v()}}var kv=()=>{let r={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},i={nan:"NaN",number:"n\xFAmer",array:"fylki"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Rangt gildi: \xDE\xFA sl\xF3st inn ${m} \xFEar sem \xE1 a\xF0 vera instanceof ${t.expected}`:`Rangt gildi: \xDE\xFA sl\xF3st inn ${m} \xFEar sem \xE1 a\xF0 vera ${a}`}case"invalid_value":return t.values.length===1?`Rangt gildi: gert r\xE1\xF0 fyrir ${w(t.values[0])}`:`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${(c=t.origin)!=null?c:"gildi"} hafi ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"hluti"}`:`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${(u=t.origin)!=null?u:"gildi"} s\xE9 ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin} hafi ${a}${t.minimum.toString()} ${p.unit}`:`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin} s\xE9 ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${a.prefix}"`:a.format==="ends_with"?`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${a.suffix}"`:a.format==="includes"?`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${a.includes}"`:a.format==="regex"?`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${a.pattern}`:`Rangt ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${t.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${t.keys.length>1?"ir lyklar":"ur lykill"}: ${v(t.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${t.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${t.origin}`;default:return"Rangt gildi"}}};function em(){return{localeError:kv()}}var Cv=()=>{let r={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"numero",array:"vettore"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Input non valido: atteso instanceof ${t.expected}, ricevuto ${m}`:`Input non valido: atteso ${a}, ricevuto ${m}`}case"invalid_value":return t.values.length===1?`Input non valido: atteso ${w(t.values[0])}`:`Opzione non valida: atteso uno tra ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Troppo grande: ${(c=t.origin)!=null?c:"valore"} deve avere ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elementi"}`:`Troppo grande: ${(u=t.origin)!=null?u:"valore"} deve essere ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Troppo piccolo: ${t.origin} deve avere ${a}${t.minimum.toString()} ${p.unit}`:`Troppo piccolo: ${t.origin} deve essere ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Stringa non valida: deve iniziare con "${a.prefix}"`:a.format==="ends_with"?`Stringa non valida: deve terminare con "${a.suffix}"`:a.format==="includes"?`Stringa non valida: deve includere "${a.includes}"`:a.format==="regex"?`Stringa non valida: deve corrispondere al pattern ${a.pattern}`:`Invalid ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${t.divisor}`;case"unrecognized_keys":return`Chiav${t.keys.length>1?"i":"e"} non riconosciut${t.keys.length>1?"e":"a"}: ${v(t.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${t.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${t.origin}`;default:return"Input non valido"}}};function tm(){return{localeError:Cv()}}var Ev=()=>{let r={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},i={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u7121\u52B9\u306A\u5165\u529B: instanceof ${t.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${m}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`:`\u7121\u52B9\u306A\u5165\u529B: ${a}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${m}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":return t.values.length===1?`\u7121\u52B9\u306A\u5165\u529B: ${w(t.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`:`\u7121\u52B9\u306A\u9078\u629E: ${v(t.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let a=t.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",p=e(t.origin);return p?`\u5927\u304D\u3059\u304E\u308B\u5024: ${(c=t.origin)!=null?c:"\u5024"}\u306F${t.maximum.toString()}${(l=p.unit)!=null?l:"\u8981\u7D20"}${a}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u5927\u304D\u3059\u304E\u308B\u5024: ${(u=t.origin)!=null?u:"\u5024"}\u306F${t.maximum.toString()}${a}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let a=t.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",p=e(t.origin);return p?`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${t.origin}\u306F${t.minimum.toString()}${p.unit}${a}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${t.origin}\u306F${t.minimum.toString()}${a}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${a.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:a.format==="ends_with"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${a.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:a.format==="includes"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${a.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:a.format==="regex"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${a.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u7121\u52B9\u306A${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${t.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${t.keys.length>1?"\u7FA4":""}: ${v(t.keys,"\u3001")}`;case"invalid_key":return`${t.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${t.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};function nm(){return{localeError:Ev()}}var Iv=()=>{let r={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",json_string:"JSON \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},i={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return t=>{var o,s,c,l,u;switch(t.code){case"invalid_type":{let d=(o=i[t.expected])!=null?o:t.expected,a=_(t.input),p=(s=i[a])!=null?s:a;return/^[A-Z]/.test(t.expected)?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${t.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${p}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${d}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${p}`}case"invalid_value":return t.values.length===1?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${w(t.values[0])}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${v(t.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let d=t.inclusive?"<=":"<",a=e(t.origin);return a?`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${(c=t.origin)!=null?c:"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${a.verb} ${d}${t.maximum.toString()} ${a.unit}`:`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${(l=t.origin)!=null?l:"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${d}${t.maximum.toString()}`}case"too_small":{let d=t.inclusive?">=":">",a=e(t.origin);return a?`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin} ${a.verb} ${d}${t.minimum.toString()} ${a.unit}`:`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin} \u10D8\u10E7\u10DD\u10E1 ${d}${t.minimum.toString()}`}case"invalid_format":{let d=t;return d.format==="starts_with"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${d.prefix}"-\u10D8\u10D7`:d.format==="ends_with"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${d.suffix}"-\u10D8\u10D7`:d.format==="includes"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${d.includes}"-\u10E1`:d.format==="regex"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${d.pattern}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${(u=n[d.format])!=null?u:t.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${t.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${t.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${v(t.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${t.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${t.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};function rm(){return{localeError:Iv()}}var Pv=()=>{let r={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},i={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${t.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${m}`:`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${a} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${m}`}case"invalid_value":return t.values.length===1?`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${w(t.values[0])}`:`\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${(c=t.origin)!=null?c:"\u178F\u1798\u17D2\u179B\u17C3"} ${a} ${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u1792\u17B6\u178F\u17BB"}`:`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${(u=t.origin)!=null?u:"\u178F\u1798\u17D2\u179B\u17C3"} ${a} ${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin} ${a} ${t.minimum.toString()} ${p.unit}`:`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin} ${a} ${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${a.prefix}"`:a.format==="ends_with"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${a.suffix}"`:a.format==="includes"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${a.includes}"`:a.format==="regex"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${a.pattern}`:`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${t.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${v(t.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${t.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${t.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};function ii(){return{localeError:Pv()}}function im(){return ii()}var Tv=()=>{let r={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},i={nan:"NaN"};return t=>{var o,s,c,l,u,d,a,p,m;switch(t.code){case"invalid_type":{let h=(o=i[t.expected])!=null?o:t.expected,g=_(t.input),y=(s=i[g])!=null?s:g;return/^[A-Z]/.test(t.expected)?`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${t.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${y}\uC785\uB2C8\uB2E4`:`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${h}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${y}\uC785\uB2C8\uB2E4`}case"invalid_value":return t.values.length===1?`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${w(t.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`:`\uC798\uBABB\uB41C \uC635\uC158: ${v(t.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let h=t.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",g=h==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",y=e(t.origin),b=(c=y==null?void 0:y.unit)!=null?c:"\uC694\uC18C";return y?`${(l=t.origin)!=null?l:"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${t.maximum.toString()}${b} ${h}${g}`:`${(u=t.origin)!=null?u:"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${t.maximum.toString()} ${h}${g}`}case"too_small":{let h=t.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",g=h==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",y=e(t.origin),b=(d=y==null?void 0:y.unit)!=null?d:"\uC694\uC18C";return y?`${(a=t.origin)!=null?a:"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${t.minimum.toString()}${b} ${h}${g}`:`${(p=t.origin)!=null?p:"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${t.minimum.toString()} ${h}${g}`}case"invalid_format":{let h=t;return h.format==="starts_with"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${h.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`:h.format==="ends_with"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${h.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`:h.format==="includes"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${h.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`:h.format==="regex"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${h.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`:`\uC798\uBABB\uB41C ${(m=n[h.format])!=null?m:t.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${t.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${v(t.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${t.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${t.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};function om(){return{localeError:Tv()}}var Mn=r=>r.charAt(0).toUpperCase()+r.slice(1);function sm(r){let e=Math.abs(r),n=e%10,i=e%100;return i>=11&&i<=19||n===0?"many":n===1?"one":"few"}var zv=()=>{let r={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function e(t,o,s,c){var u;let l=(u=r[t])!=null?u:null;return l===null?l:{unit:l.unit[o],verb:l.verb[c][s?"inclusive":"notInclusive"]}}let n={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},i={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return t=>{var o,s,c,l,u,d,a,p,m,h,g,y,b,$,P;switch(t.code){case"invalid_type":{let S=(o=i[t.expected])!=null?o:t.expected,x=_(t.input),M=(s=i[x])!=null?s:x;return/^[A-Z]/.test(t.expected)?`Gautas tipas ${M}, o tik\u0117tasi - instanceof ${t.expected}`:`Gautas tipas ${M}, o tik\u0117tasi - ${S}`}case"invalid_value":return t.values.length===1?`Privalo b\u016Bti ${w(t.values[0])}`:`Privalo b\u016Bti vienas i\u0161 ${v(t.values,"|")} pasirinkim\u0173`;case"too_big":{let S=(c=i[t.origin])!=null?c:t.origin,x=e(t.origin,sm(Number(t.maximum)),(l=t.inclusive)!=null?l:!1,"smaller");if(x!=null&&x.verb)return`${Mn((u=S!=null?S:t.origin)!=null?u:"reik\u0161m\u0117")} ${x.verb} ${t.maximum.toString()} ${(d=x.unit)!=null?d:"element\u0173"}`;let M=t.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${Mn((a=S!=null?S:t.origin)!=null?a:"reik\u0161m\u0117")} turi b\u016Bti ${M} ${t.maximum.toString()} ${x==null?void 0:x.unit}`}case"too_small":{let S=(p=i[t.origin])!=null?p:t.origin,x=e(t.origin,sm(Number(t.minimum)),(m=t.inclusive)!=null?m:!1,"bigger");if(x!=null&&x.verb)return`${Mn((h=S!=null?S:t.origin)!=null?h:"reik\u0161m\u0117")} ${x.verb} ${t.minimum.toString()} ${(g=x.unit)!=null?g:"element\u0173"}`;let M=t.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${Mn((y=S!=null?S:t.origin)!=null?y:"reik\u0161m\u0117")} turi b\u016Bti ${M} ${t.minimum.toString()} ${x==null?void 0:x.unit}`}case"invalid_format":{let S=t;return S.format==="starts_with"?`Eilut\u0117 privalo prasid\u0117ti "${S.prefix}"`:S.format==="ends_with"?`Eilut\u0117 privalo pasibaigti "${S.suffix}"`:S.format==="includes"?`Eilut\u0117 privalo \u012Ftraukti "${S.includes}"`:S.format==="regex"?`Eilut\u0117 privalo atitikti ${S.pattern}`:`Neteisingas ${(b=n[S.format])!=null?b:t.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${t.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${t.keys.length>1?"i":"as"} rakt${t.keys.length>1?"ai":"as"}: ${v(t.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let S=($=i[t.origin])!=null?$:t.origin;return`${Mn((P=S!=null?S:t.origin)!=null?P:"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};function am(){return{localeError:zv()}}var Ov=()=>{let r={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},i={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${t.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${m}`:`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${a}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${m}`}case"invalid_value":return t.values.length===1?`Invalid input: expected ${w(t.values[0])}`:`\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${(c=t.origin)!=null?c:"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`:`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${(u=t.origin)!=null?u:"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin} \u0434\u0430 \u0438\u043C\u0430 ${a}${t.minimum.toString()} ${p.unit}`:`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${a.prefix}"`:a.format==="ends_with"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${a.suffix}"`:a.format==="includes"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${a.includes}"`:a.format==="regex"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${a.pattern}`:`Invalid ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438":"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${v(t.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${t.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${t.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};function cm(){return{localeError:Ov()}}var Dv=()=>{let r={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"nombor"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Input tidak sah: dijangka instanceof ${t.expected}, diterima ${m}`:`Input tidak sah: dijangka ${a}, diterima ${m}`}case"invalid_value":return t.values.length===1?`Input tidak sah: dijangka ${w(t.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Terlalu besar: dijangka ${(c=t.origin)!=null?c:"nilai"} ${p.verb} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elemen"}`:`Terlalu besar: dijangka ${(u=t.origin)!=null?u:"nilai"} adalah ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Terlalu kecil: dijangka ${t.origin} ${p.verb} ${a}${t.minimum.toString()} ${p.unit}`:`Terlalu kecil: dijangka ${t.origin} adalah ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`String tidak sah: mesti bermula dengan "${a.prefix}"`:a.format==="ends_with"?`String tidak sah: mesti berakhir dengan "${a.suffix}"`:a.format==="includes"?`String tidak sah: mesti mengandungi "${a.includes}"`:a.format==="regex"?`String tidak sah: mesti sepadan dengan corak ${a.pattern}`:`${(d=n[a.format])!=null?d:t.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${t.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${v(t.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${t.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${t.origin}`;default:return"Input tidak sah"}}};function lm(){return{localeError:Dv()}}var Mv=()=>{let r={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},i={nan:"NaN",number:"getal"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Ongeldige invoer: verwacht instanceof ${t.expected}, ontving ${m}`:`Ongeldige invoer: verwacht ${a}, ontving ${m}`}case"invalid_value":return t.values.length===1?`Ongeldige invoer: verwacht ${w(t.values[0])}`:`Ongeldige optie: verwacht \xE9\xE9n van ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin),m=t.origin==="date"?"laat":t.origin==="string"?"lang":"groot";return p?`Te ${m}: verwacht dat ${(c=t.origin)!=null?c:"waarde"} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elementen"} ${p.verb}`:`Te ${m}: verwacht dat ${(u=t.origin)!=null?u:"waarde"} ${a}${t.maximum.toString()} is`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin),m=t.origin==="date"?"vroeg":t.origin==="string"?"kort":"klein";return p?`Te ${m}: verwacht dat ${t.origin} ${a}${t.minimum.toString()} ${p.unit} ${p.verb}`:`Te ${m}: verwacht dat ${t.origin} ${a}${t.minimum.toString()} is`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Ongeldige tekst: moet met "${a.prefix}" beginnen`:a.format==="ends_with"?`Ongeldige tekst: moet op "${a.suffix}" eindigen`:a.format==="includes"?`Ongeldige tekst: moet "${a.includes}" bevatten`:a.format==="regex"?`Ongeldige tekst: moet overeenkomen met patroon ${a.pattern}`:`Ongeldig: ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${t.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${t.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${t.origin}`;default:return"Ongeldige invoer"}}};function um(){return{localeError:Mv()}}var Av=()=>{let r={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"tall",array:"liste"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Ugyldig input: forventet instanceof ${t.expected}, fikk ${m}`:`Ugyldig input: forventet ${a}, fikk ${m}`}case"invalid_value":return t.values.length===1?`Ugyldig verdi: forventet ${w(t.values[0])}`:`Ugyldig valg: forventet en av ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`For stor(t): forventet ${(c=t.origin)!=null?c:"value"} til \xE5 ha ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elementer"}`:`For stor(t): forventet ${(u=t.origin)!=null?u:"value"} til \xE5 ha ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`For lite(n): forventet ${t.origin} til \xE5 ha ${a}${t.minimum.toString()} ${p.unit}`:`For lite(n): forventet ${t.origin} til \xE5 ha ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Ugyldig streng: m\xE5 starte med "${a.prefix}"`:a.format==="ends_with"?`Ugyldig streng: m\xE5 ende med "${a.suffix}"`:a.format==="includes"?`Ugyldig streng: m\xE5 inneholde "${a.includes}"`:a.format==="regex"?`Ugyldig streng: m\xE5 matche m\xF8nsteret ${a.pattern}`:`Ugyldig ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${v(t.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${t.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${t.origin}`;default:return"Ugyldig input"}}};function dm(){return{localeError:Av()}}var Lv=()=>{let r={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},i={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`F\xE2sit giren: umulan instanceof ${t.expected}, al\u0131nan ${m}`:`F\xE2sit giren: umulan ${a}, al\u0131nan ${m}`}case"invalid_value":return t.values.length===1?`F\xE2sit giren: umulan ${w(t.values[0])}`:`F\xE2sit tercih: m\xFBteberler ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Fazla b\xFCy\xFCk: ${(c=t.origin)!=null?c:"value"}, ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elements"} sahip olmal\u0131yd\u0131.`:`Fazla b\xFCy\xFCk: ${(u=t.origin)!=null?u:"value"}, ${a}${t.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Fazla k\xFC\xE7\xFCk: ${t.origin}, ${a}${t.minimum.toString()} ${p.unit} sahip olmal\u0131yd\u0131.`:`Fazla k\xFC\xE7\xFCk: ${t.origin}, ${a}${t.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let a=t;return a.format==="starts_with"?`F\xE2sit metin: "${a.prefix}" ile ba\u015Flamal\u0131.`:a.format==="ends_with"?`F\xE2sit metin: "${a.suffix}" ile bitmeli.`:a.format==="includes"?`F\xE2sit metin: "${a.includes}" ihtiv\xE2 etmeli.`:a.format==="regex"?`F\xE2sit metin: ${a.pattern} nak\u015F\u0131na uymal\u0131.`:`F\xE2sit ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${t.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`${t.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${t.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};function pm(){return{localeError:Lv()}}var Uv=()=>{let r={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},i={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${t.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${m} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`:`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${a} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${m} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":return t.values.length===1?`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${w(t.values[0])} \u0648\u0627\u06CC`:`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${v(t.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${(c=t.origin)!=null?c:"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`:`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${(u=t.origin)!=null?u:"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${a}${t.maximum.toString()} \u0648\u064A`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${t.origin} \u0628\u0627\u06CC\u062F ${a}${t.minimum.toString()} ${p.unit} \u0648\u0644\u0631\u064A`:`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${t.origin} \u0628\u0627\u06CC\u062F ${a}${t.minimum.toString()} \u0648\u064A`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${a.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`:a.format==="ends_with"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${a.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`:a.format==="includes"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${a.includes}" \u0648\u0644\u0631\u064A`:a.format==="regex"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${a.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`:`${(d=n[a.format])!=null?d:t.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${t.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${t.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${v(t.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${t.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${t.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};function mm(){return{localeError:Uv()}}var Nv=()=>{let r={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},i={nan:"NaN",number:"liczba",array:"tablica"};return t=>{var o,s,c,l,u,d,a,p,m;switch(t.code){case"invalid_type":{let h=(o=i[t.expected])!=null?o:t.expected,g=_(t.input),y=(s=i[g])!=null?s:g;return/^[A-Z]/.test(t.expected)?`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${t.expected}, otrzymano ${y}`:`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${h}, otrzymano ${y}`}case"invalid_value":return t.values.length===1?`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${w(t.values[0])}`:`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${v(t.values,"|")}`;case"too_big":{let h=t.inclusive?"<=":"<",g=e(t.origin);return g?`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${(c=t.origin)!=null?c:"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${h}${t.maximum.toString()} ${(l=g.unit)!=null?l:"element\xF3w"}`:`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${(u=t.origin)!=null?u:"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${h}${t.maximum.toString()}`}case"too_small":{let h=t.inclusive?">=":">",g=e(t.origin);return g?`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${(d=t.origin)!=null?d:"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${h}${t.minimum.toString()} ${(a=g.unit)!=null?a:"element\xF3w"}`:`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${(p=t.origin)!=null?p:"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${h}${t.minimum.toString()}`}case"invalid_format":{let h=t;return h.format==="starts_with"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${h.prefix}"`:h.format==="ends_with"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${h.suffix}"`:h.format==="includes"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${h.includes}"`:h.format==="regex"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${h.pattern}`:`Nieprawid\u0142ow(y/a/e) ${(m=n[h.format])!=null?m:t.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${t.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${t.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${t.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};function hm(){return{localeError:Nv()}}var jv=()=>{let r={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN",number:"n\xFAmero",null:"nulo"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Tipo inv\xE1lido: esperado instanceof ${t.expected}, recebido ${m}`:`Tipo inv\xE1lido: esperado ${a}, recebido ${m}`}case"invalid_value":return t.values.length===1?`Entrada inv\xE1lida: esperado ${w(t.values[0])}`:`Op\xE7\xE3o inv\xE1lida: esperada uma das ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Muito grande: esperado que ${(c=t.origin)!=null?c:"valor"} tivesse ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elementos"}`:`Muito grande: esperado que ${(u=t.origin)!=null?u:"valor"} fosse ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Muito pequeno: esperado que ${t.origin} tivesse ${a}${t.minimum.toString()} ${p.unit}`:`Muito pequeno: esperado que ${t.origin} fosse ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Texto inv\xE1lido: deve come\xE7ar com "${a.prefix}"`:a.format==="ends_with"?`Texto inv\xE1lido: deve terminar com "${a.suffix}"`:a.format==="includes"?`Texto inv\xE1lido: deve incluir "${a.includes}"`:a.format==="regex"?`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${a.pattern}`:`${(d=n[a.format])!=null?d:t.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${t.divisor}`;case"unrecognized_keys":return`Chave${t.keys.length>1?"s":""} desconhecida${t.keys.length>1?"s":""}: ${v(t.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${t.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${t.origin}`;default:return"Campo inv\xE1lido"}}};function gm(){return{localeError:jv()}}function fm(r,e,n,i){let t=Math.abs(r),o=t%10,s=t%100;return s>=11&&s<=19?i:o===1?e:o>=2&&o<=4?n:i}var Rv=()=>{let r={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},i={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return t=>{var o,s,c,l,u;switch(t.code){case"invalid_type":{let d=(o=i[t.expected])!=null?o:t.expected,a=_(t.input),p=(s=i[a])!=null?s:a;return/^[A-Z]/.test(t.expected)?`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${t.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${p}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${d}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${p}`}case"invalid_value":return t.values.length===1?`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${w(t.values[0])}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${v(t.values,"|")}`;case"too_big":{let d=t.inclusive?"<=":"<",a=e(t.origin);if(a){let p=Number(t.maximum),m=fm(p,a.unit.one,a.unit.few,a.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${(c=t.origin)!=null?c:"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${d}${t.maximum.toString()} ${m}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${(l=t.origin)!=null?l:"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${d}${t.maximum.toString()}`}case"too_small":{let d=t.inclusive?">=":">",a=e(t.origin);if(a){let p=Number(t.minimum),m=fm(p,a.unit.one,a.unit.few,a.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${d}${t.minimum.toString()} ${m}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin} \u0431\u0443\u0434\u0435\u0442 ${d}${t.minimum.toString()}`}case"invalid_format":{let d=t;return d.format==="starts_with"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${d.prefix}"`:d.format==="ends_with"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${d.suffix}"`:d.format==="includes"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${d.includes}"`:d.format==="regex"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${d.pattern}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${(u=n[d.format])!=null?u:t.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${t.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${t.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${t.keys.length>1?"\u0438":""}: ${v(t.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${t.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${t.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};function vm(){return{localeError:Rv()}}var Zv=()=>{let r={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},i={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Neveljaven vnos: pri\u010Dakovano instanceof ${t.expected}, prejeto ${m}`:`Neveljaven vnos: pri\u010Dakovano ${a}, prejeto ${m}`}case"invalid_value":return t.values.length===1?`Neveljaven vnos: pri\u010Dakovano ${w(t.values[0])}`:`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Preveliko: pri\u010Dakovano, da bo ${(c=t.origin)!=null?c:"vrednost"} imelo ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"elementov"}`:`Preveliko: pri\u010Dakovano, da bo ${(u=t.origin)!=null?u:"vrednost"} ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Premajhno: pri\u010Dakovano, da bo ${t.origin} imelo ${a}${t.minimum.toString()} ${p.unit}`:`Premajhno: pri\u010Dakovano, da bo ${t.origin} ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Neveljaven niz: mora se za\u010Deti z "${a.prefix}"`:a.format==="ends_with"?`Neveljaven niz: mora se kon\u010Dati z "${a.suffix}"`:a.format==="includes"?`Neveljaven niz: mora vsebovati "${a.includes}"`:a.format==="regex"?`Neveljaven niz: mora ustrezati vzorcu ${a.pattern}`:`Neveljaven ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${t.divisor}`;case"unrecognized_keys":return`Neprepoznan${t.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${v(t.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${t.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${t.origin}`;default:return"Neveljaven vnos"}}};function ym(){return{localeError:Zv()}}var Fv=()=>{let r={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},i={nan:"NaN",number:"antal",array:"lista"};return t=>{var o,s,c,l,u,d,a,p,m,h;switch(t.code){case"invalid_type":{let g=(o=i[t.expected])!=null?o:t.expected,y=_(t.input),b=(s=i[y])!=null?s:y;return/^[A-Z]/.test(t.expected)?`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${t.expected}, fick ${b}`:`Ogiltig inmatning: f\xF6rv\xE4ntat ${g}, fick ${b}`}case"invalid_value":return t.values.length===1?`Ogiltig inmatning: f\xF6rv\xE4ntat ${w(t.values[0])}`:`Ogiltigt val: f\xF6rv\xE4ntade en av ${v(t.values,"|")}`;case"too_big":{let g=t.inclusive?"<=":"<",y=e(t.origin);return y?`F\xF6r stor(t): f\xF6rv\xE4ntade ${(c=t.origin)!=null?c:"v\xE4rdet"} att ha ${g}${t.maximum.toString()} ${(l=y.unit)!=null?l:"element"}`:`F\xF6r stor(t): f\xF6rv\xE4ntat ${(u=t.origin)!=null?u:"v\xE4rdet"} att ha ${g}${t.maximum.toString()}`}case"too_small":{let g=t.inclusive?">=":">",y=e(t.origin);return y?`F\xF6r lite(t): f\xF6rv\xE4ntade ${(d=t.origin)!=null?d:"v\xE4rdet"} att ha ${g}${t.minimum.toString()} ${y.unit}`:`F\xF6r lite(t): f\xF6rv\xE4ntade ${(a=t.origin)!=null?a:"v\xE4rdet"} att ha ${g}${t.minimum.toString()}`}case"invalid_format":{let g=t;return g.format==="starts_with"?`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${g.prefix}"`:g.format==="ends_with"?`Ogiltig str\xE4ng: m\xE5ste sluta med "${g.suffix}"`:g.format==="includes"?`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${g.includes}"`:g.format==="regex"?`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${g.pattern}"`:`Ogiltig(t) ${(p=n[g.format])!=null?p:t.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${v(t.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${(m=t.origin)!=null?m:"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${(h=t.origin)!=null?h:"v\xE4rdet"}`;default:return"Ogiltig input"}}};function bm(){return{localeError:Fv()}}var Hv=()=>{let r={string:{unit:"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},file:{unit:"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},array:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},set:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${t.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${m}`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${a}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${m}`}case"invalid_value":return t.values.length===1?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${w(t.values[0])}`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${v(t.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${(c=t.origin)!=null?c:"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${(u=t.origin)!=null?u:"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${a}${t.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin} ${a}${t.minimum.toString()} ${p.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin} ${a}${t.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${a.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:a.format==="ends_with"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${a.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:a.format==="includes"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${a.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:a.format==="regex"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${a.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${t.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${t.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${v(t.keys,", ")}`;case"invalid_key":return`${t.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${t.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};function Sm(){return{localeError:Hv()}}var Vv=()=>{let r={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",e164:"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},i={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${t.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${m}`:`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${a} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${m}`}case"invalid_value":return t.values.length===1?`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${w(t.values[0])}`:`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",p=e(t.origin);return p?`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${(c=t.origin)!=null?c:"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${a} ${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`:`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${(u=t.origin)!=null?u:"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${a} ${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",p=e(t.origin);return p?`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${a} ${t.minimum.toString()} ${p.unit}`:`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${a} ${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${a.prefix}"`:a.format==="ends_with"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${a.suffix}"`:a.format==="includes"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${a.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`:a.format==="regex"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${a.pattern}`:`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${t.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${v(t.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${t.origin}`;case"invalid_union":return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${t.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};function $m(){return{localeError:Vv()}}var qv=()=>{let r={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},i={nan:"NaN"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${t.expected}, al\u0131nan ${m}`:`Ge\xE7ersiz de\u011Fer: beklenen ${a}, al\u0131nan ${m}`}case"invalid_value":return t.values.length===1?`Ge\xE7ersiz de\u011Fer: beklenen ${w(t.values[0])}`:`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\xC7ok b\xFCy\xFCk: beklenen ${(c=t.origin)!=null?c:"de\u011Fer"} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\xF6\u011Fe"}`:`\xC7ok b\xFCy\xFCk: beklenen ${(u=t.origin)!=null?u:"de\u011Fer"} ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\xC7ok k\xFC\xE7\xFCk: beklenen ${t.origin} ${a}${t.minimum.toString()} ${p.unit}`:`\xC7ok k\xFC\xE7\xFCk: beklenen ${t.origin} ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Ge\xE7ersiz metin: "${a.prefix}" ile ba\u015Flamal\u0131`:a.format==="ends_with"?`Ge\xE7ersiz metin: "${a.suffix}" ile bitmeli`:a.format==="includes"?`Ge\xE7ersiz metin: "${a.includes}" i\xE7ermeli`:a.format==="regex"?`Ge\xE7ersiz metin: ${a.pattern} desenine uymal\u0131`:`Ge\xE7ersiz ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${t.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${t.keys.length>1?"lar":""}: ${v(t.keys,", ")}`;case"invalid_key":return`${t.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${t.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};function xm(){return{localeError:qv()}}var Wv=()=>{let r={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},i={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${t.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${m}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${a}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${m}`}case"invalid_value":return t.values.length===1?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${w(t.values[0])}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${(c=t.origin)!=null?c:"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${p.verb} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`:`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${(u=t.origin)!=null?u:"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin} ${p.verb} ${a}${t.minimum.toString()} ${p.unit}`:`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin} \u0431\u0443\u0434\u0435 ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${a.prefix}"`:a.format==="ends_with"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${a.suffix}"`:a.format==="includes"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${a.includes}"`:a.format==="regex"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${a.pattern}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${t.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${t.keys.length>1?"\u0456":""}: ${v(t.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${t.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${t.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};function oi(){return{localeError:Wv()}}function wm(){return oi()}var Bv=()=>{let r={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},i={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${t.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${m} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`:`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${a} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${m} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":return t.values.length===1?`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${w(t.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`:`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${v(t.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u0628\u06C1\u062A \u0628\u0691\u0627: ${(c=t.origin)!=null?c:"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`:`\u0628\u06C1\u062A \u0628\u0691\u0627: ${(u=t.origin)!=null?u:"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${a}${t.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${t.origin} \u06A9\u06D2 ${a}${t.minimum.toString()} ${p.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`:`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${t.origin} \u06A9\u0627 ${a}${t.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${a.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:a.format==="ends_with"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${a.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:a.format==="includes"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${a.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:a.format==="regex"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${a.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:`\u063A\u0644\u0637 ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${t.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${t.keys.length>1?"\u0632":""}: ${v(t.keys,"\u060C ")}`;case"invalid_key":return`${t.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${t.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};function _m(){return{localeError:Bv()}}var Jv=()=>{let r={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},i={nan:"NaN",number:"raqam",array:"massiv"};return t=>{var o,s,c,l,u;switch(t.code){case"invalid_type":{let d=(o=i[t.expected])!=null?o:t.expected,a=_(t.input),p=(s=i[a])!=null?s:a;return/^[A-Z]/.test(t.expected)?`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${t.expected}, qabul qilingan ${p}`:`Noto\u2018g\u2018ri kirish: kutilgan ${d}, qabul qilingan ${p}`}case"invalid_value":return t.values.length===1?`Noto\u2018g\u2018ri kirish: kutilgan ${w(t.values[0])}`:`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${v(t.values,"|")}`;case"too_big":{let d=t.inclusive?"<=":"<",a=e(t.origin);return a?`Juda katta: kutilgan ${(c=t.origin)!=null?c:"qiymat"} ${d}${t.maximum.toString()} ${a.unit} ${a.verb}`:`Juda katta: kutilgan ${(l=t.origin)!=null?l:"qiymat"} ${d}${t.maximum.toString()}`}case"too_small":{let d=t.inclusive?">=":">",a=e(t.origin);return a?`Juda kichik: kutilgan ${t.origin} ${d}${t.minimum.toString()} ${a.unit} ${a.verb}`:`Juda kichik: kutilgan ${t.origin} ${d}${t.minimum.toString()}`}case"invalid_format":{let d=t;return d.format==="starts_with"?`Noto\u2018g\u2018ri satr: "${d.prefix}" bilan boshlanishi kerak`:d.format==="ends_with"?`Noto\u2018g\u2018ri satr: "${d.suffix}" bilan tugashi kerak`:d.format==="includes"?`Noto\u2018g\u2018ri satr: "${d.includes}" ni o\u2018z ichiga olishi kerak`:d.format==="regex"?`Noto\u2018g\u2018ri satr: ${d.pattern} shabloniga mos kelishi kerak`:`Noto\u2018g\u2018ri ${(u=n[d.format])!=null?u:t.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${t.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${t.keys.length>1?"lar":""}: ${v(t.keys,", ")}`;case"invalid_key":return`${t.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${t.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};function km(){return{localeError:Jv()}}var Gv=()=>{let r={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},i={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${t.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${m}`:`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${a}, nh\u1EADn \u0111\u01B0\u1EE3c ${m}`}case"invalid_value":return t.values.length===1?`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${w(t.values[0])}`:`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${(c=t.origin)!=null?c:"gi\xE1 tr\u1ECB"} ${p.verb} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"ph\u1EA7n t\u1EED"}`:`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${(u=t.origin)!=null?u:"gi\xE1 tr\u1ECB"} ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${t.origin} ${p.verb} ${a}${t.minimum.toString()} ${p.unit}`:`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${t.origin} ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${a.prefix}"`:a.format==="ends_with"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${a.suffix}"`:a.format==="includes"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${a.includes}"`:a.format==="regex"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${a.pattern}`:`${(d=n[a.format])!=null?d:t.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${t.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${v(t.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${t.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${t.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};function Cm(){return{localeError:Gv()}}var Kv=()=>{let r={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},i={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${t.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${m}`:`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${a}\uFF0C\u5B9E\u9645\u63A5\u6536 ${m}`}case"invalid_value":return t.values.length===1?`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${w(t.values[0])}`:`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${(c=t.origin)!=null?c:"\u503C"} ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u4E2A\u5143\u7D20"}`:`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${(u=t.origin)!=null?u:"\u503C"} ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${t.origin} ${a}${t.minimum.toString()} ${p.unit}`:`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${t.origin} ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${a.prefix}" \u5F00\u5934`:a.format==="ends_with"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${a.suffix}" \u7ED3\u5C3E`:a.format==="includes"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${a.includes}"`:a.format==="regex"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${a.pattern}`:`\u65E0\u6548${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${t.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${v(t.keys,", ")}`;case"invalid_key":return`${t.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${t.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};function Em(){return{localeError:Kv()}}var Xv=()=>{let r={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},i={nan:"NaN"};return t=>{var o,s,c,l,u,d;switch(t.code){case"invalid_type":{let a=(o=i[t.expected])!=null?o:t.expected,p=_(t.input),m=(s=i[p])!=null?s:p;return/^[A-Z]/.test(t.expected)?`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${t.expected}\uFF0C\u4F46\u6536\u5230 ${m}`:`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${a}\uFF0C\u4F46\u6536\u5230 ${m}`}case"invalid_value":return t.values.length===1?`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${w(t.values[0])}`:`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${v(t.values,"|")}`;case"too_big":{let a=t.inclusive?"<=":"<",p=e(t.origin);return p?`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${(c=t.origin)!=null?c:"\u503C"} \u61C9\u70BA ${a}${t.maximum.toString()} ${(l=p.unit)!=null?l:"\u500B\u5143\u7D20"}`:`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${(u=t.origin)!=null?u:"\u503C"} \u61C9\u70BA ${a}${t.maximum.toString()}`}case"too_small":{let a=t.inclusive?">=":">",p=e(t.origin);return p?`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${t.origin} \u61C9\u70BA ${a}${t.minimum.toString()} ${p.unit}`:`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${t.origin} \u61C9\u70BA ${a}${t.minimum.toString()}`}case"invalid_format":{let a=t;return a.format==="starts_with"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${a.prefix}" \u958B\u982D`:a.format==="ends_with"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${a.suffix}" \u7D50\u5C3E`:a.format==="includes"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${a.includes}"`:a.format==="regex"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${a.pattern}`:`\u7121\u6548\u7684 ${(d=n[a.format])!=null?d:t.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${t.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${t.keys.length>1?"\u5011":""}\uFF1A${v(t.keys,"\u3001")}`;case"invalid_key":return`${t.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${t.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};function Im(){return{localeError:Xv()}}var Yv=()=>{let r={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function e(t){var o;return(o=r[t])!=null?o:null}let n={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},i={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return t=>{var o,s,c,l;switch(t.code){case"invalid_type":{let u=(o=i[t.expected])!=null?o:t.expected,d=_(t.input),a=(s=i[d])!=null?s:d;return/^[A-Z]/.test(t.expected)?`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${t.expected}, \xE0m\u1ECD\u0300 a r\xED ${a}`:`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${u}, \xE0m\u1ECD\u0300 a r\xED ${a}`}case"invalid_value":return t.values.length===1?`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${w(t.values[0])}`:`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${v(t.values,"|")}`;case"too_big":{let u=t.inclusive?"<=":"<",d=e(t.origin);return d?`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${(c=t.origin)!=null?c:"iye"} ${d.verb} ${u}${t.maximum} ${d.unit}`:`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${u}${t.maximum}`}case"too_small":{let u=t.inclusive?">=":">",d=e(t.origin);return d?`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${t.origin} ${d.verb} ${u}${t.minimum} ${d.unit}`:`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${u}${t.minimum}`}case"invalid_format":{let u=t;return u.format==="starts_with"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${u.prefix}"`:u.format==="ends_with"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${u.suffix}"`:u.format==="includes"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${u.includes}"`:u.format==="regex"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${u.pattern}`:`A\u1E63\xEC\u1E63e: ${(l=n[u.format])!=null?l:t.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${t.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${v(t.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${t.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${t.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};function Pm(){return{localeError:Yv()}}var Tm,Tc=Symbol("ZodOutput"),zc=Symbol("ZodInput"),si=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...n){let i=n[0];return this._map.set(e,i),i&&typeof i=="object"&&"id"in i&&this._idmap.set(i.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let n=this._map.get(e);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(e),this}get(e){var i;let n=e._zod.parent;if(n){let t={...(i=this.get(n))!=null?i:{}};delete t.id;let o={...t,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function ai(){return new si}var zm;(zm=(Tm=globalThis).__zod_globalRegistry)!=null||(Tm.__zod_globalRegistry=ai());var ce=globalThis.__zod_globalRegistry;function Oc(r,e){return new r({type:"string",...C(e)})}function Dc(r,e){return new r({type:"string",coerce:!0,...C(e)})}function ci(r,e){return new r({type:"string",format:"email",check:"string_format",abort:!1,...C(e)})}function An(r,e){return new r({type:"string",format:"guid",check:"string_format",abort:!1,...C(e)})}function li(r,e){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,...C(e)})}function ui(r,e){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...C(e)})}function di(r,e){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...C(e)})}function pi(r,e){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...C(e)})}function Ln(r,e){return new r({type:"string",format:"url",check:"string_format",abort:!1,...C(e)})}function mi(r,e){return new r({type:"string",format:"emoji",check:"string_format",abort:!1,...C(e)})}function hi(r,e){return new r({type:"string",format:"nanoid",check:"string_format",abort:!1,...C(e)})}function gi(r,e){return new r({type:"string",format:"cuid",check:"string_format",abort:!1,...C(e)})}function fi(r,e){return new r({type:"string",format:"cuid2",check:"string_format",abort:!1,...C(e)})}function vi(r,e){return new r({type:"string",format:"ulid",check:"string_format",abort:!1,...C(e)})}function yi(r,e){return new r({type:"string",format:"xid",check:"string_format",abort:!1,...C(e)})}function bi(r,e){return new r({type:"string",format:"ksuid",check:"string_format",abort:!1,...C(e)})}function Si(r,e){return new r({type:"string",format:"ipv4",check:"string_format",abort:!1,...C(e)})}function $i(r,e){return new r({type:"string",format:"ipv6",check:"string_format",abort:!1,...C(e)})}function Mc(r,e){return new r({type:"string",format:"mac",check:"string_format",abort:!1,...C(e)})}function xi(r,e){return new r({type:"string",format:"cidrv4",check:"string_format",abort:!1,...C(e)})}function wi(r,e){return new r({type:"string",format:"cidrv6",check:"string_format",abort:!1,...C(e)})}function _i(r,e){return new r({type:"string",format:"base64",check:"string_format",abort:!1,...C(e)})}function ki(r,e){return new r({type:"string",format:"base64url",check:"string_format",abort:!1,...C(e)})}function Ci(r,e){return new r({type:"string",format:"e164",check:"string_format",abort:!1,...C(e)})}function Ei(r,e){return new r({type:"string",format:"jwt",check:"string_format",abort:!1,...C(e)})}var Ac={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Lc(r,e){return new r({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...C(e)})}function Uc(r,e){return new r({type:"string",format:"date",check:"string_format",...C(e)})}function Nc(r,e){return new r({type:"string",format:"time",check:"string_format",precision:null,...C(e)})}function jc(r,e){return new r({type:"string",format:"duration",check:"string_format",...C(e)})}function Rc(r,e){return new r({type:"number",checks:[],...C(e)})}function Zc(r,e){return new r({type:"number",coerce:!0,checks:[],...C(e)})}function Fc(r,e){return new r({type:"number",check:"number_format",abort:!1,format:"safeint",...C(e)})}function Hc(r,e){return new r({type:"number",check:"number_format",abort:!1,format:"float32",...C(e)})}function Vc(r,e){return new r({type:"number",check:"number_format",abort:!1,format:"float64",...C(e)})}function qc(r,e){return new r({type:"number",check:"number_format",abort:!1,format:"int32",...C(e)})}function Wc(r,e){return new r({type:"number",check:"number_format",abort:!1,format:"uint32",...C(e)})}function Bc(r,e){return new r({type:"boolean",...C(e)})}function Jc(r,e){return new r({type:"boolean",coerce:!0,...C(e)})}function Gc(r,e){return new r({type:"bigint",...C(e)})}function Kc(r,e){return new r({type:"bigint",coerce:!0,...C(e)})}function Xc(r,e){return new r({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...C(e)})}function Yc(r,e){return new r({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...C(e)})}function Qc(r,e){return new r({type:"symbol",...C(e)})}function el(r,e){return new r({type:"undefined",...C(e)})}function tl(r,e){return new r({type:"null",...C(e)})}function nl(r){return new r({type:"any"})}function rl(r){return new r({type:"unknown"})}function il(r,e){return new r({type:"never",...C(e)})}function ol(r,e){return new r({type:"void",...C(e)})}function sl(r,e){return new r({type:"date",...C(e)})}function al(r,e){return new r({type:"date",coerce:!0,...C(e)})}function cl(r,e){return new r({type:"nan",...C(e)})}function De(r,e){return new Wr({check:"less_than",...C(e),value:r,inclusive:!1})}function _e(r,e){return new Wr({check:"less_than",...C(e),value:r,inclusive:!0})}function Me(r,e){return new Br({check:"greater_than",...C(e),value:r,inclusive:!1})}function me(r,e){return new Br({check:"greater_than",...C(e),value:r,inclusive:!0})}function Ii(r){return Me(0,r)}function Pi(r){return De(0,r)}function Ti(r){return _e(0,r)}function zi(r){return me(0,r)}function Ke(r,e){return new ta({check:"multiple_of",...C(e),value:r})}function Xe(r,e){return new ia({check:"max_size",...C(e),maximum:r})}function Ae(r,e){return new oa({check:"min_size",...C(e),minimum:r})}function gt(r,e){return new sa({check:"size_equals",...C(e),size:r})}function ft(r,e){return new aa({check:"max_length",...C(e),maximum:r})}function Ze(r,e){return new ca({check:"min_length",...C(e),minimum:r})}function vt(r,e){return new la({check:"length_equals",...C(e),length:r})}function Rt(r,e){return new ua({check:"string_format",format:"regex",...C(e),pattern:r})}function Zt(r){return new da({check:"string_format",format:"lowercase",...C(r)})}function Ft(r){return new pa({check:"string_format",format:"uppercase",...C(r)})}function Ht(r,e){return new ma({check:"string_format",format:"includes",...C(e),includes:r})}function Vt(r,e){return new ha({check:"string_format",format:"starts_with",...C(e),prefix:r})}function qt(r,e){return new ga({check:"string_format",format:"ends_with",...C(e),suffix:r})}function Oi(r,e,n){return new fa({check:"property",property:r,schema:e,...C(n)})}function Wt(r,e){return new va({check:"mime_type",mime:r,...C(e)})}function Oe(r){return new ya({check:"overwrite",tx:r})}function Bt(r){return Oe(e=>e.normalize(r))}function Jt(){return Oe(r=>r.trim())}function Gt(){return Oe(r=>r.toLowerCase())}function Kt(){return Oe(r=>r.toUpperCase())}function Xt(){return Oe(r=>fs(r))}function ll(r,e,n){return new r({type:"array",element:e,...C(n)})}function ey(r,e,n){return new r({type:"union",options:e,...C(n)})}function ty(r,e,n){return new r({type:"union",options:e,inclusive:!1,...C(n)})}function ny(r,e,n,i){return new r({type:"union",options:n,discriminator:e,...C(i)})}function ry(r,e,n){return new r({type:"intersection",left:e,right:n})}function iy(r,e,n,i){let t=n instanceof A,o=t?i:n,s=t?n:null;return new r({type:"tuple",items:e,rest:s,...C(o)})}function oy(r,e,n,i){return new r({type:"record",keyType:e,valueType:n,...C(i)})}function sy(r,e,n,i){return new r({type:"map",keyType:e,valueType:n,...C(i)})}function ay(r,e,n){return new r({type:"set",valueType:e,...C(n)})}function cy(r,e,n){let i=Array.isArray(e)?Object.fromEntries(e.map(t=>[t,t])):e;return new r({type:"enum",entries:i,...C(n)})}function ly(r,e,n){return new r({type:"enum",entries:e,...C(n)})}function uy(r,e,n){return new r({type:"literal",values:Array.isArray(e)?e:[e],...C(n)})}function ul(r,e){return new r({type:"file",...C(e)})}function dy(r,e){return new r({type:"transform",transform:e})}function py(r,e){return new r({type:"optional",innerType:e})}function my(r,e){return new r({type:"nullable",innerType:e})}function hy(r,e,n){return new r({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():ys(n)}})}function gy(r,e,n){return new r({type:"nonoptional",innerType:e,...C(n)})}function fy(r,e){return new r({type:"success",innerType:e})}function vy(r,e,n){return new r({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}function yy(r,e,n){return new r({type:"pipe",in:e,out:n})}function by(r,e){return new r({type:"readonly",innerType:e})}function Sy(r,e,n){return new r({type:"template_literal",parts:e,...C(n)})}function $y(r,e){return new r({type:"lazy",getter:e})}function xy(r,e){return new r({type:"promise",innerType:e})}function dl(r,e,n){var o;let i=C(n);return(o=i.abort)!=null||(i.abort=!0),new r({type:"custom",check:"custom",fn:e,...i})}function pl(r,e,n){return new r({type:"custom",check:"custom",fn:e,...C(n)})}function ml(r){let e=Om(n=>(n.addIssue=i=>{var t,o,s,c;if(typeof i=="string")n.issues.push(Dt(i,n.value,e._zod.def));else{let l=i;l.fatal&&(l.continue=!1),(t=l.code)!=null||(l.code="custom"),(o=l.input)!=null||(l.input=n.value),(s=l.inst)!=null||(l.inst=e),(c=l.continue)!=null||(l.continue=!e._zod.def.abort),n.issues.push(Dt(l))}},r(n.value,n)));return e}function Om(r,e){let n=new J({check:"custom",...C(e)});return n._zod.check=r,n}function hl(r){let e=new J({check:"describe"});return e._zod.onattach=[n=>{var t;let i=(t=ce.get(n))!=null?t:{};ce.add(n,{...i,description:r})}],e._zod.check=()=>{},e}function gl(r){let e=new J({check:"meta"});return e._zod.onattach=[n=>{var t;let i=(t=ce.get(n))!=null?t:{};ce.add(n,{...i,...r})}],e._zod.check=()=>{},e}function fl(r,e){var m,h,g,y,b;let n=C(e),i=(m=n.truthy)!=null?m:["true","1","yes","on","y","enabled"],t=(h=n.falsy)!=null?h:["false","0","no","off","n","disabled"];n.case!=="sensitive"&&(i=i.map($=>typeof $=="string"?$.toLowerCase():$),t=t.map($=>typeof $=="string"?$.toLowerCase():$));let o=new Set(i),s=new Set(t),c=(g=r.Codec)!=null?g:Dn,l=(y=r.Boolean)!=null?y:zn,u=(b=r.String)!=null?b:mt,d=new u({type:"string",error:n.error}),a=new l({type:"boolean",error:n.error}),p=new c({type:"pipe",in:d,out:a,transform:($,P)=>{let S=$;return n.case!=="sensitive"&&(S=S.toLowerCase()),o.has(S)?!0:s.has(S)?!1:(P.issues.push({code:"invalid_value",expected:"stringbool",values:[...o,...s],input:P.value,inst:p,continue:!1}),{})},reverseTransform:($,P)=>$===!0?i[0]||"true":t[0]||"false",error:n.error});return p}function Yt(r,e,n,i={}){let t=C(i),o={...C(i),check:"string_format",type:"string",format:e,fn:typeof n=="function"?n:c=>n.test(c),...t};return n instanceof RegExp&&(o.pattern=n),new r(o)}function Ye(r){var n,i,t,o,s,c,l,u,d;let e=(n=r==null?void 0:r.target)!=null?n:"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:(i=r.processors)!=null?i:{},metadataRegistry:(t=r==null?void 0:r.metadata)!=null?t:ce,target:e,unrepresentable:(o=r==null?void 0:r.unrepresentable)!=null?o:"throw",override:(s=r==null?void 0:r.override)!=null?s:()=>{},io:(c=r==null?void 0:r.io)!=null?c:"output",counter:0,seen:new Map,cycles:(l=r==null?void 0:r.cycles)!=null?l:"ref",reused:(u=r==null?void 0:r.reused)!=null?u:"inline",external:(d=r==null?void 0:r.external)!=null?d:void 0}}function H(r,e,n={path:[],schemaPath:[]}){var d,a,p;var i;let t=r._zod.def,o=e.seen.get(r);if(o)return o.count++,n.schemaPath.includes(r)&&(o.cycle=n.path),o.schema;let s={schema:{},count:1,cycle:void 0,path:n.path};e.seen.set(r,s);let c=(a=(d=r._zod).toJSONSchema)==null?void 0:a.call(d);if(c)s.schema=c;else{let m={...n,schemaPath:[...n.schemaPath,r],path:n.path};if(r._zod.processJSONSchema)r._zod.processJSONSchema(e,s.schema,m);else{let g=s.schema,y=e.processors[t.type];if(!y)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${t.type}`);y(r,e,g,m)}let h=r._zod.parent;h&&(s.ref||(s.ref=h),H(h,e,m),e.seen.get(h).isParent=!0)}let l=e.metadataRegistry.get(r);return l&&Object.assign(s.schema,l),e.io==="input"&&he(r)&&(delete s.schema.examples,delete s.schema.default),e.io==="input"&&s.schema._prefault&&((p=(i=s.schema).default)!=null||(i.default=s.schema._prefault)),delete s.schema._prefault,e.seen.get(r).schema}function Qe(r,e){var s,c,l,u;let n=r.seen.get(e);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=new Map;for(let d of r.seen.entries()){let a=(s=r.metadataRegistry.get(d[0]))==null?void 0:s.id;if(a){let p=i.get(a);if(p&&p!==d[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);i.set(a,d[0])}}let t=d=>{var g,y,b,$,P;let a=r.target==="draft-2020-12"?"$defs":"definitions";if(r.external){let S=(g=r.external.registry.get(d[0]))==null?void 0:g.id,x=(y=r.external.uri)!=null?y:G=>G;if(S)return{ref:x(S)};let M=($=(b=d[1].defId)!=null?b:d[1].schema.id)!=null?$:`schema${r.counter++}`;return d[1].defId=M,{defId:M,ref:`${x("__shared")}#/${a}/${M}`}}if(d[1]===n)return{ref:"#"};let m=`#/${a}/`,h=(P=d[1].schema.id)!=null?P:`__schema${r.counter++}`;return{defId:h,ref:m+h}},o=d=>{if(d[1].schema.$ref)return;let a=d[1],{ref:p,defId:m}=t(d);a.def={...a.schema},m&&(a.defId=m);let h=a.schema;for(let g in h)delete h[g];h.$ref=p};if(r.cycles==="throw")for(let d of r.seen.entries()){let a=d[1];if(a.cycle)throw new Error(`Cycle detected: #/${(c=a.cycle)==null?void 0:c.join("/")}/ - -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let d of r.seen.entries()){let a=d[1];if(e===d[0]){o(d);continue}if(r.external){let m=(l=r.external.registry.get(d[0]))==null?void 0:l.id;if(e!==d[0]&&m){o(d);continue}}if((u=r.metadataRegistry.get(d[0]))==null?void 0:u.id){o(d);continue}if(a.cycle){o(d);continue}if(a.count>1&&r.reused==="ref"){o(d);continue}}}function et(r,e){var s,c,l,u,d;let n=r.seen.get(e);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=a=>{var b,$,P;let p=r.seen.get(a);if(p.ref===null)return;let m=(b=p.def)!=null?b:p.schema,h={...m},g=p.ref;if(p.ref=null,g){i(g);let S=r.seen.get(g),x=S.schema;if(x.$ref&&(r.target==="draft-07"||r.target==="draft-04"||r.target==="openapi-3.0")?(m.allOf=($=m.allOf)!=null?$:[],m.allOf.push(x)):Object.assign(m,x),Object.assign(m,h),a._zod.parent===g)for(let G in m)G==="$ref"||G==="allOf"||G in h||delete m[G];if(x.$ref)for(let G in m)G==="$ref"||G==="allOf"||G in S.def&&JSON.stringify(m[G])===JSON.stringify(S.def[G])&&delete m[G]}let y=a._zod.parent;if(y&&y!==g){i(y);let S=r.seen.get(y);if(S!=null&&S.schema.$ref&&(m.$ref=S.schema.$ref,S.def))for(let x in m)x==="$ref"||x==="allOf"||x in S.def&&JSON.stringify(m[x])===JSON.stringify(S.def[x])&&delete m[x]}r.override({zodSchema:a,jsonSchema:m,path:(P=p.path)!=null?P:[]})};for(let a of[...r.seen.entries()].reverse())i(a[0]);let t={};if(r.target==="draft-2020-12"?t.$schema="https://json-schema.org/draft/2020-12/schema":r.target==="draft-07"?t.$schema="http://json-schema.org/draft-07/schema#":r.target==="draft-04"?t.$schema="http://json-schema.org/draft-04/schema#":r.target,(s=r.external)!=null&&s.uri){let a=(c=r.external.registry.get(e))==null?void 0:c.id;if(!a)throw new Error("Schema is missing an `id` property");t.$id=r.external.uri(a)}Object.assign(t,(l=n.def)!=null?l:n.schema);let o=(d=(u=r.external)==null?void 0:u.defs)!=null?d:{};for(let a of r.seen.entries()){let p=a[1];p.def&&p.defId&&(o[p.defId]=p.def)}r.external||Object.keys(o).length>0&&(r.target==="draft-2020-12"?t.$defs=o:t.definitions=o);try{let a=JSON.parse(JSON.stringify(t));return Object.defineProperty(a,"~standard",{value:{...e["~standard"],jsonSchema:{input:Qt(e,"input",r.processors),output:Qt(e,"output",r.processors)}},enumerable:!1,writable:!1}),a}catch(a){throw new Error("Error converting schema to JSON.")}}function he(r,e){let n=e!=null?e:{seen:new Set};if(n.seen.has(r))return!1;n.seen.add(r);let i=r._zod.def;if(i.type==="transform")return!0;if(i.type==="array")return he(i.element,n);if(i.type==="set")return he(i.valueType,n);if(i.type==="lazy")return he(i.getter(),n);if(i.type==="promise"||i.type==="optional"||i.type==="nonoptional"||i.type==="nullable"||i.type==="readonly"||i.type==="default"||i.type==="prefault")return he(i.innerType,n);if(i.type==="intersection")return he(i.left,n)||he(i.right,n);if(i.type==="record"||i.type==="map")return he(i.keyType,n)||he(i.valueType,n);if(i.type==="pipe")return he(i.in,n)||he(i.out,n);if(i.type==="object"){for(let t in i.shape)if(he(i.shape[t],n))return!0;return!1}if(i.type==="union"){for(let t of i.options)if(he(t,n))return!0;return!1}if(i.type==="tuple"){for(let t of i.items)if(he(t,n))return!0;return!!(i.rest&&he(i.rest,n))}return!1}var vl=(r,e={})=>n=>{let i=Ye({...n,processors:e});return H(r,i),Qe(i,r),et(i,r)},Qt=(r,e,n={})=>i=>{let{libraryOptions:t,target:o}=i!=null?i:{},s=Ye({...t!=null?t:{},target:o,io:e,processors:n});return H(r,s),Qe(s,r),et(s,r)};var wy={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},yl=(r,e,n,i)=>{var d;let t=n;t.type="string";let{minimum:o,maximum:s,format:c,patterns:l,contentEncoding:u}=r._zod.bag;if(typeof o=="number"&&(t.minLength=o),typeof s=="number"&&(t.maxLength=s),c&&(t.format=(d=wy[c])!=null?d:c,t.format===""&&delete t.format,c==="time"&&delete t.format),u&&(t.contentEncoding=u),l&&l.size>0){let a=[...l];a.length===1?t.pattern=a[0].source:a.length>1&&(t.allOf=[...a.map(p=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},bl=(r,e,n,i)=>{let t=n,{minimum:o,maximum:s,format:c,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:d}=r._zod.bag;typeof c=="string"&&c.includes("int")?t.type="integer":t.type="number",typeof d=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(t.minimum=d,t.exclusiveMinimum=!0):t.exclusiveMinimum=d),typeof o=="number"&&(t.minimum=o,typeof d=="number"&&e.target!=="draft-04"&&(d>=o?delete t.minimum:delete t.exclusiveMinimum)),typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(t.maximum=u,t.exclusiveMaximum=!0):t.exclusiveMaximum=u),typeof s=="number"&&(t.maximum=s,typeof u=="number"&&e.target!=="draft-04"&&(u<=s?delete t.maximum:delete t.exclusiveMaximum)),typeof l=="number"&&(t.multipleOf=l)},Sl=(r,e,n,i)=>{n.type="boolean"},$l=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},xl=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},wl=(r,e,n,i)=>{e.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},_l=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},kl=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Cl=(r,e,n,i)=>{n.not={}},El=(r,e,n,i)=>{},Il=(r,e,n,i)=>{},Pl=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Tl=(r,e,n,i)=>{let t=r._zod.def,o=Sn(t.entries);o.every(s=>typeof s=="number")&&(n.type="number"),o.every(s=>typeof s=="string")&&(n.type="string"),n.enum=o},zl=(r,e,n,i)=>{let t=r._zod.def,o=[];for(let s of t.values)if(s===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(s))}else o.push(s);if(o.length!==0)if(o.length===1){let s=o[0];n.type=s===null?"null":typeof s,e.target==="draft-04"||e.target==="openapi-3.0"?n.enum=[s]:n.const=s}else o.every(s=>typeof s=="number")&&(n.type="number"),o.every(s=>typeof s=="string")&&(n.type="string"),o.every(s=>typeof s=="boolean")&&(n.type="boolean"),o.every(s=>s===null)&&(n.type="null"),n.enum=o},Ol=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Dl=(r,e,n,i)=>{let t=n,o=r._zod.pattern;if(!o)throw new Error("Pattern not found in template literal");t.type="string",t.pattern=o.source},Ml=(r,e,n,i)=>{let t=n,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:c,mime:l}=r._zod.bag;s!==void 0&&(o.minLength=s),c!==void 0&&(o.maxLength=c),l?l.length===1?(o.contentMediaType=l[0],Object.assign(t,o)):(Object.assign(t,o),t.anyOf=l.map(u=>({contentMediaType:u}))):Object.assign(t,o)},Al=(r,e,n,i)=>{n.type="boolean"},Ll=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Ul=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Nl=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},jl=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Rl=(r,e,n,i)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Zl=(r,e,n,i)=>{let t=n,o=r._zod.def,{minimum:s,maximum:c}=r._zod.bag;typeof s=="number"&&(t.minItems=s),typeof c=="number"&&(t.maxItems=c),t.type="array",t.items=H(o.element,e,{...i,path:[...i.path,"items"]})},Fl=(r,e,n,i)=>{var u;let t=n,o=r._zod.def;t.type="object",t.properties={};let s=o.shape;for(let d in s)t.properties[d]=H(s[d],e,{...i,path:[...i.path,"properties",d]});let c=new Set(Object.keys(s)),l=new Set([...c].filter(d=>{let a=o.shape[d]._zod;return e.io==="input"?a.optin===void 0:a.optout===void 0}));l.size>0&&(t.required=Array.from(l)),((u=o.catchall)==null?void 0:u._zod.def.type)==="never"?t.additionalProperties=!1:o.catchall?o.catchall&&(t.additionalProperties=H(o.catchall,e,{...i,path:[...i.path,"additionalProperties"]})):e.io==="output"&&(t.additionalProperties=!1)},Mi=(r,e,n,i)=>{let t=r._zod.def,o=t.inclusive===!1,s=t.options.map((c,l)=>H(c,e,{...i,path:[...i.path,o?"oneOf":"anyOf",l]}));o?n.oneOf=s:n.anyOf=s},Hl=(r,e,n,i)=>{let t=r._zod.def,o=H(t.left,e,{...i,path:[...i.path,"allOf",0]}),s=H(t.right,e,{...i,path:[...i.path,"allOf",1]}),c=u=>"allOf"in u&&Object.keys(u).length===1,l=[...c(o)?o.allOf:[o],...c(s)?s.allOf:[s]];n.allOf=l},Vl=(r,e,n,i)=>{let t=n,o=r._zod.def;t.type="array";let s=e.target==="draft-2020-12"?"prefixItems":"items",c=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",l=o.items.map((p,m)=>H(p,e,{...i,path:[...i.path,s,m]})),u=o.rest?H(o.rest,e,{...i,path:[...i.path,c,...e.target==="openapi-3.0"?[o.items.length]:[]]}):null;e.target==="draft-2020-12"?(t.prefixItems=l,u&&(t.items=u)):e.target==="openapi-3.0"?(t.items={anyOf:l},u&&t.items.anyOf.push(u),t.minItems=l.length,u||(t.maxItems=l.length)):(t.items=l,u&&(t.additionalItems=u));let{minimum:d,maximum:a}=r._zod.bag;typeof d=="number"&&(t.minItems=d),typeof a=="number"&&(t.maxItems=a)},ql=(r,e,n,i)=>{let t=n,o=r._zod.def;t.type="object";let s=o.keyType,c=s._zod.bag,l=c==null?void 0:c.patterns;if(o.mode==="loose"&&l&&l.size>0){let d=H(o.valueType,e,{...i,path:[...i.path,"patternProperties","*"]});t.patternProperties={};for(let a of l)t.patternProperties[a.source]=d}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(t.propertyNames=H(o.keyType,e,{...i,path:[...i.path,"propertyNames"]})),t.additionalProperties=H(o.valueType,e,{...i,path:[...i.path,"additionalProperties"]});let u=s._zod.values;if(u){let d=[...u].filter(a=>typeof a=="string"||typeof a=="number");d.length>0&&(t.required=d)}},Wl=(r,e,n,i)=>{let t=r._zod.def,o=H(t.innerType,e,i),s=e.seen.get(r);e.target==="openapi-3.0"?(s.ref=t.innerType,n.nullable=!0):n.anyOf=[o,{type:"null"}]},Bl=(r,e,n,i)=>{let t=r._zod.def;H(t.innerType,e,i);let o=e.seen.get(r);o.ref=t.innerType},Jl=(r,e,n,i)=>{let t=r._zod.def;H(t.innerType,e,i);let o=e.seen.get(r);o.ref=t.innerType,n.default=JSON.parse(JSON.stringify(t.defaultValue))},Gl=(r,e,n,i)=>{let t=r._zod.def;H(t.innerType,e,i);let o=e.seen.get(r);o.ref=t.innerType,e.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(t.defaultValue)))},Kl=(r,e,n,i)=>{let t=r._zod.def;H(t.innerType,e,i);let o=e.seen.get(r);o.ref=t.innerType;let s;try{s=t.catchValue(void 0)}catch(c){throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},Xl=(r,e,n,i)=>{let t=r._zod.def,o=e.io==="input"?t.in._zod.def.type==="transform"?t.out:t.in:t.out;H(o,e,i);let s=e.seen.get(r);s.ref=o},Yl=(r,e,n,i)=>{let t=r._zod.def;H(t.innerType,e,i);let o=e.seen.get(r);o.ref=t.innerType,n.readOnly=!0},Ql=(r,e,n,i)=>{let t=r._zod.def;H(t.innerType,e,i);let o=e.seen.get(r);o.ref=t.innerType},Ai=(r,e,n,i)=>{let t=r._zod.def;H(t.innerType,e,i);let o=e.seen.get(r);o.ref=t.innerType},eu=(r,e,n,i)=>{let t=r._zod.innerType;H(t,e,i);let o=e.seen.get(r);o.ref=t},Di={string:yl,number:bl,boolean:Sl,bigint:$l,symbol:xl,null:wl,undefined:_l,void:kl,never:Cl,any:El,unknown:Il,date:Pl,enum:Tl,literal:zl,nan:Ol,template_literal:Dl,file:Ml,success:Al,custom:Ll,function:Ul,transform:Nl,map:jl,set:Rl,array:Zl,object:Fl,union:Mi,intersection:Hl,tuple:Vl,record:ql,nullable:Wl,nonoptional:Bl,default:Jl,prefault:Gl,catch:Kl,pipe:Xl,readonly:Yl,promise:Ql,optional:Ai,lazy:eu};function Li(r,e){if("_idmap"in r){let i=r,t=Ye({...e,processors:Di}),o={};for(let l of i._idmap.entries()){let[u,d]=l;H(d,t)}let s={},c={registry:i,uri:e==null?void 0:e.uri,defs:o};t.external=c;for(let l of i._idmap.entries()){let[u,d]=l;Qe(t,d),s[u]=et(t,d)}if(Object.keys(o).length>0){let l=t.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[l]:o}}return{schemas:s}}let n=Ye({...e,processors:Di});return H(r,n),Qe(n,r),et(n,r)}var Ui=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){var i;let n=(i=e==null?void 0:e.target)!=null?i:"draft-2020-12";n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),this.ctx=Ye({processors:Di,target:n,...(e==null?void 0:e.metadata)&&{metadata:e.metadata},...(e==null?void 0:e.unrepresentable)&&{unrepresentable:e.unrepresentable},...(e==null?void 0:e.override)&&{override:e.override},...(e==null?void 0:e.io)&&{io:e.io}})}process(e,n={path:[],schemaPath:[]}){return H(e,this.ctx,n)}emit(e,n){n&&(n.cycles&&(this.ctx.cycles=n.cycles),n.reused&&(this.ctx.reused=n.reused),n.external&&(this.ctx.external=n.external)),Qe(this.ctx,e);let i=et(this.ctx,e),{"~standard":t,...o}=i;return o}};var tu={};var Un={};$e(Un,{ZodAny:()=>ku,ZodArray:()=>Pu,ZodBase64:()=>io,ZodBase64URL:()=>oo,ZodBigInt:()=>sn,ZodBigIntFormat:()=>co,ZodBoolean:()=>on,ZodCIDRv4:()=>no,ZodCIDRv6:()=>ro,ZodCUID:()=>Gi,ZodCUID2:()=>Ki,ZodCatch:()=>Xu,ZodCodec:()=>vo,ZodCustom:()=>Jn,ZodCustomStringFormat:()=>nn,ZodDate:()=>Hn,ZodDefault:()=>qu,ZodDiscriminatedUnion:()=>zu,ZodE164:()=>so,ZodEmail:()=>Wi,ZodEmoji:()=>Bi,ZodEnum:()=>en,ZodExactOptional:()=>Fu,ZodFile:()=>Ru,ZodFunction:()=>sd,ZodGUID:()=>Nn,ZodIPv4:()=>eo,ZodIPv6:()=>to,ZodIntersection:()=>Ou,ZodJWT:()=>ao,ZodKSUID:()=>Qi,ZodLazy:()=>rd,ZodLiteral:()=>ju,ZodMAC:()=>yu,ZodMap:()=>Uu,ZodNaN:()=>Qu,ZodNanoID:()=>Ji,ZodNever:()=>Eu,ZodNonOptional:()=>go,ZodNull:()=>wu,ZodNullable:()=>Vu,ZodNumber:()=>rn,ZodNumberFormat:()=>St,ZodObject:()=>qn,ZodOptional:()=>ho,ZodPipe:()=>fo,ZodPrefault:()=>Bu,ZodPromise:()=>od,ZodReadonly:()=>ed,ZodRecord:()=>Bn,ZodSet:()=>Nu,ZodString:()=>tn,ZodStringFormat:()=>B,ZodSuccess:()=>Ku,ZodSymbol:()=>$u,ZodTemplateLiteral:()=>nd,ZodTransform:()=>Zu,ZodTuple:()=>Mu,ZodType:()=>L,ZodULID:()=>Xi,ZodURL:()=>Fn,ZodUUID:()=>Ue,ZodUndefined:()=>xu,ZodUnion:()=>Wn,ZodUnknown:()=>Cu,ZodVoid:()=>Iu,ZodXID:()=>Yi,ZodXor:()=>Tu,_ZodString:()=>qi,_default:()=>Wu,_function:()=>jh,any:()=>vh,array:()=>Vn,base64:()=>eh,base64url:()=>th,bigint:()=>ph,boolean:()=>Su,catch:()=>Yu,check:()=>Rh,cidrv4:()=>Ym,cidrv6:()=>Qm,codec:()=>Lh,cuid:()=>Vm,cuid2:()=>qm,custom:()=>Zh,date:()=>bh,describe:()=>Fh,discriminatedUnion:()=>kh,e164:()=>nh,email:()=>Mm,emoji:()=>Fm,enum:()=>po,exactOptional:()=>Hu,file:()=>Oh,float32:()=>ch,float64:()=>lh,function:()=>jh,guid:()=>Am,hash:()=>ah,hex:()=>sh,hostname:()=>oh,httpUrl:()=>Zm,instanceof:()=>Vh,int:()=>Vi,int32:()=>uh,int64:()=>mh,intersection:()=>Du,ipv4:()=>Gm,ipv6:()=>Xm,json:()=>Wh,jwt:()=>rh,keyof:()=>Sh,ksuid:()=>Jm,lazy:()=>id,literal:()=>zh,looseObject:()=>wh,looseRecord:()=>Eh,mac:()=>Km,map:()=>Ih,meta:()=>Hh,nan:()=>Ah,nanoid:()=>Hm,nativeEnum:()=>Th,never:()=>lo,nonoptional:()=>Gu,null:()=>_u,nullable:()=>Rn,nullish:()=>Dh,number:()=>bu,object:()=>$h,optional:()=>jn,partialRecord:()=>Ch,pipe:()=>Zn,prefault:()=>Ju,preprocess:()=>Bh,promise:()=>Nh,readonly:()=>td,record:()=>Lu,refine:()=>ad,set:()=>Ph,strictObject:()=>xh,string:()=>Hi,stringFormat:()=>ih,stringbool:()=>qh,success:()=>Mh,superRefine:()=>cd,symbol:()=>gh,templateLiteral:()=>Uh,transform:()=>mo,tuple:()=>Au,uint32:()=>dh,uint64:()=>hh,ulid:()=>Wm,undefined:()=>fh,union:()=>uo,unknown:()=>bt,url:()=>Rm,uuid:()=>Lm,uuidv4:()=>Um,uuidv6:()=>Nm,uuidv7:()=>jm,void:()=>yh,xid:()=>Bm,xor:()=>_h});var Ni={};$e(Ni,{endsWith:()=>qt,gt:()=>Me,gte:()=>me,includes:()=>Ht,length:()=>vt,lowercase:()=>Zt,lt:()=>De,lte:()=>_e,maxLength:()=>ft,maxSize:()=>Xe,mime:()=>Wt,minLength:()=>Ze,minSize:()=>Ae,multipleOf:()=>Ke,negative:()=>Pi,nonnegative:()=>zi,nonpositive:()=>Ti,normalize:()=>Bt,overwrite:()=>Oe,positive:()=>Ii,property:()=>Oi,regex:()=>Rt,size:()=>gt,slugify:()=>Xt,startsWith:()=>Vt,toLowerCase:()=>Gt,toUpperCase:()=>Kt,trim:()=>Jt,uppercase:()=>Ft});var yt={};$e(yt,{ZodISODate:()=>Ri,ZodISODateTime:()=>ji,ZodISODuration:()=>Fi,ZodISOTime:()=>Zi,date:()=>ru,datetime:()=>nu,duration:()=>ou,time:()=>iu});var ji=f("ZodISODateTime",(r,e)=>{Oa.init(r,e),B.init(r,e)});function nu(r){return Lc(ji,r)}var Ri=f("ZodISODate",(r,e)=>{Da.init(r,e),B.init(r,e)});function ru(r){return Uc(Ri,r)}var Zi=f("ZodISOTime",(r,e)=>{Ma.init(r,e),B.init(r,e)});function iu(r){return Nc(Zi,r)}var Fi=f("ZodISODuration",(r,e)=>{Aa.init(r,e),B.init(r,e)});function ou(r){return jc(Fi,r)}var Dm=(r,e)=>{kn.init(r,e),r.name="ZodError",Object.defineProperties(r,{format:{value:n=>En(r,n)},flatten:{value:n=>Cn(r,n)},addIssue:{value:n=>{r.issues.push(n),r.message=JSON.stringify(r.issues,zt,2)}},addIssues:{value:n=>{r.issues.push(...n),r.message=JSON.stringify(r.issues,zt,2)}},isEmpty:{get(){return r.issues.length===0}}})},ky=f("ZodError",Dm),Se=f("ZodError",Dm,{Parent:Error});var su=Mt(Se),au=At(Se),cu=Lt(Se),lu=Ut(Se),uu=Lr(Se),du=Ur(Se),pu=Nr(Se),mu=jr(Se),hu=Rr(Se),gu=Zr(Se),fu=Fr(Se),vu=Hr(Se);var L=f("ZodType",(r,e)=>(A.init(r,e),Object.assign(r["~standard"],{jsonSchema:{input:Qt(r,"input"),output:Qt(r,"output")}}),r.toJSONSchema=vl(r,{}),r.def=e,r.type=e.type,Object.defineProperty(r,"_def",{value:e}),r.check=(...n)=>{var i;return r.clone(k.mergeDefs(e,{checks:[...(i=e.checks)!=null?i:[],...n.map(t=>typeof t=="function"?{_zod:{check:t,def:{check:"custom"},onattach:[]}}:t)]}),{parent:!0})},r.with=r.check,r.clone=(n,i)=>pe(r,n,i),r.brand=()=>r,r.register=(n,i)=>(n.add(r,i),r),r.parse=(n,i)=>su(r,n,i,{callee:r.parse}),r.safeParse=(n,i)=>cu(r,n,i),r.parseAsync=async(n,i)=>au(r,n,i,{callee:r.parseAsync}),r.safeParseAsync=async(n,i)=>lu(r,n,i),r.spa=r.safeParseAsync,r.encode=(n,i)=>uu(r,n,i),r.decode=(n,i)=>du(r,n,i),r.encodeAsync=async(n,i)=>pu(r,n,i),r.decodeAsync=async(n,i)=>mu(r,n,i),r.safeEncode=(n,i)=>hu(r,n,i),r.safeDecode=(n,i)=>gu(r,n,i),r.safeEncodeAsync=async(n,i)=>fu(r,n,i),r.safeDecodeAsync=async(n,i)=>vu(r,n,i),r.refine=(n,i)=>r.check(ad(n,i)),r.superRefine=n=>r.check(cd(n)),r.overwrite=n=>r.check(Oe(n)),r.optional=()=>jn(r),r.exactOptional=()=>Hu(r),r.nullable=()=>Rn(r),r.nullish=()=>jn(Rn(r)),r.nonoptional=n=>Gu(r,n),r.array=()=>Vn(r),r.or=n=>uo([r,n]),r.and=n=>Du(r,n),r.transform=n=>Zn(r,mo(n)),r.default=n=>Wu(r,n),r.prefault=n=>Ju(r,n),r.catch=n=>Yu(r,n),r.pipe=n=>Zn(r,n),r.readonly=()=>td(r),r.describe=n=>{let i=r.clone();return ce.add(i,{description:n}),i},Object.defineProperty(r,"description",{get(){var n;return(n=ce.get(r))==null?void 0:n.description},configurable:!0}),r.meta=(...n)=>{if(n.length===0)return ce.get(r);let i=r.clone();return ce.add(i,n[0]),i},r.isOptional=()=>r.safeParse(void 0).success,r.isNullable=()=>r.safeParse(null).success,r.apply=n=>n(r),r)),qi=f("_ZodString",(r,e)=>{var i,t,o;mt.init(r,e),L.init(r,e),r._zod.processJSONSchema=(s,c,l)=>yl(r,s,c,l);let n=r._zod.bag;r.format=(i=n.format)!=null?i:null,r.minLength=(t=n.minimum)!=null?t:null,r.maxLength=(o=n.maximum)!=null?o:null,r.regex=(...s)=>r.check(Rt(...s)),r.includes=(...s)=>r.check(Ht(...s)),r.startsWith=(...s)=>r.check(Vt(...s)),r.endsWith=(...s)=>r.check(qt(...s)),r.min=(...s)=>r.check(Ze(...s)),r.max=(...s)=>r.check(ft(...s)),r.length=(...s)=>r.check(vt(...s)),r.nonempty=(...s)=>r.check(Ze(1,...s)),r.lowercase=s=>r.check(Zt(s)),r.uppercase=s=>r.check(Ft(s)),r.trim=()=>r.check(Jt()),r.normalize=(...s)=>r.check(Bt(...s)),r.toLowerCase=()=>r.check(Gt()),r.toUpperCase=()=>r.check(Kt()),r.slugify=()=>r.check(Xt())}),tn=f("ZodString",(r,e)=>{mt.init(r,e),qi.init(r,e),r.email=n=>r.check(ci(Wi,n)),r.url=n=>r.check(Ln(Fn,n)),r.jwt=n=>r.check(Ei(ao,n)),r.emoji=n=>r.check(mi(Bi,n)),r.guid=n=>r.check(An(Nn,n)),r.uuid=n=>r.check(li(Ue,n)),r.uuidv4=n=>r.check(ui(Ue,n)),r.uuidv6=n=>r.check(di(Ue,n)),r.uuidv7=n=>r.check(pi(Ue,n)),r.nanoid=n=>r.check(hi(Ji,n)),r.guid=n=>r.check(An(Nn,n)),r.cuid=n=>r.check(gi(Gi,n)),r.cuid2=n=>r.check(fi(Ki,n)),r.ulid=n=>r.check(vi(Xi,n)),r.base64=n=>r.check(_i(io,n)),r.base64url=n=>r.check(ki(oo,n)),r.xid=n=>r.check(yi(Yi,n)),r.ksuid=n=>r.check(bi(Qi,n)),r.ipv4=n=>r.check(Si(eo,n)),r.ipv6=n=>r.check($i(to,n)),r.cidrv4=n=>r.check(xi(no,n)),r.cidrv6=n=>r.check(wi(ro,n)),r.e164=n=>r.check(Ci(so,n)),r.datetime=n=>r.check(nu(n)),r.date=n=>r.check(ru(n)),r.time=n=>r.check(iu(n)),r.duration=n=>r.check(ou(n))});function Hi(r){return Oc(tn,r)}var B=f("ZodStringFormat",(r,e)=>{W.init(r,e),qi.init(r,e)}),Wi=f("ZodEmail",(r,e)=>{wa.init(r,e),B.init(r,e)});function Mm(r){return ci(Wi,r)}var Nn=f("ZodGUID",(r,e)=>{$a.init(r,e),B.init(r,e)});function Am(r){return An(Nn,r)}var Ue=f("ZodUUID",(r,e)=>{xa.init(r,e),B.init(r,e)});function Lm(r){return li(Ue,r)}function Um(r){return ui(Ue,r)}function Nm(r){return di(Ue,r)}function jm(r){return pi(Ue,r)}var Fn=f("ZodURL",(r,e)=>{_a.init(r,e),B.init(r,e)});function Rm(r){return Ln(Fn,r)}function Zm(r){return Ln(Fn,{protocol:/^https?$/,hostname:we.domain,...k.normalizeParams(r)})}var Bi=f("ZodEmoji",(r,e)=>{ka.init(r,e),B.init(r,e)});function Fm(r){return mi(Bi,r)}var Ji=f("ZodNanoID",(r,e)=>{Ca.init(r,e),B.init(r,e)});function Hm(r){return hi(Ji,r)}var Gi=f("ZodCUID",(r,e)=>{Ea.init(r,e),B.init(r,e)});function Vm(r){return gi(Gi,r)}var Ki=f("ZodCUID2",(r,e)=>{Ia.init(r,e),B.init(r,e)});function qm(r){return fi(Ki,r)}var Xi=f("ZodULID",(r,e)=>{Pa.init(r,e),B.init(r,e)});function Wm(r){return vi(Xi,r)}var Yi=f("ZodXID",(r,e)=>{Ta.init(r,e),B.init(r,e)});function Bm(r){return yi(Yi,r)}var Qi=f("ZodKSUID",(r,e)=>{za.init(r,e),B.init(r,e)});function Jm(r){return bi(Qi,r)}var eo=f("ZodIPv4",(r,e)=>{La.init(r,e),B.init(r,e)});function Gm(r){return Si(eo,r)}var yu=f("ZodMAC",(r,e)=>{Na.init(r,e),B.init(r,e)});function Km(r){return Mc(yu,r)}var to=f("ZodIPv6",(r,e)=>{Ua.init(r,e),B.init(r,e)});function Xm(r){return $i(to,r)}var no=f("ZodCIDRv4",(r,e)=>{ja.init(r,e),B.init(r,e)});function Ym(r){return xi(no,r)}var ro=f("ZodCIDRv6",(r,e)=>{Ra.init(r,e),B.init(r,e)});function Qm(r){return wi(ro,r)}var io=f("ZodBase64",(r,e)=>{Fa.init(r,e),B.init(r,e)});function eh(r){return _i(io,r)}var oo=f("ZodBase64URL",(r,e)=>{Ha.init(r,e),B.init(r,e)});function th(r){return ki(oo,r)}var so=f("ZodE164",(r,e)=>{Va.init(r,e),B.init(r,e)});function nh(r){return Ci(so,r)}var ao=f("ZodJWT",(r,e)=>{qa.init(r,e),B.init(r,e)});function rh(r){return Ei(ao,r)}var nn=f("ZodCustomStringFormat",(r,e)=>{Wa.init(r,e),B.init(r,e)});function ih(r,e,n={}){return Yt(nn,r,e,n)}function oh(r){return Yt(nn,"hostname",we.hostname,r)}function sh(r){return Yt(nn,"hex",we.hex,r)}function ah(r,e){var o;let n=(o=e==null?void 0:e.enc)!=null?o:"hex",i=`${r}_${n}`,t=we[i];if(!t)throw new Error(`Unrecognized hash format: ${i}`);return Yt(nn,i,t,e)}var rn=f("ZodNumber",(r,e)=>{var i,t,o,s,c,l,u,d,a;Qr.init(r,e),L.init(r,e),r._zod.processJSONSchema=(p,m,h)=>bl(r,p,m,h),r.gt=(p,m)=>r.check(Me(p,m)),r.gte=(p,m)=>r.check(me(p,m)),r.min=(p,m)=>r.check(me(p,m)),r.lt=(p,m)=>r.check(De(p,m)),r.lte=(p,m)=>r.check(_e(p,m)),r.max=(p,m)=>r.check(_e(p,m)),r.int=p=>r.check(Vi(p)),r.safe=p=>r.check(Vi(p)),r.positive=p=>r.check(Me(0,p)),r.nonnegative=p=>r.check(me(0,p)),r.negative=p=>r.check(De(0,p)),r.nonpositive=p=>r.check(_e(0,p)),r.multipleOf=(p,m)=>r.check(Ke(p,m)),r.step=(p,m)=>r.check(Ke(p,m)),r.finite=()=>r;let n=r._zod.bag;r.minValue=(o=Math.max((i=n.minimum)!=null?i:Number.NEGATIVE_INFINITY,(t=n.exclusiveMinimum)!=null?t:Number.NEGATIVE_INFINITY))!=null?o:null,r.maxValue=(l=Math.min((s=n.maximum)!=null?s:Number.POSITIVE_INFINITY,(c=n.exclusiveMaximum)!=null?c:Number.POSITIVE_INFINITY))!=null?l:null,r.isInt=((u=n.format)!=null?u:"").includes("int")||Number.isSafeInteger((d=n.multipleOf)!=null?d:.5),r.isFinite=!0,r.format=(a=n.format)!=null?a:null});function bu(r){return Rc(rn,r)}var St=f("ZodNumberFormat",(r,e)=>{Ba.init(r,e),rn.init(r,e)});function Vi(r){return Fc(St,r)}function ch(r){return Hc(St,r)}function lh(r){return Vc(St,r)}function uh(r){return qc(St,r)}function dh(r){return Wc(St,r)}var on=f("ZodBoolean",(r,e)=>{zn.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Sl(r,n,i,t)});function Su(r){return Bc(on,r)}var sn=f("ZodBigInt",(r,e)=>{var i,t,o;ei.init(r,e),L.init(r,e),r._zod.processJSONSchema=(s,c,l)=>$l(r,s,c,l),r.gte=(s,c)=>r.check(me(s,c)),r.min=(s,c)=>r.check(me(s,c)),r.gt=(s,c)=>r.check(Me(s,c)),r.gte=(s,c)=>r.check(me(s,c)),r.min=(s,c)=>r.check(me(s,c)),r.lt=(s,c)=>r.check(De(s,c)),r.lte=(s,c)=>r.check(_e(s,c)),r.max=(s,c)=>r.check(_e(s,c)),r.positive=s=>r.check(Me(BigInt(0),s)),r.negative=s=>r.check(De(BigInt(0),s)),r.nonpositive=s=>r.check(_e(BigInt(0),s)),r.nonnegative=s=>r.check(me(BigInt(0),s)),r.multipleOf=(s,c)=>r.check(Ke(s,c));let n=r._zod.bag;r.minValue=(i=n.minimum)!=null?i:null,r.maxValue=(t=n.maximum)!=null?t:null,r.format=(o=n.format)!=null?o:null});function ph(r){return Gc(sn,r)}var co=f("ZodBigIntFormat",(r,e)=>{Ja.init(r,e),sn.init(r,e)});function mh(r){return Xc(co,r)}function hh(r){return Yc(co,r)}var $u=f("ZodSymbol",(r,e)=>{Ga.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>xl(r,n,i,t)});function gh(r){return Qc($u,r)}var xu=f("ZodUndefined",(r,e)=>{Ka.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>_l(r,n,i,t)});function fh(r){return el(xu,r)}var wu=f("ZodNull",(r,e)=>{Xa.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>wl(r,n,i,t)});function _u(r){return tl(wu,r)}var ku=f("ZodAny",(r,e)=>{Ya.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>El(r,n,i,t)});function vh(){return nl(ku)}var Cu=f("ZodUnknown",(r,e)=>{Qa.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Il(r,n,i,t)});function bt(){return rl(Cu)}var Eu=f("ZodNever",(r,e)=>{ec.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Cl(r,n,i,t)});function lo(r){return il(Eu,r)}var Iu=f("ZodVoid",(r,e)=>{tc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>kl(r,n,i,t)});function yh(r){return ol(Iu,r)}var Hn=f("ZodDate",(r,e)=>{nc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(i,t,o)=>Pl(r,i,t,o),r.min=(i,t)=>r.check(me(i,t)),r.max=(i,t)=>r.check(_e(i,t));let n=r._zod.bag;r.minDate=n.minimum?new Date(n.minimum):null,r.maxDate=n.maximum?new Date(n.maximum):null});function bh(r){return sl(Hn,r)}var Pu=f("ZodArray",(r,e)=>{rc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Zl(r,n,i,t),r.element=e.element,r.min=(n,i)=>r.check(Ze(n,i)),r.nonempty=n=>r.check(Ze(1,n)),r.max=(n,i)=>r.check(ft(n,i)),r.length=(n,i)=>r.check(vt(n,i)),r.unwrap=()=>r.element});function Vn(r,e){return ll(Pu,r,e)}function Sh(r){let e=r._zod.def.shape;return po(Object.keys(e))}var qn=f("ZodObject",(r,e)=>{ic.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Fl(r,n,i,t),k.defineLazy(r,"shape",()=>e.shape),r.keyof=()=>po(Object.keys(r._zod.def.shape)),r.catchall=n=>r.clone({...r._zod.def,catchall:n}),r.passthrough=()=>r.clone({...r._zod.def,catchall:bt()}),r.loose=()=>r.clone({...r._zod.def,catchall:bt()}),r.strict=()=>r.clone({...r._zod.def,catchall:lo()}),r.strip=()=>r.clone({...r._zod.def,catchall:void 0}),r.extend=n=>k.extend(r,n),r.safeExtend=n=>k.safeExtend(r,n),r.merge=n=>k.merge(r,n),r.pick=n=>k.pick(r,n),r.omit=n=>k.omit(r,n),r.partial=(...n)=>k.partial(ho,r,n[0]),r.required=(...n)=>k.required(go,r,n[0])});function $h(r,e){let n={type:"object",shape:r!=null?r:{},...k.normalizeParams(e)};return new qn(n)}function xh(r,e){return new qn({type:"object",shape:r,catchall:lo(),...k.normalizeParams(e)})}function wh(r,e){return new qn({type:"object",shape:r,catchall:bt(),...k.normalizeParams(e)})}var Wn=f("ZodUnion",(r,e)=>{On.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Mi(r,n,i,t),r.options=e.options});function uo(r,e){return new Wn({type:"union",options:r,...k.normalizeParams(e)})}var Tu=f("ZodXor",(r,e)=>{Wn.init(r,e),oc.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Mi(r,n,i,t),r.options=e.options});function _h(r,e){return new Tu({type:"union",options:r,inclusive:!1,...k.normalizeParams(e)})}var zu=f("ZodDiscriminatedUnion",(r,e)=>{Wn.init(r,e),sc.init(r,e)});function kh(r,e,n){return new zu({type:"union",options:e,discriminator:r,...k.normalizeParams(n)})}var Ou=f("ZodIntersection",(r,e)=>{ac.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Hl(r,n,i,t)});function Du(r,e){return new Ou({type:"intersection",left:r,right:e})}var Mu=f("ZodTuple",(r,e)=>{ti.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Vl(r,n,i,t),r.rest=n=>r.clone({...r._zod.def,rest:n})});function Au(r,e,n){let i=e instanceof A,t=i?n:e,o=i?e:null;return new Mu({type:"tuple",items:r,rest:o,...k.normalizeParams(t)})}var Bn=f("ZodRecord",(r,e)=>{cc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>ql(r,n,i,t),r.keyType=e.keyType,r.valueType=e.valueType});function Lu(r,e,n){return new Bn({type:"record",keyType:r,valueType:e,...k.normalizeParams(n)})}function Ch(r,e,n){let i=pe(r);return i._zod.values=void 0,new Bn({type:"record",keyType:i,valueType:e,...k.normalizeParams(n)})}function Eh(r,e,n){return new Bn({type:"record",keyType:r,valueType:e,mode:"loose",...k.normalizeParams(n)})}var Uu=f("ZodMap",(r,e)=>{lc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>jl(r,n,i,t),r.keyType=e.keyType,r.valueType=e.valueType,r.min=(...n)=>r.check(Ae(...n)),r.nonempty=n=>r.check(Ae(1,n)),r.max=(...n)=>r.check(Xe(...n)),r.size=(...n)=>r.check(gt(...n))});function Ih(r,e,n){return new Uu({type:"map",keyType:r,valueType:e,...k.normalizeParams(n)})}var Nu=f("ZodSet",(r,e)=>{uc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Rl(r,n,i,t),r.min=(...n)=>r.check(Ae(...n)),r.nonempty=n=>r.check(Ae(1,n)),r.max=(...n)=>r.check(Xe(...n)),r.size=(...n)=>r.check(gt(...n))});function Ph(r,e){return new Nu({type:"set",valueType:r,...k.normalizeParams(e)})}var en=f("ZodEnum",(r,e)=>{dc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(i,t,o)=>Tl(r,i,t,o),r.enum=e.entries,r.options=Object.values(e.entries);let n=new Set(Object.keys(e.entries));r.extract=(i,t)=>{let o={};for(let s of i)if(n.has(s))o[s]=e.entries[s];else throw new Error(`Key ${s} not found in enum`);return new en({...e,checks:[],...k.normalizeParams(t),entries:o})},r.exclude=(i,t)=>{let o={...e.entries};for(let s of i)if(n.has(s))delete o[s];else throw new Error(`Key ${s} not found in enum`);return new en({...e,checks:[],...k.normalizeParams(t),entries:o})}});function po(r,e){let n=Array.isArray(r)?Object.fromEntries(r.map(i=>[i,i])):r;return new en({type:"enum",entries:n,...k.normalizeParams(e)})}function Th(r,e){return new en({type:"enum",entries:r,...k.normalizeParams(e)})}var ju=f("ZodLiteral",(r,e)=>{pc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>zl(r,n,i,t),r.values=new Set(e.values),Object.defineProperty(r,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function zh(r,e){return new ju({type:"literal",values:Array.isArray(r)?r:[r],...k.normalizeParams(e)})}var Ru=f("ZodFile",(r,e)=>{mc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Ml(r,n,i,t),r.min=(n,i)=>r.check(Ae(n,i)),r.max=(n,i)=>r.check(Xe(n,i)),r.mime=(n,i)=>r.check(Wt(Array.isArray(n)?n:[n],i))});function Oh(r){return ul(Ru,r)}var Zu=f("ZodTransform",(r,e)=>{hc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Nl(r,n,i,t),r._zod.parse=(n,i)=>{if(i.direction==="backward")throw new qe(r.constructor.name);n.addIssue=o=>{var s,c,l;if(typeof o=="string")n.issues.push(k.issue(o,n.value,e));else{let u=o;u.fatal&&(u.continue=!1),(s=u.code)!=null||(u.code="custom"),(c=u.input)!=null||(u.input=n.value),(l=u.inst)!=null||(u.inst=r),n.issues.push(k.issue(u))}};let t=e.transform(n.value,n);return t instanceof Promise?t.then(o=>(n.value=o,n)):(n.value=t,n)}});function mo(r){return new Zu({type:"transform",transform:r})}var ho=f("ZodOptional",(r,e)=>{ni.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Ai(r,n,i,t),r.unwrap=()=>r._zod.def.innerType});function jn(r){return new ho({type:"optional",innerType:r})}var Fu=f("ZodExactOptional",(r,e)=>{gc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Ai(r,n,i,t),r.unwrap=()=>r._zod.def.innerType});function Hu(r){return new Fu({type:"optional",innerType:r})}var Vu=f("ZodNullable",(r,e)=>{fc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Wl(r,n,i,t),r.unwrap=()=>r._zod.def.innerType});function Rn(r){return new Vu({type:"nullable",innerType:r})}function Dh(r){return jn(Rn(r))}var qu=f("ZodDefault",(r,e)=>{vc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Jl(r,n,i,t),r.unwrap=()=>r._zod.def.innerType,r.removeDefault=r.unwrap});function Wu(r,e){return new qu({type:"default",innerType:r,get defaultValue(){return typeof e=="function"?e():k.shallowClone(e)}})}var Bu=f("ZodPrefault",(r,e)=>{yc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Gl(r,n,i,t),r.unwrap=()=>r._zod.def.innerType});function Ju(r,e){return new Bu({type:"prefault",innerType:r,get defaultValue(){return typeof e=="function"?e():k.shallowClone(e)}})}var go=f("ZodNonOptional",(r,e)=>{bc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Bl(r,n,i,t),r.unwrap=()=>r._zod.def.innerType});function Gu(r,e){return new go({type:"nonoptional",innerType:r,...k.normalizeParams(e)})}var Ku=f("ZodSuccess",(r,e)=>{Sc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Al(r,n,i,t),r.unwrap=()=>r._zod.def.innerType});function Mh(r){return new Ku({type:"success",innerType:r})}var Xu=f("ZodCatch",(r,e)=>{$c.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Kl(r,n,i,t),r.unwrap=()=>r._zod.def.innerType,r.removeCatch=r.unwrap});function Yu(r,e){return new Xu({type:"catch",innerType:r,catchValue:typeof e=="function"?e:()=>e})}var Qu=f("ZodNaN",(r,e)=>{xc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Ol(r,n,i,t)});function Ah(r){return cl(Qu,r)}var fo=f("ZodPipe",(r,e)=>{wc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Xl(r,n,i,t),r.in=e.in,r.out=e.out});function Zn(r,e){return new fo({type:"pipe",in:r,out:e})}var vo=f("ZodCodec",(r,e)=>{fo.init(r,e),Dn.init(r,e)});function Lh(r,e,n){return new vo({type:"pipe",in:r,out:e,transform:n.decode,reverseTransform:n.encode})}var ed=f("ZodReadonly",(r,e)=>{_c.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Yl(r,n,i,t),r.unwrap=()=>r._zod.def.innerType});function td(r){return new ed({type:"readonly",innerType:r})}var nd=f("ZodTemplateLiteral",(r,e)=>{kc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Dl(r,n,i,t)});function Uh(r,e){return new nd({type:"template_literal",parts:r,...k.normalizeParams(e)})}var rd=f("ZodLazy",(r,e)=>{Ic.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>eu(r,n,i,t),r.unwrap=()=>r._zod.def.getter()});function id(r){return new rd({type:"lazy",getter:r})}var od=f("ZodPromise",(r,e)=>{Ec.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Ql(r,n,i,t),r.unwrap=()=>r._zod.def.innerType});function Nh(r){return new od({type:"promise",innerType:r})}var sd=f("ZodFunction",(r,e)=>{Cc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Ul(r,n,i,t)});function jh(r){var e,n;return new sd({type:"function",input:Array.isArray(r==null?void 0:r.input)?Au(r==null?void 0:r.input):(e=r==null?void 0:r.input)!=null?e:Vn(bt()),output:(n=r==null?void 0:r.output)!=null?n:bt()})}var Jn=f("ZodCustom",(r,e)=>{Pc.init(r,e),L.init(r,e),r._zod.processJSONSchema=(n,i,t)=>Ll(r,n,i,t)});function Rh(r){let e=new J({check:"custom"});return e._zod.check=r,e}function Zh(r,e){return dl(Jn,r!=null?r:()=>!0,e)}function ad(r,e={}){return pl(Jn,r,e)}function cd(r){return ml(r)}var Fh=hl,Hh=gl;function Vh(r,e={}){let n=new Jn({type:"custom",check:"custom",fn:i=>i instanceof r,abort:!0,...k.normalizeParams(e)});return n._zod.bag.Class=r,n._zod.check=i=>{var t;i.value instanceof r||i.issues.push({code:"invalid_type",expected:r.name,input:i.value,inst:n,path:[...(t=n._zod.def.path)!=null?t:[]]})},n}var qh=(...r)=>fl({Codec:vo,Boolean:on,String:tn},...r);function Wh(r){let e=id(()=>uo([Hi(r),bu(),Su(),_u(),Vn(e),Lu(Hi(),e)]));return e}function Bh(r,e){return Zn(mo(r),e)}var Ey={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function Iy(r){Q({customError:r})}function Py(){return Q().customError}var ld;ld||(ld={});var z={...Un,...Ni,iso:yt},Ty=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function zy(r,e){let n=r.$schema;return n==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":n==="http://json-schema.org/draft-07/schema#"?"draft-7":n==="http://json-schema.org/draft-04/schema#"?"draft-4":e!=null?e:"draft-2020-12"}function Oy(r,e){if(!r.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let n=r.slice(1).split("/").filter(Boolean);if(n.length===0)return e.rootSchema;let i=e.version==="draft-2020-12"?"$defs":"definitions";if(n[0]===i){let t=n[1];if(!t||!e.defs[t])throw new Error(`Reference not found: ${r}`);return e.defs[t]}throw new Error(`Reference not found: ${r}`)}function Jh(r,e){if(r.not!==void 0){if(typeof r.not=="object"&&Object.keys(r.not).length===0)return z.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(r.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(r.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(r.if!==void 0||r.then!==void 0||r.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(r.dependentSchemas!==void 0||r.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(r.$ref){let t=r.$ref;if(e.refs.has(t))return e.refs.get(t);if(e.processing.has(t))return z.lazy(()=>{if(!e.refs.has(t))throw new Error(`Circular reference not resolved: ${t}`);return e.refs.get(t)});e.processing.add(t);let o=Oy(t,e),s=ue(o,e);return e.refs.set(t,s),e.processing.delete(t),s}if(r.enum!==void 0){let t=r.enum;if(e.version==="openapi-3.0"&&r.nullable===!0&&t.length===1&&t[0]===null)return z.null();if(t.length===0)return z.never();if(t.length===1)return z.literal(t[0]);if(t.every(s=>typeof s=="string"))return z.enum(t);let o=t.map(s=>z.literal(s));return o.length<2?o[0]:z.union([o[0],o[1],...o.slice(2)])}if(r.const!==void 0)return z.literal(r.const);let n=r.type;if(Array.isArray(n)){let t=n.map(o=>{let s={...r,type:o};return Jh(s,e)});return t.length===0?z.never():t.length===1?t[0]:z.union(t)}if(!n)return z.any();let i;switch(n){case"string":{let t=z.string();if(r.format){let o=r.format;o==="email"?t=t.check(z.email()):o==="uri"||o==="uri-reference"?t=t.check(z.url()):o==="uuid"||o==="guid"?t=t.check(z.uuid()):o==="date-time"?t=t.check(z.iso.datetime()):o==="date"?t=t.check(z.iso.date()):o==="time"?t=t.check(z.iso.time()):o==="duration"?t=t.check(z.iso.duration()):o==="ipv4"?t=t.check(z.ipv4()):o==="ipv6"?t=t.check(z.ipv6()):o==="mac"?t=t.check(z.mac()):o==="cidr"?t=t.check(z.cidrv4()):o==="cidr-v6"?t=t.check(z.cidrv6()):o==="base64"?t=t.check(z.base64()):o==="base64url"?t=t.check(z.base64url()):o==="e164"?t=t.check(z.e164()):o==="jwt"?t=t.check(z.jwt()):o==="emoji"?t=t.check(z.emoji()):o==="nanoid"?t=t.check(z.nanoid()):o==="cuid"?t=t.check(z.cuid()):o==="cuid2"?t=t.check(z.cuid2()):o==="ulid"?t=t.check(z.ulid()):o==="xid"?t=t.check(z.xid()):o==="ksuid"&&(t=t.check(z.ksuid()))}typeof r.minLength=="number"&&(t=t.min(r.minLength)),typeof r.maxLength=="number"&&(t=t.max(r.maxLength)),r.pattern&&(t=t.regex(new RegExp(r.pattern))),i=t;break}case"number":case"integer":{let t=n==="integer"?z.number().int():z.number();typeof r.minimum=="number"&&(t=t.min(r.minimum)),typeof r.maximum=="number"&&(t=t.max(r.maximum)),typeof r.exclusiveMinimum=="number"?t=t.gt(r.exclusiveMinimum):r.exclusiveMinimum===!0&&typeof r.minimum=="number"&&(t=t.gt(r.minimum)),typeof r.exclusiveMaximum=="number"?t=t.lt(r.exclusiveMaximum):r.exclusiveMaximum===!0&&typeof r.maximum=="number"&&(t=t.lt(r.maximum)),typeof r.multipleOf=="number"&&(t=t.multipleOf(r.multipleOf)),i=t;break}case"boolean":{i=z.boolean();break}case"null":{i=z.null();break}case"object":{let t={},o=r.properties||{},s=new Set(r.required||[]);for(let[l,u]of Object.entries(o)){let d=ue(u,e);t[l]=s.has(l)?d:d.optional()}if(r.propertyNames){let l=ue(r.propertyNames,e),u=r.additionalProperties&&typeof r.additionalProperties=="object"?ue(r.additionalProperties,e):z.any();if(Object.keys(t).length===0){i=z.record(l,u);break}let d=z.object(t).passthrough(),a=z.looseRecord(l,u);i=z.intersection(d,a);break}if(r.patternProperties){let l=r.patternProperties,u=Object.keys(l),d=[];for(let p of u){let m=ue(l[p],e),h=z.string().regex(new RegExp(p));d.push(z.looseRecord(h,m))}let a=[];if(Object.keys(t).length>0&&a.push(z.object(t).passthrough()),a.push(...d),a.length===0)i=z.object({}).passthrough();else if(a.length===1)i=a[0];else{let p=z.intersection(a[0],a[1]);for(let m=2;mue(l,e)),c=o&&typeof o=="object"&&!Array.isArray(o)?ue(o,e):void 0;c?i=z.tuple(s).rest(c):i=z.tuple(s),typeof r.minItems=="number"&&(i=i.check(z.minLength(r.minItems))),typeof r.maxItems=="number"&&(i=i.check(z.maxLength(r.maxItems)))}else if(Array.isArray(o)){let s=o.map(l=>ue(l,e)),c=r.additionalItems&&typeof r.additionalItems=="object"?ue(r.additionalItems,e):void 0;c?i=z.tuple(s).rest(c):i=z.tuple(s),typeof r.minItems=="number"&&(i=i.check(z.minLength(r.minItems))),typeof r.maxItems=="number"&&(i=i.check(z.maxLength(r.maxItems)))}else if(o!==void 0){let s=ue(o,e),c=z.array(s);typeof r.minItems=="number"&&(c=c.min(r.minItems)),typeof r.maxItems=="number"&&(c=c.max(r.maxItems)),i=c}else i=z.array(z.any());break}default:throw new Error(`Unsupported type: ${n}`)}return r.description&&(i=i.describe(r.description)),r.default!==void 0&&(i=i.default(r.default)),i}function ue(r,e){if(typeof r=="boolean")return r?z.any():z.never();let n=Jh(r,e),i=r.type||r.enum!==void 0||r.const!==void 0;if(r.anyOf&&Array.isArray(r.anyOf)){let c=r.anyOf.map(u=>ue(u,e)),l=z.union(c);n=i?z.intersection(n,l):l}if(r.oneOf&&Array.isArray(r.oneOf)){let c=r.oneOf.map(u=>ue(u,e)),l=z.xor(c);n=i?z.intersection(n,l):l}if(r.allOf&&Array.isArray(r.allOf))if(r.allOf.length===0)n=i?n:z.any();else{let c=i?n:ue(r.allOf[0],e),l=i?0:1;for(let u=l;u0&&e.registry.add(n,t),n}function Gh(r,e){var o;if(typeof r=="boolean")return r?z.any():z.never();let n=zy(r,e==null?void 0:e.defaultTarget),i=r.$defs||r.definitions||{},t={version:n,defs:i,refs:new Map,processing:new Set,rootSchema:r,registry:(o=e==null?void 0:e.registry)!=null?o:ce};return ue(r,t)}var yo={};$e(yo,{bigint:()=>Ly,boolean:()=>Ay,date:()=>Uy,number:()=>My,string:()=>Dy});function Dy(r){return Dc(tn,r)}function My(r){return Zc(rn,r)}function Ay(r){return Jc(on,r)}function Ly(r){return Kc(sn,r)}function Uy(r){return al(Hn,r)}Q(ri());var Yh=require("obsidian");var Kh=require("obsidian");function bo(r){return r!==null&&r instanceof Kh.TFile}function So(r){return r!==null&&!("extension"in r)&&"children"in r}var $o=class{constructor(e,n,i,t,o){this.vault=e,this.app=n,this.metadataCache=i,this.permissionManager=t,this.auditLogger=o}generateLogId(){return`log_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}getBacklinks(e){let n=this.vault.getMarkdownFiles(),i=[];for(let t of n){let o=this.metadataCache.getFileCache(t);o!=null&&o.links&&o.links.some(c=>{let l=c.link.replace(/^\.\//,""),u=e.path.replace(/^\.\//,"");return l===u||l===e.basename||l===e.path})&&i.push(t.path)}return Array.from(new Set(i))}async createAuditLog(e,n,i,t,o,s,c,l,u){let d={id:this.generateLogId(),timestamp:o,toolName:e,sessionId:n,callId:i,input:t,output:c!==void 0?c:void 0,isError:!!l,error:l==null?void 0:l.message,permissionLevel:this.permissionManager.getPermissionLevel(),requiredApproval:!1,approved:void 0,dryRun:!1,affectedPath:u,duration:Date.now()-o};await this.auditLogger.log(d)}async executeWithAuditLog(e,n,i,t,o,s){let c=Date.now();try{let l=await s();return await this.createAuditLog(e,n,i,t,c,"read",l,void 0,o),l}catch(l){throw await this.createAuditLog(e,n,i,t,c,"read",void 0,l instanceof Error?l:new Error(String(l)),o),l}}async searchVault(e,n,i){let t=i||`call_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;return this.executeWithAuditLog("obsidian.search_vault",n,t,e,void 0,async()=>{let o=this.vault.getMarkdownFiles(),s=e.query.toLowerCase(),c=[];for(let u of o){let d=u.path.toLowerCase().includes(s)||u.basename.toLowerCase().includes(s);if(d){let a,p=0;if(e.includeContent||!d)try{let m=await this.vault.read(u);if(m.toLowerCase().includes(s)||d){a=e.includeContent?m:void 0;let g=new RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi"),y=m.match(g);if(p=y?y.length:d?1:0,e.includeContent&&a){let b=m.toLowerCase().indexOf(s);if(b>=0){let $=Math.max(0,b-50),P=Math.min(a.length,b+s.length+50);a=`...${a.substring($,P)}...`}}}}catch(m){continue}else d&&(p=1);p>0&&c.push({path:u.path,title:u.basename,content:a,matchCount:p})}}return c.sort((u,d)=>d.matchCount-u.matchCount),{results:c.slice(0,e.limit||20),totalMatches:c.length}})}async readNote(e,n,i){let t=i||`call_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;return this.executeWithAuditLog("obsidian.read_note",n,t,e,e.path,async()=>{let o=await this.permissionManager.canRead(e.path);if(!o.allowed)throw new Error(`Permission denied: ${o.reason}`);let s=this.vault.getAbstractFileByPath(e.path);if(!bo(s))return{path:e.path,content:"",exists:!1};let c=await this.vault.read(s);return{path:e.path,content:c,exists:!0}})}async listNotes(e,n,i){let t=i||`call_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;return this.executeWithAuditLog("obsidian.list_notes",n,t,e,void 0,async()=>{var d;let o=e.folder||"",s=o?this.vault.getAbstractFileByPath(o):null;if(o&&!So(s))return{files:[],totalCount:0};let c=[],l=(a,p)=>{let m=a||this.vault.getRoot();for(let h of m.children)bo(h)?c.push({path:h.path,size:h.stat.size,modified:h.stat.mtime}):So(h)&&e.includeFolders?(c.push({path:h.path,isFolder:!0}),p&&l(h,p)):So(h)&&p&&l(h,p)},u=s&&So(s)?s:null;return l(u,(d=e.recursive)!=null?d:!0),{files:c,totalCount:c.length}})}async getNoteMetadata(e,n,i){let t=i||`call_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;return this.executeWithAuditLog("obsidian.get_note_metadata",n,t,e,e.path,async()=>{var m;let o=this.vault.getAbstractFileByPath(e.path);if(!bo(o))return{path:e.path,exists:!1};let s=this.metadataCache.getFileCache(o),c=await this.vault.read(o),l;e.includeProperties&&(s!=null&&s.frontmatter)&&(l=s.frontmatter);let u=e.includeTags&&(s!=null&&s.tags)?s.tags.map(h=>h.tag):void 0,d=e.includeLinks?{outlinks:s!=null&&s.links?Array.from(new Set(s.links.map(h=>h.link))):[],backlinks:this.getBacklinks(o),unresolvedLinks:s!=null&&s.links?s.links.map(h=>h.link).filter(h=>!this.vault.getAbstractFileByPath(h)):[]}:void 0,a={wordCount:c.split(/\s+/).filter(h=>h.length>0).length,lineCount:c.split(` -`).length,characterCount:c.length},p;if(l!=null&&l.title&&typeof l.title=="string")p=l.title;else{let h=c.match(/^#+\s+(.+)$/m);p=((m=h==null?void 0:h[1])==null?void 0:m.trim())||o.basename}return{path:e.path,exists:!0,title:p,frontmatter:e.includeProperties?l:void 0,tags:u,links:d,stats:a}})}async generatePreview(e,n,i,t){let o=Date.now(),s=t||`preview_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;if(e==="obsidian.read_note"){let c=n;try{let l=await this.permissionManager.canRead(c.path);if(!l.allowed)throw await this.createAuditLog(e,i,s,n,o,"read",void 0,new Error(`Permission denied for preview: ${l.reason}`),c.path),new Error(`Permission denied: ${l.reason}`)}catch(l){throw await this.createAuditLog(e,i,s,n,o,"read",void 0,l instanceof Error?l:new Error(String(l)),c.path),l}try{let l,u=this.vault.getAbstractFileByPath(c.path);return bo(u)&&(l=await this.vault.read(u)),await this.createAuditLog(e,i,s,n,o,"read",{preview:{originalContent:l,path:c.path}},void 0,c.path),{originalContent:l,path:c.path}}catch(l){return await this.createAuditLog(e,i,s,n,o,"read",void 0,l instanceof Error?l:new Error(String(l)),c.path),console.warn("[VaultReader] Failed to generate preview:",l),{originalContent:void 0,path:c.path}}}}};function Gn(r){return r!==null&&r instanceof Yh.TFile}function Xh(r){return r!==null&&!("extension"in r)&&"children"in r}var $t=class extends Error{constructor(e){super(e),this.name="PermissionPendingError"}},xo=class{constructor(e,n,i,t,o){this.vault=e,this.app=n,this.metadataCache=i,this.permissionManager=t,this.auditLogger=o,this.reader=new $o(e,n,i,t,o)}generateLogId(){return`log_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}async createAuditLog(e,n,i,t,o,s,c,l,u,d,a){let p=Date.now()-o,m=this.permissionManager.getPermissionLevel(),h=s!=="read"&&this.permissionManager.requiresApproval(e,s),g={id:this.generateLogId(),timestamp:o,toolName:e,sessionId:n,callId:i,input:t,output:c!==void 0?c:void 0,isError:!!l,error:l==null?void 0:l.message,permissionLevel:m,requiredApproval:h,approved:h?d:void 0,dryRun:a||!1,affectedPath:u,duration:p};await this.auditLogger.log(g)}async executeWithAuditLog(e,n,i,t,o,s,c=!1,l=!1,u){let d=Date.now();try{let a=await u();return await this.createAuditLog(e,n,i,t,d,o,a,void 0,s,c,l),a}catch(a){throw await this.createAuditLog(e,n,i,t,d,o,void 0,a instanceof Error?a:new Error(String(a)),s,c,l),a}}async searchVault(e,n,i){return this.reader.searchVault(e,n,i)}async readNote(e,n,i){return this.reader.readNote(e,n,i)}async listNotes(e,n,i){return this.reader.listNotes(e,n,i)}async getNoteMetadata(e,n,i){return this.reader.getNoteMetadata(e,n,i)}async createNote(e,n,i,t=!1){let o=i||`call_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;return this.executeWithAuditLog("obsidian.create_note",n,o,e,"create",e.path,t,!1,async()=>{let s=await this.permissionManager.canCreate(e.path);if(!s.allowed)throw new Error(`Permission denied: ${s.reason}`);if(this.permissionManager.requiresApproval("obsidian.create_note","create")&&!t)throw new $t("User approval required for create operation");let c=this.vault.getAbstractFileByPath(e.path),l=Gn(c);if(l&&!e.overwrite)throw new Error(`File already exists: ${e.path}. Use overwrite=true to replace it.`);if(l&&Gn(c))await this.vault.modify(c,e.content);else{let u=e.path.split("/");if(u.length>1){let d=u.slice(0,-1).join("/"),a=this.vault.getAbstractFileByPath(d);Xh(a)||await this.vault.createFolder(d)}await this.vault.create(e.path,e.content)}return{path:e.path,created:!0,existed:l}})}async updateNote(e,n,i,t=!1){var c,l,u;let o=Date.now(),s=i||`call_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;try{let d=await this.permissionManager.canModify(e.path);if(!d.allowed){let $=new Error(`Permission denied: ${d.reason}`);throw await this.createAuditLog("obsidian.update_note",n,s,e,o,"modify",void 0,$,e.path,!1,(c=e.dryRun)!=null?c:!0),$}let a=this.vault.getAbstractFileByPath(e.path),p=Gn(a)?await this.vault.read(a):"",m,h=0,g=0;switch(e.mode){case"replace":m=e.content,p&&(g=p.split(` -`).length),h=m.split(` -`).length;break;case"append":m=p+(p&&!p.endsWith(` -`)?` -`:"")+e.content,h=e.content.split(` -`).length;break;case"prepend":m=e.content+(e.content&&!e.content.endsWith(` -`)?` -`:"")+p,h=e.content.split(` -`).length;break;case"insert":{if(!e.insertAt&&!e.insertMarker)throw new Error("insertAt or insertMarker is required for insert mode");let $=p.split(` -`),P;if(e.insertAt!==void 0)P=Math.max(0,Math.min($.length,e.insertAt-1));else if(e.insertMarker){let x=$.findIndex(M=>M.includes(e.insertMarker));if(x===-1)throw new Error(`Marker "${e.insertMarker}" not found in file`);P=x+1}else throw new Error("insertAt or insertMarker is required for insert mode");let S=e.content.split(` -`);$.splice(P,0,...S),m=$.join(` -`),h=S.length;break}default:throw new Error(`Unknown update mode: ${String(e.mode)}`)}if(p){let $=p.split(` -`).length,P=m.split(` -`).length;e.mode==="replace"?(g=$,h=P):h=P-$}else h=m.split(` -`).length;let y={originalContent:p||void 0,newContent:m,addedLines:h,removedLines:e.mode==="replace"&&p?g:void 0};if((l=e.dryRun)==null||l){let $={path:e.path,updated:!1,mode:e.mode,preview:y};return await this.createAuditLog("obsidian.update_note",n,s,e,o,"modify",$,void 0,e.path,!1,!0),$}if(this.permissionManager.requiresApproval("obsidian.update_note","modify")&&!t)throw new $t("User approval required for update note operation");if(Gn(a))await this.vault.modify(a,m);else{let $=e.path.split("/");if($.length>1){let P=$.slice(0,-1).join("/"),S=this.vault.getAbstractFileByPath(P);Xh(S)||await this.vault.createFolder(P)}await this.vault.create(e.path,m)}let b={path:e.path,updated:!0,mode:e.mode,preview:y};return await this.createAuditLog("obsidian.update_note",n,s,e,o,"modify",b,void 0,e.path,t,!1),b}catch(d){throw d instanceof $t||await this.createAuditLog("obsidian.update_note",n,s,e,o,"modify",void 0,d instanceof Error?d:new Error(String(d)),e.path,t,(u=e.dryRun)!=null?u:!0),d}}async generatePreview(e,n,i,t){if(e==="obsidian.read_note"){let c=await this.reader.generatePreview(e,n,i,t);return c?{originalContent:c.originalContent,newContent:c.originalContent||"",mode:"read"}:void 0}let o=Date.now(),s=t||`preview_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;if(e==="obsidian.update_note"){let c=n;try{let l=await this.permissionManager.canRead(c.path);if(!l.allowed)throw await this.createAuditLog(e,i,s,n,o,"read",void 0,new Error(`Permission denied for preview: ${l.reason}`),c.path,!1,!0),new Error(`Permission denied: ${l.reason}`)}catch(l){throw await this.createAuditLog(e,i,s,n,o,"read",void 0,l instanceof Error?l:new Error(String(l)),c.path,!1,!0),l}try{let l,u=this.vault.getAbstractFileByPath(c.path);Gn(u)&&(l=await this.vault.read(u));let d=c.content;l!==void 0&&(c.mode==="append"?d=l+(l&&!l.endsWith(` -`)?` -`:"")+c.content:c.mode==="prepend"?d=c.content+(c.content&&!c.content.endsWith(` -`)?` -`:"")+l:(c.mode==="replace"||c.mode==="insert")&&(d=c.content));let a=l?l.split(` -`).length:0,p=d.split(` -`).length,m=p>a?p-a:0,h=p`${n.path.join(".")}: ${n.message}`).join(", ")}var wo=class{constructor(e,n){this.tools=new Map;this.app=null;this.executor=e,this.app=n||null,this.toolExecutors={"obsidian.search_vault":(i,t,o)=>this.executor.searchVault(i,t,o),"obsidian.read_note":(i,t,o)=>this.executor.readNote(i,t,o),"obsidian.list_notes":(i,t,o)=>this.executor.listNotes(i,t,o),"obsidian.get_note_metadata":(i,t,o)=>this.executor.getNoteMetadata(i,t,o),"obsidian.create_note":(i,t,o,s)=>this.executor.createNote(i,t,o,s),"obsidian.update_note":(i,t,o,s)=>this.executor.updateNote(i,t,o,s)},this.registerBuiltInTools()}setApp(e){this.app=e}registerBuiltInTools(){for(let e of Qh)this.registerTool(e)}registerTool(e){this.tools.set(e.name,e)}getTool(e){return this.tools.get(e)}listTools(){return Array.from(this.tools.values())}async execute(e,n,i,t,o=!1){let s=this.tools.get(e);if(!s)throw new Error(`Tool not found: ${e}`);let c;try{c=s.inputSchema.parse(n)}catch(d){throw d instanceof E.ZodError?new Error(`Invalid input for ${e}: ${eg(d)}`):d}let l=this.toolExecutors[e];if(!l)throw new Error(`Tool execution not implemented: ${e}`);let u=await l(c,i,t,o);try{return s.outputSchema.parse(u)}catch(d){throw d instanceof E.ZodError?new Error(`Invalid output from ${e}: ${eg(d)}`):d}}requiresApproval(e){let n=this.tools.get(e);return n?n.permission!=="read-only":!1}getToolPermission(e){let n=this.tools.get(e);return n==null?void 0:n.permission}async requestPermission(e){if(!this.app)throw new Error("App instance is required for permission requests. Call setApp() first.");return new Promise(n=>{new Tt(this.app,e,t=>{n(t)}).open()})}async executeWithPermissionHandling(e,n,i,t){try{return await this.execute(e,n,i,t,!1)}catch(o){if(o instanceof $t){if(!this.tools.get(e))throw o;let c=await this.generatePreview(e,n,i,t),l={sessionId:i||"",callId:t||"",toolName:e,args:n,preview:c};if(!await this.requestPermission(l))throw new Error(`Permission denied for ${e}`);return await this.execute(e,n,i,t,!0)}throw o}}toJSONSchema(e){let n=this.tools.get(e);if(n)return{name:n.name,description:n.description,inputSchema:{type:"object",properties:{},required:[]},outputSchema:{type:"object",properties:{},required:[]},permission:n.permission}}listToolsAsJSONSchema(){let e={type:"object",properties:{},required:[]};return this.listTools().map(n=>({name:n.name,description:n.description,inputSchema:e,outputSchema:e,permission:n.permission}))}async generatePreview(e,n,i,t){return this.executor.generatePreview(e,n,i,t)}};var ud=(r,e,n)=>{let i=r instanceof RegExp?tg(r,n):r,t=e instanceof RegExp?tg(e,n):e,o=i!==null&&t!=null&&Ky(i,t,n);return o&&{start:o[0],end:o[1],pre:n.slice(0,o[0]),body:n.slice(o[0]+i.length,o[1]),post:n.slice(o[1]+t.length)}},tg=(r,e)=>{let n=e.match(r);return n?n[0]:null},Ky=(r,e,n)=>{let i,t,o,s,c,l=n.indexOf(r),u=n.indexOf(e,l+1),d=l;if(l>=0&&u>0){if(r===e)return[l,u];for(i=[],o=n.length;d>=0&&!c;){if(d===l)i.push(d),l=n.indexOf(r,d+1);else if(i.length===1){let a=i.pop();a!==void 0&&(c=[a,u])}else t=i.pop(),t!==void 0&&t=0?l:u}i.length&&s!==void 0&&(c=[o,s])}return c};var ng="\0SLASH"+Math.random()+"\0",rg="\0OPEN"+Math.random()+"\0",pd="\0CLOSE"+Math.random()+"\0",ig="\0COMMA"+Math.random()+"\0",og="\0PERIOD"+Math.random()+"\0",Xy=new RegExp(ng,"g"),Yy=new RegExp(rg,"g"),Qy=new RegExp(pd,"g"),eb=new RegExp(ig,"g"),tb=new RegExp(og,"g"),nb=/\\\\/g,rb=/\\{/g,ib=/\\}/g,ob=/\\,/g,sb=/\\./g;function dd(r){return isNaN(r)?r.charCodeAt(0):parseInt(r,10)}function ab(r){return r.replace(nb,ng).replace(rb,rg).replace(ib,pd).replace(ob,ig).replace(sb,og)}function cb(r){return r.replace(Xy,"\\").replace(Yy,"{").replace(Qy,"}").replace(eb,",").replace(tb,".")}function sg(r){if(!r)return[""];let e=[],n=ud("{","}",r);if(!n)return r.split(",");let{pre:i,body:t,post:o}=n,s=i.split(",");s[s.length-1]+="{"+t+"}";let c=sg(o);return o.length&&(s[s.length-1]+=c.shift(),s.push.apply(s,c)),e.push.apply(e,s),e}function ag(r){return r?(r.slice(0,2)==="{}"&&(r="\\{\\}"+r.slice(2)),Kn(ab(r),!0).map(cb)):[]}function lb(r){return"{"+r+"}"}function ub(r){return/^-?0\d/.test(r)}function db(r,e){return r<=e}function pb(r,e){return r>=e}function Kn(r,e){let n=[],i=ud("{","}",r);if(!i)return[r];let t=i.pre,o=i.post.length?Kn(i.post,!1):[""];if(/\$$/.test(i.pre))for(let s=0;s=0;if(!l&&!u)return i.post.match(/,(?!,).*\}/)?(r=i.pre+"{"+i.body+pd+i.post,Kn(r)):[r];let d;if(l)d=i.body.split(/\.\./);else if(d=sg(i.body),d.length===1&&d[0]!==void 0&&(d=Kn(d[0],!1).map(lb),d.length===1))return o.map(p=>i.pre+d[0]+p);let a;if(l&&d[0]!==void 0&&d[1]!==void 0){let p=dd(d[0]),m=dd(d[1]),h=Math.max(d[0].length,d[1].length),g=d.length===3&&d[2]!==void 0?Math.abs(dd(d[2])):1,y=db;m0){let M=new Array(x+1).join("0");P<0?S="-"+M+S.slice(1):S=M+S}}a.push(S)}}else{a=[];for(let p=0;p{if(typeof r!="string")throw new TypeError("invalid pattern");if(r.length>65536)throw new TypeError("pattern is too long")};var mb={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},Yn=r=>r.replace(/[[\]\\-]/g,"\\$&"),hb=r=>r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),cg=r=>r.join(""),lg=(r,e)=>{let n=e;if(r.charAt(n)!=="[")throw new Error("not in a brace expression");let i=[],t=[],o=n+1,s=!1,c=!1,l=!1,u=!1,d=n,a="";e:for(;oa?i.push(Yn(a)+"-"+Yn(g)):g===a&&i.push(Yn(g)),a="",o++;continue}if(r.startsWith("-]",o+1)){i.push(Yn(g+"-")),o+=2;continue}if(r.startsWith("-",o+1)){a=g,o+=2;continue}i.push(Yn(g)),o++}if(dn?e?r.replace(/\[([^\/\\])\]/g,"$1"):r.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"):e?r.replace(/\[([^\/\\{}])\]/g,"$1"):r.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1");var gb=new Set(["!","?","+","*","@"]),ug=r=>gb.has(r),fb="(?!(?:^|/)\\.\\.?(?:$|/))",_o="(?!\\.)",vb=new Set(["[","."]),yb=new Set(["..","."]),bb=new Set("().*{}+?[]^$\\!"),Sb=r=>r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),hd="[^/]",dg=hd+"*?",pg=hd+"+?",ie,oe,Fe,X,ne,nt,xt,rt,Ne,wt,Qn,_t,mg,it,ko,md,hg,ge=class ge{constructor(e,n,i={}){fe(this,_t);D(this,"type");fe(this,ie);fe(this,oe);fe(this,Fe,!1);fe(this,X,[]);fe(this,ne);fe(this,nt);fe(this,xt);fe(this,rt,!1);fe(this,Ne);fe(this,wt);fe(this,Qn,!1);this.type=e,e&&ee(this,oe,!0),ee(this,ne,n),ee(this,ie,I(this,ne)?I(I(this,ne),ie):this),ee(this,Ne,I(this,ie)===this?i:I(I(this,ie),Ne)),ee(this,xt,I(this,ie)===this?[]:I(I(this,ie),xt)),e==="!"&&!I(I(this,ie),rt)&&I(this,xt).push(this),ee(this,nt,I(this,ne)?I(I(this,ne),X).length:0)}get hasMagic(){if(I(this,oe)!==void 0)return I(this,oe);for(let e of I(this,X))if(typeof e!="string"&&(e.type||e.hasMagic))return ee(this,oe,!0);return I(this,oe)}toString(){return I(this,wt)!==void 0?I(this,wt):this.type?ee(this,wt,this.type+"("+I(this,X).map(e=>String(e)).join("|")+")"):ee(this,wt,I(this,X).map(e=>String(e)).join(""))}push(...e){for(let n of e)if(n!==""){if(typeof n!="string"&&!(n instanceof ge&&I(n,ne)===this))throw new Error("invalid part: "+n);I(this,X).push(n)}}toJSON(){var n;let e=this.type===null?I(this,X).slice().map(i=>typeof i=="string"?i:i.toJSON()):[this.type,...I(this,X).map(i=>i.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===I(this,ie)||I(I(this,ie),rt)&&((n=I(this,ne))==null?void 0:n.type)==="!")&&e.push({}),e}isStart(){var n;if(I(this,ie)===this)return!0;if(!((n=I(this,ne))!=null&&n.isStart()))return!1;if(I(this,nt)===0)return!0;let e=I(this,ne);for(let i=0;itypeof h!="string"),d=I(this,X).map(h=>{var P;let[g,y,b,$]=typeof h=="string"?Ve(P=ge,it,hg).call(P,h,I(this,oe),u):h.toRegExpSource(e);return ee(this,oe,I(this,oe)||b),ee(this,Fe,I(this,Fe)||$),g}).join(""),a="";if(this.isStart()&&typeof I(this,X)[0]=="string"&&!(I(this,X).length===1&&yb.has(I(this,X)[0]))){let g=vb,y=n&&g.has(d.charAt(0))||d.startsWith("\\.")&&g.has(d.charAt(2))||d.startsWith("\\.\\.")&&g.has(d.charAt(4)),b=!n&&!e&&g.has(d.charAt(0));a=y?fb:b?_o:""}let p="";return this.isEnd()&&I(I(this,ie),rt)&&((l=I(this,ne))==null?void 0:l.type)==="!"&&(p="(?:$|\\/)"),[a+d+p,tt(d),ee(this,oe,!!I(this,oe)),I(this,Fe)]}let i=this.type==="*"||this.type==="+",t=this.type==="!"?"(?:(?!(?:":"(?:",o=Ve(this,_t,md).call(this,n);if(this.isStart()&&this.isEnd()&&!o&&this.type!=="!"){let u=this.toString();return ee(this,X,[u]),this.type=null,ee(this,oe,void 0),[u,tt(this.toString()),!1,!1]}let s=!i||e||n||!_o?"":Ve(this,_t,md).call(this,!0);s===o&&(s=""),s&&(o=`(?:${o})(?:${s})*?`);let c="";if(this.type==="!"&&I(this,Qn))c=(this.isStart()&&!n?_o:"")+pg;else{let u=this.type==="!"?"))"+(this.isStart()&&!n&&!e?_o:"")+dg+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&s?")":this.type==="*"&&s?")?":`)${this.type}`;c=t+o+u}return[c,tt(o),ee(this,oe,!!I(this,oe)),I(this,Fe)]}};ie=new WeakMap,oe=new WeakMap,Fe=new WeakMap,X=new WeakMap,ne=new WeakMap,nt=new WeakMap,xt=new WeakMap,rt=new WeakMap,Ne=new WeakMap,wt=new WeakMap,Qn=new WeakMap,_t=new WeakSet,mg=function(){if(this!==I(this,ie))throw new Error("should only call on root");if(I(this,rt))return this;this.toString(),ee(this,rt,!0);let e;for(;e=I(this,xt).pop();){if(e.type!=="!")continue;let n=e,i=I(n,ne);for(;i;){for(let t=I(n,nt)+1;!i.type&&t{if(typeof n=="string")throw new Error("string type in extglob ast??");let[i,t,o,s]=n.toRegExpSource(e);return ee(this,Fe,I(this,Fe)||s),i}).filter(n=>!(this.isStart()&&this.isEnd())||!!n).join("|")},hg=function(e,n,i=!1){let t=!1,o="",s=!1;for(let c=0;cn?e?r.replace(/[?*()[\]{}]/g,"[$&]"):r.replace(/[?*()[\]\\{}]/g,"\\$&"):e?r.replace(/[?*()[\]]/g,"[$&]"):r.replace(/[?*()[\]\\]/g,"\\$&");var re=(r,e,n={})=>(Xn(e),!n.nocomment&&e.charAt(0)==="#"?!1:new cn(e,n).match(r)),$b=/^\*+([^+@!?\*\[\(]*)$/,xb=r=>e=>!e.startsWith(".")&&e.endsWith(r),wb=r=>e=>e.endsWith(r),_b=r=>(r=r.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(r)),kb=r=>(r=r.toLowerCase(),e=>e.toLowerCase().endsWith(r)),Cb=/^\*+\.\*+$/,Eb=r=>!r.startsWith(".")&&r.includes("."),Ib=r=>r!=="."&&r!==".."&&r.includes("."),Pb=/^\.\*+$/,Tb=r=>r!=="."&&r!==".."&&r.startsWith("."),zb=/^\*+$/,Ob=r=>r.length!==0&&!r.startsWith("."),Db=r=>r.length!==0&&r!=="."&&r!=="..",Mb=/^\?+([^+@!?\*\[\(]*)?$/,Ab=([r,e=""])=>{let n=vg([r]);return e?(e=e.toLowerCase(),i=>n(i)&&i.toLowerCase().endsWith(e)):n},Lb=([r,e=""])=>{let n=yg([r]);return e?(e=e.toLowerCase(),i=>n(i)&&i.toLowerCase().endsWith(e)):n},Ub=([r,e=""])=>{let n=yg([r]);return e?i=>n(i)&&i.endsWith(e):n},Nb=([r,e=""])=>{let n=vg([r]);return e?i=>n(i)&&i.endsWith(e):n},vg=([r])=>{let e=r.length;return n=>n.length===e&&!n.startsWith(".")},yg=([r])=>{let e=r.length;return n=>n.length===e&&n!=="."&&n!==".."},bg=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",gg={win32:{sep:"\\"},posix:{sep:"/"}},jb=bg==="win32"?gg.win32.sep:gg.posix.sep;re.sep=jb;var Ie=Symbol("globstar **");re.GLOBSTAR=Ie;var Rb="[^/]",Zb=Rb+"*?",Fb="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",Hb="(?:(?!(?:\\/|^)\\.).)*?",Vb=(r,e={})=>n=>re(n,r,e);re.filter=Vb;var Ee=(r,e={})=>Object.assign({},r,e),qb=r=>{if(!r||typeof r!="object"||!Object.keys(r).length)return re;let e=re;return Object.assign((i,t,o={})=>e(i,t,Ee(r,o)),{Minimatch:class extends e.Minimatch{constructor(t,o={}){super(t,Ee(r,o))}static defaults(t){return e.defaults(Ee(r,t)).Minimatch}},AST:class extends e.AST{constructor(t,o,s={}){super(t,o,Ee(r,s))}static fromGlob(t,o={}){return e.AST.fromGlob(t,Ee(r,o))}},unescape:(i,t={})=>e.unescape(i,Ee(r,t)),escape:(i,t={})=>e.escape(i,Ee(r,t)),filter:(i,t={})=>e.filter(i,Ee(r,t)),defaults:i=>e.defaults(Ee(r,i)),makeRe:(i,t={})=>e.makeRe(i,Ee(r,t)),braceExpand:(i,t={})=>e.braceExpand(i,Ee(r,t)),match:(i,t,o={})=>e.match(i,t,Ee(r,o)),sep:e.sep,GLOBSTAR:Ie})};re.defaults=qb;var Sg=(r,e={})=>(Xn(r),e.nobrace||!/\{(?:(?!\{).)*\}/.test(r)?[r]:ag(r));re.braceExpand=Sg;var Wb=(r,e={})=>new cn(r,e).makeRe();re.makeRe=Wb;var Bb=(r,e,n={})=>{let i=new cn(e,n);return r=r.filter(t=>i.match(t)),i.options.nonull&&!r.length&&r.push(e),r};re.match=Bb;var fg=/[?*]|[+@!]\(.*?\)|\[|\]/,Jb=r=>r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),cn=class{constructor(e,n={}){D(this,"options");D(this,"set");D(this,"pattern");D(this,"windowsPathsNoEscape");D(this,"nonegate");D(this,"negate");D(this,"comment");D(this,"empty");D(this,"preserveMultipleSlashes");D(this,"partial");D(this,"globSet");D(this,"globParts");D(this,"nocase");D(this,"isWindows");D(this,"platform");D(this,"windowsNoMagicRoot");D(this,"regexp");Xn(e),n=n||{},this.options=n,this.pattern=e,this.platform=n.platform||bg,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!n.windowsPathsNoEscape||n.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!n.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!n.nonegate,this.comment=!1,this.empty=!1,this.partial=!!n.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=n.windowsNoMagicRoot!==void 0?n.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let n of e)if(typeof n!="string")return!0;return!1}debug(...e){}make(){let e=this.pattern,n=this.options;if(!n.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],n.debug&&(this.debug=(...o)=>console.error(...o)),this.debug(this.pattern,this.globSet);let i=this.globSet.map(o=>this.slashSplit(o));this.globParts=this.preprocess(i),this.debug(this.pattern,this.globParts);let t=this.globParts.map((o,s,c)=>{if(this.isWindows&&this.windowsNoMagicRoot){let l=o[0]===""&&o[1]===""&&(o[2]==="?"||!fg.test(o[2]))&&!fg.test(o[3]),u=/^[a-z]:/i.test(o[0]);if(l)return[...o.slice(0,4),...o.slice(4).map(d=>this.parse(d))];if(u)return[o[0],...o.slice(1).map(d=>this.parse(d))]}return o.map(l=>this.parse(l))});if(this.debug(this.pattern,t),this.set=t.filter(o=>o.indexOf(!1)===-1),this.isWindows)for(let o=0;o=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):n>=1?e=this.levelOneOptimize(e):e=this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(n=>{let i=-1;for(;(i=n.indexOf("**",i+1))!==-1;){let t=i;for(;n[t+1]==="**";)t++;t!==i&&n.splice(i,t-i)}return n})}levelOneOptimize(e){return e.map(n=>(n=n.reduce((i,t)=>{let o=i[i.length-1];return t==="**"&&o==="**"?i:t===".."&&o&&o!==".."&&o!=="."&&o!=="**"?(i.pop(),i):(i.push(t),i)},[]),n.length===0?[""]:n))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let n=!1;do{if(n=!1,!this.preserveMultipleSlashes){for(let t=1;tt&&i.splice(t+1,s-t);let c=i[t+1],l=i[t+2],u=i[t+3];if(c!==".."||!l||l==="."||l===".."||!u||u==="."||u==="..")continue;n=!0,i.splice(t,1);let d=i.slice(0);d[t]="**",e.push(d),t--}if(!this.preserveMultipleSlashes){for(let s=1;sn.length)}partsMatch(e,n,i=!1){let t=0,o=0,s=[],c="";for(;tP?n=n.slice(S):P>S&&(e=e.slice(P)))}}let{optimizationLevel:o=1}=this.options;o>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:n}),this.debug("matchOne",e.length,n.length);for(var s=0,c=0,l=e.length,u=n.length;s>> no match, partial?`,e,p,n,m),p===l))}let g;if(typeof d=="string"?(g=a===d,this.debug("string match",d,a,g)):(g=d.test(a),this.debug("pattern match",d,a,g)),!g)return!1}if(s===l&&c===u)return!0;if(s===l)return i;if(c===u)return s===l-1&&e[s]==="";throw new Error("wtf?")}braceExpand(){return Sg(this.pattern,this.options)}parse(e){Xn(e);let n=this.options;if(e==="**")return Ie;if(e==="")return"";let i,t=null;(i=e.match(zb))?t=n.dot?Db:Ob:(i=e.match($b))?t=(n.nocase?n.dot?kb:_b:n.dot?wb:xb)(i[1]):(i=e.match(Mb))?t=(n.nocase?n.dot?Lb:Ab:n.dot?Ub:Nb)(i):(i=e.match(Cb))?t=n.dot?Ib:Eb:(i=e.match(Pb))&&(t=Tb);let o=an.fromGlob(e,this.options).toMMPattern();return t&&typeof o=="object"&&Reflect.defineProperty(o,"test",{value:t}),o}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let n=this.options,i=n.noglobstar?Zb:n.dot?Fb:Hb,t=new Set(n.nocase?["i"]:[]),o=e.map(l=>{let u=l.map(a=>{if(a instanceof RegExp)for(let p of a.flags.split(""))t.add(p);return typeof a=="string"?Jb(a):a===Ie?Ie:a._src});u.forEach((a,p)=>{let m=u[p+1],h=u[p-1];a!==Ie||h===Ie||(h===void 0?m!==void 0&&m!==Ie?u[p+1]="(?:\\/|"+i+"\\/)?"+m:u[p]=i:m===void 0?u[p-1]=h+"(?:\\/|\\/"+i+")?":m!==Ie&&(u[p-1]=h+"(?:\\/|\\/"+i+"\\/)"+m,u[p+1]=Ie))});let d=u.filter(a=>a!==Ie);if(this.partial&&d.length>=1){let a=[];for(let p=1;p<=d.length;p++)a.push(d.slice(0,p).join("/"));return"(?:"+a.join("|")+")"}return d.join("/")}).join("|"),[s,c]=e.length>1?["(?:",")"]:["",""];o="^"+s+o+c+"$",this.partial&&(o="^(?:\\/|"+s+o.slice(1,-1)+c+")$"),this.negate&&(o="^(?!"+o+").+$");try{this.regexp=new RegExp(o,[...t].join(""))}catch(l){this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,n=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&n)return!0;let i=this.options;this.isWindows&&(e=e.split("\\").join("/"));let t=this.slashSplit(e);this.debug(this.pattern,"split",t);let o=this.set;this.debug(this.pattern,"set",o);let s=t[t.length-1];if(!s)for(let c=t.length-2;!s&&c>=0;c--)s=t[c];for(let c=0;c0){for(let t of this.scope.deniedPaths)if(re(i,t))return{allowed:!1,reason:`Path '${i}' matches denied pattern '${t}'`,secrets:!1}}if(this.scope.allowedPaths&&this.scope.allowedPaths.length>0&&!this.scope.allowedPaths.some(o=>re(i,o)))return{allowed:!1,reason:`Path '${i}' does not match any allowed pattern`,secrets:!1};if(this.scope.allowedExtensions&&this.scope.allowedExtensions.length>0){let t=i.toLowerCase();if(!this.scope.allowedExtensions.some(s=>{let c=s.startsWith(".")?s.toLowerCase():`.${s.toLowerCase()}`;return t.endsWith(c)}))return{allowed:!1,reason:`File extension is not in allowed list: ${this.scope.allowedExtensions.join(", ")}`,secrets:!1}}if((n==="read"||n==="modify")&&this.scope.maxFileSize)try{let t=this.vault.getAbstractFileByPath(i);if(t&&"stat"in t){let o=t.stat;if(o.size>this.scope.maxFileSize)return{allowed:!1,reason:`File size (${o.size} bytes) exceeds maximum allowed size (${this.scope.maxFileSize} bytes)`,secrets:!1}}}catch(t){return{allowed:!1,reason:`Cannot access file '${i}': ${t instanceof Error?t.message:"Unknown error"}`,secrets:!1}}return{allowed:!0,secrets:!1}}normalizePath(e){return e.replace(/\\/g,"/").replace(/^\/+/,"").replace(/\/+$/,"")}getPermissionLevel(){return this.permissionLevel}getScope(){return{...this.scope}}requiresApproval(e,n){return n==="read"?!1:["write","create","modify","delete"].includes(n)}};var fd=require("obsidian");var er=class{constructor(e,n=".opencode/audit",i=30){this.inMemoryLogs=[];this.maxInMemoryLogs=1e3;this.retentionDays=30;this.vault=e,this.auditDir=n,this.retentionDays=i}async log(e){try{this.inMemoryLogs.push(e),this.inMemoryLogs.length>this.maxInMemoryLogs&&(this.inMemoryLogs=this.inMemoryLogs.slice(-this.maxInMemoryLogs)),await this.persistLog(e)}catch(n){console.error("[AuditLogger] Failed to log entry:",n)}}async persistLog(e){let n=new Date(e.timestamp),i=this.formatDate(n),t=`${this.auditDir}/${i}.jsonl`;try{await this.ensureAuditDir();let o=JSON.stringify(e)+` -`,s=this.vault.getAbstractFileByPath(t);if(s&&s instanceof fd.TFile){let c=await this.vault.read(s);await this.vault.modify(s,c+o)}else await this.vault.create(t,o)}catch(o){throw console.error(`[AuditLogger] Failed to persist log to ${t}:`,o),o}}async ensureAuditDir(){try{this.vault.getAbstractFileByPath(this.auditDir)||await this.vault.createFolder(this.auditDir)}catch(e){console.warn(`[AuditLogger] Could not ensure audit directory exists: ${String(e)}`)}}formatDate(e){let n=e.getFullYear(),i=String(e.getMonth()+1).padStart(2,"0"),t=String(e.getDate()).padStart(2,"0");return`${n}-${i}-${t}`}async getLogs(e){try{let n=[...this.inMemoryLogs];if((e!=null&&e.startTime||e!=null&&e.endTime||e!=null&&e.offset||e!=null&&e.limit)&&(n=[...await this.loadLogsFromFiles(e),...this.inMemoryLogs],n.sort((t,o)=>o.timestamp-t.timestamp)),n=this.applyFilters(n,e),e!=null&&e.offset||e!=null&&e.limit){let i=e.offset||0,t=e.limit||100;n=n.slice(i,i+t)}return n}catch(n){return console.error("[AuditLogger] Failed to query logs:",n),[]}}async loadLogsFromFiles(e){let n=[],i,t;if(e!=null&&e.startTime&&(i=new Date(e.startTime)),e!=null&&e.endTime&&(t=new Date(e.endTime)),!i&&!t){let l=new Date,u=this.formatDate(l),d=`${this.auditDir}/${u}.jsonl`,a=await this.loadLogsFromFile(d);return n.push(...a),n}let o=i||new Date(Date.now()-30*24*60*60*1e3),s=t||new Date,c=new Date(o);for(;c<=s;){let l=this.formatDate(c),u=`${this.auditDir}/${l}.jsonl`,d=await this.loadLogsFromFile(u);n.push(...d),c.setDate(c.getDate()+1)}return n}async loadLogsFromFile(e){try{let n=this.vault.getAbstractFileByPath(e);if(!n||!(n instanceof fd.TFile))return[];let t=(await this.vault.read(n)).split(` -`).filter(s=>s.trim()),o=[];for(let s of t)try{let c=JSON.parse(s);o.push(c)}catch(c){console.warn(`[AuditLogger] Skipping malformed log line in ${e}:`,c)}return o}catch(n){return[]}}applyFilters(e,n){return n?e.filter(i=>!(n.toolName&&i.toolName!==n.toolName||n.sessionId&&i.sessionId!==n.sessionId||n.callId&&i.callId!==n.callId||n.startTime&&i.timestampn.endTime||n.pathPattern&&i.affectedPath&&!re(i.affectedPath,n.pathPattern)||n.permissionLevel&&i.permissionLevel!==n.permissionLevel||n.isError!==void 0&&i.isError!==n.isError||n.approved!==void 0&&i.approved!==n.approved||n.dryRun!==void 0&&i.dryRun!==n.dryRun)):e}async cleanupOldLogs(){try{let e=new Date;if(e.setDate(e.getDate()-this.retentionDays),!this.vault.getAbstractFileByPath(this.auditDir))return;console.debug("[AuditLogger] Cleanup not implemented - requires file system access to list files"),console.debug(`[AuditLogger] Retention policy: keep last ${this.retentionDays} days`)}catch(e){console.error("[AuditLogger] Failed to cleanup old logs:",e)}}async getStats(e){let n=await this.getLogs(e),i={total:n.length,byTool:{},byError:{errors:0,successes:0},byApproval:{approved:0,rejected:0,notRequired:0}};for(let t of n)i.byTool[t.toolName]=(i.byTool[t.toolName]||0)+1,t.isError?i.byError.errors++:i.byError.successes++,t.requiredApproval?t.approved===!0?i.byApproval.approved++:t.approved===!1&&i.byApproval.rejected++:i.byApproval.notRequired++;return i}setRetentionDays(e){this.retentionDays=e}getRetentionDays(){return this.retentionDays}async queryBySession(e){try{return(await this.getLogs()).filter(i=>i.sessionId===e)}catch(n){return console.error("[AuditLogger] Failed to query logs by session:",n),[]}}async queryByRequestId(e){try{return(await this.getLogs()).filter(i=>i.callId===e)}catch(n){return console.error("[AuditLogger] Failed to query logs by request ID:",n),[]}}};var Eo=class{constructor(){this.streamTokenListeners=[];this.streamThinkingListeners=[];this.errorListeners=[];this.progressUpdateListeners=[];this.sessionEndListeners=[];this.permissionRequestListeners=[]}onStreamToken(e){return this.streamTokenListeners.push(e),()=>{this.streamTokenListeners=this.streamTokenListeners.filter(n=>n!==e)}}onStreamThinking(e){return this.streamThinkingListeners.push(e),()=>{this.streamThinkingListeners=this.streamThinkingListeners.filter(n=>n!==e)}}onProgressUpdate(e){return this.progressUpdateListeners.push(e),()=>{this.progressUpdateListeners=this.progressUpdateListeners.filter(n=>n!==e)}}onSessionEnd(e){return this.sessionEndListeners.push(e),()=>{this.sessionEndListeners=this.sessionEndListeners.filter(n=>n!==e)}}onPermissionRequest(e){return this.permissionRequestListeners.push(e),()=>{this.permissionRequestListeners=this.permissionRequestListeners.filter(n=>n!==e)}}onError(e){return this.errorListeners.push(e),()=>{this.errorListeners=this.errorListeners.filter(n=>n!==e)}}emitStreamToken(e){for(let n of this.streamTokenListeners)n(e)}emitStreamThinking(e){for(let n of this.streamThinkingListeners)n(e)}emitProgressUpdate(e){for(let n of this.progressUpdateListeners)n(e)}emitSessionEnd(e){for(let n of this.sessionEndListeners)n(e)}emitPermissionRequest(e){for(let n of this.permissionRequestListeners)n(e)}emitError(e){for(let n of this.errorListeners)n(e)}};mn();se();var Io=class{constructor(e={},n){this.items=[];this.categories=[];this.state="idle";this.itemListeners=[];this.stateListeners=[];this.config={autoSave:!0,defaultPriority:"medium",defaultStatus:"pending",showCompleted:!0,...e},this.errorHandler=n,this.errorHandler.handleError(new Error(`TodoManager initialized with config: ${JSON.stringify(this.config)}`),{module:"TodoManager",function:"constructor"},"info")}setState(e,n){let i=this.state;this.state=e,i!==e&&this.notifyStateChange({state:e,error:n,timestamp:Date.now()})}notifyItemChange(e){this.errorHandler.handleError(new Error(`Todo state changed: ${e.type} - ${e.item.id}`),{module:"TodoManager",function:"notifyItemChange"},"info");for(let n of this.itemListeners)try{n(e)}catch(i){this.errorHandler.handleError(i,{module:"TodoManager",function:"notifyItemChange.listener"},"warning")}}notifyStateChange(e){this.errorHandler.handleError(new Error(`Todo list state changed: ${e.state}`),{module:"TodoManager",function:"notifyStateChange"},"info");for(let n of this.stateListeners)try{n(e)}catch(i){this.errorHandler.handleError(i,{module:"TodoManager",function:"notifyStateChange.listener"},"warning")}}createTodo(e){var n,i;this.setState("saving");try{let t={id:`todo-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,createdAt:Date.now(),updatedAt:Date.now(),priority:(n=e.priority)!=null?n:this.config.defaultPriority,status:(i=e.status)!=null?i:this.config.defaultStatus,title:e.title,description:e.description,categoryId:e.categoryId,dueDate:e.dueDate};return this.items.push(t),this.notifyItemChange({type:"created",item:t,timestamp:Date.now()}),this.setState("idle"),t}catch(t){throw this.setState("error",{message:"Failed to create todo",originalError:t}),t}}getTodos(e){let n=[...this.items];return e&&(e.status&&(n=n.filter(i=>i.status===e.status)),e.priority&&(n=n.filter(i=>i.priority===e.priority)),e.categoryId&&(n=n.filter(i=>i.categoryId===e.categoryId)),e.showCompleted===!1?n=n.filter(i=>i.status!=="completed"):e.showCompleted===void 0&&!this.config.showCompleted&&(n=n.filter(i=>i.status!=="completed"))),n.sort((i,t)=>{let o={high:3,medium:2,low:1},s=o[t.priority]-o[i.priority];return s!==0?s:t.createdAt-i.createdAt})}getTodoById(e){return this.items.find(n=>n.id===e)}updateTodo(e,n){var i,t,o,s,c,l;this.setState("saving");try{let u=this.items.findIndex(h=>h.id===e);if(u===-1){this.setState("idle");return}let d=this.items[u];if(!d){this.setState("idle");return}let a={...d},p={...d,...n,updatedAt:Date.now(),id:d.id,createdAt:d.createdAt,title:(i=n.title)!=null?i:d.title,status:(t=n.status)!=null?t:d.status,priority:(o=n.priority)!=null?o:d.priority,description:(s=n.description)!=null?s:d.description,categoryId:(c=n.categoryId)!=null?c:d.categoryId,dueDate:(l=n.dueDate)!=null?l:d.dueDate};n.status==="completed"&&d.status!=="completed"&&(p.completedAt=Date.now()),n.status!==void 0&&n.status!=="completed"&&d.status==="completed"&&(p.completedAt=void 0),this.items[u]=p;let m="updated";return n.status!==void 0&&n.status!==d.status?m="status_changed":n.priority!==void 0&&n.priority!==d.priority?m="priority_changed":n.categoryId!==void 0&&n.categoryId!==d.categoryId&&(m="category_changed"),this.notifyItemChange({type:m,item:p,previousState:a,timestamp:Date.now()}),this.setState("idle"),p}catch(u){throw this.setState("error",{message:"Failed to update todo",originalError:u}),u}}deleteTodo(e){this.setState("saving");try{let n=this.items.findIndex(t=>t.id===e);if(n===-1)return this.setState("idle"),!1;let i=this.items[n];return this.items.splice(n,1),this.notifyItemChange({type:"deleted",item:i,timestamp:Date.now()}),this.setState("idle"),!0}catch(n){throw this.setState("error",{message:"Failed to delete todo",originalError:n}),n}}completeTodo(e){return this.updateTodo(e,{status:"completed"})}startTodo(e){return this.updateTodo(e,{status:"in_progress"})}cancelTodo(e){return this.updateTodo(e,{status:"cancelled"})}updateTodoPriority(e,n){return this.updateTodo(e,{priority:n})}updateTodoCategory(e,n){return this.updateTodo(e,{categoryId:n})}createCategory(e,n){this.setState("saving");try{let i={id:`category-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,name:e,color:n,createdAt:Date.now()};return this.categories.push(i),this.setState("idle"),i}catch(i){throw this.setState("error",{message:"Failed to create category",originalError:i}),i}}getCategories(){return[...this.categories].sort((e,n)=>e.createdAt-n.createdAt)}getCategoryById(e){return this.categories.find(n=>n.id===e)}updateCategory(e,n){var i,t;this.setState("saving");try{let o=this.categories.findIndex(l=>l.id===e);if(o===-1){this.setState("idle");return}let s=this.categories[o];if(!s){this.setState("idle");return}let c={...s,...n,id:s.id,createdAt:s.createdAt,name:(i=n.name)!=null?i:s.name,color:(t=n.color)!=null?t:s.color};return this.categories[o]=c,this.setState("idle"),c}catch(o){throw this.setState("error",{message:"Failed to update category",originalError:o}),o}}deleteCategory(e){this.setState("saving");try{let n=this.categories.findIndex(i=>i.id===e);if(n===-1)return this.setState("idle"),!1;this.categories.splice(n,1);for(let i of this.items)i.categoryId===e&&this.updateTodo(i.id,{categoryId:void 0});return this.setState("idle"),!0}catch(n){throw this.setState("error",{message:"Failed to delete category",originalError:n}),n}}onTodoChange(e){return this.itemListeners.push(e),()=>{this.itemListeners=this.itemListeners.filter(n=>n!==e)}}onStateChange(e){return this.stateListeners.push(e),()=>{this.stateListeners=this.stateListeners.filter(n=>n!==e)}}getState(){return this.state}clearAllTodos(e){this.setState("saving");try{let n=0;return e?e.status?(n=this.items.filter(i=>i.status===e.status).length,this.items=this.items.filter(i=>i.status!==e.status)):e.keepCompleted&&(n=this.items.filter(i=>i.status!=="completed").length,this.items=this.items.filter(i=>i.status==="completed")):(n=this.items.length,this.items=[]),this.setState("idle"),n}catch(n){throw this.setState("error",{message:"Failed to clear todos",originalError:n}),n}}};var Gb={"read-only":"read-only","scoped-write":"scoped-write","full-write":"full-write"};function kg(r){var e;return(e=Gb[r||"read-only"])!=null?e:"read-only"}function Cg(r){if(r)return{allowedPaths:r.allowedPaths,deniedPaths:r.deniedPaths,maxFileSize:r.maxFileSize,allowedExtensions:r.allowedExtensions}}var Po={url:"",requestTimeoutMs:1e4,autoReconnect:!0,reconnectDelay:3e3,reconnectMaxAttempts:10,useEmbeddedServer:!1,opencodePath:"opencode",embeddedServerPort:4096},Kb={agent:"assistant",instructions:[],opencodeServer:{...Po},toolPermission:"read-only",permissionScope:void 0},To=class extends Pe.Plugin{constructor(){super(...arguments);this.opencodeClient=null;this.connectionManager=null;this.sessionEventBus=new Eo;this.toolRegistry=null;this.permissionManager=null;this.permissionCoordinator=null;this.serverManager=null;this.todoManager=null;this.todoListComponent=null;this.debouncedSaveSettings=Pd(async()=>{await this.saveSettings()},ip.DEBOUNCE_DELAY)}async onload(){var n,i;console.debug("[OpenCode Obsidian] Plugin loading...");try{this.errorHandler=new nr({showUserNotifications:!0,logToConsole:!0,collectErrors:!1,notificationCallback:(t,o)=>{new Pe.Notice(t,o==="critical"?1e4:5e3)}}),console.debug("[OpenCode Obsidian] Error handler initialized"),await this.loadSettings(),this.migrateSettings(),console.debug("[OpenCode Obsidian] Settings loaded:",{agent:this.settings.agent,opencodeServer:((n=this.settings.opencodeServer)==null?void 0:n.url)||"not configured",useEmbeddedServer:(i=this.settings.opencodeServer)==null?void 0:i.useEmbeddedServer});try{if(this.app&&this.app.vault){this.permissionManager=new Co(this.app.vault,kg(this.settings.toolPermission),Cg(this.settings.permissionScope));let t=new er(this.app.vault),o=new xo(this.app.vault,this.app,this.app.metadataCache,this.permissionManager,t);if(this.toolRegistry=new wo(o,this.app),this.settings.opencodeServer){let c=this.settings.opencodeServer;try{this.serverManager=await pn.initializeFromConfig(c,this.errorHandler,l=>this.handleServerStateChange(l),async l=>{c.url||(c.url=l,await this.saveSettings())})}catch(l){this.errorHandler.handleError(l,{module:"OpenCodeObsidianPlugin",function:"onload",operation:"Server initialization"},"warning")}}let s=this.settings.opencodeServer;if(s){let c=s.useEmbeddedServer,l=s.url;if((c&&this.serverManager&&this.serverManager.getState()==="running"||!c&&l)&&l){let a=await ds(s,this.errorHandler,this.sessionEventBus,this.permissionManager,t,this.app,async p=>{JSON.stringify(this.settings.agents)!==JSON.stringify(p)&&(this.settings.agents=p,await this.saveSettings())},()=>this.getDefaultAgents());a&&(this.opencodeClient=a.client,this.connectionManager=a.connectionManager,this.permissionCoordinator=a.permissionCoordinator)}}}}catch(t){this.errorHandler.handleError(t,{module:"OpenCodeObsidianPlugin",function:"onload",operation:"Initializing tool execution layer"},"warning")}try{this.todoManager=new Io({},this.errorHandler),console.debug("[OpenCode Obsidian] Todo Manager initialized")}catch(t){this.errorHandler.handleError(t,{module:"OpenCodeObsidianPlugin",function:"onload"},"warning")}this.registerView(It,t=>new fr(t,this)),this.addRibbonIcon("bot","Open opencode",()=>{this.activateView()}),this.addCommand({id:"open-view",name:"Open chat view",callback:()=>{this.activateView()}}),this.addCommand({id:"new-conversation",name:"New conversation",hotkeys:[{modifiers:["Mod"],key:"n"}],callback:()=>{let t=this.getActiveView();t?t.createNewConversation():new Pe.Notice("Please open the chat view first")}}),this.addCommand({id:"open-search-panel",name:"Search files",hotkeys:[{modifiers:["Mod"],key:"f"}],callback:()=>{let t=this.getActiveView();t?t.openSearchPanel():new Pe.Notice("Please open the chat view first")}}),this.addCommand({id:"open-todo-list",name:"Open Todo List",hotkeys:[{modifiers:["Mod"],key:"t"}],callback:()=>{let t=this.getActiveView();t?typeof t.showTodoList=="function"?t.showTodoList():new Pe.Notice("Todo list functionality not available in this view"):new Pe.Notice("Please open the chat view first")}}),this.addSettingTab(new Er(this.app,this)),this.checkServerStatusAndPrompt(),console.debug("[OpenCode Obsidian] Plugin loaded successfully \u2713")}catch(t){throw this.errorHandler?this.errorHandler.handleError(t,{module:"OpenCodeObsidianPlugin",function:"onload",operation:"Plugin loading"},"critical"):(console.error("[OpenCode Obsidian] Failed to load plugin:",t),new Pe.Notice("Failed to load OpenCode Obsidian plugin. Check console for details.")),t}}async checkServerStatusAndPrompt(){try{let n=this.settings.opencodeServer;if(!n)return;if(n.useEmbeddedServer)if(await new Promise(i=>setTimeout(i,1e3)),this.serverManager){let i=this.serverManager.getState();i!=="running"&&i!=="starting"&&this.showServerStartPrompt()}else this.showServerStartPrompt();else if(n.url&&this.opencodeClient)try{await this.opencodeClient.healthCheck()||new Pe.Notice("OpenCode external server not reachable. Please check configuration.")}catch(i){console.debug("[OpenCode Obsidian] External server connection check failed:",i),new Pe.Notice("Unable to connect to OpenCode server. Please verify configuration.")}}catch(n){console.error("[OpenCode Obsidian] Server status check failed:",n)}}showServerStartPrompt(){Promise.resolve().then(()=>(_g(),wg)).then(n=>{new n.ServerStartModal(this.app,this).open()})}onunload(){console.debug("[OpenCode Obsidian] Plugin unloading..."),this.permissionCoordinator=null,this.serverManager&&(this.serverManager.stop(),this.serverManager=null),this.opencodeClient&&this.opencodeClient.disconnect().then(()=>{this.opencodeClient=null,this.connectionManager=null}),console.debug("[OpenCode Obsidian] Plugin unloaded")}handleServerStateChange(n){console.debug("[OpenCode Obsidian] Server state change:",n),n.state==="error"&&n.error&&this.errorHandler.handleError(new Error(`Server error: ${n.error.message}`),{module:"OpenCodeObsidianPlugin",function:"handleServerStateChange"},"error")}async loadSettings(){let n=await this.loadData();this.settings=Object.assign({},Kb,n!=null?n:{}),this.settings.opencodeServer||(this.settings.opencodeServer={...Po})}migrateSettings(){let n=!1;this.settings.opencodeServer||(this.settings.opencodeServer={...Po},n=!0),this.settings.opencodeServer&&this.settings.opencodeServer.requestTimeoutMs===void 0&&(this.settings.opencodeServer.requestTimeoutMs=Po.requestTimeoutMs,n=!0),this.settings.toolPermission||(this.settings.toolPermission="read-only",n=!0),n&&this.saveSettings()}async saveSettings(){var s,c,l,u;this.permissionManager&&(this.permissionManager.setPermissionLevel(kg(this.settings.toolPermission)),this.permissionManager.setScope((s=Cg(this.settings.permissionScope))!=null?s:{}));let n=d=>(d==null?void 0:d.trim().replace(/\/+$/,""))||"",i=n((l=(c=this.opencodeClient)==null?void 0:c.getConfig())==null?void 0:l.url),t=n((u=this.settings.opencodeServer)==null?void 0:u.url),o=i!==t&&t;if(await this.saveData(this.settings),o&&this.settings.opencodeServer&&this.permissionManager){console.debug("[OpenCode Obsidian] Server URL changed, reinitializing client...",{oldUrl:i,newUrl:t});let d=new er(this.app.vault),a=await sp(this.opencodeClient,this.settings.opencodeServer,this.errorHandler,this.sessionEventBus,this.permissionManager,d,this.app,async p=>{JSON.stringify(this.settings.agents)!==JSON.stringify(p)&&(this.settings.agents=p,await this.saveSettings())},()=>this.getDefaultAgents());a&&(this.opencodeClient=a.client,this.connectionManager=a.connectionManager,this.permissionCoordinator=a.permissionCoordinator),console.debug("[OpenCode Obsidian] OpenCode Server client reinitialized with new URL:",t)}}async activateView(){let{workspace:n}=this.app,i=n.getLeavesOfType(It)[0];if(!i){let t=n.getRightLeaf(!1);t&&(await t.setViewState({type:It,active:!0}),i=t)}i&&n.revealLeaf(i)}getActiveView(){let n=this.app.workspace.getLeavesOfType(It);return n.length>0&&n[0]?n[0].view:null}async createNewConversationInActiveView(){let n=this.getActiveView();n?await n.createNewConversation():new Pe.Notice("Please open the chat view first")}async loadAgents(){try{if(!this.opencodeClient)return;let n=await this.opencodeClient.listAgents();this.settings.agents=n,await this.saveSettings()}catch(n){this.settings.agents=this.getDefaultAgents(),this.errorHandler.handleError(n,{module:"Plugin",function:"loadAgents"},"warning")}}getDefaultAgents(){return[{id:"assistant",name:"Assistant",systemPrompt:""},{id:"bootstrap",name:"Bootstrap",systemPrompt:""},{id:"thinking-partner",name:"Thinking Partner",systemPrompt:""},{id:"research-assistant",name:"Research Assistant",systemPrompt:""},{id:"read-only",name:"Read Only",systemPrompt:""}]}}; -module.exports = To; \ No newline at end of file diff --git a/.obsidian/plugins/opencode-obsidian/manifest.json b/.obsidian/plugins/opencode-obsidian/manifest.json deleted file mode 100644 index 8c203dd..0000000 --- a/.obsidian/plugins/opencode-obsidian/manifest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "id": "opencode-obsidian", - "name": "OpenCode Obsidian", - "version": "0.13.1", - "minAppVersion": "1.0.0", - "description": "OpenCode integration for Obsidian - AI-powered chat interface", - "author": "OpenCode Obsidian Team", - "authorUrl": "", - "fundingUrl": "", - "isDesktopOnly": false -} diff --git a/.obsidian/plugins/opencode-obsidian/styles.css b/.obsidian/plugins/opencode-obsidian/styles.css deleted file mode 100644 index 67aa399..0000000 --- a/.obsidian/plugins/opencode-obsidian/styles.css +++ /dev/null @@ -1,475 +0,0 @@ -/* Search highlight */ -.search-highlight { - background-color: var(--text-highlight-bg); - color: var(--text-highlight); - padding: 0 2px; - border-radius: 2px; -} - -/* Server Status Styles */ -.opencode-server-status { - display: flex; - flex-direction: column; - gap: 8px; - padding: 8px 0; -} - -.opencode-server-status-running { - color: var(--color-green); -} - -.opencode-server-status-stopped { - color: var(--text-muted); -} - -.opencode-server-status-starting { - color: var(--color-blue); -} - -.opencode-server-status-error { - color: var(--color-red); -} - -.opencode-server-status-error-message { - color: var(--text-muted); - font-size: 12px; -} - -.opencode-server-control-buttons { - display: flex; - gap: 8px; - margin-top: 4px; -} - -.opencode-server-metrics { - padding: 8px 0; -} - -.opencode-server-metrics-text { - font-size: 12px; - color: var(--text-muted); -} - -/* Server Start Modal Styles */ -.opencode-server-start-buttons { - display: flex; - gap: 8px; - justify-content: flex-end; - margin-top: 16px; -} - -/* Core view layout */ -.opencode-obsidian-view { - display: flex; - flex-direction: column; - height: 100%; - overflow: hidden; -} - -.opencode-obsidian-header { - display: flex; - align-items: center; - gap: 8px; - padding: 8px 10px; - border-bottom: 1px solid var(--background-modifier-border); - background-color: var(--background-secondary); -} - -.opencode-obsidian-status { - font-size: 12px; - color: var(--text-muted); - white-space: nowrap; -} - -.opencode-obsidian-status.connected { - color: var(--text-success); -} - -.opencode-obsidian-status.reconnecting, -.opencode-obsidian-status.connecting { - color: var(--text-warning); -} - -.opencode-obsidian-status.disconnected { - color: var(--text-error); -} - -.opencode-obsidian-controls { - margin-left: auto; - display: flex; - gap: 6px; -} - -.opencode-obsidian-view-toggle { - align-self: flex-start; - margin: 8px 10px 0; -} - -.opencode-obsidian-search-panel { - padding: 6px 10px; - border-bottom: 1px solid var(--background-modifier-border); -} - -/* Conversation selector */ -.opencode-obsidian-conversation-selector { - padding: 6px 10px; - border-bottom: 1px solid var(--background-modifier-border); -} - -.opencode-obsidian-tabs-container { - display: flex; - gap: 6px; - overflow-x: auto; - padding-bottom: 4px; -} - -.opencode-obsidian-tab { - display: flex; - align-items: center; - gap: 6px; - padding: 4px 8px; - border-radius: 6px; - background-color: var(--background-secondary); - border: 1px solid var(--background-modifier-border); - cursor: pointer; - white-space: nowrap; -} - -.opencode-obsidian-tab.active { - background-color: var(--interactive-accent); - border-color: var(--interactive-accent); - color: var(--text-on-accent); -} - -.opencode-obsidian-tab-content { - display: flex; - flex-direction: column; - gap: 2px; -} - -.opencode-obsidian-tab-metadata { - font-size: 11px; - color: var(--text-muted); -} - -.opencode-obsidian-tab-close { - margin-left: 6px; - opacity: 0.6; -} - -.opencode-obsidian-tab:hover .opencode-obsidian-tab-close { - opacity: 1; -} - -.opencode-obsidian-tab-new, -.opencode-obsidian-tab-sync { - font-weight: 600; -} - -.opencode-obsidian-tab-disabled { - opacity: 0.6; - pointer-events: none; -} - -.opencode-obsidian-no-conversations { - color: var(--text-muted); - padding: 8px 0; -} - -/* Message list */ -.opencode-obsidian-messages { - flex: 1; - overflow: auto; - padding: 10px; - display: flex; - flex-direction: column; - gap: 10px; -} - -.opencode-obsidian-message { - padding: 8px 10px; - border-radius: 8px; - border: 1px solid var(--background-modifier-border); - background-color: var(--background-secondary); -} - -.opencode-obsidian-message-user { - align-self: flex-end; - background-color: var(--background-modifier-hover); -} - -.opencode-obsidian-message-header { - display: flex; - justify-content: space-between; - font-size: 11px; - color: var(--text-muted); - margin-bottom: 4px; -} - -.opencode-obsidian-message-content { - font-size: 13px; - line-height: 1.4; -} - -.opencode-obsidian-message-images img { - border-radius: 6px; - margin-top: 6px; -} - -.opencode-obsidian-message-actions { - display: flex; - gap: 6px; - margin-top: 6px; -} - -.opencode-obsidian-message-action { - font-size: 11px; - color: var(--text-muted); - cursor: pointer; -} - -.opencode-obsidian-message-action:hover { - color: var(--text-normal); -} - -.opencode-obsidian-empty-messages { - color: var(--text-muted); - text-align: center; - padding: 20px 0; -} - -.opencode-obsidian-reverted-indicator { - padding: 8px 10px; - border-radius: 6px; - background-color: var(--background-secondary); - border: 1px dashed var(--background-modifier-border); - font-size: 12px; - color: var(--text-muted); -} - -.opencode-obsidian-unrevert-button { - margin-left: 8px; -} - -/* Input area */ -.opencode-obsidian-input { - border-top: 1px solid var(--background-modifier-border); - padding: 8px 10px; - background-color: var(--background-secondary); -} - -.opencode-obsidian-input-container { - display: flex; - flex-direction: column; - gap: 6px; -} - -.opencode-obsidian-input-toolbar { - display: flex; - align-items: center; - gap: 8px; -} - -.opencode-obsidian-agent-select { - max-width: 200px; -} - -.opencode-obsidian-input-textarea { - width: 100%; - min-height: 60px; - resize: none; -} - -.opencode-obsidian-input-status { - display: flex; - justify-content: space-between; - font-size: 11px; - color: var(--text-muted); -} - -.opencode-obsidian-streaming { - color: var(--text-accent); -} - -.opencode-obsidian-input-buttons { - display: flex; - justify-content: flex-end; - gap: 6px; -} - -/* Command suggestions */ -.opencode-obsidian-command-suggestions { - position: relative; -} - -.opencode-obsidian-command-suggestions-list { - position: absolute; - left: 0; - right: 0; - bottom: calc(100% + 6px); - max-height: 200px; - overflow: auto; - background-color: var(--background-primary); - border: 1px solid var(--background-modifier-border); - border-radius: 6px; - box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); - display: none; - z-index: 20; -} - -.opencode-obsidian-command-suggestions.is-visible .opencode-obsidian-command-suggestions-list { - display: block; -} - -.opencode-obsidian-command-suggestion { - padding: 6px 8px; - cursor: pointer; -} - -.opencode-obsidian-command-suggestion.is-selected { - background-color: var(--background-modifier-hover); -} - -.opencode-obsidian-command-suggestion-description { - display: block; - font-size: 11px; - color: var(--text-muted); -} - -.opencode-obsidian-command-suggestion-empty { - color: var(--text-muted); -} - -/* Loading and spinners */ -.opencode-obsidian-loading-overlay { - display: flex; - align-items: center; - justify-content: center; - height: 100%; - color: var(--text-muted); -} - -.opencode-obsidian-loading-message { - display: flex; - align-items: center; - gap: 8px; -} - -.opencode-obsidian-spinner { - width: 14px; - height: 14px; - border: 2px solid var(--background-modifier-border); - border-top-color: var(--interactive-accent); - border-radius: 50%; - animation: opencode-obsidian-spin 0.8s linear infinite; -} - -.opencode-obsidian-spinner-large { - width: 18px; - height: 18px; - border-width: 3px; -} - -@keyframes opencode-obsidian-spin { - to { - transform: rotate(360deg); - } -} - -/* Context menu */ -.opencode-obsidian-context-menu { - background-color: var(--background-primary); - border: 1px solid var(--background-modifier-border); - border-radius: 6px; - padding: 4px; - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); -} - -.opencode-obsidian-context-menu-item { - padding: 6px 8px; - cursor: pointer; - border-radius: 4px; -} - -.opencode-obsidian-context-menu-item:hover { - background-color: var(--background-modifier-hover); -} - -.opencode-obsidian-context-menu-item-danger { - color: var(--text-error); -} - -/* Todo list */ -.opencode-obsidian-todo-container { - padding: 10px; - display: flex; - flex-direction: column; - gap: 10px; -} - -.opencode-obsidian-todo-header { - font-size: 14px; - font-weight: 600; -} - -.opencode-obsidian-todo-list { - display: flex; - flex-direction: column; - gap: 8px; -} - -.opencode-obsidian-todo-item { - padding: 8px 10px; - border: 1px solid var(--background-modifier-border); - border-radius: 8px; - background-color: var(--background-secondary); -} - -.opencode-obsidian-todo-title { - font-weight: 600; -} - -.opencode-obsidian-todo-meta { - font-size: 11px; - color: var(--text-muted); -} - -.opencode-obsidian-todo-actions { - display: flex; - gap: 6px; - margin-top: 6px; -} - -.opencode-obsidian-todo-empty { - color: var(--text-muted); - padding: 8px 0; -} - -/* Modals */ -.opencode-obsidian-drop-zone { - border: 1px dashed var(--background-modifier-border); - padding: 12px; - text-align: center; - border-radius: 8px; -} - -.opencode-obsidian-drop-zone-hover { - background-color: var(--background-modifier-hover); -} - -.opencode-obsidian-permission-buttons { - display: flex; - justify-content: flex-end; - gap: 8px; - margin-top: 12px; -} - -.opencode-obsidian-code-preview { - font-family: var(--font-monospace); - font-size: 12px; - background-color: var(--background-secondary); - border: 1px solid var(--background-modifier-border); - padding: 8px; - border-radius: 6px; - white-space: pre-wrap; -} diff --git a/.obsidian/plugins/templater-obsidian/main.js b/.obsidian/plugins/templater-obsidian/main.js index 481ca76..d4061b5 100644 --- a/.obsidian/plugins/templater-obsidian/main.js +++ b/.obsidian/plugins/templater-obsidian/main.js @@ -4,22 +4,22 @@ if you want to view the source, please visit the github repository of this plugi */ var ja=Object.create;var Rn=Object.defineProperty;var va=Object.getOwnPropertyDescriptor;var wa=Object.getOwnPropertyNames;var ba=Object.getPrototypeOf,Ea=Object.prototype.hasOwnProperty;var Vi=n=>Rn(n,"__esModule",{value:!0});var Ta=(n,e)=>{Vi(n);for(var t in e)Rn(n,t,{get:e[t],enumerable:!0})},ka=(n,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of wa(e))!Ea.call(n,r)&&r!=="default"&&Rn(n,r,{get:()=>e[r],enumerable:!(t=va(e,r))||t.enumerable});return n},X=n=>ka(Vi(Rn(n!=null?ja(ba(n)):{},"default",n&&n.__esModule&&"default"in n?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n);var zi=(()=>{for(var n=new Uint8Array(128),e=0;e<64;e++)n[e<26?e+65:e<52?e+71:e<62?e-4:e*4-205]=e;return t=>{for(var r=t.length,i=new Uint8Array((r-(t[r-1]=="=")-(t[r-2]=="="))*3/4|0),o=0,a=0;o>4,i[a++]=c<<4|d>>2,i[a++]=d<<6|m}return i}})();Ta(exports,{default:()=>Fi});var Er=X(require("obsidian"));var L=X(require("obsidian"));var Ji=X(require("obsidian"));function oe(n){let e=new Ji.Notice("",8e3),t=createFragment(r=>{r.createEl("b",{text:"Templater Error"}),r.createEl("span",{text:":"}),r.createEl("br"),r.createEl("span",{text:n.message}),n instanceof P&&n.console_msg&&(r.createEl("br"),r.createEl("span",{text:"Check console for more information"}),console.error("Templater Error:",n.message,` -`,n.console_msg))});e.noticeEl.appendChild(t)}var P=class extends Error{constructor(e,t){super(e);this.console_msg=t;this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}};async function Se(n,e){try{return await n()}catch(t){return t instanceof P?oe(t):oe(new P(e,t.message)),null}}function Ce(n,e){try{return n()}catch(t){return oe(new P(e,t.message)),null}}var re=function(){function n(){}return n.explainIfInvalidTSDocTagName=function(e){if(e[0]!=="@")return'A TSDoc tag name must start with an "@" symbol';if(!n._tsdocTagNameRegExp.test(e))return"A TSDoc tag name must start with a letter and contain only letters and numbers"},n.validateTSDocTagName=function(e){var t=n.explainIfInvalidTSDocTagName(e);if(t)throw new Error(t)},n.explainIfInvalidLinkUrl=function(e){if(e.length===0)return"The URL cannot be empty";if(!n._urlSchemeRegExp.test(e))return'An @link URL must begin with a scheme comprised only of letters and numbers followed by "://". (For general URLs, use an HTML "" tag instead.)';if(!n._urlSchemeAfterRegExp.test(e))return'An @link URL must have at least one character after "://"'},n.explainIfInvalidHtmlName=function(e){if(!n._htmlNameRegExp.test(e))return"An HTML name must be an ASCII letter followed by zero or more letters, digits, or hyphens"},n.validateHtmlName=function(e){var t=n.explainIfInvalidHtmlName(e);if(t)throw new Error(t)},n.explainIfInvalidPackageName=function(e){if(e.length===0)return"The package name cannot be an empty string";if(!n._validPackageNameRegExp.test(e))return"The package name ".concat(JSON.stringify(e)," is not a valid package name")},n.explainIfInvalidImportPath=function(e,t){if(e.length>0){if(e.indexOf("//")>=0)return'An import path must not contain "//"';if(e[e.length-1]==="/")return'An import path must not end with "/"';if(!t&&e[0]==="/")return'An import path must not start with "/" unless prefixed by a package name'}},n.isSystemSelector=function(e){return n._systemSelectors.has(e)},n.explainIfInvalidUnquotedIdentifier=function(e){if(e.length===0)return"The identifier cannot be an empty string";if(n._identifierBadCharRegExp.test(e))return"The identifier cannot non-word characters";if(n._identifierNumberStartRegExp.test(e))return"The identifier must not start with a number"},n.explainIfInvalidUnquotedMemberIdentifier=function(e){var t=n.explainIfInvalidUnquotedIdentifier(e);if(t!==void 0)return t;if(n.isSystemSelector(e))return'The identifier "'.concat(e,'" must be quoted because it is a TSDoc system selector name')},n._tsdocTagNameRegExp=/^@[a-z][a-z0-9]*$/i,n._urlSchemeRegExp=/^[a-z][a-z0-9]*\:\/\//i,n._urlSchemeAfterRegExp=/^[a-z][a-z0-9]*\:\/\/./i,n._htmlNameRegExp=/^[a-z]+[a-z0-9\-]*$/i,n._identifierBadCharRegExp=/[^a-z0-9_$]/i,n._identifierNumberStartRegExp=/^[0-9]/,n._validPackageNameRegExp=/^(?:@[a-z0-9\-_\.]+\/)?[a-z0-9\-_\.]+$/i,n._systemSelectors=new Set(["instance","static","constructor","class","enum","function","interface","namespace","type","variable"]),n}();var Pr=function(){function n(){this._docNodeDefinitionsByKind=new Map,this._docNodeDefinitionsByConstructor=new Map}return n.prototype.registerDocNodes=function(e,t){var r=re.explainIfInvalidPackageName(e);if(r)throw new Error("Invalid NPM package name: "+r);for(var i=0,o=t;i0&&i.appendNodes(r),i}return Object.defineProperty(e.prototype,"nodes",{get:function(){return this._nodes},enumerable:!1,configurable:!0}),e.prototype.appendNode=function(t){if(!this.configuration.docNodeManager.isAllowedChild(this.kind,t.kind))throw new Error("The TSDocConfiguration does not allow a ".concat(this.kind," node to")+" contain a node of type ".concat(t.kind));this._nodes.push(t)},e.prototype.appendNodes=function(t){for(var r=0,i=t;r0){var i=this.nodes[this.nodes.length-1];i.kind===g.Paragraph&&(r=i)}r||(r=new at({configuration:this.configuration}),this.appendNode(r)),r.appendNode(t)},e.prototype.appendNodesInParagraph=function(t){for(var r=0,i=t;r1){var e=this._chunks.join("");this._chunks.length=1,this._chunks[0]=e}return this._chunks[0]},n}();var Zi=function(){function n(){}return n.transform=function(e){for(var t=[],r=!1,i=[],o=[],a=!1,l=0,c=e.nodes;l0&&(r&&(i.push(" "),r=!1),i.push(S),o.push(d),a=!0),b&&a&&(r=!0);break;case g.SoftBreak:a&&(r=!0),o.push(d);break;default:r&&(i.push(" "),r=!1),i.length>0&&(t.push(new Ve({configuration:e.configuration,text:i.join("")})),i.length=0,o.length=0),t.push(d),a=!0}}i.length>0&&(t.push(new Ve({configuration:e.configuration,text:i.join("")})),i.length=0,o.length=0);var k=new at({configuration:e.configuration});return k.appendNodes(t),k},n}();var Fr=function(){function n(){}return n.trimSpacesInParagraph=function(e){return Zi.transform(e)},n}();var qr=function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r0&&(this._ensureLineSkipped(),this._renderNodes(a.modifierTagSet.nodes));break;case g.DeclarationReference:var l=e;this._writeContent(l.packageName),this._writeContent(l.importPath),(l.packageName!==void 0||l.importPath!==void 0)&&this._writeContent("#"),this._renderNodes(l.memberReferences);break;case g.ErrorText:var c=e;this._writeContent(c.text);break;case g.EscapedText:var d=e;this._writeContent(d.encodedText);break;case g.FencedCode:var m=e;this._ensureAtStartOfLine(),this._writeContent("```"),this._writeContent(m.language),this._writeNewline(),this._writeContent(m.code),this._writeContent("```"),this._writeNewline(),this._writeNewline();break;case g.HtmlAttribute:var _=e;this._writeContent(_.name),this._writeContent(_.spacingAfterName),this._writeContent("="),this._writeContent(_.spacingAfterEquals),this._writeContent(_.value),this._writeContent(_.spacingAfterValue);break;case g.HtmlEndTag:var w=e;this._writeContent("");break;case g.HtmlStartTag:var b=e;this._writeContent("<"),this._writeContent(b.name),this._writeContent(b.spacingAfterName);for(var S=b.spacingAfterName===void 0||b.spacingAfterName.length===0,k=0,E=b.htmlAttributes;k":">");break;case g.InheritDocTag:var $=e;this._renderInlineTag($,function(){$.declarationReference&&(t._writeContent(" "),t._renderNode($.declarationReference))});break;case g.InlineTag:var K=e;this._renderInlineTag(K,function(){K.tagContent.length>0&&(t._writeContent(" "),t._writeContent(K.tagContent))});break;case g.LinkTag:var D=e;this._renderInlineTag(D,function(){(D.urlDestination!==void 0||D.codeDestination!==void 0)&&(D.urlDestination!==void 0?(t._writeContent(" "),t._writeContent(D.urlDestination)):D.codeDestination!==void 0&&(t._writeContent(" "),t._renderNode(D.codeDestination))),D.linkText!==void 0&&(t._writeContent(" "),t._writeContent("|"),t._writeContent(" "),t._writeContent(D.linkText))});break;case g.MemberIdentifier:var H=e;H.hasQuotes?(this._writeContent('"'),this._writeContent(H.identifier),this._writeContent('"')):this._writeContent(H.identifier);break;case g.MemberReference:var F=e;F.hasDot&&this._writeContent("."),F.selector&&this._writeContent("("),F.memberSymbol?this._renderNode(F.memberSymbol):this._renderNode(F.memberIdentifier),F.selector&&(this._writeContent(":"),this._renderNode(F.selector),this._writeContent(")"));break;case g.MemberSelector:var J=e;this._writeContent(J.selector);break;case g.MemberSymbol:var te=e;this._writeContent("["),this._renderNode(te.symbolReference),this._writeContent("]");break;case g.Section:var ne=e;this._renderNodes(ne.nodes);break;case g.Paragraph:var Q=Fr.trimSpacesInParagraph(e);Q.nodes.length>0&&(this._hangingParagraph?this._hangingParagraph=!1:this._ensureLineSkipped(),this._renderNodes(Q.nodes),this._writeNewline());break;case g.ParamBlock:var h=e;this._ensureLineSkipped(),this._renderNode(h.blockTag),this._writeContent(" "),this._writeContent(h.parameterName),this._writeContent(" - "),this._hangingParagraph=!0,this._renderNode(h.content),this._hangingParagraph=!1;break;case g.ParamCollection:var C=e;this._renderNodes(C.blocks);break;case g.PlainText:var f=e;this._writeContent(f.text);break}},n.prototype._renderInlineTag=function(e,t){this._writeContent("{"),this._writeContent(e.tagName),t(),this._writeContent("}")},n.prototype._renderNodes=function(e){for(var t=0,r=e;t1){for(var r=!0,i=0,o=t;i0?this.params:void 0,this.typeParams.count>0?this.typeParams:void 0,this.returnsBlock],this.customBlocks,!0),this.seeBlocks,!0),[this.inheritDocTag],!1),this.modifierTagSet.nodes,!0)},e.prototype.emitAsTsdoc=function(){var t=new st,r=new ct;return r.renderComment(t,this),t.toString()},e}(T);var qa=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),La=function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r=t},n._scanTextContent=function(e,t,r){for(var i=0,o=e;i=t||(r+=n._scanTextContent(a.getChildNodes(),t,r),r>=t))break}return r},n._countNonSpaceCharacters=function(e){for(var t=0,r=e.length,i=0;ithis.buffer.length)return{line:0,column:0};for(var t=1,r=1,i=0;ithis.buffer.length)throw new Error("TextRange.pos cannot exceed the associated text buffer length");if(this.end>this.buffer.length)throw new Error("TextRange.end cannot exceed the associated text buffer length")},n.empty=new n("",0,0),n}();var hn=function(){function n(e){this.messageId=e.messageId,this.unformattedText=e.messageText,this.textRange=e.textRange,this.tokenSequence=e.tokenSequence,this.docNode=e.docNode,this._text=void 0}return n._formatMessageText=function(e,t){if(e||(e="An unknown error occurred"),t.pos!==0||t.end!==0){var r=t.getLocation(t.pos);if(r.line)return"(".concat(r.line,",").concat(r.column,"): ")+e}return e},Object.defineProperty(n.prototype,"text",{get:function(){return this._text===void 0&&(this._text=n._formatMessageText(this.unformattedText,this.textRange)),this._text},enumerable:!1,configurable:!0}),n.prototype.toString=function(){return this.text},n}();var Lr=function(){function n(){this._messages=[]}return Object.defineProperty(n.prototype,"messages",{get:function(){return this._messages},enumerable:!1,configurable:!0}),n.prototype.addMessage=function(e){this._messages.push(e)},n.prototype.addMessageForTextRange=function(e,t,r){this.addMessage(new hn({messageId:e,messageText:t,textRange:r}))},n.prototype.addMessageForTokenSequence=function(e,t,r,i){this.addMessage(new hn({messageId:e,messageText:t,textRange:r.getContainingTextRange(),tokenSequence:r,docNode:i}))},n.prototype.addMessageForDocErrorText=function(e){var t;e.textExcerpt?t=e.textExcerpt:t=e.errorLocation,this.addMessage(new hn({messageId:e.messageId,messageText:e.errorMessage,textRange:t.getContainingTextRange(),tokenSequence:t,docNode:e}))},n}();var Hr=function(){function n(e,t){this.commentRange=ze.empty,this.lines=[],this.tokens=[],this.configuration=e,this.sourceRange=t,this.docComment=new Gn({configuration:this.configuration}),this.log=new Lr}return n}();var xt=function(){function n(e){this.parserContext=e.parserContext,this._startIndex=e.startIndex,this._endIndex=e.endIndex,this._validateBounds()}return n.createEmpty=function(e){return new n({parserContext:e,startIndex:0,endIndex:0})},Object.defineProperty(n.prototype,"startIndex",{get:function(){return this._startIndex},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"endIndex",{get:function(){return this._endIndex},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tokens",{get:function(){return this.parserContext.tokens.slice(this._startIndex,this._endIndex)},enumerable:!1,configurable:!0}),n.prototype.getNewSequence=function(e,t){return new n({parserContext:this.parserContext,startIndex:e,endIndex:t})},n.prototype.getContainingTextRange=function(){return this.isEmpty()?ze.empty:this.parserContext.sourceRange.getNewRange(this.parserContext.tokens[this._startIndex].range.pos,this.parserContext.tokens[this._endIndex-1].range.end)},n.prototype.isEmpty=function(){return this._startIndex===this._endIndex},n.prototype.toString=function(){return this.tokens.map(function(e){return e.toString()}).join("")},n.prototype._validateBounds=function(){if(this.startIndex<0)throw new Error("TokenSequence.startIndex cannot be negative");if(this.endIndex<0)throw new Error("TokenSequence.endIndex cannot be negative");if(this.endIndexthis.parserContext.tokens.length)throw new Error("TokenSequence.startIndex cannot exceed the associated token array");if(this.endIndex>this.parserContext.tokens.length)throw new Error("TokenSequence.endIndex cannot exceed the associated token array")},n}();var pe;(function(n){n[n.BeginComment1=0]="BeginComment1",n[n.BeginComment2=1]="BeginComment2",n[n.CollectingFirstLine=2]="CollectingFirstLine",n[n.CollectingLine=3]="CollectingLine",n[n.AdvancingLine=4]="AdvancingLine",n[n.Done=5]="Done"})(pe||(pe={}));var no=function(){function n(){}return n.extract=function(e){for(var t=e.sourceRange,r=t.buffer,i=0,o=0,a=0,l=0,c=t.pos,d=pe.BeginComment1,m=[];d!==pe.Done;){if(c>=t.end)switch(d){case pe.BeginComment1:case pe.BeginComment2:return e.log.addMessageForTextRange(v.CommentNotFound,'Expecting a "/**" comment',t),!1;default:return e.log.addMessageForTextRange(v.CommentMissingClosingDelimiter,"Unexpected end of input",t),!1}var _=r[c],w=c;++c;var b=c" tag instead.)';if(!n._urlSchemeAfterRegExp.test(e))return'An @link URL must have at least one character after "://"'},n.explainIfInvalidHtmlName=function(e){if(!n._htmlNameRegExp.test(e))return"An HTML name must be an ASCII letter followed by zero or more letters, digits, or hyphens"},n.validateHtmlName=function(e){var t=n.explainIfInvalidHtmlName(e);if(t)throw new Error(t)},n.explainIfInvalidPackageName=function(e){if(e.length===0)return"The package name cannot be an empty string";if(!n._validPackageNameRegExp.test(e))return"The package name ".concat(JSON.stringify(e)," is not a valid package name")},n.explainIfInvalidImportPath=function(e,t){if(e.length>0){if(e.indexOf("//")>=0)return'An import path must not contain "//"';if(e[e.length-1]==="/")return'An import path must not end with "/"';if(!t&&e[0]==="/")return'An import path must not start with "/" unless prefixed by a package name'}},n.isSystemSelector=function(e){return n._systemSelectors.has(e)},n.explainIfInvalidUnquotedIdentifier=function(e){if(e.length===0)return"The identifier cannot be an empty string";if(n._identifierBadCharRegExp.test(e))return"The identifier cannot non-word characters";if(n._identifierNumberStartRegExp.test(e))return"The identifier must not start with a number"},n.explainIfInvalidUnquotedMemberIdentifier=function(e){var t=n.explainIfInvalidUnquotedIdentifier(e);if(t!==void 0)return t;if(n.isSystemSelector(e))return'The identifier "'.concat(e,'" must be quoted because it is a TSDoc system selector name')},n._tsdocTagNameRegExp=/^@[a-z][a-z0-9]*$/i,n._urlSchemeRegExp=/^[a-z][a-z0-9]*\:\/\//i,n._urlSchemeAfterRegExp=/^[a-z][a-z0-9]*\:\/\/./i,n._htmlNameRegExp=/^[a-z]+[a-z0-9\-]*$/i,n._identifierBadCharRegExp=/[^a-z0-9_$]/i,n._identifierNumberStartRegExp=/^[0-9]/,n._validPackageNameRegExp=/^(?:@[a-z0-9\-_\.]+\/)?[a-z0-9\-_\.]+$/i,n._systemSelectors=new Set(["instance","static","constructor","class","enum","function","interface","namespace","type","variable"]),n}();var Pr=function(){function n(){this._docNodeDefinitionsByKind=new Map,this._docNodeDefinitionsByConstructor=new Map}return n.prototype.registerDocNodes=function(e,t){var r=re.explainIfInvalidPackageName(e);if(r)throw new Error("Invalid NPM package name: "+r);for(var i=0,o=t;i0&&i.appendNodes(r),i}return Object.defineProperty(e.prototype,"nodes",{get:function(){return this._nodes},enumerable:!1,configurable:!0}),e.prototype.appendNode=function(t){if(!this.configuration.docNodeManager.isAllowedChild(this.kind,t.kind))throw new Error("The TSDocConfiguration does not allow a ".concat(this.kind," node to")+" contain a node of type ".concat(t.kind));this._nodes.push(t)},e.prototype.appendNodes=function(t){for(var r=0,i=t;r0){var i=this.nodes[this.nodes.length-1];i.kind===g.Paragraph&&(r=i)}r||(r=new st({configuration:this.configuration}),this.appendNode(r)),r.appendNode(t)},e.prototype.appendNodesInParagraph=function(t){for(var r=0,i=t;r1){var e=this._chunks.join("");this._chunks.length=1,this._chunks[0]=e}return this._chunks[0]},n}();var Zi=function(){function n(){}return n.transform=function(e){for(var t=[],r=!1,i=[],o=[],a=!1,l=0,c=e.nodes;l0&&(r&&(i.push(" "),r=!1),i.push(S),o.push(d),a=!0),b&&a&&(r=!0);break;case g.SoftBreak:a&&(r=!0),o.push(d);break;default:r&&(i.push(" "),r=!1),i.length>0&&(t.push(new Ve({configuration:e.configuration,text:i.join("")})),i.length=0,o.length=0),t.push(d),a=!0}}i.length>0&&(t.push(new Ve({configuration:e.configuration,text:i.join("")})),i.length=0,o.length=0);var k=new st({configuration:e.configuration});return k.appendNodes(t),k},n}();var Fr=function(){function n(){}return n.trimSpacesInParagraph=function(e){return Zi.transform(e)},n}();var qr=function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r0&&(this._ensureLineSkipped(),this._renderNodes(a.modifierTagSet.nodes));break;case g.DeclarationReference:var l=e;this._writeContent(l.packageName),this._writeContent(l.importPath),(l.packageName!==void 0||l.importPath!==void 0)&&this._writeContent("#"),this._renderNodes(l.memberReferences);break;case g.ErrorText:var c=e;this._writeContent(c.text);break;case g.EscapedText:var d=e;this._writeContent(d.encodedText);break;case g.FencedCode:var m=e;this._ensureAtStartOfLine(),this._writeContent("```"),this._writeContent(m.language),this._writeNewline(),this._writeContent(m.code),this._writeContent("```"),this._writeNewline(),this._writeNewline();break;case g.HtmlAttribute:var _=e;this._writeContent(_.name),this._writeContent(_.spacingAfterName),this._writeContent("="),this._writeContent(_.spacingAfterEquals),this._writeContent(_.value),this._writeContent(_.spacingAfterValue);break;case g.HtmlEndTag:var w=e;this._writeContent("");break;case g.HtmlStartTag:var b=e;this._writeContent("<"),this._writeContent(b.name),this._writeContent(b.spacingAfterName);for(var S=b.spacingAfterName===void 0||b.spacingAfterName.length===0,k=0,E=b.htmlAttributes;k":">");break;case g.InheritDocTag:var $=e;this._renderInlineTag($,function(){$.declarationReference&&(t._writeContent(" "),t._renderNode($.declarationReference))});break;case g.InlineTag:var K=e;this._renderInlineTag(K,function(){K.tagContent.length>0&&(t._writeContent(" "),t._writeContent(K.tagContent))});break;case g.LinkTag:var D=e;this._renderInlineTag(D,function(){(D.urlDestination!==void 0||D.codeDestination!==void 0)&&(D.urlDestination!==void 0?(t._writeContent(" "),t._writeContent(D.urlDestination)):D.codeDestination!==void 0&&(t._writeContent(" "),t._renderNode(D.codeDestination))),D.linkText!==void 0&&(t._writeContent(" "),t._writeContent("|"),t._writeContent(" "),t._writeContent(D.linkText))});break;case g.MemberIdentifier:var H=e;H.hasQuotes?(this._writeContent('"'),this._writeContent(H.identifier),this._writeContent('"')):this._writeContent(H.identifier);break;case g.MemberReference:var F=e;F.hasDot&&this._writeContent("."),F.selector&&this._writeContent("("),F.memberSymbol?this._renderNode(F.memberSymbol):this._renderNode(F.memberIdentifier),F.selector&&(this._writeContent(":"),this._renderNode(F.selector),this._writeContent(")"));break;case g.MemberSelector:var J=e;this._writeContent(J.selector);break;case g.MemberSymbol:var te=e;this._writeContent("["),this._renderNode(te.symbolReference),this._writeContent("]");break;case g.Section:var ne=e;this._renderNodes(ne.nodes);break;case g.Paragraph:var Q=Fr.trimSpacesInParagraph(e);Q.nodes.length>0&&(this._hangingParagraph?this._hangingParagraph=!1:this._ensureLineSkipped(),this._renderNodes(Q.nodes),this._writeNewline());break;case g.ParamBlock:var h=e;this._ensureLineSkipped(),this._renderNode(h.blockTag),this._writeContent(" "),this._writeContent(h.parameterName),this._writeContent(" - "),this._hangingParagraph=!0,this._renderNode(h.content),this._hangingParagraph=!1;break;case g.ParamCollection:var C=e;this._renderNodes(C.blocks);break;case g.PlainText:var f=e;this._writeContent(f.text);break}},n.prototype._renderInlineTag=function(e,t){this._writeContent("{"),this._writeContent(e.tagName),t(),this._writeContent("}")},n.prototype._renderNodes=function(e){for(var t=0,r=e;t1){for(var r=!0,i=0,o=t;i0?this.params:void 0,this.typeParams.count>0?this.typeParams:void 0,this.returnsBlock],this.customBlocks,!0),this.seeBlocks,!0),[this.inheritDocTag],!1),this.modifierTagSet.nodes,!0)},e.prototype.emitAsTsdoc=function(){var t=new ct,r=new lt;return r.renderComment(t,this),t.toString()},e}(T);var qa=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),La=function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r=t},n._scanTextContent=function(e,t,r){for(var i=0,o=e;i=t||(r+=n._scanTextContent(a.getChildNodes(),t,r),r>=t))break}return r},n._countNonSpaceCharacters=function(e){for(var t=0,r=e.length,i=0;ithis.buffer.length)return{line:0,column:0};for(var t=1,r=1,i=0;ithis.buffer.length)throw new Error("TextRange.pos cannot exceed the associated text buffer length");if(this.end>this.buffer.length)throw new Error("TextRange.end cannot exceed the associated text buffer length")},n.empty=new n("",0,0),n}();var hn=function(){function n(e){this.messageId=e.messageId,this.unformattedText=e.messageText,this.textRange=e.textRange,this.tokenSequence=e.tokenSequence,this.docNode=e.docNode,this._text=void 0}return n._formatMessageText=function(e,t){if(e||(e="An unknown error occurred"),t.pos!==0||t.end!==0){var r=t.getLocation(t.pos);if(r.line)return"(".concat(r.line,",").concat(r.column,"): ")+e}return e},Object.defineProperty(n.prototype,"text",{get:function(){return this._text===void 0&&(this._text=n._formatMessageText(this.unformattedText,this.textRange)),this._text},enumerable:!1,configurable:!0}),n.prototype.toString=function(){return this.text},n}();var Lr=function(){function n(){this._messages=[]}return Object.defineProperty(n.prototype,"messages",{get:function(){return this._messages},enumerable:!1,configurable:!0}),n.prototype.addMessage=function(e){this._messages.push(e)},n.prototype.addMessageForTextRange=function(e,t,r){this.addMessage(new hn({messageId:e,messageText:t,textRange:r}))},n.prototype.addMessageForTokenSequence=function(e,t,r,i){this.addMessage(new hn({messageId:e,messageText:t,textRange:r.getContainingTextRange(),tokenSequence:r,docNode:i}))},n.prototype.addMessageForDocErrorText=function(e){var t;e.textExcerpt?t=e.textExcerpt:t=e.errorLocation,this.addMessage(new hn({messageId:e.messageId,messageText:e.errorMessage,textRange:t.getContainingTextRange(),tokenSequence:t,docNode:e}))},n}();var Hr=function(){function n(e,t){this.commentRange=ze.empty,this.lines=[],this.tokens=[],this.configuration=e,this.sourceRange=t,this.docComment=new Gn({configuration:this.configuration}),this.log=new Lr}return n}();var yt=function(){function n(e){this.parserContext=e.parserContext,this._startIndex=e.startIndex,this._endIndex=e.endIndex,this._validateBounds()}return n.createEmpty=function(e){return new n({parserContext:e,startIndex:0,endIndex:0})},Object.defineProperty(n.prototype,"startIndex",{get:function(){return this._startIndex},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"endIndex",{get:function(){return this._endIndex},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tokens",{get:function(){return this.parserContext.tokens.slice(this._startIndex,this._endIndex)},enumerable:!1,configurable:!0}),n.prototype.getNewSequence=function(e,t){return new n({parserContext:this.parserContext,startIndex:e,endIndex:t})},n.prototype.getContainingTextRange=function(){return this.isEmpty()?ze.empty:this.parserContext.sourceRange.getNewRange(this.parserContext.tokens[this._startIndex].range.pos,this.parserContext.tokens[this._endIndex-1].range.end)},n.prototype.isEmpty=function(){return this._startIndex===this._endIndex},n.prototype.toString=function(){return this.tokens.map(function(e){return e.toString()}).join("")},n.prototype._validateBounds=function(){if(this.startIndex<0)throw new Error("TokenSequence.startIndex cannot be negative");if(this.endIndex<0)throw new Error("TokenSequence.endIndex cannot be negative");if(this.endIndexthis.parserContext.tokens.length)throw new Error("TokenSequence.startIndex cannot exceed the associated token array");if(this.endIndex>this.parserContext.tokens.length)throw new Error("TokenSequence.endIndex cannot exceed the associated token array")},n}();var pe;(function(n){n[n.BeginComment1=0]="BeginComment1",n[n.BeginComment2=1]="BeginComment2",n[n.CollectingFirstLine=2]="CollectingFirstLine",n[n.CollectingLine=3]="CollectingLine",n[n.AdvancingLine=4]="AdvancingLine",n[n.Done=5]="Done"})(pe||(pe={}));var no=function(){function n(){}return n.extract=function(e){for(var t=e.sourceRange,r=t.buffer,i=0,o=0,a=0,l=0,c=t.pos,d=pe.BeginComment1,m=[];d!==pe.Done;){if(c>=t.end)switch(d){case pe.BeginComment1:case pe.BeginComment2:return e.log.addMessageForTextRange(v.CommentNotFound,'Expecting a "/**" comment',t),!1;default:return e.log.addMessageForTextRange(v.CommentMissingClosingDelimiter,"Unexpected end of input",t),!1}var _=r[c],w=c;++c;var b=ca)&&m.push(t.getNewRange(a,l)),a=c,l=c,d=pe.AdvancingLine):_==="*"&&b==="/"?(l>a&&m.push(t.getNewRange(a,l)),a=0,l=0,++c,o=c,d=pe.Done):n._whitespaceCharacterRegExp.test(_)||(l=c);break;case pe.AdvancingLine:_==="*"?b==="/"?(a=0,l=0,++c,o=c,d=pe.Done):(b===" "&&++c,a=c,l=c,d=pe.CollectingLine):_===` -`?(m.push(t.getNewRange(w,w)),a=c):n._whitespaceCharacterRegExp.test(_)||(l=c,d=pe.CollectingLine);break}}return e.commentRange=t.getNewRange(i,o),e.lines=m,!0},n._whitespaceCharacterRegExp=/^\s$/,n}();var An=function(){function n(){}return n.readTokens=function(e){n._ensureInitialized();for(var t=[],r=void 0,i=0,o=e;i":u.GreaterThan,"=":u.Equals,"'":u.SingleQuote,'"':u.DoubleQuote,"/":u.Slash,"-":u.Hyphen,"@":u.AtSign,"{":u.LeftCurlyBracket,"}":u.RightCurlyBracket,"`":u.Backtick,".":u.Period,":":u.Colon,",":u.Comma,"[":u.LeftSquareBracket,"]":u.RightSquareBracket,"|":u.Pipe,"(":u.LeftParenthesis,")":u.RightParenthesis,"#":u.PoundSymbol,"+":u.Plus,$:u.DollarSign},o=0,a=Object.getOwnPropertyNames(i);o?@[\\]^`{|}~",n._wordCharacters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_",n}();var $r=function(){function n(e,t){if(this._parserContext=e,this.tokens=e.tokens,t){if(t.parserContext!==this._parserContext)throw new Error("The embeddedTokenSequence must use the same parser context");this._readerStartIndex=t.startIndex,this._readerEndIndex=t.endIndex}else this._readerStartIndex=0,this._readerEndIndex=this.tokens.length;this._currentIndex=this._readerStartIndex,this._accumulatedStartIndex=this._readerStartIndex}return n.prototype.extractAccumulatedSequence=function(){if(this._accumulatedStartIndex===this._currentIndex)throw new Error("Parser assertion failed: The queue should not be empty when extractAccumulatedSequence() is called");var e=new xt({parserContext:this._parserContext,startIndex:this._accumulatedStartIndex,endIndex:this._currentIndex});return this._accumulatedStartIndex=this._currentIndex,e},n.prototype.isAccumulatedSequenceEmpty=function(){return this._accumulatedStartIndex===this._currentIndex},n.prototype.tryExtractAccumulatedSequence=function(){if(!this.isAccumulatedSequenceEmpty())return this.extractAccumulatedSequence()},n.prototype.assertAccumulatedSequenceIsEmpty=function(){if(!this.isAccumulatedSequenceEmpty()){var e=new xt({parserContext:this._parserContext,startIndex:this._accumulatedStartIndex,endIndex:this._currentIndex}),t=e.tokens.map(function(r){return r.toString()});throw new Error(`Parser assertion failed: The queue should be empty, but it contains: -`+JSON.stringify(t))}},n.prototype.peekToken=function(){return this.tokens[this._currentIndex]},n.prototype.peekTokenKind=function(){return this._currentIndex>=this._readerEndIndex?u.EndOfInput:this.tokens[this._currentIndex].kind},n.prototype.peekTokenAfterKind=function(){return this._currentIndex+1>=this._readerEndIndex?u.EndOfInput:this.tokens[this._currentIndex+1].kind},n.prototype.peekTokenAfterAfterKind=function(){return this._currentIndex+2>=this._readerEndIndex?u.EndOfInput:this.tokens[this._currentIndex+2].kind},n.prototype.readToken=function(){if(this._currentIndex>=this._readerEndIndex)throw new Error("Cannot read past end of stream");var e=this.tokens[this._currentIndex];if(e.kind===u.EndOfInput)throw new Error("The EndOfInput token cannot be read");return this._currentIndex++,e},n.prototype.peekPreviousTokenKind=function(){return this._currentIndex===0?u.EndOfInput:this.tokens[this._currentIndex-1].kind},n.prototype.createMarker=function(){return this._currentIndex},n.prototype.backtrackToMarker=function(e){if(e>this._currentIndex)throw new Error("The marker has expired");this._currentIndex=e,e" character should be escaped using a backslash to avoid confusion with an HTML tag'));break;case u.Backtick:this._pushAccumulatedPlainText(e),e.peekTokenAfterKind()===u.Backtick&&e.peekTokenAfterAfterKind()===u.Backtick?this._pushNode(this._parseFencedCode(e)):this._pushNode(this._parseCodeSpan(e));break;default:e.readToken();break}this._pushAccumulatedPlainText(e),this._performValidationChecks()},n.prototype._performValidationChecks=function(){var e=this._parserContext.docComment;e.deprecatedBlock&&(cr.hasAnyTextContent(e.deprecatedBlock)||this._parserContext.log.addMessageForTokenSequence(v.MissingDeprecationMessage,"The ".concat(e.deprecatedBlock.blockTag.tagName," block must include a deprecation message,")+" e.g. describing the recommended alternative",e.deprecatedBlock.blockTag.getTokenSequence(),e.deprecatedBlock)),e.inheritDocTag&&(e.remarksBlock&&this._parserContext.log.addMessageForTokenSequence(v.InheritDocIncompatibleTag,'A "'.concat(e.remarksBlock.blockTag.tagName,'" block must not be used, because that')+" content is provided by the @inheritDoc tag",e.remarksBlock.blockTag.getTokenSequence(),e.remarksBlock.blockTag),cr.hasAnyTextContent(e.summarySection)&&this._parserContext.log.addMessageForTextRange(v.InheritDocIncompatibleSummary,"The summary section must not have any content, because that content is provided by the @inheritDoc tag",this._parserContext.commentRange))},n.prototype._validateTagDefinition=function(e,t,r,i,o){if(e){var a=e.syntaxKind===R.InlineTag;a!==r?r?this._parserContext.log.addMessageForTokenSequence(v.TagShouldNotHaveBraces,'The TSDoc tag "'.concat(t,'" is not an inline tag; it must not be enclosed in "{ }" braces'),i,o):this._parserContext.log.addMessageForTokenSequence(v.InlineTagMissingBraces,'The TSDoc tag "'.concat(t,'" is an inline tag; it must be enclosed in "{ }" braces'),i,o):this._parserContext.configuration.validation.reportUnsupportedTags&&(this._parserContext.configuration.isTagSupported(e)||this._parserContext.log.addMessageForTokenSequence(v.UnsupportedTag,'The TSDoc tag "'.concat(t,'" is not supported by this tool'),i,o))}else this._parserContext.configuration.validation.ignoreUndefinedTags||this._parserContext.log.addMessageForTokenSequence(v.UndefinedTag,'The TSDoc tag "'.concat(t,'" is not defined in this configuration'),i,o)},n.prototype._pushAccumulatedPlainText=function(e){e.isAccumulatedSequenceEmpty()||this._pushNode(new Ve({parsed:!0,configuration:this._configuration,textExcerpt:e.extractAccumulatedSequence()}))},n.prototype._parseAndPushBlock=function(e){var t=this._parserContext.docComment,r=this._parserContext.configuration,i=t.modifierTagSet,o=this._parseBlockTag(e);if(o.kind!==g.BlockTag){this._pushNode(o);return}var a=o,l=r.tryGetTagDefinitionWithUpperCase(a.tagNameWithUpperCase);if(this._validateTagDefinition(l,a.tagName,!1,a.getTokenSequence(),a),l)switch(l.syntaxKind){case R.BlockTag:if(a.tagNameWithUpperCase===G.param.tagNameWithUpperCase){var c=this._parseParamBlock(e,a,G.param.tagName);this._parserContext.docComment.params.add(c),this._currentSection=c.content;return}else if(a.tagNameWithUpperCase===G.typeParam.tagNameWithUpperCase){var c=this._parseParamBlock(e,a,G.typeParam.tagName);this._parserContext.docComment.typeParams.add(c),this._currentSection=c.content;return}else{var d=new Vt({configuration:this._configuration,blockTag:a});this._addBlockToDocComment(d),this._currentSection=d.content}return;case R.ModifierTag:i.addTag(a);return}this._pushNode(a)},n.prototype._addBlockToDocComment=function(e){var t=this._parserContext.docComment;switch(e.blockTag.tagNameWithUpperCase){case G.remarks.tagNameWithUpperCase:t.remarksBlock=e;break;case G.privateRemarks.tagNameWithUpperCase:t.privateRemarks=e;break;case G.deprecated.tagNameWithUpperCase:t.deprecatedBlock=e;break;case G.returns.tagNameWithUpperCase:t.returnsBlock=e;break;case G.see.tagNameWithUpperCase:t._appendSeeBlock(e);break;default:t.appendCustomBlock(e)}},n.prototype._tryParseJSDocTypeOrValueRest=function(e,t,r,i){for(var o,a=1;a>0;){var l=e.peekTokenKind();switch(l){case t:o===void 0&&a++;break;case r:o===void 0&&a--;break;case u.Backslash:o!==void 0&&(e.readToken(),l=e.peekTokenKind());break;case u.DoubleQuote:case u.SingleQuote:case u.Backtick:o===l?o=void 0:o===void 0&&(o=l);break}if(l===u.EndOfInput){e.backtrackToMarker(i);return}e.readToken()}return e.tryExtractAccumulatedSequence()},n.prototype._tryParseUnsupportedJSDocType=function(e,t,r){if(e.assertAccumulatedSequenceIsEmpty(),!(e.peekTokenKind()!==u.LeftCurlyBracket||e.peekTokenAfterKind()===u.AtSign)){var i=e.createMarker();e.readToken();var o=this._tryParseJSDocTypeOrValueRest(e,u.LeftCurlyBracket,u.RightCurlyBracket,i);if(o){this._parserContext.log.addMessageForTokenSequence(v.ParamTagWithInvalidType,"The "+r+" block should not include a JSDoc-style '{type}'",o,t);var a=this._tryReadSpacingAndNewlines(e);a&&(o=o.getNewSequence(o.startIndex,a.endIndex))}return o}},n.prototype._tryParseJSDocOptionalNameRest=function(e){if(e.assertAccumulatedSequenceIsEmpty(),e.peekTokenKind()!==u.EndOfInput){var t=e.createMarker();return this._tryParseJSDocTypeOrValueRest(e,u.LeftSquareBracket,u.RightSquareBracket,t)}},n.prototype._parseParamBlock=function(e,t,r){var i=e.createMarker(),o=this._tryReadSpacingAndNewlines(e),a=this._tryParseUnsupportedJSDocType(e,t,r),l;e.peekTokenKind()===u.LeftSquareBracket&&(e.readToken(),l=e.extractAccumulatedSequence());for(var c="",d=!1;!d;)switch(e.peekTokenKind()){case u.AsciiWord:case u.Period:case u.DollarSign:c+=e.readToken();break;default:d=!0;break}var m=re.explainIfInvalidUnquotedIdentifier(c);if(m!==void 0){e.backtrackToMarker(i);var _=new gn({configuration:this._configuration,blockTag:t,parameterName:""}),w=c.length>0?"The "+r+" block should be followed by a valid parameter name: "+m:"The "+r+" block should be followed by a parameter name";return this._parserContext.log.addMessageForTokenSequence(v.ParamTagWithInvalidName,w,t.getTokenSequence(),t),_}var b=e.extractAccumulatedSequence(),S;if(l){S=this._tryParseJSDocOptionalNameRest(e);var k=l;S&&(k=t.getTokenSequence().getNewSequence(l.startIndex,S.endIndex)),this._parserContext.log.addMessageForTokenSequence(v.ParamTagWithInvalidOptionalName,"The "+r+" should not include a JSDoc-style optional name; it must not be enclosed in '[ ]' brackets.",k,t)}var E=this._tryReadSpacingAndNewlines(e),O=this._tryParseUnsupportedJSDocType(e,t,r),$,K,D;return e.peekTokenKind()===u.Hyphen?(e.readToken(),$=e.extractAccumulatedSequence(),K=this._tryReadSpacingAndNewlines(e),D=this._tryParseUnsupportedJSDocType(e,t,r)):this._parserContext.log.addMessageForTokenSequence(v.ParamTagMissingHyphen,"The "+r+" block should be followed by a parameter name and then a hyphen",t.getTokenSequence(),t),new gn({parsed:!0,configuration:this._configuration,blockTag:t,spacingBeforeParameterNameExcerpt:o,unsupportedJsdocTypeBeforeParameterNameExcerpt:a,unsupportedJsdocOptionalNameOpenBracketExcerpt:l,parameterNameExcerpt:b,parameterName:c,unsupportedJsdocOptionalNameRestExcerpt:S,spacingAfterParameterNameExcerpt:E,unsupportedJsdocTypeAfterParameterNameExcerpt:O,hyphenExcerpt:$,spacingAfterHyphenExcerpt:K,unsupportedJsdocTypeAfterHyphenExcerpt:D})},n.prototype._pushNode=function(e){this._configuration.docNodeManager.isAllowedChild(g.Paragraph,e.kind)?this._currentSection.appendNodeInParagraph(e):this._currentSection.appendNode(e)},n.prototype._parseBackslashEscape=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker();if(e.readToken(),e.peekTokenKind()===u.EndOfInput)return this._backtrackAndCreateError(e,t,v.UnnecessaryBackslash,"A backslash must precede another character that is being escaped");var r=e.readToken();if(!An.isPunctuation(r.kind))return this._backtrackAndCreateError(e,t,v.UnnecessaryBackslash,"A backslash can only be used to escape a punctuation character");var i=e.extractAccumulatedSequence();return new Vn({parsed:!0,configuration:this._configuration,escapeStyle:sr.CommonMarkBackslash,encodedTextExcerpt:i,decodedText:r.toString()})},n.prototype._parseBlockTag=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker();if(e.peekTokenKind()!==u.AtSign)return this._backtrackAndCreateError(e,t,v.MissingTag,'Expecting a TSDoc tag starting with "@"');switch(e.peekPreviousTokenKind()){case u.EndOfInput:case u.Spacing:case u.Newline:break;default:return this._backtrackAndCreateError(e,t,v.AtSignInWord,'The "@" character looks like part of a TSDoc tag; use a backslash to escape it')}var r=e.readToken().toString();if(e.peekTokenKind()!==u.AsciiWord)return this._backtrackAndCreateError(e,t,v.AtSignWithoutTagName,'Expecting a TSDoc tag name after "@"; if it is not a tag, use a backslash to escape this character');for(var i=e.createMarker();e.peekTokenKind()===u.AsciiWord;)r+=e.readToken().toString();switch(e.peekTokenKind()){case u.Spacing:case u.Newline:case u.EndOfInput:break;default:var o=e.peekToken().range.toString()[0];return this._backtrackAndCreateError(e,t,v.CharactersAfterBlockTag,'The token "'.concat(r,'" looks like a TSDoc tag but contains an invalid character')+" ".concat(JSON.stringify(o),'; if it is not a tag, use a backslash to escape the "@"'))}if(re.explainIfInvalidTSDocTagName(r)){var a=this._createFailureForTokensSince(e,v.MalformedTagName,"A TSDoc tag name must start with a letter and contain only letters and numbers",i);return this._backtrackAndCreateErrorForFailure(e,t,"",a)}return new Yn({parsed:!0,configuration:this._configuration,tagName:r,tagNameExcerpt:e.extractAccumulatedSequence()})},n.prototype._parseInlineTag=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker();if(e.peekTokenKind()!==u.LeftCurlyBracket)return this._backtrackAndCreateError(e,t,v.MissingTag,'Expecting a TSDoc tag starting with "{"');e.readToken();var r=e.extractAccumulatedSequence(),i=e.createMarker();if(e.peekTokenKind()!==u.AtSign)return this._backtrackAndCreateError(e,t,v.MalformedInlineTag,'Expecting a TSDoc tag starting with "{@"');for(var o=e.readToken().toString();e.peekTokenKind()===u.AsciiWord;)o+=e.readToken().toString();if(o==="@"){var a=this._createFailureForTokensSince(e,v.MalformedInlineTag,'Expecting a TSDoc inline tag name after the "{@" characters',i);return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"",a)}if(re.explainIfInvalidTSDocTagName(o)){var a=this._createFailureForTokensSince(e,v.MalformedTagName,"A TSDoc tag name must start with a letter and contain only letters and numbers",i);return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"",a)}var l=e.extractAccumulatedSequence(),c=this._tryReadSpacingAndNewlines(e);if(c===void 0&&e.peekTokenKind()!==u.RightCurlyBracket){var d=e.peekToken().range.toString()[0],a=this._createFailureForToken(e,v.CharactersAfterInlineTag,"The character ".concat(JSON.stringify(d)," cannot appear after the TSDoc tag name; expecting a space"));return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"",a)}for(var m=!1;!m;)switch(e.peekTokenKind()){case u.EndOfInput:return this._backtrackAndCreateErrorRange(e,t,i,v.InlineTagMissingRightBrace,'The TSDoc inline tag name is missing its closing "}"');case u.Backslash:if(e.readToken(),!An.isPunctuation(e.peekTokenKind())){var a=this._createFailureForToken(e,v.UnnecessaryBackslash,"A backslash can only be used to escape a punctuation character");return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"Error reading inline TSDoc tag: ",a)}e.readToken();break;case u.LeftCurlyBracket:{var a=this._createFailureForToken(e,v.InlineTagUnescapedBrace,'The "{" character must be escaped with a backslash when used inside a TSDoc inline tag');return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"",a)}case u.RightCurlyBracket:m=!0;break;default:e.readToken();break}var _=e.tryExtractAccumulatedSequence();e.readToken();var w=e.extractAccumulatedSequence(),b={parsed:!0,configuration:this._configuration,openingDelimiterExcerpt:r,tagNameExcerpt:l,tagName:o,spacingAfterTagNameExcerpt:c,tagContentExcerpt:_,closingDelimiterExcerpt:w},S=o.toUpperCase(),k=new $r(this._parserContext,_||xt.createEmpty(this._parserContext)),E;switch(S){case G.inheritDoc.tagNameWithUpperCase:E=this._parseInheritDocTag(b,k);break;case G.link.tagNameWithUpperCase:E=this._parseLinkTag(b,k);break;default:E=new zt(b)}var O=this._parserContext.configuration.tryGetTagDefinitionWithUpperCase(S);return this._validateTagDefinition(O,o,!0,l,E),E},n.prototype._parseInheritDocTag=function(e,t){var r=new zt(e),i=lr({},e);if(t.peekTokenKind()!==u.EndOfInput){if(i.declarationReference=this._parseDeclarationReference(t,e.tagNameExcerpt,r),!i.declarationReference)return r;if(t.peekTokenKind()!==u.EndOfInput)return t.readToken(),this._parserContext.log.addMessageForTokenSequence(v.InheritDocTagSyntax,"Unexpected character after declaration reference",t.extractAccumulatedSequence(),r),r}return new dn(i)},n.prototype._parseLinkTag=function(e,t){var r=new zt(e),i=lr({},e);if(!e.tagContentExcerpt)return this._parserContext.log.addMessageForTokenSequence(v.LinkTagEmpty,"The @link tag content is missing",i.tagNameExcerpt,r),r;for(var o=t.peekTokenKind()===u.Slash&&t.peekTokenAfterKind()===u.Slash,a=t.createMarker(),l=o;!l;)switch(t.peekTokenKind()){case u.AsciiWord:case u.Period:case u.Hyphen:case u.Plus:t.readToken();break;case u.Colon:t.readToken(),o=t.peekTokenKind()===u.Slash&&t.peekTokenAfterKind()===u.Slash,l=!0;break;default:l=!0}if(t.backtrackToMarker(a),o){if(!this._parseLinkTagUrlDestination(t,i,e.tagNameExcerpt,r))return r}else if(!this._parseLinkTagCodeDestination(t,i,e.tagNameExcerpt,r))return r;if(t.peekTokenKind()===u.Spacing)throw new Error("Unconsumed spacing encountered after construct");if(t.peekTokenKind()===u.Pipe){t.readToken(),i.pipeExcerpt=t.extractAccumulatedSequence(),i.spacingAfterPipeExcerpt=this._tryReadSpacingAndNewlines(t),l=!1;for(var c=void 0;!l;)switch(t.peekTokenKind()){case u.EndOfInput:l=!0;break;case u.Pipe:case u.LeftCurlyBracket:var d=t.readToken().toString();return this._parserContext.log.addMessageForTokenSequence(v.LinkTagUnescapedText,'The "'.concat(d,'" character may not be used in the link text without escaping it'),t.extractAccumulatedSequence(),r),r;case u.Spacing:case u.Newline:t.readToken();break;default:c=t.createMarker()+1,t.readToken()}var m=t.tryExtractAccumulatedSequence();m&&(c===void 0?i.spacingAfterLinkTextExcerpt=m:c>=m.endIndex?i.linkTextExcerpt=m:(i.linkTextExcerpt=m.getNewSequence(m.startIndex,c),i.spacingAfterLinkTextExcerpt=m.getNewSequence(c,m.endIndex)))}else if(t.peekTokenKind()!==u.EndOfInput)return t.readToken(),this._parserContext.log.addMessageForTokenSequence(v.LinkTagDestinationSyntax,"Unexpected character after link destination",t.extractAccumulatedSequence(),r),r;return new Zn(i)},n.prototype._parseLinkTagUrlDestination=function(e,t,r,i){for(var o="",a=!1;!a;)switch(e.peekTokenKind()){case u.Spacing:case u.Newline:case u.EndOfInput:case u.Pipe:case u.RightCurlyBracket:a=!0;break;default:o+=e.readToken();break}if(o.length===0)throw new Error("Missing URL in _parseLinkTagUrlDestination()");var l=e.extractAccumulatedSequence(),c=re.explainIfInvalidLinkUrl(o);return c?(this._parserContext.log.addMessageForTokenSequence(v.LinkTagInvalidUrl,c,l,i),!1):(t.urlDestinationExcerpt=l,t.spacingAfterDestinationExcerpt=this._tryReadSpacingAndNewlines(e),!0)},n.prototype._parseLinkTagCodeDestination=function(e,t,r,i){return t.codeDestination=this._parseDeclarationReference(e,r,i),!!t.codeDestination},n.prototype._parseDeclarationReference=function(e,t,r){e.assertAccumulatedSequenceIsEmpty();for(var i=e.createMarker(),o=!1,a=!0,l=!1,c=!1;!c;)switch(e.peekTokenKind()){case u.DoubleQuote:case u.EndOfInput:case u.LeftCurlyBracket:case u.LeftParenthesis:case u.LeftSquareBracket:case u.Newline:case u.Pipe:case u.RightCurlyBracket:case u.RightParenthesis:case u.RightSquareBracket:case u.SingleQuote:case u.Spacing:c=!0;break;case u.PoundSymbol:o=!0,c=!0;break;case u.Slash:case u.AtSign:a&&(l=!0),e.readToken();break;case u.AsciiWord:case u.Period:case u.Hyphen:e.readToken();break;default:a=!1,e.readToken()}if(!o&&l){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingHash,'The declaration reference appears to contain a package name or import path, but it is missing the "#" delimiter',e.extractAccumulatedSequence(),r);return}e.backtrackToMarker(i);var d,m,_,w;if(o){if(e.peekTokenKind()!==u.Period){var b=e.peekTokenKind()===u.AtSign,S=!1;for(c=!1;!c;)switch(e.peekTokenKind()){case u.EndOfInput:throw new Error("Expecting pound symbol");case u.Slash:b&&!S?(e.readToken(),S=!0):c=!0;break;case u.PoundSymbol:c=!0;break;default:e.readToken()}if(!e.isAccumulatedSequenceEmpty()){d=e.extractAccumulatedSequence();var k=re.explainIfInvalidPackageName(d.toString());if(k){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMalformedPackageName,k,d,r);return}}}for(c=!1;!c;)switch(e.peekTokenKind()){case u.EndOfInput:throw new Error("Expecting pound symbol");case u.PoundSymbol:c=!0;break;default:e.readToken()}if(!e.isAccumulatedSequenceEmpty()){m=e.extractAccumulatedSequence();var k=re.explainIfInvalidImportPath(m.toString(),!!d);if(k){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMalformedImportPath,k,m,r);return}}if(e.peekTokenKind()!==u.PoundSymbol)throw new Error("Expecting pound symbol");if(e.readToken(),_=e.extractAccumulatedSequence(),w=this._tryReadSpacingAndNewlines(e),d===void 0&&m===void 0){this._parserContext.log.addMessageForTokenSequence(v.ReferenceHashSyntax,"The hash character must be preceded by a package name or import path",_,r);return}}var E=[];for(c=!1;!c;)switch(e.peekTokenKind()){case u.Period:case u.LeftParenthesis:case u.AsciiWord:case u.Colon:case u.LeftSquareBracket:case u.DoubleQuote:var O=E.length>0,$=this._parseMemberReference(e,O,t,r);if(!$)return;E.push($);break;default:c=!0}if(d===void 0&&m===void 0&&E.length===0){this._parserContext.log.addMessageForTokenSequence(v.MissingReference,"Expecting a declaration reference",t,r);return}return new Wn({parsed:!0,configuration:this._configuration,packageNameExcerpt:d,importPathExcerpt:m,importHashExcerpt:_,spacingAfterImportHashExcerpt:w,memberReferences:E})},n.prototype._parseMemberReference=function(e,t,r,i){var o={parsed:!0,configuration:this._configuration};if(t){if(e.peekTokenKind()!==u.Period){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingDot,"Expecting a period before the next component of a declaration reference",r,i);return}e.readToken(),o.dotExcerpt=e.extractAccumulatedSequence(),o.spacingAfterDotExcerpt=this._tryReadSpacingAndNewlines(e)}if(e.peekTokenKind()===u.LeftParenthesis&&(e.readToken(),o.leftParenthesisExcerpt=e.extractAccumulatedSequence(),o.spacingAfterLeftParenthesisExcerpt=this._tryReadSpacingAndNewlines(e)),e.peekTokenKind()===u.LeftSquareBracket){if(o.memberSymbol=this._parseMemberSymbol(e,i),!o.memberSymbol)return}else if(o.memberIdentifier=this._parseMemberIdentifier(e,r,i),!o.memberIdentifier)return;if(o.spacingAfterMemberExcerpt=this._tryReadSpacingAndNewlines(e),e.peekTokenKind()===u.Colon){if(e.readToken(),o.colonExcerpt=e.extractAccumulatedSequence(),o.spacingAfterColonExcerpt=this._tryReadSpacingAndNewlines(e),!o.leftParenthesisExcerpt){this._parserContext.log.addMessageForTokenSequence(v.ReferenceSelectorMissingParens,"Syntax error in declaration reference: the member selector must be enclosed in parentheses",o.colonExcerpt,i);return}if(o.selector=this._parseMemberSelector(e,o.colonExcerpt,i),!o.selector)return;o.spacingAfterSelectorExcerpt=this._tryReadSpacingAndNewlines(e)}else if(o.leftParenthesisExcerpt){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingColon,"Expecting a colon after the identifier because the expression is in parentheses",o.leftParenthesisExcerpt,i);return}if(o.leftParenthesisExcerpt){if(e.peekTokenKind()!==u.RightParenthesis){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingRightParen,"Expecting a matching right parenthesis",o.leftParenthesisExcerpt,i);return}e.readToken(),o.rightParenthesisExcerpt=e.extractAccumulatedSequence(),o.spacingAfterRightParenthesisExcerpt=this._tryReadSpacingAndNewlines(e)}return new er(o)},n.prototype._parseMemberSymbol=function(e,t){if(e.peekTokenKind()!==u.LeftSquareBracket)throw new Error('Expecting "["');e.readToken();var r=e.extractAccumulatedSequence(),i=this._tryReadSpacingAndNewlines(e),o=this._parseDeclarationReference(e,r,t);if(!o){this._parserContext.log.addMessageForTokenSequence(v.ReferenceSymbolSyntax,"Missing declaration reference in symbol reference",r,t);return}if(e.peekTokenKind()!==u.RightSquareBracket){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingRightBracket,"Missing closing square bracket for symbol reference",r,t);return}e.readToken();var a=e.extractAccumulatedSequence();return new nr({parsed:!0,configuration:this._configuration,leftBracketExcerpt:r,spacingAfterLeftBracketExcerpt:i,symbolReference:o,rightBracketExcerpt:a})},n.prototype._parseMemberIdentifier=function(e,t,r){var i=void 0,o=void 0;if(e.peekTokenKind()===u.DoubleQuote){for(e.readToken(),i=e.extractAccumulatedSequence();e.peekTokenKind()!==u.DoubleQuote;){if(e.peekTokenKind()===u.EndOfInput){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingQuote,"Unexpected end of input inside quoted member identifier",i,r);return}e.readToken()}if(e.isAccumulatedSequenceEmpty()){this._parserContext.log.addMessageForTokenSequence(v.ReferenceEmptyIdentifier,"The quoted identifier cannot be empty",i,r);return}var a=e.extractAccumulatedSequence();return e.readToken(),o=e.extractAccumulatedSequence(),new mn({parsed:!0,configuration:this._configuration,leftQuoteExcerpt:i,identifierExcerpt:a,rightQuoteExcerpt:o})}else{for(var l=!1;!l;)switch(e.peekTokenKind()){case u.AsciiWord:case u.DollarSign:e.readToken();break;default:l=!0;break}if(e.isAccumulatedSequenceEmpty()){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingIdentifier,"Syntax error in declaration reference: expecting a member identifier",t,r);return}var a=e.extractAccumulatedSequence(),c=a.toString(),d=re.explainIfInvalidUnquotedMemberIdentifier(c);if(d){this._parserContext.log.addMessageForTokenSequence(v.ReferenceUnquotedIdentifier,d,a,r);return}return new mn({parsed:!0,configuration:this._configuration,leftQuoteExcerpt:i,identifierExcerpt:a,rightQuoteExcerpt:o})}},n.prototype._parseMemberSelector=function(e,t,r){e.peekTokenKind()!==u.AsciiWord&&this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingLabel,"Expecting a selector label after the colon",t,r);var i=e.readToken().toString(),o=e.extractAccumulatedSequence(),a=new tr({parsed:!0,configuration:this._configuration,selectorExcerpt:o,selector:i});if(a.errorMessage){this._parserContext.log.addMessageForTokenSequence(v.ReferenceSelectorSyntax,a.errorMessage,o,r);return}return a},n.prototype._parseHtmlStartTag=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker(),r=e.readToken();if(r.kind!==u.LessThan)throw new Error('Expecting an HTML tag starting with "<"');var i=e.extractAccumulatedSequence(),o=this._parseHtmlName(e);if(_n(o))return this._backtrackAndCreateErrorForFailure(e,t,"Invalid HTML element: ",o);for(var a=this._tryReadSpacingAndNewlines(e),l=[];e.peekTokenKind()===u.AsciiWord;){var c=this._parseHtmlAttribute(e);if(_n(c))return this._backtrackAndCreateErrorForFailure(e,t,"The HTML element has an invalid attribute: ",c);l.push(c)}e.assertAccumulatedSequenceIsEmpty();var d=e.createMarker(),m=!1;if(e.peekTokenKind()===u.Slash&&(e.readToken(),m=!0),e.peekTokenKind()!==u.GreaterThan){var _=this._createFailureForTokensSince(e,v.HtmlTagMissingGreaterThan,'Expecting an attribute or ">" or "/>"',d);return this._backtrackAndCreateErrorForFailure(e,t,"The HTML tag has invalid syntax: ",_)}e.readToken();var w=e.extractAccumulatedSequence();return new Xn({parsed:!0,configuration:this._configuration,openingDelimiterExcerpt:i,nameExcerpt:o,spacingAfterNameExcerpt:a,htmlAttributes:l,selfClosingTag:m,closingDelimiterExcerpt:w})},n.prototype._parseHtmlAttribute=function(e){e.assertAccumulatedSequenceIsEmpty();var t=this._parseHtmlName(e);if(_n(t))return t;var r=this._tryReadSpacingAndNewlines(e);if(e.peekTokenKind()!==u.Equals)return this._createFailureForToken(e,v.HtmlTagMissingEquals,'Expecting "=" after HTML attribute name');e.readToken();var i=e.extractAccumulatedSequence(),o=this._tryReadSpacingAndNewlines(e),a=this._parseHtmlString(e);if(_n(a))return a;var l=e.extractAccumulatedSequence(),c=this._tryReadSpacingAndNewlines(e);return new Jn({parsed:!0,configuration:this._configuration,nameExcerpt:t,spacingAfterNameExcerpt:r,equalsExcerpt:i,spacingAfterEqualsExcerpt:o,valueExcerpt:l,spacingAfterValueExcerpt:c})},n.prototype._parseHtmlString=function(e){var t=e.createMarker(),r=e.peekTokenKind();if(r!==u.DoubleQuote&&r!==u.SingleQuote)return this._createFailureForToken(e,v.HtmlTagMissingString,"Expecting an HTML string starting with a single-quote or double-quote character");e.readToken();for(var i="";;){var o=e.peekTokenKind();if(o===r){e.readToken();break}if(o===u.EndOfInput||o===u.Newline)return this._createFailureForToken(e,v.HtmlStringMissingQuote,"The HTML string is missing its closing quote",t);i+=e.readToken().toString()}return e.peekTokenKind()===u.AsciiWord?this._createFailureForToken(e,v.TextAfterHtmlString,"The next character after a closing quote must be spacing or punctuation"):i},n.prototype._parseHtmlEndTag=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker(),r=e.peekToken();if(r.kind!==u.LessThan)return this._backtrackAndCreateError(e,t,v.MissingHtmlEndTag,'Expecting an HTML tag starting with "" for the HTML tag');return this._backtrackAndCreateErrorForFailure(e,t,"",c)}e.readToken();var d=e.extractAccumulatedSequence();return new Qn({parsed:!0,configuration:this._configuration,openingDelimiterExcerpt:o,nameExcerpt:a,spacingAfterNameExcerpt:l,closingDelimiterExcerpt:d})},n.prototype._parseHtmlName=function(e){var t=e.createMarker();if(e.peekTokenKind()===u.Spacing)return this._createFailureForTokensSince(e,v.MalformedHtmlName,"A space is not allowed here",t);for(var r=!1;!r;)switch(e.peekTokenKind()){case u.Hyphen:case u.Period:case u.AsciiWord:e.readToken();break;default:r=!0;break}var i=e.tryExtractAccumulatedSequence();if(!i)return this._createFailureForToken(e,v.MalformedHtmlName,"Expecting an HTML name");var o=i.toString(),a=re.explainIfInvalidHtmlName(o);return a?this._createFailureForTokensSince(e,v.MalformedHtmlName,a,t):this._configuration.validation.reportUnsupportedHtmlElements&&!this._configuration.isHtmlElementSupported(o)?this._createFailureForToken(e,v.UnsupportedHtmlElementName,"The HTML element name ".concat(JSON.stringify(o)," is not defined by your TSDoc configuration"),t):i},n.prototype._parseFencedCode=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker(),r=t+2;switch(e.peekPreviousTokenKind()){case u.Newline:case u.EndOfInput:break;default:return this._backtrackAndCreateErrorRange(e,t,r,v.CodeFenceOpeningIndent,"The opening backtick for a code fence must appear at the start of the line")}var i="";if(i+=e.readToken(),i+=e.readToken(),i+=e.readToken(),i!=="```")throw new Error("Expecting three backticks");for(var o=e.extractAccumulatedSequence();e.peekTokenKind()===u.Spacing;)e.readToken();for(var a=e.tryExtractAccumulatedSequence(),l=!1,c=void 0;!l;)switch(e.peekTokenKind()){case u.Spacing:case u.Newline:c===void 0&&(c=e.createMarker()),e.peekTokenKind()===u.Newline&&(l=!0),e.readToken();break;case u.Backtick:var d=this._createFailureForToken(e,v.CodeFenceSpecifierSyntax,"The language specifier cannot contain backtick characters");return this._backtrackAndCreateErrorRangeForFailure(e,t,r,"Error parsing code fence: ",d);case u.EndOfInput:var m=this._createFailureForToken(e,v.CodeFenceMissingDelimiter,"Missing closing delimiter");return this._backtrackAndCreateErrorRangeForFailure(e,t,r,"Error parsing code fence: ",m);default:c=void 0,e.readToken();break}var _=e.extractAccumulatedSequence(),w=_.getNewSequence(_.startIndex,c),b=_.getNewSequence(c,_.endIndex),S=-1,k=-1;l=!1;for(var E;!l;)switch(e.peekTokenKind()){case u.EndOfInput:var m=this._createFailureForToken(e,v.CodeFenceMissingDelimiter,"Missing closing delimiter");return this._backtrackAndCreateErrorRangeForFailure(e,t,r,"Error parsing code fence: ",m);case u.Newline:for(E=e.readToken(),S=e.createMarker();e.peekTokenKind()===u.Spacing;)E=e.readToken();if(e.peekTokenKind()!==u.Backtick||(k=e.createMarker(),e.readToken(),e.peekTokenKind()!==u.Backtick)||(e.readToken(),e.peekTokenKind()!==u.Backtick))break;e.readToken(),l=!0;break;default:e.readToken();break}E.kind!==u.Newline&&this._parserContext.log.addMessageForTextRange(v.CodeFenceClosingIndent,"The closing delimiter for a code fence must not be indented",E.range);var O=e.extractAccumulatedSequence(),$=O.getNewSequence(O.startIndex,S),K=O.getNewSequence(S,k),D=O.getNewSequence(k,O.endIndex);for(l=!1;!l;)switch(e.peekTokenKind()){case u.Spacing:e.readToken();break;case u.Newline:l=!0,e.readToken();break;case u.EndOfInput:l=!0;break;default:this._parserContext.log.addMessageForTextRange(v.CodeFenceClosingSyntax,"Unexpected characters after closing delimiter for code fence",e.peekToken().range),l=!0;break}var H=e.tryExtractAccumulatedSequence();return new zn({parsed:!0,configuration:this._configuration,openingFenceExcerpt:o,spacingAfterOpeningFenceExcerpt:a,languageExcerpt:w,spacingAfterLanguageExcerpt:b,codeExcerpt:$,spacingBeforeClosingFenceExcerpt:K,closingFenceExcerpt:D,spacingAfterClosingFenceExcerpt:H})},n.prototype._parseCodeSpan=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker();if(e.peekTokenKind()!==u.Backtick)throw new Error('Expecting a code span starting with a backtick character "`"');e.readToken();for(var r=e.extractAccumulatedSequence(),i=void 0,o=void 0;;){var a=e.peekTokenKind();if(a===u.Backtick){if(e.isAccumulatedSequenceEmpty())return this._backtrackAndCreateErrorRange(e,t,t+1,v.CodeSpanEmpty,"A code span must contain at least one character between the backticks");i=e.extractAccumulatedSequence(),e.readToken(),o=e.extractAccumulatedSequence();break}if(a===u.EndOfInput||a===u.Newline)return this._backtrackAndCreateError(e,t,v.CodeSpanMissingDelimiter,"The code span is missing its closing backtick");e.readToken()}return new Un({parsed:!0,configuration:this._configuration,openingDelimiterExcerpt:r,codeExcerpt:i,closingDelimiterExcerpt:o})},n.prototype._tryReadSpacingAndNewlines=function(e){var t=!1;do switch(e.peekTokenKind()){case u.Spacing:case u.Newline:e.readToken();break;default:t=!0;break}while(!t);return e.tryExtractAccumulatedSequence()},n.prototype._createError=function(e,t,r){e.readToken();var i=e.extractAccumulatedSequence(),o=new Dt({parsed:!0,configuration:this._configuration,textExcerpt:i,messageId:t,errorMessage:r,errorLocation:i});return this._parserContext.log.addMessageForDocErrorText(o),o},n.prototype._backtrackAndCreateError=function(e,t,r,i){return e.backtrackToMarker(t),this._createError(e,r,i)},n.prototype._backtrackAndCreateErrorRange=function(e,t,r,i,o){for(e.backtrackToMarker(t);e.createMarker()!==r;)e.readToken();e.peekTokenKind()!==u.EndOfInput&&e.readToken();var a=e.extractAccumulatedSequence(),l=new Dt({parsed:!0,configuration:this._configuration,textExcerpt:a,messageId:i,errorMessage:o,errorLocation:a});return this._parserContext.log.addMessageForDocErrorText(l),l},n.prototype._backtrackAndCreateErrorForFailure=function(e,t,r,i){e.backtrackToMarker(t),e.readToken();var o=e.extractAccumulatedSequence(),a=new Dt({parsed:!0,configuration:this._configuration,textExcerpt:o,messageId:i.failureMessageId,errorMessage:r+i.failureMessage,errorLocation:i.failureLocation});return this._parserContext.log.addMessageForDocErrorText(a),a},n.prototype._backtrackAndCreateErrorRangeForFailure=function(e,t,r,i,o){for(e.backtrackToMarker(t);e.createMarker()!==r;)e.readToken();e.peekTokenKind()!==u.EndOfInput&&e.readToken();var a=e.extractAccumulatedSequence(),l=new Dt({parsed:!0,configuration:this._configuration,textExcerpt:a,messageId:o.failureMessageId,errorMessage:i+o.failureMessage,errorLocation:o.failureLocation});return this._parserContext.log.addMessageForDocErrorText(l),l},n.prototype._createFailureForToken=function(e,t,r,i){i||(i=e.createMarker());var o=new xt({parserContext:this._parserContext,startIndex:i,endIndex:i+1});return{failureMessageId:t,failureMessage:r,failureLocation:o}},n.prototype._createFailureForTokensSince=function(e,t,r,i){var o=e.createMarker();if(osetTimeout(e,n))}function ao(){return/(<%(?:-|_)?\s*[*~]{0,1})\+((?:.|\s)*?%>)/g}function rs(n,e){e=(0,Te.normalizePath)(e);let t=n.vault.getAbstractFileByPath(e);if(!t)throw new P(`Folder "${e}" doesn't exist`);if(!(t instanceof Te.TFolder))throw new P(`${e} is a file, not a folder`);return t}function Nt(n,e){e=(0,Te.normalizePath)(e);let t=n.vault.getAbstractFileByPath(e);if(!t)throw new P(`File "${e}" doesn't exist`);if(!(t instanceof Te.TFile))throw new P(`${e} is a folder, not a file`);return t}function Je(n,e){let t=rs(n,e),r=[];return Te.Vault.recurseChildren(t,i=>{i instanceof Te.TFile&&r.push(i)}),r.sort((i,o)=>i.path.localeCompare(o.path)),r}async function so(n,e){return await Promise.all(e.map(async r=>{let i=await n.vault.cachedRead(r);return is(r,i)}))}function is(n,e){let r=new Kr().parseString(e),i=new Rr(n);return i.description=os(r.docComment.summarySection),i.returns=as(r.docComment.returnsBlock),i.arguments=ss(r.docComment.params),i}function os(n){try{return n.nodes.map(t=>t.getChildNodes().filter(r=>r instanceof Ve).map(r=>r.text).join(` +`?(m.push(t.getNewRange(w,w)),a=c):n._whitespaceCharacterRegExp.test(_)||(l=c,d=pe.CollectingLine);break}}return e.commentRange=t.getNewRange(i,o),e.lines=m,!0},n._whitespaceCharacterRegExp=/^\s$/,n}();var An=function(){function n(){}return n.readTokens=function(e){n._ensureInitialized();for(var t=[],r=void 0,i=0,o=e;i":u.GreaterThan,"=":u.Equals,"'":u.SingleQuote,'"':u.DoubleQuote,"/":u.Slash,"-":u.Hyphen,"@":u.AtSign,"{":u.LeftCurlyBracket,"}":u.RightCurlyBracket,"`":u.Backtick,".":u.Period,":":u.Colon,",":u.Comma,"[":u.LeftSquareBracket,"]":u.RightSquareBracket,"|":u.Pipe,"(":u.LeftParenthesis,")":u.RightParenthesis,"#":u.PoundSymbol,"+":u.Plus,$:u.DollarSign},o=0,a=Object.getOwnPropertyNames(i);o?@[\\]^`{|}~",n._wordCharacters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_",n}();var $r=function(){function n(e,t){if(this._parserContext=e,this.tokens=e.tokens,t){if(t.parserContext!==this._parserContext)throw new Error("The embeddedTokenSequence must use the same parser context");this._readerStartIndex=t.startIndex,this._readerEndIndex=t.endIndex}else this._readerStartIndex=0,this._readerEndIndex=this.tokens.length;this._currentIndex=this._readerStartIndex,this._accumulatedStartIndex=this._readerStartIndex}return n.prototype.extractAccumulatedSequence=function(){if(this._accumulatedStartIndex===this._currentIndex)throw new Error("Parser assertion failed: The queue should not be empty when extractAccumulatedSequence() is called");var e=new yt({parserContext:this._parserContext,startIndex:this._accumulatedStartIndex,endIndex:this._currentIndex});return this._accumulatedStartIndex=this._currentIndex,e},n.prototype.isAccumulatedSequenceEmpty=function(){return this._accumulatedStartIndex===this._currentIndex},n.prototype.tryExtractAccumulatedSequence=function(){if(!this.isAccumulatedSequenceEmpty())return this.extractAccumulatedSequence()},n.prototype.assertAccumulatedSequenceIsEmpty=function(){if(!this.isAccumulatedSequenceEmpty()){var e=new yt({parserContext:this._parserContext,startIndex:this._accumulatedStartIndex,endIndex:this._currentIndex}),t=e.tokens.map(function(r){return r.toString()});throw new Error(`Parser assertion failed: The queue should be empty, but it contains: +`+JSON.stringify(t))}},n.prototype.peekToken=function(){return this.tokens[this._currentIndex]},n.prototype.peekTokenKind=function(){return this._currentIndex>=this._readerEndIndex?u.EndOfInput:this.tokens[this._currentIndex].kind},n.prototype.peekTokenAfterKind=function(){return this._currentIndex+1>=this._readerEndIndex?u.EndOfInput:this.tokens[this._currentIndex+1].kind},n.prototype.peekTokenAfterAfterKind=function(){return this._currentIndex+2>=this._readerEndIndex?u.EndOfInput:this.tokens[this._currentIndex+2].kind},n.prototype.readToken=function(){if(this._currentIndex>=this._readerEndIndex)throw new Error("Cannot read past end of stream");var e=this.tokens[this._currentIndex];if(e.kind===u.EndOfInput)throw new Error("The EndOfInput token cannot be read");return this._currentIndex++,e},n.prototype.peekPreviousTokenKind=function(){return this._currentIndex===0?u.EndOfInput:this.tokens[this._currentIndex-1].kind},n.prototype.createMarker=function(){return this._currentIndex},n.prototype.backtrackToMarker=function(e){if(e>this._currentIndex)throw new Error("The marker has expired");this._currentIndex=e,e" character should be escaped using a backslash to avoid confusion with an HTML tag'));break;case u.Backtick:this._pushAccumulatedPlainText(e),e.peekTokenAfterKind()===u.Backtick&&e.peekTokenAfterAfterKind()===u.Backtick?this._pushNode(this._parseFencedCode(e)):this._pushNode(this._parseCodeSpan(e));break;default:e.readToken();break}this._pushAccumulatedPlainText(e),this._performValidationChecks()},n.prototype._performValidationChecks=function(){var e=this._parserContext.docComment;e.deprecatedBlock&&(cr.hasAnyTextContent(e.deprecatedBlock)||this._parserContext.log.addMessageForTokenSequence(v.MissingDeprecationMessage,"The ".concat(e.deprecatedBlock.blockTag.tagName," block must include a deprecation message,")+" e.g. describing the recommended alternative",e.deprecatedBlock.blockTag.getTokenSequence(),e.deprecatedBlock)),e.inheritDocTag&&(e.remarksBlock&&this._parserContext.log.addMessageForTokenSequence(v.InheritDocIncompatibleTag,'A "'.concat(e.remarksBlock.blockTag.tagName,'" block must not be used, because that')+" content is provided by the @inheritDoc tag",e.remarksBlock.blockTag.getTokenSequence(),e.remarksBlock.blockTag),cr.hasAnyTextContent(e.summarySection)&&this._parserContext.log.addMessageForTextRange(v.InheritDocIncompatibleSummary,"The summary section must not have any content, because that content is provided by the @inheritDoc tag",this._parserContext.commentRange))},n.prototype._validateTagDefinition=function(e,t,r,i,o){if(e){var a=e.syntaxKind===R.InlineTag;a!==r?r?this._parserContext.log.addMessageForTokenSequence(v.TagShouldNotHaveBraces,'The TSDoc tag "'.concat(t,'" is not an inline tag; it must not be enclosed in "{ }" braces'),i,o):this._parserContext.log.addMessageForTokenSequence(v.InlineTagMissingBraces,'The TSDoc tag "'.concat(t,'" is an inline tag; it must be enclosed in "{ }" braces'),i,o):this._parserContext.configuration.validation.reportUnsupportedTags&&(this._parserContext.configuration.isTagSupported(e)||this._parserContext.log.addMessageForTokenSequence(v.UnsupportedTag,'The TSDoc tag "'.concat(t,'" is not supported by this tool'),i,o))}else this._parserContext.configuration.validation.ignoreUndefinedTags||this._parserContext.log.addMessageForTokenSequence(v.UndefinedTag,'The TSDoc tag "'.concat(t,'" is not defined in this configuration'),i,o)},n.prototype._pushAccumulatedPlainText=function(e){e.isAccumulatedSequenceEmpty()||this._pushNode(new Ve({parsed:!0,configuration:this._configuration,textExcerpt:e.extractAccumulatedSequence()}))},n.prototype._parseAndPushBlock=function(e){var t=this._parserContext.docComment,r=this._parserContext.configuration,i=t.modifierTagSet,o=this._parseBlockTag(e);if(o.kind!==g.BlockTag){this._pushNode(o);return}var a=o,l=r.tryGetTagDefinitionWithUpperCase(a.tagNameWithUpperCase);if(this._validateTagDefinition(l,a.tagName,!1,a.getTokenSequence(),a),l)switch(l.syntaxKind){case R.BlockTag:if(a.tagNameWithUpperCase===G.param.tagNameWithUpperCase){var c=this._parseParamBlock(e,a,G.param.tagName);this._parserContext.docComment.params.add(c),this._currentSection=c.content;return}else if(a.tagNameWithUpperCase===G.typeParam.tagNameWithUpperCase){var c=this._parseParamBlock(e,a,G.typeParam.tagName);this._parserContext.docComment.typeParams.add(c),this._currentSection=c.content;return}else{var d=new Vt({configuration:this._configuration,blockTag:a});this._addBlockToDocComment(d),this._currentSection=d.content}return;case R.ModifierTag:i.addTag(a);return}this._pushNode(a)},n.prototype._addBlockToDocComment=function(e){var t=this._parserContext.docComment;switch(e.blockTag.tagNameWithUpperCase){case G.remarks.tagNameWithUpperCase:t.remarksBlock=e;break;case G.privateRemarks.tagNameWithUpperCase:t.privateRemarks=e;break;case G.deprecated.tagNameWithUpperCase:t.deprecatedBlock=e;break;case G.returns.tagNameWithUpperCase:t.returnsBlock=e;break;case G.see.tagNameWithUpperCase:t._appendSeeBlock(e);break;default:t.appendCustomBlock(e)}},n.prototype._tryParseJSDocTypeOrValueRest=function(e,t,r,i){for(var o,a=1;a>0;){var l=e.peekTokenKind();switch(l){case t:o===void 0&&a++;break;case r:o===void 0&&a--;break;case u.Backslash:o!==void 0&&(e.readToken(),l=e.peekTokenKind());break;case u.DoubleQuote:case u.SingleQuote:case u.Backtick:o===l?o=void 0:o===void 0&&(o=l);break}if(l===u.EndOfInput){e.backtrackToMarker(i);return}e.readToken()}return e.tryExtractAccumulatedSequence()},n.prototype._tryParseUnsupportedJSDocType=function(e,t,r){if(e.assertAccumulatedSequenceIsEmpty(),!(e.peekTokenKind()!==u.LeftCurlyBracket||e.peekTokenAfterKind()===u.AtSign)){var i=e.createMarker();e.readToken();var o=this._tryParseJSDocTypeOrValueRest(e,u.LeftCurlyBracket,u.RightCurlyBracket,i);if(o){this._parserContext.log.addMessageForTokenSequence(v.ParamTagWithInvalidType,"The "+r+" block should not include a JSDoc-style '{type}'",o,t);var a=this._tryReadSpacingAndNewlines(e);a&&(o=o.getNewSequence(o.startIndex,a.endIndex))}return o}},n.prototype._tryParseJSDocOptionalNameRest=function(e){if(e.assertAccumulatedSequenceIsEmpty(),e.peekTokenKind()!==u.EndOfInput){var t=e.createMarker();return this._tryParseJSDocTypeOrValueRest(e,u.LeftSquareBracket,u.RightSquareBracket,t)}},n.prototype._parseParamBlock=function(e,t,r){var i=e.createMarker(),o=this._tryReadSpacingAndNewlines(e),a=this._tryParseUnsupportedJSDocType(e,t,r),l;e.peekTokenKind()===u.LeftSquareBracket&&(e.readToken(),l=e.extractAccumulatedSequence());for(var c="",d=!1;!d;)switch(e.peekTokenKind()){case u.AsciiWord:case u.Period:case u.DollarSign:c+=e.readToken();break;default:d=!0;break}var m=re.explainIfInvalidUnquotedIdentifier(c);if(m!==void 0){e.backtrackToMarker(i);var _=new gn({configuration:this._configuration,blockTag:t,parameterName:""}),w=c.length>0?"The "+r+" block should be followed by a valid parameter name: "+m:"The "+r+" block should be followed by a parameter name";return this._parserContext.log.addMessageForTokenSequence(v.ParamTagWithInvalidName,w,t.getTokenSequence(),t),_}var b=e.extractAccumulatedSequence(),S;if(l){S=this._tryParseJSDocOptionalNameRest(e);var k=l;S&&(k=t.getTokenSequence().getNewSequence(l.startIndex,S.endIndex)),this._parserContext.log.addMessageForTokenSequence(v.ParamTagWithInvalidOptionalName,"The "+r+" should not include a JSDoc-style optional name; it must not be enclosed in '[ ]' brackets.",k,t)}var E=this._tryReadSpacingAndNewlines(e),O=this._tryParseUnsupportedJSDocType(e,t,r),$,K,D;return e.peekTokenKind()===u.Hyphen?(e.readToken(),$=e.extractAccumulatedSequence(),K=this._tryReadSpacingAndNewlines(e),D=this._tryParseUnsupportedJSDocType(e,t,r)):this._parserContext.log.addMessageForTokenSequence(v.ParamTagMissingHyphen,"The "+r+" block should be followed by a parameter name and then a hyphen",t.getTokenSequence(),t),new gn({parsed:!0,configuration:this._configuration,blockTag:t,spacingBeforeParameterNameExcerpt:o,unsupportedJsdocTypeBeforeParameterNameExcerpt:a,unsupportedJsdocOptionalNameOpenBracketExcerpt:l,parameterNameExcerpt:b,parameterName:c,unsupportedJsdocOptionalNameRestExcerpt:S,spacingAfterParameterNameExcerpt:E,unsupportedJsdocTypeAfterParameterNameExcerpt:O,hyphenExcerpt:$,spacingAfterHyphenExcerpt:K,unsupportedJsdocTypeAfterHyphenExcerpt:D})},n.prototype._pushNode=function(e){this._configuration.docNodeManager.isAllowedChild(g.Paragraph,e.kind)?this._currentSection.appendNodeInParagraph(e):this._currentSection.appendNode(e)},n.prototype._parseBackslashEscape=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker();if(e.readToken(),e.peekTokenKind()===u.EndOfInput)return this._backtrackAndCreateError(e,t,v.UnnecessaryBackslash,"A backslash must precede another character that is being escaped");var r=e.readToken();if(!An.isPunctuation(r.kind))return this._backtrackAndCreateError(e,t,v.UnnecessaryBackslash,"A backslash can only be used to escape a punctuation character");var i=e.extractAccumulatedSequence();return new Vn({parsed:!0,configuration:this._configuration,escapeStyle:sr.CommonMarkBackslash,encodedTextExcerpt:i,decodedText:r.toString()})},n.prototype._parseBlockTag=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker();if(e.peekTokenKind()!==u.AtSign)return this._backtrackAndCreateError(e,t,v.MissingTag,'Expecting a TSDoc tag starting with "@"');switch(e.peekPreviousTokenKind()){case u.EndOfInput:case u.Spacing:case u.Newline:break;default:return this._backtrackAndCreateError(e,t,v.AtSignInWord,'The "@" character looks like part of a TSDoc tag; use a backslash to escape it')}var r=e.readToken().toString();if(e.peekTokenKind()!==u.AsciiWord)return this._backtrackAndCreateError(e,t,v.AtSignWithoutTagName,'Expecting a TSDoc tag name after "@"; if it is not a tag, use a backslash to escape this character');for(var i=e.createMarker();e.peekTokenKind()===u.AsciiWord;)r+=e.readToken().toString();switch(e.peekTokenKind()){case u.Spacing:case u.Newline:case u.EndOfInput:break;default:var o=e.peekToken().range.toString()[0];return this._backtrackAndCreateError(e,t,v.CharactersAfterBlockTag,'The token "'.concat(r,'" looks like a TSDoc tag but contains an invalid character')+" ".concat(JSON.stringify(o),'; if it is not a tag, use a backslash to escape the "@"'))}if(re.explainIfInvalidTSDocTagName(r)){var a=this._createFailureForTokensSince(e,v.MalformedTagName,"A TSDoc tag name must start with a letter and contain only letters and numbers",i);return this._backtrackAndCreateErrorForFailure(e,t,"",a)}return new Yn({parsed:!0,configuration:this._configuration,tagName:r,tagNameExcerpt:e.extractAccumulatedSequence()})},n.prototype._parseInlineTag=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker();if(e.peekTokenKind()!==u.LeftCurlyBracket)return this._backtrackAndCreateError(e,t,v.MissingTag,'Expecting a TSDoc tag starting with "{"');e.readToken();var r=e.extractAccumulatedSequence(),i=e.createMarker();if(e.peekTokenKind()!==u.AtSign)return this._backtrackAndCreateError(e,t,v.MalformedInlineTag,'Expecting a TSDoc tag starting with "{@"');for(var o=e.readToken().toString();e.peekTokenKind()===u.AsciiWord;)o+=e.readToken().toString();if(o==="@"){var a=this._createFailureForTokensSince(e,v.MalformedInlineTag,'Expecting a TSDoc inline tag name after the "{@" characters',i);return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"",a)}if(re.explainIfInvalidTSDocTagName(o)){var a=this._createFailureForTokensSince(e,v.MalformedTagName,"A TSDoc tag name must start with a letter and contain only letters and numbers",i);return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"",a)}var l=e.extractAccumulatedSequence(),c=this._tryReadSpacingAndNewlines(e);if(c===void 0&&e.peekTokenKind()!==u.RightCurlyBracket){var d=e.peekToken().range.toString()[0],a=this._createFailureForToken(e,v.CharactersAfterInlineTag,"The character ".concat(JSON.stringify(d)," cannot appear after the TSDoc tag name; expecting a space"));return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"",a)}for(var m=!1;!m;)switch(e.peekTokenKind()){case u.EndOfInput:return this._backtrackAndCreateErrorRange(e,t,i,v.InlineTagMissingRightBrace,'The TSDoc inline tag name is missing its closing "}"');case u.Backslash:if(e.readToken(),!An.isPunctuation(e.peekTokenKind())){var a=this._createFailureForToken(e,v.UnnecessaryBackslash,"A backslash can only be used to escape a punctuation character");return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"Error reading inline TSDoc tag: ",a)}e.readToken();break;case u.LeftCurlyBracket:{var a=this._createFailureForToken(e,v.InlineTagUnescapedBrace,'The "{" character must be escaped with a backslash when used inside a TSDoc inline tag');return this._backtrackAndCreateErrorRangeForFailure(e,t,i,"",a)}case u.RightCurlyBracket:m=!0;break;default:e.readToken();break}var _=e.tryExtractAccumulatedSequence();e.readToken();var w=e.extractAccumulatedSequence(),b={parsed:!0,configuration:this._configuration,openingDelimiterExcerpt:r,tagNameExcerpt:l,tagName:o,spacingAfterTagNameExcerpt:c,tagContentExcerpt:_,closingDelimiterExcerpt:w},S=o.toUpperCase(),k=new $r(this._parserContext,_||yt.createEmpty(this._parserContext)),E;switch(S){case G.inheritDoc.tagNameWithUpperCase:E=this._parseInheritDocTag(b,k);break;case G.link.tagNameWithUpperCase:E=this._parseLinkTag(b,k);break;default:E=new zt(b)}var O=this._parserContext.configuration.tryGetTagDefinitionWithUpperCase(S);return this._validateTagDefinition(O,o,!0,l,E),E},n.prototype._parseInheritDocTag=function(e,t){var r=new zt(e),i=lr({},e);if(t.peekTokenKind()!==u.EndOfInput){if(i.declarationReference=this._parseDeclarationReference(t,e.tagNameExcerpt,r),!i.declarationReference)return r;if(t.peekTokenKind()!==u.EndOfInput)return t.readToken(),this._parserContext.log.addMessageForTokenSequence(v.InheritDocTagSyntax,"Unexpected character after declaration reference",t.extractAccumulatedSequence(),r),r}return new dn(i)},n.prototype._parseLinkTag=function(e,t){var r=new zt(e),i=lr({},e);if(!e.tagContentExcerpt)return this._parserContext.log.addMessageForTokenSequence(v.LinkTagEmpty,"The @link tag content is missing",i.tagNameExcerpt,r),r;for(var o=t.peekTokenKind()===u.Slash&&t.peekTokenAfterKind()===u.Slash,a=t.createMarker(),l=o;!l;)switch(t.peekTokenKind()){case u.AsciiWord:case u.Period:case u.Hyphen:case u.Plus:t.readToken();break;case u.Colon:t.readToken(),o=t.peekTokenKind()===u.Slash&&t.peekTokenAfterKind()===u.Slash,l=!0;break;default:l=!0}if(t.backtrackToMarker(a),o){if(!this._parseLinkTagUrlDestination(t,i,e.tagNameExcerpt,r))return r}else if(!this._parseLinkTagCodeDestination(t,i,e.tagNameExcerpt,r))return r;if(t.peekTokenKind()===u.Spacing)throw new Error("Unconsumed spacing encountered after construct");if(t.peekTokenKind()===u.Pipe){t.readToken(),i.pipeExcerpt=t.extractAccumulatedSequence(),i.spacingAfterPipeExcerpt=this._tryReadSpacingAndNewlines(t),l=!1;for(var c=void 0;!l;)switch(t.peekTokenKind()){case u.EndOfInput:l=!0;break;case u.Pipe:case u.LeftCurlyBracket:var d=t.readToken().toString();return this._parserContext.log.addMessageForTokenSequence(v.LinkTagUnescapedText,'The "'.concat(d,'" character may not be used in the link text without escaping it'),t.extractAccumulatedSequence(),r),r;case u.Spacing:case u.Newline:t.readToken();break;default:c=t.createMarker()+1,t.readToken()}var m=t.tryExtractAccumulatedSequence();m&&(c===void 0?i.spacingAfterLinkTextExcerpt=m:c>=m.endIndex?i.linkTextExcerpt=m:(i.linkTextExcerpt=m.getNewSequence(m.startIndex,c),i.spacingAfterLinkTextExcerpt=m.getNewSequence(c,m.endIndex)))}else if(t.peekTokenKind()!==u.EndOfInput)return t.readToken(),this._parserContext.log.addMessageForTokenSequence(v.LinkTagDestinationSyntax,"Unexpected character after link destination",t.extractAccumulatedSequence(),r),r;return new Zn(i)},n.prototype._parseLinkTagUrlDestination=function(e,t,r,i){for(var o="",a=!1;!a;)switch(e.peekTokenKind()){case u.Spacing:case u.Newline:case u.EndOfInput:case u.Pipe:case u.RightCurlyBracket:a=!0;break;default:o+=e.readToken();break}if(o.length===0)throw new Error("Missing URL in _parseLinkTagUrlDestination()");var l=e.extractAccumulatedSequence(),c=re.explainIfInvalidLinkUrl(o);return c?(this._parserContext.log.addMessageForTokenSequence(v.LinkTagInvalidUrl,c,l,i),!1):(t.urlDestinationExcerpt=l,t.spacingAfterDestinationExcerpt=this._tryReadSpacingAndNewlines(e),!0)},n.prototype._parseLinkTagCodeDestination=function(e,t,r,i){return t.codeDestination=this._parseDeclarationReference(e,r,i),!!t.codeDestination},n.prototype._parseDeclarationReference=function(e,t,r){e.assertAccumulatedSequenceIsEmpty();for(var i=e.createMarker(),o=!1,a=!0,l=!1,c=!1;!c;)switch(e.peekTokenKind()){case u.DoubleQuote:case u.EndOfInput:case u.LeftCurlyBracket:case u.LeftParenthesis:case u.LeftSquareBracket:case u.Newline:case u.Pipe:case u.RightCurlyBracket:case u.RightParenthesis:case u.RightSquareBracket:case u.SingleQuote:case u.Spacing:c=!0;break;case u.PoundSymbol:o=!0,c=!0;break;case u.Slash:case u.AtSign:a&&(l=!0),e.readToken();break;case u.AsciiWord:case u.Period:case u.Hyphen:e.readToken();break;default:a=!1,e.readToken()}if(!o&&l){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingHash,'The declaration reference appears to contain a package name or import path, but it is missing the "#" delimiter',e.extractAccumulatedSequence(),r);return}e.backtrackToMarker(i);var d,m,_,w;if(o){if(e.peekTokenKind()!==u.Period){var b=e.peekTokenKind()===u.AtSign,S=!1;for(c=!1;!c;)switch(e.peekTokenKind()){case u.EndOfInput:throw new Error("Expecting pound symbol");case u.Slash:b&&!S?(e.readToken(),S=!0):c=!0;break;case u.PoundSymbol:c=!0;break;default:e.readToken()}if(!e.isAccumulatedSequenceEmpty()){d=e.extractAccumulatedSequence();var k=re.explainIfInvalidPackageName(d.toString());if(k){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMalformedPackageName,k,d,r);return}}}for(c=!1;!c;)switch(e.peekTokenKind()){case u.EndOfInput:throw new Error("Expecting pound symbol");case u.PoundSymbol:c=!0;break;default:e.readToken()}if(!e.isAccumulatedSequenceEmpty()){m=e.extractAccumulatedSequence();var k=re.explainIfInvalidImportPath(m.toString(),!!d);if(k){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMalformedImportPath,k,m,r);return}}if(e.peekTokenKind()!==u.PoundSymbol)throw new Error("Expecting pound symbol");if(e.readToken(),_=e.extractAccumulatedSequence(),w=this._tryReadSpacingAndNewlines(e),d===void 0&&m===void 0){this._parserContext.log.addMessageForTokenSequence(v.ReferenceHashSyntax,"The hash character must be preceded by a package name or import path",_,r);return}}var E=[];for(c=!1;!c;)switch(e.peekTokenKind()){case u.Period:case u.LeftParenthesis:case u.AsciiWord:case u.Colon:case u.LeftSquareBracket:case u.DoubleQuote:var O=E.length>0,$=this._parseMemberReference(e,O,t,r);if(!$)return;E.push($);break;default:c=!0}if(d===void 0&&m===void 0&&E.length===0){this._parserContext.log.addMessageForTokenSequence(v.MissingReference,"Expecting a declaration reference",t,r);return}return new Wn({parsed:!0,configuration:this._configuration,packageNameExcerpt:d,importPathExcerpt:m,importHashExcerpt:_,spacingAfterImportHashExcerpt:w,memberReferences:E})},n.prototype._parseMemberReference=function(e,t,r,i){var o={parsed:!0,configuration:this._configuration};if(t){if(e.peekTokenKind()!==u.Period){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingDot,"Expecting a period before the next component of a declaration reference",r,i);return}e.readToken(),o.dotExcerpt=e.extractAccumulatedSequence(),o.spacingAfterDotExcerpt=this._tryReadSpacingAndNewlines(e)}if(e.peekTokenKind()===u.LeftParenthesis&&(e.readToken(),o.leftParenthesisExcerpt=e.extractAccumulatedSequence(),o.spacingAfterLeftParenthesisExcerpt=this._tryReadSpacingAndNewlines(e)),e.peekTokenKind()===u.LeftSquareBracket){if(o.memberSymbol=this._parseMemberSymbol(e,i),!o.memberSymbol)return}else if(o.memberIdentifier=this._parseMemberIdentifier(e,r,i),!o.memberIdentifier)return;if(o.spacingAfterMemberExcerpt=this._tryReadSpacingAndNewlines(e),e.peekTokenKind()===u.Colon){if(e.readToken(),o.colonExcerpt=e.extractAccumulatedSequence(),o.spacingAfterColonExcerpt=this._tryReadSpacingAndNewlines(e),!o.leftParenthesisExcerpt){this._parserContext.log.addMessageForTokenSequence(v.ReferenceSelectorMissingParens,"Syntax error in declaration reference: the member selector must be enclosed in parentheses",o.colonExcerpt,i);return}if(o.selector=this._parseMemberSelector(e,o.colonExcerpt,i),!o.selector)return;o.spacingAfterSelectorExcerpt=this._tryReadSpacingAndNewlines(e)}else if(o.leftParenthesisExcerpt){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingColon,"Expecting a colon after the identifier because the expression is in parentheses",o.leftParenthesisExcerpt,i);return}if(o.leftParenthesisExcerpt){if(e.peekTokenKind()!==u.RightParenthesis){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingRightParen,"Expecting a matching right parenthesis",o.leftParenthesisExcerpt,i);return}e.readToken(),o.rightParenthesisExcerpt=e.extractAccumulatedSequence(),o.spacingAfterRightParenthesisExcerpt=this._tryReadSpacingAndNewlines(e)}return new er(o)},n.prototype._parseMemberSymbol=function(e,t){if(e.peekTokenKind()!==u.LeftSquareBracket)throw new Error('Expecting "["');e.readToken();var r=e.extractAccumulatedSequence(),i=this._tryReadSpacingAndNewlines(e),o=this._parseDeclarationReference(e,r,t);if(!o){this._parserContext.log.addMessageForTokenSequence(v.ReferenceSymbolSyntax,"Missing declaration reference in symbol reference",r,t);return}if(e.peekTokenKind()!==u.RightSquareBracket){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingRightBracket,"Missing closing square bracket for symbol reference",r,t);return}e.readToken();var a=e.extractAccumulatedSequence();return new nr({parsed:!0,configuration:this._configuration,leftBracketExcerpt:r,spacingAfterLeftBracketExcerpt:i,symbolReference:o,rightBracketExcerpt:a})},n.prototype._parseMemberIdentifier=function(e,t,r){var i=void 0,o=void 0;if(e.peekTokenKind()===u.DoubleQuote){for(e.readToken(),i=e.extractAccumulatedSequence();e.peekTokenKind()!==u.DoubleQuote;){if(e.peekTokenKind()===u.EndOfInput){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingQuote,"Unexpected end of input inside quoted member identifier",i,r);return}e.readToken()}if(e.isAccumulatedSequenceEmpty()){this._parserContext.log.addMessageForTokenSequence(v.ReferenceEmptyIdentifier,"The quoted identifier cannot be empty",i,r);return}var a=e.extractAccumulatedSequence();return e.readToken(),o=e.extractAccumulatedSequence(),new mn({parsed:!0,configuration:this._configuration,leftQuoteExcerpt:i,identifierExcerpt:a,rightQuoteExcerpt:o})}else{for(var l=!1;!l;)switch(e.peekTokenKind()){case u.AsciiWord:case u.DollarSign:e.readToken();break;default:l=!0;break}if(e.isAccumulatedSequenceEmpty()){this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingIdentifier,"Syntax error in declaration reference: expecting a member identifier",t,r);return}var a=e.extractAccumulatedSequence(),c=a.toString(),d=re.explainIfInvalidUnquotedMemberIdentifier(c);if(d){this._parserContext.log.addMessageForTokenSequence(v.ReferenceUnquotedIdentifier,d,a,r);return}return new mn({parsed:!0,configuration:this._configuration,leftQuoteExcerpt:i,identifierExcerpt:a,rightQuoteExcerpt:o})}},n.prototype._parseMemberSelector=function(e,t,r){e.peekTokenKind()!==u.AsciiWord&&this._parserContext.log.addMessageForTokenSequence(v.ReferenceMissingLabel,"Expecting a selector label after the colon",t,r);var i=e.readToken().toString(),o=e.extractAccumulatedSequence(),a=new tr({parsed:!0,configuration:this._configuration,selectorExcerpt:o,selector:i});if(a.errorMessage){this._parserContext.log.addMessageForTokenSequence(v.ReferenceSelectorSyntax,a.errorMessage,o,r);return}return a},n.prototype._parseHtmlStartTag=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker(),r=e.readToken();if(r.kind!==u.LessThan)throw new Error('Expecting an HTML tag starting with "<"');var i=e.extractAccumulatedSequence(),o=this._parseHtmlName(e);if(_n(o))return this._backtrackAndCreateErrorForFailure(e,t,"Invalid HTML element: ",o);for(var a=this._tryReadSpacingAndNewlines(e),l=[];e.peekTokenKind()===u.AsciiWord;){var c=this._parseHtmlAttribute(e);if(_n(c))return this._backtrackAndCreateErrorForFailure(e,t,"The HTML element has an invalid attribute: ",c);l.push(c)}e.assertAccumulatedSequenceIsEmpty();var d=e.createMarker(),m=!1;if(e.peekTokenKind()===u.Slash&&(e.readToken(),m=!0),e.peekTokenKind()!==u.GreaterThan){var _=this._createFailureForTokensSince(e,v.HtmlTagMissingGreaterThan,'Expecting an attribute or ">" or "/>"',d);return this._backtrackAndCreateErrorForFailure(e,t,"The HTML tag has invalid syntax: ",_)}e.readToken();var w=e.extractAccumulatedSequence();return new Xn({parsed:!0,configuration:this._configuration,openingDelimiterExcerpt:i,nameExcerpt:o,spacingAfterNameExcerpt:a,htmlAttributes:l,selfClosingTag:m,closingDelimiterExcerpt:w})},n.prototype._parseHtmlAttribute=function(e){e.assertAccumulatedSequenceIsEmpty();var t=this._parseHtmlName(e);if(_n(t))return t;var r=this._tryReadSpacingAndNewlines(e);if(e.peekTokenKind()!==u.Equals)return this._createFailureForToken(e,v.HtmlTagMissingEquals,'Expecting "=" after HTML attribute name');e.readToken();var i=e.extractAccumulatedSequence(),o=this._tryReadSpacingAndNewlines(e),a=this._parseHtmlString(e);if(_n(a))return a;var l=e.extractAccumulatedSequence(),c=this._tryReadSpacingAndNewlines(e);return new Jn({parsed:!0,configuration:this._configuration,nameExcerpt:t,spacingAfterNameExcerpt:r,equalsExcerpt:i,spacingAfterEqualsExcerpt:o,valueExcerpt:l,spacingAfterValueExcerpt:c})},n.prototype._parseHtmlString=function(e){var t=e.createMarker(),r=e.peekTokenKind();if(r!==u.DoubleQuote&&r!==u.SingleQuote)return this._createFailureForToken(e,v.HtmlTagMissingString,"Expecting an HTML string starting with a single-quote or double-quote character");e.readToken();for(var i="";;){var o=e.peekTokenKind();if(o===r){e.readToken();break}if(o===u.EndOfInput||o===u.Newline)return this._createFailureForToken(e,v.HtmlStringMissingQuote,"The HTML string is missing its closing quote",t);i+=e.readToken().toString()}return e.peekTokenKind()===u.AsciiWord?this._createFailureForToken(e,v.TextAfterHtmlString,"The next character after a closing quote must be spacing or punctuation"):i},n.prototype._parseHtmlEndTag=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker(),r=e.peekToken();if(r.kind!==u.LessThan)return this._backtrackAndCreateError(e,t,v.MissingHtmlEndTag,'Expecting an HTML tag starting with "" for the HTML tag');return this._backtrackAndCreateErrorForFailure(e,t,"",c)}e.readToken();var d=e.extractAccumulatedSequence();return new Qn({parsed:!0,configuration:this._configuration,openingDelimiterExcerpt:o,nameExcerpt:a,spacingAfterNameExcerpt:l,closingDelimiterExcerpt:d})},n.prototype._parseHtmlName=function(e){var t=e.createMarker();if(e.peekTokenKind()===u.Spacing)return this._createFailureForTokensSince(e,v.MalformedHtmlName,"A space is not allowed here",t);for(var r=!1;!r;)switch(e.peekTokenKind()){case u.Hyphen:case u.Period:case u.AsciiWord:e.readToken();break;default:r=!0;break}var i=e.tryExtractAccumulatedSequence();if(!i)return this._createFailureForToken(e,v.MalformedHtmlName,"Expecting an HTML name");var o=i.toString(),a=re.explainIfInvalidHtmlName(o);return a?this._createFailureForTokensSince(e,v.MalformedHtmlName,a,t):this._configuration.validation.reportUnsupportedHtmlElements&&!this._configuration.isHtmlElementSupported(o)?this._createFailureForToken(e,v.UnsupportedHtmlElementName,"The HTML element name ".concat(JSON.stringify(o)," is not defined by your TSDoc configuration"),t):i},n.prototype._parseFencedCode=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker(),r=t+2;switch(e.peekPreviousTokenKind()){case u.Newline:case u.EndOfInput:break;default:return this._backtrackAndCreateErrorRange(e,t,r,v.CodeFenceOpeningIndent,"The opening backtick for a code fence must appear at the start of the line")}var i="";if(i+=e.readToken(),i+=e.readToken(),i+=e.readToken(),i!=="```")throw new Error("Expecting three backticks");for(var o=e.extractAccumulatedSequence();e.peekTokenKind()===u.Spacing;)e.readToken();for(var a=e.tryExtractAccumulatedSequence(),l=!1,c=void 0;!l;)switch(e.peekTokenKind()){case u.Spacing:case u.Newline:c===void 0&&(c=e.createMarker()),e.peekTokenKind()===u.Newline&&(l=!0),e.readToken();break;case u.Backtick:var d=this._createFailureForToken(e,v.CodeFenceSpecifierSyntax,"The language specifier cannot contain backtick characters");return this._backtrackAndCreateErrorRangeForFailure(e,t,r,"Error parsing code fence: ",d);case u.EndOfInput:var m=this._createFailureForToken(e,v.CodeFenceMissingDelimiter,"Missing closing delimiter");return this._backtrackAndCreateErrorRangeForFailure(e,t,r,"Error parsing code fence: ",m);default:c=void 0,e.readToken();break}var _=e.extractAccumulatedSequence(),w=_.getNewSequence(_.startIndex,c),b=_.getNewSequence(c,_.endIndex),S=-1,k=-1;l=!1;for(var E;!l;)switch(e.peekTokenKind()){case u.EndOfInput:var m=this._createFailureForToken(e,v.CodeFenceMissingDelimiter,"Missing closing delimiter");return this._backtrackAndCreateErrorRangeForFailure(e,t,r,"Error parsing code fence: ",m);case u.Newline:for(E=e.readToken(),S=e.createMarker();e.peekTokenKind()===u.Spacing;)E=e.readToken();if(e.peekTokenKind()!==u.Backtick||(k=e.createMarker(),e.readToken(),e.peekTokenKind()!==u.Backtick)||(e.readToken(),e.peekTokenKind()!==u.Backtick))break;e.readToken(),l=!0;break;default:e.readToken();break}E.kind!==u.Newline&&this._parserContext.log.addMessageForTextRange(v.CodeFenceClosingIndent,"The closing delimiter for a code fence must not be indented",E.range);var O=e.extractAccumulatedSequence(),$=O.getNewSequence(O.startIndex,S),K=O.getNewSequence(S,k),D=O.getNewSequence(k,O.endIndex);for(l=!1;!l;)switch(e.peekTokenKind()){case u.Spacing:e.readToken();break;case u.Newline:l=!0,e.readToken();break;case u.EndOfInput:l=!0;break;default:this._parserContext.log.addMessageForTextRange(v.CodeFenceClosingSyntax,"Unexpected characters after closing delimiter for code fence",e.peekToken().range),l=!0;break}var H=e.tryExtractAccumulatedSequence();return new zn({parsed:!0,configuration:this._configuration,openingFenceExcerpt:o,spacingAfterOpeningFenceExcerpt:a,languageExcerpt:w,spacingAfterLanguageExcerpt:b,codeExcerpt:$,spacingBeforeClosingFenceExcerpt:K,closingFenceExcerpt:D,spacingAfterClosingFenceExcerpt:H})},n.prototype._parseCodeSpan=function(e){e.assertAccumulatedSequenceIsEmpty();var t=e.createMarker();if(e.peekTokenKind()!==u.Backtick)throw new Error('Expecting a code span starting with a backtick character "`"');e.readToken();for(var r=e.extractAccumulatedSequence(),i=void 0,o=void 0;;){var a=e.peekTokenKind();if(a===u.Backtick){if(e.isAccumulatedSequenceEmpty())return this._backtrackAndCreateErrorRange(e,t,t+1,v.CodeSpanEmpty,"A code span must contain at least one character between the backticks");i=e.extractAccumulatedSequence(),e.readToken(),o=e.extractAccumulatedSequence();break}if(a===u.EndOfInput||a===u.Newline)return this._backtrackAndCreateError(e,t,v.CodeSpanMissingDelimiter,"The code span is missing its closing backtick");e.readToken()}return new Un({parsed:!0,configuration:this._configuration,openingDelimiterExcerpt:r,codeExcerpt:i,closingDelimiterExcerpt:o})},n.prototype._tryReadSpacingAndNewlines=function(e){var t=!1;do switch(e.peekTokenKind()){case u.Spacing:case u.Newline:e.readToken();break;default:t=!0;break}while(!t);return e.tryExtractAccumulatedSequence()},n.prototype._createError=function(e,t,r){e.readToken();var i=e.extractAccumulatedSequence(),o=new Dt({parsed:!0,configuration:this._configuration,textExcerpt:i,messageId:t,errorMessage:r,errorLocation:i});return this._parserContext.log.addMessageForDocErrorText(o),o},n.prototype._backtrackAndCreateError=function(e,t,r,i){return e.backtrackToMarker(t),this._createError(e,r,i)},n.prototype._backtrackAndCreateErrorRange=function(e,t,r,i,o){for(e.backtrackToMarker(t);e.createMarker()!==r;)e.readToken();e.peekTokenKind()!==u.EndOfInput&&e.readToken();var a=e.extractAccumulatedSequence(),l=new Dt({parsed:!0,configuration:this._configuration,textExcerpt:a,messageId:i,errorMessage:o,errorLocation:a});return this._parserContext.log.addMessageForDocErrorText(l),l},n.prototype._backtrackAndCreateErrorForFailure=function(e,t,r,i){e.backtrackToMarker(t),e.readToken();var o=e.extractAccumulatedSequence(),a=new Dt({parsed:!0,configuration:this._configuration,textExcerpt:o,messageId:i.failureMessageId,errorMessage:r+i.failureMessage,errorLocation:i.failureLocation});return this._parserContext.log.addMessageForDocErrorText(a),a},n.prototype._backtrackAndCreateErrorRangeForFailure=function(e,t,r,i,o){for(e.backtrackToMarker(t);e.createMarker()!==r;)e.readToken();e.peekTokenKind()!==u.EndOfInput&&e.readToken();var a=e.extractAccumulatedSequence(),l=new Dt({parsed:!0,configuration:this._configuration,textExcerpt:a,messageId:o.failureMessageId,errorMessage:i+o.failureMessage,errorLocation:o.failureLocation});return this._parserContext.log.addMessageForDocErrorText(l),l},n.prototype._createFailureForToken=function(e,t,r,i){i||(i=e.createMarker());var o=new yt({parserContext:this._parserContext,startIndex:i,endIndex:i+1});return{failureMessageId:t,failureMessage:r,failureLocation:o}},n.prototype._createFailureForTokensSince=function(e,t,r,i){var o=e.createMarker();if(osetTimeout(e,n))}function ao(){return/(<%(?:-|_)?\s*[*~]{0,1})\+((?:.|\s)*?%>)/g}function rs(n,e){e=(0,Te.normalizePath)(e);let t=n.vault.getAbstractFileByPath(e);if(!t)throw new P(`Folder "${e}" doesn't exist`);if(!(t instanceof Te.TFolder))throw new P(`${e} is a file, not a folder`);return t}function Nt(n,e){e=(0,Te.normalizePath)(e);let t=n.vault.getAbstractFileByPath(e);if(!t)throw new P(`File "${e}" doesn't exist`);if(!(t instanceof Te.TFile))throw new P(`${e} is a folder, not a file`);return t}function Je(n,e){let t=rs(n,e),r=[];return Te.Vault.recurseChildren(t,i=>{i instanceof Te.TFile&&r.push(i)}),r.sort((i,o)=>i.path.localeCompare(o.path)),r}async function so(n,e){return await Promise.all(e.map(async r=>{let i=await n.vault.cachedRead(r);return is(r,i)}))}function is(n,e){let r=new Kr().parseString(e),i=new Rr(n);return i.description=os(r.docComment.summarySection),i.returns=as(r.docComment.returnsBlock),i.arguments=ss(r.docComment.params),i}function os(n){try{return n.nodes.map(t=>t.getChildNodes().filter(r=>r instanceof Ve).map(r=>r.text).join(` `)).join(` -`)}catch{console.error("Failed to parse summary section")}}function as(n){if(!n)return"";try{return n.content.nodes[0].getChildNodes()[0].text.trim()}catch{return""}}function ss(n){try{return n.blocks.map(r=>{let i=r.parameterName,o=r.content.getChildNodes()[0].getChildNodes().filter(a=>a instanceof Ve).map(a=>a.text).join(" ");return new Yr(i,o)})}catch{return[]}}function Mt(n,e,t){if(t<0||t===n.length)return;let r=n[e];n[e]=n[t],n[t]=r}function Xt(n){return n.workspace.activeEditor?.file??n.workspace.getActiveFile()}function co(n){let e=n.lastIndexOf("/");return e!==-1?n.slice(0,e):""}function xn(n){return n!==null&&typeof n=="object"}function lo(n){let e=n.toString(),t=e.indexOf("(");return e.substring(t+1,e.indexOf(")")).replace(/ /g,"").split(",")}function Ur(n,e,t){let r=n instanceof HTMLOListElement?"li":"p",i=n.createEl(r),o=n.createEl("b",{text:e});return i.appendChild(o),i.appendChild(document.createTextNode(`: ${t}`)),i}function pr(n,e){if(Object.keys(e).length!==0){for(let t in e)if(e.hasOwnProperty(t))if(n.hasOwnProperty(t)){let r=n[t],i=e[t];if(Array.isArray(r)||Array.isArray(i)){let o=Array.isArray(r)?r:[r],a=Array.isArray(i)?i:[i];n[t]=o.concat(a).unique()}else xn(r)&&xn(i)?pr(r,i):i!=null&&i!==""&&(n[t]=i)}else n[t]=e[t]}}function yn(n){let e={},t=(0,Te.getFrontMatterInfo)(n);return t.frontmatter&&(e=(0,Te.parseYaml)(t.frontmatter)),{frontmatter:e,content:n.slice(t.contentStart)}}var Oo=X(require("obsidian"));var No=X(require("obsidian"));var ie="top",ue="bottom",ce="right",ae="left",ur="auto",jt=[ie,ue,ce,ae],lt="start",Ot="end",po="clippingParents",fr="viewport",Zt="popper",uo="reference",Gr=jt.reduce(function(n,e){return n.concat([e+"-"+lt,e+"-"+Ot])},[]),dr=[].concat(jt,[ur]).reduce(function(n,e){return n.concat([e,e+"-"+lt,e+"-"+Ot])},[]),cs="beforeRead",ls="read",ps="afterRead",us="beforeMain",fs="main",ds="afterMain",ms="beforeWrite",gs="write",hs="afterWrite",fo=[cs,ls,ps,us,fs,ds,ms,gs,hs];function me(n){return n?(n.nodeName||"").toLowerCase():null}function Z(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function Me(n){var e=Z(n).Element;return n instanceof e||n instanceof Element}function fe(n){var e=Z(n).HTMLElement;return n instanceof e||n instanceof HTMLElement}function en(n){if(typeof ShadowRoot=="undefined")return!1;var e=Z(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function As(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var r=e.styles[t]||{},i=e.attributes[t]||{},o=e.elements[t];!fe(o)||!me(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(a){var l=i[a];l===!1?o.removeAttribute(a):o.setAttribute(a,l===!0?"":l)}))})}function _s(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(r){var i=e.elements[r],o=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:t[r]),l=a.reduce(function(c,d){return c[d]="",c},{});!fe(i)||!me(i)||(Object.assign(i.style,l),Object.keys(o).forEach(function(c){i.removeAttribute(c)}))})}}var mo={name:"applyStyles",enabled:!0,phase:"write",fn:As,effect:_s,requires:["computeStyles"]};function ge(n){return n.split("-")[0]}var qe=Math.max,Bt=Math.min,pt=Math.round;function tn(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function jn(){return!/^((?!chrome|android).)*safari/i.test(tn())}function Oe(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var r=n.getBoundingClientRect(),i=1,o=1;e&&fe(n)&&(i=n.offsetWidth>0&&pt(r.width)/n.offsetWidth||1,o=n.offsetHeight>0&&pt(r.height)/n.offsetHeight||1);var a=Me(n)?Z(n):window,l=a.visualViewport,c=!jn()&&t,d=(r.left+(c&&l?l.offsetLeft:0))/i,m=(r.top+(c&&l?l.offsetTop:0))/o,_=r.width/i,w=r.height/o;return{width:_,height:w,top:m,right:d+_,bottom:m+w,left:d,x:d,y:m}}function It(n){var e=Oe(n),t=n.offsetWidth,r=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:r}}function vn(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&en(t)){var r=e;do{if(r&&n.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function we(n){return Z(n).getComputedStyle(n)}function Wr(n){return["table","td","th"].indexOf(me(n))>=0}function Ae(n){return((Me(n)?n.ownerDocument:n.document)||window.document).documentElement}function ut(n){return me(n)==="html"?n:n.assignedSlot||n.parentNode||(en(n)?n.host:null)||Ae(n)}function go(n){return!fe(n)||we(n).position==="fixed"?null:n.offsetParent}function xs(n){var e=/firefox/i.test(tn()),t=/Trident/i.test(tn());if(t&&fe(n)){var r=we(n);if(r.position==="fixed")return null}var i=ut(n);for(en(i)&&(i=i.host);fe(i)&&["html","body"].indexOf(me(i))<0;){var o=we(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||e&&o.willChange==="filter"||e&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function Le(n){for(var e=Z(n),t=go(n);t&&Wr(t)&&we(t).position==="static";)t=go(t);return t&&(me(t)==="html"||me(t)==="body"&&we(t).position==="static")?e:t||xs(n)||e}function Ft(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function qt(n,e,t){return qe(n,Bt(e,t))}function ho(n,e,t){var r=qt(n,e,t);return r>t?t:r}function wn(){return{top:0,right:0,bottom:0,left:0}}function bn(n){return Object.assign({},wn(),n)}function En(n,e){return e.reduce(function(t,r){return t[r]=n,t},{})}var ys=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,bn(typeof e!="number"?e:En(e,jt))};function js(n){var e,t=n.state,r=n.name,i=n.options,o=t.elements.arrow,a=t.modifiersData.popperOffsets,l=ge(t.placement),c=Ft(l),d=[ae,ce].indexOf(l)>=0,m=d?"height":"width";if(!(!o||!a)){var _=ys(i.padding,t),w=It(o),b=c==="y"?ie:ae,S=c==="y"?ue:ce,k=t.rects.reference[m]+t.rects.reference[c]-a[c]-t.rects.popper[m],E=a[c]-t.rects.reference[c],O=Le(o),$=O?c==="y"?O.clientHeight||0:O.clientWidth||0:0,K=k/2-E/2,D=_[b],H=$-w[m]-_[S],F=$/2-w[m]/2+K,J=qt(D,F,H),te=c;t.modifiersData[r]=(e={},e[te]=J,e.centerOffset=J-F,e)}}function vs(n){var e=n.state,t=n.options,r=t.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||!vn(e.elements.popper,i)||(e.elements.arrow=i))}var Ao={name:"arrow",enabled:!0,phase:"main",fn:js,effect:vs,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Be(n){return n.split("-")[1]}var ws={top:"auto",right:"auto",bottom:"auto",left:"auto"};function bs(n,e){var t=n.x,r=n.y,i=e.devicePixelRatio||1;return{x:pt(t*i)/i||0,y:pt(r*i)/i||0}}function _o(n){var e,t=n.popper,r=n.popperRect,i=n.placement,o=n.variation,a=n.offsets,l=n.position,c=n.gpuAcceleration,d=n.adaptive,m=n.roundOffsets,_=n.isFixed,w=a.x,b=w===void 0?0:w,S=a.y,k=S===void 0?0:S,E=typeof m=="function"?m({x:b,y:k}):{x:b,y:k};b=E.x,k=E.y;var O=a.hasOwnProperty("x"),$=a.hasOwnProperty("y"),K=ae,D=ie,H=window;if(d){var F=Le(t),J="clientHeight",te="clientWidth";if(F===Z(t)&&(F=Ae(t),we(F).position!=="static"&&l==="absolute"&&(J="scrollHeight",te="scrollWidth")),F=F,i===ie||(i===ae||i===ce)&&o===Ot){D=ue;var ne=_&&F===H&&H.visualViewport?H.visualViewport.height:F[J];k-=ne-r.height,k*=c?1:-1}if(i===ae||(i===ie||i===ue)&&o===Ot){K=ce;var Q=_&&F===H&&H.visualViewport?H.visualViewport.width:F[te];b-=Q-r.width,b*=c?1:-1}}var h=Object.assign({position:l},d&&ws),C=m===!0?bs({x:b,y:k},Z(t)):{x:b,y:k};if(b=C.x,k=C.y,c){var f;return Object.assign({},h,(f={},f[D]=$?"0":"",f[K]=O?"0":"",f.transform=(H.devicePixelRatio||1)<=1?"translate("+b+"px, "+k+"px)":"translate3d("+b+"px, "+k+"px, 0)",f))}return Object.assign({},h,(e={},e[D]=$?k+"px":"",e[K]=O?b+"px":"",e.transform="",e))}function Es(n){var e=n.state,t=n.options,r=t.gpuAcceleration,i=r===void 0?!0:r,o=t.adaptive,a=o===void 0?!0:o,l=t.roundOffsets,c=l===void 0?!0:l,d={placement:ge(e.placement),variation:Be(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,_o(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,_o(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var xo={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Es,data:{}};var mr={passive:!0};function Ts(n){var e=n.state,t=n.instance,r=n.options,i=r.scroll,o=i===void 0?!0:i,a=r.resize,l=a===void 0?!0:a,c=Z(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&d.forEach(function(m){m.addEventListener("scroll",t.update,mr)}),l&&c.addEventListener("resize",t.update,mr),function(){o&&d.forEach(function(m){m.removeEventListener("scroll",t.update,mr)}),l&&c.removeEventListener("resize",t.update,mr)}}var yo={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ts,data:{}};var ks={left:"right",right:"left",bottom:"top",top:"bottom"};function nn(n){return n.replace(/left|right|bottom|top/g,function(e){return ks[e]})}var Ss={start:"end",end:"start"};function gr(n){return n.replace(/start|end/g,function(e){return Ss[e]})}function Lt(n){var e=Z(n),t=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:t,scrollTop:r}}function Ht(n){return Oe(Ae(n)).left+Lt(n).scrollLeft}function Vr(n,e){var t=Z(n),r=Ae(n),i=t.visualViewport,o=r.clientWidth,a=r.clientHeight,l=0,c=0;if(i){o=i.width,a=i.height;var d=jn();(d||!d&&e==="fixed")&&(l=i.offsetLeft,c=i.offsetTop)}return{width:o,height:a,x:l+Ht(n),y:c}}function zr(n){var e,t=Ae(n),r=Lt(n),i=(e=n.ownerDocument)==null?void 0:e.body,o=qe(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=qe(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),l=-r.scrollLeft+Ht(n),c=-r.scrollTop;return we(i||t).direction==="rtl"&&(l+=qe(t.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function $t(n){var e=we(n),t=e.overflow,r=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+i+r)}function hr(n){return["html","body","#document"].indexOf(me(n))>=0?n.ownerDocument.body:fe(n)&&$t(n)?n:hr(ut(n))}function vt(n,e){var t;e===void 0&&(e=[]);var r=hr(n),i=r===((t=n.ownerDocument)==null?void 0:t.body),o=Z(r),a=i?[o].concat(o.visualViewport||[],$t(r)?r:[]):r,l=e.concat(a);return i?l:l.concat(vt(ut(a)))}function rn(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function Cs(n,e){var t=Oe(n,!1,e==="fixed");return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function jo(n,e,t){return e===fr?rn(Vr(n,t)):Me(e)?Cs(e,t):rn(zr(Ae(n)))}function Ds(n){var e=vt(ut(n)),t=["absolute","fixed"].indexOf(we(n).position)>=0,r=t&&fe(n)?Le(n):n;return Me(r)?e.filter(function(i){return Me(i)&&vn(i,r)&&me(i)!=="body"}):[]}function Jr(n,e,t,r){var i=e==="clippingParents"?Ds(n):[].concat(e),o=[].concat(i,[t]),a=o[0],l=o.reduce(function(c,d){var m=jo(n,d,r);return c.top=qe(m.top,c.top),c.right=Bt(m.right,c.right),c.bottom=Bt(m.bottom,c.bottom),c.left=qe(m.left,c.left),c},jo(n,a,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Tn(n){var e=n.reference,t=n.element,r=n.placement,i=r?ge(r):null,o=r?Be(r):null,a=e.x+e.width/2-t.width/2,l=e.y+e.height/2-t.height/2,c;switch(i){case ie:c={x:a,y:e.y-t.height};break;case ue:c={x:a,y:e.y+e.height};break;case ce:c={x:e.x+e.width,y:l};break;case ae:c={x:e.x-t.width,y:l};break;default:c={x:e.x,y:e.y}}var d=i?Ft(i):null;if(d!=null){var m=d==="y"?"height":"width";switch(o){case lt:c[d]=c[d]-(e[m]/2-t[m]/2);break;case Ot:c[d]=c[d]+(e[m]/2-t[m]/2);break;default:}}return c}function He(n,e){e===void 0&&(e={});var t=e,r=t.placement,i=r===void 0?n.placement:r,o=t.strategy,a=o===void 0?n.strategy:o,l=t.boundary,c=l===void 0?po:l,d=t.rootBoundary,m=d===void 0?fr:d,_=t.elementContext,w=_===void 0?Zt:_,b=t.altBoundary,S=b===void 0?!1:b,k=t.padding,E=k===void 0?0:k,O=bn(typeof E!="number"?E:En(E,jt)),$=w===Zt?uo:Zt,K=n.rects.popper,D=n.elements[S?$:w],H=Jr(Me(D)?D:D.contextElement||Ae(n.elements.popper),c,m,a),F=Oe(n.elements.reference),J=Tn({reference:F,element:K,strategy:"absolute",placement:i}),te=rn(Object.assign({},K,J)),ne=w===Zt?te:F,Q={top:H.top-ne.top+O.top,bottom:ne.bottom-H.bottom+O.bottom,left:H.left-ne.left+O.left,right:ne.right-H.right+O.right},h=n.modifiersData.offset;if(w===Zt&&h){var C=h[i];Object.keys(Q).forEach(function(f){var Ie=[ce,ue].indexOf(f)>=0?1:-1,Ee=[ie,ue].indexOf(f)>=0?"y":"x";Q[f]+=C[Ee]*Ie})}return Q}function Qr(n,e){e===void 0&&(e={});var t=e,r=t.placement,i=t.boundary,o=t.rootBoundary,a=t.padding,l=t.flipVariations,c=t.allowedAutoPlacements,d=c===void 0?dr:c,m=Be(r),_=m?l?Gr:Gr.filter(function(S){return Be(S)===m}):jt,w=_.filter(function(S){return d.indexOf(S)>=0});w.length===0&&(w=_);var b=w.reduce(function(S,k){return S[k]=He(n,{placement:k,boundary:i,rootBoundary:o,padding:a})[ge(k)],S},{});return Object.keys(b).sort(function(S,k){return b[S]-b[k]})}function Ps(n){if(ge(n)===ur)return[];var e=nn(n);return[gr(n),e,gr(e)]}function Ns(n){var e=n.state,t=n.options,r=n.name;if(!e.modifiersData[r]._skip){for(var i=t.mainAxis,o=i===void 0?!0:i,a=t.altAxis,l=a===void 0?!0:a,c=t.fallbackPlacements,d=t.padding,m=t.boundary,_=t.rootBoundary,w=t.altBoundary,b=t.flipVariations,S=b===void 0?!0:b,k=t.allowedAutoPlacements,E=e.options.placement,O=ge(E),$=O===E,K=c||($||!S?[nn(E)]:Ps(E)),D=[E].concat(K).reduce(function(B,N){return B.concat(ge(N)===ur?Qr(e,{placement:N,boundary:m,rootBoundary:_,padding:d,flipVariations:S,allowedAutoPlacements:k}):N)},[]),H=e.rects.reference,F=e.rects.popper,J=new Map,te=!0,ne=D[0],Q=0;Q=0,Ee=Ie?"width":"height",_e=He(e,{placement:h,boundary:m,rootBoundary:_,altBoundary:w,padding:d}),xe=Ie?f?ce:ae:f?ue:ie;H[Ee]>F[Ee]&&(xe=nn(xe));var Ye=nn(xe),ke=[];if(o&&ke.push(_e[C]<=0),l&&ke.push(_e[xe]<=0,_e[Ye]<=0),ke.every(function(B){return B})){ne=h,te=!1;break}J.set(h,ke)}if(te)for(var Rt=S?3:1,Ue=function(N){var q=D.find(function(ee){var et=J.get(ee);if(et)return et.slice(0,N).every(function(W){return W})});if(q)return ne=q,"break"},Ze=Rt;Ze>0;Ze--){var ye=Ue(Ze);if(ye==="break")break}e.placement!==ne&&(e.modifiersData[r]._skip=!0,e.placement=ne,e.reset=!0)}}var vo={name:"flip",enabled:!0,phase:"main",fn:Ns,requiresIfExists:["offset"],data:{_skip:!1}};function wo(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function bo(n){return[ie,ce,ue,ae].some(function(e){return n[e]>=0})}function Ms(n){var e=n.state,t=n.name,r=e.rects.reference,i=e.rects.popper,o=e.modifiersData.preventOverflow,a=He(e,{elementContext:"reference"}),l=He(e,{altBoundary:!0}),c=wo(a,r),d=wo(l,i,o),m=bo(c),_=bo(d);e.modifiersData[t]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:m,hasPopperEscaped:_},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":m,"data-popper-escaped":_})}var Eo={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Ms};function Os(n,e,t){var r=ge(n),i=[ae,ie].indexOf(r)>=0?-1:1,o=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,a=o[0],l=o[1];return a=a||0,l=(l||0)*i,[ae,ce].indexOf(r)>=0?{x:l,y:a}:{x:a,y:l}}function Bs(n){var e=n.state,t=n.options,r=n.name,i=t.offset,o=i===void 0?[0,0]:i,a=dr.reduce(function(m,_){return m[_]=Os(_,e.rects,o),m},{}),l=a[e.placement],c=l.x,d=l.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=d),e.modifiersData[r]=a}var To={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Bs};function Is(n){var e=n.state,t=n.name;e.modifiersData[t]=Tn({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var ko={name:"popperOffsets",enabled:!0,phase:"read",fn:Is,data:{}};function Xr(n){return n==="x"?"y":"x"}function Fs(n){var e=n.state,t=n.options,r=n.name,i=t.mainAxis,o=i===void 0?!0:i,a=t.altAxis,l=a===void 0?!1:a,c=t.boundary,d=t.rootBoundary,m=t.altBoundary,_=t.padding,w=t.tether,b=w===void 0?!0:w,S=t.tetherOffset,k=S===void 0?0:S,E=He(e,{boundary:c,rootBoundary:d,padding:_,altBoundary:m}),O=ge(e.placement),$=Be(e.placement),K=!$,D=Ft(O),H=Xr(D),F=e.modifiersData.popperOffsets,J=e.rects.reference,te=e.rects.popper,ne=typeof k=="function"?k(Object.assign({},e.rects,{placement:e.placement})):k,Q=typeof ne=="number"?{mainAxis:ne,altAxis:ne}:Object.assign({mainAxis:0,altAxis:0},ne),h=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,C={x:0,y:0};if(!!F){if(o){var f,Ie=D==="y"?ie:ae,Ee=D==="y"?ue:ce,_e=D==="y"?"height":"width",xe=F[D],Ye=xe+E[Ie],ke=xe-E[Ee],Rt=b?-te[_e]/2:0,Ue=$===lt?J[_e]:te[_e],Ze=$===lt?-te[_e]:-J[_e],ye=e.elements.arrow,B=b&&ye?It(ye):{width:0,height:0},N=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:wn(),q=N[Ie],ee=N[Ee],et=qt(0,J[_e],B[_e]),W=K?J[_e]/2-Rt-et-q-Q.mainAxis:Ue-et-q-Q.mainAxis,je=K?-J[_e]/2+Rt+et+ee+Q.mainAxis:Ze+et+ee+Q.mainAxis,Tt=e.elements.arrow&&Le(e.elements.arrow),Nn=Tt?D==="y"?Tt.clientTop||0:Tt.clientLeft||0:0,tt=(f=h==null?void 0:h[D])!=null?f:0,nt=xe+W-tt-Nn,gt=xe+je-tt,kt=qt(b?Bt(Ye,nt):Ye,xe,b?qe(ke,gt):ke);F[D]=kt,C[D]=kt-xe}if(l){var Mn,On=D==="x"?ie:ae,Bn=D==="x"?ue:ce,rt=F[H],Yt=H==="y"?"height":"width",In=rt+E[On],Fn=rt-E[Bn],cn=[ie,ae].indexOf(O)!==-1,St=(Mn=h==null?void 0:h[H])!=null?Mn:0,qn=cn?In:rt-J[Yt]-te[Yt]-St+Q.altAxis,Ge=cn?rt+J[Yt]+te[Yt]-St-Q.altAxis:Fn,se=b&&cn?ho(qn,rt,Ge):qt(b?qn:In,rt,b?Ge:Fn);F[H]=se,C[H]=se-rt}e.modifiersData[r]=C}}var So={name:"preventOverflow",enabled:!0,phase:"main",fn:Fs,requiresIfExists:["offset"]};function Zr(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function ei(n){return n===Z(n)||!fe(n)?Lt(n):Zr(n)}function qs(n){var e=n.getBoundingClientRect(),t=pt(e.width)/n.offsetWidth||1,r=pt(e.height)/n.offsetHeight||1;return t!==1||r!==1}function ti(n,e,t){t===void 0&&(t=!1);var r=fe(e),i=fe(e)&&qs(e),o=Ae(e),a=Oe(n,i,t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!t)&&((me(e)!=="body"||$t(o))&&(l=ei(e)),fe(e)?(c=Oe(e,!0),c.x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Ht(o))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function Ls(n){var e=new Map,t=new Set,r=[];n.forEach(function(o){e.set(o.name,o)});function i(o){t.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(l){if(!t.has(l)){var c=e.get(l);c&&i(c)}}),r.push(o)}return n.forEach(function(o){t.has(o.name)||i(o)}),r}function ni(n){var e=Ls(n);return fo.reduce(function(t,r){return t.concat(e.filter(function(i){return i.phase===r}))},[])}function ri(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function ii(n){var e=n.reduce(function(t,r){var i=t[r.name];return t[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,t},{});return Object.keys(e).map(function(t){return e[t]})}var Co={placement:"bottom",modifiers:[],strategy:"absolute"};function Do(){for(var n=arguments.length,e=new Array(n),t=0;t(n%e+e)%e,Mo=class{constructor(e,t,r){this.owner=e,this.containerEl=t,t.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),t.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),r.register([],"ArrowUp",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),r.register([],"ArrowDown",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),r.register([],"Enter",i=>{if(!i.isComposing)return this.useSelectedItem(i),!1})}onSuggestionClick(e,t){e.preventDefault();let r=this.suggestions.indexOf(t);this.setSelectedItem(r,!1),this.useSelectedItem(e)}onSuggestionMouseover(e,t){let r=this.suggestions.indexOf(t);this.setSelectedItem(r,!1)}setSuggestions(e){this.containerEl.empty();let t=[];e.forEach(r=>{let i=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(r,i),t.push(i)}),this.values=e,this.suggestions=t,this.setSelectedItem(0,!1)}useSelectedItem(e){let t=this.values[this.selectedItem];t&&this.owner.selectSuggestion(t,e)}setSelectedItem(e,t){let r=$s(e,this.suggestions.length),i=this.suggestions[this.selectedItem],o=this.suggestions[r];i?.removeClass("is-selected"),o?.addClass("is-selected"),this.selectedItem=r,t&&o.scrollIntoView(!1)}},kn=class{constructor(e,t){this.app=e,this.inputEl=t,this.scope=new No.Scope,this.suggestEl=createDiv("suggestion-container");let r=this.suggestEl.createDiv("suggestion");this.suggest=new Mo(this,r,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",i=>{i.preventDefault()})}onInputChanged(){let e=this.inputEl.value,t=this.getSuggestions(e);if(!t){this.close();return}t.length>0?(this.suggest.setSuggestions(t),this.open(this.app.dom.appContainerEl,this.inputEl)):this.close()}open(e,t){this.app.keymap.pushScope(this.scope),e.appendChild(this.suggestEl),this.popper=oi(t,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:r,instance:i})=>{let o=`${r.rects.reference.width}px`;r.styles.popper.width!==o&&(r.styles.popper.width=o,i.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}};var $e;(function(t){t[t.TemplateFiles=0]="TemplateFiles",t[t.ScriptFiles=1]="ScriptFiles"})($e||($e={}));var on=class extends kn{constructor(e,t,r){super(t.app,e);this.inputEl=e;this.plugin=t;this.mode=r}get_folder(e){switch(e){case 0:return this.plugin.settings.templates_folder;case 1:return this.plugin.settings.user_scripts_folder}}get_error_msg(e){switch(e){case 0:return"Templates folder doesn't exist";case 1:return"User Scripts folder doesn't exist"}}getSuggestions(e){let t=Ce(()=>Je(this.plugin.app,this.get_folder(this.mode)),this.get_error_msg(this.mode));if(!t)return[];let r=[],i=e.toLowerCase();return t.forEach(o=>{o instanceof Oo.TFile&&o.extension==="md"&&o.path.toLowerCase().contains(i)&&r.push(o)}),r.slice(0,1e3)}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var Bo=X(require("obsidian"));var Sn=class extends kn{constructor(e,t){super(e,t)}getSuggestions(e){let t=this.app.vault.getAllLoadedFiles(),r=[],i=e.toLowerCase();return t.forEach(o=>{o instanceof Bo.TFolder&&o.path.toLowerCase().contains(i)&&r.push(o)}),r.slice(0,1e3)}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var ft;(function(o){o[o.Off=0]="Off",o[o.RenderDescriptionParameterReturn=1]="RenderDescriptionParameterReturn",o[o.RenderDescriptionParameterList=2]="RenderDescriptionParameterList",o[o.RenderDescriptionReturn=3]="RenderDescriptionReturn",o[o.RenderDescriptionOnly=4]="RenderDescriptionOnly"})(ft||(ft={}));function Io(n){return isBoolean(n)?n:[1,3].includes(n)}function Fo(n){return isBoolean(n)?n:[1,2].includes(n)}function qo(n){return isBoolean(n)?n:n!=0}var Lo={command_timeout:5,templates_folder:"",templates_pairs:[["",""]],trigger_on_file_creation:!1,auto_jump_to_cursor:!1,enable_system_commands:!1,shell_path:"",user_scripts_folder:"",enable_folder_templates:!0,folder_templates:[{folder:"",template:""}],enable_file_templates:!1,file_templates:[{regex:".*",template:""}],syntax_highlighting:!0,syntax_highlighting_mobile:!1,enabled_templates_hotkeys:[""],startup_templates:[""],intellisense_render:ft.RenderDescriptionParameterReturn},ai=class extends L.PluginSettingTab{constructor(e){super(e.app,e);this.plugin=e}display(){this.containerEl.empty(),this.add_template_folder_setting(),this.add_internal_functions_setting(),this.add_syntax_highlighting_settings(),this.add_auto_jump_to_cursor(),this.add_trigger_on_new_file_creation_setting(),this.plugin.settings.trigger_on_file_creation&&(this.add_folder_templates_setting(),this.add_file_templates_setting()),this.add_templates_hotkeys_setting(),this.add_startup_templates_setting(),this.add_user_script_functions_setting(),this.add_user_system_command_functions_setting(),this.add_donating_setting()}add_template_folder_setting(){new L.Setting(this.containerEl).setName("Template folder location").setDesc("Files in this folder will be available as templates.").addSearch(e=>{new Sn(this.app,e.inputEl),e.setPlaceholder("Example: folder1/folder2").setValue(this.plugin.settings.templates_folder).onChange(t=>{t=t.trim(),t=t.replace(/\/$/,""),this.plugin.settings.templates_folder=t,this.plugin.save_settings()}),e.containerEl.addClass("templater_search")})}add_internal_functions_setting(){let e=document.createDocumentFragment();e.append("Templater provides multiples predefined variables / functions that you can use.",e.createEl("br"),"Check the ",e.createEl("a",{href:"https://silentvoid13.github.io/Templater/",text:"documentation"})," to get a list of all the available internal variables / functions."),new L.Setting(this.containerEl).setName("Internal variables and functions").setDesc(e)}add_syntax_highlighting_settings(){let e=document.createDocumentFragment();e.append("Adds syntax highlighting for Templater commands in edit mode.");let t=document.createDocumentFragment();t.append("Adds syntax highlighting for Templater commands in edit mode on mobile. Use with caution: this may break live preview on mobile platforms."),new L.Setting(this.containerEl).setName("Syntax highlighting on desktop").setDesc(e).addToggle(r=>{r.setValue(this.plugin.settings.syntax_highlighting).onChange(i=>{this.plugin.settings.syntax_highlighting=i,this.plugin.save_settings(),this.plugin.event_handler.update_syntax_highlighting()})}),new L.Setting(this.containerEl).setName("Syntax highlighting on mobile").setDesc(t).addToggle(r=>{r.setValue(this.plugin.settings.syntax_highlighting_mobile).onChange(i=>{this.plugin.settings.syntax_highlighting_mobile=i,this.plugin.save_settings(),this.plugin.event_handler.update_syntax_highlighting()})})}add_auto_jump_to_cursor(){let e=document.createDocumentFragment();e.append("Automatically triggers ",e.createEl("code",{text:"tp.file.cursor"})," after inserting a template.",e.createEl("br"),"You can also set a hotkey to manually trigger ",e.createEl("code",{text:"tp.file.cursor"}),"."),new L.Setting(this.containerEl).setName("Automatic jump to cursor").setDesc(e).addToggle(t=>{t.setValue(this.plugin.settings.auto_jump_to_cursor).onChange(r=>{this.plugin.settings.auto_jump_to_cursor=r,this.plugin.save_settings()})})}add_trigger_on_new_file_creation_setting(){let e=document.createDocumentFragment();e.append("Templater will listen for the new file creation event, and, if it matches a rule you've set, replace every command it finds in the new file's content. ","This makes Templater compatible with other plugins like the Daily note core plugin, Calendar plugin, Review plugin, Note refactor plugin, etc. ",e.createEl("br"),e.createEl("br"),"Make sure to set up rules under either folder templates or file regex template below.",e.createEl("br"),e.createEl("br"),e.createEl("b",{text:"Warning: "}),"This can be dangerous if you create new files with unknown / unsafe content on creation. Make sure that every new file's content is safe on creation."),new L.Setting(this.containerEl).setName("Trigger Templater on new file creation").setDesc(e).addToggle(t=>{t.setValue(this.plugin.settings.trigger_on_file_creation).onChange(r=>{this.plugin.settings.trigger_on_file_creation=r,this.plugin.save_settings(),this.plugin.event_handler.update_trigger_file_on_creation(),this.display()})})}add_templates_hotkeys_setting(){new L.Setting(this.containerEl).setName("Template hotkeys").setHeading();let e=document.createDocumentFragment();e.append("Template hotkeys allows you to bind a template to a hotkey."),new L.Setting(this.containerEl).setDesc(e),this.plugin.settings.enabled_templates_hotkeys.forEach((t,r)=>{new L.Setting(this.containerEl).addSearch(o=>{new on(o.inputEl,this.plugin,$e.TemplateFiles),o.setPlaceholder("Example: folder1/template_file").setValue(t).onChange(a=>{if(a&&this.plugin.settings.enabled_templates_hotkeys.contains(a)){oe(new P("This template is already bound to a hotkey"));return}this.plugin.command_handler.add_template_hotkey(this.plugin.settings.enabled_templates_hotkeys[r],a),this.plugin.settings.enabled_templates_hotkeys[r]=a,this.plugin.save_settings()}),o.containerEl.addClass("templater_search")}).addExtraButton(o=>{o.setIcon("any-key").setTooltip("Configure Hotkey").onClick(()=>{this.app.setting.openTabById("hotkeys");let a=this.app.setting.activeTab;a.searchComponent.inputEl.value=t,a.updateHotkeyVisibility()})}).addExtraButton(o=>{o.setIcon("up-chevron-glyph").setTooltip("Move up").onClick(()=>{Mt(this.plugin.settings.enabled_templates_hotkeys,r,r-1),this.plugin.save_settings(),this.display()})}).addExtraButton(o=>{o.setIcon("down-chevron-glyph").setTooltip("Move down").onClick(()=>{Mt(this.plugin.settings.enabled_templates_hotkeys,r,r+1),this.plugin.save_settings(),this.display()})}).addExtraButton(o=>{o.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.command_handler.remove_template_hotkey(this.plugin.settings.enabled_templates_hotkeys[r]),this.plugin.settings.enabled_templates_hotkeys.splice(r,1),this.plugin.save_settings(),this.display()})}).infoEl.remove()}),new L.Setting(this.containerEl).addButton(t=>{t.setButtonText("Add new hotkey for template").setCta().onClick(()=>{this.plugin.settings.enabled_templates_hotkeys.push(""),this.plugin.save_settings(),this.display()})})}add_folder_templates_setting(){new L.Setting(this.containerEl).setName("Folder templates").setHeading();let e=document.createDocumentFragment();e.append("Folder templates are triggered when a new ",e.createEl("strong",{text:"empty "}),"file is created in a given folder.",e.createEl("br"),"Templater will fill the empty file with the specified template.",e.createEl("br"),"The deepest match is used. A global default template would be defined on the root ",e.createEl("code",{text:"/"}),"."),new L.Setting(this.containerEl).setDesc(e);let t=document.createDocumentFragment();t.append("When enabled, Templater will make use of the folder templates defined below. This option is mutually exclusive with file regex templates below, so enabling one will disable the other."),new L.Setting(this.containerEl).setName("Enable folder templates").setDesc(t).addToggle(r=>{r.setValue(this.plugin.settings.enable_folder_templates).onChange(i=>{this.plugin.settings.enable_folder_templates=i,i&&(this.plugin.settings.enable_file_templates=!1),this.plugin.save_settings(),this.display()})}),!!this.plugin.settings.enable_folder_templates&&(this.plugin.settings.folder_templates.forEach((r,i)=>{new L.Setting(this.containerEl).addSearch(a=>{new Sn(this.app,a.inputEl),a.setPlaceholder("Folder").setValue(r.folder).onChange(l=>{if(l&&this.plugin.settings.folder_templates.some(c=>c.folder==l)){oe(new P("This folder already has a template associated with it"));return}this.plugin.settings.folder_templates[i].folder=l,this.plugin.save_settings()}),a.containerEl.addClass("templater_search")}).addSearch(a=>{new on(a.inputEl,this.plugin,$e.TemplateFiles),a.setPlaceholder("Template").setValue(r.template).onChange(l=>{this.plugin.settings.folder_templates[i].template=l,this.plugin.save_settings()}),a.containerEl.addClass("templater_search")}).addExtraButton(a=>{a.setIcon("up-chevron-glyph").setTooltip("Move up").onClick(()=>{Mt(this.plugin.settings.folder_templates,i,i-1),this.plugin.save_settings(),this.display()})}).addExtraButton(a=>{a.setIcon("down-chevron-glyph").setTooltip("Move down").onClick(()=>{Mt(this.plugin.settings.folder_templates,i,i+1),this.plugin.save_settings(),this.display()})}).addExtraButton(a=>{a.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.settings.folder_templates.splice(i,1),this.plugin.save_settings(),this.display()})}).infoEl.remove()}),new L.Setting(this.containerEl).addButton(r=>{r.setButtonText("Add new folder template").setTooltip("Add additional folder template").setCta().onClick(()=>{this.plugin.settings.folder_templates.push({folder:"",template:""}),this.plugin.save_settings(),this.display()})}))}add_file_templates_setting(){new L.Setting(this.containerEl).setName("File regex templates").setHeading();let e=document.createDocumentFragment();e.append("File regex templates are triggered when a new ",e.createEl("strong",{text:"empty"})," file is created that matches one of them. Templater will fill the empty file with the specified template.",e.createEl("br"),"The first match from the top is used, so the order of the rules is important.",e.createEl("br"),"Use ",e.createEl("code",{text:".*"})," as a final catch-all, if you need it."),new L.Setting(this.containerEl).setDesc(e);let t=document.createDocumentFragment();t.append("When enabled, Templater will make use of the file regex templates defined below. This option is mutually exclusive with folder templates above, so enabling one will disable the other."),new L.Setting(this.containerEl).setName("Enable file regex templates").setDesc(t).addToggle(r=>{r.setValue(this.plugin.settings.enable_file_templates).onChange(i=>{this.plugin.settings.enable_file_templates=i,i&&(this.plugin.settings.enable_folder_templates=!1),this.plugin.save_settings(),this.display()})}),!!this.plugin.settings.enable_file_templates&&(this.plugin.settings.file_templates.forEach((r,i)=>{new L.Setting(this.containerEl).addText(a=>{a.setPlaceholder("File regex").setValue(r.regex).onChange(l=>{this.plugin.settings.file_templates[i].regex=l,this.plugin.save_settings()}),a.inputEl.addClass("templater_search")}).addSearch(a=>{new on(a.inputEl,this.plugin,$e.TemplateFiles),a.setPlaceholder("Template").setValue(r.template).onChange(l=>{this.plugin.settings.file_templates[i].template=l,this.plugin.save_settings()}),a.containerEl.addClass("templater_search")}).addExtraButton(a=>{a.setIcon("up-chevron-glyph").setTooltip("Move up").onClick(()=>{Mt(this.plugin.settings.file_templates,i,i-1),this.plugin.save_settings(),this.display()})}).addExtraButton(a=>{a.setIcon("down-chevron-glyph").setTooltip("Move down").onClick(()=>{Mt(this.plugin.settings.file_templates,i,i+1),this.plugin.save_settings(),this.display()})}).addExtraButton(a=>{a.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.settings.file_templates.splice(i,1),this.plugin.save_settings(),this.display()})}).infoEl.remove()}),new L.Setting(this.containerEl).addButton(r=>{r.setButtonText("Add new file regex").setTooltip("Add additional file regex").setCta().onClick(()=>{this.plugin.settings.file_templates.push({regex:"",template:""}),this.plugin.save_settings(),this.display()})}))}add_startup_templates_setting(){new L.Setting(this.containerEl).setName("Startup templates").setHeading();let e=document.createDocumentFragment();e.append("Startup templates are templates that will get executed once when Templater starts.",e.createEl("br"),"These templates won't output anything.",e.createEl("br"),"This can be useful to set up templates adding hooks to Obsidian events for example."),new L.Setting(this.containerEl).setDesc(e),this.plugin.settings.startup_templates.forEach((t,r)=>{new L.Setting(this.containerEl).addSearch(o=>{new on(o.inputEl,this.plugin,$e.TemplateFiles),o.setPlaceholder("Example: folder1/template_file").setValue(t).onChange(a=>{if(a&&this.plugin.settings.startup_templates.contains(a)){oe(new P("This startup template already exist"));return}this.plugin.settings.startup_templates[r]=a,this.plugin.save_settings()}),o.containerEl.addClass("templater_search")}).addExtraButton(o=>{o.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.settings.startup_templates.splice(r,1),this.plugin.save_settings(),this.display()})}).infoEl.remove()}),new L.Setting(this.containerEl).addButton(t=>{t.setButtonText("Add new startup template").setCta().onClick(()=>{this.plugin.settings.startup_templates.push(""),this.plugin.save_settings(),this.display()})})}add_user_script_functions_setting(){new L.Setting(this.containerEl).setName("User script functions").setHeading();let e=document.createDocumentFragment();e.append("All JavaScript files in this folder will be loaded as CommonJS modules, to import custom user functions.",e.createEl("br"),"The folder needs to be accessible from the vault.",e.createEl("br"),"Check the ",e.createEl("a",{href:"https://silentvoid13.github.io/Templater/",text:"documentation"})," for more information."),new L.Setting(this.containerEl).setName("Script files folder location").setDesc(e).addSearch(r=>{new Sn(this.app,r.inputEl),r.setPlaceholder("Example: folder1/folder2").setValue(this.plugin.settings.user_scripts_folder).onChange(i=>{this.plugin.settings.user_scripts_folder=i,this.plugin.save_settings()}),r.containerEl.addClass("templater_search")}),new L.Setting(this.containerEl).setName("User script intellisense").setDesc("Determine how you'd like to have user script intellisense render. Note values will not render if not in the script.").addDropdown(r=>{r.addOption("0","Turn off intellisense").addOption("1","Render method description, parameters list, and return").addOption("2","Render method description and parameters list").addOption("3","Render method description and return").addOption("4","Render method description").setValue(this.plugin.settings.intellisense_render.toString()).onChange(i=>{this.plugin.settings.intellisense_render=parseInt(i),this.plugin.save_settings()})}),e=document.createDocumentFragment();let t;if(!this.plugin.settings.user_scripts_folder)t="No user scripts folder set";else{let r=Ce(()=>Je(this.app,this.plugin.settings.user_scripts_folder),"User scripts folder doesn't exist");if(!r||r.length===0)t="No user scripts detected";else{let i=0;for(let o of r)o.extension==="js"&&(i++,e.append(e.createEl("li",{text:`tp.user.${o.basename}`})));t=`Detected ${i} User Script(s)`}}new L.Setting(this.containerEl).setName(t).setDesc(e).addExtraButton(r=>{r.setIcon("sync").setTooltip("Refresh").onClick(()=>{this.display()})})}add_user_system_command_functions_setting(){let e=document.createDocumentFragment();if(e.append("Allows you to create user functions linked to system commands.",e.createEl("br"),e.createEl("b",{text:"Warning: "}),"It can be dangerous to execute arbitrary system commands from untrusted sources. Only run system commands that you understand, from trusted sources."),new L.Setting(this.containerEl).setName("User system command functions").setHeading(),new L.Setting(this.containerEl).setName("Enable user system command functions").setDesc(e).addToggle(t=>{t.setValue(this.plugin.settings.enable_system_commands).onChange(r=>{this.plugin.settings.enable_system_commands=r,this.plugin.save_settings(),this.display()})}),this.plugin.settings.enable_system_commands){new L.Setting(this.containerEl).setName("Timeout").setDesc("Maximum timeout in seconds for a system command.").addText(o=>{o.setPlaceholder("Timeout").setValue(this.plugin.settings.command_timeout.toString()).onChange(a=>{let l=Number(a);if(isNaN(l)){oe(new P("Timeout must be a number"));return}this.plugin.settings.command_timeout=l,this.plugin.save_settings()})}),e=document.createDocumentFragment(),e.append("Full path to the shell binary to execute the command with.",e.createEl("br"),"This setting is optional and will default to the system's default shell if not specified.",e.createEl("br"),"You can use forward slashes ('/') as path separators on all platforms if in doubt."),new L.Setting(this.containerEl).setName("Shell binary location").setDesc(e).addText(o=>{o.setPlaceholder("Example: /bin/bash, ...").setValue(this.plugin.settings.shell_path).onChange(a=>{this.plugin.settings.shell_path=a,this.plugin.save_settings()})});let t=1;this.plugin.settings.templates_pairs.forEach(o=>{let a=this.containerEl.createEl("div");a.addClass("templater_div");let l=this.containerEl.createEl("h4",{text:"User function n\xB0"+t});l.addClass("templater_title"),new L.Setting(this.containerEl).addExtraButton(d=>{d.setIcon("cross").setTooltip("Delete").onClick(()=>{let m=this.plugin.settings.templates_pairs.indexOf(o);m>-1&&(this.plugin.settings.templates_pairs.splice(m,1),this.plugin.save_settings(),this.display())})}).addText(d=>{let m=d.setPlaceholder("Function name").setValue(o[0]).onChange(_=>{let w=this.plugin.settings.templates_pairs.indexOf(o);w>-1&&(this.plugin.settings.templates_pairs[w][0]=_,this.plugin.save_settings())});return m.inputEl.addClass("templater_template"),m}).addTextArea(d=>{let m=d.setPlaceholder("System command").setValue(o[1]).onChange(_=>{let w=this.plugin.settings.templates_pairs.indexOf(o);w>-1&&(this.plugin.settings.templates_pairs[w][1]=_,this.plugin.save_settings())});return m.inputEl.setAttr("rows",2),m.inputEl.addClass("templater_cmd"),m}).infoEl.remove(),a.appendChild(l),a.appendChild(this.containerEl.lastChild),t+=1});let r=this.containerEl.createEl("div");r.addClass("templater_div2"),new L.Setting(this.containerEl).addButton(o=>{o.setButtonText("Add new user function").setCta().onClick(()=>{this.plugin.settings.templates_pairs.push(["",""]),this.plugin.save_settings(),this.display()})}).infoEl.remove(),r.appendChild(this.containerEl.lastChild)}}add_donating_setting(){let e=new L.Setting(this.containerEl).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development."),t=document.createElement("a");t.setAttribute("href","https://github.com/sponsors/silentvoid13"),t.addClass("templater_donating");let r=document.createElement("img");r.src="https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86",t.appendChild(r);let i=document.createElement("a");i.setAttribute("href","https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q"),i.addClass("templater_donating");let o=document.createElement("img");o.src="https://img.shields.io/badge/paypal-silentvoid13-yellow?style=social&logo=paypal",i.appendChild(o),e.settingEl.appendChild(t),e.settingEl.appendChild(i)}};var Ar=X(require("obsidian"));var an;(function(t){t[t.InsertTemplate=0]="InsertTemplate",t[t.CreateNoteTemplate=1]="CreateNoteTemplate"})(an||(an={}));var si=class extends Ar.FuzzySuggestModal{constructor(e){super(e.app);this.plugin=e,this.setPlaceholder("Type name of a template...")}getItems(){if(!this.plugin.settings.templates_folder)return this.app.vault.getMarkdownFiles();let e=Ce(()=>Je(this.plugin.app,this.plugin.settings.templates_folder),`Couldn't retrieve template files from templates folder ${this.plugin.settings.templates_folder}`);return e||[]}getItemText(e){let t=e.path;if(e.path.startsWith(this.plugin.settings.templates_folder)&&(0,Ar.normalizePath)(this.plugin.settings.templates_folder)!="/"){let r=this.plugin.settings.templates_folder.length,i=this.plugin.settings.templates_folder.endsWith("/")?r:r+1;t=e.path.slice(i)}return t.split(".").slice(0,-1).join(".")}onChooseItem(e){switch(this.open_mode){case 0:this.plugin.templater.append_template_to_active_file(e);break;case 1:this.plugin.templater.create_new_note_from_template(e,this.creation_folder);break}}start(){try{this.open()}catch(e){oe(e)}}insert_template(){this.open_mode=0,this.start()}create_new_note_from_template(e){this.creation_folder=e,this.open_mode=1,this.start()}};var Ho="Error_MobileUnsupportedTemplate",$o='';var de=X(require("obsidian"));var dt=X(require("obsidian"));var be=class{constructor(e){this.plugin=e;this.static_functions=new Map;this.dynamic_functions=new Map}getName(){return this.name}async init(){await this.create_static_templates(),this.static_object=Object.fromEntries(this.static_functions)}async generate_object(e){return this.config=e,await this.create_dynamic_templates(),{...this.static_object,...Object.fromEntries(this.dynamic_functions)}}};var ci=class extends be{constructor(){super(...arguments);this.name="date"}async create_static_templates(){this.static_functions.set("now",this.generate_now()),this.static_functions.set("tomorrow",this.generate_tomorrow()),this.static_functions.set("weekday",this.generate_weekday()),this.static_functions.set("yesterday",this.generate_yesterday())}async create_dynamic_templates(){}async teardown(){}generate_now(){return(e="YYYY-MM-DD",t,r,i)=>{if(r&&!(0,dt.moment)(r,i).isValid())throw new P("Invalid reference date format, try specifying one with the argument 'reference_format'");let o;return typeof t=="string"?o=dt.moment.duration(t):typeof t=="number"&&(o=dt.moment.duration(t,"days")),(0,dt.moment)(r,i).add(o).format(e)}}generate_tomorrow(){return(e="YYYY-MM-DD")=>(0,dt.moment)().add(1,"days").format(e)}generate_weekday(){return(e="YYYY-MM-DD",t,r,i)=>{if(r&&!(0,dt.moment)(r,i).isValid())throw new P("Invalid reference date format, try specifying one with the argument 'reference_format'");return(0,dt.moment)(r,i).weekday(t).format(e)}}generate_yesterday(){return(e="YYYY-MM-DD")=>(0,dt.moment)().add(-1,"days").format(e)}};var le=X(require("obsidian"));var Ko=10,li=class extends be{constructor(){super(...arguments);this.name="file";this.include_depth=0;this.create_new_depth=0;this.linkpath_regex=new RegExp("^\\[\\[(.*)\\]\\]$")}async create_static_templates(){this.static_functions.set("creation_date",this.generate_creation_date()),this.static_functions.set("create_new",this.generate_create_new()),this.static_functions.set("cursor",this.generate_cursor()),this.static_functions.set("cursor_append",this.generate_cursor_append()),this.static_functions.set("exists",this.generate_exists()),this.static_functions.set("find_tfile",this.generate_find_tfile()),this.static_functions.set("folder",this.generate_folder()),this.static_functions.set("include",this.generate_include()),this.static_functions.set("last_modified_date",this.generate_last_modified_date()),this.static_functions.set("move",this.generate_move()),this.static_functions.set("path",this.generate_path()),this.static_functions.set("rename",this.generate_rename()),this.static_functions.set("selection",this.generate_selection())}async create_dynamic_templates(){this.dynamic_functions.set("content",await this.generate_content()),this.dynamic_functions.set("tags",this.generate_tags()),this.dynamic_functions.set("title",this.generate_title())}async teardown(){}async generate_content(){return await this.plugin.app.vault.read(this.config.target_file)}generate_create_new(){return async(e,t,r=!1,i)=>{if(this.create_new_depth+=1,this.create_new_depth>Ko)throw this.create_new_depth=0,new P("Reached create_new depth limit (max = 10)");let o=await this.plugin.templater.create_new_note_from_template(e,i,t,r);return this.create_new_depth-=1,o}}generate_creation_date(){return(e="YYYY-MM-DD HH:mm")=>(0,le.moment)(this.config.target_file.stat.ctime).format(e)}generate_cursor(){return e=>`<% tp.file.cursor(${e??""}) %>`}generate_cursor_append(){return e=>{let t=this.plugin.app.workspace.activeEditor;if(!t||!t.editor){oe(new P("No active editor, can't append to cursor."));return}return t.editor.getDoc().replaceSelection(e),""}}generate_exists(){return async e=>{let t=(0,le.normalizePath)(e);return await this.plugin.app.vault.exists(t)}}generate_find_tfile(){return e=>{let t=(0,le.normalizePath)(e);return this.plugin.app.metadataCache.getFirstLinkpathDest(t,"")}}generate_folder(){return(e=!1)=>{let t=this.config.target_file.parent,r;return e?r=t.path:r=t.name,r}}generate_include(){return async e=>{if(this.include_depth+=1,this.include_depth>Ko)throw this.include_depth-=1,new P("Reached inclusion depth limit (max = 10)");let t;if(e instanceof le.TFile)t=await this.plugin.app.vault.read(e);else{let r;if((r=this.linkpath_regex.exec(e))===null)throw this.include_depth-=1,new P("Invalid file format, provide an obsidian link between quotes.");let{path:i,subpath:o}=(0,le.parseLinktext)(r[1]),a=this.plugin.app.metadataCache.getFirstLinkpathDest(i,"");if(!a)throw this.include_depth-=1,new P(`File ${e} doesn't exist`);if(t=await this.plugin.app.vault.read(a),o){let l=this.plugin.app.metadataCache.getFileCache(a);if(l){let c=(0,le.resolveSubpath)(l,o);c&&(t=t.slice(c.start.offset,c.end?.offset))}}}try{let r=await this.plugin.templater.parser.parse_commands(t,this.plugin.templater.current_functions_object);return this.include_depth-=1,r}catch(r){throw this.include_depth-=1,r}}}generate_last_modified_date(){return(e="YYYY-MM-DD HH:mm")=>(0,le.moment)(this.config.target_file.stat.mtime).format(e)}generate_move(){return async(e,t)=>{let r=t||this.config.target_file,i=(0,le.normalizePath)(`${e}.${r.extension}`),o=i.replace(/\\/g,"/").split("/");if(o.pop(),o.length){let a=o.join("/");this.plugin.app.vault.getAbstractFileByPath(a)||await this.plugin.app.vault.createFolder(a)}return await this.plugin.app.fileManager.renameFile(r,i),""}}generate_path(){return(e=!1)=>{let t="";if(le.Platform.isMobile){let r=this.plugin.app.vault.adapter.fs.uri,i=this.plugin.app.vault.adapter.basePath;t=`${r}/${i}`}else if(this.plugin.app.vault.adapter instanceof le.FileSystemAdapter)t=this.plugin.app.vault.adapter.getBasePath();else throw new P("app.vault is not a FileSystemAdapter instance");return e?this.config.target_file.path:`${t}/${this.config.target_file.path}`}}generate_rename(){return async e=>{if(e.match(/[\\/:]+/g))throw new P("File name cannot contain any of these characters: \\ / :");let t=(0,le.normalizePath)(`${this.config.target_file.parent.path}/${e}.${this.config.target_file.extension}`);return await this.plugin.app.fileManager.renameFile(this.config.target_file,t),""}}generate_selection(){return()=>{let e=this.plugin.app.workspace.activeEditor;if(!e||!e.editor)throw new P("Active editor is null, can't read selection.");return e.editor.getSelection()}}generate_tags(){let e=this.plugin.app.metadataCache.getFileCache(this.config.target_file);return e?(0,le.getAllTags)(e):null}generate_title(){return this.config.target_file.basename}};var Ro=X(require("obsidian"));var pi=class extends be{constructor(){super(...arguments);this.name="web"}async create_static_templates(){this.static_functions.set("daily_quote",this.generate_daily_quote()),this.static_functions.set("request",this.generate_request()),this.static_functions.set("random_picture",this.generate_random_picture())}async create_dynamic_templates(){}async teardown(){}async getRequest(e){try{let t=await(0,Ro.requestUrl)(e);if(t.status<200&&t.status>=300)throw new P("Error performing GET request");return t}catch{throw new P("Error performing GET request")}}generate_daily_quote(){return async()=>{try{let t=(await this.getRequest("https://raw.githubusercontent.com/Zachatoo/quotes-database/refs/heads/main/quotes.json")).json,r=t[Math.floor(Math.random()*t.length)],{quote:i,author:o}=r;return`> [!quote] ${i} -> \u2014 ${o}`}catch{return new P("Error generating daily quote"),"Error generating daily quote"}}}generate_random_picture(){return async(e,t,r=!1)=>{try{let i=await this.getRequest(`https://templater-unsplash-2.fly.dev/${t?"?q="+t:""}`).then(a=>a.json),o=i.full;if(e&&!r)if(e.includes("x")){let[a,l]=e.split("x");o=o.concat(`&w=${a}&h=${l}`)}else o=o.concat(`&w=${e}`);return r?`![photo by ${i.photog}(${i.photogUrl}) on Unsplash|${e}](${o})`:`![photo by ${i.photog}(${i.photogUrl}) on Unsplash](${o})`}catch{return new P("Error generating random picture"),"Error generating random picture"}}}generate_request(){return async(e,t)=>{try{let i=await(await this.getRequest(e)).json;return t&&i?t.split(".").reduce((o,a)=>{if(o&&o.hasOwnProperty(a))return o[a];throw new Error(`Path ${t} not found in the JSON response`)},i):i}catch(r){throw console.error(r),new P("Error fetching and extracting value")}}}};var ui=class extends be{constructor(){super(...arguments);this.name="hooks";this.event_refs=[]}async create_static_templates(){this.static_functions.set("on_all_templates_executed",this.generate_on_all_templates_executed())}async create_dynamic_templates(){}async teardown(){this.event_refs.forEach(e=>{e.e.offref(e)}),this.event_refs=[]}generate_on_all_templates_executed(){return e=>{let t=this.plugin.app.workspace.on("templater:all-templates-executed",async()=>{await yt(1),e()});t&&this.event_refs.push(t)}}};var fi=class extends be{constructor(){super(...arguments);this.name="frontmatter"}async create_static_templates(){}async create_dynamic_templates(){let e=this.plugin.app.metadataCache.getFileCache(this.config.target_file);this.dynamic_functions=new Map(Object.entries(e?.frontmatter||{}))}async teardown(){}};var wt=X(require("obsidian"));var di=class extends wt.Modal{constructor(e,t,r,i){super(e);this.prompt_text=t;this.default_value=r;this.multi_line=i;this.submitted=!1}onOpen(){this.titleEl.setText(this.prompt_text),this.createForm()}onClose(){this.contentEl.empty(),this.submitted||this.reject(new P("Cancelled prompt"))}createForm(){let e=this.contentEl.createDiv();e.addClass("templater-prompt-div");let t=new wt.TextAreaComponent(e),r=this.contentEl.createDiv();r.addClass("templater-button-div");let i=new wt.ButtonComponent(r);i.buttonEl.addClass("mod-cta"),i.setButtonText("Submit").onClick(o=>{this.resolveAndClose(o)}),this.value=this.default_value??"",t.inputEl.addClass("templater-prompt-input"),t.setPlaceholder("Type text here"),t.setValue(this.value),t.onChange(o=>this.value=o),t.inputEl.focus(),t.inputEl.addEventListener("keydown",o=>this.enterCallback(o))}enterCallback(e){e.isComposing||e.keyCode===229||(this.multi_line?wt.Platform.isDesktop&&e.key==="Enter"&&!e.shiftKey&&this.resolveAndClose(e):e.key==="Enter"&&this.resolveAndClose(e))}resolveAndClose(e){this.submitted=!0,e.preventDefault(),this.resolve(this.value),this.close()}async openAndGetValue(e,t){this.resolve=e,this.reject=t,this.open()}};var Yo=X(require("obsidian")),mi=class extends Yo.FuzzySuggestModal{constructor(e,t,r,i,o){super(e);this.text_items=t;this.items=r;this.submitted=!1;this.setPlaceholder(i),o&&(this.limit=o)}getItems(){return this.items}onClose(){this.submitted||this.reject(new P("Cancelled prompt"))}selectSuggestion(e,t){this.submitted=!0,this.close(),this.onChooseSuggestion(e,t)}getItemText(e){return this.text_items instanceof Function?this.text_items(e):this.text_items[this.items.indexOf(e)]||"Undefined Text Item"}onChooseItem(e){this.resolve(e)}async openAndGetValue(e,t){this.resolve=e,this.reject=t,this.open()}};var De=X(require("obsidian")),gi=class extends De.Modal{constructor(e,t,r,i,o){super(e);this.text_items=t;this.items=r;this.submitted=!1;this.selectedItems=[];this.setTitle(i),this.listEl=this.contentEl.createDiv("templater-multisuggester-list");let a=this.contentEl.createDiv("templater-multisuggester-div"),l=new De.TextComponent(a);l.inputEl.addClass("templater-multisuggester-input"),this.suggester=new Uo(e,l.inputEl,this.getItemText.bind(this),r,o).onSelect(this.onChooseItem.bind(this));let c=this.contentEl.createDiv("modal-button-container");new De.ButtonComponent(c).setButtonText("Save").setCta().onClick(()=>this.save()),new De.ButtonComponent(c).setButtonText("Cancel").onClick(()=>this.close())}onOpen(){this.display()}display(){this.listEl.empty(),this.selectedItems.forEach(e=>{let t=this.listEl.createDiv("mobile-option-setting-item");t.createSpan("mobile-option-setting-item-name").setText(this.getItemText(e)),t.createDiv("clickable-icon mobile-option-setting-item-option-icon",r=>{(0,De.setIcon)(r,"lucide-x"),r.addEventListener("click",()=>{this.onRemoveItem(e)})})})}getItemText(e){return this.text_items instanceof Function?this.text_items(e):this.text_items[this.items.indexOf(e)]||"Undefined Text Item"}onChooseItem(e){this.selectedItems.push(e);let t=this.items.filter(r=>!this.selectedItems.some(i=>i===r));this.suggester.setItems(t),this.display()}onRemoveItem(e){this.selectedItems=this.selectedItems.filter(r=>r!==e);let t=this.items.filter(r=>!this.selectedItems.some(i=>i===r));this.suggester.setItems(t),this.display()}save(){this.submitted=!0,this.close(),this.resolve(this.selectedItems)}onClose(){this.submitted||this.reject(new P("Cancelled prompt"))}async openAndGetValue(e,t){this.resolve=e,this.reject=t,this.open()}},Uo=class extends De.AbstractInputSuggest{constructor(e,t,r,i,o){super(e,t);this.getItemText=r;this.items=i;o&&(this.limit=o)}getSuggestions(e){let t=(0,De.prepareFuzzySearch)(e);return this.items.reduce((r,i)=>{let o=this.getItemText(i);return t(o)&&r.push(i),r},[])}renderSuggestion(e,t){t.createDiv("suggestion-content").setText(this.getItemText(e))}setItems(e){this.items=e}selectSuggestion(e,t){this.setValue(""),this.close(),super.selectSuggestion(e,t)}};var hi=class extends be{constructor(){super(...arguments);this.name="system"}async create_static_templates(){this.static_functions.set("clipboard",this.generate_clipboard()),this.static_functions.set("prompt",this.generate_prompt()),this.static_functions.set("suggester",this.generate_suggester()),this.static_functions.set("multi_suggester",this.generate_multi_suggester())}async create_dynamic_templates(){}async teardown(){}generate_clipboard(){return async()=>await navigator.clipboard.readText()}generate_prompt(){return async(e,t,r=!1,i=!1)=>{let o=new di(this.plugin.app,e,t,i),a=new Promise((l,c)=>o.openAndGetValue(l,c));try{return await a}catch(l){if(r)throw l;return null}}}generate_suggester(){return async(e,t,r=!1,i="",o)=>{let a=new mi(this.plugin.app,e,t,i,o),l=new Promise((c,d)=>a.openAndGetValue(c,d));try{return await l}catch(c){if(r)throw c;return null}}}generate_multi_suggester(){return async(e,t,r=!1,i="",o)=>{let a=new gi(this.plugin.app,e,t,i,o),l=new Promise((c,d)=>a.openAndGetValue(c,d));try{return await l}catch(c){if(r)throw c;return[]}}}};var Ai=class extends be{constructor(){super(...arguments);this.name="config"}async create_static_templates(){}async create_dynamic_templates(){}async teardown(){}async generate_object(e){return e}};var _i=class{constructor(e){this.plugin=e;this.modules_array=[];this.modules_array.push(new ci(this.plugin)),this.modules_array.push(new li(this.plugin)),this.modules_array.push(new pi(this.plugin)),this.modules_array.push(new fi(this.plugin)),this.modules_array.push(new ui(this.plugin)),this.modules_array.push(new hi(this.plugin)),this.modules_array.push(new Ai(this.plugin))}async init(){for(let e of this.modules_array)await e.init()}async teardown(){for(let e of this.modules_array)await e.teardown()}async generate_object(e){let t={};for(let r of this.modules_array)t[r.getName()]=await r.generate_object(e);return t}};var Cn=X(require("obsidian"));var xi=class{constructor(e){this.plugin=e;if(Cn.Platform.isMobile||!(this.plugin.app.vault.adapter instanceof Cn.FileSystemAdapter))this.cwd="";else{this.cwd=this.plugin.app.vault.adapter.getBasePath();let{promisify:t}=require("util"),{exec:r}=require("child_process");this.exec_promise=t(r)}}async generate_system_functions(e){let t=new Map,r=await this.plugin.templater.functions_generator.generate_object(e,Qe.INTERNAL);for(let i of this.plugin.settings.templates_pairs){let o=i[0],a=i[1];!o||!a||(Cn.Platform.isMobile?t.set(o,()=>new Promise(l=>l(Ho))):(a=await this.plugin.templater.parser.parse_commands(a,r),t.set(o,async l=>{let c={...process.env,...l},d={timeout:this.plugin.settings.command_timeout*1e3,cwd:this.cwd,env:c,...this.plugin.settings.shell_path&&{shell:this.plugin.settings.shell_path}};try{let{stdout:m}=await this.exec_promise(a,d);return m.trimRight()}catch(m){throw new P(`Error with User Template ${o}`,m)}})))}return t}async generate_object(e){let t=await this.generate_system_functions(e);return Object.fromEntries(t)}};var yi=class{constructor(e){this.plugin=e}async generate_user_script_functions(){let e=new Map,t=Ce(()=>Je(this.plugin.app,this.plugin.settings.user_scripts_folder),`Couldn't find user script folder "${this.plugin.settings.user_scripts_folder}"`);if(!t)return new Map;for(let r of t)r.extension.toLowerCase()==="js"&&await this.load_user_script_function(r,e);return e}async load_user_script_function(e,t){let r=c=>window.require&&window.require(c),i={},o={exports:i},a=await this.plugin.app.vault.read(e);try{window.eval("(function anonymous(require, module, exports){"+a+` -})`)(r,o,i)}catch(c){throw new P(`Failed to load user script at "${e.path}".`,c.message)}let l=i.default??o.exports;if(!l)throw new P(`Failed to load user script at "${e.path}". No exports detected.`);if(typeof l=="function")t.set(e.basename,l);else if(typeof l=="object"&&l!==null){if(!Object.values(l).every(d=>typeof d=="function"))throw new P(`Exported object in "${e.path}" must contain only functions.`);t.set(e.basename,l)}else throw new P(`Invalid export in "${e.path}". Must be a function or object of functions.`)}async generate_object(){let e=await this.generate_user_script_functions();return Object.fromEntries(e)}};var ji=class{constructor(e){this.plugin=e;this.user_system_functions=new xi(e),this.user_script_functions=new yi(e)}async generate_object(e){let t={},r={};return this.plugin.settings.enable_system_commands&&(t=await this.user_system_functions.generate_object(e)),this.plugin.settings.user_scripts_folder&&(r=await this.user_script_functions.generate_object()),{...t,...r}}};var Ks=X(require("obsidian")),Qe;(function(t){t[t.INTERNAL=0]="INTERNAL",t[t.USER_INTERNAL=1]="USER_INTERNAL"})(Qe||(Qe={}));var vi=class{constructor(e){this.plugin=e;this.internal_functions=new _i(this.plugin),this.user_functions=new ji(this.plugin)}async init(){await this.internal_functions.init()}async teardown(){await this.internal_functions.teardown()}additional_functions(){return{app:this.plugin.app,obsidian:Ks}}async generate_object(e,t=1){let r={},i=this.additional_functions(),o=await this.internal_functions.generate_object(e),a={};switch(Object.assign(r,i),t){case 0:Object.assign(r,o);break;case 1:a=await this.user_functions.generate_object(e),Object.assign(r,{...o,user:a});break}return r}};var Xs={},M,Ke=new Array(32).fill(void 0);Ke.push(void 0,null,!0,!1);function Pe(n){return Ke[n]}var Dn=Ke.length;function Rs(n){n<36||(Ke[n]=Dn,Dn=n)}function wi(n){let e=Pe(n);return Rs(n),e}var Go=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Go.decode();var _r=new Uint8Array;function xr(){return _r.byteLength===0&&(_r=new Uint8Array(M.memory.buffer)),_r}function bt(n,e){return Go.decode(xr().subarray(n,n+e))}function Et(n){Dn===Ke.length&&Ke.push(Ke.length+1);let e=Dn;return Dn=Ke[e],Ke[e]=n,e}var Re=0,yr=new TextEncoder("utf-8"),Ys=typeof yr.encodeInto=="function"?function(n,e){return yr.encodeInto(n,e)}:function(n,e){let t=yr.encode(n);return e.set(t),{read:n.length,written:t.length}};function mt(n,e,t){if(t===void 0){let l=yr.encode(n),c=e(l.length);return xr().subarray(c,c+l.length).set(l),Re=l.length,c}let r=n.length,i=e(r),o=xr(),a=0;for(;a127)break;o[i+a]=l}if(a!==r){a!==0&&(n=n.slice(a)),i=t(i,r,r=a+n.length*3);let l=xr().subarray(i+a,i+r);a+=Ys(n,l).written}return Re=a,i}function Us(n){return n==null}var jr=new Int32Array;function Ne(){return jr.byteLength===0&&(jr=new Int32Array(M.memory.buffer)),jr}function bi(n){let e=typeof n;if(e=="number"||e=="boolean"||n==null)return`${n}`;if(e=="string")return`"${n}"`;if(e=="symbol"){let i=n.description;return i==null?"Symbol":`Symbol(${i})`}if(e=="function"){let i=n.name;return typeof i=="string"&&i.length>0?`Function(${i})`:"Function"}if(Array.isArray(n)){let i=n.length,o="[";i>0&&(o+=bi(n[0]));for(let a=1;a1)r=t[1];else return toString.call(n);if(r=="Object")try{return"Object("+JSON.stringify(n)+")"}catch{return"Object"}return n instanceof Error?`${n.name}: ${n.message} -${n.stack}`:r}function Gs(n,e){if(!(n instanceof e))throw new Error(`expected instance of ${e.name}`);return n.ptr}var vr=32;function Ws(n){if(vr==1)throw new Error("out of js stack");return Ke[--vr]=n,vr}function Ei(n,e){try{return n.apply(this,e)}catch(t){M.__wbindgen_exn_store(Et(t))}}var Kt=class{static __wrap(e){let t=Object.create(Kt.prototype);return t.ptr=e,t}__destroy_into_raw(){let e=this.ptr;return this.ptr=0,e}free(){let e=this.__destroy_into_raw();M.__wbg_parserconfig_free(e)}get interpolate(){let e=M.__wbg_get_parserconfig_interpolate(this.ptr);return String.fromCodePoint(e)}set interpolate(e){M.__wbg_set_parserconfig_interpolate(this.ptr,e.codePointAt(0))}get execution(){let e=M.__wbg_get_parserconfig_execution(this.ptr);return String.fromCodePoint(e)}set execution(e){M.__wbg_set_parserconfig_execution(this.ptr,e.codePointAt(0))}get single_whitespace(){let e=M.__wbg_get_parserconfig_single_whitespace(this.ptr);return String.fromCodePoint(e)}set single_whitespace(e){M.__wbg_set_parserconfig_single_whitespace(this.ptr,e.codePointAt(0))}get multiple_whitespace(){let e=M.__wbg_get_parserconfig_multiple_whitespace(this.ptr);return String.fromCodePoint(e)}set multiple_whitespace(e){M.__wbg_set_parserconfig_multiple_whitespace(this.ptr,e.codePointAt(0))}constructor(e,t,r,i,o,a,l){let c=mt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),d=Re,m=mt(t,M.__wbindgen_malloc,M.__wbindgen_realloc),_=Re,w=mt(l,M.__wbindgen_malloc,M.__wbindgen_realloc),b=Re,S=M.parserconfig_new(c,d,m,_,r.codePointAt(0),i.codePointAt(0),o.codePointAt(0),a.codePointAt(0),w,b);return Kt.__wrap(S)}get opening_tag(){try{let r=M.__wbindgen_add_to_stack_pointer(-16);M.parserconfig_opening_tag(r,this.ptr);var e=Ne()[r/4+0],t=Ne()[r/4+1];return bt(e,t)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(e,t)}}set opening_tag(e){let t=mt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),r=Re;M.parserconfig_set_opening_tag(this.ptr,t,r)}get closing_tag(){try{let r=M.__wbindgen_add_to_stack_pointer(-16);M.parserconfig_closing_tag(r,this.ptr);var e=Ne()[r/4+0],t=Ne()[r/4+1];return bt(e,t)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(e,t)}}set closing_tag(e){let t=mt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),r=Re;M.parserconfig_set_closing_tag(this.ptr,t,r)}get global_var(){try{let r=M.__wbindgen_add_to_stack_pointer(-16);M.parserconfig_global_var(r,this.ptr);var e=Ne()[r/4+0],t=Ne()[r/4+1];return bt(e,t)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(e,t)}}set global_var(e){let t=mt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),r=Re;M.parserconfig_set_global_var(this.ptr,t,r)}},sn=class{static __wrap(e){let t=Object.create(sn.prototype);return t.ptr=e,t}__destroy_into_raw(){let e=this.ptr;return this.ptr=0,e}free(){let e=this.__destroy_into_raw();M.__wbg_renderer_free(e)}constructor(e){Gs(e,Kt);var t=e.ptr;e.ptr=0;let r=M.renderer_new(t);return sn.__wrap(r)}render_content(e,t){try{let a=M.__wbindgen_add_to_stack_pointer(-16),l=mt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),c=Re;M.renderer_render_content(a,this.ptr,l,c,Ws(t));var r=Ne()[a/4+0],i=Ne()[a/4+1],o=Ne()[a/4+2];if(o)throw wi(i);return wi(r)}finally{M.__wbindgen_add_to_stack_pointer(16),Ke[vr++]=void 0}}};async function Vs(n,e){if(typeof Response=="function"&&n instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(n,e)}catch(r){if(n.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}let t=await n.arrayBuffer();return await WebAssembly.instantiate(t,e)}else{let t=await WebAssembly.instantiate(n,e);return t instanceof WebAssembly.Instance?{instance:t,module:n}:t}}function zs(){let n={};return n.wbg={},n.wbg.__wbindgen_object_drop_ref=function(e){wi(e)},n.wbg.__wbindgen_string_new=function(e,t){let r=bt(e,t);return Et(r)},n.wbg.__wbindgen_string_get=function(e,t){let r=Pe(t),i=typeof r=="string"?r:void 0;var o=Us(i)?0:mt(i,M.__wbindgen_malloc,M.__wbindgen_realloc),a=Re;Ne()[e/4+1]=a,Ne()[e/4+0]=o},n.wbg.__wbg_call_97ae9d8645dc388b=function(){return Ei(function(e,t){let r=Pe(e).call(Pe(t));return Et(r)},arguments)},n.wbg.__wbg_new_8d2af00bc1e329ee=function(e,t){let r=new Error(bt(e,t));return Et(r)},n.wbg.__wbg_message_fe2af63ccc8985bc=function(e){let t=Pe(e).message;return Et(t)},n.wbg.__wbg_newwithargs_8fe23e3842840c8e=function(e,t,r,i){let o=new Function(bt(e,t),bt(r,i));return Et(o)},n.wbg.__wbg_call_168da88779e35f61=function(){return Ei(function(e,t,r){let i=Pe(e).call(Pe(t),Pe(r));return Et(i)},arguments)},n.wbg.__wbg_call_3999bee59e9f7719=function(){return Ei(function(e,t,r,i){let o=Pe(e).call(Pe(t),Pe(r),Pe(i));return Et(o)},arguments)},n.wbg.__wbindgen_debug_string=function(e,t){let r=bi(Pe(t)),i=mt(r,M.__wbindgen_malloc,M.__wbindgen_realloc),o=Re;Ne()[e/4+1]=o,Ne()[e/4+0]=i},n.wbg.__wbindgen_throw=function(e,t){throw new Error(bt(e,t))},n}function Js(n,e){}function Qs(n,e){return M=n.exports,Wo.__wbindgen_wasm_module=e,jr=new Int32Array,_r=new Uint8Array,M}async function Wo(n){typeof n=="undefined"&&(n=new URL("rusty_engine_bg.wasm",Xs.url));let e=zs();(typeof n=="string"||typeof Request=="function"&&n instanceof Request||typeof URL=="function"&&n instanceof URL)&&(n=fetch(n)),Js(e);let{instance:t,module:r}=await Vs(await n,e);return Qs(t,r)}var Vo=Wo;var zo=zi("AGFzbQEAAAABvwEaYAJ/fwBgAn9/AX9gAX8Bf2ADf39/AX9gA39/fwBgAX8AYAV/f39/fwBgBH9/f38AYAR/f39/AX9gAABgBX9/f39/AX9gAX8BfmAAAX9gBn9/f39/fwBgB39/f39/f38AYAV/f35/fwBgBX9/fX9/AGAFf398f38AYAR/fn9/AGAFf35/f38AYAR/fX9/AGAEf3x/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gCn9/f39/f39/f38Bf2ACfn8BfwLkAgsDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAUDd2JnFV9fd2JpbmRnZW5fc3RyaW5nX25ldwABA3diZxVfX3diaW5kZ2VuX3N0cmluZ19nZXQAAAN3YmcbX193YmdfY2FsbF85N2FlOWQ4NjQ1ZGMzODhiAAEDd2JnGl9fd2JnX25ld184ZDJhZjAwYmMxZTMyOWVlAAEDd2JnHl9fd2JnX21lc3NhZ2VfZmUyYWY2M2NjYzg5ODViYwACA3diZyJfX3diZ19uZXd3aXRoYXJnc184ZmUyM2UzODQyODQwYzhlAAgDd2JnG19fd2JnX2NhbGxfMTY4ZGE4ODc3OWUzNWY2MQADA3diZxtfX3diZ19jYWxsXzM5OTliZWU1OWU5Zjc3MTkACAN3YmcXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAAAN3YmcQX193YmluZGdlbl90aHJvdwAAA7kBtwECBwAGAgYEBAcBBQMKCAAEBgYAAwcCAAEADgETAQQXAQICAQAAAwcZAQAFAQwABgACAgAAAgAEBAAGAQAAAAAEBw0CAQUEBQYCDBgAAQAAAAQBAQEAAQABBAQEBgMDBwMJAwQIAAAABQkAAgEAAAAABwAAAgICAgAFBQMEFgoGEQ8QAAUHAwIBAgABBQEBCAACAQEBBQEAAgECAgACAQEBAgAJCQICAgIAAAAAAwMDAQECAgsLCwUEBQFwATs7BQMBABEGCQF/AUGAgMAACwfcBRkGbWVtb3J5AgAXX193YmdfcGFyc2VyY29uZmlnX2ZyZWUAUSJfX3diZ19nZXRfcGFyc2VyY29uZmlnX2ludGVycG9sYXRlAH4iX193Ymdfc2V0X3BhcnNlcmNvbmZpZ19pbnRlcnBvbGF0ZQB3IF9fd2JnX2dldF9wYXJzZXJjb25maWdfZXhlY3V0aW9uAH8gX193Ymdfc2V0X3BhcnNlcmNvbmZpZ19leGVjdXRpb24AeChfX3diZ19nZXRfcGFyc2VyY29uZmlnX3NpbmdsZV93aGl0ZXNwYWNlAIABKF9fd2JnX3NldF9wYXJzZXJjb25maWdfc2luZ2xlX3doaXRlc3BhY2UAeSpfX3diZ19nZXRfcGFyc2VyY29uZmlnX211bHRpcGxlX3doaXRlc3BhY2UAgQEqX193Ymdfc2V0X3BhcnNlcmNvbmZpZ19tdWx0aXBsZV93aGl0ZXNwYWNlAHoQcGFyc2VyY29uZmlnX25ldwBVGHBhcnNlcmNvbmZpZ19vcGVuaW5nX3RhZwBGHHBhcnNlcmNvbmZpZ19zZXRfb3BlbmluZ190YWcAYxhwYXJzZXJjb25maWdfY2xvc2luZ190YWcARxxwYXJzZXJjb25maWdfc2V0X2Nsb3NpbmdfdGFnAGQXcGFyc2VyY29uZmlnX2dsb2JhbF92YXIASBtwYXJzZXJjb25maWdfc2V0X2dsb2JhbF92YXIAZRNfX3diZ19yZW5kZXJlcl9mcmVlAE8McmVuZGVyZXJfbmV3ACAXcmVuZGVyZXJfcmVuZGVyX2NvbnRlbnQAORFfX3diaW5kZ2VuX21hbGxvYwB1El9fd2JpbmRnZW5fcmVhbGxvYwCFAR9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyAKsBD19fd2JpbmRnZW5fZnJlZQCaARRfX3diaW5kZ2VuX2V4bl9zdG9yZQCfAQllAQBBAQs6mAGdAaoBPzzBAZUBlgFOkgGOAWotYsEBwQFnKl3BAXaIAUyJAYgBhwGQAY8BiQGJAYwBigGLAZgBX8EBaKABXo4BvwG+AYQBOElwoQHBAWioAWCjAVclqQGcAcEBwAEK2dYCtwG8IAIPfwF+IwBBEGsiCyQAAkACQCAAQfUBTwRAQYCAfEEIQQgQlwFBFEEIEJcBakEQQQgQlwFqa0F3cUF9aiICQQBBEEEIEJcBQQJ0ayIBIAEgAksbIABNDQIgAEEEakEIEJcBIQRBrK7AACgCAEUNAUEAIARrIQMCQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEGIARBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEG4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EBBBIAQoAgAiBSAAKAIAaiIGQdSDwAApAAA3AAAgBCAFQRBqNgIAIAZBCGpB3IPAACkAADcAACADQQE2AiwgAyABKAIIQShqIgU2AiggAyAANgIYIANB3ABqQQE2AgAgA0ICNwJMIANB8IPAADYCSCADIANBKGo2AlgCQAJAAkACQAJAAkAgA0EYakGYisAAIANByABqEB5FBEAgAigCACEIAkAgAigCCCIBRQ0AIAFBBHQhCkGQhMAAIQZBACEBQQAhBANAAn8gASAIaiIHQQRqIgkgBygCAEUNABoCQCAERQ0AIANBEGogBCgCACAEKAIEQQAgBiAGLQAAQQJGG0EBEBAgA0EIaiADKAIQIAMoAhRBACAHQQ1qIgQgBC0AAEECRhtBABAQIANBGGogAygCCCADKAIMEBIgA0EBNgI0IANBATYCLCADIAU2AiggAyADQRhqNgIwIAMgADYCRCADQQI2AlwgA0IDNwJMIANBmITAADYCSCADIANBKGo2AlggA0HEAGpBmIrAACADQcgAahAeDQUgAygCHEUNACADKAIYEBULIAdBDmohBgJAIAdBDGotAABFBEAgA0ECNgIsIAMgCTYCKCADIAA2AhggA0EBNgJcIANCAjcCTCADQfSEwAA2AkggAyADQShqNgJYIANBGGpBmIrAACADQcgAahAeDQcgA0ECNgI0IANBoIXAADYCMCADQQE2AiwgAyAFNgIoIAMgADYCGCADQQI2AlwgA0IDNwJMIANBmITAADYCSCADIANBKGo2AlggA0EYakGYisAAIANByABqEB5FDQFBq4HAAEErIANByABqQdiBwABBqIXAABBSAAsgA0ECNgIsIAMgCTYCKCADIAA2AhggA0EBNgJcIANCAjcCTCADQcSEwAA2AkggAyADQShqNgJYIANBGGpBmIrAACADQcgAahAeDQcLQQALIQQgCiABQRBqIgFHDQALIARFDQAgAyAEKAIAIAQoAgRBACAGIAYtAABBAkYbQQEQECADQRhqIAMoAgAgAygCBBASIANBNGpBATYCACADQQE2AiwgAyAFNgIoIAMgA0EYajYCMCADIAA2AkQgA0HcAGpBAjYCACADQgM3AkwgA0GYhMAANgJIIAMgA0EoajYCWCADQcQAakGYisAAIANByABqEB4NBSADKAIcRQ0AIAMoAhgQFQsgAEEEaigCACAAQQhqIgQoAgAiAWtBJ00EQCAAIAFBKBBBIAQoAgAhAQsgBCABQShqNgIAIAAoAgAgAWoiAUHIhcAAKQAANwAAIAFBCGpB0IXAACkAADcAACABQRBqQdiFwAApAAA3AAAgAUEYakHghcAAKQAANwAAIAFBIGpB6IXAACkAADcAACADQTxqQQI2AgAgA0E0akEBNgIAIANBoIXAADYCOCADIAU2AjAgA0EBNgIsIAMgBTYCKCADIAA2AhggA0HcAGoiAUEDNgIAIANCBDcCTCADQZiGwAA2AkggAyADQShqNgJYIANBGGpBmIrAACADQcgAahAeDQUgA0EBNgIsIAMgBTYCKCADIAA2AhggAUEBNgIAIANCAjcCTCADQdCGwAA2AkggAyADQShqNgJYIANBGGpBmIrAACADQcgAahAeDQYgAkEEaigCAARAIAgQFQsgA0HgAGokAA8LQauBwABBKyADQcgAakHYgcAAQYCEwAAQUgALQauBwABBKyADQcgAakHYgcAAQbCEwAAQUgALQauBwABBKyADQcgAakHYgcAAQYSFwAAQUgALQauBwABBKyADQcgAakHYgcAAQdSEwAAQUgALQauBwABBKyADQcgAakHYgcAAQbiFwAAQUgALQauBwABBKyADQcgAakHYgcAAQbiGwAAQUgALQauBwABBKyADQcgAakHYgcAAQeCGwAAQUgAL7QkCCH8GfiMAQdAAayIDJAACQAJAAkAQVCIEBEAgA0EgakIANwMAIANBHGpBkIrAADYCACAEIAQpAwAiC0IBfDcDACADQQA2AhggAyALNwMIIAMgBEEIaikDADcDECADQqeAgIDwBDcDSCADQo2AgICgDjcDQCADQoqAgIDgDTcDOCADQtyAgIDACzcDMCADQQhqIANBMGoQGSADQQA2AjggA0IENwMwIAJFBEAgAEEANgIIIABCATcCAEEEIQRBBCEBDAQLIAEgAmohCEEAIQIDQAJ/IAEsAAAiBEF/SgRAIARB/wFxIQQgAUEBagwBCyABLQABQT9xIQUgBEEfcSEGIARBX00EQCAGQQZ0IAVyIQQgAUECagwBCyABLQACQT9xIAVBBnRyIQUgBEFwSQRAIAUgBkEMdHIhBCABQQNqDAELIAZBEnRBgIDwAHEgAS0AA0E/cSAFQQZ0cnIiBEGAgMQA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ASACIANqQQFqIgM2AhAgAyAHT0EAIAMgDE0bRQRAIAYgA08NAQwDCwsgB0EEELUBAAsgASAGNgIQCyABLQAkIAEoAgAiAiABKAIEIgRHckUNASABQQE6ACUgBCACawshAyAIRQ0AIAIgCGohCyADRQRAQQAhAgwBCyADQX9qIgEgAyABIAtqLQAAQQ1GGyECCyAAIAI2AgQgACALNgIAIAVBEGokAAv+BAEKfyMAQTBrIgMkACADQSRqIAE2AgAgA0EDOgAoIANCgICAgIAENwMIIAMgADYCICADQQA2AhggA0EANgIQAkACQAJAIAIoAggiCkUEQCACQRRqKAIAIgRFDQEgAigCACEBIAIoAhAhACAEQX9qQf////8BcUEBaiIHIQQDQCABQQRqKAIAIgUEQCADKAIgIAEoAgAgBSADKAIkKAIMEQMADQQLIAAoAgAgA0EIaiAAQQRqKAIAEQEADQMgAEEIaiEAIAFBCGohASAEQX9qIgQNAAsMAQsgAkEMaigCACIARQ0AIABBBXQhCyAAQX9qQf///z9xQQFqIQcgAigCACEBA0AgAUEEaigCACIABEAgAygCICABKAIAIAAgAygCJCgCDBEDAA0DCyADIAQgCmoiBUEcai0AADoAKCADIAVBBGopAgBCIIk3AwggBUEYaigCACEGIAIoAhAhCEEAIQlBACEAAkACQAJAIAVBFGooAgBBAWsOAgACAQsgBkEDdCAIaiIMKAIEQTdHDQEgDCgCACgCACEGC0EBIQALIAMgBjYCFCADIAA2AhAgBUEQaigCACEAAkACQAJAIAVBDGooAgBBAWsOAgACAQsgAEEDdCAIaiIGKAIEQTdHDQEgBigCACgCACEAC0EBIQkLIAMgADYCHCADIAk2AhggCCAFKAIAQQN0aiIAKAIAIANBCGogACgCBBEBAA0CIAFBCGohASALIARBIGoiBEcNAAsLQQAhACAHIAIoAgRJIgFFDQEgAygCICACKAIAIAdBA3RqQQAgARsiASgCACABKAIEIAMoAiQoAgwRAwBFDQELQQEhAAsgA0EwaiQAIAALwgQBCH8jAEHQAGsiBCQAIARBEGogASACIAMoAgAgA0EIaigCABAOAkACQAJAAkACQAJAIAQoAhBFBEAgBEEeai0AAA0EIARBxABqKAIAIQYgBCgCQCEHIARBHGotAABFIQggBCgCFCEDA0ACQCADRQ0AIAYgA00EQCADIAZGDQEMCQsgAyAHaiwAAEFASA0ICyADIAZGDQICfyADIAdqIgksAAAiBUF/TARAIAktAAFBP3EiCiAFQR9xIgtBBnRyIAVBYEkNARogCS0AAkE/cSAKQQZ0ciIKIAtBDHRyIAVBcEkNARogC0ESdEGAgPAAcSAJLQADQT9xIApBBnRycgwBCyAFQf8BcQshBSAIRQRAIAMhBgwECyAFQYCAxABGDQQCf0EBIAVBgAFJDQAaQQIgBUGAEEkNABpBA0EEIAVBgIAESRsLIANqIQNBACEIDAALAAsgBEEYaiEDIARBzABqKAIAIQYgBEHEAGooAgAhBSAEKAJIIQcgBCgCQCEIIARBNGooAgBBf0cEQCAEIAMgCCAFIAcgBkEAECQMBQsgBCADIAggBSAHIAZBARAkDAQLIAgNAQsgBEEIaiAGNgIAIAQgBjYCBCAEQQE2AgAMAgsgBEEBOgAeCyAEQQA2AgALAkAgBCgCAARAIAQoAgQhAyAAQQxqIAIgBEEIaigCACICazYCACAAQQhqIAEgAmo2AgAgACADNgIEIAAgATYCAAwBCyAAQQA2AgALIARB0ABqJAAPCyAHIAYgAyAGEHsAC5QEAQ1/IwBBsAFrIgEkAAJAAkAgAARAIAAoAgANASAAQQA2AgAgAUGIAWoiAiAAQRBqKQIANwMAIAFBgAFqIgMgAEEIaikCADcDACABQZABaiIEIABBGGopAgA3AwAgAUGYAWoiBSAAQSBqKQIANwMAIAFBoAFqIgYgAEEoaikCADcDACABQagBaiIHIABBMGopAgA3AwAgAUEQaiIIIAFBhAFqKQIANwMAIAFBGGoiCSABQYwBaikCADcDACABQSBqIgogAUGUAWopAgA3AwAgAUEoaiILIAFBnAFqKQIANwMAIAFBMGoiDCABQaQBaikCADcDACABQThqIg0gAUGsAWooAgA2AgAgASAAKQIANwN4IAEgASkCfDcDCCAAEBUgAUHwAGogDSgCADYCACABQegAaiAMKQMANwMAIAFB4ABqIAspAwA3AwAgAUHYAGogCikDADcDACABQdAAaiAJKQMANwMAIAFByABqIAgpAwA3AwAgASABKQMINwNAIAFB+ABqIAFBQGsQOkE8QQQQngEiAEUNAiAAQQA2AgAgACABKQN4NwIEIABBDGogAykDADcCACAAQRRqIAIpAwA3AgAgAEEcaiAEKQMANwIAIABBJGogBSkDADcCACAAQSxqIAYpAwA3AgAgAEE0aiAHKQMANwIAIAFBsAFqJAAgAA8LEK0BAAsQrgEAC0E8QQQQswEAC9cEAQR/IAAgARC6ASECAkACQAJAIAAQsAENACAAKAIAIQMCQCAAEKUBRQRAIAEgA2ohASAAIAMQuwEiAEHAscAAKAIARw0BIAIoAgRBA3FBA0cNAkG4scAAIAE2AgAgACABIAIQhgEPCyABIANqQRBqIQAMAgsgA0GAAk8EQCAAEDUMAQsgAEEMaigCACIEIABBCGooAgAiBUcEQCAFIAQ2AgwgBCAFNgIIDAELQaiuwABBqK7AACgCAEF+IANBA3Z3cTYCAAsgAhCiAQRAIAAgASACEIYBDAILAkBBxLHAACgCACACRwRAIAJBwLHAACgCAEcNAUHAscAAIAA2AgBBuLHAAEG4scAAKAIAIAFqIgE2AgAgACABEJQBDwtBxLHAACAANgIAQbyxwABBvLHAACgCACABaiIBNgIAIAAgAUEBcjYCBCAAQcCxwAAoAgBHDQFBuLHAAEEANgIAQcCxwABBADYCAA8LIAIQrwEiAyABaiEBAkAgA0GAAk8EQCACEDUMAQsgAkEMaigCACIEIAJBCGooAgAiAkcEQCACIAQ2AgwgBCACNgIIDAELQaiuwABBqK7AACgCAEF+IANBA3Z3cTYCAAsgACABEJQBIABBwLHAACgCAEcNAUG4scAAIAE2AgALDwsgAUGAAk8EQCAAIAEQNA8LIAFBA3YiAkEDdEGwrsAAaiEBAn9BqK7AACgCACIDQQEgAnQiAnEEQCABKAIIDAELQaiuwAAgAiADcjYCACABCyECIAEgADYCCCACIAA2AgwgACABNgIMIAAgAjYCCAuYBAIDfwZ+IABBHGooAgBFBEBBAA8LIABBEGooAgAiAiAAQQhqKQMAIgUgASgCACIErUKAgICAgICAgASEIgaFQvPK0cunjNmy9ACFIgdCEIkgByAAKQMAIghC4eSV89bs2bzsAIV8IgeFIgkgBULt3pHzlszct+QAhSIFIAhC9crNg9es27fzAIV8IghCIIl8IgogBoUgByAFQg2JIAiFIgV8IgYgBUIRiYUiBXwiByAFQg2JhSIFIAlCFYkgCoUiCCAGQiCJQv8BhXwiBnwiCSAFQhGJhSIFQg2JIAUgCEIQiSAGhSIGIAdCIIl8Igd8IgWFIghCEYkgCCAGQhWJIAeFIgYgCUIgiXwiB3wiCIUiCUINiSAJIAZCEIkgB4UiBiAFQiCJfCIFfIUiByAGQhWJIAWFIgUgCEIgiXwiBnwiCCAFQhCJIAaFQhWJhSAHQhGJhSAIQiCIhSIFp3EhASAFQhmIQv8Ag0KBgoSIkKDAgAF+IQcgAEEUaigCACEAA0AgACABaikAACIGIAeFIgVCf4UgBUL//fv379+//358g0KAgYKEiJCgwIB/gyEFAkADQCAFUARAIAYgBkIBhoNCgIGChIiQoMCAf4NQDQJBAA8LIAV6IQggBUJ/fCAFgyEFIAAgCKdBA3YgAWogAnFBA3RrQXhqKAIAIARHDQALQQEPCyABIANBCGoiA2ogAnEhAQwACwAL4QMBCH8jAEEgayIEJAAgAUEUaigCACEJIAEoAgAhBQJAIAFBBGooAgAiB0EDdEUEQAwBCyAHQX9qQf////8BcSICQQFqIgNBB3EhBgJ/IAJBB0kEQEEAIQMgBQwBCyAFQTxqIQIgA0H4////A3EhCEEAIQMDQCACKAIAIAJBeGooAgAgAkFwaigCACACQWhqKAIAIAJBYGooAgAgAkFYaigCACACQVBqKAIAIAJBSGooAgAgA2pqampqampqIQMgAkFAayECIAhBeGoiCA0ACyACQURqCyAGRQ0AQQRqIQIDQCACKAIAIANqIQMgAkEIaiECIAZBf2oiBg0ACwsCQAJAAkAgCUUEQCADIQIMAQsCQCAHRQ0AIAUoAgQNACADQRBJDQILIAMgA2oiAiADSQ0BCyACRQ0AAkAgAkF/SgRAIAJBARCeASIDRQ0BDAMLEHMACyACQQEQswEAC0EBIQNBACECCyAAQQA2AgggACACNgIEIAAgAzYCACAEIAA2AgQgBEEYaiABQRBqKQIANwMAIARBEGogAUEIaikCADcDACAEIAEpAgA3AwggBEEEakG0kcAAIARBCGoQHkUEQCAEQSBqJAAPC0GkksAAQTMgBEEIakHMkcAAQfCSwAAQUgALzwMCDX8BfgJAIAVBf2oiDSABKAIUIghqIgcgA0kEQEEAIAEoAggiCmshDiAFIAEoAhAiD2shECABKAIcIQsgASkDACEUA0ACQAJAAkAgFCACIAdqMQAAiEIBg1BFBEAgCiAKIAsgCiALSxsgBhsiCSAFIAkgBUsbIQwgAiAIaiERIAkhBwJAA0AgByAMRgRAQQAgCyAGGyEMIAohBwJAAkACQANAIAwgB08EQCABIAUgCGoiAjYCFCAGRQ0CDA4LIAdBf2oiByAFTw0CIAcgCGoiCSADTw0DIAQgB2otAAAgAiAJai0AAEYNAAsgASAIIA9qIgg2AhQgECEHIAZFDQgMCQsgAUEANgIcDAsLIAcgBUHggMAAEFsACyAJIANB8IDAABBbAAsgByAIaiADTw0BIAcgEWohEiAEIAdqIAdBAWohBy0AACASLQAARg0ACyAIIA5qIAdqIQgMAgsgAyAIIAlqIgAgAyAASxsgA0HQgMAAEFsACyABIAUgCGoiCDYCFAtBACEHIAYNAQsgASAHNgIcIAchCwsgCCANaiIHIANJDQALCyABIAM2AhQgAEEANgIADwsgACAINgIEIABBCGogAjYCACAAQQE2AgALqwQCBX8BfkEBIQMCQCABKAIYIgRBJyABQRxqKAIAKAIQIgURAQANAEECIQFBMCECAkACfgJAAkACQAJAAkACQAJAIAAoAgAiAA4oCAEBAQEBAQEBAgQBAQMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBQALIABB3ABGDQQLIAAQK0UNBCAAQQFyZ0ECdkEHc61CgICAgNAAhAwFC0H0ACECDAULQfIAIQIMBAtB7gAhAgwDCyAAIQIMAgsgABA7BEBBASEBIAAhAgwCCyAAQQFyZ0ECdkEHc61CgICAgNAAhAshB0EDIQEgACECCwNAIAEhBkEAIQEgAiEAAkACQAJAAkACQCAGQQFrDgMEAgABCwJAAkACQAJAAkAgB0IgiKdB/wFxQQFrDgUABAECAwULIAdC/////49ggyEHQf0AIQBBAyEBDAcLIAdC/////49gg0KAgICAIIQhB0H7ACEAQQMhAQwGCyAHQv////+PYINCgICAgDCEIQdB9QAhAEEDIQEMBQsgB0L/////j2CDQoCAgIDAAIQhB0HcACEAQQMhAQwEC0EwQdcAIAIgB6ciAUECdHZBD3EiAEEKSRsgAGohACABRQ0CIAdCf3xC/////w+DIAdCgICAgHCDhCEHQQMhAQwDCyAEQScgBREBACEDDAQLQdwAIQBBASEBDAELIAdC/////49gg0KAgICAEIQhB0EDIQELIAQgACAFEQEARQ0ACwsgAwu7AwEGfyMAQRBrIgkkACAAQQRqKAIAIgYgACgCACIIIAGnIgpxIgdqKQAAQoCBgoSIkKDAgH+DIgFQBEBBCCEFA0AgBSAHaiEHIAVBCGohBSAGIAcgCHEiB2opAABCgIGChIiQoMCAf4MiAVANAAsLAkAgACgCCCAGIAF6p0EDdiAHaiAIcSIFaiwAACIHQX9KBH8gBiAGKQMAQoCBgoSIkKDAgH+DeqdBA3YiBWotAAAFIAcLQQFxIgdFcg0AIAlBCGogAEEBIAQQDCAAQQRqKAIAIgYgACgCACIIIApxIgRqKQAAQoCBgoSIkKDAgH+DIgFQBEBBCCEFA0AgBCAFaiEEIAVBCGohBSAGIAQgCHEiBGopAABCgIGChIiQoMCAf4MiAVANAAsLIAYgAXqnQQN2IARqIAhxIgVqLAAAQX9MDQAgBikDAEKAgYKEiJCgwIB/g3qnQQN2IQULIAUgBmogCkEZdiIEOgAAIAVBeGogCHEgBmpBCGogBDoAACAAIAAoAgggB2s2AgggACAAKAIMQQFqNgIMIAYgBUEDdGsiAEF4aiACNgIAIABBfGogAzYCACAJQRBqJAALgwMBA38CQAJAAkACQCABQQlPBEBBEEEIEJcBIAFLDQEMAgsgABALIQMMAgtBEEEIEJcBIQELQYCAfEEIQQgQlwFBFEEIEJcBakEQQQgQlwFqa0F3cUF9aiIEQQBBEEEIEJcBQQJ0ayICIAIgBEsbIAFrIABNDQAgAUEQIABBBGpBEEEIEJcBQXtqIABLG0EIEJcBIgRqQRBBCBCXAWpBfGoQCyICRQ0AIAIQvQEhAAJAIAFBf2oiAyACcUUEQCAAIQEMAQsgAiADakEAIAFrcRC9ASECQRBBCBCXASEDIAAQrwEgAkEAIAEgAiAAayADSxtqIgEgAGsiAmshAyAAEKUBRQRAIAEgAxCCASAAIAIQggEgACACECEMAQsgACgCACEAIAEgAzYCBCABIAAgAmo2AgALIAEQpQENASABEK8BIgJBEEEIEJcBIARqTQ0BIAEgBBC6ASEAIAEgBBCCASAAIAIgBGsiBBCCASAAIAQQIQwBCyADDwsgARC8ASABEKUBGgv3AgEEfyMAQRBrIgMkACAAIAFHBEAgAkEIaiEEA0AgAEEEagJAAn8CQAJAIAAoAgAiAEGAAU8EQCADQQA2AgwgAEGAEEkNASAAQYCABE8NAiADIABBP3FBgAFyOgAOIAMgAEEMdkHgAXI6AAwgAyAAQQZ2QT9xQYABcjoADUEDDAMLIAQoAgAiBSACQQRqKAIARgR/IAIgBRBAIAQoAgAFIAULIAIoAgBqIAA6AAAgBCAEKAIAQQFqNgIADAMLIAMgAEE/cUGAAXI6AA0gAyAAQQZ2QcABcjoADEECDAELIAMgAEE/cUGAAXI6AA8gAyAAQQZ2QT9xQYABcjoADiADIABBDHZBP3FBgAFyOgANIAMgAEESdkEHcUHwAXI6AAxBBAshACACQQRqKAIAIAQoAgAiBWsgAEkEQCACIAUgABBBIAQoAgAhBQsgAigCACAFaiADQQxqIAAQuQEaIAQgACAFajYCAAsiACABRw0ACwsgA0EQaiQAC9QCAQd/QQEhCQJAAkAgAkUNACABIAJBAXRqIQogAEGA/gNxQQh2IQsgAEH/AXEhDQJAA0AgAUECaiEMIAcgAS0AASICaiEIIAsgAS0AACIBRwRAIAEgC0sNAyAIIQcgDCIBIApHDQEMAwsgCCAHTwRAIAggBEsNAiADIAdqIQECQANAIAJFDQEgAkF/aiECIAEtAAAgAUEBaiEBIA1HDQALQQAhCQwFCyAIIQcgDCIBIApHDQEMAwsLIAcgCBC2AQALIAggBBC1AQALIAZFDQAgBSAGaiEDIABB//8DcSEBA0ACQCAFQQFqIQACfyAAIAUtAAAiAkEYdEEYdSIEQQBODQAaIAAgA0YNASAFLQABIARB/wBxQQh0ciECIAVBAmoLIQUgASACayIBQQBIDQIgCUEBcyEJIAMgBUcNAQwCCwtB0JPAAEGMm8AAEG8ACyAJQQFxC+ICAQN/IwBBEGsiAiQAIAAoAgAhAAJAAn8CQAJAIAFBgAFPBEAgAkEANgIMIAFBgBBJDQEgAUGAgARPDQIgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyAAKAIIIgMgAEEEaigCAEYEfyAAIAMQQCAAKAIIBSADCyAAKAIAaiABOgAAIAAgACgCCEEBajYCCAwDCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgwBCyACIAFBP3FBgAFyOgAPIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQQLIQEgAEEEaigCACAAQQhqIgQoAgAiA2sgAUkEQCAAIAMgARBBIAQoAgAhAwsgACgCACADaiACQQxqIAEQuQEaIAQgASADajYCAAsgAkEQaiQAQQAL4QIBBX8gAEELdCEEQSAhAkEgIQMCQANAAkACQCACQQF2IAFqIgJBAnRB6KbAAGooAgBBC3QiBSAETwRAIAQgBUYNAiACIQMMAQsgAkEBaiEBCyADIAFrIQIgAyABSw0BDAILCyACQQFqIQELAkACQCABQR9NBEAgAUECdCEEQcMFIQMgAUEfRwRAIARB7KbAAGooAgBBFXYhAwtBACEFIAFBf2oiAiABTQRAIAJBIE8NAiACQQJ0QeimwABqKAIAQf///wBxIQULAkAgAyAEQeimwABqKAIAQRV2IgFBf3NqRQ0AIAAgBWshBCABQcMFIAFBwwVLGyECIANBf2ohAEEAIQMDQCABIAJGDQQgAyABQeinwABqLQAAaiIDIARLDQEgACABQQFqIgFHDQALIAAhAQsgAUEBcQ8LIAFBIEGwpsAAEFsACyACQSBB0KbAABBbAAsgAkHDBUHApsAAEFsAC90CAQV/IABBC3QhBEEEIQJBBCEDAkADQAJAAkAgAkEBdiABaiICQQJ0QaytwABqKAIAQQt0IgUgBE8EQCAEIAVGDQIgAiEDDAELIAJBAWohAQsgAyABayECIAMgAUsNAQwCCwsgAkEBaiEBCwJAAkAgAUEDTQRAIAFBAnQhBEEVIQMgAUEDRwRAIARBsK3AAGooAgBBFXYhAwtBACEFIAFBf2oiAiABTQRAIAJBBE8NAiACQQJ0QaytwABqKAIAQf///wBxIQULAkAgAyAEQaytwABqKAIAQRV2IgFBf3NqRQ0AIAAgBWshBCABQRUgAUEVSxshAiADQX9qIQBBACEDA0AgASACRg0EIAMgAUG8rcAAai0AAGoiAyAESw0BIAAgAUEBaiIBRw0ACyAAIQELIAFBAXEPCyABQQRBsKbAABBbAAsgAkEEQdCmwAAQWwALIAJBFUHApsAAEFsAC9sCAQN/IwBBEGsiAiQAAkACfwJAAkAgAUGAAU8EQCACQQA2AgwgAUGAEEkNASABQYCABE8NAiACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDDAMLIAAoAggiAyAAQQRqKAIARgR/IAAgAxBAIAAoAggFIAMLIAAoAgBqIAE6AAAgACAAKAIIQQFqNgIIDAMLIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANIAIgAUESdkEHcUHwAXI6AAxBBAshASAAQQRqKAIAIABBCGoiBCgCACIDayABSQRAIAAgAyABEEEgBCgCACEDCyAAKAIAIANqIAJBDGogARC5ARogBCABIANqNgIACyACQRBqJABBAAvVAgEDfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQTw0BIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAILIAAoAggiAyAAQQRqKAIARgRAIAAgAxBDIAAoAgghAwsgACADQQFqNgIIIAAoAgAgA2ogAToAAAwCCyABQYCABE8EQCACIAFBP3FBgAFyOgAPIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQQMAQsgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwshASAAQQRqKAIAIABBCGoiBCgCACIDayABSQRAIAAgAyABEEIgBCgCACEDCyAAKAIAIANqIAJBDGogARC5ARogBCABIANqNgIACyACQRBqJAAL1wIBA38jAEEQayICJAACQAJ/AkACQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgACgCCCIDIABBBGooAgBGBEAgACADEEMgACgCCCEDCyAAIANBAWo2AgggACgCACADaiABOgAADAMLIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQQZ2QT9xQYABcjoADiAC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AiADKAIIIgRNBEAgASECDAELIARFBEBBASECIAEQFQwBCyABIAJBASAEEJkBIgJFDQMLIAAgBDYCBCAAIAI2AgAgA0EQaiQADwsQrQEACxCuAQALIARBARCzAQALrAEBA38jAEEQayIDJAACQAJAIAEEQCABKAIAIgJBf0YNASABIAJBAWo2AgAgAyABQRBqEGEgASABKAIAQX9qNgIAIAMoAgAhAQJAIAMoAgQiAiADKAIIIgRNBEAgASECDAELIARFBEBBASECIAEQFQwBCyABIAJBASAEEJkBIgJFDQMLIAAgBDYCBCAAIAI2AgAgA0EQaiQADwsQrQEACxCuAQALIARBARCzAQALrAEBA38jAEEQayIDJAACQAJAIAEEQCABKAIAIgJBf0YNASABIAJBAWo2AgAgAyABQSxqEGEgASABKAIAQX9qNgIAIAMoAgAhAQJAIAMoAgQiAiADKAIIIgRNBEAgASECDAELIARFBEBBASECIAEQFQwBCyABIAJBASAEEJkBIgJFDQMLIAAgBDYCBCAAIAI2AgAgA0EQaiQADwsQrQEACxCuAQALIARBARCzAQALrAEBA38jAEEwayICJAAgAUEEaiEDIAEoAgRFBEAgASgCACEBIAJBEGoiBEEANgIAIAJCATcDCCACIAJBCGo2AhQgAkEoaiABQRBqKQIANwMAIAJBIGogAUEIaikCADcDACACIAEpAgA3AxggAkEUakGAjsAAIAJBGGoQHhogA0EIaiAEKAIANgIAIAMgAikDCDcCAAsgAEHoj8AANgIEIAAgAzYCACACQTBqJAALkAEBAn8CQAJ/AkACQAJAAn9BASIDIAFBAEgNABogAigCCEUNAiACKAIEIgQNASABDQNBAQwECyEDQQAhAQwECyACKAIAIARBASABEJkBDAILIAENAEEBDAELIAFBARCeAQsiAgRAIAAgAjYCBEEAIQMMAQsgACABNgIEQQEhAQsgACADNgIAIABBCGogATYCAAunAQECfwJAAkACQAJAAkACQAJAAn8gAgRAQQEiBCABQQBIDQEaIAMoAghFDQMgAygCBCIFDQIgAQ0EDAYLIAAgATYCBEEBCyEEQQAhAQwGCyADKAIAIAUgAiABEJkBIgNFDQIMBAsgAUUNAgsgASACEJ4BIgMNAgsgACABNgIEIAIhAQwCCyACIQML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AX8jAEEwayICJAAgAiABNgIEIAIgADYCACACQRxqQQI2AgAgAkEsakEDNgIAIAJCAjcCDCACQfSWwAA2AgggAkEDNgIkIAIgAkEgajYCGCACIAJBBGo2AiggAiACNgIgIAJBCGpBhJfAABB0AAtsAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EcakECNgIAIANBLGpBAzYCACADQgI3AgwgA0HAk8AANgIIIANBAzYCJCADIANBIGo2AhggAyADNgIoIAMgA0EEajYCICADQQhqIAIQdAALVgECfyMAQSBrIgIkACAAQRxqKAIAIQMgACgCGCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCADIAJBCGoQHiACQSBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGYisAAIAJBCGoQHiACQSBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGAjsAAIAJBCGoQHiACQSBqJAALZwAjAEEwayIBJABB2K3AAC0AAARAIAFBHGpBATYCACABQgI3AgwgAUH0jsAANgIIIAFBAzYCJCABIAA2AiwgASABQSBqNgIYIAEgAUEsajYCICABQQhqQZyPwAAQdAALIAFBMGokAAtZAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQbSRwAAgAkEIahAeIAJBIGokAAtnAQJ/IAEoAgAhAwJAAkACQCABQQhqKAIAIgFFBEBBASECDAELIAFBf0wNASABQQEQngEiAkUNAgsgAiADIAEQuQEhAiAAIAE2AgggACABNgIEIAAgAjYCAA8LEHMACyABQQEQswEAC1YBAX8jAEEgayICJAAgAiAANgIEIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpBmIrAACACQQhqEB4gAkEgaiQAC1YBAX8CQCAABEAgACgCAA0BIABBfzYCACAAQQhqIgMoAgAEQCAAKAIEEBULIAAgATYCBCAAQQA2AgAgAEEMaiACNgIAIAMgAjYCAA8LEK0BAAsQrgEAC1YBAX8CQCAABEAgACgCAA0BIABBfzYCACAAQRRqIgMoAgAEQCAAKAIQEBULIAAgATYCECAAQQA2AgAgAEEYaiACNgIAIAMgAjYCAA8LEK0BAAsQrgEAC1YBAX8CQCAABEAgACgCAA0BIABBfzYCACAAQTBqIgMoAgAEQCAAKAIsEBULIAAgATYCLCAAQQA2AgAgAEE0aiACNgIAIAMgAjYCAA8LEK0BAAsQrgEAC1YBAX8jAEEQayIFJAAgASgCACACKAIAIAMoAgAgBCgCABAIIQEgBUEIahCDASAFKAIMIQIgACAFKAIIIgNBAEc2AgAgACACIAEgAxs2AgQgBUEQaiQAC08BAn8gACgCACIDQQRqKAIAIANBCGoiBCgCACIAayACSQRAIAMgACACEEEgBCgCACEACyADKAIAIABqIAEgAhC5ARogBCAAIAJqNgIAQQALTwECfyAAKAIAIgNBBGooAgAgA0EIaiIEKAIAIgBrIAJJBEAgAyAAIAIQQiAEKAIAIQALIAMoAgAgAGogASACELkBGiAEIAAgAmo2AgBBAAtRAQF/IwBBEGsiBCQAIAEoAgAgAigCACADKAIAEAchASAEQQhqEIMBIAQoAgwhAiAAIAQoAggiA0EARzYCACAAIAIgASADGzYCBCAEQRBqJAALSgECfyAAQQRqKAIAIABBCGoiBCgCACIDayACSQRAIAAgAyACEEEgBCgCACEDCyAAKAIAIANqIAEgAhC5ARogBCACIANqNgIAQQALPwEBfyMAQSBrIgAkACAAQRxqQQA2AgAgAEGwkMAANgIYIABCATcCDCAAQcyQwAA2AgggAEEIakGkkcAAEHQAC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCAAQQFqIQAgAUEBaiEBIAJBf2oiAg0BDAILCyAEIAVrIQMLIAMLTAECfyMAQRBrIgMkACABKAIAIAIoAgAQAyEBIANBCGoQgwEgAygCDCECIAAgAygCCCIEQQBHNgIAIAAgAiABIAQbNgIEIANBEGokAAtLAAJAAn8gAUGAgMQARwRAQQEgACgCGCABIABBHGooAgAoAhARAQANARoLIAINAUEACw8LIAAoAhggAiADIABBHGooAgAoAgwRAwALRwEBfyMAQSBrIgIkACACQRRqQQA2AgAgAkGAk8AANgIQIAJCATcCBCACQSs2AhwgAiAANgIYIAIgAkEYajYCACACIAEQdAALRgECfyABKAIEIQIgASgCACEDQQhBBBCeASIBRQRAQQhBBBCzAQALIAEgAjYCBCABIAM2AgAgAEH4j8AANgIEIAAgATYCAAs5AQF/IAFBEHZAACECIABBADYCCCAAQQAgAUGAgHxxIAJBf0YiARs2AgQgAEEAIAJBEHQgARs2AgALZAEDfyMAQRBrIgEkACAAKAIMIgJFBEBBmI7AAEHIj8AAEG8ACyAAKAIIIgNFBEBBmI7AAEHYj8AAEG8ACyABIAI2AgggASAANgIEIAEgAzYCACABKAIAIAEoAgQgASgCCBBQAAs/AQF/IwBBIGsiACQAIABBHGpBADYCACAAQcyRwAA2AhggAEIBNwIMIABBjJLAADYCCCAAQQhqQZSSwAAQdAALPgEBfyMAQSBrIgIkACACQQE6ABggAiABNgIUIAIgADYCECACQfyTwAA2AgwgAkGAk8AANgIIIAJBCGoQcgALKwACQCAAQXxLDQAgAEUEQEEEDwsgACAAQX1JQQJ0EJ4BIgBFDQAgAA8LAAsiACMAQRBrIgAkACAAQQhqIAEQfSAAQQhqEFMgAEEQaiQACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEcaiABNgIADwsQrQEACxCuAQALKwACQCAABEAgACgCAA0BIABBADYCACAAQSBqIAE2AgAPCxCtAQALEK4BAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBJGogATYCAA8LEK0BAAsQrgEACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEoaiABNgIADwsQrQEACxCuAQALQAEBfyMAQRBrIgQkACAEIAM2AgwgBCACNgIIIAQgATYCBCAEIAA2AgAgBCgCACAEKAIEIAQoAgggBCgCDBATAAs3ACAAQQM6ACAgAEKAgICAgAQ3AgAgACABNgIYIABBADYCECAAQQA2AgggAEEcakHEh8AANgIACzUBAX8gASgCGEHDjsAAQQsgAUEcaigCACgCDBEDACECIABBADoABSAAIAI6AAQgACABNgIACyUAAkAgAARAIAAoAgBBf0YNASAAQRxqKAIADwsQrQEACxCuAQALJQACQCAABEAgACgCAEF/Rg0BIABBIGooAgAPCxCtAQALEK4BAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEkaigCAA8LEK0BAAsQrgEACyUAAkAgAARAIAAoAgBBf0YNASAAQShqKAIADwsQrQEACxCuAQALJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECzoBAn9B3K3AAC0AACEBQdytwABBADoAAEHgrcAAKAIAIQJB4K3AAEEANgIAIAAgAjYCBCAAIAE2AgALIAEBfwJAIAAoAgQiAUUNACAAQQhqKAIARQ0AIAEQFQsLHwACQCABQXxNBEAgACABQQQgAhCZASIADQELAAsgAAsjACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAslACAARQRAQciMwABBMBCsAQALIAAgAiADIAQgBSABKAIQEQoACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQEQgACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQEQcACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQERUACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQERIACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQERQACx4AIAAgAUEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsUACAAQQRqKAIABEAgACgCABAVCwshACAARQRAQciMwABBMBCsAQALIAAgAiADIAEoAhARBAALHwAgAEUEQEHIjMAAQTAQrAEACyAAIAIgASgCEBEBAAsZAQF/IAAoAhAiAQR/IAEFIABBFGooAgALCxkAIAAoAgAiACgCACAAQQhqKAIAIAEQtwELEgBBAEEZIABBAXZrIABBH0YbCxYAIAAgAUEBcjYCBCAAIAFqIAE2AgALHAAgASgCGEHgpsAAQQUgAUEcaigCACgCDBEDAAsTACAAKAIAIgBBJE8EQCAAEAALCxAAIAAgAWpBf2pBACABa3ELFAAgACgCACAAQQhqKAIAIAEQtwELDAAgACABIAIgAxAYCwsAIAEEQCAAEBULCw8AIABBAXQiAEEAIABrcgsUACAAKAIAIAEg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BAAAAAQAAAARAAAAEgAAABMAAABjYW5ub3QgYWNjZXNzIGEgVGhyZWFkIExvY2FsIFN0b3JhZ2UgdmFsdWUgZHVyaW5nIG9yIGFmdGVyIGRlc3RydWN0aW9uL3J1c3RjL2E1NWRkNzFkNWZiMGVjNWE2YTNhOWU4YzI3YjIxMjdiYTQ5MWNlNTIvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAAAHYFEABPAAAApQEAABoAAAAUAAAAAAAAAAEAAAAVAAAAL3J1c3RjL2E1NWRkNzFkNWZiMGVjNWE2YTNhOWU4YzI3YjIxMjdiYTQ5MWNlNTIvbGlicmFyeS9jb3JlL3NyYy9zdHIvcGF0dGVybi5ycwDoBRAATwAAALcBAAAmAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGRlc3Ryb3llZCBhbHJlYWR5SnNWYWx1ZSgpAAAAeAYQAAgAAACABhAAAQAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3QAACQAAAAEAAAABAAAACUAAAAmAAAAJwAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVBY2Nlc3NFcnJvcm1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQKAAAATgcQABUAAABjBxAADgAAAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5yc4QHEAAYAAAAUgEAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzrAcQABwAAABGAgAAHwAAAKwHEAAcAAAARwIAAB4AAAAoAAAADAAAAAQAAAApAAAAJAAAAAgAAAAEAAAAKgAAACsAAAAQAAAABAAAACwAAAAtAAAAJAAAAAgAAAAEAAAALgAAAC8AAABIYXNoIHRhYmxlIGNhcGFjaXR5IG92ZXJmbG93MAgQABwAAAAvY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9oYXNoYnJvd24tMC4xMi4zL3NyYy9yYXcvbW9kLnJzAFQIEABPAAAAWgAAACgAAAAwAAAABAAAAAQAAAAxAAAAMgAAADMAAAAwAAAAAAAAAAEAAAAHAAAAbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc2NhcGFjaXR5IG92ZXJmbG93AAAA+AgQABEAAADcCBAAHAAAAAYCAAAFAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9ybGlicmFyeS9hbGxvYy9zcmMvZm10LnJzAFcJEAAYAAAAZAIAACAAAAAuLgAAgAkQAAIAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIAAAjAkQACAAAACsCRAAEgAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUAOQAAAAAAAAABAAAAOgAAAGA6IACACRAAAAAAAA0KEAACAAAAfSB9MHgwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OXJhbmdlIHN0YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCAAAADtChAAEgAAAP8KEAAiAAAAbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pbmRleC5ycwA0CxAAHwAAADQAAAAFAAAAcmFuZ2UgZW5kIGluZGV4IGQLEAAQAAAA/woQACIAAAA0CxAAHwAAAEkAAAAFAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCAAlAsQABYAAACqCxAADQAAADQLEAAfAAAAXAAAAAUAAABsaWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzANgLEAAfAAAAGgYAABUAAADYCxAAHwAAAEgGAAAVAAAA2AsQAB8AAABJBgAA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");var Ti=class{async init(){await Vo(zo);let e=new Kt("<%","%>","\0","*","-","_","tR");this.renderer=new sn(e)}async parse_commands(e,t){return this.renderer.render_content(e,t)}};var Xe;(function(a){a[a.CreateNewFromTemplate=0]="CreateNewFromTemplate",a[a.AppendActiveFile=1]="AppendActiveFile",a[a.OverwriteFile=2]="OverwriteFile",a[a.OverwriteActiveFile=3]="OverwriteActiveFile",a[a.DynamicProcessor=4]="DynamicProcessor",a[a.StartupTemplate=5]="StartupTemplate"})(Xe||(Xe={}));var Pn=class{constructor(e){this.plugin=e;this.functions_generator=new vi(this.plugin),this.parser=new Ti}async setup(){this.files_with_pending_templates=new Set,await this.parser.init(),await this.functions_generator.init(),this.plugin.registerMarkdownPostProcessor((e,t)=>this.process_dynamic_templates(e,t))}create_running_config(e,t,r){let i=Xt(this.plugin.app);return{template_file:e,target_file:t,run_mode:r,active_file:i}}async read_and_parse_template(e){let t=await this.plugin.app.vault.read(e.template_file);return this.parse_template(e,t)}async parse_template(e,t){let r=await this.functions_generator.generate_object(e,Qe.USER_INTERNAL);return this.current_functions_object=r,await this.parser.parse_commands(t,r)}start_templater_task(e){this.files_with_pending_templates.add(e)}async end_templater_task(e){this.files_with_pending_templates.delete(e),this.files_with_pending_templates.size===0&&(this.plugin.app.workspace.trigger("templater:all-templates-executed"),await this.functions_generator.teardown())}async create_new_note_from_template(e,t,r,i=!0){if(!t)switch(this.plugin.app.vault.getConfig("newFileLocation")){case"current":{let _=Xt(this.plugin.app);_&&(t=_.parent);break}case"folder":t=this.plugin.app.fileManager.getNewFileParent("");break;case"root":t=this.plugin.app.vault.getRoot();break;default:break}let o=e instanceof de.TFile&&e.extension||"md",a=await Se(async()=>{let m=t instanceof de.TFolder?t.path:t,_=this.plugin.app.vault.getAvailablePath((0,de.normalizePath)(`${m??""}/${r||"Untitled"}`),o),w=co(_);return w&&!this.plugin.app.vault.getAbstractFileByPathInsensitive(w)&&await this.plugin.app.vault.createFolder(w),this.plugin.app.vault.create(_,"")},`Couldn't create ${o} file.`);if(a==null)return;let{path:l}=a;this.start_templater_task(l);let c,d;if(e instanceof de.TFile?(c=this.create_running_config(e,a,0),d=await Se(async()=>this.read_and_parse_template(c),"Template parsing error, aborting.")):(c=this.create_running_config(void 0,a,0),d=await Se(async()=>this.parse_template(c,e),"Template parsing error, aborting.")),d==null){await this.plugin.app.vault.delete(a),await this.end_templater_task(l);return}if(await this.plugin.app.vault.modify(a,d),this.plugin.app.workspace.trigger("templater:new-note-from-template",{file:a,content:d}),i){let m=this.plugin.app.workspace.getLeaf(!1);if(!m){oe(new P("No active leaf"));return}await m.openFile(a,{state:{mode:"source"}}),await this.plugin.editor_handler.jump_to_next_cursor_location(a,!0),m.setEphemeralState({rename:"all"})}return await this.end_templater_task(l),a}async append_template_to_active_file(e){let t=this.plugin.app.workspace.getActiveViewOfType(de.MarkdownView),r=this.plugin.app.workspace.activeEditor;if(!r||!r.file||!r.editor){oe(new P("No active editor, can't append templates."));return}let{path:i}=r.file;this.start_templater_task(i);let o=this.create_running_config(e,r.file,1),a=await Se(async()=>this.read_and_parse_template(o),"Template parsing error, aborting.");if(a==null){await this.end_templater_task(i);return}let{content:l,frontmatter:c}=yn(a),m=r.editor.getDoc(),_=m.listSelections();m.replaceSelection(l),t&&(Object.keys(c).length>0&&t instanceof de.MarkdownView&&typeof t.metadataEditor?.insertProperties=="function"&&t.metadataEditor.insertProperties(c),await yt(100),await t.save()),this.plugin.app.workspace.trigger("templater:template-appended",{view:t,editor:r,content:a,oldSelections:_,newSelections:m.listSelections()}),await this.plugin.editor_handler.jump_to_next_cursor_location(r.file,!0),await this.end_templater_task(i)}async write_template_to_file(e,t){let{path:r}=t;this.start_templater_task(r);let i=this.plugin.app.workspace.getActiveViewOfType(de.MarkdownView),o=this.plugin.app.workspace.activeEditor,a=Xt(this.plugin.app),l=this.create_running_config(e,t,2),c=await Se(async()=>this.read_and_parse_template(l),"Template parsing error, aborting.");if(c==null){await this.end_templater_task(r);return}let{content:d,frontmatter:m}=yn(c);if(a?.path===t.path&&o&&o.editor&&i){let _="",{content:w,frontmatter:b}=yn(o.editor.getValue());pr(b,m),Object.keys(b).length>0&&(_+=`--- +`)}catch{console.error("Failed to parse summary section")}}function as(n){if(!n)return"";try{return n.content.nodes[0].getChildNodes()[0].text.trim()}catch{return""}}function ss(n){try{return n.blocks.map(r=>{let i=r.parameterName,o=r.content.getChildNodes()[0].getChildNodes().filter(a=>a instanceof Ve).map(a=>a.text).join(" ");return new Yr(i,o)})}catch{return[]}}function Mt(n,e,t){if(t<0||t===n.length)return;let r=n[e];n[e]=n[t],n[t]=r}function Xt(n){return n.workspace.activeEditor?.file??n.workspace.getActiveFile()}function co(n){let e=n.lastIndexOf("/");return e!==-1?n.slice(0,e):""}function xn(n){return n!==null&&typeof n=="object"}function lo(n){let e=n.toString(),t=e.indexOf("(");return e.substring(t+1,e.indexOf(")")).replace(/ /g,"").split(",")}function Ur(n,e,t){let r=n instanceof HTMLOListElement?"li":"p",i=n.createEl(r),o=n.createEl("b",{text:e});return i.appendChild(o),i.appendChild(document.createTextNode(`: ${t}`)),i}function pr(n,e){if(Object.keys(e).length!==0){for(let t in e)if(e.hasOwnProperty(t))if(n.hasOwnProperty(t)){let r=n[t],i=e[t];if(Array.isArray(r)||Array.isArray(i)){let o=Array.isArray(r)?r:[r],a=Array.isArray(i)?i:[i];n[t]=o.concat(a).unique()}else xn(r)&&xn(i)?pr(r,i):i!=null&&i!==""&&(n[t]=i)}else n[t]=e[t]}}function yn(n){let e={},t=(0,Te.getFrontMatterInfo)(n);return t.frontmatter&&(e=(0,Te.parseYaml)(t.frontmatter)),{frontmatter:e,content:n.slice(t.contentStart)}}var Oo=X(require("obsidian"));var No=X(require("obsidian"));var ie="top",ue="bottom",ce="right",ae="left",ur="auto",vt=[ie,ue,ce,ae],pt="start",Ot="end",po="clippingParents",fr="viewport",Zt="popper",uo="reference",Gr=vt.reduce(function(n,e){return n.concat([e+"-"+pt,e+"-"+Ot])},[]),dr=[].concat(vt,[ur]).reduce(function(n,e){return n.concat([e,e+"-"+pt,e+"-"+Ot])},[]),cs="beforeRead",ls="read",ps="afterRead",us="beforeMain",fs="main",ds="afterMain",ms="beforeWrite",gs="write",hs="afterWrite",fo=[cs,ls,ps,us,fs,ds,ms,gs,hs];function me(n){return n?(n.nodeName||"").toLowerCase():null}function Z(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function Me(n){var e=Z(n).Element;return n instanceof e||n instanceof Element}function fe(n){var e=Z(n).HTMLElement;return n instanceof e||n instanceof HTMLElement}function en(n){if(typeof ShadowRoot=="undefined")return!1;var e=Z(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function As(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var r=e.styles[t]||{},i=e.attributes[t]||{},o=e.elements[t];!fe(o)||!me(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(a){var l=i[a];l===!1?o.removeAttribute(a):o.setAttribute(a,l===!0?"":l)}))})}function _s(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(r){var i=e.elements[r],o=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:t[r]),l=a.reduce(function(c,d){return c[d]="",c},{});!fe(i)||!me(i)||(Object.assign(i.style,l),Object.keys(o).forEach(function(c){i.removeAttribute(c)}))})}}var mo={name:"applyStyles",enabled:!0,phase:"write",fn:As,effect:_s,requires:["computeStyles"]};function ge(n){return n.split("-")[0]}var qe=Math.max,Bt=Math.min,ut=Math.round;function tn(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function jn(){return!/^((?!chrome|android).)*safari/i.test(tn())}function Oe(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var r=n.getBoundingClientRect(),i=1,o=1;e&&fe(n)&&(i=n.offsetWidth>0&&ut(r.width)/n.offsetWidth||1,o=n.offsetHeight>0&&ut(r.height)/n.offsetHeight||1);var a=Me(n)?Z(n):window,l=a.visualViewport,c=!jn()&&t,d=(r.left+(c&&l?l.offsetLeft:0))/i,m=(r.top+(c&&l?l.offsetTop:0))/o,_=r.width/i,w=r.height/o;return{width:_,height:w,top:m,right:d+_,bottom:m+w,left:d,x:d,y:m}}function It(n){var e=Oe(n),t=n.offsetWidth,r=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:r}}function vn(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&en(t)){var r=e;do{if(r&&n.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function we(n){return Z(n).getComputedStyle(n)}function Wr(n){return["table","td","th"].indexOf(me(n))>=0}function Ae(n){return((Me(n)?n.ownerDocument:n.document)||window.document).documentElement}function ft(n){return me(n)==="html"?n:n.assignedSlot||n.parentNode||(en(n)?n.host:null)||Ae(n)}function go(n){return!fe(n)||we(n).position==="fixed"?null:n.offsetParent}function xs(n){var e=/firefox/i.test(tn()),t=/Trident/i.test(tn());if(t&&fe(n)){var r=we(n);if(r.position==="fixed")return null}var i=ft(n);for(en(i)&&(i=i.host);fe(i)&&["html","body"].indexOf(me(i))<0;){var o=we(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||e&&o.willChange==="filter"||e&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function Le(n){for(var e=Z(n),t=go(n);t&&Wr(t)&&we(t).position==="static";)t=go(t);return t&&(me(t)==="html"||me(t)==="body"&&we(t).position==="static")?e:t||xs(n)||e}function Ft(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function qt(n,e,t){return qe(n,Bt(e,t))}function ho(n,e,t){var r=qt(n,e,t);return r>t?t:r}function wn(){return{top:0,right:0,bottom:0,left:0}}function bn(n){return Object.assign({},wn(),n)}function En(n,e){return e.reduce(function(t,r){return t[r]=n,t},{})}var ys=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,bn(typeof e!="number"?e:En(e,vt))};function js(n){var e,t=n.state,r=n.name,i=n.options,o=t.elements.arrow,a=t.modifiersData.popperOffsets,l=ge(t.placement),c=Ft(l),d=[ae,ce].indexOf(l)>=0,m=d?"height":"width";if(!(!o||!a)){var _=ys(i.padding,t),w=It(o),b=c==="y"?ie:ae,S=c==="y"?ue:ce,k=t.rects.reference[m]+t.rects.reference[c]-a[c]-t.rects.popper[m],E=a[c]-t.rects.reference[c],O=Le(o),$=O?c==="y"?O.clientHeight||0:O.clientWidth||0:0,K=k/2-E/2,D=_[b],H=$-w[m]-_[S],F=$/2-w[m]/2+K,J=qt(D,F,H),te=c;t.modifiersData[r]=(e={},e[te]=J,e.centerOffset=J-F,e)}}function vs(n){var e=n.state,t=n.options,r=t.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||!vn(e.elements.popper,i)||(e.elements.arrow=i))}var Ao={name:"arrow",enabled:!0,phase:"main",fn:js,effect:vs,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Be(n){return n.split("-")[1]}var ws={top:"auto",right:"auto",bottom:"auto",left:"auto"};function bs(n,e){var t=n.x,r=n.y,i=e.devicePixelRatio||1;return{x:ut(t*i)/i||0,y:ut(r*i)/i||0}}function _o(n){var e,t=n.popper,r=n.popperRect,i=n.placement,o=n.variation,a=n.offsets,l=n.position,c=n.gpuAcceleration,d=n.adaptive,m=n.roundOffsets,_=n.isFixed,w=a.x,b=w===void 0?0:w,S=a.y,k=S===void 0?0:S,E=typeof m=="function"?m({x:b,y:k}):{x:b,y:k};b=E.x,k=E.y;var O=a.hasOwnProperty("x"),$=a.hasOwnProperty("y"),K=ae,D=ie,H=window;if(d){var F=Le(t),J="clientHeight",te="clientWidth";if(F===Z(t)&&(F=Ae(t),we(F).position!=="static"&&l==="absolute"&&(J="scrollHeight",te="scrollWidth")),F=F,i===ie||(i===ae||i===ce)&&o===Ot){D=ue;var ne=_&&F===H&&H.visualViewport?H.visualViewport.height:F[J];k-=ne-r.height,k*=c?1:-1}if(i===ae||(i===ie||i===ue)&&o===Ot){K=ce;var Q=_&&F===H&&H.visualViewport?H.visualViewport.width:F[te];b-=Q-r.width,b*=c?1:-1}}var h=Object.assign({position:l},d&&ws),C=m===!0?bs({x:b,y:k},Z(t)):{x:b,y:k};if(b=C.x,k=C.y,c){var f;return Object.assign({},h,(f={},f[D]=$?"0":"",f[K]=O?"0":"",f.transform=(H.devicePixelRatio||1)<=1?"translate("+b+"px, "+k+"px)":"translate3d("+b+"px, "+k+"px, 0)",f))}return Object.assign({},h,(e={},e[D]=$?k+"px":"",e[K]=O?b+"px":"",e.transform="",e))}function Es(n){var e=n.state,t=n.options,r=t.gpuAcceleration,i=r===void 0?!0:r,o=t.adaptive,a=o===void 0?!0:o,l=t.roundOffsets,c=l===void 0?!0:l,d={placement:ge(e.placement),variation:Be(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,_o(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,_o(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var xo={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Es,data:{}};var mr={passive:!0};function Ts(n){var e=n.state,t=n.instance,r=n.options,i=r.scroll,o=i===void 0?!0:i,a=r.resize,l=a===void 0?!0:a,c=Z(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&d.forEach(function(m){m.addEventListener("scroll",t.update,mr)}),l&&c.addEventListener("resize",t.update,mr),function(){o&&d.forEach(function(m){m.removeEventListener("scroll",t.update,mr)}),l&&c.removeEventListener("resize",t.update,mr)}}var yo={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ts,data:{}};var ks={left:"right",right:"left",bottom:"top",top:"bottom"};function nn(n){return n.replace(/left|right|bottom|top/g,function(e){return ks[e]})}var Ss={start:"end",end:"start"};function gr(n){return n.replace(/start|end/g,function(e){return Ss[e]})}function Lt(n){var e=Z(n),t=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:t,scrollTop:r}}function Ht(n){return Oe(Ae(n)).left+Lt(n).scrollLeft}function Vr(n,e){var t=Z(n),r=Ae(n),i=t.visualViewport,o=r.clientWidth,a=r.clientHeight,l=0,c=0;if(i){o=i.width,a=i.height;var d=jn();(d||!d&&e==="fixed")&&(l=i.offsetLeft,c=i.offsetTop)}return{width:o,height:a,x:l+Ht(n),y:c}}function zr(n){var e,t=Ae(n),r=Lt(n),i=(e=n.ownerDocument)==null?void 0:e.body,o=qe(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=qe(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),l=-r.scrollLeft+Ht(n),c=-r.scrollTop;return we(i||t).direction==="rtl"&&(l+=qe(t.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function $t(n){var e=we(n),t=e.overflow,r=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+i+r)}function hr(n){return["html","body","#document"].indexOf(me(n))>=0?n.ownerDocument.body:fe(n)&&$t(n)?n:hr(ft(n))}function wt(n,e){var t;e===void 0&&(e=[]);var r=hr(n),i=r===((t=n.ownerDocument)==null?void 0:t.body),o=Z(r),a=i?[o].concat(o.visualViewport||[],$t(r)?r:[]):r,l=e.concat(a);return i?l:l.concat(wt(ft(a)))}function rn(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function Cs(n,e){var t=Oe(n,!1,e==="fixed");return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function jo(n,e,t){return e===fr?rn(Vr(n,t)):Me(e)?Cs(e,t):rn(zr(Ae(n)))}function Ds(n){var e=wt(ft(n)),t=["absolute","fixed"].indexOf(we(n).position)>=0,r=t&&fe(n)?Le(n):n;return Me(r)?e.filter(function(i){return Me(i)&&vn(i,r)&&me(i)!=="body"}):[]}function Jr(n,e,t,r){var i=e==="clippingParents"?Ds(n):[].concat(e),o=[].concat(i,[t]),a=o[0],l=o.reduce(function(c,d){var m=jo(n,d,r);return c.top=qe(m.top,c.top),c.right=Bt(m.right,c.right),c.bottom=Bt(m.bottom,c.bottom),c.left=qe(m.left,c.left),c},jo(n,a,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Tn(n){var e=n.reference,t=n.element,r=n.placement,i=r?ge(r):null,o=r?Be(r):null,a=e.x+e.width/2-t.width/2,l=e.y+e.height/2-t.height/2,c;switch(i){case ie:c={x:a,y:e.y-t.height};break;case ue:c={x:a,y:e.y+e.height};break;case ce:c={x:e.x+e.width,y:l};break;case ae:c={x:e.x-t.width,y:l};break;default:c={x:e.x,y:e.y}}var d=i?Ft(i):null;if(d!=null){var m=d==="y"?"height":"width";switch(o){case pt:c[d]=c[d]-(e[m]/2-t[m]/2);break;case Ot:c[d]=c[d]+(e[m]/2-t[m]/2);break;default:}}return c}function He(n,e){e===void 0&&(e={});var t=e,r=t.placement,i=r===void 0?n.placement:r,o=t.strategy,a=o===void 0?n.strategy:o,l=t.boundary,c=l===void 0?po:l,d=t.rootBoundary,m=d===void 0?fr:d,_=t.elementContext,w=_===void 0?Zt:_,b=t.altBoundary,S=b===void 0?!1:b,k=t.padding,E=k===void 0?0:k,O=bn(typeof E!="number"?E:En(E,vt)),$=w===Zt?uo:Zt,K=n.rects.popper,D=n.elements[S?$:w],H=Jr(Me(D)?D:D.contextElement||Ae(n.elements.popper),c,m,a),F=Oe(n.elements.reference),J=Tn({reference:F,element:K,strategy:"absolute",placement:i}),te=rn(Object.assign({},K,J)),ne=w===Zt?te:F,Q={top:H.top-ne.top+O.top,bottom:ne.bottom-H.bottom+O.bottom,left:H.left-ne.left+O.left,right:ne.right-H.right+O.right},h=n.modifiersData.offset;if(w===Zt&&h){var C=h[i];Object.keys(Q).forEach(function(f){var Ie=[ce,ue].indexOf(f)>=0?1:-1,Ee=[ie,ue].indexOf(f)>=0?"y":"x";Q[f]+=C[Ee]*Ie})}return Q}function Qr(n,e){e===void 0&&(e={});var t=e,r=t.placement,i=t.boundary,o=t.rootBoundary,a=t.padding,l=t.flipVariations,c=t.allowedAutoPlacements,d=c===void 0?dr:c,m=Be(r),_=m?l?Gr:Gr.filter(function(S){return Be(S)===m}):vt,w=_.filter(function(S){return d.indexOf(S)>=0});w.length===0&&(w=_);var b=w.reduce(function(S,k){return S[k]=He(n,{placement:k,boundary:i,rootBoundary:o,padding:a})[ge(k)],S},{});return Object.keys(b).sort(function(S,k){return b[S]-b[k]})}function Ps(n){if(ge(n)===ur)return[];var e=nn(n);return[gr(n),e,gr(e)]}function Ns(n){var e=n.state,t=n.options,r=n.name;if(!e.modifiersData[r]._skip){for(var i=t.mainAxis,o=i===void 0?!0:i,a=t.altAxis,l=a===void 0?!0:a,c=t.fallbackPlacements,d=t.padding,m=t.boundary,_=t.rootBoundary,w=t.altBoundary,b=t.flipVariations,S=b===void 0?!0:b,k=t.allowedAutoPlacements,E=e.options.placement,O=ge(E),$=O===E,K=c||($||!S?[nn(E)]:Ps(E)),D=[E].concat(K).reduce(function(B,N){return B.concat(ge(N)===ur?Qr(e,{placement:N,boundary:m,rootBoundary:_,padding:d,flipVariations:S,allowedAutoPlacements:k}):N)},[]),H=e.rects.reference,F=e.rects.popper,J=new Map,te=!0,ne=D[0],Q=0;Q=0,Ee=Ie?"width":"height",_e=He(e,{placement:h,boundary:m,rootBoundary:_,altBoundary:w,padding:d}),xe=Ie?f?ce:ae:f?ue:ie;H[Ee]>F[Ee]&&(xe=nn(xe));var Ye=nn(xe),ke=[];if(o&&ke.push(_e[C]<=0),l&&ke.push(_e[xe]<=0,_e[Ye]<=0),ke.every(function(B){return B})){ne=h,te=!1;break}J.set(h,ke)}if(te)for(var Rt=S?3:1,Ue=function(N){var q=D.find(function(ee){var tt=J.get(ee);if(tt)return tt.slice(0,N).every(function(W){return W})});if(q)return ne=q,"break"},et=Rt;et>0;et--){var ye=Ue(et);if(ye==="break")break}e.placement!==ne&&(e.modifiersData[r]._skip=!0,e.placement=ne,e.reset=!0)}}var vo={name:"flip",enabled:!0,phase:"main",fn:Ns,requiresIfExists:["offset"],data:{_skip:!1}};function wo(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function bo(n){return[ie,ce,ue,ae].some(function(e){return n[e]>=0})}function Ms(n){var e=n.state,t=n.name,r=e.rects.reference,i=e.rects.popper,o=e.modifiersData.preventOverflow,a=He(e,{elementContext:"reference"}),l=He(e,{altBoundary:!0}),c=wo(a,r),d=wo(l,i,o),m=bo(c),_=bo(d);e.modifiersData[t]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:m,hasPopperEscaped:_},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":m,"data-popper-escaped":_})}var Eo={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Ms};function Os(n,e,t){var r=ge(n),i=[ae,ie].indexOf(r)>=0?-1:1,o=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,a=o[0],l=o[1];return a=a||0,l=(l||0)*i,[ae,ce].indexOf(r)>=0?{x:l,y:a}:{x:a,y:l}}function Bs(n){var e=n.state,t=n.options,r=n.name,i=t.offset,o=i===void 0?[0,0]:i,a=dr.reduce(function(m,_){return m[_]=Os(_,e.rects,o),m},{}),l=a[e.placement],c=l.x,d=l.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=d),e.modifiersData[r]=a}var To={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Bs};function Is(n){var e=n.state,t=n.name;e.modifiersData[t]=Tn({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var ko={name:"popperOffsets",enabled:!0,phase:"read",fn:Is,data:{}};function Xr(n){return n==="x"?"y":"x"}function Fs(n){var e=n.state,t=n.options,r=n.name,i=t.mainAxis,o=i===void 0?!0:i,a=t.altAxis,l=a===void 0?!1:a,c=t.boundary,d=t.rootBoundary,m=t.altBoundary,_=t.padding,w=t.tether,b=w===void 0?!0:w,S=t.tetherOffset,k=S===void 0?0:S,E=He(e,{boundary:c,rootBoundary:d,padding:_,altBoundary:m}),O=ge(e.placement),$=Be(e.placement),K=!$,D=Ft(O),H=Xr(D),F=e.modifiersData.popperOffsets,J=e.rects.reference,te=e.rects.popper,ne=typeof k=="function"?k(Object.assign({},e.rects,{placement:e.placement})):k,Q=typeof ne=="number"?{mainAxis:ne,altAxis:ne}:Object.assign({mainAxis:0,altAxis:0},ne),h=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,C={x:0,y:0};if(!!F){if(o){var f,Ie=D==="y"?ie:ae,Ee=D==="y"?ue:ce,_e=D==="y"?"height":"width",xe=F[D],Ye=xe+E[Ie],ke=xe-E[Ee],Rt=b?-te[_e]/2:0,Ue=$===pt?J[_e]:te[_e],et=$===pt?-te[_e]:-J[_e],ye=e.elements.arrow,B=b&&ye?It(ye):{width:0,height:0},N=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:wn(),q=N[Ie],ee=N[Ee],tt=qt(0,J[_e],B[_e]),W=K?J[_e]/2-Rt-tt-q-Q.mainAxis:Ue-tt-q-Q.mainAxis,je=K?-J[_e]/2+Rt+tt+ee+Q.mainAxis:et+tt+ee+Q.mainAxis,Tt=e.elements.arrow&&Le(e.elements.arrow),Nn=Tt?D==="y"?Tt.clientTop||0:Tt.clientLeft||0:0,nt=(f=h==null?void 0:h[D])!=null?f:0,rt=xe+W-nt-Nn,ht=xe+je-nt,kt=qt(b?Bt(Ye,rt):Ye,xe,b?qe(ke,ht):ke);F[D]=kt,C[D]=kt-xe}if(l){var Mn,On=D==="x"?ie:ae,Bn=D==="x"?ue:ce,it=F[H],Yt=H==="y"?"height":"width",In=it+E[On],Fn=it-E[Bn],cn=[ie,ae].indexOf(O)!==-1,St=(Mn=h==null?void 0:h[H])!=null?Mn:0,qn=cn?In:it-J[Yt]-te[Yt]-St+Q.altAxis,Ge=cn?it+J[Yt]+te[Yt]-St-Q.altAxis:Fn,se=b&&cn?ho(qn,it,Ge):qt(b?qn:In,it,b?Ge:Fn);F[H]=se,C[H]=se-it}e.modifiersData[r]=C}}var So={name:"preventOverflow",enabled:!0,phase:"main",fn:Fs,requiresIfExists:["offset"]};function Zr(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function ei(n){return n===Z(n)||!fe(n)?Lt(n):Zr(n)}function qs(n){var e=n.getBoundingClientRect(),t=ut(e.width)/n.offsetWidth||1,r=ut(e.height)/n.offsetHeight||1;return t!==1||r!==1}function ti(n,e,t){t===void 0&&(t=!1);var r=fe(e),i=fe(e)&&qs(e),o=Ae(e),a=Oe(n,i,t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!t)&&((me(e)!=="body"||$t(o))&&(l=ei(e)),fe(e)?(c=Oe(e,!0),c.x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Ht(o))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function Ls(n){var e=new Map,t=new Set,r=[];n.forEach(function(o){e.set(o.name,o)});function i(o){t.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(l){if(!t.has(l)){var c=e.get(l);c&&i(c)}}),r.push(o)}return n.forEach(function(o){t.has(o.name)||i(o)}),r}function ni(n){var e=Ls(n);return fo.reduce(function(t,r){return t.concat(e.filter(function(i){return i.phase===r}))},[])}function ri(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function ii(n){var e=n.reduce(function(t,r){var i=t[r.name];return t[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,t},{});return Object.keys(e).map(function(t){return e[t]})}var Co={placement:"bottom",modifiers:[],strategy:"absolute"};function Do(){for(var n=arguments.length,e=new Array(n),t=0;t(n%e+e)%e,Mo=class{constructor(e,t,r){this.owner=e,this.containerEl=t,t.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),t.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),r.register([],"ArrowUp",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),r.register([],"ArrowDown",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),r.register([],"Enter",i=>{if(!i.isComposing)return this.useSelectedItem(i),!1})}onSuggestionClick(e,t){e.preventDefault();let r=this.suggestions.indexOf(t);this.setSelectedItem(r,!1),this.useSelectedItem(e)}onSuggestionMouseover(e,t){let r=this.suggestions.indexOf(t);this.setSelectedItem(r,!1)}setSuggestions(e){this.containerEl.empty();let t=[];e.forEach(r=>{let i=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(r,i),t.push(i)}),this.values=e,this.suggestions=t,this.setSelectedItem(0,!1)}useSelectedItem(e){let t=this.values[this.selectedItem];t&&this.owner.selectSuggestion(t,e)}setSelectedItem(e,t){let r=$s(e,this.suggestions.length),i=this.suggestions[this.selectedItem],o=this.suggestions[r];i?.removeClass("is-selected"),o?.addClass("is-selected"),this.selectedItem=r,t&&o.scrollIntoView(!1)}},kn=class{constructor(e,t){this.app=e,this.inputEl=t,this.scope=new No.Scope,this.suggestEl=createDiv("suggestion-container");let r=this.suggestEl.createDiv("suggestion");this.suggest=new Mo(this,r,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",i=>{i.preventDefault()})}onInputChanged(){let e=this.inputEl.value,t=this.getSuggestions(e);if(!t){this.close();return}t.length>0?(this.suggest.setSuggestions(t),this.open(this.app.dom.appContainerEl,this.inputEl)):this.close()}open(e,t){this.app.keymap.pushScope(this.scope),e.appendChild(this.suggestEl),this.popper=oi(t,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:r,instance:i})=>{let o=`${r.rects.reference.width}px`;r.styles.popper.width!==o&&(r.styles.popper.width=o,i.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}};var $e;(function(t){t[t.TemplateFiles=0]="TemplateFiles",t[t.ScriptFiles=1]="ScriptFiles"})($e||($e={}));var on=class extends kn{constructor(e,t,r){super(t.app,e);this.inputEl=e;this.plugin=t;this.mode=r}get_folder(e){switch(e){case 0:return this.plugin.settings.templates_folder;case 1:return this.plugin.settings.user_scripts_folder}}get_error_msg(e){switch(e){case 0:return"Templates folder doesn't exist";case 1:return"User Scripts folder doesn't exist"}}getSuggestions(e){let t=Ce(()=>Je(this.plugin.app,this.get_folder(this.mode)),this.get_error_msg(this.mode));if(!t)return[];let r=[],i=e.toLowerCase();return t.forEach(o=>{o instanceof Oo.TFile&&o.extension==="md"&&o.path.toLowerCase().contains(i)&&r.push(o)}),r.slice(0,1e3)}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var Bo=X(require("obsidian"));var Sn=class extends kn{constructor(e,t){super(e,t)}getSuggestions(e){let t=this.app.vault.getAllLoadedFiles(),r=[],i=e.toLowerCase();return t.forEach(o=>{o instanceof Bo.TFolder&&o.path.toLowerCase().contains(i)&&r.push(o)}),r.slice(0,1e3)}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var dt;(function(o){o[o.Off=0]="Off",o[o.RenderDescriptionParameterReturn=1]="RenderDescriptionParameterReturn",o[o.RenderDescriptionParameterList=2]="RenderDescriptionParameterList",o[o.RenderDescriptionReturn=3]="RenderDescriptionReturn",o[o.RenderDescriptionOnly=4]="RenderDescriptionOnly"})(dt||(dt={}));function Io(n){return isBoolean(n)?n:[1,3].includes(n)}function Fo(n){return isBoolean(n)?n:[1,2].includes(n)}function qo(n){return isBoolean(n)?n:n!=0}var Lo={command_timeout:5,templates_folder:"",templates_pairs:[["",""]],trigger_on_file_creation:!1,auto_jump_to_cursor:!1,enable_system_commands:!1,shell_path:"",user_scripts_folder:"",enable_folder_templates:!0,folder_templates:[{folder:"",template:""}],enable_file_templates:!1,file_templates:[{regex:".*",template:""}],syntax_highlighting:!0,syntax_highlighting_mobile:!1,enabled_templates_hotkeys:[""],startup_templates:[""],intellisense_render:dt.RenderDescriptionParameterReturn},ai=class extends L.PluginSettingTab{constructor(e){super(e.app,e);this.plugin=e;this.icon="templater-icon"}display(){this.containerEl.empty(),this.add_template_folder_setting(),this.add_internal_functions_setting(),this.add_syntax_highlighting_settings(),this.add_auto_jump_to_cursor(),this.add_trigger_on_new_file_creation_setting(),this.plugin.settings.trigger_on_file_creation&&(this.add_folder_templates_setting(),this.add_file_templates_setting()),this.add_templates_hotkeys_setting(),this.add_startup_templates_setting(),this.add_user_script_functions_setting(),this.add_user_system_command_functions_setting(),this.add_donating_setting()}add_template_folder_setting(){new L.Setting(this.containerEl).setName("Template folder location").setDesc("Files in this folder will be available as templates.").addSearch(e=>{new Sn(this.app,e.inputEl),e.setPlaceholder("Example: folder1/folder2").setValue(this.plugin.settings.templates_folder).onChange(t=>{t=t.trim(),t=t.replace(/\/$/,""),this.plugin.settings.templates_folder=t,this.plugin.save_settings()}),e.containerEl.addClass("templater_search")})}add_internal_functions_setting(){let e=document.createDocumentFragment();e.append("Templater provides multiples predefined variables / functions that you can use.",e.createEl("br"),"Check the ",e.createEl("a",{href:"https://silentvoid13.github.io/Templater/",text:"documentation"})," to get a list of all the available internal variables / functions."),new L.Setting(this.containerEl).setName("Internal variables and functions").setDesc(e)}add_syntax_highlighting_settings(){let e=document.createDocumentFragment();e.append("Adds syntax highlighting for Templater commands in edit mode.");let t=document.createDocumentFragment();t.append("Adds syntax highlighting for Templater commands in edit mode on mobile. Use with caution: this may break live preview on mobile platforms."),new L.Setting(this.containerEl).setName("Syntax highlighting on desktop").setDesc(e).addToggle(r=>{r.setValue(this.plugin.settings.syntax_highlighting).onChange(i=>{this.plugin.settings.syntax_highlighting=i,this.plugin.save_settings(),this.plugin.event_handler.update_syntax_highlighting()})}),new L.Setting(this.containerEl).setName("Syntax highlighting on mobile").setDesc(t).addToggle(r=>{r.setValue(this.plugin.settings.syntax_highlighting_mobile).onChange(i=>{this.plugin.settings.syntax_highlighting_mobile=i,this.plugin.save_settings(),this.plugin.event_handler.update_syntax_highlighting()})})}add_auto_jump_to_cursor(){let e=document.createDocumentFragment();e.append("Automatically triggers ",e.createEl("code",{text:"tp.file.cursor"})," after inserting a template.",e.createEl("br"),"You can also set a hotkey to manually trigger ",e.createEl("code",{text:"tp.file.cursor"}),"."),new L.Setting(this.containerEl).setName("Automatic jump to cursor").setDesc(e).addToggle(t=>{t.setValue(this.plugin.settings.auto_jump_to_cursor).onChange(r=>{this.plugin.settings.auto_jump_to_cursor=r,this.plugin.save_settings()})})}add_trigger_on_new_file_creation_setting(){let e=document.createDocumentFragment();e.append("Templater will listen for the new file creation event, and, if it matches a rule you've set, replace every command it finds in the new file's content. ","This makes Templater compatible with other plugins like the Daily note core plugin, Calendar plugin, Review plugin, Note refactor plugin, etc. ",e.createEl("br"),e.createEl("br"),"Make sure to set up rules under either folder templates or file regex template below.",e.createEl("br"),e.createEl("br"),e.createEl("b",{text:"Warning: "}),"This can be dangerous if you create new files with unknown / unsafe content on creation. Make sure that every new file's content is safe on creation."),new L.Setting(this.containerEl).setName("Trigger Templater on new file creation").setDesc(e).addToggle(t=>{t.setValue(this.plugin.settings.trigger_on_file_creation).onChange(r=>{this.plugin.settings.trigger_on_file_creation=r,this.plugin.save_settings(),this.plugin.event_handler.update_trigger_file_on_creation(),this.display()})})}add_templates_hotkeys_setting(){new L.Setting(this.containerEl).setName("Template hotkeys").setHeading();let e=document.createDocumentFragment();e.append("Template hotkeys allows you to bind a template to a hotkey."),new L.Setting(this.containerEl).setDesc(e),this.plugin.settings.enabled_templates_hotkeys.forEach((t,r)=>{new L.Setting(this.containerEl).addSearch(o=>{new on(o.inputEl,this.plugin,$e.TemplateFiles),o.setPlaceholder("Example: folder1/template_file").setValue(t).onChange(a=>{if(a&&this.plugin.settings.enabled_templates_hotkeys.contains(a)){oe(new P("This template is already bound to a hotkey"));return}this.plugin.command_handler.add_template_hotkey(this.plugin.settings.enabled_templates_hotkeys[r],a),this.plugin.settings.enabled_templates_hotkeys[r]=a,this.plugin.save_settings()}),o.containerEl.addClass("templater_search")}).addExtraButton(o=>{o.setIcon("any-key").setTooltip("Configure Hotkey").onClick(()=>{this.app.setting.openTabById("hotkeys");let a=this.app.setting.activeTab;a.searchComponent.inputEl.value=t,a.updateHotkeyVisibility()})}).addExtraButton(o=>{o.setIcon("up-chevron-glyph").setTooltip("Move up").onClick(()=>{Mt(this.plugin.settings.enabled_templates_hotkeys,r,r-1),this.plugin.save_settings(),this.display()})}).addExtraButton(o=>{o.setIcon("down-chevron-glyph").setTooltip("Move down").onClick(()=>{Mt(this.plugin.settings.enabled_templates_hotkeys,r,r+1),this.plugin.save_settings(),this.display()})}).addExtraButton(o=>{o.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.command_handler.remove_template_hotkey(this.plugin.settings.enabled_templates_hotkeys[r]),this.plugin.settings.enabled_templates_hotkeys.splice(r,1),this.plugin.save_settings(),this.display()})}).infoEl.remove()}),new L.Setting(this.containerEl).addButton(t=>{t.setButtonText("Add new hotkey for template").setCta().onClick(()=>{this.plugin.settings.enabled_templates_hotkeys.push(""),this.plugin.save_settings(),this.display()})})}add_folder_templates_setting(){new L.Setting(this.containerEl).setName("Folder templates").setHeading();let e=document.createDocumentFragment();e.append("Folder templates are triggered when a new ",e.createEl("strong",{text:"empty "}),"file is created in a given folder.",e.createEl("br"),"Templater will fill the empty file with the specified template.",e.createEl("br"),"The deepest match is used. A global default template would be defined on the root ",e.createEl("code",{text:"/"}),"."),new L.Setting(this.containerEl).setDesc(e);let t=document.createDocumentFragment();t.append("When enabled, Templater will make use of the folder templates defined below. This option is mutually exclusive with file regex templates below, so enabling one will disable the other."),new L.Setting(this.containerEl).setName("Enable folder templates").setDesc(t).addToggle(r=>{r.setValue(this.plugin.settings.enable_folder_templates).onChange(i=>{this.plugin.settings.enable_folder_templates=i,i&&(this.plugin.settings.enable_file_templates=!1),this.plugin.save_settings(),this.display()})}),!!this.plugin.settings.enable_folder_templates&&(this.plugin.settings.folder_templates.forEach((r,i)=>{new L.Setting(this.containerEl).addSearch(a=>{new Sn(this.app,a.inputEl),a.setPlaceholder("Folder").setValue(r.folder).onChange(l=>{if(l&&this.plugin.settings.folder_templates.some(c=>c.folder==l)){oe(new P("This folder already has a template associated with it"));return}this.plugin.settings.folder_templates[i].folder=l,this.plugin.save_settings()}),a.containerEl.addClass("templater_search")}).addSearch(a=>{new on(a.inputEl,this.plugin,$e.TemplateFiles),a.setPlaceholder("Template").setValue(r.template).onChange(l=>{this.plugin.settings.folder_templates[i].template=l,this.plugin.save_settings()}),a.containerEl.addClass("templater_search")}).addExtraButton(a=>{a.setIcon("up-chevron-glyph").setTooltip("Move up").onClick(()=>{Mt(this.plugin.settings.folder_templates,i,i-1),this.plugin.save_settings(),this.display()})}).addExtraButton(a=>{a.setIcon("down-chevron-glyph").setTooltip("Move down").onClick(()=>{Mt(this.plugin.settings.folder_templates,i,i+1),this.plugin.save_settings(),this.display()})}).addExtraButton(a=>{a.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.settings.folder_templates.splice(i,1),this.plugin.save_settings(),this.display()})}).infoEl.remove()}),new L.Setting(this.containerEl).addButton(r=>{r.setButtonText("Add new folder template").setTooltip("Add additional folder template").setCta().onClick(()=>{this.plugin.settings.folder_templates.push({folder:"",template:""}),this.plugin.save_settings(),this.display()})}))}add_file_templates_setting(){new L.Setting(this.containerEl).setName("File regex templates").setHeading();let e=document.createDocumentFragment();e.append("File regex templates are triggered when a new ",e.createEl("strong",{text:"empty"})," file is created that matches one of them. Templater will fill the empty file with the specified template.",e.createEl("br"),"The first match from the top is used, so the order of the rules is important.",e.createEl("br"),"Use ",e.createEl("code",{text:".*"})," as a final catch-all, if you need it."),new L.Setting(this.containerEl).setDesc(e);let t=document.createDocumentFragment();t.append("When enabled, Templater will make use of the file regex templates defined below. This option is mutually exclusive with folder templates above, so enabling one will disable the other."),new L.Setting(this.containerEl).setName("Enable file regex templates").setDesc(t).addToggle(r=>{r.setValue(this.plugin.settings.enable_file_templates).onChange(i=>{this.plugin.settings.enable_file_templates=i,i&&(this.plugin.settings.enable_folder_templates=!1),this.plugin.save_settings(),this.display()})}),!!this.plugin.settings.enable_file_templates&&(this.plugin.settings.file_templates.forEach((r,i)=>{new L.Setting(this.containerEl).addText(a=>{a.setPlaceholder("File regex").setValue(r.regex).onChange(l=>{this.plugin.settings.file_templates[i].regex=l,this.plugin.save_settings()}),a.inputEl.addClass("templater_search")}).addSearch(a=>{new on(a.inputEl,this.plugin,$e.TemplateFiles),a.setPlaceholder("Template").setValue(r.template).onChange(l=>{this.plugin.settings.file_templates[i].template=l,this.plugin.save_settings()}),a.containerEl.addClass("templater_search")}).addExtraButton(a=>{a.setIcon("up-chevron-glyph").setTooltip("Move up").onClick(()=>{Mt(this.plugin.settings.file_templates,i,i-1),this.plugin.save_settings(),this.display()})}).addExtraButton(a=>{a.setIcon("down-chevron-glyph").setTooltip("Move down").onClick(()=>{Mt(this.plugin.settings.file_templates,i,i+1),this.plugin.save_settings(),this.display()})}).addExtraButton(a=>{a.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.settings.file_templates.splice(i,1),this.plugin.save_settings(),this.display()})}).infoEl.remove()}),new L.Setting(this.containerEl).addButton(r=>{r.setButtonText("Add new file regex").setTooltip("Add additional file regex").setCta().onClick(()=>{this.plugin.settings.file_templates.push({regex:"",template:""}),this.plugin.save_settings(),this.display()})}))}add_startup_templates_setting(){new L.Setting(this.containerEl).setName("Startup templates").setHeading();let e=document.createDocumentFragment();e.append("Startup templates are templates that will get executed once when Templater starts.",e.createEl("br"),"These templates won't output anything.",e.createEl("br"),"This can be useful to set up templates adding hooks to Obsidian events for example."),new L.Setting(this.containerEl).setDesc(e),this.plugin.settings.startup_templates.forEach((t,r)=>{new L.Setting(this.containerEl).addSearch(o=>{new on(o.inputEl,this.plugin,$e.TemplateFiles),o.setPlaceholder("Example: folder1/template_file").setValue(t).onChange(a=>{if(a&&this.plugin.settings.startup_templates.contains(a)){oe(new P("This startup template already exist"));return}this.plugin.settings.startup_templates[r]=a,this.plugin.save_settings()}),o.containerEl.addClass("templater_search")}).addExtraButton(o=>{o.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.settings.startup_templates.splice(r,1),this.plugin.save_settings(),this.display()})}).infoEl.remove()}),new L.Setting(this.containerEl).addButton(t=>{t.setButtonText("Add new startup template").setCta().onClick(()=>{this.plugin.settings.startup_templates.push(""),this.plugin.save_settings(),this.display()})})}add_user_script_functions_setting(){new L.Setting(this.containerEl).setName("User script functions").setHeading();let e=document.createDocumentFragment();e.append("All JavaScript files in this folder will be loaded as CommonJS modules, to import custom user functions.",e.createEl("br"),"The folder needs to be accessible from the vault.",e.createEl("br"),"Check the ",e.createEl("a",{href:"https://silentvoid13.github.io/Templater/",text:"documentation"})," for more information."),new L.Setting(this.containerEl).setName("Script files folder location").setDesc(e).addSearch(r=>{new Sn(this.app,r.inputEl),r.setPlaceholder("Example: folder1/folder2").setValue(this.plugin.settings.user_scripts_folder).onChange(i=>{this.plugin.settings.user_scripts_folder=i,this.plugin.save_settings()}),r.containerEl.addClass("templater_search")}),new L.Setting(this.containerEl).setName("User script intellisense").setDesc("Determine how you'd like to have user script intellisense render. Note values will not render if not in the script.").addDropdown(r=>{r.addOption("0","Turn off intellisense").addOption("1","Render method description, parameters list, and return").addOption("2","Render method description and parameters list").addOption("3","Render method description and return").addOption("4","Render method description").setValue(this.plugin.settings.intellisense_render.toString()).onChange(i=>{this.plugin.settings.intellisense_render=parseInt(i),this.plugin.save_settings()})}),e=document.createDocumentFragment();let t;if(!this.plugin.settings.user_scripts_folder)t="No user scripts folder set";else{let r=Ce(()=>Je(this.app,this.plugin.settings.user_scripts_folder),"User scripts folder doesn't exist");if(!r||r.length===0)t="No user scripts detected";else{let i=0;for(let o of r)o.extension==="js"&&(i++,e.append(e.createEl("li",{text:`tp.user.${o.basename}`})));t=`Detected ${i} User Script(s)`}}new L.Setting(this.containerEl).setName(t).setDesc(e).addExtraButton(r=>{r.setIcon("sync").setTooltip("Refresh").onClick(()=>{this.display()})})}add_user_system_command_functions_setting(){let e=document.createDocumentFragment();if(e.append("Allows you to create user functions linked to system commands.",e.createEl("br"),e.createEl("b",{text:"Warning: "}),"It can be dangerous to execute arbitrary system commands from untrusted sources. Only run system commands that you understand, from trusted sources."),new L.Setting(this.containerEl).setName("User system command functions").setHeading(),new L.Setting(this.containerEl).setName("Enable user system command functions").setDesc(e).addToggle(t=>{t.setValue(this.plugin.settings.enable_system_commands).onChange(r=>{this.plugin.settings.enable_system_commands=r,this.plugin.save_settings(),this.display()})}),this.plugin.settings.enable_system_commands){new L.Setting(this.containerEl).setName("Timeout").setDesc("Maximum timeout in seconds for a system command.").addText(o=>{o.setPlaceholder("Timeout").setValue(this.plugin.settings.command_timeout.toString()).onChange(a=>{let l=Number(a);if(isNaN(l)){oe(new P("Timeout must be a number"));return}this.plugin.settings.command_timeout=l,this.plugin.save_settings()})}),e=document.createDocumentFragment(),e.append("Full path to the shell binary to execute the command with.",e.createEl("br"),"This setting is optional and will default to the system's default shell if not specified.",e.createEl("br"),"You can use forward slashes ('/') as path separators on all platforms if in doubt."),new L.Setting(this.containerEl).setName("Shell binary location").setDesc(e).addText(o=>{o.setPlaceholder("Example: /bin/bash, ...").setValue(this.plugin.settings.shell_path).onChange(a=>{this.plugin.settings.shell_path=a,this.plugin.save_settings()})});let t=1;this.plugin.settings.templates_pairs.forEach(o=>{let a=this.containerEl.createEl("div");a.addClass("templater_div");let l=this.containerEl.createEl("h4",{text:"User function n\xB0"+t});l.addClass("templater_title"),new L.Setting(this.containerEl).addExtraButton(d=>{d.setIcon("cross").setTooltip("Delete").onClick(()=>{let m=this.plugin.settings.templates_pairs.indexOf(o);m>-1&&(this.plugin.settings.templates_pairs.splice(m,1),this.plugin.save_settings(),this.display())})}).addText(d=>{let m=d.setPlaceholder("Function name").setValue(o[0]).onChange(_=>{let w=this.plugin.settings.templates_pairs.indexOf(o);w>-1&&(this.plugin.settings.templates_pairs[w][0]=_,this.plugin.save_settings())});return m.inputEl.addClass("templater_template"),m}).addTextArea(d=>{let m=d.setPlaceholder("System command").setValue(o[1]).onChange(_=>{let w=this.plugin.settings.templates_pairs.indexOf(o);w>-1&&(this.plugin.settings.templates_pairs[w][1]=_,this.plugin.save_settings())});return m.inputEl.setAttr("rows",2),m.inputEl.addClass("templater_cmd"),m}).infoEl.remove(),a.appendChild(l),a.appendChild(this.containerEl.lastChild),t+=1});let r=this.containerEl.createEl("div");r.addClass("templater_div2"),new L.Setting(this.containerEl).addButton(o=>{o.setButtonText("Add new user function").setCta().onClick(()=>{this.plugin.settings.templates_pairs.push(["",""]),this.plugin.save_settings(),this.display()})}).infoEl.remove(),r.appendChild(this.containerEl.lastChild)}}add_donating_setting(){let e=new L.Setting(this.containerEl).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development."),t=document.createElement("a");t.setAttribute("href","https://github.com/sponsors/silentvoid13"),t.addClass("templater_donating");let r=document.createElement("img");r.src="https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86",t.appendChild(r);let i=document.createElement("a");i.setAttribute("href","https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q"),i.addClass("templater_donating");let o=document.createElement("img");o.src="https://img.shields.io/badge/paypal-silentvoid13-yellow?style=social&logo=paypal",i.appendChild(o),e.settingEl.appendChild(t),e.settingEl.appendChild(i)}};var Ar=X(require("obsidian"));var an;(function(t){t[t.InsertTemplate=0]="InsertTemplate",t[t.CreateNoteTemplate=1]="CreateNoteTemplate"})(an||(an={}));var si=class extends Ar.FuzzySuggestModal{constructor(e){super(e.app);this.plugin=e,this.setPlaceholder("Type name of a template...")}getItems(){if(!this.plugin.settings.templates_folder)return this.app.vault.getMarkdownFiles();let e=Ce(()=>Je(this.plugin.app,this.plugin.settings.templates_folder),`Couldn't retrieve template files from templates folder ${this.plugin.settings.templates_folder}`);return e||[]}getItemText(e){let t=e.path;if(e.path.startsWith(this.plugin.settings.templates_folder)&&(0,Ar.normalizePath)(this.plugin.settings.templates_folder)!="/"){let r=this.plugin.settings.templates_folder.length,i=this.plugin.settings.templates_folder.endsWith("/")?r:r+1;t=e.path.slice(i)}return t.split(".").slice(0,-1).join(".")}onChooseItem(e){switch(this.open_mode){case 0:this.plugin.templater.append_template_to_active_file(e);break;case 1:this.plugin.templater.create_new_note_from_template(e,this.creation_folder);break}}start(){try{this.open()}catch(e){oe(e)}}insert_template(){this.open_mode=0,this.start()}create_new_note_from_template(e){this.creation_folder=e,this.open_mode=1,this.start()}};var Ho="Error_MobileUnsupportedTemplate",$o='';var de=X(require("obsidian"));var mt=X(require("obsidian"));var be=class{constructor(e){this.plugin=e;this.static_functions=new Map;this.dynamic_functions=new Map}getName(){return this.name}async init(){await this.create_static_templates(),this.static_object=Object.fromEntries(this.static_functions)}async generate_object(e){return this.config=e,await this.create_dynamic_templates(),{...this.static_object,...Object.fromEntries(this.dynamic_functions)}}};var ci=class extends be{constructor(){super(...arguments);this.name="date"}async create_static_templates(){this.static_functions.set("now",this.generate_now()),this.static_functions.set("tomorrow",this.generate_tomorrow()),this.static_functions.set("weekday",this.generate_weekday()),this.static_functions.set("yesterday",this.generate_yesterday())}async create_dynamic_templates(){}async teardown(){}generate_now(){return(e="YYYY-MM-DD",t,r,i)=>{if(r&&!(0,mt.moment)(r,i).isValid())throw new P("Invalid reference date format, try specifying one with the argument 'reference_format'");let o;return typeof t=="string"?o=mt.moment.duration(t):typeof t=="number"&&(o=mt.moment.duration(t,"days")),(0,mt.moment)(r,i).add(o).format(e)}}generate_tomorrow(){return(e="YYYY-MM-DD")=>(0,mt.moment)().add(1,"days").format(e)}generate_weekday(){return(e="YYYY-MM-DD",t,r,i)=>{if(r&&!(0,mt.moment)(r,i).isValid())throw new P("Invalid reference date format, try specifying one with the argument 'reference_format'");return(0,mt.moment)(r,i).weekday(t).format(e)}}generate_yesterday(){return(e="YYYY-MM-DD")=>(0,mt.moment)().add(-1,"days").format(e)}};var le=X(require("obsidian"));var Ko=10,li=class extends be{constructor(){super(...arguments);this.name="file";this.include_depth=0;this.create_new_depth=0;this.linkpath_regex=new RegExp("^\\[\\[(.*)\\]\\]$")}async create_static_templates(){this.static_functions.set("creation_date",this.generate_creation_date()),this.static_functions.set("create_new",this.generate_create_new()),this.static_functions.set("cursor",this.generate_cursor()),this.static_functions.set("cursor_append",this.generate_cursor_append()),this.static_functions.set("exists",this.generate_exists()),this.static_functions.set("find_tfile",this.generate_find_tfile()),this.static_functions.set("folder",this.generate_folder()),this.static_functions.set("include",this.generate_include()),this.static_functions.set("last_modified_date",this.generate_last_modified_date()),this.static_functions.set("move",this.generate_move()),this.static_functions.set("path",this.generate_path()),this.static_functions.set("rename",this.generate_rename()),this.static_functions.set("selection",this.generate_selection())}async create_dynamic_templates(){this.dynamic_functions.set("content",await this.generate_content()),this.dynamic_functions.set("tags",this.generate_tags()),this.dynamic_functions.set("title",this.generate_title())}async teardown(){}async generate_content(){return await this.plugin.app.vault.read(this.config.target_file)}generate_create_new(){return async(e,t,r=!1,i)=>{if(this.create_new_depth+=1,this.create_new_depth>Ko)throw this.create_new_depth=0,new P("Reached create_new depth limit (max = 10)");let o=await this.plugin.templater.create_new_note_from_template(e,i,t,r);return this.create_new_depth-=1,o}}generate_creation_date(){return(e="YYYY-MM-DD HH:mm")=>(0,le.moment)(this.config.target_file.stat.ctime).format(e)}generate_cursor(){return e=>`<% tp.file.cursor(${e??""}) %>`}generate_cursor_append(){return e=>{let t=this.plugin.app.workspace.activeEditor;if(!t||!t.editor){oe(new P("No active editor, can't append to cursor."));return}return t.editor.getDoc().replaceSelection(e),""}}generate_exists(){return async e=>{let t=(0,le.normalizePath)(e);return await this.plugin.app.vault.exists(t)}}generate_find_tfile(){return e=>{let t=(0,le.normalizePath)(e);return this.plugin.app.metadataCache.getFirstLinkpathDest(t,"")}}generate_folder(){return(e=!1)=>{let t=this.config.target_file.parent,r;return e?r=t.path:r=t.name,r}}generate_include(){return async e=>{if(this.include_depth+=1,this.include_depth>Ko)throw this.include_depth-=1,new P("Reached inclusion depth limit (max = 10)");let t;if(e instanceof le.TFile)t=await this.plugin.app.vault.read(e);else{let r;if((r=this.linkpath_regex.exec(e))===null)throw this.include_depth-=1,new P("Invalid file format, provide an obsidian link between quotes.");let{path:i,subpath:o}=(0,le.parseLinktext)(r[1]),a=this.plugin.app.metadataCache.getFirstLinkpathDest(i,"");if(!a)throw this.include_depth-=1,new P(`File ${e} doesn't exist`);if(t=await this.plugin.app.vault.read(a),o){let l=this.plugin.app.metadataCache.getFileCache(a);if(l){let c=(0,le.resolveSubpath)(l,o);c&&(t=t.slice(c.start.offset,c.end?.offset))}}}try{let r=await this.plugin.templater.parser.parse_commands(t,this.plugin.templater.current_functions_object);return this.include_depth-=1,r}catch(r){throw this.include_depth-=1,r}}}generate_last_modified_date(){return(e="YYYY-MM-DD HH:mm")=>(0,le.moment)(this.config.target_file.stat.mtime).format(e)}generate_move(){return async(e,t)=>{let r=t||this.config.target_file,i=(0,le.normalizePath)(`${e}.${r.extension}`),o=i.replace(/\\/g,"/").split("/");if(o.pop(),o.length){let a=o.join("/");this.plugin.app.vault.getAbstractFileByPath(a)||await this.plugin.app.vault.createFolder(a)}return await this.plugin.app.fileManager.renameFile(r,i),""}}generate_path(){return(e=!1)=>{let t="";if(le.Platform.isMobile){let r=this.plugin.app.vault.adapter.fs.uri,i=this.plugin.app.vault.adapter.basePath;t=`${r}/${i}`}else if(this.plugin.app.vault.adapter instanceof le.FileSystemAdapter)t=this.plugin.app.vault.adapter.getBasePath();else throw new P("app.vault is not a FileSystemAdapter instance");return e?this.config.target_file.path:`${t}/${this.config.target_file.path}`}}generate_rename(){return async e=>{if(e.match(/[\\/:]+/g))throw new P("File name cannot contain any of these characters: \\ / :");let t=(0,le.normalizePath)(`${this.config.target_file.parent.path}/${e}.${this.config.target_file.extension}`);return await this.plugin.app.fileManager.renameFile(this.config.target_file,t),""}}generate_selection(){return()=>{let e=this.plugin.app.workspace.activeEditor;if(!e||!e.editor)throw new P("Active editor is null, can't read selection.");return e.editor.getSelection()}}generate_tags(){let e=this.plugin.app.metadataCache.getFileCache(this.config.target_file);return e?(0,le.getAllTags)(e):null}generate_title(){return this.config.target_file.basename}};var Ro=X(require("obsidian"));var pi=class extends be{constructor(){super(...arguments);this.name="web"}async create_static_templates(){this.static_functions.set("daily_quote",this.generate_daily_quote()),this.static_functions.set("request",this.generate_request()),this.static_functions.set("random_picture",this.generate_random_picture())}async create_dynamic_templates(){}async teardown(){}async getRequest(e){try{let t=await(0,Ro.requestUrl)(e);if(t.status<200&&t.status>=300)throw new P("Error performing GET request");return t}catch{throw new P("Error performing GET request")}}generate_daily_quote(){return async()=>{try{let t=(await this.getRequest("https://raw.githubusercontent.com/Zachatoo/quotes-database/refs/heads/main/quotes.json")).json,r=t[Math.floor(Math.random()*t.length)],{quote:i,author:o}=r;return`> [!quote] ${i} +> \u2014 ${o}`}catch{return new P("Error generating daily quote"),"Error generating daily quote"}}}generate_random_picture(){return async(e,t,r=!1)=>{try{let i=await this.getRequest(`https://templater-unsplash-2.fly.dev/${t?"?q="+t:""}`).then(a=>a.json),o=i.full;if(e&&!r)if(e.includes("x")){let[a,l]=e.split("x");o=o.concat(`&w=${a}&h=${l}`)}else o=o.concat(`&w=${e}`);return r?`![photo by ${i.photog}(${i.photogUrl}) on Unsplash|${e}](${o})`:`![photo by ${i.photog}(${i.photogUrl}) on Unsplash](${o})`}catch{return new P("Error generating random picture"),"Error generating random picture"}}}generate_request(){return async(e,t)=>{try{let i=await(await this.getRequest(e)).json;return t&&i?t.split(".").reduce((o,a)=>{if(o&&o.hasOwnProperty(a))return o[a];throw new Error(`Path ${t} not found in the JSON response`)},i):i}catch(r){throw console.error(r),new P("Error fetching and extracting value")}}}};var ui=class extends be{constructor(){super(...arguments);this.name="hooks";this.event_refs=[]}async create_static_templates(){this.static_functions.set("on_all_templates_executed",this.generate_on_all_templates_executed())}async create_dynamic_templates(){}async teardown(){this.event_refs.forEach(e=>{e.e.offref(e)}),this.event_refs=[]}generate_on_all_templates_executed(){return e=>{let t=this.plugin.app.workspace.on("templater:all-templates-executed",async()=>{await jt(1),e()});t&&this.event_refs.push(t)}}};var fi=class extends be{constructor(){super(...arguments);this.name="frontmatter"}async create_static_templates(){}async create_dynamic_templates(){let e=this.plugin.app.metadataCache.getFileCache(this.config.target_file);this.dynamic_functions=new Map(Object.entries(e?.frontmatter||{}))}async teardown(){}};var Qe=X(require("obsidian"));var di=class extends Qe.Modal{constructor(e,t,r,i){super(e);this.prompt_text=t;this.default_value=r;this.multi_line=i;this.submitted=!1}onOpen(){this.titleEl.setText(this.prompt_text),this.createForm()}onClose(){this.contentEl.empty(),this.submitted||this.reject(new P("Cancelled prompt"))}createForm(){let e=this.contentEl.createDiv();e.addClass("templater-prompt-div");let t;this.multi_line?t=new Qe.TextAreaComponent(e):t=new Qe.TextComponent(e);let r=this.contentEl.createDiv();r.addClass("templater-button-div");let i=new Qe.ButtonComponent(r);i.buttonEl.addClass("mod-cta"),i.setButtonText("Submit").onClick(o=>{this.resolveAndClose(o)}),this.value=this.default_value??"",t.inputEl.addClass("templater-prompt-input"),t.setPlaceholder("Type text here"),t.setValue(this.value),t.onChange(o=>this.value=o),t.inputEl.focus(),t.inputEl.addEventListener("keydown",o=>this.enterCallback(o))}enterCallback(e){e.isComposing||e.keyCode===229||(this.multi_line?Qe.Platform.isDesktop&&e.key==="Enter"&&!e.shiftKey&&this.resolveAndClose(e):e.key==="Enter"&&this.resolveAndClose(e))}resolveAndClose(e){this.submitted=!0,e.preventDefault(),this.resolve(this.value),this.close()}async openAndGetValue(e,t){this.resolve=e,this.reject=t,this.open()}};var Yo=X(require("obsidian")),mi=class extends Yo.FuzzySuggestModal{constructor(e,t,r,i,o){super(e);this.text_items=t;this.items=r;this.submitted=!1;this.setPlaceholder(i),o&&(this.limit=o)}getItems(){return this.items}onClose(){this.submitted||this.reject(new P("Cancelled prompt"))}selectSuggestion(e,t){this.submitted=!0,this.close(),this.onChooseSuggestion(e,t)}getItemText(e){return this.text_items instanceof Function?this.text_items(e):this.text_items[this.items.indexOf(e)]||"Undefined Text Item"}onChooseItem(e){this.resolve(e)}async openAndGetValue(e,t){this.resolve=e,this.reject=t,this.open()}};var De=X(require("obsidian")),gi=class extends De.Modal{constructor(e,t,r,i,o){super(e);this.text_items=t;this.items=r;this.submitted=!1;this.selectedItems=[];this.setTitle(i),this.listEl=this.contentEl.createDiv("templater-multisuggester-list");let a=this.contentEl.createDiv("templater-multisuggester-div"),l=new De.TextComponent(a);l.inputEl.addClass("templater-multisuggester-input"),this.suggester=new Uo(e,l.inputEl,this.getItemText.bind(this),r,o).onSelect(this.onChooseItem.bind(this));let c=this.contentEl.createDiv("modal-button-container");new De.ButtonComponent(c).setButtonText("Save").setCta().onClick(()=>this.save()),new De.ButtonComponent(c).setButtonText("Cancel").onClick(()=>this.close())}onOpen(){this.display()}display(){this.listEl.empty(),this.selectedItems.forEach(e=>{let t=this.listEl.createDiv("mobile-option-setting-item");t.createSpan("mobile-option-setting-item-name").setText(this.getItemText(e)),t.createDiv("clickable-icon mobile-option-setting-item-option-icon",r=>{(0,De.setIcon)(r,"lucide-x"),r.addEventListener("click",()=>{this.onRemoveItem(e)})})})}getItemText(e){return this.text_items instanceof Function?this.text_items(e):this.text_items[this.items.indexOf(e)]||"Undefined Text Item"}onChooseItem(e){this.selectedItems.push(e);let t=this.items.filter(r=>!this.selectedItems.some(i=>i===r));this.suggester.setItems(t),this.display()}onRemoveItem(e){this.selectedItems=this.selectedItems.filter(r=>r!==e);let t=this.items.filter(r=>!this.selectedItems.some(i=>i===r));this.suggester.setItems(t),this.display()}save(){this.submitted=!0,this.close(),this.resolve(this.selectedItems)}onClose(){this.submitted||this.reject(new P("Cancelled prompt"))}async openAndGetValue(e,t){this.resolve=e,this.reject=t,this.open()}},Uo=class extends De.AbstractInputSuggest{constructor(e,t,r,i,o){super(e,t);this.getItemText=r;this.items=i;o&&(this.limit=o)}getSuggestions(e){let t=(0,De.prepareFuzzySearch)(e);return this.items.reduce((r,i)=>{let o=this.getItemText(i);return t(o)&&r.push(i),r},[])}renderSuggestion(e,t){t.createDiv("suggestion-content").setText(this.getItemText(e))}setItems(e){this.items=e}selectSuggestion(e,t){this.setValue(""),this.close(),super.selectSuggestion(e,t)}};var hi=class extends be{constructor(){super(...arguments);this.name="system"}async create_static_templates(){this.static_functions.set("clipboard",this.generate_clipboard()),this.static_functions.set("prompt",this.generate_prompt()),this.static_functions.set("suggester",this.generate_suggester()),this.static_functions.set("multi_suggester",this.generate_multi_suggester())}async create_dynamic_templates(){}async teardown(){}generate_clipboard(){return async()=>await navigator.clipboard.readText()}generate_prompt(){return async(e,t,r=!1,i=!1)=>{let o=new di(this.plugin.app,e,t,i),a=new Promise((l,c)=>o.openAndGetValue(l,c));try{return await a}catch(l){if(r)throw l;return null}}}generate_suggester(){return async(e,t,r=!1,i="",o)=>{let a=new mi(this.plugin.app,e,t,i,o),l=new Promise((c,d)=>a.openAndGetValue(c,d));try{return await l}catch(c){if(r)throw c;return null}}}generate_multi_suggester(){return async(e,t,r=!1,i="",o)=>{let a=new gi(this.plugin.app,e,t,i,o),l=new Promise((c,d)=>a.openAndGetValue(c,d));try{return await l}catch(c){if(r)throw c;return[]}}}};var Ai=class extends be{constructor(){super(...arguments);this.name="config"}async create_static_templates(){}async create_dynamic_templates(){}async teardown(){}async generate_object(e){return e}};var _i=class{constructor(e){this.plugin=e;this.modules_array=[];this.modules_array.push(new ci(this.plugin)),this.modules_array.push(new li(this.plugin)),this.modules_array.push(new pi(this.plugin)),this.modules_array.push(new fi(this.plugin)),this.modules_array.push(new ui(this.plugin)),this.modules_array.push(new hi(this.plugin)),this.modules_array.push(new Ai(this.plugin))}async init(){for(let e of this.modules_array)await e.init()}async teardown(){for(let e of this.modules_array)await e.teardown()}async generate_object(e){let t={};for(let r of this.modules_array)t[r.getName()]=await r.generate_object(e);return t}};var Cn=X(require("obsidian"));var xi=class{constructor(e){this.plugin=e;if(Cn.Platform.isMobile||!(this.plugin.app.vault.adapter instanceof Cn.FileSystemAdapter))this.cwd="";else{this.cwd=this.plugin.app.vault.adapter.getBasePath();let{promisify:t}=require("util"),{exec:r}=require("child_process");this.exec_promise=t(r)}}async generate_system_functions(e){let t=new Map,r=await this.plugin.templater.functions_generator.generate_object(e,Xe.INTERNAL);for(let i of this.plugin.settings.templates_pairs){let o=i[0],a=i[1];!o||!a||(Cn.Platform.isMobile?t.set(o,()=>new Promise(l=>l(Ho))):(a=await this.plugin.templater.parser.parse_commands(a,r),t.set(o,async l=>{let c={...process.env,...l},d={timeout:this.plugin.settings.command_timeout*1e3,cwd:this.cwd,env:c,...this.plugin.settings.shell_path&&{shell:this.plugin.settings.shell_path}};try{let{stdout:m}=await this.exec_promise(a,d);return m.trimRight()}catch(m){throw new P(`Error with User Template ${o}`,m)}})))}return t}async generate_object(e){let t=await this.generate_system_functions(e);return Object.fromEntries(t)}};var yi=class{constructor(e){this.plugin=e}async generate_user_script_functions(){let e=new Map,t=Ce(()=>Je(this.plugin.app,this.plugin.settings.user_scripts_folder),`Couldn't find user script folder "${this.plugin.settings.user_scripts_folder}"`);if(!t)return new Map;for(let r of t)r.extension.toLowerCase()==="js"&&await this.load_user_script_function(r,e);return e}async load_user_script_function(e,t){let r=c=>window.require&&window.require(c),i={},o={exports:i},a=await this.plugin.app.vault.read(e);try{window.eval("(function anonymous(require, module, exports){"+a+` +})`)(r,o,i)}catch(c){throw new P(`Failed to load user script at "${e.path}".`,c.message)}let l=i.default??o.exports;if(!l)throw new P(`Failed to load user script at "${e.path}". No exports detected.`);if(typeof l=="function")t.set(e.basename,l);else if(typeof l=="object"&&l!==null){if(!Object.values(l).every(d=>typeof d=="function"))throw new P(`Exported object in "${e.path}" must contain only functions.`);t.set(e.basename,l)}else throw new P(`Invalid export in "${e.path}". Must be a function or object of functions.`)}async generate_object(){let e=await this.generate_user_script_functions();return Object.fromEntries(e)}};var ji=class{constructor(e){this.plugin=e;this.user_system_functions=new xi(e),this.user_script_functions=new yi(e)}async generate_object(e){let t={},r={};return this.plugin.settings.enable_system_commands&&(t=await this.user_system_functions.generate_object(e)),this.plugin.settings.user_scripts_folder&&(r=await this.user_script_functions.generate_object()),{...t,...r}}};var Ks=X(require("obsidian")),Xe;(function(t){t[t.INTERNAL=0]="INTERNAL",t[t.USER_INTERNAL=1]="USER_INTERNAL"})(Xe||(Xe={}));var vi=class{constructor(e){this.plugin=e;this.internal_functions=new _i(this.plugin),this.user_functions=new ji(this.plugin)}async init(){await this.internal_functions.init()}async teardown(){await this.internal_functions.teardown()}additional_functions(){return{app:this.plugin.app,obsidian:Ks}}async generate_object(e,t=1){let r={},i=this.additional_functions(),o=await this.internal_functions.generate_object(e),a={};switch(Object.assign(r,i),t){case 0:Object.assign(r,o);break;case 1:a=await this.user_functions.generate_object(e),Object.assign(r,{...o,user:a});break}return r}};var Xs={},M,Ke=new Array(32).fill(void 0);Ke.push(void 0,null,!0,!1);function Pe(n){return Ke[n]}var Dn=Ke.length;function Rs(n){n<36||(Ke[n]=Dn,Dn=n)}function wi(n){let e=Pe(n);return Rs(n),e}var Go=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Go.decode();var _r=new Uint8Array;function xr(){return _r.byteLength===0&&(_r=new Uint8Array(M.memory.buffer)),_r}function bt(n,e){return Go.decode(xr().subarray(n,n+e))}function Et(n){Dn===Ke.length&&Ke.push(Ke.length+1);let e=Dn;return Dn=Ke[e],Ke[e]=n,e}var Re=0,yr=new TextEncoder("utf-8"),Ys=typeof yr.encodeInto=="function"?function(n,e){return yr.encodeInto(n,e)}:function(n,e){let t=yr.encode(n);return e.set(t),{read:n.length,written:t.length}};function gt(n,e,t){if(t===void 0){let l=yr.encode(n),c=e(l.length);return xr().subarray(c,c+l.length).set(l),Re=l.length,c}let r=n.length,i=e(r),o=xr(),a=0;for(;a127)break;o[i+a]=l}if(a!==r){a!==0&&(n=n.slice(a)),i=t(i,r,r=a+n.length*3);let l=xr().subarray(i+a,i+r);a+=Ys(n,l).written}return Re=a,i}function Us(n){return n==null}var jr=new Int32Array;function Ne(){return jr.byteLength===0&&(jr=new Int32Array(M.memory.buffer)),jr}function bi(n){let e=typeof n;if(e=="number"||e=="boolean"||n==null)return`${n}`;if(e=="string")return`"${n}"`;if(e=="symbol"){let i=n.description;return i==null?"Symbol":`Symbol(${i})`}if(e=="function"){let i=n.name;return typeof i=="string"&&i.length>0?`Function(${i})`:"Function"}if(Array.isArray(n)){let i=n.length,o="[";i>0&&(o+=bi(n[0]));for(let a=1;a1)r=t[1];else return toString.call(n);if(r=="Object")try{return"Object("+JSON.stringify(n)+")"}catch{return"Object"}return n instanceof Error?`${n.name}: ${n.message} +${n.stack}`:r}function Gs(n,e){if(!(n instanceof e))throw new Error(`expected instance of ${e.name}`);return n.ptr}var vr=32;function Ws(n){if(vr==1)throw new Error("out of js stack");return Ke[--vr]=n,vr}function Ei(n,e){try{return n.apply(this,e)}catch(t){M.__wbindgen_exn_store(Et(t))}}var Kt=class{static __wrap(e){let t=Object.create(Kt.prototype);return t.ptr=e,t}__destroy_into_raw(){let e=this.ptr;return this.ptr=0,e}free(){let e=this.__destroy_into_raw();M.__wbg_parserconfig_free(e)}get interpolate(){let e=M.__wbg_get_parserconfig_interpolate(this.ptr);return String.fromCodePoint(e)}set interpolate(e){M.__wbg_set_parserconfig_interpolate(this.ptr,e.codePointAt(0))}get execution(){let e=M.__wbg_get_parserconfig_execution(this.ptr);return String.fromCodePoint(e)}set execution(e){M.__wbg_set_parserconfig_execution(this.ptr,e.codePointAt(0))}get single_whitespace(){let e=M.__wbg_get_parserconfig_single_whitespace(this.ptr);return String.fromCodePoint(e)}set single_whitespace(e){M.__wbg_set_parserconfig_single_whitespace(this.ptr,e.codePointAt(0))}get multiple_whitespace(){let e=M.__wbg_get_parserconfig_multiple_whitespace(this.ptr);return String.fromCodePoint(e)}set multiple_whitespace(e){M.__wbg_set_parserconfig_multiple_whitespace(this.ptr,e.codePointAt(0))}constructor(e,t,r,i,o,a,l){let c=gt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),d=Re,m=gt(t,M.__wbindgen_malloc,M.__wbindgen_realloc),_=Re,w=gt(l,M.__wbindgen_malloc,M.__wbindgen_realloc),b=Re,S=M.parserconfig_new(c,d,m,_,r.codePointAt(0),i.codePointAt(0),o.codePointAt(0),a.codePointAt(0),w,b);return Kt.__wrap(S)}get opening_tag(){try{let r=M.__wbindgen_add_to_stack_pointer(-16);M.parserconfig_opening_tag(r,this.ptr);var e=Ne()[r/4+0],t=Ne()[r/4+1];return bt(e,t)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(e,t)}}set opening_tag(e){let t=gt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),r=Re;M.parserconfig_set_opening_tag(this.ptr,t,r)}get closing_tag(){try{let r=M.__wbindgen_add_to_stack_pointer(-16);M.parserconfig_closing_tag(r,this.ptr);var e=Ne()[r/4+0],t=Ne()[r/4+1];return bt(e,t)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(e,t)}}set closing_tag(e){let t=gt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),r=Re;M.parserconfig_set_closing_tag(this.ptr,t,r)}get global_var(){try{let r=M.__wbindgen_add_to_stack_pointer(-16);M.parserconfig_global_var(r,this.ptr);var e=Ne()[r/4+0],t=Ne()[r/4+1];return bt(e,t)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(e,t)}}set global_var(e){let t=gt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),r=Re;M.parserconfig_set_global_var(this.ptr,t,r)}},sn=class{static __wrap(e){let t=Object.create(sn.prototype);return t.ptr=e,t}__destroy_into_raw(){let e=this.ptr;return this.ptr=0,e}free(){let e=this.__destroy_into_raw();M.__wbg_renderer_free(e)}constructor(e){Gs(e,Kt);var t=e.ptr;e.ptr=0;let r=M.renderer_new(t);return sn.__wrap(r)}render_content(e,t){try{let a=M.__wbindgen_add_to_stack_pointer(-16),l=gt(e,M.__wbindgen_malloc,M.__wbindgen_realloc),c=Re;M.renderer_render_content(a,this.ptr,l,c,Ws(t));var r=Ne()[a/4+0],i=Ne()[a/4+1],o=Ne()[a/4+2];if(o)throw wi(i);return wi(r)}finally{M.__wbindgen_add_to_stack_pointer(16),Ke[vr++]=void 0}}};async function Vs(n,e){if(typeof Response=="function"&&n instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(n,e)}catch(r){if(n.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}let t=await n.arrayBuffer();return await WebAssembly.instantiate(t,e)}else{let t=await WebAssembly.instantiate(n,e);return t instanceof WebAssembly.Instance?{instance:t,module:n}:t}}function zs(){let n={};return n.wbg={},n.wbg.__wbindgen_object_drop_ref=function(e){wi(e)},n.wbg.__wbindgen_string_new=function(e,t){let r=bt(e,t);return Et(r)},n.wbg.__wbindgen_string_get=function(e,t){let r=Pe(t),i=typeof r=="string"?r:void 0;var o=Us(i)?0:gt(i,M.__wbindgen_malloc,M.__wbindgen_realloc),a=Re;Ne()[e/4+1]=a,Ne()[e/4+0]=o},n.wbg.__wbg_call_97ae9d8645dc388b=function(){return Ei(function(e,t){let r=Pe(e).call(Pe(t));return Et(r)},arguments)},n.wbg.__wbg_new_8d2af00bc1e329ee=function(e,t){let r=new Error(bt(e,t));return Et(r)},n.wbg.__wbg_message_fe2af63ccc8985bc=function(e){let t=Pe(e).message;return Et(t)},n.wbg.__wbg_newwithargs_8fe23e3842840c8e=function(e,t,r,i){let o=new Function(bt(e,t),bt(r,i));return Et(o)},n.wbg.__wbg_call_168da88779e35f61=function(){return Ei(function(e,t,r){let i=Pe(e).call(Pe(t),Pe(r));return Et(i)},arguments)},n.wbg.__wbg_call_3999bee59e9f7719=function(){return Ei(function(e,t,r,i){let o=Pe(e).call(Pe(t),Pe(r),Pe(i));return Et(o)},arguments)},n.wbg.__wbindgen_debug_string=function(e,t){let r=bi(Pe(t)),i=gt(r,M.__wbindgen_malloc,M.__wbindgen_realloc),o=Re;Ne()[e/4+1]=o,Ne()[e/4+0]=i},n.wbg.__wbindgen_throw=function(e,t){throw new Error(bt(e,t))},n}function Js(n,e){}function Qs(n,e){return M=n.exports,Wo.__wbindgen_wasm_module=e,jr=new Int32Array,_r=new Uint8Array,M}async function Wo(n){typeof n=="undefined"&&(n=new URL("rusty_engine_bg.wasm",Xs.url));let e=zs();(typeof n=="string"||typeof Request=="function"&&n instanceof Request||typeof URL=="function"&&n instanceof URL)&&(n=fetch(n)),Js(e);let{instance:t,module:r}=await Vs(await n,e);return Qs(t,r)}var Vo=Wo;var zo=zi("AGFzbQEAAAABvwEaYAJ/fwBgAn9/AX9gAX8Bf2ADf39/AX9gA39/fwBgAX8AYAV/f39/fwBgBH9/f38AYAR/f39/AX9gAABgBX9/f39/AX9gAX8BfmAAAX9gBn9/f39/fwBgB39/f39/f38AYAV/f35/fwBgBX9/fX9/AGAFf398f38AYAR/fn9/AGAFf35/f38AYAR/fX9/AGAEf3x/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gCn9/f39/f39/f38Bf2ACfn8BfwLkAgsDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAUDd2JnFV9fd2JpbmRnZW5fc3RyaW5nX25ldwABA3diZxVfX3diaW5kZ2VuX3N0cmluZ19nZXQAAAN3YmcbX193YmdfY2FsbF85N2FlOWQ4NjQ1ZGMzODhiAAEDd2JnGl9fd2JnX25ld184ZDJhZjAwYmMxZTMyOWVlAAEDd2JnHl9fd2JnX21lc3NhZ2VfZmUyYWY2M2NjYzg5ODViYwACA3diZyJfX3diZ19uZXd3aXRoYXJnc184ZmUyM2UzODQyODQwYzhlAAgDd2JnG19fd2JnX2NhbGxfMTY4ZGE4ODc3OWUzNWY2MQADA3diZxtfX3diZ19jYWxsXzM5OTliZWU1OWU5Zjc3MTkACAN3YmcXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAAAN3YmcQX193YmluZGdlbl90aHJvdwAAA7kBtwECBwAGAgYEBAcBBQMKCAAEBgYAAwcCAAEADgETAQQXAQICAQAAAwcZAQAFAQwABgACAgAAAgAEBAAGAQAAAAAEBw0CAQUEBQYCDBgAAQAAAAQBAQEAAQABBAQEBgMDBwMJAwQIAAAABQkAAgEAAAAABwAAAgICAgAFBQMEFgoGEQ8QAAUHAwIBAgABBQEBCAACAQEBBQEAAgECAgACAQEBAgAJCQICAgIAAAAAAwMDAQECAgsLCwUEBQFwATs7BQMBABEGCQF/AUGAgMAACwfcBRkGbWVtb3J5AgAXX193YmdfcGFyc2VyY29uZmlnX2ZyZWUAUSJfX3diZ19nZXRfcGFyc2VyY29uZmlnX2ludGVycG9sYXRlAH4iX193Ymdfc2V0X3BhcnNlcmNvbmZpZ19pbnRlcnBvbGF0ZQB3IF9fd2JnX2dldF9wYXJzZXJjb25maWdfZXhlY3V0aW9uAH8gX193Ymdfc2V0X3BhcnNlcmNvbmZpZ19leGVjdXRpb24AeChfX3diZ19nZXRfcGFyc2VyY29uZmlnX3NpbmdsZV93aGl0ZXNwYWNlAIABKF9fd2JnX3NldF9wYXJzZXJjb25maWdfc2luZ2xlX3doaXRlc3BhY2UAeSpfX3diZ19nZXRfcGFyc2VyY29uZmlnX211bHRpcGxlX3doaXRlc3BhY2UAgQEqX193Ymdfc2V0X3BhcnNlcmNvbmZpZ19tdWx0aXBsZV93aGl0ZXNwYWNlAHoQcGFyc2VyY29uZmlnX25ldwBVGHBhcnNlcmNvbmZpZ19vcGVuaW5nX3RhZwBGHHBhcnNlcmNvbmZpZ19zZXRfb3BlbmluZ190YWcAYxhwYXJzZXJjb25maWdfY2xvc2luZ190YWcARxxwYXJzZXJjb25maWdfc2V0X2Nsb3NpbmdfdGFnAGQXcGFyc2VyY29uZmlnX2dsb2JhbF92YXIASBtwYXJzZXJjb25maWdfc2V0X2dsb2JhbF92YXIAZRNfX3diZ19yZW5kZXJlcl9mcmVlAE8McmVuZGVyZXJfbmV3ACAXcmVuZGVyZXJfcmVuZGVyX2NvbnRlbnQAORFfX3diaW5kZ2VuX21hbGxvYwB1El9fd2JpbmRnZW5fcmVhbGxvYwCFAR9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyAKsBD19fd2JpbmRnZW5fZnJlZQCaARRfX3diaW5kZ2VuX2V4bl9zdG9yZQCfAQllAQBBAQs6mAGdAaoBPzzBAZUBlgFOkgGOAWotYsEBwQFnKl3BAXaIAUyJAYgBhwGQAY8BiQGJAYwBigGLAZgBX8EBaKABXo4BvwG+AYQBOElwoQHBAWioAWCjAVclqQGcAcEBwAEK2dYCtwG8IAIPfwF+IwBBEGsiCyQAAkACQCAAQfUBTwRAQYCAfEEIQQgQlwFBFEEIEJcBakEQQQgQlwFqa0F3cUF9aiICQQBBEEEIEJcBQQJ0ayIBIAEgAksbIABNDQIgAEEEakEIEJcBIQRBrK7AACgCAEUNAUEAIARrIQMCQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEGIARBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEG4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EBBBIAQoAgAiBSAAKAIAaiIGQdSDwAApAAA3AAAgBCAFQRBqNgIAIAZBCGpB3IPAACkAADcAACADQQE2AiwgAyABKAIIQShqIgU2AiggAyAANgIYIANB3ABqQQE2AgAgA0ICNwJMIANB8IPAADYCSCADIANBKGo2AlgCQAJAAkACQAJAAkAgA0EYakGYisAAIANByABqEB5FBEAgAigCACEIAkAgAigCCCIBRQ0AIAFBBHQhCkGQhMAAIQZBACEBQQAhBANAAn8gASAIaiIHQQRqIgkgBygCAEUNABoCQCAERQ0AIANBEGogBCgCACAEKAIEQQAgBiAGLQAAQQJGG0EBEBAgA0EIaiADKAIQIAMoAhRBACAHQQ1qIgQgBC0AAEECRhtBABAQIANBGGogAygCCCADKAIMEBIgA0EBNgI0IANBATYCLCADIAU2AiggAyADQRhqNgIwIAMgADYCRCADQQI2AlwgA0IDNwJMIANBmITAADYCSCADIANBKGo2AlggA0HEAGpBmIrAACADQcgAahAeDQUgAygCHEUNACADKAIYEBULIAdBDmohBgJAIAdBDGotAABFBEAgA0ECNgIsIAMgCTYCKCADIAA2AhggA0EBNgJcIANCAjcCTCADQfSEwAA2AkggAyADQShqNgJYIANBGGpBmIrAACADQcgAahAeDQcgA0ECNgI0IANBoIXAADYCMCADQQE2AiwgAyAFNgIoIAMgADYCGCADQQI2AlwgA0IDNwJMIANBmITAADYCSCADIANBKGo2AlggA0EYakGYisAAIANByABqEB5FDQFBq4HAAEErIANByABqQdiBwABBqIXAABBSAAsgA0ECNgIsIAMgCTYCKCADIAA2AhggA0EBNgJcIANCAjcCTCADQcSEwAA2AkggAyADQShqNgJYIANBGGpBmIrAACADQcgAahAeDQcLQQALIQQgCiABQRBqIgFHDQALIARFDQAgAyAEKAIAIAQoAgRBACAGIAYtAABBAkYbQQEQECADQRhqIAMoAgAgAygCBBASIANBNGpBATYCACADQQE2AiwgAyAFNgIoIAMgA0EYajYCMCADIAA2AkQgA0HcAGpBAjYCACADQgM3AkwgA0GYhMAANgJIIAMgA0EoajYCWCADQcQAakGYisAAIANByABqEB4NBSADKAIcRQ0AIAMoAhgQFQsgAEEEaigCACAAQQhqIgQoAgAiAWtBJ00EQCAAIAFBKBBBIAQoAgAhAQsgBCABQShqNgIAIAAoAgAgAWoiAUHIhcAAKQAANwAAIAFBCGpB0IXAACkAADcAACABQRBqQdiFwAApAAA3AAAgAUEYakHghcAAKQAANwAAIAFBIGpB6IXAACkAADcAACADQTxqQQI2AgAgA0E0akEBNgIAIANBoIXAADYCOCADIAU2AjAgA0EBNgIsIAMgBTYCKCADIAA2AhggA0HcAGoiAUEDNgIAIANCBDcCTCADQZiGwAA2AkggAyADQShqNgJYIANBGGpBmIrAACADQcgAahAeDQUgA0EBNgIsIAMgBTYCKCADIAA2AhggAUEBNgIAIANCAjcCTCADQdCGwAA2AkggAyADQShqNgJYIANBGGpBmIrAACADQcgAahAeDQYgAkEEaigCAARAIAgQFQsgA0HgAGokAA8LQauBwABBKyADQcgAakHYgcAAQYCEwAAQUgALQauBwABBKyADQcgAakHYgcAAQbCEwAAQUgALQauBwABBKyADQcgAakHYgcAAQYSFwAAQUgALQauBwABBKyADQcgAakHYgcAAQdSEwAAQUgALQauBwABBKyADQcgAakHYgcAAQbiFwAAQUgALQauBwABBKyADQcgAakHYgcAAQbiGwAAQUgALQauBwABBKyADQcgAakHYgcAAQeCGwAAQUgAL7QkCCH8GfiMAQdAAayIDJAACQAJAAkAQVCIEBEAgA0EgakIANwMAIANBHGpBkIrAADYCACAEIAQpAwAiC0IBfDcDACADQQA2AhggAyALNwMIIAMgBEEIaikDADcDECADQqeAgIDwBDcDSCADQo2AgICgDjcDQCADQoqAgIDgDTcDOCADQtyAgIDACzcDMCADQQhqIANBMGoQGSADQQA2AjggA0IENwMwIAJFBEAgAEEANgIIIABCATcCAEEEIQRBBCEBDAQLIAEgAmohCEEAIQIDQAJ/IAEsAAAiBEF/SgRAIARB/wFxIQQgAUEBagwBCyABLQABQT9xIQUgBEEfcSEGIARBX00EQCAGQQZ0IAVyIQQgAUECagwBCyABLQACQT9xIAVBBnRyIQUgBEFwSQRAIAUgBkEMdHIhBCABQQNqDAELIAZBEnRBgIDwAHEgAS0AA0E/cSAFQQZ0cnIiBEGAgMQA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ASACIANqQQFqIgM2AhAgAyAHT0EAIAMgDE0bRQRAIAYgA08NAQwDCwsgB0EEELUBAAsgASAGNgIQCyABLQAkIAEoAgAiAiABKAIEIgRHckUNASABQQE6ACUgBCACawshAyAIRQ0AIAIgCGohCyADRQRAQQAhAgwBCyADQX9qIgEgAyABIAtqLQAAQQ1GGyECCyAAIAI2AgQgACALNgIAIAVBEGokAAv+BAEKfyMAQTBrIgMkACADQSRqIAE2AgAgA0EDOgAoIANCgICAgIAENwMIIAMgADYCICADQQA2AhggA0EANgIQAkACQAJAIAIoAggiCkUEQCACQRRqKAIAIgRFDQEgAigCACEBIAIoAhAhACAEQX9qQf////8BcUEBaiIHIQQDQCABQQRqKAIAIgUEQCADKAIgIAEoAgAgBSADKAIkKAIMEQMADQQLIAAoAgAgA0EIaiAAQQRqKAIAEQEADQMgAEEIaiEAIAFBCGohASAEQX9qIgQNAAsMAQsgAkEMaigCACIARQ0AIABBBXQhCyAAQX9qQf///z9xQQFqIQcgAigCACEBA0AgAUEEaigCACIABEAgAygCICABKAIAIAAgAygCJCgCDBEDAA0DCyADIAQgCmoiBUEcai0AADoAKCADIAVBBGopAgBCIIk3AwggBUEYaigCACEGIAIoAhAhCEEAIQlBACEAAkACQAJAIAVBFGooAgBBAWsOAgACAQsgBkEDdCAIaiIMKAIEQTdHDQEgDCgCACgCACEGC0EBIQALIAMgBjYCFCADIAA2AhAgBUEQaigCACEAAkACQAJAIAVBDGooAgBBAWsOAgACAQsgAEEDdCAIaiIGKAIEQTdHDQEgBigCACgCACEAC0EBIQkLIAMgADYCHCADIAk2AhggCCAFKAIAQQN0aiIAKAIAIANBCGogACgCBBEBAA0CIAFBCGohASALIARBIGoiBEcNAAsLQQAhACAHIAIoAgRJIgFFDQEgAygCICACKAIAIAdBA3RqQQAgARsiASgCACABKAIEIAMoAiQoAgwRAwBFDQELQQEhAAsgA0EwaiQAIAALwgQBCH8jAEHQAGsiBCQAIARBEGogASACIAMoAgAgA0EIaigCABAOAkACQAJAAkACQAJAIAQoAhBFBEAgBEEeai0AAA0EIARBxABqKAIAIQYgBCgCQCEHIARBHGot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AkAgAUGAAU8EQCACQQA2AgwgAUGAEEkNASABQYCABE8NAiACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDDAMLIAAoAggiAyAAQQRqKAIARgR/IAAgAxBAIAAoAggFIAMLIAAoAgBqIAE6AAAgACAAKAIIQQFqNgIIDAMLIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANIAIgAUESdkEHcUHwAXI6AAxBBAshASAAQQRqKAIAIABBCGoiBCgCACIDayABSQRAIAAgAyABEEEgBCgCACEDCyAAKAIAIANqIAJBDGogARC5ARogBCABIANqNgIACyACQRBqJABBAAvVAgEDfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQTw0BIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAILIAAoAggiAyAAQQRqKAIARgRAIAAgAxBDIAAoAgghAwsgACADQQFqNgIIIAAoAgAgA2ogAToAAAwCCyABQYCABE8EQCACIAFBP3FBgAFyOgAPIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQQMAQsgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwshASAAQQRqKAIAIABBCGoiBCgCACIDayABSQRAIAAgAyABEEIgBCgCACEDCyAAKAIAIANqIAJBDGogARC5ARogBCABIANqNgIACyACQRBqJAAL1wIBA38jAEEQayICJAACQAJ/AkACQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgACgCCCIDIABBBGooAgBGBEAgACADEEMgACgCCCEDCyAAIANBAWo2AgggACgCACADaiABOgAADAMLIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQQZ2QT9xQYABcjoADiAC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AiADKAIIIgRNBEAgASECDAELIARFBEBBASECIAEQFQwBCyABIAJBASAEEJkBIgJFDQMLIAAgBDYCBCAAIAI2AgAgA0EQaiQADwsQrQEACxCuAQALIARBARCzAQALrAEBA38jAEEQayIDJAACQAJAIAEEQCABKAIAIgJBf0YNASABIAJBAWo2AgAgAyABQRBqEGEgASABKAIAQX9qNgIAIAMoAgAhAQJAIAMoAgQiAiADKAIIIgRNBEAgASECDAELIARFBEBBASECIAEQFQwBCyABIAJBASAEEJkBIgJFDQMLIAAgBDYCBCAAIAI2AgAgA0EQaiQADwsQrQEACxCuAQALIARBARCzAQALrAEBA38jAEEQayIDJAACQAJAIAEEQCABKAIAIgJBf0YNASABIAJBAWo2AgAgAyABQSxqEGEgASABKAIAQX9qNgIAIAMoAgAhAQJAIAMoAgQiAiADKAIIIgRNBEAgASECDAELIARFBEBBASECIAEQFQwBCyABIAJBASAEEJkBIgJFDQMLIAAgBDYCBCAAIAI2AgAgA0EQaiQADwsQrQEACxCuAQALIARBARCzAQALrAEBA38jAEEwayICJAAgAUEEaiEDIAEoAgRFBEAgASgCACEBIAJBEGoiBEEANgIAIAJCATcDCCACIAJBCGo2AhQgAkEoaiABQRBqKQIANwMAIAJBIGogAUEIaikCADcDACACIAEpAgA3AxggAkEUakGAjsAAIAJBGGoQHhogA0EIaiAEKAIANgIAIAMgAikDCDcCAAsgAEHoj8AANgIEIAAgAzYCACACQTBqJAALkAEBAn8CQAJ/AkACQAJAAn9BASIDIAFBAEgNABogAigCCEUNAiACKAIEIgQNASABDQNBAQwECyEDQQAhAQwECyACKAIAIARBASABEJkBDAILIAENAEEBDAELIAFBARCeAQsiAgRAIAAgAjYCBEEAIQMMAQsgACABNgIEQQEhAQsgACADNgIAIABBCGogATYCAAunAQECfwJAAkACQAJAAkACQAJAAn8gAgRAQQEiBCABQQBIDQEaIAMoAghFDQMgAygCBCIFDQIgAQ0EDAYLIAAgATYCBEEBCyEEQQAhAQwGCyADKAIAIAUgAiABEJkBIgNFDQIMBAsgAUUNAgsgASACEJ4BIgMNAgsgACABNgIEIAIhAQwCCyACIQML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AX8jAEEwayICJAAgAiABNgIEIAIgADYCACACQRxqQQI2AgAgAkEsakEDNgIAIAJCAjcCDCACQfSWwAA2AgggAkEDNgIkIAIgAkEgajYCGCACIAJBBGo2AiggAiACNgIgIAJBCGpBhJfAABB0AAtsAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EcakECNgIAIANBLGpBAzYCACADQgI3AgwgA0HAk8AANgIIIANBAzYCJCADIANBIGo2AhggAyADNgIoIAMgA0EEajYCICADQQhqIAIQdAALVgECfyMAQSBrIgIkACAAQRxqKAIAIQMgACgCGCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCADIAJBCGoQHiACQSBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGYisAAIAJBCGoQHiACQSBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGAjsAAIAJBCGoQHiACQSBqJAALZwAjAEEwayIBJABB2K3AAC0AAARAIAFBHGpBATYCACABQgI3AgwgAUH0jsAANgIIIAFBAzYCJCABIAA2AiwgASABQSBqNgIYIAEgAUEsajYCICABQQhqQZyPwAAQdAALIAFBMGokAAtZAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQbSRwAAgAkEIahAeIAJBIGokAAtnAQJ/IAEoAgAhAwJAAkACQCABQQhqKAIAIgFFBEBBASECDAELIAFBf0wNASABQQEQngEiAkUNAgsgAiADIAEQuQEhAiAAIAE2AgggACABNgIEIAAgAjYCAA8LEHMACyABQQEQswEAC1YBAX8jAEEgayICJAAgAiAANgIEIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpBmIrAACACQQhqEB4gAkEgaiQAC1YBAX8CQCAABEAgACgCAA0BIABBfzYCACAAQQhqIgMoAgAEQCAAKAIEEBULIAAgATYCBCAAQQA2AgAgAEEMaiACNgIAIAMgAjYCAA8LEK0BAAsQrgEAC1YBAX8CQCAABEAgACgCAA0BIABBfzYCACAAQRRqIgMoAgAEQCAAKAIQEBULIAAgATYCECAAQQA2AgAgAEEYaiACNgIAIAMgAjYCAA8LEK0BAAsQrgEAC1YBAX8CQCAABEAgACgCAA0BIABBfzYCACAAQTBqIgMoAgAEQCAAKAIsEBULIAAgATYCLCAAQQA2AgAgAEE0aiACNgIAIAMgAjYCAA8LEK0BAAsQrgEAC1YBAX8jAEEQayIFJAAgASgCACACKAIAIAMoAgAgBCgCABAIIQEgBUEIahCDASAFKAIMIQIgACAFKAIIIgNBAEc2AgAgACACIAEgAxs2AgQgBUEQaiQAC08BAn8gACgCACIDQQRqKAIAIANBCGoiBCgCACIAayACSQRAIAMgACACEEEgBCgCACEACyADKAIAIABqIAEgAhC5ARogBCAAIAJqNgIAQQALTwECfyAAKAIAIgNBBGooAgAgA0EIaiIEKAIAIgBrIAJJBEAgAyAAIAIQQiAEKAIAIQALIAMoAgAgAGogASACELkBGiAEIAAgAmo2AgBBAAtRAQF/IwBBEGsiBCQAIAEoAgAgAigCACADKAIAEAchASAEQQhqEIMBIAQoAgwhAiAAIAQoAggiA0EARzYCACAAIAIgASADGzYCBCAEQRBqJAALSgECfyAAQQRqKAIAIABBCGoiBCgCACIDayACSQRAIAAgAyACEEEgBCgCACEDCyAAKAIAIANqIAEgAhC5ARogBCACIANqNgIAQQALPwEBfyMAQSBrIgAkACAAQRxqQQA2AgAgAEGwkMAANgIYIABCATcCDCAAQcyQwAA2AgggAEEIakGkkcAAEHQAC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCAAQQFqIQAgAUEBaiEBIAJBf2oiAg0BDAILCyAEIAVrIQMLIAMLTAECfyMAQRBrIgMkACABKAIAIAIoAgAQAyEBIANBCGoQgwEgAygCDCECIAAgAygCCCIEQQBHNgIAIAAgAiABIAQbNgIEIANBEGokAAtLAAJAAn8gAUGAgMQARwRAQQEgACgCGCABIABBHGooAgAoAhARAQANARoLIAINAUEACw8LIAAoAhggAiADIABBHGooAgAoAgwRAwALRwEBfyMAQSBrIgIkACACQRRqQQA2AgAgAkGAk8AANgIQIAJCATcCBCACQSs2AhwgAiAANgIYIAIgAkEYajYCACACIAEQdAALRgECfyABKAIEIQIgASgCACEDQQhBBBCeASIBRQRAQQhBBBCzAQALIAEgAjYCBCABIAM2AgAgAEH4j8AANgIEIAAgATYCAAs5AQF/IAFBEHZAACECIABBADYCCCAAQQAgAUGAgHxxIAJBf0YiARs2AgQgAEEAIAJBEHQgARs2AgALZAEDfyMAQRBrIgEkACAAKAIMIgJFBEBBmI7AAEHIj8AAEG8ACyAAKAIIIgNFBEBBmI7AAEHYj8AAEG8ACyABIAI2AgggASAANgIEIAEgAzYCACABKAIAIAEoAgQgASgCCBBQAAs/AQF/IwBBIGsiACQAIABBHGpBADYCACAAQcyRwAA2AhggAEIBNwIMIABBjJLAADYCCCAAQQhqQZSSwAAQdAALPgEBfyMAQSBrIgIkACACQQE6ABggAiABNgIUIAIgADYCECACQfyTwAA2AgwgAkGAk8AANgIIIAJBCGoQcgALKwACQCAAQXxLDQAgAEUEQEEEDwsgACAAQX1JQQJ0EJ4BIgBFDQAgAA8LAAsiACMAQRBrIgAkACAAQQhqIAEQfSAAQQhqEFMgAEEQaiQACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEcaiABNgIADwsQrQEACxCuAQALKwACQCAABEAgACgCAA0BIABBADYCACAAQSBqIAE2AgAPCxCtAQALEK4BAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBJGogATYCAA8LEK0BAAsQrgEACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEoaiABNgIADwsQrQEACxCuAQALQAEBfyMAQRBrIgQkACAEIAM2AgwgBCACNgIIIAQgATYCBCAEIAA2AgAgBCgCACAEKAIEIAQoAgggBCgCDBATAAs3ACAAQQM6ACAgAEKAgICAgAQ3AgAgACABNgIYIABBADYCECAAQQA2AgggAEEcakHEh8AANgIACzUBAX8gASgCGEHDjsAAQQsgAUEcaigCACgCDBEDACECIABBADoABSAAIAI6AAQgACABNgIACyUAAkAgAARAIAAoAgBBf0YNASAAQRxqKAIADwsQrQEACxCuAQALJQACQCAABEAgACgCAEF/Rg0BIABBIGooAgAPCxCtAQALEK4BAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEkaigCAA8LEK0BAAsQrgEACyUAAkAgAARAIAAoAgBBf0YNASAAQShqKAIADwsQrQEACxCuAQALJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECzoBAn9B3K3AAC0AACEBQdytwABBADoAAEHgrcAAKAIAIQJB4K3AAEEANgIAIAAgAjYCBCAAIAE2AgALIAEBfwJAIAAoAgQiAUUNACAAQQhqKAIARQ0AIAEQFQsLHwACQCABQXxNBEAgACABQQQgAhCZASIADQELAAsgAAsjACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAslACAARQRAQciMwABBMBCsAQALIAAgAiADIAQgBSABKAIQEQoACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQEQgACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQEQcACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQERUACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQERIACyMAIABFBEBByIzAAEEwEKwBAAsgACACIAMgBCABKAIQERQACx4AIAAgAUEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsUACAAQQRqKAIABEAgACgCABAVCwshACAARQRAQciMwABBMBCsAQALIAAgAiADIAEoAhARBAALHwAgAEUEQEHIjMAAQTAQrAEACyAAIAIgASgCEBEBAAsZAQF/IAAoAhAiAQR/IAEFIABBFGooAgALCxkAIAAoAgAiACgCACAAQQhqKAIAIAEQtwELEgBBAEEZIABBAXZrIABBH0YbCxYAIAAgAUEBcjYCBCAAIAFqIAE2AgALHAAgASgCGEHgpsAAQQUgAUEcaigCACgCDBEDAAsTACAAKAIAIgBBJE8EQCAAEAALCxAAIAAgAWpBf2pBACABa3ELFAAgACgCACAAQQhqKAIAIAEQtwELDAAgACABIAIgAxAYCwsAIAEEQCAAEBULCw8AIABBAXQiAEEAIABrcgsUACAAKAIAIAEg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BAAAAAQAAAARAAAAEgAAABMAAABjYW5ub3QgYWNjZXNzIGEgVGhyZWFkIExvY2FsIFN0b3JhZ2UgdmFsdWUgZHVyaW5nIG9yIGFmdGVyIGRlc3RydWN0aW9uL3J1c3RjL2E1NWRkNzFkNWZiMGVjNWE2YTNhOWU4YzI3YjIxMjdiYTQ5MWNlNTIvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAAAHYFEABPAAAApQEAABoAAAAUAAAAAAAAAAEAAAAVAAAAL3J1c3RjL2E1NWRkNzFkNWZiMGVjNWE2YTNhOWU4YzI3YjIxMjdiYTQ5MWNlNTIvbGlicmFyeS9jb3JlL3NyYy9zdHIvcGF0dGVybi5ycwDoBRAATwAAALcBAAAmAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGRlc3Ryb3llZCBhbHJlYWR5SnNWYWx1ZSgpAAAAeAYQAAgAAACABhAAAQAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3QAACQAAAAEAAAABAAAACUAAAAmAAAAJwAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVBY2Nlc3NFcnJvcm1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQKAAAATgcQABUAAABjBxAADgAAAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5yc4QHEAAYAAAAUgEAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzrAcQABwAAABGAgAAHwAAAKwHEAAcAAAARwIAAB4AAAAoAAAADAAAAAQAAAApAAAAJAAAAAgAAAAEAAAAKgAAACsAAAAQAAAABAAAACwAAAAtAAAAJAAAAAgAAAAEAAAALgAAAC8AAABIYXNoIHRhYmxlIGNhcGFjaXR5IG92ZXJmbG93MAgQABwAAAAvY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9oYXNoYnJvd24tMC4xMi4zL3NyYy9yYXcvbW9kLnJzAFQIEABPAAAAWgAAACgAAAAwAAAABAAAAAQAAAAxAAAAMgAAADMAAAAwAAAAAAAAAAEAAAAHAAAAbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc2NhcGFjaXR5IG92ZXJmbG93AAAA+AgQABEAAADcCBAAHAAAAAYCAAAFAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9ybGlicmFyeS9hbGxvYy9zcmMvZm10LnJzAFcJEAAYAAAAZAIAACAAAAAuLgAAgAkQAAIAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIAAAjAkQACAAAACsCRAAEgAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUAOQAAAAAAAAABAAAAOgAAAGA6IACACRAAAAAAAA0KEAACAAAAfSB9MHgwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OXJhbmdlIHN0YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCAAAADtChAAEgAAAP8KEAAiAAAAbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pbmRleC5ycwA0CxAAHwAAADQAAAAFAAAAcmFuZ2UgZW5kIGluZGV4IGQLEAAQAAAA/woQACIAAAA0CxAAHwAAAEkAAAAFAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCAAlAsQABYAAACqCxAADQAAADQLEAAfAAAAXAAAAAUAAABsaWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzANgLEAAfAAAAGgYAABUAAADYCxAAHwAAAEgGAAAVAAAA2AsQAB8AAABJBgAAFQAAAGxpYnJhcnkvY29yZS9zcmMvc3RyL21vZC5yc1suLi5dYnl0ZSBpbmRleCAgaXMgb3V0IG9mIGJvdW5kcyBvZiBgAAAASAwQAAsAAABTDBAAFgAAAAwKEAABAAAAKAwQABsAAABrAAAACQAAAGJlZ2luIDw9IGVuZCAoIDw9ICkgd2hlbiBzbGljaW5nIGAAAJQMEAAOAAAAogwQAAQAAACmDBAAEAAAAAwKEAABAAAAKAwQABsAAABvAAAABQAAACgMEAAbAAAAfQAAAC0AAAAgaXMgbm90IGEgY2hhciBib3VuZGFyeTsgaXQgaXMgaW5zaWRlICAoYnl0ZXMgKSBvZiBgSAwQAAsAAAD4DBAAJgAAAB4NEAAIAAAAJg0QAAYAAAAMChAAAQAAACgMEAAbAAAAfwAAAAUAAABsaWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAAAAZA0QACUAAAAaAAAANgAAAAABAwUFBgYCBwYIBwkRChwLGQwaDRAODQ8EEAMSEhMJFgEXBBgBGQMaBxsBHAIfFiADKwMtCy4BMAMxAjIBpwKpAqoEqwj6AvsF/QL+A/8JrXh5i42iMFdYi4yQHN0OD0tM+/wuLz9cXV/ihI2OkZKpsbq7xcbJyt7k5f8ABBESKTE0Nzo7PUlKXYSOkqmxtLq7xsrOz+TlAAQNDhESKTE0OjtFRklKXmRlhJGbncnOzw0RKTo7RUlXW1xeX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx87P2ttImL3Nxs7PSU5PV1leX4mOj7G2t7/BxsfXERYXW1z29/7/gG1x3t8OH25vHB1ffX6ur3+7vBYXHh9GR05PWFpcXn5/tcXU1dzw8fVyc490dZYmLi+nr7e/x8/X35pAl5gwjx/S1M7/Tk9aWwcIDxAnL+7vbm83PT9CRZCRU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUfCYEbAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBhYNUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgYvMU0DgKQIPAMPAzwHOAgrBYL/ERgILxEtAyEPIQ+AjASClxkLFYiUBS8FOwcCDhgJgL4idAyA1hoMBYD/BYDfDPKdAzcJgVwUgLgIgMsFChg7AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWAphCB9QcBICoGTASAjQSAvgMbAw8NAAYBAQMBBAIFBwcCCAgJAgoFCwIOBBABEQISBRMRFAEVAhcCGQ0cBR0IJAFqBGsCrwO8As8C0QLUDNUJ1gLXAtoB4AXhAucE6ALuIPAE+AL6AvsBDCc7Pk5Pj56en3uLk5aisrqGsQYHCTY9Plbz0NEEFBg2N1ZXf6qur7014BKHiY6eBA0OERIpMTQ6RUZJSk5PZGVctrcbHAcICgsUFzY5Oqip2NkJN5CRqAcKOz5maY+Sb1+/7u9aYvT8/5qbLi8nKFWdoKGjpKeorbq8xAYLDBUdOj9FUaanzM2gBxkaIiU+P+fs7//FxgQgIyUmKDM4OkhKTFBTVVZYWlxeYGNlZmtzeH1/iqSqr7DA0K6vbm+TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTkOBNwkWCggYO0U5A2MICTAWBSEDGwUBQDgESwUvBAoHCQdAICcEDAk2AzoFGgcEDAdQSTczDTMHLggKgSZSTigIKhYaJhwUFwlOBCQJRA0ZBwoGSAgnCXULP0EqBjsFCgZRBgEFEAMFgItiHkgICoCmXiJFCwoGDRM6Bgo2LAQXgLk8ZFMMSAkKRkUbSAhTDUmBB0YKHQNHSTcDDggKBjkHCoE2GYC3AQ8yDYObZnULgMSKTGMNhC+P0YJHobmCOQcqBFwGJgpGCigFE4KwW2VLBDkHEUAFCwIOl/gIhNYqCaLngTMtAxEECIGMiQRrBQ0DCQcQkmBHCXQ8gPYKcwhwFUaAmhQMVwkZgIeBRwOFQg8VhFAfgOErgNUtAxoEAoFAHxE6BQGE4ID3KUwECgQCgxFETD2AwjwGAQRVBRs0AoEOLARkDFYKgK44HQ0sBAkHAg4GgJqD2AUQAw0DdAxZBwwEAQ8MBDgICgYoCCJOgVQMFQMFAwcJHQMLBQYKCgYICAcJgMslCoQGbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5ycwAAAAUTEAAoAAAASwAAACgAAAAFExAAKAAAAFcAAAAWAAAABRMQACgAAABSAAAAPgAAAEVycm9yAAAAAAMAAIMEIACRBWAAXROgABIXIB8MIGAf7yygKyowICxvpuAsAqhgLR77YC4A/iA2nv9gNv0B4TYBCiE3JA3hN6sOYTkvGKE5MBzhR/MeIUzwauFPT28hUJ28oVAAz2FRZdGhUQDaIVIA4OFTMOFhVa7ioVbQ6OFWIABuV/AB/1cAcAAHAC0BAQECAQIBAUgLMBUQAWUHAgYCAgEEIwEeG1sLOgkJARgEAQkBAwEFKwM8CCoYASA3AQEBBAgEAQMHCgIdAToBAQECBAgBCQEKAhoBAgI5AQQCBAICAwMBHgIDAQsCOQEEBQECBAEUAhYGAQE6AQECAQQIAQcDCgIeATsBAQEMAQkBKAEDATcBAQMFAwEEBwILAh0BOgECAQIBAwEFAgcCCwIcAjkCAQECBAgBCQEKAh0BSAEEAQIDAQEIAVEBAgcMCGIBAgkLBkoCGwEBAQEBNw4BBQECBQsBJAkBZgQBBgECAgIZAgQDEAQNAQICBgEPAQADAAMdAh4CHgJAAgEHCAECCwkBLQMBAXUCIgF2AwQCCQEGA9sCAgE6AQEHAQEBAQIIBgoCATAfMQQwBwEBBQEoCQwCIAQCAgEDOAEBAgMBAQM6CAICmAMBDQEHBAEGAQMCxkAAAcMhAAONAWAgAAZpAgAEAQogAlACAAEDAQQBGQIFAZcCGhINASYIGQsuAzABAgQCAicBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEAAKZCzEEewE2DykBAgIKAzEEAgIHAT0DJAUBCD4BDAI0CQoEAgFfAwIBAQIGAaABAwgVAjkCAQEBARYBDgcDBcMIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECBgEBZQMCBAEFAAkBAvUBCgIBAQQBkAQCAgQBIAooBgIECAEJBgIDLg0BAgAHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACAAU7BwABPwRRAQACAC4CFwABAQMEBQgIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBQAHAAE9BAAHbQcAYIDwAACAFgAAACAgAQAwYAEBMHECCQUSAWQBGgEAAQALHQIFAS8BAAEAewlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuNjQuMCAoYTU1ZGQ3MWQ1IDIwMjItMDktMTkpBndhbHJ1cwYwLjE5LjAMd2FzbS1iaW5kZ2VuEjAuMi44MyAoZWJhNjkxZjM4KQ==");var Ti=class{async init(){await Vo(zo);let e=new Kt("<%","%>","\0","*","-","_","tR");this.renderer=new sn(e)}async parse_commands(e,t){return this.renderer.render_content(e,t)}};var Ze;(function(a){a[a.CreateNewFromTemplate=0]="CreateNewFromTemplate",a[a.AppendActiveFile=1]="AppendActiveFile",a[a.OverwriteFile=2]="OverwriteFile",a[a.OverwriteActiveFile=3]="OverwriteActiveFile",a[a.DynamicProcessor=4]="DynamicProcessor",a[a.StartupTemplate=5]="StartupTemplate"})(Ze||(Ze={}));var Pn=class{constructor(e){this.plugin=e;this.functions_generator=new vi(this.plugin),this.parser=new Ti}async setup(){this.files_with_pending_templates=new Set,await this.parser.init(),await this.functions_generator.init(),this.plugin.registerMarkdownPostProcessor((e,t)=>this.process_dynamic_templates(e,t))}create_running_config(e,t,r){let i=Xt(this.plugin.app);return{template_file:e,target_file:t,run_mode:r,active_file:i}}async read_and_parse_template(e){let t=await this.plugin.app.vault.read(e.template_file);return this.parse_template(e,t)}async parse_template(e,t){let r=await this.functions_generator.generate_object(e,Xe.USER_INTERNAL);return this.current_functions_object=r,await this.parser.parse_commands(t,r)}start_templater_task(e){this.files_with_pending_templates.add(e)}async end_templater_task(e){this.files_with_pending_templates.delete(e),this.files_with_pending_templates.size===0&&(this.plugin.app.workspace.trigger("templater:all-templates-executed"),await this.functions_generator.teardown())}async create_new_note_from_template(e,t,r,i=!0){if(!t)switch(this.plugin.app.vault.getConfig("newFileLocation")){case"current":{let _=Xt(this.plugin.app);_&&(t=_.parent);break}case"folder":t=this.plugin.app.fileManager.getNewFileParent("");break;case"root":t=this.plugin.app.vault.getRoot();break;default:break}let o=e instanceof de.TFile&&e.extension||"md",a=await Se(async()=>{let m=t instanceof de.TFolder?t.path:t,_=this.plugin.app.vault.getAvailablePath((0,de.normalizePath)(`${m??""}/${r||"Untitled"}`),o),w=co(_);return w&&!this.plugin.app.vault.getAbstractFileByPathInsensitive(w)&&await this.plugin.app.vault.createFolder(w),this.plugin.app.vault.create(_,"")},`Couldn't create ${o} file.`);if(a==null)return;let{path:l}=a;this.start_templater_task(l);let c,d;if(e instanceof de.TFile?(c=this.create_running_config(e,a,0),d=await Se(async()=>this.read_and_parse_template(c),"Template parsing error, aborting.")):(c=this.create_running_config(void 0,a,0),d=await Se(async()=>this.parse_template(c,e),"Template parsing error, aborting.")),d==null){await this.plugin.app.vault.delete(a),await this.end_templater_task(l);return}if(await this.plugin.app.vault.modify(a,d),this.plugin.app.workspace.trigger("templater:new-note-from-template",{file:a,content:d}),i){let m=this.plugin.app.workspace.getLeaf(!1);if(!m){oe(new P("No active leaf"));return}await m.openFile(a,{state:{mode:"source"}}),await this.plugin.editor_handler.jump_to_next_cursor_location(a,!0),m.setEphemeralState({rename:"all"})}return await this.end_templater_task(l),a}async append_template_to_active_file(e){let t=this.plugin.app.workspace.getActiveViewOfType(de.MarkdownView),r=this.plugin.app.workspace.activeEditor;if(!r||!r.file||!r.editor){oe(new P("No active editor, can't append templates."));return}let{path:i}=r.file;this.start_templater_task(i);let o=this.create_running_config(e,r.file,1),a=await Se(async()=>this.read_and_parse_template(o),"Template parsing error, aborting.");if(a==null){await this.end_templater_task(i);return}let{content:l,frontmatter:c}=yn(a),m=r.editor.getDoc(),_=m.listSelections();m.replaceSelection(l),t&&(Object.keys(c).length>0&&t instanceof de.MarkdownView&&typeof t.metadataEditor?.insertProperties=="function"&&t.metadataEditor.insertProperties(c),await jt(100),await t.save()),this.plugin.app.workspace.trigger("templater:template-appended",{view:t,editor:r,content:a,oldSelections:_,newSelections:m.listSelections()}),await this.plugin.editor_handler.jump_to_next_cursor_location(r.file,!0),await this.end_templater_task(i)}async write_template_to_file(e,t){let{path:r}=t;this.start_templater_task(r);let i=this.plugin.app.workspace.getActiveViewOfType(de.MarkdownView),o=this.plugin.app.workspace.activeEditor,a=Xt(this.plugin.app),l=this.create_running_config(e,t,2),c=await Se(async()=>this.read_and_parse_template(l),"Template parsing error, aborting.");if(c==null){await this.end_templater_task(r);return}let{content:d,frontmatter:m}=yn(c);if(a?.path===t.path&&o&&o.editor&&i){let _="",{content:w,frontmatter:b}=yn(o.editor.getValue());pr(b,m),Object.keys(b).length>0&&(_+=`--- ${(0,de.stringifyYaml)(b)}--- -`),_+=w+d,o.editor.setValue(_),o.editor.setSelection({line:0,ch:0},{line:0,ch:0}),await yt(100),await i.save()}else await this.plugin.app.vault.process(t,_=>{let w="",{content:b,frontmatter:S}=yn(_);return pr(S,m),Object.keys(S).length>0&&(w+=`--- +`),_+=w+d,o.editor.setValue(_),o.editor.setSelection({line:0,ch:0},{line:0,ch:0}),await jt(100),await i.save()}else await this.plugin.app.vault.process(t,_=>{let w="",{content:b,frontmatter:S}=yn(_);return pr(S,m),Object.keys(S).length>0&&(w+=`--- ${(0,de.stringifyYaml)(S)}--- -`),w+=b+d,c=w,w});this.plugin.app.workspace.trigger("templater:new-note-from-template",{file:t,content:c}),await this.plugin.editor_handler.jump_to_next_cursor_location(t,!0),await this.end_templater_task(r)}overwrite_active_file_commands(){let e=this.plugin.app.workspace.activeEditor;if(!e||!e.file){oe(new P("Active editor is null, can't overwrite content"));return}this.overwrite_file_commands(e.file,!0)}async overwrite_file_commands(e,t=!1){let{path:r}=e;this.start_templater_task(r);let i=this.create_running_config(e,e,t?3:2),o=await Se(async()=>this.read_and_parse_template(i),"Template parsing error, aborting.");if(o==null){await this.end_templater_task(r);return}await this.plugin.app.vault.modify(e,o),this.plugin.app.workspace.trigger("templater:overwrite-file",{file:e,content:o}),await this.plugin.editor_handler.jump_to_next_cursor_location(e,!0),await this.end_templater_task(r)}async process_dynamic_templates(e,t){let r=ao(),i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT),o,a=!1,l;for(;o=i.nextNode();){let c=o.nodeValue;if(c!==null){let d=r.exec(c);if(d!==null){let m=this.plugin.app.metadataCache.getFirstLinkpathDest("",t.sourcePath);if(!m||!(m instanceof de.TFile))return;if(!a){a=!0;let _=this.create_running_config(m,m,4);l=await this.functions_generator.generate_object(_,Qe.USER_INTERNAL),this.current_functions_object=l}}for(;d!=null;){let m=d[1]+d[2],_=await Se(async()=>await this.parser.parse_commands(m,l),`Command Parsing error in dynamic command '${m}'`);if(_==null)return;let w=r.lastIndex-d[0].length,b=r.lastIndex;c=c.substring(0,w)+_+c.substring(b),r.lastIndex+=_.length-d[0].length,d=r.exec(c)}o.nodeValue=c}}}get_new_file_template_for_folder(e){do{let t=this.plugin.settings.folder_templates.find(r=>r.folder==e.path);if(t&&t.template)return t.template;e=e.parent}while(e)}get_new_file_template_for_file(e){let t=this.plugin.settings.file_templates.find(r=>new RegExp(r.regex).test(e.path));if(t&&t.template)return t.template}static async on_file_creation(e,t,r){if(!(r instanceof de.TFile)||r.extension!=="md")return;let i=(0,de.normalizePath)(e.plugin.settings.templates_folder);if(r.path.includes(i)&&i!=="/"||(await yt(300),e.files_with_pending_templates.has(r.path)))return;let o=await t.vault.read(r),a=(0,de.getFrontMatterInfo)(o),l=o.length-a.contentStart;if(l==0&&e.plugin.settings.enable_folder_templates){let c=e.get_new_file_template_for_folder(r.parent);if(!c)return;let d=await Se(async()=>Nt(t,c),`Couldn't find template ${c}`);if(d==null)return;await e.write_template_to_file(d,r)}else if(l==0&&e.plugin.settings.enable_file_templates){let c=e.get_new_file_template_for_file(r);if(!c)return;let d=await Se(async()=>Nt(t,c),`Couldn't find template ${c}`);if(d==null)return;await e.write_template_to_file(d,r)}else{let c=1e5;r.stat.size<=c?await e.overwrite_file_commands(r):console.log(`Templater skipped parsing ${r.path} because file size exceeds ${c}`)}}async execute_startup_scripts(){for(let e of this.plugin.settings.startup_templates){if(!e)continue;let t=Ce(()=>Nt(this.plugin.app,e),`Couldn't find startup template "${e}"`);if(!t)continue;let{path:r}=t;this.start_templater_task(r);let i=this.create_running_config(t,t,5);await Se(async()=>this.read_and_parse_template(i),"Startup Template parsing error, aborting."),await this.end_templater_task(r)}}};var Jo=X(require("obsidian")),wr=class{constructor(e,t,r){this.plugin=e;this.templater=t;this.settings=r}setup(){Array.isArray(this.plugin.app.workspace.onLayoutReadyCallbacks)?this.plugin.app.workspace.onLayoutReadyCallbacks.unshift({pluginId:this.plugin.manifest.id,callback:()=>{this.update_trigger_file_on_creation()}}):this.plugin.app.workspace.onLayoutReady(()=>{this.update_trigger_file_on_creation()}),this.update_syntax_highlighting(),this.update_file_menu()}update_syntax_highlighting(){let e=this.plugin.editor_handler.desktopShouldHighlight(),t=this.plugin.editor_handler.mobileShouldHighlight();e||t?this.plugin.editor_handler.enable_highlighter():this.plugin.editor_handler.disable_highlighter()}update_trigger_file_on_creation(){this.settings.trigger_on_file_creation?(this.trigger_on_file_creation_event=this.plugin.app.vault.on("create",e=>Pn.on_file_creation(this.templater,this.plugin.app,e)),this.plugin.registerEvent(this.trigger_on_file_creation_event)):this.trigger_on_file_creation_event&&(this.plugin.app.vault.offref(this.trigger_on_file_creation_event),this.trigger_on_file_creation_event=void 0)}update_file_menu(){this.plugin.registerEvent(this.plugin.app.workspace.on("file-menu",(e,t)=>{t instanceof Jo.TFolder&&e.addItem(r=>{r.setTitle("Create new note from template").setIcon("templater-icon").onClick(()=>{this.plugin.fuzzy_suggester.create_new_note_from_template(t)})})}))}};var br=X(require("obsidian"));var ki=class{constructor(e){this.plugin=e}setup(){this.plugin.addCommand({id:"insert-templater",name:"Open insert template modal",icon:"templater-icon",hotkeys:br.Platform.isMacOS?void 0:[{modifiers:["Alt"],key:"e"}],callback:()=>{this.plugin.fuzzy_suggester.insert_template()}}),this.plugin.addCommand({id:"replace-in-file-templater",name:"Replace templates in the active file",icon:"templater-icon",hotkeys:br.Platform.isMacOS?void 0:[{modifiers:["Alt"],key:"r"}],callback:()=>{this.plugin.templater.overwrite_active_file_commands()}}),this.plugin.addCommand({id:"jump-to-next-cursor-location",name:"Jump to next cursor location",icon:"text-cursor",hotkeys:[{modifiers:["Alt"],key:"Tab"}],callback:()=>{this.plugin.editor_handler.jump_to_next_cursor_location()}}),this.plugin.addCommand({id:"create-new-note-from-template",name:"Create new note from template",icon:"templater-icon",hotkeys:br.Platform.isMacOS?void 0:[{modifiers:["Alt"],key:"n"}],callback:()=>{this.plugin.fuzzy_suggester.create_new_note_from_template()}}),this.register_templates_hotkeys()}register_templates_hotkeys(){this.plugin.settings.enabled_templates_hotkeys.forEach(e=>{e&&this.add_template_hotkey(null,e)})}add_template_hotkey(e,t){if(this.remove_template_hotkey(e),t){let r=this.plugin.settings.templates_folder?this.plugin.settings.templates_folder.length+1:0,i=t.slice(r,-3);this.plugin.addCommand({id:t,name:`Insert ${i}`,icon:"templater-icon",callback:()=>{let o=Ce(()=>Nt(this.plugin.app,t),"Couldn't find the template file associated with this hotkey");!o||this.plugin.templater.append_template_to_active_file(o)}}),this.plugin.addCommand({id:`create-${t}`,name:`Create ${i}`,icon:"templater-icon",callback:()=>{let o=Ce(()=>Nt(this.plugin.app,t),"Couldn't find the template file associated with this hotkey");!o||this.plugin.templater.create_new_note_from_template(o)}})}}remove_template_hotkey(e){e&&(this.plugin.removeCommand(`${e}`),this.plugin.removeCommand(`create-${e}`))}};var Mi=X(require("obsidian"));var Si=X(require("obsidian"));var Ci=class{constructor(e){this.app=e}async jump_to_next_cursor_location(){let e=this.app.workspace.activeEditor;if(!e?.editor)return;let t=e.editor.getValue(),{cursor_matches:r,positions:i}=this.get_cursor_matches_and_positions(t);if(!i||!r)return;let o=e instanceof Si.MarkdownView?e.currentMode.getFoldInfo():null,a=[];for(let l=r.length-1;l>=0;l--){let c=r[l],d=this.get_editor_position_from_index(t,c.index),m=this.get_editor_position_from_index(t,c.index+c[0].length);a.push({from:d,to:m,text:""})}e.editor.transaction({changes:a,selections:i.map(l=>({from:l}))}),o&&Array.isArray(o.folds)&&(i.forEach(l=>{o.folds=o.folds.filter(c=>c.from>l.line||c.tothis.read_and_parse_template(i),"Template parsing error, aborting.");if(o==null){await this.end_templater_task(r);return}await this.plugin.app.vault.modify(e,o),this.plugin.app.workspace.trigger("templater:overwrite-file",{file:e,content:o}),await this.plugin.editor_handler.jump_to_next_cursor_location(e,!0),await this.end_templater_task(r)}async process_dynamic_templates(e,t){let r=ao(),i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT),o,a=!1,l;for(;o=i.nextNode();){let c=o.nodeValue;if(c!==null){let d=r.exec(c);if(d!==null){let m=this.plugin.app.metadataCache.getFirstLinkpathDest("",t.sourcePath);if(!m||!(m instanceof de.TFile))return;if(!a){a=!0;let _=this.create_running_config(m,m,4);l=await this.functions_generator.generate_object(_,Xe.USER_INTERNAL),this.current_functions_object=l}}for(;d!=null;){let m=d[1]+d[2],_=await Se(async()=>await this.parser.parse_commands(m,l),`Command Parsing error in dynamic command '${m}'`);if(_==null)return;let w=r.lastIndex-d[0].length,b=r.lastIndex;c=c.substring(0,w)+_+c.substring(b),r.lastIndex+=_.length-d[0].length,d=r.exec(c)}o.nodeValue=c}}}get_new_file_template_for_folder(e){do{let t=this.plugin.settings.folder_templates.find(r=>r.folder==e.path);if(t&&t.template)return t.template;e=e.parent}while(e)}get_new_file_template_for_file(e){let t=this.plugin.settings.file_templates.find(r=>new RegExp(r.regex).test(e.path));if(t&&t.template)return t.template}static async on_file_creation(e,t,r){if(!(r instanceof de.TFile)||r.extension!=="md")return;let i=(0,de.normalizePath)(e.plugin.settings.templates_folder);if(r.path.includes(i)&&i!=="/"||(await jt(300),e.files_with_pending_templates.has(r.path)))return;let o=await t.vault.read(r),a=(0,de.getFrontMatterInfo)(o),l=o.length-a.contentStart;if(l==0&&e.plugin.settings.enable_folder_templates){let c=e.get_new_file_template_for_folder(r.parent);if(!c)return;let d=await Se(async()=>Nt(t,c),`Couldn't find template ${c}`);if(d==null)return;await e.write_template_to_file(d,r)}else if(l==0&&e.plugin.settings.enable_file_templates){let c=e.get_new_file_template_for_file(r);if(!c)return;let d=await Se(async()=>Nt(t,c),`Couldn't find template ${c}`);if(d==null)return;await e.write_template_to_file(d,r)}else{let c=1e5;r.stat.size<=c?await e.overwrite_file_commands(r):console.log(`Templater skipped parsing ${r.path} because file size exceeds ${c}`)}}async execute_startup_scripts(){for(let e of this.plugin.settings.startup_templates){if(!e)continue;let t=Ce(()=>Nt(this.plugin.app,e),`Couldn't find startup template "${e}"`);if(!t)continue;let{path:r}=t;this.start_templater_task(r);let i=this.create_running_config(t,t,5);await Se(async()=>this.read_and_parse_template(i),"Startup Template parsing error, aborting."),await this.end_templater_task(r)}}};var Jo=X(require("obsidian")),wr=class{constructor(e,t,r){this.plugin=e;this.templater=t;this.settings=r}setup(){Array.isArray(this.plugin.app.workspace.onLayoutReadyCallbacks)?this.plugin.app.workspace.onLayoutReadyCallbacks.unshift({pluginId:this.plugin.manifest.id,callback:()=>{this.update_trigger_file_on_creation()}}):this.plugin.app.workspace.onLayoutReady(()=>{this.update_trigger_file_on_creation()}),this.update_syntax_highlighting(),this.update_file_menu()}update_syntax_highlighting(){let e=this.plugin.editor_handler.desktopShouldHighlight(),t=this.plugin.editor_handler.mobileShouldHighlight();e||t?this.plugin.editor_handler.enable_highlighter():this.plugin.editor_handler.disable_highlighter()}update_trigger_file_on_creation(){this.settings.trigger_on_file_creation?(this.trigger_on_file_creation_event=this.plugin.app.vault.on("create",e=>Pn.on_file_creation(this.templater,this.plugin.app,e)),this.plugin.registerEvent(this.trigger_on_file_creation_event)):this.trigger_on_file_creation_event&&(this.plugin.app.vault.offref(this.trigger_on_file_creation_event),this.trigger_on_file_creation_event=void 0)}update_file_menu(){this.plugin.registerEvent(this.plugin.app.workspace.on("file-menu",(e,t)=>{t instanceof Jo.TFolder&&e.addItem(r=>{r.setTitle("Create new note from template").setIcon("templater-icon").onClick(()=>{this.plugin.fuzzy_suggester.create_new_note_from_template(t)})})}))}};var br=X(require("obsidian"));var ki=class{constructor(e){this.plugin=e}setup(){this.plugin.addCommand({id:"insert-templater",name:"Open insert template modal",icon:"templater-icon",hotkeys:br.Platform.isMacOS?void 0:[{modifiers:["Alt"],key:"e"}],callback:()=>{this.plugin.fuzzy_suggester.insert_template()}}),this.plugin.addCommand({id:"replace-in-file-templater",name:"Replace templates in the active file",icon:"templater-icon",hotkeys:br.Platform.isMacOS?void 0:[{modifiers:["Alt"],key:"r"}],callback:()=>{this.plugin.templater.overwrite_active_file_commands()}}),this.plugin.addCommand({id:"jump-to-next-cursor-location",name:"Jump to next cursor location",icon:"text-cursor",hotkeys:[{modifiers:["Alt"],key:"Tab"}],callback:()=>{this.plugin.editor_handler.jump_to_next_cursor_location()}}),this.plugin.addCommand({id:"create-new-note-from-template",name:"Create new note from template",icon:"templater-icon",hotkeys:br.Platform.isMacOS?void 0:[{modifiers:["Alt"],key:"n"}],callback:()=>{this.plugin.fuzzy_suggester.create_new_note_from_template()}}),this.register_templates_hotkeys()}register_templates_hotkeys(){this.plugin.settings.enabled_templates_hotkeys.forEach(e=>{e&&this.add_template_hotkey(null,e)})}add_template_hotkey(e,t){if(this.remove_template_hotkey(e),t){let r=this.plugin.settings.templates_folder?this.plugin.settings.templates_folder.length+1:0,i=t.slice(r,-3);this.plugin.addCommand({id:t,name:`Insert ${i}`,icon:"templater-icon",callback:()=>{let o=Ce(()=>Nt(this.plugin.app,t),"Couldn't find the template file associated with this hotkey");!o||this.plugin.templater.append_template_to_active_file(o)}}),this.plugin.addCommand({id:`create-${t}`,name:`Create ${i}`,icon:"templater-icon",callback:()=>{let o=Ce(()=>Nt(this.plugin.app,t),"Couldn't find the template file associated with this hotkey");!o||this.plugin.templater.create_new_note_from_template(o)}})}}remove_template_hotkey(e){e&&(this.plugin.removeCommand(`${e}`),this.plugin.removeCommand(`create-${e}`))}};var Mi=X(require("obsidian"));var Si=X(require("obsidian"));var Ci=class{constructor(e){this.app=e}async jump_to_next_cursor_location(){let e=this.app.workspace.activeEditor;if(!e?.editor)return;let t=e.editor.getValue(),{cursor_matches:r,positions:i}=this.get_cursor_matches_and_positions(t);if(!i||!r)return;let o=e instanceof Si.MarkdownView?e.currentMode.getFoldInfo():null,a=[];for(let l=r.length-1;l>=0;l--){let c=r[l],d=this.get_editor_position_from_index(t,c.index),m=this.get_editor_position_from_index(t,c.index+c[0].length);a.push({from:d,to:m,text:""})}e.editor.transaction({changes:a,selections:i.map(l=>({from:l}))}),o&&Array.isArray(o.folds)&&(i.forEach(l=>{o.folds=o.folds.filter(c=>c.from>l.line||c.to[0-9]*)\)\s*%>/g,r=Array.from(e.matchAll(t));if(r.length===0)return{};r.sort((d,m)=>Number(d.groups?.order||0)-Number(m.groups?.order||0));let i=r[0][0],o=r.filter(d=>d[0]===i),a=o[0][1]===""?[o[0]]:o,l=[],c=0;for(let d of a){let m=d.index-c;l.push(this.get_editor_position_from_index(e,m)),e=e.slice(0,m)+e.slice(m+d[0].length),c+=d[0].length}return{cursor_matches:a,positions:l}}};var ea=X(require("obsidian"));var ec={app:{name:"app",description:"This module exposes the app instance. Prefer to use this over the global app instance."},user:{name:"user",description:"This module exposes custom made scripts, written by yourself within the script file folder location"},config:{name:"config",description:`This module exposes Templater's running configuration. This is mostly useful when writing scripts requiring some context information. @@ -40,6 +40,6 @@ selected value: <% selectedValue %>`}]},multi_suggester:{name:"multi_suggester", let selectedValues = await tp.system.multi_suggester(["Happy", "Sad", "Confused"], ["Happy", "Sad", "Confused"]); %> # <% selectedValues %> -selected values: <% selectedValues %>`}]}}},web:{name:"web",description:"This modules contains every internal function related to the web (making web requests).",functions:{daily_quote:{name:"daily_quote",description:"Retrieves and parses the daily quote from `https://github.com/Zachatoo/quotes-database` as a callout.",definition:"tp.web.daily_quote()",examples:[{name:"Daily quote",example:"<% await tp.web.daily_quote() %>"}]},random_picture:{name:"random_picture",description:"Gets a random image from `https://unsplash.com/`.",definition:"tp.web.random_picture(size?: string, query?: string, include_size?: boolean)",args:[{name:"size",description:"Image size in the format `x`."},{name:"query",description:"Limits selection to photos matching a search term. Multiple search terms can be passed separated by a comma."},{name:"include_size",description:"Optional argument to include the specified size in the image link markdown. Defaults to false."}],examples:[{name:"Random picture",example:"<% await tp.web.random_picture() %>"},{name:"Random picture with size",example:'<% await tp.web.random_picture("200x200") %>'},{name:"Random picture with size and query",example:'<% await tp.web.random_picture("200x200", "landscape,water") %>'}]},request:{name:"request",description:"Makes a HTTP request to the specified URL. Optionally, you can specify a path to extract specific data from the response.",definition:"tp.web.request(url: string, path?: string)",args:[{name:"url",description:"The URL to which the HTTP request will be made."},{name:"path",description:"A path within the response JSON to extract specific data."}],examples:[{name:"Simple request",example:'<% await tp.web.request("https://jsonplaceholder.typicode.com/todos/1") %>'},{name:"Request with path",example:'<% await tp.web.request("https://jsonplaceholder.typicode.com/todos", "0.title") %>'}]}}}},Xo={tp:ec};var tc=["app","config","date","file","frontmatter","hooks","obsidian","system","user","web"],nc=new Set(tc);function Zo(n){return typeof n=="string"&&nc.has(n)}function Di(n){return!!(n.definition||n.returns||n.args)}var Pi=class{constructor(e){this.plugin=e;this.documentation=Xo}get_all_modules_documentation(){let e=this.documentation.tp;return(!this.plugin.settings||!this.plugin.settings.user_scripts_folder)&&(e=Object.values(e).filter(t=>t.name!=="user")),Object.values(e).map(t=>(t.queryKey=t.name,t))}async get_all_functions_documentation(e,t){if(e==="app")return this.get_app_functions_documentation(this.plugin.app,t);if(e==="user"){if(!this.plugin.settings||!this.plugin.settings.user_scripts_folder)return;let r=await Se(async()=>{let i=Je(this.plugin.app,this.plugin.settings.user_scripts_folder).filter(a=>a.extension=="js");return await so(this.plugin.app,i)},"User Scripts folder doesn't exist");return!r||r.length===0?void 0:r.reduce((i,o)=>o.extension!=="js"?i:[...i,{name:o.basename,queryKey:o.basename,definition:"",description:o.description,returns:o.returns,args:o.arguments.reduce((l,c)=>(l[c.name]={name:c.name,description:c.description},l),{}),example:""}],[])}if(!!this.documentation.tp[e].functions)return Object.values(this.documentation.tp[e].functions).map(r=>(r.queryKey=r.name,r))}get_app_functions_documentation(e,t){if(!xn(e))return[];let r=t.split(".");if(r.length===0)return[];let i=e;for(let c=0;c[a-z]*)?(?\.(?[a-zA-Z_.]*)?)?$/;this.documentation=new Pi(e),this.intellisense_render_setting=e.settings.intellisense_render}onTrigger(e,t,r){let i=t.getRange({line:e.line,ch:0},{line:e.line,ch:e.ch}),o=this.tp_keyword_regex.exec(i);if(!o)return null;let a,l=o.groups&&o.groups.module||"";if(this.module_name=l,o.groups&&o.groups.fn_trigger){if(l==""||!Zo(l))return null;this.function_trigger=!0,this.function_name=o.groups.fn||"",a=this.function_name}else this.function_trigger=!1,a=this.module_name;let c={start:{line:e.line,ch:e.ch-a.length},end:{line:e.line,ch:e.ch},query:a};return this.latest_trigger_info=c,c}async getSuggestions(e){let t;return this.module_name&&this.function_trigger?t=await this.documentation.get_all_functions_documentation(this.module_name,this.function_name):t=this.documentation.get_all_modules_documentation(),t?t.filter(r=>r.queryKey.toLowerCase().startsWith(e.query.toLowerCase())):[]}renderSuggestion(e,t){if(t.createEl("b",{text:e.name}),Di(e)){if(e.args&&this.getNumberOfArguments(e.args)>0&&Fo(this.intellisense_render_setting)){t.createEl("p",{text:"Parameter list:"});let r=t.createEl("ol");for(let[i,o]of Object.entries(e.args))Ur(r,i,o.description)}e.returns&&Io(this.intellisense_render_setting)&&Ur(t,"Returns",e.returns)}this.function_trigger&&Di(e)&&t.createEl("code",{text:e.definition}),e.description&&qo(this.intellisense_render_setting)&&t.createEl("div",{text:e.description})}selectSuggestion(e,t){let r=this.app.workspace.activeEditor;if(!(!r||!r.editor)&&(r.editor.replaceRange(e.queryKey,this.latest_trigger_info.start,this.latest_trigger_info.end),this.latest_trigger_info.start.ch==this.latest_trigger_info.end.ch)){let i=this.latest_trigger_info.end;i.ch+=e.queryKey.length,r.editor.setCursor(i)}}getNumberOfArguments(e){try{return new Map(Object.entries(e)).size}catch{return 0}}updateAutocompleteIntellisenseSetting(e){this.intellisense_render_setting=e}};(function(n){n(window.CodeMirror)})(function(n){"use strict";n.defineMode("javascript",function(e,t){var r=e.indentUnit,i=t.statementIndent,o=t.jsonld,a=t.json||o,l=t.trackScope!==!1,c=t.typescript,d=t.wordCharacters||/[\w$\xa1-\uffff]/,m=function(){function s(ve){return{type:ve,style:"keyword"}}var p=s("keyword a"),A=s("keyword b"),x=s("keyword c"),I=s("keyword d"),Y=s("operator"),z={type:"atom",style:"atom"};return{if:s("if"),while:p,with:p,else:A,do:A,try:A,finally:A,return:I,break:I,continue:I,new:s("new"),delete:x,void:x,throw:x,debugger:s("debugger"),var:s("var"),const:s("var"),let:s("var"),function:s("function"),catch:s("catch"),for:s("for"),switch:s("switch"),case:s("case"),default:s("default"),in:Y,typeof:Y,instanceof:Y,true:z,false:z,null:z,undefined:z,NaN:z,Infinity:z,this:s("this"),class:s("class"),super:s("atom"),yield:x,export:s("export"),import:s("import"),extends:x,await:x}}(),_=/[+\-*&%=<>!?|~^@]/,w=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function b(s){for(var p=!1,A,x=!1;(A=s.next())!=null;){if(!p){if(A=="/"&&!x)return;A=="["?x=!0:x&&A=="]"&&(x=!1)}p=!p&&A=="\\"}}var S,k;function E(s,p,A){return S=s,k=A,p}function O(s,p){var A=s.next();if(A=='"'||A=="'")return p.tokenize=$(A),p.tokenize(s,p);if(A=="."&&s.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return E("number","number");if(A=="."&&s.match(".."))return E("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(A))return E(A);if(A=="="&&s.eat(">"))return E("=>","operator");if(A=="0"&&s.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return E("number","number");if(/\d/.test(A))return s.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),E("number","number");if(A=="/")return s.eat("*")?(p.tokenize=K,K(s,p)):s.eat("/")?(s.skipToEnd(),E("comment","comment")):Wi(s,p,1)?(b(s),s.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),E("regexp","string-2")):(s.eat("="),E("operator","operator",s.current()));if(A=="`")return p.tokenize=D,D(s,p);if(A=="#"&&s.peek()=="!")return s.skipToEnd(),E("meta","meta");if(A=="#"&&s.eatWhile(d))return E("variable","property");if(A=="<"&&s.match("!--")||A=="-"&&s.match("->")&&!/\S/.test(s.string.slice(0,s.start)))return s.skipToEnd(),E("comment","comment");if(_.test(A))return(A!=">"||!p.lexical||p.lexical.type!=">")&&(s.eat("=")?(A=="!"||A=="=")&&s.eat("="):/[<>*+\-|&?]/.test(A)&&(s.eat(A),A==">"&&s.eat(A))),A=="?"&&s.eat(".")?E("."):E("operator","operator",s.current());if(d.test(A)){s.eatWhile(d);var x=s.current();if(p.lastType!="."){if(m.propertyIsEnumerable(x)){var I=m[x];return E(I.type,I.style,x)}if(x=="async"&&s.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return E("async","keyword",x)}return E("variable","variable",x)}}function $(s){return function(p,A){var x=!1,I;if(o&&p.peek()=="@"&&p.match(w))return A.tokenize=O,E("jsonld-keyword","meta");for(;(I=p.next())!=null&&!(I==s&&!x);)x=!x&&I=="\\";return x||(A.tokenize=O),E("string","string")}}function K(s,p){for(var A=!1,x;x=s.next();){if(x=="/"&&A){p.tokenize=O;break}A=x=="*"}return E("comment","comment")}function D(s,p){for(var A=!1,x;(x=s.next())!=null;){if(!A&&(x=="`"||x=="$"&&s.eat("{"))){p.tokenize=O;break}A=!A&&x=="\\"}return E("quasi","string-2",s.current())}var H="([{}])";function F(s,p){p.fatArrowAt&&(p.fatArrowAt=null);var A=s.string.indexOf("=>",s.start);if(!(A<0)){if(c){var x=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(s.string.slice(s.start,A));x&&(A=x.index)}for(var I=0,Y=!1,z=A-1;z>=0;--z){var ve=s.string.charAt(z),We=H.indexOf(ve);if(We>=0&&We<3){if(!I){++z;break}if(--I==0){ve=="("&&(Y=!0);break}}else if(We>=3&&We<6)++I;else if(d.test(ve))Y=!0;else if(/["'\/`]/.test(ve))for(;;--z){if(z==0)return;var ya=s.string.charAt(z-1);if(ya==ve&&s.string.charAt(z-2)!="\\"){z--;break}}else if(Y&&!I){++z;break}}Y&&!I&&(p.fatArrowAt=z)}}var J={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function te(s,p,A,x,I,Y){this.indented=s,this.column=p,this.type=A,this.prev=I,this.info=Y,x!=null&&(this.align=x)}function ne(s,p){if(!l)return!1;for(var A=s.localVars;A;A=A.next)if(A.name==p)return!0;for(var x=s.context;x;x=x.prev)for(var A=x.vars;A;A=A.next)if(A.name==p)return!0}function Q(s,p,A,x,I){var Y=s.cc;for(h.state=s,h.stream=I,h.marked=null,h.cc=Y,h.style=p,s.lexical.hasOwnProperty("align")||(s.lexical.align=!0);;){var z=Y.length?Y.pop():a?W:ee;if(z(A,x)){for(;Y.length&&Y[Y.length-1].lex;)Y.pop()();return h.marked?h.marked:A=="variable"&&ne(s,x)?"variable-2":p}}}var h={state:null,column:null,marked:null,cc:null};function C(){for(var s=arguments.length-1;s>=0;s--)h.cc.push(arguments[s])}function f(){return C.apply(null,arguments),!0}function Ie(s,p){for(var A=p;A;A=A.next)if(A.name==s)return!0;return!1}function Ee(s){var p=h.state;if(h.marked="def",!!l){if(p.context){if(p.lexical.info=="var"&&p.context&&p.context.block){var A=_e(s,p.context);if(A!=null){p.context=A;return}}else if(!Ie(s,p.localVars)){p.localVars=new ke(s,p.localVars);return}}t.globalVars&&!Ie(s,p.globalVars)&&(p.globalVars=new ke(s,p.globalVars))}}function _e(s,p){if(p)if(p.block){var A=_e(s,p.prev);return A?A==p.prev?p:new Ye(A,p.vars,!0):null}else return Ie(s,p.vars)?p:new Ye(p.prev,new ke(s,p.vars),!1);else return null}function xe(s){return s=="public"||s=="private"||s=="protected"||s=="abstract"||s=="readonly"}function Ye(s,p,A){this.prev=s,this.vars=p,this.block=A}function ke(s,p){this.name=s,this.next=p}var Rt=new ke("this",new ke("arguments",null));function Ue(){h.state.context=new Ye(h.state.context,h.state.localVars,!1),h.state.localVars=Rt}function Ze(){h.state.context=new Ye(h.state.context,h.state.localVars,!0),h.state.localVars=null}function ye(){h.state.localVars=h.state.context.vars,h.state.context=h.state.context.prev}ye.lex=!0;function B(s,p){var A=function(){var x=h.state,I=x.indented;if(x.lexical.type=="stat")I=x.lexical.indented;else for(var Y=x.lexical;Y&&Y.type==")"&&Y.align;Y=Y.prev)I=Y.indented;x.lexical=new te(I,h.stream.column(),s,null,x.lexical,p)};return A.lex=!0,A}function N(){var s=h.state;s.lexical.prev&&(s.lexical.type==")"&&(s.indented=s.lexical.indented),s.lexical=s.lexical.prev)}N.lex=!0;function q(s){function p(A){return A==s?f():s==";"||A=="}"||A==")"||A=="]"?C():f(p)}return p}function ee(s,p){return s=="var"?f(B("vardef",p),Cr,q(";"),N):s=="keyword a"?f(B("form"),Tt,ee,N):s=="keyword b"?f(B("form"),ee,N):s=="keyword d"?h.stream.match(/^\s*$/,!1)?f():f(B("stat"),tt,q(";"),N):s=="debugger"?f(q(";")):s=="{"?f(B("}"),Ze,Ln,N,ye):s==";"?f():s=="if"?(h.state.lexical.info=="else"&&h.state.cc[h.state.cc.length-1]==N&&h.state.cc.pop()(),f(B("form"),Tt,ee,N,Hi)):s=="function"?f(At):s=="for"?f(B("form"),Ze,$i,ee,ye,N):s=="class"||c&&p=="interface"?(h.marked="keyword",f(B("form",s=="class"?s:p),Ri,N)):s=="variable"?c&&p=="declare"?(h.marked="keyword",f(ee)):c&&(p=="module"||p=="enum"||p=="type")&&h.stream.match(/^\s*\w/,!1)?(h.marked="keyword",p=="enum"?f(Gi):p=="type"?f(Ki,q("operator"),V,q(";")):f(B("form"),Fe,q("{"),B("}"),Ln,N,N)):c&&p=="namespace"?(h.marked="keyword",f(B("form"),W,ee,N)):c&&p=="abstract"?(h.marked="keyword",f(ee)):f(B("stat"),Fn):s=="switch"?f(B("form"),Tt,q("{"),B("}","switch"),Ze,Ln,N,N,ye):s=="case"?f(W,q(":")):s=="default"?f(q(":")):s=="catch"?f(B("form"),Ue,et,ee,N,ye):s=="export"?f(B("stat"),ma,N):s=="import"?f(B("stat"),ga,N):s=="async"?f(ee):p=="@"?f(W,ee):C(B("stat"),W,q(";"),N)}function et(s){if(s=="(")return f(Ct,q(")"))}function W(s,p){return Nn(s,p,!1)}function je(s,p){return Nn(s,p,!0)}function Tt(s){return s!="("?C():f(B(")"),tt,q(")"),N)}function Nn(s,p,A){if(h.state.fatArrowAt==h.stream.start){var x=A?Bn:On;if(s=="(")return f(Ue,B(")"),se(Ct,")"),N,q("=>"),x,ye);if(s=="variable")return C(Ue,Fe,q("=>"),x,ye)}var I=A?gt:nt;return J.hasOwnProperty(s)?f(I):s=="function"?f(At,I):s=="class"||c&&p=="interface"?(h.marked="keyword",f(B("form"),da,N)):s=="keyword c"||s=="async"?f(A?je:W):s=="("?f(B(")"),tt,q(")"),N,I):s=="operator"||s=="spread"?f(A?je:W):s=="["?f(B("]"),Aa,N,I):s=="{"?ln(St,"}",null,I):s=="quasi"?C(kt,I):s=="new"?f(rt(A)):f()}function tt(s){return s.match(/[;\}\)\],]/)?C():C(W)}function nt(s,p){return s==","?f(tt):gt(s,p,!1)}function gt(s,p,A){var x=A==!1?nt:gt,I=A==!1?W:je;if(s=="=>")return f(Ue,A?Bn:On,ye);if(s=="operator")return/\+\+|--/.test(p)||c&&p=="!"?f(x):c&&p=="<"&&h.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?f(B(">"),se(V,">"),N,x):p=="?"?f(W,q(":"),I):f(I);if(s=="quasi")return C(kt,x);if(s!=";"){if(s=="(")return ln(je,")","call",x);if(s==".")return f(cn,x);if(s=="[")return f(B("]"),tt,q("]"),N,x);if(c&&p=="as")return h.marked="keyword",f(V,x);if(s=="regexp")return h.state.lastType=h.marked="operator",h.stream.backUp(h.stream.pos-h.stream.start-1),f(I)}}function kt(s,p){return s!="quasi"?C():p.slice(p.length-2)!="${"?f(kt):f(tt,Mn)}function Mn(s){if(s=="}")return h.marked="string-2",h.state.tokenize=D,f(kt)}function On(s){return F(h.stream,h.state),C(s=="{"?ee:W)}function Bn(s){return F(h.stream,h.state),C(s=="{"?ee:je)}function rt(s){return function(p){return p=="."?f(s?In:Yt):p=="variable"&&c?f(ca,s?gt:nt):C(s?je:W)}}function Yt(s,p){if(p=="target")return h.marked="keyword",f(nt)}function In(s,p){if(p=="target")return h.marked="keyword",f(gt)}function Fn(s){return s==":"?f(N,ee):C(nt,q(";"),N)}function cn(s){if(s=="variable")return h.marked="property",f()}function St(s,p){if(s=="async")return h.marked="property",f(St);if(s=="variable"||h.style=="keyword"){if(h.marked="property",p=="get"||p=="set")return f(qn);var A;return c&&h.state.fatArrowAt==h.stream.start&&(A=h.stream.match(/^\s*:\s*/,!1))&&(h.state.fatArrowAt=h.stream.pos+A[0].length),f(Ge)}else{if(s=="number"||s=="string")return h.marked=o?"property":h.style+" property",f(Ge);if(s=="jsonld-keyword")return f(Ge);if(c&&xe(p))return h.marked="keyword",f(St);if(s=="[")return f(W,Ut,q("]"),Ge);if(s=="spread")return f(je,Ge);if(p=="*")return h.marked="keyword",f(St);if(s==":")return C(Ge)}}function qn(s){return s!="variable"?C(Ge):(h.marked="property",f(At))}function Ge(s){if(s==":")return f(je);if(s=="(")return C(At)}function se(s,p,A){function x(I,Y){if(A?A.indexOf(I)>-1:I==","){var z=h.state.lexical;return z.info=="call"&&(z.pos=(z.pos||0)+1),f(function(ve,We){return ve==p||We==p?C():C(s)},x)}return I==p||Y==p?f():A&&A.indexOf(";")>-1?C(s):f(q(p))}return function(I,Y){return I==p||Y==p?f():C(s,x)}}function ln(s,p,A){for(var x=3;x"),V);if(s=="quasi")return C(kr,it)}function aa(s){if(s=="=>")return f(V)}function Tr(s){return s.match(/[\}\)\]]/)?f():s==","||s==";"?f(Tr):C(pn,Tr)}function pn(s,p){if(s=="variable"||h.style=="keyword")return h.marked="property",f(pn);if(p=="?"||s=="number"||s=="string")return f(pn);if(s==":")return f(V);if(s=="[")return f(q("variable"),ia,q("]"),pn);if(s=="(")return C(Wt,pn);if(!s.match(/[;\}\)\],]/))return f()}function kr(s,p){return s!="quasi"?C():p.slice(p.length-2)!="${"?f(kr):f(V,sa)}function sa(s){if(s=="}")return h.marked="string-2",h.state.tokenize=D,f(kr)}function Sr(s,p){return s=="variable"&&h.stream.match(/^\s*[?:]/,!1)||p=="?"?f(Sr):s==":"?f(V):s=="spread"?f(Sr):C(V)}function it(s,p){if(p=="<")return f(B(">"),se(V,">"),N,it);if(p=="|"||s=="."||p=="&")return f(V);if(s=="[")return f(V,q("]"),it);if(p=="extends"||p=="implements")return h.marked="keyword",f(V);if(p=="?")return f(V,q(":"),V)}function ca(s,p){if(p=="<")return f(B(">"),se(V,">"),N,it)}function Hn(){return C(V,la)}function la(s,p){if(p=="=")return f(V)}function Cr(s,p){return p=="enum"?(h.marked="keyword",f(Gi)):C(Fe,Ut,ht,ua)}function Fe(s,p){if(c&&xe(p))return h.marked="keyword",f(Fe);if(s=="variable")return Ee(p),f();if(s=="spread")return f(Fe);if(s=="[")return ln(pa,"]");if(s=="{")return ln(Li,"}")}function Li(s,p){return s=="variable"&&!h.stream.match(/^\s*:/,!1)?(Ee(p),f(ht)):(s=="variable"&&(h.marked="property"),s=="spread"?f(Fe):s=="}"?C():s=="["?f(W,q("]"),q(":"),Li):f(q(":"),Fe,ht))}function pa(){return C(Fe,ht)}function ht(s,p){if(p=="=")return f(je)}function ua(s){if(s==",")return f(Cr)}function Hi(s,p){if(s=="keyword b"&&p=="else")return f(B("form","else"),ee,N)}function $i(s,p){if(p=="await")return f($i);if(s=="(")return f(B(")"),fa,N)}function fa(s){return s=="var"?f(Cr,Gt):s=="variable"?f(Gt):C(Gt)}function Gt(s,p){return s==")"?f():s==";"?f(Gt):p=="in"||p=="of"?(h.marked="keyword",f(W,Gt)):C(W,Gt)}function At(s,p){if(p=="*")return h.marked="keyword",f(At);if(s=="variable")return Ee(p),f(At);if(s=="(")return f(Ue,B(")"),se(Ct,")"),N,qi,ee,ye);if(c&&p=="<")return f(B(">"),se(Hn,">"),N,At)}function Wt(s,p){if(p=="*")return h.marked="keyword",f(Wt);if(s=="variable")return Ee(p),f(Wt);if(s=="(")return f(Ue,B(")"),se(Ct,")"),N,qi,ye);if(c&&p=="<")return f(B(">"),se(Hn,">"),N,Wt)}function Ki(s,p){if(s=="keyword"||s=="variable")return h.marked="type",f(Ki);if(p=="<")return f(B(">"),se(Hn,">"),N)}function Ct(s,p){return p=="@"&&f(W,Ct),s=="spread"?f(Ct):c&&xe(p)?(h.marked="keyword",f(Ct)):c&&s=="this"?f(Ut,ht):C(Fe,Ut,ht)}function da(s,p){return s=="variable"?Ri(s,p):$n(s,p)}function Ri(s,p){if(s=="variable")return Ee(p),f($n)}function $n(s,p){if(p=="<")return f(B(">"),se(Hn,">"),N,$n);if(p=="extends"||p=="implements"||c&&s==",")return p=="implements"&&(h.marked="keyword"),f(c?V:W,$n);if(s=="{")return f(B("}"),ot,N)}function ot(s,p){if(s=="async"||s=="variable"&&(p=="static"||p=="get"||p=="set"||c&&xe(p))&&h.stream.match(/^\s+[\w$\xa1-\uffff]/,!1))return h.marked="keyword",f(ot);if(s=="variable"||h.style=="keyword")return h.marked="property",f(un,ot);if(s=="number"||s=="string")return f(un,ot);if(s=="[")return f(W,Ut,q("]"),un,ot);if(p=="*")return h.marked="keyword",f(ot);if(c&&s=="(")return C(Wt,ot);if(s==";"||s==",")return f(ot);if(s=="}")return f();if(p=="@")return f(W,ot)}function un(s,p){if(p=="!"||p=="?")return f(un);if(s==":")return f(V,ht);if(p=="=")return f(je);var A=h.state.lexical.prev,x=A&&A.info=="interface";return C(x?Wt:At)}function ma(s,p){return p=="*"?(h.marked="keyword",f(Dr,q(";"))):p=="default"?(h.marked="keyword",f(W,q(";"))):s=="{"?f(se(Yi,"}"),Dr,q(";")):C(ee)}function Yi(s,p){if(p=="as")return h.marked="keyword",f(q("variable"));if(s=="variable")return C(je,Yi)}function ga(s){return s=="string"?f():s=="("?C(W):s=="."?C(nt):C(Kn,Ui,Dr)}function Kn(s,p){return s=="{"?ln(Kn,"}"):(s=="variable"&&Ee(p),p=="*"&&(h.marked="keyword"),f(ha))}function Ui(s){if(s==",")return f(Kn,Ui)}function ha(s,p){if(p=="as")return h.marked="keyword",f(Kn)}function Dr(s,p){if(p=="from")return h.marked="keyword",f(W)}function Aa(s){return s=="]"?f():C(se(je,"]"))}function Gi(){return C(B("form"),Fe,q("{"),B("}"),se(_a,"}"),N,N)}function _a(){return C(Fe,ht)}function xa(s,p){return s.lastType=="operator"||s.lastType==","||_.test(p.charAt(0))||/[,.]/.test(p.charAt(0))}function Wi(s,p,A){return p.tokenize==O&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(p.lastType)||p.lastType=="quasi"&&/\{\s*$/.test(s.string.slice(0,s.pos-(A||0)))}return{startState:function(s){var p={tokenize:O,lastType:"sof",cc:[],lexical:new te((s||0)-r,0,"block",!1),localVars:t.localVars,context:t.localVars&&new Ye(null,null,!1),indented:s||0};return t.globalVars&&typeof t.globalVars=="object"&&(p.globalVars=t.globalVars),p},token:function(s,p){if(s.sol()&&(p.lexical.hasOwnProperty("align")||(p.lexical.align=!1),p.indented=s.indentation(),F(s,p)),p.tokenize!=K&&s.eatSpace())return null;var A=p.tokenize(s,p);return S=="comment"?A:(p.lastType=S=="operator"&&(k=="++"||k=="--")?"incdec":S,Q(p,A,S,k,s))},indent:function(s,p){if(s.tokenize==K||s.tokenize==D)return n.Pass;if(s.tokenize!=O)return 0;var A=p&&p.charAt(0),x=s.lexical,I;if(!/^\s*else\b/.test(p))for(var Y=s.cc.length-1;Y>=0;--Y){var z=s.cc[Y];if(z==N)x=x.prev;else if(z!=Hi&&z!=ye)break}for(;(x.type=="stat"||x.type=="form")&&(A=="}"||(I=s.cc[s.cc.length-1])&&(I==nt||I==gt)&&!/^[,\.=+\-*:?[\(]/.test(p));)x=x.prev;i&&x.type==")"&&x.prev.type=="stat"&&(x=x.prev);var ve=x.type,We=A==ve;return ve=="vardef"?x.indented+(s.lastType=="operator"||s.lastType==","?x.info.length+1:0):ve=="form"&&A=="{"?x.indented:ve=="form"?x.indented+r:ve=="stat"?x.indented+(xa(s,p)?i||r:0):x.info=="switch"&&!We&&t.doubleIndentSwitch!=!1?x.indented+(/^(?:case|default)\b/.test(p)?r:2*r):x.align?x.column+(We?0:1):x.indented+(We?0:r)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:a?null:"/*",blockCommentEnd:a?null:"*/",blockCommentContinue:a?null:" * ",lineComment:a?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:a?"json":"javascript",jsonldMode:o,jsonMode:a,expressionAllowed:Wi,skipExpression:function(s){Q(s,"atom","atom","true",new n.StringStream("",2,null))}}}),n.registerHelper("wordChars","javascript",/[\w$]/),n.defineMIME("text/javascript","javascript"),n.defineMIME("text/ecmascript","javascript"),n.defineMIME("application/javascript","javascript"),n.defineMIME("application/x-javascript","javascript"),n.defineMIME("application/ecmascript","javascript"),n.defineMIME("application/json",{name:"javascript",json:!0}),n.defineMIME("application/x-json",{name:"javascript",json:!0}),n.defineMIME("application/manifest+json",{name:"javascript",json:!0}),n.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),n.defineMIME("text/typescript",{name:"javascript",typescript:!0}),n.defineMIME("application/typescript",{name:"javascript",typescript:!0})});(function(n){n(window.CodeMirror)})(function(n){"use strict";n.customOverlayMode=function(e,t,r){return{startState:function(){return{base:n.startState(e),overlay:n.startState(t),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(i){return{base:n.copyState(e,i.base),overlay:n.copyState(t,i.overlay),basePos:i.basePos,baseCur:null,overlayPos:i.overlayPos,overlayCur:null}},token:function(i,o){return(i!=o.streamSeen||Math.min(o.basePos,o.overlayPos)0&&(this.activeEditorExtensions.pop(),this.plugin.app.workspace.updateOptions())}async jump_to_next_cursor_location(e=null,t=!1){t&&!this.plugin.settings.auto_jump_to_cursor||e&&Xt(this.plugin.app)!==e||await this.cursor_jumper.jump_to_next_cursor_location()}async registerCodeMirrorMode(){if(!this.desktopShouldHighlight()&&!this.mobileShouldHighlight())return;let e=window.CodeMirror.getMode({},"javascript");if(e.name==="null"){oe(new P("Javascript syntax mode couldn't be found, can't enable syntax highlighting."));return}let t=window.CodeMirror.customOverlayMode;if(t==null){oe(new P("Couldn't find customOverlayMode, can't enable syntax highlighting."));return}window.CodeMirror.defineMode(ra,function(r){let i={startState:function(){return{...window.CodeMirror.startState(e),inCommand:!1,tag_class:"",freeLine:!1}},copyState:function(o){return{...window.CodeMirror.startState(e),inCommand:o.inCommand,tag_class:o.tag_class,freeLine:o.freeLine}},blankLine:function(o){return o.inCommand?"line-background-templater-command-bg":null},token:function(o,a){if(o.sol()&&a.inCommand&&(a.freeLine=!0),a.inCommand){let c="";if(o.match(/[-_]{0,1}%>/,!0)){a.inCommand=!1,a.freeLine=!1;let m=a.tag_class;return a.tag_class="",`line-${Bi} ${Oi} ${ic} ${m}`}let d=e.token&&e.token(o,a);return o.peek()==null&&a.freeLine&&(c+=" line-background-templater-command-bg"),a.freeLine||(c+=` line-${Bi}`),`${c} ${Oi} ${d}`}let l=o.match(/<%[-_]{0,1}\s*([*+]{0,1})/,!0);if(l!=null){switch(l[1]){case"*":a.tag_class=ac;break;default:a.tag_class=oc;break}return a.inCommand=!0,`line-${Bi} ${Oi} ${rc} ${a.tag_class}`}for(;o.next()!=null&&!o.match(/<%/,!1););return null}};return t(window.CodeMirror.getMode(r,"hypermd"),i)})}updateEditorIntellisenseSetting(e){this.autocomplete.updateAutocompleteIntellisenseSetting(e)}};var Fi=class extends Er.Plugin{async onload(){await this.load_settings(),this.templater=new Pn(this),await this.templater.setup(),this.editor_handler=new Ii(this),await this.editor_handler.setup(),this.fuzzy_suggester=new si(this),this.event_handler=new wr(this,this.templater,this.settings),this.event_handler.setup(),this.command_handler=new ki(this),this.command_handler.setup(),(0,Er.addIcon)("templater-icon",$o),this.addRibbonIcon("templater-icon","Templater",async()=>{this.fuzzy_suggester.insert_template()}).setAttribute("id","rb-templater-icon"),this.addSettingTab(new ai(this)),this.app.workspace.onLayoutReady(()=>{this.templater.execute_startup_scripts()})}async onExternalSettingsChange(){await this.load_settings()}onunload(){this.templater.functions_generator.teardown()}async save_settings(){await this.saveData(this.settings),this.editor_handler.updateEditorIntellisenseSetting(this.settings.intellisense_render)}async load_settings(){this.settings=Object.assign({},Lo,await this.loadData())}}; +selected values: <% selectedValues %>`}]}}},web:{name:"web",description:"This modules contains every internal function related to the web (making web requests).",functions:{daily_quote:{name:"daily_quote",description:"Retrieves and parses the daily quote from `https://github.com/Zachatoo/quotes-database` as a callout.",definition:"tp.web.daily_quote()",examples:[{name:"Daily quote",example:"<% await tp.web.daily_quote() %>"}]},random_picture:{name:"random_picture",description:"Gets a random image from `https://unsplash.com/`.",definition:"tp.web.random_picture(size?: string, query?: string, include_size?: boolean)",args:[{name:"size",description:"Image size in the format `x`."},{name:"query",description:"Limits selection to photos matching a search term. Multiple search terms can be passed separated by a comma."},{name:"include_size",description:"Optional argument to include the specified size in the image link markdown. Defaults to false."}],examples:[{name:"Random picture",example:"<% await tp.web.random_picture() %>"},{name:"Random picture with size",example:'<% await tp.web.random_picture("200x200") %>'},{name:"Random picture with size and query",example:'<% await tp.web.random_picture("200x200", "landscape,water") %>'}]},request:{name:"request",description:"Makes a HTTP request to the specified URL. Optionally, you can specify a path to extract specific data from the response.",definition:"tp.web.request(url: string, path?: string)",args:[{name:"url",description:"The URL to which the HTTP request will be made."},{name:"path",description:"A path within the response JSON to extract specific data."}],examples:[{name:"Simple request",example:'<% await tp.web.request("https://jsonplaceholder.typicode.com/todos/1") %>'},{name:"Request with path",example:'<% await tp.web.request("https://jsonplaceholder.typicode.com/todos", "0.title") %>'}]}}}},Xo={tp:ec};var tc=["app","config","date","file","frontmatter","hooks","obsidian","system","user","web"],nc=new Set(tc);function Zo(n){return typeof n=="string"&&nc.has(n)}function Di(n){return!!(n.definition||n.returns||n.args)}var Pi=class{constructor(e){this.plugin=e;this.documentation=Xo}get_all_modules_documentation(){let e=this.documentation.tp;return(!this.plugin.settings||!this.plugin.settings.user_scripts_folder)&&(e=Object.values(e).filter(t=>t.name!=="user")),Object.values(e).map(t=>(t.queryKey=t.name,t))}async get_all_functions_documentation(e,t){if(e==="app")return this.get_app_functions_documentation(this.plugin.app,t);if(e==="user"){if(!this.plugin.settings||!this.plugin.settings.user_scripts_folder)return;let r=await Se(async()=>{let i=Je(this.plugin.app,this.plugin.settings.user_scripts_folder).filter(a=>a.extension=="js");return await so(this.plugin.app,i)},"User Scripts folder doesn't exist");return!r||r.length===0?void 0:r.reduce((i,o)=>o.extension!=="js"?i:[...i,{name:o.basename,queryKey:o.basename,definition:"",description:o.description,returns:o.returns,args:o.arguments.reduce((l,c)=>(l[c.name]={name:c.name,description:c.description},l),{}),example:""}],[])}if(!!this.documentation.tp[e].functions)return Object.values(this.documentation.tp[e].functions).map(r=>(r.queryKey=r.name,r))}get_app_functions_documentation(e,t){if(!xn(e))return[];let r=t.split(".");if(r.length===0)return[];let i=e;for(let c=0;c[a-z]*)?(?\.(?[a-zA-Z_.]*)?)?$/;this.documentation=new Pi(e),this.intellisense_render_setting=e.settings.intellisense_render}onTrigger(e,t,r){let i=t.getRange({line:e.line,ch:0},{line:e.line,ch:e.ch}),o=this.tp_keyword_regex.exec(i);if(!o)return null;let a,l=o.groups&&o.groups.module||"";if(this.module_name=l,o.groups&&o.groups.fn_trigger){if(l==""||!Zo(l))return null;this.function_trigger=!0,this.function_name=o.groups.fn||"",a=this.function_name}else this.function_trigger=!1,a=this.module_name;let c={start:{line:e.line,ch:e.ch-a.length},end:{line:e.line,ch:e.ch},query:a};return this.latest_trigger_info=c,c}async getSuggestions(e){let t;return this.module_name&&this.function_trigger?t=await this.documentation.get_all_functions_documentation(this.module_name,this.function_name):t=this.documentation.get_all_modules_documentation(),t?t.filter(r=>r.queryKey.toLowerCase().startsWith(e.query.toLowerCase())):[]}renderSuggestion(e,t){if(t.createEl("b",{text:e.name}),Di(e)){if(e.args&&this.getNumberOfArguments(e.args)>0&&Fo(this.intellisense_render_setting)){t.createEl("p",{text:"Parameter list:"});let r=t.createEl("ol");for(let[i,o]of Object.entries(e.args))Ur(r,i,o.description)}e.returns&&Io(this.intellisense_render_setting)&&Ur(t,"Returns",e.returns)}this.function_trigger&&Di(e)&&t.createEl("code",{text:e.definition}),e.description&&qo(this.intellisense_render_setting)&&t.createEl("div",{text:e.description})}selectSuggestion(e,t){let r=this.app.workspace.activeEditor;if(!(!r||!r.editor)&&(r.editor.replaceRange(e.queryKey,this.latest_trigger_info.start,this.latest_trigger_info.end),this.latest_trigger_info.start.ch==this.latest_trigger_info.end.ch)){let i=this.latest_trigger_info.end;i.ch+=e.queryKey.length,r.editor.setCursor(i)}}getNumberOfArguments(e){try{return new Map(Object.entries(e)).size}catch{return 0}}updateAutocompleteIntellisenseSetting(e){this.intellisense_render_setting=e}};(function(n){n(window.CodeMirror)})(function(n){"use strict";n.defineMode("javascript",function(e,t){var r=e.indentUnit,i=t.statementIndent,o=t.jsonld,a=t.json||o,l=t.trackScope!==!1,c=t.typescript,d=t.wordCharacters||/[\w$\xa1-\uffff]/,m=function(){function s(ve){return{type:ve,style:"keyword"}}var p=s("keyword a"),A=s("keyword b"),x=s("keyword c"),I=s("keyword d"),Y=s("operator"),z={type:"atom",style:"atom"};return{if:s("if"),while:p,with:p,else:A,do:A,try:A,finally:A,return:I,break:I,continue:I,new:s("new"),delete:x,void:x,throw:x,debugger:s("debugger"),var:s("var"),const:s("var"),let:s("var"),function:s("function"),catch:s("catch"),for:s("for"),switch:s("switch"),case:s("case"),default:s("default"),in:Y,typeof:Y,instanceof:Y,true:z,false:z,null:z,undefined:z,NaN:z,Infinity:z,this:s("this"),class:s("class"),super:s("atom"),yield:x,export:s("export"),import:s("import"),extends:x,await:x}}(),_=/[+\-*&%=<>!?|~^@]/,w=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function b(s){for(var p=!1,A,x=!1;(A=s.next())!=null;){if(!p){if(A=="/"&&!x)return;A=="["?x=!0:x&&A=="]"&&(x=!1)}p=!p&&A=="\\"}}var S,k;function E(s,p,A){return S=s,k=A,p}function O(s,p){var A=s.next();if(A=='"'||A=="'")return p.tokenize=$(A),p.tokenize(s,p);if(A=="."&&s.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return E("number","number");if(A=="."&&s.match(".."))return E("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(A))return E(A);if(A=="="&&s.eat(">"))return E("=>","operator");if(A=="0"&&s.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return E("number","number");if(/\d/.test(A))return s.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),E("number","number");if(A=="/")return s.eat("*")?(p.tokenize=K,K(s,p)):s.eat("/")?(s.skipToEnd(),E("comment","comment")):Wi(s,p,1)?(b(s),s.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),E("regexp","string-2")):(s.eat("="),E("operator","operator",s.current()));if(A=="`")return p.tokenize=D,D(s,p);if(A=="#"&&s.peek()=="!")return s.skipToEnd(),E("meta","meta");if(A=="#"&&s.eatWhile(d))return E("variable","property");if(A=="<"&&s.match("!--")||A=="-"&&s.match("->")&&!/\S/.test(s.string.slice(0,s.start)))return s.skipToEnd(),E("comment","comment");if(_.test(A))return(A!=">"||!p.lexical||p.lexical.type!=">")&&(s.eat("=")?(A=="!"||A=="=")&&s.eat("="):/[<>*+\-|&?]/.test(A)&&(s.eat(A),A==">"&&s.eat(A))),A=="?"&&s.eat(".")?E("."):E("operator","operator",s.current());if(d.test(A)){s.eatWhile(d);var x=s.current();if(p.lastType!="."){if(m.propertyIsEnumerable(x)){var I=m[x];return E(I.type,I.style,x)}if(x=="async"&&s.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return E("async","keyword",x)}return E("variable","variable",x)}}function $(s){return function(p,A){var x=!1,I;if(o&&p.peek()=="@"&&p.match(w))return A.tokenize=O,E("jsonld-keyword","meta");for(;(I=p.next())!=null&&!(I==s&&!x);)x=!x&&I=="\\";return x||(A.tokenize=O),E("string","string")}}function K(s,p){for(var A=!1,x;x=s.next();){if(x=="/"&&A){p.tokenize=O;break}A=x=="*"}return E("comment","comment")}function D(s,p){for(var A=!1,x;(x=s.next())!=null;){if(!A&&(x=="`"||x=="$"&&s.eat("{"))){p.tokenize=O;break}A=!A&&x=="\\"}return E("quasi","string-2",s.current())}var H="([{}])";function F(s,p){p.fatArrowAt&&(p.fatArrowAt=null);var A=s.string.indexOf("=>",s.start);if(!(A<0)){if(c){var x=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(s.string.slice(s.start,A));x&&(A=x.index)}for(var I=0,Y=!1,z=A-1;z>=0;--z){var ve=s.string.charAt(z),We=H.indexOf(ve);if(We>=0&&We<3){if(!I){++z;break}if(--I==0){ve=="("&&(Y=!0);break}}else if(We>=3&&We<6)++I;else if(d.test(ve))Y=!0;else if(/["'\/`]/.test(ve))for(;;--z){if(z==0)return;var ya=s.string.charAt(z-1);if(ya==ve&&s.string.charAt(z-2)!="\\"){z--;break}}else if(Y&&!I){++z;break}}Y&&!I&&(p.fatArrowAt=z)}}var J={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function te(s,p,A,x,I,Y){this.indented=s,this.column=p,this.type=A,this.prev=I,this.info=Y,x!=null&&(this.align=x)}function ne(s,p){if(!l)return!1;for(var A=s.localVars;A;A=A.next)if(A.name==p)return!0;for(var x=s.context;x;x=x.prev)for(var A=x.vars;A;A=A.next)if(A.name==p)return!0}function Q(s,p,A,x,I){var Y=s.cc;for(h.state=s,h.stream=I,h.marked=null,h.cc=Y,h.style=p,s.lexical.hasOwnProperty("align")||(s.lexical.align=!0);;){var z=Y.length?Y.pop():a?W:ee;if(z(A,x)){for(;Y.length&&Y[Y.length-1].lex;)Y.pop()();return h.marked?h.marked:A=="variable"&&ne(s,x)?"variable-2":p}}}var h={state:null,column:null,marked:null,cc:null};function C(){for(var s=arguments.length-1;s>=0;s--)h.cc.push(arguments[s])}function f(){return C.apply(null,arguments),!0}function Ie(s,p){for(var A=p;A;A=A.next)if(A.name==s)return!0;return!1}function Ee(s){var p=h.state;if(h.marked="def",!!l){if(p.context){if(p.lexical.info=="var"&&p.context&&p.context.block){var A=_e(s,p.context);if(A!=null){p.context=A;return}}else if(!Ie(s,p.localVars)){p.localVars=new ke(s,p.localVars);return}}t.globalVars&&!Ie(s,p.globalVars)&&(p.globalVars=new ke(s,p.globalVars))}}function _e(s,p){if(p)if(p.block){var A=_e(s,p.prev);return A?A==p.prev?p:new Ye(A,p.vars,!0):null}else return Ie(s,p.vars)?p:new Ye(p.prev,new ke(s,p.vars),!1);else return null}function xe(s){return s=="public"||s=="private"||s=="protected"||s=="abstract"||s=="readonly"}function Ye(s,p,A){this.prev=s,this.vars=p,this.block=A}function ke(s,p){this.name=s,this.next=p}var Rt=new ke("this",new ke("arguments",null));function Ue(){h.state.context=new Ye(h.state.context,h.state.localVars,!1),h.state.localVars=Rt}function et(){h.state.context=new Ye(h.state.context,h.state.localVars,!0),h.state.localVars=null}function ye(){h.state.localVars=h.state.context.vars,h.state.context=h.state.context.prev}ye.lex=!0;function B(s,p){var A=function(){var x=h.state,I=x.indented;if(x.lexical.type=="stat")I=x.lexical.indented;else for(var Y=x.lexical;Y&&Y.type==")"&&Y.align;Y=Y.prev)I=Y.indented;x.lexical=new te(I,h.stream.column(),s,null,x.lexical,p)};return A.lex=!0,A}function N(){var s=h.state;s.lexical.prev&&(s.lexical.type==")"&&(s.indented=s.lexical.indented),s.lexical=s.lexical.prev)}N.lex=!0;function q(s){function p(A){return A==s?f():s==";"||A=="}"||A==")"||A=="]"?C():f(p)}return p}function ee(s,p){return s=="var"?f(B("vardef",p),Cr,q(";"),N):s=="keyword a"?f(B("form"),Tt,ee,N):s=="keyword b"?f(B("form"),ee,N):s=="keyword d"?h.stream.match(/^\s*$/,!1)?f():f(B("stat"),nt,q(";"),N):s=="debugger"?f(q(";")):s=="{"?f(B("}"),et,Ln,N,ye):s==";"?f():s=="if"?(h.state.lexical.info=="else"&&h.state.cc[h.state.cc.length-1]==N&&h.state.cc.pop()(),f(B("form"),Tt,ee,N,Hi)):s=="function"?f(_t):s=="for"?f(B("form"),et,$i,ee,ye,N):s=="class"||c&&p=="interface"?(h.marked="keyword",f(B("form",s=="class"?s:p),Ri,N)):s=="variable"?c&&p=="declare"?(h.marked="keyword",f(ee)):c&&(p=="module"||p=="enum"||p=="type")&&h.stream.match(/^\s*\w/,!1)?(h.marked="keyword",p=="enum"?f(Gi):p=="type"?f(Ki,q("operator"),V,q(";")):f(B("form"),Fe,q("{"),B("}"),Ln,N,N)):c&&p=="namespace"?(h.marked="keyword",f(B("form"),W,ee,N)):c&&p=="abstract"?(h.marked="keyword",f(ee)):f(B("stat"),Fn):s=="switch"?f(B("form"),Tt,q("{"),B("}","switch"),et,Ln,N,N,ye):s=="case"?f(W,q(":")):s=="default"?f(q(":")):s=="catch"?f(B("form"),Ue,tt,ee,N,ye):s=="export"?f(B("stat"),ma,N):s=="import"?f(B("stat"),ga,N):s=="async"?f(ee):p=="@"?f(W,ee):C(B("stat"),W,q(";"),N)}function tt(s){if(s=="(")return f(Ct,q(")"))}function W(s,p){return Nn(s,p,!1)}function je(s,p){return Nn(s,p,!0)}function Tt(s){return s!="("?C():f(B(")"),nt,q(")"),N)}function Nn(s,p,A){if(h.state.fatArrowAt==h.stream.start){var x=A?Bn:On;if(s=="(")return f(Ue,B(")"),se(Ct,")"),N,q("=>"),x,ye);if(s=="variable")return C(Ue,Fe,q("=>"),x,ye)}var I=A?ht:rt;return J.hasOwnProperty(s)?f(I):s=="function"?f(_t,I):s=="class"||c&&p=="interface"?(h.marked="keyword",f(B("form"),da,N)):s=="keyword c"||s=="async"?f(A?je:W):s=="("?f(B(")"),nt,q(")"),N,I):s=="operator"||s=="spread"?f(A?je:W):s=="["?f(B("]"),Aa,N,I):s=="{"?ln(St,"}",null,I):s=="quasi"?C(kt,I):s=="new"?f(it(A)):f()}function nt(s){return s.match(/[;\}\)\],]/)?C():C(W)}function rt(s,p){return s==","?f(nt):ht(s,p,!1)}function ht(s,p,A){var x=A==!1?rt:ht,I=A==!1?W:je;if(s=="=>")return f(Ue,A?Bn:On,ye);if(s=="operator")return/\+\+|--/.test(p)||c&&p=="!"?f(x):c&&p=="<"&&h.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?f(B(">"),se(V,">"),N,x):p=="?"?f(W,q(":"),I):f(I);if(s=="quasi")return C(kt,x);if(s!=";"){if(s=="(")return ln(je,")","call",x);if(s==".")return f(cn,x);if(s=="[")return f(B("]"),nt,q("]"),N,x);if(c&&p=="as")return h.marked="keyword",f(V,x);if(s=="regexp")return h.state.lastType=h.marked="operator",h.stream.backUp(h.stream.pos-h.stream.start-1),f(I)}}function kt(s,p){return s!="quasi"?C():p.slice(p.length-2)!="${"?f(kt):f(nt,Mn)}function Mn(s){if(s=="}")return h.marked="string-2",h.state.tokenize=D,f(kt)}function On(s){return F(h.stream,h.state),C(s=="{"?ee:W)}function Bn(s){return F(h.stream,h.state),C(s=="{"?ee:je)}function it(s){return function(p){return p=="."?f(s?In:Yt):p=="variable"&&c?f(ca,s?ht:rt):C(s?je:W)}}function Yt(s,p){if(p=="target")return h.marked="keyword",f(rt)}function In(s,p){if(p=="target")return h.marked="keyword",f(ht)}function Fn(s){return s==":"?f(N,ee):C(rt,q(";"),N)}function cn(s){if(s=="variable")return h.marked="property",f()}function St(s,p){if(s=="async")return h.marked="property",f(St);if(s=="variable"||h.style=="keyword"){if(h.marked="property",p=="get"||p=="set")return f(qn);var A;return c&&h.state.fatArrowAt==h.stream.start&&(A=h.stream.match(/^\s*:\s*/,!1))&&(h.state.fatArrowAt=h.stream.pos+A[0].length),f(Ge)}else{if(s=="number"||s=="string")return h.marked=o?"property":h.style+" property",f(Ge);if(s=="jsonld-keyword")return f(Ge);if(c&&xe(p))return h.marked="keyword",f(St);if(s=="[")return f(W,Ut,q("]"),Ge);if(s=="spread")return f(je,Ge);if(p=="*")return h.marked="keyword",f(St);if(s==":")return C(Ge)}}function qn(s){return s!="variable"?C(Ge):(h.marked="property",f(_t))}function Ge(s){if(s==":")return f(je);if(s=="(")return C(_t)}function se(s,p,A){function x(I,Y){if(A?A.indexOf(I)>-1:I==","){var z=h.state.lexical;return z.info=="call"&&(z.pos=(z.pos||0)+1),f(function(ve,We){return ve==p||We==p?C():C(s)},x)}return I==p||Y==p?f():A&&A.indexOf(";")>-1?C(s):f(q(p))}return function(I,Y){return I==p||Y==p?f():C(s,x)}}function ln(s,p,A){for(var x=3;x"),V);if(s=="quasi")return C(kr,ot)}function aa(s){if(s=="=>")return f(V)}function Tr(s){return s.match(/[\}\)\]]/)?f():s==","||s==";"?f(Tr):C(pn,Tr)}function pn(s,p){if(s=="variable"||h.style=="keyword")return h.marked="property",f(pn);if(p=="?"||s=="number"||s=="string")return f(pn);if(s==":")return f(V);if(s=="[")return f(q("variable"),ia,q("]"),pn);if(s=="(")return C(Wt,pn);if(!s.match(/[;\}\)\],]/))return f()}function kr(s,p){return s!="quasi"?C():p.slice(p.length-2)!="${"?f(kr):f(V,sa)}function sa(s){if(s=="}")return h.marked="string-2",h.state.tokenize=D,f(kr)}function Sr(s,p){return s=="variable"&&h.stream.match(/^\s*[?:]/,!1)||p=="?"?f(Sr):s==":"?f(V):s=="spread"?f(Sr):C(V)}function ot(s,p){if(p=="<")return f(B(">"),se(V,">"),N,ot);if(p=="|"||s=="."||p=="&")return f(V);if(s=="[")return f(V,q("]"),ot);if(p=="extends"||p=="implements")return h.marked="keyword",f(V);if(p=="?")return f(V,q(":"),V)}function ca(s,p){if(p=="<")return f(B(">"),se(V,">"),N,ot)}function Hn(){return C(V,la)}function la(s,p){if(p=="=")return f(V)}function Cr(s,p){return p=="enum"?(h.marked="keyword",f(Gi)):C(Fe,Ut,At,ua)}function Fe(s,p){if(c&&xe(p))return h.marked="keyword",f(Fe);if(s=="variable")return Ee(p),f();if(s=="spread")return f(Fe);if(s=="[")return ln(pa,"]");if(s=="{")return ln(Li,"}")}function Li(s,p){return s=="variable"&&!h.stream.match(/^\s*:/,!1)?(Ee(p),f(At)):(s=="variable"&&(h.marked="property"),s=="spread"?f(Fe):s=="}"?C():s=="["?f(W,q("]"),q(":"),Li):f(q(":"),Fe,At))}function pa(){return C(Fe,At)}function At(s,p){if(p=="=")return f(je)}function ua(s){if(s==",")return f(Cr)}function Hi(s,p){if(s=="keyword b"&&p=="else")return f(B("form","else"),ee,N)}function $i(s,p){if(p=="await")return f($i);if(s=="(")return f(B(")"),fa,N)}function fa(s){return s=="var"?f(Cr,Gt):s=="variable"?f(Gt):C(Gt)}function Gt(s,p){return s==")"?f():s==";"?f(Gt):p=="in"||p=="of"?(h.marked="keyword",f(W,Gt)):C(W,Gt)}function _t(s,p){if(p=="*")return h.marked="keyword",f(_t);if(s=="variable")return Ee(p),f(_t);if(s=="(")return f(Ue,B(")"),se(Ct,")"),N,qi,ee,ye);if(c&&p=="<")return f(B(">"),se(Hn,">"),N,_t)}function Wt(s,p){if(p=="*")return h.marked="keyword",f(Wt);if(s=="variable")return Ee(p),f(Wt);if(s=="(")return f(Ue,B(")"),se(Ct,")"),N,qi,ye);if(c&&p=="<")return f(B(">"),se(Hn,">"),N,Wt)}function Ki(s,p){if(s=="keyword"||s=="variable")return h.marked="type",f(Ki);if(p=="<")return f(B(">"),se(Hn,">"),N)}function Ct(s,p){return p=="@"&&f(W,Ct),s=="spread"?f(Ct):c&&xe(p)?(h.marked="keyword",f(Ct)):c&&s=="this"?f(Ut,At):C(Fe,Ut,At)}function da(s,p){return s=="variable"?Ri(s,p):$n(s,p)}function Ri(s,p){if(s=="variable")return Ee(p),f($n)}function $n(s,p){if(p=="<")return f(B(">"),se(Hn,">"),N,$n);if(p=="extends"||p=="implements"||c&&s==",")return p=="implements"&&(h.marked="keyword"),f(c?V:W,$n);if(s=="{")return f(B("}"),at,N)}function at(s,p){if(s=="async"||s=="variable"&&(p=="static"||p=="get"||p=="set"||c&&xe(p))&&h.stream.match(/^\s+[\w$\xa1-\uffff]/,!1))return h.marked="keyword",f(at);if(s=="variable"||h.style=="keyword")return h.marked="property",f(un,at);if(s=="number"||s=="string")return f(un,at);if(s=="[")return f(W,Ut,q("]"),un,at);if(p=="*")return h.marked="keyword",f(at);if(c&&s=="(")return C(Wt,at);if(s==";"||s==",")return f(at);if(s=="}")return f();if(p=="@")return f(W,at)}function un(s,p){if(p=="!"||p=="?")return f(un);if(s==":")return f(V,At);if(p=="=")return f(je);var A=h.state.lexical.prev,x=A&&A.info=="interface";return C(x?Wt:_t)}function ma(s,p){return p=="*"?(h.marked="keyword",f(Dr,q(";"))):p=="default"?(h.marked="keyword",f(W,q(";"))):s=="{"?f(se(Yi,"}"),Dr,q(";")):C(ee)}function Yi(s,p){if(p=="as")return h.marked="keyword",f(q("variable"));if(s=="variable")return C(je,Yi)}function ga(s){return s=="string"?f():s=="("?C(W):s=="."?C(rt):C(Kn,Ui,Dr)}function Kn(s,p){return s=="{"?ln(Kn,"}"):(s=="variable"&&Ee(p),p=="*"&&(h.marked="keyword"),f(ha))}function Ui(s){if(s==",")return f(Kn,Ui)}function ha(s,p){if(p=="as")return h.marked="keyword",f(Kn)}function Dr(s,p){if(p=="from")return h.marked="keyword",f(W)}function Aa(s){return s=="]"?f():C(se(je,"]"))}function Gi(){return C(B("form"),Fe,q("{"),B("}"),se(_a,"}"),N,N)}function _a(){return C(Fe,At)}function xa(s,p){return s.lastType=="operator"||s.lastType==","||_.test(p.charAt(0))||/[,.]/.test(p.charAt(0))}function Wi(s,p,A){return p.tokenize==O&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(p.lastType)||p.lastType=="quasi"&&/\{\s*$/.test(s.string.slice(0,s.pos-(A||0)))}return{startState:function(s){var p={tokenize:O,lastType:"sof",cc:[],lexical:new te((s||0)-r,0,"block",!1),localVars:t.localVars,context:t.localVars&&new Ye(null,null,!1),indented:s||0};return t.globalVars&&typeof t.globalVars=="object"&&(p.globalVars=t.globalVars),p},token:function(s,p){if(s.sol()&&(p.lexical.hasOwnProperty("align")||(p.lexical.align=!1),p.indented=s.indentation(),F(s,p)),p.tokenize!=K&&s.eatSpace())return null;var A=p.tokenize(s,p);return S=="comment"?A:(p.lastType=S=="operator"&&(k=="++"||k=="--")?"incdec":S,Q(p,A,S,k,s))},indent:function(s,p){if(s.tokenize==K||s.tokenize==D)return n.Pass;if(s.tokenize!=O)return 0;var A=p&&p.charAt(0),x=s.lexical,I;if(!/^\s*else\b/.test(p))for(var Y=s.cc.length-1;Y>=0;--Y){var z=s.cc[Y];if(z==N)x=x.prev;else if(z!=Hi&&z!=ye)break}for(;(x.type=="stat"||x.type=="form")&&(A=="}"||(I=s.cc[s.cc.length-1])&&(I==rt||I==ht)&&!/^[,\.=+\-*:?[\(]/.test(p));)x=x.prev;i&&x.type==")"&&x.prev.type=="stat"&&(x=x.prev);var ve=x.type,We=A==ve;return ve=="vardef"?x.indented+(s.lastType=="operator"||s.lastType==","?x.info.length+1:0):ve=="form"&&A=="{"?x.indented:ve=="form"?x.indented+r:ve=="stat"?x.indented+(xa(s,p)?i||r:0):x.info=="switch"&&!We&&t.doubleIndentSwitch!=!1?x.indented+(/^(?:case|default)\b/.test(p)?r:2*r):x.align?x.column+(We?0:1):x.indented+(We?0:r)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:a?null:"/*",blockCommentEnd:a?null:"*/",blockCommentContinue:a?null:" * ",lineComment:a?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:a?"json":"javascript",jsonldMode:o,jsonMode:a,expressionAllowed:Wi,skipExpression:function(s){Q(s,"atom","atom","true",new n.StringStream("",2,null))}}}),n.registerHelper("wordChars","javascript",/[\w$]/),n.defineMIME("text/javascript","javascript"),n.defineMIME("text/ecmascript","javascript"),n.defineMIME("application/javascript","javascript"),n.defineMIME("application/x-javascript","javascript"),n.defineMIME("application/ecmascript","javascript"),n.defineMIME("application/json",{name:"javascript",json:!0}),n.defineMIME("application/x-json",{name:"javascript",json:!0}),n.defineMIME("application/manifest+json",{name:"javascript",json:!0}),n.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),n.defineMIME("text/typescript",{name:"javascript",typescript:!0}),n.defineMIME("application/typescript",{name:"javascript",typescript:!0})});(function(n){n(window.CodeMirror)})(function(n){"use strict";n.customOverlayMode=function(e,t,r){return{startState:function(){return{base:n.startState(e),overlay:n.startState(t),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(i){return{base:n.copyState(e,i.base),overlay:n.copyState(t,i.overlay),basePos:i.basePos,baseCur:null,overlayPos:i.overlayPos,overlayCur:null}},token:function(i,o){return(i!=o.streamSeen||Math.min(o.basePos,o.overlayPos)0&&(this.activeEditorExtensions.pop(),this.plugin.app.workspace.updateOptions())}async jump_to_next_cursor_location(e=null,t=!1){t&&!this.plugin.settings.auto_jump_to_cursor||e&&Xt(this.plugin.app)!==e||await this.cursor_jumper.jump_to_next_cursor_location()}async registerCodeMirrorMode(){if(!this.desktopShouldHighlight()&&!this.mobileShouldHighlight())return;let e=window.CodeMirror.getMode({},"javascript");if(e.name==="null"){oe(new P("Javascript syntax mode couldn't be found, can't enable syntax highlighting."));return}let t=window.CodeMirror.customOverlayMode;if(t==null){oe(new P("Couldn't find customOverlayMode, can't enable syntax highlighting."));return}window.CodeMirror.defineMode(ra,function(r){let i={startState:function(){return{...window.CodeMirror.startState(e),inCommand:!1,tag_class:"",freeLine:!1}},copyState:function(o){return{...window.CodeMirror.startState(e),inCommand:o.inCommand,tag_class:o.tag_class,freeLine:o.freeLine}},blankLine:function(o){return o.inCommand?"line-background-templater-command-bg":null},token:function(o,a){if(o.sol()&&a.inCommand&&(a.freeLine=!0),a.inCommand){let c="";if(o.match(/[-_]{0,1}%>/,!0)){a.inCommand=!1,a.freeLine=!1;let m=a.tag_class;return a.tag_class="",`line-${Bi} ${Oi} ${ic} ${m}`}let d=e.token&&e.token(o,a);return o.peek()==null&&a.freeLine&&(c+=" line-background-templater-command-bg"),a.freeLine||(c+=` line-${Bi}`),`${c} ${Oi} ${d}`}let l=o.match(/<%[-_]{0,1}\s*([*+]{0,1})/,!0);if(l!=null){switch(l[1]){case"*":a.tag_class=ac;break;default:a.tag_class=oc;break}return a.inCommand=!0,`line-${Bi} ${Oi} ${rc} ${a.tag_class}`}for(;o.next()!=null&&!o.match(/<%/,!1););return null}};return t(window.CodeMirror.getMode(r,"hypermd"),i)})}updateEditorIntellisenseSetting(e){this.autocomplete.updateAutocompleteIntellisenseSetting(e)}};var Fi=class extends Er.Plugin{async onload(){await this.load_settings(),this.templater=new Pn(this),await this.templater.setup(),this.editor_handler=new Ii(this),await this.editor_handler.setup(),this.fuzzy_suggester=new si(this),this.event_handler=new wr(this,this.templater,this.settings),this.event_handler.setup(),this.command_handler=new ki(this),this.command_handler.setup(),(0,Er.addIcon)("templater-icon",$o),this.addRibbonIcon("templater-icon","Templater",async()=>{this.fuzzy_suggester.insert_template()}).setAttribute("id","rb-templater-icon"),this.addSettingTab(new ai(this)),this.app.workspace.onLayoutReady(()=>{this.templater.execute_startup_scripts()})}async onExternalSettingsChange(){await this.load_settings()}onunload(){this.templater.functions_generator.teardown()}async save_settings(){await this.saveData(this.settings),this.editor_handler.updateEditorIntellisenseSetting(this.settings.intellisense_render)}async load_settings(){this.settings=Object.assign({},Lo,await this.loadData())}}; /* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/templater-obsidian/manifest.json b/.obsidian/plugins/templater-obsidian/manifest.json index 3984cf1..2573647 100644 --- a/.obsidian/plugins/templater-obsidian/manifest.json +++ b/.obsidian/plugins/templater-obsidian/manifest.json @@ -1,7 +1,7 @@ { "id": "templater-obsidian", "name": "Templater", - "version": "2.16.4", + "version": "2.17.0", "description": "Create and use templates", "minAppVersion": "1.5.0", "author": "SilentVoid", diff --git a/03_Resources/Development/AI-ML/Zenmux-config.md b/03_Resources/Development/AI-ML/Zenmux-config.md index c1531ab..2aa1410 100644 --- a/03_Resources/Development/AI-ML/Zenmux-config.md +++ b/03_Resources/Development/AI-ML/Zenmux-config.md @@ -23,3 +23,9 @@ obsidian: sk-ai-v1-82f1a2df15721ca5d5afc633842b91719fea95c6c449cbb78db0dd03f7ed1aa2 ``` + + +Clawdbot: +``` +sk-ai-v1-74be1c7baa2d45efcea213f3b3cfb7defc03c3e44044b26d9c289f32b156a199 +``` \ No newline at end of file diff --git a/specs/001-opencode-client/contracts/CLAUDE.md b/specs/001-opencode-client/contracts/CLAUDE.md new file mode 100644 index 0000000..e9249d6 --- /dev/null +++ b/specs/001-opencode-client/contracts/CLAUDE.md @@ -0,0 +1,11 @@ + +# Recent Activity + + + +### Jan 21, 2026 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #175 | 3:34 PM | 🔵 | OpenAPI Contract Review for Opencode Client Plugin | ~553 | + \ No newline at end of file