diff --git a/.claude/settings.json b/.claude/settings.json index 93b0764..eb3dd18 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1,5 +1,5 @@ { - "userName": "", + "userName": "windy", "enableBlocklist": true, "blockedCommands": { "unix": [ @@ -46,12 +46,11 @@ "lastNonPlanPermissionMode": "normal", "permissions": [], "excludedTags": [], - "mediaFolder": "", + "mediaFolder": "05_Attachments", "environmentVariables": "", "envSnippets": [], "systemPrompt": "", "allowedExportPaths": [ - "~/Desktop", "~/Downloads" ], "allowedContextPaths": [], @@ -60,5 +59,5 @@ "scrollDownKey": "s", "focusInputKey": "i" }, - "claudeCliPath": "" + "claudeCliPath": "/Users/windy/.local/bin/claude" } \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index c32391d..28644d0 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -24,5 +24,6 @@ "obsidian-opencode", "opencode-obsidian", "highlightr-plugin", - "code-styler" + "code-styler", + "note-buddy" ] \ No newline at end of file diff --git a/.obsidian/plugins/note-buddy/main.js b/.obsidian/plugins/note-buddy/main.js index a066aae..ba70431 100644 --- a/.obsidian/plugins/note-buddy/main.js +++ b/.obsidian/plugins/note-buddy/main.js @@ -40,18 +40,30 @@ var import_obsidian = require("obsidian"); var defaultSettings = { serviceUrl: "http://127.0.0.1:4096" }; +var MODELS_CACHE_TTL = 5 * 60 * 1e3; // src/service.ts -var OpenCodeClient = class { - constructor(serviceUrl) { +var OpenCodeClient = class _OpenCodeClient { + constructor(serviceUrl, defaultModelId, onModelUnavailable) { this.session = null; + this.cachedProviders = null; + this.providersCacheTime = 0; + this.cachedDefaults = null; this.serviceUrl = serviceUrl; + this.defaultModelId = defaultModelId; + this.onModelUnavailable = onModelUnavailable; } - async request(options) { + static { + this.DEFAULT_REQUEST_TIMEOUT_MS = 1e4; + } + static { + this.MESSAGE_REQUEST_TIMEOUT_MS = 6e4; + } + async request(options, timeoutMs = _OpenCodeClient.DEFAULT_REQUEST_TIMEOUT_MS) { return await Promise.race([ (0, import_obsidian.requestUrl)(options), new Promise( - (_, reject) => setTimeout(() => reject(new Error("Request timeout after 10 seconds")), 1e4) + (_, reject) => setTimeout(() => reject(new Error(`Request timeout after ${timeoutMs / 1e3} seconds`)), timeoutMs) ) ]); } @@ -97,36 +109,79 @@ var OpenCodeClient = class { if (response.status === 200) { const data = response.json; return { - sessionID: data.sessionID, - createTime: data.createTime, + sessionID: data.id, + createTime: data.time.created, title: data.title }; - } else { - throw new Error(`HTTP ${response.status}: ${response.text}`); } + if (response.status === 400) { + const details = this.formatBadRequest(response.json, response.text); + throw new Error(details); + } + throw new Error(`HTTP ${response.status}: ${response.text}`); } catch (error) { const err = error; throw new Error(`Failed to create session: ${err.message}`); } } + formatBadRequest(payload, fallbackText) { + if (!payload || typeof payload !== "object") { + return `Bad request: ${fallbackText || "Unknown error"}`; + } + const p = payload; + const errText = typeof p.errors === "string" ? p.errors : p.errors ? JSON.stringify(p.errors) : ""; + const dataText = p.data ? JSON.stringify(p.data) : ""; + const msg = [errText, dataText].filter(Boolean).join(" "); + return msg ? `Bad request: ${msg}` : `Bad request: ${fallbackText || "Unknown error"}`; + } + formatNotFound(payload, fallbackText) { + if (!payload || typeof payload !== "object") { + return fallbackText || "Not found"; + } + const p = payload; + const name = typeof p.name === "string" ? p.name : ""; + const data = p.data ? JSON.stringify(p.data) : ""; + return [name, data].filter(Boolean).join(" ") || fallbackText || "Not found"; + } 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" + const response = await this.request( + { + url, + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(message) }, - body: JSON.stringify(message) - }); + _OpenCodeClient.MESSAGE_REQUEST_TIMEOUT_MS + ); 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}`); + const raw = (response.text ?? "").trim(); + if (!raw) { + throw new Error("Server returned empty response"); + } + let data; + try { + data = JSON.parse(raw); + } catch { + throw new Error(`Invalid JSON response: ${raw.slice(0, 50)}${raw.length > 50 ? "..." : ""}`); + } + if (!data || typeof data !== "object" || !Array.isArray(data.parts)) { + throw new Error("Invalid response shape (expected {info, parts[]})"); + } + return data; } + if (response.status === 400) { + const payload = response.json; + throw new Error(this.formatBadRequest(payload, response.text)); + } + if (response.status === 404) { + const payload = response.json; + throw new Error(`Session not found: ${this.formatNotFound(payload, response.text)}`); + } + throw new Error(`HTTP ${response.status}: ${response.text}`); } catch (error) { const err = error; throw new Error(`Failed to send message: ${err.message}`); @@ -137,16 +192,99 @@ var OpenCodeClient = class { this.session = await this.createSession(); } const message = { - parts: [{ text: input, role: "user" }] + parts: [{ type: "text", text: input }] }; - 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"); + if (this.defaultModelId) { + const parts = this.defaultModelId.split("/"); + if (parts.length === 2) { + message.model = { + providerID: parts[0], + modelID: parts[1] + }; + } + } + let response; + try { + response = await this.sendMessageInternal(this.session.sessionID, message); + } catch (error) { + const err = error; + if (message.model && this.isLikelyModelError(err)) { + console.log("[NoteBuddy] Selected model unavailable, falling back to server default"); + if (this.onModelUnavailable) { + this.onModelUnavailable(); + } + const fallbackMessage = { + parts: message.parts + }; + response = await this.sendMessageInternal(this.session.sessionID, fallbackMessage); + } else { + throw error; + } + } + const assistantText = response.parts.filter((part) => part.type === "text").map((part) => part.type === "text" ? part.text : "").filter(Boolean).join("\n"); return assistantText; } async sendMessageToSession(sessionID, message) { return await this.sendMessageInternal(sessionID, message); } + isModelsCacheValid() { + if (!this.cachedProviders) { + return false; + } + const now = Date.now(); + return now - this.providersCacheTime < MODELS_CACHE_TTL; + } + clearModelsCache() { + this.cachedProviders = null; + this.providersCacheTime = 0; + this.cachedDefaults = null; + } + async getCapabilities(forceRefresh = false) { + const now = Date.now(); + if (!forceRefresh && this.cachedProviders && now - this.providersCacheTime < MODELS_CACHE_TTL) { + return this.cachedProviders; + } + const url = `${this.serviceUrl}/config/providers`; + try { + const response = await this.request({ + url, + method: "GET" + }); + if (response.status === 200) { + let data; + try { + data = response.json; + } catch { + const preview = (response.text || "").trim().slice(0, 50); + if (preview.toLowerCase().startsWith(" ({ + id: p.id, + name: p.name, + models: Object.entries(p.models || {}).map(([id, m]) => ({ id, name: m?.name ?? id })) + })); + this.cachedProviders = providers; + this.providersCacheTime = now; + return providers; + } else { + throw new Error(`HTTP ${response.status}: ${response.text}`); + } + } catch (error) { + const err = error; + throw new Error(`Failed to get capabilities: ${err.message}`); + } + } + isLikelyModelError(err) { + const msg = (err.message || "").toLowerCase(); + return msg.includes("model") && (msg.includes("not found") || msg.includes("invalid") || msg.includes("unknown")); + } }; // src/chat-view.ts @@ -156,7 +294,11 @@ var ChatView = class extends import_obsidian2.ItemView { super(leaf); this.plugin = plugin; this.messages = []; - this.client = new OpenCodeClient(plugin.settings.serviceUrl); + this.client = new OpenCodeClient( + plugin.settings.serviceUrl, + plugin.settings.defaultModelId, + plugin.onModelUnavailable?.bind(plugin) + ); } getViewType() { return VIEW_TYPE_CHAT; @@ -233,7 +375,7 @@ var ChatView = class extends import_obsidian2.ItemView { const sendMessage = async () => { const message = textarea.value.trim(); if (!message) return; - this.messages.push({ text: message, role: "user" }); + this.messages.push({ kind: "userText", text: message }); this.renderMessages(); textarea.value = ""; try { @@ -241,25 +383,32 @@ var ChatView = class extends import_obsidian2.ItemView { this.plugin.sessionState = await this.client.createSession(); } const sendData = { - parts: [{ text: message, role: "user" }], - model: { - providerID: "anthropic", - modelID: "claude-3-5-sonnet-20241022" - } + parts: [{ type: "text", text: message }] }; + if (this.plugin.settings.defaultModelId) { + const parts = this.plugin.settings.defaultModelId.split("/"); + if (parts.length === 2) { + sendData.model = { + providerID: parts[0], + modelID: parts[1] + }; + } + } 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")) { + if (err.message.includes("Session not found")) { 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); + for (const part of response.parts) { + this.messages.push({ kind: "assistantPart", part }); + } this.renderMessages(); this.messagesContainer.scrollTop = this.messagesContainer.scrollHeight; } catch (error) { @@ -292,19 +441,78 @@ var ChatView = class extends import_obsidian2.ItemView { `; return; } - for (const message of this.messages) { - const messageEl = this.messagesContainer.createDiv({ - cls: `nb-message nb-message-${message.role}` - }); - messageEl.createSpan({ text: message.text }); + for (const item of this.messages) { + if (item.kind === "userText") { + const messageEl2 = this.messagesContainer.createDiv({ cls: "nb-message nb-message-user" }); + messageEl2.createSpan({ text: item.text }); + messageEl2.style.cssText = ` + padding: 0.75rem; + background-color: var(--background-modifier-accent); + border-radius: 0.5rem; + font-size: 0.9rem; + align-self: flex-end; + max-width: 70%; + `; + continue; + } + const part = item.part; + const messageEl = this.messagesContainer.createDiv({ cls: "nb-message nb-message-assistant" }); messageEl.style.cssText = ` padding: 0.75rem; - background-color: ${message.role === "user" ? "var(--background-modifier-accent)" : "var(--background-secondary)"}; + background-color: var(--background-secondary); border-radius: 0.5rem; font-size: 0.9rem; - align-self: ${message.role === "user" ? "flex-end" : "flex-start"}; + align-self: flex-start; max-width: 70%; `; + switch (part.type) { + case "text": + messageEl.createSpan({ text: part.text }); + break; + case "reasoning": + messageEl.createSpan({ text: part.text }); + break; + case "tool": + messageEl.createEl("strong", { text: `Tool: ${part.tool}` }); + messageEl.createEl("pre", { text: JSON.stringify(part.state ?? {}, null, 2) }); + break; + case "patch": + messageEl.createEl("strong", { text: `Patch: ${part.hash}` }); + messageEl.createEl("pre", { text: (part.files || []).join("\n") }); + break; + case "file": + messageEl.createEl("strong", { text: `File: ${part.filename ?? part.url}` }); + messageEl.createEl("div", { text: `mime: ${part.mime}` }); + messageEl.createEl("div", { text: `url: ${part.url}` }); + break; + case "agent": + messageEl.createEl("strong", { text: `Agent: ${part.name}` }); + break; + case "step_start": + messageEl.createEl("strong", { text: `Step start${part.title ? `: ${part.title}` : ""}` }); + break; + case "step_finish": + messageEl.createEl("strong", { text: `Step finish${part.title ? `: ${part.title}` : ""}` }); + break; + case "snapshot": + messageEl.createEl("strong", { text: "Snapshot" }); + messageEl.createEl("pre", { text: JSON.stringify(part, null, 2) }); + break; + case "retry": + messageEl.createEl("strong", { text: "Retry" }); + messageEl.createEl("pre", { text: JSON.stringify(part, null, 2) }); + break; + case "compaction": + messageEl.createEl("strong", { text: "Compaction" }); + messageEl.createEl("pre", { text: JSON.stringify(part, null, 2) }); + break; + case "unknown": + messageEl.createEl("strong", { + text: `Unsupported part type: ${part.originalType}` + }); + messageEl.createEl("pre", { text: JSON.stringify(part, null, 2) }); + break; + } } } }; @@ -314,12 +522,20 @@ var import_obsidian3 = require("obsidian"); var NoteBuddySettingTab = class extends import_obsidian3.PluginSettingTab { constructor(app, plugin) { super(app, plugin); + this.providers = []; + this.isLoadingModels = false; this.plugin = plugin; } - display() { + async display(useCachedProviders) { const { containerEl } = this; containerEl.empty(); containerEl.createEl("h2", { text: "NoteBuddy Settings" }); + if (!useCachedProviders) { + try { + await this.loadProviders(); + } catch { + } + } 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://")) { @@ -346,7 +562,7 @@ var NoteBuddySettingTab = class extends import_obsidian3.PluginSettingTab { ); 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 client = new OpenCodeClient(this.plugin.settings.serviceUrl, this.plugin.settings.defaultModelId); const result = await client.healthCheck(); if (result.status === "connected") { new import_obsidian3.Notice("Connection successful!"); @@ -355,6 +571,65 @@ var NoteBuddySettingTab = class extends import_obsidian3.PluginSettingTab { } }) ); + this.displayModelSelection(containerEl); + this.displayRefreshButton(containerEl); + } + async loadProviders(client, forceRefresh) { + if (this.isLoadingModels) { + return; + } + this.isLoadingModels = true; + try { + const c = client ?? new OpenCodeClient(this.plugin.settings.serviceUrl, this.plugin.settings.defaultModelId); + this.providers = await c.getCapabilities(forceRefresh ?? false); + } catch (error) { + this.providers = []; + console.error("[NoteBuddy] Failed to load providers:", error); + throw error; + } finally { + this.isLoadingModels = false; + } + } + displayModelSelection(containerEl) { + const modelOptions = {}; + modelOptions[""] = "Use server default"; + for (const provider of this.providers) { + for (const model of provider.models) { + const value = `${provider.id}/${model.id}`; + modelOptions[value] = `${provider.name} - ${model.name}`; + } + } + const currentValue = this.getCurrentModelSelection(); + new import_obsidian3.Setting(containerEl).setName("Default Model").setDesc("Select the default AI model to use for conversations").addDropdown( + (dropdown) => dropdown.addOptions(modelOptions).setValue(currentValue).onChange(async (value) => { + if (value) { + this.plugin.settings.defaultModelId = value; + } else { + this.plugin.settings.defaultModelId = void 0; + } + await this.plugin.saveSettings(); + }) + ); + } + getCurrentModelSelection() { + return this.plugin.settings.defaultModelId || ""; + } + displayRefreshButton(container) { + new import_obsidian3.Setting(container).setName("Refresh Models").setDesc("Reload the list of available models from the service").addButton( + (button) => button.setButtonText("Refresh").onClick(async () => { + const client = new OpenCodeClient(this.plugin.settings.serviceUrl, this.plugin.settings.defaultModelId); + client.clearModelsCache(); + try { + await this.loadProviders(client, true); + new import_obsidian3.Notice("Models refreshed"); + await this.display(true); + } catch (error) { + console.error("[NoteBuddy] Failed to load providers:", error); + new import_obsidian3.Notice(`Failed to refresh models: ${error.message}`); + await this.display(true); + } + }) + ); } }; @@ -407,6 +682,10 @@ var NoteBuddyPlugin = class extends import_obsidian4.Plugin { async loadSettings() { this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); } + // Callback for when selected model is unavailable + onModelUnavailable() { + new import_obsidian4.Notice("Selected model is unavailable. Using server default instead."); + } async saveSettings() { await this.saveData(this.settings); } diff --git a/.obsidian/plugins/obsidian-advanced-uri/main.js b/.obsidian/plugins/obsidian-advanced-uri/main.js index 7ed6fe2..1d11e77 100644 --- a/.obsidian/plugins/obsidian-advanced-uri/main.js +++ b/.obsidian/plugins/obsidian-advanced-uri/main.js @@ -3,16 +3,16 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source visit the plugins github repository (https://github.com/Vinzent03/obsidian-advanced-uri) */ -var Ue=Object.create;var Z=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var He=Object.getOwnPropertyNames;var Ne=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var Be=(s,n)=>()=>(n||s((n={exports:{}}).exports,n),n.exports),$e=(s,n)=>{for(var e in n)Z(s,e,{get:n[e],enumerable:!0})},ge=(s,n,e,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of He(n))!We.call(s,i)&&i!==e&&Z(s,i,{get:()=>n[i],enumerable:!(t=ze(n,i))||t.enumerable});return s};var Ke=(s,n,e)=>(e=s!=null?Ue(Ne(s)):{},ge(n||!s||!s.__esModule?Z(e,"default",{value:s,enumerable:!0}):e,s)),Ge=s=>ge(Z({},"__esModule",{value:!0}),s);var xe=Be((N,se)=>{(function(n,e){typeof N=="object"&&typeof se=="object"?se.exports=e():typeof define=="function"&&define.amd?define([],e):typeof N=="object"?N.feather=e():n.feather=e()})(typeof self!="undefined"?self:N,function(){return function(s){var n={};function e(t){if(n[t])return n[t].exports;var i=n[t]={i:t,l:!1,exports:{}};return s[t].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=s,e.c=n,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:o})},e.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=0)}({"./dist/icons.json":function(s){s.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"divide-circle":'',"divide-square":'',divide:'',"dollar-sign":'',"download-cloud":'',download:'',dribbble:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',framer:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',table:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',tool:'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitch:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},"./node_modules/classnames/dedupe.js":function(s,n,e){var t,i;(function(){"use strict";var o=function(){function a(){}a.prototype=Object.create(null);function l(f,y){for(var x=y.length,m=0;m1?arguments[1]:void 0,y=f!==void 0,x=0,m=c(h),M,j,b,I;if(y&&(f=t(f,g>2?arguments[2]:void 0,2)),m!=null&&!(u==Array&&a(m)))for(I=m.call(h),j=new u;!(b=I.next()).done;x++)r(j,x,y?o(I,f,[b.value,x],!0):b.value);else for(M=l(h.length),j=new u(M);M>x;x++)r(j,x,y?f(h[x],x):h[x]);return j.length=x,j}},"./node_modules/core-js/internals/array-includes.js":function(s,n,e){var t=e("./node_modules/core-js/internals/to-indexed-object.js"),i=e("./node_modules/core-js/internals/to-length.js"),o=e("./node_modules/core-js/internals/to-absolute-index.js");s.exports=function(a){return function(l,r,c){var d=t(l),p=i(d.length),h=o(c,p),u;if(a&&r!=r){for(;p>h;)if(u=d[h++],u!=u)return!0}else for(;p>h;h++)if((a||h in d)&&d[h]===r)return a||h||0;return!a&&-1}}},"./node_modules/core-js/internals/bind-context.js":function(s,n,e){var t=e("./node_modules/core-js/internals/a-function.js");s.exports=function(i,o,a){if(t(i),o===void 0)return i;switch(a){case 0:return function(){return i.call(o)};case 1:return function(l){return i.call(o,l)};case 2:return function(l,r){return i.call(o,l,r)};case 3:return function(l,r,c){return i.call(o,l,r,c)}}return function(){return i.apply(o,arguments)}}},"./node_modules/core-js/internals/call-with-safe-iteration-closing.js":function(s,n,e){var t=e("./node_modules/core-js/internals/an-object.js");s.exports=function(i,o,a,l){try{return l?o(t(a)[0],a[1]):o(a)}catch(c){var r=i.return;throw r!==void 0&&t(r.call(i)),c}}},"./node_modules/core-js/internals/check-correctness-of-iteration.js":function(s,n,e){var t=e("./node_modules/core-js/internals/well-known-symbol.js"),i=t("iterator"),o=!1;try{var a=0,l={next:function(){return{done:!!a++}},return:function(){o=!0}};l[i]=function(){return this},Array.from(l,function(){throw 2})}catch(r){}s.exports=function(r,c){if(!c&&!o)return!1;var d=!1;try{var p={};p[i]=function(){return{next:function(){return{done:d=!0}}}},r(p)}catch(h){}return d}},"./node_modules/core-js/internals/classof-raw.js":function(s,n){var e={}.toString;s.exports=function(t){return e.call(t).slice(8,-1)}},"./node_modules/core-js/internals/classof.js":function(s,n,e){var t=e("./node_modules/core-js/internals/classof-raw.js"),i=e("./node_modules/core-js/internals/well-known-symbol.js"),o=i("toStringTag"),a=t(function(){return arguments}())=="Arguments",l=function(r,c){try{return r[c]}catch(d){}};s.exports=function(r){var c,d,p;return r===void 0?"Undefined":r===null?"Null":typeof(d=l(c=Object(r),o))=="string"?d:a?t(c):(p=t(c))=="Object"&&typeof c.callee=="function"?"Arguments":p}},"./node_modules/core-js/internals/copy-constructor-properties.js":function(s,n,e){var t=e("./node_modules/core-js/internals/has.js"),i=e("./node_modules/core-js/internals/own-keys.js"),o=e("./node_modules/core-js/internals/object-get-own-property-descriptor.js"),a=e("./node_modules/core-js/internals/object-define-property.js");s.exports=function(l,r){for(var c=i(r),d=a.f,p=o.f,h=0;h",M="java"+x+":",j;for(g.style.display="none",l.appendChild(g),g.src=String(M),j=g.contentWindow.document,j.open(),j.write(y+x+m+"document.F=Object"+y+"/"+x+m),j.close(),u=j.F;f--;)delete u[p][o[f]];return u()};s.exports=Object.create||function(f,y){var x;return f!==null?(h[p]=t(f),x=new h,h[p]=null,x[d]=f):x=u(),y===void 0?x:i(x,y)},a[d]=!0},"./node_modules/core-js/internals/object-define-properties.js":function(s,n,e){var t=e("./node_modules/core-js/internals/descriptors.js"),i=e("./node_modules/core-js/internals/object-define-property.js"),o=e("./node_modules/core-js/internals/an-object.js"),a=e("./node_modules/core-js/internals/object-keys.js");s.exports=t?Object.defineProperties:function(r,c){o(r);for(var d=a(c),p=d.length,h=0,u;p>h;)i.f(r,u=d[h++],c[u]);return r}},"./node_modules/core-js/internals/object-define-property.js":function(s,n,e){var t=e("./node_modules/core-js/internals/descriptors.js"),i=e("./node_modules/core-js/internals/ie8-dom-define.js"),o=e("./node_modules/core-js/internals/an-object.js"),a=e("./node_modules/core-js/internals/to-primitive.js"),l=Object.defineProperty;n.f=t?l:function(c,d,p){if(o(c),d=a(d,!0),o(p),i)try{return l(c,d,p)}catch(h){}if("get"in p||"set"in p)throw TypeError("Accessors not supported");return"value"in p&&(c[d]=p.value),c}},"./node_modules/core-js/internals/object-get-own-property-descriptor.js":function(s,n,e){var t=e("./node_modules/core-js/internals/descriptors.js"),i=e("./node_modules/core-js/internals/object-property-is-enumerable.js"),o=e("./node_modules/core-js/internals/create-property-descriptor.js"),a=e("./node_modules/core-js/internals/to-indexed-object.js"),l=e("./node_modules/core-js/internals/to-primitive.js"),r=e("./node_modules/core-js/internals/has.js"),c=e("./node_modules/core-js/internals/ie8-dom-define.js"),d=Object.getOwnPropertyDescriptor;n.f=t?d:function(h,u){if(h=a(h),u=l(u,!0),c)try{return d(h,u)}catch(g){}if(r(h,u))return o(!i.f.call(h,u),h[u])}},"./node_modules/core-js/internals/object-get-own-property-names.js":function(s,n,e){var t=e("./node_modules/core-js/internals/object-keys-internal.js"),i=e("./node_modules/core-js/internals/enum-bug-keys.js"),o=i.concat("length","prototype");n.f=Object.getOwnPropertyNames||function(l){return t(l,o)}},"./node_modules/core-js/internals/object-get-own-property-symbols.js":function(s,n){n.f=Object.getOwnPropertySymbols},"./node_modules/core-js/internals/object-get-prototype-of.js":function(s,n,e){var t=e("./node_modules/core-js/internals/has.js"),i=e("./node_modules/core-js/internals/to-object.js"),o=e("./node_modules/core-js/internals/shared-key.js"),a=e("./node_modules/core-js/internals/correct-prototype-getter.js"),l=o("IE_PROTO"),r=Object.prototype;s.exports=a?Object.getPrototypeOf:function(c){return c=i(c),t(c,l)?c[l]:typeof c.constructor=="function"&&c instanceof c.constructor?c.constructor.prototype:c instanceof Object?r:null}},"./node_modules/core-js/internals/object-keys-internal.js":function(s,n,e){var t=e("./node_modules/core-js/internals/has.js"),i=e("./node_modules/core-js/internals/to-indexed-object.js"),o=e("./node_modules/core-js/internals/array-includes.js"),a=e("./node_modules/core-js/internals/hidden-keys.js"),l=o(!1);s.exports=function(r,c){var d=i(r),p=0,h=[],u;for(u in d)!t(a,u)&&t(d,u)&&h.push(u);for(;c.length>p;)t(d,u=c[p++])&&(~l(h,u)||h.push(u));return h}},"./node_modules/core-js/internals/object-keys.js":function(s,n,e){var t=e("./node_modules/core-js/internals/object-keys-internal.js"),i=e("./node_modules/core-js/internals/enum-bug-keys.js");s.exports=Object.keys||function(a){return t(a,i)}},"./node_modules/core-js/internals/object-property-is-enumerable.js":function(s,n,e){"use strict";var t={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!t.call({1:2},1);n.f=o?function(l){var r=i(this,l);return!!r&&r.enumerable}:t},"./node_modules/core-js/internals/object-set-prototype-of.js":function(s,n,e){var t=e("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js");s.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,o={},a;try{a=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,a.call(o,[]),i=o instanceof Array}catch(l){}return function(r,c){return t(r,c),i?a.call(r,c):r.__proto__=c,r}}():void 0)},"./node_modules/core-js/internals/own-keys.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/object-get-own-property-names.js"),o=e("./node_modules/core-js/internals/object-get-own-property-symbols.js"),a=e("./node_modules/core-js/internals/an-object.js"),l=t.Reflect;s.exports=l&&l.ownKeys||function(c){var d=i.f(a(c)),p=o.f;return p?d.concat(p(c)):d}},"./node_modules/core-js/internals/path.js":function(s,n,e){s.exports=e("./node_modules/core-js/internals/global.js")},"./node_modules/core-js/internals/redefine.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/shared.js"),o=e("./node_modules/core-js/internals/hide.js"),a=e("./node_modules/core-js/internals/has.js"),l=e("./node_modules/core-js/internals/set-global.js"),r=e("./node_modules/core-js/internals/function-to-string.js"),c=e("./node_modules/core-js/internals/internal-state.js"),d=c.get,p=c.enforce,h=String(r).split("toString");i("inspectSource",function(u){return r.call(u)}),(s.exports=function(u,g,f,y){var x=y?!!y.unsafe:!1,m=y?!!y.enumerable:!1,M=y?!!y.noTargetGet:!1;if(typeof f=="function"&&(typeof g=="string"&&!a(f,"name")&&o(f,"name",g),p(f).source=h.join(typeof g=="string"?g:"")),u===t){m?u[g]=f:l(g,f);return}else x?!M&&u[g]&&(m=!0):delete u[g];m?u[g]=f:o(u,g,f)})(Function.prototype,"toString",function(){return typeof this=="function"&&d(this).source||r.call(this)})},"./node_modules/core-js/internals/require-object-coercible.js":function(s,n){s.exports=function(e){if(e==null)throw TypeError("Can't call method on "+e);return e}},"./node_modules/core-js/internals/set-global.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/hide.js");s.exports=function(o,a){try{i(t,o,a)}catch(l){t[o]=a}return a}},"./node_modules/core-js/internals/set-to-string-tag.js":function(s,n,e){var t=e("./node_modules/core-js/internals/object-define-property.js").f,i=e("./node_modules/core-js/internals/has.js"),o=e("./node_modules/core-js/internals/well-known-symbol.js"),a=o("toStringTag");s.exports=function(l,r,c){l&&!i(l=c?l:l.prototype,a)&&t(l,a,{configurable:!0,value:r})}},"./node_modules/core-js/internals/shared-key.js":function(s,n,e){var t=e("./node_modules/core-js/internals/shared.js"),i=e("./node_modules/core-js/internals/uid.js"),o=t("keys");s.exports=function(a){return o[a]||(o[a]=i(a))}},"./node_modules/core-js/internals/shared.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/set-global.js"),o=e("./node_modules/core-js/internals/is-pure.js"),a="__core-js_shared__",l=t[a]||i(a,{});(s.exports=function(r,c){return l[r]||(l[r]=c!==void 0?c:{})})("versions",[]).push({version:"3.1.3",mode:o?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})},"./node_modules/core-js/internals/string-at.js":function(s,n,e){var t=e("./node_modules/core-js/internals/to-integer.js"),i=e("./node_modules/core-js/internals/require-object-coercible.js");s.exports=function(o,a,l){var r=String(i(o)),c=t(a),d=r.length,p,h;return c<0||c>=d?l?"":void 0:(p=r.charCodeAt(c),p<55296||p>56319||c+1===d||(h=r.charCodeAt(c+1))<56320||h>57343?l?r.charAt(c):p:l?r.slice(c,c+2):(p-55296<<10)+(h-56320)+65536)}},"./node_modules/core-js/internals/to-absolute-index.js":function(s,n,e){var t=e("./node_modules/core-js/internals/to-integer.js"),i=Math.max,o=Math.min;s.exports=function(a,l){var r=t(a);return r<0?i(r+l,0):o(r,l)}},"./node_modules/core-js/internals/to-indexed-object.js":function(s,n,e){var t=e("./node_modules/core-js/internals/indexed-object.js"),i=e("./node_modules/core-js/internals/require-object-coercible.js");s.exports=function(o){return t(i(o))}},"./node_modules/core-js/internals/to-integer.js":function(s,n){var e=Math.ceil,t=Math.floor;s.exports=function(i){return isNaN(i=+i)?0:(i>0?t:e)(i)}},"./node_modules/core-js/internals/to-length.js":function(s,n,e){var t=e("./node_modules/core-js/internals/to-integer.js"),i=Math.min;s.exports=function(o){return o>0?i(t(o),9007199254740991):0}},"./node_modules/core-js/internals/to-object.js":function(s,n,e){var t=e("./node_modules/core-js/internals/require-object-coercible.js");s.exports=function(i){return Object(t(i))}},"./node_modules/core-js/internals/to-primitive.js":function(s,n,e){var t=e("./node_modules/core-js/internals/is-object.js");s.exports=function(i,o){if(!t(i))return i;var a,l;if(o&&typeof(a=i.toString)=="function"&&!t(l=a.call(i))||typeof(a=i.valueOf)=="function"&&!t(l=a.call(i))||!o&&typeof(a=i.toString)=="function"&&!t(l=a.call(i)))return l;throw TypeError("Can't convert object to primitive value")}},"./node_modules/core-js/internals/uid.js":function(s,n){var e=0,t=Math.random();s.exports=function(i){return"Symbol(".concat(i===void 0?"":i,")_",(++e+t).toString(36))}},"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":function(s,n,e){var t=e("./node_modules/core-js/internals/is-object.js"),i=e("./node_modules/core-js/internals/an-object.js");s.exports=function(o,a){if(i(o),!t(a)&&a!==null)throw TypeError("Can't set "+String(a)+" as a prototype")}},"./node_modules/core-js/internals/well-known-symbol.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/shared.js"),o=e("./node_modules/core-js/internals/uid.js"),a=e("./node_modules/core-js/internals/native-symbol.js"),l=t.Symbol,r=i("wks");s.exports=function(c){return r[c]||(r[c]=a&&l[c]||(a?l:o)("Symbol."+c))}},"./node_modules/core-js/modules/es.array.from.js":function(s,n,e){var t=e("./node_modules/core-js/internals/export.js"),i=e("./node_modules/core-js/internals/array-from.js"),o=e("./node_modules/core-js/internals/check-correctness-of-iteration.js"),a=!o(function(l){Array.from(l)});t({target:"Array",stat:!0,forced:a},{from:i})},"./node_modules/core-js/modules/es.string.iterator.js":function(s,n,e){"use strict";var t=e("./node_modules/core-js/internals/string-at.js"),i=e("./node_modules/core-js/internals/internal-state.js"),o=e("./node_modules/core-js/internals/define-iterator.js"),a="String Iterator",l=i.set,r=i.getterFor(a);o(String,"String",function(c){l(this,{type:a,string:String(c),index:0})},function(){var d=r(this),p=d.string,h=d.index,u;return h>=p.length?{value:void 0,done:!0}:(u=t(p,h,!0),d.index+=u.length,{value:u,done:!1})})},"./node_modules/webpack/buildin/global.js":function(s,n){var e;e=function(){return this}();try{e=e||Function("return this")()||(0,eval)("this")}catch(t){typeof window=="object"&&(e=window)}s.exports=e},"./src/default-attrs.json":function(s){s.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},"./src/icon.js":function(s,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=Object.assign||function(u){for(var g=1;g2&&arguments[2]!==void 0?arguments[2]:[];d(this,u),this.name=g,this.contents=f,this.tags=y,this.attrs=t({},r.default,{class:"feather feather-"+g})}return i(u,[{key:"toSvg",value:function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},y=t({},this.attrs,f,{class:(0,a.default)(this.attrs.class,f.class)});return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),u}();function h(u){return Object.keys(u).map(function(g){return g+'="'+u[g]+'"'}).join(" ")}n.default=p},"./src/icons.js":function(s,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=e("./src/icon.js"),i=c(t),o=e("./dist/icons.json"),a=c(o),l=e("./src/tags.json"),r=c(l);function c(d){return d&&d.__esModule?d:{default:d}}n.default=Object.keys(a.default).map(function(d){return new i.default(d,a.default[d],r.default[d])}).reduce(function(d,p){return d[p.name]=p,d},{})},"./src/index.js":function(s,n,e){"use strict";var t=e("./src/icons.js"),i=c(t),o=e("./src/to-svg.js"),a=c(o),l=e("./src/replace.js"),r=c(l);function c(d){return d&&d.__esModule?d:{default:d}}s.exports={icons:i.default,toSvg:a.default,replace:r.default}},"./src/replace.js":function(s,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=Object.assign||function(h){for(var u=1;u0&&arguments[0]!==void 0?arguments[0]:{};if(typeof document=="undefined")throw new Error("`feather.replace()` only works in a browser environment.");var u=document.querySelectorAll("[data-feather]");Array.from(u).forEach(function(g){return d(g,h)})}function d(h){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},g=p(h),f=g["data-feather"];if(delete g["data-feather"],l.default[f]===void 0){console.warn("feather: '"+f+"' is not a valid icon");return}var y=l.default[f].toSvg(t({},u,g,{class:(0,o.default)(u.class,g.class)})),x=new DOMParser().parseFromString(y,"image/svg+xml"),m=x.querySelector("svg");h.parentNode.replaceChild(m,h)}function p(h){return Array.from(h.attributes).reduce(function(u,g){return u[g.name]=g.value,u},{})}n.default=c},"./src/tags.json":function(s){s.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],anchor:[],archive:["index","box"],"at-sign":["mention","at","email","message"],award:["achievement","badge"],aperture:["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],battery:["power","electricity"],"battery-charging":["power","electricity"],bell:["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read","library"],book:["read","dictionary","booklet","magazine","library"],bookmark:["read","clip","marker","tag"],box:["cube"],briefcase:["work","bag","baggage","folder"],calendar:["date"],camera:["photo"],cast:["chromecast","airplay"],"chevron-down":["expand"],"chevron-up":["collapse"],circle:["off","zero","record"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],code:["source","programming"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],columns:["layout"],command:["keyboard","cmd","terminal","prompt"],compass:["navigation","safari","travel","direction"],copy:["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],cpu:["processor","technology"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage","memory"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],facebook:["logo","social"],"fast-forward":["music"],figma:["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],film:["movie","video"],filter:["funnel","hopper"],flag:["report"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],framer:["logo","design","tool"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],globe:["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],hash:["hashtag","number","pound"],headphones:["music","audio","sound"],heart:["like","love","emotion"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house","living"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication","secure"],layers:["stack"],layout:["window","webpage"],"life-buoy":["help","life ring","support"],link:["chain","url"],"link-2":["chain","url"],linkedin:["logo","social media"],list:["options"],lock:["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],mail:["email","message"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],mic:["record","sound","listen"],minimize:["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],minus:["subtract"],monitor:["tv","screen","display"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],music:["note"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box","container"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],percent:["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],phone:["call"],play:["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],printer:["fax","office","device"],radio:["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],repeat:["loop","arrows"],rewind:["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],rss:["feed","subscribe"],save:["floppy disk"],scissors:["cut"],search:["find","magnifier","magnifying glass"],send:["message","mail","email","paper airplane","paper aeroplane"],settings:["cog","edit","gear","preferences"],"share-2":["network","connections"],shield:["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slack:["logo"],slash:["ban","no"],sliders:["settings","controls"],smartphone:["cellphone","device"],smile:["emoji","face","happy","good","emotion"],speaker:["audio","music"],star:["bookmark","favorite","like"],"stop-circle":["media","music"],sun:["brightness","weather","light"],sunrise:["weather","time","morning","day"],sunset:["weather","time","evening","night"],tablet:["device"],tag:["label"],target:["logo","bullseye"],terminal:["code","command line","prompt"],thermometer:["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],tool:["settings","spanner"],trash:["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],triangle:["delta"],truck:["delivery","van","shipping","transport","lorry"],tv:["television","stream"],twitch:["logo"],twitter:["logo","social"],type:["text"],umbrella:["rain","weather"],unlock:["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],user:["person","account"],users:["group"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],"wifi-off":["disabled"],wifi:["connection","signal","wireless"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],x:["cancel","close","delete","remove","times","clear"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}},"./src/to-svg.js":function(s,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=e("./src/icons.js"),i=o(t);function o(l){return l&&l.__esModule?l:{default:l}}function a(l){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!l)throw new Error("The required `key` (icon name) parameter is missing.");if(!i.default[l])throw new Error("No icon matching '"+l+"'. See the complete list of icons at https://feathericons.com");return i.default[l].toSvg(r)}n.default=a},0:function(s,n,e){e("./node_modules/core-js/es/array/from.js"),s.exports=e("./src/index.js")}})})});var et={};$e(et,{default:()=>ae});module.exports=Ge(et);var w=require("obsidian");var Ye=Ke(xe()),O=require("obsidian");var W=s=>s.match(/\.MD$|\.md$/m)?s.split(/\.MD$|\.md$/m).slice(0,-1).join(".md"):s;var me=require("obsidian"),B=class s{static getBlock(n,e,t){var c,d;let i=e.getCursor("to"),o=n.metadataCache.getFileCache(t),a=o==null?void 0:o.sections;if(!a||a.length===0){console.log("error reading FileCache (empty file?)");return}let l=a.findIndex(p=>p.position.start.line>i.line),r=l>0?a[l-1]:a[a.length-1];return(r==null?void 0:r.type)=="list"&&(r=(d=(c=o.listItems)==null?void 0:c.find(p=>p.position.start.line<=i.line&&p.position.end.line>=i.line))!=null?d:r),r}static getIdOfBlock(n,e){let t=e.id;if(t)return t;let i=e.position.end,o={ch:i.col,line:i.line},a=Math.random().toString(36).substring(2,8),l=s.shouldInsertAfter(e)?` +var ze=Object.create;var Z=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var He=Object.getOwnPropertyNames;var Ne=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var Be=(s,n)=>()=>(n||s((n={exports:{}}).exports,n),n.exports),$e=(s,n)=>{for(var e in n)Z(s,e,{get:n[e],enumerable:!0})},ge=(s,n,e,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of He(n))!We.call(s,i)&&i!==e&&Z(s,i,{get:()=>n[i],enumerable:!(t=De(n,i))||t.enumerable});return s};var Ke=(s,n,e)=>(e=s!=null?ze(Ne(s)):{},ge(n||!s||!s.__esModule?Z(e,"default",{value:s,enumerable:!0}):e,s)),Ge=s=>ge(Z({},"__esModule",{value:!0}),s);var xe=Be((N,se)=>{(function(n,e){typeof N=="object"&&typeof se=="object"?se.exports=e():typeof define=="function"&&define.amd?define([],e):typeof N=="object"?N.feather=e():n.feather=e()})(typeof self!="undefined"?self:N,function(){return function(s){var n={};function e(t){if(n[t])return n[t].exports;var i=n[t]={i:t,l:!1,exports:{}};return s[t].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=s,e.c=n,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:o})},e.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=0)}({"./dist/icons.json":function(s){s.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"divide-circle":'',"divide-square":'',divide:'',"dollar-sign":'',"download-cloud":'',download:'',dribbble:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',framer:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',table:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',tool:'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitch:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},"./node_modules/classnames/dedupe.js":function(s,n,e){var t,i;(function(){"use strict";var o=function(){function a(){}a.prototype=Object.create(null);function l(y,f){for(var x=f.length,m=0;m1?arguments[1]:void 0,f=y!==void 0,x=0,m=c(h),M,j,b,I;if(f&&(y=t(y,g>2?arguments[2]:void 0,2)),m!=null&&!(u==Array&&a(m)))for(I=m.call(h),j=new u;!(b=I.next()).done;x++)r(j,x,f?o(I,y,[b.value,x],!0):b.value);else for(M=l(h.length),j=new u(M);M>x;x++)r(j,x,f?y(h[x],x):h[x]);return j.length=x,j}},"./node_modules/core-js/internals/array-includes.js":function(s,n,e){var t=e("./node_modules/core-js/internals/to-indexed-object.js"),i=e("./node_modules/core-js/internals/to-length.js"),o=e("./node_modules/core-js/internals/to-absolute-index.js");s.exports=function(a){return function(l,r,c){var d=t(l),p=i(d.length),h=o(c,p),u;if(a&&r!=r){for(;p>h;)if(u=d[h++],u!=u)return!0}else for(;p>h;h++)if((a||h in d)&&d[h]===r)return a||h||0;return!a&&-1}}},"./node_modules/core-js/internals/bind-context.js":function(s,n,e){var t=e("./node_modules/core-js/internals/a-function.js");s.exports=function(i,o,a){if(t(i),o===void 0)return i;switch(a){case 0:return function(){return i.call(o)};case 1:return function(l){return i.call(o,l)};case 2:return function(l,r){return i.call(o,l,r)};case 3:return function(l,r,c){return i.call(o,l,r,c)}}return function(){return i.apply(o,arguments)}}},"./node_modules/core-js/internals/call-with-safe-iteration-closing.js":function(s,n,e){var t=e("./node_modules/core-js/internals/an-object.js");s.exports=function(i,o,a,l){try{return l?o(t(a)[0],a[1]):o(a)}catch(c){var r=i.return;throw r!==void 0&&t(r.call(i)),c}}},"./node_modules/core-js/internals/check-correctness-of-iteration.js":function(s,n,e){var t=e("./node_modules/core-js/internals/well-known-symbol.js"),i=t("iterator"),o=!1;try{var a=0,l={next:function(){return{done:!!a++}},return:function(){o=!0}};l[i]=function(){return this},Array.from(l,function(){throw 2})}catch(r){}s.exports=function(r,c){if(!c&&!o)return!1;var d=!1;try{var p={};p[i]=function(){return{next:function(){return{done:d=!0}}}},r(p)}catch(h){}return d}},"./node_modules/core-js/internals/classof-raw.js":function(s,n){var e={}.toString;s.exports=function(t){return e.call(t).slice(8,-1)}},"./node_modules/core-js/internals/classof.js":function(s,n,e){var t=e("./node_modules/core-js/internals/classof-raw.js"),i=e("./node_modules/core-js/internals/well-known-symbol.js"),o=i("toStringTag"),a=t(function(){return arguments}())=="Arguments",l=function(r,c){try{return r[c]}catch(d){}};s.exports=function(r){var c,d,p;return r===void 0?"Undefined":r===null?"Null":typeof(d=l(c=Object(r),o))=="string"?d:a?t(c):(p=t(c))=="Object"&&typeof c.callee=="function"?"Arguments":p}},"./node_modules/core-js/internals/copy-constructor-properties.js":function(s,n,e){var t=e("./node_modules/core-js/internals/has.js"),i=e("./node_modules/core-js/internals/own-keys.js"),o=e("./node_modules/core-js/internals/object-get-own-property-descriptor.js"),a=e("./node_modules/core-js/internals/object-define-property.js");s.exports=function(l,r){for(var c=i(r),d=a.f,p=o.f,h=0;h",M="java"+x+":",j;for(g.style.display="none",l.appendChild(g),g.src=String(M),j=g.contentWindow.document,j.open(),j.write(f+x+m+"document.F=Object"+f+"/"+x+m),j.close(),u=j.F;y--;)delete u[p][o[y]];return u()};s.exports=Object.create||function(y,f){var x;return y!==null?(h[p]=t(y),x=new h,h[p]=null,x[d]=y):x=u(),f===void 0?x:i(x,f)},a[d]=!0},"./node_modules/core-js/internals/object-define-properties.js":function(s,n,e){var t=e("./node_modules/core-js/internals/descriptors.js"),i=e("./node_modules/core-js/internals/object-define-property.js"),o=e("./node_modules/core-js/internals/an-object.js"),a=e("./node_modules/core-js/internals/object-keys.js");s.exports=t?Object.defineProperties:function(r,c){o(r);for(var d=a(c),p=d.length,h=0,u;p>h;)i.f(r,u=d[h++],c[u]);return r}},"./node_modules/core-js/internals/object-define-property.js":function(s,n,e){var t=e("./node_modules/core-js/internals/descriptors.js"),i=e("./node_modules/core-js/internals/ie8-dom-define.js"),o=e("./node_modules/core-js/internals/an-object.js"),a=e("./node_modules/core-js/internals/to-primitive.js"),l=Object.defineProperty;n.f=t?l:function(c,d,p){if(o(c),d=a(d,!0),o(p),i)try{return l(c,d,p)}catch(h){}if("get"in p||"set"in p)throw TypeError("Accessors not supported");return"value"in p&&(c[d]=p.value),c}},"./node_modules/core-js/internals/object-get-own-property-descriptor.js":function(s,n,e){var t=e("./node_modules/core-js/internals/descriptors.js"),i=e("./node_modules/core-js/internals/object-property-is-enumerable.js"),o=e("./node_modules/core-js/internals/create-property-descriptor.js"),a=e("./node_modules/core-js/internals/to-indexed-object.js"),l=e("./node_modules/core-js/internals/to-primitive.js"),r=e("./node_modules/core-js/internals/has.js"),c=e("./node_modules/core-js/internals/ie8-dom-define.js"),d=Object.getOwnPropertyDescriptor;n.f=t?d:function(h,u){if(h=a(h),u=l(u,!0),c)try{return d(h,u)}catch(g){}if(r(h,u))return o(!i.f.call(h,u),h[u])}},"./node_modules/core-js/internals/object-get-own-property-names.js":function(s,n,e){var t=e("./node_modules/core-js/internals/object-keys-internal.js"),i=e("./node_modules/core-js/internals/enum-bug-keys.js"),o=i.concat("length","prototype");n.f=Object.getOwnPropertyNames||function(l){return t(l,o)}},"./node_modules/core-js/internals/object-get-own-property-symbols.js":function(s,n){n.f=Object.getOwnPropertySymbols},"./node_modules/core-js/internals/object-get-prototype-of.js":function(s,n,e){var t=e("./node_modules/core-js/internals/has.js"),i=e("./node_modules/core-js/internals/to-object.js"),o=e("./node_modules/core-js/internals/shared-key.js"),a=e("./node_modules/core-js/internals/correct-prototype-getter.js"),l=o("IE_PROTO"),r=Object.prototype;s.exports=a?Object.getPrototypeOf:function(c){return c=i(c),t(c,l)?c[l]:typeof c.constructor=="function"&&c instanceof c.constructor?c.constructor.prototype:c instanceof Object?r:null}},"./node_modules/core-js/internals/object-keys-internal.js":function(s,n,e){var t=e("./node_modules/core-js/internals/has.js"),i=e("./node_modules/core-js/internals/to-indexed-object.js"),o=e("./node_modules/core-js/internals/array-includes.js"),a=e("./node_modules/core-js/internals/hidden-keys.js"),l=o(!1);s.exports=function(r,c){var d=i(r),p=0,h=[],u;for(u in d)!t(a,u)&&t(d,u)&&h.push(u);for(;c.length>p;)t(d,u=c[p++])&&(~l(h,u)||h.push(u));return h}},"./node_modules/core-js/internals/object-keys.js":function(s,n,e){var t=e("./node_modules/core-js/internals/object-keys-internal.js"),i=e("./node_modules/core-js/internals/enum-bug-keys.js");s.exports=Object.keys||function(a){return t(a,i)}},"./node_modules/core-js/internals/object-property-is-enumerable.js":function(s,n,e){"use strict";var t={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!t.call({1:2},1);n.f=o?function(l){var r=i(this,l);return!!r&&r.enumerable}:t},"./node_modules/core-js/internals/object-set-prototype-of.js":function(s,n,e){var t=e("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js");s.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,o={},a;try{a=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,a.call(o,[]),i=o instanceof Array}catch(l){}return function(r,c){return t(r,c),i?a.call(r,c):r.__proto__=c,r}}():void 0)},"./node_modules/core-js/internals/own-keys.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/object-get-own-property-names.js"),o=e("./node_modules/core-js/internals/object-get-own-property-symbols.js"),a=e("./node_modules/core-js/internals/an-object.js"),l=t.Reflect;s.exports=l&&l.ownKeys||function(c){var d=i.f(a(c)),p=o.f;return p?d.concat(p(c)):d}},"./node_modules/core-js/internals/path.js":function(s,n,e){s.exports=e("./node_modules/core-js/internals/global.js")},"./node_modules/core-js/internals/redefine.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/shared.js"),o=e("./node_modules/core-js/internals/hide.js"),a=e("./node_modules/core-js/internals/has.js"),l=e("./node_modules/core-js/internals/set-global.js"),r=e("./node_modules/core-js/internals/function-to-string.js"),c=e("./node_modules/core-js/internals/internal-state.js"),d=c.get,p=c.enforce,h=String(r).split("toString");i("inspectSource",function(u){return r.call(u)}),(s.exports=function(u,g,y,f){var x=f?!!f.unsafe:!1,m=f?!!f.enumerable:!1,M=f?!!f.noTargetGet:!1;if(typeof y=="function"&&(typeof g=="string"&&!a(y,"name")&&o(y,"name",g),p(y).source=h.join(typeof g=="string"?g:"")),u===t){m?u[g]=y:l(g,y);return}else x?!M&&u[g]&&(m=!0):delete u[g];m?u[g]=y:o(u,g,y)})(Function.prototype,"toString",function(){return typeof this=="function"&&d(this).source||r.call(this)})},"./node_modules/core-js/internals/require-object-coercible.js":function(s,n){s.exports=function(e){if(e==null)throw TypeError("Can't call method on "+e);return e}},"./node_modules/core-js/internals/set-global.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/hide.js");s.exports=function(o,a){try{i(t,o,a)}catch(l){t[o]=a}return a}},"./node_modules/core-js/internals/set-to-string-tag.js":function(s,n,e){var t=e("./node_modules/core-js/internals/object-define-property.js").f,i=e("./node_modules/core-js/internals/has.js"),o=e("./node_modules/core-js/internals/well-known-symbol.js"),a=o("toStringTag");s.exports=function(l,r,c){l&&!i(l=c?l:l.prototype,a)&&t(l,a,{configurable:!0,value:r})}},"./node_modules/core-js/internals/shared-key.js":function(s,n,e){var t=e("./node_modules/core-js/internals/shared.js"),i=e("./node_modules/core-js/internals/uid.js"),o=t("keys");s.exports=function(a){return o[a]||(o[a]=i(a))}},"./node_modules/core-js/internals/shared.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/set-global.js"),o=e("./node_modules/core-js/internals/is-pure.js"),a="__core-js_shared__",l=t[a]||i(a,{});(s.exports=function(r,c){return l[r]||(l[r]=c!==void 0?c:{})})("versions",[]).push({version:"3.1.3",mode:o?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})},"./node_modules/core-js/internals/string-at.js":function(s,n,e){var t=e("./node_modules/core-js/internals/to-integer.js"),i=e("./node_modules/core-js/internals/require-object-coercible.js");s.exports=function(o,a,l){var r=String(i(o)),c=t(a),d=r.length,p,h;return c<0||c>=d?l?"":void 0:(p=r.charCodeAt(c),p<55296||p>56319||c+1===d||(h=r.charCodeAt(c+1))<56320||h>57343?l?r.charAt(c):p:l?r.slice(c,c+2):(p-55296<<10)+(h-56320)+65536)}},"./node_modules/core-js/internals/to-absolute-index.js":function(s,n,e){var t=e("./node_modules/core-js/internals/to-integer.js"),i=Math.max,o=Math.min;s.exports=function(a,l){var r=t(a);return r<0?i(r+l,0):o(r,l)}},"./node_modules/core-js/internals/to-indexed-object.js":function(s,n,e){var t=e("./node_modules/core-js/internals/indexed-object.js"),i=e("./node_modules/core-js/internals/require-object-coercible.js");s.exports=function(o){return t(i(o))}},"./node_modules/core-js/internals/to-integer.js":function(s,n){var e=Math.ceil,t=Math.floor;s.exports=function(i){return isNaN(i=+i)?0:(i>0?t:e)(i)}},"./node_modules/core-js/internals/to-length.js":function(s,n,e){var t=e("./node_modules/core-js/internals/to-integer.js"),i=Math.min;s.exports=function(o){return o>0?i(t(o),9007199254740991):0}},"./node_modules/core-js/internals/to-object.js":function(s,n,e){var t=e("./node_modules/core-js/internals/require-object-coercible.js");s.exports=function(i){return Object(t(i))}},"./node_modules/core-js/internals/to-primitive.js":function(s,n,e){var t=e("./node_modules/core-js/internals/is-object.js");s.exports=function(i,o){if(!t(i))return i;var a,l;if(o&&typeof(a=i.toString)=="function"&&!t(l=a.call(i))||typeof(a=i.valueOf)=="function"&&!t(l=a.call(i))||!o&&typeof(a=i.toString)=="function"&&!t(l=a.call(i)))return l;throw TypeError("Can't convert object to primitive value")}},"./node_modules/core-js/internals/uid.js":function(s,n){var e=0,t=Math.random();s.exports=function(i){return"Symbol(".concat(i===void 0?"":i,")_",(++e+t).toString(36))}},"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":function(s,n,e){var t=e("./node_modules/core-js/internals/is-object.js"),i=e("./node_modules/core-js/internals/an-object.js");s.exports=function(o,a){if(i(o),!t(a)&&a!==null)throw TypeError("Can't set "+String(a)+" as a prototype")}},"./node_modules/core-js/internals/well-known-symbol.js":function(s,n,e){var t=e("./node_modules/core-js/internals/global.js"),i=e("./node_modules/core-js/internals/shared.js"),o=e("./node_modules/core-js/internals/uid.js"),a=e("./node_modules/core-js/internals/native-symbol.js"),l=t.Symbol,r=i("wks");s.exports=function(c){return r[c]||(r[c]=a&&l[c]||(a?l:o)("Symbol."+c))}},"./node_modules/core-js/modules/es.array.from.js":function(s,n,e){var t=e("./node_modules/core-js/internals/export.js"),i=e("./node_modules/core-js/internals/array-from.js"),o=e("./node_modules/core-js/internals/check-correctness-of-iteration.js"),a=!o(function(l){Array.from(l)});t({target:"Array",stat:!0,forced:a},{from:i})},"./node_modules/core-js/modules/es.string.iterator.js":function(s,n,e){"use strict";var t=e("./node_modules/core-js/internals/string-at.js"),i=e("./node_modules/core-js/internals/internal-state.js"),o=e("./node_modules/core-js/internals/define-iterator.js"),a="String Iterator",l=i.set,r=i.getterFor(a);o(String,"String",function(c){l(this,{type:a,string:String(c),index:0})},function(){var d=r(this),p=d.string,h=d.index,u;return h>=p.length?{value:void 0,done:!0}:(u=t(p,h,!0),d.index+=u.length,{value:u,done:!1})})},"./node_modules/webpack/buildin/global.js":function(s,n){var e;e=function(){return this}();try{e=e||Function("return this")()||(0,eval)("this")}catch(t){typeof window=="object"&&(e=window)}s.exports=e},"./src/default-attrs.json":function(s){s.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},"./src/icon.js":function(s,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=Object.assign||function(u){for(var g=1;g2&&arguments[2]!==void 0?arguments[2]:[];d(this,u),this.name=g,this.contents=y,this.tags=f,this.attrs=t({},r.default,{class:"feather feather-"+g})}return i(u,[{key:"toSvg",value:function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=t({},this.attrs,y,{class:(0,a.default)(this.attrs.class,y.class)});return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),u}();function h(u){return Object.keys(u).map(function(g){return g+'="'+u[g]+'"'}).join(" ")}n.default=p},"./src/icons.js":function(s,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=e("./src/icon.js"),i=c(t),o=e("./dist/icons.json"),a=c(o),l=e("./src/tags.json"),r=c(l);function c(d){return d&&d.__esModule?d:{default:d}}n.default=Object.keys(a.default).map(function(d){return new i.default(d,a.default[d],r.default[d])}).reduce(function(d,p){return d[p.name]=p,d},{})},"./src/index.js":function(s,n,e){"use strict";var t=e("./src/icons.js"),i=c(t),o=e("./src/to-svg.js"),a=c(o),l=e("./src/replace.js"),r=c(l);function c(d){return d&&d.__esModule?d:{default:d}}s.exports={icons:i.default,toSvg:a.default,replace:r.default}},"./src/replace.js":function(s,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=Object.assign||function(h){for(var u=1;u0&&arguments[0]!==void 0?arguments[0]:{};if(typeof document=="undefined")throw new Error("`feather.replace()` only works in a browser environment.");var u=document.querySelectorAll("[data-feather]");Array.from(u).forEach(function(g){return d(g,h)})}function d(h){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},g=p(h),y=g["data-feather"];if(delete g["data-feather"],l.default[y]===void 0){console.warn("feather: '"+y+"' is not a valid icon");return}var f=l.default[y].toSvg(t({},u,g,{class:(0,o.default)(u.class,g.class)})),x=new DOMParser().parseFromString(f,"image/svg+xml"),m=x.querySelector("svg");h.parentNode.replaceChild(m,h)}function p(h){return Array.from(h.attributes).reduce(function(u,g){return u[g.name]=g.value,u},{})}n.default=c},"./src/tags.json":function(s){s.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],anchor:[],archive:["index","box"],"at-sign":["mention","at","email","message"],award:["achievement","badge"],aperture:["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],battery:["power","electricity"],"battery-charging":["power","electricity"],bell:["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read","library"],book:["read","dictionary","booklet","magazine","library"],bookmark:["read","clip","marker","tag"],box:["cube"],briefcase:["work","bag","baggage","folder"],calendar:["date"],camera:["photo"],cast:["chromecast","airplay"],"chevron-down":["expand"],"chevron-up":["collapse"],circle:["off","zero","record"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],code:["source","programming"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],columns:["layout"],command:["keyboard","cmd","terminal","prompt"],compass:["navigation","safari","travel","direction"],copy:["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],cpu:["processor","technology"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage","memory"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],facebook:["logo","social"],"fast-forward":["music"],figma:["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],film:["movie","video"],filter:["funnel","hopper"],flag:["report"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],framer:["logo","design","tool"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],globe:["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],hash:["hashtag","number","pound"],headphones:["music","audio","sound"],heart:["like","love","emotion"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house","living"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication","secure"],layers:["stack"],layout:["window","webpage"],"life-buoy":["help","life ring","support"],link:["chain","url"],"link-2":["chain","url"],linkedin:["logo","social media"],list:["options"],lock:["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],mail:["email","message"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],mic:["record","sound","listen"],minimize:["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],minus:["subtract"],monitor:["tv","screen","display"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],music:["note"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box","container"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],percent:["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],phone:["call"],play:["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],printer:["fax","office","device"],radio:["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],repeat:["loop","arrows"],rewind:["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],rss:["feed","subscribe"],save:["floppy disk"],scissors:["cut"],search:["find","magnifier","magnifying glass"],send:["message","mail","email","paper airplane","paper aeroplane"],settings:["cog","edit","gear","preferences"],"share-2":["network","connections"],shield:["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slack:["logo"],slash:["ban","no"],sliders:["settings","controls"],smartphone:["cellphone","device"],smile:["emoji","face","happy","good","emotion"],speaker:["audio","music"],star:["bookmark","favorite","like"],"stop-circle":["media","music"],sun:["brightness","weather","light"],sunrise:["weather","time","morning","day"],sunset:["weather","time","evening","night"],tablet:["device"],tag:["label"],target:["logo","bullseye"],terminal:["code","command line","prompt"],thermometer:["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],tool:["settings","spanner"],trash:["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],triangle:["delta"],truck:["delivery","van","shipping","transport","lorry"],tv:["television","stream"],twitch:["logo"],twitter:["logo","social"],type:["text"],umbrella:["rain","weather"],unlock:["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],user:["person","account"],users:["group"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],"wifi-off":["disabled"],wifi:["connection","signal","wireless"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],x:["cancel","close","delete","remove","times","clear"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}},"./src/to-svg.js":function(s,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=e("./src/icons.js"),i=o(t);function o(l){return l&&l.__esModule?l:{default:l}}function a(l){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!l)throw new Error("The required `key` (icon name) parameter is missing.");if(!i.default[l])throw new Error("No icon matching '"+l+"'. See the complete list of icons at https://feathericons.com");return i.default[l].toSvg(r)}n.default=a},0:function(s,n,e){e("./node_modules/core-js/es/array/from.js"),s.exports=e("./src/index.js")}})})});var et={};$e(et,{default:()=>ae});module.exports=Ge(et);var w=require("obsidian");var Ye=Ke(xe()),O=require("obsidian");var W=s=>s.match(/\.MD$|\.md$/m)?s.split(/\.MD$|\.md$/m).slice(0,-1).join(".md"):s;var me=require("obsidian"),B=class s{static getBlock(n,e,t){var c,d;let i=e.getCursor("to"),o=n.metadataCache.getFileCache(t),a=o==null?void 0:o.sections;if(!a||a.length===0){console.log("error reading FileCache (empty file?)");return}let l=a.findIndex(p=>p.position.start.line>i.line),r=l>0?a[l-1]:a[a.length-1];return(r==null?void 0:r.type)=="list"&&(r=(d=(c=o.listItems)==null?void 0:c.find(p=>p.position.start.line<=i.line&&p.position.end.line>=i.line))!=null?d:r),r}static getIdOfBlock(n,e){let t=e.id;if(t)return t;let i=e.position.end,o={ch:i.col,line:i.line},a=Math.random().toString(36).substring(2,8),l=s.shouldInsertAfter(e)?` -`:" ";return n.replaceRange(`${l}^${a}`,o),a}static shouldInsertAfter(n){if(n.type)return["blockquote","code","table","heading","comment","footnoteDefinition"].includes(n.type)}static getBlockId(n){let e=n.workspace.getActiveViewOfType(me.MarkdownView);if(e){let t=e.editor,i=e.file,o=this.getBlock(n,t,i);if(o)return this.getIdOfBlock(t,o)}}};var ve={openFileOnWrite:!0,openDailyInNewPane:!1,openFileOnWriteInNewPane:!1,openFileWithoutWriteInNewPane:!1,idField:"id",useUID:!1,addFilepathWhenUsingUID:!1,allowEval:!1,includeVaultName:!0,vaultParam:"name",linkFormats:[{name:"Markdown",format:"[{{name}}]({{uri}})"}]};var we=require("obsidian");function je(s){let n=s.internalPlugins.plugins["daily-notes"];if(n&&n.enabled)return!0}function Ze(...s){let n=[];for(let t=0,i=s.length;t{this.file?this.plugin.tools.copyURI({filepath:this.file,data:e,mode:i},this.withFormat,this.app.vault.getFileByPath(this.file)):this.plugin.tools.copyURI({daily:"true",data:e,mode:i},this.withFormat,void 0)}})}return t}renderSuggestion(e,t){t.innerText=e.display}onChooseSuggestion(e,t){e.func()}};var Ie=require("obsidian"),R=class extends Ie.FuzzySuggestModal{constructor(e,t,i=!0){super(e.app);this.placeHolder=t;this.allowNoFile=i;this.plugin=e,this.setPlaceholder(this.placeHolder)}getItems(){let e=[];this.allowNoFile&&e.push({display:"",source:void 0});let t=this.app.workspace.getActiveFile();return t&&e.push({display:"",source:t.path}),[...e,...this.app.vault.getFiles().map(i=>({display:i.path,source:i.path}))]}getItemText(e){return e.display}onChooseItem(e,t){}};var Ae=require("obsidian");function re(s){return s.viewmode?{state:{mode:s.viewmode,source:s.viewmode=="source"}}:void 0}function z(s){return navigator.clipboard.writeText(s)}function J(s,n){var o;let e=(o=n.parent)==null?void 0:o.path,t=e==="/"?"":e,i=n.name;for(let a=1;a<100;a++){let l=W(i),r=t+(t==""?"":"/")+l+` ${a}.md`;if(!(s.vault.getAbstractFileByPath(r)!==null))return r}}function Fe(s,n){let e=new URL(s.vault.getResourcePath(n));return e.host="localhosthostlocal",e.protocol="file",e.search="",e.pathname=decodeURIComponent(e.pathname),e.toString().replace("/localhosthostlocal/","/")}function ce(s,n,e){var a,l;let t=s.metadataCache.getFileCache(n),i=t.sections,o=(a=t.headings)==null?void 0:a.find(r=>r.heading===e);if(o){let r=i.findIndex(u=>u.type==="heading"&&u.position.start.line===o.position.start.line),c=i.slice(r+1),d=c==null?void 0:c.findIndex(u=>u.type==="heading");return{lastLine:((l=c[(d!==-1?d:c.length)-1])!=null?l:i[r]).position.end.line+1,firstLine:i[r].position.end.line+1}}else new Ae.Notice("Can't find heading")}var U=class extends Error{constructor(e,t,i){super(e);this.name="KeyPathError",this.errKey=t,i&&(this.cause=i)}};function Ce(s){let{originalObject:n,key:e,data:t}=s;if(e.startsWith("[")&&e.endsWith("]")){let i=e.substring(1,e.length-1).split(","),o=n;for(let a=0;ap==l)),r===void 0)throw new U(`Failed to resolve or convert "${l}" to a valid array index.`,l);r=Math.min(r,o.length),r=Math.max(r,-1)}if(a==i.length-1){o instanceof Array?r===-1?o.unshift(t):o[r]=t:o[l]=t;return}let d=!Number.isNaN(parseInt(i[a+1]))?[]:{};try{o instanceof Array?r>=o.length?(o.push(d),o=d):r===-1?(o.unshift(d),o=d):o=o[Math.max(r,0)]:o[l]===void 0?(o[l]=d,o=d):o=o[l]}catch(p){throw new U(`Failed to resolve "${l}" as a valid object key`,l,p)}}}else n[e]=t}function Pe(s){let{obj:n,key:e}=s;if(e.startsWith("[")&&e.endsWith("]")){let t=e.substring(1,e.length-1).split(","),i=n;for(let o of t)if(i instanceof Array){let a=parseInt(o);Number.isNaN(a)?i=i.find(l=>l==o):i=i[a]}else if(i&&typeof i=="object")i=i[o];else return;return i}else return n?n[e]:void 0}var $=class{constructor(n){this.plugin=n;this.app=this.plugin.app}get tools(){return this.plugin.tools}handlePluginManagement(n){if(n["enable-plugin"]){let e=n["enable-plugin"];e in this.app.plugins.manifests&&!this.app.plugins.getPlugin(e)?(this.app.plugins.enablePluginAndSave(e),new v.Notice(`Enabled ${e}`)):this.app.internalPlugins.plugins[e]&&(this.app.internalPlugins.plugins[e].enable(!0),new v.Notice(`Enabled ${e}`))}else if(n["disable-plugin"]){let e=n["disable-plugin"];this.app.plugins.getPlugin(e)?(this.app.plugins.disablePluginAndSave(e),new v.Notice(`Disabled ${e}`)):this.app.internalPlugins.plugins[e]&&(this.app.internalPlugins.plugins[e].disable(!0),new v.Notice(`Disabled ${e}`))}}handleFrontmatterKey(n){var o;let e=n.frontmatterkey,t=this.app.vault.getAbstractFileByPath((o=n.filepath)!=null?o:this.app.workspace.getActiveFile().path);if(!(t instanceof v.TFile))return;let i=this.app.metadataCache.getFileCache(t).frontmatter;if(n.data){let a=n.data;try{a=JSON.parse(a)}catch(l){try{a=`"${a}"`,a=JSON.parse(a)}catch(r){new v.Notice("Failed to parse data, check console for more details"),console.error(r);return}}this.app.fileManager.processFrontMatter(t,l=>{try{Ce({originalObject:l,key:e,data:a})}catch(r){console.error(r),r instanceof U?new v.Notice(`Invalid key in path. -${r.message}`):new v.Notice("Failed to update frontmatter, check console for more details")}});return}z(Pe({obj:i,key:e}))}handleWorkspace(n){let e=this.app.internalPlugins.getEnabledPluginById("workspaces");if(!e)new v.Notice("Workspaces plugin is not enabled"),this.plugin.failure(n);else{if(n.saveworkspace=="true"){let t=e.activeWorkspace;e.saveWorkspace(t),new v.Notice(`Saved current workspace to ${t}`)}n.clipboard&&n.clipboard!="false"?this.tools.copyURI({workspace:e.activeWorkspace}):n.workspace!=null&&e.loadWorkspace(n.workspace),this.plugin.success(n)}}async handleCommand(n){if(n.filepath)if(n.mode){if(n.mode=="new"){let t=this.app.metadataCache.getFirstLinkpathDest(n.filepath,"/");t instanceof v.TFile&&(n.filepath=J(this.app,t))}await this.plugin.open({file:n.filepath,mode:"source",parameters:n});let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);if(e){let t=e.editor,i=t.getValue();if(n.mode==="append"){t.setValue(i+` +`:" ";return n.replaceRange(`${l}^${a}`,o),a}static shouldInsertAfter(n){if(n.type)return["blockquote","code","table","heading","comment","footnoteDefinition"].includes(n.type)}static getBlockId(n){let e=n.workspace.getActiveViewOfType(me.MarkdownView);if(e){let t=e.editor,i=e.file,o=this.getBlock(n,t,i);if(o)return this.getIdOfBlock(t,o)}}};var ve={openFileOnWrite:!0,openDailyInNewPane:!1,openFileOnWriteInNewPane:!1,openFileWithoutWriteInNewPane:!1,idField:"id",useUID:!1,addFilepathWhenUsingUID:!1,allowEval:!1,includeVaultName:!0,vaultParam:"name",linkFormats:[{name:"Markdown",format:"[{{name}}]({{uri}})"}]};var we=require("obsidian");function je(s){let n=s.internalPlugins.plugins["daily-notes"];if(n&&n.enabled)return!0}function Ze(...s){let n=[];for(let t=0,i=s.length;t{this.file?this.plugin.tools.copyURI({filepath:this.file,data:e,mode:i},this.withFormat,this.app.vault.getFileByPath(this.file)):this.plugin.tools.copyURI({daily:"true",data:e,mode:i},this.withFormat,void 0)}})}return t}renderSuggestion(e,t){t.innerText=e.display}onChooseSuggestion(e,t){e.func()}};var Ie=require("obsidian"),R=class extends Ie.FuzzySuggestModal{constructor(e,t,i=!0){super(e.app);this.placeHolder=t;this.allowNoFile=i;this.plugin=e,this.setPlaceholder(this.placeHolder)}getItems(){let e=[];this.allowNoFile&&e.push({display:"",source:void 0});let t=this.app.workspace.getActiveFile();return t&&e.push({display:"",source:t.path}),[...e,...this.app.vault.getFiles().map(i=>({display:i.path,source:i.path}))]}getItemText(e){return e.display}onChooseItem(e,t){}};var Ae=require("obsidian");function re(s){return s.viewmode?{state:{mode:s.viewmode,source:s.viewmode=="source"}}:void 0}function D(s){return navigator.clipboard.writeText(s)}function J(s,n){var o;let e=(o=n.parent)==null?void 0:o.path,t=e==="/"?"":e,i=n.name;for(let a=1;a<100;a++){let l=W(i),r=t+(t==""?"":"/")+l+` ${a}.md`;if(!(s.vault.getAbstractFileByPath(r)!==null))return r}}function Fe(s,n){let e=new URL(s.vault.getResourcePath(n));return e.host="localhosthostlocal",e.protocol="file",e.search="",e.pathname=decodeURIComponent(e.pathname),e.toString().replace("/localhosthostlocal/","/")}function ce(s,n,e){var a,l;let t=s.metadataCache.getFileCache(n),i=t.sections,o=(a=t.headings)==null?void 0:a.find(r=>r.heading===e);if(o){let r=i.findIndex(u=>u.type==="heading"&&u.position.start.line===o.position.start.line),c=i.slice(r+1),d=c==null?void 0:c.findIndex(u=>u.type==="heading");return{lastLine:((l=c[(d!==-1?d:c.length)-1])!=null?l:i[r]).position.end.line+1,firstLine:i[r].position.end.line+1}}else new Ae.Notice("Can't find heading")}var z=class extends Error{constructor(e,t,i){super(e);this.name="KeyPathError",this.errKey=t,i&&(this.cause=i)}};function Pe(s){let{originalObject:n,key:e,data:t}=s;if(e.startsWith("[")&&e.endsWith("]")){let i=e.substring(1,e.length-1).split(","),o=n;for(let a=0;ap==l)),r===void 0)throw new z(`Failed to resolve or convert "${l}" to a valid array index.`,l);r=Math.min(r,o.length),r=Math.max(r,-1)}if(a==i.length-1){o instanceof Array?r===-1?o.unshift(t):o[r]=t:o[l]=t;return}let d=!Number.isNaN(parseInt(i[a+1]))?[]:{};try{o instanceof Array?r>=o.length?(o.push(d),o=d):r===-1?(o.unshift(d),o=d):o=o[Math.max(r,0)]:o[l]===void 0?(o[l]=d,o=d):o=o[l]}catch(p){throw new z(`Failed to resolve "${l}" as a valid object key`,l,p)}}}else n[e]=t}function Ce(s){let{obj:n,key:e}=s;if(e.startsWith("[")&&e.endsWith("]")){let t=e.substring(1,e.length-1).split(","),i=n;for(let o of t)if(i instanceof Array){let a=parseInt(o);Number.isNaN(a)?i=i.find(l=>l==o):i=i[a]}else if(i&&typeof i=="object")i=i[o];else return;return i}else return n?n[e]:void 0}var $=class{constructor(n){this.plugin=n;this.app=this.plugin.app}get tools(){return this.plugin.tools}handlePluginManagement(n){if(n["enable-plugin"]){let e=n["enable-plugin"];e in this.app.plugins.manifests&&!this.app.plugins.getPlugin(e)?(this.app.plugins.enablePluginAndSave(e),new v.Notice(`Enabled ${e}`)):this.app.internalPlugins.plugins[e]&&(this.app.internalPlugins.plugins[e].enable(!0),new v.Notice(`Enabled ${e}`))}else if(n["disable-plugin"]){let e=n["disable-plugin"];this.app.plugins.getPlugin(e)?(this.app.plugins.disablePluginAndSave(e),new v.Notice(`Disabled ${e}`)):this.app.internalPlugins.plugins[e]&&(this.app.internalPlugins.plugins[e].disable(!0),new v.Notice(`Disabled ${e}`))}}handleFrontmatterKey(n){var o;let e=n.frontmatterkey,t=this.app.vault.getAbstractFileByPath((o=n.filepath)!=null?o:this.app.workspace.getActiveFile().path);if(!(t instanceof v.TFile))return;let i=this.app.metadataCache.getFileCache(t).frontmatter;if(n.data){let a=n.data;try{a=JSON.parse(a)}catch(l){try{a=`"${a}"`,a=JSON.parse(a)}catch(r){new v.Notice("Failed to parse data, check console for more details"),console.error(r);return}}this.app.fileManager.processFrontMatter(t,l=>{try{Pe({originalObject:l,key:e,data:a})}catch(r){console.error(r),r instanceof z?new v.Notice(`Invalid key in path. +${r.message}`):new v.Notice("Failed to update frontmatter, check console for more details")}});return}D(Ce({obj:i,key:e}))}handleWorkspace(n){let e=this.app.internalPlugins.getEnabledPluginById("workspaces");if(!e)new v.Notice("Workspaces plugin is not enabled"),this.plugin.failure(n);else{if(n.saveworkspace=="true"){let t=e.activeWorkspace;e.saveWorkspace(t),new v.Notice(`Saved current workspace to ${t}`)}n.clipboard&&n.clipboard!="false"?this.tools.copyURI({workspace:e.activeWorkspace}):n.workspace!=null&&e.loadWorkspace(n.workspace),this.plugin.success(n)}}async handleCommand(n){if(n.filepath)if(n.mode){if(n.mode=="new"){let t=this.app.metadataCache.getFirstLinkpathDest(n.filepath,"/");t instanceof v.TFile&&(n.filepath=J(this.app,t))}await this.plugin.open({file:n.filepath,mode:"source",parameters:n});let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);if(e){let t=e.editor,i=t.getValue();if(n.mode==="append"){t.setValue(i+` `);let o=t.lineCount();t.setCursor({ch:0,line:o})}else n.mode==="prepend"?(t.setValue(` -`+i),t.setCursor({ch:0,line:0})):n.mode==="overwrite"&&t.setValue("")}}else n.line!=null||n.column!=null||n.offset!=null?(await this.plugin.open({file:n.filepath,mode:"source",parameters:n}),await this.plugin.setCursorInLine(n)):await this.plugin.open({file:n.filepath,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});else(n.openmode||n.viewmode)&&await this.plugin.open({parameters:n});if(n.commandid)this.app.commands.executeCommandById(n.commandid);else if(n.commandname){let e=this.app.commands.commands;for(let t in e)if(e[t].name===n.commandname){e[t].callback?await e[t].callback():e[t].checkCallback(!1);break}}if(n.confirm&&n.confirm!="false"){await new Promise(t=>setTimeout(t,750));let e=document.querySelector(".mod-cta:not([style*='display: none'])");e.click instanceof Function&&e.click()}this.plugin.success(n)}async handleEval(n){if(n.filepath)if(n.mode){if(n.mode=="new"){let t=this.app.metadataCache.getFirstLinkpathDest(n.filepath,"/");t instanceof v.TFile&&(n.filepath=J(this.app,t))}await this.plugin.open({file:n.filepath,mode:"source",parameters:n});let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);if(e){let t=e.editor,i=t.getValue();if(n.mode==="append"){t.setValue(i+` +`+i),t.setCursor({ch:0,line:0})):n.mode==="overwrite"&&t.setValue("")}}else n.line!=null||n.column!=null||n.offset!=null?(await this.plugin.open({file:n.filepath,mode:"source",parameters:n}),await this.plugin.setCursorInLine(n)):await this.plugin.open({file:n.filepath,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});else(n.openmode||n.viewmode)&&await this.plugin.open({parameters:n});if(n.commandid)this.app.commands.executeCommandById(n.commandid);else if(n.commandname){let e=this.app.commands.commands;for(let t in e)if(e[t].name===n.commandname){e[t].callback?await e[t].callback():e[t].checkCallback(!1);break}}if(n.confirm&&n.confirm!="false"){await new Promise(t=>setTimeout(t,750));let e=document.querySelector(".mod-cta:not([style*='display: none'])");e.click instanceof Function&&e.click()}this.plugin.success(n),await new Promise(e=>setTimeout(e,4e3))}async handleEval(n){if(n.filepath)if(n.mode){if(n.mode=="new"){let t=this.app.metadataCache.getFirstLinkpathDest(n.filepath,"/");t instanceof v.TFile&&(n.filepath=J(this.app,t))}await this.plugin.open({file:n.filepath,mode:"source",parameters:n});let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);if(e){let t=e.editor,i=t.getValue();if(n.mode==="append"){t.setValue(i+` `);let o=t.lineCount();t.setCursor({ch:0,line:o})}else n.mode==="prepend"?(t.setValue(` -`+i),t.setCursor({ch:0,line:0})):n.mode==="overwrite"&&t.setValue("")}}else n.line!=null||n.column!=null||n.offset!=null?(await this.plugin.open({file:n.filepath,mode:"source",parameters:n}),await this.plugin.setCursorInLine(n)):await this.plugin.open({file:n.filepath,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});this.plugin.settings.allowEval?((0,eval)(n.eval),this.plugin.success(n)):(new v.Notice("Eval is not allowed. Please enable it in the settings."),this.plugin.failure(n))}async handleDoesFileExist(n){let e=await this.app.vault.adapter.exists(n.filepath);z((e?1:0).toString()),this.plugin.success(n)}async handleSearchAndReplace(n){let e;if(n.filepath){let t=this.app.vault.getAbstractFileByPath(n.filepath);t instanceof v.TFile&&(e=t)}else e=this.app.workspace.getActiveFile();if(e){let t=await this.app.vault.read(e);if(n.searchregex)try{let[,,i,o]=n.searchregex.match(/(\/?)(.+)\1([a-z]*)/i),a=new RegExp(i,o);t=t.replace(a,n.replace),this.plugin.success(n)}catch(i){new v.Notice(`Can't parse ${n.searchregex} as RegEx`),this.plugin.failure(n)}else t=t.replaceAll(n.search,n.replace),this.plugin.success(n);await this.plugin.writeAndOpenFile(e.path,t,n)}else new v.Notice("Cannot find file"),this.plugin.failure(n)}async handleSearch(n){n.filepath&&await this.plugin.open({file:n.filepath,parameters:n});let e=this.app.workspace.getActiveViewOfType(v.FileView);e.currentMode.showSearch();let t=e.currentMode.search;t.searchInputEl.value=n.search,t.searchInputEl.dispatchEvent(new Event("input"))}async handleWrite(n,e=!1){var i;let t;if(n.filepath?t=this.app.vault.getAbstractFileByPath(n.filepath):t=this.app.workspace.getActiveFile(),n.filepath||t){let o,a=(i=n.filepath)!=null?i:t.path;n.mode==="overwrite"?(o=await this.plugin.writeAndOpenFile(a,n.data,n),this.plugin.success(n)):n.mode==="prepend"?(t instanceof v.TFile?o=await this.plugin.prepend(t,n):o=await this.plugin.prepend(a,n),this.plugin.success(n)):n.mode==="append"?(t instanceof v.TFile?o=await this.plugin.append(t,n):o=await this.plugin.append(a,n),this.plugin.success(n)):n.mode==="new"?t instanceof v.TFile?(o=await this.plugin.writeAndOpenFile(J(this.app,t),n.data,n),this.plugin.hookSuccess(n,o)):(o=await this.plugin.writeAndOpenFile(a,n.data,n),this.plugin.hookSuccess(n,o)):!e&&t instanceof v.TFile?(new v.Notice("File already exists"),this.plugin.openExistingFileAndSetCursor(t.path,n),this.plugin.failure(n)):(o=await this.plugin.writeAndOpenFile(a,n.data,n),this.plugin.success(n)),n.uid&&this.tools.writeUIDToFile(o,n.uid)}else new v.Notice("Cannot find file"),this.plugin.failure(n)}async handleOpen(n){if(n.heading!=null){await this.plugin.open({file:n.filepath+"#"+n.heading,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);if(!e)return;let i=this.app.metadataCache.getFileCache(e.file).headings.find(o=>o.heading===n.heading);e.editor.focus(),e.editor.setCursor({line:i.position.start.line+1,ch:0})}else if(n.block!=null){await this.plugin.open({file:n.filepath+"#^"+n.block,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);if(!e)return;let i=this.app.metadataCache.getFileCache(e.file).blocks[n.block.toLowerCase()];e.editor.focus(),i&&e.editor.setCursor({line:i.position.start.line,ch:0})}else await this.plugin.open({file:n.filepath,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n}),(n.line!=null||n.column!=null||n.offset!=null)&&await this.plugin.setCursorInLine(n);if(n.mode!=null&&await this.plugin.setCursor(n),n.uid){let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);this.tools.writeUIDToFile(e.file,n.uid)}this.plugin.success(n)}async handleOpenBlock(n){let e=this.tools.getFileFromBlockID(n.block);e&&await this.plugin.chooseHandler({...n,filepath:e.path},!1)}handleCopyFileURI(n,e,t){let i=this.app.workspace.getActiveViewOfType(v.FileView);if(!(!i&&!t)){if(t=t!=null?t:i.file,i instanceof v.MarkdownView){let o=i.editor.getCursor(),a=this.app.metadataCache.getFileCache(i.file);if(a.headings){for(let l of a.headings)if(l.position.start.line<=o.line&&l.position.end.line>=o.line){this.tools.copyURI({filepath:i.file.path,heading:l.heading},e,t);return}}if(a.blocks)for(let l of Object.keys(a.blocks)){let r=a.blocks[l];if(r.position.start.line<=o.line&&r.position.end.line>=o.line){this.tools.copyURI({filepath:i.file.path,block:r.id},e,t);return}}}if(n){let o=t!=null?t:this.app.workspace.getActiveFile();if(!o){new v.Notice("No file opened");return}this.tools.copyURI({filepath:o.path},e,t)}else{let o=new R(this.plugin,"Choose a file",!1);o.open(),o.onChooseItem=(a,l)=>{new D(this.plugin,e,a.source).open()}}}}handleOpenSettings(n){if(this.app.setting.containerEl.parentElement===null&&this.app.setting.open(),n.settingid=="plugin-browser"?(this.app.setting.openTabById("community-plugins"),this.app.setting.activeTab.containerEl.find(".mod-cta").click()):n.settingid=="theme-browser"?(this.app.setting.openTabById("appearance"),this.app.setting.activeTab.containerEl.find(".mod-cta").click()):this.app.setting.openTabById(n.settingid),n.settingsection){let e=this.app.setting.tabContentContainer.querySelectorAll("*"),t=Array.prototype.find.call(e,i=>i.textContent==n.settingsection);t&&t.scrollIntoView()}this.plugin.success(n)}async handleUpdatePlugins(n){new v.Notice("Checking for updates\u2026"),await this.app.plugins.checkForUpdates(),Object.keys(this.app.plugins.updates).length>0&&(n.settingid="community-plugins",this.handleOpenSettings(n),this.app.setting.activeTab.containerEl.findAll(".mod-cta").last().click()),this.plugin.success(n)}async handleBookmarks(n){let e=this.app.internalPlugins.getEnabledPluginById("bookmarks"),i=e.getBookmarks().find(a=>a.title==n.bookmark),o;n.openmode=="true"||n.openmode=="false"?o=n.openmode=="true":o=n.openmode,e.openBookmark(i,o)}async handleCanvas(n){n.filepath&&await this.plugin.open({file:n.filepath,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});let e=this.app.workspace.activeLeaf.view;if(e.getViewType()!="canvas"){new v.Notice("Active view is not a canvas");return}let t=e;if(n.canvasnodes){let i=n.canvasnodes.split(","),o=t.canvas.nodes,a=i.map(r=>o.get(r)),l=t.canvas.selection;t.canvas.updateSelection(()=>{for(let r of a)l.add(r)}),t.canvas.zoomToSelection()}if(n.canvasviewport){let[i,o,a]=n.canvasviewport.split(",");if(i!="-")if(i.startsWith("--")||i.startsWith("++")){let l=t.canvas.tx+Number(i.substring(1));t.canvas.tx=l}else t.canvas.tx=Number(i);if(o!="-")if(o.startsWith("--")||o.startsWith("++")){let l=t.canvas.ty+Number(o.substring(1));t.canvas.ty=l}else t.canvas.ty=Number(o);if(a!="-")if(a.startsWith("--")||a.startsWith("++")){let l=t.canvas.tZoom+Number(a.substring(1));t.canvas.tZoom=l}else t.canvas.tZoom=Number(a);t.canvas.markViewportChanged()}}};var Se=require("obsidian"),Q=class extends Se.FuzzySuggestModal{constructor(e,t){super(e.app);this.plugin=e,this.file=t}getItems(){let e=this.app.commands.commands;return Object.keys(e).map(i=>({id:e[i].id,name:e[i].name}))}getItemText(e){return e.name}onChooseItem(e,t){this.plugin.tools.copyURI({filepath:this.file,commandid:e.id})}};var ke=require("obsidian"),X=class extends ke.SuggestModal{constructor(e,t,i){super(e.app);this.search=t;this.filepath=i;this.emptyText="Empty text (replace with nothing)";this.plugin=e,this.setPlaceholder("Replacement text")}getSuggestions(e){return e===""&&(e=this.emptyText),[e]}renderSuggestion(e,t){t.innerText=e}onChooseSuggestion(e,t){this.search.isRegEx?this.plugin.tools.copyURI({filepath:this.filepath,searchregex:this.search.source,replace:e==this.emptyText?"":e}):this.plugin.tools.copyURI({filepath:this.filepath,search:this.search.source,replace:e==this.emptyText?"":e})}};var Oe=require("obsidian"),q=class extends Oe.SuggestModal{constructor(e){super(e.app);this.plugin=e,this.setPlaceholder("Searched text. RegEx is supported")}getSuggestions(e){e===""&&(e="...");let t;try{t=new RegExp(e)}catch(i){}return[{source:e,isRegEx:!1,display:e},{source:e,display:t?`As RegEx: ${e}`:"Can't parse RegEx",isRegEx:!0}]}renderSuggestion(e,t){t.innerText=e.display}onChooseSuggestion(e,t){}};var A=require("obsidian"),_=class extends A.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t}display(){let{containerEl:e}=this;e.empty(),e.createEl("h2",{text:this.plugin.manifest.name}),new A.Setting(e).setName("Open file on write").addToggle(o=>o.setValue(this.plugin.settings.openFileOnWrite).onChange(a=>{this.plugin.settings.openFileOnWrite=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Open file on write in a new pane").setDisabled(this.plugin.settings.openFileOnWrite).addToggle(o=>o.setValue(this.plugin.settings.openFileOnWriteInNewPane).onChange(a=>{this.plugin.settings.openFileOnWriteInNewPane=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Open daily note in a new pane").addToggle(o=>o.setValue(this.plugin.settings.openDailyInNewPane).onChange(a=>{this.plugin.settings.openDailyInNewPane=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Open file without write in new pane").addToggle(o=>o.setValue(this.plugin.settings.openFileWithoutWriteInNewPane).onChange(a=>{this.plugin.settings.openFileWithoutWriteInNewPane=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Use UID instead of file paths").addToggle(o=>o.setValue(this.plugin.settings.useUID).onChange(a=>{this.plugin.settings.useUID=a,this.plugin.saveSettings(),this.display()})),new A.Setting(e).setName("Include vault name/ID parameter").addToggle(o=>o.setValue(this.plugin.settings.includeVaultName).onChange(a=>{this.plugin.settings.includeVaultName=a,this.plugin.saveSettings(),this.display()})),this.plugin.settings.includeVaultName&&new A.Setting(e).setName("Vault identifying parameter").setDesc("Choose whether to use the vault Name or its internal ID as the identifying parameter.").addDropdown(o=>o.addOption("name","Name").addOption("id","ID").setValue(this.plugin.settings.vaultParam).onChange(a=>{this.plugin.settings.vaultParam=a,this.plugin.saveSettings()})),this.plugin.settings.useUID&&new A.Setting(e).setName("Add filepath parameter").setDesc("When using UID instead of file paths, you can still add the filepath parameter to know what this URI is about. It's NOT actually used.").addToggle(o=>o.setValue(this.plugin.settings.addFilepathWhenUsingUID).onChange(a=>{this.plugin.settings.addFilepathWhenUsingUID=a,this.plugin.saveSettings()})),new A.Setting(e).setName("UID field in frontmatter").addText(o=>o.setValue(this.plugin.settings.idField).onChange(a=>{this.plugin.settings.idField=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Allow executing arbitrary code via eval").setDesc("\u26A0\uFE0F This can be dangerous as it allows executing arbitrary code. Only enable this if you trust the source of the URIs you are using and know what you are doing. \u26A0\uFE0F").addToggle(o=>o.setValue(this.plugin.settings.allowEval).onChange(a=>{this.plugin.settings.allowEval=a,this.plugin.saveSettings()}));let t=new A.Setting(e).setName("Link formats").setDesc("Define custom link formats to use when using 'Copy formatted URI for ...' commands. Specify a name to identify and the format template. Available variables:").setHeading();t.descEl.createEl("p").setText("{{uri}} - The Advanced URI"),t.descEl.createEl("p").setText("{{path}} - The file path"),t.descEl.createEl("p").setText("{{name}} - The file name"),t.descEl.createEl("p").setText("{{folder}} - The path of the file folder"),t.descEl.createEl("p").setText("{{vaultName}} - The vault name"),t.descEl.createEl("p").setText("{{vaultId}} - The vault id"),t.descEl.createEl("p").setText("{{uid}} - The file's UID, defaults to file name if not available"),t.descEl.createEl("p").setText("{{alias}} - The file's first alias, defaults to file name if not available"),new A.Setting(e).setName("Add link format").addButton(o=>o.setButtonText("Add format").onClick(()=>{this.plugin.settings.linkFormats.push({name:"",format:""}),this.plugin.saveSettings(),this.display()}));let i=this.plugin.settings.linkFormats;for(let o=0;ol.setPlaceholder("Name").setValue(i[o].name).onChange(r=>{i[o].name=r,this.plugin.saveSettings()})),a.addText(l=>l.setPlaceholder("[{{path}}]({{uri}})").setValue(i[o].format).onChange(r=>{i[o].format=r,this.plugin.saveSettings()})),a.addExtraButton(l=>l.setIcon("trash").onClick(()=>{i.splice(o,1),this.plugin.saveSettings(),this.display()}))}new A.Setting(e).setName("Support").setHeading(),new A.Setting(e).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development.").addButton(o=>{o.buttonEl.outerHTML="Buy Me a Coffee at ko-fi.com"})}};var C=require("obsidian");var ee,Je=new Uint8Array(16);function de(){if(!ee&&(ee=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!ee))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ee(Je)}var Te=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Qe(s){return typeof s=="string"&&Te.test(s)}var Ee=Qe;var F=[];for(te=0;te<256;++te)F.push((te+256).toString(16).substr(1));var te;function Xe(s){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(F[s[n+0]]+F[s[n+1]]+F[s[n+2]]+F[s[n+3]]+"-"+F[s[n+4]]+F[s[n+5]]+"-"+F[s[n+6]]+F[s[n+7]]+"-"+F[s[n+8]]+F[s[n+9]]+"-"+F[s[n+10]]+F[s[n+11]]+F[s[n+12]]+F[s[n+13]]+F[s[n+14]]+F[s[n+15]]).toLowerCase();if(!Ee(e))throw TypeError("Stringified UUID is invalid");return e}var Re=Xe;function qe(s,n,e){s=s||{};var t=s.random||(s.rng||de)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,n){e=e||0;for(var i=0;i<16;++i)n[e+i]=t[i];return n}return Re(t)}var pe=qe;var Ve=require("obsidian"),_e={options:[],placeholder:"",allowEmpty:!1,onlySelection:!1,initialValue:void 0},ne=class extends Ve.SuggestModal{constructor(e,t){super(e.app);this.config={..._e,...t},this.setPlaceholder(this.config.placeholder)}openAndGetResult(){return new Promise(e=>{this.resolve=e,this.open(),this.config.initialValue!=null&&(this.inputEl.value=this.config.initialValue,this.inputEl.dispatchEvent(new Event("input")))})}onClose(){new Promise(e=>setTimeout(e,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(e){return this.config.onlySelection?this.config.options:this.config.allowEmpty?[e.length>0?e:" ",...this.config.options]:[e.length>0?e:"...",...this.config.options]}renderSuggestion(e,t){t.setText(e)}onChooseSuggestion(e,t){if(this.resolve){let i;this.config.allowEmpty&&e===" "?i="":e==="..."?i=void 0:i=e,this.resolve(i)}}};var K=class{constructor(n){this.plugin=n;this.app=this.plugin.app}get settings(){return this.plugin.settings}async writeUIDToFile(n,e){var c;let t=(c=this.app.metadataCache.getFileCache(n))==null?void 0:c.frontmatter,i=await this.app.vault.read(n),o=(!t||t.length===0)&&!i.match(/^-{3}\s*\n*\r*-{3}/),a=i.split(` +`+i),t.setCursor({ch:0,line:0})):n.mode==="overwrite"&&t.setValue("")}}else n.line!=null||n.column!=null||n.offset!=null?(await this.plugin.open({file:n.filepath,mode:"source",parameters:n}),await this.plugin.setCursorInLine(n)):await this.plugin.open({file:n.filepath,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});this.plugin.settings.allowEval?((0,eval)(n.eval),this.plugin.success(n)):(new v.Notice("Eval is not allowed. Please enable it in the settings."),this.plugin.failure(n))}async handleDoesFileExist(n){let e=await this.app.vault.adapter.exists(n.filepath);D((e?1:0).toString()),this.plugin.success(n)}async handleSearchAndReplace(n){let e;if(n.filepath){let t=this.app.vault.getAbstractFileByPath(n.filepath);t instanceof v.TFile&&(e=t)}else e=this.app.workspace.getActiveFile();if(e){let t=await this.app.vault.read(e);if(n.searchregex)try{let[,,i,o]=n.searchregex.match(/(\/?)(.+)\1([a-z]*)/i),a=new RegExp(i,o);t=t.replace(a,n.replace),this.plugin.success(n)}catch(i){new v.Notice(`Can't parse ${n.searchregex} as RegEx`),this.plugin.failure(n)}else t=t.replaceAll(n.search,n.replace),this.plugin.success(n);await this.plugin.writeAndOpenFile(e.path,t,n)}else new v.Notice("Cannot find file"),this.plugin.failure(n)}async handleSearch(n){n.filepath&&await this.plugin.open({file:n.filepath,parameters:n});let e=this.app.workspace.getActiveViewOfType(v.FileView);e.currentMode.showSearch();let t=e.currentMode.search;t.searchInputEl.value=n.search,t.searchInputEl.dispatchEvent(new Event("input"))}async handleWrite(n,e=!1){var i;let t;if(n.filepath?t=this.app.vault.getAbstractFileByPath(n.filepath):t=this.app.workspace.getActiveFile(),n.filepath||t){let o,a=(i=n.filepath)!=null?i:t.path;n.mode==="overwrite"?(o=await this.plugin.writeAndOpenFile(a,n.data,n),this.plugin.success(n)):n.mode==="prepend"?(t instanceof v.TFile?o=await this.plugin.prepend(t,n):o=await this.plugin.prepend(a,n),this.plugin.success(n)):n.mode==="append"?(t instanceof v.TFile?o=await this.plugin.append(t,n):o=await this.plugin.append(a,n),this.plugin.success(n)):n.mode==="new"?t instanceof v.TFile?(o=await this.plugin.writeAndOpenFile(J(this.app,t),n.data,n),this.plugin.hookSuccess(n,o)):(o=await this.plugin.writeAndOpenFile(a,n.data,n),this.plugin.hookSuccess(n,o)):!e&&t instanceof v.TFile?(new v.Notice("File already exists"),this.plugin.openExistingFileAndSetCursor(t.path,n),this.plugin.failure(n)):(o=await this.plugin.writeAndOpenFile(a,n.data,n),this.plugin.success(n)),n.uid&&this.tools.writeUIDToFile(o,n.uid)}else new v.Notice("Cannot find file"),this.plugin.failure(n)}async handleOpen(n){if(n.heading!=null){await this.plugin.open({file:n.filepath+"#"+n.heading,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);if(!e)return;let i=this.app.metadataCache.getFileCache(e.file).headings.find(o=>o.heading===n.heading);e.editor.focus(),e.editor.setCursor({line:i.position.start.line+1,ch:0})}else if(n.block!=null){await this.plugin.open({file:n.filepath+"#^"+n.block,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);if(!e)return;let i=this.app.metadataCache.getFileCache(e.file).blocks[n.block.toLowerCase()];e.editor.focus(),i&&e.editor.setCursor({line:i.position.start.line,ch:0})}else await this.plugin.open({file:n.filepath,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n}),(n.line!=null||n.column!=null||n.offset!=null)&&await this.plugin.setCursorInLine(n);if(n.mode!=null&&await this.plugin.setCursor(n),n.uid){let e=this.app.workspace.getActiveViewOfType(v.MarkdownView);this.tools.writeUIDToFile(e.file,n.uid)}this.plugin.success(n)}async handleOpenBlock(n){let e=this.tools.getFileFromBlockID(n.block);e&&await this.plugin.chooseHandler({...n,filepath:e.path},!1)}handleCopyFileURI(n,e,t){let i=this.app.workspace.getActiveViewOfType(v.FileView);if(!(!i&&!t)){if(t=t!=null?t:i.file,i instanceof v.MarkdownView){let o=i.editor.getCursor(),a=this.app.metadataCache.getFileCache(i.file);if(a.headings){for(let l of a.headings)if(l.position.start.line<=o.line&&l.position.end.line>=o.line){this.tools.copyURI({filepath:i.file.path,heading:l.heading},e,t);return}}if(a.blocks)for(let l of Object.keys(a.blocks)){let r=a.blocks[l];if(r.position.start.line<=o.line&&r.position.end.line>=o.line){this.tools.copyURI({filepath:i.file.path,block:r.id},e,t);return}}}if(n){let o=t!=null?t:this.app.workspace.getActiveFile();if(!o){new v.Notice("No file opened");return}this.tools.copyURI({filepath:o.path},e,t)}else{let o=new R(this.plugin,"Choose a file",!1);o.open(),o.onChooseItem=(a,l)=>{new U(this.plugin,e,a.source).open()}}}}handleOpenSettings(n){if(this.app.setting.containerEl.parentElement===null&&this.app.setting.open(),n.settingid=="plugin-browser"?(this.app.setting.openTabById("community-plugins"),this.app.setting.activeTab.containerEl.find(".mod-cta").click()):n.settingid=="theme-browser"?(this.app.setting.openTabById("appearance"),this.app.setting.activeTab.containerEl.find(".mod-cta").click()):this.app.setting.openTabById(n.settingid),n.settingsection){let e=this.app.setting.tabContentContainer.querySelectorAll("*"),t=Array.prototype.find.call(e,i=>i.textContent==n.settingsection);t&&t.scrollIntoView()}this.plugin.success(n)}async handleUpdatePlugins(n){new v.Notice("Checking for updates\u2026"),await this.app.plugins.checkForUpdates(),Object.keys(this.app.plugins.updates).length>0&&(n.settingid="community-plugins",this.handleOpenSettings(n),this.app.setting.activeTab.containerEl.findAll(".mod-cta").last().click()),this.plugin.success(n)}async handleBookmarks(n){let e=this.app.internalPlugins.getEnabledPluginById("bookmarks"),i=e.getBookmarks().find(a=>a.title==n.bookmark),o;n.openmode=="true"||n.openmode=="false"?o=n.openmode=="true":o=n.openmode,e.openBookmark(i,o)}async handleCanvas(n){n.filepath&&await this.plugin.open({file:n.filepath,setting:this.plugin.settings.openFileWithoutWriteInNewPane,parameters:n});let e=this.app.workspace.activeLeaf.view;if(e.getViewType()!="canvas"){new v.Notice("Active view is not a canvas");return}let t=e;if(n.canvasnodes){let i=n.canvasnodes.split(","),o=t.canvas.nodes,a=i.map(r=>o.get(r)),l=t.canvas.selection;t.canvas.updateSelection(()=>{for(let r of a)l.add(r)}),t.canvas.zoomToSelection()}if(n.canvasviewport){let[i,o,a]=n.canvasviewport.split(",");if(i!="-")if(i.startsWith("--")||i.startsWith("++")){let l=t.canvas.tx+Number(i.substring(1));t.canvas.tx=l}else t.canvas.tx=Number(i);if(o!="-")if(o.startsWith("--")||o.startsWith("++")){let l=t.canvas.ty+Number(o.substring(1));t.canvas.ty=l}else t.canvas.ty=Number(o);if(a!="-")if(a.startsWith("--")||a.startsWith("++")){let l=t.canvas.tZoom+Number(a.substring(1));t.canvas.tZoom=l}else t.canvas.tZoom=Number(a);t.canvas.markViewportChanged()}}};var Se=require("obsidian"),Q=class extends Se.FuzzySuggestModal{constructor(e,t){super(e.app);this.plugin=e,this.file=t}getItems(){let e=this.app.commands.commands;return Object.keys(e).map(i=>({id:e[i].id,name:e[i].name}))}getItemText(e){return e.name}onChooseItem(e,t){this.plugin.tools.copyURI({filepath:this.file,commandid:e.id})}};var ke=require("obsidian"),X=class extends ke.SuggestModal{constructor(e,t,i){super(e.app);this.search=t;this.filepath=i;this.emptyText="Empty text (replace with nothing)";this.plugin=e,this.setPlaceholder("Replacement text")}getSuggestions(e){return e===""&&(e=this.emptyText),[e]}renderSuggestion(e,t){t.innerText=e}onChooseSuggestion(e,t){this.search.isRegEx?this.plugin.tools.copyURI({filepath:this.filepath,searchregex:this.search.source,replace:e==this.emptyText?"":e}):this.plugin.tools.copyURI({filepath:this.filepath,search:this.search.source,replace:e==this.emptyText?"":e})}};var Oe=require("obsidian"),q=class extends Oe.SuggestModal{constructor(e){super(e.app);this.plugin=e,this.setPlaceholder("Searched text. RegEx is supported")}getSuggestions(e){e===""&&(e="...");let t;try{t=new RegExp(e)}catch(i){}return[{source:e,isRegEx:!1,display:e},{source:e,display:t?`As RegEx: ${e}`:"Can't parse RegEx",isRegEx:!0}]}renderSuggestion(e,t){t.innerText=e.display}onChooseSuggestion(e,t){}};var A=require("obsidian"),_=class extends A.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t}display(){let{containerEl:e}=this;e.empty(),e.createEl("h2",{text:this.plugin.manifest.name}),new A.Setting(e).setName("Open file on write").addToggle(o=>o.setValue(this.plugin.settings.openFileOnWrite).onChange(a=>{this.plugin.settings.openFileOnWrite=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Open file on write in a new pane").setDisabled(this.plugin.settings.openFileOnWrite).addToggle(o=>o.setValue(this.plugin.settings.openFileOnWriteInNewPane).onChange(a=>{this.plugin.settings.openFileOnWriteInNewPane=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Open daily note in a new pane").addToggle(o=>o.setValue(this.plugin.settings.openDailyInNewPane).onChange(a=>{this.plugin.settings.openDailyInNewPane=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Open file without write in new pane").addToggle(o=>o.setValue(this.plugin.settings.openFileWithoutWriteInNewPane).onChange(a=>{this.plugin.settings.openFileWithoutWriteInNewPane=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Use UID instead of file paths").addToggle(o=>o.setValue(this.plugin.settings.useUID).onChange(a=>{this.plugin.settings.useUID=a,this.plugin.saveSettings(),this.display()})),new A.Setting(e).setName("Include vault name/ID parameter").addToggle(o=>o.setValue(this.plugin.settings.includeVaultName).onChange(a=>{this.plugin.settings.includeVaultName=a,this.plugin.saveSettings(),this.display()})),this.plugin.settings.includeVaultName&&new A.Setting(e).setName("Vault identifying parameter").setDesc("Choose whether to use the vault Name or its internal ID as the identifying parameter.").addDropdown(o=>o.addOption("name","Name").addOption("id","ID").setValue(this.plugin.settings.vaultParam).onChange(a=>{this.plugin.settings.vaultParam=a,this.plugin.saveSettings()})),this.plugin.settings.useUID&&new A.Setting(e).setName("Add filepath parameter").setDesc("When using UID instead of file paths, you can still add the filepath parameter to know what this URI is about. It's NOT actually used.").addToggle(o=>o.setValue(this.plugin.settings.addFilepathWhenUsingUID).onChange(a=>{this.plugin.settings.addFilepathWhenUsingUID=a,this.plugin.saveSettings()})),new A.Setting(e).setName("UID field in frontmatter").addText(o=>o.setValue(this.plugin.settings.idField).onChange(a=>{this.plugin.settings.idField=a,this.plugin.saveSettings()})),new A.Setting(e).setName("Allow executing arbitrary code via eval").setDesc("\u26A0\uFE0F This can be dangerous as it allows executing arbitrary code. Only enable this if you trust the source of the URIs you are using and know what you are doing. \u26A0\uFE0F").addToggle(o=>o.setValue(this.plugin.settings.allowEval).onChange(a=>{this.plugin.settings.allowEval=a,this.plugin.saveSettings()}));let t=new A.Setting(e).setName("Link formats").setDesc("Define custom link formats to use when using 'Copy formatted URI for ...' commands. Specify a name to identify and the format template. Available variables:").setHeading();t.descEl.createEl("p").setText("{{uri}} - The Advanced URI"),t.descEl.createEl("p").setText("{{path}} - The file path"),t.descEl.createEl("p").setText("{{name}} - The file name"),t.descEl.createEl("p").setText("{{folder}} - The path of the file folder"),t.descEl.createEl("p").setText("{{vaultName}} - The vault name"),t.descEl.createEl("p").setText("{{vaultId}} - The vault id"),t.descEl.createEl("p").setText("{{uid}} - The file's UID, defaults to file name if not available"),t.descEl.createEl("p").setText("{{alias}} - The file's first alias, defaults to file name if not available"),new A.Setting(e).setName("Add link format").addButton(o=>o.setButtonText("Add format").onClick(()=>{this.plugin.settings.linkFormats.push({name:"",format:""}),this.plugin.saveSettings(),this.display()}));let i=this.plugin.settings.linkFormats;for(let o=0;ol.setPlaceholder("Name").setValue(i[o].name).onChange(r=>{i[o].name=r,this.plugin.saveSettings()})),a.addText(l=>l.setPlaceholder("[{{path}}]({{uri}})").setValue(i[o].format).onChange(r=>{i[o].format=r,this.plugin.saveSettings()})),a.addExtraButton(l=>l.setIcon("trash").onClick(()=>{i.splice(o,1),this.plugin.saveSettings(),this.display()}))}new A.Setting(e).setName("Support").setHeading(),new A.Setting(e).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development.").addButton(o=>{o.buttonEl.outerHTML="Buy Me a Coffee at ko-fi.com"})}};var P=require("obsidian");var ee,Je=new Uint8Array(16);function de(){if(!ee&&(ee=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!ee))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ee(Je)}var Te=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Qe(s){return typeof s=="string"&&Te.test(s)}var Ee=Qe;var F=[];for(te=0;te<256;++te)F.push((te+256).toString(16).substr(1));var te;function Xe(s){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(F[s[n+0]]+F[s[n+1]]+F[s[n+2]]+F[s[n+3]]+"-"+F[s[n+4]]+F[s[n+5]]+"-"+F[s[n+6]]+F[s[n+7]]+"-"+F[s[n+8]]+F[s[n+9]]+"-"+F[s[n+10]]+F[s[n+11]]+F[s[n+12]]+F[s[n+13]]+F[s[n+14]]+F[s[n+15]]).toLowerCase();if(!Ee(e))throw TypeError("Stringified UUID is invalid");return e}var Re=Xe;function qe(s,n,e){s=s||{};var t=s.random||(s.rng||de)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,n){e=e||0;for(var i=0;i<16;++i)n[e+i]=t[i];return n}return Re(t)}var pe=qe;var Ve=require("obsidian"),_e={options:[],placeholder:"",allowEmpty:!1,onlySelection:!1,initialValue:void 0},ne=class extends Ve.SuggestModal{constructor(e,t){super(e.app);this.config={..._e,...t},this.setPlaceholder(this.config.placeholder)}openAndGetResult(){return new Promise(e=>{this.resolve=e,this.open(),this.config.initialValue!=null&&(this.inputEl.value=this.config.initialValue,this.inputEl.dispatchEvent(new Event("input")))})}onClose(){new Promise(e=>setTimeout(e,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(e){return this.config.onlySelection?this.config.options:this.config.allowEmpty?[e.length>0?e:" ",...this.config.options]:[e.length>0?e:"...",...this.config.options]}renderSuggestion(e,t){t.setText(e)}onChooseSuggestion(e,t){if(this.resolve){let i;this.config.allowEmpty&&e===" "?i="":e==="..."?i=void 0:i=e,this.resolve(i)}}};var K=class{constructor(n){this.plugin=n;this.app=this.plugin.app}get settings(){return this.plugin.settings}async writeUIDToFile(n,e){var c;let t=(c=this.app.metadataCache.getFileCache(n))==null?void 0:c.frontmatter,i=await this.app.vault.read(n),o=(!t||t.length===0)&&!i.match(/^-{3}\s*\n*\r*-{3}/),a=i.split(` `),l=`${this.plugin.settings.idField}:`;if(o)a.unshift("---"),a.unshift(`${l} ${e}`),a.unshift("---");else{let d=a.findIndex(p=>p.startsWith(l));d!=-1?a[d]=`${l} ${e}`:a.splice(1,0,`${l} ${e}`)}let r=a.join(` -`);return await this.app.vault.modify(n,r),e}async getUIDFromFile(n){var i;let e=(i=this.app.metadataCache.getFileCache(n))!=null?i:await new Promise(o=>{let a=this.app.metadataCache.on("changed",l=>{if(l.path==n.path){let r=this.app.metadataCache.getFileCache(n);this.app.metadataCache.offref(a),o(r)}})}),t=(0,C.parseFrontMatterEntry)(e.frontmatter,this.plugin.settings.idField);if(t!=null)return t instanceof Array?t[0]:t}async generateURI(n){var a;let e="obsidian://adv-uri",t="",i=this.app.vault.getAbstractFileByPath(n.filepath);this.settings.includeVaultName&&(t+="?vault=",this.settings.vaultParam=="id"&&this.app.appId?t+=encodeURIComponent(this.app.appId):t+=encodeURIComponent(this.app.vault.getName())),this.settings.useUID&&i instanceof C.TFile&&i.extension=="md"&&(this.settings.addFilepathWhenUsingUID||(n.filepath=void 0),n.uid=(a=await this.getUIDFromFile(i))!=null?a:await this.writeUIDToFile(i,pe()));let o=Object.keys(n).filter(l=>n[l]).sort((l,r)=>{let c=["filepath","filename","uid","daily"],d=["data","eval"];return c.includes(l)?-1:c.includes(r)||d.includes(l)?1:d.includes(r)?-1:0});for(let l of o)n[l]!=null&&(t+=t?"&":"?",t+=`${l}=${encodeURIComponent(n[l])}`);return t.endsWith("%20")&&(t+="&"),e+t}async copyURI(n,e=!1,t=void 0){var o,a;let i=await this.generateURI(n);if(e){let l=this.settings.linkFormats;if(l.length==0){new C.Notice("No link formats defined in the settings");return}let r;if(l.length==1)r=l[0];else{let d=l.map(h=>h.name),p=await new ne(this.plugin,{options:d,onlySelection:!0,placeholder:"Select link format"}).openAndGetResult();if(!p){new C.Notice("No link format selected");return}r=l.find(h=>h.name==p)}let c=r.format.replace(/\{\{uri\}\}/g,i).replace(/\{\{path\}\}/g,t==null?void 0:t.path).replace(/\{\{folder\}\}/g,(o=t==null?void 0:t.parent)==null?void 0:o.path).replace(/\{\{name\}\}/g,t==null?void 0:t.basename).replace(/\{\{vaultName\}\}/g,this.app.vault.getName()).replace(/\{\{vaultId\}\}/g,this.app.appId);if(t&&c.match(/\{\{uid\}\}/g)){let d=(a=await this.getUIDFromFile(t))!=null?a:t.basename;c=c.replace(/\{\{uid\}\}/g,d)}if(t&&c.match(/\{\{alias\}\}/g)){let d=(0,C.parseFrontMatterAliases)(this.app.metadataCache.getFileCache(t).frontmatter),p=d?d[0]:t==null?void 0:t.basename;c=c.replace(/\{\{alias\}\}/g,p)}await z(c),new C.Notice(`Advanced URI in format "${r.name}" copied to your clipboard`);return}await z(i),new C.Notice("Advanced URI copied to your clipboard")}getFileFromUID(n){var i;let e=this.app.vault.getMarkdownFiles(),t=this.settings.idField;for(let o of e){let a=(0,C.parseFrontMatterEntry)((i=this.app.metadataCache.getFileCache(o))==null?void 0:i.frontmatter,t);if(a instanceof Array){if(a.contains(n))return o}else if(a==n)return o}}getFileFromBlockID(n){var t,i;let e=this.app.vault.getMarkdownFiles();n=n.toLowerCase();for(let o of e)if(((i=(t=this.app.metadataCache.getFileCache(o))==null?void 0:t.blocks)==null?void 0:i[n])!=null)return o}};var oe=require("obsidian"),ie=class extends oe.FuzzySuggestModal{constructor(e){super(e.app);this.plugin=e,this.setPlaceholder("Choose a workspace")}getItems(){let e=this.app.internalPlugins.getEnabledPluginById("workspaces");if(!e)new oe.Notice("Workspaces plugin is not enabled");else return Object.keys(e.workspaces)}getItemText(e){return e}onChooseItem(e,t){this.plugin.tools.copyURI({workspace:e})}};var ae=class extends w.Plugin{constructor(){super(...arguments);this.handlers=new $(this);this.tools=new K(this)}async onload(){await this.loadSettings(),this.addSettingTab(new _(this.app,this)),this.addCommand({id:"copy-uri-current-file",name:"Copy URI for file with options",callback:()=>this.handlers.handleCopyFileURI(!1,!1)}),this.addCommand({id:"copy-uri-current-file-simple",name:"Copy URI for current file",callback:()=>this.handlers.handleCopyFileURI(!0,!1)}),this.addCommand({id:"copy-uri-current-file-with-format",name:"Copy formatted URI for file with options ",callback:()=>this.handlers.handleCopyFileURI(!1,!0)}),this.addCommand({id:"copy-uri-current-file-simple-with-format",name:"Copy formatted URI for current file",callback:()=>this.handlers.handleCopyFileURI(!0,!0)}),this.addCommand({id:"copy-uri-daily",name:"Copy URI for daily note",callback:()=>new D(this,!1).open()}),this.addCommand({id:"copy-uri-search-and-replace",name:"Copy URI for search and replace",callback:()=>{let e=new R(this,"Used file for search and replace");e.open(),e.onChooseItem=t=>{let i=new q(this);i.open(),i.onChooseSuggestion=o=>{new X(this,o,t==null?void 0:t.source).open()}}}}),this.addCommand({id:"copy-uri-command",name:"Copy URI for command",callback:()=>{let e=new R(this,"Select a file to be opened before executing the command");e.open(),e.onChooseItem=t=>{new Q(this,t==null?void 0:t.source).open()}}}),this.addCommand({id:"copy-uri-block",name:"Copy URI for current block",checkCallback:e=>{let t=this.app.workspace.getActiveViewOfType(w.MarkdownView);if(e)return t!=null;let i=B.getBlockId(this.app);i&&this.tools.copyURI({filepath:t.file.path,block:i},!1,t.file)}}),this.addCommand({id:"copy-uri-block-with-format",name:"Copy formatted URI for current block",checkCallback:e=>{let t=this.app.workspace.getActiveViewOfType(w.MarkdownView);if(e)return t!=null;let i=B.getBlockId(this.app);i&&this.tools.copyURI({filepath:t.file.path,block:i},!0,t.file)}}),this.addCommand({id:"copy-uri-workspace",name:"Copy URI for workspace",callback:()=>{new ie(this).open()}}),this.addCommand({id:"copy-uri-canvas-node",name:"Copy URI for selected canvas nodes",checkCallback:e=>{let t=this.app.workspace.activeLeaf.view;if(e)return t.getViewType()==="canvas"&&t.canvas.selection.size>0;if(t.getViewType()!=="canvas")return!1;let i=t,o=[];i.canvas.selection.forEach(a=>{o.push(a.id)}),this.tools.copyURI({canvasnodes:o.join(","),filepath:t.file.path},!1,t.file)}}),this.addCommand({id:"copy-uri-canvas-viewport",name:"Copy URI for current canvas viewport",checkCallback:e=>{let t=this.app.workspace.activeLeaf.view;if(e)return t.getViewType()==="canvas";if(t.getViewType()!=="canvas")return!1;let o=t.canvas,a=o.tx.toFixed(0),l=o.ty.toFixed(0),r=o.tZoom.toFixed(3);this.tools.copyURI({filepath:t.file.path,canvasviewport:`${a},${l},${r}`},!1,t.file)}}),this.registerObsidianProtocolHandler("advanced-uri",async e=>{let t=e;for(let i in t)t[i]=decodeURIComponent(t[i]);this.onUriCall(t)}),this.registerObsidianProtocolHandler("adv-uri",async e=>{let t=e;this.onUriCall(t)}),this.registerObsidianProtocolHandler("hook-get-advanced-uri",async e=>{let t=e;for(let o in t)t[o]=decodeURIComponent(t[o]);let i=this.app.workspace.getActiveFile();i?this.hookSuccess(t,i):this.failure(t,{errorMessage:"No file opened"})}),this.registerEvent(this.app.workspace.on("file-menu",(e,t,i)=>{(i==="more-options"||i==="tab-header"||i=="file-explorer-context-menu")&&t instanceof w.TFile&&(e.addItem(o=>{o.setTitle("Copy Advanced URI").setIcon("link").setSection("info").onClick(a=>this.handlers.handleCopyFileURI(!0,!1,t))}),e.addItem(o=>{o.setTitle("Copy formatted Advanced URI").setIcon("link").setSection("info").onClick(a=>this.handlers.handleCopyFileURI(!0,!0,t))}))}))}async onUriCall(e){var i,o,a;let t=!1;if(this.lastParameters={...e},e.uid){let l=(i=this.tools.getFileFromUID(e.uid))==null?void 0:i.path;l!=null&&(e.filepath=l,e.uid=void 0)}else if(e.filename){let l=this.app.metadataCache.getFirstLinkpathDest(e.filename,"");l||(l=this.app.vault.getMarkdownFiles().find(d=>{var p;return(p=(0,w.parseFrontMatterAliases)(this.app.metadataCache.getFileCache(d).frontmatter))==null?void 0:p.includes(e.filename)}));let r=this.app.fileManager.getNewFileParent((o=this.app.workspace.getActiveFile())==null?void 0:o.path),c=r.isRoot()?"":r.path+"/";e.filepath=(a=l==null?void 0:l.path)!=null?a:c+(0,w.normalizePath)(e.filename)}if(e.filepath){e.filepath=(0,w.normalizePath)(e.filepath);let l=e.filepath.lastIndexOf(".");e.filepath.substring(l<0?e.filepath.length:l)===""&&(e.filepath=e.filepath+".md")}else if(e.daily==="true"){if(!je(this.app)){new w.Notice("Daily notes plugin is not loaded");return}let l=window.moment(Date.now()),r=await be(l,this.app),c=this.app.vault.getAbstractFileByPath(r);c||(e.exists==="true"?e.filepath=r:(c=await this.app.internalPlugins.getEnabledPluginById("daily-notes").getDailyNote(),t=!0)),c&&(e.filepath=c.path)}e.clipboard==="true"&&(e.data=await navigator.clipboard.readText()),this.chooseHandler(e,t)}async chooseHandler(e,t){e["enable-plugin"]||e["disable-plugin"]?this.handlers.handlePluginManagement(e):e.frontmatterkey?this.handlers.handleFrontmatterKey(e):e.workspace||e.saveworkspace=="true"?this.handlers.handleWorkspace(e):e.commandname||e.commandid?this.handlers.handleCommand(e):e.bookmark?this.handlers.handleBookmarks(e):e.eval?this.handlers.handleEval(e):e.filepath&&e.exists==="true"?this.handlers.handleDoesFileExist(e):e.canvasnodes||e.canvasviewport?this.handlers.handleCanvas(e):e.data?this.handlers.handleWrite(e,t):e.filepath&&e.heading?(await this.handlers.handleOpen(e),e.filepath=void 0,e.heading=void 0,this.chooseHandler(e,t)):e.filepath&&e.block?(await this.handlers.handleOpen(e),e.filepath=void 0,e.block=void 0,this.chooseHandler(e,t)):(e.search||e.searchregex)&&e.replace!=null?this.handlers.handleSearchAndReplace(e):e.search?this.handlers.handleSearch(e):e.filepath?this.handlers.handleOpen(e):e.block?this.handlers.handleOpenBlock(e):e.settingid?this.handlers.handleOpenSettings(e):e.updateplugins&&this.handlers.handleUpdatePlugins(e)}async hookSuccess(e,t){if(!e["x-success"])return;let i={title:W(t.name),advanceduri:await this.tools.generateURI({filepath:t.path}),urlkey:"advanceduri",fileuri:Fe(this.app,t)};this.success(e,i)}success(e,t){if(e["x-success"]){let i=new URL(e["x-success"]);for(let o in t)i.searchParams.set(o,t[o]);window.open(i.toString())}}failure(e,t){if(e["x-error"]){let i=new URL(e["x-error"]);for(let o in t)i.searchParams.set(o,t[o]);window.open(i.toString())}}async append(e,t){var a,l;let i,o;if(e instanceof w.TFile){i=e.path;let c=(await this.app.vault.read(e)).split(` +`);return await this.app.vault.modify(n,r),e}async getUIDFromFile(n){var i;let e=(i=this.app.metadataCache.getFileCache(n))!=null?i:await new Promise(o=>{let a=this.app.metadataCache.on("changed",l=>{if(l.path==n.path){let r=this.app.metadataCache.getFileCache(n);this.app.metadataCache.offref(a),o(r)}})}),t=(0,P.parseFrontMatterEntry)(e.frontmatter,this.plugin.settings.idField);if(t!=null)return t instanceof Array?t[0]:t}async generateURI(n){var a;let e="obsidian://adv-uri",t="",i=this.app.vault.getAbstractFileByPath(n.filepath);this.settings.includeVaultName&&(t+="?vault=",this.settings.vaultParam=="id"&&this.app.appId?t+=encodeURIComponent(this.app.appId):t+=encodeURIComponent(this.app.vault.getName())),this.settings.useUID&&i instanceof P.TFile&&i.extension=="md"&&(this.settings.addFilepathWhenUsingUID||(n.filepath=void 0),n.uid=(a=await this.getUIDFromFile(i))!=null?a:await this.writeUIDToFile(i,pe()));let o=Object.keys(n).filter(l=>n[l]).sort((l,r)=>{let c=["filepath","filename","uid","daily"],d=["data","eval"];return c.includes(l)?-1:c.includes(r)||d.includes(l)?1:d.includes(r)?-1:0});for(let l of o)n[l]!=null&&(t+=t?"&":"?",t+=`${l}=${encodeURIComponent(n[l])}`);return t.endsWith("%20")&&(t+="&"),e+t}async copyURI(n,e=!1,t=void 0){var o,a;let i=await this.generateURI(n);if(e){let l=this.settings.linkFormats;if(l.length==0){new P.Notice("No link formats defined in the settings");return}let r;if(l.length==1)r=l[0];else{let d=l.map(h=>h.name),p=await new ne(this.plugin,{options:d,onlySelection:!0,placeholder:"Select link format"}).openAndGetResult();if(!p){new P.Notice("No link format selected");return}r=l.find(h=>h.name==p)}let c=r.format.replace(/\{\{uri\}\}/g,i).replace(/\{\{path\}\}/g,t==null?void 0:t.path).replace(/\{\{folder\}\}/g,(o=t==null?void 0:t.parent)==null?void 0:o.path).replace(/\{\{name\}\}/g,t==null?void 0:t.basename).replace(/\{\{vaultName\}\}/g,this.app.vault.getName()).replace(/\{\{vaultId\}\}/g,this.app.appId);if(t&&c.match(/\{\{uid\}\}/g)){let d=(a=await this.getUIDFromFile(t))!=null?a:t.basename;c=c.replace(/\{\{uid\}\}/g,d)}if(t&&c.match(/\{\{alias\}\}/g)){let d=(0,P.parseFrontMatterAliases)(this.app.metadataCache.getFileCache(t).frontmatter),p=d?d[0]:t==null?void 0:t.basename;c=c.replace(/\{\{alias\}\}/g,p)}await D(c),new P.Notice(`Advanced URI in format "${r.name}" copied to your clipboard`);return}await D(i),new P.Notice("Advanced URI copied to your clipboard")}getFileFromUID(n){var i;let e=this.app.vault.getMarkdownFiles(),t=this.settings.idField;for(let o of e){let a=(0,P.parseFrontMatterEntry)((i=this.app.metadataCache.getFileCache(o))==null?void 0:i.frontmatter,t);if(a instanceof Array){if(a.contains(n))return o}else if(a==n)return o}}getFileFromBlockID(n){var t,i;let e=this.app.vault.getMarkdownFiles();n=n.toLowerCase();for(let o of e)if(((i=(t=this.app.metadataCache.getFileCache(o))==null?void 0:t.blocks)==null?void 0:i[n])!=null)return o}};var oe=require("obsidian"),ie=class extends oe.FuzzySuggestModal{constructor(e){super(e.app);this.plugin=e,this.setPlaceholder("Choose a workspace")}getItems(){let e=this.app.internalPlugins.getEnabledPluginById("workspaces");if(!e)new oe.Notice("Workspaces plugin is not enabled");else return Object.keys(e.workspaces)}getItemText(e){return e}onChooseItem(e,t){this.plugin.tools.copyURI({workspace:e})}};var ae=class extends w.Plugin{constructor(){super(...arguments);this.handlers=new $(this);this.tools=new K(this)}async onload(){await this.loadSettings(),this.addSettingTab(new _(this.app,this)),this.addCommand({id:"copy-uri-current-file",name:"Copy URI for file with options",callback:()=>this.handlers.handleCopyFileURI(!1,!1)}),this.addCommand({id:"copy-uri-current-file-simple",name:"Copy URI for current file",callback:()=>this.handlers.handleCopyFileURI(!0,!1)}),this.addCommand({id:"copy-uri-current-file-with-format",name:"Copy formatted URI for file with options ",callback:()=>this.handlers.handleCopyFileURI(!1,!0)}),this.addCommand({id:"copy-uri-current-file-simple-with-format",name:"Copy formatted URI for current file",callback:()=>this.handlers.handleCopyFileURI(!0,!0)}),this.addCommand({id:"copy-uri-daily",name:"Copy URI for daily note",callback:()=>new U(this,!1).open()}),this.addCommand({id:"copy-uri-search-and-replace",name:"Copy URI for search and replace",callback:()=>{let e=new R(this,"Used file for search and replace");e.open(),e.onChooseItem=t=>{let i=new q(this);i.open(),i.onChooseSuggestion=o=>{new X(this,o,t==null?void 0:t.source).open()}}}}),this.addCommand({id:"copy-uri-command",name:"Copy URI for command",callback:()=>{let e=new R(this,"Select a file to be opened before executing the command");e.open(),e.onChooseItem=t=>{new Q(this,t==null?void 0:t.source).open()}}}),this.addCommand({id:"copy-uri-block",name:"Copy URI for current block",checkCallback:e=>{let t=this.app.workspace.getActiveViewOfType(w.MarkdownView);if(e)return t!=null;let i=B.getBlockId(this.app);i&&this.tools.copyURI({filepath:t.file.path,block:i},!1,t.file)}}),this.addCommand({id:"copy-uri-block-with-format",name:"Copy formatted URI for current block",checkCallback:e=>{let t=this.app.workspace.getActiveViewOfType(w.MarkdownView);if(e)return t!=null;let i=B.getBlockId(this.app);i&&this.tools.copyURI({filepath:t.file.path,block:i},!0,t.file)}}),this.addCommand({id:"copy-uri-workspace",name:"Copy URI for workspace",callback:()=>{new ie(this).open()}}),this.addCommand({id:"copy-uri-canvas-node",name:"Copy URI for selected canvas nodes",checkCallback:e=>{let t=this.app.workspace.activeLeaf.view;if(e)return t.getViewType()==="canvas"&&t.canvas.selection.size>0;if(t.getViewType()!=="canvas")return!1;let i=t,o=[];i.canvas.selection.forEach(a=>{o.push(a.id)}),this.tools.copyURI({canvasnodes:o.join(","),filepath:t.file.path},!1,t.file)}}),this.addCommand({id:"copy-uri-canvas-viewport",name:"Copy URI for current canvas viewport",checkCallback:e=>{let t=this.app.workspace.activeLeaf.view;if(e)return t.getViewType()==="canvas";if(t.getViewType()!=="canvas")return!1;let o=t.canvas,a=o.tx.toFixed(0),l=o.ty.toFixed(0),r=o.tZoom.toFixed(3);this.tools.copyURI({filepath:t.file.path,canvasviewport:`${a},${l},${r}`},!1,t.file)}}),this.registerObsidianProtocolHandler("advanced-uri",async e=>{let t=e;for(let i in t)t[i]=decodeURIComponent(t[i]);this.onUriCall(t)}),this.registerObsidianProtocolHandler("adv-uri",async e=>{let t=e;this.onUriCall(t)}),this.registerObsidianProtocolHandler("hook-get-advanced-uri",async e=>{let t=e;for(let o in t)t[o]=decodeURIComponent(t[o]);let i=this.app.workspace.getActiveFile();i?this.hookSuccess(t,i):this.failure(t,{errorMessage:"No file opened"})}),this.registerEvent(this.app.workspace.on("file-menu",(e,t,i)=>{(i==="more-options"||i==="tab-header"||i=="file-explorer-context-menu")&&t instanceof w.TFile&&(e.addItem(o=>{o.setTitle("Copy Advanced URI").setIcon("link").setSection("info").onClick(a=>this.handlers.handleCopyFileURI(!0,!1,t))}),e.addItem(o=>{o.setTitle("Copy formatted Advanced URI").setIcon("link").setSection("info").onClick(a=>this.handlers.handleCopyFileURI(!0,!0,t))}))}))}async onUriCall(e){var i,o,a;let t=!1;if(this.lastParameters={...e},e.uid){let l=(i=this.tools.getFileFromUID(e.uid))==null?void 0:i.path;l!=null&&(e.filepath=l,e.uid=void 0)}else if(e.filename){let l=this.app.metadataCache.getFirstLinkpathDest(e.filename,"");l||(l=this.app.vault.getMarkdownFiles().find(d=>{var p;return(p=(0,w.parseFrontMatterAliases)(this.app.metadataCache.getFileCache(d).frontmatter))==null?void 0:p.includes(e.filename)}));let r=this.app.fileManager.getNewFileParent((o=this.app.workspace.getActiveFile())==null?void 0:o.path),c=r.isRoot()?"":r.path+"/";e.filepath=(a=l==null?void 0:l.path)!=null?a:c+(0,w.normalizePath)(e.filename)}if(e.filepath){e.filepath=(0,w.normalizePath)(e.filepath);let l=e.filepath.lastIndexOf(".");e.filepath.substring(l<0?e.filepath.length:l)===""&&(e.filepath=e.filepath+".md")}else if(e.daily==="true"){if(!je(this.app)){new w.Notice("Daily notes plugin is not loaded");return}let l=window.moment(Date.now()),r=await be(l,this.app),c=this.app.vault.getAbstractFileByPath(r);c||(e.exists==="true"?e.filepath=r:(c=await this.app.internalPlugins.getEnabledPluginById("daily-notes").getDailyNote(),t=!0)),c&&(e.filepath=c.path)}e.clipboard==="true"&&(e.data=await navigator.clipboard.readText()),this.chooseHandler(e,t)}async chooseHandler(e,t){e["enable-plugin"]||e["disable-plugin"]?this.handlers.handlePluginManagement(e):e.workspace||e.saveworkspace=="true"?this.handlers.handleWorkspace(e):e.commandname||e.commandid?(await this.handlers.handleCommand(e),e.filepath=void 0,e.commandid=void 0,e.commandname=void 0,await this.chooseHandler(e,t)):e.frontmatterkey?this.handlers.handleFrontmatterKey(e):e.bookmark?this.handlers.handleBookmarks(e):e.eval?this.handlers.handleEval(e):e.filepath&&e.exists==="true"?this.handlers.handleDoesFileExist(e):e.canvasnodes||e.canvasviewport?this.handlers.handleCanvas(e):e.data?this.handlers.handleWrite(e,t):e.filepath&&e.heading?(await this.handlers.handleOpen(e),e.filepath=void 0,e.heading=void 0,this.chooseHandler(e,t)):e.filepath&&e.block?(await this.handlers.handleOpen(e),e.filepath=void 0,e.block=void 0,this.chooseHandler(e,t)):(e.search||e.searchregex)&&e.replace!=null?this.handlers.handleSearchAndReplace(e):e.search?this.handlers.handleSearch(e):e.filepath?this.handlers.handleOpen(e):e.block?this.handlers.handleOpenBlock(e):e.settingid?this.handlers.handleOpenSettings(e):e.updateplugins&&this.handlers.handleUpdatePlugins(e)}async hookSuccess(e,t){if(!e["x-success"])return;let i={title:W(t.name),advanceduri:await this.tools.generateURI({filepath:t.path}),urlkey:"advanceduri",fileuri:Fe(this.app,t)};this.success(e,i)}success(e,t){if(e["x-success"]){let i=new URL(e["x-success"]);for(let o in t)i.searchParams.set(o,t[o]);window.open(i.toString())}}failure(e,t){if(e["x-error"]){let i=new URL(e["x-error"]);for(let o in t)i.searchParams.set(o,t[o]);window.open(i.toString())}}async append(e,t){var a,l;let i,o;if(e instanceof w.TFile){i=e.path;let c=(await this.app.vault.read(e)).split(` `),d;if(t.heading){let p=ce(this.app,e,t.heading);if(d=p==null?void 0:p.lastLine,d===void 0)return;p.firstLine==p.lastLine&&t.separator&&(t.separator=` `+t.separator)}else t.line?d=Number(t.line):d=c.length;d=Math.max(1,d),c[d-1]=((a=c[d-1])!=null?a:"")+((l=t.separator)!=null?l:` `)+t.data,o=c.join(` diff --git a/.obsidian/plugins/obsidian-advanced-uri/manifest.json b/.obsidian/plugins/obsidian-advanced-uri/manifest.json index 838d9e7..ddea869 100644 --- a/.obsidian/plugins/obsidian-advanced-uri/manifest.json +++ b/.obsidian/plugins/obsidian-advanced-uri/manifest.json @@ -5,7 +5,7 @@ "isDesktopOnly": false, "js": "main.js", "fundingUrl": "https://ko-fi.com/vinzent", - "version": "1.46.0", + "version": "1.46.1", "author": "Vinzent", "authorUrl": "https://github.com/Vinzent03" } diff --git a/.obsidian/plugins/obsidian-excalidraw-plugin/data.json b/.obsidian/plugins/obsidian-excalidraw-plugin/data.json index cb4b75d..115d4e7 100644 --- a/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +++ b/.obsidian/plugins/obsidian-excalidraw-plugin/data.json @@ -123,7 +123,7 @@ "mdBorderColor": "Black", "mdCSS": "", "scriptEngineSettings": {}, - "previousRelease": "2.19.2", + "previousRelease": "2.20.0", "showReleaseNotes": true, "compareManifestToPluginVersion": true, "showNewVersionNotification": true, diff --git a/.obsidian/plugins/obsidian-excalidraw-plugin/main.js b/.obsidian/plugins/obsidian-excalidraw-plugin/main.js index cdc34af..006acc1 100644 --- a/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +++ b/.obsidian/plugins/obsidian-excalidraw-plugin/main.js @@ -1,10 +1,10 @@ "use strict";var obsidian_module=require("obsidian"),view=require("@codemirror/view"),commands=require("@codemirror/commands"),lr=require("@lezer/lr"),language=require("@codemirror/language"),state=require("@codemirror/state");;const INITIAL_TIMESTAMP=Date.now();var LZString=function(){var r=String.fromCharCode,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",e={};function t(r,o){if(!e[r]){e[r]={};for(var n=0;n>>8,n[2*e+1]=s%256}return n},decompressFromUint8Array:function(o){if(null==o)return i.decompress(o);for(var n=new Array(o.length/2),e=0,t=n.length;e>=1}else{for(t=1,e=0;e>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[c]}else for(t=s[c],e=0;e>=1;0==--l&&(l=Math.pow(2,h),h++),s[p]=f++,c=String(a)}if(""!==c){if(Object.prototype.hasOwnProperty.call(u,c)){if(c.charCodeAt(0)<256){for(e=0;e>=1}else{for(t=1,e=0;e>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[c]}else for(t=s[c],e=0;e>=1;0==--l&&(l=Math.pow(2,h),h++)}for(t=2,e=0;e>=1;for(;;){if(m<<=1,v==o-1){d.push(n(m));break}v++}return d.join("")},decompress:function(r){return null==r?"":""==r?null:i._decompress(r.length,32768,function(o){return r.charCodeAt(o)})},_decompress:function(o,n,e){var t,i,s,u,a,p,c,l=[],f=4,h=4,d=3,m="",v=[],g={val:e(0),position:n,index:1};for(t=0;t<3;t+=1)l[t]=t;for(s=0,a=Math.pow(2,2),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;switch(s){case 0:for(s=0,a=Math.pow(2,8),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;c=r(s);break;case 1:for(s=0,a=Math.pow(2,16),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;c=r(s);break;case 2:return""}for(l[3]=c,i=c,v.push(c);;){if(g.index>o)return"";for(s=0,a=Math.pow(2,d),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;switch(c=s){case 0:for(s=0,a=Math.pow(2,8),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;l[h++]=r(s),c=h-1,f--;break;case 1:for(s=0,a=Math.pow(2,16),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;l[h++]=r(s),c=h-1,f--;break;case 2:return v.join("")}if(0==f&&(f=Math.pow(2,d),d++),l[c])m=l[c];else{if(c!==h)return null;m=i+i.charAt(0)}v.push(m),l[h++]=i+m.charAt(0),i=m,0==--f&&(f=Math.pow(2,d),d++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString}); let REACT_PACKAGES = `!function(){var e,t;e=this,t=function(e){function M(e){return null!==e&&"object"==typeof e&&"function"==typeof(e=te&&e[te]||e["@@iterator"])?e:null}function t(e,t,n){this.props=e,this.context=t,this.refs=oe,this.updater=n||ne}function n(){}function r(e,t,n){this.props=e,this.context=t,this.refs=oe,this.updater=n||ne}function o(e,t,n){var r,o={},u=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(u=""+t.key),t)ae.call(t,r)&&!ie.hasOwnProperty(r)&&(o[r]=t[r]);var i=arguments.length-2;if(1===i)o.children=n;else if(1>>1,o=e[r];if(!(0>>1;rt)||e&&!q());){var r,o=R.callback;"function"==typeof o?(R.callback=null,P=R.priorityLevel,r=o(R.expirationTime<=t),t=v(),"function"==typeof r?R.callback=r:R===i(C)&&l(C),y(t)):l(C),R=i(C)}var u,a=null!==R||(null!==(u=i(E))&&_(d,u.startTime-t),!1);return a}finally{R=null,P=n,$=!1}}function q(){return!(v()-de")?l.replace("",n.displayName):l}while(1<=u&&0<=i);break}}}finally{xo=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?Q(n):""}function $(e){switch(e.tag){case 5:return Q(e.type);case 16:return Q("Lazy");case 13:return Q("Suspense");case 19:return Q("SuspenseList");case 0:case 2:case 15:return e=j(e.type,!1);case 11:return e=j(e.type.render,!1);case 1:return e=j(e.type,!0);default:return""}}function q(e){if(null!=e){if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case co:return"Fragment";case so:return"Portal";case po:return"Profiler";case fo:return"StrictMode";case yo:return"Suspense";case vo:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case ho:return(e.displayName||"Context")+".Consumer";case mo:return(e._context.displayName||"Context")+".Provider";case go:var n=e.render;return e=(e=e.displayName)?e:""!==(e=n.displayName||n.name||"")?"ForwardRef("+e+")":"ForwardRef";case bo:return null!==(n=e.displayName||null)?n:q(e.type)||"Memo";case ko:n=e._payload,e=e._init;try{return q(e(n))}catch(e){}}}return null}function K(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=n.render).displayName||e.name||"",n.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return q(n);case 8:return n===fo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof n)return n.displayName||n.name||null;if("string"==typeof n)return n}return null}function Y(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function X(e){var n=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===n||"radio"===n)}function G(e){var n,t,r=X(e)?"checked":"value",l=Object.getOwnPropertyDescriptor(e.constructor.prototype,r),a=""+e[r];if(!e.hasOwnProperty(r)&&void 0!==l&&"function"==typeof l.get&&"function"==typeof l.set)return n=l.get,t=l.set,Object.defineProperty(e,r,{configurable:!0,get:function(){return n.call(this)},set:function(e){a=""+e,t.call(this,e)}}),Object.defineProperty(e,r,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[r]}}}function Z(e){e._valueTracker||(e._valueTracker=G(e))}function J(e){var n,t,r;return!(!e||(n=e._valueTracker)&&(t=n.getValue(),r="",(e=r=e?X(e)?e.checked?"true":"false":e.value:r)===t||(n.setValue(e),0)))}function ee(n){if(void 0===(n=n||("undefined"!=typeof document?document:void 0)))return null;try{return n.activeElement||n.body}catch(e){return n.body}}function ne(e,n){var t=n.checked;return g({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=t?t:e._wrapperState.initialChecked})}function te(e,n){var t=null==n.defaultValue?"":n.defaultValue,r=null!=n.checked?n.checked:n.defaultChecked,t=Y(null!=n.value?n.value:t);e._wrapperState={initialChecked:r,initialValue:t,controlled:"checkbox"===n.type||"radio"===n.type?null!=n.checked:null!=n.value}}function re(e,n){null!=(n=n.checked)&&B(e,"checked",n,!1)}function le(e,n){re(e,n);var t=Y(n.value),r=n.type;if(null!=t)"number"===r?(0===t&&""===e.value||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");n.hasOwnProperty("value")?oe(e,n.type,t):n.hasOwnProperty("defaultValue")&&oe(e,n.type,Y(n.defaultValue)),null==n.checked&&null!=n.defaultChecked&&(e.defaultChecked=!!n.defaultChecked)}function ae(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(("submit"===r||"reset"===r)&&null==n.value)return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}""!==(t=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==t&&(e.name=t)}function oe(e,n,t){"number"===n&&ee(e.ownerDocument)===e||(null==t?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}function ue(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l>>=0)?32:31-(iu(e)/su|0)|0}function Re(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function De(e,n){var t=e.pendingLanes;if(0===t)return 0;var r,l=0,a=e.suspendedLanes,o=e.pingedLanes,u=268435455&t;if(0!==u?0!==(r=u&~a)?l=Re(r):0!==(o&=u)&&(l=Re(o)):0!==(u=t&~a)?l=Re(u):0!==o&&(l=Re(o)),0===l)return 0;if(0!==n&&n!==l&&0==(n&a)&&((o=n&-n)<=(a=l&-l)||16===a&&0!=(4194240&o)))return n;if(0!=(4&l)&&(l|=16&t),0!==(n=e.entangledLanes))for(e=e.entanglements,n&=l;0>=r,a-=r,Xi=1<<32-uu(n)+a|t<u?(i=o,o=null):i=o.sibling;var s=y(n,o,t[u],r);if(null===s){null===o&&(o=i);break}f&&o&&null===s.alternate&&d(n,o),e=h(s,e,u),null===a?l=s:a.sibling=s,a=s,o=i}if(u===t.length)p(n,o);else if(null===o)for(;uu?(i=o,o=null):i=o.sibling;var c=y(n,o,s.value,r);if(null===c){null===o&&(o=i);break}f&&o&&null===c.alternate&&d(n,o),e=h(c,e,u),null===a?l=c:a.sibling=c,a=c,o=i}if(s.done)p(n,o);else if(null===o)for(;!s.done;u++,s=t.next())null!==(s=g(n,s.value,r))&&(e=h(s,e,u),null===a?l=s:a.sibling=s,a=s);else{for(o=m(n,o);!s.done;u++,s=t.next())null!==(s=v(o,n,u,s.value,r))&&(f&&null!==s.alternate&&o.delete(null===s.key?u:s.key),e=h(s,e,u),null===a?l=s:a.sibling=s,a=s);f&&o.forEach(function(e){return d(n,e)})}return E&&vt(n,u),l}function w(e,n,t,r){if("object"==typeof(t="object"==typeof t&&null!==t&&t.type===co&&null===t.key?t.props.children:t)&&null!==t){switch(t.$$typeof){case io:e:{for(var l=t.key,a=n;null!==a;){if(a.key===l){if((l=t.type)===co){if(7===a.tag){p(e,a.sibling),(n=o(a,t.props.children)).return=e,e=n;break e}}else if(a.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===ko&&Mt(l)===a.type){p(e,a.sibling),(n=o(a,t.props)).ref=Lt(e,a,t),n.return=e,e=n;break e}p(e,a);break}d(e,a),a=a.sibling}e=t.type===co?((n=za(t.props.children,e.mode,r,t.key)).return=e,n):((r=Na(t.type,t.key,t.props,null,e.mode,r)).ref=Lt(e,n,t),r.return=e,r)}return u(e);case so:e:{for(a=t.key;null!==n;){if(n.key===a){if(4===n.tag&&n.stateNode.containerInfo===t.containerInfo&&n.stateNode.implementation===t.implementation){p(e,n.sibling),(n=o(n,t.children||[])).return=e,e=n;break e}p(e,n);break}d(e,n),n=n.sibling}(n=La(t,e.mode,r)).return=e,e=n}return u(e);case ko:return w(e,n,(a=t._init)(t._payload),r)}if(Eo(t))return b(e,n,t,r);if(H(t))return k(e,n,t,r);Tt(e,t)}return"string"==typeof t&&""!==t||"number"==typeof t?(t=""+t,(n=null!==n&&6===n.tag?(p(e,n.sibling),o(n,t)):(p(e,n),_a(t,e.mode,r))).return=e,u(e=n)):p(e,n)}return w}function Rt(){os=as=ls=null}function Dt(e,n){n=rs.current,s(rs),e._currentValue=n}function Ot(e,n,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,null!==r&&(r.childLanes|=n)):null!==r&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===t)break;e=e.return}}function It(e,n){(os=as=null)!==(e=(ls=e).dependencies)&&null!==e.firstContext&&(0!=(e.lanes&n)&&(_=!0),e.firstContext=null)}function Ut(e){var n=e._currentValue;if(os!==e)if(e={context:e,memoizedValue:n,next:null},null===as){if(null===ls)throw Error(S(308));as=e,ls.dependencies={lanes:0,firstContext:e}}else as=as.next=e;return n}function Vt(e){null===us?us=[e]:us.push(e)}function At(e,n,t,r){var l=n.interleaved;return null===l?(t.next=t,Vt(n)):(t.next=l.next,l.next=t),n.interleaved=t,Wt(e,r)}function Wt(e,n){e.lanes|=n;var t=e.alternate;for(null!==t&&(t.lanes|=n),e=(t=e).return;null!==e;)e.childLanes|=n,null!==(t=e.alternate)&&(t.childLanes|=n),e=(t=e).return;return 3===t.tag?t.stateNode:null}function Bt(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ht(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qt(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function jt(e,n,t){var r,l=e.updateQueue;return null===l?null:(l=l.shared,(0!=(2&F)?(null===(r=l.pending)?n.next=n:(n.next=r.next,r.next=n),l.pending=n,is):(null===(r=l.interleaved)?(n.next=n,Vt(l)):(n.next=r.next,r.next=n),l.interleaved=n,Wt))(e,t))}function $t(e,n,t){var r;null!==(n=n.updateQueue)&&(n=n.shared,0!=(4194240&t))&&(r=n.lanes,r&=e.pendingLanes,He(e,n.lanes=t|=r))}function qt(e,n){var t=e.updateQueue,r=e.alternate;if(null!==r&&t===(r=r.updateQueue)){var l=null,a=null;if(null!==(t=t.firstBaseUpdate)){do{var o={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null}}while(null===a?l=a=o:a=a.next=o,null!==(t=t.next));null===a?l=a=n:a=a.next=n}else l=a=n;t={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=t}else null===(e=t.lastBaseUpdate)?t.firstBaseUpdate=n:e.next=n,t.lastBaseUpdate=n}function Kt(e,n,t,r){var l,a,o=e.updateQueue,u=(ss=!1,o.firstBaseUpdate),i=o.lastBaseUpdate;if(null!==(f=o.shared.pending)&&(o.shared.pending=null,a=(l=f).next,(l.next=null)===i?u=a:i.next=a,i=l,null!==(c=e.alternate))&&(f=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===f?c.firstBaseUpdate=a:f.next=a,c.lastBaseUpdate=l),null!==u){for(var s=o.baseState,i=0,c=a=l=null,f=u;;){var d=f.lane,p=f.eventTime;if((r&d)===d){null!==c&&(c=c.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,next:null});e:{var m=e,h=f,d=n,p=t;switch(h.tag){case 1:if("function"==typeof(m=h.payload)){s=m.call(p,s,d);break e}s=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(d="function"==typeof(m=h.payload)?m.call(p,s,d):m))break e;s=g({},s,d);break e;case 2:ss=!0}}null!==f.callback&&0!==f.lane&&(e.flags|=64,null===(d=o.effects)?o.effects=[f]:d.push(f))}else p={eventTime:p,lane:d,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===c?(a=c=p,l=s):c=c.next=p,i|=d;if(null===(f=f.next)){if(null===(f=o.shared.pending))break;f=(d=f).next,d.next=null,o.lastBaseUpdate=d,o.shared.pending=null}}if(null===c&&(l=s),o.baseState=l,o.firstBaseUpdate=a,o.lastBaseUpdate=c,null!==(n=o.shared.interleaved))for(o=n;i|=o.lane,(o=o.next)!==n;);else null===u&&(o.shared.lanes=0);Qs|=i,e.lanes=i,e.memoizedState=s}}function Yt(e,n,t){if(e=n.effects,(n.effects=null)!==e)for(n=0;n<\\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),"select"===t&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[Li]=n,e[Ti]=r,Ls(e,n,!1,!1),n.stateNode=e;e:{switch(o=ye(t,r),t){case"dialog":c("cancel",e),c("close",e),a=r;break;case"iframe":case"object":case"embed":c("load",e),a=r;break;case"video":case"audio":for(a=0;aYs&&(n.flags|=128,wl(i,!(r=!0)),n.lanes=4194304)}else{if(!r)if(null!==(e=nr(o))){if(n.flags|=128,r=!0,null!==(t=e.updateQueue)&&(n.updateQueue=t,n.flags|=4),wl(i,!0),null===i.tail&&"hidden"===i.tailMode&&!o.alternate&&!E)return p(n),null}else 2*y()-i.renderingStartTime>Ys&&1073741824!==t&&(n.flags|=128,wl(i,!(r=!0)),n.lanes=4194304);i.isBackwards?(o.sibling=n.child,n.child=o):(null!==(t=i.last)?t.sibling=o:n.child=o,i.last=o)}if(null!==i.tail)return n=i.tail,i.rendering=n,i.tail=n.sibling,i.renderingStartTime=y(),n.sibling=null,t=C.current,f(C,r?1&t|2:1&t),n}return p(n),null;case 22:case 23:return O=Bs.current,s(Bs),r=null!==n.memoizedState,null!==e&&null!==e.memoizedState!==r&&(n.flags|=8192),r&&0!=(1&n.mode)?0!=(1073741824&O)&&(p(n),6&n.subtreeFlags)&&(n.flags|=8192):p(n),null;case 24:case 25:return null}throw Error(S(156,n.tag))}function xl(e,n,t){switch(wt(n),n.tag){case 1:return h(n.type)&&(s(b),s(v)),65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 3:return Zt(),s(b),s(v),tr(),0!=(65536&(e=n.flags))&&0==(128&e)?(n.flags=-65537&e|128,n):null;case 5:return er(n),null;case 13:if(s(C),null!==(e=n.memoizedState)&&null!==e.dehydrated){if(null===n.alternate)throw Error(S(340));Pt()}return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 19:return s(C),null;case 4:return Zt(),null;case 10:return Dt(n.type._context),null;case 22:case 23:return O=Bs.current,s(Bs),null;default:return null}}function El(n,t){var e=n.ref;if(null!==e)if("function"==typeof e)try{e(null)}catch(e){w(n,t,e)}else e.current=null}function Cl(n,t,e){try{e()}catch(e){w(n,t,e)}}function Nl(e,n){if(Ei=Su,Dn(e=Rn())){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:if((a=(t=(t=e.ownerDocument)&&t.defaultView||window).getSelection&&t.getSelection())&&0!==a.rangeCount){var t=a.anchorNode,r=a.anchorOffset,l=a.focusNode,a=a.focusOffset;try{t.nodeType,l.nodeType}catch(e){t=null;break e}var o,u=0,i=-1,s=-1,c=0,f=0,d=e,p=null;n:for(;;){for(;d!==t||0!==r&&3!==d.nodeType||(i=u+r),d!==l||0!==a&&3!==d.nodeType||(s=u+a),3===d.nodeType&&(u+=d.nodeValue.length),null!==(o=d.firstChild);)p=d,d=o;for(;;){if(d===e)break n;if(p===t&&++c===r&&(i=u),p===l&&++f===a&&(s=u),null!==(o=d.nextSibling))break;p=(d=p).parentNode}d=o}t=-1===i||-1===s?null:{start:i,end:s}}else t=null;t=t||{start:0,end:0}}else t=null;for(Su=!(Ci={focusedElem:e,selectionRange:t}),T=n;null!==T;)if(e=(n=T).child,0!=(1028&n.subtreeFlags)&&null!==e)e.return=n,T=e;else for(;null!==T;){n=T;try{var m,h,g,y,v=n.alternate;if(0!=(1024&n.flags))switch(n.tag){case 0:case 11:case 15:break;case 1:null!==v&&(m=v.memoizedProps,h=v.memoizedState,y=(g=n.stateNode).getSnapshotBeforeUpdate(n.elementType===n.type?m:Ar(n.type,m),h),g.__reactInternalSnapshotBeforeUpdate=y);break;case 3:var b=n.stateNode.containerInfo;1===b.nodeType?b.textContent="":9===b.nodeType&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(S(163))}}catch(e){w(n,n.return,e)}if(null!==(e=n.sibling)){e.return=n.return,T=e;break}T=n.return}return v=Os,Os=!1,v}function zl(e,n,t){var r=n.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var l,a=r=r.next;do{}while((a.tag&e)===e&&(l=a.destroy,(a.destroy=void 0)!==l)&&Cl(n,t,l),(a=a.next)!==r)}}function Pl(e,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var t,r=n=n.next;do{}while((r.tag&e)===e&&(t=r.create,r.destroy=t()),(r=r.next)!==n)}}function _l(e){var n,t=e.ref;null!==t&&(n=e.stateNode,e.tag,e=n,"function"==typeof t?t(e):t.current=e)}function Ll(e){var n=e.alternate;null!==n&&(e.alternate=null,Ll(n)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(n=e.stateNode)&&(delete n[Li],delete n[Ti],delete n[Fi],delete n[Ri],delete n[Di]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Tl(e){return 5===e.tag||3===e.tag||4===e.tag}function Ml(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Tl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e=(e.child.return=e).child}if(!(2&e.flags))return e.stateNode}}function Fl(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?(8===t.nodeType?t.parentNode:t).insertBefore(e,n):(8===t.nodeType?(n=t.parentNode).insertBefore(e,t):(n=t).appendChild(e),null==(t=t._reactRootContainer)&&null===n.onclick&&(n.onclick=Jn));else if(4!==r&&null!==(e=e.child))for(Fl(e,n,t),e=e.sibling;null!==e;)Fl(e,n,t),e=e.sibling}function Rl(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(4!==r&&null!==(e=e.child))for(Rl(e,n,t),e=e.sibling;null!==e;)Rl(e,n,t),e=e.sibling}function Dl(e,n,t){for(t=t.child;null!==t;)Ol(e,n,t),t=t.sibling}function Ol(e,n,t){if(ou&&"function"==typeof ou.onCommitFiberUnmount)try{ou.onCommitFiberUnmount(au,t)}catch(e){}switch(t.tag){case 5:L||El(t,n);case 6:var r=M,l=Is;M=null,Dl(e,n,t),Is=l,null!==(M=r)&&(Is?(e=M,t=t.stateNode,(8===e.nodeType?e.parentNode:e).removeChild(t)):M.removeChild(t.stateNode));break;case 18:null!==M&&(Is?(e=M,t=t.stateNode,8===e.nodeType?tt(e.parentNode,t):1===e.nodeType&&tt(e,t),Je(e)):tt(M,t.stateNode));break;case 4:r=M,l=Is,M=t.stateNode.containerInfo,Is=!0,Dl(e,n,t),M=r,Is=l;break;case 0:case 11:case 14:case 15:if(!L&&null!==(r=t.updateQueue)&&null!==(r=r.lastEffect)){l=r=r.next;do{var a=(o=l).destroy,o=o.tag}while(void 0===a||0==(2&o)&&0==(4&o)||Cl(t,n,a),(l=l.next)!==r)}Dl(e,n,t);break;case 1:if(!L&&(El(t,n),"function"==typeof(r=t.stateNode).componentWillUnmount))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(e){w(t,n,e)}Dl(e,n,t);break;case 21:Dl(e,n,t);break;case 22:1&t.mode?(L=(r=L)||null!==t.memoizedState,Dl(e,n,t),L=r):Dl(e,n,t);break;default:Dl(e,n,t)}}function Il(t){var r,e=t.updateQueue;null!==e&&((t.updateQueue=null)===(r=t.stateNode)&&(r=t.stateNode=new Ds),e.forEach(function(e){var n=ka.bind(null,t,e);r.has(e)||(r.add(e),e.then(n,n))}))}function Ul(e,n,t){if(null!==(t=n.deletions))for(var r=0;r