diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index 4006a746..37c86a90 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -40,7 +40,6 @@ "obsidian-camera", "table-editor-obsidian", "obsidian-smart-typography", - "podnotes", "obsidian-banners", "templater-obsidian", "obsidian-kanban", @@ -61,5 +60,6 @@ "cm-editor-syntax-highlight-obsidian", "obsidian-icon-folder", "obsidian-icon-shortcodes", - "obsidian-media-db-plugin" + "obsidian-media-db-plugin", + "obsidian-dev-tools" ] \ No newline at end of file diff --git a/.obsidian/plugins/cron/data.json b/.obsidian/plugins/cron/data.json index cfd6a3fe..e968286e 100644 --- a/.obsidian/plugins/cron/data.json +++ b/.obsidian/plugins/cron/data.json @@ -19,7 +19,7 @@ "601d1cc7-a4f3-4f19-aa9f-3bddd7ab6b1d": { "locked": false, "lockedDeviceName": "iPhone", - "lastRun": "2024-03-10T07:12:39+01:00" + "lastRun": "2024-03-19T07:18:35+01:00" } } } \ No newline at end of file diff --git a/.obsidian/plugins/customjs/main.js b/.obsidian/plugins/customjs/main.js index d2e9fef6..e3e1993c 100644 --- a/.obsidian/plugins/customjs/main.js +++ b/.obsidian/plugins/customjs/main.js @@ -27,7 +27,7 @@ function _interopNamespace(e) { var obsidian__namespace = /*#__PURE__*/_interopNamespace(obsidian); -/*! ***************************************************************************** +/****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -50,7 +50,12 @@ function __awaiter(thisArg, _arguments, P, generator) { function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); -} +} + +typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}; var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; @@ -6155,14 +6160,20 @@ const DEFAULT_SETTINGS = { jsFiles: '', jsFolder: '', startupScriptNames: [], - registeredInvocableScriptNames: [] + registeredInvocableScriptNames: [], + rerunStartupScriptsOnFileChange: false, }; function isInvocable(x) { return typeof (x === null || x === void 0 ? void 0 : x.invoke) === 'function'; } class CustomJS extends obsidian.Plugin { + constructor() { + super(...arguments); + this.deconstructorsOfLoadedFiles = []; + } onload() { return __awaiter(this, void 0, void 0, function* () { + // eslint-disable-next-line no-console console.log('Loading CustomJS'); yield this.loadSettings(); this.registerEvent(this.app.vault.on('modify', this.reloadIfNeeded, this)); @@ -6203,10 +6214,12 @@ class CustomJS extends obsidian.Plugin { } const scriptObj = window.customJS[scriptName]; if (!scriptObj) { + // eslint-disable-next-line no-console console.warn(`Script '${scriptName}' is not defined`); return; } if (!isInvocable(scriptObj)) { + // eslint-disable-next-line no-console console.warn(`Script '${scriptName}' is not invocable`); return; } @@ -6216,16 +6229,44 @@ class CustomJS extends obsidian.Plugin { catch (e) { const message = `Script '${scriptName}' failed`; new obsidian.Notice(`${message}\n${e.message}\nSee error console for more details`); + // eslint-disable-next-line no-console console.error(message); + // eslint-disable-next-line no-console console.error(e); } }); } + deconstructLoadedFiles() { + return __awaiter(this, void 0, void 0, function* () { + // Run deconstructor if exists + for (const deconstructor of this.deconstructorsOfLoadedFiles) { + try { + yield deconstructor.deconstructor(); + } + catch (e) { + // eslint-disable-next-line no-console + console.error(`${deconstructor.name} failed`); + // eslint-disable-next-line no-console + console.error(e); + } + } + // Clear the list + this.deconstructorsOfLoadedFiles = []; + }); + } reloadIfNeeded(f) { var _a, _b, _c, _d, _e; return __awaiter(this, void 0, void 0, function* () { if (f.path.endsWith('.js')) { + // Run deconstructor if exists + yield this.deconstructLoadedFiles(); yield this.loadClasses(); + // invoke startup scripts again if wanted + if (this.settings.rerunStartupScriptsOnFileChange) { + for (const startupScriptName of this.settings.startupScriptNames) { + yield this.invokeScript(startupScriptName); + } + } // reload dataviewjs blocks if installed & version >= 0.4.11 if (this.app.plugins.enabledPlugins.has('dataview')) { const version = (_b = (_a = this.app.plugins.plugins) === null || _a === void 0 ? void 0 : _a.dataview) === null || _b === void 0 ? void 0 : _b.manifest.version; @@ -6255,11 +6296,23 @@ class CustomJS extends obsidian.Plugin { // Store the existing instance const cls = new def(); window.customJS[cls.constructor.name] = cls; + // Check if the class has a deconstructor + if (typeof cls.deconstructor === 'function') { + // Add the deconstructor to the list + const deconstructor = cls.deconstructor.bind(cls); + const deconstructorWrapper = { + deconstructor: deconstructor, + name: `Deconstructor of ${cls.constructor.name}`, + }; + this.deconstructorsOfLoadedFiles.push(deconstructorWrapper); + } // Provide a way to create a new instance window.customJS[`create${def.name}Instance`] = () => new def(); } catch (e) { - console.error(`CustomJS couldn\'t import ${f}`); + // eslint-disable-next-line no-console + console.error(`CustomJS couldn't import ${f}`); + // eslint-disable-next-line no-console console.error(e); } }); @@ -6270,12 +6323,15 @@ class CustomJS extends obsidian.Plugin { window.customJS = { obsidian: obsidian__namespace, state: (_b = (_a = window.customJS) === null || _a === void 0 ? void 0 : _a.state) !== null && _b !== void 0 ? _b : {}, - app: this.app + app: this.app, }; const filesToLoad = []; // Get individual paths if (this.settings.jsFiles != '') { - const individualFiles = this.settings.jsFiles.split(',').map(s => s.trim()).sort(); + const individualFiles = this.settings.jsFiles + .split(',') + .map((s) => s.trim()) + .sort(); for (const f of individualFiles) { if (f != '' && f.endsWith('.js')) { filesToLoad.push(f); @@ -6286,7 +6342,7 @@ class CustomJS extends obsidian.Plugin { if (this.settings.jsFolder != '') { const prefix = this.settings.jsFolder; const files = this.app.vault.getFiles(); - const scripts = files.filter(f => f.path.startsWith(prefix) && f.path.endsWith('.js')); + const scripts = files.filter((f) => f.path.startsWith(prefix) && f.path.endsWith('.js')); for (const s of scripts) { if (s.path != '' && s.path.endsWith('.js')) { filesToLoad.push(s.path); @@ -6353,14 +6409,14 @@ class CustomJSSettingsTab extends obsidian.PluginSettingTab { this.plugin = plugin; } display() { - let { containerEl } = this; + const { containerEl } = this; containerEl.empty(); containerEl.createEl('h2', { text: 'CustomJS' }); // individual files new obsidian.Setting(containerEl) .setName('Individual files') .setDesc('Comma-separated list of files to load') - .addText(text => text + .addText((text) => text .setPlaceholder('jsfile1.js,jsfile2.js') .setValue(this.plugin.settings.jsFiles) .onChange((value) => __awaiter(this, void 0, void 0, function* () { @@ -6372,7 +6428,7 @@ class CustomJSSettingsTab extends obsidian.PluginSettingTab { new obsidian.Setting(containerEl) .setName('Folder') .setDesc('Path to folder containing JS files to load') - .addText(text => text + .addText((text) => text .setPlaceholder('js/scripts') .setValue(this.plugin.settings.jsFolder) .onChange((value) => __awaiter(this, void 0, void 0, function* () { @@ -6381,16 +6437,16 @@ class CustomJSSettingsTab extends obsidian.PluginSettingTab { yield this.plugin.loadClasses(); }))); let descriptionTemplate = document.createElement('template'); - descriptionTemplate.innerHTML = 'Allows you to bind an invocable script to a hotkey'; + descriptionTemplate.innerHTML = + 'Allows you to bind an invocable script to a hotkey'; new obsidian.Setting(containerEl) .setName('Registered invocable scripts') .setDesc(descriptionTemplate.content); - for (const scriptName of this.plugin.settings.registeredInvocableScriptNames) { + for (const scriptName of this.plugin.settings + .registeredInvocableScriptNames) { new obsidian.Setting(containerEl) - .addText(text => text - .setValue(scriptName) - .setDisabled(true)) - .addExtraButton(cb => cb + .addText((text) => text.setValue(scriptName).setDisabled(true)) + .addExtraButton((cb) => cb .setIcon('any-key') .setTooltip('Configure Hotkey') .onClick(() => { @@ -6398,7 +6454,7 @@ class CustomJSSettingsTab extends obsidian.PluginSettingTab { hotkeysTab.searchComponent.setValue(`${this.plugin.manifest.name}: ${scriptName}`); hotkeysTab.updateHotkeyVisibility(); })) - .addExtraButton(cb => cb + .addExtraButton((cb) => cb .setIcon('cross') .setTooltip('Delete') .onClick(() => __awaiter(this, void 0, void 0, function* () { @@ -6406,8 +6462,7 @@ class CustomJSSettingsTab extends obsidian.PluginSettingTab { this.display(); }))); } - new obsidian.Setting(this.containerEl) - .addButton(cb => cb + new obsidian.Setting(this.containerEl).addButton((cb) => cb .setButtonText('Register invocable script') .setCta() .onClick(() => __awaiter(this, void 0, void 0, function* () { @@ -6419,16 +6474,15 @@ class CustomJSSettingsTab extends obsidian.PluginSettingTab { } }))); descriptionTemplate = document.createElement('template'); - descriptionTemplate.innerHTML = 'Invocable scripts executed when the plugin is loaded'; + descriptionTemplate.innerHTML = + 'Invocable scripts executed when the plugin is loaded'; new obsidian.Setting(containerEl) .setName('Startup scripts') .setDesc(descriptionTemplate.content); for (const scriptName of this.plugin.settings.startupScriptNames) { new obsidian.Setting(containerEl) - .addText(text => text - .setValue(scriptName) - .setDisabled(true)) - .addExtraButton(cb => cb + .addText((text) => text.setValue(scriptName).setDisabled(true)) + .addExtraButton((cb) => cb .setIcon('cross') .setTooltip('Delete') .onClick(() => __awaiter(this, void 0, void 0, function* () { @@ -6436,8 +6490,7 @@ class CustomJSSettingsTab extends obsidian.PluginSettingTab { this.display(); }))); } - new obsidian.Setting(this.containerEl) - .addButton(cb => cb + new obsidian.Setting(this.containerEl).addButton((cb) => cb .setButtonText('Add startup script') .setCta() .onClick(() => __awaiter(this, void 0, void 0, function* () { @@ -6448,6 +6501,15 @@ class CustomJSSettingsTab extends obsidian.PluginSettingTab { this.display(); } }))); + new obsidian.Setting(containerEl) + .setName('Re-execute the start scripts when reloading') + .setDesc('Decides whether the startup scripts should be executed again after reloading the scripts') + .addToggle((toggle) => toggle + .setValue(this.plugin.settings.rerunStartupScriptsOnFileChange) + .onChange((value) => __awaiter(this, void 0, void 0, function* () { + this.plugin.settings.rerunStartupScriptsOnFileChange = value; + yield this.plugin.saveSettings(); + }))); } } class InvocableScriptSelectorModal extends obsidian.FuzzySuggestModal { @@ -6460,14 +6522,14 @@ class InvocableScriptSelectorModal extends obsidian.FuzzySuggestModal { this.open(); } getItems() { - const entries = Object.entries(window.customJS).map(entry => ({ - scriptName: entry[0], - scriptObj: entry[1] + const entries = Object.entries(window.customJS).map(([scriptName, scriptObj]) => ({ + scriptName, + scriptObj, })); const invocableScriptNames = entries - .filter(entry => isInvocable(entry.scriptObj)) - .map(entry => entry.scriptName) - .filter(scriptName => !this.excludedScriptNames.has(scriptName)) + .filter((entry) => isInvocable(entry.scriptObj)) + .map((entry) => entry.scriptName) + .filter((scriptName) => !this.excludedScriptNames.has(scriptName)) .sort(); return invocableScriptNames; } @@ -6478,7 +6540,7 @@ class InvocableScriptSelectorModal extends obsidian.FuzzySuggestModal { this.isSelected = true; super.selectSuggestion(value, evt); } - onChooseItem(item, evt) { + onChooseItem(item, _evt) { this.resolve(item); } onClose() { @@ -6489,4 +6551,4 @@ class InvocableScriptSelectorModal extends obsidian.FuzzySuggestModal { } module.exports = CustomJS; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsiLi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXJlLXZlcnNpb25zL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuL2Rpc3QvYWNvcm4ubWpzIiwiLi4vbm9kZV9tb2R1bGVzL3h0ZW5kL2ltbXV0YWJsZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9hY29ybi1ub2RlL2xpYi9iaWdpbnQvaW5kZXguanMiLCIuLi9ub2RlX21vZHVsZXMvYWNvcm4tbm9kZS9saWIvcHJpdmF0ZS1jbGFzcy1lbGVtZW50cy9pbmRleC5qcyIsIi4uL25vZGVfbW9kdWxlcy9hY29ybi1ub2RlL2xpYi9jbGFzcy1maWVsZHMvaW5kZXguanMiLCIuLi9ub2RlX21vZHVsZXMvYWNvcm4tbm9kZS9saWIvc3RhdGljLWNsYXNzLWZlYXR1cmVzL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvbGliL251bWVyaWMtc2VwYXJhdG9yL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvbGliL2R5bmFtaWMtaW1wb3J0L2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvbGliL2V4cG9ydC1ucy1mcm9tL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvbGliL2ltcG9ydC1tZXRhL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvaW5kZXguanMiLCIuLi9ub2RlX21vZHVsZXMvc3ludGF4LWVycm9yL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2RlYnVnZ2FibGUtZXZhbC9saWIvaW5kZXguanMiLCIuLi9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpudWxsLCJuYW1lcyI6WyJ0aGlzIiwiaXNJZGVudGlmaWVyU3RhcnQiLCJUb2tlblR5cGUiLCJza2lwV2hpdGVTcGFjZSIsImhhc093blByb3BlcnR5IiwidGhpcyQxIiwicGFyc2UiLCJ0dCIsIm1heWJlUGFyc2VGaWVsZFZhbHVlIiwiX2Fjb3JuIiwicmVxdWlyZSQkMCIsInJlcXVpcmUkJDEiLCJyZXF1aXJlJCQyIiwicmVxdWlyZSQkMyIsInJlcXVpcmUkJDQiLCJyZXF1aXJlJCQ1IiwicmVxdWlyZSQkNiIsInh0ZW5kIiwiUGx1Z2luIiwiTm90aWNlIiwiZGVidWdnYWJsZUV2YWwiLCJvYnNpZGlhbiIsIlBsdWdpblNldHRpbmdUYWIiLCJTZXR0aW5nIiwiRnV6enlTdWdnZXN0TW9kYWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXVEQTtBQUNPLFNBQVMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUM3RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDbkcsUUFBUSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FB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QUMsQ0FBQztBQUN2QixJQUFJLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2QjtBQUNBLElBQUksS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNyRSxNQUFNLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLE1BQU0sSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEM7QUFDQSxNQUFNLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM1QixNQUFNLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQzdCLEtBQUs7QUFDTDtBQUNBLElBQUksSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEMsSUFBSSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoQztBQUNBLElBQUksSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFO0FBQ3BCLE1BQU0sSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUMsTUFBTSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1QztBQUNBLE1BQU0sS0FBSyxDQUFDLEdBQUcs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LENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzl5QztBQUNBO0FBQ0EsSUFBSSxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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QUssRUFBRSxVQUFVLENBQUM7QUFDNUMsRUFBRSxTQUFTLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUM7QUFDM0MsRUFBRSxZQUFZLEVBQUUsSUFBSUEsV0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsRUFBRSxFQUFFLElBQUlBLFdBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM1RCxFQUFFLE1BQU0sRUFBRSxJQUFJQSxXQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakUsRUFBRSxNQUFNLEVBQUUsSUFBSUEsV0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakYsRUFBRSxNQUFNLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEYsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDM0IsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDNUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDMUIsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDM0IsRUFBRSxVQUFVLEVBQUUs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QUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztBQUNqQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQztBQUNyQyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDO0FBQ3ZCLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDO0FBQ25DLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO0FBQy9CLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO0FBQy9CLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0FBQ2pDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3QyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0QsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDM0UsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkUsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJ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SUFBSSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBQ2hDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDckIsSUFBSSxJQUFJLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUU7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDN0g7QUFDQSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQUU7QUFDMUUsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzRSxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0FBQzVCLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEQsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztBQUM1QixHQUFHO0FBQ0gsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxNQUFNLEVBQUU7QUFDMUMsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFB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QUFDLGdCQUFnQixHQUFHLFdBQVc7QUFDbkMsRUFBRSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDOUQsRUFBRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN0RSxFQUFFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLEVBQUU7QUFDdkUsRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO0FBQzlCLElBQUksVUFBVSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFDakMsSUFBSSxJQUFJLEtBQUssQ0FBQztBQUNkLElBQUksT0FBTyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDNUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDckIsTUFBTSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNyRCxLQUFLO0FBQ0wsR0FBRztBQUNILEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7QUFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxL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QUFDO0FBQ3hDLENBQUMsQ0FBQztBQUNGO0FBQ0EsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLElBQUksRUFBRTtBQUN0QyxFQUFFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDakQsRUFBRSxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7QUFDZixFQUFFLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtBQUNyQixJQUFJLElBQUksR0FBRyxJQUFJLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0UsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQ3ZHLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO0FBQzlDLEdBQUc7QUFDSCxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUU7QUFDaEcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtBQUNsRDtBQUNBLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUNyQixJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUMzQixHQUFHO0FBQ0gsRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7QUFDaEMsRUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxJQUFJLEVBQUU7QUFDeEMsRUFBRSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2pELEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQy9HLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxFQUFFO0FBQ25FLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbEIsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztBQUN4QyxHQUFHO0FBQ0gsRUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQztBQUNGO0FBQ0EsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFdBQVc7QUFDckMsRUFBRSxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztBQUM3QyxFQUFFLElBQUksV0FBVyxJQUFJLEVBQUUsRUFBRTtBQUN6QixJQUFJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbkQsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7QUFDckIsTUFBTSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sSUFBSSxLQUFLLEdBQUcsRUFBRSxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNsRixLQUFLO0FBQ0wsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7QUFDckIsTUFBTSxJQUFJLFdBQVcsSUFBSSxFQUFFLEVBQUU7QUFDN0IsUUFBUSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzFELFFBQVEsSUFBSSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDckUsT0FBTztBQUNQLE1BQU0sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzdDLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxJQUFJLEVBQUU7QUFDdkMsRUFBRSxRQUFRLElBQUk7QUFDZDtBQUNBO0FBQ0EsRUFBRSxLQUFLLEVBQUU7QUFDVCxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRTtBQUMvQjtBQUNBO0FBQ0EsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUM1RCxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQzVELEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDMUQsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztBQUMzRCxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQzlELEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7QUFDOUQsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUM3RCxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9B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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsiLi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXJlLXZlcnNpb25zL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuL2Rpc3QvYWNvcm4ubWpzIiwiLi4vbm9kZV9tb2R1bGVzL3h0ZW5kL2ltbXV0YWJsZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9hY29ybi1ub2RlL2xpYi9iaWdpbnQvaW5kZXguanMiLCIuLi9ub2RlX21vZHVsZXMvYWNvcm4tbm9kZS9saWIvcHJpdmF0ZS1jbGFzcy1lbGVtZW50cy9pbmRleC5qcyIsIi4uL25vZGVfbW9kdWxlcy9hY29ybi1ub2RlL2xpYi9jbGFzcy1maWVsZHMvaW5kZXguanMiLCIuLi9ub2RlX21vZHVsZXMvYWNvcm4tbm9kZS9saWIvc3RhdGljLWNsYXNzLWZlYXR1cmVzL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvbGliL251bWVyaWMtc2VwYXJhdG9yL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvbGliL2R5bmFtaWMtaW1wb3J0L2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvbGliL2V4cG9ydC1ucy1mcm9tL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvbGliL2ltcG9ydC1tZXRhL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Fjb3JuLW5vZGUvaW5kZXguanMiLCIuLi9ub2RlX21vZHVsZXMvc3ludGF4LWVycm9yL2luZGV4LmpzIiwiLi4vbm9kZV9tb2R1bGVzL2RlYnVnZ2FibGUtZXZhbC9saWIvaW5kZXguanMiLCIuLi9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpudWxsLCJuYW1lcyI6WyJ0aGlzIiwiaXNJZGVudGlmaWVyU3RhcnQiLCJUb2tlblR5cGUiLCJza2lwV2hpdGVTcGFjZSIsImhhc093blByb3BlcnR5IiwidGhpcyQxIiwicGFyc2UiLCJ0dCIsIm1heWJlUGFyc2VGaWVsZFZhbHVlIiwiX2Fjb3JuIiwicmVxdWlyZSQkMCIsInJlcXVpcmUkJDEiLCJyZXF1aXJlJCQyIiwicmVxdWlyZSQkMyIsInJlcXVpcmUkJDQiLCJyZXF1aXJlJCQ1IiwicmVxdWlyZSQkNiIsInh0ZW5kIiwiUGx1Z2luIiwiTm90aWNlIiwiZGVidWdnYWJsZUV2YWwiLCJvYnNpZGlhbiIsIlBsdWdpblNldHRpbmdUYWIiLCJTZXR0aW5nIiwiRnV6enlTdWdnZXN0TW9kYWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW9HQTtBQUNPLFNBQVMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUM3RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDbkcsUUFBUSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FB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QyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2hDO0FBQ0EsSUFBSSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUU7QUFDcEIsTUFBTSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1QyxNQUFNLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzVDO0FBQ0EsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDM0QsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3JHLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDcEc7QUFDQSxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLE9BQU87QUFDUCxLQUFLLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxFQUFF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QyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM5eUM7QUFDQTtBQUNBLElBQUkscUJBQXFCLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0cUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLGFBQWEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO0FBQ2xDLEVBQUUsSUFBSSxHQUFHLEdBQUcsT0FBTyxDQUFDO0FBQ3BCLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUMxQyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsSUFBSSxJQUFJLEdBQUcsR0FBRyxJQUFJLEVBQUUsRUFBRSxPQUFPLEtBQUssRUFBRTtBQUNwQyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxF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RSxVQUFVLENBQUM7QUFDdkMsRUFBRSxNQUFNLEVBQUUsSUFBSUEsV0FBUyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7QUFDN0MsRUFBRSxNQUFNLEVBQUUsSUFBSUEsV0FBUyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7QUFDN0MsRUFBRSxJQUFJLEVBQUUsSUFBSUEsV0FBUyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7QUFDekMsRUFBRSxHQUFHLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEtBQUssQ0FBQztBQUMzQjtBQUNBO0FBQ0EsRUFBRSxRQUFRLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BFLEVBQUUsUUFBUSxFQUFFLElBQUlBLFdBQVMsQ0FBQyxHQUFHLENBQUM7QUFDOUIsRUFBRSxNQUFNLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2xFLEVBQUUsTUFBTSxFQUFFLElBQUlBLFdBQVMsQ0FBQyxHQUFHLENBQUM7QUFDNUIsRUFBRSxNQUFNLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2xFLEVBQUUsTUFBTSxFQUFFLElBQUlBLFdBQVMsQ0FBQyxHQUFHLENBQUM7QUFDNUIsRUFBRSxLQUFLLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUM7QUFDdkMsRUFBRSxJQUFJLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUM7QUFDdEMsRUFBRSxLQUFLLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUM7QUFDdkMsRUFBRSxHQUFHLEVBQUUsSUFBSUEsV0FBUyxDQUFDLEdBQUcsQ0FBQztBQUN6QixFQUFF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Q0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUNuQixFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7QUFDL0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7QUFDakMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7QUFDakMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7QUFDckMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztBQUN2QixFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQztBQUNuQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztBQUMvQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztBQUMvQixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztBQUNqQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0MsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdELEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxF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LENBQUMsR0FBRyxFQUFFO0FBQzVFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3JCLE1BQU0sSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDckQsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO0FBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7QUFDcEYsMkJBQTJCLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFO0FBQzNELENBQUMsQ0FBQztBQUNGO0FBQ0EsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLFNBQVMsRUFBRTtBQUMzQyxFQUFFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDdkIsRUFBRSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDOUQsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDO0FBQ3hELEVBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3pELElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzNDLEdBQUc7QUFDSCxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8s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LENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztBQUM5RCxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQzlELEVBQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDN0QsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUM3RCxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQzNEO0FBQ0EsRUFBRSxLQUFLLEVBQUU7QUFDVCxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFO0FBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztBQUM1QztBQUNBLEVBQUUsS0FBSyxFQUFFO0FBQ1QsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ25ELElBQUksSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDeEUsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRTtBQUN2QyxNQUFN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 diff --git a/.obsidian/plugins/customjs/manifest.json b/.obsidian/plugins/customjs/manifest.json index b8ec7920..f5dc491f 100644 --- a/.obsidian/plugins/customjs/manifest.json +++ b/.obsidian/plugins/customjs/manifest.json @@ -1,10 +1,10 @@ -{ - "id": "customjs", - "name": "CustomJS", - "version": "1.0.18", - "minAppVersion": "0.9.12", - "description": "This plugin allows for the loading and reuse of custom javascript files inside your vault.", - "author": "Sam Lewis", - "authorUrl": "https://github.com/samlewis0602", - "isDesktopOnly": false +{ + "id": "customjs", + "name": "CustomJS", + "version": "1.0.19", + "minAppVersion": "0.9.12", + "description": "This plugin allows for the loading and reuse of custom javascript files inside your vault.", + "author": "Sam Lewis", + "authorUrl": "https://github.com/samlewis0602", + "isDesktopOnly": false } \ No newline at end of file diff --git a/.obsidian/plugins/customjs/styles.css b/.obsidian/plugins/customjs/styles.css index f85c2cc6..8c9223c9 100644 --- a/.obsidian/plugins/customjs/styles.css +++ b/.obsidian/plugins/customjs/styles.css @@ -1,4 +1,4 @@ -/* Sets all the text color to red! */ -/* body { - color: red; -} */ +/* Sets all the text color to red! */ +/* body { + color: red; +} */ diff --git a/.obsidian/plugins/find-unlinked-files/main.js b/.obsidian/plugins/find-unlinked-files/main.js index 06ff6fa6..07b7b12f 100644 --- a/.obsidian/plugins/find-unlinked-files/main.js +++ b/.obsidian/plugins/find-unlinked-files/main.js @@ -416,8 +416,8 @@ var Utils = class { isFileToIgnore() { return this.filesToIgnore.contains(this.filePath); } - isValid() { - return !this.hasTagsToIgnore() && !this.hasLinksToIgnore() && !this.checkDirectory() && !this.isFileToIgnore(); + shouldIgnoreFile() { + return this.hasTagsToIgnore() || this.hasLinksToIgnore() || this.checkDirectory() || this.isFileToIgnore(); } /** * Writes the text to the file and opens the file in a new pane if it is not opened yet @@ -523,12 +523,12 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { callback: () => this.deleteEmptyFiles() }); this.addSettingTab(new SettingsTab(this.app, this, DEFAULT_SETTINGS)); - this.app.workspace.on("file-menu", (menu, file, source, leaf) => { + this.app.workspace.on("file-menu", (menu, file, _, __) => { if (file instanceof import_obsidian4.TFolder) { menu.addItem((cb) => { cb.setIcon("search"); cb.setTitle("Find orphaned files"); - cb.onClick((e) => { + cb.onClick((_2) => { this.findOrphanedFiles(file.path + "/"); }); }); @@ -580,7 +580,7 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { const files = this.app.vault.getFiles(); const emptyFiles = []; for (const file of files) { - if (!new Utils( + if (new Utils( this.app, file.path, [], @@ -588,7 +588,7 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { this.settings.emptyFilesDirectories, this.settings.emptyFilesFilesToIgnore, this.settings.emptyFilesIgnoreDirectories - ).isValid()) { + ).shouldIgnoreFile()) { continue; } const content = await this.app.vault.read(file); @@ -618,31 +618,69 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { this.settings.openOutputFile ); } - findOrphanedFiles(dir) { + async findOrphanedFiles(dir) { + const startTime = Date.now(); const outFileName = this.settings.outputFileName + ".md"; - let outFile; - const files = this.app.vault.getFiles(); + let outFile = null; + const allFiles = this.app.vault.getFiles(); const markdownFiles = this.app.vault.getMarkdownFiles(); - const links = []; - markdownFiles.forEach((markFile) => { - if (markFile.path == outFileName) { - outFile = markFile; + const canvasFiles = allFiles.filter( + (file) => file.extension === "canvas" + ); + const links = /* @__PURE__ */ new Set(); + const findLinkInTextRegex = /\[\[(.*?)\]\]|\[.*?\]\((.*?)\)/g; + const canvasParsingPromises = canvasFiles.map( + async (canvasFile) => { + const canvasFileContent = JSON.parse( + await this.app.vault.cachedRead(canvasFile) + ); + canvasFileContent.nodes.forEach((node) => { + var _a; + let linkTexts = []; + if (node.type === "file") { + linkTexts.push(node.file); + } else if (node.type === "text") { + let match; + while ((match = findLinkInTextRegex.exec(node.text)) !== null) { + linkTexts.push((_a = match[1]) != null ? _a : match[2]); + } + } else { + return; + } + linkTexts.forEach((linkText) => { + const targetFile = this.app.metadataCache.getFirstLinkpathDest( + linkText.split("|")[0].split("#")[0], + canvasFile.path + ); + if (targetFile != null) + links.add(targetFile.path); + }); + }); + } + ); + markdownFiles.forEach((mdFile) => { + var _a, _b, _c; + if (outFile === null && mdFile.path == outFileName) { + outFile = mdFile; return; } - (0, import_obsidian4.iterateCacheRefs)( - this.app.metadataCache.getFileCache(markFile), - (cb) => { - const txt = this.app.metadataCache.getFirstLinkpathDest( - (0, import_obsidian4.getLinkpath)(cb.link), - markFile.path - ); - if (txt != null) - links.push(txt.path); - } - ); + const cache = this.app.metadataCache.getFileCache(mdFile); + for (const ref of [ + ...(_a = cache.embeds) != null ? _a : [], + ...(_b = cache.links) != null ? _b : [], + ...(_c = cache.frontmatterLinks) != null ? _c : [] + ]) { + const txt = this.app.metadataCache.getFirstLinkpathDest( + (0, import_obsidian4.getLinkpath)(ref.link), + mdFile.path + ); + if (txt != null) + links.add(txt.path); + } }); - const notLinkedFiles = files.filter( - (file) => this.isValid(file, links, dir) + await Promise.all(canvasParsingPromises); + const notLinkedFiles = allFiles.filter( + (file) => this.isFileAnOrphan(file, links, dir) ); notLinkedFiles.remove(outFile); let text = ""; @@ -661,6 +699,13 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { text, this.settings.openOutputFile ); + const endTime = Date.now(); + const diff = endTime - startTime; + if (diff > 1e3) { + new import_obsidian4.Notice( + `Found ${notLinkedFiles.length} orphaned files in ${diff}ms` + ); + } } async deleteOrphanedFiles() { var _a, _b; @@ -735,7 +780,7 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { this.settings.unresolvedLinksFilesToIgnore, this.settings.unresolvedLinksIgnoreDirectories ); - if (!utils.isValid()) + if (utils.shouldIgnoreFile()) continue; for (const link in brokenLinks[sourceFilepath]) { const linkFileType = link.substring(link.lastIndexOf(".") + 1); @@ -782,7 +827,7 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { const files = this.app.vault.getMarkdownFiles(); let withoutFiles = files.filter((file) => { var _a; - if (new Utils( + const utils = new Utils( this.app, file.path, [], @@ -790,11 +835,11 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { this.settings.withoutTagsDirectoriesToIgnore, this.settings.withoutTagsFilesToIgnore, true - ).isValid()) { - return ((_a = (0, import_obsidian4.getAllTags)(this.app.metadataCache.getFileCache(file)).length) != null ? _a : 0) <= 0; - } else { + ); + if (utils.shouldIgnoreFile()) { return false; } + return ((_a = (0, import_obsidian4.getAllTags)(this.app.metadataCache.getFileCache(file)).length) != null ? _a : 0) <= 0; }); withoutFiles.remove(outFile); let prefix; @@ -816,8 +861,8 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { * @param file file to check * @param links all links in the vault */ - isValid(file, links, dir) { - if (links.contains(file.path)) + isFileAnOrphan(file, links, dir) { + if (links.has(file.path)) return false; if (file.extension == "css") return false; @@ -843,7 +888,7 @@ var FindOrphanedFilesPlugin = class extends import_obsidian4.Plugin { this.settings.ignoreDirectories, dir ); - if (!utils.isValid()) + if (utils.shouldIgnoreFile()) return false; return true; } diff --git a/.obsidian/plugins/find-unlinked-files/manifest.json b/.obsidian/plugins/find-unlinked-files/manifest.json index eff8a675..a34bec70 100644 --- a/.obsidian/plugins/find-unlinked-files/manifest.json +++ b/.obsidian/plugins/find-unlinked-files/manifest.json @@ -1,7 +1,7 @@ { "id": "find-unlinked-files", "name": "Find orphaned files and broken links", - "version": "1.9.1", + "version": "1.10.0", "description": "Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.", "author": "Vinzent", "fundingUrl": "https://ko-fi.com/vinzent", diff --git a/.obsidian/plugins/media-extended/main.js b/.obsidian/plugins/media-extended/main.js index 9ba976c3..12524112 100644 --- a/.obsidian/plugins/media-extended/main.js +++ b/.obsidian/plugins/media-extended/main.js @@ -3,24 +3,24 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source visit the plugins github repository */ -"use strict";var EL=Object.create;var qo=Object.defineProperty;var TL=Object.getOwnPropertyDescriptor;var SL=Object.getOwnPropertyNames;var PL=Object.getPrototypeOf,CL=Object.prototype.hasOwnProperty;var $L=(t,e,n)=>e in t?qo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Ue=(t,e)=>()=>(t&&(e=t(t=0)),e);var dt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),xt=(t,e)=>{for(var n in e)qo(t,n,{get:e[n],enumerable:!0})},Tx=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of SL(e))!CL.call(t,r)&&r!==n&&qo(t,r,{get:()=>e[r],enumerable:!(i=TL(e,r))||i.enumerable});return t};var $=(t,e,n)=>(n=t!=null?EL(PL(t)):{},Tx(e||!t||!t.__esModule?qo(n,"default",{value:t,enumerable:!0}):n,t)),ML=t=>Tx(qo({},"__esModule",{value:!0}),t);var _=(t,e,n)=>($L(t,typeof e!="symbol"?e+"":e,n),n),og=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)};var k=(t,e,n)=>(og(t,e,"read from private field"),n?n.call(t):e.get(t)),O=(t,e,n)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,n)},we=(t,e,n,i)=>(og(t,e,"write to private field"),i?i.call(t,n):e.set(t,n),n);var M=(t,e,n)=>(og(t,e,"access private method"),n);var Wx=dt(ie=>{"use strict";var Ko=Symbol.for("react.element"),jL=Symbol.for("react.portal"),HL=Symbol.for("react.fragment"),qL=Symbol.for("react.strict_mode"),BL=Symbol.for("react.profiler"),WL=Symbol.for("react.provider"),KL=Symbol.for("react.context"),GL=Symbol.for("react.forward_ref"),YL=Symbol.for("react.suspense"),QL=Symbol.for("react.memo"),XL=Symbol.for("react.lazy"),Dx=Symbol.iterator;function ZL(t){return t===null||typeof t!="object"?null:(t=Dx&&t[Dx]||t["@@iterator"],typeof t=="function"?t:null)}var Fx={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},zx=Object.assign,Ux={};function Js(t,e,n){this.props=t,this.context=e,this.refs=Ux,this.updater=n||Fx}Js.prototype.isReactComponent={};Js.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Js.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function jx(){}jx.prototype=Js.prototype;function hg(t,e,n){this.props=t,this.context=e,this.refs=Ux,this.updater=n||Fx}var fg=hg.prototype=new jx;fg.constructor=hg;zx(fg,Js.prototype);fg.isPureReactComponent=!0;var Ox=Array.isArray,Hx=Object.prototype.hasOwnProperty,mg={current:null},qx={key:!0,ref:!0,__self:!0,__source:!0};function Bx(t,e,n){var i,r={},s=null,a=null;if(e!=null)for(i in e.ref!==void 0&&(a=e.ref),e.key!==void 0&&(s=""+e.key),e)Hx.call(e,i)&&!qx.hasOwnProperty(i)&&(r[i]=e[i]);var o=arguments.length-2;if(o===1)r.children=n;else if(1{"use strict";Kx.exports=Wx()});var i0=dt(me=>{"use strict";function wg(t,e){var n=t.length;t.push(e);e:for(;0>>1,r=t[i];if(0>>1;iad(o,n))lad(c,o)?(t[i]=c,t[l]=n,i=l):(t[i]=o,t[a]=n,i=a);else if(lad(c,n))t[i]=c,t[l]=n,i=l;else break e}}return e}function ad(t,e){var n=t.sortIndex-e.sortIndex;return n!==0?n:t.id-e.id}typeof performance=="object"&&typeof performance.now=="function"?(Gx=performance,me.unstable_now=function(){return Gx.now()}):(vg=Date,Yx=vg.now(),me.unstable_now=function(){return vg.now()-Yx});var Gx,vg,Yx,ci=[],lr=[],iI=1,gn=null,ht=3,cd=!1,is=!1,Yo=!1,Zx=typeof setTimeout=="function"?setTimeout:null,Jx=typeof clearTimeout=="function"?clearTimeout:null,Qx=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function bg(t){for(var e=Hn(lr);e!==null;){if(e.callback===null)ld(lr);else if(e.startTime<=t)ld(lr),e.sortIndex=e.expirationTime,wg(ci,e);else break;e=Hn(lr)}}function xg(t){if(Yo=!1,bg(t),!is)if(Hn(ci)!==null)is=!0,Eg(kg);else{var e=Hn(lr);e!==null&&Tg(xg,e.startTime-t)}}function kg(t,e){is=!1,Yo&&(Yo=!1,Jx(Qo),Qo=-1),cd=!0;var n=ht;try{for(bg(e),gn=Hn(ci);gn!==null&&(!(gn.expirationTime>e)||t&&!n0());){var i=gn.callback;if(typeof i=="function"){gn.callback=null,ht=gn.priorityLevel;var r=i(gn.expirationTime<=e);e=me.unstable_now(),typeof r=="function"?gn.callback=r:gn===Hn(ci)&&ld(ci),bg(e)}else ld(ci);gn=Hn(ci)}if(gn!==null)var s=!0;else{var a=Hn(lr);a!==null&&Tg(xg,a.startTime-e),s=!1}return s}finally{gn=null,ht=n,cd=!1}}var ud=!1,od=null,Qo=-1,e0=5,t0=-1;function n0(){return!(me.unstable_now()-t0t||125i?(t.sortIndex=n,wg(lr,t),Hn(ci)===null&&t===Hn(lr)&&(Yo?(Jx(Qo),Qo=-1):Yo=!0,Tg(xg,n-i))):(t.sortIndex=r,wg(ci,t),is||cd||(is=!0,Eg(kg))),t};me.unstable_shouldYield=n0;me.unstable_wrapCallback=function(t){var e=ht;return function(){var n=ht;ht=e;try{return t.apply(this,arguments)}finally{ht=n}}}});var s0=dt((yz,r0)=>{"use strict";r0.exports=i0()});var dT=dt(sn=>{"use strict";var pk=z(),nn=s0();function P(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Gg=Object.prototype.hasOwnProperty,rI=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,a0={},o0={};function sI(t){return Gg.call(o0,t)?!0:Gg.call(a0,t)?!1:rI.test(t)?o0[t]=!0:(a0[t]=!0,!1)}function aI(t,e,n,i){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function oI(t,e,n,i){if(e===null||typeof e>"u"||aI(t,e,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Pt(t,e,n,i,r,s,a){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=a}var ot={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){ot[t]=new Pt(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];ot[e]=new Pt(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){ot[t]=new Pt(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){ot[t]=new Pt(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){ot[t]=new Pt(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){ot[t]=new Pt(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){ot[t]=new Pt(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){ot[t]=new Pt(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){ot[t]=new Pt(t,5,!1,t.toLowerCase(),null,!1,!1)});var zv=/[\-:]([a-z])/g;function Uv(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(zv,Uv);ot[e]=new Pt(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(zv,Uv);ot[e]=new Pt(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(zv,Uv);ot[e]=new Pt(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){ot[t]=new Pt(t,1,!1,t.toLowerCase(),null,!1,!1)});ot.xlinkHref=new Pt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){ot[t]=new Pt(t,1,!1,t.toLowerCase(),null,!0,!0)});function jv(t,e,n,i){var r=ot.hasOwnProperty(e)?ot[e]:null;(r!==null?r.type!==0:i||!(2e in t?Wo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Ue=(t,e)=>()=>(t&&(e=t(t=0)),e);var pt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kt=(t,e)=>{for(var n in e)Wo(t,n,{get:e[n],enumerable:!0})},Ix=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of zL(e))!jL.call(t,r)&&r!==n&&Wo(t,r,{get:()=>e[r],enumerable:!(i=FL(e,r))||i.enumerable});return t};var $=(t,e,n)=>(n=t!=null?VL(UL(t)):{},Ix(e||!t||!t.__esModule?Wo(n,"default",{value:t,enumerable:!0}):n,t)),qL=t=>Ix(Wo({},"__esModule",{value:!0}),t);var _=(t,e,n)=>(HL(t,typeof e!="symbol"?e+"":e,n),n),fg=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)};var k=(t,e,n)=>(fg(t,e,"read from private field"),n?n.call(t):e.get(t)),V=(t,e,n)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,n)},we=(t,e,n,i)=>(fg(t,e,"write to private field"),i?i.call(t,n):e.set(t,n),n);var M=(t,e,n)=>(fg(t,e,"access private method"),n);var n0=pt(ie=>{"use strict";var Yo=Symbol.for("react.element"),nI=Symbol.for("react.portal"),iI=Symbol.for("react.fragment"),rI=Symbol.for("react.strict_mode"),sI=Symbol.for("react.profiler"),aI=Symbol.for("react.provider"),oI=Symbol.for("react.context"),lI=Symbol.for("react.forward_ref"),cI=Symbol.for("react.suspense"),uI=Symbol.for("react.memo"),dI=Symbol.for("react.lazy"),Wx=Symbol.iterator;function pI(t){return t===null||typeof t!="object"?null:(t=Wx&&t[Wx]||t["@@iterator"],typeof t=="function"?t:null)}var Yx={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qx=Object.assign,Xx={};function ea(t,e,n){this.props=t,this.context=e,this.refs=Xx,this.updater=n||Yx}ea.prototype.isReactComponent={};ea.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};ea.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Zx(){}Zx.prototype=ea.prototype;function wg(t,e,n){this.props=t,this.context=e,this.refs=Xx,this.updater=n||Yx}var bg=wg.prototype=new Zx;bg.constructor=wg;Qx(bg,ea.prototype);bg.isPureReactComponent=!0;var Kx=Array.isArray,Jx=Object.prototype.hasOwnProperty,xg={current:null},e0={key:!0,ref:!0,__self:!0,__source:!0};function t0(t,e,n){var i,r={},s=null,a=null;if(e!=null)for(i in e.ref!==void 0&&(a=e.ref),e.key!==void 0&&(s=""+e.key),e)Jx.call(e,i)&&!e0.hasOwnProperty(i)&&(r[i]=e[i]);var o=arguments.length-2;if(o===1)r.children=n;else if(1{"use strict";i0.exports=n0()});var h0=pt(ge=>{"use strict";function Pg(t,e){var n=t.length;t.push(e);e:for(;0>>1,r=t[i];if(0>>1;iud(o,n))lud(c,o)?(t[i]=c,t[l]=n,i=l):(t[i]=o,t[a]=n,i=a);else if(lud(c,n))t[i]=c,t[l]=n,i=l;else break e}}return e}function ud(t,e){var n=t.sortIndex-e.sortIndex;return n!==0?n:t.id-e.id}typeof performance=="object"&&typeof performance.now=="function"?(r0=performance,ge.unstable_now=function(){return r0.now()}):(Tg=Date,s0=Tg.now(),ge.unstable_now=function(){return Tg.now()-s0});var r0,Tg,s0,ui=[],dr=[],vI=1,wn=null,ht=3,hd=!1,as=!1,Xo=!1,l0=typeof setTimeout=="function"?setTimeout:null,c0=typeof clearTimeout=="function"?clearTimeout:null,a0=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Cg(t){for(var e=Wn(dr);e!==null;){if(e.callback===null)pd(dr);else if(e.startTime<=t)pd(dr),e.sortIndex=e.expirationTime,Pg(ui,e);else break;e=Wn(dr)}}function $g(t){if(Xo=!1,Cg(t),!as)if(Wn(ui)!==null)as=!0,Rg(Mg);else{var e=Wn(dr);e!==null&&Lg($g,e.startTime-t)}}function Mg(t,e){as=!1,Xo&&(Xo=!1,c0(Zo),Zo=-1),hd=!0;var n=ht;try{for(Cg(e),wn=Wn(ui);wn!==null&&(!(wn.expirationTime>e)||t&&!p0());){var i=wn.callback;if(typeof i=="function"){wn.callback=null,ht=wn.priorityLevel;var r=i(wn.expirationTime<=e);e=ge.unstable_now(),typeof r=="function"?wn.callback=r:wn===Wn(ui)&&pd(ui),Cg(e)}else pd(ui);wn=Wn(ui)}if(wn!==null)var s=!0;else{var a=Wn(dr);a!==null&&Lg($g,a.startTime-e),s=!1}return s}finally{wn=null,ht=n,hd=!1}}var fd=!1,dd=null,Zo=-1,u0=5,d0=-1;function p0(){return!(ge.unstable_now()-d0t||125i?(t.sortIndex=n,Pg(dr,t),Wn(ui)===null&&t===Wn(dr)&&(Xo?(c0(Zo),Zo=-1):Xo=!0,Lg($g,n-i))):(t.sortIndex=r,Pg(ui,t),as||hd||(as=!0,Rg(Mg))),t};ge.unstable_shouldYield=p0;ge.unstable_wrapCallback=function(t){var e=ht;return function(){var n=ht;ht=e;try{return t.apply(this,arguments)}finally{ht=n}}}});var m0=pt((Dz,f0)=>{"use strict";f0.exports=h0()});var bE=pt(on=>{"use strict";var xk=j(),sn=m0();function P(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),tv=Object.prototype.hasOwnProperty,yI=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,g0={},v0={};function _I(t){return tv.call(v0,t)?!0:tv.call(g0,t)?!1:yI.test(t)?v0[t]=!0:(g0[t]=!0,!1)}function wI(t,e,n,i){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function bI(t,e,n,i){if(e===null||typeof e>"u"||wI(t,e,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function $t(t,e,n,i,r,s,a){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=a}var lt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){lt[t]=new $t(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];lt[e]=new $t(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){lt[t]=new $t(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){lt[t]=new $t(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){lt[t]=new $t(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){lt[t]=new $t(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){lt[t]=new $t(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){lt[t]=new $t(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){lt[t]=new $t(t,5,!1,t.toLowerCase(),null,!1,!1)});var Kv=/[\-:]([a-z])/g;function Gv(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Kv,Gv);lt[e]=new $t(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Kv,Gv);lt[e]=new $t(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Kv,Gv);lt[e]=new $t(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){lt[t]=new $t(t,1,!1,t.toLowerCase(),null,!1,!1)});lt.xlinkHref=new $t("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){lt[t]=new $t(t,1,!1,t.toLowerCase(),null,!0,!0)});function Yv(t,e,n,i){var r=lt.hasOwnProperty(e)?lt[e]:null;(r!==null?r.type!==0:i||!(2o||r[a]!==s[o]){var l=` -`+r[a].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=a&&0<=o);break}}}finally{Pg=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?sl(t):""}function lI(t){switch(t.tag){case 5:return sl(t.type);case 16:return sl("Lazy");case 13:return sl("Suspense");case 19:return sl("SuspenseList");case 0:case 2:case 15:return t=Cg(t.type,!1),t;case 11:return t=Cg(t.type.render,!1),t;case 1:return t=Cg(t.type,!0),t;default:return""}}function Zg(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ia:return"Fragment";case na:return"Portal";case Yg:return"Profiler";case Hv:return"StrictMode";case Qg:return"Suspense";case Xg:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case mk:return(t.displayName||"Context")+".Consumer";case fk:return(t._context.displayName||"Context")+".Provider";case qv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Bv:return e=t.displayName||null,e!==null?e:Zg(t.type)||"Memo";case ur:e=t._payload,t=t._init;try{return Zg(t(e))}catch{}}return null}function cI(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Zg(e);case 8:return e===Hv?"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(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Er(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function vk(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function uI(t){var e=vk(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),i=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return r.call(this)},set:function(a){i=""+a,s.call(this,a)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(a){i=""+a},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function pd(t){t._valueTracker||(t._valueTracker=uI(t))}function yk(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),i="";return t&&(i=vk(t)?t.checked?"true":"false":t.value),t=i,t!==n?(e.setValue(t),!0):!1}function zd(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Jg(t,e){var n=e.checked;return Re({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function c0(t,e){var n=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;n=Er(e.value!=null?e.value:n),t._wrapperState={initialChecked:i,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function _k(t,e){e=e.checked,e!=null&&jv(t,"checked",e,!1)}function ev(t,e){_k(t,e);var n=Er(e.value),i=e.type;if(n!=null)i==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(i==="submit"||i==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?tv(t,e.type,n):e.hasOwnProperty("defaultValue")&&tv(t,e.type,Er(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function u0(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function tv(t,e,n){(e!=="number"||zd(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var al=Array.isArray;function fa(t,e,n,i){if(t=t.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=hd.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function _l(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var cl={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},dI=["Webkit","ms","Moz","O"];Object.keys(cl).forEach(function(t){dI.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),cl[e]=cl[t]})});function kk(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||cl.hasOwnProperty(t)&&cl[t]?(""+e).trim():e+"px"}function Ek(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=kk(n,e[n],i);n==="float"&&(n="cssFloat"),i?t.setProperty(n,r):t[n]=r}}var pI=Re({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rv(t,e){if(e){if(pI[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(P(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(P(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(P(61))}if(e.style!=null&&typeof e.style!="object")throw Error(P(62))}}function sv(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var av=null;function Wv(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var ov=null,ma=null,ga=null;function h0(t){if(t=Ol(t)){if(typeof ov!="function")throw Error(P(280));var e=t.stateNode;e&&(e=fp(e),ov(t.stateNode,t.type,e))}}function Tk(t){ma?ga?ga.push(t):ga=[t]:ma=t}function Sk(){if(ma){var t=ma,e=ga;if(ga=ma=null,h0(t),e)for(t=0;t>>=0,t===0?32:31-(kI(t)/EI|0)|0}var fd=64,md=4194304;function ol(t){switch(t&-t){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 t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function qd(t,e){var n=t.pendingLanes;if(n===0)return 0;var i=0,r=t.suspendedLanes,s=t.pingedLanes,a=n&268435455;if(a!==0){var o=a&~r;o!==0?i=ol(o):(s&=a,s!==0&&(i=ol(s)))}else a=n&~r,a!==0?i=ol(a):s!==0&&(i=ol(s));if(i===0)return 0;if(e!==0&&e!==i&&!(e&r)&&(r=i&-i,s=e&-e,r>=s||r===16&&(s&4194240)!==0))return e;if(i&4&&(i|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=i;0n;n++)e.push(t);return e}function Nl(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Gn(e),t[e]=n}function CI(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var i=t.eventTimes;for(t=t.expirationTimes;0=dl),x0=" ",k0=!1;function Wk(t,e){switch(t){case"keyup":return nA.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Kk(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ra=!1;function rA(t,e){switch(t){case"compositionend":return Kk(e);case"keypress":return e.which!==32?null:(k0=!0,x0);case"textInput":return t=e.data,t===x0&&k0?null:t;default:return null}}function sA(t,e){if(ra)return t==="compositionend"||!ey&&Wk(t,e)?(t=qk(),Rd=Xv=fr=null,ra=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=S0(n)}}function Xk(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Xk(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Zk(){for(var t=window,e=zd();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=zd(t.document)}return e}function ty(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function fA(t){var e=Zk(),n=t.focusedElem,i=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&Xk(n.ownerDocument.documentElement,n)){if(i!==null&&ty(n)){if(e=i.start,t=i.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!t.extend&&s>i&&(r=i,i=s,s=r),r=P0(n,s);var a=P0(n,i);r&&a&&(t.rangeCount!==1||t.anchorNode!==r.node||t.anchorOffset!==r.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),t.removeAllRanges(),s>i?(t.addRange(e),t.extend(a.node,a.offset)):(e.setEnd(a.node,a.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,sa=null,hv=null,hl=null,fv=!1;function C0(t,e,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;fv||sa==null||sa!==zd(i)||(i=sa,"selectionStart"in i&&ty(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),hl&&Tl(hl,i)||(hl=i,i=Kd(hv,"onSelect"),0la||(t.current=wv[la],wv[la]=null,la--)}function ge(t,e){la++,wv[la]=t.current,t.current=e}var Tr={},vt=Pr(Tr),zt=Pr(!1),ds=Tr;function ba(t,e){var n=t.type.contextTypes;if(!n)return Tr;var i=t.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=e[s];return i&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=r),r}function Ut(t){return t=t.childContextTypes,t!=null}function Yd(){xe(zt),xe(vt)}function O0(t,e,n){if(vt.current!==Tr)throw Error(P(168));ge(vt,e),ge(zt,n)}function oE(t,e,n){var i=t.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in e))throw Error(P(108,cI(t)||"Unknown",r));return Re({},n,i)}function Qd(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Tr,ds=vt.current,ge(vt,t),ge(zt,zt.current),!0}function V0(t,e,n){var i=t.stateNode;if(!i)throw Error(P(169));n?(t=oE(t,e,ds),i.__reactInternalMemoizedMergedChildContext=t,xe(zt),xe(vt),ge(vt,t)):xe(zt),ge(zt,n)}var Ii=null,mp=!1,Fg=!1;function lE(t){Ii===null?Ii=[t]:Ii.push(t)}function EA(t){mp=!0,lE(t)}function Cr(){if(!Fg&&Ii!==null){Fg=!0;var t=0,e=de;try{var n=Ii;for(de=1;t>=a,r-=a,Ai=1<<32-Gn(e)+r|n<I?(K=R,R=null):K=R.sibling;var H=p(m,R,g[I],x);if(H===null){R===null&&(R=K);break}t&&R&&H.alternate===null&&e(m,R),f=s(H,f,I),L===null?T=H:L.sibling=H,L=H,R=K}if(I===g.length)return n(m,R),Pe&&rs(m,I),T;if(R===null){for(;II?(K=R,R=null):K=R.sibling;var _e=p(m,R,H.value,x);if(_e===null){R===null&&(R=K);break}t&&R&&_e.alternate===null&&e(m,R),f=s(_e,f,I),L===null?T=_e:L.sibling=_e,L=_e,R=K}if(H.done)return n(m,R),Pe&&rs(m,I),T;if(R===null){for(;!H.done;I++,H=g.next())H=d(m,H.value,x),H!==null&&(f=s(H,f,I),L===null?T=H:L.sibling=H,L=H);return Pe&&rs(m,I),T}for(R=i(m,R);!H.done;I++,H=g.next())H=h(R,m,I,H.value,x),H!==null&&(t&&H.alternate!==null&&R.delete(H.key===null?I:H.key),f=s(H,f,I),L===null?T=H:L.sibling=H,L=H);return t&&R.forEach(function(J){return e(m,J)}),Pe&&rs(m,I),T}function w(m,f,g,x){if(typeof g=="object"&&g!==null&&g.type===ia&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case dd:e:{for(var T=g.key,L=f;L!==null;){if(L.key===T){if(T=g.type,T===ia){if(L.tag===7){n(m,L.sibling),f=r(L,g.props.children),f.return=m,m=f;break e}}else if(L.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===ur&&B0(T)===L.type){n(m,L.sibling),f=r(L,g.props),f.ref=tl(m,L,g),f.return=m,m=f;break e}n(m,L);break}else e(m,L);L=L.sibling}g.type===ia?(f=us(g.props.children,m.mode,x,g.key),f.return=m,m=f):(x=Fd(g.type,g.key,g.props,null,m.mode,x),x.ref=tl(m,f,g),x.return=m,m=x)}return a(m);case na:e:{for(L=g.key;f!==null;){if(f.key===L)if(f.tag===4&&f.stateNode.containerInfo===g.containerInfo&&f.stateNode.implementation===g.implementation){n(m,f.sibling),f=r(f,g.children||[]),f.return=m,m=f;break e}else{n(m,f);break}else e(m,f);f=f.sibling}f=Kg(g,m.mode,x),f.return=m,m=f}return a(m);case ur:return L=g._init,w(m,f,L(g._payload),x)}if(al(g))return y(m,f,g,x);if(Xo(g))return v(m,f,g,x);Sd(m,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,f!==null&&f.tag===6?(n(m,f.sibling),f=r(f,g),f.return=m,m=f):(n(m,f),f=Wg(g,m.mode,x),f.return=m,m=f),a(m)):n(m,f)}return w}var ka=gE(!0),vE=gE(!1),Vl={},fi=Pr(Vl),$l=Pr(Vl),Ml=Pr(Vl);function ls(t){if(t===Vl)throw Error(P(174));return t}function uy(t,e){switch(ge(Ml,e),ge($l,t),ge(fi,Vl),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:iv(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=iv(e,t)}xe(fi),ge(fi,e)}function Ea(){xe(fi),xe($l),xe(Ml)}function yE(t){ls(Ml.current);var e=ls(fi.current),n=iv(e,t.type);e!==n&&(ge($l,t),ge(fi,n))}function dy(t){$l.current===t&&(xe(fi),xe($l))}var $e=Pr(0);function np(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var zg=[];function py(){for(var t=0;tn?n:4,t(!0);var i=Ug.transition;Ug.transition={};try{t(!1),e()}finally{de=n,Ug.transition=i}}function AE(){return xn().memoizedState}function CA(t,e,n){var i=xr(t);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},NE(t))DE(e,n);else if(n=pE(t,e,n,i),n!==null){var r=St();Yn(n,t,i,r),OE(n,e,i)}}function $A(t,e,n){var i=xr(t),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(NE(t))DE(e,r);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var a=e.lastRenderedState,o=s(a,n);if(r.hasEagerState=!0,r.eagerState=o,Qn(o,a)){var l=e.interleaved;l===null?(r.next=r,ly(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}n=pE(t,e,r,i),n!==null&&(r=St(),Yn(n,t,i,r),OE(n,e,i))}}function NE(t){var e=t.alternate;return t===Me||e!==null&&e===Me}function DE(t,e){fl=ip=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function OE(t,e,n){if(n&4194240){var i=e.lanes;i&=t.pendingLanes,n|=i,e.lanes=n,Gv(t,n)}}var rp={readContext:bn,useCallback:ft,useContext:ft,useEffect:ft,useImperativeHandle:ft,useInsertionEffect:ft,useLayoutEffect:ft,useMemo:ft,useReducer:ft,useRef:ft,useState:ft,useDebugValue:ft,useDeferredValue:ft,useTransition:ft,useMutableSource:ft,useSyncExternalStore:ft,useId:ft,unstable_isNewReconciler:!1},MA={readContext:bn,useCallback:function(t,e){return di().memoizedState=[t,e===void 0?null:e],t},useContext:bn,useEffect:K0,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Nd(4194308,4,$E.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Nd(4194308,4,t,e)},useInsertionEffect:function(t,e){return Nd(4,2,t,e)},useMemo:function(t,e){var n=di();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var i=di();return e=n!==void 0?n(e):e,i.memoizedState=i.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},i.queue=t,t=t.dispatch=CA.bind(null,Me,t),[i.memoizedState,t]},useRef:function(t){var e=di();return t={current:t},e.memoizedState=t},useState:W0,useDebugValue:vy,useDeferredValue:function(t){return di().memoizedState=t},useTransition:function(){var t=W0(!1),e=t[0];return t=PA.bind(null,t[1]),di().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var i=Me,r=di();if(Pe){if(n===void 0)throw Error(P(407));n=n()}else{if(n=e(),Je===null)throw Error(P(349));hs&30||bE(i,e,n)}r.memoizedState=n;var s={value:n,getSnapshot:e};return r.queue=s,K0(kE.bind(null,i,s,t),[t]),i.flags|=2048,Il(9,xE.bind(null,i,s,n,e),void 0,null),n},useId:function(){var t=di(),e=Je.identifierPrefix;if(Pe){var n=Ni,i=Ai;n=(i&~(1<<32-Gn(i)-1)).toString(32)+n,e=":"+e+"R"+n,n=Rl++,0")&&(l=l.replace("",t.displayName)),l}while(1<=a&&0<=o);break}}}finally{Ag=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?ol(t):""}function xI(t){switch(t.tag){case 5:return ol(t.type);case 16:return ol("Lazy");case 13:return ol("Suspense");case 19:return ol("SuspenseList");case 0:case 2:case 15:return t=Ng(t.type,!1),t;case 11:return t=Ng(t.type.render,!1),t;case 1:return t=Ng(t.type,!0),t;default:return""}}function sv(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ra:return"Fragment";case ia:return"Portal";case nv:return"Profiler";case Qv:return"StrictMode";case iv:return"Suspense";case rv:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Ek:return(t.displayName||"Context")+".Consumer";case Tk:return(t._context.displayName||"Context")+".Provider";case Xv:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Zv:return e=t.displayName||null,e!==null?e:sv(t.type)||"Memo";case hr:e=t._payload,t=t._init;try{return sv(t(e))}catch{}}return null}function kI(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return sv(e);case 8:return e===Qv?"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(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Pr(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Pk(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function TI(t){var e=Pk(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),i=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return r.call(this)},set:function(a){i=""+a,s.call(this,a)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(a){i=""+a},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function gd(t){t._valueTracker||(t._valueTracker=TI(t))}function Ck(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),i="";return t&&(i=Pk(t)?t.checked?"true":"false":t.value),t=i,t!==n?(e.setValue(t),!0):!1}function qd(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function av(t,e){var n=e.checked;return Re({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function _0(t,e){var n=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;n=Pr(e.value!=null?e.value:n),t._wrapperState={initialChecked:i,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function $k(t,e){e=e.checked,e!=null&&Yv(t,"checked",e,!1)}function ov(t,e){$k(t,e);var n=Pr(e.value),i=e.type;if(n!=null)i==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(i==="submit"||i==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?lv(t,e.type,n):e.hasOwnProperty("defaultValue")&&lv(t,e.type,Pr(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function w0(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function lv(t,e,n){(e!=="number"||qd(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var ll=Array.isArray;function ma(t,e,n,i){if(t=t.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=vd.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function bl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var dl={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},EI=["Webkit","ms","Moz","O"];Object.keys(dl).forEach(function(t){EI.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),dl[e]=dl[t]})});function Ik(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||dl.hasOwnProperty(t)&&dl[t]?(""+e).trim():e+"px"}function Ak(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=Ik(n,e[n],i);n==="float"&&(n="cssFloat"),i?t.setProperty(n,r):t[n]=r}}var SI=Re({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function dv(t,e){if(e){if(SI[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(P(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(P(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(P(61))}if(e.style!=null&&typeof e.style!="object")throw Error(P(62))}}function pv(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var hv=null;function Jv(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var fv=null,ga=null,va=null;function k0(t){if(t=Fl(t)){if(typeof fv!="function")throw Error(P(280));var e=t.stateNode;e&&(e=yp(e),fv(t.stateNode,t.type,e))}}function Nk(t){ga?va?va.push(t):va=[t]:ga=t}function Dk(){if(ga){var t=ga,e=va;if(va=ga=null,k0(t),e)for(t=0;t>>=0,t===0?32:31-(OI(t)/VI|0)|0}var yd=64,_d=4194304;function cl(t){switch(t&-t){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 t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Gd(t,e){var n=t.pendingLanes;if(n===0)return 0;var i=0,r=t.suspendedLanes,s=t.pingedLanes,a=n&268435455;if(a!==0){var o=a&~r;o!==0?i=cl(o):(s&=a,s!==0&&(i=cl(s)))}else a=n&~r,a!==0?i=cl(a):s!==0&&(i=cl(s));if(i===0)return 0;if(e!==0&&e!==i&&!(e&r)&&(r=i&-i,s=e&-e,r>=s||r===16&&(s&4194240)!==0))return e;if(i&4&&(i|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=i;0n;n++)e.push(t);return e}function Ol(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Xn(e),t[e]=n}function jI(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var i=t.eventTimes;for(t=t.expirationTimes;0=hl),L0=" ",I0=!1;function nT(t,e){switch(t){case"keyup":return gA.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function iT(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var sa=!1;function yA(t,e){switch(t){case"compositionend":return iT(e);case"keypress":return e.which!==32?null:(I0=!0,L0);case"textInput":return t=e.data,t===L0&&I0?null:t;default:return null}}function _A(t,e){if(sa)return t==="compositionend"||!oy&&nT(t,e)?(t=eT(),Nd=ry=vr=null,sa=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=D0(n)}}function oT(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?oT(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function lT(){for(var t=window,e=qd();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=qd(t.document)}return e}function ly(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function CA(t){var e=lT(),n=t.focusedElem,i=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&oT(n.ownerDocument.documentElement,n)){if(i!==null&&ly(n)){if(e=i.start,t=i.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!t.extend&&s>i&&(r=i,i=s,s=r),r=O0(n,s);var a=O0(n,i);r&&a&&(t.rangeCount!==1||t.anchorNode!==r.node||t.anchorOffset!==r.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),t.removeAllRanges(),s>i?(t.addRange(e),t.extend(a.node,a.offset)):(e.setEnd(a.node,a.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,aa=null,wv=null,ml=null,bv=!1;function V0(t,e,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;bv||aa==null||aa!==qd(i)||(i=aa,"selectionStart"in i&&ly(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),ml&&Pl(ml,i)||(ml=i,i=Xd(wv,"onSelect"),0ca||(t.current=Pv[ca],Pv[ca]=null,ca--)}function ve(t,e){ca++,Pv[ca]=t.current,t.current=e}var Cr={},vt=Mr(Cr),jt=Mr(!1),fs=Cr;function xa(t,e){var n=t.type.contextTypes;if(!n)return Cr;var i=t.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=e[s];return i&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=r),r}function Ht(t){return t=t.childContextTypes,t!=null}function Jd(){xe(jt),xe(vt)}function K0(t,e,n){if(vt.current!==Cr)throw Error(P(168));ve(vt,e),ve(jt,n)}function vT(t,e,n){var i=t.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in e))throw Error(P(108,kI(t)||"Unknown",r));return Re({},n,i)}function ep(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Cr,fs=vt.current,ve(vt,t),ve(jt,jt.current),!0}function G0(t,e,n){var i=t.stateNode;if(!i)throw Error(P(169));n?(t=vT(t,e,fs),i.__reactInternalMemoizedMergedChildContext=t,xe(jt),xe(vt),ve(vt,t)):xe(jt),ve(jt,n)}var Ai=null,_p=!1,Wg=!1;function yT(t){Ai===null?Ai=[t]:Ai.push(t)}function VA(t){_p=!0,yT(t)}function Rr(){if(!Wg&&Ai!==null){Wg=!0;var t=0,e=pe;try{var n=Ai;for(pe=1;t>=a,r-=a,Ni=1<<32-Xn(e)+r|n<I?(z=R,R=null):z=R.sibling;var A=p(m,R,g[I],x);if(A===null){R===null&&(R=z);break}t&&R&&A.alternate===null&&e(m,R),f=s(A,f,I),L===null?E=A:L.sibling=A,L=A,R=z}if(I===g.length)return n(m,R),Pe&&os(m,I),E;if(R===null){for(;II?(z=R,R=null):z=R.sibling;var oe=p(m,R,A.value,x);if(oe===null){R===null&&(R=z);break}t&&R&&oe.alternate===null&&e(m,R),f=s(oe,f,I),L===null?E=oe:L.sibling=oe,L=oe,R=z}if(A.done)return n(m,R),Pe&&os(m,I),E;if(R===null){for(;!A.done;I++,A=g.next())A=d(m,A.value,x),A!==null&&(f=s(A,f,I),L===null?E=A:L.sibling=A,L=A);return Pe&&os(m,I),E}for(R=i(m,R);!A.done;I++,A=g.next())A=h(R,m,I,A.value,x),A!==null&&(t&&A.alternate!==null&&R.delete(A.key===null?I:A.key),f=s(A,f,I),L===null?E=A:L.sibling=A,L=A);return t&&R.forEach(function(ee){return e(m,ee)}),Pe&&os(m,I),E}function w(m,f,g,x){if(typeof g=="object"&&g!==null&&g.type===ra&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case md:e:{for(var E=g.key,L=f;L!==null;){if(L.key===E){if(E=g.type,E===ra){if(L.tag===7){n(m,L.sibling),f=r(L,g.props.children),f.return=m,m=f;break e}}else if(L.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===hr&&tk(E)===L.type){n(m,L.sibling),f=r(L,g.props),f.ref=il(m,L,g),f.return=m,m=f;break e}n(m,L);break}else e(m,L);L=L.sibling}g.type===ra?(f=hs(g.props.children,m.mode,x,g.key),f.return=m,m=f):(x=Hd(g.type,g.key,g.props,null,m.mode,x),x.ref=il(m,f,g),x.return=m,m=x)}return a(m);case ia:e:{for(L=g.key;f!==null;){if(f.key===L)if(f.tag===4&&f.stateNode.containerInfo===g.containerInfo&&f.stateNode.implementation===g.implementation){n(m,f.sibling),f=r(f,g.children||[]),f.return=m,m=f;break e}else{n(m,f);break}else e(m,f);f=f.sibling}f=ev(g,m.mode,x),f.return=m,m=f}return a(m);case hr:return L=g._init,w(m,f,L(g._payload),x)}if(ll(g))return y(m,f,g,x);if(Jo(g))return v(m,f,g,x);Md(m,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,f!==null&&f.tag===6?(n(m,f.sibling),f=r(f,g),f.return=m,m=f):(n(m,f),f=Jg(g,m.mode,x),f.return=m,m=f),a(m)):n(m,f)}return w}var Ta=ST(!0),PT=ST(!1),zl={},mi=Mr(zl),Rl=Mr(zl),Ll=Mr(zl);function ds(t){if(t===zl)throw Error(P(174));return t}function vy(t,e){switch(ve(Ll,e),ve(Rl,t),ve(mi,zl),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:uv(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=uv(e,t)}xe(mi),ve(mi,e)}function Ea(){xe(mi),xe(Rl),xe(Ll)}function CT(t){ds(Ll.current);var e=ds(mi.current),n=uv(e,t.type);e!==n&&(ve(Rl,t),ve(mi,n))}function yy(t){Rl.current===t&&(xe(mi),xe(Rl))}var $e=Mr(0);function ap(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Kg=[];function _y(){for(var t=0;tn?n:4,t(!0);var i=Gg.transition;Gg.transition={};try{t(!1),e()}finally{pe=n,Gg.transition=i}}function qT(){return Sn().memoizedState}function jA(t,e,n){var i=Er(t);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},BT(t))WT(e,n);else if(n=xT(t,e,n,i),n!==null){var r=Ct();Zn(n,t,i,r),KT(n,e,i)}}function HA(t,e,n){var i=Er(t),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(BT(t))WT(e,r);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var a=e.lastRenderedState,o=s(a,n);if(r.hasEagerState=!0,r.eagerState=o,Jn(o,a)){var l=e.interleaved;l===null?(r.next=r,my(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}n=xT(t,e,r,i),n!==null&&(r=Ct(),Zn(n,t,i,r),KT(n,e,i))}}function BT(t){var e=t.alternate;return t===Me||e!==null&&e===Me}function WT(t,e){gl=op=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function KT(t,e,n){if(n&4194240){var i=e.lanes;i&=t.pendingLanes,n|=i,e.lanes=n,ty(t,n)}}var lp={readContext:En,useCallback:ft,useContext:ft,useEffect:ft,useImperativeHandle:ft,useInsertionEffect:ft,useLayoutEffect:ft,useMemo:ft,useReducer:ft,useRef:ft,useState:ft,useDebugValue:ft,useDeferredValue:ft,useTransition:ft,useMutableSource:ft,useSyncExternalStore:ft,useId:ft,unstable_isNewReconciler:!1},qA={readContext:En,useCallback:function(t,e){return pi().memoizedState=[t,e===void 0?null:e],t},useContext:En,useEffect:ik,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,Fd(4194308,4,FT.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Fd(4194308,4,t,e)},useInsertionEffect:function(t,e){return Fd(4,2,t,e)},useMemo:function(t,e){var n=pi();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var i=pi();return e=n!==void 0?n(e):e,i.memoizedState=i.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},i.queue=t,t=t.dispatch=jA.bind(null,Me,t),[i.memoizedState,t]},useRef:function(t){var e=pi();return t={current:t},e.memoizedState=t},useState:nk,useDebugValue:Ty,useDeferredValue:function(t){return pi().memoizedState=t},useTransition:function(){var t=nk(!1),e=t[0];return t=UA.bind(null,t[1]),pi().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var i=Me,r=pi();if(Pe){if(n===void 0)throw Error(P(407));n=n()}else{if(n=e(),tt===null)throw Error(P(349));gs&30||RT(i,e,n)}r.memoizedState=n;var s={value:n,getSnapshot:e};return r.queue=s,ik(IT.bind(null,i,s,t),[t]),i.flags|=2048,Nl(9,LT.bind(null,i,s,n,e),void 0,null),n},useId:function(){var t=pi(),e=tt.identifierPrefix;if(Pe){var n=Di,i=Ni;n=(i&~(1<<32-Xn(i)-1)).toString(32)+n,e=":"+e+"R"+n,n=Il++,0<\/script>",t=t.removeChild(t.firstChild)):typeof i.is=="string"?t=a.createElement(n,{is:i.is}):(t=a.createElement(n),n==="select"&&(a=t,i.multiple?a.multiple=!0:i.size&&(a.size=i.size))):t=a.createElementNS(t,n),t[pi]=e,t[Cl]=i,WE(t,e,!1,!1),e.stateNode=t;e:{switch(a=sv(n,i),n){case"dialog":be("cancel",t),be("close",t),r=i;break;case"iframe":case"object":case"embed":be("load",t),r=i;break;case"video":case"audio":for(r=0;rSa&&(e.flags|=128,i=!0,nl(s,!1),e.lanes=4194304)}else{if(!i)if(t=np(a),t!==null){if(e.flags|=128,i=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),nl(s,!0),s.tail===null&&s.tailMode==="hidden"&&!a.alternate&&!Pe)return mt(e),null}else 2*Oe()-s.renderingStartTime>Sa&&n!==1073741824&&(e.flags|=128,i=!0,nl(s,!1),e.lanes=4194304);s.isBackwards?(a.sibling=e.child,e.child=a):(n=s.last,n!==null?n.sibling=a:e.child=a,s.last=a)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Oe(),e.sibling=null,n=$e.current,ge($e,i?n&1|2:n&1),e):(mt(e),null);case 22:case 23:return ky(),i=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?Jt&1073741824&&(mt(e),e.subtreeFlags&6&&(e.flags|=8192)):mt(e),null;case 24:return null;case 25:return null}throw Error(P(156,e.tag))}function VA(t,e){switch(iy(e),e.tag){case 1:return Ut(e.type)&&Yd(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Ea(),xe(zt),xe(vt),py(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return dy(e),null;case 13:if(xe($e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(P(340));xa()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return xe($e),null;case 4:return Ea(),null;case 10:return oy(e.type._context),null;case 22:case 23:return ky(),null;case 24:return null;default:return null}}var Cd=!1,gt=!1,FA=typeof WeakSet=="function"?WeakSet:Set,A=null;function pa(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){De(t,e,i)}else n.current=null}function Lv(t,e,n){try{n()}catch(i){De(t,e,i)}}var nk=!1;function zA(t,e){if(mv=Bd,t=Zk(),ty(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var a=0,o=-1,l=-1,c=0,u=0,d=t,p=null;t:for(;;){for(var h;d!==n||r!==0&&d.nodeType!==3||(o=a+r),d!==s||i!==0&&d.nodeType!==3||(l=a+i),d.nodeType===3&&(a+=d.nodeValue.length),(h=d.firstChild)!==null;)p=d,d=h;for(;;){if(d===t)break t;if(p===n&&++c===r&&(o=a),p===s&&++u===i&&(l=a),(h=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=h}n=o===-1||l===-1?null:{start:o,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(gv={focusedElem:t,selectionRange:n},Bd=!1,A=e;A!==null;)if(e=A,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,A=t;else for(;A!==null;){e=A;try{var y=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var v=y.memoizedProps,w=y.memoizedState,m=e.stateNode,f=m.getSnapshotBeforeUpdate(e.elementType===e.type?v:Bn(e.type,v),w);m.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var g=e.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(P(163))}}catch(x){De(e,e.return,x)}if(t=e.sibling,t!==null){t.return=e.return,A=t;break}A=e.return}return y=nk,nk=!1,y}function ml(t,e,n){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&t)===t){var s=r.destroy;r.destroy=void 0,s!==void 0&&Lv(e,n,s)}r=r.next}while(r!==i)}}function yp(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var i=n.create;n.destroy=i()}n=n.next}while(n!==e)}}function Iv(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function YE(t){var e=t.alternate;e!==null&&(t.alternate=null,YE(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[pi],delete e[Cl],delete e[_v],delete e[xA],delete e[kA])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function QE(t){return t.tag===5||t.tag===3||t.tag===4}function ik(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||QE(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Av(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Gd));else if(i!==4&&(t=t.child,t!==null))for(Av(t,e,n),t=t.sibling;t!==null;)Av(t,e,n),t=t.sibling}function Nv(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(i!==4&&(t=t.child,t!==null))for(Nv(t,e,n),t=t.sibling;t!==null;)Nv(t,e,n),t=t.sibling}var st=null,Wn=!1;function cr(t,e,n){for(n=n.child;n!==null;)XE(t,e,n),n=n.sibling}function XE(t,e,n){if(hi&&typeof hi.onCommitFiberUnmount=="function")try{hi.onCommitFiberUnmount(up,n)}catch{}switch(n.tag){case 5:gt||pa(n,e);case 6:var i=st,r=Wn;st=null,cr(t,e,n),st=i,Wn=r,st!==null&&(Wn?(t=st,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):st.removeChild(n.stateNode));break;case 18:st!==null&&(Wn?(t=st,n=n.stateNode,t.nodeType===8?Vg(t.parentNode,n):t.nodeType===1&&Vg(t,n),kl(t)):Vg(st,n.stateNode));break;case 4:i=st,r=Wn,st=n.stateNode.containerInfo,Wn=!0,cr(t,e,n),st=i,Wn=r;break;case 0:case 11:case 14:case 15:if(!gt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,a=s.destroy;s=s.tag,a!==void 0&&(s&2||s&4)&&Lv(n,e,a),r=r.next}while(r!==i)}cr(t,e,n);break;case 1:if(!gt&&(pa(n,e),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(o){De(n,e,o)}cr(t,e,n);break;case 21:cr(t,e,n);break;case 22:n.mode&1?(gt=(i=gt)||n.memoizedState!==null,cr(t,e,n),gt=i):cr(t,e,n);break;default:cr(t,e,n)}}function rk(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new FA),e.forEach(function(i){var r=YA.bind(null,t,i);n.has(i)||(n.add(i),i.then(r,r))})}}function qn(t,e){var n=e.deletions;if(n!==null)for(var i=0;ir&&(r=a),i&=~s}if(i=r,i=Oe()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*jA(i/1960))-i,10t?16:t,mr===null)var i=!1;else{if(t=mr,mr=null,op=0,se&6)throw Error(P(331));var r=se;for(se|=4,A=t.current;A!==null;){var s=A,a=s.child;if(A.flags&16){var o=s.deletions;if(o!==null){for(var l=0;lOe()-by?cs(t,0):wy|=n),jt(t,e)}function sT(t,e){e===0&&(t.mode&1?(e=md,md<<=1,!(md&130023424)&&(md=4194304)):e=1);var n=St();t=Fi(t,e),t!==null&&(Nl(t,e,n),jt(t,n))}function GA(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),sT(t,n)}function YA(t,e){var n=0;switch(t.tag){case 13:var i=t.stateNode,r=t.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=t.stateNode;break;default:throw Error(P(314))}i!==null&&i.delete(e),sT(t,n)}var aT;aT=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||zt.current)Ft=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return Ft=!1,DA(t,e,n);Ft=!!(t.flags&131072)}else Ft=!1,Pe&&e.flags&1048576&&cE(e,Zd,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Dd(t,e),t=e.pendingProps;var r=ba(e,vt.current);ya(e,n),r=fy(null,e,i,t,r,n);var s=my();return e.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Ut(i)?(s=!0,Qd(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,cy(e),r.updater=gp,e.stateNode=r,r._reactInternals=e,Tv(e,i,t,n),e=Cv(null,e,i,!0,s,n)):(e.tag=0,Pe&&s&&ny(e),Tt(null,e,r,n),e=e.child),e;case 16:i=e.elementType;e:{switch(Dd(t,e),t=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=XA(i),t=Bn(i,t),r){case 0:e=Pv(null,e,i,t,n);break e;case 1:e=J0(null,e,i,t,n);break e;case 11:e=X0(null,e,i,t,n);break e;case 14:e=Z0(null,e,i,Bn(i.type,t),n);break e}throw Error(P(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Bn(i,r),Pv(t,e,i,r,n);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Bn(i,r),J0(t,e,i,r,n);case 3:e:{if(HE(e),t===null)throw Error(P(387));i=e.pendingProps,s=e.memoizedState,r=s.element,hE(t,e),tp(e,i,null,n);var a=e.memoizedState;if(i=a.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){r=Ta(Error(P(423)),e),e=ek(t,e,i,n,r);break e}else if(i!==r){r=Ta(Error(P(424)),e),e=ek(t,e,i,n,r);break e}else for(en=_r(e.stateNode.containerInfo.firstChild),tn=e,Pe=!0,Kn=null,n=vE(e,null,i,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(xa(),i===r){e=zi(t,e,n);break e}Tt(t,e,i,n)}e=e.child}return e;case 5:return yE(e),t===null&&xv(e),i=e.type,r=e.pendingProps,s=t!==null?t.memoizedProps:null,a=r.children,vv(i,r)?a=null:s!==null&&vv(i,s)&&(e.flags|=32),jE(t,e),Tt(t,e,a,n),e.child;case 6:return t===null&&xv(e),null;case 13:return qE(t,e,n);case 4:return uy(e,e.stateNode.containerInfo),i=e.pendingProps,t===null?e.child=ka(e,null,i,n):Tt(t,e,i,n),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Bn(i,r),X0(t,e,i,r,n);case 7:return Tt(t,e,e.pendingProps,n),e.child;case 8:return Tt(t,e,e.pendingProps.children,n),e.child;case 12:return Tt(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(i=e.type._context,r=e.pendingProps,s=e.memoizedProps,a=r.value,ge(Jd,i._currentValue),i._currentValue=a,s!==null)if(Qn(s.value,a)){if(s.children===r.children&&!zt.current){e=zi(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var o=s.dependencies;if(o!==null){a=s.child;for(var l=o.firstContext;l!==null;){if(l.context===i){if(s.tag===1){l=Di(-1,n&-n),l.tag=2;var c=s.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),kv(s.return,n,e),o.lanes|=n;break}l=l.next}}else if(s.tag===10)a=s.type===e.type?null:s.child;else if(s.tag===18){if(a=s.return,a===null)throw Error(P(341));a.lanes|=n,o=a.alternate,o!==null&&(o.lanes|=n),kv(a,n,e),a=s.sibling}else a=s.child;if(a!==null)a.return=s;else for(a=s;a!==null;){if(a===e){a=null;break}if(s=a.sibling,s!==null){s.return=a.return,a=s;break}a=a.return}s=a}Tt(t,e,r.children,n),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,ya(e,n),r=bn(r),i=i(r),e.flags|=1,Tt(t,e,i,n),e.child;case 14:return i=e.type,r=Bn(i,e.pendingProps),r=Bn(i.type,r),Z0(t,e,i,r,n);case 15:return zE(t,e,e.type,e.pendingProps,n);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Bn(i,r),Dd(t,e),e.tag=1,Ut(i)?(t=!0,Qd(e)):t=!1,ya(e,n),mE(e,i,r),Tv(e,i,r,n),Cv(null,e,i,!0,t,n);case 19:return BE(t,e,n);case 22:return UE(t,e,n)}throw Error(P(156,e.tag))};function oT(t,e){return Ik(t,e)}function QA(t,e,n,i){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _n(t,e,n,i){return new QA(t,e,n,i)}function Ty(t){return t=t.prototype,!(!t||!t.isReactComponent)}function XA(t){if(typeof t=="function")return Ty(t)?1:0;if(t!=null){if(t=t.$$typeof,t===qv)return 11;if(t===Bv)return 14}return 2}function kr(t,e){var n=t.alternate;return n===null?(n=_n(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function Fd(t,e,n,i,r,s){var a=2;if(i=t,typeof t=="function")Ty(t)&&(a=1);else if(typeof t=="string")a=5;else e:switch(t){case ia:return us(n.children,r,s,e);case Hv:a=8,r|=8;break;case Yg:return t=_n(12,n,e,r|2),t.elementType=Yg,t.lanes=s,t;case Qg:return t=_n(13,n,e,r),t.elementType=Qg,t.lanes=s,t;case Xg:return t=_n(19,n,e,r),t.elementType=Xg,t.lanes=s,t;case gk:return wp(n,r,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case fk:a=10;break e;case mk:a=9;break e;case qv:a=11;break e;case Bv:a=14;break e;case ur:a=16,i=null;break e}throw Error(P(130,t==null?t:typeof t,""))}return e=_n(a,n,e,r),e.elementType=t,e.type=i,e.lanes=s,e}function us(t,e,n,i){return t=_n(7,t,i,e),t.lanes=n,t}function wp(t,e,n,i){return t=_n(22,t,i,e),t.elementType=gk,t.lanes=n,t.stateNode={isHidden:!1},t}function Wg(t,e,n){return t=_n(6,t,null,e),t.lanes=n,t}function Kg(t,e,n){return e=_n(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function ZA(t,e,n,i,r){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Mg(0),this.expirationTimes=Mg(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Mg(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Sy(t,e,n,i,r,s,a,o,l){return t=new ZA(t,e,n,o,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=_n(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},cy(s),t}function JA(t,e,n){var i=3{"use strict";function pT(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(pT)}catch(t){console.error(t)}}pT(),hT.exports=dT()});var zl=dt(My=>{"use strict";var fT=Fl();My.createRoot=fT.createRoot,My.hydrateRoot=fT.hydrateRoot;var bz});var yT=dt(vT=>{"use strict";var $a=z();function rN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var sN=typeof Object.is=="function"?Object.is:rN,aN=$a.useState,oN=$a.useEffect,lN=$a.useLayoutEffect,cN=$a.useDebugValue;function uN(t,e){var n=e(),i=aN({inst:{value:n,getSnapshot:e}}),r=i[0].inst,s=i[1];return lN(function(){r.value=n,r.getSnapshot=e,Ry(r)&&s({inst:r})},[t,n,e]),oN(function(){return Ry(r)&&s({inst:r}),t(function(){Ry(r)&&s({inst:r})})},[t]),cN(n),n}function Ry(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!sN(t,n)}catch{return!0}}function dN(t,e){return e()}var pN=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?dN:uN;vT.useSyncExternalStore=$a.useSyncExternalStore!==void 0?$a.useSyncExternalStore:pN});var wT=dt((Tz,_T)=>{"use strict";_T.exports=yT()});var xT=dt(bT=>{"use strict";var Sp=z(),hN=wT();function fN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var mN=typeof Object.is=="function"?Object.is:fN,gN=hN.useSyncExternalStore,vN=Sp.useRef,yN=Sp.useEffect,_N=Sp.useMemo,wN=Sp.useDebugValue;bT.useSyncExternalStoreWithSelector=function(t,e,n,i,r){var s=vN(null);if(s.current===null){var a={hasValue:!1,value:null};s.current=a}else a=s.current;s=_N(function(){function l(h){if(!c){if(c=!0,u=h,h=i(h),r!==void 0&&a.hasValue){var y=a.value;if(r(y,h))return d=y}return d=h}if(y=d,mN(u,h))return y;var v=i(h);return r!==void 0&&r(y,v)?y:(u=h,d=v)}var c=!1,u,d,p=n===void 0?null:n;return[function(){return l(e())},p===null?void 0:function(){return l(p())}]},[e,n,i,r]);var o=gN(t,s[0],s[1]);return yN(function(){a.hasValue=!0,a.value=o},[o]),wN(o),o}});var ET=dt((Pz,kT)=>{"use strict";kT.exports=xT()});function $N(){Ap=!0,queueMicrotask(jT)}function jT(){if(!Ma.length){Ap=!1;return}Oy=!0;for(let t=0;t=0;n--)Qy(e[n])}function HT(t){let e=$t();return Kl(e,t.length?t.bind(null,Wl.bind(e)):t,null)}function C(t){return Kl(Ct,t,null)}function Aa(t){return Kl(null,t,null)}function Zn(){Oy||jT()}function Bl(){return Ct}function et(t,e){try{return Kl(e,t,null)}catch(n){By(e,n);return}}function qy(t,e=Ct){return e?.$cx[t]}function RN(t,e,n=Ct){n&&(n.$cx={...n.$cx,[t]:e})}function LN(t){Ct&&(Ct.$eh=Ct.$eh?[t,...Ct.$eh]:[t])}function G(t){if(!t||!Ct)return t||CN;let e=Ct;return e.$d?Array.isArray(e.$d)?e.$d.push(t):e.$d=[e.$d,t]:e.$d=t,function(){e.$st!==Op&&(t.call(null),Vp(e.$d)?e.$d=null:Array.isArray(e.$d)&&e.$d.splice(e.$d.indexOf(t),1))}}function Wl(t=!0){if(this.$st===Op)return;let e=t?this.$ps||this[on]:this,n=this.$ns,i=null;for(;n&&n[on]===this;)Wl.call(n,!0),NT(n),i=n.$ns,n.$ns=null,n=i;t&&NT(this),n&&(n.$ps=t?this.$ps:this),e&&(e.$ns=n)}function NT(t){t.$st=Op,t.$d&&qT(t),t.$s&&Lp(t,0),t.$ps&&(t.$ps.$ns=null),t[on]=null,t.$s=null,t.$o=null,t.$ps=null,t.$cx=Hy,t.$eh=null}function qT(t){try{if(Array.isArray(t.$d))for(let e=t.$d.length-1;e>=0;e--){let n=t.$d[e];n.call(n)}else t.$d.call(t.$d);t.$d=null}catch(e){By(t,e)}}function Kl(t,e,n){let i=Ct,r=Ra;Ct=t,Ra=n;try{return e.call(t)}finally{Ct=i,Ra=r}}function By(t,e){if(!t||!t.$eh)throw e;let n=0,i=t.$eh.length,r=DT(e);for(n=0;n0){t.$s.length=an+En.length;for(let s=0;s=e)&&(t.$e&&t.$st===Ia&&(Ma.push(t),Ap||$N()),t.$st=e,t.$o))for(let n=0;nt();return e[on]=!0,e}function Xy(t){return YT(t)&&"set"in t}function qt(...t){}function gi(t){return t===null}function Le(t){return typeof t>"u"}function Zy(t){return gi(t)||Le(t)}function Gl(t){return t?.constructor===Object}function Be(t){return typeof t=="number"&&!Number.isNaN(t)}function F(t){return typeof t=="string"}function Jy(t){return typeof t=="boolean"}function yt(t){return typeof t=="function"}function qe(t){return Array.isArray(t)}function NN(t){return F(t)?new RegExp(t):t}function DN(t){return Ht?!1:t===window}function ON(t,e){return typeof process<"u",qt}function Fp(t){return!!t?.[ZT]}function FN(t){return t.originEvent}function JT(t,e){if(Fp(t))return t.triggers.walk(e)}function e_(t,e){return Fp(t)?t.triggers.findType(e):void 0}function eS(t,e){return!!e_(t,e)}function tS(t,e){e&&t.triggers.add(e)}function S(t,e,n,i){return Ht?qt:(t.addEventListener(e,n,i),G(()=>t.removeEventListener(e,n,i)))}function Yl(t){return!!t?.type.startsWith("pointer")}function Na(t){return!!t?.type.startsWith("touch")}function t_(t){return/^(click|mouse)/.test(t?.type??"")}function Hi(t){return!!t?.type.startsWith("key")}function zN(t){return Hi(t)&&t.key==="Enter"}function UN(t){return Hi(t)&&t.key==="Escape"}function Ql(t){return Hi(t)&&(t.key==="Enter"||t.key===" ")}function n_(t){return t instanceof Node}function jN(t){return n_(t)&&t.nodeType===1}function HN(t){return n_(t)&&t.nodeType===11}function qN(){return document.createDocumentFragment()}function BN(t){return Ht?t:document.createComment(t)}function Z(t,e,n){if(t)if(!n&&n!==""&&n!==0)t.removeAttribute(e);else{let i=n===!0?"":n+"";t.getAttribute(e)!==i&&t.setAttribute(e,i)}else return}function lt(t,e,n){if(t)!n&&n!==0?t.style.removeProperty(e):t.style.setProperty(e,n+"");else return}function WN(t,e,n){t.classList[n?"add":"remove"](e)}function KN(t,e){let n=e?`slot[name="${e}"]`:"slot:not([name])",r=t.shadowRoot?.querySelector(n)?.assignedNodes({flatten:!0})??[];return Array.prototype.filter.call(r,s=>s.nodeType==1)}function GN(t){let e=t.firstChild,n=e.getAttribute("shadowroot");e.parentNode.attachShadow({mode:n}).appendChild(e.content),e.remove()}function YN(t){return yt(t)?t():t}function Vy(t){let e=t;for(;typeof e=="function";)e=e.call(this);return e}function vi(t){return{id:Symbol(),provide:t}}function Rt(t,e,n=Bl()){let i=!Le(e);RN(t.id,i?e:t.provide?.(),n)}function Ie(t){return qy(t.id)}function Tn(t){return!Le(qy(t.id))}function QN(t){let e={};for(let n of Object.keys(t)){let i=t[n];e[n]=D(i,i)}return e}function i_(t,e){return HT(()=>{Hl.$$=new Dp(t,Bl(),e);let n=new t;return Hl.$$.e=n,Hl.$$=null,n})}function ee(t,e,n){t[Ay]||(t[Ay]=new Set),t[Ay].add(e)}function Ae(t,e,n){t[Ny]||(t[Ny]=new Set),t[Ny].add(e)}function _s(t){return Ie(t)}function Da(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function XN(t){return Xl(t.replace(/([A-Z])/g," $1"))}function Up(t){return t.replace(/-./g,e=>e[1].toUpperCase())}function iS(t){return rS(t).replace(/\s/g,"")}function rS(t){return Xl(t.replace(/-./g,e=>" "+e[1].toUpperCase()))}function Xl(t){return t.charAt(0).toUpperCase()+t.slice(1)}function ZN(t){return t.charAt(0).toLowerCase()+t.slice(1)}function eD(t){return t.replace(JN,"")}function jp(t,...e){return ce.createElement(ws.Provider,{value:t},...e)}function Hp(){return ce.useContext(ws).current}function qp(t){let e=Hp();return ce.useMemo(()=>qy(t.id,e),[e])}function tD(){return aS}function nD(t,e){var n;return n=class extends aS{},n.F=t,n.T=e,n}function r_(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function re(...t){return e=>t.forEach(n=>r_(n,e))}function iD(t,e){let n=ce.forwardRef((i,r)=>{let s=ce.useContext(ws),a=ce.useRef(null),o=ce.useRef();if(!o.current){let w=sD(),m=zT(t,w,i,s.current);w.e=m,o.current=w,a.current=m.scope}function l(){let w=o.current,m=s.current;if(window.cancelAnimationFrame(w.ea),w.ea=-1,w.e.$$.o){let f=zT(t,w,i,m);w.e=f,w.Q=!1,w.da=!1,a.current=f.scope}return w.a&&FT(w,w.a),w.da||(r_(r,w.e),w.da=!0),()=>Ip(w)}function c(w){let m=o.current;if(!m.da){m.a=w;return}window.cancelAnimationFrame(m.K),m.K=window.requestAnimationFrame(()=>{let f=o.current;f.K=-1,f.a!==w&&(Ip(f),w&&FT(f,w),f.a=w)})}ce.useEffect(()=>{let w=o.current;return window.cancelAnimationFrame(w.ea),w.ea=-1,function(){yt(i.children)&&(window.cancelAnimationFrame(w.K),w.K=-1,window.cancelAnimationFrame(w.E),w.E=-1,window.cancelAnimationFrame(w.ea),w.ea=window.requestAnimationFrame(()=>{w.ea=-1,Ip(w),w.e.$$.p(),w.e.$$[zp]=null,w.J={},w._={},a.current=null}))}},[]),ce.useEffect(Zn);let u=o.current,{children:d,...p}=i,h={},y=u.aa,v=Object.keys(p);u.J={};for(let w of[...y,...v])if(e.props.has(w))u.e.$props[w].set(v.includes(w)?p[w]:t.props?.[w]);else if(e.events?.has(w)||e.eventsRE?.test(w))u.J[w]=p[w];else if(e.domEvents?.has(w)||e.domEventsRE?.test(w)){let m=Da(w.slice(2));u._[m]=p[w],v.includes(w)?u.a&&!u.ca?.has(m)&&(u.ca||(u.ca=new Set),u.ca.add(m),u.a.addEventListener(m,u.ba)):(u.a?.removeEventListener(m,u.ba),u.ca?.delete(m))}else h[w]=p[w];return u.aa=v,jp(a,ce.createElement(rD,{effect:l}),yt(d)?d?.({...h,suppressHydrationWarning:!0,ref:c},u.e):d)});return n.displayName=t.name+"Bridge",n}function rD({effect:t}){return ce.useEffect(t,[]),null}function sD(){let t={a:null,aa:[],J:{},_:{},K:-1,E:-1,ea:-1,Q:!1,da:!1,ca:null,ba(e){let n=Le(e.detail)?[e]:[e.detail,e];t._[e.type]?.(...n)}};return t}function FT(t,e){if(!(t.a===e&&t.Q)){if(t.Q&&Ip(t),t._){t.ca||(t.ca=new Set);for(let n of Object.keys(t._))t.ca.has(n)||(e.addEventListener(n,t.ba),t.ca.add(n))}t.e.$$.x(e),t.E=window.requestAnimationFrame(()=>{t.e.$$.y(),t.E=-1}),t.Q=!0}}function Ip(t){if(t.Q&&(window.cancelAnimationFrame(t.E),t.E=-1,t.e.$$.s(),t.Q=!1,t.a&&t.ca)){for(let e of t.ca)t.a.removeEventListener(e,t.ba);t.ca.clear()}}function aD(t){let e=VT.get(t.type),n=Le(t.detail)?[t]:[t.detail,t];e||VT.set(t.type,e=`on${iS(t.type)}`),this.J[e]?.(...n)}function zT(t,e,n,i){let r=i_(t,{props:n,scope:i});return r.$$[zp]=aD.bind(e),r.$$.w(),r}function oS(t,e=!1){let n=typeof t;if(n!=="string")return!e&&n==="function"?oS(t()):e&&n==="boolean"?t+"":t;let i=e?'"':"<",r=e?""":"<",s=t.indexOf(i),a=t.indexOf("&");if(s<0&&a<0)return t;let o=0,l="";for(;s>=0&&a>=0;)s=0)do o=0);else for(;a>=0;)o(a.destroy(),null)))}return n.displayName=t.name+"Bridge",n}function Mr(t){return qp(t)}function pe(t,e){let[,n]=ce.useState();return ce.useEffect(()=>QT(()=>{t(),n({})}),[e??t]),t()}function Oa(t){return t?"true":"false"}function lS(t){let e=[];for(let n=0;n!e.includes(n)))}function qi(){let t,e;return{promise:new Promise((i,r)=>{t=i,e=r}),resolve:t,reject:e}}function _D(t,e,n){let i=new Promise((r,s)=>{let a=setTimeout(()=>{clearTimeout(a),s(n)},e)});return Promise.race([t,i])}function a_(t){return new Promise(e=>setTimeout(e,t))}function wD(t){return Ht?Promise.resolve():new Promise(e=>{window.requestAnimationFrame(n=>{t?.(n),e()})})}function Rr(t){if(Ht)return qt;let e=-1,n;function i(...r){n=r,!(e>=0)&&(e=window.requestAnimationFrame(()=>{t.apply(this,n),e=-1,n=void 0}))}return i}function o_(t,e){return Ht?Promise.resolve():new Promise(n=>{bD(i=>{t?.(i),n()},e)})}function l_(t){let[,e]=ce.useState(),n=ce.useRef(null);return n.current==null&&(n.current={state:{},$update:D({}),props:new Set}),ce.useEffect(()=>{let{state:i,$update:r,props:s}=n.current;return b(()=>{for(let a of s){let o=t[a]();i[a]=qe(o)?[...o]:o}r(),e({})})},[t]),ce.useMemo(()=>{let{state:i,$update:r,props:s}=n.current,a=!1;return s.clear(),new Proxy(i,{get(o,l){if(!s.has(l)&&l in t){s.add(l);let c=t[l]();i[l]=qe(c)?[...c]:c,a||(r.set({}),a=!0,queueMicrotask(()=>a=!1))}return i[l]},set(o,l,c){return l in t||(i[l]=c),!0}})},[t])}function X(t,e){return Ht?fD(t,{props:new Set(Object.keys(t.props||{}))}):iD(t,{props:new Set(Object.keys(t.props||{})),events:new Set(e?.events),eventsRE:e?.eventsRegex,domEvents:e?.domEvents,domEventsRE:e?.domEventsRegex})}var ce,Ht,on,Ap,Oy,Ct,Ra,En,an,Ma,Hy,CN,Ia,UT,ql,Op,Ky,ys,WT,Gy,b,XT,VN,ZT,j,Np,La,Ay,Ny,zp,nS,Dy,Dp,Hl,Mt,q,Xn,JN,ws,sS,aS,VT,oD,lD,uD,dD,Fy,zy,Uy,jy,hD,bD,bs,Lt=Ue(()=>{"use strict";"use client";ce=$(z(),1),Ht=typeof document>"u",on=Symbol(0),Ap=!1,Oy=!1,Ct=null,Ra=null,En=null,an=0,Ma=[],Hy={},CN=()=>{},Ia=0,UT=1,ql=2,Op=3;Ky=function(){this[on]=null,this.$ns=null,this.$ps=null,Ct&&Ct.append(this)},ys=Ky.prototype;ys.$cx=Hy;ys.$eh=null;ys.$c=null;ys.$d=null;ys.append=function(t){if(t[on]=this,t.$ps=this,this.$ns)if(t.$ns){let e=t.$ns;for(;e.$ns;)e=e.$ns;e.$ns=this.$ns,this.$ns.$ps=e}else t.$ns=this.$ns,this.$ns.$ps=t;this.$ns=t,t.$cx=t.$cx===Hy?this.$cx:{...this.$cx,...t.$cx},this.$eh&&(t.$eh=t.$eh?[...t.$eh,...this.$eh]:this.$eh)};ys.dispose=function(){Wl.call(this)};WT=function(e,n,i){Ky.call(this),this.$st=n?ql:Ia,this.$i=!1,this.$e=!1,this.$s=null,this.$o=null,this.$v=e,n&&(this.$c=n),i&&i.dirty&&(this.$ch=i.dirty)},Gy=WT.prototype;Object.setPrototypeOf(Gy,ys);Gy.$ch=IN;Gy.call=Wy;b=Ht?ON:QT;VN=Ht?class{}:Event,ZT=Symbol("DOM_EVENT"),j=class extends VN{constructor(e,...n){super(e,n[0]),this[XT]=!0,this.triggers=new Np,this.detail=n[0]?.detail;let i=n[0]?.trigger;i&&this.triggers.add(i)}get trigger(){return this.triggers.source}get originEvent(){return this.triggers.origin}get isOriginTrusted(){return this.triggers.origin?.isTrusted??!1}};XT=ZT;Np=class{constructor(){this.chain=[]}get source(){return this.chain[0]}get origin(){return this.chain[this.chain.length-1]}add(e){this.chain.push(e),Fp(e)&&this.chain.push(...e.triggers)}remove(e){return this.chain.splice(this.chain.indexOf(e),1)[0]}has(e){return this.chain.some(n=>n===e)}hasType(e){return!!this.findType(e)}findType(e){return this.chain.find(n=>n.type===e)}walk(e){for(let n of this.chain){let i=e(n);if(i)return[n,i]}}[Symbol.iterator](){return this.chain.values()}};La=class extends EventTarget{addEventListener(e,n,i){return super.addEventListener(e,n,i)}removeEventListener(e,n,i){return super.removeEventListener(e,n,i)}};Ay=Symbol(0),Ny=Symbol(0),zp=Symbol(0),Dy={},Dp=class{constructor(e,n,i){this[nS]=null,this.$el=D(null),this.a=null,this.d=null,this.f=null,this.g=null,this.e=null,this.o=!1,this.i=Dy,this.b=null,this.c=null,this.l=[],this.m=[],this.j=[],this.n=[],this.d=n,i?.scope&&i.scope.append(n);let r=e.state,s=e.props;if(r&&(this.h=r.create(),this.k=new Proxy(this.h,{get:(a,o)=>this.h[o]()}),Rt(r,this.h)),s&&(this.i=QN(s),i?.props))for(let a of Object.keys(i.props))this.i[a]?.set(i.props[a]);G(this.p.bind(this))}w(){et(()=>{for(let e of this.l)e()},this.d)}x(e){this.a||(this.a=e,this.$el.set(e),et(()=>{this.f=$t(),et(()=>{for(let n of this.m)n(this.a);this.q(),this.r()},this.f)},this.d),e.dispatchEvent(new Event("attached")))}s(){this.f?.dispose(),this.f=null,this.g=null,this.a=null,this.$el.set(null)}y(){!this.a||!this.f||!this.j.length||et(()=>{this.g=$t(),et(()=>{for(let e of this.j)e(this.a)},this.g)},this.f)}z(){this.g?.dispose(),this.g=null}p(){if(this.o)return;this.o=!0,et(()=>{for(let n of this.n)n(this.a)},this.d);let e=this.a;this.s(),this.d.dispose(),this.l.length=0,this.m.length=0,this.j.length=0,this.n.length=0,this.e=null,this.b=null,this.c=null,this.i=Dy,this.d=null,this.k=Dy,this.h=null,e&&delete e.$}t(e){e.onSetup&&this.l.push(e.onSetup.bind(e)),e.onAttach&&this.m.push(e.onAttach.bind(e)),e.onConnect&&this.j.push(e.onConnect.bind(e)),e.onDestroy&&this.n.push(e.onDestroy.bind(e))}q(){if(this.b)for(let e of Object.keys(this.b))Ht?Z(this.a,e,Vy.call(this.e,this.b[e])):yt(this.b[e])?b(this.u.bind(this,e)):Z(this.a,e,this.b[e])}r(){if(this.c)for(let e of Object.keys(this.c))Ht?lt(this.a,e,Vy.call(this.e,this.c[e])):yt(this.c[e])?b(this.v.bind(this,e)):lt(this.a,e,this.c[e])}u(e){Z(this.a,e,this.b[e].call(this.e))}v(e){lt(this.a,e,this.c[e].call(this.e))}};nS=zp;Hl={$$:null};Mt=class extends EventTarget{constructor(){super(),Hl.$$&&this.attach(Hl)}get el(){return this.$$.a}get $el(){return this.$$.$el()}get scope(){return this.$$.d}get attachScope(){return this.$$.f}get connectScope(){return this.$$.g}get $props(){return this.$$.i}get $state(){return this.$$.h}get state(){return this.$$.k}attach({$$:e}){return this.$$=e,e.t(this),this}addEventListener(e,n,i){this.listen(e,n,i)}removeEventListener(e,n,i){this.el?.removeEventListener(e,n,i)}setAttributes(e){this.$$.b||(this.$$.b={}),Object.assign(this.$$.b,e)}setStyles(e){this.$$.c||(this.$$.c={}),Object.assign(this.$$.c,e)}setCSSVars(e){this.setStyles(e)}createEvent(e,...n){return new j(e,n[0])}dispatch(e,...n){if(Ht||!this.el)return!1;let i=e instanceof Event?e:new j(e,n[0]);return Object.defineProperty(i,"target",{get:()=>this.$$.e}),Aa(()=>(this.$$[zp]?.(i),this.el.dispatchEvent(i)))}dispatchEvent(e){return this.dispatch(e)}listen(e,n,i){return Ht||!this.el?qt:S(this.el,e,n,i)}},q=class extends Mt{subscribe(e){return et(()=>b(()=>e(this.state)),this.$$.d)}destroy(){this.$$.p()}};Xn=class{constructor(e){this.id=Symbol(0),this.record=e,this.A=Object.getOwnPropertyDescriptors(e)}create(){let e={},n=new Proxy(e,{get:(i,r)=>e[r]()});for(let i of Object.keys(this.record)){let r=this.A[i].get;e[i]=r?mi(r.bind(n)):D(this.record[i])}return e}reset(e,n){for(let i of Object.keys(e))!this.A[i].get&&(!n||n(i))&&e[i].set(this.record[i])}};JN=/;\s*$/;ws=ce.createContext({current:null});ws.displayName="Scope";sS=class extends ce.Component{constructor(e,n){super(e),this.d={current:$t()},n&&n.append(this.d.current);let i=this.constructor;i.F&&Rt(i.F,i.T?.(),this.d.current)}render(){return jp(this.d,this.props?.children)}};sS.contextType=ws;aS=sS;VT=new Map;oD=Symbol(0),lD=/\s+/;uD=/\s*:\s*/,dD=/\s*;\s*/;Fy=class{constructor(e){this.keepAlive=!1,this.forwardKeepAlive=!0,this.attributes=new zy,this.style=new Uy,this.classList=new jy,this.$=e}get $props(){return this.$.$$.i}get $state(){return this.$.$$.h}get state(){return this.$.state}setup(){let e=this.$.$$;et(()=>{this.hasAttribute("class")&&cD(this.classList.tokens,this.getAttribute("class")),this.hasAttribute("style")&&pD(this.style.tokens,this.getAttribute("style")),e.w(),e.x(this),this.classList.length>0&&this.setAttribute("class",this.classList.toString()),this.style.length>0&&this.setAttribute("style",this.style.toString()),this.keepAlive&&this.setAttribute("keep-alive","")},e.d)}getAttribute(e){return this.attributes.getAttribute(e)}setAttribute(e,n){this.attributes.setAttribute(e,n)}hasAttribute(e){return this.attributes.hasAttribute(e)}removeAttribute(e){return this.attributes.removeAttribute(e)}[oD](){}addEventListener(){}removeEventListener(){}dispatchEvent(){return!1}subscribe(){return qt}destroy(){this.$.destroy()}},zy=class{constructor(){this.Z=new Map}get length(){return this.Z.size}get tokens(){return this.Z}getAttribute(e){return this.Z.get(e)??null}hasAttribute(e){return this.Z.has(e)}setAttribute(e,n){this.Z.set(e,n+"")}removeAttribute(e){this.Z.delete(e)}toString(){if(this.Z.size===0)return"";let e="";for(let[n,i]of this.Z)e+=` ${n}="${oS(i,!0)}"`;return e}},Uy=class{constructor(){this.Z=new Map}get length(){return this.Z.size}get tokens(){return this.Z}getPropertyValue(e){return this.Z.get(e)??""}setProperty(e,n){this.Z.set(e,n??"")}removeProperty(e){let n=this.Z.get(e);return this.Z.delete(e),n??""}toString(){if(this.Z.size===0)return"";let e="";for(let[n,i]of this.Z)e+=`${n}: ${i};`;return e}},jy=class{constructor(){this.Z=new Set}get length(){return this.Z.size}get tokens(){return this.Z}add(...e){for(let n of e)this.Z.add(n)}contains(e){return this.Z.has(e)}remove(e){this.Z.delete(e)}replace(e,n){return this.Z.has(e)?(this.Z.delete(e),this.Z.add(n),!0):!1}toggle(e,n){return n!==!0&&(this.Z.has(e)||n===!1)?(this.Z.delete(e),!1):(this.Z.add(e),!0)}toString(){return Array.from(this.Z).join(" ")}},hD={acceptcharset:"acceptCharset","accept-charset":"acceptCharset",accesskey:"accessKey",allowfullscreen:"allowFullScreen",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className",colspan:"colSpan",contenteditable:"contentEditable",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback",enctype:"encType",enterkeyhint:"enterKeyHint",fetchpriority:"fetchPriority",for:"htmlFor",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",imagesizes:"imageSizes",imagesrcset:"imageSrcSet",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",marginwidth:"marginWidth",marginheight:"marginHeight",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",playsinline:"playsInline",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rowspan:"rowSpan",spellcheck:"spellCheck",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex",usemap:"useMap"};bD=Ht?qt:typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:t=>window.setTimeout(t,1):qt;bs=Object.freeze({__proto__:null,Component:q,DOMEvent:j,EventTriggers:Np,EventsTarget:La,Instance:Dp,ReactScopeContext:ws,State:Xn,ViewController:Mt,WithScope:jp,animationFrameThrottle:Rr,appendTriggerEvent:tS,ariaBool:Oa,attachDeclarativeShadowDOM:GN,camelToKebabCase:Da,camelToTitleCase:XN,composeRefs:re,computed:mi,createComment:BN,createComponent:i_,createContext:vi,createDisposalBin:Zl,createFragment:qN,createReactComponent:X,createReactContextProvider:nD,createReactScopeProvider:tD,createRegex:NN,createScope:$t,deferredPromise:qi,effect:b,findTriggerEvent:e_,flattenArray:lS,getOriginEvent:FN,getScope:Bl,getSlottedChildren:KN,hasProvidedContext:Tn,hasTriggerEvent:eS,isArray:qe,isBoolean:Jy,isDOMElement:jN,isDOMEvent:Fp,isDOMFragment:HN,isDOMNode:n_,isFunction:yt,isKeyboardClick:Ql,isKeyboardEvent:Hi,isMouseEvent:t_,isNil:Zy,isNull:gi,isNumber:Be,isObject:Gl,isPointerEvent:Yl,isReadSignal:YT,isString:F,isTouchEvent:Na,isUndefined:Le,isWindow:DN,isWriteSignal:Xy,kebabToCamelCase:Up,kebabToPascalCase:iS,kebabToTitleCase:rS,keysOf:Jl,listenEvent:S,lowercaseFirstLetter:ZN,mergeProperties:vD,method:Ae,noop:qt,omit:yD,onDispose:G,onError:LN,peek:C,pick:cS,prop:ee,provideContext:Rt,readonly:AN,root:HT,run:mD,runAll:gD,scoped:et,setAttribute:Z,setRef:r_,setStyle:lt,signal:D,tick:Zn,timedPromise:_D,toggleClass:WN,trimTrailingSemicolon:eD,untrack:Aa,unwrap:YN,unwrapDeep:Vy,uppercaseFirstChar:Xl,useContext:Ie,useDisposalBin:s_,useReactContext:qp,useReactScope:Hp,useSignal:pe,useSignalRecord:l_,useState:_s,useStateContext:Mr,waitAnimationFrame:wD,waitIdlePeriod:o_,waitTimeout:a_,walkTriggerEventChain:JT,wasEnterKeyPressed:zN,wasEscapeKeyPressed:UN})});var uS={};xt(uS,{SRTParser:()=>Bp,default:()=>ED});function ED(){return new Bp}var xD,kD,Bp,dS=Ue(()=>{"use strict";ec();xD=/,/g,kD="-->",Bp=class extends Fa{parse(e,n){if(e==="")this.a&&(this.j.push(this.a),this.f.onCue?.(this.a),this.a=null),this.c=Va.None;else if(this.c===Va.Cue)this.a.text+=(this.a.text?` -`:"")+e;else if(e.includes(kD)){let i=this.o(e,n);i&&(this.a=new Bi(i[0],i[1],i[2].join(" ")),this.a.id=this.l,this.c=Va.Cue)}this.l=e}o(e,n){return super.o(e.replace(xD,"."),n)}}});var c_={};xt(c_,{ParseErrorBuilder:()=>TD});var TD,u_=Ue(()=>{"use strict";ec();TD={p(){return new Bt({code:Sn.BadSignature,reason:"missing WEBVTT file header",line:1})},q(t,e){return new Bt({code:Sn.BadTimestamp,reason:`cue start timestamp \`${t}\` is invalid on line ${e}`,line:e})},r(t,e){return new Bt({code:Sn.BadTimestamp,reason:`cue end timestamp \`${t}\` is invalid on line ${e}`,line:e})},s(t,e,n){return new Bt({code:Sn.BadTimestamp,reason:`cue end timestamp \`${e}\` is greater than start \`${t}\` on line ${n}`,line:n})},w(t,e,n){return new Bt({code:Sn.BadSettingValue,reason:`invalid value for cue setting \`${t}\` on line ${n} (value: ${e})`,line:n})},v(t,e,n){return new Bt({code:Sn.UnknownSetting,reason:`unknown cue setting \`${t}\` on line ${n} (value: ${e})`,line:n})},u(t,e,n){return new Bt({code:Sn.BadSettingValue,reason:`invalid value for region setting \`${t}\` on line ${n} (value: ${e})`,line:n})},t(t,e,n){return new Bt({code:Sn.UnknownSetting,reason:`unknown region setting \`${t}\` on line ${n} (value: ${e})`,line:n})},T(t,e){return new Bt({code:Sn.BadFormat,reason:`format missing for \`${t}\` block on line ${e}`,line:e})}}});var vS={};xt(vS,{SSAParser:()=>Gp,default:()=>SD});function p_(t){let e=parseInt(t.replace("&H",""),16);if(e>=0){let i=(e>>24&255^255)/255,r=e>>16&255,s=e>>8&255;return"rgba("+[e&255,s,r,i].join(",")+")"}return null}function h_(t,e,n){let i=Math.ceil(2*Math.PI*t),r="";for(let s=0;s{"use strict";ec();Wp=/^Format:[\s\t]*/,pS=/^Style:[\s\t]*/,hS=/^Dialogue:[\s\t]*/,Kp=/[\s\t]*,[\s\t]*/,fS=/\{[^}]+\}/g,mS=/\\N/g,gS=/^\[(.*)[\s\t]?Styles\]$/,d_=/^\[(.*)[\s\t]?Events\]$/,Gp=class{constructor(){_(this,"f");_(this,"O",0);_(this,"a",null);_(this,"j",[]);_(this,"k",[]);_(this,"N",null);_(this,"d");_(this,"P",{})}async init(e){this.f=e,e.errors&&(this.d=(await Promise.resolve().then(()=>(u_(),c_))).ParseErrorBuilder)}parse(e,n){if(this.O)switch(this.O){case 1:if(e==="")this.O=0;else if(pS.test(e))if(this.N){let i=e.replace(pS,"").split(Kp);this.S(i)}else this.e(this.d?.T("Style",n));else Wp.test(e)?this.N=e.replace(Wp,"").split(Kp):d_.test(e)&&(this.N=null,this.O=2);break;case 2:if(e==="")this.Q();else if(hS.test(e))if(this.Q(),this.N){let i=e.replace(hS,"").split(Kp),r=this.U(i,n);r&&(this.a=r)}else this.e(this.d?.T("Dialogue",n));else this.a?this.a.text+=` -`+e.replace(fS,"").replace(mS,` -`):Wp.test(e)?this.N=e.replace(Wp,"").split(Kp):gS.test(e)?(this.N=null,this.O=1):d_.test(e)&&(this.N=null)}else e===""||(gS.test(e)?(this.N=null,this.O=1):d_.test(e)&&(this.N=null,this.O=2))}done(){return{metadata:{},cues:this.j,regions:[],errors:this.k}}Q(){this.a&&(this.j.push(this.a),this.f.onCue?.(this.a),this.a=null)}S(e){let n="Default",i={},r,s="center",a="bottom",o,l=1.2,c,u,d=3,p=[];for(let h=0;h=4&&(a=f>=7?"top":"center"),f%3){case 1:s="start";break;case 2:s="center";break;case 3:s="end";break}}}if(i.R=a,i["--cue-white-space"]="normal",i["--cue-line-height"]="normal",i["--cue-text-align"]=s,a==="center"?(i["--cue-top"]="50%",p.push("translateY(-50%)")):i[`--cue-${a}`]=(o||0)+"px",d===1&&(i["--cue-padding-y"]="0"),(d===1||u)&&(i["--cue-bg-color"]=d===1?"none":u),d===3&&c&&(i["--cue-outline"]=`${r}px solid ${c}`),d===1&&typeof r=="number"){let h=u??"#000";i["--cue-text-shadow"]=[c&&h_(r*1.2,l*1.2,c),c?h_(r*(r/2),l*(r/2),h):h_(r,l,h)].filter(Boolean).join(", ")}p.length&&(i["--cue-transform"]=p.join(" ")),this.P[n]=i}U(e,n){let i=this.V(e),r=this.o(i.Start,i.End,n);if(!r)return;let s=new Bi(r[0],r[1],""),a={...this.P[i.Style]||{}},o=i.Name?``:"",l=a.R,c=i.MarginL&&parseFloat(i.MarginL),u=i.MarginR&&parseFloat(i.MarginR),d=i.MarginV&&parseFloat(i.MarginV);return c&&(a["--cue-width"]="auto",a["--cue-left"]=c+"px"),u&&(a["--cue-width"]="auto",a["--cue-right"]=u+"px"),d&&l!=="center"&&(a[`--cue-${l}`]=d+"px"),s.text=o+e.slice(this.N.length-1).join(", ").replace(fS,"").replace(mS,` -`),delete a.R,Object.keys(a).length&&(s.style=a),s}V(e){let n={};for(let i=0;ir)return[r,s];r===null&&this.e(this.d?.q(e,i)),s===null&&this.e(this.d?.r(n,i)),r!=null&&s!==null&&s>r&&this.e(this.d?.s(r,s,i))}e(e){if(e){if(this.k.push(e),this.f.strict)throw this.f.cancel(),e;this.f.onError?.(e)}}}});async function ES(t,e){let n=new ReadableStream({start(i){let r=t.split(kS);for(let s of r)i.enqueue(s);i.close()}});return Zp(n,e)}async function Zp(t,e){let n=e?.type??"vtt",i;if(typeof n=="string")switch(n){case"srt":i=(await Promise.resolve().then(()=>(dS(),uS))).default;break;case"ssa":case"ass":i=(await Promise.resolve().then(()=>(yS(),vS))).default;break;default:i=(await Promise.resolve().then(function(){return qD})).default}else i=n;let r,s=t.getReader(),a=i(),o=!!e?.strict||!!e?.errors;await a.init({strict:!1,...e,errors:o,type:n,cancel(){s.cancel(),r=a.done(!0)}});let l=1;for(;;){let{value:c,done:u}=await s.read();if(u){a.parse("",l),r=a.done(!1);break}a.parse(c,l),l++}return r}async function TS(t,e){let n=await t;if(!n.ok||!n.body)return{metadata:{},cues:[],regions:[],errors:[void 0]};let i=n.headers.get("content-type")||"",r=i.match(/text\/(.*?)(?:;|$)/)?.[1],s=i.match(/charset=(.*?)(?:;|$)/)?.[1];return v_(n.body,{type:r,encoding:s,...e})}async function v_(t,{encoding:e="utf-8",...n}={}){let i=t.pipeThrough(new m_(e));return Zp(i,n)}function $D(t){let e=parseInt(t,10);return Number.isNaN(e)?null:e}function nc(t){let e=parseInt(t.replace(CD,""),10);return!Number.isNaN(e)&&e>=0&&e<=100?e:null}function wS(t){if(!t.includes(_S))return null;let[e,n]=t.split(_S).map(nc);return e!==null&&n!==null?[e,n]:null}function MD(t){let e=parseFloat(t);return Number.isNaN(e)?null:e}function Wi(t){let e=t.match(jD);if(!e)return null;let n=e[1]?parseInt(e[1],10):0,i=parseInt(e[2],10),r=parseInt(e[3],10),s=e[4]?parseInt(e[4].padEnd(3,"0"),10):0,a=n*3600+i*60+r+s/1e3;return n<0||i<0||r<0||s<0||i>59||r>59?null:a}function HD(){return new Fa}function __(t){let e="",n=1,i=[],r=[],s;for(let c=0;c":a(),n=1;break;default:!e&&BD.test(u)&&(n=6),e+=u;break}break;case 3:switch(u){case" ":case" ":case` -`:o(),s&&s.class?.trim(),n=4;break;case".":o();break;case">":o(),s&&s.class?.trim(),n=1;break;default:e+=u}break;case 4:u===">"?(e=e.replace(WD," "),s?.type==="v"?s.voice=f_(e):s?.type==="lang"&&(s.lang=f_(e)),e="",n=1):e+=u;break;case 5:u===">"&&(e="",s=r.pop(),n=1);break;case 6:if(u===">"){let d=Wi(e);d!==null&&d>=t.startTime&&d<=t.endTime&&(e="timestamp",a(),s.time=d),e="",n=1}else e+=u;break}}function a(){if(QD.has(e)){let c=s;s=XD(e),c?(r[r.length-1]!==c&&r.push(c),c.children.push(s)):i.push(s)}e="",n=1}function o(){if(s&&e){let c=e.replace("bg_","");YD.has(c)?s[e.startsWith("bg_")?"bgColor":"color"]=c:s.class=s.class?s.class+" "+e:e}e=""}function l(){if(!e)return;let c={type:"text",data:f_(e)};s?s.children.push(c):i.push(c),e=""}return n===1&&l(),i}function XD(t){return{tagName:SS[t],type:t,children:[]}}function f_(t){return t.replace(GD,e=>KD[e]||"'")}function It(t,e,n){t.style.setProperty(`--${e}`,n+"")}function Lr(t,e,n=!0){t.setAttribute(`data-${e}`,n===!0?"":n+"")}function Yp(t,e){t.setAttribute("data-part",e)}function ZD(t){return parseFloat(getComputedStyle(t).lineHeight)||0}function PS(t){if(y_)throw Error("[media-captions] called `createVTTCueTemplate` on the server - use `renderVTTCueString`");let e=document.createElement("template");return e.innerHTML=Jp(t),{cue:t,content:e.content}}function Jp(t,e=0){return eh(__(t),e)}function eh(t,e=0){let n,i="";for(let r of t)if(r.type==="text")i+=r.data;else{let s=r.type==="timestamp";n={},n.class=r.class,n.title=r.type==="v"&&r.voice,n.lang=r.type==="lang"&&r.lang,n["data-part"]=r.type==="v"&&"voice",s&&(n["data-part"]="timed",n["data-time"]=r.time,n["data-future"]=r.time>e,n["data-past"]=r.timeo[1]).map(o=>`${o[0]}="${o[1]===!0?"":o[1]}"`).join(" ");i+=`<${r.tagName}${a?" "+a:""}>${eh(r.children)}`}return i}function w_(t,e){if(!y_)for(let n of t.querySelectorAll('[data-part="timed"]')){let i=Number(n.getAttribute("data-time"));Number.isNaN(i)||(i>e?Lr(n,"future"):n.removeAttribute("data-future"),i=e.left&&t.top<=e.bottom&&t.bottom>=e.top}function t2(t,e){for(let n=0;n=0&&e.bottom<=t.height&&e.left>=0&&e.right<=t.width}function n2(t,e,n){switch(n){case"+x":return e.left<0;case"-x":return e.right>t.width;case"+y":return e.top<0;case"-y":return e.bottom>t.height}}function i2(t,e){let n=Math.max(0,Math.min(t.width,e.right)-Math.max(0,e.left)),i=Math.max(0,Math.min(t.height,e.bottom)-Math.max(0,e.top));return n*i/(t.height*t.width)}function x_(t,e){return{top:e.top/t.height,left:e.left/t.width,right:(t.width-e.right)/t.width,bottom:(t.height-e.bottom)/t.height}}function CS(t,e){return e.top=e.top*t.height,e.left=e.left*t.width,e.right=t.width-e.right*t.width,e.bottom=t.height-e.bottom*t.height,e}function MS(t,e,n,i){let r=x_(e,n);for(let s of $S)It(t,`${i}-${s}`,r[s]*100+"%")}function RS(t,e,n,i){let r=1,s,a={...e};for(let o=0;ol&&(s={...e},r=l),e={...a}}return s||a}function r2(t,e,n,i){let r=n.firstElementChild,s=o2(e),a,o=[];if(n[Ir]||(n[Ir]=s2(t,n)),a=CS(t,{...n[Ir]}),n[ic])o=[n[ic]==="top"?"+y":"-y","+x","-x"];else if(e.snapToLines){let l;switch(e.vertical){case"":o=["+y","-y"],l="height";break;case"rl":o=["+x","-x"],l="width";break;case"lr":o=["-x","+x"],l="width";break}let c=ZD(r),u=c*Math.round(s),d=t[l]+c,p=o[0];Math.abs(u)>d&&(u=u<0?-1:1,u*=Math.ceil(d/c)*c),s<0&&(u+=e.vertical===""?t.height:t.width,o=o.reverse()),Qp(a,p,u)}else{let l=e.vertical==="",c=l?"+y":"+x",u=l?a.height:a.width;Qp(a,c,(l?t.height:t.width)*s/100),Qp(a,c,e.lineAlign==="center"?u/2:e.lineAlign==="end"?u:0),o=l?["-y","+y","-x","+x"]:["-x","+x","-y","+y"]}return a=RS(t,a,i,o),MS(n,t,a,"cue"),a}function s2(t,e){let n=b_(e),i=a2(e);if(e[ic]=!1,i.top&&(n.top=i.top,n.bottom=i.top+n.height,e[ic]="top"),i.bottom){let r=t.height-i.bottom;n.top=r-n.height,n.bottom=r,e[ic]="bottom"}return i.left&&(n.left=i.left),i.right&&(n.right=t.width-i.right),x_(t,n)}function a2(t){let e={};for(let n of $S)e[n]=parseFloat(t.style.getPropertyValue(`--cue-${n}`));return e}function o2(t){return t.line==="auto"?t.snapToLines?-1:100:t.line}function l2(t){if(t.position==="auto")switch(t.align){case"start":case"left":return 0;case"right":case"end":return 100;default:return 50}return t.position}function c2(t,e){if(t.positionAlign==="auto")switch(t.align){case"start":return e==="ltr"?"line-left":"line-right";case"end":return e==="ltr"?"line-right":"line-left";case"center":return"center";default:return`line-${t.align}`}return t.positionAlign}function d2(t,e,n,i){let r=Array.from(n.querySelectorAll('[data-part="cue-display"]')),s=0,a=Math.max(0,r.length-e.lines);for(let l=r.length-1;l>=a;l--)s+=r[l].offsetHeight;It(n,"region-height",s+"px"),n[Ir]||(n[Ir]=x_(t,b_(n)));let o={...n[Ir]};return o=CS(t,o),o.width=n.clientWidth,o.height=s,o.right=o.left+o.width,o.bottom=o.top+s,o=RS(t,o,i,u2),MS(n,t,o,"region"),o}var Sn,Bt,kS,m_,g_,rc,y_,PD,Bi,sc,_S,CD,RD,bS,LD,za,ID,AD,ND,DD,tc,OD,VD,FD,zD,UD,jD,Va,Fa,qD,BD,WD,SS,KD,GD,YD,QD,Ir,$S,ic,u2,Xp,ec=Ue(()=>{"use strict";Sn={LoadFail:0,BadSignature:1,BadTimestamp:2,BadSettingValue:3,BadFormat:4,UnknownSetting:5},Bt=class extends Error{constructor(n){super(n.reason);_(this,"code");_(this,"line");this.code=n.code,this.line=n.line}},kS=/\r?\n|\r/gm,m_=class{constructor(e){_(this,"writable");_(this,"readable");let n=new g_(e);this.writable=new WritableStream({write(i){n.transform(i)},close(){n.close()}}),this.readable=new ReadableStream({start(i){n.onLine=r=>i.enqueue(r),n.onClose=()=>i.close()}})}},g_=class{constructor(e){_(this,"x","");_(this,"y");_(this,"onLine");_(this,"onClose");this.y=new TextDecoder(e)}transform(e){this.x+=this.y.decode(e,{stream:!0});let n=this.x.split(kS);this.x=n.pop()||"";for(let i=0;i"u",PD=y_?rc:window.VTTCue,Bi=class extends PD{constructor(){super(...arguments);_(this,"region",null);_(this,"vertical","");_(this,"snapToLines",!0);_(this,"line","auto");_(this,"lineAlign","start");_(this,"position","auto");_(this,"positionAlign","auto");_(this,"size",100);_(this,"align","center");_(this,"style")}},sc=class{constructor(){_(this,"id","");_(this,"width",100);_(this,"lines",3);_(this,"regionAnchorX",0);_(this,"regionAnchorY",100);_(this,"viewportAnchorX",0);_(this,"viewportAnchorY",100);_(this,"scroll","")}},_S=",",CD="%";RD="WEBVTT",bS=",",LD="%",za=/[:=]/,ID=/^[\s\t]*(region|vertical|line|position|size|align)[:=]/,AD="NOTE",ND="REGION",DD=/^REGION:?[\s\t]+/,tc=/[\s\t]+/,OD="-->",VD=/[\s\t]*-->[\s\t]+/,FD=/start|center|end|left|right/,zD=/start|center|end/,UD=/line-(?:left|right)|center|auto/,jD=/^(?:(\d{1,2}):)?(\d{2}):(\d{2})(?:\.(\d{1,3}))?$/,Va=(t=>(t[t.None=0]="None",t[t.Header=1]="Header",t[t.Cue=2]="Cue",t[t.Region=3]="Region",t[t.Note=4]="Note",t))(Va||{}),Fa=class{constructor(){_(this,"f");_(this,"c",0);_(this,"g",{});_(this,"h",{});_(this,"j",[]);_(this,"a",null);_(this,"b",null);_(this,"k",[]);_(this,"d");_(this,"l","")}async init(e){this.f=e,e.strict&&(this.c=1),e.errors&&(this.d=(await Promise.resolve().then(()=>(u_(),c_))).ParseErrorBuilder)}parse(e,n){if(e==="")this.a?(this.j.push(this.a),this.f.onCue?.(this.a),this.a=null):this.b?(this.h[this.b.id]=this.b,this.f.onRegion?.(this.b),this.b=null):this.c===1&&(this.i(e,n),this.f.onHeaderMetadata?.(this.g)),this.c=0;else if(this.c)switch(this.c){case 1:this.i(e,n);break;case 2:if(this.a){let i=this.a.text.length>0;!i&&ID.test(e)?this.m(e.split(tc),n):this.a.text+=(i?` -`:"")+e}break;case 3:this.n(e.split(tc),n);break}else if(e.startsWith(AD))this.c=4;else if(e.startsWith(ND))this.c=3,this.b=new sc,this.n(e.replace(DD,"").split(tc),n);else if(e.includes(OD)){let i=this.o(e,n);i&&(this.a=new Bi(i[0],i[1],""),this.a.id=this.l,this.m(i[2],n)),this.c=2}else n===1&&this.i(e,n);this.l=e}done(){return{metadata:this.g,cues:this.j,regions:Object.values(this.h),errors:this.k}}i(e,n){if(n>1){if(za.test(e)){let[i,r]=e.split(za);i&&(this.g[i]=(r||"").replace(tc,""))}}else e.startsWith(RD)?this.c=1:this.e(this.d?.p())}o(e,n){let[i,r=""]=e.split(VD),[s,...a]=r.split(tc),o=Wi(i),l=Wi(s);if(o!==null&&l!==null&&l>o)return[o,l,a];o===null&&this.e(this.d?.q(i,n)),l===null&&this.e(this.d?.r(s,n)),o!=null&&l!==null&&l>o&&this.e(this.d?.s(o,l,n))}n(e,n){let i;for(let r=0;r",""":'"',"'":"'"," ":"\xA0","‎":"\u200E","‏":"\u200F"},GD=/&(?:amp|lt|gt|quot|#(0+)?39|nbsp|lrm|rlm);/g,YD=new Set(["white","lime","cyan","red","yellow","magenta","blue","black"]),QD=new Set(Object.keys(SS));Ir=Symbol(0);$S=["top","left","right","bottom"];ic=Symbol(0);u2=["-y","+y","-x","+x"];Xp=class{constructor(e,n){_(this,"overlay");_(this,"z");_(this,"A",0);_(this,"C","ltr");_(this,"B",[]);_(this,"D",!1);_(this,"E");_(this,"h",new Map);_(this,"j",new Map);_(this,"K",JD(()=>{this.D=!1,this.G();for(let e of this.h.values())e[Ir]=null;for(let e of this.j.values())e&&(e[Ir]=null);this.H(!0)},50));this.overlay=e,this.dir=n?.dir??"ltr",e.setAttribute("translate","yes"),e.setAttribute("aria-live","off"),e.setAttribute("aria-atomic","true"),Yp(e,"captions"),this.G(),this.E=new ResizeObserver(this.I.bind(this)),this.E.observe(e)}get dir(){return this.C}set dir(e){this.C=e,Lr(this.overlay,"dir",e)}get currentTime(){return this.A}set currentTime(e){this.A=e,this.update()}changeTrack({regions:e,cues:n}){this.reset(),this.J(e);for(let i of n)this.j.set(i,null);this.update()}addCue(e){this.j.set(e,null),this.update()}removeCue(e){this.j.delete(e),this.update()}update(e=!1){this.H(e)}reset(){this.j.clear(),this.h.clear(),this.B=[],this.overlay.textContent=""}destroy(){this.reset(),this.E.disconnect()}I(){this.D=!0,this.K()}G(){this.z=b_(this.overlay),It(this.overlay,"overlay-width",this.z.width+"px"),It(this.overlay,"overlay-height",this.z.height+"px")}H(e=!1){if(!this.j.size||this.D)return;let n,i=[...this.j.keys()].filter(s=>this.A>=s.startTime&&this.A<=s.endTime).sort((s,a)=>s.startTime!==a.startTime?s.startTime-a.startTime:s.endTime-a.endTime),r=i.map(s=>s.region);for(let s=0;sLr(o,"active")),e=!0),a.isConnected||((o||this.overlay).append(a),e=!0)}if(e){let s=[],a=new Set;for(let o=i.length-1;o>=0;o--){if(n=i[o],a.has(n.region||n))continue;let l=this.F(n),c=l?this.h.get(n.region.id):this.j.get(n);l?s.push(d2(this.z,n.region,c,s)):s.push(r2(this.z,n,c,s)),a.add(l?n.region:n)}}w_(this.overlay,this.A),this.B=i}J(e){if(e)for(let n of e){let i=this.M(n);this.h.set(n.id,i),this.overlay.append(i)}}M(e){let n=document.createElement("div");return Yp(n,"region"),Lr(n,"id",e.id),Lr(n,"scroll",e.scroll),It(n,"region-width",e.width+"%"),It(n,"region-anchor-x",e.regionAnchorX),It(n,"region-anchor-y",e.regionAnchorY),It(n,"region-viewport-anchor-x",e.viewportAnchorX),It(n,"region-viewport-anchor-y",e.viewportAnchorY),It(n,"region-lines",e.lines),n}L(e){let n=document.createElement("div"),i=l2(e),r=c2(e,this.C);if(Yp(n,"cue-display"),e.vertical!==""&&Lr(n,"vertical"),It(n,"cue-text-align",e.align),e.style)for(let a of Object.keys(e.style))n.style.setProperty(a,e.style[a]);if(this.F(e))It(n,"cue-offset",`${i-(r==="line-right"?100:r==="center"?50:0)}%`);else if(It(n,"cue-writing-mode",e.vertical===""?"horizontal-tb":e.vertical==="lr"?"vertical-lr":"vertical-rl"),!e.style?.["--cue-width"]){let a=i;r==="line-left"?a=100-i:r==="center"&&i<=50?a=i*2:r==="center"&&i>50&&(a=(100-i)*2);let o=e.sizeXp,ParseError:()=>Bt,ParseErrorCode:()=>Sn,TextCue:()=>rc,VTTCue:()=>Bi,VTTRegion:()=>sc,createVTTCueTemplate:()=>PS,parseByteStream:()=>v_,parseResponse:()=>TS,parseText:()=>ES,parseTextStream:()=>Zp,parseVTTTimestamp:()=>Wi,renderVTTCueString:()=>Jp,renderVTTTokensString:()=>eh,tokenizeVTTCue:()=>__,updateTimedVTTCueNodes:()=>w_});var oc=Ue(()=>{"use strict";ec()});var yi,lc=Ue(()=>{"use strict";"use client";Lt();yi=class{constructor(e){this._callback=e}_start(){Le(this._id)&&this._loop()}_stop(){Be(this._id)&&window.cancelAnimationFrame(this._id),this._id=void 0}_loop(){this._id=window.requestAnimationFrame(()=>{Le(this._id)||(this._callback(),this._loop())})}}});var k_,E_,Ua,T_=Ue(()=>{"use strict";"use client";Lt();Wt();lc();k_=class{constructor(e,n){this._provider=e,this._ctx=n,this._disposal=s_(),this._waiting=!1,this._attachedLoadStart=!1,this._attachedCanPlay=!1,this._timeRAF=new yi(this._onAnimationFrame.bind(this)),this._handlers=void 0,this._handleDevEvent=void 0,this._attachInitialListeners(),b(this._attachTimeUpdate.bind(this)),G(this._onDispose.bind(this))}get _media(){return this._provider.media}get _notify(){return this._ctx.delegate._notify}_onDispose(){this._attachedLoadStart=!1,this._attachedCanPlay=!1,this._timeRAF._stop(),this._disposal.empty()}_onAnimationFrame(){let e=this._media.currentTime;this._ctx.$state.realCurrentTime()!==e&&this._updateCurrentTime(e)}_attachInitialListeners(){this._attachEventListener("loadstart",this._onLoadStart),this._attachEventListener("abort",this._onAbort),this._attachEventListener("emptied",this._onEmptied),this._attachEventListener("error",this._onError),this._attachEventListener("volumechange",this._onVolumeChange)}_attachLoadStartListeners(){this._attachedLoadStart||(this._disposal.add(this._attachEventListener("loadeddata",this._onLoadedData),this._attachEventListener("loadedmetadata",this._onLoadedMetadata),this._attachEventListener("canplay",this._onCanPlay),this._attachEventListener("canplaythrough",this._onCanPlayThrough),this._attachEventListener("durationchange",this._onDurationChange),this._attachEventListener("play",this._onPlay),this._attachEventListener("progress",this._onProgress),this._attachEventListener("stalled",this._onStalled),this._attachEventListener("suspend",this._onSuspend)),this._attachedLoadStart=!0)}_attachCanPlayListeners(){this._attachedCanPlay||(this._disposal.add(this._attachEventListener("pause",this._onPause),this._attachEventListener("playing",this._onPlaying),this._attachEventListener("ratechange",this._onRateChange),this._attachEventListener("seeked",this._onSeeked),this._attachEventListener("seeking",this._onSeeking),this._attachEventListener("ended",this._onEnded),this._attachEventListener("waiting",this._onWaiting)),this._attachedCanPlay=!0)}_attachEventListener(e,n){return S(this._media,e,n.bind(this))}_onDevEvent(e){}_updateCurrentTime(e,n){let i={currentTime:Math.min(e,this._ctx.$state.seekableEnd()),played:this._media.played};this._notify("time-update",i,n)}_onLoadStart(e){if(this._media.networkState===3){this._onAbort(e);return}this._attachLoadStartListeners(),this._notify("load-start",void 0,e)}_onAbort(e){this._notify("abort",void 0,e)}_onEmptied(){this._notify("emptied",void 0,event)}_onLoadedData(e){this._notify("loaded-data",void 0,e)}_onLoadedMetadata(e){this._attachCanPlayListeners(),this._notify("loaded-metadata",void 0,e),S_&&xs(this._ctx.$state.source())&&this._ctx.delegate._ready(this._getCanPlayDetail(),e)}_getCanPlayDetail(){return{provider:C(this._ctx.$provider),duration:this._media.duration,buffered:this._media.buffered,seekable:this._media.seekable}}_onPlay(e){this._ctx.$state.canPlay&&this._notify("play",void 0,e)}_onPause(e){this._media.readyState===1&&!this._waiting||(this._waiting=!1,this._timeRAF._stop(),this._notify("pause",void 0,e))}_onCanPlay(e){this._ctx.delegate._ready(this._getCanPlayDetail(),e)}_onCanPlayThrough(e){this._ctx.$state.started()||this._notify("can-play-through",this._getCanPlayDetail(),e)}_onPlaying(e){this._waiting=!1,this._notify("playing",void 0,e),this._timeRAF._start()}_onStalled(e){this._notify("stalled",void 0,e),this._media.readyState<3&&(this._waiting=!0,this._notify("waiting",void 0,e))}_onWaiting(e){this._media.readyState<3&&(this._waiting=!0,this._notify("waiting",void 0,e))}_onEnded(e){this._timeRAF._stop(),this._updateCurrentTime(this._media.duration,e),this._notify("end",void 0,e),this._ctx.$state.loop()&&Zy(this._media.controls)&&(this._media.controls=!1)}_attachTimeUpdate(){this._ctx.$state.paused()&&S(this._media,"timeupdate",this._onTimeUpdate.bind(this))}_onTimeUpdate(e){this._updateCurrentTime(this._media.currentTime,e)}_onDurationChange(e){this._ctx.$state.ended()&&this._updateCurrentTime(this._media.duration,e),this._notify("duration-change",this._media.duration,e)}_onVolumeChange(e){let n={volume:this._media.volume,muted:this._media.muted};this._notify("volume-change",n,e)}_onSeeked(e){this._updateCurrentTime(this._media.currentTime,e),this._notify("seeked",this._media.currentTime,e),Math.trunc(this._media.currentTime)===Math.trunc(this._media.duration)&&th(this._media.duration)>th(this._media.currentTime)&&(this._updateCurrentTime(this._media.duration,e),this._media.ended||this._ctx.player.dispatch(new j("media-play-request",{trigger:e})))}_onSeeking(e){this._notify("seeking",this._media.currentTime,e)}_onProgress(e){let n={buffered:this._media.buffered,seekable:this._media.seekable};this._notify("progress",n,e)}_onSuspend(e){this._notify("suspend",void 0,e)}_onRateChange(e){this._notify("rate-change",this._media.playbackRate,e)}_onError(e){let n=this._media.error;if(!n)return;let i={message:n.message,code:n.code,mediaError:n};this._notify("error",i,e)}},E_=class{constructor(e,n){this._provider=e,this._ctx=n,this._nativeTracks.onaddtrack=this._onAddNativeTrack.bind(this),this._nativeTracks.onremovetrack=this._onRemoveNativeTrack.bind(this),this._nativeTracks.onchange=this._onChangeNativeTrack.bind(this),S(this._ctx.audioTracks,"change",this._onChangeTrack.bind(this))}get _nativeTracks(){return this._provider.media.audioTracks}_onAddNativeTrack(e){let n=e.track;if(n.label==="")return;let i={id:n.id.toString(),label:n.label,language:n.language,kind:n.kind,selected:!1};this._ctx.audioTracks[Y._add](i,e),n.enabled&&(i.selected=!0)}_onRemoveNativeTrack(e){let n=this._ctx.audioTracks.getById(e.track.id);n&&this._ctx.audioTracks[Y._remove](n,e)}_onChangeNativeTrack(e){let n=this._getEnabledNativeTrack();if(!n)return;let i=this._ctx.audioTracks.getById(n.id);i&&this._ctx.audioTracks[Y._select](i,!0,e)}_getEnabledNativeTrack(){return Array.from(this._nativeTracks).find(e=>e.enabled)}_onChangeTrack(e){let{current:n}=e.detail;if(!n)return;let i=this._nativeTracks.getTrackById(n.id);if(i){let r=this._getEnabledNativeTrack();r&&(r.enabled=!1),i.enabled=!0}}},Ua=class{constructor(e,n){this._media=e,this._ctx=n,this.scope=$t(),this._currentSrc=null}setup(){new k_(this,this._ctx),"audioTracks"in this.media&&new E_(this,this._ctx),G(()=>{this._media.setAttribute("src",""),this._media.load()})}get type(){return""}get media(){return this._media}get currentSrc(){return this._currentSrc}setPlaybackRate(e){this._media.playbackRate=e}async play(){return this._media.play()}async pause(){return this._media.pause()}setMuted(e){this._media.muted=e}setVolume(e){this._media.volume=e}setCurrentTime(e){this._media.currentTime=e}setPlaysInline(e){Z(this._media,"playsinline",e)}async loadSource({src:e,type:n},i){this._media.preload=i||"",P_(e)?this._media.srcObject=e:(this._media.srcObject=null,this._media.src=F(e)?this._appendMediaFragment(e):window.URL.createObjectURL(e)),this._media.load(),this._currentSrc={src:e,type:n}}_appendMediaFragment(e){let{clipStartTime:n,clipEndTime:i}=this._ctx.$state,r=n(),s=i();return r>0&&s>0?`${e}#t=${r},${s}`:r>0?`${e}#t=${r}`:s>0?`${e}#t=0,${s}`:e}}});var LS={};xt(LS,{AudioProvider:()=>C_});var aU,C_,IS=Ue(()=>{"use strict";"use client";T_();aU=$(z(),1),C_=class extends Ua{constructor(){super(...arguments),this.$$PROVIDER_TYPE="AUDIO"}get type(){return"audio"}setup(){super.setup(),this.type==="audio"&&this._ctx.delegate._notify("provider-setup",this)}get audio(){return this._media}}});var AS={};xt(AS,{VideoProvider:()=>cc});function p2(t,e){return Array.from(t.children).find(n=>n.track===e)}var uU,$_,M_,R_,L_,I_,A_,N_,cc,D_=Ue(()=>{"use strict";"use client";Lt();Wt();T_();uU=$(z(),1),$_=class{constructor(e,n){this._video=e,this._ctx=n,e.textTracks.onaddtrack=this._onAddTrack.bind(this),G(this._onDispose.bind(this))}_onAddTrack(e){let n=e.track;if(!n||p2(this._video,n))return;let i=new ln({id:n.id,kind:n.kind,label:n.label,language:n.language,type:"vtt"});i[W._native]={track:n},i[W._readyState]=2,i[W._nativeHLS]=!0;let r=0,s=a=>{if(n.cues)for(let o=r;o{this._media.delegate._notify("picture-in-picture-change",i,r)},S(this._video,"enterpictureinpicture",this._onEnter.bind(this)),S(this._video,"leavepictureinpicture",this._onExit.bind(this))}get active(){return document.pictureInPictureElement===this._video}get supported(){return ih(this._video)}async enter(){return this._video.requestPictureInPicture()}exit(){return document.exitPictureInPicture()}_onEnter(e){this._onChange(!0,e)}_onExit(e){this._onChange(!1,e)}},R_=class{constructor(e,n){this._video=e,this._media=n,this._mode="inline",S(this._video,"webkitpresentationmodechanged",this._onModeChange.bind(this))}get _supported(){return rh(this._video)}async _setPresentationMode(e){this._mode!==e&&this._video.webkitSetPresentationMode(e)}_onModeChange(e){let n=this._mode;this._mode=this._video.webkitPresentationMode,this._media.player?.dispatch(new j("video-presentation-change",{detail:this._mode,trigger:e})),["fullscreen","picture-in-picture"].forEach(i=>{(this._mode===i||n===i)&&this._media.delegate._notify(`${i}-change`,this._mode===i,e)})}},L_=class{constructor(e){this._presentation=e}get active(){return this._presentation._mode==="fullscreen"}get supported(){return this._presentation._supported}async enter(){this._presentation._setPresentationMode("fullscreen")}async exit(){this._presentation._setPresentationMode("inline")}},I_=class{constructor(e){this._presentation=e}get active(){return this._presentation._mode==="picture-in-picture"}get supported(){return this._presentation._supported}async enter(){this._presentation._setPresentationMode("picture-in-picture")}async exit(){this._presentation._setPresentationMode("inline")}},A_=class{constructor(e,n){this._video=e,this._ctx=n,this._supported=D(!1),this._setup()}get supported(){return this._supported()}_setup(){N||!this._video.remote||!this._canPrompt||(this._video.remote.watchAvailability(e=>{this._supported.set(e)}).catch(()=>{this._supported.set(!1)}),b(this._watchSupported.bind(this)))}_watchSupported(){if(!this._supported())return;let e=["connecting","connect","disconnect"],n=this._onStateChange.bind(this);n(),S(this._video,"playing",n);for(let i of e)S(this._video.remote,i,n)}async prompt(){if(!this.supported)throw Error("Not supported on this platform.");return this._video.remote.prompt()}_onStateChange(e){let n=this._video.remote.state;if(n===this._state)return;let i={type:this._type,state:n};this._ctx.delegate._notify("remote-playback-change",i,e),this._state=n}},N_=class extends A_{constructor(){super(...arguments),this._type="airplay"}get _canPrompt(){return"WebKitPlaybackTargetAvailabilityEvent"in window}},cc=class extends Ua{constructor(e,n){super(e,n),this.$$PROVIDER_TYPE="VIDEO",et(()=>{if(this.airPlay=new N_(e,n),rh(e)){let i=new R_(e,n);this.fullscreen=new L_(i),this.pictureInPicture=new I_(i)}else ih(e)&&(this.pictureInPicture=new M_(e,n))},this.scope)}get type(){return"video"}setup(){super.setup(),nh(this.video)&&new $_(this.video,this._ctx),this._ctx.textRenderers._attachVideo(this.video),G(()=>{this._ctx.textRenderers._attachVideo(null)}),this.type==="video"&&this._ctx.delegate._notify("provider-setup",this)}get video(){return this._media}}});var NS={};xt(NS,{HLSProvider:()=>sh});async function f2(t,e={}){if(!Le(t)){if(e.onLoadStart?.(),t.prototype&&t.prototype!==Function)return e.onLoaded?.(t),t;try{let n=(await t())?.default;if(n&&n.isSupported)e.onLoaded?.(n);else throw Error("");return n}catch(n){e.onLoadError?.(n)}}}async function m2(t,e={}){if(F(t)){e.onLoadStart?.();try{if(await oh(t),!yt(window.Hls))throw Error("");let n=window.Hls;return e.onLoaded?.(n),n}catch(n){e.onLoadError?.(n)}}}var mU,h2,O_,V_,g2,sh,DS=Ue(()=>{"use strict";"use client";Lt();Wt();D_();lc();mU=$(z(),1),h2=t=>Da(t),O_=class{constructor(e,n){this._video=e,this._ctx=n,this._instance=null,this._stopLiveSync=null,this._config={},this._callbacks=new Set,this._retryLoadingTimer=-1}get instance(){return this._instance}setup(e){let{streamType:n}=this._ctx.$state,i=C(n).includes("live"),r=C(n).includes("ll-");this._instance=new e({lowLatencyMode:r,backBufferLength:r?4:i?8:void 0,renderTextTracksNatively:!1,...this._config});let s=this._dispatchHLSEvent.bind(this);for(let a of Object.values(e.Events))this._instance.on(a,s);this._instance.on(e.Events.ERROR,this._onError.bind(this));for(let a of this._callbacks)a(this._instance);this._ctx.player.dispatch("hls-instance",{detail:this._instance}),this._instance.attachMedia(this._video),this._instance.on(e.Events.FRAG_LOADING,this._onFragLoading.bind(this)),this._instance.on(e.Events.AUDIO_TRACK_SWITCHED,this._onAudioSwitch.bind(this)),this._instance.on(e.Events.LEVEL_SWITCHED,this._onLevelSwitched.bind(this)),this._instance.on(e.Events.LEVEL_LOADED,this._onLevelLoaded.bind(this)),this._instance.on(e.Events.NON_NATIVE_TEXT_TRACKS_FOUND,this._onTracksFound.bind(this)),this._instance.on(e.Events.CUES_PARSED,this._onCuesParsed.bind(this)),this._ctx.qualities[cn._enableAuto]=this._enableAutoQuality.bind(this),S(this._ctx.qualities,"change",this._onQualityChange.bind(this)),S(this._ctx.audioTracks,"change",this._onAudioChange.bind(this)),this._stopLiveSync=b(this._liveSync.bind(this))}_liveSync(){if(!this._ctx.$state.live())return;let e=new yi(this._liveSyncPosition.bind(this));return e._start(),e._stop.bind(e)}_liveSyncPosition(){this._ctx.$state.liveSyncPosition.set(this._instance?.liveSyncPosition??1/0)}_dispatchHLSEvent(e,n){this._ctx.player?.dispatch(new j(h2(e),{detail:n}))}_onTracksFound(e,n){let i=new j(e,{detail:n}),r=-1;for(let s=0;s{l.mode==="showing"?(this._instance.subtitleTrack=s,r=s):r===s&&(this._instance.subtitleTrack=-1,r=-1)},this._ctx.textTracks.add(l,i)}}_onCuesParsed(e,n){let i=this._ctx.textTracks.getById(`hls-${n.track}`);if(!i)return;let r=new j(e,{detail:n});for(let s of n.cues)s.positionAlign="auto",i.addCue(s,r)}_onAudioSwitch(e,n){let i=this._ctx.audioTracks[n.id];if(i){let r=new j(e,{detail:n});this._ctx.audioTracks[Y._select](i,!0,r)}}_onLevelSwitched(e,n){let i=this._ctx.qualities[n.level];if(i){let r=new j(e,{detail:n});this._ctx.qualities[Y._select](i,!0,r)}}_onLevelLoaded(e,n){if(this._ctx.$state.canPlay())return;let{type:i,live:r,totalduration:s,targetduration:a}=n.details,o=new j(e,{detail:n});this._ctx.delegate._notify("stream-type-change",r?i==="EVENT"&&Number.isFinite(s)&&a>=10?"live:dvr":"live":"on-demand",o),this._ctx.delegate._notify("duration-change",s,o);let l=this._instance.media;this._instance.currentLevel===-1&&this._ctx.qualities[cn._setAuto](!0,o);for(let c of this._instance.audioTracks){let u={id:c.id.toString(),label:c.name,language:c.lang||"",kind:"main"};this._ctx.audioTracks[Y._add](u,o)}for(let c of this._instance.levels){let u={id:c.id?.toString()??c.height+"p",width:c.width,height:c.height,codec:c.codecSet,bitrate:c.bitrate};this._ctx.qualities[Y._add](u,o)}l.dispatchEvent(new j("canplay",{trigger:o}))}_onError(e,n){if(n.fatal)switch(n.type){case"networkError":this._onNetworkError(n.error);break;case"mediaError":this._instance?.recoverMediaError();break;default:this._onFatalError(n.error);break}}_onFragLoading(){this._retryLoadingTimer>=0&&this._clearRetryTimer()}_onNetworkError(e){this._clearRetryTimer(),this._instance?.startLoad(),this._retryLoadingTimer=window.setTimeout(()=>{this._retryLoadingTimer=-1,this._onFatalError(e)},5e3)}_clearRetryTimer(){clearTimeout(this._retryLoadingTimer),this._retryLoadingTimer=-1}_onFatalError(e){this._instance?.destroy(),this._instance=null,this._ctx.delegate._notify("error",{message:e.message,code:1,error:e})}_enableAutoQuality(){this._instance&&(this._instance.currentLevel=-1)}_onQualityChange(){let{qualities:e}=this._ctx;!this._instance||e.auto||(this._instance[e.switch+"Level"]=e.selectedIndex,uc&&(this._video.currentTime=this._video.currentTime))}_onAudioChange(){let{audioTracks:e}=this._ctx;this._instance&&this._instance.audioTrack!==e.selectedIndex&&(this._instance.audioTrack=e.selectedIndex)}_loadSource(e){F(e.src)&&(this._clearRetryTimer(),this._instance?.loadSource(e.src))}_destroy(){this._clearRetryTimer(),this._ctx&&(this._ctx.qualities[cn._enableAuto]=void 0),this._instance?.destroy(),this._instance=null,this._stopLiveSync?.(),this._stopLiveSync=null}},V_=class{constructor(e,n,i){this._lib=e,this._ctx=n,this._callback=i,this._startLoading()}async _startLoading(){let e={onLoadStart:this._onLoadStart.bind(this),onLoaded:this._onLoaded.bind(this),onLoadError:this._onLoadError.bind(this)},n=await m2(this._lib,e);if(Le(n)&&!F(this._lib)&&(n=await f2(this._lib,e)),!n)return null;if(!n.isSupported()){let i="[vidstack] `hls.js` is not supported in this environment";return this._ctx.player.dispatch(new j("hls-unsupported")),this._ctx.delegate._notify("error",{message:i,code:4}),null}return n}_onLoadStart(){this._ctx.player.dispatch(new j("hls-lib-load-start"))}_onLoaded(e){this._ctx.player.dispatch(new j("hls-lib-loaded",{detail:e})),this._callback(e)}_onLoadError(e){let n=_i(e);this._ctx.player.dispatch(new j("hls-lib-load-error",{detail:n})),this._ctx.delegate._notify("error",{message:n.message,code:4,error:n})}};g2="https://cdn.jsdelivr.net",sh=class extends cc{constructor(){super(...arguments),this.$$PROVIDER_TYPE="HLS",this._ctor=null,this._controller=new O_(this.video,this._ctx),this._library=`${g2}/npm/hls.js@^1.5.0/dist/hls.min.js`}get ctor(){return this._ctor}get instance(){return this._controller.instance}get type(){return"hls"}get canLiveSync(){return!0}get config(){return this._controller._config}set config(e){this._controller._config=e}get library(){return this._library}set library(e){this._library=e}preconnect(){F(this._library)&&Jn(this._library)}setup(){super.setup(),new V_(this._library,this._ctx,e=>{this._ctor=e,this._controller.setup(e),this._ctx.delegate._notify("provider-setup",this);let n=C(this._ctx.$state.source);n&&this.loadSource(n)})}async loadSource(e,n){F(e.src)&&(this._media.preload=n||"",this._controller._loadSource(e),this._currentSrc=e)}onInstance(e){let n=this._controller.instance;return n&&e(n),this._controller._callbacks.add(e),()=>this._controller._callbacks.delete(e)}destroy(){this._controller._destroy()}};sh.supported=ah()});function Ha(t,e=3e3){let n=qi();return setTimeout(()=>{let i=t();i&&n.reject(i)},e),n}var ja,F_=Ue(()=>{"use strict";"use client";Lt();Wt();ja=class{constructor(e){this._iframe=e,this._src=D(""),this.referrerPolicy=null,e.setAttribute("frameBorder","0"),e.setAttribute("aria-hidden","true"),e.setAttribute("allow","autoplay; fullscreen; encrypted-media; picture-in-picture; accelerometer; gyroscope"),this.referrerPolicy!==null&&e.setAttribute("referrerpolicy",this.referrerPolicy)}get iframe(){return this._iframe}setup(){S(window,"message",this._onWindowMessage.bind(this)),S(this._iframe,"load",this._onLoad.bind(this)),b(this._watchSrc.bind(this))}_watchSrc(){let e=this._src();if(!e.length){this._iframe.setAttribute("src","");return}let n=C(()=>this._buildParams());this._iframe.setAttribute("src",OS(e,n))}_postMessage(e,n){N||this._iframe.contentWindow?.postMessage(JSON.stringify(e),n??"*")}_onWindowMessage(e){let n=this._getOrigin();if((e.source===null||e.source===this._iframe?.contentWindow)&&(!F(n)||n===e.origin)){try{let r=JSON.parse(e.data);r&&this._onMessage(r,e);return}catch{}e.data&&this._onMessage(e.data,e)}}}});var VS={};xt(VS,{getVimeoVideoInfo:()=>j_,resolveVimeoVideoId:()=>U_});function U_(t){let e=t.match(v2);return{videoId:e?.[1],hash:e?.[2]}}async function j_(t,e){if(z_.has(t))return z_.get(t);if(lh.has(t))return lh.get(t);let n=`https://vimeo.com/api/oembed.json?url=https://player.vimeo.com/video/${t}`,i=window.fetch(n,{mode:"cors",signal:e.signal}).then(r=>r.json()).then(r=>{let s=/vimeocdn.com\/video\/(.*)?_/,a=r?.thumbnail_url?.match(s)?.[1],o=a?`https://i.vimeocdn.com/video/${a}_1920x1080.webp`:"",l={title:r?.title??"",duration:r?.duration??0,poster:o,pro:r.account_type!=="basic"};return z_.set(t,l),l}).finally(()=>lh.delete(t));return lh.set(t,i),i}var v2,z_,lh,H_=Ue(()=>{"use strict";"use client";v2=/(?:https:\/\/)?(?:player\.)?vimeo(?:\.com)?\/(?:video\/)?(\d+)(?:\?hash=(.*))?/,z_=new Map,lh=new Map});var FS={};xt(FS,{VimeoProvider:()=>q_});var EU,y2,q_,zS=Ue(()=>{"use strict";"use client";Lt();Wt();lc();F_();H_();EU=$(z(),1),y2=["bufferend","bufferstart","durationchange","ended","enterpictureinpicture","error","fullscreenchange","leavepictureinpicture","loaded","playProgress","loadProgress","pause","play","playbackratechange","qualitychange","seeked","seeking","timeupdate","volumechange","waiting"],q_=class extends ja{constructor(e,n){super(e),this._ctx=n,this.$$PROVIDER_TYPE="VIMEO",this.scope=$t(),this._played=0,this._playedRange=new oe(0,0),this._seekableRange=new oe(0,0),this._playPromise=null,this._pausePromise=null,this._videoInfoPromise=null,this._videoId=D(""),this._pro=D(!1),this._hash=null,this._currentSrc=null,this._currentCue=null,this._timeRAF=new yi(this._onAnimationFrame.bind(this)),this._chaptersTrack=null,this.cookies=!1,this.title=!0,this.byline=!0,this.portrait=!0,this.color="00ADEF",this._skipTimeUpdates=!1}get _notify(){return this._ctx.delegate._notify}get type(){return"vimeo"}get currentSrc(){return this._currentSrc}get videoId(){return this._videoId()}get hash(){return this._hash}get isPro(){return this._pro()}preconnect(){Jn(this._getOrigin())}setup(){super.setup(),b(this._watchVideoId.bind(this)),b(this._watchVideoInfo.bind(this)),b(this._watchPro.bind(this)),this._notify("provider-setup",this)}destroy(){this._reset(),this._remote("destroy")}async play(){let{paused:e}=this._ctx.$state;return this._playPromise||(this._playPromise=Ha(()=>{if(this._playPromise=null,e())return"Timed out."}),this._remote("play")),this._playPromise.promise}async pause(){let{paused:e}=this._ctx.$state;return this._pausePromise||(this._pausePromise=Ha(()=>{if(this._pausePromise=null,!e())return"Timed out."}),this._remote("pause")),this._pausePromise.promise}setMuted(e){this._remote("setMuted",e)}setCurrentTime(e){this._remote("seekTo",e),this._notify("seeking",e)}setVolume(e){this._remote("setVolume",e),this._remote("setMuted",C(this._ctx.$state.muted))}setPlaybackRate(e){this._remote("setPlaybackRate",e)}async loadSource(e){if(!F(e.src)){this._currentSrc=null,this._hash=null,this._videoId.set("");return}let{videoId:n,hash:i}=U_(e.src);this._videoId.set(n??""),this._hash=i??null,this._currentSrc=e}_watchVideoId(){this._reset();let e=this._videoId();if(!e){this._src.set("");return}this._src.set(`${this._getOrigin()}/video/${e}`),this._notify("load-start")}_watchVideoInfo(){let e=this._videoId();if(!e)return;let n=qi(),i=new AbortController;return this._videoInfoPromise=n,j_(e,i).then(r=>{n.resolve(r)}).catch(r=>{n.reject(),this._notify("error",{message:`Failed to fetch vimeo video info for id \`${e}\`.`,code:1,error:_i(r)})}),()=>{n.reject(),i.abort()}}_watchPro(){let e=this._pro(),{$state:n,qualities:i}=this._ctx;if(n.canSetPlaybackRate.set(e),i[Y._setReadonly](!e),e)return S(i,"change",()=>{if(i.auto)return;let r=i.selected?.id;r&&this._remote("setQuality",r)})}_getOrigin(){return"https://player.vimeo.com"}_buildParams(){let{$iosControls:e}=this._ctx,{keyDisabled:n}=this._ctx.$props,{controls:i,playsInline:r}=this._ctx.$state,s=i()||e();return{title:this.title,byline:this.byline,color:this.color,portrait:this.portrait,controls:s,h:this.hash,keyboard:s&&!n(),transparent:!0,playsinline:r(),dnt:!this.cookies}}_onAnimationFrame(){this._remote("getCurrentTime")}_onTimeUpdate(e,n){if(this._skipTimeUpdates&&e===0)return;let{realCurrentTime:i,realDuration:r,paused:s,bufferedEnd:a}=this._ctx.$state;if(i()===e)return;let o=i(),l={currentTime:e,played:this._getPlayedRange(e)};this._notify("time-update",l,n),Math.abs(o-e)>1.5&&(this._notify("seeking",e,n),!s()&&a(){this._skipTimeUpdates=!1},500))}_getPlayedRange(e){return this._played>=e?this._playedRange:this._playedRange=new oe(0,this._played=e)}_onSeeked(e,n){this._notify("seeked",e,n)}_onReady(e){let n=this._videoId();this._videoInfoPromise?.promise.then(i=>{if(!i)return;let{title:r,poster:s,duration:a,pro:o}=i,{$iosControls:l}=this._ctx,{controls:c}=this._ctx.$state,u=c()||l();this._pro.set(o),this._seekableRange=new oe(0,a),this._notify("title-change",r,e),this._notify("poster-change",s,e),this._notify("duration-change",a,e);let d={buffered:new oe(0,0),seekable:this._seekableRange,duration:a};this._ctx.delegate._ready(d,e),u||this._remote("_hideOverlay"),this._remote("getQualities"),this._remote("getChapters")}).catch(i=>{n===this._videoId()&&this._notify("error",{message:"Failed to fetch oembed data",code:2,error:_i(i)})})}_onMethod(e,n,i){switch(e){case"getCurrentTime":this._onTimeUpdate(n,i);break;case"getBuffered":qe(n)&&n.length&&this._onLoadProgress(n[n.length-1][1],i);break;case"setMuted":this._onVolumeChange(C(this._ctx.$state.volume),n,i);break;case"getChapters":this._onChaptersChange(n);break;case"getQualities":this._onQualitiesChange(n,i);break}}_attachListeners(){for(let e of y2)this._remote("addEventListener",e)}_onPause(e){this._timeRAF._stop(),this._notify("pause",void 0,e),this._pausePromise?.resolve(),this._pausePromise=null}_onPlay(e){this._timeRAF._start(),this._notify("play",void 0,e),this._playPromise?.resolve(),this._playPromise=null}_onPlayProgress(e){let{paused:n}=this._ctx.$state;n()||this._notify("playing",void 0,e)}_onLoadProgress(e,n){let i={buffered:new oe(0,e),seekable:this._seekableRange};this._notify("progress",i,n)}_onBufferStart(e){this._notify("waiting",void 0,e)}_onBufferEnd(e){let{paused:n}=this._ctx.$state;n()||this._notify("playing",void 0,e)}_onWaiting(e){let{paused:n}=this._ctx.$state;n()&&this._notify("play",void 0,e),this._notify("waiting",void 0,e)}_onVolumeChange(e,n,i){let r={volume:e,muted:n};this._notify("volume-change",r,i)}_onChaptersChange(e){if(this._removeChapters(),!e.length)return;let n=new ln({kind:"chapters",default:!0}),{realDuration:i}=this._ctx.$state;for(let r=0;ri.id==="auto")?()=>{this._remote("setQuality","auto")}:void 0;for(let i of e){if(i.id==="auto")continue;let r=+i.id.slice(0,-1);isNaN(r)||this._ctx.qualities[Y._add]({id:i.id,width:r*(16/9),height:r,codec:"avc1,h.264",bitrate:-1},n)}this._onQualityChange(e.find(i=>i.active),n)}_onQualityChange({id:e}={},n){if(!e)return;let i=e==="auto",r=this._ctx.qualities.toArray().find(s=>s.id===e);i?(this._ctx.qualities[cn._setAuto](i,n),this._ctx.qualities[Y._select](void 0,!0,n)):this._ctx.qualities[Y._select](r,!0,n)}_onEvent(e,n,i){switch(e){case"ready":this._attachListeners();break;case"loaded":this._onReady(i);break;case"play":this._onPlay(i);break;case"playProgress":this._onPlayProgress(i);break;case"pause":this._onPause(i);break;case"loadProgress":this._onLoadProgress(n.seconds,i);break;case"waiting":this._onWaiting(i);break;case"bufferstart":this._onBufferStart(i);break;case"bufferend":this._onBufferEnd(i);break;case"volumechange":this._onVolumeChange(n.volume,C(this._ctx.$state.muted),i);break;case"durationchange":this._seekableRange=new oe(0,n.duration),this._notify("duration-change",n.duration,i);break;case"playbackratechange":this._notify("rate-change",n.playbackRate,i);break;case"qualitychange":this._onQualityChange(n,i);break;case"fullscreenchange":this._notify("fullscreen-change",n.fullscreen,i);break;case"enterpictureinpicture":this._notify("picture-in-picture-change",!0,i);break;case"leavepictureinpicture":this._notify("picture-in-picture-change",!1,i);break;case"ended":this._notify("end",void 0,i);break;case"error":this._onError(n,i);break;case"seek":case"seeked":this._onSeeked(n.seconds,i);break}}_onError(e,n){if(e.method==="setPlaybackRate"&&this._pro.set(!1),e.method==="play"){this._playPromise?.reject(e.message);return}}_onMessage(e,n){e.event?this._onEvent(e.event,e.data,n):e.method&&this._onMethod(e.method,e.value,n)}_onLoad(){}_remote(e,n){return this._postMessage({method:e,value:n})}_reset(){this._timeRAF._stop(),this._played=0,this._playedRange=new oe(0,0),this._seekableRange=new oe(0,0),this._playPromise=null,this._pausePromise=null,this._videoInfoPromise=null,this._currentCue=null,this._pro.set(!1),this._removeChapters()}}});var US={};xt(US,{findYouTubePoster:()=>w2,resolveYouTubeVideoId:()=>W_});function W_(t){return t.match(_2)?.[1]}async function w2(t,e){if(B_.has(t))return B_.get(t);if(ch.has(t))return ch.get(t);let n=new Promise(async i=>{let r=["maxresdefault","sddefault","hqdefault"];for(let s of r)for(let a of[!0,!1]){let o=b2(t,s,a);if((await fetch(o,{mode:"no-cors",signal:e.signal})).status<400){B_.set(t,o),i(o);return}}}).catch(()=>"").finally(()=>ch.delete(t));return ch.set(t,n),n}function b2(t,e,n){return`https://i.ytimg.com/${n?"vi_webp":"vi"}/${t}/${e}.${n?"webp":"jpg"}`}var _2,B_,ch,K_=Ue(()=>{"use strict";"use client";_2=/(?:youtu\.be|youtube|youtube\.com|youtube-nocookie\.com)\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=|)((?:\w|-){11})/,B_=new Map,ch=new Map});var jS={};xt(jS,{YouTubeProvider:()=>G_});var $U,ks,G_,HS=Ue(()=>{"use strict";"use client";Lt();Wt();F_();K_();$U=$(z(),1),ks={_Unstarted:-1,_Ended:0,_Playing:1,_Paused:2,_Buffering:3,_Cued:5},G_=class extends ja{constructor(e,n){super(e),this._ctx=n,this.$$PROVIDER_TYPE="YOUTUBE",this.scope=$t(),this._videoId=D(""),this._state=-1,this._seekingTimer=-1,this._pausedSeeking=!1,this._played=0,this._playedRange=new oe(0,0),this._currentSrc=null,this._playPromise=null,this._pausePromise=null,this.language="en",this.color="red",this.cookies=!1}get _notify(){return this._ctx.delegate._notify}get currentSrc(){return this._currentSrc}get type(){return"youtube"}get videoId(){return this._videoId()}preconnect(){Jn(this._getOrigin())}setup(){super.setup(),b(this._watchVideoId.bind(this)),this._notify("provider-setup",this)}async play(){let{paused:e}=this._ctx.$state;return this._playPromise||(this._playPromise=Ha(()=>{if(this._playPromise=null,e())return"Timed out."}),this._remote("playVideo")),this._playPromise.promise}async pause(){let{paused:e}=this._ctx.$state;return this._pausePromise||(this._pausePromise=Ha(()=>{this._pausePromise=null,e()}),this._remote("pauseVideo")),this._pausePromise.promise}setMuted(e){e?this._remote("mute"):this._remote("unMute")}setCurrentTime(e){this._pausedSeeking=this._ctx.$state.paused(),this._remote("seekTo",e),this._notify("seeking",e)}setVolume(e){this._remote("setVolume",e*100)}setPlaybackRate(e){this._remote("setPlaybackRate",e)}async loadSource(e){if(!F(e.src)){this._currentSrc=null,this._videoId.set("");return}let n=W_(e.src);this._videoId.set(n??""),this._currentSrc=e}_getOrigin(){return this.cookies?"https://www.youtube.com":"https://www.youtube-nocookie.com"}_watchVideoId(){this._reset();let e=this._videoId();if(!e){this._src.set("");return}this._src.set(`${this._getOrigin()}/embed/${e}`),this._notify("load-start")}_buildParams(){let{keyDisabled:e}=this._ctx.$props,{$iosControls:n}=this._ctx,{controls:i,muted:r,playsInline:s}=this._ctx.$state,a=i()||n();return{autoplay:0,cc_lang_pref:this.language,cc_load_policy:a?1:void 0,color:this.color,controls:a?1:0,disablekb:!a||e()?1:0,enablejsapi:1,fs:1,hl:this.language,iv_load_policy:a?1:3,mute:r()?1:0,playsinline:s()?1:0}}_remote(e,n){this._postMessage({event:"command",func:e,args:n?[n]:void 0})}_onLoad(){window.setTimeout(()=>this._postMessage({event:"listening"}),100)}_onReady(e){this._notify("loaded-metadata"),this._notify("loaded-data"),this._ctx.delegate._ready(void 0,e)}_onPause(e){this._pausePromise?.resolve(),this._pausePromise=null,this._notify("pause",void 0,e)}_onTimeUpdate(e,n){let{duration:i,realCurrentTime:r}=this._ctx.$state,s=this._state===ks._Ended,a=s?i():e,o={currentTime:a,played:this._getPlayedRange(a)};this._notify("time-update",o,n),!s&&Math.abs(a-r())>1&&this._notify("seeking",a,n)}_getPlayedRange(e){return this._played>=e?this._playedRange:this._playedRange=new oe(0,this._played=e)}_onProgress(e,n,i){let r={buffered:new oe(0,e),seekable:n};this._notify("progress",r,i);let{seeking:s,realCurrentTime:a}=this._ctx.$state;s()&&e>a()&&this._onSeeked(i)}_onSeeked(e){let{paused:n,realCurrentTime:i}=this._ctx.$state;window.clearTimeout(this._seekingTimer),this._seekingTimer=window.setTimeout(()=>{this._notify("seeked",i(),e),this._seekingTimer=-1},n()?100:0),this._pausedSeeking=!1}_onEnded(e){let{seeking:n}=this._ctx.$state;n()&&this._onSeeked(e),this._notify("end",void 0,e)}_onStateChange(e,n){let{started:i,paused:r,seeking:s}=this._ctx.$state,a=e===ks._Playing,o=e===ks._Buffering,l=(r()||this._playPromise)&&(o||a);if(o&&this._notify("waiting",void 0,n),s()&&a&&this._onSeeked(n),!i()&&l&&this._pausedSeeking){this._playPromise?.reject("invalid internal play operation"),this._playPromise=null,a&&(this.pause(),this._pausedSeeking=!1);return}switch(l&&(this._playPromise?.resolve(),this._playPromise=null,this._notify("play",void 0,n)),e){case ks._Cued:this._onReady(n);break;case ks._Playing:this._notify("playing",void 0,n);break;case ks._Paused:this._onPause(n);break;case ks._Ended:this._onEnded(n);break}this._state=e}_onMessage({info:e},n){if(!e)return;let{title:i,intrinsicDuration:r,playbackRate:s}=this._ctx.$state;if(Gl(e.videoData)&&e.videoData.title!==i()&&this._notify("title-change",e.videoData.title,n),Be(e.duration)&&e.duration!==r()){if(Be(e.videoLoadedFraction)){let a=e.progressState?.loaded??e.videoLoadedFraction*e.duration,o=new oe(0,e.duration);this._onProgress(a,o,n)}this._notify("duration-change",e.duration,n)}if(Be(e.playbackRate)&&e.playbackRate!==s()&&this._notify("rate-change",e.playbackRate,n),e.progressState){let{current:a,seekableStart:o,seekableEnd:l,loaded:c,duration:u}=e.progressState;this._onTimeUpdate(a,n),this._onProgress(c,new oe(o,l),n),u!==r()&&this._notify("duration-change",u,n)}if(Be(e.volume)&&Jy(e.muted)){let a={muted:e.muted,volume:e.volume/100};this._notify("volume-change",a,n)}Be(e.playerState)&&e.playerState!==this._state&&this._onStateChange(e.playerState,n)}_reset(){this._state=-1,this._seekingTimer=-1,this._played=0,this._playedRange=new oe(0,0),this._playPromise=null,this._pausePromise=null,this._pausedSeeking=!1}}});var BS={};xt(BS,{GoogleCastProvider:()=>Z_});var AU,Q_,Y_,qS,X_,Z_,WS=Ue(()=>{"use strict";"use client";Lt();Wt();lc();ew();AU=$(z(),1),Q_=class{constructor(e){this._info=new chrome.cast.media.MediaInfo(e.src,e.type)}build(){return this._info}_setStreamType(e){return e.includes("live")?this._info.streamType=chrome.cast.media.StreamType.LIVE:this._info.streamType=chrome.cast.media.StreamType.BUFFERED,this}_setTracks(e){return this._info.tracks=e.map(this._buildCastTrack),this}_setMetadata(e,n){return this._info.metadata=new chrome.cast.media.GenericMediaMetadata,this._info.metadata.title=e,this._info.metadata.images=[{url:n}],this}_buildCastTrack(e,n){let i=new chrome.cast.media.Track(n,chrome.cast.media.TrackType.TEXT);return i.name=e.label,i.trackContentId=e.src,i.trackContentType="text/vtt",i.language=e.language,i.subtype=e.kind.toUpperCase(),i}},Y_=chrome.cast.media.TrackType.TEXT,qS=chrome.cast.media.TrackType.AUDIO,X_=class{constructor(e,n,i){this._cast=e,this._ctx=n,this._onNewLocalTracks=i}_setup(){let e=this._syncRemoteActiveIds.bind(this);S(this._ctx.audioTracks,"change",e),S(this._ctx.textTracks,"mode-change",e),b(this._syncLocalTracks.bind(this))}_getLocalTextTracks(){return this._ctx.$state.textTracks().filter(e=>e.src&&e.type==="vtt")}_getLocalAudioTracks(){return this._ctx.$state.audioTracks()}_getRemoteTracks(e){let n=this._cast.mediaInfo?.tracks??[];return e?n.filter(i=>i.type===e):n}_getRemoteActiveIds(){let e=[],n=this._getLocalAudioTracks().find(r=>r.selected),i=this._getLocalTextTracks().filter(r=>r.mode==="showing");if(n){let r=this._getRemoteTracks(qS),s=this._findRemoteTrack(r,n);s&&e.push(s.trackId)}if(i?.length){let r=this._getRemoteTracks(Y_);if(r.length)for(let s of i){let a=this._findRemoteTrack(r,s);a&&e.push(a.trackId)}}return e}_syncLocalTracks(){let e=this._getLocalTextTracks();if(!this._cast.isMediaLoaded)return;let n=this._getRemoteTracks(Y_);for(let i of e)if(!this._findRemoteTrack(n,i)){Aa(()=>this._onNewLocalTracks?.());break}}_syncRemoteTracks(e){if(!this._cast.isMediaLoaded)return;let n=this._getLocalAudioTracks(),i=this._getLocalTextTracks(),r=this._getRemoteTracks(qS),s=this._getRemoteTracks(Y_);for(let a of r){if(this._findLocalTrack(n,a))continue;let l={id:a.trackId.toString(),label:a.name,language:a.language,kind:a.subtype??"main",selected:!1};this._ctx.audioTracks[Y._add](l,e)}for(let a of s){if(this._findLocalTrack(i,a))continue;let l={id:a.trackId.toString(),src:a.trackContentId,label:a.name,language:a.language,kind:a.subtype.toLowerCase()};this._ctx.textTracks.add(l,e)}}_syncRemoteActiveIds(e){if(!this._cast.isMediaLoaded)return;let n=this._getRemoteActiveIds(),i=new chrome.cast.media.EditTracksInfoRequest(n);this._editTracksInfo(i).catch(r=>{})}_editTracksInfo(e){let n=pc();return new Promise((i,r)=>n?.editTracksInfo(e,i,r))}_findLocalTrack(e,n){return e.find(i=>this._isMatch(i,n))}_findRemoteTrack(e,n){return e.find(i=>this._isMatch(n,i))}_isMatch(e,n){return n.name===e.label&&n.language===e.language&&n.subtype.toLowerCase()===e.kind.toLowerCase()}},Z_=class{constructor(e,n){this._player=e,this._ctx=n,this.$$PROVIDER_TYPE="GOOGLE_CAST",this.scope=$t(),this._currentSrc=null,this._state="disconnected",this._currentTime=0,this._played=0,this._playedRange=new oe(0,0),this._seekableRange=new oe(0,0),this._timeRAF=new yi(this._onAnimationFrame.bind(this)),this._reloadInfo=null,this._isIdle=!1,this._tracks=new X_(this._player,this._ctx,this._onNewLocalTracks.bind(this))}get _notify(){return this._ctx.delegate._notify}get type(){return"google-cast"}get currentSrc(){return this._currentSrc}get player(){return this._player}get cast(){return Es()}get session(){return dc()}get media(){return pc()}get hasActiveSession(){return uh(this._currentSrc)}setup(){this._attachCastContextEventListeners(),this._attachCastPlayerEventListeners(),this._tracks._setup(),this._notify("provider-setup",this)}_attachCastContextEventListeners(){J_(cast.framework.CastContextEventType.CAST_STATE_CHANGED,this._onCastStateChange.bind(this))}_attachCastPlayerEventListeners(){let e=cast.framework.RemotePlayerEventType,n={[e.IS_CONNECTED_CHANGED]:this._onCastStateChange,[e.IS_MEDIA_LOADED_CHANGED]:this._onMediaLoadedChange,[e.CAN_CONTROL_VOLUME_CHANGED]:this._onCanControlVolumeChange,[e.CAN_SEEK_CHANGED]:this._onCanSeekChange,[e.DURATION_CHANGED]:this._onDurationChange,[e.IS_MUTED_CHANGED]:this._onVolumeChange,[e.VOLUME_LEVEL_CHANGED]:this._onVolumeChange,[e.IS_PAUSED_CHANGED]:this._onPausedChange,[e.LIVE_SEEKABLE_RANGE_CHANGED]:this._onProgress,[e.PLAYER_STATE_CHANGED]:this._onPlayerStateChange};this._playerEventHandlers=n;let i=this._onRemotePlayerEvent.bind(this);for(let r of Jl(n))this._player.controller.addEventListener(r,i);G(()=>{for(let r of Jl(n))this._player.controller.removeEventListener(r,i)})}async play(){if(!(!this._player.isPaused&&!this._isIdle)){if(this._isIdle){await this._reload(!1,0);return}this._player.controller?.playOrPause()}}async pause(){this._player.isPaused||this._player.controller?.playOrPause()}getMediaStatus(e){return new Promise((n,i)=>{this.media?.getStatus(e,n,i)})}setMuted(e){(e&&!this._player.isMuted||!e&&this._player.isMuted)&&this._player.controller?.muteOrUnmute()}setCurrentTime(e){this._player.currentTime=e,this._notify("seeking",e),this._player.controller?.seek()}setVolume(e){this._player.volumeLevel=e,this._player.controller?.setVolumeLevel()}async loadSource(e){if(this._reloadInfo?.src!==e&&(this._reloadInfo=null),uh(e)){this._resumeSession(),this._currentSrc=e;return}this._notify("load-start");let n=this._buildLoadRequest(e),i=await this.session.loadMedia(n);if(i){this._currentSrc=null,this._notify("error",Error(dh(i)));return}this._currentSrc=e}destroy(){this._reset(),this._endSession()}_reset(){this._reloadInfo||(this._played=0,this._playedRange=new oe(0,0),this._seekableRange=new oe(0,0)),this._timeRAF._stop(),this._currentTime=0,this._reloadInfo=null}_resumeSession(){let e=new j("resume-session",{detail:this.session});this._onMediaLoadedChange(e);let{muted:n,volume:i,remotePlaybackInfo:r}=this._ctx.$state,s=r();this.setCurrentTime(Math.max(this._player.currentTime,s?.savedState?.currentTime??0)),this.setMuted(n()),this.setVolume(i()),s?.savedState?.paused===!1&&this.play()}_endSession(){this.cast.endCurrentSession(!0);let{remotePlaybackLoader:e}=this._ctx.$state;e.set(null)}_disconnectFromReceiver(){this._ctx.$state.remotePlaybackInfo.set({savedState:{paused:this._player.isPaused,currentTime:this._player.currentTime}}),this._endSession()}_onAnimationFrame(){this._onCurrentTimeChange()}_onRemotePlayerEvent(e){this._playerEventHandlers[e.type].call(this,e)}_onCastStateChange(e){let n=this.cast.getCastState(),i=n===cast.framework.CastState.CONNECTED?"connected":n===cast.framework.CastState.CONNECTING?"connecting":"disconnected";if(this._state===i)return;let r={type:"google-cast",state:i},s=this._createEvent(e);this._state=i,this._notify("remote-playback-change",r,s),i==="disconnected"&&this._disconnectFromReceiver()}_onMediaLoadedChange(e){if(!!!this._player.isMediaLoaded)return;let i=C(this._ctx.$state.source);Promise.resolve().then(()=>{if(i!==C(this._ctx.$state.source)||!this._player.isMediaLoaded)return;this._reset();let r=this._player.duration;this._seekableRange=new oe(0,r);let s={provider:this,duration:r,buffered:this._playedRange,seekable:this._getSeekableRange()},a=this._createEvent(e);this._notify("loaded-metadata",void 0,a),this._notify("loaded-data",void 0,a),this._notify("can-play",s,a),this._onCanControlVolumeChange(),this._onCanSeekChange(e);let{volume:o,muted:l}=this._ctx.$state;this.setVolume(o()),this.setMuted(l()),this._timeRAF._start(),this._tracks._syncRemoteTracks(a),this._tracks._syncRemoteActiveIds(a)})}_onCanControlVolumeChange(){this._ctx.$state.canSetVolume.set(this._player.canControlVolume)}_onCanSeekChange(e){let n=this._createEvent(e);this._notify("stream-type-change",this._getStreamType(),n)}_getStreamType(){return this._player.mediaInfo?.streamType===chrome.cast.media.StreamType.LIVE?this._player.canSeek?"live:dvr":"live":"on-demand"}_onCurrentTimeChange(){if(this._reloadInfo)return;let e=this._player.currentTime;if(e===this._currentTime)return;let n=this._played,i=this._getPlayedRange(e),r={currentTime:e,played:i};this._notify("time-update",r),e>n&&this._onProgress(),this._ctx.$state.seeking()&&this._notify("seeked",e),this._currentTime=e}_getPlayedRange(e){return this._played>=e?this._playedRange:this._playedRange=new oe(0,this._played=e)}_onDurationChange(e){if(!this._player.isMediaLoaded||this._reloadInfo)return;let n=this._player.duration,i=this._createEvent(e);this._seekableRange=new oe(0,n),this._notify("duration-change",n,i)}_onVolumeChange(e){if(!this._player.isMediaLoaded)return;let n={muted:this._player.isMuted,volume:this._player.volumeLevel},i=this._createEvent(e);this._notify("volume-change",n,i)}_onPausedChange(e){let n=this._createEvent(e);this._player.isPaused?this._notify("pause",void 0,n):this._notify("play",void 0,n)}_onProgress(e){let n={seekable:this._getSeekableRange(),buffered:this._playedRange},i=e?this._createEvent(e):void 0;this._notify("progress",n,i)}_onPlayerStateChange(e){let n=this._player.playerState,i=chrome.cast.media.PlayerState;if(this._isIdle=n===i.IDLE,n===i.PAUSED)return;let r=this._createEvent(e);switch(n){case i.PLAYING:this._notify("playing",void 0,r);break;case i.BUFFERING:this._notify("waiting",void 0,r);break;case i.IDLE:this._timeRAF._stop(),this._notify("pause"),this._notify("end");break}}_getSeekableRange(){return this._player.liveSeekableRange?new oe(this._player.liveSeekableRange.start,this._player.liveSeekableRange.end):this._seekableRange}_createEvent(e){return e instanceof Event?e:new j(e.type,{detail:e})}_buildMediaInfo(e){let{streamType:n,title:i,poster:r}=this._ctx.$state;return new Q_(e)._setMetadata(i(),r())._setStreamType(n())._setTracks(this._tracks._getLocalTextTracks()).build()}_buildLoadRequest(e){let n=this._buildMediaInfo(e),i=new chrome.cast.media.LoadRequest(n),r=this._ctx.$state.remotePlaybackInfo();return i.autoplay=(this._reloadInfo?.paused??r?.savedState?.paused)===!1,i.currentTime=this._reloadInfo?.time??r?.savedState?.currentTime??0,i}async _reload(e,n){let i=C(this._ctx.$state.source);this._reloadInfo={src:i,paused:e,time:n},await this.loadSource(i)}_onNewLocalTracks(){this._reload(this._player.isPaused,this._player.currentTime).catch(e=>{})}}});var GS={};xt(GS,{a:()=>Es,b:()=>dc,c:()=>dh,d:()=>S2,g:()=>pc,h:()=>uh,l:()=>J_});function x2(){return"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"}function k2(){return!!window.cast?.framework}function E2(){return!!window.chrome?.cast?.isAvailable}function KS(){return Es().getCastState()===cast.framework.CastState.CONNECTED}function Es(){return window.cast.framework.CastContext.getInstance()}function dc(){return Es().getCurrentSession()}function pc(){return dc()?.getSessionObj().media[0]}function uh(t){return pc()?.media.contentId===t?.src}function T2(){return{language:"en-US",autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,resumeSavedSession:!0,androidReceiverCompatible:!0}}function dh(t){return`Google Cast Error Code: ${t}`}function J_(t,e){return YS(Es(),t,e)}var tw,S2,ew=Ue(()=>{"use strict";"use client";Wt();Lt();tw=class{constructor(){this.name="google-cast"}get cast(){return Es()}mediaType(){return"video"}canPlay(e){return uc&&!ph&&hh(e)}async prompt(e){let n;try{let i=await this._loadCastFramework(e);this._player||(this._player=new cast.framework.RemotePlayer,new cast.framework.RemotePlayerController(this._player)),n=e.player.createEvent("google-cast-prompt-open",{trigger:i}),e.player.dispatchEvent(n),this._notifyRemoteStateChange(e,"connecting",n),await this._showPrompt(C(e.$props.googleCast)),e.$state.remotePlaybackInfo.set({deviceName:dc()?.getCastDevice().friendlyName}),KS()&&this._notifyRemoteStateChange(e,"connected",n)}catch(i){let r=_i(i);throw this._notifyRemoteStateChange(e,KS()?"connected":"disconnected",new j("google-cast-prompt-error",{detail:r})),r}finally{e.player.dispatch("google-cast-prompt-close",{trigger:n})}}async load(e){if(N)throw Error("[vidstack] can not load google cast provider server-side");if(!this._player)throw Error("[vidstack] google cast player was not initialized");return new(await Promise.resolve().then(()=>(WS(),BS))).GoogleCastProvider(this._player,e)}async _loadCastFramework(e){if(k2())return;let n=e.player.createEvent("google-cast-load-start");e.player.dispatch(n),await oh(x2()),await customElements.whenDefined("google-cast-launcher");let i=e.player.createEvent("google-cast-loaded",{trigger:n});if(e.player.dispatch(i),!E2())throw Error("Cast not available.");return i}async _showPrompt(e){this._setOptions(e);let n=await this.cast.requestSession();if(n)throw Error(dh(n))}_setOptions(e){this.cast?.setOptions({...T2(),...e})}_notifyRemoteStateChange(e,n,i){let r={type:"google-cast",state:n};e.delegate._notify("remote-playback-change",r,i)}},S2=Object.freeze({__proto__:null,GoogleCastLoader:tw})});function _P(){return _h}function nw(t){if(Ts.fullscreenElement===t)return!0;try{return t.matches(Ts.fullscreenPseudoClass)}catch{return!1}}function eP(){if(!_h)throw Error("[vidstack] no fullscreen API")}function Sw(){return wP()&&yt(screen.orientation.unlock)}function wP(){return!N&&!Le(window.screen.orientation)&&!Le(window.screen.orientation.lock)}function F2(t,e){return N?!1:(t||(t=document.createElement("audio")),t.canPlayType(e).length>0)}function z2(t,e){return N?!1:(t||(t=document.createElement("video")),t.canPlayType(e).length>0)}function nh(t){return N?!1:(t||(t=document.createElement("video")),t.canPlayType("application/vnd.apple.mpegurl").length>0)}function ih(t){return N?!1:!!document.pictureInPictureEnabled&&!t?.disablePictureInPicture}function rh(t){return N?!1:yt(t?.webkitSupportsPresentationMode)&&yt(t?.webkitSetPresentationMode)}async function bP(){let t=document.createElement("video");return t.volume=.5,await a_(0),t.volume===.5}function U2(){return N?void 0:window?.ManagedMediaSource??window?.MediaSource??window?.WebKitMediaSource}function j2(){return N?void 0:window?.SourceBuffer??window?.WebKitSourceBuffer}function ah(){if(N)return!1;let t=U2();if(Le(t))return!1;let e=t&&yt(t.isTypeSupported)&&t.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),n=j2(),i=Le(n)||!Le(n.prototype)&&yt(n.prototype.appendBuffer)&&yt(n.prototype.remove);return!!e&&!!i}function aw(t){if(!t.length)return null;let e=t.start(0);for(let n=1;ne&&(e=i)}return e}function OS(t,e){let n=new URLSearchParams;for(let i of Object.keys(e))n.set(i,e[i]+"");return t+"?"+n.toString()}function Jn(t,e="preconnect"){if(N)return!1;let n=document.querySelector(`link[href="${t}"]`);if(!gi(n))return!0;let i=document.createElement("link");return i.rel=e,i.href=t,i.crossOrigin="true",document.head.append(i),!0}function oh(t){if(fh[t])return fh[t].promise;let e=qi(),n=document.querySelector(`script[src="${t}"]`);if(!gi(n))return e.resolve(),e.promise;let i=document.createElement("script");return i.src=t,i.onload=()=>{e.resolve(),delete fh[t]},i.onerror=()=>{e.reject(),delete fh[t]},setTimeout(()=>document.head.append(i),0),e.promise}function bh(t){return t==="use-credentials"?"include":F(t)?"same-origin":void 0}function xh(t,e){return e>=t.startTime&&es.includes(o.kind)&&o.mode==="showing");if(a!==i){if(!a){n(null),i=null;return}a.readyState==2?n(a):(n(null),a.addEventListener("load",()=>n(a),{once:!0})),i=a}}return r(),S(t,"mode-change",r)}function We(t){return Q2.test(t.kind)}function EP(t,e,n){let i=F(t)?JSON.parse(t):t,r=[],s=[];return i.regions&&n&&(r=i.regions.map(a=>Object.assign(new n,a))),(i.cues||qe(i))&&(s=(qe(i)?i:i.cues).filter(a=>Be(a.startTime)&&Be(a.endTime)).map(a=>Object.assign(new e(0,0,""),a))),{regions:r,cues:s}}function TP(t){Ns.reset(t,e=>X2.has(e)),Zn()}function le(){return Ie(ru)}function SP(t){return t.split("-")[0]}function Z2(t){return t.split("-")[1]}function J2(t){return t==="x"?"y":"x"}function eO(t){return t==="y"?"height":"width"}function PP(t){return["top","bottom"].includes(SP(t))?"y":"x"}function tO(t){return J2(PP(t))}function CP(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function sP(t,e,n){let{reference:i,floating:r}=t,s=PP(e),a=tO(e),o=eO(a),l=SP(e),c=s==="y",u=i.x+i.width/2-r.width/2,d=i.y+i.height/2-r.height/2,p=i[o]/2-r[o]/2,h;switch(l){case"top":h={x:u,y:i.y-r.height};break;case"bottom":h={x:u,y:i.y+i.height};break;case"right":h={x:i.x+i.width,y:d};break;case"left":h={x:i.x-r.width,y:d};break;default:h={x:i.x,y:i.y}}switch(Z2(e)){case"start":h[a]-=p*(n&&c?-1:1);break;case"end":h[a]+=p*(n&&c?-1:1);break}return h}function Nr(t){return $P(t)?(t.nodeName||"").toLowerCase():"#document"}function dn(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function er(t){var e;return(e=($P(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function $P(t){return t instanceof Node||t instanceof dn(t).Node}function Yi(t){return t instanceof Element||t instanceof dn(t).Element}function wi(t){return t instanceof HTMLElement||t instanceof dn(t).HTMLElement}function aP(t){return typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof dn(t).ShadowRoot}function su(t){let{overflow:e,overflowX:n,overflowY:i,display:r}=Cn(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&!["inline","contents"].includes(r)}function iO(t){return["table","td","th"].includes(Nr(t))}function Cw(t){let e=$w(),n=Cn(t);return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(i=>(n.willChange||"").includes(i))||["paint","layout","strict","content"].some(i=>(n.contain||"").includes(i))}function MP(t){let e=Ga(t);for(;wi(e)&&!cf(e);){if(Cw(e))return e;e=Ga(e)}return null}function $w(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function cf(t){return["html","body","#document"].includes(Nr(t))}function Cn(t){return dn(t).getComputedStyle(t)}function uf(t){return Yi(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Ga(t){if(Nr(t)==="html")return t;let e=t.assignedSlot||t.parentNode||aP(t)&&t.host||er(t);return aP(e)?e.host:e}function RP(t){let e=Ga(t);return cf(e)?t.ownerDocument?t.ownerDocument.body:t.body:wi(e)&&su(e)?e:RP(e)}function gc(t,e,n){var i;e===void 0&&(e=[]),n===void 0&&(n=!0);let r=RP(t),s=r===((i=t.ownerDocument)==null?void 0:i.body),a=dn(r);return s?e.concat(a,a.visualViewport||[],su(r)?r:[],a.frameElement&&n?gc(a.frameElement):[]):e.concat(r,gc(r,[],n))}function LP(t){let e=Cn(t),n=parseFloat(e.width)||0,i=parseFloat(e.height)||0,r=wi(t),s=r?t.offsetWidth:n,a=r?t.offsetHeight:i,o=kh(n)!==s||kh(i)!==a;return o&&(n=s,i=a),{width:n,height:i,$:o}}function Mw(t){return Yi(t)?t:t.contextElement}function Ba(t){let e=Mw(t);if(!wi(e))return Ar(1);let n=e.getBoundingClientRect(),{width:i,height:r,$:s}=LP(e),a=(s?kh(n.width):n.width)/i,o=(s?kh(n.height):n.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!o||!Number.isFinite(o))&&(o=1),{x:a,y:o}}function IP(t){let e=dn(t);return!$w()||!e.visualViewport?rO:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function sO(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==dn(t)?!1:e}function Ss(t,e,n,i){e===void 0&&(e=!1),n===void 0&&(n=!1);let r=t.getBoundingClientRect(),s=Mw(t),a=Ar(1);e&&(i?Yi(i)&&(a=Ba(i)):a=Ba(t));let o=sO(s,n,i)?IP(s):Ar(0),l=(r.left+o.x)/a.x,c=(r.top+o.y)/a.y,u=r.width/a.x,d=r.height/a.y;if(s){let p=dn(s),h=i&&Yi(i)?dn(i):i,y=p.frameElement;for(;y&&i&&h!==p;){let v=Ba(y),w=y.getBoundingClientRect(),m=Cn(y),f=w.left+(y.clientLeft+parseFloat(m.paddingLeft))*v.x,g=w.top+(y.clientTop+parseFloat(m.paddingTop))*v.y;l*=v.x,c*=v.y,u*=v.x,d*=v.y,l+=f,c+=g,y=dn(y).frameElement}}return CP({width:u,height:d,x:l,y:c})}function AP(t){let e=!1,n=0,i=0;function r(a){try{e=e||t.matches(a)}catch{}}aO.forEach(a=>{r(a)});let s=MP(t);if(e&&s){let a=s.getBoundingClientRect();n=a.x,i=a.y}return[e,n,i]}function oO(t){let{elements:e,rect:n,offsetParent:i,strategy:r}=t,s=er(i),[a]=e?AP(e.floating):[!1];if(i===s||a)return n;let o={scrollLeft:0,scrollTop:0},l=Ar(1),c=Ar(0),u=wi(i);if((u||!u&&r!=="fixed")&&((Nr(i)!=="body"||su(s))&&(o=uf(i)),wi(i))){let d=Ss(i);l=Ba(i),c.x=d.x+i.clientLeft,c.y=d.y+i.clientTop}return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-o.scrollLeft*l.x+c.x,y:n.y*l.y-o.scrollTop*l.y+c.y}}function lO(t){return Array.from(t.getClientRects())}function NP(t){return Ss(er(t)).left+uf(t).scrollLeft}function cO(t){let e=er(t),n=uf(t),i=t.ownerDocument.body,r=qa(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),s=qa(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight),a=-n.scrollLeft+NP(t),o=-n.scrollTop;return Cn(i).direction==="rtl"&&(a+=qa(e.clientWidth,i.clientWidth)-r),{width:r,height:s,x:a,y:o}}function uO(t,e){let n=dn(t),i=er(t),r=n.visualViewport,s=i.clientWidth,a=i.clientHeight,o=0,l=0;if(r){s=r.width,a=r.height;let c=$w();(!c||c&&e==="fixed")&&(o=r.offsetLeft,l=r.offsetTop)}return{width:s,height:a,x:o,y:l}}function dO(t,e){let n=Ss(t,!0,e==="fixed"),i=n.top+t.clientTop,r=n.left+t.clientLeft,s=wi(t)?Ba(t):Ar(1),a=t.clientWidth*s.x,o=t.clientHeight*s.y,l=r*s.x,c=i*s.y;return{width:a,height:o,x:l,y:c}}function oP(t,e,n){let i;if(e==="viewport")i=uO(t,n);else if(e==="document")i=cO(er(t));else if(Yi(e))i=dO(e,n);else{let r=IP(t);i={...e,x:e.x-r.x,y:e.y-r.y}}return CP(i)}function DP(t,e){let n=Ga(t);return n===e||!Yi(n)||cf(n)?!1:Cn(n).position==="fixed"||DP(n,e)}function pO(t,e){let n=e.get(t);if(n)return n;let i=gc(t,[],!1).filter(o=>Yi(o)&&Nr(o)!=="body"),r=null,s=Cn(t).position==="fixed",a=s?Ga(t):t;for(;Yi(a)&&!cf(a);){let o=Cn(a),l=Cw(a);!l&&o.position==="fixed"&&(r=null),(s?!l&&!r:!l&&o.position==="static"&&!!r&&["absolute","fixed"].includes(r.position)||su(a)&&!l&&DP(t,a))?i=i.filter(u=>u!==a):r=o,a=Ga(a)}return e.set(t,i),i}function hO(t){let{element:e,boundary:n,rootBoundary:i,strategy:r}=t,a=[...n==="clippingAncestors"?pO(e,this._c):[].concat(n),i],o=a[0],l=a.reduce((c,u)=>{let d=oP(e,u,r);return c.top=qa(d.top,c.top),c.right=lw(d.right,c.right),c.bottom=lw(d.bottom,c.bottom),c.left=qa(d.left,c.left),c},oP(e,o,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function fO(t){let{width:e,height:n}=LP(t);return{width:e,height:n}}function mO(t,e,n,i){let r=wi(e),s=er(e),a=n==="fixed",o=Ss(t,!0,a,e),l={scrollLeft:0,scrollTop:0},c=Ar(0);if(r||!r&&!a)if((Nr(e)!=="body"||su(s))&&(l=uf(e)),r){let v=Ss(e,!0,a,e);c.x=v.x+e.clientLeft,c.y=v.y+e.clientTop}else s&&(c.x=NP(s));let u=o.left+l.scrollLeft-c.x,d=o.top+l.scrollTop-c.y,[p,h,y]=AP(i);return p&&(u+=h,d+=y,r&&(u+=e.clientLeft,d+=e.clientTop)),{x:u,y:d,width:o.width,height:o.height}}function lP(t,e){return!wi(t)||Cn(t).position==="fixed"?null:e?e(t):t.offsetParent}function OP(t,e){let n=dn(t);if(!wi(t))return n;let i=lP(t,e);for(;i&&iO(i)&&Cn(i).position==="static";)i=lP(i,e);return i&&(Nr(i)==="html"||Nr(i)==="body"&&Cn(i).position==="static"&&!Cw(i))?n:i||MP(t)||n}function vO(t){return Cn(t).direction==="rtl"}function _O(t,e){let n=null,i,r=er(t);function s(){var o;clearTimeout(i),(o=n)==null||o.disconnect(),n=null}function a(o,l){o===void 0&&(o=!1),l===void 0&&(l=1),s();let{left:c,top:u,width:d,height:p}=t.getBoundingClientRect();if(o||e(),!d||!p)return;let h=mh(u),y=mh(r.clientWidth-(c+d)),v=mh(r.clientHeight-(u+p)),w=mh(c),f={rootMargin:-h+"px "+-y+"px "+-v+"px "+-w+"px",threshold:qa(0,lw(1,l))||1},g=!0;function x(T){let L=T[0].intersectionRatio;if(L!==l){if(!g)return a();L?a(!1,L):i=setTimeout(()=>{a(!1,1e-7)},100)}g=!1}try{n=new IntersectionObserver(x,{...f,root:r.ownerDocument})}catch{n=new IntersectionObserver(x,f)}n.observe(t)}return a(!0),s}function wO(t,e,n,i){i===void 0&&(i={});let{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:l=!1}=i,c=Mw(t),u=r||s?[...c?gc(c):[],...gc(e)]:[];u.forEach(m=>{r&&m.addEventListener("scroll",n,{passive:!0}),s&&m.addEventListener("resize",n)});let d=c&&o?_O(c,n):null,p=-1,h=null;a&&(h=new ResizeObserver(m=>{let[f]=m;f&&f.target===c&&h&&(h.unobserve(e),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var g;(g=h)==null||g.observe(e)})),n()}),c&&!l&&h.observe(c),h.observe(e));let y,v=l?Ss(t):null;l&&w();function w(){let m=Ss(t);v&&(m.x!==v.x||m.y!==v.y||m.width!==v.width||m.height!==v.height)&&n(),v=m,y=requestAnimationFrame(w)}return n(),()=>{var m;u.forEach(f=>{r&&f.removeEventListener("scroll",n),s&&f.removeEventListener("resize",n)}),d?.(),(m=h)==null||m.disconnect(),h=null,l&&cancelAnimationFrame(y)}}function YS(t,e,n){if(t)return S(t,e,n)}function ve(t,e,n){t.hasAttribute(e)||t.setAttribute(e,n)}function Vr(t,e){if(t.hasAttribute("aria-label")||t.hasAttribute("data-no-label"))return;function n(){Z(t,"aria-label",e())}N?n():b(n)}function VP(t,e,n){for(;e;){if(e===t)return!0;if(n?.(e))break;e=e.parentElement}return!1}function Dr(t,e){S(t,"pointerup",n=>{n.button===0&&e(n)}),S(t,"keydown",n=>{Ql(n)&&e(n)})}function Rw(t){return Na(t)&&(t.touches.length>1||t.changedTouches.length>1)}function Eh(t){if(N)return t();let e=Bl(),n=window.requestAnimationFrame(()=>{et(t,e),n=-1});return()=>void window.cancelAnimationFrame(n)}function FP(t,e,n,{offsetVarName:i,xOffset:r,yOffset:s,...a}){if(!t)return;let o=n.replace(" ","-").replace("-center","");if(lt(t,"visibility",e?null:"hidden"),!e)return;let l=u=>n.includes("left")?`calc(-1 * ${u})`:u,c=u=>n.includes("top")?`calc(-1 * ${u})`:u;return wO(e,t,()=>{bO(e,t,{placement:o,...a}).then(({x:u,y:d})=>{Object.assign(t.style,{top:`calc(${d+"px"} + ${c(s?s+"px":`var(--${i}-y-offset, 0px)`)})`,left:`calc(${u+"px"} + ${l(r?r+"px":`var(--${i}-x-offset, 0px)`)})`})})})}function xO(t){return getComputedStyle(t).animationName!=="none"}function kO(t,e,n){var i=null,r=null,s=n&&n.leading,a=n&&n.trailing;s==null&&(s=!0),a==null&&(a=!s),s==!0&&(a=!1);var o=function(){i&&(clearTimeout(i),i=null)},l=function(){var u=r;o(),u&&u()},c=function(){var u=s&&!i,d=this,p=arguments;if(r=function(){return t.apply(d,p)},i||(i=setTimeout(function(){if(i=null,a)return r()},e)),u)return u=!1,r()};return c.cancel=o,c.flush=l,c}function EO(t,e,n){var i=null,r=null,s=function(){i&&(clearTimeout(i),r=null,i=null)},a=function(){var l=r;s(),l&&l()},o=function(){if(!e)return t.apply(this,arguments);var l=this,c=arguments,u=n&&!i;if(s(),r=function(){t.apply(l,c)},i=setTimeout(function(){if(i=null,!u){var d=r;return r=null,d()}},e),u)return r()};return o.cancel=s,o.flush=a,o}function io(t){return t?.$$PROVIDER_TYPE==="VIDEO"}function zP(t){return!N&&t instanceof HTMLAudioElement}function UP(t){return!N&&t instanceof HTMLVideoElement}function jP(t){return zP(t)||UP(t)}function $O(t){return t.replace(/Shift\+(\d)/g,(e,n)=>CO[n-1])}function Iw({src:t,type:e}){return F(t)?qP.test(t)||BP.has(e)||t.startsWith("blob:")&&e==="audio/object":e==="audio/object"}function Aw(t){return F(t.src)?WP.test(t.src)||KP.has(t.type)||t.src.startsWith("blob:")&&t.type==="video/object"||xs(t)&&(N||nh()):t.type==="video/object"}function xs({src:t,type:e}){return F(t)&&GP.test(t)||YP.has(e)}function hh(t){return F(t.src)&&(Iw(t)||Aw(t)||xs(t))}function P_(t){return!N&&typeof window.MediaStream<"u"&&t instanceof window.MediaStream}function _i(t){return t instanceof Error?t:Error(JSON.stringify(t))}function Ki(t,e){if(!t)throw Error(e||"Assertion failed.")}function rw(t,e){if(!(t&&e))throw Error("[vidstack] media not ready")}function dP(t,e){if(!e?.supported)throw Error("[vidstack] no fullscreen support")}function At(t,e=2){return Number(t.toFixed(e))}function th(t){return String(t).split(".")[1]?.length??0}function Nw(t,e,n){return Math.max(t,Math.min(n,e))}function gh(t,e){Z(t,"data-focus",e),Z(t,"data-hocus",e)}function pP(t,e){Z(t,"data-hocus",e),Z(t,"data-hover",e)}function JP(t,e){return fetch(t,e).then(n=>n.text()).then(n=>{let i=OO(n);if(i)return JP(/^https?:/.test(i)?i:new URL(i,t).href,e);let r=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(n)?"on-demand":"live";return r==="live"&&VO(n)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(n)||n.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":r})}function OO(t){let e=t.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g);return e?e[0].split(` -`)[1].trim():null}function VO(t){let e=t.split(` -`);for(let n of e)if(n.startsWith("#EXT-X-TARGETDURATION")){let i=parseFloat(n.split(":")[1]);if(!isNaN(i))return i}return-1}function hP(t){return(qe(t)?t:[!F(t)&&"src"in t?t:{src:t}]).map(({src:e,type:n,...i})=>({src:e,type:n??(F(e)?e1.get(e):null)??(!F(e)||e.startsWith("blob:")?"video/object":e.includes("youtube")?"video/youtube":e.includes("vimeo")?"video/vimeo":"?"),...i})).sort(e=>e.type==="?"?1:-1)}function fP(t,e){return t?.src===e?.src&&t?.type===e?.type}function WO(t){return t?"true":"false"}function Gt(t){return()=>WO(t())}function mP(t,e,n){let i=e-t,r=n-t;return i>0?r/i:0}function KO(t,e,n,i){return Nw(t,At(n,th(i)),e)}function GO(t,e,n,i){let r=Nw(0,n,1),s=e-t,a=s*r,o=a/i,l=i*o;return t+l}function sw(t,e){let n=String(t),i=n.length;if(i=3600?sw(s,2):s,c=sw(a,2);return r>0||i?`${o}:${l}:${c}`:`${l}:${c}`}function bc(t){let e=[],{hours:n,minutes:i,seconds:r}=t1(t);return n>0&&e.push(`${n} hour`),i>0&&e.push(`${i} min`),(r>0||e.length===0)&&e.push(`${r} sec`),e.join(" ")}function Dw(t,{clamp:e,offset:n,orientation:i}){let r=getComputedStyle(t),s=parseFloat(r.width),a=parseFloat(r.height),o={top:null,right:null,bottom:null,left:null};if(o[i==="horizontal"?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${n}px))`,i==="horizontal"){let l=s/2;if(!e)o.left=`calc(var(--slider-pointer) - ${l}px)`;else{let c=`max(0px, calc(var(--slider-pointer) - ${l}px))`,u=`calc(100% - ${s}px)`;o.left=`min(${c}, ${u})`}}else{let l=a/2;if(!e)o.bottom=`calc(var(--slider-pointer) - ${l}px)`;else{let c=`max(${l}px, calc(var(--slider-pointer) - ${l}px))`,u=`calc(100% - ${a}px)`;o.bottom=`min(${c}, ${u})`}}Object.assign(t.style,o)}function C3(t){return ke.isValidElement(t)&&t.type===P3}function $3(t,e){let n={...e};for(let i in e){let r=t[i],s=e[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{s(...o),r(...o)}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...t,...n}}function r1(t){return t?.$$PROVIDER_TYPE==="REMOTION"}function ye(t,e){let n=Mr(Ns);return pe((e?.current?.$state||n||R3)[t])}var ke,P2,C2,$2,M2,R2,L2,I2,A2,N2,D2,O2,Y,QS,mc,un,XS,ZS,JS,Kt,Pn,Ts,_h,wh,N,V2,ph,tP,uc,S_,xP,Pw,oe,fh,H2,q2,B2,W2,K2,G2,Y2,W,nP,iP,rP,ln,Q2,Ns,X2,ru,Ka,lw,qa,kh,mh,Ar,nO,rO,aO,gO,yO,bO,Qi,Th,au,Sh,cw,Ph,Lw,Ch,hc,$h,Mh,TO,SO,cn,Rh,HP,cP,PO,uP,uw,CO,Lh,qP,BP,WP,KP,GP,YP,Ih,vc,QP,ZP,Ah,Nh,iw,MO,RO,Dh,dw,pw,Oh,hw,fw,LO,mw,gw,IO,Vh,pn,AO,NO,Ee,he,DO,e1,yw,_w,FO,zO,UO,Ya,Fh,zh,Uh,Wa,jO,jh,Hh,yc,tt,HO,qO,BO,_c,qh,Bh,Wh,Kh,Gh,Yh,Qh,Xh,Zh,df,gP,ww,wc,pf,bi,Xi,Gi,vh,Jh,Qa,ef,YO,QO,XO,Ps,ZO,JO,e3,Xa,xc,kc,Za,t3,n3,hf,Zi,ct,i3,vP,bw,r3,s3,ou,a3,Ji,o3,l3,c3,Cs,tf,nf,fc,Ec,xw,Or,u3,d3,n1,Ja,p3,h3,f3,eo,m3,g3,Ow,$s,v3,y3,Vw,Ms,_3,w3,Fw,Rs,b3,x3,zw,Ls,k3,E3,Uw,Is,rf,kw,sf,Tc,Sc,T3,S3,Ew,As,af,Pc,Cc,of,$c,Mc,Rc,Lc,Ic,Ac,Nc,Dc,Oc,Vc,Fc,zc,Uc,jc,Hc,qc,Bc,Wc,Kc,Gc,Yc,Qc,Xc,Zc,Jc,eu,tu,nu,lf,to,iu,i1,Tw,P3,M3,U,yP,R3,Wt=Ue(()=>{"use strict";"use client";ke=$(z(),1);Lt();C2=Symbol(0);P2=C2;$2=Symbol(0),M2=Symbol(0),R2=Symbol(0),L2=Symbol(0),I2=Symbol(0),A2=Symbol(0),N2=Symbol(0),D2=Symbol(0),O2=Symbol(0),Y={_add:$2,_remove:M2,_reset:R2,_select:L2,_readonly:I2,_setReadonly:A2,_onReset:N2,_onRemove:D2,_onUserSelect:O2},mc=class extends La{constructor(){super(...arguments),this._items=[],this[QS]=!1}get length(){return this._items.length}get readonly(){return this[Y._readonly]}toArray(){return[...this._items]}[(QS=Y._readonly,Symbol.iterator)](){return this._items.values()}[Y._add](e,n){let i=this._items.length;""+i in this||Object.defineProperty(this,i,{get(){return this._items[i]}}),!this._items.includes(e)&&(this._items.push(e),this.dispatchEvent(new j("add",{detail:e,trigger:n})))}[Y._remove](e,n){let i=this._items.indexOf(e);i>=0&&(this[Y._onRemove]?.(e,n),this._items.splice(i,1),this.dispatchEvent(new j("remove",{detail:e,trigger:n})))}[Y._reset](e){for(let n of[...this._items])this[Y._remove](n,e);this._items=[],this[Y._setReadonly](!1,e),this[Y._onReset]?.()}[Y._setReadonly](e,n){this[Y._readonly]!==e&&(this[Y._readonly]=e,this.dispatchEvent(new j("readonly-change",{detail:e,trigger:n})))}},un={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},XS=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],ZS=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],JS=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],Kt=typeof window<"u"&&typeof window.document<"u"?window.document:{},Pn="fullscreenEnabled"in Kt&&Object.keys(un)||XS[0]in Kt&&XS||ZS[0]in Kt&&ZS||JS[0]in Kt&&JS||[],Ts={requestFullscreen:function(t){return t[Pn[un.requestFullscreen]]()},requestFullscreenFunction:function(t){return t[Pn[un.requestFullscreen]]},get exitFullscreen(){return Kt[Pn[un.exitFullscreen]].bind(Kt)},get fullscreenPseudoClass(){return":"+Pn[un.fullscreen]},addEventListener:function(t,e,n){return Kt.addEventListener(Pn[un[t]],e,n)},removeEventListener:function(t,e,n){return Kt.removeEventListener(Pn[un[t]],e,n)},get fullscreenEnabled(){return!!Kt[Pn[un.fullscreenEnabled]]},set fullscreenEnabled(t){},get fullscreenElement(){return Kt[Pn[un.fullscreenElement]]},set fullscreenElement(t){},get onfullscreenchange(){return Kt[("on"+Pn[un.fullscreenchange]).toLowerCase()]},set onfullscreenchange(t){return Kt[("on"+Pn[un.fullscreenchange]).toLowerCase()]=t},get onfullscreenerror(){return Kt[("on"+Pn[un.fullscreenerror]).toLowerCase()]},set onfullscreenerror(t){return Kt[("on"+Pn[un.fullscreenerror]).toLowerCase()]=t}},_h=Ts.fullscreenEnabled,wh=class extends Mt{constructor(){super(...arguments),this._listening=!1,this._active=!1}get active(){return this._active}get supported(){return _h}onConnect(){S(Ts,"fullscreenchange",this._onFullscreenChange.bind(this)),S(Ts,"fullscreenerror",this._onFullscreenError.bind(this)),G(this._onDisconnect.bind(this))}async _onDisconnect(){_h&&await this.exit()}_onFullscreenChange(e){let n=nw(this.el);n!==this._active&&(n||(this._listening=!1),this._active=n,this.dispatch("fullscreen-change",{detail:n,trigger:e}))}_onFullscreenError(e){this._listening&&(this.dispatch("fullscreen-error",{detail:null,trigger:e}),this._listening=!1)}async enter(){try{return this._listening=!0,!this.el||nw(this.el)?void 0:(eP(),Ts.requestFullscreen(this.el))}catch(e){throw this._listening=!1,e}}async exit(){if(!(!this.el||!nw(this.el)))return eP(),Ts.exitFullscreen()}};N=typeof document>"u",V2=N?"":navigator?.userAgent.toLowerCase()||"",ph=!N&&/iphone|ipad|ipod|ios|crios|fxios/i.test(V2),tP=!N&&/(iphone|ipod)/gi.test(navigator?.platform||""),uc=!N&&!!window.chrome,S_=!N&&(!!window.safari||ph);xP=class kP extends Mt{constructor(){super(...arguments),this._type=D(this._getScreenOrientation()),this._locked=D(!1)}get type(){return this._type()}get locked(){return this._locked()}get portrait(){return this._type().startsWith("portrait")}get landscape(){return this._type().startsWith("landscape")}get supported(){return kP.supported}onConnect(){if(this.supported)S(screen.orientation,"change",this._onOrientationChange.bind(this));else{let e=window.matchMedia("(orientation: landscape)");e.onchange=this._onOrientationChange.bind(this),G(()=>e.onchange=null)}G(this._onDisconnect.bind(this))}async _onDisconnect(){this.supported&&this._locked()&&await this.unlock()}_onOrientationChange(e){this._type.set(this._getScreenOrientation()),this.dispatch("orientation-change",{detail:{orientation:C(this._type),lock:this._currentLock},trigger:e})}async lock(e){C(this._locked)||this._currentLock===e||(this._assertScreenOrientationAPI(),await screen.orientation.lock(e),this._locked.set(!0),this._currentLock=e)}async unlock(){C(this._locked)&&(this._assertScreenOrientationAPI(),this._currentLock=void 0,await screen.orientation.unlock(),this._locked.set(!1))}_assertScreenOrientationAPI(){if(!this.supported)throw Error("[vidstack] no orientation API")}_getScreenOrientation(){return N?"portrait-primary":this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}};xP.supported=Sw();Pw=xP,oe=class{get length(){return this._ranges.length}constructor(e,n){qe(e)?this._ranges=e:!Le(e)&&!Le(n)?this._ranges=[[e,n]]:this._ranges=[]}start(e){return this._ranges[e][0]??1/0}end(e){return this._ranges[e][1]??1/0}};fh={};H2=Symbol(0),q2=Symbol(0),B2=Symbol(0),W2=Symbol(0),K2=Symbol(0),G2=Symbol(0),Y2=Symbol(0),W={_crossOrigin:H2,_readyState:q2,_updateActiveCues:B2,_canLoad:W2,_onModeChange:K2,_native:G2,_nativeHLS:Y2};ln=class extends La{constructor(e){super(),this.id="",this.label="",this.language="",this.default=!1,this._canLoad=!1,this._currentTime=0,this._mode="disabled",this._metadata={},this._regions=[],this._cues=[],this._activeCues=[],this[nP]=0,this[iP]=null,this[rP]=null;for(let n of Object.keys(e))this[n]=e[n];this.type||(this.type="vtt"),!N&&e.content?Promise.resolve().then(()=>(oc(),ac)).then(({parseText:n,VTTCue:i,VTTRegion:r})=>{!F(e.content)||e.type==="json"?(this._parseJSON(e.content,i,r),this.readyState!==3&&this._readyState()):n(e.content,{type:e.type}).then(({cues:s,regions:a})=>{this._cues=s,this._regions=a,this._readyState()})}):e.src||(this[W._readyState]=2)}static createId(e){return`id::${e.type}-${e.kind}-${e.src??e.label}`}get metadata(){return this._metadata}get regions(){return this._regions}get cues(){return this._cues}get activeCues(){return this._activeCues}get readyState(){return this[W._readyState]}get mode(){return this._mode}set mode(e){this.setMode(e)}addCue(e,n){let i=0,r=this._cues.length;for(i=0;i=0){let r=this._activeCues.includes(e);this._cues.splice(i,1),this[W._native]?.track.removeCue(e),this.dispatchEvent(new j("remove-cue",{detail:e,trigger:n})),r&&this[W._updateActiveCues](this._currentTime,n)}}setMode(e,n){this._mode!==e&&(this._mode=e,e==="disabled"?(this._activeCues=[],this._activeCuesChanged()):this.readyState===2?this[W._updateActiveCues](this._currentTime,n):this._load(),this.dispatchEvent(new j("mode-change",{detail:this,trigger:n})),this[W._onModeChange]?.())}[(nP=W._readyState,iP=W._onModeChange,rP=W._native,W._updateActiveCues)](e,n){if(this._currentTime=e,this.mode==="disabled"||!this._cues.length)return;let i=[];for(let s=0,a=this._cues.length;s0)){this[W._readyState]=1,this.dispatchEvent(new j("load-start"));try{let{parseResponse:e,VTTCue:n,VTTRegion:i}=await Promise.resolve().then(()=>(oc(),ac)),r=this[W._crossOrigin]?.(),s=fetch(this.src,{headers:this.type==="json"?{"Content-Type":"application/json"}:void 0,credentials:bh(r)});if(this.type==="json")this._parseJSON(await(await s).text(),n,i);else{let{errors:a,metadata:o,regions:l,cues:c}=await e(s,{type:this.type,encoding:this.encoding});if(a[0]?.code===0)throw a[0];this._metadata=o,this._regions=l,this._cues=c}this._readyState()}catch(e){this._errorState(e)}}}_readyState(){if(this[W._readyState]=2,!this.src||this.type!=="vtt"){let n=this[W._native]?.track;if(n)for(let i of this._cues)n.addCue(i)}let e=new j("load");this[W._updateActiveCues](this._currentTime,e),this.dispatchEvent(e)}_errorState(e){this[W._readyState]=3,this.dispatchEvent(new j("error",{detail:e}))}_parseJSON(e,n,i){try{let{regions:r,cues:s}=EP(e,n,i);this._regions=r,this._cues=s}catch(r){this._errorState(r)}}_activeCuesChanged(e){this.dispatchEvent(new j("cue-change",{trigger:e}))}},Q2=/captions|subtitles/;Ns=new Xn({artist:"",audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,buffered:new oe,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:Sw(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,controlsVisible:!1,crossOrigin:null,ended:!1,error:null,fullscreen:!1,loop:!1,logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new oe,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,seekable:new oe,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(We).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.clipStartTime>0?Math.max(0,Math.min(this.realCurrentTime-this.clipStartTime,this.duration)):this.realCurrentTime},providedDuration:-1,intrinsicDuration:0,get realDuration(){return this.providedDuration>0?this.providedDuration:this.intrinsicDuration},get duration(){return this.clipEndTime>0?this.clipEndTime-this.clipStartTime:Math.max(0,this.realDuration-this.clipStartTime)},get title(){return this.providedTitle||this.inferredTitle},get poster(){return this.providedPoster||this.inferredPoster},get viewType(){return this.providedViewType!=="unknown"?this.providedViewType:this.inferredViewType},get streamType(){return this.providedStreamType!=="unknown"?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){let t=aw(this.buffered)??0;return Math.max(0,t-this.clipStartTime)},get bufferedEnd(){let t=ow(this.buffered)??0;return Math.min(this.duration,Math.max(0,t-this.clipStartTime))},get seekableStart(){let t=aw(this.seekable)??0;return Math.max(0,t-this.clipStartTime)},get seekableEnd(){let t=this.canPlay?ow(this.seekable)??1/0:0;return this.clipEndTime>0?Math.min(this.clipEndTime,Math.max(0,t-this.clipStartTime)):t},get seekableWindow(){return Math.max(0,this.seekableEnd-this.seekableStart)},canAirPlay:!1,canGoogleCast:!1,remotePlaybackState:"disconnected",remotePlaybackType:"none",remotePlaybackLoader:null,remotePlaybackInfo:null,get isAirPlayConnected(){return this.remotePlaybackType==="airplay"&&this.remotePlaybackState==="connected"},get isGoogleCastConnected(){return this.remotePlaybackType==="google-cast"&&this.remotePlaybackState==="connected"},pointer:"fine",orientation:"landscape",width:0,height:0,mediaWidth:0,mediaHeight:0,lastKeyboardAction:null,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.seekableWindow)&&(!this.live||/:dvr/.test(this.streamType)&&this.seekableWindow>=this.minLiveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.realDuration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,(this.liveSyncPosition??this.seekableEnd)-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},autoPlaying:!1,providedTitle:"",inferredTitle:"",providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null}),X2=new Set(["audioTrack","audioTracks","autoPlayError","autoPlaying","autoQuality","buffered","canPlay","ended","error","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","liveSyncPosition","paused","played","playing","qualities","quality","realCurrentTime","seekable","seeking","started","userBehindLiveEdge","waiting"]);ru=vi();Ka=class{constructor(e=void 0){this._logger=e,this._target=null,this._player=null,this._prevTrackIndex=-1}setTarget(e){this._target=e}getPlayer(e){return this._player?this._player:((e??this._target)?.dispatchEvent(new j("find-media-player",{detail:n=>void(this._player=n),bubbles:!0,composed:!0})),this._player)}setPlayer(e){this._player=e}startLoading(e){this._dispatchRequest("media-start-loading",e)}startLoadingPoster(e){this._dispatchRequest("media-poster-start-loading",e)}requestAirPlay(e){this._dispatchRequest("media-airplay-request",e)}requestGoogleCast(e){this._dispatchRequest("media-google-cast-request",e)}play(e){this._dispatchRequest("media-play-request",e)}pause(e){this._dispatchRequest("media-pause-request",e)}mute(e){this._dispatchRequest("media-mute-request",e)}unmute(e){this._dispatchRequest("media-unmute-request",e)}enterFullscreen(e,n){this._dispatchRequest("media-enter-fullscreen-request",n,e)}exitFullscreen(e,n){this._dispatchRequest("media-exit-fullscreen-request",n,e)}lockScreenOrientation(e,n){this._dispatchRequest("media-orientation-lock-request",n,e)}unlockScreenOrientation(e){this._dispatchRequest("media-orientation-unlock-request",e)}enterPictureInPicture(e){this._dispatchRequest("media-enter-pip-request",e)}exitPictureInPicture(e){this._dispatchRequest("media-exit-pip-request",e)}seeking(e,n){this._dispatchRequest("media-seeking-request",n,e)}seek(e,n){this._dispatchRequest("media-seek-request",n,e)}seekToLiveEdge(e){this._dispatchRequest("media-live-edge-request",e)}changeVolume(e,n){this._dispatchRequest("media-volume-change-request",n,Math.max(0,Math.min(1,e)))}changeAudioTrack(e,n){this._dispatchRequest("media-audio-track-change-request",n,e)}changeQuality(e,n){this._dispatchRequest("media-quality-change-request",n,e)}requestAutoQuality(e){this.changeQuality(-1,e)}changeTextTrackMode(e,n,i){this._dispatchRequest("media-text-track-change-request",i,{index:e,mode:n})}changePlaybackRate(e,n){this._dispatchRequest("media-rate-change-request",n,e)}resumeControls(e){this._dispatchRequest("media-resume-controls-request",e)}pauseControls(e){this._dispatchRequest("media-pause-controls-request",e)}togglePaused(e){let n=this.getPlayer(e?.target);n&&(n.state.paused?this.play(e):this.pause(e))}toggleControls(e){let n=this.getPlayer(e?.target);n&&(n.controls.showing?n.controls.hide(0,e):n.controls.show(0,e))}toggleMuted(e){let n=this.getPlayer(e?.target);n&&(n.state.muted?this.unmute(e):this.mute(e))}toggleFullscreen(e,n){let i=this.getPlayer(n?.target);i&&(i.state.fullscreen?this.exitFullscreen(e,n):this.enterFullscreen(e,n))}togglePictureInPicture(e){let n=this.getPlayer(e?.target);n&&(n.state.pictureInPicture?this.exitPictureInPicture(e):this.enterPictureInPicture(e))}disableCaptions(e){let n=this.getPlayer(e?.target);if(!n)return;let i=n.state.textTracks,r=n.state.textTrack;if(r){let s=i.indexOf(r);this.changeTextTrackMode(s,"disabled",e)}}toggleCaptions(e){let n=this.getPlayer(e?.target);if(!n)return;let i=n.state.textTracks,r=n.state.textTrack;if(r){let s=i.indexOf(r);this.changeTextTrackMode(s,"disabled",e),this._prevTrackIndex=s}else{let s=this._prevTrackIndex;(!i[s]||!We(i[s]))&&(s=-1),s===-1&&(s=i.findIndex(a=>We(a)&&a.default)),s===-1&&(s=i.findIndex(a=>We(a))),s>=0&&this.changeTextTrackMode(s,"showing",e),this._prevTrackIndex=-1}}_dispatchRequest(e,n,i){let r=new j(e,{bubbles:!0,composed:!0,cancelable:!0,detail:i,trigger:n}),s=n?.target||null;s&&s instanceof q&&(s=s.el),s=!s||s===document||s===window||s===document.body||this._player?.el&&s instanceof Node&&!this._player.el.contains(s)?this._target??this.getPlayer()?.el:s??this._target,this._player?e==="media-play-request"&&!this._player.state.canLoad?s?.dispatchEvent(r):this._player.canPlayQueue._enqueue(e,()=>s?.dispatchEvent(r)):s?.dispatchEvent(r)}_noPlayerWarning(e){}},lw=Math.min,qa=Math.max,kh=Math.round,mh=Math.floor,Ar=t=>({x:t,y:t});nO=async(t,e,n)=>{let{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:a}=n,o=s.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(e)),c=await a.getElementRects({reference:t,floating:e,strategy:r}),{x:u,y:d}=sP(c,i,l),p=i,h={},y=0;for(let v=0;v{let i=new Map,r={platform:yO,...n},s={...r.platform,_c:i};return nO(t,e,{...r,platform:s})};Qi=class extends Mt{},Th=class extends Qi{constructor(){super(...arguments),this._idleTimer=-2,this._pausedTracking=!1,this._hideOnMouseLeave=D(!1),this._isMouseOutside=D(!1),this._focusedItem=null,this.defaultDelay=2e3}get hideOnMouseLeave(){let{hideControlsOnMouseLeave:e}=this.$props;return this._hideOnMouseLeave()||e()}set hideOnMouseLeave(e){this._hideOnMouseLeave.set(e)}get showing(){return this.$state.controlsVisible()}show(e=0,n){this._clearIdleTimer(),this._pausedTracking||this._changeVisibility(!0,e,n)}hide(e=this.defaultDelay,n){this._clearIdleTimer(),this._pausedTracking||this._changeVisibility(!1,e,n)}pause(e){this._pausedTracking=!0,this._clearIdleTimer(),this._changeVisibility(!0,0,e)}resume(e){this._pausedTracking=!1,!this.$state.paused()&&this._changeVisibility(!1,this.defaultDelay,e)}onConnect(){b(this._watchMouse.bind(this)),b(this._watchPaused.bind(this));let e=this._onPlay.bind(this),n=this._onPause.bind(this);this.listen("can-play",i=>this.show(0,i)),this.listen("play",e),this.listen("pause",n),this.listen("auto-play-fail",n)}_watchMouse(){let{started:e,pointer:n,paused:i}=this.$state;if(!e()||n()!=="fine")return;let r=this.hideOnMouseLeave;(!r||!this._isMouseOutside())&&b(()=>{i()||this.listen("pointermove",this._onStopIdle.bind(this))}),r&&(this.listen("mouseenter",this._onMouseEnter.bind(this)),this.listen("mouseleave",this._onMouseLeave.bind(this)))}_watchPaused(){let{paused:e,started:n,autoPlayError:i}=this.$state;if(e()||i()&&!n())return;let r=this._onStopIdle.bind(this);b(()=>{let s=this.$state.pointer(),a=s==="coarse",o=[a?"touchend":"pointerup","keydown"];for(let l of o)this.listen(l,r,{passive:!1})})}_onPlay(e){this.show(0,e),this.hide(void 0,e)}_onPause(e){this.show(0,e)}_onMouseEnter(e){this._isMouseOutside.set(!1),this.show(0,e),this.hide(void 0,e)}_onMouseLeave(e){this._isMouseOutside.set(!0),this.hide(0,e)}_clearIdleTimer(){window.clearTimeout(this._idleTimer),this._idleTimer=-1}_onStopIdle(e){e.MEDIA_GESTURE||this._pausedTracking||Rw(e)||(Hi(e)&&(e.key==="Escape"?(this.el?.focus(),this._focusedItem=null):this._focusedItem&&(e.preventDefault(),requestAnimationFrame(()=>{this._focusedItem?.focus(),this._focusedItem=null}))),this.show(0,e),this.hide(this.defaultDelay,e))}_changeVisibility(e,n,i){if(n===0){this._onChange(e,i);return}this._idleTimer=window.setTimeout(()=>{this.scope&&this._onChange(e&&!this._pausedTracking,i)},n)}_onChange(e,n){this.$state.controlsVisible()!==e&&(this.$state.controlsVisible.set(e),!e&&document.activeElement&&this.el?.contains(document.activeElement)&&(this._focusedItem=document.activeElement,requestAnimationFrame(()=>this.el?.focus())),this.dispatch("controls-change",{detail:e,trigger:n}))}},au=kO;Sh=class{constructor(){this.playerId="vds-player",this.mediaId=null,this._data={volume:null,muted:null,time:null,lang:null,captions:null,rate:null},this.saveTime=au(()=>{if(N||!this.mediaId)return;let e=(this._data.time??0).toString();localStorage.setItem(this.mediaId,e)},1e3)}async getVolume(){return this._data.volume}async setVolume(e){this._data.volume=e,this.save()}async getMuted(){return this._data.muted}async setMuted(e){this._data.muted=e,this.save()}async getTime(){return this._data.time}async setTime(e){this._data.time=e,this.saveTime()}async getLang(){return this._data.lang}async setLang(e){this._data.lang=e,this.save()}async getCaptions(){return this._data.captions}async setCaptions(e){this._data.captions=e,this.save()}async getPlaybackRate(){return this._data.rate}async setPlaybackRate(e){this._data.rate=e,this.save()}onChange(e,n,i="vds-player"){let r=i?localStorage.getItem(i):null,s=n?localStorage.getItem(n):null;this.playerId=i,this.mediaId=n,this._data={volume:null,muted:null,lang:null,captions:null,...r?JSON.parse(r):{},time:s?+s:null}}save(){if(N||!this.playerId)return;let e=JSON.stringify({...this._data,time:void 0});localStorage.setItem(this.playerId,e)}},cw=class{constructor(){this.priority=0,this._display=!0,this._video=null,this._track=null,this._tracks=new Set}canRender(e,n){return!!n}attach(e){this._video=e,e&&(e.textTracks.onchange=this._onChange.bind(this))}addTrack(e){this._tracks.add(e),this._attachTrack(e)}removeTrack(e){e[W._native]?.remove?.(),e[W._native]=null,this._tracks.delete(e)}changeTrack(e){let n=e?.[W._native];n&&n.track.mode!=="showing"&&(n.track.mode="showing"),this._track=e}setDisplay(e){this._display=e,this._onChange()}detach(){this._video&&(this._video.textTracks.onchange=null);for(let e of this._tracks)this.removeTrack(e);this._tracks.clear(),this._video=null,this._track=null}_attachTrack(e){var i;if(!this._video)return;let n=e[i=W._native]??(e[i]=this._createTrackElement(e));n instanceof HTMLElement&&(this._video.append(n),n.track.mode=n.default?"showing":"hidden")}_createTrackElement(e){let n=document.createElement("track"),i=e.default||e.mode==="showing",r=e.src&&e.type==="vtt";if(n.id=e.id,r)n.src=e.src;else{let s=function(){URL.revokeObjectURL(this.src),this.removeEventListener("load",s),this.removeEventListener("error",s)},a=new Blob([`WEBVTT -`],{type:"text/vtt"});n.src=URL.createObjectURL(a),n.addEventListener("load",s),n.addEventListener("error",s)}return n.label=e.label,n.kind=e.kind,n.default=i,e.language&&(n.srclang=e.language),i&&!r&&this._copyCues(e,n.track),n}_copyCues(e,n){if(!(e.src&&e.type==="vtt"||n.cues?.length))for(let i of e.cues)n.addCue(i)}_onChange(e){for(let n of this._tracks){let i=n[W._native]?.track;if(!i)continue;if(!this._display){i.mode="disabled";continue}let r=i.mode==="showing";r&&this._copyCues(n,i),n.setMode(r?"showing":"disabled",e)}}},Ph=class{constructor(e){this._media=e,this._video=null,this._renderers=[],this._nativeDisplay=!1,this._nativeRenderer=null,this._customRenderer=null;let n=e.textTracks;this._textTracks=n,b(this._watchControls.bind(this)),G(this._detach.bind(this)),S(n,"add",this._onAddTrack.bind(this)),S(n,"remove",this._onRemoveTrack.bind(this)),S(n,"mode-change",this._update.bind(this))}_watchControls(){let{$state:e,$iosControls:n}=this._media;this._nativeDisplay=e.controls()||n(),this._update()}add(e){this._renderers.push(e),this._update()}remove(e){e.detach(),this._renderers.splice(this._renderers.indexOf(e),1),this._update()}_attachVideo(e){requestAnimationFrame(()=>{if(this._video=e,e){this._nativeRenderer=new cw,this._nativeRenderer.attach(e);for(let n of this._textTracks)this._addNativeTrack(n)}this._update()})}_addNativeTrack(e){We(e)&&this._nativeRenderer?.addTrack(e)}_removeNativeTrack(e){We(e)&&this._nativeRenderer?.removeTrack(e)}_onAddTrack(e){this._addNativeTrack(e.detail)}_onRemoveTrack(e){this._removeNativeTrack(e.detail)}_update(){let e=this._textTracks.selected;if(this._video&&(this._nativeDisplay||e?.[W._nativeHLS])){this._customRenderer?.changeTrack(null),this._nativeRenderer?.setDisplay(!0),this._nativeRenderer?.changeTrack(e);return}if(this._nativeRenderer?.setDisplay(!1),this._nativeRenderer?.changeTrack(null),!e){this._customRenderer?.changeTrack(null);return}let n=this._renderers.sort((i,r)=>i.priority-r.priority).find(i=>i.canRender(e,this._video));this._customRenderer!==n&&(this._customRenderer?.detach(),n?.attach(this._video),this._customRenderer=n??null),n?.changeTrack(e)}_detach(){this._nativeRenderer?.detach(),this._nativeRenderer=null,this._customRenderer?.detach(),this._customRenderer=null}},Lw=EO;Ch=class extends mc{constructor(){super(),this._canLoad=!1,this._defaults={},this._storage=null,this._preferredLang=null,this._selectCaptions=Lw(async()=>{if(!this._canLoad||this.selected||await this._storage?.getCaptions()===!1)return;!this._preferredLang&&this._storage&&(this._preferredLang=await this._storage.getLang());let e=this._preferredLang&&this._items.find(i=>We(i)&&i.language===this._preferredLang),n=this._defaults.captions;e?e.mode="showing":n&&n&&(n.mode="showing"),this._storage?.setLang?.(this._preferredLang??n?.language??null)},300),this._onTrackModeChangeBind=this._onTrackModeChange.bind(this)}get selected(){return this._items.find(n=>n.mode==="showing"&&We(n))??null}get preferredLang(){return this._preferredLang}set preferredLang(e){this._preferredLang=e}add(e,n){let i=e instanceof ln,r=i?e:new ln(e),s=e.kind==="captions"||e.kind==="subtitles"?"captions":e.kind;return this._defaults[s]&&e.default&&delete e.default,r.addEventListener("mode-change",this._onTrackModeChangeBind),this[Y._add](r,n),r[W._crossOrigin]=this[W._crossOrigin],this._canLoad&&r[W._canLoad](),e.default&&(this._defaults[s]=r,s!=="captions"?r.mode="showing":this._selectCaptions()),this}remove(e,n){if(this._items.includes(e))return e===this._defaults[e.kind]&&delete this._defaults[e.kind],e.mode="disabled",e[W._onModeChange]=null,e.removeEventListener("mode-change",this._onTrackModeChangeBind),this[Y._remove](e,n),this}clear(e){for(let n of[...this._items])this.remove(n,e);return this}getById(e){return this._items.find(n=>n.id===e)??null}getByKind(e){let n=Array.isArray(e)?e:[e];return this._items.filter(i=>n.includes(i.kind))}[W._canLoad](){if(!this._canLoad){for(let e of this._items)e[W._canLoad]();this._canLoad=!0,this._selectCaptions()}}_onTrackModeChange(e){let n=e.detail;if(this._storage&&We(n)&&(this._storage.setCaptions?.(n.mode==="showing"),this._storage?.setLang?.(this._preferredLang??n?.language??null)),n.mode==="showing"){let i=We(n)?["captions","subtitles"]:[n.kind];for(let r of this._items)r.mode==="showing"&&r!=n&&i.includes(r.kind)&&(r.mode="disabled")}this.dispatchEvent(new j("mode-change",{detail:e.detail,trigger:e}))}setStorage(e){this._storage=e}},hc=Symbol(0),$h=class extends mc{get selected(){return this._items.find(e=>e.selected)??null}get selectedIndex(){return this._items.findIndex(e=>e.selected)}[Y._onRemove](e,n){this[Y._select](e,!1,n)}[Y._add](e,n){e[hc]=!1,Object.defineProperty(e,"selected",{get(){return this[hc]},set:i=>{this.readonly||(this[Y._onUserSelect]?.(),this[Y._select](e,i))}}),super[Y._add](e,n)}[Y._select](e,n,i){if(n===e?.[hc])return;let r=this.selected;e&&(e[hc]=n),(n?r!==e:r===e)&&(r&&(r[hc]=!1),this.dispatchEvent(new j("change",{detail:{prev:r,current:this.selected},trigger:i})))}},Mh=class extends $h{getById(e){return e===""?null:this._items.find(n=>n.id===e)??null}},TO=Symbol(0),SO=Symbol(0),cn={_setAuto:TO,_enableAuto:SO},Rh=class extends $h{constructor(){super(...arguments),this._auto=!1,this.switch="current"}get auto(){return this._auto||this.readonly}[Y._onUserSelect](){this[cn._setAuto](!1)}[Y._onReset](e){this[cn._setAuto](!1,e)}autoSelect(e){this.readonly||this._auto||!this[cn._enableAuto]||(this[cn._enableAuto]?.(),this[cn._setAuto](!0,e))}[cn._setAuto](e,n){this._auto!==e&&(this._auto=e,this.dispatchEvent(new j("auto-change",{detail:e,trigger:n})))}};HP={togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"j J ArrowLeft",seekForward:"l L ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown",speedUp:">",slowDown:"<"},cP=new Set(["Shift","Alt","Meta","Control"]),PO='button, [role="button"]',uP='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]',uw=class extends Qi{constructor(e){super(),this._media=e,this._timeSlider=null}onConnect(){b(this._onTargetChange.bind(this))}_onTargetChange(){let{keyDisabled:e,keyTarget:n}=this.$props;if(e())return;let i=n()==="player"?this.el:document,r=D(!1);i===this.el?(this.listen("focusin",()=>r.set(!0)),this.listen("focusout",s=>{this.el.contains(s.target)||r.set(!1)})):(C(r)||r.set(document.querySelector("[data-media-player]")===this.el),S(document,"focusin",s=>{let a=s.composedPath().find(o=>o instanceof Element&&o.localName==="media-player");a!==void 0&&r.set(this.el===a)})),b(()=>{r()&&(S(i,"keyup",this._onKeyUp.bind(this)),S(i,"keydown",this._onKeyDown.bind(this)),S(i,"keydown",this._onPreventVideoKeys.bind(this),{capture:!0}))})}_onKeyUp(e){let n=document.activeElement;if(!e.key||!this.$state.canSeek()||n?.matches(uP))return;let{method:i,value:r}=this._getMatchingMethod(e);if(!F(r)&&!qe(r)){r?.callback(e);return}i?.startsWith("seek")&&(e.preventDefault(),e.stopPropagation(),this._timeSlider?(this._forwardTimeKeyboardEvent(e,i==="seekForward"),this._timeSlider=null):(this._media.remote.seek(this._seekTotal,e),this._seekTotal=void 0)),i?.startsWith("volume")&&this.el.querySelector("[data-media-volume-slider]")?.dispatchEvent(new KeyboardEvent("keyup",{key:i==="volumeUp"?"Up":"Down",shiftKey:e.shiftKey,trigger:e}))}_onKeyDown(e){if(!e.key||cP.has(e.key))return;let n=document.activeElement;if(n?.matches(uP)||Ql(e)&&n?.matches(PO))return;let{method:i,value:r}=this._getMatchingMethod(e);if(!F(r)&&!qe(r)){r?.callback(e);return}if(!i&&!e.metaKey&&/[0-9]/.test(e.key)){e.preventDefault(),e.stopPropagation(),this._media.remote.seek(this.$state.duration()/10*Number(e.key),e);return}if(i){switch(e.preventDefault(),e.stopPropagation(),i){case"seekForward":case"seekBackward":this._seeking(e,i,i==="seekForward");break;case"volumeUp":case"volumeDown":let s=this.el.querySelector("[data-media-volume-slider]");if(s)s.dispatchEvent(new KeyboardEvent("keydown",{key:i==="volumeUp"?"Up":"Down",shiftKey:e.shiftKey,trigger:e}));else{let o=e.shiftKey?.1:.05;this._media.remote.changeVolume(this.$state.volume()+(i==="volumeUp"?+o:-o),e)}break;case"toggleFullscreen":this._media.remote.toggleFullscreen("prefer-media",e);break;case"speedUp":case"slowDown":let a=this.$state.playbackRate();this._media.remote.changePlaybackRate(Math.max(.25,Math.min(2,a+(i==="speedUp"?.25:-.25))),e);break;default:this._media.remote[i]?.(e)}this.$state.lastKeyboardAction.set({action:i,event:e})}}_onPreventVideoKeys(e){jP(e.target)&&this._getMatchingMethod(e).method&&e.preventDefault()}_getMatchingMethod(e){let n={...this.$props.keyShortcuts(),...this._media.ariaKeys},i=Object.keys(n).find(r=>{let s=n[r],a=qe(s)?s.join(" "):F(s)?s:s?.keys;return(qe(a)?a:a?.split(" "))?.some(o=>$O(o).replace(/Control/g,"Ctrl").split("+").every(l=>cP.has(l)?e[l.toLowerCase()+"Key"]:e.key===l.replace("Space"," ")))});return{method:i,value:i?n[i]:null}}_calcSeekAmount(e,n){let i=e.shiftKey?10:5;return this._seekTotal=Math.max(0,Math.min((this._seekTotal??this.$state.currentTime())+(n==="seekForward"?+i:-i),this.$state.duration()))}_forwardTimeKeyboardEvent(e,n){this._timeSlider?.dispatchEvent(new KeyboardEvent(e.type,{key:n?"Right":"Left",shiftKey:e.shiftKey,trigger:e}))}_seeking(e,n,i){this.$state.canSeek()&&(this._timeSlider||(this._timeSlider=this.el.querySelector("[data-media-time-slider]")),this._timeSlider?this._forwardTimeKeyboardEvent(e,i):this._media.remote.seeking(this._calcSeekAmount(e,n),e))}},CO=["!","@","#","$","%","^","&","*","(",")"];Lh=class extends Mt{constructor(e){super(),this._shortcut=e}onAttach(e){let{$props:n,ariaKeys:i}=le(),r=e.getAttribute("aria-keyshortcuts");if(r){i[this._shortcut]=r,N||G(()=>{delete i[this._shortcut]});return}let s=n.keyShortcuts()[this._shortcut];if(s){let a=qe(s)?s.join(" "):F(s)?s:s?.keys;e.setAttribute("aria-keyshortcuts",qe(a)?a.join(" "):a)}}},qP=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,BP=new Set(["audio/mpeg","audio/ogg","audio/3gp","audio/mp4","audio/webm","audio/flac"]),WP=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,KP=new Set(["video/mp4","video/webm","video/3gp","video/ogg","video/avi","video/mpeg"]),GP=/\.(m3u8)($|\?)/i,YP=new Set(["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"]);Ih=class{constructor(){this.name="audio"}canPlay(e){return Iw(e)?N||e.type==="?"||F2(this.target,e.type):!1}mediaType(){return"audio"}async load(e){if(N)throw Error("[vidstack] can not load audio provider server-side");return new(await Promise.resolve().then(()=>(IS(),LS))).AudioProvider(this.target,e)}},vc=class{constructor(){this.name="video"}canPlay(e){return Aw(e)?N||e.type==="?"||z2(this.target,e.type):!1}mediaType(){return"video"}async load(e){if(N)throw Error("[vidstack] can not load video provider server-side");return new(await Promise.resolve().then(()=>(D_(),AS))).VideoProvider(this.target,e)}},QP=class XP extends vc{constructor(){super(...arguments),this.name="hls"}canPlay(e){return XP.supported&&xs(e)}async load(e){if(N)throw Error("[vidstack] can not load hls provider server-side");return new(await Promise.resolve().then(()=>(DS(),NS))).HLSProvider(this.target,e)}};QP.supported=ah();ZP=QP,Ah=class{constructor(){this.name="vimeo"}preconnect(){let e=["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"];for(let n of e)Jn(n)}canPlay(e){return F(e.src)&&e.type==="video/vimeo"}mediaType(){return"video"}async load(e){if(N)throw Error("[vidstack] can not load vimeo provider server-side");return new(await Promise.resolve().then(()=>(zS(),FS))).VimeoProvider(this.target,e)}async loadPoster(e,n,i){let{resolveVimeoVideoId:r,getVimeoVideoInfo:s}=await Promise.resolve().then(()=>(H_(),VS));if(!F(e.src))return null;let{videoId:a}=r(e.src);return a?s(a,i).then(o=>o?o.poster:null):null}},Nh=class{constructor(){this.name="youtube"}preconnect(){let e=["https://www.google.com","https://i.ytimg.com","https://googleads.g.doubleclick.net","https://static.doubleclick.net"];for(let n of e)Jn(n)}canPlay(e){return F(e.src)&&e.type==="video/youtube"}mediaType(){return"video"}async load(e){if(N)throw Error("[vidstack] can not load youtube provider server-side");return new(await Promise.resolve().then(()=>(HS(),jS))).YouTubeProvider(this.target,e)}async loadPoster(e,n,i){let{findYouTubePoster:r,resolveYouTubeVideoId:s}=await Promise.resolve().then(()=>(K_(),US)),a=F(e.src)&&s(e.src);return a?r(a,i):null}},iw=Symbol(0),MO=["autoPlay","canAirPlay","canFullscreen","canGoogleCast","canLoad","canLoadPoster","canPictureInPicture","canPlay","canSeek","ended","fullscreen","isAirPlayConnected","isGoogleCastConnected","live","liveEdge","loop","mediaType","muted","paused","pictureInPicture","playing","playsInline","remotePlaybackState","remotePlaybackType","seeking","started","streamType","viewType","waiting"],RO={artist:"",autoplay:!1,autoPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,currentTime:0,crossorigin:null,crossOrigin:null,duration:-1,fullscreenOrientation:"landscape",googleCast:{},load:"visible",posterLoad:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playsInline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:!1,src:"",title:"",controlsDelay:2e3,hideControlsOnMouseLeave:!1,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:HP,storage:null},Dh=class extends Qi{constructor(e,n){super(),this._type=e,this._callback=n}async onAttach(e){if(N)return;let n=this.$props[this._type]();if(n==="eager")requestAnimationFrame(this._callback);else if(n==="idle")o_(this._callback);else if(n==="visible"){let i,r=new IntersectionObserver(s=>{this.scope&&s[0].isIntersecting&&(i?.(),i=void 0,this._callback())});r.observe(e),i=G(()=>r.disconnect())}}},dw=class{constructor(e,n){this._handle=e,this._media=n,this._notify=(i,...r)=>{N||this._handle(new j(i,{detail:r?.[0],trigger:r?.[1]}))}}async _ready(e,n){if(!N)return Aa(async()=>{this._media;let{autoPlay:i,canPlay:r,started:s,duration:a,seekable:o,buffered:l,remotePlaybackInfo:c,playsInline:u}=this._media.$state;if(r())return;let d={duration:e?.duration??a(),seekable:e?.seekable??o(),buffered:e?.buffered??l(),provider:this._media.$provider()};this._notify("can-play",d,n),Zn();let p=this._media.$provider(),{storage:h}=this._media,{muted:y,volume:v,clipStartTime:w,playbackRate:m}=this._media.$props,f=c()?.savedState?.currentTime,g=c()?.savedState?.paused===!1,x=f??await h?.getTime()??w(),T=g||i();p&&(p.setVolume(await h?.getVolume()??v()),p.setMuted(await h?.getMuted()??y()),p.setPlaybackRate?.(await h?.getPlaybackRate()??m()),p.setPlaysInline?.(u()),x>0&&p.setCurrentTime(x)),r()&&T&&!s()&&await this._attemptAutoplay(n),c.set(null)})}async _attemptAutoplay(e){let{player:n,$state:{autoPlaying:i,muted:r}}=this._media;i.set(!0);let s=new j("auto-play-attempt",{trigger:e});try{await n.play(s)}catch{}}},pw=class{constructor(){this._queue=new Map}_enqueue(e,n){this._queue.set(e,n)}_serve(e){let n=this._peek(e);return this._queue.delete(e),n}_peek(e){return this._queue.get(e)}_delete(e){this._queue.delete(e)}_clear(){this._queue.clear()}},Oh=class{constructor(){this._serving=!1,this._pending=qi(),this._queue=new Map}get _size(){return this._queue.size}get _isServing(){return this._serving}async _waitForFlush(){this._serving||await this._pending.promise}_enqueue(e,n){if(this._serving){n();return}this._queue.delete(e),this._queue.set(e,n)}_serve(e){this._queue.get(e)?.(),this._queue.delete(e)}_start(){this._flush(),this._serving=!0,this._queue.size>0&&this._flush()}_stop(){this._serving=!1}_reset(){this._stop(),this._queue.clear(),this._release()}_flush(){for(let e of this._queue.keys())this._serve(e);this._release()}_release(){this._pending.resolve(),this._pending=qi()}};hw=class extends Qi{constructor(e,n,i){super(),this._stateMgr=e,this._request=n,this._media=i,this._providerQueue=new Oh,this._wasPIPActive=!1,this._$provider=i.$provider,this._controls=new Th,this._fullscreen=new wh,this._orientation=new Pw}onAttach(){this.listen("fullscreen-change",this._onFullscreenChange.bind(this))}onConnect(){let e=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),n=this._handleRequest.bind(this);for(let i of e)i.startsWith("media-")&&this.listen(i,n);this._attachLoadPlayListener(),b(this._watchProvider.bind(this)),b(this._onControlsDelayChange.bind(this)),b(this._onAirPlaySupportChange.bind(this)),b(this._onGoogleCastSupportChange.bind(this)),b(this._onFullscreenSupportChange.bind(this)),b(this._onPiPSupportChange.bind(this))}onDestroy(){this._providerQueue._reset()}_attachLoadPlayListener(){let{load:e}=this.$props,{canLoad:n}=this.$state;if(e()!=="play"||n())return;let i=this.listen("media-play-request",r=>{this._handleLoadPlayStrategy(r),i()})}_watchProvider(){let e=this._$provider(),n=this.$state.canPlay();return e&&n&&this._providerQueue._start(),()=>{this._providerQueue._stop()}}_handleRequest(e){e.stopPropagation(),!e.defaultPrevented&&this[e.type]&&(C(this._$provider)?this[e.type](e):this._providerQueue._enqueue(e.type,()=>{C(this._$provider)&&this[e.type](e)}))}async _play(e){if(N)return;let{canPlay:n,paused:i,autoPlaying:r}=this.$state;if(!this._handleLoadPlayStrategy(e)&&!(!C(i)&&!this._request._looping)){e&&this._request._queue._enqueue("media-play-request",e);try{let s=C(this._$provider);return rw(s,C(n)),await s.play()}catch(s){let a=this.createEvent("play-fail",{detail:_i(s),trigger:e});throw a.autoPlay=r(),this._stateMgr._handle(a),s}}}_handleLoadPlayStrategy(e){let{load:n}=this.$props,{canLoad:i}=this.$state;if(n()==="play"&&!i()){let r=this.createEvent("media-start-loading",{trigger:e});return this.dispatchEvent(r),this._providerQueue._enqueue("media-play-request",async()=>{try{await this._play(r)}catch{}}),!0}return!1}async _pause(e){if(N)return;let{canPlay:n,paused:i}=this.$state;if(!C(i)){e&&this._request._queue._enqueue("media-pause-request",e);try{let r=C(this._$provider);return rw(r,C(n)),await r.pause()}catch(r){throw this._request._queue._delete("media-pause-request"),r}}}_seekToLiveEdge(e){if(N)return;let{canPlay:n,live:i,liveEdge:r,canSeek:s,liveSyncPosition:a,seekableEnd:o,userBehindLiveEdge:l}=this.$state;if(l.set(!1),C(()=>!i()||r()||!s()))return;let c=C(this._$provider);rw(c,C(n)),e&&this._request._queue._enqueue("media-seek-request",e);let u=o()-2;c.setCurrentTime(Math.min(u,a()??u))}async _enterFullscreen(e="prefer-media",n){if(N)return;let i=this._getFullscreenAdapter(e);if(dP(e,i),!i.active)return C(this.$state.pictureInPicture)&&(this._wasPIPActive=!0,await this._exitPictureInPicture(n)),n&&this._request._queue._enqueue("media-enter-fullscreen-request",n),i.enter()}async _exitFullscreen(e="prefer-media",n){if(N)return;let i=this._getFullscreenAdapter(e);if(dP(e,i),!!i.active){n&&this._request._queue._enqueue("media-exit-fullscreen-request",n);try{let r=await i.exit();return this._wasPIPActive&&C(this.$state.canPictureInPicture)&&await this._enterPictureInPicture(),r}finally{this._wasPIPActive=!1}}}_getFullscreenAdapter(e){let n=C(this._$provider);return e==="prefer-media"&&this._fullscreen.supported||e==="media"?this._fullscreen:n?.fullscreen}async _enterPictureInPicture(e){if(!N&&(this._throwIfPIPNotSupported(),!this.$state.pictureInPicture()))return e&&this._request._queue._enqueue("media-enter-pip-request",e),await this._$provider().pictureInPicture.enter()}async _exitPictureInPicture(e){if(!N&&(this._throwIfPIPNotSupported(),!!this.$state.pictureInPicture()))return e&&this._request._queue._enqueue("media-exit-pip-request",e),await this._$provider().pictureInPicture.exit()}_throwIfPIPNotSupported(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}_onControlsDelayChange(){this._controls.defaultDelay=this.$props.controlsDelay()}_onAirPlaySupportChange(){let{canAirPlay:e}=this.$state,n=!!this._$provider()?.airPlay?.supported;e.set(n)}_onGoogleCastSupportChange(){let{canGoogleCast:e,source:n}=this.$state,i=uc&&!ph&&hh(n());e.set(i)}_onFullscreenSupportChange(){let{canFullscreen:e}=this.$state,n=this._fullscreen.supported||!!this._$provider()?.fullscreen?.supported;e.set(n)}_onPiPSupportChange(){let{canPictureInPicture:e}=this.$state,n=!!this._$provider()?.pictureInPicture?.supported;e.set(n)}async"media-airplay-request"(e){try{await this._requestAirPlay(e)}catch{}}async _requestAirPlay(e){try{let n=this._$provider()?.airPlay;if(!n?.supported)throw Error("No AirPlay adapter.");return e&&this._request._queue._enqueue("media-airplay-request",e),await n.prompt()}catch(n){throw this._request._queue._delete("media-airplay-request"),n}}async"media-google-cast-request"(e){try{await this._requestGoogleCast(e)}catch{}}async _requestGoogleCast(e){try{let{canGoogleCast:n}=this.$state;if(!C(n))throw new Error("Cast not available.");if(Jn("https://www.gstatic.com"),!this._googleCastLoader){let r=await Promise.resolve().then(()=>(ew(),GS)).then(function(s){return s.d});this._googleCastLoader=new r.GoogleCastLoader}await this._googleCastLoader.prompt(this._media),e&&this._request._queue._enqueue("media-google-cast-request",e);let i=C(this.$state.remotePlaybackState)!=="disconnected";i&&this.$state.remotePlaybackInfo.set(r=>({...r,savedState:{paused:C(this.$state.paused),currentTime:C(this.$state.currentTime)}})),this.$state.remotePlaybackLoader.set(i?this._googleCastLoader:null)}catch(n){throw this._request._queue._delete("media-google-cast-request"),n}}"media-audio-track-change-request"(e){if(this._media.audioTracks.readonly)return;let n=e.detail,i=this._media.audioTracks[n];if(i){let r=e.type;this._request._queue._enqueue(r,e),i.selected=!0}}async"media-enter-fullscreen-request"(e){try{await this._enterFullscreen(e.detail,e)}catch(n){this._onFullscreenError(n,e)}}async"media-exit-fullscreen-request"(e){try{await this._exitFullscreen(e.detail,e)}catch(n){this._onFullscreenError(n,e)}}async _onFullscreenChange(e){let n=C(this.$props.fullscreenOrientation),i=e.detail;if(!(Le(n)||!this._orientation.supported))if(i){if(this._orientation.locked)return;this.dispatch("media-orientation-lock-request",{detail:n,trigger:e})}else this._orientation.locked&&this.dispatch("media-orientation-unlock-request",{trigger:e})}_onFullscreenError(e,n){this._stateMgr._handle(this.createEvent("fullscreen-error",{detail:_i(e)}))}async"media-orientation-lock-request"(e){let n=e.type;try{this._request._queue._enqueue(n,e),await this._orientation.lock(e.detail)}catch{this._request._queue._delete(n)}}async"media-orientation-unlock-request"(e){let n=e.type;try{this._request._queue._enqueue(n,e),await this._orientation.unlock()}catch{this._request._queue._delete(n)}}async"media-enter-pip-request"(e){try{await this._enterPictureInPicture(e)}catch(n){this._onPictureInPictureError(n,e)}}async"media-exit-pip-request"(e){try{await this._exitPictureInPicture(e)}catch(n){this._onPictureInPictureError(n,e)}}_onPictureInPictureError(e,n){this._stateMgr._handle(this.createEvent("picture-in-picture-error",{detail:_i(e)}))}"media-live-edge-request"(e){let{live:n,liveEdge:i,canSeek:r}=this.$state;if(!(!n()||i()||!r())){this._request._queue._enqueue("media-seek-request",e);try{this._seekToLiveEdge()}catch{this._request._queue._delete("media-seek-request")}}}async"media-loop-request"(e){try{this._request._looping=!0,this._request._replaying=!0,await this._play(e)}catch{this._request._looping=!1}}async"media-pause-request"(e){if(!this.$state.paused())try{await this._pause(e)}catch{}}async"media-play-request"(e){if(this.$state.paused())try{await this._play(e)}catch{}}"media-rate-change-request"(e){let{playbackRate:n,canSetPlaybackRate:i}=this.$state;if(n()===e.detail||!i())return;let r=this._$provider();r?.setPlaybackRate&&(this._request._queue._enqueue("media-rate-change-request",e),r.setPlaybackRate(e.detail))}"media-quality-change-request"(e){if(this._media.qualities.readonly)return;this._request._queue._enqueue("media-quality-change-request",e);let n=e.detail;if(n<0)this._media.qualities.autoSelect(e);else{let i=this._media.qualities[n];i&&(i.selected=!0)}}"media-pause-controls-request"(e){let n=e.type;this._request._queue._enqueue(n,e),this._controls.pause(e)}"media-resume-controls-request"(e){let n=e.type;this._request._queue._enqueue(n,e),this._controls.resume(e)}"media-seek-request"(e){let{seekableStart:n,seekableEnd:i,ended:r,canSeek:s,live:a,userBehindLiveEdge:o,clipStartTime:l}=this.$state;r()&&(this._request._replaying=!0);let c=e.type;this._request._seeking=!1,this._request._queue._delete(c);let u=Math.min(Math.max(n()+.1,e.detail+l()),i()-.1);!Number.isFinite(u)||!s()||(this._request._queue._enqueue(c,e),this._$provider().setCurrentTime(u),a()&&e.isOriginTrusted&&Math.abs(i()-u)>=2&&o.set(!0))}"media-seeking-request"(e){let n=e.type;this._request._queue._enqueue(n,e),this.$state.seeking.set(!0),this._request._seeking=!0}"media-start-loading"(e){if(this.$state.canLoad())return;let n=e.type;this._request._queue._enqueue(n,e),this._stateMgr._handle(this.createEvent("can-load"))}"media-poster-start-loading"(e){if(this.$state.canLoadPoster())return;let n=e.type;this._request._queue._enqueue(n,e),this._stateMgr._handle(this.createEvent("can-load-poster"))}"media-text-track-change-request"(e){let{index:n,mode:i}=e.detail,r=this._media.textTracks[n];if(r){let s=e.type;this._request._queue._enqueue(s,e),r.setMode(i,e)}}"media-mute-request"(e){if(this.$state.muted())return;let n=e.type;this._request._queue._enqueue(n,e),this._$provider().setMuted(!0)}"media-unmute-request"(e){let{muted:n,volume:i}=this.$state;if(!n())return;let r=e.type;this._request._queue._enqueue(r,e),this._media.$provider().setMuted(!1),i()===0&&(this._request._queue._enqueue(r,e),this._$provider().setVolume(.25))}"media-volume-change-request"(e){let{muted:n,volume:i}=this.$state,r=e.detail;if(i()===r)return;let s=e.type;this._request._queue._enqueue(s,e),this._$provider().setVolume(r),r>0&&n()&&(this._request._queue._enqueue(s,e),this._$provider().setMuted(!1))}_logError(e,n,i){}};fw=class{constructor(){this._seeking=!1,this._looping=!1,this._replaying=!1,this._queue=new pw}},LO=new Set(["auto-play","auto-play-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]),mw=class extends Qi{constructor(e,n){super(),this._request=e,this._media=n,this._trackedEvents=new Map,this._clipEnded=!1,this._firingWaiting=!1,this._isPlayingOnDisconnect=!1,this.seeking=au(i=>{let{seeking:r,realCurrentTime:s,paused:a}=this.$state;r.set(!0),s.set(i.detail),this._satisfyRequest("media-seeking-request",i),a()&&(this._waitingTrigger=i,this._fireWaiting())},150,{leading:!0}),this._fireWaiting=Lw(()=>{if(!this._waitingTrigger)return;this._firingWaiting=!0;let{waiting:i,playing:r}=this.$state;i.set(!0),r.set(!1);let s=this.createEvent("waiting",{trigger:this._waitingTrigger});this._trackedEvents.set("waiting",s),this.dispatch(s),this._waitingTrigger=void 0,this._firingWaiting=!1},300)}onAttach(e){e.setAttribute("aria-busy","true"),this.listen("fullscreen-change",this["fullscreen-change"].bind(this)),this.listen("fullscreen-error",this["fullscreen-error"].bind(this)),this.listen("orientation-change",this["orientation-change"].bind(this))}onConnect(e){b(this._watchCanSetVolume.bind(this)),this._addTextTrackListeners(),this._addQualityListeners(),this._addAudioTrackListeners(),this._resumePlaybackOnConnect(),G(this._pausePlaybackOnDisconnect.bind(this))}_handle(e){if(!this.scope)return;let n=e.type;this[e.type]?.(e),N||(LO.has(n)&&this._trackedEvents.set(n,e),this.dispatch(e))}_resumePlaybackOnConnect(){this._isPlayingOnDisconnect&&(requestAnimationFrame(()=>{this.scope&&this._media.remote.play(new j("dom-connect"))}),this._isPlayingOnDisconnect=!1)}_pausePlaybackOnDisconnect(){this._isPlayingOnDisconnect||(this._isPlayingOnDisconnect=!this._media.$state.paused(),this._media.$provider()?.pause())}_resetTracking(){this._stopWaiting(),this._clipEnded=!1,this._request._replaying=!1,this._request._looping=!1,this._firingWaiting=!1,this._waitingTrigger=void 0,this._trackedEvents.clear()}_satisfyRequest(e,n){let i=this._request._queue._serve(e);i&&(n.request=i,n.triggers.add(i))}_addTextTrackListeners(){this._onTextTracksChange(),this._onTextTrackModeChange();let e=this._media.textTracks;S(e,"add",this._onTextTracksChange.bind(this)),S(e,"remove",this._onTextTracksChange.bind(this)),S(e,"mode-change",this._onTextTrackModeChange.bind(this))}_addQualityListeners(){let e=this._media.qualities;S(e,"add",this._onQualitiesChange.bind(this)),S(e,"remove",this._onQualitiesChange.bind(this)),S(e,"change",this._onQualityChange.bind(this)),S(e,"auto-change",this._onAutoQualityChange.bind(this)),S(e,"readonly-change",this._onCanSetQualityChange.bind(this))}_addAudioTrackListeners(){let e=this._media.audioTracks;S(e,"add",this._onAudioTracksChange.bind(this)),S(e,"remove",this._onAudioTracksChange.bind(this)),S(e,"change",this._onAudioTrackChange.bind(this))}_onTextTracksChange(e){let{textTracks:n}=this.$state;n.set(this._media.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:n(),trigger:e})}_onTextTrackModeChange(e){e&&this._satisfyRequest("media-text-track-change-request",e);let n=this._media.textTracks.selected,{textTrack:i}=this.$state;i()!==n&&(i.set(n),this.dispatch("text-track-change",{detail:n,trigger:e}))}_onAudioTracksChange(e){let{audioTracks:n}=this.$state;n.set(this._media.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:n(),trigger:e})}_onAudioTrackChange(e){let{audioTrack:n}=this.$state;n.set(this._media.audioTracks.selected),e&&this._satisfyRequest("media-audio-track-change-request",e),this.dispatch("audio-track-change",{detail:n(),trigger:e})}_onQualitiesChange(e){let{qualities:n}=this.$state;n.set(this._media.qualities.toArray()),this.dispatch("qualities-change",{detail:n(),trigger:e})}_onQualityChange(e){let{quality:n}=this.$state;n.set(this._media.qualities.selected),e&&this._satisfyRequest("media-quality-change-request",e),this.dispatch("quality-change",{detail:n(),trigger:e})}_onAutoQualityChange(){this.$state.autoQuality.set(this._media.qualities.auto)}_onCanSetQualityChange(){this.$state.canSetQuality.set(!this._media.qualities.readonly)}_watchCanSetVolume(){let{canSetVolume:e,isGoogleCastConnected:n}=this.$state;if(n()){e.set(!1);return}bP().then(e.set)}"provider-change"(e){let n=this._media.$provider(),i=e.detail;n?.type!==i?.type&&(n?.destroy?.(),n?.scope?.dispose(),this._media.$provider.set(e.detail),n&&e.detail===null&&this._resetMediaState(e))}"provider-loader-change"(e){}"auto-play"(e){this.$state.autoPlayError.set(null)}"auto-play-fail"(e){this.$state.autoPlayError.set(e.detail),this._resetTracking()}"can-load"(e){this.$state.canLoad.set(!0),this._trackedEvents.set("can-load",e),this._media.textTracks[W._canLoad](),this._satisfyRequest("media-start-loading",e)}"can-load-poster"(e){this.$state.canLoadPoster.set(!0),this._trackedEvents.set("can-load-poster",e),this._satisfyRequest("media-poster-start-loading",e)}"media-type-change"(e){let n=this._trackedEvents.get("source-change");n&&e.triggers.add(n);let i=this.$state.viewType();this.$state.mediaType.set(e.detail);let r=this.$state.providedViewType(),s=r==="unknown"?e.detail:r;i!==s&&(N?this.$state.inferredViewType.set(s):setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(e.detail),this.dispatch("view-type-change",{detail:s,trigger:e}))})},0))}"stream-type-change"(e){let n=this._trackedEvents.get("source-change");n&&e.triggers.add(n);let{streamType:i,inferredStreamType:r}=this.$state;r.set(e.detail),e.detail=i()}"rate-change"(e){let{storage:n}=this._media,{canPlay:i}=this.$state;this.$state.playbackRate.set(e.detail),this._satisfyRequest("media-rate-change-request",e),i()&&n?.setPlaybackRate?.(e.detail)}"remote-playback-change"(e){let{remotePlaybackState:n,remotePlaybackType:i}=this.$state,{type:r,state:s}=e.detail,a=s==="connected";i.set(r),n.set(s);let o=r==="airplay"?"media-airplay-request":"media-google-cast-request";if(a)this._satisfyRequest(o,e);else{let l=this._request._queue._peek(o);l&&(e.request=l,e.triggers.add(l))}}"sources-change"(e){this.$state.sources.set(e.detail)}"source-change"(e){let n=this._trackedEvents.get("sources-change");n&&e.triggers.add(n),this._resetMediaState(e),this._trackedEvents.set(e.type,e),this.$state.source.set(e.detail),this.el?.setAttribute("aria-busy","true")}_resetMediaState(e){this._media.audioTracks[Y._reset](e),this._media.qualities[Y._reset](e),this._resetTracking(),TP(this._media.$state)}abort(e){let n=this._trackedEvents.get("source-change");n&&e.triggers.add(n);let i=this._trackedEvents.get("can-load");i&&!e.triggers.hasType("can-load")&&e.triggers.add(i)}"load-start"(e){let n=this._trackedEvents.get("source-change");n&&e.triggers.add(n)}error(e){this.$state.error.set(e.detail);let n=this._trackedEvents.get("abort");n&&e.triggers.add(n)}"loaded-metadata"(e){let n=this._trackedEvents.get("load-start");n&&e.triggers.add(n)}"loaded-data"(e){let n=this._trackedEvents.get("load-start");n&&e.triggers.add(n)}"can-play"(e){let n=this._trackedEvents.get("loaded-metadata");n&&e.triggers.add(n),this._onCanPlayDetail(e.detail),this.el?.setAttribute("aria-busy","false")}"can-play-through"(e){this._onCanPlayDetail(e.detail);let n=this._trackedEvents.get("can-play");n&&e.triggers.add(n)}_onCanPlayDetail(e){let{seekable:n,seekableEnd:i,buffered:r,intrinsicDuration:s,canPlay:a}=this.$state;a.set(!0),r.set(e.buffered),n.set(e.seekable),s.set(i())}"duration-change"(e){let{live:n,intrinsicDuration:i}=this.$state,r=e.detail;n()||i.set(Number.isNaN(r)?0:r)}progress(e){let{buffered:n,seekable:i,live:r,intrinsicDuration:s,seekableEnd:a}=this.$state,o=e.detail;n.set(o.buffered),i.set(o.seekable),r()&&(s.set(a),this.dispatch("duration-change",{detail:a(),trigger:e}))}play(e){let{paused:n,autoPlayError:i,ended:r,autoPlaying:s,playsInline:a,pointer:o,muted:l,viewType:c}=this.$state;if(this._resetPlaybackIfNeeded(),!n()&&!this._request._looping){e.stopImmediatePropagation();return}e.autoPlay=s();let u=this._trackedEvents.get("waiting");u&&e.triggers.add(u),this._satisfyRequest("media-play-request",e),this._trackedEvents.set("play",e),n.set(!1),i.set(null),e.autoPlay&&(this._handle(this.createEvent("auto-play",{detail:{muted:l()},trigger:e})),s.set(!1)),(r()||this._request._replaying)&&(this._request._replaying=!1,r.set(!1),this._handle(this.createEvent("replay",{trigger:e}))),!a()&&c()==="video"&&o()==="coarse"&&this._media.remote.enterFullscreen("prefer-media",e),this._request._looping&&e.stopImmediatePropagation()}_resetPlaybackIfNeeded(e){if(!C(this._media.$provider))return;let{ended:i,seekableStart:r,clipStartTime:s,clipEndTime:a,realCurrentTime:o,duration:l}=this.$state,c=o()0&&o()>=a()||Math.abs(o()-l())<.1||i();return c&&this.dispatch("media-seek-request",{detail:(s()>0?0:r())+.1,trigger:e}),c}"play-fail"(e){let{muted:n,autoPlaying:i}=this.$state,r=this._trackedEvents.get("play");r&&e.triggers.add(r),this._satisfyRequest("media-play-request",e);let{paused:s,playing:a}=this.$state;s.set(!0),a.set(!1),this._resetTracking(),this._trackedEvents.set("play-fail",e),e.autoPlay&&(this._handle(this.createEvent("auto-play-fail",{detail:{muted:n(),error:e.detail},trigger:e})),i.set(!1))}playing(e){let n=this._trackedEvents.get("play"),i=this._trackedEvents.get("seeked");n?e.triggers.add(n):i&&e.triggers.add(i),setTimeout(()=>this._resetTracking(),0);let{paused:r,playing:s,live:a,liveSyncPosition:o,seekableEnd:l,started:c,currentTime:u,seeking:d,ended:p}=this.$state;if(r.set(!1),s.set(!0),d.set(!1),p.set(!1),this._request._looping){e.stopImmediatePropagation(),this._request._looping=!1;return}if(a()&&!c()&&u()===0){let h=o()??l()-2;Number.isFinite(h)&&this._media.$provider().setCurrentTime(h)}this.started(e)}started(e){let{started:n}=this.$state;n()||(n.set(!0),this._handle(this.createEvent("started",{trigger:e})))}pause(e){this.el?.isConnected||(this._isPlayingOnDisconnect=!0),this._satisfyRequest("media-pause-request",e);let n=this._trackedEvents.get("seeked");if(n&&e.triggers.add(n),this._clipEnded){e.stopImmediatePropagation(),this._handle(this.createEvent("end",{trigger:e})),this._clipEnded=!1;return}if(this._request._looping){e.stopImmediatePropagation();return}this._resetTracking();let{paused:i,playing:r}=this.$state;i.set(!0),r.set(!1)}"time-update"(e){if(this._request._looping){e.stopImmediatePropagation();return}let{realCurrentTime:n,played:i,waiting:r,clipEndTime:s,loop:a}=this.$state,o=s(),l=e.detail;n.set(l.currentTime),i.set(l.played),r.set(!1);for(let c of this._media.textTracks)c[W._updateActiveCues](l.currentTime,e);o>0&&l.currentTime>=o&&(a()&&(this._request._looping=!0),this._clipEnded=!0,this.dispatch("media-pause-request",{trigger:e})),this._saveTime()}_saveTime(){let{storage:e}=this._media,{canPlay:n,realCurrentTime:i}=this.$state;n()&&e?.setTime?.(i())}"volume-change"(e){let{storage:n}=this._media,{volume:i,muted:r,canPlay:s}=this.$state,a=e.detail;i.set(a.volume),r.set(a.muted||a.volume===0),this._satisfyRequest("media-volume-change-request",e),this._satisfyRequest(a.muted?"media-mute-request":"media-unmute-request",e),s()&&(n?.setVolume?.(i()),n?.setMuted?.(r()))}seeked(e){let{seeking:n,realCurrentTime:i,paused:r,duration:s,ended:a}=this.$state;if(this._request._seeking)n.set(!0),e.stopImmediatePropagation();else if(n()){let o=this._trackedEvents.get("waiting");o&&e.triggers.add(o);let l=this._trackedEvents.get("seeking");l&&!e.triggers.has(l)&&e.triggers.add(l),r()&&this._stopWaiting(),n.set(!1),e.detail!==s()&&a.set(!1),i.set(e.detail),this._satisfyRequest("media-seek-request",e);let c=e?.originEvent;c?.isTrusted&&!/seek/.test(c.type)&&this.started(e)}}waiting(e){this._firingWaiting||this._request._seeking||(e.stopImmediatePropagation(),this._waitingTrigger=e,this._fireWaiting())}end(e){let{loop:n}=this.$state;if(n()){setTimeout(()=>{requestAnimationFrame(()=>{this.dispatch("media-loop-request",{trigger:e})})},10);return}this._onEnded(e)}_onEnded(e){let{paused:n,seeking:i,ended:r,duration:s}=this.$state;n()||this.dispatch("pause",{trigger:e}),i()&&this.dispatch("seeked",{detail:s(),trigger:e}),r.set(!0),this._resetTracking(),this.dispatch("ended",{trigger:e})}_stopWaiting(){this._fireWaiting.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(e){let n=e.detail;this.$state.fullscreen.set(n),this._satisfyRequest(n?"media-enter-fullscreen-request":"media-exit-fullscreen-request",e)}"fullscreen-error"(e){this._satisfyRequest("media-enter-fullscreen-request",e),this._satisfyRequest("media-exit-fullscreen-request",e)}"orientation-change"(e){let n=e.detail.lock;this._satisfyRequest(n?"media-orientation-lock-request":"media-orientation-unlock-request",e)}"picture-in-picture-change"(e){let n=e.detail;this.$state.pictureInPicture.set(n),this._satisfyRequest(n?"media-enter-pip-request":"media-exit-pip-request",e)}"picture-in-picture-error"(e){this._satisfyRequest("media-enter-pip-request",e),this._satisfyRequest("media-exit-pip-request",e)}"title-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredTitle.set(e.detail))}"poster-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredPoster.set(e.detail))}},gw=class extends Qi{onSetup(){this._init(),!N&&(b(this._watchArtist.bind(this)),b(this._watchAutoplay.bind(this)),b(this._watchClipTimes.bind(this)),b(this._watchControls.bind(this)),b(this._watchCrossOrigin.bind(this)),b(this._watchDuration.bind(this)),b(this._watchLive.bind(this)),b(this._watchLiveEdge.bind(this)),b(this._watchLiveTolerance.bind(this)),b(this._watchLoop.bind(this)),b(this._watchPlaysInline.bind(this)),b(this._watchPoster.bind(this)),b(this._watchProvidedTypes.bind(this)),b(this._watchTitle.bind(this)))}_init(){let e={duration:"providedDuration",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},n=new Set(["currentTime","paused","playbackRate","volume"]);for(let i of Object.keys(this.$props))n.has(i)||this.$state[e[i]??i]?.set(this.$props[i]());this.$state.muted.set(this.$props.muted()||this.$props.volume()===0)}_watchProvidedTypes(){let{viewType:e,streamType:n,title:i,poster:r}=this.$props;this.$state.providedPoster.set(r()),this.$state.providedStreamType.set(n()),this.$state.providedViewType.set(e()),this.$state.providedTitle.set(i())}_watchLogLevel(){}_watchArtist(){let{artist:e}=this.$props;this.$state.artist.set(e())}_watchTitle(){let{title:e}=this.$state;this.dispatch("title-change",{detail:e()})}_watchAutoplay(){let e=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(e),this.dispatch("auto-play-change",{detail:e})}_watchLoop(){let e=this.$props.loop();this.$state.loop.set(e),this.dispatch("loop-change",{detail:e})}_watchControls(){let e=this.$props.controls();this.$state.controls.set(e)}_watchPoster(){let{poster:e}=this.$state;this.dispatch("poster-change",{detail:e()})}_watchCrossOrigin(){let e=this.$props.crossOrigin()??this.$props.crossorigin(),n=e===!0?"":e;this.$state.crossOrigin.set(n)}_watchDuration(){let{providedDuration:e}=this.$state;e.set(this.$props.duration())}_watchPlaysInline(){let e=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(e),this.dispatch("plays-inline-change",{detail:e})}_watchClipTimes(){let{clipStartTime:e,clipEndTime:n}=this.$props;this.$state.clipStartTime.set(e()),this.$state.clipEndTime.set(n())}_watchLive(){this.dispatch("live-change",{detail:this.$state.live()})}_watchLiveTolerance(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}_watchLiveEdge(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}},IO=class vw extends Qi{constructor(){super()}onConnect(){b(this._onMetadataChange.bind(this)),b(this._onPlaybackStateChange.bind(this));let e=this._handleAction.bind(this);for(let n of vw._actions)navigator.mediaSession.setActionHandler(n,e);G(this._onDisconnect.bind(this))}_onDisconnect(){for(let e of vw._actions)navigator.mediaSession.setActionHandler(e,null)}_onMetadataChange(){let{title:e,artist:n,poster:i}=this.$state;navigator.mediaSession.metadata=new MediaMetadata({title:e(),artist:n(),artwork:[{src:i()}]})}_onPlaybackStateChange(){let{canPlay:e,paused:n}=this.$state;navigator.mediaSession.playbackState=e()?n()?"paused":"playing":"none"}_handleAction(e){let n=new j("media-session-action",{detail:e});switch(e.action){case"play":this.dispatch("media-play-request",{trigger:n});break;case"pause":this.dispatch("media-pause-request",{trigger:n});break;case"seekto":case"seekforward":case"seekbackward":this.dispatch("media-seek-request",{detail:Be(e.seekTime)?e.seekTime:this.$state.currentTime()+(e.seekOffset??10),trigger:n});break}}};IO._actions=["play","pause","seekforward","seekbackward","seekto"];Vh=D(!1);N||(S(document,"pointerdown",()=>{Vh.set(!1)}),S(document,"keydown",t=>{t.metaKey||t.altKey||t.ctrlKey||Vh.set(!0)}));pn=class extends Mt{constructor(){super(...arguments),this._focused=D(!1)}onConnect(e){b(()=>{if(!Vh()){this._focused.set(!1),gh(e,!1),this.listen("pointerenter",this._onPointerEnter.bind(this)),this.listen("pointerleave",this._onPointerLeave.bind(this));return}let n=document.activeElement===e;this._focused.set(n),gh(e,n),this.listen("focus",this._onFocus.bind(this)),this.listen("blur",this._onBlur.bind(this))})}focused(){return this._focused()}_onFocus(){this._focused.set(!0),gh(this.el,!0)}_onBlur(){this._focused.set(!1),gh(this.el,!1)}_onPointerEnter(){pP(this.el,!0)}_onPointerLeave(){pP(this.el,!1)}};AO=Object.defineProperty,NO=Object.getOwnPropertyDescriptor,Ee=(t,e,n,i)=>{for(var r=i>1?void 0:i?NO(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&AO(e,n,r),r},he=class yh extends q{constructor(){super(),this.canPlayQueue=new Oh,this._skipTitleUpdate=!1,new gw;let e={player:this,qualities:new Rh,audioTracks:new Mh,storage:null,$provider:D(null),$providerSetup:D(!1),$props:this.$props,$state:this.$state};e.remote=new Ka(void 0),e.remote.setPlayer(this),e.$iosControls=mi(this._isIOSControls.bind(this)),e.textTracks=new Ch,e.textTracks[W._crossOrigin]=this.$state.crossOrigin,e.textRenderers=new Ph(e),e.ariaKeys={},this._media=e,Rt(ru,e),this.orientation=new Pw,new pn,new uw(e);let n=new fw;this._stateMgr=new mw(n,e),this._requestMgr=new hw(this._stateMgr,n,e),e.delegate=new dw(this._stateMgr._handle.bind(this._stateMgr),e),new Dh("load",this.startLoading.bind(this)),new Dh("posterLoad",this.startLoadingPoster.bind(this))}get _provider(){return this._media.$provider()}onSetup(){this._setupMediaAttributes(),b(this._watchCanPlay.bind(this)),b(this._watchMuted.bind(this)),b(this._watchPaused.bind(this)),b(this._watchVolume.bind(this)),b(this._watchCurrentTime.bind(this)),b(this._watchPlaysInline.bind(this)),b(this._watchPlaybackRate.bind(this))}onAttach(e){e.setAttribute("data-media-player",""),ve(e,"tabindex","0"),ve(e,"role","region"),b(this._watchStorage.bind(this)),N?this._watchTitle():b(this._watchTitle.bind(this)),N?this._watchOrientation():b(this._watchOrientation.bind(this)),S(e,"find-media-player",this._onFindPlayer.bind(this))}onConnect(e){tP&&Z(e,"data-iphone","");let n=window.matchMedia("(pointer: coarse)");this._onPointerChange(n),n.onchange=this._onPointerChange.bind(this);let i=new ResizeObserver(Rr(this._onResize.bind(this)));i.observe(e),b(this._onResize.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),G(()=>{i.disconnect(),n.onchange=null})}onDestroy(){this._media.player=null,this.canPlayQueue._reset()}_watchTitle(){let e=this.$el,{title:n,live:i,viewType:r,providedTitle:s}=this.$state,a=i(),o=Xl(r()),l=o!=="Unknown"?`${a?"Live ":""}${o}`:a?"Live":"Media",c=n();Z(this.el,"aria-label",c?`${l} - ${c}`:l+" Player"),!N&&e?.hasAttribute("title")&&(this._skipTitleUpdate=!0,e?.removeAttribute("title"))}_watchOrientation(){let e=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(e),Z(this.el,"data-orientation",e),this._onResize()}_watchCanPlay(){this.$state.canPlay()&&this._provider?this.canPlayQueue._start():this.canPlayQueue._stop()}_setupMediaAttributes(){if(yh[iw]){this.setAttributes(yh[iw]);return}let e={"data-load":function(){return this.$props.load()},"data-captions":function(){let i=this.$state.textTrack();return!!i&&We(i)},"data-ios-controls":function(){return this._media.$iosControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){let{canLoad:i,canPlay:r,waiting:s}=this.$state;return i()&&(!r()||s())},"data-error":function(){let{error:i}=this.$state;return!!i()},"data-autoplay-error":function(){let{autoPlayError:i}=this.$state;return!!i()}},n={autoPlay:"autoplay",canAirPlay:"can-airplay",canPictureInPicture:"can-pip",pictureInPicture:"pip",playsInline:"playsinline",remotePlaybackState:"remote-state",remotePlaybackType:"remote-type",isAirPlayConnected:"airplay",isGoogleCastConnected:"google-cast"};for(let i of MO){let r="data-"+(n[i]??Da(i));e[r]=function(){return this.$state[i]()}}delete e.title,yh[iw]=e,this.setAttributes(e)}_onFindPlayer(e){e.detail(this)}_onResize(){if(N||!this.el)return;let e=this.el.clientWidth,n=this.el.clientHeight;this.$state.width.set(e),this.$state.height.set(n),lt(this.el,"--player-width",e+"px"),lt(this.el,"--player-height",n+"px")}_onPointerChange(e){if(N)return;let n=e.matches?"coarse":"fine";Z(this.el,"data-pointer",n),this.$state.pointer.set(n),this._onResize()}_isIOSControls(){let{playsInline:e,fullscreen:n}=this.$state;return tP&&!_P()&&this.$state.mediaType()==="video"&&(!e()||n())}get provider(){return this._provider}get controls(){return this._requestMgr._controls}get title(){return C(this.$state.providedTitle)}set title(e){if(this._skipTitleUpdate){this._skipTitleUpdate=!1;return}this.$state.providedTitle.set(e)}get qualities(){return this._media.qualities}get audioTracks(){return this._media.audioTracks}get textTracks(){return this._media.textTracks}get textRenderers(){return this._media.textRenderers}get paused(){return C(this.$state.paused)}set paused(e){this._queuePausedUpdate(e)}_watchPaused(){this._queuePausedUpdate(this.$props.paused())}_queuePausedUpdate(e){e?this.canPlayQueue._enqueue("paused",()=>this._requestMgr._pause()):this.canPlayQueue._enqueue("paused",()=>this._requestMgr._play())}get muted(){return C(this.$state.muted)}set muted(e){this.$props.muted.set(e)}_watchMuted(){this._queueMutedUpdate(this.$props.muted())}_queueMutedUpdate(e){this.canPlayQueue._enqueue("muted",()=>{this._provider&&this._provider.setMuted(e)})}get currentTime(){return C(this.$state.currentTime)}set currentTime(e){this._queueCurrentTimeUpdate(e)}_watchCurrentTime(){this._queueCurrentTimeUpdate(this.$props.currentTime())}_queueCurrentTimeUpdate(e){this.canPlayQueue._enqueue("currentTime",()=>{let{currentTime:n,clipStartTime:i,seekableStart:r,seekableEnd:s}=this.$state;e!==C(n)&&C(()=>{if(!this._provider)return;let a=Math.min(Math.max(r()+.1,e+i()),s()-.1);Number.isFinite(a)&&this._provider.setCurrentTime(a)})})}get volume(){return C(this.$state.volume)}set volume(e){this.$props.volume.set(e)}_watchVolume(){this._queueVolumeUpdate(this.$props.volume())}_queueVolumeUpdate(e){let n=Nw(0,e,1);this.canPlayQueue._enqueue("volume",()=>{this._provider&&this._provider.setVolume(n)})}get playbackRate(){return C(this.$state.playbackRate)}set playbackRate(e){this._queuePlaybackRateUpdate(e)}_watchPlaybackRate(){this._queuePlaybackRateUpdate(this.$props.playbackRate())}_queuePlaybackRateUpdate(e){this.canPlayQueue._enqueue("rate",()=>{this._provider&&this._provider.setPlaybackRate?.(e)})}_watchPlaysInline(){this._queuePlaysInlineUpdate(this.$props.playsInline())}_queuePlaysInlineUpdate(e){this.canPlayQueue._enqueue("playsinline",()=>{this._provider&&this._provider.setPlaysInline?.(e)})}_watchStorage(){let e=this.$props.storage(),n=F(e)?new Sh:e;if(n?.onChange){let{source:i}=this.$state,r=F(e)?e:this.el?.id,s=mi(this._computeMediaId.bind(this));b(()=>n.onChange(i(),s(),r))}this._media.storage=n,this._media.textTracks.setStorage(n),G(()=>{n?.onDestroy?.(),this._media.storage=null,this._media.textTracks.setStorage(null)})}_computeMediaId(){let{clipStartTime:e,clipEndTime:n}=this.$props,{source:i}=this.$state,r=i();return r.src?`${r.src}:${e()}:${n()}`:null}async play(e){return this._requestMgr._play(e)}async pause(e){return this._requestMgr._pause(e)}async enterFullscreen(e,n){return this._requestMgr._enterFullscreen(e,n)}async exitFullscreen(e,n){return this._requestMgr._exitFullscreen(e,n)}enterPictureInPicture(e){return this._requestMgr._enterPictureInPicture(e)}exitPictureInPicture(e){return this._requestMgr._exitPictureInPicture(e)}seekToLiveEdge(e){this._requestMgr._seekToLiveEdge(e)}startLoading(e){this._media.delegate._notify("can-load",void 0,e)}startLoadingPoster(e){this._media.delegate._notify("can-load-poster",void 0,e)}requestAirPlay(e){return this._requestMgr._requestAirPlay(e)}requestGoogleCast(e){return this._requestMgr._requestGoogleCast(e)}destroy(){this._media.remote.setPlayer(null),this.dispatch("destroy")}};he.props=RO;he.state=Ns;Ee([ee],he.prototype,"canPlayQueue",2);Ee([ee],he.prototype,"provider",1);Ee([ee],he.prototype,"controls",1);Ee([ee],he.prototype,"orientation",2);Ee([ee],he.prototype,"title",1);Ee([ee],he.prototype,"qualities",1);Ee([ee],he.prototype,"audioTracks",1);Ee([ee],he.prototype,"textTracks",1);Ee([ee],he.prototype,"textRenderers",1);Ee([ee],he.prototype,"paused",1);Ee([ee],he.prototype,"muted",1);Ee([ee],he.prototype,"currentTime",1);Ee([ee],he.prototype,"volume",1);Ee([ee],he.prototype,"playbackRate",1);Ee([Ae],he.prototype,"play",1);Ee([Ae],he.prototype,"pause",1);Ee([Ae],he.prototype,"enterFullscreen",1);Ee([Ae],he.prototype,"exitFullscreen",1);Ee([Ae],he.prototype,"enterPictureInPicture",1);Ee([Ae],he.prototype,"exitPictureInPicture",1);Ee([Ae],he.prototype,"seekToLiveEdge",1);Ee([Ae],he.prototype,"startLoading",1);Ee([Ae],he.prototype,"startLoadingPoster",1);Ee([Ae],he.prototype,"requestAirPlay",1);Ee([Ae],he.prototype,"requestGoogleCast",1);DO=he;e1=new Map,yw=class{constructor(e,n,i,r=[]){this._domSources=e,this._media=n,this._loader=i,this._initialize=!1;let s=new ZP,a=new vc,o=new Ih,l=new Nh,c=new Ah,u=[l,c];this._loaders=mi(()=>{let p=n.$state.remotePlaybackLoader(),h=n.$props.preferNativeHLS()?[...r,a,o,s,...u]:[...r,s,a,o,...u];return p?[p,...h]:h});let{$state:d}=n;d.sources.set(hP(n.$props.src()));for(let p of d.sources()){let h=this._loaders().find(v=>v.canPlay(p));if(!h)continue;let y=h.mediaType(p);this._media.$state.source.set(p),this._media.$state.mediaType.set(y),this._media.$state.inferredViewType.set(y),this._loader.set(h),this._initialize=!0}}get _notify(){return this._media.delegate._notify}connect(){let e=this._loader();this._initialize&&(this._notifySourceChange(this._media.$state.source(),e),this._notifyLoaderChange(e),this._initialize=!1),b(this._onSourcesChange.bind(this)),b(this._onSourceChange.bind(this)),b(this._onSetup.bind(this)),b(this._onLoadSource.bind(this)),b(this._onLoadPoster.bind(this))}_onSourcesChange(){this._notify("sources-change",[...hP(this._media.$props.src()),...this._domSources()])}_onSourceChange(){let{$state:e}=this._media,n=e.sources(),i=C(e.source),r=this._findNewSource(i,n);if(n[0]?.src&&!r.src&&!r.type){let{crossOrigin:a}=e,o=bh(a()),l=new AbortController;return Promise.all(n.map(c=>F(c.src)&&c.type==="?"?fetch(c.src,{method:"HEAD",credentials:o,signal:l.signal}).then(u=>(c.type=u.headers.get("content-type")||"??",e1.set(c.src,c.type),c)).catch(()=>c):c)).then(c=>{l.signal.aborted||(this._findNewSource(C(e.source),c),Zn())}),()=>l.abort()}Zn()}_findNewSource(e,n){let i={src:"",type:""},r=null,s=this._loaders();for(let a of n){let o=s.find(l=>l.canPlay(a));if(o){i=a,r=o;break}}return fP(e,i)||this._notifySourceChange(i,r),r!==C(this._loader)&&this._notifyLoaderChange(r),i}_notifySourceChange(e,n){this._notify("source-change",e),this._notify("media-type-change",n?.mediaType(e)||"unknown")}_notifyLoaderChange(e){this._media.$providerSetup.set(!1),this._notify("provider-change",null),e&&C(()=>e.preconnect?.(this._media)),this._loader.set(e),this._notify("provider-loader-change",e)}_onSetup(){let e=this._media.$provider();if(!(!e||C(this._media.$providerSetup))){if(this._media.$state.canLoad()){et(()=>e.setup(),e.scope),this._media.$providerSetup.set(!0);return}C(()=>e.preconnect?.())}}_onLoadSource(){if(!this._media.$providerSetup())return;let e=this._media.$provider(),n=this._media.$state.source(),i=C(this._media.$state.crossOrigin);if(!fP(e?.currentSrc,n)){if(this._media.$state.canLoad()){let r=new AbortController;return xs(n)?ah()||JP(n.src,{credentials:bh(i),signal:r.signal}).then(s=>{this._notify("stream-type-change",s)}).catch(qt):this._notify("stream-type-change","on-demand"),C(()=>{let s=C(this._media.$state.preload);return e?.loadSource(n,s).catch(a=>{})}),()=>r.abort()}try{F(n.src)&&Jn(new URL(n.src).origin)}catch{}}}_onLoadPoster(){let e=this._loader(),{source:n,canLoadPoster:i}=this._media.$state;if(!e||!e.loadPoster||!n()||!i())return;let r=new AbortController,s=new j("source-change",{detail:n});return e.loadPoster(n(),this._media,r).then(a=>{this._notify("poster-change",a||"",s)}).catch(()=>{this._notify("poster-change","",s)}),()=>{r.abort()}}};_w=class{constructor(e,n){this._domTracks=e,this._media=n,this._prevTracks=[],b(this._onTracksChange.bind(this))}_onTracksChange(){let e=this._domTracks();for(let n of this._prevTracks)if(!e.some(i=>i.id===n.id)){let i=n.id&&this._media.textTracks.getById(n.id);i&&this._media.textTracks.remove(i)}for(let n of e){let i=n.id||ln.createId(n);this._media.textTracks.getById(i)||(n.id=i,this._media.textTracks.add(n))}this._prevTracks=e}},FO=Object.defineProperty,zO=Object.getOwnPropertyDescriptor,UO=(t,e,n,i)=>{for(var r=i>1?void 0:i?zO(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&FO(e,n,r),r},Ya=class extends q{constructor(){super(...arguments),this._domSources=D([]),this._domTracks=D([]),this._loader=null,this._loadRafId=-1}onSetup(){this._media=le(),this._sources=new yw(this._domSources,this._media,this.$state.loader,this.$props.loaders())}onAttach(e){e.setAttribute("data-media-provider","")}onConnect(e){this._sources.connect(),new _w(this._domTracks,this._media);let n=new ResizeObserver(Rr(this._onResize.bind(this)));n.observe(e);let i=new MutationObserver(this._onMutation.bind(this));i.observe(e,{attributes:!0,childList:!0}),this._onResize(),this._onMutation(),G(()=>{n.disconnect(),i.disconnect()})}load(e){window.cancelAnimationFrame(this._loadRafId),this._loadRafId=requestAnimationFrame(()=>this._runLoader(e)),G(()=>{window.cancelAnimationFrame(this._loadRafId)})}_runLoader(e){if(!this.scope)return;let n=this.$state.loader(),{$provider:i}=this._media;this._loader===n&&n?.target===e&&C(i)||(this._destroyProvider(),this._loader=n,n&&(n.target=e||null),!(!n||!e)&&n.load(this._media).then(r=>{this.scope&&C(this.$state.loader)===n&&this._media.delegate._notify("provider-change",r)}))}onDestroy(){this._loader=null,this._destroyProvider()}_destroyProvider(){this._media.delegate._notify("provider-change",null)}_onResize(){if(!this.el)return;let e=this._media.player,n=this.el.offsetWidth,i=this.el.offsetHeight;e&&(e.$state.mediaWidth.set(n),e.$state.mediaHeight.set(i),e.el&&(lt(e.el,"--media-width",n+"px"),lt(e.el,"--media-height",i+"px")))}_onMutation(){let e=[],n=[],i=this.el.children;for(let r of i)r instanceof HTMLSourceElement?e.push({src:r.src,type:r.type}):r instanceof HTMLTrackElement&&n.push({id:r.id,src:r.src,kind:r.track.kind,language:r.srclang,label:r.label,default:r.default,type:r.getAttribute("data-type")});this._domSources.set(e),this._domTracks.set(n),Zn()}};Ya.props={loaders:[]};Ya.state=new Xn({loader:null});UO([Ae],Ya.prototype,"load",1);Fh=class extends q{onSetup(){this._media=le(),b(this._watchProps.bind(this))}onAttach(e){let{pictureInPicture:n,fullscreen:i}=this._media.$state;lt(e,"pointer-events","none"),ve(e,"role","group"),this.setAttributes({"data-visible":this._isShowing.bind(this),"data-fullscreen":i,"data-pip":n}),b(()=>{this.dispatch("change",{detail:this._isShowing()})}),b(this._hideControls.bind(this)),b(()=>{let r=i();for(let s of["top","right","bottom","left"])lt(e,`padding-${s}`,r&&`env(safe-area-inset-${s})`)})}_hideControls(){if(!this.el)return;let{$iosControls:e}=this._media,{controls:n}=this._media.$state,i=n()||e();Z(this.el,"aria-hidden",i?"true":null),lt(this.el,"display",i?"none":null)}_watchProps(){let{controls:e}=this._media.player,{hideDelay:n,hideOnMouseLeave:i}=this.$props;e.defaultDelay=n()===2e3?this._media.$props.controlsDelay():n(),e.hideOnMouseLeave=i()}_isShowing(){let{controlsVisible:e}=this._media.$state;return e()}};Fh.props={hideDelay:2e3,hideOnMouseLeave:!1};zh=class extends q{onAttach(e){lt(e,"pointer-events","auto")}},Uh=class extends Mt{constructor(e){super(),this._delegate=e,this._showTimerId=-1,this._hideRafId=-1,this._stopAnimationEndListener=null,b(this._watchTrigger.bind(this))}onDestroy(){this._stopAnimationEndListener?.(),this._stopAnimationEndListener=null}_watchTrigger(){let e=this._delegate._trigger();if(!e){this.hide();return}let n=this.show.bind(this),i=this.hide.bind(this);this._delegate._listen(e,n,i)}show(e){this._cancelShowing(),window.cancelAnimationFrame(this._hideRafId),this._hideRafId=-1,this._stopAnimationEndListener?.(),this._stopAnimationEndListener=null,this._showTimerId=window.setTimeout(()=>{this._showTimerId=-1;let n=this._delegate._content();n&&n.style.removeProperty("display"),C(()=>this._delegate._onChange(!0,e))},this._delegate._showDelay?.()??0)}hide(e){this._cancelShowing(),C(()=>this._delegate._onChange(!1,e)),this._hideRafId=requestAnimationFrame(()=>{this._cancelShowing(),this._hideRafId=-1;let n=this._delegate._content();if(n){let i=()=>{n.style.display="none",this._stopAnimationEndListener=null};if(xO(n)){this._stopAnimationEndListener?.();let s=S(n,"animationend",i,{once:!0});this._stopAnimationEndListener=s}else i()}})}_cancelShowing(){window.clearTimeout(this._showTimerId),this._showTimerId=-1}},Wa=vi(),jO=0,jh=class extends q{constructor(){super(),this._id=`media-tooltip-${++jO}`,this._trigger=D(null),this._content=D(null),new pn;let{showDelay:e}=this.$props;new Uh({_trigger:this._trigger,_content:this._content,_showDelay:e,_listen(n,i,r){S(n,"touchstart",s=>s.preventDefault(),{passive:!1}),b(()=>{Vh()&&S(n,"focus",i),S(n,"blur",r)}),S(n,"mouseenter",i),S(n,"mouseleave",r)},_onChange:this._onShowingChange.bind(this)})}onAttach(e){e.style.setProperty("display","contents")}onSetup(){Rt(Wa,{_trigger:this._trigger,_content:this._content,_attachTrigger:this._attachTrigger.bind(this),_detachTrigger:this._detachTrigger.bind(this),_attachContent:this._attachContent.bind(this),_detachContent:this._detachContent.bind(this)})}_attachTrigger(e){this._trigger.set(e);let n=e.getAttribute("data-media-tooltip");n&&this.el?.setAttribute(`data-media-${n}-tooltip`,""),Z(e,"data-describedby",this._id)}_detachTrigger(e){e.removeAttribute("data-describedby"),e.removeAttribute("aria-describedby"),this._trigger.set(null)}_attachContent(e){e.setAttribute("id",this._id),e.style.display="none",ve(e,"role","tooltip"),this._content.set(e)}_detachContent(e){e.removeAttribute("id"),e.removeAttribute("role"),this._content.set(null)}_onShowingChange(e){let n=this._trigger(),i=this._content();n&&Z(n,"aria-describedby",e?this._id:null);for(let r of[this.el,n,i])r&&Z(r,"data-visible",e)}};jh.props={showDelay:700};Hh=class extends q{constructor(){super(),new pn}onConnect(e){G(Eh(()=>{if(!this.connectScope)return;this._attach();let n=Ie(Wa);G(()=>{let i=this._getButton();i&&n._detachTrigger(i)})}))}_attach(){let e=this._getButton(),n=Ie(Wa);e&&n._attachTrigger(e)}_getButton(){let e=this.el.firstElementChild;return e?.localName==="button"||e?.getAttribute("role")==="button"?e:this.el}},yc=class extends q{constructor(){super(),new pn;let{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){this._attach(e),Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){this._attach(e);let n=Ie(Wa);G(()=>n._detachContent(e)),G(Eh(()=>{this.connectScope&&b(this._watchPlacement.bind(this))}))}_attach(e){Ie(Wa)._attachContent(e)}_watchPlacement(){let{placement:e,offset:n,alignOffset:i}=this.$props;return FP(this.el,this._getTrigger(),e(),{offsetVarName:"media-tooltip",xOffset:i(),yOffset:n()})}_getTrigger(){return Ie(Wa)._trigger()}};yc.props={placement:"top center",offset:0,alignOffset:0};tt=class extends Mt{constructor(e){super(),this._delegate=e,new pn,e._keyShortcut&&new Lh(e._keyShortcut)}onSetup(){let{disabled:e}=this.$props;this.setAttributes({"data-pressed":this._delegate._isPressed,"aria-pressed":this._isARIAPressed.bind(this),"aria-disabled":()=>e()?"true":null})}onAttach(e){ve(e,"tabindex","0"),ve(e,"role","button"),ve(e,"type","button")}onConnect(e){Dr(e,this._onMaybePress.bind(this));for(let n of["click","touchstart"])this.listen(n,this._onInteraction.bind(this))}_isARIAPressed(){return Oa(this._delegate._isPressed())}_onPressed(e){Xy(this._delegate._isPressed)&&this._delegate._isPressed.set(n=>!n)}_onMaybePress(e){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),(this._delegate._onPress??this._onPressed).call(this,e)}_onInteraction(e){this.$props.disabled()&&(e.preventDefault(),e.stopImmediatePropagation())}};tt.props={disabled:!1};HO=Object.defineProperty,qO=Object.getOwnPropertyDescriptor,BO=(t,e,n,i)=>{for(var r=i>1?void 0:i?qO(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&HO(e,n,r),r},_c=class extends q{constructor(){super(),this._pressed=D(!1),new tt({_isPressed:this._pressed})}get pressed(){return this._pressed()}};_c.props={disabled:!1,defaultPressed:!1};BO([ee],_c.prototype,"pressed",1);qh=class extends q{constructor(){super(),new tt({_isPressed:this._isPressed.bind(this),_onPress:this._onPress.bind(this)})}onSetup(){this._media=le();let{canAirPlay:e,isAirPlayConnected:n}=this._media.$state;this.setAttributes({"data-active":n,"data-supported":e,"data-state":this._getState.bind(this),"aria-hidden":Gt(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","airplay"),Vr(e,this._getDefaultLabel.bind(this))}_onPress(e){this._media.remote.requestAirPlay(e)}_isPressed(){let{remotePlaybackType:e,remotePlaybackState:n}=this._media.$state;return e()==="airplay"&&n()!=="disconnected"}_getState(){let{remotePlaybackType:e,remotePlaybackState:n}=this._media.$state;return e()==="airplay"&&n()}_getDefaultLabel(){let{remotePlaybackState:e}=this._media.$state;return`AirPlay ${e()}`}};qh.props=tt.props;Bh=class extends q{constructor(){super(),new tt({_isPressed:this._isPressed.bind(this),_onPress:this._onPress.bind(this)})}onSetup(){this._media=le();let{canGoogleCast:e,isGoogleCastConnected:n}=this._media.$state;this.setAttributes({"data-active":n,"data-supported":e,"data-state":this._getState.bind(this),"aria-hidden":Gt(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","google-cast"),Vr(e,this._getDefaultLabel.bind(this))}_onPress(e){this._media.remote.requestGoogleCast(e)}_isPressed(){let{remotePlaybackType:e,remotePlaybackState:n}=this._media.$state;return e()==="google-cast"&&n()!=="disconnected"}_getState(){let{remotePlaybackType:e,remotePlaybackState:n}=this._media.$state;return e()==="google-cast"&&n()}_getDefaultLabel(){let{remotePlaybackState:e}=this._media.$state;return`Google Cast ${e()}`}};Bh.props=tt.props;Wh=class extends q{constructor(){super(),new tt({_isPressed:this._isPressed.bind(this),_keyShortcut:"togglePaused",_onPress:this._onPress.bind(this)})}onSetup(){this._media=le();let{paused:e,ended:n}=this._media.$state;this.setAttributes({"data-paused":e,"data-ended":n})}onAttach(e){e.setAttribute("data-media-tooltip","play"),Vr(e,this._getDefaultLabel.bind(this))}_onPress(e){let n=this._media.remote;this._isPressed()?n.pause(e):n.play(e)}_isPressed(){let{paused:e}=this._media.$state;return!e()}_getDefaultLabel(){let{paused:e}=this._media.$state;return e()?"Play":"Pause"}};Wh.props=tt.props;Kh=class extends q{constructor(){super(),new tt({_isPressed:this._isPressed.bind(this),_keyShortcut:"toggleCaptions",_onPress:this._onPress.bind(this)})}onSetup(){this._media=le(),this.setAttributes({"data-active":this._isPressed.bind(this),"data-supported":()=>!this._isHidden(),"aria-hidden":Gt(this._isHidden.bind(this))})}onAttach(e){e.setAttribute("data-media-tooltip","caption"),Vr(e,this._getDefaultLabel.bind(this))}_onPress(e){this._media.remote.toggleCaptions(e)}_isPressed(){let{textTrack:e}=this._media.$state,n=e();return!!n&&We(n)}_isHidden(){let{hasCaptions:e}=this._media.$state;return!e()}_getDefaultLabel(){let{textTrack:e}=this._media.$state;return e()?"Closed-Captions Off":"Closed-Captions On"}};Kh.props=tt.props;Gh=class extends q{constructor(){super(),new tt({_isPressed:this._isPressed.bind(this),_keyShortcut:"toggleFullscreen",_onPress:this._onPress.bind(this)})}onSetup(){this._media=le();let{fullscreen:e}=this._media.$state,n=this._isSupported.bind(this);this.setAttributes({"data-active":e,"data-supported":n,"aria-hidden":Gt(()=>!n())})}onAttach(e){e.setAttribute("data-media-tooltip","fullscreen"),Vr(e,this._getDefaultLabel.bind(this))}_onPress(e){let n=this._media.remote,i=this.$props.target();this._isPressed()?n.exitFullscreen(i,e):n.enterFullscreen(i,e)}_isPressed(){let{fullscreen:e}=this._media.$state;return e()}_isSupported(){let{canFullscreen:e}=this._media.$state;return e()}_getDefaultLabel(){let{fullscreen:e}=this._media.$state;return e()?"Exit Fullscreen":"Enter Fullscreen"}};Gh.props={...tt.props,target:"prefer-media"};Yh=class extends q{constructor(){super(),new tt({_isPressed:this._isPressed.bind(this),_keyShortcut:"toggleMuted",_onPress:this._onPress.bind(this)})}onSetup(){this._media=le(),this.setAttributes({"data-muted":this._isPressed.bind(this),"data-state":this._getState.bind(this)})}onAttach(e){e.setAttribute("data-media-mute-button",""),e.setAttribute("data-media-tooltip","mute"),Vr(e,this._getDefaultLabel.bind(this))}_onPress(e){let n=this._media.remote;this._isPressed()?n.unmute(e):n.mute(e)}_isPressed(){let{muted:e,volume:n}=this._media.$state;return e()||n()===0}_getDefaultLabel(){return this._isPressed()?"Unmute":"Mute"}_getState(){let{muted:e,volume:n}=this._media.$state,i=n();if(e()||i===0)return"muted";if(i>=.5)return"high";if(i<.5)return"low"}};Yh.props=tt.props;Qh=class extends q{constructor(){super(),new tt({_isPressed:this._isPressed.bind(this),_keyShortcut:"togglePictureInPicture",_onPress:this._onPress.bind(this)})}onSetup(){this._media=le();let{pictureInPicture:e}=this._media.$state,n=this._isSupported.bind(this);this.setAttributes({"data-active":e,"data-supported":n,"aria-hidden":Gt(()=>!n())})}onAttach(e){e.setAttribute("data-media-tooltip","pip"),Vr(e,this._getDefaultLabel.bind(this))}_onPress(e){let n=this._media.remote;this._isPressed()?n.exitPictureInPicture(e):n.enterPictureInPicture(e)}_isPressed(){let{pictureInPicture:e}=this._media.$state;return e()}_isSupported(){let{canPictureInPicture:e}=this._media.$state;return e()}_getDefaultLabel(){let{pictureInPicture:e}=this._media.$state;return e()?"Exit Picture In Picture":"Enter Picture In Picture"}};Qh.props=tt.props;Xh=class extends q{constructor(){super(),new pn}onSetup(){this._media=le();let{seeking:e}=this._media.$state,{seconds:n}=this.$props,i=this._isSupported.bind(this);this.setAttributes({seconds:n,"data-seeking":e,"data-supported":i,"aria-hidden":Gt(()=>!i())})}onAttach(e){ve(e,"tabindex","0"),ve(e,"role","button"),ve(e,"type","button"),e.setAttribute("data-media-tooltip","seek"),Vr(e,this._getDefaultLabel.bind(this))}onConnect(e){Dr(e,this._onPress.bind(this))}_isSupported(){let{canSeek:e}=this._media.$state;return e()}_getDefaultLabel(){let{seconds:e}=this.$props;return`Seek ${e()>0?"forward":"backward"} ${e()} seconds`}_onPress(e){let{seconds:n,disabled:i}=this.$props;if(i())return;let{currentTime:r}=this._media.$state,s=r()+n();this._media.remote.seek(s,e)}};Xh.props={disabled:!1,seconds:30};Zh=class extends q{constructor(){super(),new pn}onSetup(){this._media=le();let{disabled:e}=this.$props,{live:n,liveEdge:i}=this._media.$state,r=()=>!n();this.setAttributes({"data-edge":i,"data-hidden":r,"aria-disabled":Gt(()=>e()||i()),"aria-hidden":Gt(r)})}onAttach(e){ve(e,"tabindex","0"),ve(e,"role","button"),ve(e,"type","button"),e.setAttribute("data-media-tooltip","live")}onConnect(e){Dr(e,this._onPress.bind(this))}_onPress(e){let{disabled:n}=this.$props,{liveEdge:i}=this._media.$state;n()||i()||this._media.remote.seekToLiveEdge(e)}};Zh.props={disabled:!1};df=new Xn({min:0,max:100,value:0,pointerValue:0,focused:!1,dragging:!1,pointing:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return mP(this.min,this.max,this.value)},get fillPercent(){return this.fillRate*100},get pointerRate(){return mP(this.min,this.max,this.pointerValue)},get pointerPercent(){return this.pointerRate*100}});gP={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1},ww=class extends Mt{constructor(e,n){super(),this._delegate=e,this._media=n,this._provider=null,this._touch=null,this._touchStartValue=null,this._onDocumentPointerMove=au(i=>{this._updatePointerValue(this._getPointerValue(i),i)},20,{leading:!0})}onConnect(){if(b(this._attachEventListeners.bind(this)),b(this._attachPointerListeners.bind(this)),this._delegate._swipeGesture){let e=this._media.player.el?.querySelector("media-provider,[data-media-provider]");e&&(this._provider=e,S(e,"touchstart",this._onTouchStart.bind(this),{passive:!0}),S(e,"touchmove",this._onTouchMove.bind(this),{passive:!1}))}}_onTouchStart(e){this._touch=e.touches[0]}_onTouchMove(e){if(gi(this._touch)||Rw(e))return;let n=e.touches[0],i=n.clientX-this._touch.clientX,r=n.clientY-this._touch.clientY,s=this.$state.dragging();!s&&Math.abs(r)>20||s||Math.abs(i)>20&&(this._touch=n,this._touchStartValue=this.$state.value(),this._onStartDragging(this._touchStartValue,e))}_attachEventListeners(){this._delegate._isDisabled()||(this.listen("focus",this._onFocus.bind(this)),this.listen("pointerenter",this._onPointerEnter.bind(this)),this.listen("pointermove",this._onPointerMove.bind(this)),this.listen("pointerleave",this._onPointerLeave.bind(this)),this.listen("pointerdown",this._onPointerDown.bind(this)),this.listen("keydown",this._onKeyDown.bind(this)),this.listen("keyup",this._onKeyUp.bind(this)))}_attachPointerListeners(){this._delegate._isDisabled()||!this.$state.dragging()||(S(document,"pointerup",this._onDocumentPointerUp.bind(this)),S(document,"pointermove",this._onDocumentPointerMove.bind(this)),S_&&S(document,"touchmove",this._onDocumentTouchMove.bind(this),{passive:!1}))}_onFocus(){this._updatePointerValue(this.$state.value())}_updateValue(e,n){let{value:i,min:r,max:s,dragging:a}=this.$state,o=Math.max(r(),Math.min(e,s()));i.set(o);let l=this.createEvent("value-change",{detail:o,trigger:n});if(this.dispatch(l),this._delegate._onValueChange?.(l),a()){let c=this.createEvent("drag-value-change",{detail:o,trigger:n});this.dispatch(c),this._delegate._onDragValueChange?.(c)}}_updatePointerValue(e,n){let{pointerValue:i,dragging:r}=this.$state;i.set(e),this.dispatch("pointer-value-change",{detail:e,trigger:n}),r()&&this._updateValue(e,n)}_getPointerValue(e){let n,i=this.el.getBoundingClientRect(),{min:r,max:s}=this.$state;if(this.$props.orientation()==="vertical"){let{bottom:a,height:o}=i;n=(a-e.clientY)/o}else if(this._touch&&Be(this._touchStartValue)){let{width:a}=this._provider.getBoundingClientRect(),o=(e.clientX-this._touch.clientX)/a,l=s()-r(),c=l*Math.abs(o);n=(o<0?this._touchStartValue-c:this._touchStartValue+c)/l}else{let{left:a,width:o}=i;n=(e.clientX-a)/o}return Math.max(r(),Math.min(s(),this._delegate._roundValue(GO(r(),s(),n,this._delegate._getStep()))))}_onPointerEnter(e){this.$state.pointing.set(!0)}_onPointerMove(e){let{dragging:n}=this.$state;n()||this._updatePointerValue(this._getPointerValue(e),e)}_onPointerLeave(e){this.$state.pointing.set(!1)}_onPointerDown(e){if(e.button!==0)return;let n=this._getPointerValue(e);this._onStartDragging(n,e),this._updatePointerValue(n,e)}_onStartDragging(e,n){let{dragging:i}=this.$state;if(i())return;i.set(!0),this._media.remote.pauseControls(n);let r=this.createEvent("drag-start",{detail:e,trigger:n});this.dispatch(r),this._delegate._onDragStart?.(r)}_onStopDragging(e,n){let{dragging:i}=this.$state;if(!i())return;i.set(!1),this._media.remote.resumeControls(n);let r=this.createEvent("drag-end",{detail:e,trigger:n});this.dispatch(r),this._delegate._onDragEnd?.(r),this._touch=null,this._touchStartValue=null}_onKeyDown(e){let{key:n}=e,{min:i,max:r}=this.$state,s;if(n==="Home"||n==="PageUp"?s=i():n==="End"||n==="PageDown"?s=r():!e.metaKey&&/[0-9]/.test(n)&&(s=(r()-i())/10*Number(n)),!Le(s)){this._updatePointerValue(s,e),this._updateValue(s,e);return}let a=this._getKeyValue(e);if(Le(a))return;let o=n===this._lastDownKey;!this.$state.dragging()&&o&&this._onStartDragging(a,e),this._updatePointerValue(a,e),o||this._updateValue(a,e),this._lastDownKey=n}_onKeyUp(e){this._lastDownKey="";let{dragging:n,value:i}=this.$state;if(!n())return;let r=this._getKeyValue(e)??i();this._updatePointerValue(r),this._onStopDragging(r,e)}_getKeyValue(e){let{key:n,shiftKey:i}=e;if(!Object.keys(gP).includes(n))return;e.preventDefault(),e.stopPropagation();let{shiftKeyMultiplier:s}=this.$props,{value:a,min:o,max:l}=this.$state,c=this._delegate._getStep(),u=this._delegate._getKeyStep(),d=i?u*s():u,p=Number(gP[n]),h=d*p,y=(a()+h)/c;return Math.max(o(),Math.min(l(),Number((c*y).toFixed(3))))}_onDocumentPointerUp(e){if(e.button!==0)return;let n=this._getPointerValue(e);this._updatePointerValue(n,e),this._onStopDragging(n,e)}_onDocumentTouchMove(e){e.preventDefault()}},wc=vi(()=>({})),pf=vi(),bi=class extends Mt{constructor(e){super(),this._delegate=e,this._updateSliderVars=Rr((n,i)=>{this.el?.style.setProperty("--slider-fill",n+"%"),this.el?.style.setProperty("--slider-pointer",i+"%")})}onSetup(){this._media=le();let e=new pn;e.attach(this),this.$state.focused=e.focused.bind(e),Tn(wc)||Rt(wc,{default:"value"}),Rt(pf,{_orientation:this.$props.orientation,_disabled:this._delegate._isDisabled,_preview:D(null)}),b(this._watchValue.bind(this)),b(this._watchDisabled.bind(this)),this._setupAttrs(),new ww(this._delegate,this._media).attach(this)}onAttach(e){ve(e,"role","slider"),ve(e,"tabindex","0"),ve(e,"autocomplete","off"),N?this._watchCSSVars():b(this._watchCSSVars.bind(this))}_watchValue(){let{dragging:e,value:n,min:i,max:r}=this.$state;C(e)||n.set(KO(i(),r(),n(),this._delegate._getStep()))}_watchDisabled(){if(!this._delegate._isDisabled())return;let{dragging:e,pointing:n}=this.$state;e.set(!1),n.set(!1)}_getARIADisabled(){return Oa(this._delegate._isDisabled())}_setupAttrs(){let{orientation:e}=this.$props,{dragging:n,active:i,pointing:r}=this.$state;this.setAttributes({"data-dragging":n,"data-pointing":r,"data-active":i,"aria-disabled":this._getARIADisabled.bind(this),"aria-valuemin":this.$state.min,"aria-valuemax":this.$state.max,"aria-valuenow":this._delegate._getARIAValueNow,"aria-valuetext":this._delegate._getARIAValueText,"aria-orientation":e})}_watchCSSVars(){let{fillPercent:e,pointerPercent:n}=this.$state;this._updateSliderVars(At(e(),3),At(n(),3))}};bi.props={disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};Xi=class extends q{constructor(){super(),new bi({_getStep:this.$props.step,_getKeyStep:this.$props.keyStep,_roundValue:Math.round,_isDisabled:this.$props.disabled,_getARIAValueNow:this._getARIAValueNow.bind(this),_getARIAValueText:this._getARIAValueText.bind(this)})}onSetup(){b(this._watchValue.bind(this)),b(this._watchMinMax.bind(this))}_getARIAValueNow(){let{value:e}=this.$state;return Math.round(e())}_getARIAValueText(){let{value:e,max:n}=this.$state;return At(e()/n()*100,2)+"%"}_watchValue(){let{value:e}=this.$props;this.$state.value.set(e())}_watchMinMax(){let{min:e,max:n}=this.$props;this.$state.min.set(e()),this.$state.max.set(n())}};Xi.props={...bi.props,min:0,max:100,value:0};Xi.state=df;Gi=new Map,vh=new Map,Jh=class t{constructor(e,n,i){this.$src=e,this.$crossOrigin=n,this._media=i,this.$images=D([]),b(this._onLoadCues.bind(this))}static create(e,n){let i=le();return new t(e,n,i)}_onLoadCues(){let{canLoad:e}=this._media.$state;if(!e())return;let n=this.$src(),i=new AbortController;if(n){if(F(n)&&Gi.has(n)){let r=Gi.get(n);if(Gi.delete(n),Gi.set(n,r),Gi.size>30){let s=Gi.keys().next().value;Gi.delete(s)}this.$images.set(Gi.get(n))}else if(F(n)){let r=this.$crossOrigin(),s=n+"::"+r;if(!vh.has(s)){let a=new Promise(async(o,l)=>{try{let c=await fetch(n,{signal:i.signal,credentials:bh(r)});if(c.headers.get("content-type")==="application/json"){let d=await c.json();if(qe(d))if(d[0]&&"text"in d)o(this._processVTTCues(d));else{for(let p=0;p(oc(),ac)).then(async({parseResponse:d})=>{try{let{cues:p}=await d(c);o(this._processVTTCues(p))}catch(p){l(p)}})}catch(c){l(c)}}).then(o=>(i.signal.aborted||Gi.set(s,o),o)).catch(o=>{i.signal.aborted||this._onError(n,o)}).finally(()=>{F(s)&&vh.delete(s)});vh.set(s,a)}vh.get(s)?.then(a=>{i.signal.aborted||this.$images.set(a||[])})}else if(qe(n))try{this.$images.set(this._processImages(n))}catch(r){this._onError(n,r)}else try{this.$images.set(this._processStoryboard(n))}catch(r){this._onError(n,r)}return()=>{i.abort(),this.$images.set([])}}}_processImages(e){let n=this._resolveBaseUrl();return e.map((i,r)=>(Ki(i.url&&F(i.url),!1),Ki("startTime"in i&&Be(i.startTime),!1),{...i,url:F(i.url)?this._resolveURL(i.url,n):i.url}))}_processStoryboard(e){Ki(F(e.url),!1),Ki(qe(e.tiles)&&e.tiles?.length,!1);let n=new URL(e.url),i=[],r="tile_width"in e?e.tile_width:e.tileWidth,s="tile_height"in e?e.tile_height:e.tileHeight;for(let a of e.tiles)i.push({url:n,startTime:"start"in a?a.start:a.startTime,width:r,height:s,coords:{x:a.x,y:a.y}});return i}_processVTTCues(e){for(let r=0;r{this._resetStyles(),n.set(!1),i.set(null)}}_onLoaded(){let{loading:e,error:n}=this.$state;e.set(!1),n.set(null)}_onError(e){let{loading:n,error:i}=this.$state;n.set(!1),i.set(e)}_isLoading(){let{loading:e,hidden:n}=this.$state;return!n()&&e()}_hasError(){let{error:e}=this.$state;return!gi(e())}_watchHidden(){let{hidden:e}=this.$state,{duration:n}=this._media.$state,i=this._loader.$images();e.set(this._hasError()||!Number.isFinite(n())||i.length===0)}_getTime(){return this.$props.time()}_onFindActiveThumbnail(){let e=this._getTime(),{src:n,activeThumbnail:i}=this.$state,r=this._loader.$images(),s=-1,a=null;for(let o=r.length-1;o>=0;o--){let l=r[o];if(e>=l.startTime&&(!l.endTime||e1?h:1;this._style(e,"--thumbnail-width",`${s*v}px`),this._style(e,"--thumbnail-height",`${a*v}px`),this._style(n,"width",`${n.naturalWidth*v}px`),this._style(n,"height",`${n.naturalHeight*v}px`),this._style(n,"transform",r.coords?`translate(-${r.coords.x*v}px, -${r.coords.y*v}px)`:""),this._style(n,"max-width","none")}_style(e,n,i){e.style.setProperty(n,i),this._styleResets.push(()=>e.style.removeProperty(n))}_resetStyles(){for(let e of this._styleResets)e();this._styleResets=[]}};Qa.props={src:null,time:0,crossOrigin:null};Qa.state=new Xn({src:"",img:null,thumbnails:[],activeThumbnail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});ef=class extends Qa{onAttach(e){this._slider=_s(Xi.state)}_getTime(){let{duration:e,clipStartTime:n}=this._media.$state;return n()+this._slider.pointerRate()*e()}},YO=Object.defineProperty,QO=Object.getOwnPropertyDescriptor,XO=(t,e,n,i)=>{for(var r=i>1?void 0:i?QO(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&YO(e,n,r),r},Ps=class extends q{get video(){return this.$state.video()}onSetup(){this._media=le(),this._slider=_s(Xi.state),this._watchCrossOrigin(),this.setAttributes({"data-loading":this._isLoading.bind(this),"data-hidden":this.$state.hidden,"data-error":this._hasError.bind(this),"aria-hidden":Gt(this.$state.hidden)})}onAttach(e){b(this._watchVideo.bind(this)),b(this._watchSrc.bind(this)),b(this._watchCrossOrigin.bind(this)),b(this._watchHidden.bind(this)),b(this._onSrcChange.bind(this)),b(this._onUpdateTime.bind(this))}_watchVideo(){let e=this.$state.video();e&&(e.readyState>=2&&this._onCanPlay(),S(e,"canplay",this._onCanPlay.bind(this)),S(e,"error",this._onError.bind(this)))}_watchSrc(){let{src:e}=this.$state,{canLoad:n}=this._media.$state;e.set(n()?this.$props.src():null)}_watchCrossOrigin(){let{crossOrigin:e}=this.$props,{crossOrigin:n}=this.$state,{crossOrigin:i}=this._media.$state,r=e()!==null?e():i();n.set(r===!0?"anonymous":r)}_isLoading(){let{canPlay:e,hidden:n}=this.$state;return!e()&&!n()}_hasError(){let{error:e}=this.$state;return!gi(e)}_watchHidden(){let{src:e,hidden:n}=this.$state,{canLoad:i,duration:r}=this._media.$state;n.set(i()&&(!e()||this._hasError()||!Number.isFinite(r())))}_onSrcChange(){let{src:e,canPlay:n,error:i}=this.$state;e(),n.set(!1),i.set(null)}_onCanPlay(e){let{canPlay:n,error:i}=this.$state;n.set(!0),i.set(null),this.dispatch("can-play",{trigger:e})}_onError(e){let{canPlay:n,error:i}=this.$state;n.set(!1),i.set(e),this.dispatch("error",{trigger:e})}_onUpdateTime(){let{video:e,canPlay:n}=this.$state,{duration:i}=this._media.$state,{pointerRate:r}=this._slider,s=e();n()&&s&&Number.isFinite(i())&&Number.isFinite(r())&&(s.currentTime=r()*i())}};Ps.props={src:null,crossOrigin:null};Ps.state=new Xn({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});XO([ee],Ps.prototype,"video",1);ZO=Object.defineProperty,JO=Object.getOwnPropertyDescriptor,e3=(t,e,n,i)=>{for(var r=i>1?void 0:i?JO(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&ZO(e,n,r),r},Xa=class extends q{onSetup(){this._slider=_s(Xi.state),this._format=Ie(wc),this._text=mi(this.getValueText.bind(this))}getValueText(){let{type:e,format:n,decimalPlaces:i,padHours:r,padMinutes:s,showHours:a}=this.$props,{value:o,pointerValue:l,min:c,max:u}=this._slider,d=n()??this._format.default,p=e()==="current"?o():l();if(d==="percent"){let h=u()-c(),y=p/h*100;return(this._format.percent??At)(y,i())+"\uFE6A"}else return d==="time"?(this._format.time??Fr)(p,r(),s(),a()):this._format.value?.(p)??p.toFixed(2)}};Xa.props={type:"pointer",format:null,showHours:!1,padHours:null,padMinutes:null,decimalPlaces:2};e3([Ae],Xa.prototype,"getValueText",1);xc=class extends q{constructor(){super(...arguments),this._updatePlacement=Rr(()=>{let{_disabled:e,_orientation:n}=this._slider;if(e())return;let i=this.el,{offset:r,noClamp:s}=this.$props;Dw(i,{clamp:!s(),offset:r(),orientation:n()})})}onSetup(){this._slider=Ie(pf);let{active:e}=_s(Xi.state);this.setAttributes({"data-visible":e})}onAttach(e){Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){let{_preview:n}=this._slider;n.set(e),G(()=>n.set(null)),b(this._updatePlacement.bind(this));let i=new ResizeObserver(this._updatePlacement.bind(this));i.observe(e),G(()=>i.disconnect())}};xc.props={offset:0,noClamp:!1};kc=class extends q{constructor(){super(...arguments),this._throttleVolumeChange=au(this._onVolumeChange.bind(this),25)}onSetup(){this._media=le(),Rt(wc,{default:"percent"}),new bi({_getStep:this.$props.step,_getKeyStep:this.$props.keyStep,_isDisabled:this.$props.disabled,_roundValue:Math.round,_getARIAValueNow:this._getARIAValueNow.bind(this),_getARIAValueText:this._getARIAValueText.bind(this),_onDragValueChange:this._onDragValueChange.bind(this),_onValueChange:this._onValueChange.bind(this)}).attach(this),b(this._watchVolume.bind(this))}onAttach(e){e.setAttribute("data-media-volume-slider",""),ve(e,"aria-label","Volume");let{canSetVolume:n}=this._media.$state;this.setAttributes({"data-supported":n,"aria-hidden":Gt(()=>!n())})}_getARIAValueNow(){let{value:e}=this.$state;return Math.round(e())}_getARIAValueText(){let{value:e,max:n}=this.$state;return At(e()/n()*100,2)+"%"}_watchVolume(){let{muted:e,volume:n}=this._media.$state,i=e()?0:n()*100;this.$state.value.set(i),this.dispatch("value-change",{detail:i})}_onVolumeChange(e){if(!e.trigger)return;let n=At(e.detail/100,3);this._media.remote.changeVolume(n,e)}_onValueChange(e){this._throttleVolumeChange(e)}_onDragValueChange(e){this._throttleVolumeChange(e)}};kc.props={...bi.props,keyStep:5,shiftKeyMultiplier:2};kc.state=df;Za=class extends q{constructor(){super(),this._chapter=D(null),this._playingBeforeDragStart=!1,new bi({_swipeGesture:!0,_getStep:this._getStep.bind(this),_getKeyStep:this._getKeyStep.bind(this),_isDisabled:this._isDisabled.bind(this),_roundValue:this._roundValue,_getARIAValueNow:this._getARIAValueNow.bind(this),_getARIAValueText:this._getARIAValueText.bind(this),_onDragStart:this._onDragStart.bind(this),_onDragValueChange:this._onDragValueChange.bind(this),_onDragEnd:this._onDragEnd.bind(this),_onValueChange:this._onValueChange.bind(this)})}onSetup(){this._media=le(),Rt(wc,{default:"time",value:this._formatValue.bind(this),time:this._formatTime.bind(this)}),this.setAttributes({"data-chapters":this._hasChapters.bind(this)}),this.setStyles({"--slider-progress":this._calcBufferedPercent.bind(this)}),b(this._watchCurrentTime.bind(this)),b(this._watchSeekingThrottle.bind(this))}onAttach(e){e.setAttribute("data-media-time-slider",""),ve(e,"aria-label","Seek")}onConnect(e){b(this._watchPreviewing.bind(this)),no(this._media.textTracks,"chapters",this._chapter.set)}_calcBufferedPercent(){let{bufferedEnd:e,duration:n}=this._media.$state;return At(Math.min(e()/Math.max(n(),1),1)*100,3)+"%"}_hasChapters(){let{duration:e}=this._media.$state;return this._chapter()?.cues.length&&Number.isFinite(e())&&e()>0}_watchSeekingThrottle(){this._dispatchSeeking=au(this._seeking.bind(this),this.$props.seekingRequestThrottle())}_watchCurrentTime(){let{currentTime:e}=this._media.$state,{value:n,dragging:i}=this.$state,r=this._timeToPercent(e());C(i)||(n.set(r),this.dispatch("value-change",{detail:r}))}_watchPreviewing(){let e=this._media.player.el,{_preview:n}=Ie(pf);e&&n()&&Z(e,"data-preview",this.$state.active())}_seeking(e,n){this._media.remote.seeking(e,n)}_seek(e,n,i){this._dispatchSeeking.cancel();let{live:r}=this._media.$state;if(r()&&n>=99){this._media.remote.seekToLiveEdge(i);return}this._media.remote.seek(e,i)}_onDragStart(e){let{pauseWhileDragging:n}=this.$props;if(n()){let{paused:i}=this._media.$state;this._playingBeforeDragStart=!i(),this._media.remote.pause(e)}}_onDragValueChange(e){this._dispatchSeeking(this._percentToTime(e.detail),e)}_onDragEnd(e){let n=e.detail;this._seek(this._percentToTime(n),n,e);let{pauseWhileDragging:i}=this.$props;i()&&this._playingBeforeDragStart&&(this._media.remote.play(e),this._playingBeforeDragStart=!1)}_onValueChange(e){let{dragging:n}=this.$state;n()||!e.trigger||this._onDragEnd(e)}_getStep(){let e=this.$props.step()/this._media.$state.duration()*100;return Number.isFinite(e)?e:1}_getKeyStep(){let e=this.$props.keyStep()/this._media.$state.duration()*100;return Number.isFinite(e)?e:1}_roundValue(e){return At(e,3)}_isDisabled(){let{canSeek:e}=this._media.$state;return this.$props.disabled()||!e()}_getARIAValueNow(){let{value:e}=this.$state;return Math.round(e())}_getARIAValueText(){let e=this._percentToTime(this.$state.value()),{duration:n}=this._media.$state;return Number.isFinite(e)?`${bc(e)} out of ${bc(n())}`:"live"}_percentToTime(e){let{duration:n}=this._media.$state;return At(e/100*n(),5)}_timeToPercent(e){let{liveEdge:n,duration:i}=this._media.$state,r=Math.max(0,Math.min(1,n()?1:Math.min(e,i())/i()));return Number.isNaN(r)?0:Number.isFinite(r)?r*100:100}_formatValue(e){let n=this._percentToTime(e),{live:i,duration:r}=this._media.$state;return Number.isFinite(n)?(i()?n-r():n).toFixed(0):"LIVE"}_formatTime(e,n,i,r){let s=this._percentToTime(e),{live:a,duration:o}=this._media.$state,l=a()?s-o():s;return Number.isFinite(s)?`${l<0?"-":""}${Fr(Math.abs(l),n,i,r)}`:"LIVE"}};Za.props={...bi.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,seekingRequestThrottle:100};Za.state=df;t3=Object.defineProperty,n3=Object.getOwnPropertyDescriptor,hf=(t,e,n,i)=>{for(var r=i>1?void 0:i?n3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&t3(e,n,r),r},Zi=class extends q{constructor(){super(...arguments),this._titleRef=null,this._refs=[],this._$track=D(null),this._$cues=D([]),this._activeIndex=D(-1),this._activePointerIndex=D(-1),this._bufferedIndex=0,this._updateBufferedPercent=Rr(e=>{let n,i=this._$cues(),{clipStartTime:r}=this._media.$state,s=r(),a=this._getEndTime(i);for(let o=this._bufferedIndex;o{let e=C(this._$track);!this.scope||!e||!e.cues.length||(this._$cues.set(this._fillGaps(e.cues)),this._activeIndex.set(0),this._bufferedIndex=0)},150,!0)}get cues(){return this._$cues()}get activeCue(){return this._$cues()[this._activeIndex()]||null}get activePointerCue(){return this._$cues()[this._activePointerIndex()]||null}onSetup(){this._media=le(),this._sliderState=_s(Za.state)}onAttach(e){no(this._media.textTracks,"chapters",this._setTrack.bind(this)),b(this._onTrackChange.bind(this))}onConnect(){G(()=>this._reset.bind(this))}onDestroy(){this._setTrack(null)}setRefs(e){if(this._refs=e,this._updateScope?.dispose(),this._refs.length===1){let n=this._refs[0];n.style.width="100%",n.style.setProperty("--chapter-fill","var(--slider-fill)"),n.style.setProperty("--chapter-progress","var(--slider-progress)")}else this._refs.length>0&&et(()=>this._watch(),this._updateScope=$t())}_setTrack(e){C(this._$track)!==e&&(this._reset(),this._$track.set(e))}_reset(){this._refs=[],this._$cues.set([]),this._activeIndex.set(-1),this._activePointerIndex.set(-1),this._bufferedIndex=0,this._updateScope?.dispose()}_watch(){this._refs.length&&(b(this._watchContainerWidths.bind(this)),b(this._watchFillPercent.bind(this)),b(this._watchPointerPercent.bind(this)),b(this._watchBufferedPercent.bind(this)))}_watchContainerWidths(){let e=this._$cues();if(!e.length)return;let n,{clipStartTime:i,clipEndTime:r}=this._media.$state,s=i(),a=r()||e[e.length-1].endTime,o=a-s,l=100;for(let c=0;cc?this._updateFillPercents(c,d,"100%"):d=0&&i<100)return l;return 0}_watchBufferedPercent(){this._updateBufferedPercent(this._bufferedPercent())}_calcMediaBufferedPercent(){let{bufferedEnd:e,duration:n}=this._media.$state;return At(Math.min(e()/Math.max(n(),1),1),3)*100}_getEndTime(e){let{clipEndTime:n}=this._media.$state,i=n();return i>0?i:e[e.length-1]?.endTime||0}_calcPercent(e,n,i,r){if(this._$cues().length===0)return 0;let a=r-i,o=Math.max(0,e.startTime-i),l=Math.min(r,e.endTime)-i,c=o/a,u=c*100,d=Math.min(1,c+(l-o)/a)*100;return Math.max(0,At(n>=d?100:(n-u)/(d-u)*100,3))}_fillGaps(e){let n=[],{clipStartTime:i,clipEndTime:r,duration:s}=this._media.$state,a=i(),o=r()||1/0;e=e.filter(u=>u.startTime<=o&&u.endTime>=a);let l=e[0];l&&l.startTime>a&&n.push(new window.VTTCue(a,l.startTime,""));for(let u=0;u0&&n.push(new window.VTTCue(d.endTime,d.endTime+h,""))}}let c=e[e.length-1];return c&&(n.push(c),s()>=0&&(o===0||o!==1/0&&c.endTime1&&n.push(new window.VTTCue(c.endTime,s(),""))),n}_onTrackChange(){if(!this.scope)return;let{disabled:e}=this.$props;if(e()){this._$cues.set([]),this._activeIndex.set(0),this._bufferedIndex=0;return}let n=this._$track();if(n){let i=this._onCuesChange.bind(this);i(),G(S(n,"add-cue",i)),G(S(n,"remove-cue",i)),b(this._watchMediaDuration.bind(this))}return this._titleRef=this._findChapterTitleRef(),this._titleRef&&b(this._onChapterTitleChange.bind(this)),()=>{this._titleRef&&(this._titleRef.textContent="",this._titleRef=null)}}_watchMediaDuration(){this._media.$state.duration(),this._onCuesChange()}_onChapterTitleChange(){let e=this.activePointerCue||this.activeCue;this._titleRef&&(this._titleRef.textContent=e?.text||"")}_findParentSlider(){let e=this.el;for(;e&&e.getAttribute("role")!=="slider";)e=e.parentElement;return e}_findChapterTitleRef(){let e=this._findParentSlider();return e?e.querySelector('[data-part="chapter-title"]'):null}};Zi.props={disabled:!1};hf([ee],Zi.prototype,"cues",1);hf([ee],Zi.prototype,"activeCue",1);hf([ee],Zi.prototype,"activePointerCue",1);hf([Ae],Zi.prototype,"setRefs",1);ct=vi(),i3=["a[href]","[tabindex]","input","select","button"].map(t=>`${t}:not([aria-hidden='true'])`).join(","),vP=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]),bw=class{constructor(e){this._delegate=e,this._index=0,this._el=null,this._elements=[]}get _items(){return this._elements}_attachMenu(e){return S(e,"focus",this._onFocus.bind(this)),this._el=e,G(()=>{this._el=null}),this}_listen(){this._el&&(this._update(),S(this._el,"keyup",this._onKeyUp.bind(this)),S(this._el,"keydown",this._onKeyDown.bind(this)),G(()=>{this._index=0,this._elements=[]}))}_update(){this._index=0,this._elements=this._getFocusableElements()}_scroll(e=this._findActiveIndex()){let n=this._elements[e],i=this._delegate._getScrollContainer();n&&i&&requestAnimationFrame(()=>{i.scrollTop=n.offsetTop-i.offsetHeight/2+n.offsetHeight/2})}_focusAt(e){this._index=e,this._elements[e]?.focus(),this._scroll(e)}_findActiveIndex(){return this._elements.findIndex(e=>e.getAttribute("aria-checked")==="true")}_onFocus(){this._update(),setTimeout(()=>{let e=this._findActiveIndex();this._focusAt(e>=0?e:0)},100)}_onKeyUp(e){vP.has(e.key)&&(e.stopPropagation(),e.preventDefault())}_onKeyDown(e){if(vP.has(e.key))switch(e.stopPropagation(),e.preventDefault(),e.key){case"Escape":this._delegate._closeMenu(e);break;case"Tab":this._focusAt(this._nextIndex(e.shiftKey?-1:1));break;case"ArrowUp":this._focusAt(this._nextIndex(-1));break;case"ArrowDown":this._focusAt(this._nextIndex(1));break;case"Home":case"PageUp":this._focusAt(0);break;case"End":case"PageDown":this._focusAt(this._elements.length-1);break}}_nextIndex(e){let n=this._index;do n=(n+e+this._elements.length)%this._elements.length;while(this._elements[n]?.offsetParent===null);return n}_getFocusableElements(){if(!this._el)return[];let e=this._el.querySelectorAll(i3),n=[],i=r=>r.getAttribute("role")==="menu";for(let r of e)r instanceof HTMLElement&&r.offsetParent!==null&&VP(this._el,r,i)&&n.push(r);return n}},r3=Object.defineProperty,s3=Object.getOwnPropertyDescriptor,ou=(t,e,n,i)=>{for(var r=i>1?void 0:i?s3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&r3(e,n,r),r},a3=0,Ji=class extends q{constructor(){super(),this._expanded=D(!1),this._disabled=D(!1),this._trigger=D(null),this._content=D(null),this._isTriggerDisabled=D(!1),this._submenus=new Set,this._menuObserver=null,this._removeSubmenuBind=this._removeSubmenu.bind(this),this._onSubmenuOpenBind=this._onSubmenuOpen.bind(this),this._onSubmenuCloseBind=this._onSubmenuClose.bind(this),this._onResize=Rr(()=>{let n=C(this._content);if(!n||N)return;let i=0,r=getComputedStyle(n),s=[...n.children];for(let a of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])i+=parseFloat(r[a])||0;for(let a of s)if(a instanceof HTMLElement&&a.style.display==="contents")s.push(...a.children);else if(a.nodeType===3)i+=parseFloat(getComputedStyle(a).fontSize);else if(a instanceof HTMLElement){let o=getComputedStyle(a);if(o.display==="none")continue;i+=a.offsetHeight+(parseFloat(o.marginTop)||0)+(parseFloat(o.marginBottom)||0)}requestAnimationFrame(()=>{lt(n,"--menu-height",i+"px")})});let{showDelay:e}=this.$props;this._popper=new Uh({_trigger:this._trigger,_content:this._content,_showDelay:e,_listen:(n,i,r)=>{Dr(n,a=>{this._expanded()?r(a):i(a)});let s=this._getCloseTarget();s&&Dr(s,a=>{a.stopPropagation(),r(a)})},_onChange:this._onExpandedChange.bind(this)})}get triggerElement(){return this._trigger()}get contentElement(){return this._content()}get isSubmenu(){return!!this._parentMenu}onSetup(){this._media=le();let e=++a3;this._menuId=`media-menu-${e}`,this._menuButtonId=`media-menu-button-${e}`,this._focus=new bw({_getScrollContainer:this._findScrollContainer.bind(this),_closeMenu:this.close.bind(this)}),Tn(ct)&&(this._parentMenu=Ie(ct)),this.setAttributes({"data-open":this._expanded,"data-submenu":this.isSubmenu,"data-disabled":this._isDisabled.bind(this)}),Rt(ct,{_button:this._trigger,_expanded:this._expanded,_hint:D(""),_disable:this._disable.bind(this),_attachMenuButton:this._attachMenuButton.bind(this),_attachMenuItems:this._attachMenuItems.bind(this),_attachObserver:this._attachObserver.bind(this),_disableMenuButton:this._disableMenuButton.bind(this),_addSubmenu:this._addSubmenu.bind(this)})}onAttach(e){e.style.setProperty("display","contents"),this._focus._attachMenu(e)}onConnect(e){b(this._watchExpanded.bind(this)),this.isSubmenu&&this._parentMenu?._addSubmenu(this)}onDestroy(){this._trigger.set(null),this._content.set(null),this._menuObserver=null}_watchExpanded(){let e=this._isExpanded();this.isSubmenu||this._onResize(),this._updateMenuItemsHidden(e),e&&(b(()=>{let{height:n}=this._media.$state,i=this._content();i&<(i,"--player-height",n()+"px")}),this._focus._listen(),this.listen("pointerup",this._onPointerUp.bind(this)),S(window,"pointerup",this._onWindowPointerUp.bind(this)))}_attachMenuButton(e){let n=e.el,i=this.isSubmenu,r=Gt(this._isDisabled.bind(this));ve(n,"tabindex",i?"-1":"0"),ve(n,"role",i?"menuitem":"button"),Z(n,"id",this._menuButtonId),Z(n,"aria-haspopup","menu"),Z(n,"aria-expanded","false"),Z(n,"data-submenu",this.isSubmenu),this.isSubmenu||this._stopClickPropagation(n);let s=()=>{Z(n,"data-open",this._expanded()),Z(n,"aria-disabled",r())};N?s():b(s),this._trigger.set(n),G(()=>{this._trigger.set(null)})}_attachMenuItems(e){let n=e.el;n.style.setProperty("display","none"),Z(n,"id",this._menuId),ve(n,"role","menu"),ve(n,"tabindex","-1"),Z(n,"data-submenu",this.isSubmenu),this._content.set(n),G(()=>this._content.set(null));let i=()=>Z(n,"data-open",this._expanded());if(N?i():b(i),this._focus._attachMenu(n),this._updateMenuItemsHidden(!1),!this.isSubmenu){let r=this._onResizeTransition.bind(this);e.listen("transitionstart",r),e.listen("transitionend",r),e.listen("vds-menu-resize",this._onResize)}}_attachObserver(e){this._menuObserver=e}_stopClickPropagation(e){S(e,"click",n=>n.stopPropagation()),S(e,"pointerup",n=>n.stopPropagation())}_updateMenuItemsHidden(e){let n=C(this._content);n&&Z(n,"aria-hidden",Oa(!e))}_disableMenuButton(e){this._isTriggerDisabled.set(e)}_onExpandedChange(e,n){if(n?.stopPropagation(),this._expanded()===e)return;if(this._isDisabled()){e&&this._popper.hide(n);return}this.el?.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));let i=this._trigger(),r=this._content();if(i&&(Z(i,"aria-controls",e&&this._menuId),Z(i,"aria-expanded",Oa(e))),r&&Z(r,"aria-labelledby",e&&this._menuButtonId),this._expanded.set(e),this._toggleMediaControls(n),Zn(),Hi(n)){e?r?.focus():i?.focus();for(let s of[this.el,r])s&&s.setAttribute("data-keyboard","")}else for(let s of[this.el,r])s&&s.removeAttribute("data-keyboard");this.dispatch(e?"open":"close",{trigger:n}),e?(!this.isSubmenu&&this._media.activeMenu!==this&&(this._media.activeMenu?.close(n),this._media.activeMenu=this),this._menuObserver?._onOpen?.(n)):(this.isSubmenu?setTimeout(()=>{for(let s of this._submenus)s.close(n)},300):this._media.activeMenu=null,this._menuObserver?._onClose?.(n)),e&&!Hi(n)&&requestAnimationFrame(()=>{this._focus._update(),setTimeout(()=>{this._focus._scroll()},100)})}_isExpanded(){return!this._isDisabled()&&this._expanded()}_isDisabled(){return this._disabled()||this._isTriggerDisabled()}_disable(e){this._disabled.set(e)}_onPointerUp(e){e.stopPropagation()}_onWindowPointerUp(e){if(!(!(e.target instanceof Node)||this._content()?.contains(e.target))){if(this.isSubmenu)return setTimeout(this.close.bind(this,e),800);this.close(e)}}_getCloseTarget(){let e=this.el?.querySelector('[data-part="close-target"]');return this.el&&e&&VP(this.el,e,n=>n.getAttribute("role")==="menu")?e:null}_findScrollContainer(){if(this.isSubmenu){let e=this.el;for(;e&&e.tagName!=="media-menu"&&e.hasAttribute("data-submenu");)e=e.parentNode;return e}else return C(this._content)||null}_toggleMediaControls(e){this.isSubmenu||(this._expanded()?this._media.remote.pauseControls(e):this._media.remote.resumeControls(e))}_addSubmenu(e){this._submenus.add(e),S(e,"open",this._onSubmenuOpenBind),S(e,"close",this._onSubmenuCloseBind),G(this._removeSubmenuBind)}_removeSubmenu(e){this._submenus.delete(e)}_onSubmenuOpen(e){this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","true");for(let n of this._submenus)if(n!==e.target)for(let i of[n.el,n.triggerElement])i?.setAttribute("aria-hidden","true")}_onSubmenuClose(){this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","false");for(let e of this._submenus)for(let n of[e.el,e.triggerElement])n?.setAttribute("aria-hidden","false")}_onResizeTransition(e){let n=this._content();if(n&&e.propertyName==="height"){let i=e.type==="transitionstart";Z(n,"data-resizing",i)}}open(e){C(this._expanded)||(this._popper.show(e),Zn())}close(e){C(this._expanded)&&(this._popper.hide(e),Zn())}};Ji.props={showDelay:0};ou([ee],Ji.prototype,"triggerElement",1);ou([ee],Ji.prototype,"contentElement",1);ou([ee],Ji.prototype,"isSubmenu",1);ou([Ae],Ji.prototype,"open",1);ou([Ae],Ji.prototype,"close",1);o3=Object.defineProperty,l3=Object.getOwnPropertyDescriptor,c3=(t,e,n,i)=>{for(var r=i>1?void 0:i?l3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&o3(e,n,r),r},Cs=class extends q{get expanded(){return this._menu?._expanded()??!1}constructor(){super(),new pn}onSetup(){this._menu=Ie(ct)}onAttach(e){this._menu._attachMenuButton(this),b(this._watchDisabled.bind(this)),ve(e,"type","button")}onConnect(e){let n=Array.from(e.querySelectorAll('[data-part="hint"]')).pop();n&&b(()=>{let i=this._menu._hint();i&&(n.textContent=i)}),Dr(e,i=>{this.dispatch("select",{trigger:i})})}_watchDisabled(){this._menu._disableMenuButton(this.$props.disabled())}};Cs.props={disabled:!1};c3([ee],Cs.prototype,"expanded",1);tf=class extends Cs{},nf=class extends q{constructor(){super(...arguments),this._target=null}onSetup(){this._media=le(),Rt(fc,{_attach:this._attachElement.bind(this)})}onAttach(e){e.style.setProperty("display","contents")}onConnect(e){}onDestroy(){this._target?.remove(),this._target=null}_attachElement(e){this._portal(!1),this._target=e,Eh(()=>{Eh(()=>{this.connectScope&&b(this._watchDisabled.bind(this))})})}_watchDisabled(){let{fullscreen:e}=this._media.$state,{disabled:n}=this.$props,i=n();this._portal(i==="fullscreen"?!e():!i)}_portal(e){if(!this._target)return;let n=this._getContainer(this.$props.container());if(!n)return;let i=this._target.parentElement===n;Z(this._target,"data-portal",e),e?i||(this._target.remove(),n.append(this._target)):i&&this._target.parentElement===n&&(this._target.remove(),this.el?.append(this._target))}_getContainer(e){return e instanceof HTMLElement?e:e?document.querySelector(e):document.body}};nf.props={container:null,disabled:!1};fc=vi(),Ec=class extends q{constructor(){super(),new pn;let{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){if(this._menu=Ie(ct),this._menu._attachMenuItems(this),Tn(fc)){let n=Ie(fc);n&&(Rt(fc,null),n._attach(e),G(()=>n._attach(null)))}}onConnect(e){b(this._watchPlacement.bind(this))}_watchPlacement(){if(!this.el)return;let e=this.$props.placement();if(e){Object.assign(this.el.style,{position:"absolute",top:0,left:0,width:"max-content"});let{offset:n,alignOffset:i}=this.$props;return FP(this.el,this._getButton(),e,{offsetVarName:"media-menu",xOffset:i(),yOffset:n()})}else this.el.removeAttribute("style"),this.el.style.display="none"}_getButton(){return this._menu._button()}};Ec.props={placement:null,offset:0,alignOffset:0};xw=vi(),Or=class extends Mt{constructor(){super(...arguments),this._group=new Set,this._value=D(""),this._controller=null,this._onChangeBind=this._onChange.bind(this)}get _values(){return Array.from(this._group).map(e=>e._value())}get value(){return this._value()}set value(e){this._onChange(e)}onSetup(){Rt(xw,{add:this._addRadio.bind(this),remove:this._removeRadio.bind(this)})}onAttach(e){Tn(ct)||ve(e,"role","radiogroup"),this.setAttributes({value:this._value})}onDestroy(){this._group.clear()}_addRadio(e){this._group.has(e)||(this._group.add(e),e._onCheck=this._onChangeBind,e._check(e._value()===this._value()))}_removeRadio(e){e._onCheck=null,this._group.delete(e)}_onChange(e,n){let i=C(this._value);if(!e||e===i)return;let r=this._findRadio(i),s=this._findRadio(e);r?._check(!1,n),s?._check(!0,n),this._value.set(e),this._onValueChange?.(e,n)}_findRadio(e){for(let n of this._group)if(e===C(n._value))return n;return null}},u3=Object.defineProperty,d3=Object.getOwnPropertyDescriptor,n1=(t,e,n,i)=>{for(var r=i>1?void 0:i?d3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&u3(e,n,r),r},Ja=class extends q{get values(){return this._controller._values}get value(){return this._controller.value}set value(e){this._controller.value=e}constructor(){super(),this._controller=new Or,this._controller._onValueChange=this._onValueChange.bind(this)}onSetup(){N?this._watchValue():b(this._watchValue.bind(this))}_watchValue(){this._controller.value=this.$props.value()}_onValueChange(e,n){let i=this.createEvent("change",{detail:e,trigger:n});this.dispatch(i)}};Ja.props={value:""};n1([ee],Ja.prototype,"values",1);n1([ee],Ja.prototype,"value",1);p3=Object.defineProperty,h3=Object.getOwnPropertyDescriptor,f3=(t,e,n,i)=>{for(var r=i>1?void 0:i?h3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&p3(e,n,r),r},eo=class extends q{constructor(){super(),this._checked=D(!1),this._controller={_value:this.$props.value,_check:this._check.bind(this),_onCheck:null},new pn}get checked(){return this._checked()}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this._checked,"aria-checked":Gt(this._checked)})}onAttach(e){let n=Tn(ct);ve(e,"tabindex",n?"-1":"0"),ve(e,"role",n?"menuitemradio":"radio"),b(this._watchValue.bind(this))}onConnect(e){this._addToGroup(),Dr(e,this._onPress.bind(this)),G(this._onDisconnect.bind(this))}_onDisconnect(){et(()=>{Ie(xw).remove(this._controller)},this.connectScope)}_addToGroup(){Ie(xw).add(this._controller)}_watchValue(){let{value:e}=this.$props,n=e();C(this._checked)&&this._controller._onCheck?.(n)}_onPress(e){C(this._checked)||(this._onChange(!0,e),this._onSelect(e),this._controller._onCheck?.(C(this.$props.value),e))}_check(e,n){C(this._checked)!==e&&this._onChange(e,n)}_onChange(e,n){this._checked.set(e),this.dispatch("change",{detail:e,trigger:n})}_onSelect(e){this.dispatch("select",{trigger:e})}};eo.props={value:""};f3([ee],eo.prototype,"checked",1);m3=Object.defineProperty,g3=Object.getOwnPropertyDescriptor,Ow=(t,e,n,i)=>{for(var r=i>1?void 0:i?g3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&m3(e,n,r),r},$s=class extends q{constructor(){super(),this._index=D(0),this._track=D(null),this._cues=D([]),this._controller=new Or,this._controller._onValueChange=this._onValueChange.bind(this)}get value(){return this._controller.value}get disabled(){return!this._cues()?.length}onSetup(){this._media=le(),Tn(ct)&&(this._menu=Ie(ct));let{thumbnails:e}=this.$props;this.setAttributes({"data-thumbnails":()=>!!e()})}onAttach(e){this._menu?._attachObserver({_onOpen:this._onOpen.bind(this)})}getOptions(){let{clipStartTime:e,clipEndTime:n}=this._media.$state,i=e(),r=n()||1/0;return this._cues().map((s,a)=>({cue:s,value:a.toString(),label:s.text,startTime:Fr(Math.max(0,s.startTime-i),!1),duration:bc(Math.min(r,s.endTime)-Math.max(i,s.startTime))}))}_onOpen(){C(()=>this._watchCurrentTime())}onConnect(e){b(this._watchValue.bind(this)),b(this._watchCurrentTime.bind(this)),b(this._watchControllerDisabled.bind(this)),b(this._watchTrack.bind(this)),no(this._media.textTracks,"chapters",this._track.set)}_watchTrack(){let e=this._track();if(!e)return;let n=this._onCuesChange.bind(this,e);return n(),S(e,"add-cue",n),S(e,"remove-cue",n),()=>{this._cues.set([])}}_onCuesChange(e){let{clipStartTime:n,clipEndTime:i}=this._media.$state,r=n(),s=i()||1/0;this._cues.set([...e.cues].filter(a=>a.startTime<=s&&a.endTime>=r))}_watchValue(){this._controller.value=this._getValue()}_watchCurrentTime(){if(!this._menu?._expanded())return;if(!this._track()){this._index.set(-1);return}let{realCurrentTime:n,clipStartTime:i,clipEndTime:r}=this._media.$state,s=i(),a=r()||1/0,o=n(),l=this._cues().findIndex(c=>xh(c,o));if(this._index.set(l),l>=0){let c=this._cues()[l],u=this.el.querySelector("[aria-checked='true']"),d=Math.max(s,c.startTime),p=Math.min(a,c.endTime)-d,h=Math.max(0,o-d)/p*100;u&<(u,"--progress",At(h,3)+"%")}}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_getValue(){return this._index().toString()}_onValueChange(e,n){if(this.disabled||!n)return;let i=+e,r=this._cues(),{clipStartTime:s}=this._media.$state;Be(i)&&r?.[i]&&(this._index.set(i),this._media.remote.seek(r[i].startTime-s(),n),this.dispatch("change",{detail:r[i],trigger:n}))}};$s.props={thumbnails:null};Ow([ee],$s.prototype,"value",1);Ow([ee],$s.prototype,"disabled",1);Ow([Ae],$s.prototype,"getOptions",1);v3=Object.defineProperty,y3=Object.getOwnPropertyDescriptor,Vw=(t,e,n,i)=>{for(var r=i>1?void 0:i?y3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&v3(e,n,r),r},Ms=class extends q{get value(){return this._controller.value}get disabled(){let{audioTracks:e}=this._media.$state;return e().length===0}constructor(){super(),this._controller=new Or,this._controller._onValueChange=this._onValueChange.bind(this)}onSetup(){this._media=le(),Tn(ct)&&(this._menu=Ie(ct))}onConnect(e){b(this._watchValue.bind(this)),b(this._watchControllerDisabled.bind(this)),b(this._watchHintText.bind(this))}getOptions(){let{audioTracks:e}=this._media.$state;return e().map(n=>({track:n,label:n.label,value:n.label.toLowerCase()}))}_watchValue(){this._controller.value=this._getValue()}_watchHintText(){let{emptyLabel:e}=this.$props,{audioTrack:n}=this._media.$state,i=n();this._menu?._hint.set(i?.label??e())}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_getValue(){let{audioTrack:e}=this._media.$state,n=e();return n?n.label.toLowerCase():""}_onValueChange(e,n){if(this.disabled)return;let i=this._media.audioTracks.toArray().findIndex(r=>r.label.toLowerCase()===e);if(i>=0){let r=this._media.audioTracks[i];this._media.remote.changeAudioTrack(i,n),this.dispatch("change",{detail:r,trigger:n})}}};Ms.props={emptyLabel:"Default"};Vw([ee],Ms.prototype,"value",1);Vw([ee],Ms.prototype,"disabled",1);Vw([Ae],Ms.prototype,"getOptions",1);_3=Object.defineProperty,w3=Object.getOwnPropertyDescriptor,Fw=(t,e,n,i)=>{for(var r=i>1?void 0:i?w3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&_3(e,n,r),r},Rs=class extends q{get value(){return this._controller.value}get disabled(){let{hasCaptions:e}=this._media.$state;return!e()}constructor(){super(),this._controller=new Or,this._controller._onValueChange=this._onValueChange.bind(this)}onSetup(){this._media=le(),Tn(ct)&&(this._menu=Ie(ct))}onConnect(e){super.onConnect?.(e),b(this._watchValue.bind(this)),b(this._watchControllerDisabled.bind(this)),b(this._watchHintText.bind(this))}getOptions(){let{offLabel:e}=this.$props,{textTracks:n}=this._media.$state;return[{value:"off",label:e},...n().filter(We).map(i=>({track:i,label:i.label,value:this._getTrackValue(i)}))]}_watchValue(){this._controller.value=this._getValue()}_watchHintText(){let{offLabel:e}=this.$props,{textTrack:n}=this._media.$state,i=n();this._menu?._hint.set(i&&We(i)&&i.mode==="showing"?i.label:e())}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_getValue(){let{textTrack:e}=this._media.$state,n=e();return n&&We(n)&&n.mode==="showing"?this._getTrackValue(n):"off"}_onValueChange(e,n){if(this.disabled)return;if(e==="off"){let r=this._media.textTracks.selected;if(r){let s=this._media.textTracks.toArray().indexOf(r);this._media.remote.changeTextTrackMode(s,"disabled",n),this.dispatch("change",{detail:null,trigger:n})}return}let i=this._media.textTracks.toArray().findIndex(r=>this._getTrackValue(r)===e);if(i>=0){let r=this._media.textTracks[i];this._media.remote.changeTextTrackMode(i,"showing",n),this.dispatch("change",{detail:r,trigger:n})}}_getTrackValue(e){return e.id+":"+e.kind+"-"+e.label.toLowerCase()}};Rs.props={offLabel:"Off"};Fw([ee],Rs.prototype,"value",1);Fw([ee],Rs.prototype,"disabled",1);Fw([Ae],Rs.prototype,"getOptions",1);b3=Object.defineProperty,x3=Object.getOwnPropertyDescriptor,zw=(t,e,n,i)=>{for(var r=i>1?void 0:i?x3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&b3(e,n,r),r},Ls=class extends q{get value(){return this._controller.value}get disabled(){let{rates:e}=this.$props,{canSetPlaybackRate:n}=this._media.$state;return!n()||e().length===0}constructor(){super(),this._controller=new Or,this._controller._onValueChange=this._onValueChange.bind(this)}onSetup(){this._media=le(),Tn(ct)&&(this._menu=Ie(ct))}onConnect(e){b(this._watchValue.bind(this)),b(this._watchHintText.bind(this)),b(this._watchControllerDisabled.bind(this))}getOptions(){let{rates:e,normalLabel:n}=this.$props;return e().map(i=>({label:i===1?n:i+"\xD7",value:i.toString()}))}_watchValue(){this._controller.value=this._getValue()}_watchHintText(){let{normalLabel:e}=this.$props,{playbackRate:n}=this._media.$state,i=n();this._menu?._hint.set(i===1?e():i+"\xD7")}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_getValue(){let{playbackRate:e}=this._media.$state;return e().toString()}_onValueChange(e,n){if(this.disabled)return;let i=+e;this._media.remote.changePlaybackRate(i,n),this.dispatch("change",{detail:i,trigger:n})}};Ls.props={normalLabel:"Normal",rates:[.25,.5,.75,1,1.25,1.5,1.75,2]};zw([ee],Ls.prototype,"value",1);zw([ee],Ls.prototype,"disabled",1);zw([Ae],Ls.prototype,"getOptions",1);k3=Object.defineProperty,E3=Object.getOwnPropertyDescriptor,Uw=(t,e,n,i)=>{for(var r=i>1?void 0:i?E3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&k3(e,n,r),r},Is=class extends q{constructor(){super(),this._sortedQualities=mi(()=>{let{qualities:e}=this._media.$state;return[...e()].sort((n,i)=>i.height===n.height?i.bitrate-n.bitrate:i.height-n.height)}),this._controller=new Or,this._controller._onValueChange=this._onValueChange.bind(this)}get value(){return this._controller.value}get disabled(){let{canSetQuality:e,qualities:n}=this._media.$state;return!e()||n().length===0}onSetup(){this._media=le(),Tn(ct)&&(this._menu=Ie(ct))}onConnect(e){b(this._watchValue.bind(this)),b(this._watchControllerDisabled.bind(this)),b(this._watchHintText.bind(this))}getOptions(){let{autoLabel:e,hideBitrate:n}=this.$props;return[{value:"auto",label:e},...this._sortedQualities().map(i=>{let r=i.bitrate>=0?`${At(i.bitrate/1e6,2)} Mbps`:null;return{quality:i,label:i.height+"p",value:this._getQualityId(i),bitrate:()=>n()?null:r}})]}_watchValue(){this._controller.value=this._getValue()}_watchHintText(){let{autoLabel:e}=this.$props,{autoQuality:n,quality:i}=this._media.$state,r=i()?i().height+"p":"";this._menu?._hint.set(n()?e()+(r?` (${r})`:""):r)}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_onValueChange(e,n){if(this.disabled)return;if(e==="auto"){this._media.remote.changeQuality(-1,n),this.dispatch("change",{detail:"auto",trigger:n});return}let{qualities:i}=this._media.$state,r=C(i).findIndex(s=>this._getQualityId(s)===e);if(r>=0){let s=C(i)[r];this._media.remote.changeQuality(r,n),this.dispatch("change",{detail:s,trigger:n})}}_getValue(){let{quality:e,autoQuality:n}=this._media.$state;if(n())return"auto";let i=e();return i?this._getQualityId(i):"auto"}_getQualityId(e){return e.height+"_"+e.bitrate}};Is.props={autoLabel:"Auto",hideBitrate:!1};Uw([ee],Is.prototype,"value",1);Uw([ee],Is.prototype,"disabled",1);Uw([Ae],Is.prototype,"getOptions",1);rf=class extends q{constructor(){super(...arguments),this._provider=null,this._presses=0,this._pressTimerId=-1}onSetup(){this._media=le();let{event:e,action:n}=this.$props;this.setAttributes({event:e,action:n})}onAttach(e){e.setAttribute("data-media-gesture",""),e.style.setProperty("pointer-events","none")}onConnect(e){this._provider=this._media.player.el?.querySelector("[data-media-provider]"),b(this._attachListener.bind(this))}_attachListener(){let e=this.$props.event(),n=this.$props.disabled();!this._provider||!e||n||(/^dbl/.test(e)&&(e=e.split(/^dbl/)[1]),(e==="pointerup"||e==="pointerdown")&&this._media.$state.pointer()==="coarse"&&(e=e==="pointerup"?"touchend":"touchstart"),S(this._provider,e,this._acceptEvent.bind(this),{passive:!1}))}_acceptEvent(e){if(this.$props.disabled()||Yl(e)&&(e.button!==0||this._media.activeMenu)||Na(e)&&this._media.activeMenu||Rw(e)||!this._inBounds(e))return;if(e.MEDIA_GESTURE=!0,e.preventDefault(),!C(this.$props.event)?.startsWith("dbl"))this._presses===0&&setTimeout(()=>{this._presses===1&&this._handleEvent(e)},250);else if(this._presses===1){queueMicrotask(()=>this._handleEvent(e)),clearTimeout(this._pressTimerId),this._presses=0;return}this._presses===0&&(this._pressTimerId=window.setTimeout(()=>{this._presses=0},275)),this._presses++}_handleEvent(e){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this._isTopLayer()&&this._performAction(C(this.$props.action),e),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}_inBounds(e){if(!this.el)return!1;if(Yl(e)||t_(e)||Na(e)){let n=Na(e)?e.changedTouches[0]??e.touches[0]:void 0,i=n?.clientX??e.clientX,r=n?.clientY??e.clientY,s=this.el.getBoundingClientRect(),a=r>=s.top&&r<=s.bottom&&i>=s.left&&i<=s.right;return e.type.includes("leave")?!a:a}return!0}_isTopLayer(){let e=this._media.player.el.querySelectorAll("[data-media-gesture][data-triggered]");return Array.from(e).sort((n,i)=>+getComputedStyle(i).zIndex-+getComputedStyle(n).zIndex)[0]===this.el}_performAction(e,n){if(!e)return;let i=new j("will-trigger",{detail:e,cancelable:!0,trigger:n});if(this.dispatchEvent(i),i.defaultPrevented)return;let[r,s]=e.replace(/:([a-z])/,"-$1").split(":");e.includes(":fullscreen")?this._media.remote.toggleFullscreen("prefer-media",n):e.includes("seek:")?this._media.remote.seek(C(this._media.$state.currentTime)+(+s||0),n):this._media.remote[Up(r)](n),this.dispatch("trigger",{detail:e,trigger:n})}};rf.props={disabled:!1,event:void 0,action:void 0};kw=class{constructor(e){this._renderer=e,this.priority=10,this._track=null,this._disposal=Zl()}attach(){}canRender(){return!0}detach(){this._disposal.empty(),this._renderer.reset(),this._track=null}changeTrack(e){!e||this._track===e||(this._disposal.empty(),e.readyState<2?(this._renderer.reset(),this._disposal.add(S(e,"load",()=>this._changeTrack(e),{once:!0}))):this._changeTrack(e),this._disposal.add(S(e,"add-cue",n=>{this._renderer.addCue(n.detail)}),S(e,"remove-cue",n=>{this._renderer.removeCue(n.detail)})),this._track=e)}_changeTrack(e){this._renderer.changeTrack({cues:[...e.cues],regions:[...e.regions]})}},sf=class extends q{onSetup(){this._media=le(),this.setAttributes({"aria-hidden":Gt(this._isHidden.bind(this))})}onAttach(e){e.style.setProperty("pointer-events","none")}onConnect(e){if(this._renderer){b(this._watchViewType.bind(this));return}Promise.resolve().then(()=>(oc(),ac)).then(n=>{this.connectScope&&et(()=>{this._lib=n;let{CaptionsRenderer:i}=this._lib;this._renderer=new i(e),this._textRenderer=new kw(this._renderer),b(this._watchViewType.bind(this))},this.connectScope)})}onDestroy(){this._textRenderer&&(this._textRenderer.detach(),this._media.textRenderers.remove(this._textRenderer)),this._renderer?.destroy()}_isHidden(){let{textTrack:e,remotePlaybackState:n}=this._media.$state,i=e();return this._media.$iosControls()||n()==="connected"||!i||!We(i)}_watchViewType(){let{viewType:e}=this._media.$state;return e()==="audio"?this._setupAudioView():this._setupVideoView()}_setupAudioView(){return b(this._onTrackChange.bind(this)),()=>{this.el.textContent=""}}_onTrackChange(){if(this._isHidden())return;let{textTrack:e}=this._media.$state;this._onCueChange(),S(e(),"cue-change",this._onCueChange.bind(this)),b(this._onUpdateTimedNodes.bind(this))}_onCueChange(){this.el.textContent="";let{realCurrentTime:e,textTrack:n}=this._media.$state,i=C(e),r=C(n).activeCues,{renderVTTCueString:s}=this._lib;for(let a of r){let o=document.createElement("div");o.setAttribute("data-part","cue"),o.innerHTML=s(a,i),this.el.append(o)}}_onUpdateTimedNodes(){let{realCurrentTime:e}=this._media.$state,{updateTimedVTTCueNodes:n}=this._lib;n(this.el,e())}_setupVideoView(){return b(this._watchTextDirection.bind(this)),b(this._watchMediaTime.bind(this)),this._media.textRenderers.add(this._textRenderer),()=>{this.el.textContent="",this._textRenderer.detach(),this._media.textRenderers.remove(this._textRenderer)}}_watchTextDirection(){this._renderer.dir=this.$props.textDir()}_watchMediaTime(){if(this._isHidden())return;let{realCurrentTime:e}=this._media.$state;this._renderer.currentTime=e()}};sf.props={textDir:"ltr"};Tc=class extends q{onSetup(){this._media=le(),this._watchSrc(),this._watchAlt(),this._watchCrossOrigin(),this._watchHidden()}onAttach(e){e.style.setProperty("pointer-events","none"),b(this._watchImg.bind(this)),b(this._watchSrc.bind(this)),b(this._watchAlt.bind(this)),b(this._watchCrossOrigin.bind(this)),b(this._watchHidden.bind(this));let{started:n}=this._media.$state;this.setAttributes({"data-visible":()=>!n()&&!this.$state.hidden(),"data-loading":this._isLoading.bind(this),"data-error":this._hasError.bind(this),"data-hidden":this.$state.hidden})}onConnect(e){b(this._onPreconnect.bind(this)),b(this._onLoadStart.bind(this))}_hasError(){let{error:e}=this.$state;return!gi(e())}_onPreconnect(){let{canLoadPoster:e,poster:n}=this._media.$state;!e()&&n()&&Jn(n(),"preconnect")}_watchHidden(){let{src:e}=this.$props,{$iosControls:n}=this._media,{poster:i}=this._media.$state;this.el&&Z(this.el,"display",n()?"none":null),this.$state.hidden.set(this._hasError()||!(e()||i())||n())}_isLoading(){let{loading:e,hidden:n}=this.$state;return!n()&&e()}_watchImg(){let e=this.$state.img();e&&(S(e,"load",this._onLoad.bind(this)),S(e,"error",this._onError.bind(this)))}_watchSrc(){let{canLoadPoster:e,poster:n}=this._media.$state,i=this.$props.src(),r=i||n();i&&n()!==i&&this._media.$state.providedPoster.set(i),this.$state.src.set(e()&&r.length?r:null)}_watchAlt(){let{src:e}=this.$props,{alt:n}=this.$state,{poster:i}=this._media.$state;n.set(e()||i()?this.$props.alt():null)}_watchCrossOrigin(){let{crossOrigin:e}=this.$props,{crossOrigin:n}=this.$state,{crossOrigin:i,poster:r}=this._media.$state,s=e()!==null?e():i();n.set(/ytimg\.com|vimeo/.test(r()||"")?null:s===!0?"anonymous":s)}_onLoadStart(){let{loading:e,error:n}=this.$state,{canLoadPoster:i,poster:r}=this._media.$state;e.set(i()&&!!r()),n.set(null)}_onLoad(){let{loading:e,error:n}=this.$state;e.set(!1),n.set(null)}_onError(e){let{loading:n,error:i}=this.$state;n.set(!1),i.set(e)}};Tc.props={src:null,alt:null,crossOrigin:null};Tc.state=new Xn({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});Sc=class extends q{constructor(){super(...arguments),this._invert=D(null)}onSetup(){this._media=le(),this._watchTime();let{type:e}=this.$props;this.setAttributes({"data-type":e,"data-remainder":this._shouldInvert.bind(this)})}onAttach(e){e.hasAttribute("role")||b(this._watchRole.bind(this)),b(this._watchTime.bind(this))}onConnect(e){b(()=>{if(!this.$props.toggle()){this._invert.set(null);return}Dr(e,this._onToggle.bind(this))})}_watchTime(){let{type:e,padHours:n,padMinutes:i,showHours:r}=this.$props,s=this._getSeconds(e()),a=this._media.$state.duration(),o=this._shouldInvert();if(!Number.isFinite(s+a)){this.$state.timeText.set("LIVE");return}let l=o?Math.max(0,a-s):s,c=Fr(l,n(),i(),r());this.$state.timeText.set((o?"-":"")+c)}_watchRole(){if(!this.el)return;let{toggle:e}=this.$props;Z(this.el,"role",e()?"timer":null),Z(this.el,"tabindex",e()?0:null)}_getSeconds(e){let{bufferedEnd:n,duration:i,currentTime:r}=this._media.$state;switch(e){case"buffered":return n();case"duration":return i();default:return r()}}_shouldInvert(){return this.$props.remainder()&&this._invert()!==!1}_onToggle(e){if(e.preventDefault(),this._invert()===null){this._invert.set(!this.$props.remainder());return}this._invert.set(n=>!n)}};Sc.props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1};Sc.state=new Xn({timeText:""});T3=vi(),S3={clickToPlay:!0,clickToFullscreen:!0,controls:["play-large","play","progress","current-time","mute+volume","captions","settings","pip","airplay","fullscreen"],customIcons:!1,displayDuration:!1,download:null,markers:null,invertTime:!0,thumbnails:null,toggleTime:!0,translations:null,seekTime:10,speed:[.5,.75,1,1.25,1.5,1.75,2,4]},Ew=class extends q{onSetup(){this._media=le(),Rt(T3,{...this.$props,previewTime:D(0)})}};Ew.props=S3;As=class extends DO{},af=class extends Ya{},Pc=class extends Fh{},Cc=class extends zh{},of=class extends _c{},$c=class extends Kh{},Mc=class extends Gh{},Rc=class extends Zh{},Lc=class extends Yh{},Ic=class extends Qh{},Ac=class extends Wh{},Nc=class extends qh{},Dc=class extends Bh{},Oc=class extends Xh{},Vc=class extends jh{},Fc=class extends Hh{},zc=class extends yc{},Uc=class extends Xi{},jc=class extends Za{},Hc=class extends kc{},qc=class extends ef{},Bc=class extends Xa{},Wc=class extends Ps{},Kc=class extends xc{},Gc=class extends Zi{},Yc=class extends Ji{},Qc=class extends Cs{},Xc=class extends Ec{},Zc=class extends tf{},Jc=class extends Ja{},eu=class extends eo{},tu=class extends sf{},nu=class extends rf{},lf=class extends Tc{},to=class extends Qa{},iu=class extends Sc{},i1=ke.forwardRef((t,e)=>{let{children:n,...i}=t,r=ke.Children.toArray(n),s=r.find(C3);if(s){let a=s.props.children,o=r.map(l=>l===s?ke.Children.count(a)>1?ke.Children.only(null):ke.isValidElement(a)?a.props.children:null:l);return ke.createElement(Tw,{...i,ref:e},ke.isValidElement(a)?ke.cloneElement(a,void 0,o):null)}return ke.createElement(Tw,{...i,ref:e},n)});i1.displayName="Slot";Tw=ke.forwardRef((t,e)=>{let{children:n,...i}=t;return ke.isValidElement(n)?ke.cloneElement(n,{...$3(i,n.props),ref:e?re(e,n.ref):n.ref}):ke.Children.count(n)>1?ke.Children.only(null):null});Tw.displayName="SlotClone";P3=({children:t})=>ke.createElement(ke.Fragment,null,t);M3=["button","div","span","img","video","audio"],U=M3.reduce((t,e)=>{let n=ke.forwardRef((i,r)=>{let{asChild:s,...a}=i;return ke.createElement(s?i1:e,{...a,ref:r})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});yP=As.state.record,R3=Object.keys(yP).reduce((t,e)=>({...t,[e](){return yP[e]}}),{})});var b1={};xt(b1,{default:()=>DV});var DV,x1=Ue(()=>{"use strict";"use client";DV=' '});var TC=dt((Y8,EC)=>{"use strict";var xF={aa:{name:"Afar",nativeName:"Afaraf"},ab:{name:"Abkhaz",nativeName:"\u0430\u04A7\u0441\u0443\u0430 \u0431\u044B\u0437\u0448\u04D9\u0430"},ae:{name:"Avestan",nativeName:"avesta"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},am:{name:"Amharic",nativeName:"\u12A0\u121B\u122D\u129B"},an:{name:"Aragonese",nativeName:"aragon\xE9s"},ar:{name:"Arabic",nativeName:"\u0627\u064E\u0644\u0652\u0639\u064E\u0631\u064E\u0628\u0650\u064A\u064E\u0651\u0629\u064F"},as:{name:"Assamese",nativeName:"\u0985\u09B8\u09AE\u09C0\u09AF\u09BC\u09BE"},av:{name:"Avaric",nativeName:"\u0430\u0432\u0430\u0440 \u043C\u0430\u0446\u04C0"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"az\u0259rbaycan dili"},ba:{name:"Bashkir",nativeName:"\u0431\u0430\u0448\u04A1\u043E\u0440\u0442 \u0442\u0435\u043B\u0435"},be:{name:"Belarusian",nativeName:"\u0431\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0430\u044F \u043C\u043E\u0432\u0430"},bg:{name:"Bulgarian",nativeName:"\u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438 \u0435\u0437\u0438\u043A"},bi:{name:"Bislama",nativeName:"Bislama"},bm:{name:"Bambara",nativeName:"bamanankan"},bn:{name:"Bengali",nativeName:"\u09AC\u09BE\u0982\u09B2\u09BE"},bo:{name:"Tibetan",nativeName:"\u0F56\u0F7C\u0F51\u0F0B\u0F61\u0F72\u0F42"},br:{name:"Breton",nativeName:"brezhoneg"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},ca:{name:"Catalan",nativeName:"Catal\xE0"},ce:{name:"Chechen",nativeName:"\u043D\u043E\u0445\u0447\u0438\u0439\u043D \u043C\u043E\u0442\u0442"},ch:{name:"Chamorro",nativeName:"Chamoru"},co:{name:"Corsican",nativeName:"corsu"},cr:{name:"Cree",nativeName:"\u14C0\u1426\u1403\u152D\u140D\u140F\u1423"},cs:{name:"Czech",nativeName:"\u010De\u0161tina"},cu:{name:"Old Church Slavonic",nativeName:"\u0469\u0437\u044B\u043A\u044A \u0441\u043B\u043E\u0432\u0463\u043D\u044C\u0441\u043A\u044A"},cv:{name:"Chuvash",nativeName:"\u0447\u04D1\u0432\u0430\u0448 \u0447\u04D7\u043B\u0445\u0438"},cy:{name:"Welsh",nativeName:"Cymraeg"},da:{name:"Danish",nativeName:"dansk"},de:{name:"German",nativeName:"Deutsch"},dv:{name:"Divehi",nativeName:"\u078B\u07A8\u0788\u07AC\u0780\u07A8"},dz:{name:"Dzongkha",nativeName:"\u0F62\u0FAB\u0F7C\u0F44\u0F0B\u0F41"},ee:{name:"Ewe",nativeName:"E\u028Begbe"},el:{name:"Greek",nativeName:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},es:{name:"Spanish",nativeName:"Espa\xF1ol"},et:{name:"Estonian",nativeName:"eesti"},eu:{name:"Basque",nativeName:"euskara"},fa:{name:"Persian",nativeName:"\u0641\u0627\u0631\u0633\u06CC"},ff:{name:"Fula",nativeName:"Fulfulde"},fi:{name:"Finnish",nativeName:"suomi"},fj:{name:"Fijian",nativeName:"vosa Vakaviti"},fo:{name:"Faroese",nativeName:"f\xF8royskt"},fr:{name:"French",nativeName:"Fran\xE7ais"},fy:{name:"Western Frisian",nativeName:"Frysk"},ga:{name:"Irish",nativeName:"Gaeilge"},gd:{name:"Scottish Gaelic",nativeName:"G\xE0idhlig"},gl:{name:"Galician",nativeName:"galego"},gn:{name:"Guaran\xED",nativeName:"Ava\xF1e'\u1EBD"},gu:{name:"Gujarati",nativeName:"\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0"},gv:{name:"Manx",nativeName:"Gaelg"},ha:{name:"Hausa",nativeName:"\u0647\u064E\u0648\u064F\u0633\u064E"},he:{name:"Hebrew",nativeName:"\u05E2\u05D1\u05E8\u05D9\u05EA"},hi:{name:"Hindi",nativeName:"\u0939\u093F\u0928\u094D\u0926\u0940"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hr:{name:"Croatian",nativeName:"Hrvatski"},ht:{name:"Haitian",nativeName:"Krey\xF2l ayisyen"},hu:{name:"Hungarian",nativeName:"magyar"},hy:{name:"Armenian",nativeName:"\u0540\u0561\u0575\u0565\u0580\u0565\u0576"},hz:{name:"Herero",nativeName:"Otjiherero"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Bahasa Indonesia"},ie:{name:"Interlingue",nativeName:"Interlingue"},ig:{name:"Igbo",nativeName:"As\u1EE5s\u1EE5 Igbo"},ii:{name:"Nuosu",nativeName:"\uA188\uA320\uA4BF Nuosuhxop"},ik:{name:"Inupiaq",nativeName:"I\xF1upiaq"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"\xCDslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"\u1403\u14C4\u1483\u144E\u1450\u1466"},ja:{name:"Japanese",nativeName:"\u65E5\u672C\u8A9E"},jv:{name:"Javanese",nativeName:"basa Jawa"},ka:{name:"Georgian",nativeName:"\u10E5\u10D0\u10E0\u10D7\u10E3\u10DA\u10D8"},kg:{name:"Kongo",nativeName:"Kikongo"},ki:{name:"Kikuyu",nativeName:"G\u0129k\u0169y\u0169"},kj:{name:"Kwanyama",nativeName:"Kuanyama"},kk:{name:"Kazakh",nativeName:"\u049B\u0430\u0437\u0430\u049B \u0442\u0456\u043B\u0456"},kl:{name:"Kalaallisut",nativeName:"kalaallisut"},km:{name:"Khmer",nativeName:"\u1781\u17C1\u1798\u179A\u1797\u17B6\u179F\u17B6"},kn:{name:"Kannada",nativeName:"\u0C95\u0CA8\u0CCD\u0CA8\u0CA1"},ko:{name:"Korean",nativeName:"\uD55C\uAD6D\uC5B4"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"\u0915\u0936\u094D\u092E\u0940\u0930\u0940"},ku:{name:"Kurdish",nativeName:"Kurd\xEE"},kv:{name:"Komi",nativeName:"\u043A\u043E\u043C\u0438 \u043A\u044B\u0432"},kw:{name:"Cornish",nativeName:"Kernewek"},ky:{name:"Kyrgyz",nativeName:"\u041A\u044B\u0440\u0433\u044B\u0437\u0447\u0430"},la:{name:"Latin",nativeName:"latine"},lb:{name:"Luxembourgish",nativeName:"L\xEBtzebuergesch"},lg:{name:"Ganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Ling\xE1la"},lo:{name:"Lao",nativeName:"\u0E9E\u0EB2\u0EAA\u0EB2\u0EA5\u0EB2\u0EA7"},lt:{name:"Lithuanian",nativeName:"lietuvi\u0173 kalba"},lu:{name:"Luba-Katanga",nativeName:"Kiluba"},lv:{name:"Latvian",nativeName:"latvie\u0161u valoda"},mg:{name:"Malagasy",nativeName:"fiteny malagasy"},mh:{name:"Marshallese",nativeName:"Kajin M\u0327aje\u013C"},mi:{name:"M\u0101ori",nativeName:"te reo M\u0101ori"},mk:{name:"Macedonian",nativeName:"\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438 \u0458\u0430\u0437\u0438\u043A"},ml:{name:"Malayalam",nativeName:"\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02"},mn:{name:"Mongolian",nativeName:"\u041C\u043E\u043D\u0433\u043E\u043B \u0445\u044D\u043B"},mr:{name:"Marathi",nativeName:"\u092E\u0930\u093E\u0920\u0940"},ms:{name:"Malay",nativeName:"Bahasa Melayu"},mt:{name:"Maltese",nativeName:"Malti"},my:{name:"Burmese",nativeName:"\u1017\u1019\u102C\u1005\u102C"},na:{name:"Nauru",nativeName:"Dorerin Naoero"},nb:{name:"Norwegian Bokm\xE5l",nativeName:"Norsk bokm\xE5l"},nd:{name:"Northern Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"\u0928\u0947\u092A\u093E\u0932\u0940"},ng:{name:"Ndonga",nativeName:"Owambo"},nl:{name:"Dutch",nativeName:"Nederlands"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},nr:{name:"Southern Ndebele",nativeName:"isiNdebele"},nv:{name:"Navajo",nativeName:"Din\xE9 bizaad"},ny:{name:"Chichewa",nativeName:"chiChe\u0175a"},oc:{name:"Occitan",nativeName:"occitan"},oj:{name:"Ojibwe",nativeName:"\u140A\u14C2\u1511\u14C8\u142F\u14A7\u140E\u14D0"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"\u0B13\u0B21\u0B3C\u0B3F\u0B06"},os:{name:"Ossetian",nativeName:"\u0438\u0440\u043E\u043D \xE6\u0432\u0437\u0430\u0433"},pa:{name:"Panjabi",nativeName:"\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40"},pi:{name:"P\u0101li",nativeName:"\u092A\u093E\u0934\u093F"},pl:{name:"Polish",nativeName:"Polski"},ps:{name:"Pashto",nativeName:"\u067E\u069A\u062A\u0648"},pt:{name:"Portuguese",nativeName:"Portugu\xEAs"},qu:{name:"Quechua",nativeName:"Runa Simi"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"Ikirundi"},ro:{name:"Romanian",nativeName:"Rom\xE2n\u0103"},ru:{name:"Russian",nativeName:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},sa:{name:"Sanskrit",nativeName:"\u0938\u0902\u0938\u094D\u0915\u0943\u0924\u092E\u094D"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"\u0938\u093F\u0928\u094D\u0927\u0940"},se:{name:"Northern Sami",nativeName:"Davvis\xE1megiella"},sg:{name:"Sango",nativeName:"y\xE2ng\xE2 t\xEE s\xE4ng\xF6"},si:{name:"Sinhala",nativeName:"\u0DC3\u0DD2\u0D82\u0DC4\u0DBD"},sk:{name:"Slovak",nativeName:"sloven\u010Dina"},sl:{name:"Slovenian",nativeName:"sloven\u0161\u010Dina"},sm:{name:"Samoan",nativeName:"gagana fa'a Samoa"},sn:{name:"Shona",nativeName:"chiShona"},so:{name:"Somali",nativeName:"Soomaaliga"},sq:{name:"Albanian",nativeName:"Shqip"},sr:{name:"Serbian",nativeName:"\u0441\u0440\u043F\u0441\u043A\u0438 \u0458\u0435\u0437\u0438\u043A"},ss:{name:"Swati",nativeName:"SiSwati"},st:{name:"Southern Sotho",nativeName:"Sesotho"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sv:{name:"Swedish",nativeName:"Svenska"},sw:{name:"Swahili",nativeName:"Kiswahili"},ta:{name:"Tamil",nativeName:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD"},te:{name:"Telugu",nativeName:"\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41"},tg:{name:"Tajik",nativeName:"\u0442\u043E\u04B7\u0438\u043A\u04E3"},th:{name:"Thai",nativeName:"\u0E44\u0E17\u0E22"},ti:{name:"Tigrinya",nativeName:"\u1275\u130D\u122D\u129B"},tk:{name:"Turkmen",nativeName:"T\xFCrkmen\xE7e"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"T\xFCrk\xE7e"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"\u0442\u0430\u0442\u0430\u0440 \u0442\u0435\u043B\u0435"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"\u0626\u06C7\u064A\u063A\u06C7\u0631\u0686\u06D5\u200E"},uk:{name:"Ukrainian",nativeName:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430"},ur:{name:"Urdu",nativeName:"\u0627\u0631\u062F\u0648"},uz:{name:"Uzbek",nativeName:"\u040E\u0437\u0431\u0435\u043A"},ve:{name:"Venda",nativeName:"Tshiven\u1E13a"},vi:{name:"Vietnamese",nativeName:"Ti\u1EBFng Vi\u1EC7t"},vo:{name:"Volap\xFCk",nativeName:"Volap\xFCk"},wa:{name:"Walloon",nativeName:"walon"},wo:{name:"Wolof",nativeName:"Wollof"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"\u05D9\u05D9\u05B4\u05D3\u05D9\u05E9"},yo:{name:"Yoruba",nativeName:"Yor\xF9b\xE1"},za:{name:"Zhuang",nativeName:"Sa\u026F cue\u014B\u0185"},zh:{name:"Chinese",nativeName:"\u4E2D\u6587"},zu:{name:"Zulu",nativeName:"isiZulu"}};EC.exports=xF});var sb=dt((Q8,MC)=>{"use strict";var gu=TC(),SC={},Df={},PC=[],CC=[],$C=[];for(let t in gu){let{name:e,nativeName:n}=gu[t];SC[t]=Df[e.toLowerCase()]=Df[n.toLowerCase()]={code:t,name:e,nativeName:n},PC.push(t),CC.push(e),$C.push(n)}MC.exports=class Nf{static getLanguages(e=[]){return e.map(n=>Nf.validate(n)?Object.assign({},SC[n]):{code:n,name:"",nativeName:""})}static getName(e){return Nf.validate(e)?gu[e].name:""}static getAllNames(){return CC.slice()}static getNativeName(e){return Nf.validate(e)?gu[e].nativeName:""}static getAllNativeNames(){return $C.slice()}static getCode(e){return e=e.toLowerCase(),Df.hasOwnProperty(e)?Df[e].code:""}static getAllCodes(){return PC.slice()}static validate(e){return gu.hasOwnProperty(e)}}});var E$=dt(Jf=>{"use strict";var x5=z(),k5=Symbol.for("react.element"),E5=Symbol.for("react.fragment"),T5=Object.prototype.hasOwnProperty,S5=x5.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,P5={key:!0,ref:!0,__self:!0,__source:!0};function k$(t,e,n){var i,r={},s=null,a=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(a=e.ref);for(i in e)T5.call(e,i)&&!P5.hasOwnProperty(i)&&(r[i]=e[i]);if(t&&t.defaultProps)for(i in e=t.defaultProps,e)r[i]===void 0&&(r[i]=e[i]);return{$$typeof:k5,type:t,key:s,ref:a,props:r,_owner:S5.current}}Jf.Fragment=E5;Jf.jsx=k$;Jf.jsxs=k$});var ae=dt((XH,T$)=>{"use strict";T$.exports=E$()});var Dm=dt(Nm=>{"use strict";Object.defineProperty(Nm,"__esModule",{value:!0});function _R(t,e){if(e)return t;throw new Error("Unhandled discriminated union member: "+JSON.stringify(t))}Nm.assertNever=_R;Nm.default=_R});var $6={};xt($6,{default:()=>sg});module.exports=ML($6);var Px=require("obsidian");function lg(t,e){let n={};for(let i of e)i in t&&(n[i]=t[i]);return n}function Zu(t,e){let n={...t};for(let i of e)delete n[i];return n}var cg={bilibili:"https://www.bilibili.com",youtube:"https://www.youtube.com",vimeo:"https://www.vimeo.com",coursera:"https://www.coursera.org"},Ju={bilibili:"bilibili",youtube:"YouTube",generic:"Website",vimeo:"Vimeo",coursera:"Coursera"},Sx=t=>Zu(t,["generic"]);var RL={bilibili:'',vimeo:'',coursera:'',youtube:null};Object.entries(RL).forEach(([t,e])=>{e&&(0,Px.addIcon)(t,e)});var ag=require("obsidian");function Bo(t){return zn(t).href}function zn(t){let e=new URL(t);return e.hash="",e}function Un(t){try{return new URL(t)}catch{return null}}var je=require("obsidian");function Qs(t,e){let n="target"in t?t.target:t;if(!n.instanceOf?.(HTMLElement))return;let i=n.getBoundingClientRect();return e.setParentElement(n).showAtPosition({x:i.x,y:i.bottom,width:i.width,overlap:!0,left:!0},n.doc)}var Cx="mx-port";var oi=t=>`persist:mx-player-${t}`;var $x=require("obsidian");function ug(t){return require("@electron/remote").session.fromPartition(oi(t))}function Mx(){return $x.Platform.isDesktopApp?require("fs/promises"):null}function Rx(t){return require("@electron/remote").webContents.fromId(t)}function ed(){return require("@electron/remote").dialog}var Xs=class extends je.Modal{constructor(n){super(n);_(this,"navEl",this.contentEl.insertAdjacentElement("beforebegin",createDiv({cls:"mx-login-nav"})));_(this,"webview",createEl("webview",{attr:{partition:this.partition,allowpopups:""}}));_(this,"backButton",new je.ButtonComponent(this.navEl).setIcon("arrow-left").setTooltip("Back").setClass("mx-login-back").setDisabled(!0).onClick(()=>{try{this.webview.goBack()}catch(n){new je.Notice("Failed to go back, see console for details"),console.error("err go back",n)}}));_(this,"forwardButton",new je.ButtonComponent(this.navEl).setIcon("arrow-right").setTooltip("Forward").setClass("mx-login-forward").setDisabled(!0).onClick(()=>{try{this.webview.goForward()}catch(n){new je.Notice("Failed to go forward, see console for details"),console.error("err go forward",n)}}));_(this,"refreshButton",new je.ButtonComponent(this.navEl).setIcon("rotate-ccw").setTooltip("Refresh").setClass("mx-login-refresh").setDisabled(!0).onClick(()=>{try{this.webview.reload()}catch(n){new je.Notice("Failed to refresh, see console for details"),console.error("err refresh",n)}}));_(this,"addressBarForm",this.navEl.createEl("form"));_(this,"addressBar",new je.TextComponent(this.addressBarForm).then(n=>{n.inputEl.type="url",n.inputEl.placeholder="https://example.com",n.inputEl.classList.add("mx-login-address")}));_(this,"addressSubmit",new je.ButtonComponent(this.addressBarForm).setIcon("arrow-right-circle").then(n=>n.buttonEl.type="submit"));_(this,"moreOptionsButton",new je.ButtonComponent(this.navEl).setIcon("more-horizontal").setTooltip("More options").setClass("mx-login-more").onClick(n=>{let i=new je.Menu;this.onMoreOptions(i),Qs(n,i)}));_(this,"callbacks",[]);_(this,"handledWebcontents",new Set);this.containerEl.addClasses(["mx-login-modal"]),this.titleEl.style.display="none",this.buildWelcome()}get partition(){return oi(this.app.appId)}buildWelcome(){this.contentEl.empty(),this.contentEl.createEl("h1").setText("Login");let n=this.contentEl.createEl("main");n.createEl("p").setText("You can login to sites, change preferences and more, just as you would in a browser."),n.createEl("p").setText("To open a website, you can:");let i=n.createEl("ul");i.createEl("li").setText("Enter the site address in the address bar");let r=i.createEl("li");r.setText("Select from a list of "),new je.DropdownComponent(r).addOptions({...Sx(Ju),".":"supported websites..."}).setValue(".").onChange(s=>{s in cg&&this.setUrl(cg[s])})}getSession(){return ug(this.app.appId)}onMoreOptions(n){n.addItem(i=>i.setTitle("Clear cache").setSection("clear").setIcon("trash").onClick(async()=>{if(window.confirm("Are you sure you want to clear the website cache? All login sessions and preferences will be lost."))try{await this.getSession().clearCache(),new je.Notice("Cache cleared")}catch(s){new je.Notice("Failed to clear cache, see console for details"),console.error("err clear cache",s)}}))}setUrl(n){this.initWebview(),this.webview.src=n,this.addressBar.setValue(n)}register(n){this.callbacks.push(n)}registerWebviewEvent(n,i){this.webview.addEventListener(n,i),this.register(()=>this.webview.removeEventListener(n,i))}onClose(){for(let n of this.callbacks)n();this.containerEl.empty()}initWebview(){this.webview.isConnected||(this.registerWebviewEvent("will-navigate",()=>{this.addressBar.setValue(this.webview.getURL())}),this.contentEl.empty(),this.contentEl.appendChild(this.webview),this.backButton.setDisabled(!1),this.forwardButton.setDisabled(!1),this.refreshButton.setDisabled(!1),this.registerWebviewEvent("dom-ready",()=>{if(this.handledWebcontents.has(this.webview.getWebContentsId()))return;let n=this.webview.getWebContentsId();this.handledWebcontents.add(n),Rx(n)?.setWindowOpenHandler(({url:r,disposition:s})=>((s==="new-window"||s==="foreground-tab"||s==="default")&&this.setUrl(r),{action:"deny"}))}))}onOpen(){this.addressBarForm.onsubmit=n=>{n.preventDefault();let i=this.addressBar.getValue();i&&this.setUrl(i)}}};function Lx(){this.addCommand({id:"login",name:"Login website",callback:()=>{new Xs(this.app).open()}})}var zM=require("obsidian");var Vu=require("obsidian");var td=require("obsidian"),Zs=class t extends td.Modal{constructor(n,i,r){super(n);this.onSubmit=i;this.onExit=r;this.containerEl.addClass("mx-playback-prompt"),this.onSubmit=i}static run(){return new Promise(n=>{new t(app,r=>n(Number(r)),()=>n(null)).open()})}onOpen(){let{contentEl:n,titleEl:i}=this;i.setText("Playback Speed");let r=n.createEl("form",{},s=>{s.createEl("input",{type:"number",placeholder:"Enter a number between 0 and 10",attr:{min:.1,max:10,step:.1,width:100,required:!0,name:"playback-speed"}}),s.createEl("button",{attr:{type:"submit"},text:"Submit"})});r.oninvalid=s=>{s.preventDefault(),new td.Notice("Invalid playback rate")},r.onsubmit=s=>{s.preventDefault();let a=new FormData(r);this.onSubmit(a.get("playback-speed").toString()),this.close()}}onClose(){let{contentEl:n}=this;n.empty(),this.onExit()}};var li=[.25,.5,.75,1,1.25,1.5,2,3,5,10];function Ix(t,e){let n=e.state.playbackRate,i=!li.includes(n),r=t.setTitle(LL(n)).setIcon("gauge").setSection("mx-player").setSubmenu();li.forEach(s=>r.addItem(a=>a.setTitle(`${s}x`).setChecked(s===n).onClick(()=>{e.playbackRate=s}))),r.addItem(s=>s.setTitle(IL(n)).setChecked(i).onClick(async()=>{let a=await Zs.run();a&&(e.playbackRate=a)}))}function LL(t){let e=new DocumentFragment;return e.appendText("Speed "),e.createEl("code",{text:`(${t}x)`}),e}function IL(t){let e=new DocumentFragment;return e.appendText("Custom"),li.includes(t)?e.appendText("..."):(e.appendText(" "),e.createEl("code",{text:`(${t}x)`})),e}var OM=require("obsidian");function nd(){return/[<>:"/\\|?*\u0000-\u001F]/g}function Ax(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}var AL=100,NL=/^\.+(\\|\/)|^\.+$/,DL=/\.+$/;function Wo(t,e={}){let n=/[\u0000-\u001F\u0080-\u009F]/g,i=/([<>:"/\\|?*\u0000-\u001F]){2,}/g;if(typeof t!="string")throw new TypeError("Expected a string");let r=e.replacement===void 0?"!":e.replacement;if(nd().test(r)&&n.test(r))throw new Error("Replacement string cannot contain reserved filename characters");r.length>0&&(t=t.replace(i,"$1")),t=t.normalize("NFD"),t=t.replace(NL,r),t=t.replace(nd(),r),t=t.replace(n,r),t=t.replace(DL,""),r.length>0&&(!(t[0]===".")&&t[0]==="."&&(t=r+t),t[t.length-1]==="."&&(t+=r)),t=Ax().test(t)?t+r:t;let s=typeof e.maxLength=="number"?e.maxLength:AL;if(t.length>s){let a=t.lastIndexOf(".");if(a===-1)t=t.slice(0,s);else{let o=t.slice(0,a),l=t.slice(a);t=o.slice(0,Math.max(1,s-l.length))+l}}return t}var To=require("obsidian");var Nx=require("obsidian");var kt={video:["mp4","webm","ogv","mov","mkv"],audio:["mp3","wav","m4a","3gp","flac","ogg","oga","opus"]};function Xt(t){t=t.replace(/^\./,"").toLowerCase();for(let e of Object.keys(kt))if(kt[e].includes(t))return e;return null}var uz=[...kt.video,...kt.audio];function Mi(t){return t.file instanceof Nx.TFile}var pt={video:"mx-url-video",audio:"mx-url-audio"},OL=new Set(Object.values(pt));function VL(t){return OL.has(t)}var Ri="mx-embed",Zt="mx-webpage",jn={video:"mx-file-video",audio:"mx-file-audio"},FL=new Set(Object.values(jn));function zL(t){return FL.has(t)}function UL(t){return VL(t)||Ri===t||Zt===t}function dg(t){return zL(t)||UL(t)}var ym=require("obsidian"),$M=$(zl());var ni=$(z());var gT={},mT=t=>{let e,n=new Set,i=(u,d)=>{let p=typeof u=="function"?u(e):u;if(!Object.is(p,e)){let h=e;e=d??(typeof p!="object"||p===null)?p:Object.assign({},e,p),n.forEach(y=>y(e,h))}},r=()=>e,l={setState:i,getState:r,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(gT.env?gT.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},c=e=t(i,r,l);return l},Tp=t=>t?mT(t):mT;var PT=$(z(),1),CT=$(ET(),1),ST={},{useDebugValue:bN}=PT.default,{useSyncExternalStoreWithSelector:xN}=CT.default,TT=!1,kN=t=>t;function Ly(t,e=kN,n){(ST.env?ST.env.MODE:void 0)!=="production"&&n&&!TT&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),TT=!0);let i=xN(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return bN(i),i}var Ul={main:/^(?[\w:.]*)(?:,(?[\w:.]+))?$/,npt_sec:/^\d+(?:\.\d+)?$/,npt_mmss:/^(?[0-5]\d):(?[0-5]\d(?:\.\d+)?)$/,npt_hhmmss:/^(?\d+):(?[0-5]\d):(?[0-5]\d(?:\.\d+)?)$/,npt_time:/^(?:npt:)?([\d.:]+)$/},kn=({start:t,end:e})=>t>=0&&e<0;function $r(t){if(!t)return null;let n=new URLSearchParams(t.replace(/^#+/,"")).get("t");if(!n)return null;let i=n.match(Ul.main);if(!i)return null;let{start:r,end:s}=i.groups;return EN(r,s)}var EN=(t,e)=>{let n=t||null,i=e??null,r,s;if(n&&i)r=Pp(n),s=i==="e"?1/0:Pp(i);else if(n)r=Pp(n),s=-1;else if(i)r=-1,s=Pp(i);else throw console.error("Missing startTime and endTime",t,e),new Error("Missing startTime and endTime");return r===null||s===null?null:{start:r,end:s}};function Pp(t){let e=t.match(Ul.npt_time);if(!e)return null;let n=e[1],i=n.match(Ul.npt_sec);if(i)return Number(i[0]);let r=n.match(Ul.npt_mmss);if(r){let{mm:a,ss:o}=r.groups;return Number(a)*60+Number(o)}let s=n.match(Ul.npt_hhmmss);if(s){let{hh:a,mm:o,ss:l}=s.groups;return Number(a)*60*60+Number(o)*60+Number(l)}return null}function Cp(t){let e=new URLSearchParams(t.replace(/^#+/,"")),n=!e.has("noctrl")&&!e.has("controls")?void 0:e.has("controls");return{loop:e.has("loop")?!0:void 0,muted:e.has("mute")?!0:void 0,autoplay:e.has("play")?!0:void 0,controls:n,volume:TN(e.get("vol")),tempFragment:$r(t)}}function TN(t){if(!t)return;let e=parseInt(t,10);if(!isNaN(e)&&e>=0&&e<=100)return e/100}var $T=()=>({emit(t,...e){for(let n=0,i=this.events[t]||[],r=i.length;n{this.events[t]=this.events[t]?.filter(i=>e!==i)}}});function $p(){let t=$T();return t.once=function(n,i){let r=this.on(n,(...s)=>{r(),i(...s)});return r},t}function MT(t){let e=t;return typeof e.id=="string"&&typeof e.invoke=="string"}function RT(t,...e){return{id:SN(),invoke:t,args:e}}function LT(t){return typeof t.id=="string"}function IT(t){return typeof t.send=="string"}function AT(t,e){return{send:t,payload:e}}function SN(){return Math.random().toString(36).substring(2,9)}var Mp=class extends Error{constructor(e){super(`no handler for ${e}`)}},Iy="mx-port-ready";var Rp=class{constructor(){_(this,"port",null);_(this,"actions",Object.create(null));_(this,"emitter",$p());_(this,"methods",new Proxy({},{get:(e,n)=>{if(typeof n=="symbol")throw new Error("Remote invoke does not support symbol property");return e[n]??(e[n]=(...i)=>this.invoke(n.toString(),i))}}))}load(e){this.port&&this.port.close(),this.port=e;let n=({data:i})=>{this.onMessage(i)};e.addEventListener("message",n),e.start(),e.postMessage(Iy)}unload(){this.port?.close(),this.emitter.events={}}onMessage(e){e===Iy?this.emitter.emit("ready"):MT(e)?this.response(e):LT(e)?this.emitter.emit("resp",e.id,e.payload,e.error):IT(e)&&this.emitter.emit(`send:${e.send}`,{type:e.send,payload:e.payload})}invoke(e,n,{transfer:i,timeout:r=1e3}={}){if(!this.port)throw new Error("port not loaded");let s=RT(e,...n);return this.port.postMessage(s,{transfer:i}),new Promise((a,o)=>{let l=-1,c=this.emitter.on("resp",(u,d,p)=>{if(u===s.id)if(c(),window.clearTimeout(l),p){let{message:h,stack:y}=p,v=new Error(h);v.stack=y,o(v)}else a(d)});r>0&&r<1/0&&(l=window.setTimeout(()=>{c(),console.error(`${e} timeout after ${r}ms`),o(new ji(r))},r))})}handle(e,n){this.actions[e]=n}send(e,n,i){if(!this.port)throw new Error("port not loaded");let r=AT(e,n);this.port.postMessage(r,{transfer:i})}on(e,n){return this.emitter.on(`send:${e}`,n)}once(e,n){return this.emitter.once(`send:${e}`,n)}onReady(e,{once:n=!1}={}){return n?this.emitter.once("ready",e):this.emitter.on("ready",e)}async response({id:e,invoke:n,args:i=[]}){if(!this.port)throw new Error("port not loaded");let r={id:e,payload:null};try{let s=this.actions[n];if(!s)throw new Mp(n);let a=await s(...i);a===void 0?this.port.postMessage(r):(r.payload=await a.value,this.port.postMessage(r,{transfer:a.transfer}))}catch(s){console.error("port messaging error",s),s instanceof Error?r.error={message:s.message,stack:s.stack}:r.error={message:String(s)},this.port.postMessage(r)}}},ji=class extends Error{constructor(e){super(`timeout after ${e}ms`)}};var PN=()=>{},jl=PN;Lt();Lt();Wt();Wt();var V=$(z(),1);var E=$(z(),1);Lt();Wt();var a1=$(Fl(),1);function xi(){return qp(ru)}var L3=X(Nc,{domEventsRegex:/^onMedia/}),o1=E.forwardRef(({children:t,...e},n)=>E.createElement(L3,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));o1.displayName="AirPlayButton";var I3=X(Ac,{domEventsRegex:/^onMedia/}),ff=E.forwardRef(({children:t,...e},n)=>E.createElement(I3,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));ff.displayName="PlayButton";var A3=X($c,{domEventsRegex:/^onMedia/}),jw=E.forwardRef(({children:t,...e},n)=>E.createElement(A3,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));jw.displayName="CaptionButton";var N3=X(Mc,{domEventsRegex:/^onMedia/}),mf=E.forwardRef(({children:t,...e},n)=>E.createElement(N3,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));mf.displayName="FullscreenButton";var D3=X(Lc,{domEventsRegex:/^onMedia/}),gf=E.forwardRef(({children:t,...e},n)=>E.createElement(D3,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));gf.displayName="MuteButton";var O3=X(Ic,{domEventsRegex:/^onMedia/}),Hw=E.forwardRef(({children:t,...e},n)=>E.createElement(O3,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));Hw.displayName="PIPButton";var V3=X(Oc,{domEventsRegex:/^onMedia/}),lu=E.forwardRef(({children:t,...e},n)=>E.createElement(V3,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));lu.displayName="SeekButton";var F3=X(Rc,{domEventsRegex:/^onMedia/}),l1=E.forwardRef(({children:t,...e},n)=>E.createElement(F3,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));l1.displayName="LiveButton";var qw=X(Bc),z3=X(Uc,{events:["onDragStart","onDragEnd","onDragValueChange","onValueChange","onPointerValueChange"]}),U3=E.forwardRef(({children:t,...e},n)=>E.createElement(z3,{...e,ref:n},i=>E.createElement(U.div,{...i},t)));U3.displayName="Slider";var j3=E.forwardRef((t,e)=>E.createElement(U.div,{...t,ref:e}));j3.displayName="SliderThumb";var H3=E.forwardRef((t,e)=>E.createElement(U.div,{...t,ref:e}));H3.displayName="SliderTrack";var q3=E.forwardRef((t,e)=>E.createElement(U.div,{...t,ref:e}));q3.displayName="SliderTrackFill";var B3=X(Kc),W3=E.forwardRef(({children:t,...e},n)=>E.createElement(B3,{...e},i=>E.createElement(U.div,{...i,ref:re(i.ref,n)},t)));W3.displayName="SliderPreview";var K3=E.forwardRef(({children:t,...e},n)=>E.createElement(qw,{...e},(i,r)=>{let s=pe(()=>r.getValueText(),r);return E.createElement(U.div,{...i,ref:n},s,t)}));K3.displayName="SliderValue";var G3=X(Hc,{domEventsRegex:/^onMedia/}),Y3=E.forwardRef(({children:t,...e},n)=>E.createElement(G3,{...e,ref:n},i=>E.createElement(U.div,{...i},t)));Y3.displayName="VolumeSlider";var Q3=E.forwardRef(({children:t,...e},n)=>E.createElement(qw,{...e},(i,r)=>{let s=pe(()=>r.getValueText(),r);return E.createElement(U.div,{...i,ref:re(i.ref,n)},s,t)}));Q3.displayName="SliderValue";function X3(t=0,e=0,n=""){return N?{startTime:t,endTime:e,text:n,addEventListener:qt,removeEventListener:qt,dispatchEvent:qt}:new window.VTTCue(t,e,n)}var Z3=X(to),c1=E.forwardRef(({children:t,...e},n)=>E.createElement(Z3,{...e},i=>E.createElement(U.div,{...i,ref:re(i.ref,n)},t)));c1.displayName="Thumbnail";var u1=E.forwardRef(({children:t,...e},n)=>{let{src:i,img:r,crossOrigin:s}=Mr(to.state),a=pe(i),o=pe(s);return E.createElement(U.img,{crossOrigin:o,...e,src:a,ref:re(r.set,n)},t)});u1.displayName="ThumbnailImg";var vf=Object.freeze({__proto__:null,Img:u1,Root:c1}),yf=E.createContext({$chapters:D(null)});yf.displayName="TimeSliderContext";var J3=X(jc,{domEventsRegex:/^onMedia/}),eV=E.forwardRef(({children:t,...e},n)=>{let i=E.useMemo(()=>D(null),[]);return E.createElement(yf.Provider,{value:{$chapters:i}},E.createElement(J3,{...e,ref:n},r=>E.createElement(U.div,{...r},t)))});eV.displayName="TimeSlider";var tV=X(Gc),nV=E.forwardRef(({children:t,...e},n)=>E.createElement(tV,{...e},(i,r)=>E.createElement(U.div,{...i,ref:re(i.ref,n)},E.createElement(d1,{instance:r},t))));nV.displayName="SliderChapters";function d1({instance:t,children:e}){let n=pe(()=>t.cues,t),i=E.useRef([]),r=E.useRef(),{$chapters:s}=E.useContext(yf);return r.current||(r.current=X3()),E.useEffect(()=>(s.set(t),()=>void s.set(null)),[t]),E.useEffect(()=>{t.setRefs(i.current)},[n]),e(n.length?n:[r.current],a=>{if(!a){i.current.length=0;return}i.current.push(a)})}d1.displayName="SliderChapterTracks";var iV=E.forwardRef(({children:t,...e},n)=>{let{$chapters:i}=E.useContext(yf),[r,s]=E.useState();return E.useEffect(()=>b(()=>{let a=i(),o=a?.activePointerCue||a?.activeCue;s(o?.text||"")}),[]),E.createElement(U.div,{...e,ref:n},r,t)});iV.displayName="SliderChapterTitle";var rV=E.forwardRef(({children:t,...e},n)=>E.createElement(qw,{...e},(i,r)=>{let s=pe(()=>r.getValueText(),r);return E.createElement(U.div,{...i,ref:re(i.ref,n)},s,t)}));rV.displayName="SliderValue";var sV=E.forwardRef((t,e)=>E.createElement(U.div,{...t,ref:e}));sV.displayName="SliderProgress";var aV=X(qc),oV=E.forwardRef(({children:t,...e},n)=>E.createElement(aV,{...e},i=>E.createElement(U.div,{...i,ref:re(i.ref,n)},t)));oV.displayName="SliderThumbnail";var lV=X(Wc,{events:["onCanPlay","onError"]}),cV=E.forwardRef(({children:t,...e},n)=>E.createElement(lV,{...e},(i,r)=>E.createElement(p1,{...i,instance:r,ref:re(i.ref,n)},t)));cV.displayName="SliderVideo";var p1=E.forwardRef(({instance:t,children:e,...n},i)=>{let{canLoad:r}=Mr(Ns),{src:s,video:a,crossOrigin:o}=t.$state,l=pe(s),c=pe(r),u=pe(o);return E.createElement(U.video,{style:{maxWidth:"unset"},...n,src:l||void 0,muted:!0,playsInline:!0,preload:c?"auto":"none",crossOrigin:u||void 0,ref:re(a.set,i)},e)});p1.displayName="SliderVideoProvider";var uV=X(Jc,{events:["onChange"]}),dV=E.forwardRef(({children:t,...e},n)=>E.createElement(uV,{...e,ref:n},i=>E.createElement(U.div,{...i},t)));dV.displayName="RadioGroup";var pV=X(eu,{events:["onChange","onSelect"]}),hV=E.forwardRef(({children:t,...e},n)=>E.createElement(pV,{...e},i=>E.createElement(U.div,{...i,ref:re(i.ref,n)},t)));hV.displayName="RadioItem";var fV=typeof document>"u",mV=X(Yc,{events:["onOpen","onClose"],domEventsRegex:/^onMedia/}),gV=E.forwardRef(({children:t,...e},n)=>E.createElement(mV,{...e,ref:n},(i,r)=>E.createElement(U.div,{...i,style:{display:r.isSubmenu?void 0:"contents",...i.style}},t)));gV.displayName="Menu";var vV=X(Qc,{events:["onSelect"]}),yV=E.forwardRef(({children:t,...e},n)=>E.createElement(vV,{...e},i=>E.createElement(U.button,{...i,ref:re(i.ref,n)},t)));yV.displayName="MenuButton";var _V=E.forwardRef(({disabled:t=!1,children:e,...n},i)=>{let r=ye("fullscreen");return fV||!(t==="fullscreen"?!r:!t)?e:(0,a1.createPortal)(E.createElement(U.div,{...n,style:{display:"contents",...n.style},ref:i},e),document.body)});_V.displayName="MenuPortal";var wV=X(Xc),bV=E.forwardRef(({children:t,...e},n)=>E.createElement(wV,{...e},i=>E.createElement(U.div,{...i,ref:re(i.ref,n)},t)));bV.displayName="MenuItems";var xV=X(Zc),kV=E.forwardRef(({children:t,...e},n)=>E.createElement(xV,{...e},i=>E.createElement(U.div,{...i,ref:re(i.ref,n)},t)));kV.displayName="MenuItem";var EV=X(nu,{events:["onWillTrigger","onTrigger"]}),$n=E.forwardRef(({children:t,...e},n)=>E.createElement(EV,{...e,ref:n},i=>E.createElement(U.div,{...i},t)));$n.displayName="Gesture";var TV=X(iu),cu=E.forwardRef(({children:t,...e},n)=>E.createElement(TV,{...e},(i,r)=>E.createElement(h1,{...i,instance:r,ref:re(i.ref,n)},t)));cu.displayName="Time";var h1=E.forwardRef(({instance:t,children:e,...n},i)=>{let{timeText:r}=t.$state,s=pe(r);return E.createElement(U.div,{...n,ref:i},s,e)});h1.displayName="TimeText";function ki(){return xi()?.player||null}function Bw({off:t=!0}={}){let e=xi(),{textTracks:n,textTrack:i}=e.$state,r=pe(n);return pe(i),E.useMemo(()=>{let s=r.filter(We),a=s.map(o=>({track:o,label:o.label,value:s1(o),get selected(){return i()===o},select(l){let c=n().indexOf(o);c>=0&&e.remote.changeTextTrackMode(c,"showing",l)}}));return t&&a.unshift({track:null,label:F(t)?t:"Off",value:"off",get selected(){return!i()},select(o){e.remote.toggleCaptions(o)}}),Object.defineProperty(a,"disabled",{get(){return!s.length}}),Object.defineProperty(a,"selectedTrack",{get(){return i()}}),Object.defineProperty(a,"selectedValue",{get(){let o=i();return o?s1(o):"off"}}),a},[r])}function s1(t){return t.id+":"+t.kind+"-"+t.label.toLowerCase()}var _f=$(z(),1),Ww=_f.forwardRef((t,e)=>{let{width:n,height:i,size:r=null,paths:s,...a}=t;return _f.createElement("svg",{viewBox:"0 0 32 32",...a,width:n??r,height:i??r,fill:"none","aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",ref:e,dangerouslySetInnerHTML:{__html:s}})});Ww.displayName="VidstackIcon";var te=$(z(),1);Lt();Wt();var SV=X(Pc),f1=te.forwardRef(({children:t,...e},n)=>te.createElement(SV,{...e},i=>te.createElement(U.div,{...i,ref:re(i.ref,n)},t)));f1.displayName="Controls";var PV=X(Cc),m1=te.forwardRef(({children:t,...e},n)=>te.createElement(PV,{...e},i=>te.createElement(U.div,{...i,ref:re(i.ref,n)},t)));m1.displayName="ControlsGroup";var tr=Object.freeze({__proto__:null,Group:m1,Root:f1}),CV=X(Vc);function $V({children:t,...e}){return te.createElement(CV,{...e},t)}$V.displayName="Tooltip";var MV=X(Fc),RV=te.forwardRef(({children:t,...e},n)=>te.createElement(MV,{...e},i=>te.createElement(U.button,{...i,ref:re(i.ref,n)},t)));RV.displayName="TooltipTrigger";var LV=X(zc),IV=te.forwardRef(({children:t,...e},n)=>te.createElement(LV,{...e},i=>te.createElement(U.div,{...i,ref:re(i.ref,n)},t)));IV.displayName="TooltipContent";var AV=X(Dc,{domEventsRegex:/^onMedia/}),g1=te.forwardRef(({children:t,...e},n)=>te.createElement(AV,{...e},i=>te.createElement(U.button,{...i,ref:re(i.ref,n)},t)));g1.displayName="GoogleCastButton";var v1=te.forwardRef(({children:t,...e},n)=>{let i=ye("title");return te.createElement(U.span,{...e,ref:n},i,t)});v1.displayName="Title";function y1(t){let[e,n]=te.useState([]);return te.useEffect(()=>{if(!t){n([]);return}function i(){n(t.activeCues)}return i(),S(t,"cue-change",i)},[t]),e}function _1(t){let e=xi(),[n,i]=te.useState(null);return te.useEffect(()=>no(e.textTracks,t,i),[t]),n}function wf(){let t=_1("chapters");return y1(t)[0]?.text||""}var w1=te.forwardRef(({children:t,...e},n)=>{let i=wf();return te.createElement(U.span,{...e,ref:n},i,t)});w1.displayName="ChapterTitle";var NV=X(tu),bf=te.forwardRef(({children:t,...e},n)=>te.createElement(NV,{...e,ref:n},i=>te.createElement(U.div,{...i},t)));bf.displayName="Captions";var WU=te.forwardRef(({size:t=96,children:e,...n},i)=>te.createElement("svg",{width:t,height:t,fill:"none",viewBox:"0 0 120 120","aria-hidden":"true","data-part":"root",...n,ref:i},e)),KU=te.forwardRef(({width:t=8,children:e,...n},i)=>te.createElement("circle",{cx:"60",cy:"60",r:"54",stroke:"currentColor",strokeWidth:t,"data-part":"track",...n,ref:i},e)),GU=te.forwardRef(({width:t=8,fillPercent:e=50,children:n,...i},r)=>te.createElement("circle",{cx:"60",cy:"60",r:"54",stroke:"currentColor",pathLength:"100",strokeWidth:t,strokeDasharray:100,strokeDashoffset:100-e,"data-part":"track-fill",...i,ref:r},n));var xf=$(z(),1);Wt();function kf(t){let e=xi(),n=xf.useRef();return n.current||(n.current=new Ka),xf.useEffect(()=>{let i=t&&"current"in t?t.current:t,r=i instanceof As,s=r?i:e?.player;n.current.setPlayer(s??null),n.current.setTarget(i??null)},[e,t&&"current"in t?t.current:t]),n.current}var Pj=$(Fl(),1);var OV=["onAbort","onAudioTrackChange","onAudioTracksChange","onAutoPlay","onAutoPlayChange","onAutoPlayFail","onCanLoad","onCanPlay","onCanPlayThrough","onControlsChange","onDestroy","onDurationChange","onEmptied","onEnd","onEnded","onError","onFindMediaPlayer","onFullscreenChange","onFullscreenError","onLiveChange","onLiveEdgeChange","onLoadedData","onLoadedMetadata","onLoadStart","onLoopChange","onOrientationChange","onPause","onPictureInPictureChange","onPictureInPictureError","onPlay","onPlayFail","onPlaying","onPlaysInlineChange","onPosterChange","onProgress","onProviderChange","onProviderLoaderChange","onProviderSetup","onQualitiesChange","onQualityChange","onRateChange","onReplay","onSeeked","onSeeking","onSourceChange","onSourceChange","onStalled","onStarted","onStreamTypeChange","onSuspend","onTextTrackChange","onTextTracksChange","onTimeUpdate","onTitleChange","onVdsLog","onVideoPresentationChange","onVolumeChange","onWaiting"],VV=X(As,{events:OV,eventsRegex:/^onHls/,domEventsRegex:/^onMedia/}),Kw=V.forwardRef(({aspectRatio:t,children:e,...n},i)=>V.createElement(VV,{...n,src:n.src,ref:i,style:{aspectRatio:t,...n.style}},r=>V.createElement(U.div,{...r},e)));Kw.displayName="MediaPlayer";var FV=X(af),Gw=V.forwardRef(({loaders:t=[],children:e,mediaProps:n,buildMediaEl:i,...r},s)=>{let a=V.useMemo(()=>t.map(o=>new o),t);return V.createElement(FV,{...r,loaders:a,ref:s},(o,l)=>V.createElement("div",{...o},V.createElement(k1,{...n,provider:l,buildMediaEl:i}),e))});Gw.displayName="MediaProvider";function k1({provider:t,buildMediaEl:e,...n}){let{controls:i,crossOrigin:r,poster:s,remotePlaybackInfo:a}=Mr(Ns),{loader:o}=t.$state,{$iosControls:l,$provider:c,$providerSetup:u}=xi(),d=pe(i),p=pe(l),h=d||p,y=pe(r),v=pe(s),w=pe(o),m=pe(c),f=pe(u),g=pe(a),x=w?.mediaType(),T=w?.name==="youtube",L=w?.name==="vimeo",R=T||L,I=w?.name==="remotion",K=w?.name==="google-cast",[H,_e]=V.useState("");return V.useEffect(()=>{!K||H||Promise.resolve().then(()=>(x1(),b1)).then(J=>{_e(J.default)})},[K]),K?V.createElement("div",{className:"vds-google-cast",ref:J=>{t.load(J)}},V.createElement(Ww,{paths:H}),g?.deviceName?V.createElement("span",{className:"vds-google-cast-info"},"Google Cast on"," ",V.createElement("span",{className:"vds-google-cast-device-name"},g.deviceName)):null):I?V.createElement("div",{"data-remotion-canvas":!0},V.createElement("div",{"data-remotion-container":!0,ref:J=>{t.load(J)}},r1(m)&&f?V.createElement(m.render):null)):e?.(w,t)??(R?V.createElement(V.Fragment,null,V.createElement("iframe",{className:T?"vds-youtube":"vds-vimeo",suppressHydrationWarning:!0,tabIndex:h?void 0:-1,"aria-hidden":"true","data-no-controls":h?void 0:"",ref(J){t.load(J)}}),h?null:V.createElement("div",{className:"vds-blocker"})):x?V.createElement(x==="audio"?"audio":"video",{...n,controls:h?"true":null,crossOrigin:typeof y=="boolean"?"":y,poster:x==="video"&&h&&v?v:null,preload:"none","aria-hidden":"true",suppressHydrationWarning:!0,ref(J){t.load(J)}}):null)}k1.displayName="MediaOutlet";function zV(t){let e=xi(),n=V.useMemo(()=>new ln(t),Object.values(t));return V.useEffect(()=>(e.textTracks.add(n),()=>void e.textTracks.remove(n)),[n]),n}function Yw({lang:t,...e}){return zV({language:t,...e}),null}Yw.displayName="Track";var UV=X(of),jV=V.forwardRef(({children:t,...e},n)=>V.createElement(UV,{...e},i=>V.createElement(U.button,{...i,ref:re(i.ref,n)},t)));jV.displayName="ToggleButton";var HV=X(lf),qV=V.forwardRef(({children:t,...e},n)=>V.createElement(HV,{...e},(i,r)=>V.createElement(E1,{...i,instance:r,ref:re(i.ref,n)},t)));qV.displayName="Poster";var E1=V.forwardRef(({instance:t,children:e,...n},i)=>{let{src:r,img:s,alt:a,crossOrigin:o}=t.$state,l=pe(r),c=pe(a),u=pe(o);return V.createElement(U.img,{...n,src:l||"",alt:c||void 0,crossOrigin:u||void 0,ref:re(s.set,i)},e)});E1.displayName="PosterImg";var BV=V.forwardRef(({children:t,...e},n)=>V.createElement(U.div,{translate:"yes","aria-live":"off","aria-atomic":"true",...e,ref:n},t));BV.displayName="Caption";var WV=V.forwardRef((t,e)=>{let n=ye("textTrack"),[i,r]=V.useState();return V.useEffect(()=>{if(!n)return;function s(){r(n?.activeCues[0])}return n.addEventListener("cue-change",s),()=>{n.removeEventListener("cue-change",s),r(void 0)}},[n]),V.createElement(U.span,{...t,"data-part":"cue",dangerouslySetInnerHTML:{__html:i?.text||""},ref:e})});WV.displayName="CaptionText";function T1(){let[t,e]=V.useState(null),n=xi();return V.useEffect(()=>{if(n)return b(()=>{e(n.$provider())})},[]),t}function S1({clamp:t=!1,offset:e=0,orientation:n="horizontal"}={}){let[i,r]=V.useState(null),[s,a]=V.useState(null),[o,l]=V.useState(0),[c,u]=V.useState(!1);return V.useEffect(()=>{if(!i)return;let d=D(!1);function p(h){i&&l(KV(i,h,n))}return b(()=>{if(!d()){S(i,"pointerenter",()=>{u(!0),s?.setAttribute("data-visible","")}),S(i,"pointerdown",h=>{d.set(!0),p(h)}),S(i,"pointerleave",()=>{u(!1),s?.removeAttribute("data-visible")}),S(i,"pointermove",h=>{p(h)});return}s?.setAttribute("data-dragging",""),S(document,"pointerup",h=>{d.set(!1),s?.removeAttribute("data-dragging"),p(h)}),S(document,"pointermove",h=>{p(h)}),S(document,"touchmove",h=>h.preventDefault(),{passive:!1})})},[i]),V.useEffect(()=>{s&&s.style.setProperty("--slider-pointer",o+"%")},[s,o]),V.useEffect(()=>{if(!s)return;let d=()=>{Dw(s,{offset:e,clamp:t,orientation:n})};d();let p=new ResizeObserver(d);return p.observe(s),()=>p.disconnect()},[s,t,e,n]),{previewRootRef:r,previewRef:a,previewValue:o,isPreviewVisible:c}}function KV(t,e,n){let i,r=t.getBoundingClientRect();if(n==="vertical"){let{bottom:s,height:a}=r;i=(s-e.clientY)/a}else{let{left:s,width:a}=r;i=(e.clientX-s)/a}return GV(Math.max(0,Math.min(100,100*i)))}function GV(t){return Number(t.toFixed(3))}var P1='"use strict";var X=()=>({emit(e,...t){for(let n=0,r=this.events[e]||[],i=r.length;n{this.events[e]=this.events[e]?.filter(n=>t!==n)}}});function Z(){let e=X();return e.once=function(n,r){let i=this.on(n,(...s)=>{i(),r(...s)});return i},e}function ee(e){let t=e;return typeof t.id=="string"&&typeof t.invoke=="string"}function te(e,...t){return{id:Ce(),invoke:e,args:t}}function ne(e){return typeof e.id=="string"}function re(e){return typeof e.send=="string"}function ie(e,t){return{send:e,payload:t}}function Ce(){return Math.random().toString(36).substring(2,9)}var k=class extends Error{constructor(t){super(`no handler for ${t}`)}},N="mx-port-ready";var R=class{port=null;load(t){this.port&&this.port.close(),this.port=t;let n=({data:r})=>{this.onMessage(r)};t.addEventListener("message",n),t.start(),t.postMessage(N)}unload(){this.port?.close(),this.emitter.events={}}actions=Object.create(null);emitter=Z();onMessage(t){t===N?this.emitter.emit("ready"):ee(t)?this.response(t):ne(t)?this.emitter.emit("resp",t.id,t.payload,t.error):re(t)&&this.emitter.emit(`send:${t.send}`,{type:t.send,payload:t.payload})}methods=new Proxy({},{get:(t,n)=>{if(typeof n=="symbol")throw new Error("Remote invoke does not support symbol property");return t[n]??=(...r)=>this.invoke(n.toString(),r)}});invoke(t,n,{transfer:r,timeout:i=1e3}={}){if(!this.port)throw new Error("port not loaded");let s=te(t,...n);return this.port.postMessage(s,{transfer:r}),new Promise((o,a)=>{let l=-1,u=this.emitter.on("resp",(c,p,y)=>{if(c===s.id)if(u(),window.clearTimeout(l),y){let{message:K,stack:z}=y,S=new Error(K);S.stack=z,a(S)}else o(p)});i>0&&i<1/0&&(l=window.setTimeout(()=>{u(),a(new M(i))},i))})}handle(t,n){this.actions[t]=n}send(t,n,r){if(!this.port)throw new Error("port not loaded");let i=ie(t,n);this.port.postMessage(i,{transfer:r})}on(t,n){return this.emitter.on(`send:${t}`,n)}once(t,n){return this.emitter.once(`send:${t}`,n)}onReady(t,{once:n=!1}={}){return n?this.emitter.once("ready",t):this.emitter.on("ready",t)}async response({id:t,invoke:n,args:r=[]}){if(!this.port)throw new Error("port not loaded");let i={id:t,payload:null};try{let s=this.actions[n];if(!s)throw new k(n);let o=await s(...r);o===void 0?this.port.postMessage(i):(i.payload=await o.value,this.port.postMessage(i,{transfer:o.transfer}))}catch(s){s instanceof Error?i.error={message:s.message,stack:s.stack}:i.error={message:String(s)},this.port.postMessage(i)}}},M=class extends Error{constructor(t){super(`timeout after ${t}ms`)}};var se="mx-port";async function q(){let e=await new Promise((n,r)=>{function i({data:o,ports:a}){o===se&&(n(a[0]),window.removeEventListener("message",i),window.clearTimeout(s))}window.addEventListener("message",i);let s=setTimeout(()=>{r("failed to get port: timeout "+5e3),window.removeEventListener("message",i)},5e3)}),t=new R;return t.load(e),t}var A=class{#e=[];#t=!1;async load(){if(!this.#t){this.#t=!0,await this.onload();for(let t of this.#n)await t.load()}}async onload(){}async unload(){if(!this.#t)return;this.#t=!1;let t;for(;t=this.#e.pop();)await t();let n;for(;n=this.#n.pop();)await n.unload();await this.onunload()}async onunload(){}register(t){this.#e.push(t)}registerInterval(t,n){let r=setInterval(t,n);this.register(()=>clearInterval(r))}registerDomEvent(t,n,r,i){t.addEventListener(n,r,i),this.register(()=>t.removeEventListener(n,r,i))}#n=[];async addChild(t){return this.#n.push(t),this.#t&&await t.load(),t}async removeChild(t){let n=this.#n.indexOf(t);return n!==-1&&(this.#n.splice(n,1),t.unload()),t}};function d(e){let t=[];for(let n=0;nn.send("enterpictureinpicture",void 0)),e.registerDomEvent(t,"leavepictureinpicture",()=>n.send("leavepictureinpicture",void 0)));function r(){n.send("abort",void 0)}function i(){n.send("emptied",void 0)}function s(){t.error&&n.send("error",{code:t.error.code,message:t.error.message})}function o(){n.send("volumechange",{muted:t.muted,volume:t.volume})}function a(){n.send("durationchange",{played:d(t.played),duration:t.duration})}function l(){n.send("progress",{buffered:d(t.buffered),seekable:d(t.seekable)})}function u(){n.send("stalled",{readyState:t.readyState})}function c(){n.send("suspend",void 0)}function p(){n.send("ratechange",{rate:t.playbackRate})}function y(){n.send("seeked",{current:t.currentTime,played:d(t.played),duration:t.duration,ended:t.ended})}function K(){n.send("seeking",{current:t.currentTime})}function z(){n.send("ended",{controls:t.controls,current:t.currentTime,played:d(t.played),duration:t.duration,ended:t.ended})}function S(){n.send("waiting",{readyState:t.readyState})}}var U=class{value;next;constructor(t){this.value=t}},T=class{#e;#t;#n;constructor(){this.clear()}enqueue(t){let n=new U(t);this.#e?(this.#t.next=n,this.#t=n):(this.#e=n,this.#t=n),this.#n++}dequeue(){let t=this.#e;if(t)return this.#e=this.#e.next,this.#n--,t.value}clear(){this.#e=void 0,this.#t=void 0,this.#n=0}get size(){return this.#n}*[Symbol.iterator](){let t=this.#e;for(;t;)yield t.value,t=t.next}};var le={bind(e,t,n){return e.bind(n)}};function F(e){if(!((Number.isInteger(e)||e===Number.POSITIVE_INFINITY)&&e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=new T,n=0,r=()=>{n--,t.size>0&&t.dequeue()()},i=async(a,l,u)=>{n++;let c=(async()=>a(...u))();l(c);try{await c}catch{}r()},s=(a,l,u)=>{t.enqueue(le.bind(i.bind(void 0,a,l,u))),(async()=>(await Promise.resolve(),n0&&t.dequeue()()))()},o=(a,...l)=>new Promise(u=>{s(a,u,l)});return Object.defineProperties(o,{activeCount:{get:()=>n},pendingCount:{get:()=>t.size},clearQueue:{value(){t.clear()}}}),o}async function ue(e,t,n){let r=document.createElement("canvas"),{videoWidth:i,videoHeight:s}=e;Object.assign(r,{width:i,height:s});let o=r.getContext("2d",{alpha:!1});if(!o)throw new Error("Canvas context creation failed");o.drawImage(e,0,0,i,s);let a=await new Promise((u,c)=>{try{r.toBlob(p=>{p?u(p):c(new Error("Canvas to blob failed"))},t,n)}catch(p){c(p)}}),l=await a.arrayBuffer();return{time:e.currentTime,blob:{arrayBuffer:l,type:a.type}}}var de=["currentTime","playbackRate","volume","muted"],ce=["paused","played","networkState","duration","buffered","seekable","readyState","ended","autoplay","error"],me=["play","pause"],fe="mx-mounted";function x(e){return e[0].toUpperCase()+e.slice(1)}function V(e){return e instanceof TimeRanges?d(e):e}function pe(){let e=this.media,t=this.controller,n=this.stateRef;ce.forEach(i=>{t.handle(`get${x(i)}`,()=>({value:V(e[i])}))}),t.handle("pictureInPictureEnabled",()=>({value:document.pictureInPictureElement===e})),t.handle("requestPictureInPicture",()=>{e instanceof HTMLVideoElement&&e.requestPictureInPicture()}),t.handle("exitPictureInPicture",()=>{document.exitPictureInPicture()}),de.forEach(i=>{t.handle(`get${x(i)}`,()=>({value:V(e[i])})),i==="currentTime"?t.handle(`set${x(i)}`,s=>{n.prevSeek={value:e.currentTime,time:Date.now()},e[i]=s}):t.handle(`set${x(i)}`,s=>{e[i]=s})}),me.forEach(i=>{t.handle(i,async(...s)=>({value:await e[i](...s)}))}),t.handle("screenshot",async(i,s)=>{if(!(e instanceof HTMLVideoElement))throw new Error("Cannot take screenshot of non-video element");let o=await ue(e,i,s);return{value:o,transfer:[o.blob.arrayBuffer]}});let r=F(4);return t.handle("fetch",async(i,{gzip:s=!1,...o}={})=>{let a=await r(()=>window.fetch(i,o)),l=await a.blob(),u={type:l.type,respHeaders:Object.fromEntries(a.headers)};if(!s){let y=await l.arrayBuffer();return{value:{ab:y,gzip:!1,...u},transfer:[y]}}let c=l.stream(),p=await De(c.pipeThrough(new CompressionStream("gzip")));return{value:{ab:p,gzip:!0,...u},transfer:[p]}}),n}async function De(e){let t=e.getReader(),n=[];for(;;){let{done:s,value:o}=await t.read();if(s)break;n.push(o)}let r=n.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(r);for(let s=0,o=0;s=0&&o(),t.readyState>=1&&a(),t.readyState>=2&&l(),t.readyState>=3&&u(),t.readyState>=4&&c(),e.registerDomEvent(t,"play",s),e.registerDomEvent(t,"pause",r),e.registerDomEvent(t,"playing",i),t.readyState>=3&&!t.paused?(s(),i()):r();function r(){n.send("pause",{readyState:t.readyState})}function i(){n.send("playing",void 0)}function s(){n.send("play",void 0)}function o(){n.send("loadstart",{networkState:t.networkState})}function a(){n.send("loadedmetadata",void 0)}function l(){n.send("loadeddata",void 0)}function u(){n.send("canplay",{buffered:d(t.buffered),seekable:d(t.seekable),duration:t.duration})}function c(){n.send("canplaythrough",{buffered:d(t.buffered),seekable:d(t.seekable),duration:t.duration})}}var g=Symbol(0),C=!1,he=!1,$=null,E=null,f=null,m=0,b=[],j={};var w=0,we=1,P=2,B=3;function Ie(){C=!0,queueMicrotask(Oe)}function Oe(){if(!b.length){C=!1;return}he=!0;for(let e=0;e=0;n--)J(t[n])}function G(e=!0){if(this.$st===B)return;let t=e?this.$ps||this[g]:this,n=this.$ns,r=null;for(;n&&n[g]===this;)G.call(n,!0),ye(n),r=n.$ns,n.$ns=null,n=r;e&&ye(this),n&&(n.$ps=e?this.$ps:this),t&&(t.$ns=n)}function ye(e){e.$st=B,e.$d&&Me(e),e.$s&&L(e,0),e.$ps&&(e.$ps.$ns=null),e[g]=null,e.$s=null,e.$o=null,e.$ps=null,e.$cx=j,e.$eh=null}function Me(e){try{if(Array.isArray(e.$d))for(let t=e.$d.length-1;t>=0;t--){let n=e.$d[t];n.call(n)}else e.$d.call(e.$d);e.$d=null}catch(t){Te(e,t)}}function _e(e,t,n){let r=$,i=E;$=e,E=n;try{return t.call(e)}finally{$=r,E=i}}function Te(e,t){if(!e||!e.$eh)throw t;let n=0,r=e.$eh.length,i=ve(t);for(n=0;n0){e.$s.length=m+f.length;for(let s=0;s=t)&&(e.$e&&e.$st===w&&(b.push(e),C||Ie()),e.$st=t,e.$o))for(let n=0;n"u"}function Q(e){return typeof e=="number"&&!Number.isNaN(e)}var Ee,Ve=Event,Se=Symbol("DOM_EVENT"),W=class extends Ve{constructor(t,...n){super(t,n[0]),this[Ee]=!0,this.triggers=new D,this.detail=n[0]?.detail;let r=n[0]?.trigger;r&&this.triggers.add(r)}static{Ee=Se}get trigger(){return this.triggers.source}get originEvent(){return this.triggers.origin}get isOriginTrusted(){return this.triggers.origin?.isTrusted??!1}},D=class{constructor(){this.chain=[]}get source(){return this.chain[0]}get origin(){return this.chain[this.chain.length-1]}add(t){this.chain.push(t),ke(t)&&this.chain.push(...t.triggers)}remove(t){return this.chain.splice(this.chain.indexOf(t),1)[0]}has(t){return this.chain.some(n=>n===t)}hasType(t){return!!this.findType(t)}findType(t){return this.chain.find(n=>n.type===t)}walk(t){for(let n of this.chain){let r=t(n);if(r)return[n,r]}}[Symbol.iterator](){return this.chain.values()}};function ke(e){return!!e?.[Se]}var dn=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:e=>window.setTimeout(e,1):Pe;var O=class{constructor(t){this._callback=t}_id;_start(){I(this._id)&&this._loop()}_stop(){Q(this._id)&&window.cancelAnimationFrame(this._id),this._id=void 0}_loop(){this._id=window.requestAnimationFrame(()=>{I(this._id)||(this._callback(),this._loop())})}};function Re(e){let t=e.media,n=e.controller,r=new O(a);e.register(()=>r._stop());let i,s=t.currentTime;function o(){i!==t.paused&&(i=t.paused,t.paused?t.addEventListener("timeupdate",a):t.removeEventListener("timeupdate",a))}o(),t.addEventListener("ended",()=>{r._stop(),o()}),t.addEventListener("pause",()=>{r._stop(),o()}),t.addEventListener("playing",()=>{r._start(),o()});function a(){s!==t.currentTime&&(s=t.currentTime,n.send("timeupdate",{current:s,played:d(t.played)}))}}function H(e,t=document.body,n=1e4){return new Promise((r,i)=>{let s=t.querySelector(e);if(s){r(s);return}let o=new MutationObserver(()=>{let l=t.querySelector(e);l&&(o.disconnect(),r(l),window.clearTimeout(a))}),a=window.setTimeout(()=>{o.disconnect(),i(new Error(`timeout waiting for ${e}`))},n);o.observe(t,{childList:!0,subtree:!0})})}var We=[".dplayer",".video-js",".jwplayer","[data-player]"],h=class extends A{constructor(n){super();this.controller=n;this.register(()=>n.unload())}getStyle(){return Ge}#e=null;stateRef={prevSeek:null};findMedia(){return H("video, audio")}async load(){let n=this.getStyle();n&&this.injectStyle(n),await super.load();let r=this.media.controls===!0;r&&(this.media.controls=!1),this.register(this.controller.on("mx-toggle-controls",({payload:i})=>{document.body.classList.toggle("mx-show-controls",i)})),r&&this.register(this.controller.on("mx-toggle-controls",({payload:i})=>{this.media.controls=i})),this.register(this.controller.on("mx-toggle-webfs",({payload:i})=>{document.body.classList.toggle("mx-fs-enable",i)})),document.body.classList.add("mx-play-ready"),this.controller.send("mx-play-ready",void 0)}get media(){if(!this.#e)throw new Error("Get media before load");return this.#e}async onload(){this.#e=await this.findMedia(),await Promise.all([this.enterWebFullscreen(),this.hookMediaEl()])}enterWebFullscreen(){document.body.classList.add("mx-fs-enable");let n=this.media.closest(We.join(", "))??this.media;n.classList.add("mx-player"),this.assignParentClass(n),window.dispatchEvent(new Event("resize"))}assignParentClass(n){for(let r of je(n))r.classList.add("mx-parent"),getComputedStyle(r).position=="fixed"&&r.classList.add("mx-absolute")}injectStyle(n){let r=document.createElement("style");r.textContent=n,document.head.appendChild(r),this.register(()=>r.remove())}async untilMediaReady(n="canplay",r=5e3){if(this.media.readyState>=Be[n])return;let i=-1;await new Promise((s,o)=>{this.registerDomEvent(this.media,n,s,{once:!0}),i=window.setTimeout(()=>{o(new M(r))},r)}),window.clearTimeout(i)}async hookMediaEl(){ge(this),Re(this),ae(this),pe.call(this),this.controller.send(fe,void 0)}};function*je(e,t=!1){for(t&&(yield e);e.parentElement&&e.parentElement!==document.body;)e=e.parentElement,yield e}var Be={loadedmetadata:HTMLMediaElement.HAVE_METADATA,loadeddata:HTMLMediaElement.HAVE_CURRENT_DATA,canplay:HTMLMediaElement.HAVE_FUTURE_DATA,canplaythrough:HTMLMediaElement.HAVE_ENOUGH_DATA},Ge=`\nbody.mx-fs-enable .mx-player {\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n width: 100vw !important;\n height: 100vh !important;\n max-width: none !important;\n max-height: none !important;\n min-width: 0 !important;\n min-height: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n z-index: 2147483647 !important; /* Ensure it\'s on top of other elements */\n background-color: #000 !important;\n transform: none !important;\n}\nbody.mx-fs-enable .mx-parent {\n overflow: visible !important;\n z-index: auto !important;\n transform: none !important;\n -webkit-transform-style: flat !important;\n transition: none !important;\n contain: none !important;\n}\nbody.mx-fs-enable .mx-absolute {\n position: absolute !important;\n}\nbody.mx-fs-enable {\n overflow: hidden !important;\n zoom: 100% !important;\n}\nbody.mx-fs-enable .mx-parent video {\n object-fit: contain !important;\n}\n`.trim();var Ye={waitForSelector:H,MediaPlugin:h},Ae=(e=>function(n){if(n in e)return e[n];throw new Error(`Module not found: ${n.toString()}`)})({"media-extended":Ye});async function Le(e,t){if(!e)return new h(t);let n=window.eval(`(function anonymous(require,module,exports){${e}\n})`),r={},i={exports:r};n(Ae,i,r),r=i.exports||r;let s=r.default||i.exports;if(!s)throw new Error("Failed to load plugin. No exports detected.");let o=new s(t);if(!(o instanceof h))throw new Error("Failed to load plugin. plugin not extends MediaPlugin");return o}var _;q().then(e=>{e.handle("loadPlugin",async t=>{_&&_.unload(),_=await Le(t,e),_.load()})});\n';var nr=Symbol(0),Tf=!1,C1=!1,Ds=null,so=null,Mn=null,hn=0,ro=[],Xw={},QV=()=>{},ao=0,I1=1,uu=2,Pf=3;function XV(){Tf=!0,queueMicrotask(ZV)}function ZV(){if(!ro.length){Tf=!1;return}C1=!0;for(let t=0;t=0;n--)eb(e[n])}function A1(t){if(!t||!Ds)return t||QV;let e=Ds;return e.$d?Array.isArray(e.$d)?e.$d.push(t):e.$d=[e.$d,t]:e.$d=t,function(){e.$st!==Pf&&(t.call(null),V1(e.$d)?e.$d=null:Array.isArray(e.$d)&&e.$d.splice(e.$d.indexOf(t),1))}}function Zw(t=!0){if(this.$st===Pf)return;let e=t?this.$ps||this[nr]:this,n=this.$ns,i=null;for(;n&&n[nr]===this;)Zw.call(n,!0),$1(n),i=n.$ns,n.$ns=null,n=i;t&&$1(this),n&&(n.$ps=t?this.$ps:this),e&&(e.$ns=n)}function $1(t){t.$st=Pf,t.$d&&N1(t),t.$s&&Ef(t,0),t.$ps&&(t.$ps.$ns=null),t[nr]=null,t.$s=null,t.$o=null,t.$ps=null,t.$cx=Xw,t.$eh=null}function N1(t){try{if(Array.isArray(t.$d))for(let e=t.$d.length-1;e>=0;e--){let n=t.$d[e];n.call(n)}else t.$d.call(t.$d);t.$d=null}catch(e){D1(t,e)}}function eF(t,e,n){let i=Ds,r=so;Ds=t,so=n;try{return e.call(t)}finally{Ds=i,so=r}}function D1(t,e){if(!t||!t.$eh)throw e;let n=0,i=t.$eh.length,r=M1(e);for(n=0;n0){t.$s.length=hn+Mn.length;for(let s=0;s=e)&&(t.$e&&t.$st===ao&&(ro.push(t),Tf||XV()),t.$st=e,t.$o))for(let n=0;nn===e)}hasType(e){return!!this.findType(e)}findType(e){return this.chain.find(n=>n.type===e)}walk(e){for(let n of this.chain){let i=e(n);if(i)return[n,i]}}[Symbol.iterator](){return this.chain.values()}};function j1(t){return!!t?.[U1]}function oF(){let t=new Set;return{add(...e){for(let n of e)t.add(n)},empty(){for(let e of t)e();t.clear()}}}function H1(){let t=oF();return A1(t.empty),t}var v7=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:t=>window.setTimeout(t,1):z1;var zr=require("obsidian");var q1=`"use strict";var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var y=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},b=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of p(e))!m.call(r,n)&&n!==t&&s(r,n,{get:()=>e[n],enumerable:!(i=d(e,n))||i.enumerable});return r};var f=r=>b(s({},"__esModule",{value:!0}),r);var k={};y(k,{default:()=>o});module.exports=f(k);var c=()=>require("media-extended");var{waitForSelector:l,MediaPlugin:h}=c(),w=\` +`+s.stack}return{value:t,source:e,stack:r,digest:null}}function Xg(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function Iv(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var KA=typeof WeakMap=="function"?WeakMap:Map;function GT(t,e,n){n=Oi(-1,n),n.tag=3,n.payload={element:null};var i=e.value;return n.callback=function(){up||(up=!0,Hv=i),Iv(t,e)},n}function YT(t,e,n){n=Oi(-1,n),n.tag=3;var i=t.type.getDerivedStateFromError;if(typeof i=="function"){var r=e.value;n.payload=function(){return i(r)},n.callback=function(){Iv(t,e)}}var s=t.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Iv(t,e),typeof i!="function"&&(Tr===null?Tr=new Set([this]):Tr.add(this));var a=e.stack;this.componentDidCatch(e.value,{componentStack:a!==null?a:""})}),n}function rk(t,e,n){var i=t.pingCache;if(i===null){i=t.pingCache=new KA;var r=new Set;i.set(e,r)}else r=i.get(e),r===void 0&&(r=new Set,i.set(e,r));r.has(n)||(r.add(n),t=oN.bind(null,t,e,n),e.then(t,t))}function sk(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function ak(t,e,n,i,r){return t.mode&1?(t.flags|=65536,t.lanes=r,t):(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=Oi(-1,1),e.tag=2,kr(n,e,1))),n.lanes|=1),t)}var GA=ji.ReactCurrentOwner,Ut=!1;function Pt(t,e,n,i){e.child=t===null?PT(e,null,n,i):Ta(e,t.child,n,i)}function ok(t,e,n,i,r){n=n.render;var s=e.ref;return _a(e,r),i=by(t,e,n,i,s,r),n=xy(),t!==null&&!Ut?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~r,Ui(t,e,r)):(Pe&&n&&cy(e),e.flags|=1,Pt(t,e,i,r),e.child)}function lk(t,e,n,i,r){if(t===null){var s=n.type;return typeof s=="function"&&!Ly(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=s,QT(t,e,s,i,r)):(t=Hd(n.type,null,i,e,e.mode,r),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,!(t.lanes&r)){var a=s.memoizedProps;if(n=n.compare,n=n!==null?n:Pl,n(a,i)&&t.ref===e.ref)return Ui(t,e,r)}return e.flags|=1,t=Sr(s,i),t.ref=e.ref,t.return=e,e.child=t}function QT(t,e,n,i,r){if(t!==null){var s=t.memoizedProps;if(Pl(s,i)&&t.ref===e.ref)if(Ut=!1,e.pendingProps=i=s,(t.lanes&r)!==0)t.flags&131072&&(Ut=!0);else return e.lanes=t.lanes,Ui(t,e,r)}return Av(t,e,n,i,r)}function XT(t,e,n){var i=e.pendingProps,r=i.children,s=t!==null?t.memoizedState:null;if(i.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},ve(fa,tn),tn|=n;else{if(!(n&1073741824))return t=s!==null?s.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,ve(fa,tn),tn|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:n,ve(fa,tn),tn|=i}else s!==null?(i=s.baseLanes|n,e.memoizedState=null):i=n,ve(fa,tn),tn|=i;return Pt(t,e,r,n),e.child}function ZT(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function Av(t,e,n,i,r){var s=Ht(n)?fs:vt.current;return s=xa(e,s),_a(e,r),n=by(t,e,n,i,s,r),i=xy(),t!==null&&!Ut?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~r,Ui(t,e,r)):(Pe&&i&&cy(e),e.flags|=1,Pt(t,e,n,r),e.child)}function ck(t,e,n,i,r){if(Ht(n)){var s=!0;ep(e)}else s=!1;if(_a(e,r),e.stateNode===null)zd(t,e),ET(e,n,i),Lv(e,n,i,r),i=!0;else if(t===null){var a=e.stateNode,o=e.memoizedProps;a.props=o;var l=a.context,c=n.contextType;typeof c=="object"&&c!==null?c=En(c):(c=Ht(n)?fs:vt.current,c=xa(e,c));var u=n.getDerivedStateFromProps,d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function";d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(o!==i||l!==c)&&ek(e,a,i,c),fr=!1;var p=e.memoizedState;a.state=p,sp(e,i,a,r),l=e.memoizedState,o!==i||p!==l||jt.current||fr?(typeof u=="function"&&(Rv(e,n,u,i),l=e.memoizedState),(o=fr||J0(e,n,o,i,p,l,c))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(e.flags|=4194308)):(typeof a.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=l),a.props=i,a.state=l,a.context=c,i=o):(typeof a.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{a=e.stateNode,kT(t,e),o=e.memoizedProps,c=e.type===e.elementType?o:Gn(e.type,o),a.props=c,d=e.pendingProps,p=a.context,l=n.contextType,typeof l=="object"&&l!==null?l=En(l):(l=Ht(n)?fs:vt.current,l=xa(e,l));var h=n.getDerivedStateFromProps;(u=typeof h=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(o!==d||p!==l)&&ek(e,a,i,l),fr=!1,p=e.memoizedState,a.state=p,sp(e,i,a,r);var y=e.memoizedState;o!==d||p!==y||jt.current||fr?(typeof h=="function"&&(Rv(e,n,h,i),y=e.memoizedState),(c=fr||J0(e,n,c,i,p,y,l)||!1)?(u||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(i,y,l),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(i,y,l)),typeof a.componentDidUpdate=="function"&&(e.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof a.componentDidUpdate!="function"||o===t.memoizedProps&&p===t.memoizedState||(e.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||o===t.memoizedProps&&p===t.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=y),a.props=i,a.state=y,a.context=l,i=c):(typeof a.componentDidUpdate!="function"||o===t.memoizedProps&&p===t.memoizedState||(e.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||o===t.memoizedProps&&p===t.memoizedState||(e.flags|=1024),i=!1)}return Nv(t,e,n,i,s,r)}function Nv(t,e,n,i,r,s){ZT(t,e);var a=(e.flags&128)!==0;if(!i&&!a)return r&&G0(e,n,!1),Ui(t,e,s);i=e.stateNode,GA.current=e;var o=a&&typeof n.getDerivedStateFromError!="function"?null:i.render();return e.flags|=1,t!==null&&a?(e.child=Ta(e,t.child,null,s),e.child=Ta(e,null,o,s)):Pt(t,e,o,s),e.memoizedState=i.state,r&&G0(e,n,!0),e.child}function JT(t){var e=t.stateNode;e.pendingContext?K0(t,e.pendingContext,e.pendingContext!==e.context):e.context&&K0(t,e.context,!1),vy(t,e.containerInfo)}function uk(t,e,n,i,r){return ka(),dy(r),e.flags|=256,Pt(t,e,n,i),e.child}var Dv={dehydrated:null,treeContext:null,retryLane:0};function Ov(t){return{baseLanes:t,cachePool:null,transitions:null}}function eE(t,e,n){var i=e.pendingProps,r=$e.current,s=!1,a=(e.flags&128)!==0,o;if((o=a)||(o=t!==null&&t.memoizedState===null?!1:(r&2)!==0),o?(s=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(r|=1),ve($e,r&1),t===null)return $v(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(e.mode&1?t.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(a=i.children,t=i.fallback,s?(i=e.mode,s=e.child,a={mode:"hidden",children:a},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=a):s=Tp(a,i,0,null),t=hs(t,i,n,null),s.return=e,t.return=e,s.sibling=t,e.child=s,e.child.memoizedState=Ov(n),e.memoizedState=Dv,t):Ey(e,a));if(r=t.memoizedState,r!==null&&(o=r.dehydrated,o!==null))return YA(t,e,a,i,o,r,n);if(s){s=i.fallback,a=e.mode,r=t.child,o=r.sibling;var l={mode:"hidden",children:i.children};return!(a&1)&&e.child!==r?(i=e.child,i.childLanes=0,i.pendingProps=l,e.deletions=null):(i=Sr(r,l),i.subtreeFlags=r.subtreeFlags&14680064),o!==null?s=Sr(o,s):(s=hs(s,a,n,null),s.flags|=2),s.return=e,i.return=e,i.sibling=s,e.child=i,i=s,s=e.child,a=t.child.memoizedState,a=a===null?Ov(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},s.memoizedState=a,s.childLanes=t.childLanes&~n,e.memoizedState=Dv,i}return s=t.child,t=s.sibling,i=Sr(s,{mode:"visible",children:i.children}),!(e.mode&1)&&(i.lanes=n),i.return=e,i.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=i,e.memoizedState=null,i}function Ey(t,e){return e=Tp({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function Rd(t,e,n,i){return i!==null&&dy(i),Ta(e,t.child,null,n),t=Ey(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function YA(t,e,n,i,r,s,a){if(n)return e.flags&256?(e.flags&=-257,i=Xg(Error(P(422))),Rd(t,e,a,i)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(s=i.fallback,r=e.mode,i=Tp({mode:"visible",children:i.children},r,0,null),s=hs(s,r,a,null),s.flags|=2,i.return=e,s.return=e,i.sibling=s,e.child=i,e.mode&1&&Ta(e,t.child,null,a),e.child.memoizedState=Ov(a),e.memoizedState=Dv,s);if(!(e.mode&1))return Rd(t,e,a,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var o=i.dgst;return i=o,s=Error(P(419)),i=Xg(s,i,void 0),Rd(t,e,a,i)}if(o=(a&t.childLanes)!==0,Ut||o){if(i=tt,i!==null){switch(a&-a){case 4:r=2;break;case 16:r=8;break;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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(i.suspendedLanes|a)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,zi(t,r),Zn(i,t,r,-1))}return Ry(),i=Xg(Error(P(421))),Rd(t,e,a,i)}return r.data==="$?"?(e.flags|=128,e.child=t.child,e=lN.bind(null,t),r._reactRetry=e,null):(t=s.treeContext,nn=xr(r.nextSibling),rn=e,Pe=!0,Qn=null,t!==null&&(bn[xn++]=Ni,bn[xn++]=Di,bn[xn++]=ms,Ni=t.id,Di=t.overflow,ms=e),e=Ey(e,i.children),e.flags|=4096,e)}function dk(t,e,n){t.lanes|=e;var i=t.alternate;i!==null&&(i.lanes|=e),Mv(t.return,e,n)}function Zg(t,e,n,i,r){var s=t.memoizedState;s===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r)}function tE(t,e,n){var i=e.pendingProps,r=i.revealOrder,s=i.tail;if(Pt(t,e,i.children,n),i=$e.current,i&2)i=i&1|2,e.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&dk(t,n,e);else if(t.tag===19)dk(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}i&=1}if(ve($e,i),!(e.mode&1))e.memoizedState=null;else switch(r){case"forwards":for(n=e.child,r=null;n!==null;)t=n.alternate,t!==null&&ap(t)===null&&(r=n),n=n.sibling;n=r,n===null?(r=e.child,e.child=null):(r=n.sibling,n.sibling=null),Zg(e,!1,r,n,s);break;case"backwards":for(n=null,r=e.child,e.child=null;r!==null;){if(t=r.alternate,t!==null&&ap(t)===null){e.child=r;break}t=r.sibling,r.sibling=n,n=r,r=t}Zg(e,!0,n,null,s);break;case"together":Zg(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function zd(t,e){!(e.mode&1)&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function Ui(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),vs|=e.lanes,!(n&e.childLanes))return null;if(t!==null&&e.child!==t.child)throw Error(P(153));if(e.child!==null){for(t=e.child,n=Sr(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=Sr(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function QA(t,e,n){switch(e.tag){case 3:JT(e),ka();break;case 5:CT(e);break;case 1:Ht(e.type)&&ep(e);break;case 4:vy(e,e.stateNode.containerInfo);break;case 10:var i=e.type._context,r=e.memoizedProps.value;ve(ip,i._currentValue),i._currentValue=r;break;case 13:if(i=e.memoizedState,i!==null)return i.dehydrated!==null?(ve($e,$e.current&1),e.flags|=128,null):n&e.child.childLanes?eE(t,e,n):(ve($e,$e.current&1),t=Ui(t,e,n),t!==null?t.sibling:null);ve($e,$e.current&1);break;case 19:if(i=(n&e.childLanes)!==0,t.flags&128){if(i)return tE(t,e,n);e.flags|=128}if(r=e.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),ve($e,$e.current),i)break;return null;case 22:case 23:return e.lanes=0,XT(t,e,n)}return Ui(t,e,n)}var nE,Vv,iE,rE;nE=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Vv=function(){};iE=function(t,e,n,i){var r=t.memoizedProps;if(r!==i){t=e.stateNode,ds(mi.current);var s=null;switch(n){case"input":r=av(t,r),i=av(t,i),s=[];break;case"select":r=Re({},r,{value:void 0}),i=Re({},i,{value:void 0}),s=[];break;case"textarea":r=cv(t,r),i=cv(t,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(t.onclick=Zd)}dv(n,i);var a;n=null;for(c in r)if(!i.hasOwnProperty(c)&&r.hasOwnProperty(c)&&r[c]!=null)if(c==="style"){var o=r[c];for(a in o)o.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(wl.hasOwnProperty(c)?s||(s=[]):(s=s||[]).push(c,null));for(c in i){var l=i[c];if(o=r?.[c],i.hasOwnProperty(c)&&l!==o&&(l!=null||o!=null))if(c==="style")if(o){for(a in o)!o.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&o[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(s||(s=[]),s.push(c,n)),n=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,o=o?o.__html:void 0,l!=null&&o!==l&&(s=s||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(wl.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&be("scroll",t),s||o===l||(s=[])):(s=s||[]).push(c,l))}n&&(s=s||[]).push("style",n);var c=s;(e.updateQueue=c)&&(e.flags|=4)}};rE=function(t,e,n,i){n!==i&&(e.flags|=4)};function rl(t,e){if(!Pe)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:i.sibling=null}}function mt(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,i=0;if(e)for(var r=t.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=t,r=r.sibling;else for(r=t.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=t,r=r.sibling;return t.subtreeFlags|=i,t.childLanes=n,e}function XA(t,e,n){var i=e.pendingProps;switch(uy(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return mt(e),null;case 1:return Ht(e.type)&&Jd(),mt(e),null;case 3:return i=e.stateNode,Ea(),xe(jt),xe(vt),_y(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(t===null||t.child===null)&&($d(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,Qn!==null&&(Wv(Qn),Qn=null))),Vv(t,e),mt(e),null;case 5:yy(e);var r=ds(Ll.current);if(n=e.type,t!==null&&e.stateNode!=null)iE(t,e,n,i,r),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!i){if(e.stateNode===null)throw Error(P(166));return mt(e),null}if(t=ds(mi.current),$d(e)){i=e.stateNode,n=e.type;var s=e.memoizedProps;switch(i[hi]=e,i[Ml]=s,t=(e.mode&1)!==0,n){case"dialog":be("cancel",i),be("close",i);break;case"iframe":case"object":case"embed":be("load",i);break;case"video":case"audio":for(r=0;r<\/script>",t=t.removeChild(t.firstChild)):typeof i.is=="string"?t=a.createElement(n,{is:i.is}):(t=a.createElement(n),n==="select"&&(a=t,i.multiple?a.multiple=!0:i.size&&(a.size=i.size))):t=a.createElementNS(t,n),t[hi]=e,t[Ml]=i,nE(t,e,!1,!1),e.stateNode=t;e:{switch(a=pv(n,i),n){case"dialog":be("cancel",t),be("close",t),r=i;break;case"iframe":case"object":case"embed":be("load",t),r=i;break;case"video":case"audio":for(r=0;rPa&&(e.flags|=128,i=!0,rl(s,!1),e.lanes=4194304)}else{if(!i)if(t=ap(a),t!==null){if(e.flags|=128,i=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),rl(s,!0),s.tail===null&&s.tailMode==="hidden"&&!a.alternate&&!Pe)return mt(e),null}else 2*Oe()-s.renderingStartTime>Pa&&n!==1073741824&&(e.flags|=128,i=!0,rl(s,!1),e.lanes=4194304);s.isBackwards?(a.sibling=e.child,e.child=a):(n=s.last,n!==null?n.sibling=a:e.child=a,s.last=a)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Oe(),e.sibling=null,n=$e.current,ve($e,i?n&1|2:n&1),e):(mt(e),null);case 22:case 23:return My(),i=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?tn&1073741824&&(mt(e),e.subtreeFlags&6&&(e.flags|=8192)):mt(e),null;case 24:return null;case 25:return null}throw Error(P(156,e.tag))}function ZA(t,e){switch(uy(e),e.tag){case 1:return Ht(e.type)&&Jd(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Ea(),xe(jt),xe(vt),_y(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return yy(e),null;case 13:if(xe($e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(P(340));ka()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return xe($e),null;case 4:return Ea(),null;case 10:return fy(e.type._context),null;case 22:case 23:return My(),null;case 24:return null;default:return null}}var Ld=!1,gt=!1,JA=typeof WeakSet=="function"?WeakSet:Set,N=null;function ha(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){De(t,e,i)}else n.current=null}function Fv(t,e,n){try{n()}catch(i){De(t,e,i)}}var pk=!1;function eN(t,e){if(xv=Yd,t=lT(),ly(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var a=0,o=-1,l=-1,c=0,u=0,d=t,p=null;t:for(;;){for(var h;d!==n||r!==0&&d.nodeType!==3||(o=a+r),d!==s||i!==0&&d.nodeType!==3||(l=a+i),d.nodeType===3&&(a+=d.nodeValue.length),(h=d.firstChild)!==null;)p=d,d=h;for(;;){if(d===t)break t;if(p===n&&++c===r&&(o=a),p===s&&++u===i&&(l=a),(h=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=h}n=o===-1||l===-1?null:{start:o,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(kv={focusedElem:t,selectionRange:n},Yd=!1,N=e;N!==null;)if(e=N,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,N=t;else for(;N!==null;){e=N;try{var y=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var v=y.memoizedProps,w=y.memoizedState,m=e.stateNode,f=m.getSnapshotBeforeUpdate(e.elementType===e.type?v:Gn(e.type,v),w);m.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var g=e.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(P(163))}}catch(x){De(e,e.return,x)}if(t=e.sibling,t!==null){t.return=e.return,N=t;break}N=e.return}return y=pk,pk=!1,y}function vl(t,e,n){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&t)===t){var s=r.destroy;r.destroy=void 0,s!==void 0&&Fv(e,n,s)}r=r.next}while(r!==i)}}function xp(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var i=n.create;n.destroy=i()}n=n.next}while(n!==e)}}function zv(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function sE(t){var e=t.alternate;e!==null&&(t.alternate=null,sE(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[hi],delete e[Ml],delete e[Sv],delete e[DA],delete e[OA])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function aE(t){return t.tag===5||t.tag===3||t.tag===4}function hk(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||aE(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Uv(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Zd));else if(i!==4&&(t=t.child,t!==null))for(Uv(t,e,n),t=t.sibling;t!==null;)Uv(t,e,n),t=t.sibling}function jv(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(i!==4&&(t=t.child,t!==null))for(jv(t,e,n),t=t.sibling;t!==null;)jv(t,e,n),t=t.sibling}var at=null,Yn=!1;function pr(t,e,n){for(n=n.child;n!==null;)oE(t,e,n),n=n.sibling}function oE(t,e,n){if(fi&&typeof fi.onCommitFiberUnmount=="function")try{fi.onCommitFiberUnmount(fp,n)}catch{}switch(n.tag){case 5:gt||ha(n,e);case 6:var i=at,r=Yn;at=null,pr(t,e,n),at=i,Yn=r,at!==null&&(Yn?(t=at,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):at.removeChild(n.stateNode));break;case 18:at!==null&&(Yn?(t=at,n=n.stateNode,t.nodeType===8?Bg(t.parentNode,n):t.nodeType===1&&Bg(t,n),El(t)):Bg(at,n.stateNode));break;case 4:i=at,r=Yn,at=n.stateNode.containerInfo,Yn=!0,pr(t,e,n),at=i,Yn=r;break;case 0:case 11:case 14:case 15:if(!gt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,a=s.destroy;s=s.tag,a!==void 0&&(s&2||s&4)&&Fv(n,e,a),r=r.next}while(r!==i)}pr(t,e,n);break;case 1:if(!gt&&(ha(n,e),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(o){De(n,e,o)}pr(t,e,n);break;case 21:pr(t,e,n);break;case 22:n.mode&1?(gt=(i=gt)||n.memoizedState!==null,pr(t,e,n),gt=i):pr(t,e,n);break;default:pr(t,e,n)}}function fk(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new JA),e.forEach(function(i){var r=cN.bind(null,t,i);n.has(i)||(n.add(i),i.then(r,r))})}}function Kn(t,e){var n=e.deletions;if(n!==null)for(var i=0;ir&&(r=a),i&=~s}if(i=r,i=Oe()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*nN(i/1960))-i,10t?16:t,yr===null)var i=!1;else{if(t=yr,yr=null,dp=0,se&6)throw Error(P(331));var r=se;for(se|=4,N=t.current;N!==null;){var s=N,a=s.child;if(N.flags&16){var o=s.deletions;if(o!==null){for(var l=0;lOe()-Cy?ps(t,0):Py|=n),qt(t,e)}function mE(t,e){e===0&&(t.mode&1?(e=_d,_d<<=1,!(_d&130023424)&&(_d=4194304)):e=1);var n=Ct();t=zi(t,e),t!==null&&(Ol(t,e,n),qt(t,n))}function lN(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),mE(t,n)}function cN(t,e){var n=0;switch(t.tag){case 13:var i=t.stateNode,r=t.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=t.stateNode;break;default:throw Error(P(314))}i!==null&&i.delete(e),mE(t,n)}var gE;gE=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||jt.current)Ut=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return Ut=!1,QA(t,e,n);Ut=!!(t.flags&131072)}else Ut=!1,Pe&&e.flags&1048576&&_T(e,np,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;zd(t,e),t=e.pendingProps;var r=xa(e,vt.current);_a(e,n),r=by(null,e,i,t,r,n);var s=xy();return e.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Ht(i)?(s=!0,ep(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,gy(e),r.updater=wp,e.stateNode=r,r._reactInternals=e,Lv(e,i,t,n),e=Nv(null,e,i,!0,s,n)):(e.tag=0,Pe&&s&&cy(e),Pt(null,e,r,n),e=e.child),e;case 16:i=e.elementType;e:{switch(zd(t,e),t=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=dN(i),t=Gn(i,t),r){case 0:e=Av(null,e,i,t,n);break e;case 1:e=ck(null,e,i,t,n);break e;case 11:e=ok(null,e,i,t,n);break e;case 14:e=lk(null,e,i,Gn(i.type,t),n);break e}throw Error(P(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Gn(i,r),Av(t,e,i,r,n);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Gn(i,r),ck(t,e,i,r,n);case 3:e:{if(JT(e),t===null)throw Error(P(387));i=e.pendingProps,s=e.memoizedState,r=s.element,kT(t,e),sp(e,i,null,n);var a=e.memoizedState;if(i=a.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){r=Sa(Error(P(423)),e),e=uk(t,e,i,n,r);break e}else if(i!==r){r=Sa(Error(P(424)),e),e=uk(t,e,i,n,r);break e}else for(nn=xr(e.stateNode.containerInfo.firstChild),rn=e,Pe=!0,Qn=null,n=PT(e,null,i,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ka(),i===r){e=Ui(t,e,n);break e}Pt(t,e,i,n)}e=e.child}return e;case 5:return CT(e),t===null&&$v(e),i=e.type,r=e.pendingProps,s=t!==null?t.memoizedProps:null,a=r.children,Tv(i,r)?a=null:s!==null&&Tv(i,s)&&(e.flags|=32),ZT(t,e),Pt(t,e,a,n),e.child;case 6:return t===null&&$v(e),null;case 13:return eE(t,e,n);case 4:return vy(e,e.stateNode.containerInfo),i=e.pendingProps,t===null?e.child=Ta(e,null,i,n):Pt(t,e,i,n),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Gn(i,r),ok(t,e,i,r,n);case 7:return Pt(t,e,e.pendingProps,n),e.child;case 8:return Pt(t,e,e.pendingProps.children,n),e.child;case 12:return Pt(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(i=e.type._context,r=e.pendingProps,s=e.memoizedProps,a=r.value,ve(ip,i._currentValue),i._currentValue=a,s!==null)if(Jn(s.value,a)){if(s.children===r.children&&!jt.current){e=Ui(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var o=s.dependencies;if(o!==null){a=s.child;for(var l=o.firstContext;l!==null;){if(l.context===i){if(s.tag===1){l=Oi(-1,n&-n),l.tag=2;var c=s.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),Mv(s.return,n,e),o.lanes|=n;break}l=l.next}}else if(s.tag===10)a=s.type===e.type?null:s.child;else if(s.tag===18){if(a=s.return,a===null)throw Error(P(341));a.lanes|=n,o=a.alternate,o!==null&&(o.lanes|=n),Mv(a,n,e),a=s.sibling}else a=s.child;if(a!==null)a.return=s;else for(a=s;a!==null;){if(a===e){a=null;break}if(s=a.sibling,s!==null){s.return=a.return,a=s;break}a=a.return}s=a}Pt(t,e,r.children,n),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,_a(e,n),r=En(r),i=i(r),e.flags|=1,Pt(t,e,i,n),e.child;case 14:return i=e.type,r=Gn(i,e.pendingProps),r=Gn(i.type,r),lk(t,e,i,r,n);case 15:return QT(t,e,e.type,e.pendingProps,n);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Gn(i,r),zd(t,e),e.tag=1,Ht(i)?(t=!0,ep(e)):t=!1,_a(e,n),ET(e,i,r),Lv(e,i,r,n),Nv(null,e,i,!0,t,n);case 19:return tE(t,e,n);case 22:return XT(t,e,n)}throw Error(P(156,e.tag))};function vE(t,e){return Hk(t,e)}function uN(t,e,n,i){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kn(t,e,n,i){return new uN(t,e,n,i)}function Ly(t){return t=t.prototype,!(!t||!t.isReactComponent)}function dN(t){if(typeof t=="function")return Ly(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Xv)return 11;if(t===Zv)return 14}return 2}function Sr(t,e){var n=t.alternate;return n===null?(n=kn(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function Hd(t,e,n,i,r,s){var a=2;if(i=t,typeof t=="function")Ly(t)&&(a=1);else if(typeof t=="string")a=5;else e:switch(t){case ra:return hs(n.children,r,s,e);case Qv:a=8,r|=8;break;case nv:return t=kn(12,n,e,r|2),t.elementType=nv,t.lanes=s,t;case iv:return t=kn(13,n,e,r),t.elementType=iv,t.lanes=s,t;case rv:return t=kn(19,n,e,r),t.elementType=rv,t.lanes=s,t;case Sk:return Tp(n,r,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Tk:a=10;break e;case Ek:a=9;break e;case Xv:a=11;break e;case Zv:a=14;break e;case hr:a=16,i=null;break e}throw Error(P(130,t==null?t:typeof t,""))}return e=kn(a,n,e,r),e.elementType=t,e.type=i,e.lanes=s,e}function hs(t,e,n,i){return t=kn(7,t,i,e),t.lanes=n,t}function Tp(t,e,n,i){return t=kn(22,t,i,e),t.elementType=Sk,t.lanes=n,t.stateNode={isHidden:!1},t}function Jg(t,e,n){return t=kn(6,t,null,e),t.lanes=n,t}function ev(t,e,n){return e=kn(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function pN(t,e,n,i,r){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Og(0),this.expirationTimes=Og(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Og(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Iy(t,e,n,i,r,s,a,o,l){return t=new pN(t,e,n,o,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=kn(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},gy(s),t}function hN(t,e,n){var i=3{"use strict";function xE(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xE)}catch(t){console.error(t)}}xE(),kE.exports=bE()});var jl=pt(Oy=>{"use strict";var TE=Ul();Oy.createRoot=TE.createRoot,Oy.hydrateRoot=TE.hydrateRoot;var Fz});var CE=pt(PE=>{"use strict";var Ma=j();function yN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var _N=typeof Object.is=="function"?Object.is:yN,wN=Ma.useState,bN=Ma.useEffect,xN=Ma.useLayoutEffect,kN=Ma.useDebugValue;function TN(t,e){var n=e(),i=wN({inst:{value:n,getSnapshot:e}}),r=i[0].inst,s=i[1];return xN(function(){r.value=n,r.getSnapshot=e,Vy(r)&&s({inst:r})},[t,n,e]),bN(function(){return Vy(r)&&s({inst:r}),t(function(){Vy(r)&&s({inst:r})})},[t]),kN(n),n}function Vy(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!_N(t,n)}catch{return!0}}function EN(t,e){return e()}var SN=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?EN:TN;PE.useSyncExternalStore=Ma.useSyncExternalStore!==void 0?Ma.useSyncExternalStore:SN});var ME=pt((Hz,$E)=>{"use strict";$E.exports=CE()});var LE=pt(RE=>{"use strict";var Mp=j(),PN=ME();function CN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var $N=typeof Object.is=="function"?Object.is:CN,MN=PN.useSyncExternalStore,RN=Mp.useRef,LN=Mp.useEffect,IN=Mp.useMemo,AN=Mp.useDebugValue;RE.useSyncExternalStoreWithSelector=function(t,e,n,i,r){var s=RN(null);if(s.current===null){var a={hasValue:!1,value:null};s.current=a}else a=s.current;s=IN(function(){function l(h){if(!c){if(c=!0,u=h,h=i(h),r!==void 0&&a.hasValue){var y=a.value;if(r(y,h))return d=y}return d=h}if(y=d,$N(u,h))return y;var v=i(h);return r!==void 0&&r(y,v)?y:(u=h,d=v)}var c=!1,u,d,p=n===void 0?null:n;return[function(){return l(e())},p===null?void 0:function(){return l(p())}]},[e,n,i,r]);var o=MN(t,s[0],s[1]);return LN(function(){a.hasValue=!0,a.value=o},[o]),AN(o),o}});var AE=pt((Bz,IE)=>{"use strict";IE.exports=LE()});function HN(){Vp=!0,queueMicrotask(ZE)}function ZE(){if(!Ra.length){Vp=!1;return}qy=!0;for(let t=0;t=0;n--)i_(e[n])}function JE(t){let e=Rt();return Yl(e,t.length?t.bind(null,Gl.bind(e)):t,null)}function C(t){return Yl(Mt,t,null)}function Na(t){return Yl(null,t,null)}function ti(){qy||ZE()}function Kl(){return Mt}function nt(t,e){try{return Yl(e,t,null)}catch(n){Zy(e,n);return}}function Xy(t,e=Mt){return e?.$cx[t]}function BN(t,e,n=Mt){n&&(n.$cx={...n.$cx,[t]:e})}function WN(t){Mt&&(Mt.$eh=Mt.$eh?[t,...Mt.$eh]:[t])}function G(t){if(!t||!Mt)return t||jN;let e=Mt;return e.$d?Array.isArray(e.$d)?e.$d.push(t):e.$d=[e.$d,t]:e.$d=t,function(){e.$st!==Up&&(t.call(null),jp(e.$d)?e.$d=null:Array.isArray(e.$d)&&e.$d.splice(e.$d.indexOf(t),1))}}function Gl(t=!0){if(this.$st===Up)return;let e=t?this.$ps||this[cn]:this,n=this.$ns,i=null;for(;n&&n[cn]===this;)Gl.call(n,!0),BE(n),i=n.$ns,n.$ns=null,n=i;t&&BE(this),n&&(n.$ps=t?this.$ps:this),e&&(e.$ns=n)}function BE(t){t.$st=Up,t.$d&&eS(t),t.$s&&Dp(t,0),t.$ps&&(t.$ps.$ns=null),t[cn]=null,t.$s=null,t.$o=null,t.$ps=null,t.$cx=Qy,t.$eh=null}function eS(t){try{if(Array.isArray(t.$d))for(let e=t.$d.length-1;e>=0;e--){let n=t.$d[e];n.call(n)}else t.$d.call(t.$d);t.$d=null}catch(e){Zy(t,e)}}function Yl(t,e,n){let i=Mt,r=La;Mt=t,La=n;try{return e.call(t)}finally{Mt=i,La=r}}function Zy(t,e){if(!t||!t.$eh)throw e;let n=0,i=t.$eh.length,r=WE(e);for(n=0;n0){t.$s.length=ln+Cn.length;for(let s=0;s=e)&&(t.$e&&t.$st===Aa&&(Ra.push(t),Vp||HN()),t.$st=e,t.$o))for(let n=0;nt();return e[cn]=!0,e}function r_(t){return sS(t)&&"set"in t}function Kt(...t){}function vi(t){return t===null}function Le(t){return typeof t>"u"}function s_(t){return vi(t)||Le(t)}function Ql(t){return t?.constructor===Object}function Be(t){return typeof t=="number"&&!Number.isNaN(t)}function U(t){return typeof t=="string"}function a_(t){return typeof t=="boolean"}function yt(t){return typeof t=="function"}function qe(t){return Array.isArray(t)}function YN(t){return U(t)?new RegExp(t):t}function QN(t){return Wt?!1:t===window}function XN(t,e){return typeof process<"u",Kt}function Hp(t){return!!t?.[lS]}function JN(t){return t.originEvent}function cS(t,e){if(Hp(t))return t.triggers.walk(e)}function o_(t,e){return Hp(t)?t.triggers.findType(e):void 0}function uS(t,e){return!!o_(t,e)}function dS(t,e){e&&t.triggers.add(e)}function S(t,e,n,i){return Wt?Kt:(t.addEventListener(e,n,i),G(()=>t.removeEventListener(e,n,i)))}function Xl(t){return!!t?.type.startsWith("pointer")}function Da(t){return!!t?.type.startsWith("touch")}function l_(t){return/^(click|mouse)/.test(t?.type??"")}function qi(t){return!!t?.type.startsWith("key")}function e2(t){return qi(t)&&t.key==="Enter"}function t2(t){return qi(t)&&t.key==="Escape"}function Zl(t){return qi(t)&&(t.key==="Enter"||t.key===" ")}function c_(t){return t instanceof Node}function n2(t){return c_(t)&&t.nodeType===1}function i2(t){return c_(t)&&t.nodeType===11}function r2(){return document.createDocumentFragment()}function s2(t){return Wt?t:document.createComment(t)}function J(t,e,n){if(t)if(!n&&n!==""&&n!==0)t.removeAttribute(e);else{let i=n===!0?"":n+"";t.getAttribute(e)!==i&&t.setAttribute(e,i)}else return}function ct(t,e,n){if(t)!n&&n!==0?t.style.removeProperty(e):t.style.setProperty(e,n+"");else return}function a2(t,e,n){t.classList[n?"add":"remove"](e)}function o2(t,e){let n=e?`slot[name="${e}"]`:"slot:not([name])",r=t.shadowRoot?.querySelector(n)?.assignedNodes({flatten:!0})??[];return Array.prototype.filter.call(r,s=>s.nodeType==1)}function l2(t){let e=t.firstChild,n=e.getAttribute("shadowroot");e.parentNode.attachShadow({mode:n}).appendChild(e.content),e.remove()}function c2(t){return yt(t)?t():t}function By(t){let e=t;for(;typeof e=="function";)e=e.call(this);return e}function yi(t){return{id:Symbol(),provide:t}}function It(t,e,n=Kl()){let i=!Le(e);BN(t.id,i?e:t.provide?.(),n)}function Ie(t){return Xy(t.id)}function $n(t){return!Le(Xy(t.id))}function u2(t){let e={};for(let n of Object.keys(t)){let i=t[n];e[n]=O(i,i)}return e}function u_(t,e){return JE(()=>{Bl.$$=new zp(t,Kl(),e);let n=new t;return Bl.$$.e=n,Bl.$$=null,n})}function te(t,e,n){t[Uy]||(t[Uy]=new Set),t[Uy].add(e)}function Ae(t,e,n){t[jy]||(t[jy]=new Set),t[jy].add(e)}function xs(t){return Ie(t)}function Oa(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function d2(t){return Jl(t.replace(/([A-Z])/g," $1"))}function Bp(t){return t.replace(/-./g,e=>e[1].toUpperCase())}function hS(t){return fS(t).replace(/\s/g,"")}function fS(t){return Jl(t.replace(/-./g,e=>" "+e[1].toUpperCase()))}function Jl(t){return t.charAt(0).toUpperCase()+t.slice(1)}function p2(t){return t.charAt(0).toLowerCase()+t.slice(1)}function f2(t){return t.replace(h2,"")}function Wp(t,...e){return ue.createElement(ks.Provider,{value:t},...e)}function Kp(){return ue.useContext(ks).current}function Gp(t){let e=Kp();return ue.useMemo(()=>Xy(t.id,e),[e])}function m2(){return gS}function g2(t,e){var n;return n=class extends gS{},n.F=t,n.T=e,n}function d_(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function re(...t){return e=>t.forEach(n=>d_(n,e))}function v2(t,e){let n=ue.forwardRef((i,r)=>{let s=ue.useContext(ks),a=ue.useRef(null),o=ue.useRef();if(!o.current){let w=_2(),m=QE(t,w,i,s.current);w.e=m,o.current=w,a.current=m.scope}function l(){let w=o.current,m=s.current;if(window.cancelAnimationFrame(w.ea),w.ea=-1,w.e.$$.o){let f=QE(t,w,i,m);w.e=f,w.Q=!1,w.da=!1,a.current=f.scope}return w.a&&YE(w,w.a),w.da||(d_(r,w.e),w.da=!0),()=>Op(w)}function c(w){let m=o.current;if(!m.da){m.a=w;return}window.cancelAnimationFrame(m.K),m.K=window.requestAnimationFrame(()=>{let f=o.current;f.K=-1,f.a!==w&&(Op(f),w&&YE(f,w),f.a=w)})}ue.useEffect(()=>{let w=o.current;return window.cancelAnimationFrame(w.ea),w.ea=-1,function(){yt(i.children)&&(window.cancelAnimationFrame(w.K),w.K=-1,window.cancelAnimationFrame(w.E),w.E=-1,window.cancelAnimationFrame(w.ea),w.ea=window.requestAnimationFrame(()=>{w.ea=-1,Op(w),w.e.$$.p(),w.e.$$[qp]=null,w.J={},w._={},a.current=null}))}},[]),ue.useEffect(ti);let u=o.current,{children:d,...p}=i,h={},y=u.aa,v=Object.keys(p);u.J={};for(let w of[...y,...v])if(e.props.has(w))u.e.$props[w].set(v.includes(w)?p[w]:t.props?.[w]);else if(e.events?.has(w)||e.eventsRE?.test(w))u.J[w]=p[w];else if(e.domEvents?.has(w)||e.domEventsRE?.test(w)){let m=Oa(w.slice(2));u._[m]=p[w],v.includes(w)?u.a&&!u.ca?.has(m)&&(u.ca||(u.ca=new Set),u.ca.add(m),u.a.addEventListener(m,u.ba)):(u.a?.removeEventListener(m,u.ba),u.ca?.delete(m))}else h[w]=p[w];return u.aa=v,Wp(a,ue.createElement(y2,{effect:l}),yt(d)?d?.({...h,suppressHydrationWarning:!0,ref:c},u.e):d)});return n.displayName=t.name+"Bridge",n}function y2({effect:t}){return ue.useEffect(t,[]),null}function _2(){let t={a:null,aa:[],J:{},_:{},K:-1,E:-1,ea:-1,Q:!1,da:!1,ca:null,ba(e){let n=Le(e.detail)?[e]:[e.detail,e];t._[e.type]?.(...n)}};return t}function YE(t,e){if(!(t.a===e&&t.Q)){if(t.Q&&Op(t),t._){t.ca||(t.ca=new Set);for(let n of Object.keys(t._))t.ca.has(n)||(e.addEventListener(n,t.ba),t.ca.add(n))}t.e.$$.x(e),t.E=window.requestAnimationFrame(()=>{t.e.$$.y(),t.E=-1}),t.Q=!0}}function Op(t){if(t.Q&&(window.cancelAnimationFrame(t.E),t.E=-1,t.e.$$.s(),t.Q=!1,t.a&&t.ca)){for(let e of t.ca)t.a.removeEventListener(e,t.ba);t.ca.clear()}}function w2(t){let e=GE.get(t.type),n=Le(t.detail)?[t]:[t.detail,t];e||GE.set(t.type,e=`on${hS(t.type)}`),this.J[e]?.(...n)}function QE(t,e,n,i){let r=u_(t,{props:n,scope:i});return r.$$[qp]=w2.bind(e),r.$$.w(),r}function vS(t,e=!1){let n=typeof t;if(n!=="string")return!e&&n==="function"?vS(t()):e&&n==="boolean"?t+"":t;let i=e?'"':"<",r=e?""":"<",s=t.indexOf(i),a=t.indexOf("&");if(s<0&&a<0)return t;let o=0,l="";for(;s>=0&&a>=0;)s=0)do o=0);else for(;a>=0;)o(a.destroy(),null)))}return n.displayName=t.name+"Bridge",n}function Lr(t){return Gp(t)}function he(t,e){let[,n]=ue.useState();return ue.useEffect(()=>aS(()=>{t(),n({})}),[e??t]),t()}function Va(t){return t?"true":"false"}function yS(t){let e=[];for(let n=0;n!e.includes(n)))}function Bi(){let t,e;return{promise:new Promise((i,r)=>{t=i,e=r}),resolve:t,reject:e}}function I2(t,e,n){let i=new Promise((r,s)=>{let a=setTimeout(()=>{clearTimeout(a),s(n)},e)});return Promise.race([t,i])}function h_(t){return new Promise(e=>setTimeout(e,t))}function A2(t){return Wt?Promise.resolve():new Promise(e=>{window.requestAnimationFrame(n=>{t?.(n),e()})})}function Ir(t){if(Wt)return Kt;let e=-1,n;function i(...r){n=r,!(e>=0)&&(e=window.requestAnimationFrame(()=>{t.apply(this,n),e=-1,n=void 0}))}return i}function f_(t,e){return Wt?Promise.resolve():new Promise(n=>{N2(i=>{t?.(i),n()},e)})}function m_(t){let[,e]=ue.useState(),n=ue.useRef(null);return n.current==null&&(n.current={state:{},$update:O({}),props:new Set}),ue.useEffect(()=>{let{state:i,$update:r,props:s}=n.current;return b(()=>{for(let a of s){let o=t[a]();i[a]=qe(o)?[...o]:o}r(),e({})})},[t]),ue.useMemo(()=>{let{state:i,$update:r,props:s}=n.current,a=!1;return s.clear(),new Proxy(i,{get(o,l){if(!s.has(l)&&l in t){s.add(l);let c=t[l]();i[l]=qe(c)?[...c]:c,a||(r.set({}),a=!0,queueMicrotask(()=>a=!1))}return i[l]},set(o,l,c){return l in t||(i[l]=c),!0}})},[t])}function X(t,e){return Wt?C2(t,{props:new Set(Object.keys(t.props||{}))}):v2(t,{props:new Set(Object.keys(t.props||{})),events:new Set(e?.events),eventsRE:e?.eventsRegex,domEvents:e?.domEvents,domEventsRE:e?.domEventsRegex})}var ue,Wt,cn,Vp,qy,Mt,La,Cn,ln,Ra,Qy,jN,Aa,XE,Wl,Up,e_,bs,nS,t_,b,oS,ZN,lS,q,Fp,Ia,Uy,jy,qp,pS,Hy,zp,Bl,Lt,B,ei,h2,ks,mS,gS,GE,b2,x2,T2,E2,Wy,Ky,Gy,Yy,P2,N2,Ts,At=Ue(()=>{"use strict";"use client";ue=$(j(),1),Wt=typeof document>"u",cn=Symbol(0),Vp=!1,qy=!1,Mt=null,La=null,Cn=null,ln=0,Ra=[],Qy={},jN=()=>{},Aa=0,XE=1,Wl=2,Up=3;e_=function(){this[cn]=null,this.$ns=null,this.$ps=null,Mt&&Mt.append(this)},bs=e_.prototype;bs.$cx=Qy;bs.$eh=null;bs.$c=null;bs.$d=null;bs.append=function(t){if(t[cn]=this,t.$ps=this,this.$ns)if(t.$ns){let e=t.$ns;for(;e.$ns;)e=e.$ns;e.$ns=this.$ns,this.$ns.$ps=e}else t.$ns=this.$ns,this.$ns.$ps=t;this.$ns=t,t.$cx=t.$cx===Qy?this.$cx:{...this.$cx,...t.$cx},this.$eh&&(t.$eh=t.$eh?[...t.$eh,...this.$eh]:this.$eh)};bs.dispose=function(){Gl.call(this)};nS=function(e,n,i){e_.call(this),this.$st=n?Wl:Aa,this.$i=!1,this.$e=!1,this.$s=null,this.$o=null,this.$v=e,n&&(this.$c=n),i&&i.dirty&&(this.$ch=i.dirty)},t_=nS.prototype;Object.setPrototypeOf(t_,bs);t_.$ch=KN;t_.call=Jy;b=Wt?XN:aS;ZN=Wt?class{}:Event,lS=Symbol("DOM_EVENT"),q=class extends ZN{constructor(e,...n){super(e,n[0]),this[oS]=!0,this.triggers=new Fp,this.detail=n[0]?.detail;let i=n[0]?.trigger;i&&this.triggers.add(i)}get trigger(){return this.triggers.source}get originEvent(){return this.triggers.origin}get isOriginTrusted(){return this.triggers.origin?.isTrusted??!1}};oS=lS;Fp=class{constructor(){this.chain=[]}get source(){return this.chain[0]}get origin(){return this.chain[this.chain.length-1]}add(e){this.chain.push(e),Hp(e)&&this.chain.push(...e.triggers)}remove(e){return this.chain.splice(this.chain.indexOf(e),1)[0]}has(e){return this.chain.some(n=>n===e)}hasType(e){return!!this.findType(e)}findType(e){return this.chain.find(n=>n.type===e)}walk(e){for(let n of this.chain){let i=e(n);if(i)return[n,i]}}[Symbol.iterator](){return this.chain.values()}};Ia=class extends EventTarget{addEventListener(e,n,i){return super.addEventListener(e,n,i)}removeEventListener(e,n,i){return super.removeEventListener(e,n,i)}};Uy=Symbol(0),jy=Symbol(0),qp=Symbol(0),Hy={},zp=class{constructor(e,n,i){this[pS]=null,this.$el=O(null),this.a=null,this.d=null,this.f=null,this.g=null,this.e=null,this.o=!1,this.i=Hy,this.b=null,this.c=null,this.l=[],this.m=[],this.j=[],this.n=[],this.d=n,i?.scope&&i.scope.append(n);let r=e.state,s=e.props;if(r&&(this.h=r.create(),this.k=new Proxy(this.h,{get:(a,o)=>this.h[o]()}),It(r,this.h)),s&&(this.i=u2(s),i?.props))for(let a of Object.keys(i.props))this.i[a]?.set(i.props[a]);G(this.p.bind(this))}w(){nt(()=>{for(let e of this.l)e()},this.d)}x(e){this.a||(this.a=e,this.$el.set(e),nt(()=>{this.f=Rt(),nt(()=>{for(let n of this.m)n(this.a);this.q(),this.r()},this.f)},this.d),e.dispatchEvent(new Event("attached")))}s(){this.f?.dispose(),this.f=null,this.g=null,this.a=null,this.$el.set(null)}y(){!this.a||!this.f||!this.j.length||nt(()=>{this.g=Rt(),nt(()=>{for(let e of this.j)e(this.a)},this.g)},this.f)}z(){this.g?.dispose(),this.g=null}p(){if(this.o)return;this.o=!0,nt(()=>{for(let n of this.n)n(this.a)},this.d);let e=this.a;this.s(),this.d.dispose(),this.l.length=0,this.m.length=0,this.j.length=0,this.n.length=0,this.e=null,this.b=null,this.c=null,this.i=Hy,this.d=null,this.k=Hy,this.h=null,e&&delete e.$}t(e){e.onSetup&&this.l.push(e.onSetup.bind(e)),e.onAttach&&this.m.push(e.onAttach.bind(e)),e.onConnect&&this.j.push(e.onConnect.bind(e)),e.onDestroy&&this.n.push(e.onDestroy.bind(e))}q(){if(this.b)for(let e of Object.keys(this.b))Wt?J(this.a,e,By.call(this.e,this.b[e])):yt(this.b[e])?b(this.u.bind(this,e)):J(this.a,e,this.b[e])}r(){if(this.c)for(let e of Object.keys(this.c))Wt?ct(this.a,e,By.call(this.e,this.c[e])):yt(this.c[e])?b(this.v.bind(this,e)):ct(this.a,e,this.c[e])}u(e){J(this.a,e,this.b[e].call(this.e))}v(e){ct(this.a,e,this.c[e].call(this.e))}};pS=qp;Bl={$$:null};Lt=class extends EventTarget{constructor(){super(),Bl.$$&&this.attach(Bl)}get el(){return this.$$.a}get $el(){return this.$$.$el()}get scope(){return this.$$.d}get attachScope(){return this.$$.f}get connectScope(){return this.$$.g}get $props(){return this.$$.i}get $state(){return this.$$.h}get state(){return this.$$.k}attach({$$:e}){return this.$$=e,e.t(this),this}addEventListener(e,n,i){this.listen(e,n,i)}removeEventListener(e,n,i){this.el?.removeEventListener(e,n,i)}setAttributes(e){this.$$.b||(this.$$.b={}),Object.assign(this.$$.b,e)}setStyles(e){this.$$.c||(this.$$.c={}),Object.assign(this.$$.c,e)}setCSSVars(e){this.setStyles(e)}createEvent(e,...n){return new q(e,n[0])}dispatch(e,...n){if(Wt||!this.el)return!1;let i=e instanceof Event?e:new q(e,n[0]);return Object.defineProperty(i,"target",{get:()=>this.$$.e}),Na(()=>(this.$$[qp]?.(i),this.el.dispatchEvent(i)))}dispatchEvent(e){return this.dispatch(e)}listen(e,n,i){return Wt||!this.el?Kt:S(this.el,e,n,i)}},B=class extends Lt{subscribe(e){return nt(()=>b(()=>e(this.state)),this.$$.d)}destroy(){this.$$.p()}};ei=class{constructor(e){this.id=Symbol(0),this.record=e,this.A=Object.getOwnPropertyDescriptors(e)}create(){let e={},n=new Proxy(e,{get:(i,r)=>e[r]()});for(let i of Object.keys(this.record)){let r=this.A[i].get;e[i]=r?gi(r.bind(n)):O(this.record[i])}return e}reset(e,n){for(let i of Object.keys(e))!this.A[i].get&&(!n||n(i))&&e[i].set(this.record[i])}};h2=/;\s*$/;ks=ue.createContext({current:null});ks.displayName="Scope";mS=class extends ue.Component{constructor(e,n){super(e),this.d={current:Rt()},n&&n.append(this.d.current);let i=this.constructor;i.F&&It(i.F,i.T?.(),this.d.current)}render(){return Wp(this.d,this.props?.children)}};mS.contextType=ks;gS=mS;GE=new Map;b2=Symbol(0),x2=/\s+/;T2=/\s*:\s*/,E2=/\s*;\s*/;Wy=class{constructor(e){this.keepAlive=!1,this.forwardKeepAlive=!0,this.attributes=new Ky,this.style=new Gy,this.classList=new Yy,this.$=e}get $props(){return this.$.$$.i}get $state(){return this.$.$$.h}get state(){return this.$.state}setup(){let e=this.$.$$;nt(()=>{this.hasAttribute("class")&&k2(this.classList.tokens,this.getAttribute("class")),this.hasAttribute("style")&&S2(this.style.tokens,this.getAttribute("style")),e.w(),e.x(this),this.classList.length>0&&this.setAttribute("class",this.classList.toString()),this.style.length>0&&this.setAttribute("style",this.style.toString()),this.keepAlive&&this.setAttribute("keep-alive","")},e.d)}getAttribute(e){return this.attributes.getAttribute(e)}setAttribute(e,n){this.attributes.setAttribute(e,n)}hasAttribute(e){return this.attributes.hasAttribute(e)}removeAttribute(e){return this.attributes.removeAttribute(e)}[b2](){}addEventListener(){}removeEventListener(){}dispatchEvent(){return!1}subscribe(){return Kt}destroy(){this.$.destroy()}},Ky=class{constructor(){this.Z=new Map}get length(){return this.Z.size}get tokens(){return this.Z}getAttribute(e){return this.Z.get(e)??null}hasAttribute(e){return this.Z.has(e)}setAttribute(e,n){this.Z.set(e,n+"")}removeAttribute(e){this.Z.delete(e)}toString(){if(this.Z.size===0)return"";let e="";for(let[n,i]of this.Z)e+=` ${n}="${vS(i,!0)}"`;return e}},Gy=class{constructor(){this.Z=new Map}get length(){return this.Z.size}get tokens(){return this.Z}getPropertyValue(e){return this.Z.get(e)??""}setProperty(e,n){this.Z.set(e,n??"")}removeProperty(e){let n=this.Z.get(e);return this.Z.delete(e),n??""}toString(){if(this.Z.size===0)return"";let e="";for(let[n,i]of this.Z)e+=`${n}: ${i};`;return e}},Yy=class{constructor(){this.Z=new Set}get length(){return this.Z.size}get tokens(){return this.Z}add(...e){for(let n of e)this.Z.add(n)}contains(e){return this.Z.has(e)}remove(e){this.Z.delete(e)}replace(e,n){return this.Z.has(e)?(this.Z.delete(e),this.Z.add(n),!0):!1}toggle(e,n){return n!==!0&&(this.Z.has(e)||n===!1)?(this.Z.delete(e),!1):(this.Z.add(e),!0)}toString(){return Array.from(this.Z).join(" ")}},P2={acceptcharset:"acceptCharset","accept-charset":"acceptCharset",accesskey:"accessKey",allowfullscreen:"allowFullScreen",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className",colspan:"colSpan",contenteditable:"contentEditable",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback",enctype:"encType",enterkeyhint:"enterKeyHint",fetchpriority:"fetchPriority",for:"htmlFor",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",imagesizes:"imageSizes",imagesrcset:"imageSrcSet",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",marginwidth:"marginWidth",marginheight:"marginHeight",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",playsinline:"playsInline",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rowspan:"rowSpan",spellcheck:"spellCheck",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex",usemap:"useMap"};N2=Wt?Kt:typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:t=>window.setTimeout(t,1):Kt;Ts=Object.freeze({__proto__:null,Component:B,DOMEvent:q,EventTriggers:Fp,EventsTarget:Ia,Instance:zp,ReactScopeContext:ks,State:ei,ViewController:Lt,WithScope:Wp,animationFrameThrottle:Ir,appendTriggerEvent:dS,ariaBool:Va,attachDeclarativeShadowDOM:l2,camelToKebabCase:Oa,camelToTitleCase:d2,composeRefs:re,computed:gi,createComment:s2,createComponent:u_,createContext:yi,createDisposalBin:ec,createFragment:r2,createReactComponent:X,createReactContextProvider:g2,createReactScopeProvider:m2,createRegex:YN,createScope:Rt,deferredPromise:Bi,effect:b,findTriggerEvent:o_,flattenArray:yS,getOriginEvent:JN,getScope:Kl,getSlottedChildren:o2,hasProvidedContext:$n,hasTriggerEvent:uS,isArray:qe,isBoolean:a_,isDOMElement:n2,isDOMEvent:Hp,isDOMFragment:i2,isDOMNode:c_,isFunction:yt,isKeyboardClick:Zl,isKeyboardEvent:qi,isMouseEvent:l_,isNil:s_,isNull:vi,isNumber:Be,isObject:Ql,isPointerEvent:Xl,isReadSignal:sS,isString:U,isTouchEvent:Da,isUndefined:Le,isWindow:QN,isWriteSignal:r_,kebabToCamelCase:Bp,kebabToPascalCase:hS,kebabToTitleCase:fS,keysOf:tc,listenEvent:S,lowercaseFirstLetter:p2,mergeProperties:R2,method:Ae,noop:Kt,omit:L2,onDispose:G,onError:WN,peek:C,pick:_S,prop:te,provideContext:It,readonly:GN,root:JE,run:$2,runAll:M2,scoped:nt,setAttribute:J,setRef:d_,setStyle:ct,signal:O,tick:ti,timedPromise:I2,toggleClass:a2,trimTrailingSemicolon:f2,untrack:Na,unwrap:c2,unwrapDeep:By,uppercaseFirstChar:Jl,useContext:Ie,useDisposalBin:p_,useReactContext:Gp,useReactScope:Kp,useSignal:he,useSignalRecord:m_,useState:xs,useStateContext:Lr,waitAnimationFrame:A2,waitIdlePeriod:f_,waitTimeout:h_,walkTriggerEventChain:cS,wasEnterKeyPressed:e2,wasEscapeKeyPressed:t2})});var wS={};kt(wS,{SRTParser:()=>Yp,default:()=>V2});function V2(){return new Yp}var D2,O2,Yp,bS=Ue(()=>{"use strict";nc();D2=/,/g,O2="-->",Yp=class extends za{parse(e,n){if(e==="")this.a&&(this.j.push(this.a),this.f.onCue?.(this.a),this.a=null),this.c=Fa.None;else if(this.c===Fa.Cue)this.a.text+=(this.a.text?` +`:"")+e;else if(e.includes(O2)){let i=this.o(e,n);i&&(this.a=new Wi(i[0],i[1],i[2].join(" ")),this.a.id=this.l,this.c=Fa.Cue)}this.l=e}o(e,n){return super.o(e.replace(D2,"."),n)}}});var g_={};kt(g_,{ParseErrorBuilder:()=>F2});var F2,v_=Ue(()=>{"use strict";nc();F2={p(){return new Gt({code:Mn.BadSignature,reason:"missing WEBVTT file header",line:1})},q(t,e){return new Gt({code:Mn.BadTimestamp,reason:`cue start timestamp \`${t}\` is invalid on line ${e}`,line:e})},r(t,e){return new Gt({code:Mn.BadTimestamp,reason:`cue end timestamp \`${t}\` is invalid on line ${e}`,line:e})},s(t,e,n){return new Gt({code:Mn.BadTimestamp,reason:`cue end timestamp \`${e}\` is greater than start \`${t}\` on line ${n}`,line:n})},w(t,e,n){return new Gt({code:Mn.BadSettingValue,reason:`invalid value for cue setting \`${t}\` on line ${n} (value: ${e})`,line:n})},v(t,e,n){return new Gt({code:Mn.UnknownSetting,reason:`unknown cue setting \`${t}\` on line ${n} (value: ${e})`,line:n})},u(t,e,n){return new Gt({code:Mn.BadSettingValue,reason:`invalid value for region setting \`${t}\` on line ${n} (value: ${e})`,line:n})},t(t,e,n){return new Gt({code:Mn.UnknownSetting,reason:`unknown region setting \`${t}\` on line ${n} (value: ${e})`,line:n})},T(t,e){return new Gt({code:Mn.BadFormat,reason:`format missing for \`${t}\` block on line ${e}`,line:e})}}});var PS={};kt(PS,{SSAParser:()=>Zp,default:()=>z2});function __(t){let e=parseInt(t.replace("&H",""),16);if(e>=0){let i=(e>>24&255^255)/255,r=e>>16&255,s=e>>8&255;return"rgba("+[e&255,s,r,i].join(",")+")"}return null}function w_(t,e,n){let i=Math.ceil(2*Math.PI*t),r="";for(let s=0;s{"use strict";nc();Qp=/^Format:[\s\t]*/,xS=/^Style:[\s\t]*/,kS=/^Dialogue:[\s\t]*/,Xp=/[\s\t]*,[\s\t]*/,TS=/\{[^}]+\}/g,ES=/\\N/g,SS=/^\[(.*)[\s\t]?Styles\]$/,y_=/^\[(.*)[\s\t]?Events\]$/,Zp=class{constructor(){_(this,"f");_(this,"O",0);_(this,"a",null);_(this,"j",[]);_(this,"k",[]);_(this,"N",null);_(this,"d");_(this,"P",{})}async init(e){this.f=e,e.errors&&(this.d=(await Promise.resolve().then(()=>(v_(),g_))).ParseErrorBuilder)}parse(e,n){if(this.O)switch(this.O){case 1:if(e==="")this.O=0;else if(xS.test(e))if(this.N){let i=e.replace(xS,"").split(Xp);this.S(i)}else this.e(this.d?.T("Style",n));else Qp.test(e)?this.N=e.replace(Qp,"").split(Xp):y_.test(e)&&(this.N=null,this.O=2);break;case 2:if(e==="")this.Q();else if(kS.test(e))if(this.Q(),this.N){let i=e.replace(kS,"").split(Xp),r=this.U(i,n);r&&(this.a=r)}else this.e(this.d?.T("Dialogue",n));else this.a?this.a.text+=` +`+e.replace(TS,"").replace(ES,` +`):Qp.test(e)?this.N=e.replace(Qp,"").split(Xp):SS.test(e)?(this.N=null,this.O=1):y_.test(e)&&(this.N=null)}else e===""||(SS.test(e)?(this.N=null,this.O=1):y_.test(e)&&(this.N=null,this.O=2))}done(){return{metadata:{},cues:this.j,regions:[],errors:this.k}}Q(){this.a&&(this.j.push(this.a),this.f.onCue?.(this.a),this.a=null)}S(e){let n="Default",i={},r,s="center",a="bottom",o,l=1.2,c,u,d=3,p=[];for(let h=0;h=4&&(a=f>=7?"top":"center"),f%3){case 1:s="start";break;case 2:s="center";break;case 3:s="end";break}}}if(i.R=a,i["--cue-white-space"]="normal",i["--cue-line-height"]="normal",i["--cue-text-align"]=s,a==="center"?(i["--cue-top"]="50%",p.push("translateY(-50%)")):i[`--cue-${a}`]=(o||0)+"px",d===1&&(i["--cue-padding-y"]="0"),(d===1||u)&&(i["--cue-bg-color"]=d===1?"none":u),d===3&&c&&(i["--cue-outline"]=`${r}px solid ${c}`),d===1&&typeof r=="number"){let h=u??"#000";i["--cue-text-shadow"]=[c&&w_(r*1.2,l*1.2,c),c?w_(r*(r/2),l*(r/2),h):w_(r,l,h)].filter(Boolean).join(", ")}p.length&&(i["--cue-transform"]=p.join(" ")),this.P[n]=i}U(e,n){let i=this.V(e),r=this.o(i.Start,i.End,n);if(!r)return;let s=new Wi(r[0],r[1],""),a={...this.P[i.Style]||{}},o=i.Name?``:"",l=a.R,c=i.MarginL&&parseFloat(i.MarginL),u=i.MarginR&&parseFloat(i.MarginR),d=i.MarginV&&parseFloat(i.MarginV);return c&&(a["--cue-width"]="auto",a["--cue-left"]=c+"px"),u&&(a["--cue-width"]="auto",a["--cue-right"]=u+"px"),d&&l!=="center"&&(a[`--cue-${l}`]=d+"px"),s.text=o+e.slice(this.N.length-1).join(", ").replace(TS,"").replace(ES,` +`),delete a.R,Object.keys(a).length&&(s.style=a),s}V(e){let n={};for(let i=0;ir)return[r,s];r===null&&this.e(this.d?.q(e,i)),s===null&&this.e(this.d?.r(n,i)),r!=null&&s!==null&&s>r&&this.e(this.d?.s(r,s,i))}e(e){if(e){if(this.k.push(e),this.f.strict)throw this.f.cancel(),e;this.f.onError?.(e)}}}});async function AS(t,e){let n=new ReadableStream({start(i){let r=t.split(IS);for(let s of r)i.enqueue(s);i.close()}});return nh(n,e)}async function nh(t,e){let n=e?.type??"vtt",i;if(typeof n=="string")switch(n){case"srt":i=(await Promise.resolve().then(()=>(bS(),wS))).default;break;case"ssa":case"ass":i=(await Promise.resolve().then(()=>(CS(),PS))).default;break;default:i=(await Promise.resolve().then(function(){return rD})).default}else i=n;let r,s=t.getReader(),a=i(),o=!!e?.strict||!!e?.errors;await a.init({strict:!1,...e,errors:o,type:n,cancel(){s.cancel(),r=a.done(!0)}});let l=1;for(;;){let{value:c,done:u}=await s.read();if(u){a.parse("",l),r=a.done(!1);break}a.parse(c,l),l++}return r}async function NS(t,e){let n=await t;if(!n.ok||!n.body)return{metadata:{},cues:[],regions:[],errors:[void 0]};let i=n.headers.get("content-type")||"",r=i.match(/text\/(.*?)(?:;|$)/)?.[1],s=i.match(/charset=(.*?)(?:;|$)/)?.[1];return T_(n.body,{type:r,encoding:s,...e})}async function T_(t,{encoding:e="utf-8",...n}={}){let i=t.pipeThrough(new x_(e));return nh(i,n)}function H2(t){let e=parseInt(t,10);return Number.isNaN(e)?null:e}function rc(t){let e=parseInt(t.replace(j2,""),10);return!Number.isNaN(e)&&e>=0&&e<=100?e:null}function MS(t){if(!t.includes($S))return null;let[e,n]=t.split($S).map(rc);return e!==null&&n!==null?[e,n]:null}function q2(t){let e=parseFloat(t);return Number.isNaN(e)?null:e}function Ki(t){let e=t.match(nD);if(!e)return null;let n=e[1]?parseInt(e[1],10):0,i=parseInt(e[2],10),r=parseInt(e[3],10),s=e[4]?parseInt(e[4].padEnd(3,"0"),10):0,a=n*3600+i*60+r+s/1e3;return n<0||i<0||r<0||s<0||i>59||r>59?null:a}function iD(){return new za}function S_(t){let e="",n=1,i=[],r=[],s;for(let c=0;c":a(),n=1;break;default:!e&&sD.test(u)&&(n=6),e+=u;break}break;case 3:switch(u){case" ":case" ":case` +`:o(),s&&s.class?.trim(),n=4;break;case".":o();break;case">":o(),s&&s.class?.trim(),n=1;break;default:e+=u}break;case 4:u===">"?(e=e.replace(aD," "),s?.type==="v"?s.voice=b_(e):s?.type==="lang"&&(s.lang=b_(e)),e="",n=1):e+=u;break;case 5:u===">"&&(e="",s=r.pop(),n=1);break;case 6:if(u===">"){let d=Ki(e);d!==null&&d>=t.startTime&&d<=t.endTime&&(e="timestamp",a(),s.time=d),e="",n=1}else e+=u;break}}function a(){if(uD.has(e)){let c=s;s=dD(e),c?(r[r.length-1]!==c&&r.push(c),c.children.push(s)):i.push(s)}e="",n=1}function o(){if(s&&e){let c=e.replace("bg_","");cD.has(c)?s[e.startsWith("bg_")?"bgColor":"color"]=c:s.class=s.class?s.class+" "+e:e}e=""}function l(){if(!e)return;let c={type:"text",data:b_(e)};s?s.children.push(c):i.push(c),e=""}return n===1&&l(),i}function dD(t){return{tagName:DS[t],type:t,children:[]}}function b_(t){return t.replace(lD,e=>oD[e]||"'")}function Nt(t,e,n){t.style.setProperty(`--${e}`,n+"")}function Ar(t,e,n=!0){t.setAttribute(`data-${e}`,n===!0?"":n+"")}function Jp(t,e){t.setAttribute("data-part",e)}function pD(t){return parseFloat(getComputedStyle(t).lineHeight)||0}function OS(t){if(E_)throw Error("[media-captions] called `createVTTCueTemplate` on the server - use `renderVTTCueString`");let e=document.createElement("template");return e.innerHTML=ih(t),{cue:t,content:e.content}}function ih(t,e=0){return rh(S_(t),e)}function rh(t,e=0){let n,i="";for(let r of t)if(r.type==="text")i+=r.data;else{let s=r.type==="timestamp";n={},n.class=r.class,n.title=r.type==="v"&&r.voice,n.lang=r.type==="lang"&&r.lang,n["data-part"]=r.type==="v"&&"voice",s&&(n["data-part"]="timed",n["data-time"]=r.time,n["data-future"]=r.time>e,n["data-past"]=r.timeo[1]).map(o=>`${o[0]}="${o[1]===!0?"":o[1]}"`).join(" ");i+=`<${r.tagName}${a?" "+a:""}>${rh(r.children)}`}return i}function P_(t,e){if(!E_)for(let n of t.querySelectorAll('[data-part="timed"]')){let i=Number(n.getAttribute("data-time"));Number.isNaN(i)||(i>e?Ar(n,"future"):n.removeAttribute("data-future"),i=e.left&&t.top<=e.bottom&&t.bottom>=e.top}function mD(t,e){for(let n=0;n=0&&e.bottom<=t.height&&e.left>=0&&e.right<=t.width}function gD(t,e,n){switch(n){case"+x":return e.left<0;case"-x":return e.right>t.width;case"+y":return e.top<0;case"-y":return e.bottom>t.height}}function vD(t,e){let n=Math.max(0,Math.min(t.width,e.right)-Math.max(0,e.left)),i=Math.max(0,Math.min(t.height,e.bottom)-Math.max(0,e.top));return n*i/(t.height*t.width)}function $_(t,e){return{top:e.top/t.height,left:e.left/t.width,right:(t.width-e.right)/t.width,bottom:(t.height-e.bottom)/t.height}}function VS(t,e){return e.top=e.top*t.height,e.left=e.left*t.width,e.right=t.width-e.right*t.width,e.bottom=t.height-e.bottom*t.height,e}function zS(t,e,n,i){let r=$_(e,n);for(let s of FS)Nt(t,`${i}-${s}`,r[s]*100+"%")}function US(t,e,n,i){let r=1,s,a={...e};for(let o=0;ol&&(s={...e},r=l),e={...a}}return s||a}function yD(t,e,n,i){let r=n.firstElementChild,s=bD(e),a,o=[];if(n[Nr]||(n[Nr]=_D(t,n)),a=VS(t,{...n[Nr]}),n[sc])o=[n[sc]==="top"?"+y":"-y","+x","-x"];else if(e.snapToLines){let l;switch(e.vertical){case"":o=["+y","-y"],l="height";break;case"rl":o=["+x","-x"],l="width";break;case"lr":o=["-x","+x"],l="width";break}let c=pD(r),u=c*Math.round(s),d=t[l]+c,p=o[0];Math.abs(u)>d&&(u=u<0?-1:1,u*=Math.ceil(d/c)*c),s<0&&(u+=e.vertical===""?t.height:t.width,o=o.reverse()),eh(a,p,u)}else{let l=e.vertical==="",c=l?"+y":"+x",u=l?a.height:a.width;eh(a,c,(l?t.height:t.width)*s/100),eh(a,c,e.lineAlign==="center"?u/2:e.lineAlign==="end"?u:0),o=l?["-y","+y","-x","+x"]:["-x","+x","-y","+y"]}return a=US(t,a,i,o),zS(n,t,a,"cue"),a}function _D(t,e){let n=C_(e),i=wD(e);if(e[sc]=!1,i.top&&(n.top=i.top,n.bottom=i.top+n.height,e[sc]="top"),i.bottom){let r=t.height-i.bottom;n.top=r-n.height,n.bottom=r,e[sc]="bottom"}return i.left&&(n.left=i.left),i.right&&(n.right=t.width-i.right),$_(t,n)}function wD(t){let e={};for(let n of FS)e[n]=parseFloat(t.style.getPropertyValue(`--cue-${n}`));return e}function bD(t){return t.line==="auto"?t.snapToLines?-1:100:t.line}function xD(t){if(t.position==="auto")switch(t.align){case"start":case"left":return 0;case"right":case"end":return 100;default:return 50}return t.position}function kD(t,e){if(t.positionAlign==="auto")switch(t.align){case"start":return e==="ltr"?"line-left":"line-right";case"end":return e==="ltr"?"line-right":"line-left";case"center":return"center";default:return`line-${t.align}`}return t.positionAlign}function ED(t,e,n,i){let r=Array.from(n.querySelectorAll('[data-part="cue-display"]')),s=0,a=Math.max(0,r.length-e.lines);for(let l=r.length-1;l>=a;l--)s+=r[l].offsetHeight;Nt(n,"region-height",s+"px"),n[Nr]||(n[Nr]=$_(t,C_(n)));let o={...n[Nr]};return o=VS(t,o),o.width=n.clientWidth,o.height=s,o.right=o.left+o.width,o.bottom=o.top+s,o=US(t,o,i,TD),zS(n,t,o,"region"),o}var Mn,Gt,IS,x_,k_,ac,E_,U2,Wi,oc,$S,j2,B2,RS,W2,Ua,K2,G2,Y2,Q2,ic,X2,Z2,J2,eD,tD,nD,Fa,za,rD,sD,aD,DS,oD,lD,cD,uD,Nr,FS,sc,TD,th,nc=Ue(()=>{"use strict";Mn={LoadFail:0,BadSignature:1,BadTimestamp:2,BadSettingValue:3,BadFormat:4,UnknownSetting:5},Gt=class extends Error{constructor(n){super(n.reason);_(this,"code");_(this,"line");this.code=n.code,this.line=n.line}},IS=/\r?\n|\r/gm,x_=class{constructor(e){_(this,"writable");_(this,"readable");let n=new k_(e);this.writable=new WritableStream({write(i){n.transform(i)},close(){n.close()}}),this.readable=new ReadableStream({start(i){n.onLine=r=>i.enqueue(r),n.onClose=()=>i.close()}})}},k_=class{constructor(e){_(this,"x","");_(this,"y");_(this,"onLine");_(this,"onClose");this.y=new TextDecoder(e)}transform(e){this.x+=this.y.decode(e,{stream:!0});let n=this.x.split(IS);this.x=n.pop()||"";for(let i=0;i"u",U2=E_?ac:window.VTTCue,Wi=class extends U2{constructor(){super(...arguments);_(this,"region",null);_(this,"vertical","");_(this,"snapToLines",!0);_(this,"line","auto");_(this,"lineAlign","start");_(this,"position","auto");_(this,"positionAlign","auto");_(this,"size",100);_(this,"align","center");_(this,"style")}},oc=class{constructor(){_(this,"id","");_(this,"width",100);_(this,"lines",3);_(this,"regionAnchorX",0);_(this,"regionAnchorY",100);_(this,"viewportAnchorX",0);_(this,"viewportAnchorY",100);_(this,"scroll","")}},$S=",",j2="%";B2="WEBVTT",RS=",",W2="%",Ua=/[:=]/,K2=/^[\s\t]*(region|vertical|line|position|size|align)[:=]/,G2="NOTE",Y2="REGION",Q2=/^REGION:?[\s\t]+/,ic=/[\s\t]+/,X2="-->",Z2=/[\s\t]*-->[\s\t]+/,J2=/start|center|end|left|right/,eD=/start|center|end/,tD=/line-(?:left|right)|center|auto/,nD=/^(?:(\d{1,2}):)?(\d{2}):(\d{2})(?:\.(\d{1,3}))?$/,Fa=(t=>(t[t.None=0]="None",t[t.Header=1]="Header",t[t.Cue=2]="Cue",t[t.Region=3]="Region",t[t.Note=4]="Note",t))(Fa||{}),za=class{constructor(){_(this,"f");_(this,"c",0);_(this,"g",{});_(this,"h",{});_(this,"j",[]);_(this,"a",null);_(this,"b",null);_(this,"k",[]);_(this,"d");_(this,"l","")}async init(e){this.f=e,e.strict&&(this.c=1),e.errors&&(this.d=(await Promise.resolve().then(()=>(v_(),g_))).ParseErrorBuilder)}parse(e,n){if(e==="")this.a?(this.j.push(this.a),this.f.onCue?.(this.a),this.a=null):this.b?(this.h[this.b.id]=this.b,this.f.onRegion?.(this.b),this.b=null):this.c===1&&(this.i(e,n),this.f.onHeaderMetadata?.(this.g)),this.c=0;else if(this.c)switch(this.c){case 1:this.i(e,n);break;case 2:if(this.a){let i=this.a.text.length>0;!i&&K2.test(e)?this.m(e.split(ic),n):this.a.text+=(i?` +`:"")+e}break;case 3:this.n(e.split(ic),n);break}else if(e.startsWith(G2))this.c=4;else if(e.startsWith(Y2))this.c=3,this.b=new oc,this.n(e.replace(Q2,"").split(ic),n);else if(e.includes(X2)){let i=this.o(e,n);i&&(this.a=new Wi(i[0],i[1],""),this.a.id=this.l,this.m(i[2],n)),this.c=2}else n===1&&this.i(e,n);this.l=e}done(){return{metadata:this.g,cues:this.j,regions:Object.values(this.h),errors:this.k}}i(e,n){if(n>1){if(Ua.test(e)){let[i,r]=e.split(Ua);i&&(this.g[i]=(r||"").replace(ic,""))}}else e.startsWith(B2)?this.c=1:this.e(this.d?.p())}o(e,n){let[i,r=""]=e.split(Z2),[s,...a]=r.split(ic),o=Ki(i),l=Ki(s);if(o!==null&&l!==null&&l>o)return[o,l,a];o===null&&this.e(this.d?.q(i,n)),l===null&&this.e(this.d?.r(s,n)),o!=null&&l!==null&&l>o&&this.e(this.d?.s(o,l,n))}n(e,n){let i;for(let r=0;r",""":'"',"'":"'"," ":"\xA0","‎":"\u200E","‏":"\u200F"},lD=/&(?:amp|lt|gt|quot|#(0+)?39|nbsp|lrm|rlm);/g,cD=new Set(["white","lime","cyan","red","yellow","magenta","blue","black"]),uD=new Set(Object.keys(DS));Nr=Symbol(0);FS=["top","left","right","bottom"];sc=Symbol(0);TD=["-y","+y","-x","+x"];th=class{constructor(e,n){_(this,"overlay");_(this,"z");_(this,"A",0);_(this,"C","ltr");_(this,"B",[]);_(this,"D",!1);_(this,"E");_(this,"h",new Map);_(this,"j",new Map);_(this,"K",hD(()=>{this.D=!1,this.G();for(let e of this.h.values())e[Nr]=null;for(let e of this.j.values())e&&(e[Nr]=null);this.H(!0)},50));this.overlay=e,this.dir=n?.dir??"ltr",e.setAttribute("translate","yes"),e.setAttribute("aria-live","off"),e.setAttribute("aria-atomic","true"),Jp(e,"captions"),this.G(),this.E=new ResizeObserver(this.I.bind(this)),this.E.observe(e)}get dir(){return this.C}set dir(e){this.C=e,Ar(this.overlay,"dir",e)}get currentTime(){return this.A}set currentTime(e){this.A=e,this.update()}changeTrack({regions:e,cues:n}){this.reset(),this.J(e);for(let i of n)this.j.set(i,null);this.update()}addCue(e){this.j.set(e,null),this.update()}removeCue(e){this.j.delete(e),this.update()}update(e=!1){this.H(e)}reset(){this.j.clear(),this.h.clear(),this.B=[],this.overlay.textContent=""}destroy(){this.reset(),this.E.disconnect()}I(){this.D=!0,this.K()}G(){this.z=C_(this.overlay),Nt(this.overlay,"overlay-width",this.z.width+"px"),Nt(this.overlay,"overlay-height",this.z.height+"px")}H(e=!1){if(!this.j.size||this.D)return;let n,i=[...this.j.keys()].filter(s=>this.A>=s.startTime&&this.A<=s.endTime).sort((s,a)=>s.startTime!==a.startTime?s.startTime-a.startTime:s.endTime-a.endTime),r=i.map(s=>s.region);for(let s=0;sAr(o,"active")),e=!0),a.isConnected||((o||this.overlay).append(a),e=!0)}if(e){let s=[],a=new Set;for(let o=i.length-1;o>=0;o--){if(n=i[o],a.has(n.region||n))continue;let l=this.F(n),c=l?this.h.get(n.region.id):this.j.get(n);l?s.push(ED(this.z,n.region,c,s)):s.push(yD(this.z,n,c,s)),a.add(l?n.region:n)}}P_(this.overlay,this.A),this.B=i}J(e){if(e)for(let n of e){let i=this.M(n);this.h.set(n.id,i),this.overlay.append(i)}}M(e){let n=document.createElement("div");return Jp(n,"region"),Ar(n,"id",e.id),Ar(n,"scroll",e.scroll),Nt(n,"region-width",e.width+"%"),Nt(n,"region-anchor-x",e.regionAnchorX),Nt(n,"region-anchor-y",e.regionAnchorY),Nt(n,"region-viewport-anchor-x",e.viewportAnchorX),Nt(n,"region-viewport-anchor-y",e.viewportAnchorY),Nt(n,"region-lines",e.lines),n}L(e){let n=document.createElement("div"),i=xD(e),r=kD(e,this.C);if(Jp(n,"cue-display"),e.vertical!==""&&Ar(n,"vertical"),Nt(n,"cue-text-align",e.align),e.style)for(let a of Object.keys(e.style))n.style.setProperty(a,e.style[a]);if(this.F(e))Nt(n,"cue-offset",`${i-(r==="line-right"?100:r==="center"?50:0)}%`);else if(Nt(n,"cue-writing-mode",e.vertical===""?"horizontal-tb":e.vertical==="lr"?"vertical-lr":"vertical-rl"),!e.style?.["--cue-width"]){let a=i;r==="line-left"?a=100-i:r==="center"&&i<=50?a=i*2:r==="center"&&i>50&&(a=(100-i)*2);let o=e.sizeth,ParseError:()=>Gt,ParseErrorCode:()=>Mn,TextCue:()=>ac,VTTCue:()=>Wi,VTTRegion:()=>oc,createVTTCueTemplate:()=>OS,parseByteStream:()=>T_,parseResponse:()=>NS,parseText:()=>AS,parseTextStream:()=>nh,parseVTTTimestamp:()=>Ki,renderVTTCueString:()=>ih,renderVTTTokensString:()=>rh,tokenizeVTTCue:()=>S_,updateTimedVTTCueNodes:()=>P_});var cc=Ue(()=>{"use strict";nc()});var _i,uc=Ue(()=>{"use strict";"use client";At();_i=class{constructor(e){this._callback=e}_start(){Le(this._id)&&this._loop()}_stop(){Be(this._id)&&window.cancelAnimationFrame(this._id),this._id=void 0}_loop(){this._id=window.requestAnimationFrame(()=>{Le(this._id)||(this._callback(),this._loop())})}}});var M_,R_,ja,L_=Ue(()=>{"use strict";"use client";At();Yt();uc();M_=class{constructor(e,n){this._provider=e,this._ctx=n,this._disposal=p_(),this._waiting=!1,this._attachedLoadStart=!1,this._attachedCanPlay=!1,this._timeRAF=new _i(this._onAnimationFrame.bind(this)),this._handlers=void 0,this._handleDevEvent=void 0,this._attachInitialListeners(),b(this._attachTimeUpdate.bind(this)),G(this._onDispose.bind(this))}get _media(){return this._provider.media}get _notify(){return this._ctx.delegate._notify}_onDispose(){this._attachedLoadStart=!1,this._attachedCanPlay=!1,this._timeRAF._stop(),this._disposal.empty()}_onAnimationFrame(){let e=this._media.currentTime;this._ctx.$state.realCurrentTime()!==e&&this._updateCurrentTime(e)}_attachInitialListeners(){this._attachEventListener("loadstart",this._onLoadStart),this._attachEventListener("abort",this._onAbort),this._attachEventListener("emptied",this._onEmptied),this._attachEventListener("error",this._onError),this._attachEventListener("volumechange",this._onVolumeChange)}_attachLoadStartListeners(){this._attachedLoadStart||(this._disposal.add(this._attachEventListener("loadeddata",this._onLoadedData),this._attachEventListener("loadedmetadata",this._onLoadedMetadata),this._attachEventListener("canplay",this._onCanPlay),this._attachEventListener("canplaythrough",this._onCanPlayThrough),this._attachEventListener("durationchange",this._onDurationChange),this._attachEventListener("play",this._onPlay),this._attachEventListener("progress",this._onProgress),this._attachEventListener("stalled",this._onStalled),this._attachEventListener("suspend",this._onSuspend)),this._attachedLoadStart=!0)}_attachCanPlayListeners(){this._attachedCanPlay||(this._disposal.add(this._attachEventListener("pause",this._onPause),this._attachEventListener("playing",this._onPlaying),this._attachEventListener("ratechange",this._onRateChange),this._attachEventListener("seeked",this._onSeeked),this._attachEventListener("seeking",this._onSeeking),this._attachEventListener("ended",this._onEnded),this._attachEventListener("waiting",this._onWaiting)),this._attachedCanPlay=!0)}_attachEventListener(e,n){return S(this._media,e,n.bind(this))}_onDevEvent(e){}_updateCurrentTime(e,n){let i={currentTime:Math.min(e,this._ctx.$state.seekableEnd()),played:this._media.played};this._notify("time-update",i,n)}_onLoadStart(e){if(this._media.networkState===3){this._onAbort(e);return}this._attachLoadStartListeners(),this._notify("load-start",void 0,e)}_onAbort(e){this._notify("abort",void 0,e)}_onEmptied(){this._notify("emptied",void 0,event)}_onLoadedData(e){this._notify("loaded-data",void 0,e)}_onLoadedMetadata(e){this._attachCanPlayListeners(),this._notify("loaded-metadata",void 0,e),I_&&Es(this._ctx.$state.source())&&this._ctx.delegate._ready(this._getCanPlayDetail(),e)}_getCanPlayDetail(){return{provider:C(this._ctx.$provider),duration:this._media.duration,buffered:this._media.buffered,seekable:this._media.seekable}}_onPlay(e){this._ctx.$state.canPlay&&this._notify("play",void 0,e)}_onPause(e){this._media.readyState===1&&!this._waiting||(this._waiting=!1,this._timeRAF._stop(),this._notify("pause",void 0,e))}_onCanPlay(e){this._ctx.delegate._ready(this._getCanPlayDetail(),e)}_onCanPlayThrough(e){this._ctx.$state.started()||this._notify("can-play-through",this._getCanPlayDetail(),e)}_onPlaying(e){this._waiting=!1,this._notify("playing",void 0,e),this._timeRAF._start()}_onStalled(e){this._notify("stalled",void 0,e),this._media.readyState<3&&(this._waiting=!0,this._notify("waiting",void 0,e))}_onWaiting(e){this._media.readyState<3&&(this._waiting=!0,this._notify("waiting",void 0,e))}_onEnded(e){this._timeRAF._stop(),this._updateCurrentTime(this._media.duration,e),this._notify("end",void 0,e),this._ctx.$state.loop()&&s_(this._media.controls)&&(this._media.controls=!1)}_attachTimeUpdate(){this._ctx.$state.paused()&&S(this._media,"timeupdate",this._onTimeUpdate.bind(this))}_onTimeUpdate(e){this._updateCurrentTime(this._media.currentTime,e)}_onDurationChange(e){this._ctx.$state.ended()&&this._updateCurrentTime(this._media.duration,e),this._notify("duration-change",this._media.duration,e)}_onVolumeChange(e){let n={volume:this._media.volume,muted:this._media.muted};this._notify("volume-change",n,e)}_onSeeked(e){this._updateCurrentTime(this._media.currentTime,e),this._notify("seeked",this._media.currentTime,e),Math.trunc(this._media.currentTime)===Math.trunc(this._media.duration)&&sh(this._media.duration)>sh(this._media.currentTime)&&(this._updateCurrentTime(this._media.duration,e),this._media.ended||this._ctx.player.dispatch(new q("media-play-request",{trigger:e})))}_onSeeking(e){this._notify("seeking",this._media.currentTime,e)}_onProgress(e){let n={buffered:this._media.buffered,seekable:this._media.seekable};this._notify("progress",n,e)}_onSuspend(e){this._notify("suspend",void 0,e)}_onRateChange(e){this._notify("rate-change",this._media.playbackRate,e)}_onError(e){let n=this._media.error;if(!n)return;let i={message:n.message,code:n.code,mediaError:n};this._notify("error",i,e)}},R_=class{constructor(e,n){this._provider=e,this._ctx=n,this._nativeTracks.onaddtrack=this._onAddNativeTrack.bind(this),this._nativeTracks.onremovetrack=this._onRemoveNativeTrack.bind(this),this._nativeTracks.onchange=this._onChangeNativeTrack.bind(this),S(this._ctx.audioTracks,"change",this._onChangeTrack.bind(this))}get _nativeTracks(){return this._provider.media.audioTracks}_onAddNativeTrack(e){let n=e.track;if(n.label==="")return;let i={id:n.id.toString(),label:n.label,language:n.language,kind:n.kind,selected:!1};this._ctx.audioTracks[Y._add](i,e),n.enabled&&(i.selected=!0)}_onRemoveNativeTrack(e){let n=this._ctx.audioTracks.getById(e.track.id);n&&this._ctx.audioTracks[Y._remove](n,e)}_onChangeNativeTrack(e){let n=this._getEnabledNativeTrack();if(!n)return;let i=this._ctx.audioTracks.getById(n.id);i&&this._ctx.audioTracks[Y._select](i,!0,e)}_getEnabledNativeTrack(){return Array.from(this._nativeTracks).find(e=>e.enabled)}_onChangeTrack(e){let{current:n}=e.detail;if(!n)return;let i=this._nativeTracks.getTrackById(n.id);if(i){let r=this._getEnabledNativeTrack();r&&(r.enabled=!1),i.enabled=!0}}},ja=class{constructor(e,n){this._media=e,this._ctx=n,this.scope=Rt(),this._currentSrc=null}setup(){new M_(this,this._ctx),"audioTracks"in this.media&&new R_(this,this._ctx),G(()=>{this._media.setAttribute("src",""),this._media.load()})}get type(){return""}get media(){return this._media}get currentSrc(){return this._currentSrc}setPlaybackRate(e){this._media.playbackRate=e}async play(){return this._media.play()}async pause(){return this._media.pause()}setMuted(e){this._media.muted=e}setVolume(e){this._media.volume=e}setCurrentTime(e){this._media.currentTime=e}setPlaysInline(e){J(this._media,"playsinline",e)}async loadSource({src:e,type:n},i){this._media.preload=i||"",A_(e)?this._media.srcObject=e:(this._media.srcObject=null,this._media.src=U(e)?this._appendMediaFragment(e):window.URL.createObjectURL(e)),this._media.load(),this._currentSrc={src:e,type:n}}_appendMediaFragment(e){let{clipStartTime:n,clipEndTime:i}=this._ctx.$state,r=n(),s=i();return r>0&&s>0?`${e}#t=${r},${s}`:r>0?`${e}#t=${r}`:s>0?`${e}#t=0,${s}`:e}}});var jS={};kt(jS,{AudioProvider:()=>N_});var TU,N_,HS=Ue(()=>{"use strict";"use client";L_();TU=$(j(),1),N_=class extends ja{constructor(){super(...arguments),this.$$PROVIDER_TYPE="AUDIO"}get type(){return"audio"}setup(){super.setup(),this.type==="audio"&&this._ctx.delegate._notify("provider-setup",this)}get audio(){return this._media}}});var qS={};kt(qS,{VideoProvider:()=>dc});function SD(t,e){return Array.from(t.children).find(n=>n.track===e)}var CU,D_,O_,V_,F_,z_,U_,j_,dc,H_=Ue(()=>{"use strict";"use client";At();Yt();L_();CU=$(j(),1),D_=class{constructor(e,n){this._video=e,this._ctx=n,e.textTracks.onaddtrack=this._onAddTrack.bind(this),G(this._onDispose.bind(this))}_onAddTrack(e){let n=e.track;if(!n||SD(this._video,n))return;let i=new un({id:n.id,kind:n.kind,label:n.label,language:n.language,type:"vtt"});i[K._native]={track:n},i[K._readyState]=2,i[K._nativeHLS]=!0;let r=0,s=a=>{if(n.cues)for(let o=r;o{this._media.delegate._notify("picture-in-picture-change",i,r)},S(this._video,"enterpictureinpicture",this._onEnter.bind(this)),S(this._video,"leavepictureinpicture",this._onExit.bind(this))}get active(){return document.pictureInPictureElement===this._video}get supported(){return oh(this._video)}async enter(){return this._video.requestPictureInPicture()}exit(){return document.exitPictureInPicture()}_onEnter(e){this._onChange(!0,e)}_onExit(e){this._onChange(!1,e)}},V_=class{constructor(e,n){this._video=e,this._media=n,this._mode="inline",S(this._video,"webkitpresentationmodechanged",this._onModeChange.bind(this))}get _supported(){return lh(this._video)}async _setPresentationMode(e){this._mode!==e&&this._video.webkitSetPresentationMode(e)}_onModeChange(e){let n=this._mode;this._mode=this._video.webkitPresentationMode,this._media.player?.dispatch(new q("video-presentation-change",{detail:this._mode,trigger:e})),["fullscreen","picture-in-picture"].forEach(i=>{(this._mode===i||n===i)&&this._media.delegate._notify(`${i}-change`,this._mode===i,e)})}},F_=class{constructor(e){this._presentation=e}get active(){return this._presentation._mode==="fullscreen"}get supported(){return this._presentation._supported}async enter(){this._presentation._setPresentationMode("fullscreen")}async exit(){this._presentation._setPresentationMode("inline")}},z_=class{constructor(e){this._presentation=e}get active(){return this._presentation._mode==="picture-in-picture"}get supported(){return this._presentation._supported}async enter(){this._presentation._setPresentationMode("picture-in-picture")}async exit(){this._presentation._setPresentationMode("inline")}},U_=class{constructor(e,n){this._video=e,this._ctx=n,this._supported=O(!1),this._setup()}get supported(){return this._supported()}_setup(){D||!this._video.remote||!this._canPrompt||(this._video.remote.watchAvailability(e=>{this._supported.set(e)}).catch(()=>{this._supported.set(!1)}),b(this._watchSupported.bind(this)))}_watchSupported(){if(!this._supported())return;let e=["connecting","connect","disconnect"],n=this._onStateChange.bind(this);n(),S(this._video,"playing",n);for(let i of e)S(this._video.remote,i,n)}async prompt(){if(!this.supported)throw Error("Not supported on this platform.");return this._video.remote.prompt()}_onStateChange(e){let n=this._video.remote.state;if(n===this._state)return;let i={type:this._type,state:n};this._ctx.delegate._notify("remote-playback-change",i,e),this._state=n}},j_=class extends U_{constructor(){super(...arguments),this._type="airplay"}get _canPrompt(){return"WebKitPlaybackTargetAvailabilityEvent"in window}},dc=class extends ja{constructor(e,n){super(e,n),this.$$PROVIDER_TYPE="VIDEO",nt(()=>{if(this.airPlay=new j_(e,n),lh(e)){let i=new V_(e,n);this.fullscreen=new F_(i),this.pictureInPicture=new z_(i)}else oh(e)&&(this.pictureInPicture=new O_(e,n))},this.scope)}get type(){return"video"}setup(){super.setup(),ah(this.video)&&new D_(this.video,this._ctx),this._ctx.textRenderers._attachVideo(this.video),G(()=>{this._ctx.textRenderers._attachVideo(null)}),this.type==="video"&&this._ctx.delegate._notify("provider-setup",this)}get video(){return this._media}}});var BS={};kt(BS,{HLSProvider:()=>ch});async function CD(t,e={}){if(!Le(t)){if(e.onLoadStart?.(),t.prototype&&t.prototype!==Function)return e.onLoaded?.(t),t;try{let n=(await t())?.default;if(n&&n.isSupported)e.onLoaded?.(n);else throw Error("");return n}catch(n){e.onLoadError?.(n)}}}async function $D(t,e={}){if(U(t)){e.onLoadStart?.();try{if(await dh(t),!yt(window.Hls))throw Error("");let n=window.Hls;return e.onLoaded?.(n),n}catch(n){e.onLoadError?.(n)}}}var IU,PD,q_,B_,MD,ch,WS=Ue(()=>{"use strict";"use client";At();Yt();H_();uc();IU=$(j(),1),PD=t=>Oa(t),q_=class{constructor(e,n){this._video=e,this._ctx=n,this._instance=null,this._stopLiveSync=null,this._config={},this._callbacks=new Set,this._retryLoadingTimer=-1}get instance(){return this._instance}setup(e){let{streamType:n}=this._ctx.$state,i=C(n).includes("live"),r=C(n).includes("ll-");this._instance=new e({lowLatencyMode:r,backBufferLength:r?4:i?8:void 0,renderTextTracksNatively:!1,...this._config});let s=this._dispatchHLSEvent.bind(this);for(let a of Object.values(e.Events))this._instance.on(a,s);this._instance.on(e.Events.ERROR,this._onError.bind(this));for(let a of this._callbacks)a(this._instance);this._ctx.player.dispatch("hls-instance",{detail:this._instance}),this._instance.attachMedia(this._video),this._instance.on(e.Events.FRAG_LOADING,this._onFragLoading.bind(this)),this._instance.on(e.Events.AUDIO_TRACK_SWITCHED,this._onAudioSwitch.bind(this)),this._instance.on(e.Events.LEVEL_SWITCHED,this._onLevelSwitched.bind(this)),this._instance.on(e.Events.LEVEL_LOADED,this._onLevelLoaded.bind(this)),this._instance.on(e.Events.NON_NATIVE_TEXT_TRACKS_FOUND,this._onTracksFound.bind(this)),this._instance.on(e.Events.CUES_PARSED,this._onCuesParsed.bind(this)),this._ctx.qualities[dn._enableAuto]=this._enableAutoQuality.bind(this),S(this._ctx.qualities,"change",this._onQualityChange.bind(this)),S(this._ctx.audioTracks,"change",this._onAudioChange.bind(this)),this._stopLiveSync=b(this._liveSync.bind(this))}_liveSync(){if(!this._ctx.$state.live())return;let e=new _i(this._liveSyncPosition.bind(this));return e._start(),e._stop.bind(e)}_liveSyncPosition(){this._ctx.$state.liveSyncPosition.set(this._instance?.liveSyncPosition??1/0)}_dispatchHLSEvent(e,n){this._ctx.player?.dispatch(new q(PD(e),{detail:n}))}_onTracksFound(e,n){let i=new q(e,{detail:n}),r=-1;for(let s=0;s{l.mode==="showing"?(this._instance.subtitleTrack=s,r=s):r===s&&(this._instance.subtitleTrack=-1,r=-1)},this._ctx.textTracks.add(l,i)}}_onCuesParsed(e,n){let i=this._ctx.textTracks.getById(`hls-${n.track}`);if(!i)return;let r=new q(e,{detail:n});for(let s of n.cues)s.positionAlign="auto",i.addCue(s,r)}_onAudioSwitch(e,n){let i=this._ctx.audioTracks[n.id];if(i){let r=new q(e,{detail:n});this._ctx.audioTracks[Y._select](i,!0,r)}}_onLevelSwitched(e,n){let i=this._ctx.qualities[n.level];if(i){let r=new q(e,{detail:n});this._ctx.qualities[Y._select](i,!0,r)}}_onLevelLoaded(e,n){if(this._ctx.$state.canPlay())return;let{type:i,live:r,totalduration:s,targetduration:a}=n.details,o=new q(e,{detail:n});this._ctx.delegate._notify("stream-type-change",r?i==="EVENT"&&Number.isFinite(s)&&a>=10?"live:dvr":"live":"on-demand",o),this._ctx.delegate._notify("duration-change",s,o);let l=this._instance.media;this._instance.currentLevel===-1&&this._ctx.qualities[dn._setAuto](!0,o);for(let c of this._instance.audioTracks){let u={id:c.id.toString(),label:c.name,language:c.lang||"",kind:"main"};this._ctx.audioTracks[Y._add](u,o)}for(let c of this._instance.levels){let u={id:c.id?.toString()??c.height+"p",width:c.width,height:c.height,codec:c.codecSet,bitrate:c.bitrate};this._ctx.qualities[Y._add](u,o)}l.dispatchEvent(new q("canplay",{trigger:o}))}_onError(e,n){if(n.fatal)switch(n.type){case"networkError":this._onNetworkError(n.error);break;case"mediaError":this._instance?.recoverMediaError();break;default:this._onFatalError(n.error);break}}_onFragLoading(){this._retryLoadingTimer>=0&&this._clearRetryTimer()}_onNetworkError(e){this._clearRetryTimer(),this._instance?.startLoad(),this._retryLoadingTimer=window.setTimeout(()=>{this._retryLoadingTimer=-1,this._onFatalError(e)},5e3)}_clearRetryTimer(){clearTimeout(this._retryLoadingTimer),this._retryLoadingTimer=-1}_onFatalError(e){this._instance?.destroy(),this._instance=null,this._ctx.delegate._notify("error",{message:e.message,code:1,error:e})}_enableAutoQuality(){this._instance&&(this._instance.currentLevel=-1)}_onQualityChange(){let{qualities:e}=this._ctx;!this._instance||e.auto||(this._instance[e.switch+"Level"]=e.selectedIndex,pc&&(this._video.currentTime=this._video.currentTime))}_onAudioChange(){let{audioTracks:e}=this._ctx;this._instance&&this._instance.audioTrack!==e.selectedIndex&&(this._instance.audioTrack=e.selectedIndex)}_loadSource(e){U(e.src)&&(this._clearRetryTimer(),this._instance?.loadSource(e.src))}_destroy(){this._clearRetryTimer(),this._ctx&&(this._ctx.qualities[dn._enableAuto]=void 0),this._instance?.destroy(),this._instance=null,this._stopLiveSync?.(),this._stopLiveSync=null}},B_=class{constructor(e,n,i){this._lib=e,this._ctx=n,this._callback=i,this._startLoading()}async _startLoading(){let e={onLoadStart:this._onLoadStart.bind(this),onLoaded:this._onLoaded.bind(this),onLoadError:this._onLoadError.bind(this)},n=await $D(this._lib,e);if(Le(n)&&!U(this._lib)&&(n=await CD(this._lib,e)),!n)return null;if(!n.isSupported()){let i="[vidstack] `hls.js` is not supported in this environment";return this._ctx.player.dispatch(new q("hls-unsupported")),this._ctx.delegate._notify("error",{message:i,code:4}),null}return n}_onLoadStart(){this._ctx.player.dispatch(new q("hls-lib-load-start"))}_onLoaded(e){this._ctx.player.dispatch(new q("hls-lib-loaded",{detail:e})),this._callback(e)}_onLoadError(e){let n=wi(e);this._ctx.player.dispatch(new q("hls-lib-load-error",{detail:n})),this._ctx.delegate._notify("error",{message:n.message,code:4,error:n})}};MD="https://cdn.jsdelivr.net",ch=class extends dc{constructor(){super(...arguments),this.$$PROVIDER_TYPE="HLS",this._ctor=null,this._controller=new q_(this.video,this._ctx),this._library=`${MD}/npm/hls.js@^1.5.0/dist/hls.min.js`}get ctor(){return this._ctor}get instance(){return this._controller.instance}get type(){return"hls"}get canLiveSync(){return!0}get config(){return this._controller._config}set config(e){this._controller._config=e}get library(){return this._library}set library(e){this._library=e}preconnect(){U(this._library)&&ni(this._library)}setup(){super.setup(),new B_(this._library,this._ctx,e=>{this._ctor=e,this._controller.setup(e),this._ctx.delegate._notify("provider-setup",this);let n=C(this._ctx.$state.source);n&&this.loadSource(n)})}async loadSource(e,n){U(e.src)&&(this._media.preload=n||"",this._controller._loadSource(e),this._currentSrc=e)}onInstance(e){let n=this._controller.instance;return n&&e(n),this._controller._callbacks.add(e),()=>this._controller._callbacks.delete(e)}destroy(){this._controller._destroy()}};ch.supported=uh()});function qa(t,e=3e3){let n=Bi();return setTimeout(()=>{let i=t();i&&n.reject(i)},e),n}var Ha,W_=Ue(()=>{"use strict";"use client";At();Yt();Ha=class{constructor(e){this._iframe=e,this._src=O(""),this.referrerPolicy=null,e.setAttribute("frameBorder","0"),e.setAttribute("aria-hidden","true"),e.setAttribute("allow","autoplay; fullscreen; encrypted-media; picture-in-picture; accelerometer; gyroscope"),this.referrerPolicy!==null&&e.setAttribute("referrerpolicy",this.referrerPolicy)}get iframe(){return this._iframe}setup(){S(window,"message",this._onWindowMessage.bind(this)),S(this._iframe,"load",this._onLoad.bind(this)),b(this._watchSrc.bind(this))}_watchSrc(){let e=this._src();if(!e.length){this._iframe.setAttribute("src","");return}let n=C(()=>this._buildParams());this._iframe.setAttribute("src",KS(e,n))}_postMessage(e,n){D||this._iframe.contentWindow?.postMessage(JSON.stringify(e),n??"*")}_onWindowMessage(e){let n=this._getOrigin();if((e.source===null||e.source===this._iframe?.contentWindow)&&(!U(n)||n===e.origin)){try{let r=JSON.parse(e.data);r&&this._onMessage(r,e);return}catch{}e.data&&this._onMessage(e.data,e)}}}});var GS={};kt(GS,{getVimeoVideoInfo:()=>Y_,resolveVimeoVideoId:()=>G_});function G_(t){let e=t.match(RD);return{videoId:e?.[1],hash:e?.[2]}}async function Y_(t,e){if(K_.has(t))return K_.get(t);if(ph.has(t))return ph.get(t);let n=`https://vimeo.com/api/oembed.json?url=https://player.vimeo.com/video/${t}`,i=window.fetch(n,{mode:"cors",signal:e.signal}).then(r=>r.json()).then(r=>{let s=/vimeocdn.com\/video\/(.*)?_/,a=r?.thumbnail_url?.match(s)?.[1],o=a?`https://i.vimeocdn.com/video/${a}_1920x1080.webp`:"",l={title:r?.title??"",duration:r?.duration??0,poster:o,pro:r.account_type!=="basic"};return K_.set(t,l),l}).finally(()=>ph.delete(t));return ph.set(t,i),i}var RD,K_,ph,Q_=Ue(()=>{"use strict";"use client";RD=/(?:https:\/\/)?(?:player\.)?vimeo(?:\.com)?\/(?:video\/)?(\d+)(?:\?hash=(.*))?/,K_=new Map,ph=new Map});var YS={};kt(YS,{VimeoProvider:()=>X_});var jU,LD,X_,QS=Ue(()=>{"use strict";"use client";At();Yt();uc();W_();Q_();jU=$(j(),1),LD=["bufferend","bufferstart","durationchange","ended","enterpictureinpicture","error","fullscreenchange","leavepictureinpicture","loaded","playProgress","loadProgress","pause","play","playbackratechange","qualitychange","seeked","seeking","timeupdate","volumechange","waiting"],X_=class extends Ha{constructor(e,n){super(e),this._ctx=n,this.$$PROVIDER_TYPE="VIMEO",this.scope=Rt(),this._played=0,this._playedRange=new le(0,0),this._seekableRange=new le(0,0),this._playPromise=null,this._pausePromise=null,this._videoInfoPromise=null,this._videoId=O(""),this._pro=O(!1),this._hash=null,this._currentSrc=null,this._currentCue=null,this._timeRAF=new _i(this._onAnimationFrame.bind(this)),this._chaptersTrack=null,this.cookies=!1,this.title=!0,this.byline=!0,this.portrait=!0,this.color="00ADEF",this._skipTimeUpdates=!1}get _notify(){return this._ctx.delegate._notify}get type(){return"vimeo"}get currentSrc(){return this._currentSrc}get videoId(){return this._videoId()}get hash(){return this._hash}get isPro(){return this._pro()}preconnect(){ni(this._getOrigin())}setup(){super.setup(),b(this._watchVideoId.bind(this)),b(this._watchVideoInfo.bind(this)),b(this._watchPro.bind(this)),this._notify("provider-setup",this)}destroy(){this._reset(),this._remote("destroy")}async play(){let{paused:e}=this._ctx.$state;return this._playPromise||(this._playPromise=qa(()=>{if(this._playPromise=null,e())return"Timed out."}),this._remote("play")),this._playPromise.promise}async pause(){let{paused:e}=this._ctx.$state;return this._pausePromise||(this._pausePromise=qa(()=>{if(this._pausePromise=null,!e())return"Timed out."}),this._remote("pause")),this._pausePromise.promise}setMuted(e){this._remote("setMuted",e)}setCurrentTime(e){this._remote("seekTo",e),this._notify("seeking",e)}setVolume(e){this._remote("setVolume",e),this._remote("setMuted",C(this._ctx.$state.muted))}setPlaybackRate(e){this._remote("setPlaybackRate",e)}async loadSource(e){if(!U(e.src)){this._currentSrc=null,this._hash=null,this._videoId.set("");return}let{videoId:n,hash:i}=G_(e.src);this._videoId.set(n??""),this._hash=i??null,this._currentSrc=e}_watchVideoId(){this._reset();let e=this._videoId();if(!e){this._src.set("");return}this._src.set(`${this._getOrigin()}/video/${e}`),this._notify("load-start")}_watchVideoInfo(){let e=this._videoId();if(!e)return;let n=Bi(),i=new AbortController;return this._videoInfoPromise=n,Y_(e,i).then(r=>{n.resolve(r)}).catch(r=>{n.reject(),this._notify("error",{message:`Failed to fetch vimeo video info for id \`${e}\`.`,code:1,error:wi(r)})}),()=>{n.reject(),i.abort()}}_watchPro(){let e=this._pro(),{$state:n,qualities:i}=this._ctx;if(n.canSetPlaybackRate.set(e),i[Y._setReadonly](!e),e)return S(i,"change",()=>{if(i.auto)return;let r=i.selected?.id;r&&this._remote("setQuality",r)})}_getOrigin(){return"https://player.vimeo.com"}_buildParams(){let{$iosControls:e}=this._ctx,{keyDisabled:n}=this._ctx.$props,{controls:i,playsInline:r}=this._ctx.$state,s=i()||e();return{title:this.title,byline:this.byline,color:this.color,portrait:this.portrait,controls:s,h:this.hash,keyboard:s&&!n(),transparent:!0,playsinline:r(),dnt:!this.cookies}}_onAnimationFrame(){this._remote("getCurrentTime")}_onTimeUpdate(e,n){if(this._skipTimeUpdates&&e===0)return;let{realCurrentTime:i,realDuration:r,paused:s,bufferedEnd:a}=this._ctx.$state;if(i()===e)return;let o=i(),l={currentTime:e,played:this._getPlayedRange(e)};this._notify("time-update",l,n),Math.abs(o-e)>1.5&&(this._notify("seeking",e,n),!s()&&a(){this._skipTimeUpdates=!1},500))}_getPlayedRange(e){return this._played>=e?this._playedRange:this._playedRange=new le(0,this._played=e)}_onSeeked(e,n){this._notify("seeked",e,n)}_onReady(e){let n=this._videoId();this._videoInfoPromise?.promise.then(i=>{if(!i)return;let{title:r,poster:s,duration:a,pro:o}=i,{$iosControls:l}=this._ctx,{controls:c}=this._ctx.$state,u=c()||l();this._pro.set(o),this._seekableRange=new le(0,a),this._notify("title-change",r,e),this._notify("poster-change",s,e),this._notify("duration-change",a,e);let d={buffered:new le(0,0),seekable:this._seekableRange,duration:a};this._ctx.delegate._ready(d,e),u||this._remote("_hideOverlay"),this._remote("getQualities"),this._remote("getChapters")}).catch(i=>{n===this._videoId()&&this._notify("error",{message:"Failed to fetch oembed data",code:2,error:wi(i)})})}_onMethod(e,n,i){switch(e){case"getCurrentTime":this._onTimeUpdate(n,i);break;case"getBuffered":qe(n)&&n.length&&this._onLoadProgress(n[n.length-1][1],i);break;case"setMuted":this._onVolumeChange(C(this._ctx.$state.volume),n,i);break;case"getChapters":this._onChaptersChange(n);break;case"getQualities":this._onQualitiesChange(n,i);break}}_attachListeners(){for(let e of LD)this._remote("addEventListener",e)}_onPause(e){this._timeRAF._stop(),this._notify("pause",void 0,e),this._pausePromise?.resolve(),this._pausePromise=null}_onPlay(e){this._timeRAF._start(),this._notify("play",void 0,e),this._playPromise?.resolve(),this._playPromise=null}_onPlayProgress(e){let{paused:n}=this._ctx.$state;n()||this._notify("playing",void 0,e)}_onLoadProgress(e,n){let i={buffered:new le(0,e),seekable:this._seekableRange};this._notify("progress",i,n)}_onBufferStart(e){this._notify("waiting",void 0,e)}_onBufferEnd(e){let{paused:n}=this._ctx.$state;n()||this._notify("playing",void 0,e)}_onWaiting(e){let{paused:n}=this._ctx.$state;n()&&this._notify("play",void 0,e),this._notify("waiting",void 0,e)}_onVolumeChange(e,n,i){let r={volume:e,muted:n};this._notify("volume-change",r,i)}_onChaptersChange(e){if(this._removeChapters(),!e.length)return;let n=new un({kind:"chapters",default:!0}),{realDuration:i}=this._ctx.$state;for(let r=0;ri.id==="auto")?()=>{this._remote("setQuality","auto")}:void 0;for(let i of e){if(i.id==="auto")continue;let r=+i.id.slice(0,-1);isNaN(r)||this._ctx.qualities[Y._add]({id:i.id,width:r*(16/9),height:r,codec:"avc1,h.264",bitrate:-1},n)}this._onQualityChange(e.find(i=>i.active),n)}_onQualityChange({id:e}={},n){if(!e)return;let i=e==="auto",r=this._ctx.qualities.toArray().find(s=>s.id===e);i?(this._ctx.qualities[dn._setAuto](i,n),this._ctx.qualities[Y._select](void 0,!0,n)):this._ctx.qualities[Y._select](r,!0,n)}_onEvent(e,n,i){switch(e){case"ready":this._attachListeners();break;case"loaded":this._onReady(i);break;case"play":this._onPlay(i);break;case"playProgress":this._onPlayProgress(i);break;case"pause":this._onPause(i);break;case"loadProgress":this._onLoadProgress(n.seconds,i);break;case"waiting":this._onWaiting(i);break;case"bufferstart":this._onBufferStart(i);break;case"bufferend":this._onBufferEnd(i);break;case"volumechange":this._onVolumeChange(n.volume,C(this._ctx.$state.muted),i);break;case"durationchange":this._seekableRange=new le(0,n.duration),this._notify("duration-change",n.duration,i);break;case"playbackratechange":this._notify("rate-change",n.playbackRate,i);break;case"qualitychange":this._onQualityChange(n,i);break;case"fullscreenchange":this._notify("fullscreen-change",n.fullscreen,i);break;case"enterpictureinpicture":this._notify("picture-in-picture-change",!0,i);break;case"leavepictureinpicture":this._notify("picture-in-picture-change",!1,i);break;case"ended":this._notify("end",void 0,i);break;case"error":this._onError(n,i);break;case"seek":case"seeked":this._onSeeked(n.seconds,i);break}}_onError(e,n){if(e.method==="setPlaybackRate"&&this._pro.set(!1),e.method==="play"){this._playPromise?.reject(e.message);return}}_onMessage(e,n){e.event?this._onEvent(e.event,e.data,n):e.method&&this._onMethod(e.method,e.value,n)}_onLoad(){}_remote(e,n){return this._postMessage({method:e,value:n})}_reset(){this._timeRAF._stop(),this._played=0,this._playedRange=new le(0,0),this._seekableRange=new le(0,0),this._playPromise=null,this._pausePromise=null,this._videoInfoPromise=null,this._currentCue=null,this._pro.set(!1),this._removeChapters()}}});var XS={};kt(XS,{findYouTubePoster:()=>AD,resolveYouTubeVideoId:()=>J_});function J_(t){return t.match(ID)?.[1]}async function AD(t,e){if(Z_.has(t))return Z_.get(t);if(hh.has(t))return hh.get(t);let n=new Promise(async i=>{let r=["maxresdefault","sddefault","hqdefault"];for(let s of r)for(let a of[!0,!1]){let o=ND(t,s,a);if((await fetch(o,{mode:"no-cors",signal:e.signal})).status<400){Z_.set(t,o),i(o);return}}}).catch(()=>"").finally(()=>hh.delete(t));return hh.set(t,n),n}function ND(t,e,n){return`https://i.ytimg.com/${n?"vi_webp":"vi"}/${t}/${e}.${n?"webp":"jpg"}`}var ID,Z_,hh,ew=Ue(()=>{"use strict";"use client";ID=/(?:youtu\.be|youtube|youtube\.com|youtube-nocookie\.com)\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=|)((?:\w|-){11})/,Z_=new Map,hh=new Map});var ZS={};kt(ZS,{YouTubeProvider:()=>tw});var KU,Ss,tw,JS=Ue(()=>{"use strict";"use client";At();Yt();W_();ew();KU=$(j(),1),Ss={_Unstarted:-1,_Ended:0,_Playing:1,_Paused:2,_Buffering:3,_Cued:5},tw=class extends Ha{constructor(e,n){super(e),this._ctx=n,this.$$PROVIDER_TYPE="YOUTUBE",this.scope=Rt(),this._videoId=O(""),this._state=-1,this._seekingTimer=-1,this._pausedSeeking=!1,this._played=0,this._playedRange=new le(0,0),this._currentSrc=null,this._playPromise=null,this._pausePromise=null,this.language="en",this.color="red",this.cookies=!1}get _notify(){return this._ctx.delegate._notify}get currentSrc(){return this._currentSrc}get type(){return"youtube"}get videoId(){return this._videoId()}preconnect(){ni(this._getOrigin())}setup(){super.setup(),b(this._watchVideoId.bind(this)),this._notify("provider-setup",this)}async play(){let{paused:e}=this._ctx.$state;return this._playPromise||(this._playPromise=qa(()=>{if(this._playPromise=null,e())return"Timed out."}),this._remote("playVideo")),this._playPromise.promise}async pause(){let{paused:e}=this._ctx.$state;return this._pausePromise||(this._pausePromise=qa(()=>{this._pausePromise=null,e()}),this._remote("pauseVideo")),this._pausePromise.promise}setMuted(e){e?this._remote("mute"):this._remote("unMute")}setCurrentTime(e){this._pausedSeeking=this._ctx.$state.paused(),this._remote("seekTo",e),this._notify("seeking",e)}setVolume(e){this._remote("setVolume",e*100)}setPlaybackRate(e){this._remote("setPlaybackRate",e)}async loadSource(e){if(!U(e.src)){this._currentSrc=null,this._videoId.set("");return}let n=J_(e.src);this._videoId.set(n??""),this._currentSrc=e}_getOrigin(){return this.cookies?"https://www.youtube.com":"https://www.youtube-nocookie.com"}_watchVideoId(){this._reset();let e=this._videoId();if(!e){this._src.set("");return}this._src.set(`${this._getOrigin()}/embed/${e}`),this._notify("load-start")}_buildParams(){let{keyDisabled:e}=this._ctx.$props,{$iosControls:n}=this._ctx,{controls:i,muted:r,playsInline:s}=this._ctx.$state,a=i()||n();return{autoplay:0,cc_lang_pref:this.language,cc_load_policy:a?1:void 0,color:this.color,controls:a?1:0,disablekb:!a||e()?1:0,enablejsapi:1,fs:1,hl:this.language,iv_load_policy:a?1:3,mute:r()?1:0,playsinline:s()?1:0}}_remote(e,n){this._postMessage({event:"command",func:e,args:n?[n]:void 0})}_onLoad(){window.setTimeout(()=>this._postMessage({event:"listening"}),100)}_onReady(e){this._notify("loaded-metadata"),this._notify("loaded-data"),this._ctx.delegate._ready(void 0,e)}_onPause(e){this._pausePromise?.resolve(),this._pausePromise=null,this._notify("pause",void 0,e)}_onTimeUpdate(e,n){let{duration:i,realCurrentTime:r}=this._ctx.$state,s=this._state===Ss._Ended,a=s?i():e,o={currentTime:a,played:this._getPlayedRange(a)};this._notify("time-update",o,n),!s&&Math.abs(a-r())>1&&this._notify("seeking",a,n)}_getPlayedRange(e){return this._played>=e?this._playedRange:this._playedRange=new le(0,this._played=e)}_onProgress(e,n,i){let r={buffered:new le(0,e),seekable:n};this._notify("progress",r,i);let{seeking:s,realCurrentTime:a}=this._ctx.$state;s()&&e>a()&&this._onSeeked(i)}_onSeeked(e){let{paused:n,realCurrentTime:i}=this._ctx.$state;window.clearTimeout(this._seekingTimer),this._seekingTimer=window.setTimeout(()=>{this._notify("seeked",i(),e),this._seekingTimer=-1},n()?100:0),this._pausedSeeking=!1}_onEnded(e){let{seeking:n}=this._ctx.$state;n()&&this._onSeeked(e),this._notify("end",void 0,e)}_onStateChange(e,n){let{started:i,paused:r,seeking:s}=this._ctx.$state,a=e===Ss._Playing,o=e===Ss._Buffering,l=(r()||this._playPromise)&&(o||a);if(o&&this._notify("waiting",void 0,n),s()&&a&&this._onSeeked(n),!i()&&l&&this._pausedSeeking){this._playPromise?.reject("invalid internal play operation"),this._playPromise=null,a&&(this.pause(),this._pausedSeeking=!1);return}switch(l&&(this._playPromise?.resolve(),this._playPromise=null,this._notify("play",void 0,n)),e){case Ss._Cued:this._onReady(n);break;case Ss._Playing:this._notify("playing",void 0,n);break;case Ss._Paused:this._onPause(n);break;case Ss._Ended:this._onEnded(n);break}this._state=e}_onMessage({info:e},n){if(!e)return;let{title:i,intrinsicDuration:r,playbackRate:s}=this._ctx.$state;if(Ql(e.videoData)&&e.videoData.title!==i()&&this._notify("title-change",e.videoData.title,n),Be(e.duration)&&e.duration!==r()){if(Be(e.videoLoadedFraction)){let a=e.progressState?.loaded??e.videoLoadedFraction*e.duration,o=new le(0,e.duration);this._onProgress(a,o,n)}this._notify("duration-change",e.duration,n)}if(Be(e.playbackRate)&&e.playbackRate!==s()&&this._notify("rate-change",e.playbackRate,n),e.progressState){let{current:a,seekableStart:o,seekableEnd:l,loaded:c,duration:u}=e.progressState;this._onTimeUpdate(a,n),this._onProgress(c,new le(o,l),n),u!==r()&&this._notify("duration-change",u,n)}if(Be(e.volume)&&a_(e.muted)){let a={muted:e.muted,volume:e.volume/100};this._notify("volume-change",a,n)}Be(e.playerState)&&e.playerState!==this._state&&this._onStateChange(e.playerState,n)}_reset(){this._state=-1,this._seekingTimer=-1,this._played=0,this._playedRange=new le(0,0),this._playPromise=null,this._pausePromise=null,this._pausedSeeking=!1}}});var tP={};kt(tP,{GoogleCastProvider:()=>sw});var ZU,iw,nw,eP,rw,sw,nP=Ue(()=>{"use strict";"use client";At();Yt();uc();ow();ZU=$(j(),1),iw=class{constructor(e){this._info=new chrome.cast.media.MediaInfo(e.src,e.type)}build(){return this._info}_setStreamType(e){return e.includes("live")?this._info.streamType=chrome.cast.media.StreamType.LIVE:this._info.streamType=chrome.cast.media.StreamType.BUFFERED,this}_setTracks(e){return this._info.tracks=e.map(this._buildCastTrack),this}_setMetadata(e,n){return this._info.metadata=new chrome.cast.media.GenericMediaMetadata,this._info.metadata.title=e,this._info.metadata.images=[{url:n}],this}_buildCastTrack(e,n){let i=new chrome.cast.media.Track(n,chrome.cast.media.TrackType.TEXT);return i.name=e.label,i.trackContentId=e.src,i.trackContentType="text/vtt",i.language=e.language,i.subtype=e.kind.toUpperCase(),i}},nw=chrome.cast.media.TrackType.TEXT,eP=chrome.cast.media.TrackType.AUDIO,rw=class{constructor(e,n,i){this._cast=e,this._ctx=n,this._onNewLocalTracks=i}_setup(){let e=this._syncRemoteActiveIds.bind(this);S(this._ctx.audioTracks,"change",e),S(this._ctx.textTracks,"mode-change",e),b(this._syncLocalTracks.bind(this))}_getLocalTextTracks(){return this._ctx.$state.textTracks().filter(e=>e.src&&e.type==="vtt")}_getLocalAudioTracks(){return this._ctx.$state.audioTracks()}_getRemoteTracks(e){let n=this._cast.mediaInfo?.tracks??[];return e?n.filter(i=>i.type===e):n}_getRemoteActiveIds(){let e=[],n=this._getLocalAudioTracks().find(r=>r.selected),i=this._getLocalTextTracks().filter(r=>r.mode==="showing");if(n){let r=this._getRemoteTracks(eP),s=this._findRemoteTrack(r,n);s&&e.push(s.trackId)}if(i?.length){let r=this._getRemoteTracks(nw);if(r.length)for(let s of i){let a=this._findRemoteTrack(r,s);a&&e.push(a.trackId)}}return e}_syncLocalTracks(){let e=this._getLocalTextTracks();if(!this._cast.isMediaLoaded)return;let n=this._getRemoteTracks(nw);for(let i of e)if(!this._findRemoteTrack(n,i)){Na(()=>this._onNewLocalTracks?.());break}}_syncRemoteTracks(e){if(!this._cast.isMediaLoaded)return;let n=this._getLocalAudioTracks(),i=this._getLocalTextTracks(),r=this._getRemoteTracks(eP),s=this._getRemoteTracks(nw);for(let a of r){if(this._findLocalTrack(n,a))continue;let l={id:a.trackId.toString(),label:a.name,language:a.language,kind:a.subtype??"main",selected:!1};this._ctx.audioTracks[Y._add](l,e)}for(let a of s){if(this._findLocalTrack(i,a))continue;let l={id:a.trackId.toString(),src:a.trackContentId,label:a.name,language:a.language,kind:a.subtype.toLowerCase()};this._ctx.textTracks.add(l,e)}}_syncRemoteActiveIds(e){if(!this._cast.isMediaLoaded)return;let n=this._getRemoteActiveIds(),i=new chrome.cast.media.EditTracksInfoRequest(n);this._editTracksInfo(i).catch(r=>{})}_editTracksInfo(e){let n=fc();return new Promise((i,r)=>n?.editTracksInfo(e,i,r))}_findLocalTrack(e,n){return e.find(i=>this._isMatch(i,n))}_findRemoteTrack(e,n){return e.find(i=>this._isMatch(n,i))}_isMatch(e,n){return n.name===e.label&&n.language===e.language&&n.subtype.toLowerCase()===e.kind.toLowerCase()}},sw=class{constructor(e,n){this._player=e,this._ctx=n,this.$$PROVIDER_TYPE="GOOGLE_CAST",this.scope=Rt(),this._currentSrc=null,this._state="disconnected",this._currentTime=0,this._played=0,this._playedRange=new le(0,0),this._seekableRange=new le(0,0),this._timeRAF=new _i(this._onAnimationFrame.bind(this)),this._reloadInfo=null,this._isIdle=!1,this._tracks=new rw(this._player,this._ctx,this._onNewLocalTracks.bind(this))}get _notify(){return this._ctx.delegate._notify}get type(){return"google-cast"}get currentSrc(){return this._currentSrc}get player(){return this._player}get cast(){return Ps()}get session(){return hc()}get media(){return fc()}get hasActiveSession(){return fh(this._currentSrc)}setup(){this._attachCastContextEventListeners(),this._attachCastPlayerEventListeners(),this._tracks._setup(),this._notify("provider-setup",this)}_attachCastContextEventListeners(){aw(cast.framework.CastContextEventType.CAST_STATE_CHANGED,this._onCastStateChange.bind(this))}_attachCastPlayerEventListeners(){let e=cast.framework.RemotePlayerEventType,n={[e.IS_CONNECTED_CHANGED]:this._onCastStateChange,[e.IS_MEDIA_LOADED_CHANGED]:this._onMediaLoadedChange,[e.CAN_CONTROL_VOLUME_CHANGED]:this._onCanControlVolumeChange,[e.CAN_SEEK_CHANGED]:this._onCanSeekChange,[e.DURATION_CHANGED]:this._onDurationChange,[e.IS_MUTED_CHANGED]:this._onVolumeChange,[e.VOLUME_LEVEL_CHANGED]:this._onVolumeChange,[e.IS_PAUSED_CHANGED]:this._onPausedChange,[e.LIVE_SEEKABLE_RANGE_CHANGED]:this._onProgress,[e.PLAYER_STATE_CHANGED]:this._onPlayerStateChange};this._playerEventHandlers=n;let i=this._onRemotePlayerEvent.bind(this);for(let r of tc(n))this._player.controller.addEventListener(r,i);G(()=>{for(let r of tc(n))this._player.controller.removeEventListener(r,i)})}async play(){if(!(!this._player.isPaused&&!this._isIdle)){if(this._isIdle){await this._reload(!1,0);return}this._player.controller?.playOrPause()}}async pause(){this._player.isPaused||this._player.controller?.playOrPause()}getMediaStatus(e){return new Promise((n,i)=>{this.media?.getStatus(e,n,i)})}setMuted(e){(e&&!this._player.isMuted||!e&&this._player.isMuted)&&this._player.controller?.muteOrUnmute()}setCurrentTime(e){this._player.currentTime=e,this._notify("seeking",e),this._player.controller?.seek()}setVolume(e){this._player.volumeLevel=e,this._player.controller?.setVolumeLevel()}async loadSource(e){if(this._reloadInfo?.src!==e&&(this._reloadInfo=null),fh(e)){this._resumeSession(),this._currentSrc=e;return}this._notify("load-start");let n=this._buildLoadRequest(e),i=await this.session.loadMedia(n);if(i){this._currentSrc=null,this._notify("error",Error(mh(i)));return}this._currentSrc=e}destroy(){this._reset(),this._endSession()}_reset(){this._reloadInfo||(this._played=0,this._playedRange=new le(0,0),this._seekableRange=new le(0,0)),this._timeRAF._stop(),this._currentTime=0,this._reloadInfo=null}_resumeSession(){let e=new q("resume-session",{detail:this.session});this._onMediaLoadedChange(e);let{muted:n,volume:i,remotePlaybackInfo:r}=this._ctx.$state,s=r();this.setCurrentTime(Math.max(this._player.currentTime,s?.savedState?.currentTime??0)),this.setMuted(n()),this.setVolume(i()),s?.savedState?.paused===!1&&this.play()}_endSession(){this.cast.endCurrentSession(!0);let{remotePlaybackLoader:e}=this._ctx.$state;e.set(null)}_disconnectFromReceiver(){this._ctx.$state.remotePlaybackInfo.set({savedState:{paused:this._player.isPaused,currentTime:this._player.currentTime}}),this._endSession()}_onAnimationFrame(){this._onCurrentTimeChange()}_onRemotePlayerEvent(e){this._playerEventHandlers[e.type].call(this,e)}_onCastStateChange(e){let n=this.cast.getCastState(),i=n===cast.framework.CastState.CONNECTED?"connected":n===cast.framework.CastState.CONNECTING?"connecting":"disconnected";if(this._state===i)return;let r={type:"google-cast",state:i},s=this._createEvent(e);this._state=i,this._notify("remote-playback-change",r,s),i==="disconnected"&&this._disconnectFromReceiver()}_onMediaLoadedChange(e){if(!!!this._player.isMediaLoaded)return;let i=C(this._ctx.$state.source);Promise.resolve().then(()=>{if(i!==C(this._ctx.$state.source)||!this._player.isMediaLoaded)return;this._reset();let r=this._player.duration;this._seekableRange=new le(0,r);let s={provider:this,duration:r,buffered:this._playedRange,seekable:this._getSeekableRange()},a=this._createEvent(e);this._notify("loaded-metadata",void 0,a),this._notify("loaded-data",void 0,a),this._notify("can-play",s,a),this._onCanControlVolumeChange(),this._onCanSeekChange(e);let{volume:o,muted:l}=this._ctx.$state;this.setVolume(o()),this.setMuted(l()),this._timeRAF._start(),this._tracks._syncRemoteTracks(a),this._tracks._syncRemoteActiveIds(a)})}_onCanControlVolumeChange(){this._ctx.$state.canSetVolume.set(this._player.canControlVolume)}_onCanSeekChange(e){let n=this._createEvent(e);this._notify("stream-type-change",this._getStreamType(),n)}_getStreamType(){return this._player.mediaInfo?.streamType===chrome.cast.media.StreamType.LIVE?this._player.canSeek?"live:dvr":"live":"on-demand"}_onCurrentTimeChange(){if(this._reloadInfo)return;let e=this._player.currentTime;if(e===this._currentTime)return;let n=this._played,i=this._getPlayedRange(e),r={currentTime:e,played:i};this._notify("time-update",r),e>n&&this._onProgress(),this._ctx.$state.seeking()&&this._notify("seeked",e),this._currentTime=e}_getPlayedRange(e){return this._played>=e?this._playedRange:this._playedRange=new le(0,this._played=e)}_onDurationChange(e){if(!this._player.isMediaLoaded||this._reloadInfo)return;let n=this._player.duration,i=this._createEvent(e);this._seekableRange=new le(0,n),this._notify("duration-change",n,i)}_onVolumeChange(e){if(!this._player.isMediaLoaded)return;let n={muted:this._player.isMuted,volume:this._player.volumeLevel},i=this._createEvent(e);this._notify("volume-change",n,i)}_onPausedChange(e){let n=this._createEvent(e);this._player.isPaused?this._notify("pause",void 0,n):this._notify("play",void 0,n)}_onProgress(e){let n={seekable:this._getSeekableRange(),buffered:this._playedRange},i=e?this._createEvent(e):void 0;this._notify("progress",n,i)}_onPlayerStateChange(e){let n=this._player.playerState,i=chrome.cast.media.PlayerState;if(this._isIdle=n===i.IDLE,n===i.PAUSED)return;let r=this._createEvent(e);switch(n){case i.PLAYING:this._notify("playing",void 0,r);break;case i.BUFFERING:this._notify("waiting",void 0,r);break;case i.IDLE:this._timeRAF._stop(),this._notify("pause"),this._notify("end");break}}_getSeekableRange(){return this._player.liveSeekableRange?new le(this._player.liveSeekableRange.start,this._player.liveSeekableRange.end):this._seekableRange}_createEvent(e){return e instanceof Event?e:new q(e.type,{detail:e})}_buildMediaInfo(e){let{streamType:n,title:i,poster:r}=this._ctx.$state;return new iw(e)._setMetadata(i(),r())._setStreamType(n())._setTracks(this._tracks._getLocalTextTracks()).build()}_buildLoadRequest(e){let n=this._buildMediaInfo(e),i=new chrome.cast.media.LoadRequest(n),r=this._ctx.$state.remotePlaybackInfo();return i.autoplay=(this._reloadInfo?.paused??r?.savedState?.paused)===!1,i.currentTime=this._reloadInfo?.time??r?.savedState?.currentTime??0,i}async _reload(e,n){let i=C(this._ctx.$state.source);this._reloadInfo={src:i,paused:e,time:n},await this.loadSource(i)}_onNewLocalTracks(){this._reload(this._player.isPaused,this._player.currentTime).catch(e=>{})}}});var rP={};kt(rP,{a:()=>Ps,b:()=>hc,c:()=>mh,d:()=>zD,g:()=>fc,h:()=>fh,l:()=>aw});function DD(){return"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"}function OD(){return!!window.cast?.framework}function VD(){return!!window.chrome?.cast?.isAvailable}function iP(){return Ps().getCastState()===cast.framework.CastState.CONNECTED}function Ps(){return window.cast.framework.CastContext.getInstance()}function hc(){return Ps().getCurrentSession()}function fc(){return hc()?.getSessionObj().media[0]}function fh(t){return fc()?.media.contentId===t?.src}function FD(){return{language:"en-US",autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,resumeSavedSession:!0,androidReceiverCompatible:!0}}function mh(t){return`Google Cast Error Code: ${t}`}function aw(t,e){return sP(Ps(),t,e)}var lw,zD,ow=Ue(()=>{"use strict";"use client";Yt();At();lw=class{constructor(){this.name="google-cast"}get cast(){return Ps()}mediaType(){return"video"}canPlay(e){return pc&&!gh&&vh(e)}async prompt(e){let n;try{let i=await this._loadCastFramework(e);this._player||(this._player=new cast.framework.RemotePlayer,new cast.framework.RemotePlayerController(this._player)),n=e.player.createEvent("google-cast-prompt-open",{trigger:i}),e.player.dispatchEvent(n),this._notifyRemoteStateChange(e,"connecting",n),await this._showPrompt(C(e.$props.googleCast)),e.$state.remotePlaybackInfo.set({deviceName:hc()?.getCastDevice().friendlyName}),iP()&&this._notifyRemoteStateChange(e,"connected",n)}catch(i){let r=wi(i);throw this._notifyRemoteStateChange(e,iP()?"connected":"disconnected",new q("google-cast-prompt-error",{detail:r})),r}finally{e.player.dispatch("google-cast-prompt-close",{trigger:n})}}async load(e){if(D)throw Error("[vidstack] can not load google cast provider server-side");if(!this._player)throw Error("[vidstack] google cast player was not initialized");return new(await Promise.resolve().then(()=>(nP(),tP))).GoogleCastProvider(this._player,e)}async _loadCastFramework(e){if(OD())return;let n=e.player.createEvent("google-cast-load-start");e.player.dispatch(n),await dh(DD()),await customElements.whenDefined("google-cast-launcher");let i=e.player.createEvent("google-cast-loaded",{trigger:n});if(e.player.dispatch(i),!VD())throw Error("Cast not available.");return i}async _showPrompt(e){this._setOptions(e);let n=await this.cast.requestSession();if(n)throw Error(mh(n))}_setOptions(e){this.cast?.setOptions({...FD(),...e})}_notifyRemoteStateChange(e,n,i){let r={type:"google-cast",state:n};e.delegate._notify("remote-playback-change",r,i)}},zD=Object.freeze({__proto__:null,GoogleCastLoader:lw})});function $P(){return kh}function cw(t){if(Cs.fullscreenElement===t)return!0;try{return t.matches(Cs.fullscreenPseudoClass)}catch{return!1}}function uP(){if(!kh)throw Error("[vidstack] no fullscreen API")}function Iw(){return MP()&&yt(screen.orientation.unlock)}function MP(){return!D&&!Le(window.screen.orientation)&&!Le(window.screen.orientation.lock)}function JD(t,e){return D?!1:(t||(t=document.createElement("audio")),t.canPlayType(e).length>0)}function eO(t,e){return D?!1:(t||(t=document.createElement("video")),t.canPlayType(e).length>0)}function ah(t){return D?!1:(t||(t=document.createElement("video")),t.canPlayType("application/vnd.apple.mpegurl").length>0)}function oh(t){return D?!1:!!document.pictureInPictureEnabled&&!t?.disablePictureInPicture}function lh(t){return D?!1:yt(t?.webkitSupportsPresentationMode)&&yt(t?.webkitSetPresentationMode)}async function RP(){let t=document.createElement("video");return t.volume=.5,await h_(0),t.volume===.5}function tO(){return D?void 0:window?.ManagedMediaSource??window?.MediaSource??window?.WebKitMediaSource}function nO(){return D?void 0:window?.SourceBuffer??window?.WebKitSourceBuffer}function uh(){if(D)return!1;let t=tO();if(Le(t))return!1;let e=t&&yt(t.isTypeSupported)&&t.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),n=nO(),i=Le(n)||!Le(n.prototype)&&yt(n.prototype.appendBuffer)&&yt(n.prototype.remove);return!!e&&!!i}function hw(t){if(!t.length)return null;let e=t.start(0);for(let n=1;ne&&(e=i)}return e}function KS(t,e){let n=new URLSearchParams;for(let i of Object.keys(e))n.set(i,e[i]+"");return t+"?"+n.toString()}function ni(t,e="preconnect"){if(D)return!1;let n=document.querySelector(`link[href="${t}"]`);if(!vi(n))return!0;let i=document.createElement("link");return i.rel=e,i.href=t,i.crossOrigin="true",document.head.append(i),!0}function dh(t){if(yh[t])return yh[t].promise;let e=Bi(),n=document.querySelector(`script[src="${t}"]`);if(!vi(n))return e.resolve(),e.promise;let i=document.createElement("script");return i.src=t,i.onload=()=>{e.resolve(),delete yh[t]},i.onerror=()=>{e.reject(),delete yh[t]},setTimeout(()=>document.head.append(i),0),e.promise}function Eh(t){return t==="use-credentials"?"include":U(t)?"same-origin":void 0}function Sh(t,e){return e>=t.startTime&&es.includes(o.kind)&&o.mode==="showing");if(a!==i){if(!a){n(null),i=null;return}a.readyState==2?n(a):(n(null),a.addEventListener("load",()=>n(a),{once:!0})),i=a}}return r(),S(t,"mode-change",r)}function We(t){return uO.test(t.kind)}function AP(t,e,n){let i=U(t)?JSON.parse(t):t,r=[],s=[];return i.regions&&n&&(r=i.regions.map(a=>Object.assign(new n,a))),(i.cues||qe(i))&&(s=(qe(i)?i:i.cues).filter(a=>Be(a.startTime)&&Be(a.endTime)).map(a=>Object.assign(new e(0,0,""),a))),{regions:r,cues:s}}function NP(t){Vs.reset(t,e=>dO.has(e)),ti()}function ce(){return Ie(au)}function DP(t){return t.split("-")[0]}function pO(t){return t.split("-")[1]}function hO(t){return t==="x"?"y":"x"}function fO(t){return t==="y"?"height":"width"}function OP(t){return["top","bottom"].includes(DP(t))?"y":"x"}function mO(t){return hO(OP(t))}function VP(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function mP(t,e,n){let{reference:i,floating:r}=t,s=OP(e),a=mO(e),o=fO(a),l=DP(e),c=s==="y",u=i.x+i.width/2-r.width/2,d=i.y+i.height/2-r.height/2,p=i[o]/2-r[o]/2,h;switch(l){case"top":h={x:u,y:i.y-r.height};break;case"bottom":h={x:u,y:i.y+i.height};break;case"right":h={x:i.x+i.width,y:d};break;case"left":h={x:i.x-r.width,y:d};break;default:h={x:i.x,y:i.y}}switch(pO(e)){case"start":h[a]-=p*(n&&c?-1:1);break;case"end":h[a]+=p*(n&&c?-1:1);break}return h}function Or(t){return FP(t)?(t.nodeName||"").toLowerCase():"#document"}function hn(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function tr(t){var e;return(e=(FP(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function FP(t){return t instanceof Node||t instanceof hn(t).Node}function Qi(t){return t instanceof Element||t instanceof hn(t).Element}function bi(t){return t instanceof HTMLElement||t instanceof hn(t).HTMLElement}function gP(t){return typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof hn(t).ShadowRoot}function ou(t){let{overflow:e,overflowX:n,overflowY:i,display:r}=Ln(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&!["inline","contents"].includes(r)}function vO(t){return["table","td","th"].includes(Or(t))}function Nw(t){let e=Dw(),n=Ln(t);return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(i=>(n.willChange||"").includes(i))||["paint","layout","strict","content"].some(i=>(n.contain||"").includes(i))}function zP(t){let e=Ya(t);for(;bi(e)&&!hf(e);){if(Nw(e))return e;e=Ya(e)}return null}function Dw(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function hf(t){return["html","body","#document"].includes(Or(t))}function Ln(t){return hn(t).getComputedStyle(t)}function ff(t){return Qi(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Ya(t){if(Or(t)==="html")return t;let e=t.assignedSlot||t.parentNode||gP(t)&&t.host||tr(t);return gP(e)?e.host:e}function UP(t){let e=Ya(t);return hf(e)?t.ownerDocument?t.ownerDocument.body:t.body:bi(e)&&ou(e)?e:UP(e)}function yc(t,e,n){var i;e===void 0&&(e=[]),n===void 0&&(n=!0);let r=UP(t),s=r===((i=t.ownerDocument)==null?void 0:i.body),a=hn(r);return s?e.concat(a,a.visualViewport||[],ou(r)?r:[],a.frameElement&&n?yc(a.frameElement):[]):e.concat(r,yc(r,[],n))}function jP(t){let e=Ln(t),n=parseFloat(e.width)||0,i=parseFloat(e.height)||0,r=bi(t),s=r?t.offsetWidth:n,a=r?t.offsetHeight:i,o=Ph(n)!==s||Ph(i)!==a;return o&&(n=s,i=a),{width:n,height:i,$:o}}function Ow(t){return Qi(t)?t:t.contextElement}function Wa(t){let e=Ow(t);if(!bi(e))return Dr(1);let n=e.getBoundingClientRect(),{width:i,height:r,$:s}=jP(e),a=(s?Ph(n.width):n.width)/i,o=(s?Ph(n.height):n.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!o||!Number.isFinite(o))&&(o=1),{x:a,y:o}}function HP(t){let e=hn(t);return!Dw()||!e.visualViewport?yO:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function _O(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==hn(t)?!1:e}function $s(t,e,n,i){e===void 0&&(e=!1),n===void 0&&(n=!1);let r=t.getBoundingClientRect(),s=Ow(t),a=Dr(1);e&&(i?Qi(i)&&(a=Wa(i)):a=Wa(t));let o=_O(s,n,i)?HP(s):Dr(0),l=(r.left+o.x)/a.x,c=(r.top+o.y)/a.y,u=r.width/a.x,d=r.height/a.y;if(s){let p=hn(s),h=i&&Qi(i)?hn(i):i,y=p.frameElement;for(;y&&i&&h!==p;){let v=Wa(y),w=y.getBoundingClientRect(),m=Ln(y),f=w.left+(y.clientLeft+parseFloat(m.paddingLeft))*v.x,g=w.top+(y.clientTop+parseFloat(m.paddingTop))*v.y;l*=v.x,c*=v.y,u*=v.x,d*=v.y,l+=f,c+=g,y=hn(y).frameElement}}return VP({width:u,height:d,x:l,y:c})}function qP(t){let e=!1,n=0,i=0;function r(a){try{e=e||t.matches(a)}catch{}}wO.forEach(a=>{r(a)});let s=zP(t);if(e&&s){let a=s.getBoundingClientRect();n=a.x,i=a.y}return[e,n,i]}function bO(t){let{elements:e,rect:n,offsetParent:i,strategy:r}=t,s=tr(i),[a]=e?qP(e.floating):[!1];if(i===s||a)return n;let o={scrollLeft:0,scrollTop:0},l=Dr(1),c=Dr(0),u=bi(i);if((u||!u&&r!=="fixed")&&((Or(i)!=="body"||ou(s))&&(o=ff(i)),bi(i))){let d=$s(i);l=Wa(i),c.x=d.x+i.clientLeft,c.y=d.y+i.clientTop}return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-o.scrollLeft*l.x+c.x,y:n.y*l.y-o.scrollTop*l.y+c.y}}function xO(t){return Array.from(t.getClientRects())}function BP(t){return $s(tr(t)).left+ff(t).scrollLeft}function kO(t){let e=tr(t),n=ff(t),i=t.ownerDocument.body,r=Ba(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),s=Ba(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight),a=-n.scrollLeft+BP(t),o=-n.scrollTop;return Ln(i).direction==="rtl"&&(a+=Ba(e.clientWidth,i.clientWidth)-r),{width:r,height:s,x:a,y:o}}function TO(t,e){let n=hn(t),i=tr(t),r=n.visualViewport,s=i.clientWidth,a=i.clientHeight,o=0,l=0;if(r){s=r.width,a=r.height;let c=Dw();(!c||c&&e==="fixed")&&(o=r.offsetLeft,l=r.offsetTop)}return{width:s,height:a,x:o,y:l}}function EO(t,e){let n=$s(t,!0,e==="fixed"),i=n.top+t.clientTop,r=n.left+t.clientLeft,s=bi(t)?Wa(t):Dr(1),a=t.clientWidth*s.x,o=t.clientHeight*s.y,l=r*s.x,c=i*s.y;return{width:a,height:o,x:l,y:c}}function vP(t,e,n){let i;if(e==="viewport")i=TO(t,n);else if(e==="document")i=kO(tr(t));else if(Qi(e))i=EO(e,n);else{let r=HP(t);i={...e,x:e.x-r.x,y:e.y-r.y}}return VP(i)}function WP(t,e){let n=Ya(t);return n===e||!Qi(n)||hf(n)?!1:Ln(n).position==="fixed"||WP(n,e)}function SO(t,e){let n=e.get(t);if(n)return n;let i=yc(t,[],!1).filter(o=>Qi(o)&&Or(o)!=="body"),r=null,s=Ln(t).position==="fixed",a=s?Ya(t):t;for(;Qi(a)&&!hf(a);){let o=Ln(a),l=Nw(a);!l&&o.position==="fixed"&&(r=null),(s?!l&&!r:!l&&o.position==="static"&&!!r&&["absolute","fixed"].includes(r.position)||ou(a)&&!l&&WP(t,a))?i=i.filter(u=>u!==a):r=o,a=Ya(a)}return e.set(t,i),i}function PO(t){let{element:e,boundary:n,rootBoundary:i,strategy:r}=t,a=[...n==="clippingAncestors"?SO(e,this._c):[].concat(n),i],o=a[0],l=a.reduce((c,u)=>{let d=vP(e,u,r);return c.top=Ba(d.top,c.top),c.right=mw(d.right,c.right),c.bottom=mw(d.bottom,c.bottom),c.left=Ba(d.left,c.left),c},vP(e,o,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function CO(t){let{width:e,height:n}=jP(t);return{width:e,height:n}}function $O(t,e,n,i){let r=bi(e),s=tr(e),a=n==="fixed",o=$s(t,!0,a,e),l={scrollLeft:0,scrollTop:0},c=Dr(0);if(r||!r&&!a)if((Or(e)!=="body"||ou(s))&&(l=ff(e)),r){let v=$s(e,!0,a,e);c.x=v.x+e.clientLeft,c.y=v.y+e.clientTop}else s&&(c.x=BP(s));let u=o.left+l.scrollLeft-c.x,d=o.top+l.scrollTop-c.y,[p,h,y]=qP(i);return p&&(u+=h,d+=y,r&&(u+=e.clientLeft,d+=e.clientTop)),{x:u,y:d,width:o.width,height:o.height}}function yP(t,e){return!bi(t)||Ln(t).position==="fixed"?null:e?e(t):t.offsetParent}function KP(t,e){let n=hn(t);if(!bi(t))return n;let i=yP(t,e);for(;i&&vO(i)&&Ln(i).position==="static";)i=yP(i,e);return i&&(Or(i)==="html"||Or(i)==="body"&&Ln(i).position==="static"&&!Nw(i))?n:i||zP(t)||n}function RO(t){return Ln(t).direction==="rtl"}function IO(t,e){let n=null,i,r=tr(t);function s(){var o;clearTimeout(i),(o=n)==null||o.disconnect(),n=null}function a(o,l){o===void 0&&(o=!1),l===void 0&&(l=1),s();let{left:c,top:u,width:d,height:p}=t.getBoundingClientRect();if(o||e(),!d||!p)return;let h=_h(u),y=_h(r.clientWidth-(c+d)),v=_h(r.clientHeight-(u+p)),w=_h(c),f={rootMargin:-h+"px "+-y+"px "+-v+"px "+-w+"px",threshold:Ba(0,mw(1,l))||1},g=!0;function x(E){let L=E[0].intersectionRatio;if(L!==l){if(!g)return a();L?a(!1,L):i=setTimeout(()=>{a(!1,1e-7)},100)}g=!1}try{n=new IntersectionObserver(x,{...f,root:r.ownerDocument})}catch{n=new IntersectionObserver(x,f)}n.observe(t)}return a(!0),s}function AO(t,e,n,i){i===void 0&&(i={});let{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:l=!1}=i,c=Ow(t),u=r||s?[...c?yc(c):[],...yc(e)]:[];u.forEach(m=>{r&&m.addEventListener("scroll",n,{passive:!0}),s&&m.addEventListener("resize",n)});let d=c&&o?IO(c,n):null,p=-1,h=null;a&&(h=new ResizeObserver(m=>{let[f]=m;f&&f.target===c&&h&&(h.unobserve(e),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var g;(g=h)==null||g.observe(e)})),n()}),c&&!l&&h.observe(c),h.observe(e));let y,v=l?$s(t):null;l&&w();function w(){let m=$s(t);v&&(m.x!==v.x||m.y!==v.y||m.width!==v.width||m.height!==v.height)&&n(),v=m,y=requestAnimationFrame(w)}return n(),()=>{var m;u.forEach(f=>{r&&f.removeEventListener("scroll",n),s&&f.removeEventListener("resize",n)}),d?.(),(m=h)==null||m.disconnect(),h=null,l&&cancelAnimationFrame(y)}}function sP(t,e,n){if(t)return S(t,e,n)}function ye(t,e,n){t.hasAttribute(e)||t.setAttribute(e,n)}function zr(t,e){if(t.hasAttribute("aria-label")||t.hasAttribute("data-no-label"))return;function n(){J(t,"aria-label",e())}D?n():b(n)}function GP(t,e,n){for(;e;){if(e===t)return!0;if(n?.(e))break;e=e.parentElement}return!1}function Vr(t,e){S(t,"pointerup",n=>{n.button===0&&e(n)}),S(t,"keydown",n=>{Zl(n)&&e(n)})}function Vw(t){return Da(t)&&(t.touches.length>1||t.changedTouches.length>1)}function Ch(t){if(D)return t();let e=Kl(),n=window.requestAnimationFrame(()=>{nt(t,e),n=-1});return()=>void window.cancelAnimationFrame(n)}function YP(t,e,n,{offsetVarName:i,xOffset:r,yOffset:s,...a}){if(!t)return;let o=n.replace(" ","-").replace("-center","");if(ct(t,"visibility",e?null:"hidden"),!e)return;let l=u=>n.includes("left")?`calc(-1 * ${u})`:u,c=u=>n.includes("top")?`calc(-1 * ${u})`:u;return AO(e,t,()=>{NO(e,t,{placement:o,...a}).then(({x:u,y:d})=>{Object.assign(t.style,{top:`calc(${d+"px"} + ${c(s?s+"px":`var(--${i}-y-offset, 0px)`)})`,left:`calc(${u+"px"} + ${l(r?r+"px":`var(--${i}-x-offset, 0px)`)})`})})})}function DO(t){return getComputedStyle(t).animationName!=="none"}function OO(t,e,n){var i=null,r=null,s=n&&n.leading,a=n&&n.trailing;s==null&&(s=!0),a==null&&(a=!s),s==!0&&(a=!1);var o=function(){i&&(clearTimeout(i),i=null)},l=function(){var u=r;o(),u&&u()},c=function(){var u=s&&!i,d=this,p=arguments;if(r=function(){return t.apply(d,p)},i||(i=setTimeout(function(){if(i=null,a)return r()},e)),u)return u=!1,r()};return c.cancel=o,c.flush=l,c}function VO(t,e,n){var i=null,r=null,s=function(){i&&(clearTimeout(i),r=null,i=null)},a=function(){var l=r;s(),l&&l()},o=function(){if(!e)return t.apply(this,arguments);var l=this,c=arguments,u=n&&!i;if(s(),r=function(){t.apply(l,c)},i=setTimeout(function(){if(i=null,!u){var d=r;return r=null,d()}},e),u)return r()};return o.cancel=s,o.flush=a,o}function ro(t){return t?.$$PROVIDER_TYPE==="VIDEO"}function QP(t){return!D&&t instanceof HTMLAudioElement}function XP(t){return!D&&t instanceof HTMLVideoElement}function ZP(t){return QP(t)||XP(t)}function HO(t){return t.replace(/Shift\+(\d)/g,(e,n)=>jO[n-1])}function zw({src:t,type:e}){return U(t)?e1.test(t)||t1.has(e)||t.startsWith("blob:")&&e==="audio/object":e==="audio/object"}function Uw(t){return U(t.src)?n1.test(t.src)||i1.has(t.type)||t.src.startsWith("blob:")&&t.type==="video/object"||Es(t)&&(D||ah()):t.type==="video/object"}function Es({src:t,type:e}){return U(t)&&r1.test(t)||s1.has(e)}function vh(t){return U(t.src)&&(zw(t)||Uw(t)||Es(t))}function A_(t){return!D&&typeof window.MediaStream<"u"&&t instanceof window.MediaStream}function wi(t){return t instanceof Error?t:Error(JSON.stringify(t))}function Gi(t,e){if(!t)throw Error(e||"Assertion failed.")}function dw(t,e){if(!(t&&e))throw Error("[vidstack] media not ready")}function bP(t,e){if(!e?.supported)throw Error("[vidstack] no fullscreen support")}function Dt(t,e=2){return Number(t.toFixed(e))}function sh(t){return String(t).split(".")[1]?.length??0}function jw(t,e,n){return Math.max(t,Math.min(n,e))}function wh(t,e){J(t,"data-focus",e),J(t,"data-hocus",e)}function xP(t,e){J(t,"data-hocus",e),J(t,"data-hover",e)}function c1(t,e){return fetch(t,e).then(n=>n.text()).then(n=>{let i=XO(n);if(i)return c1(/^https?:/.test(i)?i:new URL(i,t).href,e);let r=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(n)?"on-demand":"live";return r==="live"&&ZO(n)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(n)||n.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":r})}function XO(t){let e=t.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g);return e?e[0].split(` +`)[1].trim():null}function ZO(t){let e=t.split(` +`);for(let n of e)if(n.startsWith("#EXT-X-TARGETDURATION")){let i=parseFloat(n.split(":")[1]);if(!isNaN(i))return i}return-1}function kP(t){return(qe(t)?t:[!U(t)&&"src"in t?t:{src:t}]).map(({src:e,type:n,...i})=>({src:e,type:n??(U(e)?u1.get(e):null)??(!U(e)||e.startsWith("blob:")?"video/object":e.includes("youtube")?"video/youtube":e.includes("vimeo")?"video/vimeo":"?"),...i})).sort(e=>e.type==="?"?1:-1)}function TP(t,e){return t?.src===e?.src&&t?.type===e?.type}function a3(t){return t?"true":"false"}function Xt(t){return()=>a3(t())}function EP(t,e,n){let i=e-t,r=n-t;return i>0?r/i:0}function o3(t,e,n,i){return jw(t,Dt(n,sh(i)),e)}function l3(t,e,n,i){let r=jw(0,n,1),s=e-t,a=s*r,o=a/i,l=i*o;return t+l}function pw(t,e){let n=String(t),i=n.length;if(i=3600?pw(s,2):s,c=pw(a,2);return r>0||i?`${o}:${l}:${c}`:`${l}:${c}`}function kc(t){let e=[],{hours:n,minutes:i,seconds:r}=d1(t);return n>0&&e.push(`${n} hour`),i>0&&e.push(`${i} min`),(r>0||e.length===0)&&e.push(`${r} sec`),e.join(" ")}function Hw(t,{clamp:e,offset:n,orientation:i}){let r=getComputedStyle(t),s=parseFloat(r.width),a=parseFloat(r.height),o={top:null,right:null,bottom:null,left:null};if(o[i==="horizontal"?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${n}px))`,i==="horizontal"){let l=s/2;if(!e)o.left=`calc(var(--slider-pointer) - ${l}px)`;else{let c=`max(0px, calc(var(--slider-pointer) - ${l}px))`,u=`calc(100% - ${s}px)`;o.left=`min(${c}, ${u})`}}else{let l=a/2;if(!e)o.bottom=`calc(var(--slider-pointer) - ${l}px)`;else{let c=`max(${l}px, calc(var(--slider-pointer) - ${l}px))`,u=`calc(100% - ${a}px)`;o.bottom=`min(${c}, ${u})`}}Object.assign(t.style,o)}function j3(t){return ke.isValidElement(t)&&t.type===U3}function H3(t,e){let n={...e};for(let i in e){let r=t[i],s=e[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{s(...o),r(...o)}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...t,...n}}function f1(t){return t?.$$PROVIDER_TYPE==="REMOTION"}function _e(t,e){let n=Lr(Vs);return he((e?.current?.$state||n||B3)[t])}var ke,UD,jD,HD,qD,BD,WD,KD,GD,YD,QD,XD,Y,aP,vc,pn,oP,lP,cP,Qt,Rn,Cs,kh,Th,D,ZD,gh,dP,pc,I_,LP,Aw,le,yh,iO,rO,sO,aO,oO,lO,cO,K,pP,hP,fP,un,uO,Vs,dO,au,Ga,mw,Ba,Ph,_h,Dr,gO,yO,wO,MO,LO,NO,Xi,$h,lu,Mh,gw,Rh,Fw,Lh,mc,Ih,Ah,FO,zO,dn,Nh,JP,_P,UO,wP,vw,jO,Dh,e1,t1,n1,i1,r1,s1,Oh,_c,a1,l1,Vh,Fh,uw,qO,BO,zh,yw,_w,Uh,ww,bw,WO,xw,kw,KO,jh,fn,GO,YO,Te,fe,QO,u1,Ew,Sw,JO,e3,t3,Qa,Hh,qh,Bh,Ka,n3,Wh,Kh,wc,it,i3,r3,s3,bc,Gh,Yh,Qh,Xh,Zh,Jh,ef,tf,nf,mf,SP,Pw,xc,gf,xi,Zi,Yi,bh,rf,Xa,sf,c3,u3,d3,Ms,p3,h3,f3,Za,Tc,Ec,Ja,m3,g3,vf,Ji,ut,v3,PP,Cw,y3,_3,cu,w3,er,b3,x3,k3,Rs,af,of,gc,Sc,$w,Fr,T3,E3,p1,eo,S3,P3,C3,to,$3,M3,qw,Ls,R3,L3,Bw,Is,I3,A3,Ww,As,N3,D3,Kw,Ns,O3,V3,Gw,Ds,lf,Mw,cf,Pc,Cc,F3,z3,Rw,Os,uf,$c,Mc,df,Rc,Lc,Ic,Ac,Nc,Dc,Oc,Vc,Fc,zc,Uc,jc,Hc,qc,Bc,Wc,Kc,Gc,Yc,Qc,Xc,Zc,Jc,eu,tu,nu,iu,ru,pf,no,su,h1,Lw,U3,q3,H,CP,B3,Yt=Ue(()=>{"use strict";"use client";ke=$(j(),1);At();jD=Symbol(0);UD=jD;HD=Symbol(0),qD=Symbol(0),BD=Symbol(0),WD=Symbol(0),KD=Symbol(0),GD=Symbol(0),YD=Symbol(0),QD=Symbol(0),XD=Symbol(0),Y={_add:HD,_remove:qD,_reset:BD,_select:WD,_readonly:KD,_setReadonly:GD,_onReset:YD,_onRemove:QD,_onUserSelect:XD},vc=class extends Ia{constructor(){super(...arguments),this._items=[],this[aP]=!1}get length(){return this._items.length}get readonly(){return this[Y._readonly]}toArray(){return[...this._items]}[(aP=Y._readonly,Symbol.iterator)](){return this._items.values()}[Y._add](e,n){let i=this._items.length;""+i in this||Object.defineProperty(this,i,{get(){return this._items[i]}}),!this._items.includes(e)&&(this._items.push(e),this.dispatchEvent(new q("add",{detail:e,trigger:n})))}[Y._remove](e,n){let i=this._items.indexOf(e);i>=0&&(this[Y._onRemove]?.(e,n),this._items.splice(i,1),this.dispatchEvent(new q("remove",{detail:e,trigger:n})))}[Y._reset](e){for(let n of[...this._items])this[Y._remove](n,e);this._items=[],this[Y._setReadonly](!1,e),this[Y._onReset]?.()}[Y._setReadonly](e,n){this[Y._readonly]!==e&&(this[Y._readonly]=e,this.dispatchEvent(new q("readonly-change",{detail:e,trigger:n})))}},pn={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},oP=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],lP=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],cP=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],Qt=typeof window<"u"&&typeof window.document<"u"?window.document:{},Rn="fullscreenEnabled"in Qt&&Object.keys(pn)||oP[0]in Qt&&oP||lP[0]in Qt&&lP||cP[0]in Qt&&cP||[],Cs={requestFullscreen:function(t){return t[Rn[pn.requestFullscreen]]()},requestFullscreenFunction:function(t){return t[Rn[pn.requestFullscreen]]},get exitFullscreen(){return Qt[Rn[pn.exitFullscreen]].bind(Qt)},get fullscreenPseudoClass(){return":"+Rn[pn.fullscreen]},addEventListener:function(t,e,n){return Qt.addEventListener(Rn[pn[t]],e,n)},removeEventListener:function(t,e,n){return Qt.removeEventListener(Rn[pn[t]],e,n)},get fullscreenEnabled(){return!!Qt[Rn[pn.fullscreenEnabled]]},set fullscreenEnabled(t){},get fullscreenElement(){return Qt[Rn[pn.fullscreenElement]]},set fullscreenElement(t){},get onfullscreenchange(){return Qt[("on"+Rn[pn.fullscreenchange]).toLowerCase()]},set onfullscreenchange(t){return Qt[("on"+Rn[pn.fullscreenchange]).toLowerCase()]=t},get onfullscreenerror(){return Qt[("on"+Rn[pn.fullscreenerror]).toLowerCase()]},set onfullscreenerror(t){return Qt[("on"+Rn[pn.fullscreenerror]).toLowerCase()]=t}},kh=Cs.fullscreenEnabled,Th=class extends Lt{constructor(){super(...arguments),this._listening=!1,this._active=!1}get active(){return this._active}get supported(){return kh}onConnect(){S(Cs,"fullscreenchange",this._onFullscreenChange.bind(this)),S(Cs,"fullscreenerror",this._onFullscreenError.bind(this)),G(this._onDisconnect.bind(this))}async _onDisconnect(){kh&&await this.exit()}_onFullscreenChange(e){let n=cw(this.el);n!==this._active&&(n||(this._listening=!1),this._active=n,this.dispatch("fullscreen-change",{detail:n,trigger:e}))}_onFullscreenError(e){this._listening&&(this.dispatch("fullscreen-error",{detail:null,trigger:e}),this._listening=!1)}async enter(){try{return this._listening=!0,!this.el||cw(this.el)?void 0:(uP(),Cs.requestFullscreen(this.el))}catch(e){throw this._listening=!1,e}}async exit(){if(!(!this.el||!cw(this.el)))return uP(),Cs.exitFullscreen()}};D=typeof document>"u",ZD=D?"":navigator?.userAgent.toLowerCase()||"",gh=!D&&/iphone|ipad|ipod|ios|crios|fxios/i.test(ZD),dP=!D&&/(iphone|ipod)/gi.test(navigator?.platform||""),pc=!D&&!!window.chrome,I_=!D&&(!!window.safari||gh);LP=class IP extends Lt{constructor(){super(...arguments),this._type=O(this._getScreenOrientation()),this._locked=O(!1)}get type(){return this._type()}get locked(){return this._locked()}get portrait(){return this._type().startsWith("portrait")}get landscape(){return this._type().startsWith("landscape")}get supported(){return IP.supported}onConnect(){if(this.supported)S(screen.orientation,"change",this._onOrientationChange.bind(this));else{let e=window.matchMedia("(orientation: landscape)");e.onchange=this._onOrientationChange.bind(this),G(()=>e.onchange=null)}G(this._onDisconnect.bind(this))}async _onDisconnect(){this.supported&&this._locked()&&await this.unlock()}_onOrientationChange(e){this._type.set(this._getScreenOrientation()),this.dispatch("orientation-change",{detail:{orientation:C(this._type),lock:this._currentLock},trigger:e})}async lock(e){C(this._locked)||this._currentLock===e||(this._assertScreenOrientationAPI(),await screen.orientation.lock(e),this._locked.set(!0),this._currentLock=e)}async unlock(){C(this._locked)&&(this._assertScreenOrientationAPI(),this._currentLock=void 0,await screen.orientation.unlock(),this._locked.set(!1))}_assertScreenOrientationAPI(){if(!this.supported)throw Error("[vidstack] no orientation API")}_getScreenOrientation(){return D?"portrait-primary":this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}};LP.supported=Iw();Aw=LP,le=class{get length(){return this._ranges.length}constructor(e,n){qe(e)?this._ranges=e:!Le(e)&&!Le(n)?this._ranges=[[e,n]]:this._ranges=[]}start(e){return this._ranges[e][0]??1/0}end(e){return this._ranges[e][1]??1/0}};yh={};iO=Symbol(0),rO=Symbol(0),sO=Symbol(0),aO=Symbol(0),oO=Symbol(0),lO=Symbol(0),cO=Symbol(0),K={_crossOrigin:iO,_readyState:rO,_updateActiveCues:sO,_canLoad:aO,_onModeChange:oO,_native:lO,_nativeHLS:cO};un=class extends Ia{constructor(e){super(),this.id="",this.label="",this.language="",this.default=!1,this._canLoad=!1,this._currentTime=0,this._mode="disabled",this._metadata={},this._regions=[],this._cues=[],this._activeCues=[],this[pP]=0,this[hP]=null,this[fP]=null;for(let n of Object.keys(e))this[n]=e[n];this.type||(this.type="vtt"),!D&&e.content?Promise.resolve().then(()=>(cc(),lc)).then(({parseText:n,VTTCue:i,VTTRegion:r})=>{!U(e.content)||e.type==="json"?(this._parseJSON(e.content,i,r),this.readyState!==3&&this._readyState()):n(e.content,{type:e.type}).then(({cues:s,regions:a})=>{this._cues=s,this._regions=a,this._readyState()})}):e.src||(this[K._readyState]=2)}static createId(e){return`id::${e.type}-${e.kind}-${e.src??e.label}`}get metadata(){return this._metadata}get regions(){return this._regions}get cues(){return this._cues}get activeCues(){return this._activeCues}get readyState(){return this[K._readyState]}get mode(){return this._mode}set mode(e){this.setMode(e)}addCue(e,n){let i=0,r=this._cues.length;for(i=0;i=0){let r=this._activeCues.includes(e);this._cues.splice(i,1),this[K._native]?.track.removeCue(e),this.dispatchEvent(new q("remove-cue",{detail:e,trigger:n})),r&&this[K._updateActiveCues](this._currentTime,n)}}setMode(e,n){this._mode!==e&&(this._mode=e,e==="disabled"?(this._activeCues=[],this._activeCuesChanged()):this.readyState===2?this[K._updateActiveCues](this._currentTime,n):this._load(),this.dispatchEvent(new q("mode-change",{detail:this,trigger:n})),this[K._onModeChange]?.())}[(pP=K._readyState,hP=K._onModeChange,fP=K._native,K._updateActiveCues)](e,n){if(this._currentTime=e,this.mode==="disabled"||!this._cues.length)return;let i=[];for(let s=0,a=this._cues.length;s0)){this[K._readyState]=1,this.dispatchEvent(new q("load-start"));try{let{parseResponse:e,VTTCue:n,VTTRegion:i}=await Promise.resolve().then(()=>(cc(),lc)),r=this[K._crossOrigin]?.(),s=fetch(this.src,{headers:this.type==="json"?{"Content-Type":"application/json"}:void 0,credentials:Eh(r)});if(this.type==="json")this._parseJSON(await(await s).text(),n,i);else{let{errors:a,metadata:o,regions:l,cues:c}=await e(s,{type:this.type,encoding:this.encoding});if(a[0]?.code===0)throw a[0];this._metadata=o,this._regions=l,this._cues=c}this._readyState()}catch(e){this._errorState(e)}}}_readyState(){if(this[K._readyState]=2,!this.src||this.type!=="vtt"){let n=this[K._native]?.track;if(n)for(let i of this._cues)n.addCue(i)}let e=new q("load");this[K._updateActiveCues](this._currentTime,e),this.dispatchEvent(e)}_errorState(e){this[K._readyState]=3,this.dispatchEvent(new q("error",{detail:e}))}_parseJSON(e,n,i){try{let{regions:r,cues:s}=AP(e,n,i);this._regions=r,this._cues=s}catch(r){this._errorState(r)}}_activeCuesChanged(e){this.dispatchEvent(new q("cue-change",{trigger:e}))}},uO=/captions|subtitles/;Vs=new ei({artist:"",audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,buffered:new le,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:Iw(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,controlsVisible:!1,crossOrigin:null,ended:!1,error:null,fullscreen:!1,loop:!1,logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new le,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,seekable:new le,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(We).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.clipStartTime>0?Math.max(0,Math.min(this.realCurrentTime-this.clipStartTime,this.duration)):this.realCurrentTime},providedDuration:-1,intrinsicDuration:0,get realDuration(){return this.providedDuration>0?this.providedDuration:this.intrinsicDuration},get duration(){return this.clipEndTime>0?this.clipEndTime-this.clipStartTime:Math.max(0,this.realDuration-this.clipStartTime)},get title(){return this.providedTitle||this.inferredTitle},get poster(){return this.providedPoster||this.inferredPoster},get viewType(){return this.providedViewType!=="unknown"?this.providedViewType:this.inferredViewType},get streamType(){return this.providedStreamType!=="unknown"?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){let t=hw(this.buffered)??0;return Math.max(0,t-this.clipStartTime)},get bufferedEnd(){let t=fw(this.buffered)??0;return Math.min(this.duration,Math.max(0,t-this.clipStartTime))},get seekableStart(){let t=hw(this.seekable)??0;return Math.max(0,t-this.clipStartTime)},get seekableEnd(){let t=this.canPlay?fw(this.seekable)??1/0:0;return this.clipEndTime>0?Math.min(this.clipEndTime,Math.max(0,t-this.clipStartTime)):t},get seekableWindow(){return Math.max(0,this.seekableEnd-this.seekableStart)},canAirPlay:!1,canGoogleCast:!1,remotePlaybackState:"disconnected",remotePlaybackType:"none",remotePlaybackLoader:null,remotePlaybackInfo:null,get isAirPlayConnected(){return this.remotePlaybackType==="airplay"&&this.remotePlaybackState==="connected"},get isGoogleCastConnected(){return this.remotePlaybackType==="google-cast"&&this.remotePlaybackState==="connected"},pointer:"fine",orientation:"landscape",width:0,height:0,mediaWidth:0,mediaHeight:0,lastKeyboardAction:null,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.seekableWindow)&&(!this.live||/:dvr/.test(this.streamType)&&this.seekableWindow>=this.minLiveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.realDuration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,(this.liveSyncPosition??this.seekableEnd)-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},autoPlaying:!1,providedTitle:"",inferredTitle:"",providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null}),dO=new Set(["audioTrack","audioTracks","autoPlayError","autoPlaying","autoQuality","buffered","canPlay","ended","error","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","liveSyncPosition","paused","played","playing","qualities","quality","realCurrentTime","seekable","seeking","started","userBehindLiveEdge","waiting"]);au=yi();Ga=class{constructor(e=void 0){this._logger=e,this._target=null,this._player=null,this._prevTrackIndex=-1}setTarget(e){this._target=e}getPlayer(e){return this._player?this._player:((e??this._target)?.dispatchEvent(new q("find-media-player",{detail:n=>void(this._player=n),bubbles:!0,composed:!0})),this._player)}setPlayer(e){this._player=e}startLoading(e){this._dispatchRequest("media-start-loading",e)}startLoadingPoster(e){this._dispatchRequest("media-poster-start-loading",e)}requestAirPlay(e){this._dispatchRequest("media-airplay-request",e)}requestGoogleCast(e){this._dispatchRequest("media-google-cast-request",e)}play(e){this._dispatchRequest("media-play-request",e)}pause(e){this._dispatchRequest("media-pause-request",e)}mute(e){this._dispatchRequest("media-mute-request",e)}unmute(e){this._dispatchRequest("media-unmute-request",e)}enterFullscreen(e,n){this._dispatchRequest("media-enter-fullscreen-request",n,e)}exitFullscreen(e,n){this._dispatchRequest("media-exit-fullscreen-request",n,e)}lockScreenOrientation(e,n){this._dispatchRequest("media-orientation-lock-request",n,e)}unlockScreenOrientation(e){this._dispatchRequest("media-orientation-unlock-request",e)}enterPictureInPicture(e){this._dispatchRequest("media-enter-pip-request",e)}exitPictureInPicture(e){this._dispatchRequest("media-exit-pip-request",e)}seeking(e,n){this._dispatchRequest("media-seeking-request",n,e)}seek(e,n){this._dispatchRequest("media-seek-request",n,e)}seekToLiveEdge(e){this._dispatchRequest("media-live-edge-request",e)}changeVolume(e,n){this._dispatchRequest("media-volume-change-request",n,Math.max(0,Math.min(1,e)))}changeAudioTrack(e,n){this._dispatchRequest("media-audio-track-change-request",n,e)}changeQuality(e,n){this._dispatchRequest("media-quality-change-request",n,e)}requestAutoQuality(e){this.changeQuality(-1,e)}changeTextTrackMode(e,n,i){this._dispatchRequest("media-text-track-change-request",i,{index:e,mode:n})}changePlaybackRate(e,n){this._dispatchRequest("media-rate-change-request",n,e)}resumeControls(e){this._dispatchRequest("media-resume-controls-request",e)}pauseControls(e){this._dispatchRequest("media-pause-controls-request",e)}togglePaused(e){let n=this.getPlayer(e?.target);n&&(n.state.paused?this.play(e):this.pause(e))}toggleControls(e){let n=this.getPlayer(e?.target);n&&(n.controls.showing?n.controls.hide(0,e):n.controls.show(0,e))}toggleMuted(e){let n=this.getPlayer(e?.target);n&&(n.state.muted?this.unmute(e):this.mute(e))}toggleFullscreen(e,n){let i=this.getPlayer(n?.target);i&&(i.state.fullscreen?this.exitFullscreen(e,n):this.enterFullscreen(e,n))}togglePictureInPicture(e){let n=this.getPlayer(e?.target);n&&(n.state.pictureInPicture?this.exitPictureInPicture(e):this.enterPictureInPicture(e))}disableCaptions(e){let n=this.getPlayer(e?.target);if(!n)return;let i=n.state.textTracks,r=n.state.textTrack;if(r){let s=i.indexOf(r);this.changeTextTrackMode(s,"disabled",e)}}toggleCaptions(e){let n=this.getPlayer(e?.target);if(!n)return;let i=n.state.textTracks,r=n.state.textTrack;if(r){let s=i.indexOf(r);this.changeTextTrackMode(s,"disabled",e),this._prevTrackIndex=s}else{let s=this._prevTrackIndex;(!i[s]||!We(i[s]))&&(s=-1),s===-1&&(s=i.findIndex(a=>We(a)&&a.default)),s===-1&&(s=i.findIndex(a=>We(a))),s>=0&&this.changeTextTrackMode(s,"showing",e),this._prevTrackIndex=-1}}_dispatchRequest(e,n,i){let r=new q(e,{bubbles:!0,composed:!0,cancelable:!0,detail:i,trigger:n}),s=n?.target||null;s&&s instanceof B&&(s=s.el),s=!s||s===document||s===window||s===document.body||this._player?.el&&s instanceof Node&&!this._player.el.contains(s)?this._target??this.getPlayer()?.el:s??this._target,this._player?e==="media-play-request"&&!this._player.state.canLoad?s?.dispatchEvent(r):this._player.canPlayQueue._enqueue(e,()=>s?.dispatchEvent(r)):s?.dispatchEvent(r)}_noPlayerWarning(e){}},mw=Math.min,Ba=Math.max,Ph=Math.round,_h=Math.floor,Dr=t=>({x:t,y:t});gO=async(t,e,n)=>{let{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:a}=n,o=s.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(e)),c=await a.getElementRects({reference:t,floating:e,strategy:r}),{x:u,y:d}=mP(c,i,l),p=i,h={},y=0;for(let v=0;v{let i=new Map,r={platform:LO,...n},s={...r.platform,_c:i};return gO(t,e,{...r,platform:s})};Xi=class extends Lt{},$h=class extends Xi{constructor(){super(...arguments),this._idleTimer=-2,this._pausedTracking=!1,this._hideOnMouseLeave=O(!1),this._isMouseOutside=O(!1),this._focusedItem=null,this.defaultDelay=2e3}get hideOnMouseLeave(){let{hideControlsOnMouseLeave:e}=this.$props;return this._hideOnMouseLeave()||e()}set hideOnMouseLeave(e){this._hideOnMouseLeave.set(e)}get showing(){return this.$state.controlsVisible()}show(e=0,n){this._clearIdleTimer(),this._pausedTracking||this._changeVisibility(!0,e,n)}hide(e=this.defaultDelay,n){this._clearIdleTimer(),this._pausedTracking||this._changeVisibility(!1,e,n)}pause(e){this._pausedTracking=!0,this._clearIdleTimer(),this._changeVisibility(!0,0,e)}resume(e){this._pausedTracking=!1,!this.$state.paused()&&this._changeVisibility(!1,this.defaultDelay,e)}onConnect(){b(this._watchMouse.bind(this)),b(this._watchPaused.bind(this));let e=this._onPlay.bind(this),n=this._onPause.bind(this);this.listen("can-play",i=>this.show(0,i)),this.listen("play",e),this.listen("pause",n),this.listen("auto-play-fail",n)}_watchMouse(){let{started:e,pointer:n,paused:i}=this.$state;if(!e()||n()!=="fine")return;let r=this.hideOnMouseLeave;(!r||!this._isMouseOutside())&&b(()=>{i()||this.listen("pointermove",this._onStopIdle.bind(this))}),r&&(this.listen("mouseenter",this._onMouseEnter.bind(this)),this.listen("mouseleave",this._onMouseLeave.bind(this)))}_watchPaused(){let{paused:e,started:n,autoPlayError:i}=this.$state;if(e()||i()&&!n())return;let r=this._onStopIdle.bind(this);b(()=>{let s=this.$state.pointer(),a=s==="coarse",o=[a?"touchend":"pointerup","keydown"];for(let l of o)this.listen(l,r,{passive:!1})})}_onPlay(e){this.show(0,e),this.hide(void 0,e)}_onPause(e){this.show(0,e)}_onMouseEnter(e){this._isMouseOutside.set(!1),this.show(0,e),this.hide(void 0,e)}_onMouseLeave(e){this._isMouseOutside.set(!0),this.hide(0,e)}_clearIdleTimer(){window.clearTimeout(this._idleTimer),this._idleTimer=-1}_onStopIdle(e){e.MEDIA_GESTURE||this._pausedTracking||Vw(e)||(qi(e)&&(e.key==="Escape"?(this.el?.focus(),this._focusedItem=null):this._focusedItem&&(e.preventDefault(),requestAnimationFrame(()=>{this._focusedItem?.focus(),this._focusedItem=null}))),this.show(0,e),this.hide(this.defaultDelay,e))}_changeVisibility(e,n,i){if(n===0){this._onChange(e,i);return}this._idleTimer=window.setTimeout(()=>{this.scope&&this._onChange(e&&!this._pausedTracking,i)},n)}_onChange(e,n){this.$state.controlsVisible()!==e&&(this.$state.controlsVisible.set(e),!e&&document.activeElement&&this.el?.contains(document.activeElement)&&(this._focusedItem=document.activeElement,requestAnimationFrame(()=>this.el?.focus())),this.dispatch("controls-change",{detail:e,trigger:n}))}},lu=OO;Mh=class{constructor(){this.playerId="vds-player",this.mediaId=null,this._data={volume:null,muted:null,time:null,lang:null,captions:null,rate:null},this.saveTime=lu(()=>{if(D||!this.mediaId)return;let e=(this._data.time??0).toString();localStorage.setItem(this.mediaId,e)},1e3)}async getVolume(){return this._data.volume}async setVolume(e){this._data.volume=e,this.save()}async getMuted(){return this._data.muted}async setMuted(e){this._data.muted=e,this.save()}async getTime(){return this._data.time}async setTime(e){this._data.time=e,this.saveTime()}async getLang(){return this._data.lang}async setLang(e){this._data.lang=e,this.save()}async getCaptions(){return this._data.captions}async setCaptions(e){this._data.captions=e,this.save()}async getPlaybackRate(){return this._data.rate}async setPlaybackRate(e){this._data.rate=e,this.save()}onChange(e,n,i="vds-player"){let r=i?localStorage.getItem(i):null,s=n?localStorage.getItem(n):null;this.playerId=i,this.mediaId=n,this._data={volume:null,muted:null,lang:null,captions:null,...r?JSON.parse(r):{},time:s?+s:null}}save(){if(D||!this.playerId)return;let e=JSON.stringify({...this._data,time:void 0});localStorage.setItem(this.playerId,e)}},gw=class{constructor(){this.priority=0,this._display=!0,this._video=null,this._track=null,this._tracks=new Set}canRender(e,n){return!!n}attach(e){this._video=e,e&&(e.textTracks.onchange=this._onChange.bind(this))}addTrack(e){this._tracks.add(e),this._attachTrack(e)}removeTrack(e){e[K._native]?.remove?.(),e[K._native]=null,this._tracks.delete(e)}changeTrack(e){let n=e?.[K._native];n&&n.track.mode!=="showing"&&(n.track.mode="showing"),this._track=e}setDisplay(e){this._display=e,this._onChange()}detach(){this._video&&(this._video.textTracks.onchange=null);for(let e of this._tracks)this.removeTrack(e);this._tracks.clear(),this._video=null,this._track=null}_attachTrack(e){var i;if(!this._video)return;let n=e[i=K._native]??(e[i]=this._createTrackElement(e));n instanceof HTMLElement&&(this._video.append(n),n.track.mode=n.default?"showing":"hidden")}_createTrackElement(e){let n=document.createElement("track"),i=e.default||e.mode==="showing",r=e.src&&e.type==="vtt";if(n.id=e.id,r)n.src=e.src;else{let s=function(){URL.revokeObjectURL(this.src),this.removeEventListener("load",s),this.removeEventListener("error",s)},a=new Blob([`WEBVTT +`],{type:"text/vtt"});n.src=URL.createObjectURL(a),n.addEventListener("load",s),n.addEventListener("error",s)}return n.label=e.label,n.kind=e.kind,n.default=i,e.language&&(n.srclang=e.language),i&&!r&&this._copyCues(e,n.track),n}_copyCues(e,n){if(!(e.src&&e.type==="vtt"||n.cues?.length))for(let i of e.cues)n.addCue(i)}_onChange(e){for(let n of this._tracks){let i=n[K._native]?.track;if(!i)continue;if(!this._display){i.mode="disabled";continue}let r=i.mode==="showing";r&&this._copyCues(n,i),n.setMode(r?"showing":"disabled",e)}}},Rh=class{constructor(e){this._media=e,this._video=null,this._renderers=[],this._nativeDisplay=!1,this._nativeRenderer=null,this._customRenderer=null;let n=e.textTracks;this._textTracks=n,b(this._watchControls.bind(this)),G(this._detach.bind(this)),S(n,"add",this._onAddTrack.bind(this)),S(n,"remove",this._onRemoveTrack.bind(this)),S(n,"mode-change",this._update.bind(this))}_watchControls(){let{$state:e,$iosControls:n}=this._media;this._nativeDisplay=e.controls()||n(),this._update()}add(e){this._renderers.push(e),this._update()}remove(e){e.detach(),this._renderers.splice(this._renderers.indexOf(e),1),this._update()}_attachVideo(e){requestAnimationFrame(()=>{if(this._video=e,e){this._nativeRenderer=new gw,this._nativeRenderer.attach(e);for(let n of this._textTracks)this._addNativeTrack(n)}this._update()})}_addNativeTrack(e){We(e)&&this._nativeRenderer?.addTrack(e)}_removeNativeTrack(e){We(e)&&this._nativeRenderer?.removeTrack(e)}_onAddTrack(e){this._addNativeTrack(e.detail)}_onRemoveTrack(e){this._removeNativeTrack(e.detail)}_update(){let e=this._textTracks.selected;if(this._video&&(this._nativeDisplay||e?.[K._nativeHLS])){this._customRenderer?.changeTrack(null),this._nativeRenderer?.setDisplay(!0),this._nativeRenderer?.changeTrack(e);return}if(this._nativeRenderer?.setDisplay(!1),this._nativeRenderer?.changeTrack(null),!e){this._customRenderer?.changeTrack(null);return}let n=this._renderers.sort((i,r)=>i.priority-r.priority).find(i=>i.canRender(e,this._video));this._customRenderer!==n&&(this._customRenderer?.detach(),n?.attach(this._video),this._customRenderer=n??null),n?.changeTrack(e)}_detach(){this._nativeRenderer?.detach(),this._nativeRenderer=null,this._customRenderer?.detach(),this._customRenderer=null}},Fw=VO;Lh=class extends vc{constructor(){super(),this._canLoad=!1,this._defaults={},this._storage=null,this._preferredLang=null,this._selectCaptions=Fw(async()=>{if(!this._canLoad||this.selected||await this._storage?.getCaptions()===!1)return;!this._preferredLang&&this._storage&&(this._preferredLang=await this._storage.getLang());let e=this._preferredLang&&this._items.find(i=>We(i)&&i.language===this._preferredLang),n=this._defaults.captions;e?e.mode="showing":n&&n&&(n.mode="showing"),this._storage?.setLang?.(this._preferredLang??n?.language??null)},300),this._onTrackModeChangeBind=this._onTrackModeChange.bind(this)}get selected(){return this._items.find(n=>n.mode==="showing"&&We(n))??null}get preferredLang(){return this._preferredLang}set preferredLang(e){this._preferredLang=e}add(e,n){let i=e instanceof un,r=i?e:new un(e),s=e.kind==="captions"||e.kind==="subtitles"?"captions":e.kind;return this._defaults[s]&&e.default&&delete e.default,r.addEventListener("mode-change",this._onTrackModeChangeBind),this[Y._add](r,n),r[K._crossOrigin]=this[K._crossOrigin],this._canLoad&&r[K._canLoad](),e.default&&(this._defaults[s]=r,s!=="captions"?r.mode="showing":this._selectCaptions()),this}remove(e,n){if(this._items.includes(e))return e===this._defaults[e.kind]&&delete this._defaults[e.kind],e.mode="disabled",e[K._onModeChange]=null,e.removeEventListener("mode-change",this._onTrackModeChangeBind),this[Y._remove](e,n),this}clear(e){for(let n of[...this._items])this.remove(n,e);return this}getById(e){return this._items.find(n=>n.id===e)??null}getByKind(e){let n=Array.isArray(e)?e:[e];return this._items.filter(i=>n.includes(i.kind))}[K._canLoad](){if(!this._canLoad){for(let e of this._items)e[K._canLoad]();this._canLoad=!0,this._selectCaptions()}}_onTrackModeChange(e){let n=e.detail;if(this._storage&&We(n)&&(this._storage.setCaptions?.(n.mode==="showing"),this._storage?.setLang?.(this._preferredLang??n?.language??null)),n.mode==="showing"){let i=We(n)?["captions","subtitles"]:[n.kind];for(let r of this._items)r.mode==="showing"&&r!=n&&i.includes(r.kind)&&(r.mode="disabled")}this.dispatchEvent(new q("mode-change",{detail:e.detail,trigger:e}))}setStorage(e){this._storage=e}},mc=Symbol(0),Ih=class extends vc{get selected(){return this._items.find(e=>e.selected)??null}get selectedIndex(){return this._items.findIndex(e=>e.selected)}[Y._onRemove](e,n){this[Y._select](e,!1,n)}[Y._add](e,n){e[mc]=!1,Object.defineProperty(e,"selected",{get(){return this[mc]},set:i=>{this.readonly||(this[Y._onUserSelect]?.(),this[Y._select](e,i))}}),super[Y._add](e,n)}[Y._select](e,n,i){if(n===e?.[mc])return;let r=this.selected;e&&(e[mc]=n),(n?r!==e:r===e)&&(r&&(r[mc]=!1),this.dispatchEvent(new q("change",{detail:{prev:r,current:this.selected},trigger:i})))}},Ah=class extends Ih{getById(e){return e===""?null:this._items.find(n=>n.id===e)??null}},FO=Symbol(0),zO=Symbol(0),dn={_setAuto:FO,_enableAuto:zO},Nh=class extends Ih{constructor(){super(...arguments),this._auto=!1,this.switch="current"}get auto(){return this._auto||this.readonly}[Y._onUserSelect](){this[dn._setAuto](!1)}[Y._onReset](e){this[dn._setAuto](!1,e)}autoSelect(e){this.readonly||this._auto||!this[dn._enableAuto]||(this[dn._enableAuto]?.(),this[dn._setAuto](!0,e))}[dn._setAuto](e,n){this._auto!==e&&(this._auto=e,this.dispatchEvent(new q("auto-change",{detail:e,trigger:n})))}};JP={togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"j J ArrowLeft",seekForward:"l L ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown",speedUp:">",slowDown:"<"},_P=new Set(["Shift","Alt","Meta","Control"]),UO='button, [role="button"]',wP='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]',vw=class extends Xi{constructor(e){super(),this._media=e,this._timeSlider=null}onConnect(){b(this._onTargetChange.bind(this))}_onTargetChange(){let{keyDisabled:e,keyTarget:n}=this.$props;if(e())return;let i=n()==="player"?this.el:document,r=O(!1);i===this.el?(this.listen("focusin",()=>r.set(!0)),this.listen("focusout",s=>{this.el.contains(s.target)||r.set(!1)})):(C(r)||r.set(document.querySelector("[data-media-player]")===this.el),S(document,"focusin",s=>{let a=s.composedPath().find(o=>o instanceof Element&&o.localName==="media-player");a!==void 0&&r.set(this.el===a)})),b(()=>{r()&&(S(i,"keyup",this._onKeyUp.bind(this)),S(i,"keydown",this._onKeyDown.bind(this)),S(i,"keydown",this._onPreventVideoKeys.bind(this),{capture:!0}))})}_onKeyUp(e){let n=document.activeElement;if(!e.key||!this.$state.canSeek()||n?.matches(wP))return;let{method:i,value:r}=this._getMatchingMethod(e);if(!U(r)&&!qe(r)){r?.callback(e);return}i?.startsWith("seek")&&(e.preventDefault(),e.stopPropagation(),this._timeSlider?(this._forwardTimeKeyboardEvent(e,i==="seekForward"),this._timeSlider=null):(this._media.remote.seek(this._seekTotal,e),this._seekTotal=void 0)),i?.startsWith("volume")&&this.el.querySelector("[data-media-volume-slider]")?.dispatchEvent(new KeyboardEvent("keyup",{key:i==="volumeUp"?"Up":"Down",shiftKey:e.shiftKey,trigger:e}))}_onKeyDown(e){if(!e.key||_P.has(e.key))return;let n=document.activeElement;if(n?.matches(wP)||Zl(e)&&n?.matches(UO))return;let{method:i,value:r}=this._getMatchingMethod(e);if(!U(r)&&!qe(r)){r?.callback(e);return}if(!i&&!e.metaKey&&/[0-9]/.test(e.key)){e.preventDefault(),e.stopPropagation(),this._media.remote.seek(this.$state.duration()/10*Number(e.key),e);return}if(i){switch(e.preventDefault(),e.stopPropagation(),i){case"seekForward":case"seekBackward":this._seeking(e,i,i==="seekForward");break;case"volumeUp":case"volumeDown":let s=this.el.querySelector("[data-media-volume-slider]");if(s)s.dispatchEvent(new KeyboardEvent("keydown",{key:i==="volumeUp"?"Up":"Down",shiftKey:e.shiftKey,trigger:e}));else{let o=e.shiftKey?.1:.05;this._media.remote.changeVolume(this.$state.volume()+(i==="volumeUp"?+o:-o),e)}break;case"toggleFullscreen":this._media.remote.toggleFullscreen("prefer-media",e);break;case"speedUp":case"slowDown":let a=this.$state.playbackRate();this._media.remote.changePlaybackRate(Math.max(.25,Math.min(2,a+(i==="speedUp"?.25:-.25))),e);break;default:this._media.remote[i]?.(e)}this.$state.lastKeyboardAction.set({action:i,event:e})}}_onPreventVideoKeys(e){ZP(e.target)&&this._getMatchingMethod(e).method&&e.preventDefault()}_getMatchingMethod(e){let n={...this.$props.keyShortcuts(),...this._media.ariaKeys},i=Object.keys(n).find(r=>{let s=n[r],a=qe(s)?s.join(" "):U(s)?s:s?.keys;return(qe(a)?a:a?.split(" "))?.some(o=>HO(o).replace(/Control/g,"Ctrl").split("+").every(l=>_P.has(l)?e[l.toLowerCase()+"Key"]:e.key===l.replace("Space"," ")))});return{method:i,value:i?n[i]:null}}_calcSeekAmount(e,n){let i=e.shiftKey?10:5;return this._seekTotal=Math.max(0,Math.min((this._seekTotal??this.$state.currentTime())+(n==="seekForward"?+i:-i),this.$state.duration()))}_forwardTimeKeyboardEvent(e,n){this._timeSlider?.dispatchEvent(new KeyboardEvent(e.type,{key:n?"Right":"Left",shiftKey:e.shiftKey,trigger:e}))}_seeking(e,n,i){this.$state.canSeek()&&(this._timeSlider||(this._timeSlider=this.el.querySelector("[data-media-time-slider]")),this._timeSlider?this._forwardTimeKeyboardEvent(e,i):this._media.remote.seeking(this._calcSeekAmount(e,n),e))}},jO=["!","@","#","$","%","^","&","*","(",")"];Dh=class extends Lt{constructor(e){super(),this._shortcut=e}onAttach(e){let{$props:n,ariaKeys:i}=ce(),r=e.getAttribute("aria-keyshortcuts");if(r){i[this._shortcut]=r,D||G(()=>{delete i[this._shortcut]});return}let s=n.keyShortcuts()[this._shortcut];if(s){let a=qe(s)?s.join(" "):U(s)?s:s?.keys;e.setAttribute("aria-keyshortcuts",qe(a)?a.join(" "):a)}}},e1=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,t1=new Set(["audio/mpeg","audio/ogg","audio/3gp","audio/mp4","audio/webm","audio/flac"]),n1=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,i1=new Set(["video/mp4","video/webm","video/3gp","video/ogg","video/avi","video/mpeg"]),r1=/\.(m3u8)($|\?)/i,s1=new Set(["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"]);Oh=class{constructor(){this.name="audio"}canPlay(e){return zw(e)?D||e.type==="?"||JD(this.target,e.type):!1}mediaType(){return"audio"}async load(e){if(D)throw Error("[vidstack] can not load audio provider server-side");return new(await Promise.resolve().then(()=>(HS(),jS))).AudioProvider(this.target,e)}},_c=class{constructor(){this.name="video"}canPlay(e){return Uw(e)?D||e.type==="?"||eO(this.target,e.type):!1}mediaType(){return"video"}async load(e){if(D)throw Error("[vidstack] can not load video provider server-side");return new(await Promise.resolve().then(()=>(H_(),qS))).VideoProvider(this.target,e)}},a1=class o1 extends _c{constructor(){super(...arguments),this.name="hls"}canPlay(e){return o1.supported&&Es(e)}async load(e){if(D)throw Error("[vidstack] can not load hls provider server-side");return new(await Promise.resolve().then(()=>(WS(),BS))).HLSProvider(this.target,e)}};a1.supported=uh();l1=a1,Vh=class{constructor(){this.name="vimeo"}preconnect(){let e=["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"];for(let n of e)ni(n)}canPlay(e){return U(e.src)&&e.type==="video/vimeo"}mediaType(){return"video"}async load(e){if(D)throw Error("[vidstack] can not load vimeo provider server-side");return new(await Promise.resolve().then(()=>(QS(),YS))).VimeoProvider(this.target,e)}async loadPoster(e,n,i){let{resolveVimeoVideoId:r,getVimeoVideoInfo:s}=await Promise.resolve().then(()=>(Q_(),GS));if(!U(e.src))return null;let{videoId:a}=r(e.src);return a?s(a,i).then(o=>o?o.poster:null):null}},Fh=class{constructor(){this.name="youtube"}preconnect(){let e=["https://www.google.com","https://i.ytimg.com","https://googleads.g.doubleclick.net","https://static.doubleclick.net"];for(let n of e)ni(n)}canPlay(e){return U(e.src)&&e.type==="video/youtube"}mediaType(){return"video"}async load(e){if(D)throw Error("[vidstack] can not load youtube provider server-side");return new(await Promise.resolve().then(()=>(JS(),ZS))).YouTubeProvider(this.target,e)}async loadPoster(e,n,i){let{findYouTubePoster:r,resolveYouTubeVideoId:s}=await Promise.resolve().then(()=>(ew(),XS)),a=U(e.src)&&s(e.src);return a?r(a,i):null}},uw=Symbol(0),qO=["autoPlay","canAirPlay","canFullscreen","canGoogleCast","canLoad","canLoadPoster","canPictureInPicture","canPlay","canSeek","ended","fullscreen","isAirPlayConnected","isGoogleCastConnected","live","liveEdge","loop","mediaType","muted","paused","pictureInPicture","playing","playsInline","remotePlaybackState","remotePlaybackType","seeking","started","streamType","viewType","waiting"],BO={artist:"",autoplay:!1,autoPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,currentTime:0,crossorigin:null,crossOrigin:null,duration:-1,fullscreenOrientation:"landscape",googleCast:{},load:"visible",posterLoad:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playsInline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:!1,src:"",title:"",controlsDelay:2e3,hideControlsOnMouseLeave:!1,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:JP,storage:null},zh=class extends Xi{constructor(e,n){super(),this._type=e,this._callback=n}async onAttach(e){if(D)return;let n=this.$props[this._type]();if(n==="eager")requestAnimationFrame(this._callback);else if(n==="idle")f_(this._callback);else if(n==="visible"){let i,r=new IntersectionObserver(s=>{this.scope&&s[0].isIntersecting&&(i?.(),i=void 0,this._callback())});r.observe(e),i=G(()=>r.disconnect())}}},yw=class{constructor(e,n){this._handle=e,this._media=n,this._notify=(i,...r)=>{D||this._handle(new q(i,{detail:r?.[0],trigger:r?.[1]}))}}async _ready(e,n){if(!D)return Na(async()=>{this._media;let{autoPlay:i,canPlay:r,started:s,duration:a,seekable:o,buffered:l,remotePlaybackInfo:c,playsInline:u}=this._media.$state;if(r())return;let d={duration:e?.duration??a(),seekable:e?.seekable??o(),buffered:e?.buffered??l(),provider:this._media.$provider()};this._notify("can-play",d,n),ti();let p=this._media.$provider(),{storage:h}=this._media,{muted:y,volume:v,clipStartTime:w,playbackRate:m}=this._media.$props,f=c()?.savedState?.currentTime,g=c()?.savedState?.paused===!1,x=f??await h?.getTime()??w(),E=g||i();p&&(p.setVolume(await h?.getVolume()??v()),p.setMuted(await h?.getMuted()??y()),p.setPlaybackRate?.(await h?.getPlaybackRate()??m()),p.setPlaysInline?.(u()),x>0&&p.setCurrentTime(x)),r()&&E&&!s()&&await this._attemptAutoplay(n),c.set(null)})}async _attemptAutoplay(e){let{player:n,$state:{autoPlaying:i,muted:r}}=this._media;i.set(!0);let s=new q("auto-play-attempt",{trigger:e});try{await n.play(s)}catch{}}},_w=class{constructor(){this._queue=new Map}_enqueue(e,n){this._queue.set(e,n)}_serve(e){let n=this._peek(e);return this._queue.delete(e),n}_peek(e){return this._queue.get(e)}_delete(e){this._queue.delete(e)}_clear(){this._queue.clear()}},Uh=class{constructor(){this._serving=!1,this._pending=Bi(),this._queue=new Map}get _size(){return this._queue.size}get _isServing(){return this._serving}async _waitForFlush(){this._serving||await this._pending.promise}_enqueue(e,n){if(this._serving){n();return}this._queue.delete(e),this._queue.set(e,n)}_serve(e){this._queue.get(e)?.(),this._queue.delete(e)}_start(){this._flush(),this._serving=!0,this._queue.size>0&&this._flush()}_stop(){this._serving=!1}_reset(){this._stop(),this._queue.clear(),this._release()}_flush(){for(let e of this._queue.keys())this._serve(e);this._release()}_release(){this._pending.resolve(),this._pending=Bi()}};ww=class extends Xi{constructor(e,n,i){super(),this._stateMgr=e,this._request=n,this._media=i,this._providerQueue=new Uh,this._wasPIPActive=!1,this._$provider=i.$provider,this._controls=new $h,this._fullscreen=new Th,this._orientation=new Aw}onAttach(){this.listen("fullscreen-change",this._onFullscreenChange.bind(this))}onConnect(){let e=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),n=this._handleRequest.bind(this);for(let i of e)i.startsWith("media-")&&this.listen(i,n);this._attachLoadPlayListener(),b(this._watchProvider.bind(this)),b(this._onControlsDelayChange.bind(this)),b(this._onAirPlaySupportChange.bind(this)),b(this._onGoogleCastSupportChange.bind(this)),b(this._onFullscreenSupportChange.bind(this)),b(this._onPiPSupportChange.bind(this))}onDestroy(){this._providerQueue._reset()}_attachLoadPlayListener(){let{load:e}=this.$props,{canLoad:n}=this.$state;if(e()!=="play"||n())return;let i=this.listen("media-play-request",r=>{this._handleLoadPlayStrategy(r),i()})}_watchProvider(){let e=this._$provider(),n=this.$state.canPlay();return e&&n&&this._providerQueue._start(),()=>{this._providerQueue._stop()}}_handleRequest(e){e.stopPropagation(),!e.defaultPrevented&&this[e.type]&&(C(this._$provider)?this[e.type](e):this._providerQueue._enqueue(e.type,()=>{C(this._$provider)&&this[e.type](e)}))}async _play(e){if(D)return;let{canPlay:n,paused:i,autoPlaying:r}=this.$state;if(!this._handleLoadPlayStrategy(e)&&!(!C(i)&&!this._request._looping)){e&&this._request._queue._enqueue("media-play-request",e);try{let s=C(this._$provider);return dw(s,C(n)),await s.play()}catch(s){let a=this.createEvent("play-fail",{detail:wi(s),trigger:e});throw a.autoPlay=r(),this._stateMgr._handle(a),s}}}_handleLoadPlayStrategy(e){let{load:n}=this.$props,{canLoad:i}=this.$state;if(n()==="play"&&!i()){let r=this.createEvent("media-start-loading",{trigger:e});return this.dispatchEvent(r),this._providerQueue._enqueue("media-play-request",async()=>{try{await this._play(r)}catch{}}),!0}return!1}async _pause(e){if(D)return;let{canPlay:n,paused:i}=this.$state;if(!C(i)){e&&this._request._queue._enqueue("media-pause-request",e);try{let r=C(this._$provider);return dw(r,C(n)),await r.pause()}catch(r){throw this._request._queue._delete("media-pause-request"),r}}}_seekToLiveEdge(e){if(D)return;let{canPlay:n,live:i,liveEdge:r,canSeek:s,liveSyncPosition:a,seekableEnd:o,userBehindLiveEdge:l}=this.$state;if(l.set(!1),C(()=>!i()||r()||!s()))return;let c=C(this._$provider);dw(c,C(n)),e&&this._request._queue._enqueue("media-seek-request",e);let u=o()-2;c.setCurrentTime(Math.min(u,a()??u))}async _enterFullscreen(e="prefer-media",n){if(D)return;let i=this._getFullscreenAdapter(e);if(bP(e,i),!i.active)return C(this.$state.pictureInPicture)&&(this._wasPIPActive=!0,await this._exitPictureInPicture(n)),n&&this._request._queue._enqueue("media-enter-fullscreen-request",n),i.enter()}async _exitFullscreen(e="prefer-media",n){if(D)return;let i=this._getFullscreenAdapter(e);if(bP(e,i),!!i.active){n&&this._request._queue._enqueue("media-exit-fullscreen-request",n);try{let r=await i.exit();return this._wasPIPActive&&C(this.$state.canPictureInPicture)&&await this._enterPictureInPicture(),r}finally{this._wasPIPActive=!1}}}_getFullscreenAdapter(e){let n=C(this._$provider);return e==="prefer-media"&&this._fullscreen.supported||e==="media"?this._fullscreen:n?.fullscreen}async _enterPictureInPicture(e){if(!D&&(this._throwIfPIPNotSupported(),!this.$state.pictureInPicture()))return e&&this._request._queue._enqueue("media-enter-pip-request",e),await this._$provider().pictureInPicture.enter()}async _exitPictureInPicture(e){if(!D&&(this._throwIfPIPNotSupported(),!!this.$state.pictureInPicture()))return e&&this._request._queue._enqueue("media-exit-pip-request",e),await this._$provider().pictureInPicture.exit()}_throwIfPIPNotSupported(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}_onControlsDelayChange(){this._controls.defaultDelay=this.$props.controlsDelay()}_onAirPlaySupportChange(){let{canAirPlay:e}=this.$state,n=!!this._$provider()?.airPlay?.supported;e.set(n)}_onGoogleCastSupportChange(){let{canGoogleCast:e,source:n}=this.$state,i=pc&&!gh&&vh(n());e.set(i)}_onFullscreenSupportChange(){let{canFullscreen:e}=this.$state,n=this._fullscreen.supported||!!this._$provider()?.fullscreen?.supported;e.set(n)}_onPiPSupportChange(){let{canPictureInPicture:e}=this.$state,n=!!this._$provider()?.pictureInPicture?.supported;e.set(n)}async"media-airplay-request"(e){try{await this._requestAirPlay(e)}catch{}}async _requestAirPlay(e){try{let n=this._$provider()?.airPlay;if(!n?.supported)throw Error("No AirPlay adapter.");return e&&this._request._queue._enqueue("media-airplay-request",e),await n.prompt()}catch(n){throw this._request._queue._delete("media-airplay-request"),n}}async"media-google-cast-request"(e){try{await this._requestGoogleCast(e)}catch{}}async _requestGoogleCast(e){try{let{canGoogleCast:n}=this.$state;if(!C(n))throw new Error("Cast not available.");if(ni("https://www.gstatic.com"),!this._googleCastLoader){let r=await Promise.resolve().then(()=>(ow(),rP)).then(function(s){return s.d});this._googleCastLoader=new r.GoogleCastLoader}await this._googleCastLoader.prompt(this._media),e&&this._request._queue._enqueue("media-google-cast-request",e);let i=C(this.$state.remotePlaybackState)!=="disconnected";i&&this.$state.remotePlaybackInfo.set(r=>({...r,savedState:{paused:C(this.$state.paused),currentTime:C(this.$state.currentTime)}})),this.$state.remotePlaybackLoader.set(i?this._googleCastLoader:null)}catch(n){throw this._request._queue._delete("media-google-cast-request"),n}}"media-audio-track-change-request"(e){if(this._media.audioTracks.readonly)return;let n=e.detail,i=this._media.audioTracks[n];if(i){let r=e.type;this._request._queue._enqueue(r,e),i.selected=!0}}async"media-enter-fullscreen-request"(e){try{await this._enterFullscreen(e.detail,e)}catch(n){this._onFullscreenError(n,e)}}async"media-exit-fullscreen-request"(e){try{await this._exitFullscreen(e.detail,e)}catch(n){this._onFullscreenError(n,e)}}async _onFullscreenChange(e){let n=C(this.$props.fullscreenOrientation),i=e.detail;if(!(Le(n)||!this._orientation.supported))if(i){if(this._orientation.locked)return;this.dispatch("media-orientation-lock-request",{detail:n,trigger:e})}else this._orientation.locked&&this.dispatch("media-orientation-unlock-request",{trigger:e})}_onFullscreenError(e,n){this._stateMgr._handle(this.createEvent("fullscreen-error",{detail:wi(e)}))}async"media-orientation-lock-request"(e){let n=e.type;try{this._request._queue._enqueue(n,e),await this._orientation.lock(e.detail)}catch{this._request._queue._delete(n)}}async"media-orientation-unlock-request"(e){let n=e.type;try{this._request._queue._enqueue(n,e),await this._orientation.unlock()}catch{this._request._queue._delete(n)}}async"media-enter-pip-request"(e){try{await this._enterPictureInPicture(e)}catch(n){this._onPictureInPictureError(n,e)}}async"media-exit-pip-request"(e){try{await this._exitPictureInPicture(e)}catch(n){this._onPictureInPictureError(n,e)}}_onPictureInPictureError(e,n){this._stateMgr._handle(this.createEvent("picture-in-picture-error",{detail:wi(e)}))}"media-live-edge-request"(e){let{live:n,liveEdge:i,canSeek:r}=this.$state;if(!(!n()||i()||!r())){this._request._queue._enqueue("media-seek-request",e);try{this._seekToLiveEdge()}catch{this._request._queue._delete("media-seek-request")}}}async"media-loop-request"(e){try{this._request._looping=!0,this._request._replaying=!0,await this._play(e)}catch{this._request._looping=!1}}async"media-pause-request"(e){if(!this.$state.paused())try{await this._pause(e)}catch{}}async"media-play-request"(e){if(this.$state.paused())try{await this._play(e)}catch{}}"media-rate-change-request"(e){let{playbackRate:n,canSetPlaybackRate:i}=this.$state;if(n()===e.detail||!i())return;let r=this._$provider();r?.setPlaybackRate&&(this._request._queue._enqueue("media-rate-change-request",e),r.setPlaybackRate(e.detail))}"media-quality-change-request"(e){if(this._media.qualities.readonly)return;this._request._queue._enqueue("media-quality-change-request",e);let n=e.detail;if(n<0)this._media.qualities.autoSelect(e);else{let i=this._media.qualities[n];i&&(i.selected=!0)}}"media-pause-controls-request"(e){let n=e.type;this._request._queue._enqueue(n,e),this._controls.pause(e)}"media-resume-controls-request"(e){let n=e.type;this._request._queue._enqueue(n,e),this._controls.resume(e)}"media-seek-request"(e){let{seekableStart:n,seekableEnd:i,ended:r,canSeek:s,live:a,userBehindLiveEdge:o,clipStartTime:l}=this.$state;r()&&(this._request._replaying=!0);let c=e.type;this._request._seeking=!1,this._request._queue._delete(c);let u=Math.min(Math.max(n()+.1,e.detail+l()),i()-.1);!Number.isFinite(u)||!s()||(this._request._queue._enqueue(c,e),this._$provider().setCurrentTime(u),a()&&e.isOriginTrusted&&Math.abs(i()-u)>=2&&o.set(!0))}"media-seeking-request"(e){let n=e.type;this._request._queue._enqueue(n,e),this.$state.seeking.set(!0),this._request._seeking=!0}"media-start-loading"(e){if(this.$state.canLoad())return;let n=e.type;this._request._queue._enqueue(n,e),this._stateMgr._handle(this.createEvent("can-load"))}"media-poster-start-loading"(e){if(this.$state.canLoadPoster())return;let n=e.type;this._request._queue._enqueue(n,e),this._stateMgr._handle(this.createEvent("can-load-poster"))}"media-text-track-change-request"(e){let{index:n,mode:i}=e.detail,r=this._media.textTracks[n];if(r){let s=e.type;this._request._queue._enqueue(s,e),r.setMode(i,e)}}"media-mute-request"(e){if(this.$state.muted())return;let n=e.type;this._request._queue._enqueue(n,e),this._$provider().setMuted(!0)}"media-unmute-request"(e){let{muted:n,volume:i}=this.$state;if(!n())return;let r=e.type;this._request._queue._enqueue(r,e),this._media.$provider().setMuted(!1),i()===0&&(this._request._queue._enqueue(r,e),this._$provider().setVolume(.25))}"media-volume-change-request"(e){let{muted:n,volume:i}=this.$state,r=e.detail;if(i()===r)return;let s=e.type;this._request._queue._enqueue(s,e),this._$provider().setVolume(r),r>0&&n()&&(this._request._queue._enqueue(s,e),this._$provider().setMuted(!1))}_logError(e,n,i){}};bw=class{constructor(){this._seeking=!1,this._looping=!1,this._replaying=!1,this._queue=new _w}},WO=new Set(["auto-play","auto-play-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]),xw=class extends Xi{constructor(e,n){super(),this._request=e,this._media=n,this._trackedEvents=new Map,this._clipEnded=!1,this._firingWaiting=!1,this._isPlayingOnDisconnect=!1,this.seeking=lu(i=>{let{seeking:r,realCurrentTime:s,paused:a}=this.$state;r.set(!0),s.set(i.detail),this._satisfyRequest("media-seeking-request",i),a()&&(this._waitingTrigger=i,this._fireWaiting())},150,{leading:!0}),this._fireWaiting=Fw(()=>{if(!this._waitingTrigger)return;this._firingWaiting=!0;let{waiting:i,playing:r}=this.$state;i.set(!0),r.set(!1);let s=this.createEvent("waiting",{trigger:this._waitingTrigger});this._trackedEvents.set("waiting",s),this.dispatch(s),this._waitingTrigger=void 0,this._firingWaiting=!1},300)}onAttach(e){e.setAttribute("aria-busy","true"),this.listen("fullscreen-change",this["fullscreen-change"].bind(this)),this.listen("fullscreen-error",this["fullscreen-error"].bind(this)),this.listen("orientation-change",this["orientation-change"].bind(this))}onConnect(e){b(this._watchCanSetVolume.bind(this)),this._addTextTrackListeners(),this._addQualityListeners(),this._addAudioTrackListeners(),this._resumePlaybackOnConnect(),G(this._pausePlaybackOnDisconnect.bind(this))}_handle(e){if(!this.scope)return;let n=e.type;this[e.type]?.(e),D||(WO.has(n)&&this._trackedEvents.set(n,e),this.dispatch(e))}_resumePlaybackOnConnect(){this._isPlayingOnDisconnect&&(requestAnimationFrame(()=>{this.scope&&this._media.remote.play(new q("dom-connect"))}),this._isPlayingOnDisconnect=!1)}_pausePlaybackOnDisconnect(){this._isPlayingOnDisconnect||(this._isPlayingOnDisconnect=!this._media.$state.paused(),this._media.$provider()?.pause())}_resetTracking(){this._stopWaiting(),this._clipEnded=!1,this._request._replaying=!1,this._request._looping=!1,this._firingWaiting=!1,this._waitingTrigger=void 0,this._trackedEvents.clear()}_satisfyRequest(e,n){let i=this._request._queue._serve(e);i&&(n.request=i,n.triggers.add(i))}_addTextTrackListeners(){this._onTextTracksChange(),this._onTextTrackModeChange();let e=this._media.textTracks;S(e,"add",this._onTextTracksChange.bind(this)),S(e,"remove",this._onTextTracksChange.bind(this)),S(e,"mode-change",this._onTextTrackModeChange.bind(this))}_addQualityListeners(){let e=this._media.qualities;S(e,"add",this._onQualitiesChange.bind(this)),S(e,"remove",this._onQualitiesChange.bind(this)),S(e,"change",this._onQualityChange.bind(this)),S(e,"auto-change",this._onAutoQualityChange.bind(this)),S(e,"readonly-change",this._onCanSetQualityChange.bind(this))}_addAudioTrackListeners(){let e=this._media.audioTracks;S(e,"add",this._onAudioTracksChange.bind(this)),S(e,"remove",this._onAudioTracksChange.bind(this)),S(e,"change",this._onAudioTrackChange.bind(this))}_onTextTracksChange(e){let{textTracks:n}=this.$state;n.set(this._media.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:n(),trigger:e})}_onTextTrackModeChange(e){e&&this._satisfyRequest("media-text-track-change-request",e);let n=this._media.textTracks.selected,{textTrack:i}=this.$state;i()!==n&&(i.set(n),this.dispatch("text-track-change",{detail:n,trigger:e}))}_onAudioTracksChange(e){let{audioTracks:n}=this.$state;n.set(this._media.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:n(),trigger:e})}_onAudioTrackChange(e){let{audioTrack:n}=this.$state;n.set(this._media.audioTracks.selected),e&&this._satisfyRequest("media-audio-track-change-request",e),this.dispatch("audio-track-change",{detail:n(),trigger:e})}_onQualitiesChange(e){let{qualities:n}=this.$state;n.set(this._media.qualities.toArray()),this.dispatch("qualities-change",{detail:n(),trigger:e})}_onQualityChange(e){let{quality:n}=this.$state;n.set(this._media.qualities.selected),e&&this._satisfyRequest("media-quality-change-request",e),this.dispatch("quality-change",{detail:n(),trigger:e})}_onAutoQualityChange(){this.$state.autoQuality.set(this._media.qualities.auto)}_onCanSetQualityChange(){this.$state.canSetQuality.set(!this._media.qualities.readonly)}_watchCanSetVolume(){let{canSetVolume:e,isGoogleCastConnected:n}=this.$state;if(n()){e.set(!1);return}RP().then(e.set)}"provider-change"(e){let n=this._media.$provider(),i=e.detail;n?.type!==i?.type&&(n?.destroy?.(),n?.scope?.dispose(),this._media.$provider.set(e.detail),n&&e.detail===null&&this._resetMediaState(e))}"provider-loader-change"(e){}"auto-play"(e){this.$state.autoPlayError.set(null)}"auto-play-fail"(e){this.$state.autoPlayError.set(e.detail),this._resetTracking()}"can-load"(e){this.$state.canLoad.set(!0),this._trackedEvents.set("can-load",e),this._media.textTracks[K._canLoad](),this._satisfyRequest("media-start-loading",e)}"can-load-poster"(e){this.$state.canLoadPoster.set(!0),this._trackedEvents.set("can-load-poster",e),this._satisfyRequest("media-poster-start-loading",e)}"media-type-change"(e){let n=this._trackedEvents.get("source-change");n&&e.triggers.add(n);let i=this.$state.viewType();this.$state.mediaType.set(e.detail);let r=this.$state.providedViewType(),s=r==="unknown"?e.detail:r;i!==s&&(D?this.$state.inferredViewType.set(s):setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(e.detail),this.dispatch("view-type-change",{detail:s,trigger:e}))})},0))}"stream-type-change"(e){let n=this._trackedEvents.get("source-change");n&&e.triggers.add(n);let{streamType:i,inferredStreamType:r}=this.$state;r.set(e.detail),e.detail=i()}"rate-change"(e){let{storage:n}=this._media,{canPlay:i}=this.$state;this.$state.playbackRate.set(e.detail),this._satisfyRequest("media-rate-change-request",e),i()&&n?.setPlaybackRate?.(e.detail)}"remote-playback-change"(e){let{remotePlaybackState:n,remotePlaybackType:i}=this.$state,{type:r,state:s}=e.detail,a=s==="connected";i.set(r),n.set(s);let o=r==="airplay"?"media-airplay-request":"media-google-cast-request";if(a)this._satisfyRequest(o,e);else{let l=this._request._queue._peek(o);l&&(e.request=l,e.triggers.add(l))}}"sources-change"(e){this.$state.sources.set(e.detail)}"source-change"(e){let n=this._trackedEvents.get("sources-change");n&&e.triggers.add(n),this._resetMediaState(e),this._trackedEvents.set(e.type,e),this.$state.source.set(e.detail),this.el?.setAttribute("aria-busy","true")}_resetMediaState(e){this._media.audioTracks[Y._reset](e),this._media.qualities[Y._reset](e),this._resetTracking(),NP(this._media.$state)}abort(e){let n=this._trackedEvents.get("source-change");n&&e.triggers.add(n);let i=this._trackedEvents.get("can-load");i&&!e.triggers.hasType("can-load")&&e.triggers.add(i)}"load-start"(e){let n=this._trackedEvents.get("source-change");n&&e.triggers.add(n)}error(e){this.$state.error.set(e.detail);let n=this._trackedEvents.get("abort");n&&e.triggers.add(n)}"loaded-metadata"(e){let n=this._trackedEvents.get("load-start");n&&e.triggers.add(n)}"loaded-data"(e){let n=this._trackedEvents.get("load-start");n&&e.triggers.add(n)}"can-play"(e){let n=this._trackedEvents.get("loaded-metadata");n&&e.triggers.add(n),this._onCanPlayDetail(e.detail),this.el?.setAttribute("aria-busy","false")}"can-play-through"(e){this._onCanPlayDetail(e.detail);let n=this._trackedEvents.get("can-play");n&&e.triggers.add(n)}_onCanPlayDetail(e){let{seekable:n,seekableEnd:i,buffered:r,intrinsicDuration:s,canPlay:a}=this.$state;a.set(!0),r.set(e.buffered),n.set(e.seekable),s.set(i())}"duration-change"(e){let{live:n,intrinsicDuration:i}=this.$state,r=e.detail;n()||i.set(Number.isNaN(r)?0:r)}progress(e){let{buffered:n,seekable:i,live:r,intrinsicDuration:s,seekableEnd:a}=this.$state,o=e.detail;n.set(o.buffered),i.set(o.seekable),r()&&(s.set(a),this.dispatch("duration-change",{detail:a(),trigger:e}))}play(e){let{paused:n,autoPlayError:i,ended:r,autoPlaying:s,playsInline:a,pointer:o,muted:l,viewType:c}=this.$state;if(this._resetPlaybackIfNeeded(),!n()&&!this._request._looping){e.stopImmediatePropagation();return}e.autoPlay=s();let u=this._trackedEvents.get("waiting");u&&e.triggers.add(u),this._satisfyRequest("media-play-request",e),this._trackedEvents.set("play",e),n.set(!1),i.set(null),e.autoPlay&&(this._handle(this.createEvent("auto-play",{detail:{muted:l()},trigger:e})),s.set(!1)),(r()||this._request._replaying)&&(this._request._replaying=!1,r.set(!1),this._handle(this.createEvent("replay",{trigger:e}))),!a()&&c()==="video"&&o()==="coarse"&&this._media.remote.enterFullscreen("prefer-media",e),this._request._looping&&e.stopImmediatePropagation()}_resetPlaybackIfNeeded(e){if(!C(this._media.$provider))return;let{ended:i,seekableStart:r,clipStartTime:s,clipEndTime:a,realCurrentTime:o,duration:l}=this.$state,c=o()0&&o()>=a()||Math.abs(o()-l())<.1||i();return c&&this.dispatch("media-seek-request",{detail:(s()>0?0:r())+.1,trigger:e}),c}"play-fail"(e){let{muted:n,autoPlaying:i}=this.$state,r=this._trackedEvents.get("play");r&&e.triggers.add(r),this._satisfyRequest("media-play-request",e);let{paused:s,playing:a}=this.$state;s.set(!0),a.set(!1),this._resetTracking(),this._trackedEvents.set("play-fail",e),e.autoPlay&&(this._handle(this.createEvent("auto-play-fail",{detail:{muted:n(),error:e.detail},trigger:e})),i.set(!1))}playing(e){let n=this._trackedEvents.get("play"),i=this._trackedEvents.get("seeked");n?e.triggers.add(n):i&&e.triggers.add(i),setTimeout(()=>this._resetTracking(),0);let{paused:r,playing:s,live:a,liveSyncPosition:o,seekableEnd:l,started:c,currentTime:u,seeking:d,ended:p}=this.$state;if(r.set(!1),s.set(!0),d.set(!1),p.set(!1),this._request._looping){e.stopImmediatePropagation(),this._request._looping=!1;return}if(a()&&!c()&&u()===0){let h=o()??l()-2;Number.isFinite(h)&&this._media.$provider().setCurrentTime(h)}this.started(e)}started(e){let{started:n}=this.$state;n()||(n.set(!0),this._handle(this.createEvent("started",{trigger:e})))}pause(e){this.el?.isConnected||(this._isPlayingOnDisconnect=!0),this._satisfyRequest("media-pause-request",e);let n=this._trackedEvents.get("seeked");if(n&&e.triggers.add(n),this._clipEnded){e.stopImmediatePropagation(),this._handle(this.createEvent("end",{trigger:e})),this._clipEnded=!1;return}if(this._request._looping){e.stopImmediatePropagation();return}this._resetTracking();let{paused:i,playing:r}=this.$state;i.set(!0),r.set(!1)}"time-update"(e){if(this._request._looping){e.stopImmediatePropagation();return}let{realCurrentTime:n,played:i,waiting:r,clipEndTime:s,loop:a}=this.$state,o=s(),l=e.detail;n.set(l.currentTime),i.set(l.played),r.set(!1);for(let c of this._media.textTracks)c[K._updateActiveCues](l.currentTime,e);o>0&&l.currentTime>=o&&(a()&&(this._request._looping=!0),this._clipEnded=!0,this.dispatch("media-pause-request",{trigger:e})),this._saveTime()}_saveTime(){let{storage:e}=this._media,{canPlay:n,realCurrentTime:i}=this.$state;n()&&e?.setTime?.(i())}"volume-change"(e){let{storage:n}=this._media,{volume:i,muted:r,canPlay:s}=this.$state,a=e.detail;i.set(a.volume),r.set(a.muted||a.volume===0),this._satisfyRequest("media-volume-change-request",e),this._satisfyRequest(a.muted?"media-mute-request":"media-unmute-request",e),s()&&(n?.setVolume?.(i()),n?.setMuted?.(r()))}seeked(e){let{seeking:n,realCurrentTime:i,paused:r,duration:s,ended:a}=this.$state;if(this._request._seeking)n.set(!0),e.stopImmediatePropagation();else if(n()){let o=this._trackedEvents.get("waiting");o&&e.triggers.add(o);let l=this._trackedEvents.get("seeking");l&&!e.triggers.has(l)&&e.triggers.add(l),r()&&this._stopWaiting(),n.set(!1),e.detail!==s()&&a.set(!1),i.set(e.detail),this._satisfyRequest("media-seek-request",e);let c=e?.originEvent;c?.isTrusted&&!/seek/.test(c.type)&&this.started(e)}}waiting(e){this._firingWaiting||this._request._seeking||(e.stopImmediatePropagation(),this._waitingTrigger=e,this._fireWaiting())}end(e){let{loop:n}=this.$state;if(n()){setTimeout(()=>{requestAnimationFrame(()=>{this.dispatch("media-loop-request",{trigger:e})})},10);return}this._onEnded(e)}_onEnded(e){let{paused:n,seeking:i,ended:r,duration:s}=this.$state;n()||this.dispatch("pause",{trigger:e}),i()&&this.dispatch("seeked",{detail:s(),trigger:e}),r.set(!0),this._resetTracking(),this.dispatch("ended",{trigger:e})}_stopWaiting(){this._fireWaiting.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(e){let n=e.detail;this.$state.fullscreen.set(n),this._satisfyRequest(n?"media-enter-fullscreen-request":"media-exit-fullscreen-request",e)}"fullscreen-error"(e){this._satisfyRequest("media-enter-fullscreen-request",e),this._satisfyRequest("media-exit-fullscreen-request",e)}"orientation-change"(e){let n=e.detail.lock;this._satisfyRequest(n?"media-orientation-lock-request":"media-orientation-unlock-request",e)}"picture-in-picture-change"(e){let n=e.detail;this.$state.pictureInPicture.set(n),this._satisfyRequest(n?"media-enter-pip-request":"media-exit-pip-request",e)}"picture-in-picture-error"(e){this._satisfyRequest("media-enter-pip-request",e),this._satisfyRequest("media-exit-pip-request",e)}"title-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredTitle.set(e.detail))}"poster-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredPoster.set(e.detail))}},kw=class extends Xi{onSetup(){this._init(),!D&&(b(this._watchArtist.bind(this)),b(this._watchAutoplay.bind(this)),b(this._watchClipTimes.bind(this)),b(this._watchControls.bind(this)),b(this._watchCrossOrigin.bind(this)),b(this._watchDuration.bind(this)),b(this._watchLive.bind(this)),b(this._watchLiveEdge.bind(this)),b(this._watchLiveTolerance.bind(this)),b(this._watchLoop.bind(this)),b(this._watchPlaysInline.bind(this)),b(this._watchPoster.bind(this)),b(this._watchProvidedTypes.bind(this)),b(this._watchTitle.bind(this)))}_init(){let e={duration:"providedDuration",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},n=new Set(["currentTime","paused","playbackRate","volume"]);for(let i of Object.keys(this.$props))n.has(i)||this.$state[e[i]??i]?.set(this.$props[i]());this.$state.muted.set(this.$props.muted()||this.$props.volume()===0)}_watchProvidedTypes(){let{viewType:e,streamType:n,title:i,poster:r}=this.$props;this.$state.providedPoster.set(r()),this.$state.providedStreamType.set(n()),this.$state.providedViewType.set(e()),this.$state.providedTitle.set(i())}_watchLogLevel(){}_watchArtist(){let{artist:e}=this.$props;this.$state.artist.set(e())}_watchTitle(){let{title:e}=this.$state;this.dispatch("title-change",{detail:e()})}_watchAutoplay(){let e=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(e),this.dispatch("auto-play-change",{detail:e})}_watchLoop(){let e=this.$props.loop();this.$state.loop.set(e),this.dispatch("loop-change",{detail:e})}_watchControls(){let e=this.$props.controls();this.$state.controls.set(e)}_watchPoster(){let{poster:e}=this.$state;this.dispatch("poster-change",{detail:e()})}_watchCrossOrigin(){let e=this.$props.crossOrigin()??this.$props.crossorigin(),n=e===!0?"":e;this.$state.crossOrigin.set(n)}_watchDuration(){let{providedDuration:e}=this.$state;e.set(this.$props.duration())}_watchPlaysInline(){let e=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(e),this.dispatch("plays-inline-change",{detail:e})}_watchClipTimes(){let{clipStartTime:e,clipEndTime:n}=this.$props;this.$state.clipStartTime.set(e()),this.$state.clipEndTime.set(n())}_watchLive(){this.dispatch("live-change",{detail:this.$state.live()})}_watchLiveTolerance(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}_watchLiveEdge(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}},KO=class Tw extends Xi{constructor(){super()}onConnect(){b(this._onMetadataChange.bind(this)),b(this._onPlaybackStateChange.bind(this));let e=this._handleAction.bind(this);for(let n of Tw._actions)navigator.mediaSession.setActionHandler(n,e);G(this._onDisconnect.bind(this))}_onDisconnect(){for(let e of Tw._actions)navigator.mediaSession.setActionHandler(e,null)}_onMetadataChange(){let{title:e,artist:n,poster:i}=this.$state;navigator.mediaSession.metadata=new MediaMetadata({title:e(),artist:n(),artwork:[{src:i()}]})}_onPlaybackStateChange(){let{canPlay:e,paused:n}=this.$state;navigator.mediaSession.playbackState=e()?n()?"paused":"playing":"none"}_handleAction(e){let n=new q("media-session-action",{detail:e});switch(e.action){case"play":this.dispatch("media-play-request",{trigger:n});break;case"pause":this.dispatch("media-pause-request",{trigger:n});break;case"seekto":case"seekforward":case"seekbackward":this.dispatch("media-seek-request",{detail:Be(e.seekTime)?e.seekTime:this.$state.currentTime()+(e.seekOffset??10),trigger:n});break}}};KO._actions=["play","pause","seekforward","seekbackward","seekto"];jh=O(!1);D||(S(document,"pointerdown",()=>{jh.set(!1)}),S(document,"keydown",t=>{t.metaKey||t.altKey||t.ctrlKey||jh.set(!0)}));fn=class extends Lt{constructor(){super(...arguments),this._focused=O(!1)}onConnect(e){b(()=>{if(!jh()){this._focused.set(!1),wh(e,!1),this.listen("pointerenter",this._onPointerEnter.bind(this)),this.listen("pointerleave",this._onPointerLeave.bind(this));return}let n=document.activeElement===e;this._focused.set(n),wh(e,n),this.listen("focus",this._onFocus.bind(this)),this.listen("blur",this._onBlur.bind(this))})}focused(){return this._focused()}_onFocus(){this._focused.set(!0),wh(this.el,!0)}_onBlur(){this._focused.set(!1),wh(this.el,!1)}_onPointerEnter(){xP(this.el,!0)}_onPointerLeave(){xP(this.el,!1)}};GO=Object.defineProperty,YO=Object.getOwnPropertyDescriptor,Te=(t,e,n,i)=>{for(var r=i>1?void 0:i?YO(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&GO(e,n,r),r},fe=class xh extends B{constructor(){super(),this.canPlayQueue=new Uh,this._skipTitleUpdate=!1,new kw;let e={player:this,qualities:new Nh,audioTracks:new Ah,storage:null,$provider:O(null),$providerSetup:O(!1),$props:this.$props,$state:this.$state};e.remote=new Ga(void 0),e.remote.setPlayer(this),e.$iosControls=gi(this._isIOSControls.bind(this)),e.textTracks=new Lh,e.textTracks[K._crossOrigin]=this.$state.crossOrigin,e.textRenderers=new Rh(e),e.ariaKeys={},this._media=e,It(au,e),this.orientation=new Aw,new fn,new vw(e);let n=new bw;this._stateMgr=new xw(n,e),this._requestMgr=new ww(this._stateMgr,n,e),e.delegate=new yw(this._stateMgr._handle.bind(this._stateMgr),e),new zh("load",this.startLoading.bind(this)),new zh("posterLoad",this.startLoadingPoster.bind(this))}get _provider(){return this._media.$provider()}onSetup(){this._setupMediaAttributes(),b(this._watchCanPlay.bind(this)),b(this._watchMuted.bind(this)),b(this._watchPaused.bind(this)),b(this._watchVolume.bind(this)),b(this._watchCurrentTime.bind(this)),b(this._watchPlaysInline.bind(this)),b(this._watchPlaybackRate.bind(this))}onAttach(e){e.setAttribute("data-media-player",""),ye(e,"tabindex","0"),ye(e,"role","region"),b(this._watchStorage.bind(this)),D?this._watchTitle():b(this._watchTitle.bind(this)),D?this._watchOrientation():b(this._watchOrientation.bind(this)),S(e,"find-media-player",this._onFindPlayer.bind(this))}onConnect(e){dP&&J(e,"data-iphone","");let n=window.matchMedia("(pointer: coarse)");this._onPointerChange(n),n.onchange=this._onPointerChange.bind(this);let i=new ResizeObserver(Ir(this._onResize.bind(this)));i.observe(e),b(this._onResize.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),G(()=>{i.disconnect(),n.onchange=null})}onDestroy(){this._media.player=null,this.canPlayQueue._reset()}_watchTitle(){let e=this.$el,{title:n,live:i,viewType:r,providedTitle:s}=this.$state,a=i(),o=Jl(r()),l=o!=="Unknown"?`${a?"Live ":""}${o}`:a?"Live":"Media",c=n();J(this.el,"aria-label",c?`${l} - ${c}`:l+" Player"),!D&&e?.hasAttribute("title")&&(this._skipTitleUpdate=!0,e?.removeAttribute("title"))}_watchOrientation(){let e=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(e),J(this.el,"data-orientation",e),this._onResize()}_watchCanPlay(){this.$state.canPlay()&&this._provider?this.canPlayQueue._start():this.canPlayQueue._stop()}_setupMediaAttributes(){if(xh[uw]){this.setAttributes(xh[uw]);return}let e={"data-load":function(){return this.$props.load()},"data-captions":function(){let i=this.$state.textTrack();return!!i&&We(i)},"data-ios-controls":function(){return this._media.$iosControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){let{canLoad:i,canPlay:r,waiting:s}=this.$state;return i()&&(!r()||s())},"data-error":function(){let{error:i}=this.$state;return!!i()},"data-autoplay-error":function(){let{autoPlayError:i}=this.$state;return!!i()}},n={autoPlay:"autoplay",canAirPlay:"can-airplay",canPictureInPicture:"can-pip",pictureInPicture:"pip",playsInline:"playsinline",remotePlaybackState:"remote-state",remotePlaybackType:"remote-type",isAirPlayConnected:"airplay",isGoogleCastConnected:"google-cast"};for(let i of qO){let r="data-"+(n[i]??Oa(i));e[r]=function(){return this.$state[i]()}}delete e.title,xh[uw]=e,this.setAttributes(e)}_onFindPlayer(e){e.detail(this)}_onResize(){if(D||!this.el)return;let e=this.el.clientWidth,n=this.el.clientHeight;this.$state.width.set(e),this.$state.height.set(n),ct(this.el,"--player-width",e+"px"),ct(this.el,"--player-height",n+"px")}_onPointerChange(e){if(D)return;let n=e.matches?"coarse":"fine";J(this.el,"data-pointer",n),this.$state.pointer.set(n),this._onResize()}_isIOSControls(){let{playsInline:e,fullscreen:n}=this.$state;return dP&&!$P()&&this.$state.mediaType()==="video"&&(!e()||n())}get provider(){return this._provider}get controls(){return this._requestMgr._controls}get title(){return C(this.$state.providedTitle)}set title(e){if(this._skipTitleUpdate){this._skipTitleUpdate=!1;return}this.$state.providedTitle.set(e)}get qualities(){return this._media.qualities}get audioTracks(){return this._media.audioTracks}get textTracks(){return this._media.textTracks}get textRenderers(){return this._media.textRenderers}get paused(){return C(this.$state.paused)}set paused(e){this._queuePausedUpdate(e)}_watchPaused(){this._queuePausedUpdate(this.$props.paused())}_queuePausedUpdate(e){e?this.canPlayQueue._enqueue("paused",()=>this._requestMgr._pause()):this.canPlayQueue._enqueue("paused",()=>this._requestMgr._play())}get muted(){return C(this.$state.muted)}set muted(e){this.$props.muted.set(e)}_watchMuted(){this._queueMutedUpdate(this.$props.muted())}_queueMutedUpdate(e){this.canPlayQueue._enqueue("muted",()=>{this._provider&&this._provider.setMuted(e)})}get currentTime(){return C(this.$state.currentTime)}set currentTime(e){this._queueCurrentTimeUpdate(e)}_watchCurrentTime(){this._queueCurrentTimeUpdate(this.$props.currentTime())}_queueCurrentTimeUpdate(e){this.canPlayQueue._enqueue("currentTime",()=>{let{currentTime:n,clipStartTime:i,seekableStart:r,seekableEnd:s}=this.$state;e!==C(n)&&C(()=>{if(!this._provider)return;let a=Math.min(Math.max(r()+.1,e+i()),s()-.1);Number.isFinite(a)&&this._provider.setCurrentTime(a)})})}get volume(){return C(this.$state.volume)}set volume(e){this.$props.volume.set(e)}_watchVolume(){this._queueVolumeUpdate(this.$props.volume())}_queueVolumeUpdate(e){let n=jw(0,e,1);this.canPlayQueue._enqueue("volume",()=>{this._provider&&this._provider.setVolume(n)})}get playbackRate(){return C(this.$state.playbackRate)}set playbackRate(e){this._queuePlaybackRateUpdate(e)}_watchPlaybackRate(){this._queuePlaybackRateUpdate(this.$props.playbackRate())}_queuePlaybackRateUpdate(e){this.canPlayQueue._enqueue("rate",()=>{this._provider&&this._provider.setPlaybackRate?.(e)})}_watchPlaysInline(){this._queuePlaysInlineUpdate(this.$props.playsInline())}_queuePlaysInlineUpdate(e){this.canPlayQueue._enqueue("playsinline",()=>{this._provider&&this._provider.setPlaysInline?.(e)})}_watchStorage(){let e=this.$props.storage(),n=U(e)?new Mh:e;if(n?.onChange){let{source:i}=this.$state,r=U(e)?e:this.el?.id,s=gi(this._computeMediaId.bind(this));b(()=>n.onChange(i(),s(),r))}this._media.storage=n,this._media.textTracks.setStorage(n),G(()=>{n?.onDestroy?.(),this._media.storage=null,this._media.textTracks.setStorage(null)})}_computeMediaId(){let{clipStartTime:e,clipEndTime:n}=this.$props,{source:i}=this.$state,r=i();return r.src?`${r.src}:${e()}:${n()}`:null}async play(e){return this._requestMgr._play(e)}async pause(e){return this._requestMgr._pause(e)}async enterFullscreen(e,n){return this._requestMgr._enterFullscreen(e,n)}async exitFullscreen(e,n){return this._requestMgr._exitFullscreen(e,n)}enterPictureInPicture(e){return this._requestMgr._enterPictureInPicture(e)}exitPictureInPicture(e){return this._requestMgr._exitPictureInPicture(e)}seekToLiveEdge(e){this._requestMgr._seekToLiveEdge(e)}startLoading(e){this._media.delegate._notify("can-load",void 0,e)}startLoadingPoster(e){this._media.delegate._notify("can-load-poster",void 0,e)}requestAirPlay(e){return this._requestMgr._requestAirPlay(e)}requestGoogleCast(e){return this._requestMgr._requestGoogleCast(e)}destroy(){this._media.remote.setPlayer(null),this.dispatch("destroy")}};fe.props=BO;fe.state=Vs;Te([te],fe.prototype,"canPlayQueue",2);Te([te],fe.prototype,"provider",1);Te([te],fe.prototype,"controls",1);Te([te],fe.prototype,"orientation",2);Te([te],fe.prototype,"title",1);Te([te],fe.prototype,"qualities",1);Te([te],fe.prototype,"audioTracks",1);Te([te],fe.prototype,"textTracks",1);Te([te],fe.prototype,"textRenderers",1);Te([te],fe.prototype,"paused",1);Te([te],fe.prototype,"muted",1);Te([te],fe.prototype,"currentTime",1);Te([te],fe.prototype,"volume",1);Te([te],fe.prototype,"playbackRate",1);Te([Ae],fe.prototype,"play",1);Te([Ae],fe.prototype,"pause",1);Te([Ae],fe.prototype,"enterFullscreen",1);Te([Ae],fe.prototype,"exitFullscreen",1);Te([Ae],fe.prototype,"enterPictureInPicture",1);Te([Ae],fe.prototype,"exitPictureInPicture",1);Te([Ae],fe.prototype,"seekToLiveEdge",1);Te([Ae],fe.prototype,"startLoading",1);Te([Ae],fe.prototype,"startLoadingPoster",1);Te([Ae],fe.prototype,"requestAirPlay",1);Te([Ae],fe.prototype,"requestGoogleCast",1);QO=fe;u1=new Map,Ew=class{constructor(e,n,i,r=[]){this._domSources=e,this._media=n,this._loader=i,this._initialize=!1;let s=new l1,a=new _c,o=new Oh,l=new Fh,c=new Vh,u=[l,c];this._loaders=gi(()=>{let p=n.$state.remotePlaybackLoader(),h=n.$props.preferNativeHLS()?[...r,a,o,s,...u]:[...r,s,a,o,...u];return p?[p,...h]:h});let{$state:d}=n;d.sources.set(kP(n.$props.src()));for(let p of d.sources()){let h=this._loaders().find(v=>v.canPlay(p));if(!h)continue;let y=h.mediaType(p);this._media.$state.source.set(p),this._media.$state.mediaType.set(y),this._media.$state.inferredViewType.set(y),this._loader.set(h),this._initialize=!0}}get _notify(){return this._media.delegate._notify}connect(){let e=this._loader();this._initialize&&(this._notifySourceChange(this._media.$state.source(),e),this._notifyLoaderChange(e),this._initialize=!1),b(this._onSourcesChange.bind(this)),b(this._onSourceChange.bind(this)),b(this._onSetup.bind(this)),b(this._onLoadSource.bind(this)),b(this._onLoadPoster.bind(this))}_onSourcesChange(){this._notify("sources-change",[...kP(this._media.$props.src()),...this._domSources()])}_onSourceChange(){let{$state:e}=this._media,n=e.sources(),i=C(e.source),r=this._findNewSource(i,n);if(n[0]?.src&&!r.src&&!r.type){let{crossOrigin:a}=e,o=Eh(a()),l=new AbortController;return Promise.all(n.map(c=>U(c.src)&&c.type==="?"?fetch(c.src,{method:"HEAD",credentials:o,signal:l.signal}).then(u=>(c.type=u.headers.get("content-type")||"??",u1.set(c.src,c.type),c)).catch(()=>c):c)).then(c=>{l.signal.aborted||(this._findNewSource(C(e.source),c),ti())}),()=>l.abort()}ti()}_findNewSource(e,n){let i={src:"",type:""},r=null,s=this._loaders();for(let a of n){let o=s.find(l=>l.canPlay(a));if(o){i=a,r=o;break}}return TP(e,i)||this._notifySourceChange(i,r),r!==C(this._loader)&&this._notifyLoaderChange(r),i}_notifySourceChange(e,n){this._notify("source-change",e),this._notify("media-type-change",n?.mediaType(e)||"unknown")}_notifyLoaderChange(e){this._media.$providerSetup.set(!1),this._notify("provider-change",null),e&&C(()=>e.preconnect?.(this._media)),this._loader.set(e),this._notify("provider-loader-change",e)}_onSetup(){let e=this._media.$provider();if(!(!e||C(this._media.$providerSetup))){if(this._media.$state.canLoad()){nt(()=>e.setup(),e.scope),this._media.$providerSetup.set(!0);return}C(()=>e.preconnect?.())}}_onLoadSource(){if(!this._media.$providerSetup())return;let e=this._media.$provider(),n=this._media.$state.source(),i=C(this._media.$state.crossOrigin);if(!TP(e?.currentSrc,n)){if(this._media.$state.canLoad()){let r=new AbortController;return Es(n)?uh()||c1(n.src,{credentials:Eh(i),signal:r.signal}).then(s=>{this._notify("stream-type-change",s)}).catch(Kt):this._notify("stream-type-change","on-demand"),C(()=>{let s=C(this._media.$state.preload);return e?.loadSource(n,s).catch(a=>{})}),()=>r.abort()}try{U(n.src)&&ni(new URL(n.src).origin)}catch{}}}_onLoadPoster(){let e=this._loader(),{source:n,canLoadPoster:i}=this._media.$state;if(!e||!e.loadPoster||!n()||!i())return;let r=new AbortController,s=new q("source-change",{detail:n});return e.loadPoster(n(),this._media,r).then(a=>{this._notify("poster-change",a||"",s)}).catch(()=>{this._notify("poster-change","",s)}),()=>{r.abort()}}};Sw=class{constructor(e,n){this._domTracks=e,this._media=n,this._prevTracks=[],b(this._onTracksChange.bind(this))}_onTracksChange(){let e=this._domTracks();for(let n of this._prevTracks)if(!e.some(i=>i.id===n.id)){let i=n.id&&this._media.textTracks.getById(n.id);i&&this._media.textTracks.remove(i)}for(let n of e){let i=n.id||un.createId(n);this._media.textTracks.getById(i)||(n.id=i,this._media.textTracks.add(n))}this._prevTracks=e}},JO=Object.defineProperty,e3=Object.getOwnPropertyDescriptor,t3=(t,e,n,i)=>{for(var r=i>1?void 0:i?e3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&JO(e,n,r),r},Qa=class extends B{constructor(){super(...arguments),this._domSources=O([]),this._domTracks=O([]),this._loader=null,this._loadRafId=-1}onSetup(){this._media=ce(),this._sources=new Ew(this._domSources,this._media,this.$state.loader,this.$props.loaders())}onAttach(e){e.setAttribute("data-media-provider","")}onConnect(e){this._sources.connect(),new Sw(this._domTracks,this._media);let n=new ResizeObserver(Ir(this._onResize.bind(this)));n.observe(e);let i=new MutationObserver(this._onMutation.bind(this));i.observe(e,{attributes:!0,childList:!0}),this._onResize(),this._onMutation(),G(()=>{n.disconnect(),i.disconnect()})}load(e){window.cancelAnimationFrame(this._loadRafId),this._loadRafId=requestAnimationFrame(()=>this._runLoader(e)),G(()=>{window.cancelAnimationFrame(this._loadRafId)})}_runLoader(e){if(!this.scope)return;let n=this.$state.loader(),{$provider:i}=this._media;this._loader===n&&n?.target===e&&C(i)||(this._destroyProvider(),this._loader=n,n&&(n.target=e||null),!(!n||!e)&&n.load(this._media).then(r=>{this.scope&&C(this.$state.loader)===n&&this._media.delegate._notify("provider-change",r)}))}onDestroy(){this._loader=null,this._destroyProvider()}_destroyProvider(){this._media.delegate._notify("provider-change",null)}_onResize(){if(!this.el)return;let e=this._media.player,n=this.el.offsetWidth,i=this.el.offsetHeight;e&&(e.$state.mediaWidth.set(n),e.$state.mediaHeight.set(i),e.el&&(ct(e.el,"--media-width",n+"px"),ct(e.el,"--media-height",i+"px")))}_onMutation(){let e=[],n=[],i=this.el.children;for(let r of i)r instanceof HTMLSourceElement?e.push({src:r.src,type:r.type}):r instanceof HTMLTrackElement&&n.push({id:r.id,src:r.src,kind:r.track.kind,language:r.srclang,label:r.label,default:r.default,type:r.getAttribute("data-type")});this._domSources.set(e),this._domTracks.set(n),ti()}};Qa.props={loaders:[]};Qa.state=new ei({loader:null});t3([Ae],Qa.prototype,"load",1);Hh=class extends B{onSetup(){this._media=ce(),b(this._watchProps.bind(this))}onAttach(e){let{pictureInPicture:n,fullscreen:i}=this._media.$state;ct(e,"pointer-events","none"),ye(e,"role","group"),this.setAttributes({"data-visible":this._isShowing.bind(this),"data-fullscreen":i,"data-pip":n}),b(()=>{this.dispatch("change",{detail:this._isShowing()})}),b(this._hideControls.bind(this)),b(()=>{let r=i();for(let s of["top","right","bottom","left"])ct(e,`padding-${s}`,r&&`env(safe-area-inset-${s})`)})}_hideControls(){if(!this.el)return;let{$iosControls:e}=this._media,{controls:n}=this._media.$state,i=n()||e();J(this.el,"aria-hidden",i?"true":null),ct(this.el,"display",i?"none":null)}_watchProps(){let{controls:e}=this._media.player,{hideDelay:n,hideOnMouseLeave:i}=this.$props;e.defaultDelay=n()===2e3?this._media.$props.controlsDelay():n(),e.hideOnMouseLeave=i()}_isShowing(){let{controlsVisible:e}=this._media.$state;return e()}};Hh.props={hideDelay:2e3,hideOnMouseLeave:!1};qh=class extends B{onAttach(e){ct(e,"pointer-events","auto")}},Bh=class extends Lt{constructor(e){super(),this._delegate=e,this._showTimerId=-1,this._hideRafId=-1,this._stopAnimationEndListener=null,b(this._watchTrigger.bind(this))}onDestroy(){this._stopAnimationEndListener?.(),this._stopAnimationEndListener=null}_watchTrigger(){let e=this._delegate._trigger();if(!e){this.hide();return}let n=this.show.bind(this),i=this.hide.bind(this);this._delegate._listen(e,n,i)}show(e){this._cancelShowing(),window.cancelAnimationFrame(this._hideRafId),this._hideRafId=-1,this._stopAnimationEndListener?.(),this._stopAnimationEndListener=null,this._showTimerId=window.setTimeout(()=>{this._showTimerId=-1;let n=this._delegate._content();n&&n.style.removeProperty("display"),C(()=>this._delegate._onChange(!0,e))},this._delegate._showDelay?.()??0)}hide(e){this._cancelShowing(),C(()=>this._delegate._onChange(!1,e)),this._hideRafId=requestAnimationFrame(()=>{this._cancelShowing(),this._hideRafId=-1;let n=this._delegate._content();if(n){let i=()=>{n.style.display="none",this._stopAnimationEndListener=null};if(DO(n)){this._stopAnimationEndListener?.();let s=S(n,"animationend",i,{once:!0});this._stopAnimationEndListener=s}else i()}})}_cancelShowing(){window.clearTimeout(this._showTimerId),this._showTimerId=-1}},Ka=yi(),n3=0,Wh=class extends B{constructor(){super(),this._id=`media-tooltip-${++n3}`,this._trigger=O(null),this._content=O(null),new fn;let{showDelay:e}=this.$props;new Bh({_trigger:this._trigger,_content:this._content,_showDelay:e,_listen(n,i,r){S(n,"touchstart",s=>s.preventDefault(),{passive:!1}),b(()=>{jh()&&S(n,"focus",i),S(n,"blur",r)}),S(n,"mouseenter",i),S(n,"mouseleave",r)},_onChange:this._onShowingChange.bind(this)})}onAttach(e){e.style.setProperty("display","contents")}onSetup(){It(Ka,{_trigger:this._trigger,_content:this._content,_attachTrigger:this._attachTrigger.bind(this),_detachTrigger:this._detachTrigger.bind(this),_attachContent:this._attachContent.bind(this),_detachContent:this._detachContent.bind(this)})}_attachTrigger(e){this._trigger.set(e);let n=e.getAttribute("data-media-tooltip");n&&this.el?.setAttribute(`data-media-${n}-tooltip`,""),J(e,"data-describedby",this._id)}_detachTrigger(e){e.removeAttribute("data-describedby"),e.removeAttribute("aria-describedby"),this._trigger.set(null)}_attachContent(e){e.setAttribute("id",this._id),e.style.display="none",ye(e,"role","tooltip"),this._content.set(e)}_detachContent(e){e.removeAttribute("id"),e.removeAttribute("role"),this._content.set(null)}_onShowingChange(e){let n=this._trigger(),i=this._content();n&&J(n,"aria-describedby",e?this._id:null);for(let r of[this.el,n,i])r&&J(r,"data-visible",e)}};Wh.props={showDelay:700};Kh=class extends B{constructor(){super(),new fn}onConnect(e){G(Ch(()=>{if(!this.connectScope)return;this._attach();let n=Ie(Ka);G(()=>{let i=this._getButton();i&&n._detachTrigger(i)})}))}_attach(){let e=this._getButton(),n=Ie(Ka);e&&n._attachTrigger(e)}_getButton(){let e=this.el.firstElementChild;return e?.localName==="button"||e?.getAttribute("role")==="button"?e:this.el}},wc=class extends B{constructor(){super(),new fn;let{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){this._attach(e),Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){this._attach(e);let n=Ie(Ka);G(()=>n._detachContent(e)),G(Ch(()=>{this.connectScope&&b(this._watchPlacement.bind(this))}))}_attach(e){Ie(Ka)._attachContent(e)}_watchPlacement(){let{placement:e,offset:n,alignOffset:i}=this.$props;return YP(this.el,this._getTrigger(),e(),{offsetVarName:"media-tooltip",xOffset:i(),yOffset:n()})}_getTrigger(){return Ie(Ka)._trigger()}};wc.props={placement:"top center",offset:0,alignOffset:0};it=class extends Lt{constructor(e){super(),this._delegate=e,new fn,e._keyShortcut&&new Dh(e._keyShortcut)}onSetup(){let{disabled:e}=this.$props;this.setAttributes({"data-pressed":this._delegate._isPressed,"aria-pressed":this._isARIAPressed.bind(this),"aria-disabled":()=>e()?"true":null})}onAttach(e){ye(e,"tabindex","0"),ye(e,"role","button"),ye(e,"type","button")}onConnect(e){Vr(e,this._onMaybePress.bind(this));for(let n of["click","touchstart"])this.listen(n,this._onInteraction.bind(this))}_isARIAPressed(){return Va(this._delegate._isPressed())}_onPressed(e){r_(this._delegate._isPressed)&&this._delegate._isPressed.set(n=>!n)}_onMaybePress(e){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),(this._delegate._onPress??this._onPressed).call(this,e)}_onInteraction(e){this.$props.disabled()&&(e.preventDefault(),e.stopImmediatePropagation())}};it.props={disabled:!1};i3=Object.defineProperty,r3=Object.getOwnPropertyDescriptor,s3=(t,e,n,i)=>{for(var r=i>1?void 0:i?r3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&i3(e,n,r),r},bc=class extends B{constructor(){super(),this._pressed=O(!1),new it({_isPressed:this._pressed})}get pressed(){return this._pressed()}};bc.props={disabled:!1,defaultPressed:!1};s3([te],bc.prototype,"pressed",1);Gh=class extends B{constructor(){super(),new it({_isPressed:this._isPressed.bind(this),_onPress:this._onPress.bind(this)})}onSetup(){this._media=ce();let{canAirPlay:e,isAirPlayConnected:n}=this._media.$state;this.setAttributes({"data-active":n,"data-supported":e,"data-state":this._getState.bind(this),"aria-hidden":Xt(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","airplay"),zr(e,this._getDefaultLabel.bind(this))}_onPress(e){this._media.remote.requestAirPlay(e)}_isPressed(){let{remotePlaybackType:e,remotePlaybackState:n}=this._media.$state;return e()==="airplay"&&n()!=="disconnected"}_getState(){let{remotePlaybackType:e,remotePlaybackState:n}=this._media.$state;return e()==="airplay"&&n()}_getDefaultLabel(){let{remotePlaybackState:e}=this._media.$state;return`AirPlay ${e()}`}};Gh.props=it.props;Yh=class extends B{constructor(){super(),new it({_isPressed:this._isPressed.bind(this),_onPress:this._onPress.bind(this)})}onSetup(){this._media=ce();let{canGoogleCast:e,isGoogleCastConnected:n}=this._media.$state;this.setAttributes({"data-active":n,"data-supported":e,"data-state":this._getState.bind(this),"aria-hidden":Xt(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","google-cast"),zr(e,this._getDefaultLabel.bind(this))}_onPress(e){this._media.remote.requestGoogleCast(e)}_isPressed(){let{remotePlaybackType:e,remotePlaybackState:n}=this._media.$state;return e()==="google-cast"&&n()!=="disconnected"}_getState(){let{remotePlaybackType:e,remotePlaybackState:n}=this._media.$state;return e()==="google-cast"&&n()}_getDefaultLabel(){let{remotePlaybackState:e}=this._media.$state;return`Google Cast ${e()}`}};Yh.props=it.props;Qh=class extends B{constructor(){super(),new it({_isPressed:this._isPressed.bind(this),_keyShortcut:"togglePaused",_onPress:this._onPress.bind(this)})}onSetup(){this._media=ce();let{paused:e,ended:n}=this._media.$state;this.setAttributes({"data-paused":e,"data-ended":n})}onAttach(e){e.setAttribute("data-media-tooltip","play"),zr(e,this._getDefaultLabel.bind(this))}_onPress(e){let n=this._media.remote;this._isPressed()?n.pause(e):n.play(e)}_isPressed(){let{paused:e}=this._media.$state;return!e()}_getDefaultLabel(){let{paused:e}=this._media.$state;return e()?"Play":"Pause"}};Qh.props=it.props;Xh=class extends B{constructor(){super(),new it({_isPressed:this._isPressed.bind(this),_keyShortcut:"toggleCaptions",_onPress:this._onPress.bind(this)})}onSetup(){this._media=ce(),this.setAttributes({"data-active":this._isPressed.bind(this),"data-supported":()=>!this._isHidden(),"aria-hidden":Xt(this._isHidden.bind(this))})}onAttach(e){e.setAttribute("data-media-tooltip","caption"),zr(e,this._getDefaultLabel.bind(this))}_onPress(e){this._media.remote.toggleCaptions(e)}_isPressed(){let{textTrack:e}=this._media.$state,n=e();return!!n&&We(n)}_isHidden(){let{hasCaptions:e}=this._media.$state;return!e()}_getDefaultLabel(){let{textTrack:e}=this._media.$state;return e()?"Closed-Captions Off":"Closed-Captions On"}};Xh.props=it.props;Zh=class extends B{constructor(){super(),new it({_isPressed:this._isPressed.bind(this),_keyShortcut:"toggleFullscreen",_onPress:this._onPress.bind(this)})}onSetup(){this._media=ce();let{fullscreen:e}=this._media.$state,n=this._isSupported.bind(this);this.setAttributes({"data-active":e,"data-supported":n,"aria-hidden":Xt(()=>!n())})}onAttach(e){e.setAttribute("data-media-tooltip","fullscreen"),zr(e,this._getDefaultLabel.bind(this))}_onPress(e){let n=this._media.remote,i=this.$props.target();this._isPressed()?n.exitFullscreen(i,e):n.enterFullscreen(i,e)}_isPressed(){let{fullscreen:e}=this._media.$state;return e()}_isSupported(){let{canFullscreen:e}=this._media.$state;return e()}_getDefaultLabel(){let{fullscreen:e}=this._media.$state;return e()?"Exit Fullscreen":"Enter Fullscreen"}};Zh.props={...it.props,target:"prefer-media"};Jh=class extends B{constructor(){super(),new it({_isPressed:this._isPressed.bind(this),_keyShortcut:"toggleMuted",_onPress:this._onPress.bind(this)})}onSetup(){this._media=ce(),this.setAttributes({"data-muted":this._isPressed.bind(this),"data-state":this._getState.bind(this)})}onAttach(e){e.setAttribute("data-media-mute-button",""),e.setAttribute("data-media-tooltip","mute"),zr(e,this._getDefaultLabel.bind(this))}_onPress(e){let n=this._media.remote;this._isPressed()?n.unmute(e):n.mute(e)}_isPressed(){let{muted:e,volume:n}=this._media.$state;return e()||n()===0}_getDefaultLabel(){return this._isPressed()?"Unmute":"Mute"}_getState(){let{muted:e,volume:n}=this._media.$state,i=n();if(e()||i===0)return"muted";if(i>=.5)return"high";if(i<.5)return"low"}};Jh.props=it.props;ef=class extends B{constructor(){super(),new it({_isPressed:this._isPressed.bind(this),_keyShortcut:"togglePictureInPicture",_onPress:this._onPress.bind(this)})}onSetup(){this._media=ce();let{pictureInPicture:e}=this._media.$state,n=this._isSupported.bind(this);this.setAttributes({"data-active":e,"data-supported":n,"aria-hidden":Xt(()=>!n())})}onAttach(e){e.setAttribute("data-media-tooltip","pip"),zr(e,this._getDefaultLabel.bind(this))}_onPress(e){let n=this._media.remote;this._isPressed()?n.exitPictureInPicture(e):n.enterPictureInPicture(e)}_isPressed(){let{pictureInPicture:e}=this._media.$state;return e()}_isSupported(){let{canPictureInPicture:e}=this._media.$state;return e()}_getDefaultLabel(){let{pictureInPicture:e}=this._media.$state;return e()?"Exit Picture In Picture":"Enter Picture In Picture"}};ef.props=it.props;tf=class extends B{constructor(){super(),new fn}onSetup(){this._media=ce();let{seeking:e}=this._media.$state,{seconds:n}=this.$props,i=this._isSupported.bind(this);this.setAttributes({seconds:n,"data-seeking":e,"data-supported":i,"aria-hidden":Xt(()=>!i())})}onAttach(e){ye(e,"tabindex","0"),ye(e,"role","button"),ye(e,"type","button"),e.setAttribute("data-media-tooltip","seek"),zr(e,this._getDefaultLabel.bind(this))}onConnect(e){Vr(e,this._onPress.bind(this))}_isSupported(){let{canSeek:e}=this._media.$state;return e()}_getDefaultLabel(){let{seconds:e}=this.$props;return`Seek ${e()>0?"forward":"backward"} ${e()} seconds`}_onPress(e){let{seconds:n,disabled:i}=this.$props;if(i())return;let{currentTime:r}=this._media.$state,s=r()+n();this._media.remote.seek(s,e)}};tf.props={disabled:!1,seconds:30};nf=class extends B{constructor(){super(),new fn}onSetup(){this._media=ce();let{disabled:e}=this.$props,{live:n,liveEdge:i}=this._media.$state,r=()=>!n();this.setAttributes({"data-edge":i,"data-hidden":r,"aria-disabled":Xt(()=>e()||i()),"aria-hidden":Xt(r)})}onAttach(e){ye(e,"tabindex","0"),ye(e,"role","button"),ye(e,"type","button"),e.setAttribute("data-media-tooltip","live")}onConnect(e){Vr(e,this._onPress.bind(this))}_onPress(e){let{disabled:n}=this.$props,{liveEdge:i}=this._media.$state;n()||i()||this._media.remote.seekToLiveEdge(e)}};nf.props={disabled:!1};mf=new ei({min:0,max:100,value:0,pointerValue:0,focused:!1,dragging:!1,pointing:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return EP(this.min,this.max,this.value)},get fillPercent(){return this.fillRate*100},get pointerRate(){return EP(this.min,this.max,this.pointerValue)},get pointerPercent(){return this.pointerRate*100}});SP={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1},Pw=class extends Lt{constructor(e,n){super(),this._delegate=e,this._media=n,this._provider=null,this._touch=null,this._touchStartValue=null,this._onDocumentPointerMove=lu(i=>{this._updatePointerValue(this._getPointerValue(i),i)},20,{leading:!0})}onConnect(){if(b(this._attachEventListeners.bind(this)),b(this._attachPointerListeners.bind(this)),this._delegate._swipeGesture){let e=this._media.player.el?.querySelector("media-provider,[data-media-provider]");e&&(this._provider=e,S(e,"touchstart",this._onTouchStart.bind(this),{passive:!0}),S(e,"touchmove",this._onTouchMove.bind(this),{passive:!1}))}}_onTouchStart(e){this._touch=e.touches[0]}_onTouchMove(e){if(vi(this._touch)||Vw(e))return;let n=e.touches[0],i=n.clientX-this._touch.clientX,r=n.clientY-this._touch.clientY,s=this.$state.dragging();!s&&Math.abs(r)>20||s||Math.abs(i)>20&&(this._touch=n,this._touchStartValue=this.$state.value(),this._onStartDragging(this._touchStartValue,e))}_attachEventListeners(){this._delegate._isDisabled()||(this.listen("focus",this._onFocus.bind(this)),this.listen("pointerenter",this._onPointerEnter.bind(this)),this.listen("pointermove",this._onPointerMove.bind(this)),this.listen("pointerleave",this._onPointerLeave.bind(this)),this.listen("pointerdown",this._onPointerDown.bind(this)),this.listen("keydown",this._onKeyDown.bind(this)),this.listen("keyup",this._onKeyUp.bind(this)))}_attachPointerListeners(){this._delegate._isDisabled()||!this.$state.dragging()||(S(document,"pointerup",this._onDocumentPointerUp.bind(this)),S(document,"pointermove",this._onDocumentPointerMove.bind(this)),I_&&S(document,"touchmove",this._onDocumentTouchMove.bind(this),{passive:!1}))}_onFocus(){this._updatePointerValue(this.$state.value())}_updateValue(e,n){let{value:i,min:r,max:s,dragging:a}=this.$state,o=Math.max(r(),Math.min(e,s()));i.set(o);let l=this.createEvent("value-change",{detail:o,trigger:n});if(this.dispatch(l),this._delegate._onValueChange?.(l),a()){let c=this.createEvent("drag-value-change",{detail:o,trigger:n});this.dispatch(c),this._delegate._onDragValueChange?.(c)}}_updatePointerValue(e,n){let{pointerValue:i,dragging:r}=this.$state;i.set(e),this.dispatch("pointer-value-change",{detail:e,trigger:n}),r()&&this._updateValue(e,n)}_getPointerValue(e){let n,i=this.el.getBoundingClientRect(),{min:r,max:s}=this.$state;if(this.$props.orientation()==="vertical"){let{bottom:a,height:o}=i;n=(a-e.clientY)/o}else if(this._touch&&Be(this._touchStartValue)){let{width:a}=this._provider.getBoundingClientRect(),o=(e.clientX-this._touch.clientX)/a,l=s()-r(),c=l*Math.abs(o);n=(o<0?this._touchStartValue-c:this._touchStartValue+c)/l}else{let{left:a,width:o}=i;n=(e.clientX-a)/o}return Math.max(r(),Math.min(s(),this._delegate._roundValue(l3(r(),s(),n,this._delegate._getStep()))))}_onPointerEnter(e){this.$state.pointing.set(!0)}_onPointerMove(e){let{dragging:n}=this.$state;n()||this._updatePointerValue(this._getPointerValue(e),e)}_onPointerLeave(e){this.$state.pointing.set(!1)}_onPointerDown(e){if(e.button!==0)return;let n=this._getPointerValue(e);this._onStartDragging(n,e),this._updatePointerValue(n,e)}_onStartDragging(e,n){let{dragging:i}=this.$state;if(i())return;i.set(!0),this._media.remote.pauseControls(n);let r=this.createEvent("drag-start",{detail:e,trigger:n});this.dispatch(r),this._delegate._onDragStart?.(r)}_onStopDragging(e,n){let{dragging:i}=this.$state;if(!i())return;i.set(!1),this._media.remote.resumeControls(n);let r=this.createEvent("drag-end",{detail:e,trigger:n});this.dispatch(r),this._delegate._onDragEnd?.(r),this._touch=null,this._touchStartValue=null}_onKeyDown(e){let{key:n}=e,{min:i,max:r}=this.$state,s;if(n==="Home"||n==="PageUp"?s=i():n==="End"||n==="PageDown"?s=r():!e.metaKey&&/[0-9]/.test(n)&&(s=(r()-i())/10*Number(n)),!Le(s)){this._updatePointerValue(s,e),this._updateValue(s,e);return}let a=this._getKeyValue(e);if(Le(a))return;let o=n===this._lastDownKey;!this.$state.dragging()&&o&&this._onStartDragging(a,e),this._updatePointerValue(a,e),o||this._updateValue(a,e),this._lastDownKey=n}_onKeyUp(e){this._lastDownKey="";let{dragging:n,value:i}=this.$state;if(!n())return;let r=this._getKeyValue(e)??i();this._updatePointerValue(r),this._onStopDragging(r,e)}_getKeyValue(e){let{key:n,shiftKey:i}=e;if(!Object.keys(SP).includes(n))return;e.preventDefault(),e.stopPropagation();let{shiftKeyMultiplier:s}=this.$props,{value:a,min:o,max:l}=this.$state,c=this._delegate._getStep(),u=this._delegate._getKeyStep(),d=i?u*s():u,p=Number(SP[n]),h=d*p,y=(a()+h)/c;return Math.max(o(),Math.min(l(),Number((c*y).toFixed(3))))}_onDocumentPointerUp(e){if(e.button!==0)return;let n=this._getPointerValue(e);this._updatePointerValue(n,e),this._onStopDragging(n,e)}_onDocumentTouchMove(e){e.preventDefault()}},xc=yi(()=>({})),gf=yi(),xi=class extends Lt{constructor(e){super(),this._delegate=e,this._updateSliderVars=Ir((n,i)=>{this.el?.style.setProperty("--slider-fill",n+"%"),this.el?.style.setProperty("--slider-pointer",i+"%")})}onSetup(){this._media=ce();let e=new fn;e.attach(this),this.$state.focused=e.focused.bind(e),$n(xc)||It(xc,{default:"value"}),It(gf,{_orientation:this.$props.orientation,_disabled:this._delegate._isDisabled,_preview:O(null)}),b(this._watchValue.bind(this)),b(this._watchDisabled.bind(this)),this._setupAttrs(),new Pw(this._delegate,this._media).attach(this)}onAttach(e){ye(e,"role","slider"),ye(e,"tabindex","0"),ye(e,"autocomplete","off"),D?this._watchCSSVars():b(this._watchCSSVars.bind(this))}_watchValue(){let{dragging:e,value:n,min:i,max:r}=this.$state;C(e)||n.set(o3(i(),r(),n(),this._delegate._getStep()))}_watchDisabled(){if(!this._delegate._isDisabled())return;let{dragging:e,pointing:n}=this.$state;e.set(!1),n.set(!1)}_getARIADisabled(){return Va(this._delegate._isDisabled())}_setupAttrs(){let{orientation:e}=this.$props,{dragging:n,active:i,pointing:r}=this.$state;this.setAttributes({"data-dragging":n,"data-pointing":r,"data-active":i,"aria-disabled":this._getARIADisabled.bind(this),"aria-valuemin":this.$state.min,"aria-valuemax":this.$state.max,"aria-valuenow":this._delegate._getARIAValueNow,"aria-valuetext":this._delegate._getARIAValueText,"aria-orientation":e})}_watchCSSVars(){let{fillPercent:e,pointerPercent:n}=this.$state;this._updateSliderVars(Dt(e(),3),Dt(n(),3))}};xi.props={disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};Zi=class extends B{constructor(){super(),new xi({_getStep:this.$props.step,_getKeyStep:this.$props.keyStep,_roundValue:Math.round,_isDisabled:this.$props.disabled,_getARIAValueNow:this._getARIAValueNow.bind(this),_getARIAValueText:this._getARIAValueText.bind(this)})}onSetup(){b(this._watchValue.bind(this)),b(this._watchMinMax.bind(this))}_getARIAValueNow(){let{value:e}=this.$state;return Math.round(e())}_getARIAValueText(){let{value:e,max:n}=this.$state;return Dt(e()/n()*100,2)+"%"}_watchValue(){let{value:e}=this.$props;this.$state.value.set(e())}_watchMinMax(){let{min:e,max:n}=this.$props;this.$state.min.set(e()),this.$state.max.set(n())}};Zi.props={...xi.props,min:0,max:100,value:0};Zi.state=mf;Yi=new Map,bh=new Map,rf=class t{constructor(e,n,i){this.$src=e,this.$crossOrigin=n,this._media=i,this.$images=O([]),b(this._onLoadCues.bind(this))}static create(e,n){let i=ce();return new t(e,n,i)}_onLoadCues(){let{canLoad:e}=this._media.$state;if(!e())return;let n=this.$src(),i=new AbortController;if(n){if(U(n)&&Yi.has(n)){let r=Yi.get(n);if(Yi.delete(n),Yi.set(n,r),Yi.size>30){let s=Yi.keys().next().value;Yi.delete(s)}this.$images.set(Yi.get(n))}else if(U(n)){let r=this.$crossOrigin(),s=n+"::"+r;if(!bh.has(s)){let a=new Promise(async(o,l)=>{try{let c=await fetch(n,{signal:i.signal,credentials:Eh(r)});if(c.headers.get("content-type")==="application/json"){let d=await c.json();if(qe(d))if(d[0]&&"text"in d)o(this._processVTTCues(d));else{for(let p=0;p(cc(),lc)).then(async({parseResponse:d})=>{try{let{cues:p}=await d(c);o(this._processVTTCues(p))}catch(p){l(p)}})}catch(c){l(c)}}).then(o=>(i.signal.aborted||Yi.set(s,o),o)).catch(o=>{i.signal.aborted||this._onError(n,o)}).finally(()=>{U(s)&&bh.delete(s)});bh.set(s,a)}bh.get(s)?.then(a=>{i.signal.aborted||this.$images.set(a||[])})}else if(qe(n))try{this.$images.set(this._processImages(n))}catch(r){this._onError(n,r)}else try{this.$images.set(this._processStoryboard(n))}catch(r){this._onError(n,r)}return()=>{i.abort(),this.$images.set([])}}}_processImages(e){let n=this._resolveBaseUrl();return e.map((i,r)=>(Gi(i.url&&U(i.url),!1),Gi("startTime"in i&&Be(i.startTime),!1),{...i,url:U(i.url)?this._resolveURL(i.url,n):i.url}))}_processStoryboard(e){Gi(U(e.url),!1),Gi(qe(e.tiles)&&e.tiles?.length,!1);let n=new URL(e.url),i=[],r="tile_width"in e?e.tile_width:e.tileWidth,s="tile_height"in e?e.tile_height:e.tileHeight;for(let a of e.tiles)i.push({url:n,startTime:"start"in a?a.start:a.startTime,width:r,height:s,coords:{x:a.x,y:a.y}});return i}_processVTTCues(e){for(let r=0;r{this._resetStyles(),n.set(!1),i.set(null)}}_onLoaded(){let{loading:e,error:n}=this.$state;e.set(!1),n.set(null)}_onError(e){let{loading:n,error:i}=this.$state;n.set(!1),i.set(e)}_isLoading(){let{loading:e,hidden:n}=this.$state;return!n()&&e()}_hasError(){let{error:e}=this.$state;return!vi(e())}_watchHidden(){let{hidden:e}=this.$state,{duration:n}=this._media.$state,i=this._loader.$images();e.set(this._hasError()||!Number.isFinite(n())||i.length===0)}_getTime(){return this.$props.time()}_onFindActiveThumbnail(){let e=this._getTime(),{src:n,activeThumbnail:i}=this.$state,r=this._loader.$images(),s=-1,a=null;for(let o=r.length-1;o>=0;o--){let l=r[o];if(e>=l.startTime&&(!l.endTime||e1?h:1;this._style(e,"--thumbnail-width",`${s*v}px`),this._style(e,"--thumbnail-height",`${a*v}px`),this._style(n,"width",`${n.naturalWidth*v}px`),this._style(n,"height",`${n.naturalHeight*v}px`),this._style(n,"transform",r.coords?`translate(-${r.coords.x*v}px, -${r.coords.y*v}px)`:""),this._style(n,"max-width","none")}_style(e,n,i){e.style.setProperty(n,i),this._styleResets.push(()=>e.style.removeProperty(n))}_resetStyles(){for(let e of this._styleResets)e();this._styleResets=[]}};Xa.props={src:null,time:0,crossOrigin:null};Xa.state=new ei({src:"",img:null,thumbnails:[],activeThumbnail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});sf=class extends Xa{onAttach(e){this._slider=xs(Zi.state)}_getTime(){let{duration:e,clipStartTime:n}=this._media.$state;return n()+this._slider.pointerRate()*e()}},c3=Object.defineProperty,u3=Object.getOwnPropertyDescriptor,d3=(t,e,n,i)=>{for(var r=i>1?void 0:i?u3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&c3(e,n,r),r},Ms=class extends B{get video(){return this.$state.video()}onSetup(){this._media=ce(),this._slider=xs(Zi.state),this._watchCrossOrigin(),this.setAttributes({"data-loading":this._isLoading.bind(this),"data-hidden":this.$state.hidden,"data-error":this._hasError.bind(this),"aria-hidden":Xt(this.$state.hidden)})}onAttach(e){b(this._watchVideo.bind(this)),b(this._watchSrc.bind(this)),b(this._watchCrossOrigin.bind(this)),b(this._watchHidden.bind(this)),b(this._onSrcChange.bind(this)),b(this._onUpdateTime.bind(this))}_watchVideo(){let e=this.$state.video();e&&(e.readyState>=2&&this._onCanPlay(),S(e,"canplay",this._onCanPlay.bind(this)),S(e,"error",this._onError.bind(this)))}_watchSrc(){let{src:e}=this.$state,{canLoad:n}=this._media.$state;e.set(n()?this.$props.src():null)}_watchCrossOrigin(){let{crossOrigin:e}=this.$props,{crossOrigin:n}=this.$state,{crossOrigin:i}=this._media.$state,r=e()!==null?e():i();n.set(r===!0?"anonymous":r)}_isLoading(){let{canPlay:e,hidden:n}=this.$state;return!e()&&!n()}_hasError(){let{error:e}=this.$state;return!vi(e)}_watchHidden(){let{src:e,hidden:n}=this.$state,{canLoad:i,duration:r}=this._media.$state;n.set(i()&&(!e()||this._hasError()||!Number.isFinite(r())))}_onSrcChange(){let{src:e,canPlay:n,error:i}=this.$state;e(),n.set(!1),i.set(null)}_onCanPlay(e){let{canPlay:n,error:i}=this.$state;n.set(!0),i.set(null),this.dispatch("can-play",{trigger:e})}_onError(e){let{canPlay:n,error:i}=this.$state;n.set(!1),i.set(e),this.dispatch("error",{trigger:e})}_onUpdateTime(){let{video:e,canPlay:n}=this.$state,{duration:i}=this._media.$state,{pointerRate:r}=this._slider,s=e();n()&&s&&Number.isFinite(i())&&Number.isFinite(r())&&(s.currentTime=r()*i())}};Ms.props={src:null,crossOrigin:null};Ms.state=new ei({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});d3([te],Ms.prototype,"video",1);p3=Object.defineProperty,h3=Object.getOwnPropertyDescriptor,f3=(t,e,n,i)=>{for(var r=i>1?void 0:i?h3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&p3(e,n,r),r},Za=class extends B{onSetup(){this._slider=xs(Zi.state),this._format=Ie(xc),this._text=gi(this.getValueText.bind(this))}getValueText(){let{type:e,format:n,decimalPlaces:i,padHours:r,padMinutes:s,showHours:a}=this.$props,{value:o,pointerValue:l,min:c,max:u}=this._slider,d=n()??this._format.default,p=e()==="current"?o():l();if(d==="percent"){let h=u()-c(),y=p/h*100;return(this._format.percent??Dt)(y,i())+"\uFE6A"}else return d==="time"?(this._format.time??Ur)(p,r(),s(),a()):this._format.value?.(p)??p.toFixed(2)}};Za.props={type:"pointer",format:null,showHours:!1,padHours:null,padMinutes:null,decimalPlaces:2};f3([Ae],Za.prototype,"getValueText",1);Tc=class extends B{constructor(){super(...arguments),this._updatePlacement=Ir(()=>{let{_disabled:e,_orientation:n}=this._slider;if(e())return;let i=this.el,{offset:r,noClamp:s}=this.$props;Hw(i,{clamp:!s(),offset:r(),orientation:n()})})}onSetup(){this._slider=Ie(gf);let{active:e}=xs(Zi.state);this.setAttributes({"data-visible":e})}onAttach(e){Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){let{_preview:n}=this._slider;n.set(e),G(()=>n.set(null)),b(this._updatePlacement.bind(this));let i=new ResizeObserver(this._updatePlacement.bind(this));i.observe(e),G(()=>i.disconnect())}};Tc.props={offset:0,noClamp:!1};Ec=class extends B{constructor(){super(...arguments),this._throttleVolumeChange=lu(this._onVolumeChange.bind(this),25)}onSetup(){this._media=ce(),It(xc,{default:"percent"}),new xi({_getStep:this.$props.step,_getKeyStep:this.$props.keyStep,_isDisabled:this.$props.disabled,_roundValue:Math.round,_getARIAValueNow:this._getARIAValueNow.bind(this),_getARIAValueText:this._getARIAValueText.bind(this),_onDragValueChange:this._onDragValueChange.bind(this),_onValueChange:this._onValueChange.bind(this)}).attach(this),b(this._watchVolume.bind(this))}onAttach(e){e.setAttribute("data-media-volume-slider",""),ye(e,"aria-label","Volume");let{canSetVolume:n}=this._media.$state;this.setAttributes({"data-supported":n,"aria-hidden":Xt(()=>!n())})}_getARIAValueNow(){let{value:e}=this.$state;return Math.round(e())}_getARIAValueText(){let{value:e,max:n}=this.$state;return Dt(e()/n()*100,2)+"%"}_watchVolume(){let{muted:e,volume:n}=this._media.$state,i=e()?0:n()*100;this.$state.value.set(i),this.dispatch("value-change",{detail:i})}_onVolumeChange(e){if(!e.trigger)return;let n=Dt(e.detail/100,3);this._media.remote.changeVolume(n,e)}_onValueChange(e){this._throttleVolumeChange(e)}_onDragValueChange(e){this._throttleVolumeChange(e)}};Ec.props={...xi.props,keyStep:5,shiftKeyMultiplier:2};Ec.state=mf;Ja=class extends B{constructor(){super(),this._chapter=O(null),this._playingBeforeDragStart=!1,new xi({_swipeGesture:!0,_getStep:this._getStep.bind(this),_getKeyStep:this._getKeyStep.bind(this),_isDisabled:this._isDisabled.bind(this),_roundValue:this._roundValue,_getARIAValueNow:this._getARIAValueNow.bind(this),_getARIAValueText:this._getARIAValueText.bind(this),_onDragStart:this._onDragStart.bind(this),_onDragValueChange:this._onDragValueChange.bind(this),_onDragEnd:this._onDragEnd.bind(this),_onValueChange:this._onValueChange.bind(this)})}onSetup(){this._media=ce(),It(xc,{default:"time",value:this._formatValue.bind(this),time:this._formatTime.bind(this)}),this.setAttributes({"data-chapters":this._hasChapters.bind(this)}),this.setStyles({"--slider-progress":this._calcBufferedPercent.bind(this)}),b(this._watchCurrentTime.bind(this)),b(this._watchSeekingThrottle.bind(this))}onAttach(e){e.setAttribute("data-media-time-slider",""),ye(e,"aria-label","Seek")}onConnect(e){b(this._watchPreviewing.bind(this)),io(this._media.textTracks,"chapters",this._chapter.set)}_calcBufferedPercent(){let{bufferedEnd:e,duration:n}=this._media.$state;return Dt(Math.min(e()/Math.max(n(),1),1)*100,3)+"%"}_hasChapters(){let{duration:e}=this._media.$state;return this._chapter()?.cues.length&&Number.isFinite(e())&&e()>0}_watchSeekingThrottle(){this._dispatchSeeking=lu(this._seeking.bind(this),this.$props.seekingRequestThrottle())}_watchCurrentTime(){let{currentTime:e}=this._media.$state,{value:n,dragging:i}=this.$state,r=this._timeToPercent(e());C(i)||(n.set(r),this.dispatch("value-change",{detail:r}))}_watchPreviewing(){let e=this._media.player.el,{_preview:n}=Ie(gf);e&&n()&&J(e,"data-preview",this.$state.active())}_seeking(e,n){this._media.remote.seeking(e,n)}_seek(e,n,i){this._dispatchSeeking.cancel();let{live:r}=this._media.$state;if(r()&&n>=99){this._media.remote.seekToLiveEdge(i);return}this._media.remote.seek(e,i)}_onDragStart(e){let{pauseWhileDragging:n}=this.$props;if(n()){let{paused:i}=this._media.$state;this._playingBeforeDragStart=!i(),this._media.remote.pause(e)}}_onDragValueChange(e){this._dispatchSeeking(this._percentToTime(e.detail),e)}_onDragEnd(e){let n=e.detail;this._seek(this._percentToTime(n),n,e);let{pauseWhileDragging:i}=this.$props;i()&&this._playingBeforeDragStart&&(this._media.remote.play(e),this._playingBeforeDragStart=!1)}_onValueChange(e){let{dragging:n}=this.$state;n()||!e.trigger||this._onDragEnd(e)}_getStep(){let e=this.$props.step()/this._media.$state.duration()*100;return Number.isFinite(e)?e:1}_getKeyStep(){let e=this.$props.keyStep()/this._media.$state.duration()*100;return Number.isFinite(e)?e:1}_roundValue(e){return Dt(e,3)}_isDisabled(){let{canSeek:e}=this._media.$state;return this.$props.disabled()||!e()}_getARIAValueNow(){let{value:e}=this.$state;return Math.round(e())}_getARIAValueText(){let e=this._percentToTime(this.$state.value()),{duration:n}=this._media.$state;return Number.isFinite(e)?`${kc(e)} out of ${kc(n())}`:"live"}_percentToTime(e){let{duration:n}=this._media.$state;return Dt(e/100*n(),5)}_timeToPercent(e){let{liveEdge:n,duration:i}=this._media.$state,r=Math.max(0,Math.min(1,n()?1:Math.min(e,i())/i()));return Number.isNaN(r)?0:Number.isFinite(r)?r*100:100}_formatValue(e){let n=this._percentToTime(e),{live:i,duration:r}=this._media.$state;return Number.isFinite(n)?(i()?n-r():n).toFixed(0):"LIVE"}_formatTime(e,n,i,r){let s=this._percentToTime(e),{live:a,duration:o}=this._media.$state,l=a()?s-o():s;return Number.isFinite(s)?`${l<0?"-":""}${Ur(Math.abs(l),n,i,r)}`:"LIVE"}};Ja.props={...xi.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,seekingRequestThrottle:100};Ja.state=mf;m3=Object.defineProperty,g3=Object.getOwnPropertyDescriptor,vf=(t,e,n,i)=>{for(var r=i>1?void 0:i?g3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&m3(e,n,r),r},Ji=class extends B{constructor(){super(...arguments),this._titleRef=null,this._refs=[],this._$track=O(null),this._$cues=O([]),this._activeIndex=O(-1),this._activePointerIndex=O(-1),this._bufferedIndex=0,this._updateBufferedPercent=Ir(e=>{let n,i=this._$cues(),{clipStartTime:r}=this._media.$state,s=r(),a=this._getEndTime(i);for(let o=this._bufferedIndex;o{let e=C(this._$track);!this.scope||!e||!e.cues.length||(this._$cues.set(this._fillGaps(e.cues)),this._activeIndex.set(0),this._bufferedIndex=0)},150,!0)}get cues(){return this._$cues()}get activeCue(){return this._$cues()[this._activeIndex()]||null}get activePointerCue(){return this._$cues()[this._activePointerIndex()]||null}onSetup(){this._media=ce(),this._sliderState=xs(Ja.state)}onAttach(e){io(this._media.textTracks,"chapters",this._setTrack.bind(this)),b(this._onTrackChange.bind(this))}onConnect(){G(()=>this._reset.bind(this))}onDestroy(){this._setTrack(null)}setRefs(e){if(this._refs=e,this._updateScope?.dispose(),this._refs.length===1){let n=this._refs[0];n.style.width="100%",n.style.setProperty("--chapter-fill","var(--slider-fill)"),n.style.setProperty("--chapter-progress","var(--slider-progress)")}else this._refs.length>0&&nt(()=>this._watch(),this._updateScope=Rt())}_setTrack(e){C(this._$track)!==e&&(this._reset(),this._$track.set(e))}_reset(){this._refs=[],this._$cues.set([]),this._activeIndex.set(-1),this._activePointerIndex.set(-1),this._bufferedIndex=0,this._updateScope?.dispose()}_watch(){this._refs.length&&(b(this._watchContainerWidths.bind(this)),b(this._watchFillPercent.bind(this)),b(this._watchPointerPercent.bind(this)),b(this._watchBufferedPercent.bind(this)))}_watchContainerWidths(){let e=this._$cues();if(!e.length)return;let n,{clipStartTime:i,clipEndTime:r}=this._media.$state,s=i(),a=r()||e[e.length-1].endTime,o=a-s,l=100;for(let c=0;cc?this._updateFillPercents(c,d,"100%"):d=0&&i<100)return l;return 0}_watchBufferedPercent(){this._updateBufferedPercent(this._bufferedPercent())}_calcMediaBufferedPercent(){let{bufferedEnd:e,duration:n}=this._media.$state;return Dt(Math.min(e()/Math.max(n(),1),1),3)*100}_getEndTime(e){let{clipEndTime:n}=this._media.$state,i=n();return i>0?i:e[e.length-1]?.endTime||0}_calcPercent(e,n,i,r){if(this._$cues().length===0)return 0;let a=r-i,o=Math.max(0,e.startTime-i),l=Math.min(r,e.endTime)-i,c=o/a,u=c*100,d=Math.min(1,c+(l-o)/a)*100;return Math.max(0,Dt(n>=d?100:(n-u)/(d-u)*100,3))}_fillGaps(e){let n=[],{clipStartTime:i,clipEndTime:r,duration:s}=this._media.$state,a=i(),o=r()||1/0;e=e.filter(u=>u.startTime<=o&&u.endTime>=a);let l=e[0];l&&l.startTime>a&&n.push(new window.VTTCue(a,l.startTime,""));for(let u=0;u0&&n.push(new window.VTTCue(d.endTime,d.endTime+h,""))}}let c=e[e.length-1];return c&&(n.push(c),s()>=0&&(o===0||o!==1/0&&c.endTime1&&n.push(new window.VTTCue(c.endTime,s(),""))),n}_onTrackChange(){if(!this.scope)return;let{disabled:e}=this.$props;if(e()){this._$cues.set([]),this._activeIndex.set(0),this._bufferedIndex=0;return}let n=this._$track();if(n){let i=this._onCuesChange.bind(this);i(),G(S(n,"add-cue",i)),G(S(n,"remove-cue",i)),b(this._watchMediaDuration.bind(this))}return this._titleRef=this._findChapterTitleRef(),this._titleRef&&b(this._onChapterTitleChange.bind(this)),()=>{this._titleRef&&(this._titleRef.textContent="",this._titleRef=null)}}_watchMediaDuration(){this._media.$state.duration(),this._onCuesChange()}_onChapterTitleChange(){let e=this.activePointerCue||this.activeCue;this._titleRef&&(this._titleRef.textContent=e?.text||"")}_findParentSlider(){let e=this.el;for(;e&&e.getAttribute("role")!=="slider";)e=e.parentElement;return e}_findChapterTitleRef(){let e=this._findParentSlider();return e?e.querySelector('[data-part="chapter-title"]'):null}};Ji.props={disabled:!1};vf([te],Ji.prototype,"cues",1);vf([te],Ji.prototype,"activeCue",1);vf([te],Ji.prototype,"activePointerCue",1);vf([Ae],Ji.prototype,"setRefs",1);ut=yi(),v3=["a[href]","[tabindex]","input","select","button"].map(t=>`${t}:not([aria-hidden='true'])`).join(","),PP=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]),Cw=class{constructor(e){this._delegate=e,this._index=0,this._el=null,this._elements=[]}get _items(){return this._elements}_attachMenu(e){return S(e,"focus",this._onFocus.bind(this)),this._el=e,G(()=>{this._el=null}),this}_listen(){this._el&&(this._update(),S(this._el,"keyup",this._onKeyUp.bind(this)),S(this._el,"keydown",this._onKeyDown.bind(this)),G(()=>{this._index=0,this._elements=[]}))}_update(){this._index=0,this._elements=this._getFocusableElements()}_scroll(e=this._findActiveIndex()){let n=this._elements[e],i=this._delegate._getScrollContainer();n&&i&&requestAnimationFrame(()=>{i.scrollTop=n.offsetTop-i.offsetHeight/2+n.offsetHeight/2})}_focusAt(e){this._index=e,this._elements[e]?.focus(),this._scroll(e)}_findActiveIndex(){return this._elements.findIndex(e=>e.getAttribute("aria-checked")==="true")}_onFocus(){this._update(),setTimeout(()=>{let e=this._findActiveIndex();this._focusAt(e>=0?e:0)},100)}_onKeyUp(e){PP.has(e.key)&&(e.stopPropagation(),e.preventDefault())}_onKeyDown(e){if(PP.has(e.key))switch(e.stopPropagation(),e.preventDefault(),e.key){case"Escape":this._delegate._closeMenu(e);break;case"Tab":this._focusAt(this._nextIndex(e.shiftKey?-1:1));break;case"ArrowUp":this._focusAt(this._nextIndex(-1));break;case"ArrowDown":this._focusAt(this._nextIndex(1));break;case"Home":case"PageUp":this._focusAt(0);break;case"End":case"PageDown":this._focusAt(this._elements.length-1);break}}_nextIndex(e){let n=this._index;do n=(n+e+this._elements.length)%this._elements.length;while(this._elements[n]?.offsetParent===null);return n}_getFocusableElements(){if(!this._el)return[];let e=this._el.querySelectorAll(v3),n=[],i=r=>r.getAttribute("role")==="menu";for(let r of e)r instanceof HTMLElement&&r.offsetParent!==null&&GP(this._el,r,i)&&n.push(r);return n}},y3=Object.defineProperty,_3=Object.getOwnPropertyDescriptor,cu=(t,e,n,i)=>{for(var r=i>1?void 0:i?_3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&y3(e,n,r),r},w3=0,er=class extends B{constructor(){super(),this._expanded=O(!1),this._disabled=O(!1),this._trigger=O(null),this._content=O(null),this._isTriggerDisabled=O(!1),this._submenus=new Set,this._menuObserver=null,this._removeSubmenuBind=this._removeSubmenu.bind(this),this._onSubmenuOpenBind=this._onSubmenuOpen.bind(this),this._onSubmenuCloseBind=this._onSubmenuClose.bind(this),this._onResize=Ir(()=>{let n=C(this._content);if(!n||D)return;let i=0,r=getComputedStyle(n),s=[...n.children];for(let a of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])i+=parseFloat(r[a])||0;for(let a of s)if(a instanceof HTMLElement&&a.style.display==="contents")s.push(...a.children);else if(a.nodeType===3)i+=parseFloat(getComputedStyle(a).fontSize);else if(a instanceof HTMLElement){let o=getComputedStyle(a);if(o.display==="none")continue;i+=a.offsetHeight+(parseFloat(o.marginTop)||0)+(parseFloat(o.marginBottom)||0)}requestAnimationFrame(()=>{ct(n,"--menu-height",i+"px")})});let{showDelay:e}=this.$props;this._popper=new Bh({_trigger:this._trigger,_content:this._content,_showDelay:e,_listen:(n,i,r)=>{Vr(n,a=>{this._expanded()?r(a):i(a)});let s=this._getCloseTarget();s&&Vr(s,a=>{a.stopPropagation(),r(a)})},_onChange:this._onExpandedChange.bind(this)})}get triggerElement(){return this._trigger()}get contentElement(){return this._content()}get isSubmenu(){return!!this._parentMenu}onSetup(){this._media=ce();let e=++w3;this._menuId=`media-menu-${e}`,this._menuButtonId=`media-menu-button-${e}`,this._focus=new Cw({_getScrollContainer:this._findScrollContainer.bind(this),_closeMenu:this.close.bind(this)}),$n(ut)&&(this._parentMenu=Ie(ut)),this.setAttributes({"data-open":this._expanded,"data-submenu":this.isSubmenu,"data-disabled":this._isDisabled.bind(this)}),It(ut,{_button:this._trigger,_expanded:this._expanded,_hint:O(""),_disable:this._disable.bind(this),_attachMenuButton:this._attachMenuButton.bind(this),_attachMenuItems:this._attachMenuItems.bind(this),_attachObserver:this._attachObserver.bind(this),_disableMenuButton:this._disableMenuButton.bind(this),_addSubmenu:this._addSubmenu.bind(this)})}onAttach(e){e.style.setProperty("display","contents"),this._focus._attachMenu(e)}onConnect(e){b(this._watchExpanded.bind(this)),this.isSubmenu&&this._parentMenu?._addSubmenu(this)}onDestroy(){this._trigger.set(null),this._content.set(null),this._menuObserver=null}_watchExpanded(){let e=this._isExpanded();this.isSubmenu||this._onResize(),this._updateMenuItemsHidden(e),e&&(b(()=>{let{height:n}=this._media.$state,i=this._content();i&&ct(i,"--player-height",n()+"px")}),this._focus._listen(),this.listen("pointerup",this._onPointerUp.bind(this)),S(window,"pointerup",this._onWindowPointerUp.bind(this)))}_attachMenuButton(e){let n=e.el,i=this.isSubmenu,r=Xt(this._isDisabled.bind(this));ye(n,"tabindex",i?"-1":"0"),ye(n,"role",i?"menuitem":"button"),J(n,"id",this._menuButtonId),J(n,"aria-haspopup","menu"),J(n,"aria-expanded","false"),J(n,"data-submenu",this.isSubmenu),this.isSubmenu||this._stopClickPropagation(n);let s=()=>{J(n,"data-open",this._expanded()),J(n,"aria-disabled",r())};D?s():b(s),this._trigger.set(n),G(()=>{this._trigger.set(null)})}_attachMenuItems(e){let n=e.el;n.style.setProperty("display","none"),J(n,"id",this._menuId),ye(n,"role","menu"),ye(n,"tabindex","-1"),J(n,"data-submenu",this.isSubmenu),this._content.set(n),G(()=>this._content.set(null));let i=()=>J(n,"data-open",this._expanded());if(D?i():b(i),this._focus._attachMenu(n),this._updateMenuItemsHidden(!1),!this.isSubmenu){let r=this._onResizeTransition.bind(this);e.listen("transitionstart",r),e.listen("transitionend",r),e.listen("vds-menu-resize",this._onResize)}}_attachObserver(e){this._menuObserver=e}_stopClickPropagation(e){S(e,"click",n=>n.stopPropagation()),S(e,"pointerup",n=>n.stopPropagation())}_updateMenuItemsHidden(e){let n=C(this._content);n&&J(n,"aria-hidden",Va(!e))}_disableMenuButton(e){this._isTriggerDisabled.set(e)}_onExpandedChange(e,n){if(n?.stopPropagation(),this._expanded()===e)return;if(this._isDisabled()){e&&this._popper.hide(n);return}this.el?.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));let i=this._trigger(),r=this._content();if(i&&(J(i,"aria-controls",e&&this._menuId),J(i,"aria-expanded",Va(e))),r&&J(r,"aria-labelledby",e&&this._menuButtonId),this._expanded.set(e),this._toggleMediaControls(n),ti(),qi(n)){e?r?.focus():i?.focus();for(let s of[this.el,r])s&&s.setAttribute("data-keyboard","")}else for(let s of[this.el,r])s&&s.removeAttribute("data-keyboard");this.dispatch(e?"open":"close",{trigger:n}),e?(!this.isSubmenu&&this._media.activeMenu!==this&&(this._media.activeMenu?.close(n),this._media.activeMenu=this),this._menuObserver?._onOpen?.(n)):(this.isSubmenu?setTimeout(()=>{for(let s of this._submenus)s.close(n)},300):this._media.activeMenu=null,this._menuObserver?._onClose?.(n)),e&&!qi(n)&&requestAnimationFrame(()=>{this._focus._update(),setTimeout(()=>{this._focus._scroll()},100)})}_isExpanded(){return!this._isDisabled()&&this._expanded()}_isDisabled(){return this._disabled()||this._isTriggerDisabled()}_disable(e){this._disabled.set(e)}_onPointerUp(e){e.stopPropagation()}_onWindowPointerUp(e){if(!(!(e.target instanceof Node)||this._content()?.contains(e.target))){if(this.isSubmenu)return setTimeout(this.close.bind(this,e),800);this.close(e)}}_getCloseTarget(){let e=this.el?.querySelector('[data-part="close-target"]');return this.el&&e&&GP(this.el,e,n=>n.getAttribute("role")==="menu")?e:null}_findScrollContainer(){if(this.isSubmenu){let e=this.el;for(;e&&e.tagName!=="media-menu"&&e.hasAttribute("data-submenu");)e=e.parentNode;return e}else return C(this._content)||null}_toggleMediaControls(e){this.isSubmenu||(this._expanded()?this._media.remote.pauseControls(e):this._media.remote.resumeControls(e))}_addSubmenu(e){this._submenus.add(e),S(e,"open",this._onSubmenuOpenBind),S(e,"close",this._onSubmenuCloseBind),G(this._removeSubmenuBind)}_removeSubmenu(e){this._submenus.delete(e)}_onSubmenuOpen(e){this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","true");for(let n of this._submenus)if(n!==e.target)for(let i of[n.el,n.triggerElement])i?.setAttribute("aria-hidden","true")}_onSubmenuClose(){this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","false");for(let e of this._submenus)for(let n of[e.el,e.triggerElement])n?.setAttribute("aria-hidden","false")}_onResizeTransition(e){let n=this._content();if(n&&e.propertyName==="height"){let i=e.type==="transitionstart";J(n,"data-resizing",i)}}open(e){C(this._expanded)||(this._popper.show(e),ti())}close(e){C(this._expanded)&&(this._popper.hide(e),ti())}};er.props={showDelay:0};cu([te],er.prototype,"triggerElement",1);cu([te],er.prototype,"contentElement",1);cu([te],er.prototype,"isSubmenu",1);cu([Ae],er.prototype,"open",1);cu([Ae],er.prototype,"close",1);b3=Object.defineProperty,x3=Object.getOwnPropertyDescriptor,k3=(t,e,n,i)=>{for(var r=i>1?void 0:i?x3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&b3(e,n,r),r},Rs=class extends B{get expanded(){return this._menu?._expanded()??!1}constructor(){super(),new fn}onSetup(){this._menu=Ie(ut)}onAttach(e){this._menu._attachMenuButton(this),b(this._watchDisabled.bind(this)),ye(e,"type","button")}onConnect(e){let n=Array.from(e.querySelectorAll('[data-part="hint"]')).pop();n&&b(()=>{let i=this._menu._hint();i&&(n.textContent=i)}),Vr(e,i=>{this.dispatch("select",{trigger:i})})}_watchDisabled(){this._menu._disableMenuButton(this.$props.disabled())}};Rs.props={disabled:!1};k3([te],Rs.prototype,"expanded",1);af=class extends Rs{},of=class extends B{constructor(){super(...arguments),this._target=null}onSetup(){this._media=ce(),It(gc,{_attach:this._attachElement.bind(this)})}onAttach(e){e.style.setProperty("display","contents")}onConnect(e){}onDestroy(){this._target?.remove(),this._target=null}_attachElement(e){this._portal(!1),this._target=e,Ch(()=>{Ch(()=>{this.connectScope&&b(this._watchDisabled.bind(this))})})}_watchDisabled(){let{fullscreen:e}=this._media.$state,{disabled:n}=this.$props,i=n();this._portal(i==="fullscreen"?!e():!i)}_portal(e){if(!this._target)return;let n=this._getContainer(this.$props.container());if(!n)return;let i=this._target.parentElement===n;J(this._target,"data-portal",e),e?i||(this._target.remove(),n.append(this._target)):i&&this._target.parentElement===n&&(this._target.remove(),this.el?.append(this._target))}_getContainer(e){return e instanceof HTMLElement?e:e?document.querySelector(e):document.body}};of.props={container:null,disabled:!1};gc=yi(),Sc=class extends B{constructor(){super(),new fn;let{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){if(this._menu=Ie(ut),this._menu._attachMenuItems(this),$n(gc)){let n=Ie(gc);n&&(It(gc,null),n._attach(e),G(()=>n._attach(null)))}}onConnect(e){b(this._watchPlacement.bind(this))}_watchPlacement(){if(!this.el)return;let e=this.$props.placement();if(e){Object.assign(this.el.style,{position:"absolute",top:0,left:0,width:"max-content"});let{offset:n,alignOffset:i}=this.$props;return YP(this.el,this._getButton(),e,{offsetVarName:"media-menu",xOffset:i(),yOffset:n()})}else this.el.removeAttribute("style"),this.el.style.display="none"}_getButton(){return this._menu._button()}};Sc.props={placement:null,offset:0,alignOffset:0};$w=yi(),Fr=class extends Lt{constructor(){super(...arguments),this._group=new Set,this._value=O(""),this._controller=null,this._onChangeBind=this._onChange.bind(this)}get _values(){return Array.from(this._group).map(e=>e._value())}get value(){return this._value()}set value(e){this._onChange(e)}onSetup(){It($w,{add:this._addRadio.bind(this),remove:this._removeRadio.bind(this)})}onAttach(e){$n(ut)||ye(e,"role","radiogroup"),this.setAttributes({value:this._value})}onDestroy(){this._group.clear()}_addRadio(e){this._group.has(e)||(this._group.add(e),e._onCheck=this._onChangeBind,e._check(e._value()===this._value()))}_removeRadio(e){e._onCheck=null,this._group.delete(e)}_onChange(e,n){let i=C(this._value);if(!e||e===i)return;let r=this._findRadio(i),s=this._findRadio(e);r?._check(!1,n),s?._check(!0,n),this._value.set(e),this._onValueChange?.(e,n)}_findRadio(e){for(let n of this._group)if(e===C(n._value))return n;return null}},T3=Object.defineProperty,E3=Object.getOwnPropertyDescriptor,p1=(t,e,n,i)=>{for(var r=i>1?void 0:i?E3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&T3(e,n,r),r},eo=class extends B{get values(){return this._controller._values}get value(){return this._controller.value}set value(e){this._controller.value=e}constructor(){super(),this._controller=new Fr,this._controller._onValueChange=this._onValueChange.bind(this)}onSetup(){D?this._watchValue():b(this._watchValue.bind(this))}_watchValue(){this._controller.value=this.$props.value()}_onValueChange(e,n){let i=this.createEvent("change",{detail:e,trigger:n});this.dispatch(i)}};eo.props={value:""};p1([te],eo.prototype,"values",1);p1([te],eo.prototype,"value",1);S3=Object.defineProperty,P3=Object.getOwnPropertyDescriptor,C3=(t,e,n,i)=>{for(var r=i>1?void 0:i?P3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&S3(e,n,r),r},to=class extends B{constructor(){super(),this._checked=O(!1),this._controller={_value:this.$props.value,_check:this._check.bind(this),_onCheck:null},new fn}get checked(){return this._checked()}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this._checked,"aria-checked":Xt(this._checked)})}onAttach(e){let n=$n(ut);ye(e,"tabindex",n?"-1":"0"),ye(e,"role",n?"menuitemradio":"radio"),b(this._watchValue.bind(this))}onConnect(e){this._addToGroup(),Vr(e,this._onPress.bind(this)),G(this._onDisconnect.bind(this))}_onDisconnect(){nt(()=>{Ie($w).remove(this._controller)},this.connectScope)}_addToGroup(){Ie($w).add(this._controller)}_watchValue(){let{value:e}=this.$props,n=e();C(this._checked)&&this._controller._onCheck?.(n)}_onPress(e){C(this._checked)||(this._onChange(!0,e),this._onSelect(e),this._controller._onCheck?.(C(this.$props.value),e))}_check(e,n){C(this._checked)!==e&&this._onChange(e,n)}_onChange(e,n){this._checked.set(e),this.dispatch("change",{detail:e,trigger:n})}_onSelect(e){this.dispatch("select",{trigger:e})}};to.props={value:""};C3([te],to.prototype,"checked",1);$3=Object.defineProperty,M3=Object.getOwnPropertyDescriptor,qw=(t,e,n,i)=>{for(var r=i>1?void 0:i?M3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&$3(e,n,r),r},Ls=class extends B{constructor(){super(),this._index=O(0),this._track=O(null),this._cues=O([]),this._controller=new Fr,this._controller._onValueChange=this._onValueChange.bind(this)}get value(){return this._controller.value}get disabled(){return!this._cues()?.length}onSetup(){this._media=ce(),$n(ut)&&(this._menu=Ie(ut));let{thumbnails:e}=this.$props;this.setAttributes({"data-thumbnails":()=>!!e()})}onAttach(e){this._menu?._attachObserver({_onOpen:this._onOpen.bind(this)})}getOptions(){let{clipStartTime:e,clipEndTime:n}=this._media.$state,i=e(),r=n()||1/0;return this._cues().map((s,a)=>({cue:s,value:a.toString(),label:s.text,startTime:Ur(Math.max(0,s.startTime-i),!1),duration:kc(Math.min(r,s.endTime)-Math.max(i,s.startTime))}))}_onOpen(){C(()=>this._watchCurrentTime())}onConnect(e){b(this._watchValue.bind(this)),b(this._watchCurrentTime.bind(this)),b(this._watchControllerDisabled.bind(this)),b(this._watchTrack.bind(this)),io(this._media.textTracks,"chapters",this._track.set)}_watchTrack(){let e=this._track();if(!e)return;let n=this._onCuesChange.bind(this,e);return n(),S(e,"add-cue",n),S(e,"remove-cue",n),()=>{this._cues.set([])}}_onCuesChange(e){let{clipStartTime:n,clipEndTime:i}=this._media.$state,r=n(),s=i()||1/0;this._cues.set([...e.cues].filter(a=>a.startTime<=s&&a.endTime>=r))}_watchValue(){this._controller.value=this._getValue()}_watchCurrentTime(){if(!this._menu?._expanded())return;if(!this._track()){this._index.set(-1);return}let{realCurrentTime:n,clipStartTime:i,clipEndTime:r}=this._media.$state,s=i(),a=r()||1/0,o=n(),l=this._cues().findIndex(c=>Sh(c,o));if(this._index.set(l),l>=0){let c=this._cues()[l],u=this.el.querySelector("[aria-checked='true']"),d=Math.max(s,c.startTime),p=Math.min(a,c.endTime)-d,h=Math.max(0,o-d)/p*100;u&&ct(u,"--progress",Dt(h,3)+"%")}}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_getValue(){return this._index().toString()}_onValueChange(e,n){if(this.disabled||!n)return;let i=+e,r=this._cues(),{clipStartTime:s}=this._media.$state;Be(i)&&r?.[i]&&(this._index.set(i),this._media.remote.seek(r[i].startTime-s(),n),this.dispatch("change",{detail:r[i],trigger:n}))}};Ls.props={thumbnails:null};qw([te],Ls.prototype,"value",1);qw([te],Ls.prototype,"disabled",1);qw([Ae],Ls.prototype,"getOptions",1);R3=Object.defineProperty,L3=Object.getOwnPropertyDescriptor,Bw=(t,e,n,i)=>{for(var r=i>1?void 0:i?L3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&R3(e,n,r),r},Is=class extends B{get value(){return this._controller.value}get disabled(){let{audioTracks:e}=this._media.$state;return e().length===0}constructor(){super(),this._controller=new Fr,this._controller._onValueChange=this._onValueChange.bind(this)}onSetup(){this._media=ce(),$n(ut)&&(this._menu=Ie(ut))}onConnect(e){b(this._watchValue.bind(this)),b(this._watchControllerDisabled.bind(this)),b(this._watchHintText.bind(this))}getOptions(){let{audioTracks:e}=this._media.$state;return e().map(n=>({track:n,label:n.label,value:n.label.toLowerCase()}))}_watchValue(){this._controller.value=this._getValue()}_watchHintText(){let{emptyLabel:e}=this.$props,{audioTrack:n}=this._media.$state,i=n();this._menu?._hint.set(i?.label??e())}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_getValue(){let{audioTrack:e}=this._media.$state,n=e();return n?n.label.toLowerCase():""}_onValueChange(e,n){if(this.disabled)return;let i=this._media.audioTracks.toArray().findIndex(r=>r.label.toLowerCase()===e);if(i>=0){let r=this._media.audioTracks[i];this._media.remote.changeAudioTrack(i,n),this.dispatch("change",{detail:r,trigger:n})}}};Is.props={emptyLabel:"Default"};Bw([te],Is.prototype,"value",1);Bw([te],Is.prototype,"disabled",1);Bw([Ae],Is.prototype,"getOptions",1);I3=Object.defineProperty,A3=Object.getOwnPropertyDescriptor,Ww=(t,e,n,i)=>{for(var r=i>1?void 0:i?A3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&I3(e,n,r),r},As=class extends B{get value(){return this._controller.value}get disabled(){let{hasCaptions:e}=this._media.$state;return!e()}constructor(){super(),this._controller=new Fr,this._controller._onValueChange=this._onValueChange.bind(this)}onSetup(){this._media=ce(),$n(ut)&&(this._menu=Ie(ut))}onConnect(e){super.onConnect?.(e),b(this._watchValue.bind(this)),b(this._watchControllerDisabled.bind(this)),b(this._watchHintText.bind(this))}getOptions(){let{offLabel:e}=this.$props,{textTracks:n}=this._media.$state;return[{value:"off",label:e},...n().filter(We).map(i=>({track:i,label:i.label,value:this._getTrackValue(i)}))]}_watchValue(){this._controller.value=this._getValue()}_watchHintText(){let{offLabel:e}=this.$props,{textTrack:n}=this._media.$state,i=n();this._menu?._hint.set(i&&We(i)&&i.mode==="showing"?i.label:e())}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_getValue(){let{textTrack:e}=this._media.$state,n=e();return n&&We(n)&&n.mode==="showing"?this._getTrackValue(n):"off"}_onValueChange(e,n){if(this.disabled)return;if(e==="off"){let r=this._media.textTracks.selected;if(r){let s=this._media.textTracks.toArray().indexOf(r);this._media.remote.changeTextTrackMode(s,"disabled",n),this.dispatch("change",{detail:null,trigger:n})}return}let i=this._media.textTracks.toArray().findIndex(r=>this._getTrackValue(r)===e);if(i>=0){let r=this._media.textTracks[i];this._media.remote.changeTextTrackMode(i,"showing",n),this.dispatch("change",{detail:r,trigger:n})}}_getTrackValue(e){return e.id+":"+e.kind+"-"+e.label.toLowerCase()}};As.props={offLabel:"Off"};Ww([te],As.prototype,"value",1);Ww([te],As.prototype,"disabled",1);Ww([Ae],As.prototype,"getOptions",1);N3=Object.defineProperty,D3=Object.getOwnPropertyDescriptor,Kw=(t,e,n,i)=>{for(var r=i>1?void 0:i?D3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&N3(e,n,r),r},Ns=class extends B{get value(){return this._controller.value}get disabled(){let{rates:e}=this.$props,{canSetPlaybackRate:n}=this._media.$state;return!n()||e().length===0}constructor(){super(),this._controller=new Fr,this._controller._onValueChange=this._onValueChange.bind(this)}onSetup(){this._media=ce(),$n(ut)&&(this._menu=Ie(ut))}onConnect(e){b(this._watchValue.bind(this)),b(this._watchHintText.bind(this)),b(this._watchControllerDisabled.bind(this))}getOptions(){let{rates:e,normalLabel:n}=this.$props;return e().map(i=>({label:i===1?n:i+"\xD7",value:i.toString()}))}_watchValue(){this._controller.value=this._getValue()}_watchHintText(){let{normalLabel:e}=this.$props,{playbackRate:n}=this._media.$state,i=n();this._menu?._hint.set(i===1?e():i+"\xD7")}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_getValue(){let{playbackRate:e}=this._media.$state;return e().toString()}_onValueChange(e,n){if(this.disabled)return;let i=+e;this._media.remote.changePlaybackRate(i,n),this.dispatch("change",{detail:i,trigger:n})}};Ns.props={normalLabel:"Normal",rates:[.25,.5,.75,1,1.25,1.5,1.75,2]};Kw([te],Ns.prototype,"value",1);Kw([te],Ns.prototype,"disabled",1);Kw([Ae],Ns.prototype,"getOptions",1);O3=Object.defineProperty,V3=Object.getOwnPropertyDescriptor,Gw=(t,e,n,i)=>{for(var r=i>1?void 0:i?V3(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&O3(e,n,r),r},Ds=class extends B{constructor(){super(),this._sortedQualities=gi(()=>{let{qualities:e}=this._media.$state;return[...e()].sort((n,i)=>i.height===n.height?i.bitrate-n.bitrate:i.height-n.height)}),this._controller=new Fr,this._controller._onValueChange=this._onValueChange.bind(this)}get value(){return this._controller.value}get disabled(){let{canSetQuality:e,qualities:n}=this._media.$state;return!e()||n().length===0}onSetup(){this._media=ce(),$n(ut)&&(this._menu=Ie(ut))}onConnect(e){b(this._watchValue.bind(this)),b(this._watchControllerDisabled.bind(this)),b(this._watchHintText.bind(this))}getOptions(){let{autoLabel:e,hideBitrate:n}=this.$props;return[{value:"auto",label:e},...this._sortedQualities().map(i=>{let r=i.bitrate>=0?`${Dt(i.bitrate/1e6,2)} Mbps`:null;return{quality:i,label:i.height+"p",value:this._getQualityId(i),bitrate:()=>n()?null:r}})]}_watchValue(){this._controller.value=this._getValue()}_watchHintText(){let{autoLabel:e}=this.$props,{autoQuality:n,quality:i}=this._media.$state,r=i()?i().height+"p":"";this._menu?._hint.set(n()?e()+(r?` (${r})`:""):r)}_watchControllerDisabled(){this._menu?._disable(this.disabled)}_onValueChange(e,n){if(this.disabled)return;if(e==="auto"){this._media.remote.changeQuality(-1,n),this.dispatch("change",{detail:"auto",trigger:n});return}let{qualities:i}=this._media.$state,r=C(i).findIndex(s=>this._getQualityId(s)===e);if(r>=0){let s=C(i)[r];this._media.remote.changeQuality(r,n),this.dispatch("change",{detail:s,trigger:n})}}_getValue(){let{quality:e,autoQuality:n}=this._media.$state;if(n())return"auto";let i=e();return i?this._getQualityId(i):"auto"}_getQualityId(e){return e.height+"_"+e.bitrate}};Ds.props={autoLabel:"Auto",hideBitrate:!1};Gw([te],Ds.prototype,"value",1);Gw([te],Ds.prototype,"disabled",1);Gw([Ae],Ds.prototype,"getOptions",1);lf=class extends B{constructor(){super(...arguments),this._provider=null,this._presses=0,this._pressTimerId=-1}onSetup(){this._media=ce();let{event:e,action:n}=this.$props;this.setAttributes({event:e,action:n})}onAttach(e){e.setAttribute("data-media-gesture",""),e.style.setProperty("pointer-events","none")}onConnect(e){this._provider=this._media.player.el?.querySelector("[data-media-provider]"),b(this._attachListener.bind(this))}_attachListener(){let e=this.$props.event(),n=this.$props.disabled();!this._provider||!e||n||(/^dbl/.test(e)&&(e=e.split(/^dbl/)[1]),(e==="pointerup"||e==="pointerdown")&&this._media.$state.pointer()==="coarse"&&(e=e==="pointerup"?"touchend":"touchstart"),S(this._provider,e,this._acceptEvent.bind(this),{passive:!1}))}_acceptEvent(e){if(this.$props.disabled()||Xl(e)&&(e.button!==0||this._media.activeMenu)||Da(e)&&this._media.activeMenu||Vw(e)||!this._inBounds(e))return;if(e.MEDIA_GESTURE=!0,e.preventDefault(),!C(this.$props.event)?.startsWith("dbl"))this._presses===0&&setTimeout(()=>{this._presses===1&&this._handleEvent(e)},250);else if(this._presses===1){queueMicrotask(()=>this._handleEvent(e)),clearTimeout(this._pressTimerId),this._presses=0;return}this._presses===0&&(this._pressTimerId=window.setTimeout(()=>{this._presses=0},275)),this._presses++}_handleEvent(e){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this._isTopLayer()&&this._performAction(C(this.$props.action),e),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}_inBounds(e){if(!this.el)return!1;if(Xl(e)||l_(e)||Da(e)){let n=Da(e)?e.changedTouches[0]??e.touches[0]:void 0,i=n?.clientX??e.clientX,r=n?.clientY??e.clientY,s=this.el.getBoundingClientRect(),a=r>=s.top&&r<=s.bottom&&i>=s.left&&i<=s.right;return e.type.includes("leave")?!a:a}return!0}_isTopLayer(){let e=this._media.player.el.querySelectorAll("[data-media-gesture][data-triggered]");return Array.from(e).sort((n,i)=>+getComputedStyle(i).zIndex-+getComputedStyle(n).zIndex)[0]===this.el}_performAction(e,n){if(!e)return;let i=new q("will-trigger",{detail:e,cancelable:!0,trigger:n});if(this.dispatchEvent(i),i.defaultPrevented)return;let[r,s]=e.replace(/:([a-z])/,"-$1").split(":");e.includes(":fullscreen")?this._media.remote.toggleFullscreen("prefer-media",n):e.includes("seek:")?this._media.remote.seek(C(this._media.$state.currentTime)+(+s||0),n):this._media.remote[Bp(r)](n),this.dispatch("trigger",{detail:e,trigger:n})}};lf.props={disabled:!1,event:void 0,action:void 0};Mw=class{constructor(e){this._renderer=e,this.priority=10,this._track=null,this._disposal=ec()}attach(){}canRender(){return!0}detach(){this._disposal.empty(),this._renderer.reset(),this._track=null}changeTrack(e){!e||this._track===e||(this._disposal.empty(),e.readyState<2?(this._renderer.reset(),this._disposal.add(S(e,"load",()=>this._changeTrack(e),{once:!0}))):this._changeTrack(e),this._disposal.add(S(e,"add-cue",n=>{this._renderer.addCue(n.detail)}),S(e,"remove-cue",n=>{this._renderer.removeCue(n.detail)})),this._track=e)}_changeTrack(e){this._renderer.changeTrack({cues:[...e.cues],regions:[...e.regions]})}},cf=class extends B{onSetup(){this._media=ce(),this.setAttributes({"aria-hidden":Xt(this._isHidden.bind(this))})}onAttach(e){e.style.setProperty("pointer-events","none")}onConnect(e){if(this._renderer){b(this._watchViewType.bind(this));return}Promise.resolve().then(()=>(cc(),lc)).then(n=>{this.connectScope&&nt(()=>{this._lib=n;let{CaptionsRenderer:i}=this._lib;this._renderer=new i(e),this._textRenderer=new Mw(this._renderer),b(this._watchViewType.bind(this))},this.connectScope)})}onDestroy(){this._textRenderer&&(this._textRenderer.detach(),this._media.textRenderers.remove(this._textRenderer)),this._renderer?.destroy()}_isHidden(){let{textTrack:e,remotePlaybackState:n}=this._media.$state,i=e();return this._media.$iosControls()||n()==="connected"||!i||!We(i)}_watchViewType(){let{viewType:e}=this._media.$state;return e()==="audio"?this._setupAudioView():this._setupVideoView()}_setupAudioView(){return b(this._onTrackChange.bind(this)),()=>{this.el.textContent=""}}_onTrackChange(){if(this._isHidden())return;let{textTrack:e}=this._media.$state;this._onCueChange(),S(e(),"cue-change",this._onCueChange.bind(this)),b(this._onUpdateTimedNodes.bind(this))}_onCueChange(){this.el.textContent="";let{realCurrentTime:e,textTrack:n}=this._media.$state,i=C(e),r=C(n).activeCues,{renderVTTCueString:s}=this._lib;for(let a of r){let o=document.createElement("div");o.setAttribute("data-part","cue"),o.innerHTML=s(a,i),this.el.append(o)}}_onUpdateTimedNodes(){let{realCurrentTime:e}=this._media.$state,{updateTimedVTTCueNodes:n}=this._lib;n(this.el,e())}_setupVideoView(){return b(this._watchTextDirection.bind(this)),b(this._watchMediaTime.bind(this)),this._media.textRenderers.add(this._textRenderer),()=>{this.el.textContent="",this._textRenderer.detach(),this._media.textRenderers.remove(this._textRenderer)}}_watchTextDirection(){this._renderer.dir=this.$props.textDir()}_watchMediaTime(){if(this._isHidden())return;let{realCurrentTime:e}=this._media.$state;this._renderer.currentTime=e()}};cf.props={textDir:"ltr"};Pc=class extends B{onSetup(){this._media=ce(),this._watchSrc(),this._watchAlt(),this._watchCrossOrigin(),this._watchHidden()}onAttach(e){e.style.setProperty("pointer-events","none"),b(this._watchImg.bind(this)),b(this._watchSrc.bind(this)),b(this._watchAlt.bind(this)),b(this._watchCrossOrigin.bind(this)),b(this._watchHidden.bind(this));let{started:n}=this._media.$state;this.setAttributes({"data-visible":()=>!n()&&!this.$state.hidden(),"data-loading":this._isLoading.bind(this),"data-error":this._hasError.bind(this),"data-hidden":this.$state.hidden})}onConnect(e){b(this._onPreconnect.bind(this)),b(this._onLoadStart.bind(this))}_hasError(){let{error:e}=this.$state;return!vi(e())}_onPreconnect(){let{canLoadPoster:e,poster:n}=this._media.$state;!e()&&n()&&ni(n(),"preconnect")}_watchHidden(){let{src:e}=this.$props,{$iosControls:n}=this._media,{poster:i}=this._media.$state;this.el&&J(this.el,"display",n()?"none":null),this.$state.hidden.set(this._hasError()||!(e()||i())||n())}_isLoading(){let{loading:e,hidden:n}=this.$state;return!n()&&e()}_watchImg(){let e=this.$state.img();e&&(S(e,"load",this._onLoad.bind(this)),S(e,"error",this._onError.bind(this)))}_watchSrc(){let{canLoadPoster:e,poster:n}=this._media.$state,i=this.$props.src(),r=i||n();i&&n()!==i&&this._media.$state.providedPoster.set(i),this.$state.src.set(e()&&r.length?r:null)}_watchAlt(){let{src:e}=this.$props,{alt:n}=this.$state,{poster:i}=this._media.$state;n.set(e()||i()?this.$props.alt():null)}_watchCrossOrigin(){let{crossOrigin:e}=this.$props,{crossOrigin:n}=this.$state,{crossOrigin:i,poster:r}=this._media.$state,s=e()!==null?e():i();n.set(/ytimg\.com|vimeo/.test(r()||"")?null:s===!0?"anonymous":s)}_onLoadStart(){let{loading:e,error:n}=this.$state,{canLoadPoster:i,poster:r}=this._media.$state;e.set(i()&&!!r()),n.set(null)}_onLoad(){let{loading:e,error:n}=this.$state;e.set(!1),n.set(null)}_onError(e){let{loading:n,error:i}=this.$state;n.set(!1),i.set(e)}};Pc.props={src:null,alt:null,crossOrigin:null};Pc.state=new ei({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});Cc=class extends B{constructor(){super(...arguments),this._invert=O(null)}onSetup(){this._media=ce(),this._watchTime();let{type:e}=this.$props;this.setAttributes({"data-type":e,"data-remainder":this._shouldInvert.bind(this)})}onAttach(e){e.hasAttribute("role")||b(this._watchRole.bind(this)),b(this._watchTime.bind(this))}onConnect(e){b(()=>{if(!this.$props.toggle()){this._invert.set(null);return}Vr(e,this._onToggle.bind(this))})}_watchTime(){let{type:e,padHours:n,padMinutes:i,showHours:r}=this.$props,s=this._getSeconds(e()),a=this._media.$state.duration(),o=this._shouldInvert();if(!Number.isFinite(s+a)){this.$state.timeText.set("LIVE");return}let l=o?Math.max(0,a-s):s,c=Ur(l,n(),i(),r());this.$state.timeText.set((o?"-":"")+c)}_watchRole(){if(!this.el)return;let{toggle:e}=this.$props;J(this.el,"role",e()?"timer":null),J(this.el,"tabindex",e()?0:null)}_getSeconds(e){let{bufferedEnd:n,duration:i,currentTime:r}=this._media.$state;switch(e){case"buffered":return n();case"duration":return i();default:return r()}}_shouldInvert(){return this.$props.remainder()&&this._invert()!==!1}_onToggle(e){if(e.preventDefault(),this._invert()===null){this._invert.set(!this.$props.remainder());return}this._invert.set(n=>!n)}};Cc.props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1};Cc.state=new ei({timeText:""});F3=yi(),z3={clickToPlay:!0,clickToFullscreen:!0,controls:["play-large","play","progress","current-time","mute+volume","captions","settings","pip","airplay","fullscreen"],customIcons:!1,displayDuration:!1,download:null,markers:null,invertTime:!0,thumbnails:null,toggleTime:!0,translations:null,seekTime:10,speed:[.5,.75,1,1.25,1.5,1.75,2,4]},Rw=class extends B{onSetup(){this._media=ce(),It(F3,{...this.$props,previewTime:O(0)})}};Rw.props=z3;Os=class extends QO{},uf=class extends Qa{},$c=class extends Hh{},Mc=class extends qh{},df=class extends bc{},Rc=class extends Xh{},Lc=class extends Zh{},Ic=class extends nf{},Ac=class extends Jh{},Nc=class extends ef{},Dc=class extends Qh{},Oc=class extends Gh{},Vc=class extends Yh{},Fc=class extends tf{},zc=class extends Wh{},Uc=class extends Kh{},jc=class extends wc{},Hc=class extends Zi{},qc=class extends Ja{},Bc=class extends Ec{},Wc=class extends sf{},Kc=class extends Za{},Gc=class extends Ms{},Yc=class extends Tc{},Qc=class extends Ji{},Xc=class extends er{},Zc=class extends Rs{},Jc=class extends Sc{},eu=class extends af{},tu=class extends eo{},nu=class extends to{},iu=class extends cf{},ru=class extends lf{},pf=class extends Pc{},no=class extends Xa{},su=class extends Cc{},h1=ke.forwardRef((t,e)=>{let{children:n,...i}=t,r=ke.Children.toArray(n),s=r.find(j3);if(s){let a=s.props.children,o=r.map(l=>l===s?ke.Children.count(a)>1?ke.Children.only(null):ke.isValidElement(a)?a.props.children:null:l);return ke.createElement(Lw,{...i,ref:e},ke.isValidElement(a)?ke.cloneElement(a,void 0,o):null)}return ke.createElement(Lw,{...i,ref:e},n)});h1.displayName="Slot";Lw=ke.forwardRef((t,e)=>{let{children:n,...i}=t;return ke.isValidElement(n)?ke.cloneElement(n,{...H3(i,n.props),ref:e?re(e,n.ref):n.ref}):ke.Children.count(n)>1?ke.Children.only(null):null});Lw.displayName="SlotClone";U3=({children:t})=>ke.createElement(ke.Fragment,null,t);q3=["button","div","span","img","video","audio"],H=q3.reduce((t,e)=>{let n=ke.forwardRef((i,r)=>{let{asChild:s,...a}=i;return ke.createElement(s?h1:e,{...a,ref:r})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});CP=Os.state.record,B3=Object.keys(CP).reduce((t,e)=>({...t,[e](){return CP[e]}}),{})});var R1={};kt(R1,{default:()=>QV});var QV,L1=Ue(()=>{"use strict";"use client";QV=' '});var VC=pt((v9,OC)=>{"use strict";var DF={aa:{name:"Afar",nativeName:"Afaraf"},ab:{name:"Abkhaz",nativeName:"\u0430\u04A7\u0441\u0443\u0430 \u0431\u044B\u0437\u0448\u04D9\u0430"},ae:{name:"Avestan",nativeName:"avesta"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},am:{name:"Amharic",nativeName:"\u12A0\u121B\u122D\u129B"},an:{name:"Aragonese",nativeName:"aragon\xE9s"},ar:{name:"Arabic",nativeName:"\u0627\u064E\u0644\u0652\u0639\u064E\u0631\u064E\u0628\u0650\u064A\u064E\u0651\u0629\u064F"},as:{name:"Assamese",nativeName:"\u0985\u09B8\u09AE\u09C0\u09AF\u09BC\u09BE"},av:{name:"Avaric",nativeName:"\u0430\u0432\u0430\u0440 \u043C\u0430\u0446\u04C0"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"az\u0259rbaycan dili"},ba:{name:"Bashkir",nativeName:"\u0431\u0430\u0448\u04A1\u043E\u0440\u0442 \u0442\u0435\u043B\u0435"},be:{name:"Belarusian",nativeName:"\u0431\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0430\u044F \u043C\u043E\u0432\u0430"},bg:{name:"Bulgarian",nativeName:"\u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438 \u0435\u0437\u0438\u043A"},bi:{name:"Bislama",nativeName:"Bislama"},bm:{name:"Bambara",nativeName:"bamanankan"},bn:{name:"Bengali",nativeName:"\u09AC\u09BE\u0982\u09B2\u09BE"},bo:{name:"Tibetan",nativeName:"\u0F56\u0F7C\u0F51\u0F0B\u0F61\u0F72\u0F42"},br:{name:"Breton",nativeName:"brezhoneg"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},ca:{name:"Catalan",nativeName:"Catal\xE0"},ce:{name:"Chechen",nativeName:"\u043D\u043E\u0445\u0447\u0438\u0439\u043D \u043C\u043E\u0442\u0442"},ch:{name:"Chamorro",nativeName:"Chamoru"},co:{name:"Corsican",nativeName:"corsu"},cr:{name:"Cree",nativeName:"\u14C0\u1426\u1403\u152D\u140D\u140F\u1423"},cs:{name:"Czech",nativeName:"\u010De\u0161tina"},cu:{name:"Old Church Slavonic",nativeName:"\u0469\u0437\u044B\u043A\u044A \u0441\u043B\u043E\u0432\u0463\u043D\u044C\u0441\u043A\u044A"},cv:{name:"Chuvash",nativeName:"\u0447\u04D1\u0432\u0430\u0448 \u0447\u04D7\u043B\u0445\u0438"},cy:{name:"Welsh",nativeName:"Cymraeg"},da:{name:"Danish",nativeName:"dansk"},de:{name:"German",nativeName:"Deutsch"},dv:{name:"Divehi",nativeName:"\u078B\u07A8\u0788\u07AC\u0780\u07A8"},dz:{name:"Dzongkha",nativeName:"\u0F62\u0FAB\u0F7C\u0F44\u0F0B\u0F41"},ee:{name:"Ewe",nativeName:"E\u028Begbe"},el:{name:"Greek",nativeName:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},es:{name:"Spanish",nativeName:"Espa\xF1ol"},et:{name:"Estonian",nativeName:"eesti"},eu:{name:"Basque",nativeName:"euskara"},fa:{name:"Persian",nativeName:"\u0641\u0627\u0631\u0633\u06CC"},ff:{name:"Fula",nativeName:"Fulfulde"},fi:{name:"Finnish",nativeName:"suomi"},fj:{name:"Fijian",nativeName:"vosa Vakaviti"},fo:{name:"Faroese",nativeName:"f\xF8royskt"},fr:{name:"French",nativeName:"Fran\xE7ais"},fy:{name:"Western Frisian",nativeName:"Frysk"},ga:{name:"Irish",nativeName:"Gaeilge"},gd:{name:"Scottish Gaelic",nativeName:"G\xE0idhlig"},gl:{name:"Galician",nativeName:"galego"},gn:{name:"Guaran\xED",nativeName:"Ava\xF1e'\u1EBD"},gu:{name:"Gujarati",nativeName:"\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0"},gv:{name:"Manx",nativeName:"Gaelg"},ha:{name:"Hausa",nativeName:"\u0647\u064E\u0648\u064F\u0633\u064E"},he:{name:"Hebrew",nativeName:"\u05E2\u05D1\u05E8\u05D9\u05EA"},hi:{name:"Hindi",nativeName:"\u0939\u093F\u0928\u094D\u0926\u0940"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hr:{name:"Croatian",nativeName:"Hrvatski"},ht:{name:"Haitian",nativeName:"Krey\xF2l ayisyen"},hu:{name:"Hungarian",nativeName:"magyar"},hy:{name:"Armenian",nativeName:"\u0540\u0561\u0575\u0565\u0580\u0565\u0576"},hz:{name:"Herero",nativeName:"Otjiherero"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Bahasa Indonesia"},ie:{name:"Interlingue",nativeName:"Interlingue"},ig:{name:"Igbo",nativeName:"As\u1EE5s\u1EE5 Igbo"},ii:{name:"Nuosu",nativeName:"\uA188\uA320\uA4BF Nuosuhxop"},ik:{name:"Inupiaq",nativeName:"I\xF1upiaq"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"\xCDslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"\u1403\u14C4\u1483\u144E\u1450\u1466"},ja:{name:"Japanese",nativeName:"\u65E5\u672C\u8A9E"},jv:{name:"Javanese",nativeName:"basa Jawa"},ka:{name:"Georgian",nativeName:"\u10E5\u10D0\u10E0\u10D7\u10E3\u10DA\u10D8"},kg:{name:"Kongo",nativeName:"Kikongo"},ki:{name:"Kikuyu",nativeName:"G\u0129k\u0169y\u0169"},kj:{name:"Kwanyama",nativeName:"Kuanyama"},kk:{name:"Kazakh",nativeName:"\u049B\u0430\u0437\u0430\u049B \u0442\u0456\u043B\u0456"},kl:{name:"Kalaallisut",nativeName:"kalaallisut"},km:{name:"Khmer",nativeName:"\u1781\u17C1\u1798\u179A\u1797\u17B6\u179F\u17B6"},kn:{name:"Kannada",nativeName:"\u0C95\u0CA8\u0CCD\u0CA8\u0CA1"},ko:{name:"Korean",nativeName:"\uD55C\uAD6D\uC5B4"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"\u0915\u0936\u094D\u092E\u0940\u0930\u0940"},ku:{name:"Kurdish",nativeName:"Kurd\xEE"},kv:{name:"Komi",nativeName:"\u043A\u043E\u043C\u0438 \u043A\u044B\u0432"},kw:{name:"Cornish",nativeName:"Kernewek"},ky:{name:"Kyrgyz",nativeName:"\u041A\u044B\u0440\u0433\u044B\u0437\u0447\u0430"},la:{name:"Latin",nativeName:"latine"},lb:{name:"Luxembourgish",nativeName:"L\xEBtzebuergesch"},lg:{name:"Ganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Ling\xE1la"},lo:{name:"Lao",nativeName:"\u0E9E\u0EB2\u0EAA\u0EB2\u0EA5\u0EB2\u0EA7"},lt:{name:"Lithuanian",nativeName:"lietuvi\u0173 kalba"},lu:{name:"Luba-Katanga",nativeName:"Kiluba"},lv:{name:"Latvian",nativeName:"latvie\u0161u valoda"},mg:{name:"Malagasy",nativeName:"fiteny malagasy"},mh:{name:"Marshallese",nativeName:"Kajin M\u0327aje\u013C"},mi:{name:"M\u0101ori",nativeName:"te reo M\u0101ori"},mk:{name:"Macedonian",nativeName:"\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438 \u0458\u0430\u0437\u0438\u043A"},ml:{name:"Malayalam",nativeName:"\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02"},mn:{name:"Mongolian",nativeName:"\u041C\u043E\u043D\u0433\u043E\u043B \u0445\u044D\u043B"},mr:{name:"Marathi",nativeName:"\u092E\u0930\u093E\u0920\u0940"},ms:{name:"Malay",nativeName:"Bahasa Melayu"},mt:{name:"Maltese",nativeName:"Malti"},my:{name:"Burmese",nativeName:"\u1017\u1019\u102C\u1005\u102C"},na:{name:"Nauru",nativeName:"Dorerin Naoero"},nb:{name:"Norwegian Bokm\xE5l",nativeName:"Norsk bokm\xE5l"},nd:{name:"Northern Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"\u0928\u0947\u092A\u093E\u0932\u0940"},ng:{name:"Ndonga",nativeName:"Owambo"},nl:{name:"Dutch",nativeName:"Nederlands"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},nr:{name:"Southern Ndebele",nativeName:"isiNdebele"},nv:{name:"Navajo",nativeName:"Din\xE9 bizaad"},ny:{name:"Chichewa",nativeName:"chiChe\u0175a"},oc:{name:"Occitan",nativeName:"occitan"},oj:{name:"Ojibwe",nativeName:"\u140A\u14C2\u1511\u14C8\u142F\u14A7\u140E\u14D0"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"\u0B13\u0B21\u0B3C\u0B3F\u0B06"},os:{name:"Ossetian",nativeName:"\u0438\u0440\u043E\u043D \xE6\u0432\u0437\u0430\u0433"},pa:{name:"Panjabi",nativeName:"\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40"},pi:{name:"P\u0101li",nativeName:"\u092A\u093E\u0934\u093F"},pl:{name:"Polish",nativeName:"Polski"},ps:{name:"Pashto",nativeName:"\u067E\u069A\u062A\u0648"},pt:{name:"Portuguese",nativeName:"Portugu\xEAs"},qu:{name:"Quechua",nativeName:"Runa Simi"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"Ikirundi"},ro:{name:"Romanian",nativeName:"Rom\xE2n\u0103"},ru:{name:"Russian",nativeName:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},sa:{name:"Sanskrit",nativeName:"\u0938\u0902\u0938\u094D\u0915\u0943\u0924\u092E\u094D"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"\u0938\u093F\u0928\u094D\u0927\u0940"},se:{name:"Northern Sami",nativeName:"Davvis\xE1megiella"},sg:{name:"Sango",nativeName:"y\xE2ng\xE2 t\xEE s\xE4ng\xF6"},si:{name:"Sinhala",nativeName:"\u0DC3\u0DD2\u0D82\u0DC4\u0DBD"},sk:{name:"Slovak",nativeName:"sloven\u010Dina"},sl:{name:"Slovenian",nativeName:"sloven\u0161\u010Dina"},sm:{name:"Samoan",nativeName:"gagana fa'a Samoa"},sn:{name:"Shona",nativeName:"chiShona"},so:{name:"Somali",nativeName:"Soomaaliga"},sq:{name:"Albanian",nativeName:"Shqip"},sr:{name:"Serbian",nativeName:"\u0441\u0440\u043F\u0441\u043A\u0438 \u0458\u0435\u0437\u0438\u043A"},ss:{name:"Swati",nativeName:"SiSwati"},st:{name:"Southern Sotho",nativeName:"Sesotho"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sv:{name:"Swedish",nativeName:"Svenska"},sw:{name:"Swahili",nativeName:"Kiswahili"},ta:{name:"Tamil",nativeName:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD"},te:{name:"Telugu",nativeName:"\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41"},tg:{name:"Tajik",nativeName:"\u0442\u043E\u04B7\u0438\u043A\u04E3"},th:{name:"Thai",nativeName:"\u0E44\u0E17\u0E22"},ti:{name:"Tigrinya",nativeName:"\u1275\u130D\u122D\u129B"},tk:{name:"Turkmen",nativeName:"T\xFCrkmen\xE7e"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"T\xFCrk\xE7e"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"\u0442\u0430\u0442\u0430\u0440 \u0442\u0435\u043B\u0435"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"\u0626\u06C7\u064A\u063A\u06C7\u0631\u0686\u06D5\u200E"},uk:{name:"Ukrainian",nativeName:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430"},ur:{name:"Urdu",nativeName:"\u0627\u0631\u062F\u0648"},uz:{name:"Uzbek",nativeName:"\u040E\u0437\u0431\u0435\u043A"},ve:{name:"Venda",nativeName:"Tshiven\u1E13a"},vi:{name:"Vietnamese",nativeName:"Ti\u1EBFng Vi\u1EC7t"},vo:{name:"Volap\xFCk",nativeName:"Volap\xFCk"},wa:{name:"Walloon",nativeName:"walon"},wo:{name:"Wolof",nativeName:"Wollof"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"\u05D9\u05D9\u05B4\u05D3\u05D9\u05E9"},yo:{name:"Yoruba",nativeName:"Yor\xF9b\xE1"},za:{name:"Zhuang",nativeName:"Sa\u026F cue\u014B\u0185"},zh:{name:"Chinese",nativeName:"\u4E2D\u6587"},zu:{name:"Zulu",nativeName:"isiZulu"}};OC.exports=DF});var pb=pt((y9,HC)=>{"use strict";var _u=VC(),FC={},Ff={},zC=[],UC=[],jC=[];for(let t in _u){let{name:e,nativeName:n}=_u[t];FC[t]=Ff[e.toLowerCase()]=Ff[n.toLowerCase()]={code:t,name:e,nativeName:n},zC.push(t),UC.push(e),jC.push(n)}HC.exports=class Vf{static getLanguages(e=[]){return e.map(n=>Vf.validate(n)?Object.assign({},FC[n]):{code:n,name:"",nativeName:""})}static getName(e){return Vf.validate(e)?_u[e].name:""}static getAllNames(){return UC.slice()}static getNativeName(e){return Vf.validate(e)?_u[e].nativeName:""}static getAllNativeNames(){return jC.slice()}static getCode(e){return e=e.toLowerCase(),Ff.hasOwnProperty(e)?Ff[e].code:""}static getAllCodes(){return zC.slice()}static validate(e){return _u.hasOwnProperty(e)}}});var O$=pt(nm=>{"use strict";var D5=j(),O5=Symbol.for("react.element"),V5=Symbol.for("react.fragment"),F5=Object.prototype.hasOwnProperty,z5=D5.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,U5={key:!0,ref:!0,__self:!0,__source:!0};function D$(t,e,n){var i,r={},s=null,a=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(a=e.ref);for(i in e)F5.call(e,i)&&!U5.hasOwnProperty(i)&&(r[i]=e[i]);if(t&&t.defaultProps)for(i in e=t.defaultProps,e)r[i]===void 0&&(r[i]=e[i]);return{$$typeof:O5,type:t,key:s,ref:a,props:r,_owner:z5.current}}nm.Fragment=V5;nm.jsx=D$;nm.jsxs=D$});var ae=pt((_q,V$)=>{"use strict";V$.exports=O$()});var Hm=pt(jm=>{"use strict";Object.defineProperty(jm,"__esModule",{value:!0});function IR(t,e){if(e)return t;throw new Error("Unhandled discriminated union member: "+JSON.stringify(t))}jm.assertNever=IR;jm.default=IR});var q6={};kt(q6,{default:()=>pg});module.exports=qL(q6);var Nx=require("obsidian");function mg(t,e){let n={};for(let i of e)i in t&&(n[i]=t[i]);return n}function ed(t,e){let n={...t};for(let i of e)delete n[i];return n}var gg={bilibili:"https://www.bilibili.com",youtube:"https://www.youtube.com",vimeo:"https://www.vimeo.com",coursera:"https://www.coursera.org"},td={bilibili:"bilibili",youtube:"YouTube",generic:"Website",vimeo:"Vimeo",coursera:"Coursera"},Ax=t=>ed(t,["generic"]);var BL={bilibili:'',vimeo:'',coursera:'',youtube:null};Object.entries(BL).forEach(([t,e])=>{e&&(0,Nx.addIcon)(t,e)});var hg=require("obsidian");function Ko(t){return qn(t).href}function qn(t){let e=new URL(t);return e.hash="",e}function Bn(t){try{return new URL(t)}catch{return null}}var je=require("obsidian");function Zs(t,e){let n="target"in t?t.target:t;if(!n.instanceOf?.(HTMLElement))return;let i=n.getBoundingClientRect();return e.setParentElement(n).showAtPosition({x:i.x,y:i.bottom,width:i.width,overlap:!0,left:!0},n.doc)}var Dx="mx-port";var lr=t=>`persist:mx-player-${t}`;var Ox=require("obsidian");function Go(t){let e=require("@electron/remote"),n=lr(t);return n?e.session.fromPartition(n):(console.log("No partition, skip modifying session"),null)}function Vx(){return Ox.Platform.isDesktopApp?require("fs/promises"):null}function Fx(t){return require("@electron/remote").webContents.fromId(t)}function nd(){return require("@electron/remote").dialog}var cr=class extends je.Modal{constructor(n){super(n);_(this,"navEl",this.contentEl.insertAdjacentElement("beforebegin",createDiv({cls:"mx-login-nav"})));_(this,"webview",createEl("webview",{attr:{partition:this.partition,allowpopups:""}}));_(this,"backButton",new je.ButtonComponent(this.navEl).setIcon("arrow-left").setTooltip("Back").setClass("mx-login-back").setDisabled(!0).onClick(()=>{try{this.webview.goBack()}catch(n){new je.Notice("Failed to go back, see console for details"),console.error("err go back",n)}}));_(this,"forwardButton",new je.ButtonComponent(this.navEl).setIcon("arrow-right").setTooltip("Forward").setClass("mx-login-forward").setDisabled(!0).onClick(()=>{try{this.webview.goForward()}catch(n){new je.Notice("Failed to go forward, see console for details"),console.error("err go forward",n)}}));_(this,"refreshButton",new je.ButtonComponent(this.navEl).setIcon("rotate-ccw").setTooltip("Refresh").setClass("mx-login-refresh").setDisabled(!0).onClick(()=>{try{this.webview.reload()}catch(n){new je.Notice("Failed to refresh, see console for details"),console.error("err refresh",n)}}));_(this,"addressBarForm",this.navEl.createEl("form"));_(this,"addressBar",new je.TextComponent(this.addressBarForm).then(n=>{n.inputEl.type="url",n.inputEl.placeholder="https://example.com",n.inputEl.classList.add("mx-login-address")}));_(this,"addressSubmit",new je.ButtonComponent(this.addressBarForm).setIcon("arrow-right-circle").then(n=>n.buttonEl.type="submit"));_(this,"moreOptionsButton",new je.ButtonComponent(this.navEl).setIcon("more-horizontal").setTooltip("More options").setClass("mx-login-more").onClick(n=>{let i=new je.Menu;this.onMoreOptions(i),Zs(n,i)}));_(this,"callbacks",[]);_(this,"handledWebcontents",new Set);this.containerEl.addClasses(["mx-login-modal"]),this.titleEl.style.display="none",this.buildWelcome()}get partition(){return lr(this.app.appId)}buildWelcome(){this.contentEl.empty(),this.contentEl.createEl("h1").setText("Login");let n=this.contentEl.createEl("main");n.createEl("p").setText("You can login to sites, change preferences and more, just as you would in a browser."),n.createEl("p").setText("To open a website, you can:");let i=n.createEl("ul");i.createEl("li").setText("Enter the site address in the address bar");let r=i.createEl("li");r.setText("Select from a list of "),new je.DropdownComponent(r).addOptions({...Ax(td),".":"supported websites..."}).setValue(".").onChange(s=>{s in gg&&this.setUrl(gg[s])})}getSession(){return Go(this.app.appId)}onMoreOptions(n){n.addItem(i=>i.setTitle("Clear cache").setSection("clear").setIcon("trash").onClick(async()=>{if(window.confirm("Are you sure you want to clear the website cache? All login sessions and preferences will be lost."))try{await this.getSession()?.clearCache(),new je.Notice("Cache cleared")}catch(s){new je.Notice("Failed to clear cache, see console for details"),console.error("err clear cache",s)}}))}setUrl(n){this.initWebview(),this.webview.src=n,this.addressBar.setValue(n)}register(n){this.callbacks.push(n)}registerWebviewEvent(n,i){this.webview.addEventListener(n,i),this.register(()=>this.webview.removeEventListener(n,i))}onClose(){for(let n of this.callbacks)n();this.containerEl.empty()}initWebview(){this.webview.isConnected||(this.registerWebviewEvent("will-navigate",()=>{this.addressBar.setValue(this.webview.getURL())}),this.contentEl.empty(),this.contentEl.appendChild(this.webview),this.backButton.setDisabled(!1),this.forwardButton.setDisabled(!1),this.refreshButton.setDisabled(!1),this.registerWebviewEvent("dom-ready",()=>{if(this.handledWebcontents.has(this.webview.getWebContentsId()))return;let n=this.webview.getWebContentsId();this.handledWebcontents.add(n),Fx(n)?.setWindowOpenHandler(({url:r,disposition:s})=>((s==="new-window"||s==="foreground-tab"||s==="default")&&this.setUrl(r),{action:"deny"}))}))}onOpen(){this.addressBarForm.onsubmit=n=>{n.preventDefault();let i=this.addressBar.getValue();i&&this.setUrl(i)}}};function zx(){this.addCommand({id:"login",name:"Login website",callback:()=>{new cr(this.app).open()}})}var ZM=require("obsidian");var Po=require("obsidian");var id=require("obsidian"),Js=class t extends id.Modal{constructor(n,i,r){super(n);this.onSubmit=i;this.onExit=r;this.containerEl.addClass("mx-playback-prompt"),this.onSubmit=i}static run(){return new Promise(n=>{new t(app,r=>n(Number(r)),()=>n(null)).open()})}onOpen(){let{contentEl:n,titleEl:i}=this;i.setText("Playback Speed");let r=n.createEl("form",{},s=>{s.createEl("input",{type:"number",placeholder:"Enter a number between 0 and 10",attr:{min:.1,max:10,step:.1,width:100,required:!0,name:"playback-speed"}}),s.createEl("button",{attr:{type:"submit"},text:"Submit"})});r.oninvalid=s=>{s.preventDefault(),new id.Notice("Invalid playback rate")},r.onsubmit=s=>{s.preventDefault();let a=new FormData(r);this.onSubmit(a.get("playback-speed").toString()),this.close()}}onClose(){let{contentEl:n}=this;n.empty(),this.onExit()}};var yn=[.25,.5,.75,1,1.25,1.5,2,3,5,10];function Ux(t,e){let n=e.state.playbackRate,i=!yn.includes(n),r=t.setTitle(WL(n)).setIcon("gauge").setSection("mx-player").setSubmenu();yn.forEach(s=>r.addItem(a=>a.setTitle(`${s}x`).setChecked(s===n).onClick(()=>{e.playbackRate=s}))),r.addItem(s=>s.setTitle(KL(n)).setChecked(i).onClick(async()=>{let a=await Js.run();a&&(e.playbackRate=a)}))}function WL(t){let e=new DocumentFragment;return e.appendText("Speed "),e.createEl("code",{text:`(${t}x)`}),e}function KL(t){let e=new DocumentFragment;return e.appendText("Custom"),yn.includes(t)?e.appendText("..."):(e.appendText(" "),e.createEl("code",{text:`(${t}x)`})),e}var Lm=require("obsidian");var So=require("obsidian");function rd(){return/[<>:"/\\|?*\u0000-\u001F]/g}function jx(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}var GL=100,YL=/^\.+(\\|\/)|^\.+$/,QL=/\.+$/;function vg(t,e={}){let n=/[\u0000-\u001F\u0080-\u009F]/g,i=/([<>:"/\\|?*\u0000-\u001F]){2,}/g;if(typeof t!="string")throw new TypeError("Expected a string");let r=e.replacement===void 0?"!":e.replacement;if(rd().test(r)&&n.test(r))throw new Error("Replacement string cannot contain reserved filename characters");r.length>0&&(t=t.replace(i,"$1")),t=t.normalize("NFD"),t=t.replace(YL,r),t=t.replace(rd(),r),t=t.replace(n,r),t=t.replace(QL,""),r.length>0&&(!(t[0]===".")&&t[0]==="."&&(t=r+t),t[t.length-1]==="."&&(t+=r)),t=jx().test(t)?t+r:t;let s=typeof e.maxLength=="number"?e.maxLength:GL;if(t.length>s){let a=t.lastIndexOf(".");if(a===-1)t=t.slice(0,s);else{let o=t.slice(0,a),l=t.slice(a);t=o.slice(0,Math.max(1,s-l.length))+l}}return t}function sd(t){return vg(t,{replacement:"_"}).replaceAll(/[[\]#^|]/g,"_")}var Hx=require("obsidian");var Tt={video:["mp4","webm","ogv","mov","mkv"],audio:["mp3","wav","m4a","3gp","flac","ogg","oga","opus"]};function en(t){t=t.replace(/^\./,"").toLowerCase();for(let e of Object.keys(Tt))if(Tt[e].includes(t))return e;return null}var Pz=[...Tt.video,...Tt.audio];function Li(t){return t.file instanceof Hx.TFile}var Et={video:"mx-url-video",audio:"mx-url-audio"},XL=new Set(Object.values(Et));function ZL(t){return XL.has(t)}var ss="mx-embed",_n="mx-webpage",Ft={video:"mx-file-video",audio:"mx-file-audio"},JL=new Set(Object.values(Ft));function eI(t){return JL.has(t)}function tI(t){return ZL(t)||ss===t||_n===t}function yg(t){return eI(t)||tI(t)}var qx=new Set([Et.video,Ft.video,_n]);var Bx=require("obsidian");function ad(t){let e=Bx.Keymap.isModEvent(t);return ur(e)}function ur(t){return t===!0?"tab":t}var km=require("obsidian"),UM=$(jl());var si=$(j());var SE={},EE=t=>{let e,n=new Set,i=(u,d)=>{let p=typeof u=="function"?u(e):u;if(!Object.is(p,e)){let h=e;e=d??(typeof p!="object"||p===null)?p:Object.assign({},e,p),n.forEach(y=>y(e,h))}},r=()=>e,l={setState:i,getState:r,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(SE.env?SE.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},c=e=t(i,r,l);return l},$p=t=>t?EE(t):EE;var OE=$(j(),1),VE=$(AE(),1),DE={},{useDebugValue:NN}=OE.default,{useSyncExternalStoreWithSelector:DN}=VE.default,NE=!1,ON=t=>t;function Fy(t,e=ON,n){(DE.env?DE.env.MODE:void 0)!=="production"&&n&&!NE&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),NE=!0);let i=DN(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return NN(i),i}var Hl={main:/^(?[\w:.]*)(?:,(?[\w:.]+))?$/,npt_sec:/^\d+(?:\.\d+)?$/,npt_mmss:/^(?[0-5]\d):(?[0-5]\d(?:\.\d+)?)$/,npt_hhmmss:/^(?\d+):(?[0-5]\d):(?[0-5]\d(?:\.\d+)?)$/,npt_time:/^(?:npt:)?([\d.:]+)$/},Pn=({start:t,end:e})=>t>=0&&e<0;function Bt(t){if(!t)return null;let n=new URLSearchParams(t.replace(/^#+/,"")).get("t");if(!n)return null;let i=n.match(Hl.main);if(!i)return null;let{start:r,end:s}=i.groups;return VN(r,s)}var VN=(t,e)=>{let n=t||null,i=e??null,r,s;if(n&&i)r=Rp(n),s=i==="e"?1/0:Rp(i);else if(n)r=Rp(n),s=-1;else if(i)r=-1,s=Rp(i);else throw console.error("Missing startTime and endTime",t,e),new Error("Missing startTime and endTime");return r===null||s===null?null:{start:r,end:s}};function Rp(t){let e=t.match(Hl.npt_time);if(!e)return null;let n=e[1],i=n.match(Hl.npt_sec);if(i)return Number(i[0]);let r=n.match(Hl.npt_mmss);if(r){let{mm:a,ss:o}=r.groups;return Number(a)*60+Number(o)}let s=n.match(Hl.npt_hhmmss);if(s){let{hh:a,mm:o,ss:l}=s.groups;return Number(a)*60*60+Number(o)*60+Number(l)}return null}function Lp(t){let e=new URLSearchParams(t.replace(/^#+/,"")),n=!e.has("noctrl")&&!e.has("controls")?void 0:e.has("controls");return{loop:e.has("loop")?!0:void 0,muted:e.has("mute")?!0:void 0,autoplay:e.has("play")?!0:void 0,controls:n,volume:FN(e.get("vol")),tempFragment:Bt(t)}}function FN(t){if(!t)return;let e=parseInt(t,10);if(!isNaN(e)&&e>=0&&e<=100)return e/100}var FE=()=>({emit(t,...e){for(let n=0,i=this.events[t]||[],r=i.length;n{this.events[t]=this.events[t]?.filter(i=>e!==i)}}});function Ip(){let t=FE();return t.once=function(n,i){let r=this.on(n,(...s)=>{r(),i(...s)});return r},t}function zE(t){let e=t;return typeof e.id=="string"&&typeof e.invoke=="string"}function UE(t,...e){return{id:zN(),invoke:t,args:e}}function jE(t){return typeof t.id=="string"}function HE(t){return typeof t.send=="string"}function qE(t,e){return{send:t,payload:e}}function zN(){return Math.random().toString(36).substring(2,9)}var Ap=class extends Error{constructor(e){super(`no handler for ${e}`)}},zy="mx-port-ready";var Np=class{constructor(){_(this,"port",null);_(this,"actions",Object.create(null));_(this,"emitter",Ip());_(this,"methods",new Proxy({},{get:(e,n)=>{if(typeof n=="symbol")throw new Error("Remote invoke does not support symbol property");return e[n]??(e[n]=(...i)=>this.invoke(n.toString(),i))}}))}load(e){this.port&&this.port.close(),this.port=e;let n=({data:i})=>{this.onMessage(i)};e.addEventListener("message",n),e.start(),e.postMessage(zy)}unload(){this.port?.close(),this.emitter.events={}}onMessage(e){e===zy?this.emitter.emit("ready"):zE(e)?this.response(e):jE(e)?this.emitter.emit("resp",e.id,e.payload,e.error):HE(e)&&this.emitter.emit(`send:${e.send}`,{type:e.send,payload:e.payload})}invoke(e,n,{transfer:i,timeout:r=1e3}={}){if(!this.port)throw new Error("port not loaded");let s=UE(e,...n);return this.port.postMessage(s,{transfer:i}),new Promise((a,o)=>{let l=-1,c=this.emitter.on("resp",(u,d,p)=>{if(u===s.id)if(c(),window.clearTimeout(l),p){let{message:h,stack:y}=p,v=new Error(h);v.stack=y,o(v)}else a(d)});r>0&&r<1/0&&(l=window.setTimeout(()=>{c(),console.error(`${e} timeout after ${r}ms`),o(new Hi(r))},r))})}handle(e,n){this.actions[e]=n}send(e,n,i){if(!this.port)throw new Error("port not loaded");let r=qE(e,n);this.port.postMessage(r,{transfer:i})}on(e,n){return this.emitter.on(`send:${e}`,n)}once(e,n){return this.emitter.once(`send:${e}`,n)}onReady(e,{once:n=!1}={}){return n?this.emitter.once("ready",e):this.emitter.on("ready",e)}async response({id:e,invoke:n,args:i=[]}){if(!this.port)throw new Error("port not loaded");let r={id:e,payload:null};try{let s=this.actions[n];if(!s)throw new Ap(n);let a=await s(...i);a===void 0?this.port.postMessage(r):(r.payload=await a.value,this.port.postMessage(r,{transfer:a.transfer}))}catch(s){console.error("port messaging error",s),s instanceof Error?r.error={message:s.message,stack:s.stack}:r.error={message:String(s)},this.port.postMessage(r)}}},Hi=class extends Error{constructor(e){super(`timeout after ${e}ms`)}};var UN=()=>{},ql=UN;At();At();Yt();Yt();var F=$(j(),1);var T=$(j(),1);At();Yt();var g1=$(Ul(),1);function ki(){return Gp(au)}var W3=X(Oc,{domEventsRegex:/^onMedia/}),v1=T.forwardRef(({children:t,...e},n)=>T.createElement(W3,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));v1.displayName="AirPlayButton";var K3=X(Dc,{domEventsRegex:/^onMedia/}),yf=T.forwardRef(({children:t,...e},n)=>T.createElement(K3,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));yf.displayName="PlayButton";var G3=X(Rc,{domEventsRegex:/^onMedia/}),Yw=T.forwardRef(({children:t,...e},n)=>T.createElement(G3,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));Yw.displayName="CaptionButton";var Y3=X(Lc,{domEventsRegex:/^onMedia/}),_f=T.forwardRef(({children:t,...e},n)=>T.createElement(Y3,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));_f.displayName="FullscreenButton";var Q3=X(Ac,{domEventsRegex:/^onMedia/}),wf=T.forwardRef(({children:t,...e},n)=>T.createElement(Q3,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));wf.displayName="MuteButton";var X3=X(Nc,{domEventsRegex:/^onMedia/}),Qw=T.forwardRef(({children:t,...e},n)=>T.createElement(X3,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));Qw.displayName="PIPButton";var Z3=X(Fc,{domEventsRegex:/^onMedia/}),uu=T.forwardRef(({children:t,...e},n)=>T.createElement(Z3,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));uu.displayName="SeekButton";var J3=X(Ic,{domEventsRegex:/^onMedia/}),y1=T.forwardRef(({children:t,...e},n)=>T.createElement(J3,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));y1.displayName="LiveButton";var Xw=X(Kc),eV=X(Hc,{events:["onDragStart","onDragEnd","onDragValueChange","onValueChange","onPointerValueChange"]}),tV=T.forwardRef(({children:t,...e},n)=>T.createElement(eV,{...e,ref:n},i=>T.createElement(H.div,{...i},t)));tV.displayName="Slider";var nV=T.forwardRef((t,e)=>T.createElement(H.div,{...t,ref:e}));nV.displayName="SliderThumb";var iV=T.forwardRef((t,e)=>T.createElement(H.div,{...t,ref:e}));iV.displayName="SliderTrack";var rV=T.forwardRef((t,e)=>T.createElement(H.div,{...t,ref:e}));rV.displayName="SliderTrackFill";var sV=X(Yc),aV=T.forwardRef(({children:t,...e},n)=>T.createElement(sV,{...e},i=>T.createElement(H.div,{...i,ref:re(i.ref,n)},t)));aV.displayName="SliderPreview";var oV=T.forwardRef(({children:t,...e},n)=>T.createElement(Xw,{...e},(i,r)=>{let s=he(()=>r.getValueText(),r);return T.createElement(H.div,{...i,ref:n},s,t)}));oV.displayName="SliderValue";var lV=X(Bc,{domEventsRegex:/^onMedia/}),cV=T.forwardRef(({children:t,...e},n)=>T.createElement(lV,{...e,ref:n},i=>T.createElement(H.div,{...i},t)));cV.displayName="VolumeSlider";var uV=T.forwardRef(({children:t,...e},n)=>T.createElement(Xw,{...e},(i,r)=>{let s=he(()=>r.getValueText(),r);return T.createElement(H.div,{...i,ref:re(i.ref,n)},s,t)}));uV.displayName="SliderValue";function dV(t=0,e=0,n=""){return D?{startTime:t,endTime:e,text:n,addEventListener:Kt,removeEventListener:Kt,dispatchEvent:Kt}:new window.VTTCue(t,e,n)}var pV=X(no),_1=T.forwardRef(({children:t,...e},n)=>T.createElement(pV,{...e},i=>T.createElement(H.div,{...i,ref:re(i.ref,n)},t)));_1.displayName="Thumbnail";var w1=T.forwardRef(({children:t,...e},n)=>{let{src:i,img:r,crossOrigin:s}=Lr(no.state),a=he(i),o=he(s);return T.createElement(H.img,{crossOrigin:o,...e,src:a,ref:re(r.set,n)},t)});w1.displayName="ThumbnailImg";var bf=Object.freeze({__proto__:null,Img:w1,Root:_1}),xf=T.createContext({$chapters:O(null)});xf.displayName="TimeSliderContext";var hV=X(qc,{domEventsRegex:/^onMedia/}),fV=T.forwardRef(({children:t,...e},n)=>{let i=T.useMemo(()=>O(null),[]);return T.createElement(xf.Provider,{value:{$chapters:i}},T.createElement(hV,{...e,ref:n},r=>T.createElement(H.div,{...r},t)))});fV.displayName="TimeSlider";var mV=X(Qc),gV=T.forwardRef(({children:t,...e},n)=>T.createElement(mV,{...e},(i,r)=>T.createElement(H.div,{...i,ref:re(i.ref,n)},T.createElement(b1,{instance:r},t))));gV.displayName="SliderChapters";function b1({instance:t,children:e}){let n=he(()=>t.cues,t),i=T.useRef([]),r=T.useRef(),{$chapters:s}=T.useContext(xf);return r.current||(r.current=dV()),T.useEffect(()=>(s.set(t),()=>void s.set(null)),[t]),T.useEffect(()=>{t.setRefs(i.current)},[n]),e(n.length?n:[r.current],a=>{if(!a){i.current.length=0;return}i.current.push(a)})}b1.displayName="SliderChapterTracks";var vV=T.forwardRef(({children:t,...e},n)=>{let{$chapters:i}=T.useContext(xf),[r,s]=T.useState();return T.useEffect(()=>b(()=>{let a=i(),o=a?.activePointerCue||a?.activeCue;s(o?.text||"")}),[]),T.createElement(H.div,{...e,ref:n},r,t)});vV.displayName="SliderChapterTitle";var yV=T.forwardRef(({children:t,...e},n)=>T.createElement(Xw,{...e},(i,r)=>{let s=he(()=>r.getValueText(),r);return T.createElement(H.div,{...i,ref:re(i.ref,n)},s,t)}));yV.displayName="SliderValue";var _V=T.forwardRef((t,e)=>T.createElement(H.div,{...t,ref:e}));_V.displayName="SliderProgress";var wV=X(Wc),bV=T.forwardRef(({children:t,...e},n)=>T.createElement(wV,{...e},i=>T.createElement(H.div,{...i,ref:re(i.ref,n)},t)));bV.displayName="SliderThumbnail";var xV=X(Gc,{events:["onCanPlay","onError"]}),kV=T.forwardRef(({children:t,...e},n)=>T.createElement(xV,{...e},(i,r)=>T.createElement(x1,{...i,instance:r,ref:re(i.ref,n)},t)));kV.displayName="SliderVideo";var x1=T.forwardRef(({instance:t,children:e,...n},i)=>{let{canLoad:r}=Lr(Vs),{src:s,video:a,crossOrigin:o}=t.$state,l=he(s),c=he(r),u=he(o);return T.createElement(H.video,{style:{maxWidth:"unset"},...n,src:l||void 0,muted:!0,playsInline:!0,preload:c?"auto":"none",crossOrigin:u||void 0,ref:re(a.set,i)},e)});x1.displayName="SliderVideoProvider";var TV=X(tu,{events:["onChange"]}),EV=T.forwardRef(({children:t,...e},n)=>T.createElement(TV,{...e,ref:n},i=>T.createElement(H.div,{...i},t)));EV.displayName="RadioGroup";var SV=X(nu,{events:["onChange","onSelect"]}),PV=T.forwardRef(({children:t,...e},n)=>T.createElement(SV,{...e},i=>T.createElement(H.div,{...i,ref:re(i.ref,n)},t)));PV.displayName="RadioItem";var CV=typeof document>"u",$V=X(Xc,{events:["onOpen","onClose"],domEventsRegex:/^onMedia/}),MV=T.forwardRef(({children:t,...e},n)=>T.createElement($V,{...e,ref:n},(i,r)=>T.createElement(H.div,{...i,style:{display:r.isSubmenu?void 0:"contents",...i.style}},t)));MV.displayName="Menu";var RV=X(Zc,{events:["onSelect"]}),LV=T.forwardRef(({children:t,...e},n)=>T.createElement(RV,{...e},i=>T.createElement(H.button,{...i,ref:re(i.ref,n)},t)));LV.displayName="MenuButton";var IV=T.forwardRef(({disabled:t=!1,children:e,...n},i)=>{let r=_e("fullscreen");return CV||!(t==="fullscreen"?!r:!t)?e:(0,g1.createPortal)(T.createElement(H.div,{...n,style:{display:"contents",...n.style},ref:i},e),document.body)});IV.displayName="MenuPortal";var AV=X(Jc),NV=T.forwardRef(({children:t,...e},n)=>T.createElement(AV,{...e},i=>T.createElement(H.div,{...i,ref:re(i.ref,n)},t)));NV.displayName="MenuItems";var DV=X(eu),OV=T.forwardRef(({children:t,...e},n)=>T.createElement(DV,{...e},i=>T.createElement(H.div,{...i,ref:re(i.ref,n)},t)));OV.displayName="MenuItem";var VV=X(ru,{events:["onWillTrigger","onTrigger"]}),In=T.forwardRef(({children:t,...e},n)=>T.createElement(VV,{...e,ref:n},i=>T.createElement(H.div,{...i},t)));In.displayName="Gesture";var FV=X(su),du=T.forwardRef(({children:t,...e},n)=>T.createElement(FV,{...e},(i,r)=>T.createElement(k1,{...i,instance:r,ref:re(i.ref,n)},t)));du.displayName="Time";var k1=T.forwardRef(({instance:t,children:e,...n},i)=>{let{timeText:r}=t.$state,s=he(r);return T.createElement(H.div,{...n,ref:i},s,e)});k1.displayName="TimeText";function Ti(){return ki()?.player||null}function Zw({off:t=!0}={}){let e=ki(),{textTracks:n,textTrack:i}=e.$state,r=he(n);return he(i),T.useMemo(()=>{let s=r.filter(We),a=s.map(o=>({track:o,label:o.label,value:m1(o),get selected(){return i()===o},select(l){let c=n().indexOf(o);c>=0&&e.remote.changeTextTrackMode(c,"showing",l)}}));return t&&a.unshift({track:null,label:U(t)?t:"Off",value:"off",get selected(){return!i()},select(o){e.remote.toggleCaptions(o)}}),Object.defineProperty(a,"disabled",{get(){return!s.length}}),Object.defineProperty(a,"selectedTrack",{get(){return i()}}),Object.defineProperty(a,"selectedValue",{get(){let o=i();return o?m1(o):"off"}}),a},[r])}function m1(t){return t.id+":"+t.kind+"-"+t.label.toLowerCase()}var kf=$(j(),1),Jw=kf.forwardRef((t,e)=>{let{width:n,height:i,size:r=null,paths:s,...a}=t;return kf.createElement("svg",{viewBox:"0 0 32 32",...a,width:n??r,height:i??r,fill:"none","aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",ref:e,dangerouslySetInnerHTML:{__html:s}})});Jw.displayName="VidstackIcon";var ne=$(j(),1);At();Yt();var zV=X($c),T1=ne.forwardRef(({children:t,...e},n)=>ne.createElement(zV,{...e},i=>ne.createElement(H.div,{...i,ref:re(i.ref,n)},t)));T1.displayName="Controls";var UV=X(Mc),E1=ne.forwardRef(({children:t,...e},n)=>ne.createElement(UV,{...e},i=>ne.createElement(H.div,{...i,ref:re(i.ref,n)},t)));E1.displayName="ControlsGroup";var nr=Object.freeze({__proto__:null,Group:E1,Root:T1}),jV=X(zc);function HV({children:t,...e}){return ne.createElement(jV,{...e},t)}HV.displayName="Tooltip";var qV=X(Uc),BV=ne.forwardRef(({children:t,...e},n)=>ne.createElement(qV,{...e},i=>ne.createElement(H.button,{...i,ref:re(i.ref,n)},t)));BV.displayName="TooltipTrigger";var WV=X(jc),KV=ne.forwardRef(({children:t,...e},n)=>ne.createElement(WV,{...e},i=>ne.createElement(H.div,{...i,ref:re(i.ref,n)},t)));KV.displayName="TooltipContent";var GV=X(Vc,{domEventsRegex:/^onMedia/}),S1=ne.forwardRef(({children:t,...e},n)=>ne.createElement(GV,{...e},i=>ne.createElement(H.button,{...i,ref:re(i.ref,n)},t)));S1.displayName="GoogleCastButton";var P1=ne.forwardRef(({children:t,...e},n)=>{let i=_e("title");return ne.createElement(H.span,{...e,ref:n},i,t)});P1.displayName="Title";function C1(t){let[e,n]=ne.useState([]);return ne.useEffect(()=>{if(!t){n([]);return}function i(){n(t.activeCues)}return i(),S(t,"cue-change",i)},[t]),e}function $1(t){let e=ki(),[n,i]=ne.useState(null);return ne.useEffect(()=>io(e.textTracks,t,i),[t]),n}function Tf(){let t=$1("chapters");return C1(t)[0]?.text||""}var M1=ne.forwardRef(({children:t,...e},n)=>{let i=Tf();return ne.createElement(H.span,{...e,ref:n},i,t)});M1.displayName="ChapterTitle";var YV=X(iu),Ef=ne.forwardRef(({children:t,...e},n)=>ne.createElement(YV,{...e,ref:n},i=>ne.createElement(H.div,{...i},t)));Ef.displayName="Captions";var uj=ne.forwardRef(({size:t=96,children:e,...n},i)=>ne.createElement("svg",{width:t,height:t,fill:"none",viewBox:"0 0 120 120","aria-hidden":"true","data-part":"root",...n,ref:i},e)),dj=ne.forwardRef(({width:t=8,children:e,...n},i)=>ne.createElement("circle",{cx:"60",cy:"60",r:"54",stroke:"currentColor",strokeWidth:t,"data-part":"track",...n,ref:i},e)),pj=ne.forwardRef(({width:t=8,fillPercent:e=50,children:n,...i},r)=>ne.createElement("circle",{cx:"60",cy:"60",r:"54",stroke:"currentColor",pathLength:"100",strokeWidth:t,strokeDasharray:100,strokeDashoffset:100-e,"data-part":"track-fill",...i,ref:r},n));var Sf=$(j(),1);Yt();function Pf(t){let e=ki(),n=Sf.useRef();return n.current||(n.current=new Ga),Sf.useEffect(()=>{let i=t&&"current"in t?t.current:t,r=i instanceof Os,s=r?i:e?.player;n.current.setPlayer(s??null),n.current.setTarget(i??null)},[e,t&&"current"in t?t.current:t]),n.current}var Bj=$(Ul(),1);var XV=["onAbort","onAudioTrackChange","onAudioTracksChange","onAutoPlay","onAutoPlayChange","onAutoPlayFail","onCanLoad","onCanPlay","onCanPlayThrough","onControlsChange","onDestroy","onDurationChange","onEmptied","onEnd","onEnded","onError","onFindMediaPlayer","onFullscreenChange","onFullscreenError","onLiveChange","onLiveEdgeChange","onLoadedData","onLoadedMetadata","onLoadStart","onLoopChange","onOrientationChange","onPause","onPictureInPictureChange","onPictureInPictureError","onPlay","onPlayFail","onPlaying","onPlaysInlineChange","onPosterChange","onProgress","onProviderChange","onProviderLoaderChange","onProviderSetup","onQualitiesChange","onQualityChange","onRateChange","onReplay","onSeeked","onSeeking","onSourceChange","onSourceChange","onStalled","onStarted","onStreamTypeChange","onSuspend","onTextTrackChange","onTextTracksChange","onTimeUpdate","onTitleChange","onVdsLog","onVideoPresentationChange","onVolumeChange","onWaiting"],ZV=X(Os,{events:XV,eventsRegex:/^onHls/,domEventsRegex:/^onMedia/}),eb=F.forwardRef(({aspectRatio:t,children:e,...n},i)=>F.createElement(ZV,{...n,src:n.src,ref:i,style:{aspectRatio:t,...n.style}},r=>F.createElement(H.div,{...r},e)));eb.displayName="MediaPlayer";var JV=X(uf),tb=F.forwardRef(({loaders:t=[],children:e,mediaProps:n,buildMediaEl:i,...r},s)=>{let a=F.useMemo(()=>t.map(o=>new o),t);return F.createElement(JV,{...r,loaders:a,ref:s},(o,l)=>F.createElement("div",{...o},F.createElement(I1,{...n,provider:l,buildMediaEl:i}),e))});tb.displayName="MediaProvider";function I1({provider:t,buildMediaEl:e,...n}){let{controls:i,crossOrigin:r,poster:s,remotePlaybackInfo:a}=Lr(Vs),{loader:o}=t.$state,{$iosControls:l,$provider:c,$providerSetup:u}=ki(),d=he(i),p=he(l),h=d||p,y=he(r),v=he(s),w=he(o),m=he(c),f=he(u),g=he(a),x=w?.mediaType(),E=w?.name==="youtube",L=w?.name==="vimeo",R=E||L,I=w?.name==="remotion",z=w?.name==="google-cast",[A,oe]=F.useState("");return F.useEffect(()=>{!z||A||Promise.resolve().then(()=>(L1(),R1)).then(ee=>{oe(ee.default)})},[z]),z?F.createElement("div",{className:"vds-google-cast",ref:ee=>{t.load(ee)}},F.createElement(Jw,{paths:A}),g?.deviceName?F.createElement("span",{className:"vds-google-cast-info"},"Google Cast on"," ",F.createElement("span",{className:"vds-google-cast-device-name"},g.deviceName)):null):I?F.createElement("div",{"data-remotion-canvas":!0},F.createElement("div",{"data-remotion-container":!0,ref:ee=>{t.load(ee)}},f1(m)&&f?F.createElement(m.render):null)):e?.(w,t)??(R?F.createElement(F.Fragment,null,F.createElement("iframe",{className:E?"vds-youtube":"vds-vimeo",suppressHydrationWarning:!0,tabIndex:h?void 0:-1,"aria-hidden":"true","data-no-controls":h?void 0:"",ref(ee){t.load(ee)}}),h?null:F.createElement("div",{className:"vds-blocker"})):x?F.createElement(x==="audio"?"audio":"video",{...n,controls:h?"true":null,crossOrigin:typeof y=="boolean"?"":y,poster:x==="video"&&h&&v?v:null,preload:"none","aria-hidden":"true",suppressHydrationWarning:!0,ref(ee){t.load(ee)}}):null)}I1.displayName="MediaOutlet";function eF(t){let e=ki(),n=F.useMemo(()=>new un(t),Object.values(t));return F.useEffect(()=>(e.textTracks.add(n),()=>void e.textTracks.remove(n)),[n]),n}function nb({lang:t,...e}){return eF({language:t,...e}),null}nb.displayName="Track";var tF=X(df),nF=F.forwardRef(({children:t,...e},n)=>F.createElement(tF,{...e},i=>F.createElement(H.button,{...i,ref:re(i.ref,n)},t)));nF.displayName="ToggleButton";var iF=X(pf),rF=F.forwardRef(({children:t,...e},n)=>F.createElement(iF,{...e},(i,r)=>F.createElement(A1,{...i,instance:r,ref:re(i.ref,n)},t)));rF.displayName="Poster";var A1=F.forwardRef(({instance:t,children:e,...n},i)=>{let{src:r,img:s,alt:a,crossOrigin:o}=t.$state,l=he(r),c=he(a),u=he(o);return F.createElement(H.img,{...n,src:l||"",alt:c||void 0,crossOrigin:u||void 0,ref:re(s.set,i)},e)});A1.displayName="PosterImg";var sF=F.forwardRef(({children:t,...e},n)=>F.createElement(H.div,{translate:"yes","aria-live":"off","aria-atomic":"true",...e,ref:n},t));sF.displayName="Caption";var aF=F.forwardRef((t,e)=>{let n=_e("textTrack"),[i,r]=F.useState();return F.useEffect(()=>{if(!n)return;function s(){r(n?.activeCues[0])}return n.addEventListener("cue-change",s),()=>{n.removeEventListener("cue-change",s),r(void 0)}},[n]),F.createElement(H.span,{...t,"data-part":"cue",dangerouslySetInnerHTML:{__html:i?.text||""},ref:e})});aF.displayName="CaptionText";function N1(){let[t,e]=F.useState(null),n=ki();return F.useEffect(()=>{if(n)return b(()=>{e(n.$provider())})},[]),t}function D1({clamp:t=!1,offset:e=0,orientation:n="horizontal"}={}){let[i,r]=F.useState(null),[s,a]=F.useState(null),[o,l]=F.useState(0),[c,u]=F.useState(!1);return F.useEffect(()=>{if(!i)return;let d=O(!1);function p(h){i&&l(oF(i,h,n))}return b(()=>{if(!d()){S(i,"pointerenter",()=>{u(!0),s?.setAttribute("data-visible","")}),S(i,"pointerdown",h=>{d.set(!0),p(h)}),S(i,"pointerleave",()=>{u(!1),s?.removeAttribute("data-visible")}),S(i,"pointermove",h=>{p(h)});return}s?.setAttribute("data-dragging",""),S(document,"pointerup",h=>{d.set(!1),s?.removeAttribute("data-dragging"),p(h)}),S(document,"pointermove",h=>{p(h)}),S(document,"touchmove",h=>h.preventDefault(),{passive:!1})})},[i]),F.useEffect(()=>{s&&s.style.setProperty("--slider-pointer",o+"%")},[s,o]),F.useEffect(()=>{if(!s)return;let d=()=>{Hw(s,{offset:e,clamp:t,orientation:n})};d();let p=new ResizeObserver(d);return p.observe(s),()=>p.disconnect()},[s,t,e,n]),{previewRootRef:r,previewRef:a,previewValue:o,isPreviewVisible:c}}function oF(t,e,n){let i,r=t.getBoundingClientRect();if(n==="vertical"){let{bottom:s,height:a}=r;i=(s-e.clientY)/a}else{let{left:s,width:a}=r;i=(e.clientX-s)/a}return lF(Math.max(0,Math.min(100,100*i)))}function lF(t){return Number(t.toFixed(3))}var O1='"use strict";var X=()=>({emit(e,...t){for(let n=0,r=this.events[e]||[],i=r.length;n{this.events[e]=this.events[e]?.filter(n=>t!==n)}}});function Z(){let e=X();return e.once=function(n,r){let i=this.on(n,(...s)=>{i(),r(...s)});return i},e}function ee(e){let t=e;return typeof t.id=="string"&&typeof t.invoke=="string"}function te(e,...t){return{id:Ce(),invoke:e,args:t}}function ne(e){return typeof e.id=="string"}function re(e){return typeof e.send=="string"}function ie(e,t){return{send:e,payload:t}}function Ce(){return Math.random().toString(36).substring(2,9)}var k=class extends Error{constructor(t){super(`no handler for ${t}`)}},N="mx-port-ready";var R=class{port=null;load(t){this.port&&this.port.close(),this.port=t;let n=({data:r})=>{this.onMessage(r)};t.addEventListener("message",n),t.start(),t.postMessage(N)}unload(){this.port?.close(),this.emitter.events={}}actions=Object.create(null);emitter=Z();onMessage(t){t===N?this.emitter.emit("ready"):ee(t)?this.response(t):ne(t)?this.emitter.emit("resp",t.id,t.payload,t.error):re(t)&&this.emitter.emit(`send:${t.send}`,{type:t.send,payload:t.payload})}methods=new Proxy({},{get:(t,n)=>{if(typeof n=="symbol")throw new Error("Remote invoke does not support symbol property");return t[n]??=(...r)=>this.invoke(n.toString(),r)}});invoke(t,n,{transfer:r,timeout:i=1e3}={}){if(!this.port)throw new Error("port not loaded");let s=te(t,...n);return this.port.postMessage(s,{transfer:r}),new Promise((o,a)=>{let l=-1,u=this.emitter.on("resp",(c,p,y)=>{if(c===s.id)if(u(),window.clearTimeout(l),y){let{message:K,stack:z}=y,S=new Error(K);S.stack=z,a(S)}else o(p)});i>0&&i<1/0&&(l=window.setTimeout(()=>{u(),a(new M(i))},i))})}handle(t,n){this.actions[t]=n}send(t,n,r){if(!this.port)throw new Error("port not loaded");let i=ie(t,n);this.port.postMessage(i,{transfer:r})}on(t,n){return this.emitter.on(`send:${t}`,n)}once(t,n){return this.emitter.once(`send:${t}`,n)}onReady(t,{once:n=!1}={}){return n?this.emitter.once("ready",t):this.emitter.on("ready",t)}async response({id:t,invoke:n,args:r=[]}){if(!this.port)throw new Error("port not loaded");let i={id:t,payload:null};try{let s=this.actions[n];if(!s)throw new k(n);let o=await s(...r);o===void 0?this.port.postMessage(i):(i.payload=await o.value,this.port.postMessage(i,{transfer:o.transfer}))}catch(s){s instanceof Error?i.error={message:s.message,stack:s.stack}:i.error={message:String(s)},this.port.postMessage(i)}}},M=class extends Error{constructor(t){super(`timeout after ${t}ms`)}};var se="mx-port";async function q(){let e=await new Promise((n,r)=>{function i({data:o,ports:a}){o===se&&(n(a[0]),window.removeEventListener("message",i),window.clearTimeout(s))}window.addEventListener("message",i);let s=setTimeout(()=>{r("failed to get port: timeout "+5e3),window.removeEventListener("message",i)},5e3)}),t=new R;return t.load(e),t}var A=class{#e=[];#t=!1;async load(){if(!this.#t){this.#t=!0,await this.onload();for(let t of this.#n)await t.load()}}async onload(){}async unload(){if(!this.#t)return;this.#t=!1;let t;for(;t=this.#e.pop();)await t();let n;for(;n=this.#n.pop();)await n.unload();await this.onunload()}async onunload(){}register(t){this.#e.push(t)}registerInterval(t,n){let r=setInterval(t,n);this.register(()=>clearInterval(r))}registerDomEvent(t,n,r,i){t.addEventListener(n,r,i),this.register(()=>t.removeEventListener(n,r,i))}#n=[];async addChild(t){return this.#n.push(t),this.#t&&await t.load(),t}async removeChild(t){let n=this.#n.indexOf(t);return n!==-1&&(this.#n.splice(n,1),t.unload()),t}};function d(e){let t=[];for(let n=0;nn.send("enterpictureinpicture",void 0)),e.registerDomEvent(t,"leavepictureinpicture",()=>n.send("leavepictureinpicture",void 0)));function r(){n.send("abort",void 0)}function i(){n.send("emptied",void 0)}function s(){t.error&&n.send("error",{code:t.error.code,message:t.error.message})}function o(){n.send("volumechange",{muted:t.muted,volume:t.volume})}function a(){n.send("durationchange",{played:d(t.played),duration:t.duration})}function l(){n.send("progress",{buffered:d(t.buffered),seekable:d(t.seekable)})}function u(){n.send("stalled",{readyState:t.readyState})}function c(){n.send("suspend",void 0)}function p(){n.send("ratechange",{rate:t.playbackRate})}function y(){n.send("seeked",{current:t.currentTime,played:d(t.played),duration:t.duration,ended:t.ended})}function K(){n.send("seeking",{current:t.currentTime})}function z(){n.send("ended",{controls:t.controls,current:t.currentTime,played:d(t.played),duration:t.duration,ended:t.ended})}function S(){n.send("waiting",{readyState:t.readyState})}}var U=class{value;next;constructor(t){this.value=t}},x=class{#e;#t;#n;constructor(){this.clear()}enqueue(t){let n=new U(t);this.#e?(this.#t.next=n,this.#t=n):(this.#e=n,this.#t=n),this.#n++}dequeue(){let t=this.#e;if(t)return this.#e=this.#e.next,this.#n--,t.value}clear(){this.#e=void 0,this.#t=void 0,this.#n=0}get size(){return this.#n}*[Symbol.iterator](){let t=this.#e;for(;t;)yield t.value,t=t.next}};var le={bind(e,t,n){return e.bind(n)}};function F(e){if(!((Number.isInteger(e)||e===Number.POSITIVE_INFINITY)&&e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=new x,n=0,r=()=>{n--,t.size>0&&t.dequeue()()},i=async(a,l,u)=>{n++;let c=(async()=>a(...u))();l(c);try{await c}catch{}r()},s=(a,l,u)=>{t.enqueue(le.bind(i.bind(void 0,a,l,u))),(async()=>(await Promise.resolve(),n0&&t.dequeue()()))()},o=(a,...l)=>new Promise(u=>{s(a,u,l)});return Object.defineProperties(o,{activeCount:{get:()=>n},pendingCount:{get:()=>t.size},clearQueue:{value(){t.clear()}}}),o}async function ue(e,t,n){let r=document.createElement("canvas"),{videoWidth:i,videoHeight:s}=e;if(!i||!s)throw new Error("Cannot screenshot video without width or height");Object.assign(r,{width:i,height:s});let o=r.getContext("2d",{alpha:!1});if(!o)throw new Error("Canvas context creation failed");o.drawImage(e,0,0,i,s);let a=await new Promise((u,c)=>{try{r.toBlob(p=>{p?u(p):c(new Error("Canvas to blob failed"))},t,n)}catch(p){c(p)}}),l=await a.arrayBuffer();return{time:e.currentTime,blob:{arrayBuffer:l,type:a.type}}}var de=["currentTime","playbackRate","volume","muted"],ce=["paused","played","networkState","duration","buffered","seekable","readyState","ended","autoplay","error"],me=["play","pause"],fe="mx-mounted";function T(e){return e[0].toUpperCase()+e.slice(1)}function W(e){return e instanceof TimeRanges?d(e):e}function pe(){let e=this.media,t=this.controller,n=this.stateRef;ce.forEach(i=>{t.handle(`get${T(i)}`,()=>({value:W(e[i])}))}),t.handle("pictureInPictureEnabled",()=>({value:document.pictureInPictureElement===e})),t.handle("requestPictureInPicture",()=>{e instanceof HTMLVideoElement&&e.requestPictureInPicture()}),t.handle("exitPictureInPicture",()=>{document.exitPictureInPicture()}),de.forEach(i=>{t.handle(`get${T(i)}`,()=>({value:W(e[i])})),i==="currentTime"?t.handle(`set${T(i)}`,s=>{n.prevSeek={value:e.currentTime,time:Date.now()},e[i]=s}):t.handle(`set${T(i)}`,s=>{e[i]=s})}),me.forEach(i=>{t.handle(i,async(...s)=>({value:await e[i](...s)}))}),t.handle("screenshot",async(i,s)=>{if(!(e instanceof HTMLVideoElement))throw new Error("Cannot take screenshot of non-video element");let o=await ue(e,i,s);return{value:o,transfer:[o.blob.arrayBuffer]}});let r=F(4);return t.handle("fetch",async(i,{gzip:s=!1,...o}={})=>{let a=await r(()=>window.fetch(i,o)),l=await a.blob(),u={type:l.type,respHeaders:Object.fromEntries(a.headers)};if(!s){let y=await l.arrayBuffer();return{value:{ab:y,gzip:!1,...u},transfer:[y]}}let c=l.stream(),p=await De(c.pipeThrough(new CompressionStream("gzip")));return{value:{ab:p,gzip:!0,...u},transfer:[p]}}),n}async function De(e){let t=e.getReader(),n=[];for(;;){let{done:s,value:o}=await t.read();if(s)break;n.push(o)}let r=n.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(r);for(let s=0,o=0;s=0&&o(),t.readyState>=1&&a(),t.readyState>=2&&l(),t.readyState>=3&&u(),t.readyState>=4&&c(),e.registerDomEvent(t,"play",s),e.registerDomEvent(t,"pause",r),e.registerDomEvent(t,"playing",i),t.readyState>=3&&!t.paused?(s(),i()):r();function r(){n.send("pause",{readyState:t.readyState})}function i(){n.send("playing",void 0)}function s(){n.send("play",void 0)}function o(){n.send("loadstart",{networkState:t.networkState})}function a(){n.send("loadedmetadata",void 0)}function l(){n.send("loadeddata",void 0)}function u(){n.send("canplay",{buffered:d(t.buffered),seekable:d(t.seekable),duration:t.duration})}function c(){n.send("canplaythrough",{buffered:d(t.buffered),seekable:d(t.seekable),duration:t.duration})}}var g=Symbol(0),C=!1,he=!1,$=null,E=null,f=null,m=0,b=[],j={};var w=0,we=1,P=2,B=3;function Ie(){C=!0,queueMicrotask(Oe)}function Oe(){if(!b.length){C=!1;return}he=!0;for(let e=0;e=0;n--)J(t[n])}function G(e=!0){if(this.$st===B)return;let t=e?this.$ps||this[g]:this,n=this.$ns,r=null;for(;n&&n[g]===this;)G.call(n,!0),ye(n),r=n.$ns,n.$ns=null,n=r;e&&ye(this),n&&(n.$ps=e?this.$ps:this),t&&(t.$ns=n)}function ye(e){e.$st=B,e.$d&&Me(e),e.$s&&L(e,0),e.$ps&&(e.$ps.$ns=null),e[g]=null,e.$s=null,e.$o=null,e.$ps=null,e.$cx=j,e.$eh=null}function Me(e){try{if(Array.isArray(e.$d))for(let t=e.$d.length-1;t>=0;t--){let n=e.$d[t];n.call(n)}else e.$d.call(e.$d);e.$d=null}catch(t){xe(e,t)}}function _e(e,t,n){let r=$,i=E;$=e,E=n;try{return t.call(e)}finally{$=r,E=i}}function xe(e,t){if(!e||!e.$eh)throw t;let n=0,r=e.$eh.length,i=ve(t);for(n=0;n0){e.$s.length=m+f.length;for(let s=0;s=t)&&(e.$e&&e.$st===w&&(b.push(e),C||Ie()),e.$st=t,e.$o))for(let n=0;n"u"}function Q(e){return typeof e=="number"&&!Number.isNaN(e)}var Ee,We=Event,Se=Symbol("DOM_EVENT"),V=class extends We{constructor(t,...n){super(t,n[0]),this[Ee]=!0,this.triggers=new D,this.detail=n[0]?.detail;let r=n[0]?.trigger;r&&this.triggers.add(r)}static{Ee=Se}get trigger(){return this.triggers.source}get originEvent(){return this.triggers.origin}get isOriginTrusted(){return this.triggers.origin?.isTrusted??!1}},D=class{constructor(){this.chain=[]}get source(){return this.chain[0]}get origin(){return this.chain[this.chain.length-1]}add(t){this.chain.push(t),ke(t)&&this.chain.push(...t.triggers)}remove(t){return this.chain.splice(this.chain.indexOf(t),1)[0]}has(t){return this.chain.some(n=>n===t)}hasType(t){return!!this.findType(t)}findType(t){return this.chain.find(n=>n.type===t)}walk(t){for(let n of this.chain){let r=t(n);if(r)return[n,r]}}[Symbol.iterator](){return this.chain.values()}};function ke(e){return!!e?.[Se]}var dn=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:e=>window.setTimeout(e,1):Pe;var O=class{constructor(t){this._callback=t}_id;_start(){I(this._id)&&this._loop()}_stop(){Q(this._id)&&window.cancelAnimationFrame(this._id),this._id=void 0}_loop(){this._id=window.requestAnimationFrame(()=>{I(this._id)||(this._callback(),this._loop())})}};function Re(e){let t=e.media,n=e.controller,r=new O(a);e.register(()=>r._stop());let i,s=t.currentTime;function o(){i!==t.paused&&(i=t.paused,t.paused?t.addEventListener("timeupdate",a):t.removeEventListener("timeupdate",a))}o(),t.addEventListener("ended",()=>{r._stop(),o()}),t.addEventListener("pause",()=>{r._stop(),o()}),t.addEventListener("playing",()=>{r._start(),o()});function a(){s!==t.currentTime&&(s=t.currentTime,n.send("timeupdate",{current:s,played:d(t.played)}))}}function H(e,t=document.body,n=1e4){return new Promise((r,i)=>{let s=t.querySelector(e);if(s){r(s);return}let o=new MutationObserver(()=>{let l=t.querySelector(e);l&&(o.disconnect(),r(l),window.clearTimeout(a))}),a=window.setTimeout(()=>{o.disconnect(),i(new Error(`timeout waiting for ${e}`))},n);o.observe(t,{childList:!0,subtree:!0})})}var Ve=[".dplayer",".video-js",".jwplayer","[data-player]"],h=class extends A{constructor(n){super();this.controller=n;this.register(()=>n.unload())}getStyle(){return Ge}#e=null;stateRef={prevSeek:null};findMedia(){return H("video, audio")}async load(){let n=this.getStyle();n&&this.injectStyle(n),await super.load();let r=this.media.controls===!0;r&&(this.media.controls=!1),this.register(this.controller.on("mx-toggle-controls",({payload:i})=>{document.body.classList.toggle("mx-show-controls",i)})),r&&this.register(this.controller.on("mx-toggle-controls",({payload:i})=>{this.media.controls=i})),this.register(this.controller.on("mx-toggle-webfs",({payload:i})=>{document.body.classList.toggle("mx-fs-enable",i)})),document.body.classList.add("mx-play-ready"),this.controller.send("mx-play-ready",void 0)}get media(){if(!this.#e)throw new Error("Get media before load");return this.#e}async onload(){this.#e=await this.findMedia(),await Promise.all([this.enterWebFullscreen(),this.hookMediaEl()])}enterWebFullscreen(){document.body.classList.add("mx-fs-enable");let n=this.media.closest(Ve.join(", "))??this.media;n.classList.add("mx-player"),this.assignParentClass(n),window.dispatchEvent(new Event("resize"))}assignParentClass(n){for(let r of je(n))r.classList.add("mx-parent"),getComputedStyle(r).position=="fixed"&&r.classList.add("mx-absolute")}injectStyle(n){let r=document.createElement("style");r.textContent=n,document.head.appendChild(r),this.register(()=>r.remove())}async untilMediaReady(n="canplay",r=5e3){if(this.media.readyState>=Be[n])return;let i=-1;await new Promise((s,o)=>{this.registerDomEvent(this.media,n,s,{once:!0}),i=window.setTimeout(()=>{o(new M(r))},r)}),window.clearTimeout(i)}async hookMediaEl(){ge(this),Re(this),ae(this),pe.call(this),this.controller.send(fe,void 0)}};function*je(e,t=!1){for(t&&(yield e);e.parentElement&&e.parentElement!==document.body;)e=e.parentElement,yield e}var Be={loadedmetadata:HTMLMediaElement.HAVE_METADATA,loadeddata:HTMLMediaElement.HAVE_CURRENT_DATA,canplay:HTMLMediaElement.HAVE_FUTURE_DATA,canplaythrough:HTMLMediaElement.HAVE_ENOUGH_DATA},Ge=`\nbody.mx-fs-enable .mx-player {\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n width: 100vw !important;\n height: 100vh !important;\n max-width: none !important;\n max-height: none !important;\n min-width: 0 !important;\n min-height: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n z-index: 2147483647 !important; /* Ensure it\'s on top of other elements */\n background-color: #000 !important;\n transform: none !important;\n}\nbody.mx-fs-enable .mx-parent {\n overflow: visible !important;\n z-index: auto !important;\n transform: none !important;\n -webkit-transform-style: flat !important;\n transition: none !important;\n contain: none !important;\n}\nbody.mx-fs-enable .mx-absolute {\n position: absolute !important;\n}\nbody.mx-fs-enable {\n overflow: hidden !important;\n zoom: 100% !important;\n}\nbody.mx-fs-enable .mx-parent video {\n object-fit: contain !important;\n}\n`.trim();var Ye={waitForSelector:H,MediaPlugin:h},Ae=(e=>function(n){if(n in e)return e[n];throw new Error(`Module not found: ${n.toString()}`)})({"media-extended":Ye});async function Le(e,t){if(!e)return new h(t);let n=window.eval(`(function anonymous(require,module,exports){${e}\n})`),r={},i={exports:r};n(Ae,i,r),r=i.exports||r;let s=r.default||i.exports;if(!s)throw new Error("Failed to load plugin. No exports detected.");let o=new s(t);if(!(o instanceof h))throw new Error("Failed to load plugin. plugin not extends MediaPlugin");return o}var _;q().then(e=>{e.handle("loadPlugin",async t=>{_&&_.unload(),_=await Le(t,e),_.load()})});\n';var ir=Symbol(0),$f=!1,V1=!1,Fs=null,ao=null,An=null,mn=0,so=[],rb={},uF=()=>{},oo=0,H1=1,pu=2,Rf=3;function dF(){$f=!0,queueMicrotask(pF)}function pF(){if(!so.length){$f=!1;return}V1=!0;for(let t=0;t=0;n--)ob(e[n])}function q1(t){if(!t||!Fs)return t||uF;let e=Fs;return e.$d?Array.isArray(e.$d)?e.$d.push(t):e.$d=[e.$d,t]:e.$d=t,function(){e.$st!==Rf&&(t.call(null),G1(e.$d)?e.$d=null:Array.isArray(e.$d)&&e.$d.splice(e.$d.indexOf(t),1))}}function sb(t=!0){if(this.$st===Rf)return;let e=t?this.$ps||this[ir]:this,n=this.$ns,i=null;for(;n&&n[ir]===this;)sb.call(n,!0),F1(n),i=n.$ns,n.$ns=null,n=i;t&&F1(this),n&&(n.$ps=t?this.$ps:this),e&&(e.$ns=n)}function F1(t){t.$st=Rf,t.$d&&B1(t),t.$s&&Cf(t,0),t.$ps&&(t.$ps.$ns=null),t[ir]=null,t.$s=null,t.$o=null,t.$ps=null,t.$cx=rb,t.$eh=null}function B1(t){try{if(Array.isArray(t.$d))for(let e=t.$d.length-1;e>=0;e--){let n=t.$d[e];n.call(n)}else t.$d.call(t.$d);t.$d=null}catch(e){W1(t,e)}}function fF(t,e,n){let i=Fs,r=ao;Fs=t,ao=n;try{return e.call(t)}finally{Fs=i,ao=r}}function W1(t,e){if(!t||!t.$eh)throw e;let n=0,i=t.$eh.length,r=z1(e);for(n=0;n0){t.$s.length=mn+An.length;for(let s=0;s=e)&&(t.$e&&t.$st===oo&&(so.push(t),$f||dF()),t.$st=e,t.$o))for(let n=0;nn===e)}hasType(e){return!!this.findType(e)}findType(e){return this.chain.find(n=>n.type===e)}walk(e){for(let n of this.chain){let i=e(n);if(i)return[n,i]}}[Symbol.iterator](){return this.chain.values()}};function Z1(t){return!!t?.[X1]}function bF(){let t=new Set;return{add(...e){for(let n of e)t.add(n)},empty(){for(let e of t)e();t.clear()}}}function J1(){let t=bF();return q1(t.empty),t}var N7=typeof window<"u"?"requestIdleCallback"in window?window.requestIdleCallback:t=>window.setTimeout(t,1):Q1;var jr=require("obsidian");var eC=`"use strict";var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var y=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},b=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of p(e))!m.call(r,n)&&n!==t&&s(r,n,{get:()=>e[n],enumerable:!(i=d(e,n))||i.enumerable});return r};var f=r=>b(s({},"__esModule",{value:!0}),r);var k={};y(k,{default:()=>o});module.exports=f(k);var c=()=>require("media-extended");var{waitForSelector:l,MediaPlugin:h}=c(),w=\` #bilibili-player .bpx-player-control-wrap { opacity: 0 !important; } @@ -28,13 +28,13 @@ Error generating stack: `+s.message+` opacity: 100 !important; } \`,o=class extends h{findMedia(){return l("#bilibili-player video")}getStyle(){return w}async onload(){this.controller.handle("bili_getManifest",()=>({value:window.player.getManifest()})),localStorage.setItem("recommend_auto_play","close"),localStorage.setItem("bpx_player_profile",JSON.stringify({media:{autoplay:!1}})),await super.onload(),this.revertAutoSeek(),Promise.all([this.toggleDanmaku(!1)]),await this.untilWebFullscreen()}get player(){return this.media.closest("#bilibili-player")}async toggleDanmaku(e){if(window.player){e===void 0&&(e=!window.player.danmaku.isOpen()),e?window.player.danmaku.open():window.player.danmaku.close();return}let t=await l(".bui-danmaku-switch",this.player);if(!t)return;let i=t.querySelector("input.bui-danmaku-switch-input");if(i){if(e===void 0){i.click();return}e!==this.isDanmakuOn(t)&&i.click()}}isDanmakuOn(e){return e.querySelector(".bui-danmaku-switch-off")?.offsetHeight===0}isWebFullscreen(){return this.player.classList.contains("mode-webscreen")}enterWebFullscreen(){this.isWebFullscreen()||l(".bpx-player-ctrl-web",this.player).then(e=>{e.click()})}revertAutoSeek(){let t=this.player.querySelector(".bpx-player-toast-auto");if(!t)return;let i=()=>{this.stateRef.prevSeek&&this.stateRef.prevSeek.time>Date.now()-5e3?this.media.currentTime=this.stateRef.prevSeek.value:this.media.currentTime=0},n=new MutationObserver(u=>{u.find(a=>a.type==="childList"&&a.addedNodes.length>0)?.addedNodes.forEach(a=>{a.textContent?.includes("\\u5DF2\\u4E3A\\u60A8\\u5B9A\\u4F4D\\u81F3")&&(a.style.opacity="0",i())})});n.observe(t,{childList:!0,subtree:!0}),this.register(()=>n.disconnect())}async untilWebFullscreen(){let e=this.player;this.isWebFullscreen()||await new Promise(t=>{let i=new MutationObserver(n=>{n.find(a=>a.type==="attributes"&&a.attributeName==="class"&&e?.classList.contains("mode-webscreen"))&&(i.disconnect(),t(void 0))});i.observe(e,{attributes:!0}),setTimeout(()=>{i.disconnect(),t(void 0)},6e3)})}}; -`;var B1=`"use strict";var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var u=(r,e)=>{for(var o in e)a(r,o,{get:e[o],enumerable:!0})},m=(r,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!d.call(r,t)&&t!==o&&a(r,t,{get:()=>e[t],enumerable:!(s=l(e,t))||s.enumerable});return r};var c=r=>m(a({},"__esModule",{value:!0}),r);var b={};u(b,{default:()=>i});module.exports=c(b);var n=()=>require("media-extended");var y=\` +`;var tC=`"use strict";var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var u=(r,e)=>{for(var o in e)a(r,o,{get:e[o],enumerable:!0})},m=(r,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!d.call(r,t)&&t!==o&&a(r,t,{get:()=>e[t],enumerable:!(s=l(e,t))||s.enumerable});return r};var c=r=>m(a({},"__esModule",{value:!0}),r);var b={};u(b,{default:()=>i});module.exports=c(b);var n=()=>require("media-extended");var y=\` body:not(.mx-show-controls) .vp-player-ui-overlays { opacity: 0 !important; } \`,{waitForSelector:x,MediaPlugin:M}=n(),i=class extends M{findMedia(){return x("#main [data-player] .vp-video video")}getStyle(){return super.getStyle()+\` \`+y}}; -`;var W1=`"use strict";var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var y=(o,t)=>{for(var e in t)s(o,e,{get:t[e],enumerable:!0})},h=(o,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!u.call(o,r)&&r!==e&&s(o,r,{get:()=>t[r],enumerable:!(n=m(t,r))||n.enumerable});return o};var b=o=>h(s({},"__esModule",{value:!0}),o);var M={};y(M,{default:()=>a});module.exports=b(M);var d=()=>require("media-extended");var g=\` +`;var nC=`"use strict";var d=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var b=(o,t)=>{for(var e in t)d(o,e,{get:t[e],enumerable:!0})},g=(o,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of y(t))!h.call(o,r)&&r!==e&&d(o,r,{get:()=>t[r],enumerable:!(n=u(t,r))||n.enumerable});return o};var v=o=>g(d({},"__esModule",{value:!0}),o);var x={};b(x,{default:()=>l});module.exports=v(x);var a=()=>require("media-extended");var w=\` body:not(.mx-player-ready) #movie_player, ytd-watch-flexy[theater] #movie_player { position: fixed !important; @@ -76,7 +76,7 @@ ytd-app .html5-endscreen { body:not(.mx-show-controls) ytd-app .ytp-chrome-bottom { opacity: 0 !important; } -\`.trim(),v=\` +\`.trim(),f=\` /* \\u9996\\u9875\\u9876\\u90E8\\u6A2A\\u5E45\\u5E7F\\u544A */ #masthead-ad, /* \\u9996\\u9875\\u89C6\\u9891\\u6392\\u7248\\u5E7F\\u544A */ @@ -101,24 +101,24 @@ ad-slot-renderer, ytm-companion-ad-renderer { opacity: 0 !important; } -\`.trim(),{waitForSelector:i,MediaPlugin:w}=d(),a=class extends w{findMedia(){return i("ytd-app #movie_player video")}getStyle(){return g+\` -\`+v}async onload(){await super.onload(),Promise.all([i(".video-ads.ytp-ad-module",this.app).then(t=>this.removePlayerAD(t)),this.disableAutoPlay()])}get app(){return this.media.closest("ytd-app")}get moviePlayer(){return this.media.closest("#movie_player")}async disableAutoPlay(){let e=await i('button.ytp-button[data-tooltip-target-id="ytp-autonav-toggle-button"]',this.app);if(!e)throw new Error("Autoplay button not found");let n=e.querySelector(".ytp-autonav-toggle-button");if(!n)throw new Error("Autoplay button label not found");let r=()=>n.getAttribute("aria-checked")==="true";r()&&(e.click(),await new Promise(c=>{let l=new MutationObserver(()=>{r()||(l.disconnect(),c())});l.observe(n,{attributes:!0})}))}removePlayerAD(t){let e=new MutationObserver(()=>this.skipAd());this.registerInterval(()=>this.skipAd(),500),e.observe(t,{childList:!0,subtree:!0})}skipAd(){let t=this.media,e=this.moviePlayer.querySelector(".ytp-ad-skip-button")||this.moviePlayer.querySelector(".ytp-ad-skip-button-modern"),n=this.moviePlayer.querySelector(".video-ads.ytp-ad-module .ytp-ad-player-overlay");if(t)if(e){if(window.location.href.indexOf("https://m.youtube.com/")===-1&&(t.muted=!0),t.currentTime>.5){t.currentTime=t.duration;return}e.click(),E.call(e)}else n&&(t.currentTime=t.duration)}enterWebFullscreen(){this.assignParentClass(this.moviePlayer),(async()=>{let t=await i("#movie_player .ytp-size-button"),e=()=>!!this.app.querySelector("ytd-watch-flexy[theater]");if(!e())do t.click(),await f(200);while(!e());window.dispatchEvent(new Event("resize"))})()}};function f(o){return new Promise(t=>setTimeout(t,o))}function E(){let o=new Touch({identifier:Date.now(),target:this,clientX:12,clientY:34,radiusX:56,radiusY:78,rotationAngle:0,force:1}),t=new TouchEvent("touchstart",{bubbles:!0,cancelable:!0,view:window,touches:[o],targetTouches:[o],changedTouches:[o]});this.dispatchEvent(t);let e=new TouchEvent("touchend",{bubbles:!0,cancelable:!0,view:window,touches:[],targetTouches:[],changedTouches:[o]});this.dispatchEvent(e)} -`;var K1={bilibili:q1,youtube:W1,vimeo:B1,coursera:void 0,generic:void 0};var G1={generic:t=>t,bilibili:t=>t.replaceAll(/[-_]哔哩哔哩.+$|[-_]bilibili.+$|-(?:番剧|电影|纪录片|国创|电视剧|综艺)-.+/g,""),youtube:t=>t.replace(/ - YouTube$/,""),vimeo:t=>t.replace(/ on Vimeo$/,""),coursera:t=>t.replace(/ \| Coursera$/,"")};var fC=require("url"),oo=require("obsidian");var pu=require("obsidian");function Cf(t){return t===0?"00:00:00":pu.moment.utc(pu.moment.duration({seconds:t}).as("milliseconds")).format("HH:mm:ss")}function X1(t){return t===0?"DT0S":pu.moment.duration(t,"seconds").toISOString()}var Y1=(t,e=2)=>{let n,i;return Number.isInteger(t)?n=t.toString():[n,i]=t.toFixed(e).split("."),n.length===1&&(n="0"+n),i?n+"."+i:n};function $f(t){return t.replace(/t=[^&]+/,"")}function Z1(t,e){let n=tb(e);return`${t}&${n}`}function J1(t,e){let n=Number.isNaN(t)?-1:t,i=Number.isNaN(e)?-1:e;return{start:n,end:i}}function tb(t){let{start:e,end:n}=t,i={get start(){return Q1(e)},get end(){return Q1(n)}};return kn(t)?`t=${i.start}`:e<0&&n>0?Number.isFinite(n)?`t=,${i.end}`:null:e>0&&n>0?`t=${i.start},${i.end}`:null}function Q1(t){if(Number.isNaN(t)||t<0)throw new Error("durationInSecond must be positive");if(t===1/0)return"e";let e=pu.moment.duration(t,"seconds"),n=e.hours(),i=e.minutes(),r=e.seconds()+e.milliseconds()/1e3;if(n>0)return[n,...[i,r].map(s=>Y1(s))].join(":");if(i>0)return[i,r].map(s=>Y1(s)).join(":");if(r>0)return r.toFixed(2);throw new Error("durationInSecond must be positive")}var eC=require("obsidian"),dF=eC.Platform.isWin?require("path/win32"):require("path/posix"),ei=dF;function Ei(t){let e=new URL(t.href),n=$f(e.hash);return e.hash===n?t:e}function tC(t){return t.hostname==="b23.tv"?!1:t.hostname.endsWith(".bilibili.com")&&(t.pathname.startsWith("/video/")||t.pathname.startsWith("/bangumi/play/"))?t.pathname.split("/").filter(Boolean).slice(-1)[0]:null}var nC=t=>tC(t)===null?null:"bilibili",iC=t=>{let e=tC(t);if(e===null)throw new Error("Invalid bilibili url");let n=$r(t.hash),i=pF(t),r=zn(t);r.searchParams.forEach((a,o,l)=>{o==="p"&&a!=="1"||l.delete(o)}),r.searchParams.sort();let s=new URL(r);return!n&&i>0&&(n={start:i,end:-1}),n&&kn(n)&&s.searchParams.set("t",String(n.start)),{source:Ei(s),cleaned:r,id:e||void 0}};function pF(t){let e=t.searchParams.get("t"),n=e?Number(e):NaN;return Number.isNaN(n)?NaN:n}var rC=t=>t.hostname==="www.coursera.org"?"coursera":null,sC=t=>{let e=zn(t);e.search="";let n=new URL(t);return{cleaned:e,source:Ei(n)}};var aC=require("obsidian");var oC=t=>({type:"generic",cleaned:zn(t),source:Ei(t.protocol==="file:"?hF(t):t)});function hF(t){let e=new URL(aC.Platform.resourcePathPrefix+t.href.substring(8));return e.search=Date.now().toString(),e}var lC=t=>t.hostname!=="vimeo.com"||!t.pathname.substring(1).match(/^\d+$/)?null:"vimeo",cC=t=>{let e=t.pathname.substring(1);if(!e.match(/^\d+$/))throw new Error("Invalid vimeo url");let n=zn(t);n.search="";let i=new URL(t);return{cleaned:n,source:Ei(i),id:e}};function dC(t){let e=t.pathname.split("/");if(t.hostname==="youtu.be"&&e.length===2)return e[1];if(t.hostname==="www.youtube.com"||t.hostname==="youtube.com"){if(e.length===2&&e[1]==="watch")return t.searchParams.get("v");let n=["shorts","embed","v"];if(e.length===3&&n.includes(e[1]))return e[2]}return null}var pC=t=>dC(t)?"youtube":null,hC=t=>{let e=$r(t.hash),n=nb(t.searchParams.get("t")),i=nb(t.searchParams.get("start")),r=nb(t.searchParams.get("end")),s=dC(t);if(!s)throw new Error("Invalid youtube url");let a=zn("https://www.youtube.com/watch");a.search=new URLSearchParams({v:s}).toString();let o=new URL(a);if(t.searchParams.has("list")&&o.searchParams.set("list",t.searchParams.get("list")),e||(i>0&&r>0?e=J1(i,r):i>0?e={start:i,end:1/0}:r>0?e={start:0,end:r}:n>0&&(e={start:n,end:-1})),e){let l=uC(e.start),c=uC(e.end);kn(e)||e.start>0&&e.end>0&&l===c?o.searchParams.set("t",l):(e.start>0&&o.searchParams.set("start",l),e.end>0&&o.searchParams.set("end",c))}return{source:Ei(o),cleaned:a,id:s}};function uC(t){return t.toFixed(0)}function nb(t){if(!t)return NaN;let e=Number(t);if(!Number.isNaN(e))return e;let n=/^(?:(?\d+)h)?(?:(?\d+)m)?(?:(?\d+)s)?$/,i=t.match(n);if(!i)return NaN;let{h:r,m:s,s:a}=i.groups,o=r?Number(r):0,l=s?Number(s):0,c=a?Number(a):0;return o*3600+l*60+c}var fF=new Set(["https:","http:","file:"]),Vs,hu=class hu extends URL{constructor(n,i){super(n);O(this,Vs,void 0);_(this,"type");_(this,"mxUrl");if(this.mxUrl=i?new URL(i):null,!fF.has(this.protocol))throw new Error("Unsupported protocol: "+this.protocol);this.type=mF.reduce((r,s)=>r??s(this),null)??"generic",we(this,Vs,gF[this.type](this))}static create(n,i){if(n instanceof hu)return n.clone();try{return new hu(n,i)}catch{return null}}get inferredType(){let n=this.pathname.split(".").pop();return n?Xt(n):null}get isFileUrl(){return this.protocol==="file:"}get filePath(){if(this.isFileUrl)try{return(0,fC.fileURLToPath)(this)}catch(n){return console.error("Failed to convert file url to path",n,this.href),null}return null}getVaultFile(n){if(!(n.adapter instanceof oo.FileSystemAdapter))return null;let i=this.filePath,r=n.adapter.getBasePath();if(!i)return null;let s=ei.relative(r,i);if(/^\.\.[/\\]/.test(s)||ei.isAbsolute(s))return null;let a=(0,oo.normalizePath)(s);return n.getFileByPath(a)}compare(n){return!!n&&this.jsonState.source===n.jsonState.source}get tempFrag(){return $r(this.hash)}setTempFrag(n){let i=this.clone(),r=$f(this.hash);return n?i.hash=Z1(r,n):i.hash=r,i}clone(){return new hu(this,this.mxUrl??void 0)}get readableHref(){return decodeURI(this.href)}get source(){return k(this,Vs).source}get cleaned(){return k(this,Vs).cleaned}get id(){return k(this,Vs).id}get jsonState(){return{source:Bo(this.mxUrl??this.cleaned)}}};Vs=new WeakMap;var _t=hu,mF=[nC,pC,lC,rC],gF={bilibili:iC,youtube:hC,vimeo:cC,coursera:sC,generic:oC};function mC(t,{getUrlMapping:e}){if(!t)return null;if(t.protocol!=="mx:")return _t.create(t);let[,,n]=t.pathname.split("/"),i=e(n);return i?_t.create(t.href.replace(`mx://${n}/`,i.replace(/\/*$/,"/")),t):null}function gC(t,e){if(Xt(t.extension)===null)throw new Error(`Unknown media type ${t.extension}`);let n=e.getResourcePath(t);return new _t("file:///"+n.substring(oo.Platform.resourcePathPrefix.length))}function vC(t){return`webpage::${btoa(t)}`}function yC(t){return atob(t.replace(/^webpage::/,""))}function Mf(t){return typeof t=="string"&&t.startsWith("webpage::")}function _C(t){return t.type==="TimeRanges"}var Rf=class{constructor(e){this.ranges=e}get length(){return this.ranges.length}start(e){return this.ranges[e][0]}end(e){return this.ranges[e][1]}};function ti(t){return _C(t)?new Rf(t.value):t}var{onDispose:ib,peek:vF}=bs,Lf=class{constructor(e,n){this._provider=e;this._ctx=n;_(this,"_disposal",H1());_(this,"_waiting",!1);_(this,"_attachedLoadStart",!1);_(this,"_attachedCanPlay",!1);_(this,"_handlers");_(this,"_handleDevEvent");this._attachInitialListeners(),ib(this._media.on("timeupdate",this._onTimeUpdate.bind(this))),ib(this._onDispose.bind(this))}get _webview(){return this._provider.webview}get _media(){return this._provider.media}get _notify(){return this._ctx.delegate._notify}_onDispose(){this._attachedLoadStart=!1,this._attachedCanPlay=!1,this._disposal.empty()}_attachInitialListeners(){this._attachEventListener("loadstart",this._onLoadStart),this._attachEventListener("abort",this._onAbort),this._attachEventListener("emptied",this._onEmptied),this._attachEventListener("error",this._onError),this._attachEventListener("volumechange",this._onVolumeChange)}_attachLoadStartListeners(){this._attachedLoadStart||(this._disposal.add(this._attachEventListener("loadeddata",this._onLoadedData),this._attachEventListener("loadedmetadata",this._onLoadedMetadata),this._attachEventListener("canplay",this._onCanPlay),this._attachEventListener("canplaythrough",this._onCanPlayThrough),this._attachEventListener("durationchange",this._onDurationChange),this._attachEventListener("play",this._onPlay),this._attachEventListener("progress",this._onProgress),this._attachEventListener("stalled",this._onStalled),this._attachEventListener("suspend",this._onSuspend)),this._attachedLoadStart=!0)}_attachCanPlayListeners(){this._attachedCanPlay||(this._disposal.add(this._attachEventListener("pause",this._onPause),this._attachEventListener("playing",this._onPlaying),this._attachEventListener("ratechange",this._onRateChange),this._attachEventListener("seeked",this._onSeeked),this._attachEventListener("seeking",this._onSeeking),this._attachEventListener("ended",this._onEnded),this._attachEventListener("waiting",this._onWaiting)),this._attachedCanPlay=!0)}_attachEventListener(e,n){let i=n.bind(this),r=this._media.on(e,i);return ib(r)}_onDevEvent(e){}_updateCurrentTime(e,n,i){let r={currentTime:Math.min(e,this._ctx.$state.seekableEnd()),played:n};this._notify("time-update",r,i&&new Event(i.type))}_onLoadStart(e){if(e.payload.networkState===3){this._onAbort(e);return}this._attachLoadStartListeners(),this._notify("load-start",void 0,new Event(e.type))}_onAbort(e){this._notify("abort",void 0,new Event(e.type))}_onEmptied({type:e}){this._notify("emptied",void 0,new Event(e))}_onLoadedData(e){this._notify("loaded-data",void 0,new Event(e.type))}_onLoadedMetadata(e){this._attachCanPlayListeners(),this._notify("loaded-metadata",void 0,new Event(e.type))}_getCanPlayDetail({duration:e,buffered:n,seekable:i}){return{provider:vF(this._ctx.$provider),duration:e,buffered:n,seekable:i}}_onPlay(e){this._ctx.$state.canPlay&&this._notify("play",void 0,new Event(e.type))}_onPause({type:e,payload:n}){n.readyState===1&&!this._waiting||(this._waiting=!1,this._notify("pause",void 0,new Event(e)))}_onCanPlay({type:e,payload:n}){let i=ti(n.buffered),r=ti(n.seekable);this._ctx.delegate._ready(this._getCanPlayDetail({duration:n.duration,buffered:i,seekable:r}),new Event(e))}_onCanPlayThrough({type:e,payload:n}){if(this._ctx.$state.started())return;let i=ti(n.buffered),r=ti(n.seekable);this._notify("can-play-through",this._getCanPlayDetail({duration:n.duration,buffered:i,seekable:r}),new Event(e))}_onPlaying({type:e}){this._waiting=!1,this._notify("playing",void 0,new Event(e))}_onStalled({type:e,payload:n}){this._notify("stalled",void 0,new Event(e)),n.readyState<3&&(this._waiting=!0,this._notify("waiting",void 0,new Event(e)))}_onWaiting({type:e,payload:n}){n.readyState<3&&(this._waiting=!0,this._notify("waiting",void 0,new Event(e)))}_onEnded(e){let{payload:n}=e,i=ti(n.played);this._updateCurrentTime(n.duration,i,e),this._notify("end",void 0,new Event(e.type))}_onTimeUpdate(e){let{payload:n}=e,i=ti(n.played);this._updateCurrentTime(n.current,i,e)}_onDurationChange(e){let{payload:n}=e,i=ti(n.played);this._ctx.$state.ended()&&this._updateCurrentTime(n.duration,i,e),this._notify("duration-change",n.duration,new Event(e.type))}_onVolumeChange({type:e,payload:n}){let i={volume:n.volume,muted:n.muted};this._notify("volume-change",i,new Event(e))}_onSeeked(e){let{payload:n}=e,i=ti(n.played);this._updateCurrentTime(n.current,i,e),this._notify("seeked",n.current,new Event(e.type))}_onSeeking({type:e,payload:n}){this._notify("seeking",n.current,new Event(e))}_onProgress({type:e,payload:n}){let i={buffered:ti(n.buffered),seekable:ti(n.seekable)};this._notify("progress",i,new Event(e))}_onSuspend({type:e}){this._notify("suspend",void 0,new Event(e))}_onRateChange({type:e,payload:n}){this._notify("rate-change",n.rate,new Event(e))}_onError({type:e,payload:n}){let i={message:n.message,code:n.code};this._notify("error",i,new ErrorEvent(e,{error:n}))}};async function wC(t,e){return await e.executeJavaScript(`(async function(){${t}})()`)}function bC(t){switch(t.code){case-202:return"SSL certificate isn't trusted by the browser. If the website is self-hosted, double check the SSL certificate and test it with a browser. ";default:return t.message}}var fu=class extends Error{constructor(n){super(`${n.errorCode}: ${n.errorDescription}`);_(this,"code");_(this,"description");_(this,"url");this.code=n.errorCode,this.url=n.validatedURL,this.description=n.errorDescription}};var{onDispose:xC}=bs,mu,If=class{constructor(e,n,i){this._video=e;this._media=n;this.userGesture=i;O(this,mu,!1);_(this,"_onChange",(e,n)=>{this._media.delegate._notify("picture-in-picture-change",e,n)});xC(e.on("enterpictureinpicture",r=>this._onChange(!0,new Event(r.type)))),xC(e.on("leavepictureinpicture",r=>this._onChange(!1,new Event(r.type))))}async updateActive(){let e=await this._video.methods.pictureInPictureEnabled();return we(this,mu,e),e}get active(){return this.updateActive(),k(this,mu)}get supported(){return!!document.pictureInPictureEnabled}async enter(){await this.userGesture(),await this._video.methods.requestPictureInPicture()}async exit(){await this._video.methods.exitPictureInPicture()}};mu=new WeakMap;var{createScope:yF,onDispose:rb,scoped:_F}=bs,lo,Rn=class{constructor(e,n){this._webview=e;this._ctx=n;_(this,"scope",yF());_(this,"$$PROVIDER_TYPE","WEBVIEW");_(this,"_currentSrc",null);_(this,"_port",new Rp);_(this,"pictureInPicture");O(this,lo,null);_(this,"onDomReady",async e=>{let n=this._webview;new Lf(this,this._ctx),this._updateTitle(e),await wC(P1,n),await this.loadPlugin(this.currentWebHost)});_F(()=>{this.pictureInPicture=new If(this._port,n,()=>this.userGesture(!0))},this.scope)}setup(){rb(()=>{this._webview.src=""}),wF(),this.type==="webview"&&this._ctx.delegate._notify("provider-setup",this),this.registerTitleChange(),rb(()=>{this._webview.removeEventListener("dom-ready",this.onDomReady)})}get type(){return"webview"}get webview(){return this._webview}get media(){return this._port}get currentSrc(){return this._currentSrc}get currentWebHost(){return this._currentSrc?.host??"generic"}setPlaybackRate(e){this._port.methods.setPlaybackRate(e)}async userGesture(e=!1){if(!e&&k(this,lo)){await k(this,lo);return}await we(this,lo,this.webview.executeJavaScript("1",!0))}async play(){this.webview.isConnected&&(await this.userGesture(),await this._port.methods.play())}async pause(){this.webview.isConnected&&(await this.userGesture(),await this._port.methods.pause())}setMuted(e){this._port.methods.setMuted(e)}setVolume(e){this._port.methods.setVolume(e)}setCurrentTime(e){this._port.methods.setCurrentTime(e)}get _notify(){return this._ctx.delegate._notify}async _updateTitle(e,n){let i=e=typeof e=="string"?new Event(e):e,r=n??this._webview.getTitle(),s=G1[this.currentWebHost](r),a=this._ctx.$state.title();s!==a&&this._notify("title-change",s,i)}loadPlugin(e){return new Promise((n,i)=>{let r=this._webview,s=this.media.onReady(async()=>{window.clearTimeout(a),await this.media.methods.loadPlugin(K1[e]),n()},{once:!0}),a=setTimeout(()=>{s(),i(new ji(5e3))},5e3),{port1:o,port2:l}=new MessageChannel;this._port.load(o),r.contentWindow.postMessage(Cx,"*",[l])})}handlePlayReady(){let e=new Promise((a,o)=>{let l=()=>{this.webview.removeEventListener("did-stop-loading",c),this.webview.removeEventListener("did-finish-load",c),this.webview.removeEventListener("did-fail-load",u)},c=()=>{a(),l()},u=d=>{o(new fu(d)),l()};this.webview.addEventListener("did-stop-loading",c),this.webview.addEventListener("did-finish-load",c),this.webview.addEventListener("did-fail-load",u)}),n,i=a=>new Promise((o,l)=>{n=window.setTimeout(()=>l(new ji(a)),a)}),r=new Promise(a=>{this._port.once("mx-play-ready",()=>{a(),window.clearTimeout(n)})}),s=1e4;e.then(()=>Promise.race([r,i(s)])).then(()=>{this.togglePlayReady(!0)}).catch(a=>{if(a instanceof ji)bF(s);else if(a instanceof fu){let o=bC(a);new zr.Notice(createFragment(l=>{l.appendText(`Failed to load webpage: ${o}`),l.createEl("p",{text:"Click to copy "},c=>c.createEl("a",{href:a.url,text:a.url.length>50?`${a.url.substring(0,50)}...`:a.url},u=>{u.addEventListener("click",d=>{d.preventDefault(),navigator.clipboard.writeText(a.url),new zr.Notice("URL copied to clipboard.")})}))}))}else throw a}).finally(()=>{this.togglePlayReady(!0)})}registerTitleChange(){let e=this._webview,n=i=>{this._updateTitle(i,i.title)};e.addEventListener("page-title-updated",n),rb(()=>{e.removeEventListener("page-title-updated",n)})}togglePlayReady(e){typeof e>"u"&&(e=!("playReady"in this._webview.dataset)),e?this._webview.dataset.playReady="":delete this._webview.dataset.playReady}untilPluginReady(){let e=this._webview;return this.togglePlayReady(!1),e.removeEventListener("dom-ready",this.onDomReady),this.handlePlayReady(),new Promise((n,i)=>{let r=s=>{this.onDomReady(s).then(n).catch(i),e.removeEventListener("dom-ready",r),e.addEventListener("dom-ready",this.onDomReady)};e.addEventListener("dom-ready",r)})}async loadSource({src:e,type:n}){if(!du(e))throw new Error("Webview provider only supports string src.");let i=_t.create(yC(e)),r=this._webview;if(this._currentSrc={src:i?.source.href??"",type:n,host:i?.type??"generic"},!i){r.src="";return}let s=!r.src||Bo(i.source)!==Bo(r.src);r.src=i.href,s&&await this.untilPluginReady()}};lo=new WeakMap;function wF(){let t="mx:webview-login-notified";localStorage.getItem(t)||(new zr.Notice(createFragment(n=>{n.appendText("You're using a webpage media player."),n.createEl("p",{text:"If you are requested to login, you can open a browser to login from:"},i=>{i.createEl("br"),i.appendText('- the "Login" command'),i.createEl("br"),i.appendText("- the entry in settings tab")}),n.appendText("Click to dismiss this notice.")}),0),localStorage.setItem(t,"1"))}function bF(t){let e="mx:webview-timeout-ignore";if(localStorage.getItem(e))return;let i=(t/1e3).toFixed(1),r=new zr.Notice(createFragment(s=>{s.createDiv({text:`Webpage not fully loaded within ${i}s. You can still try to play.`}),s.createDiv({},a=>{a.style.display="flex",a.style.justifyContent="flex-end",a.style.gap="1em",a.style.marginTop="1em",new zr.ButtonComponent(a).setButtonText("OK"),new zr.ButtonComponent(a).setButtonText("Don't show again").onClick(()=>{console.log("ignore webview timeout notice"),localStorage.setItem(e,"1"),r.hide()})})}),5e3)}var Vf=require("fs/promises"),vu=require("obsidian");function Af(t,e){let n=new Map;for(let i of t){let r=e(i),s=n.get(r);s?s.push(i):n.set(r,[i])}return n}var Of=$(sb());var ab={"de-AT":"\xD6sterreichisches Deutsch","de-CH":"Schweizer Hochdeutsch","en-AU":"Australian English","en-CA":"Canadian English","en-GB":"British English","en-US":"American English","es-ES":"espa\xF1ol de Espa\xF1a","es-MX":"espa\xF1ol de M\xE9xico","fr-CA":"fran\xE7ais canadien","fr-CH":"fran\xE7ais suisse","nl-BE":"Vlaams","pt-BR":"portugu\xEAs do Brasil","pt-PT":"portugu\xEAs europeu","ro-MD":"moldoveneasc\u0103","zh-Hans":"\u7B80\u4F53\u4E2D\u6587","zh-Hant":"\u7E41\u9AD4\u4E2D\u6587"},LC=()=>Af(Object.entries(ab),([t])=>t.split("-")[0]),RC={"zh-Hans":["CN","SG","MY"],"zh-Hant":["TW","HK","MO"]};function IC(t){let e=t.split("-"),n=e[0].toLowerCase();if(e.length===1)return Of.default.getNativeName(n);let i=e.slice(0,2).join("-");return ab[i]||`${Of.default.getNativeName(e[0])} (${t})`}function kF(t){return t.toLowerCase()==="hans"||RC["zh-Hans"].includes(t.toUpperCase())?"zh-Hans":t.toLowerCase()==="hant"||RC["zh-Hant"].includes(t.toUpperCase())?"zh-Hant":"zh"}function ob(t){if(!t)return!1;let e=t.split("-")[0].toLowerCase();return Of.default.validate(e)}function AC(t){if(!ob(t))return null;let e=t.split("-"),n=e[0].toLowerCase();if(e.length===1)return n;let i=e[1];return n==="zh"?kF(i):ab[`${n}-${i.toUpperCase()}`]??`${n}-${e.slice(1).join("-")}`}var NC=["vtt","ass","ssa","srt"];function EF(t){return NC.includes(t.extension)}function DC(t,e,n){console.debug("Search subtitles for media",{basename:t.basename,path:t.path,defaultLangCode:n}),console.debug(`${e.length} siblings`,e);let i=e.filter(EF).flatMap(l=>{let c=TF(l,t.basename);return c?[c]:[]});if(i.length===0)return console.debug("No subtitles found"),i;console.debug(`Found ${i.length} subtitles: `,i.map(l=>l.src.path)),console.debug("Subtitles details: ",i);let r=Af(i,l=>l.language),s=[...r.keys()],a=n?s.find(l=>{if(l)return l===n})??s.find(l=>{if(!l)return;let c=l.split("-")[0],u=n.split("-")[0];return c===u}):s.filter(l=>!!l)[0],o=[];return r.forEach((l,c)=>{for(let u of NC){let d=l.find(p=>p.type===u);if(d){o.push({...d,default:!!a&&c===a});return}}}),console.debug(`Final tracks: ${o.length}`,o.map(l=>l.src.path)),console.debug("Final tracks details",o),o.length===0||(console.debug(`Final default lang: ${a??o[0].id}`),a||(o[0].default=!0)),o}async function Ff(t,e){let n=t.filePath;if(!n||!t.inferredType)return[];let i=ei.basename(n),r=i.split(".").slice(0,-1).join("."),s=ei.dirname(n),a=(await(0,Vf.readdir)(s,{encoding:"utf-8",withFileTypes:!0}).catch(l=>{let c=l;return c.code!=="ENOENT"&&new vu.Notice(`Failed to read directory ${s}: ${c.message}`),[]})).filter(l=>l.name!==i&&(l.isFile()||l.isSymbolicLink())).map(l=>{let c=l.name.split(".");return c.length===1?{extension:"",basename:l.name,path:ei.join(s,l.name)}:{extension:c.at(-1),basename:c.slice(0,-1).join("."),path:ei.join(s,l.name)}}),o=DC({basename:r,path:n},a,e);return(await Promise.all(o.map(async({src:l,...c})=>{let u=await(0,Vf.readFile)(l.path,"utf-8").catch(d=>{let p=d;return p.code!=="ENOENT"&&new vu.Notice(`Failed to read subtitle file ${l.path}: ${p.message}`),""});return u?{...c,content:u}:null}))).filter(l=>!!l)}async function OC(t,e,n){if(!t.parent)return[];let i=DC(t,t.parent.children.filter(r=>r instanceof vu.TFile),n);return await Promise.all(i.map(async({src:r,...s})=>({...s,content:await e.cachedRead(r)})))}function TF(t,e){if(!t.basename.startsWith(e))return null;let n=t.basename.substring(e.length),i;if(!n)i=null;else if(i=AC(n.replace(/^\./,"")),!i)return null;let r=i?IC(i):"Unknown";return{kind:"subtitles",language:i??void 0,id:`${t.basename}.${t.extension}.${i??"unknown"}`,src:t,type:t.extension,label:`${r} (${t.extension})`,default:!1}}var VC={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(VC);var FC=VC;var zC={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(zC);var UC=zC;var Ln=function(t,e,n,i){if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?i:n==="a"?i.call(t):i?i.value:e.get(t)},co,yu,Fs,lb=class{constructor(...e){co.set(this,new Map),yu.set(this,new Map),Fs.set(this,new Map);for(let n of e)this.define(n)}define(e,n=!1){for(let[i,r]of Object.entries(e)){i=i.toLowerCase(),r=r.map(o=>o.toLowerCase()),Ln(this,Fs,"f").has(i)||Ln(this,Fs,"f").set(i,new Set);let s=Ln(this,Fs,"f").get(i),a=!0;for(let o of r){let l=o.startsWith("*");if(o=l?o.slice(1):o,s?.add(o),a&&Ln(this,yu,"f").set(i,o),a=!1,l)continue;let c=Ln(this,co,"f").get(o);if(c&&c!=i&&!n)throw new Error(`"${i} -> ${o}" conflicts with "${c} -> ${o}". Pass \`force=true\` to override this definition.`);Ln(this,co,"f").set(o,i)}}return this}getType(e){if(typeof e!="string")return null;let n=e.replace(/^.*[/\\]/,"").toLowerCase(),i=n.replace(/^.*\./,"").toLowerCase(),r=n.length{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let e of Ln(this,Fs,"f").values())Object.freeze(e);return this}_getTestState(){return{types:Ln(this,co,"f"),extensions:Ln(this,yu,"f")}}};co=new WeakMap,yu=new WeakMap,Fs=new WeakMap;var cb=lb;var ub=new cb(UC,FC)._freeze();var ir=require("obsidian");var _u=require("obsidian");async function jC(t,e,n){let i=document.createElement("canvas"),{videoWidth:r,videoHeight:s}=t;Object.assign(i,{width:r,height:s});let a=i.getContext("2d",{alpha:!1});if(!a)throw new Error("Canvas context creation failed");a.drawImage(t,0,0,r,s);let o=await new Promise((c,u)=>{try{i.toBlob(d=>{d?c(d):u(new Error("Canvas to blob failed"))},e,n)}catch(d){u(d)}}),l=await o.arrayBuffer();return{time:t.currentTime,blob:{arrayBuffer:l,type:o.type}}}function zs(t){return io(t)||t instanceof Rn}async function wu(t,e,n){let i=_u.Platform.isSafari&&e==="image/webp"?"image/jpeg":e;try{if(io(t))return await jC(t.video,i,n);if(t instanceof Rn)return await t.media.methods.screenshot(i,n);throw new Error("Unsupported provider for screenshot")}catch(r){throw r instanceof DOMException&&r.name==="SecurityError"?new _u.Notice("Cannot take screenshot due to CORS restriction, you can try open media as webpage to bypass this"):new _u.Notice("Cannot take screenshot: "+(r instanceof Error?r.message:String(r))),r}}var HC=require("obsidian");function zf({timestamp:t,screenshot:e},{template:n,editor:i,insertBefore:r}){console.debug("insert timestamp",{timestamp:t,screenshot:e,template:n});let s=n.replace("{{TIMESTAMP}}",t);e&&(s=s.replace("{{SCREENSHOT}}",e)),console.debug("content to insert",s);try{console.debug(`inserting timestamp ${r?"before":"after"} cursor`),r?PF(s,i):SF(s,i)}catch(a){new HC.Notice("Failed to insert timestamp, see console for details"),console.error("Failed to insert timestamp",a)}}function SF(t,e){let n=e.getCursor("to");console.debug("insert to cursor [to]",n.ch,n.line),e.replaceRange(t,n,n),e.setCursor(e.offsetToPos(e.posToOffset(n)+t.length))}function PF(t,e){let n=e.getCursor("from");console.debug("insert before cursor [from]",n.ch,n.line),e.replaceRange(t,n,n)}function qC(t){return t.file.basename}function BC({source:t},e){return e.title??t.hostname+decodeURI(t.pathname).replaceAll("/","_")}function WC(t,e){return Mi(t)?qC(t):BC(t,e)}function uo(t,e){let{metadataCache:n}=e.plugin.app,i=e.store.getState().player;if(!i)throw new Error("Player not initialized");if(Mi(t)){let{file:r,type:s}=t;return e.plugin.leafOpener.openNote(t,{title:qC(t),fm:a=>({[s]:`[[${n.fileToLinktext(r,a)}]]`}),sourcePath:r.path})}else return e.plugin.leafOpener.openNote(t,{title:BC(t,i.state),fm:()=>({media:t.jsonState.source})})}function Uf(t,e,{app:{fileManager:n},settings:{timestampOffset:i},state:{duration:r}}){t+=i,t<0&&(t=0),r&&t>r&&(t=r);let s=Cf(t),a=t>0?`#${tb({start:t,end:-1})}`:"";if(Mi(e)){let{file:o}=e;return l=>n.generateMarkdownLink(o,l,a,s).replace(/^!/,"")}else{let o=e.jsonState.source;return()=>`[${s}](${o}${a})`}}function jf(t){let e=t.store.getState().player;if(!e)return new ir.Notice("Player not initialized"),!1;let n=t.getMediaInfo();return n?!e?.provider||!zs(e.provider)?(new ir.Notice("Screenshot is not supported for this media"),!1):{media:n,provider:e.provider,state:e.state,app:t.plugin.app,settings:t.plugin.settings.getState()}:(new ir.Notice("No media is opened"),!1)}async function bu(t,{file:e,editor:n}){let i=jf(t);if(!i)return!1;let{provider:r,state:s,media:a,app:{fileManager:o,vault:l},settings:{insertBefore:c,screenshotTemplate:u,screenshotEmbedTemplate:d,screenshotQuality:p,screenshotFormat:h}}=i,{blob:y,time:v}=await wu(r,h,p),w=Uf(v,a,i),m=ub.getExtension(y.type);if(!m)return new ir.Notice("Unknown mime type: "+y.type),!1;let f=WC(a,s),g=Wo(f,{replacement:"_"})+X1(v),x=v>0?` - ${Cf(v)}`:"",T=await o.getAvailablePathForAttachment(`${g}.${m}`,e.path),L=await l.createBinary(T,y.arrayBuffer);new ir.Notice("Screenshot saved to "+L.path);try{return zf({timestamp:w(e.path),screenshot:o.generateMarkdownLink(L,e.path,"",d.replaceAll("{{TITLE}}",f).replaceAll("{{DURATION}}",x)).replace(/^!/,"")},{editor:n,template:u,insertBefore:c}),!0}catch(R){return new ir.Notice("Failed to insert screenshot, see console for details"),console.error("Failed to insert screenshot",R),!1}}async function xu(t){let{provider:e}=t,{blob:{arrayBuffer:n,type:i}}=await wu(e,"image/png",void 0),r;try{r=new ClipboardItem({[i]:new Blob([n],{type:i})})}catch(s){return new ir.Notice("Failed to copy screenshot, see console for details"),console.error("Failed to copy screenshot",s),!1}await navigator.clipboard.write([r]),new ir.Notice("Screenshot copied to clipboard")}var ku=require("obsidian");async function Eu(t,{file:e,editor:n}){let i=t.store.getState().player;if(!i)return new ku.Notice("Player not initialized"),!1;let r=t.getMediaInfo();if(!r)return new ku.Notice("No media is opened"),!1;let s=i.currentTime,a=Uf(s,r,{app:t.plugin.app,settings:t.plugin.settings.getState(),state:i.state});if(s<=0)return new ku.Notice("Playback not started yet"),!1;let{insertBefore:o,timestampTemplate:l}=t.plugin.settings.getState();try{return zf({timestamp:a(e.path)},{editor:n,template:l,insertBefore:o}),!0}catch(c){return new ku.Notice("Failed to insert timestamp, see console for details"),console.error("Failed to insert timestamp",c),!1}}var KC=require("obsidian");function db(t){let e="mx:media-notetaking-notified";localStorage.getItem(e)||(new KC.Notice(createFragment(i=>{i.appendText(`You are taking ${t} from media player. By default, they will only be saved in the media note. `),i.createEl("p",{text:`To take ${t} or control playback from abritrary note, use command when focused on the note`}),i.createEl("p",{text:"PS: you can assign a hotkey to each command in the settings"}),i.appendText("Click to dismiss this notice.")}),0),localStorage.setItem(e,"1"))}function Hf(t){let e=Un(t);if(!e)return"";let{pathname:n}=e;if(!n)return"";let i=n.split("/").pop();return i?decodeURI(i.split(".").slice(0,-1).join(".")):""}function qf(t){t.addAction("star","Take timestamp in media note",()=>{let e=t.getMediaInfo();e&&(db("timestamp"),uo(e,t).then(n=>{Eu(t,n)}))}),t.getViewType()!==Ri&&t.addAction("camera","Take screenshot in media",()=>{let e=t.getMediaInfo();e&&(db("screenshot"),uo(e,t).then(n=>bu(t,n)))})}function Bf(t,e,n){let{player:i,source:r,toggleControls:s,controls:a,setTransform:o,transform:l,toggleWebFullscreen:c,disableWebFullscreen:u}=t.store.getState();!i||!r||t.plugin.app.workspace.trigger("mx-media-menu",e,{source:r.url,player:i,toggleControls:s,controls:a,setTransform:o,transform:l,plugin:t.plugin,disableWebFullscreen:u,toggleWebFullscreen:c,reload:()=>t.render()},n,t.leaf)}var pb=new WeakSet;function GC(t){t.subscribe((e,n)=>{e.player!==n.player&&Tu(e)}),t.subscribe((e,n)=>{let i=e.player;if(!i)return;let r=e.source,s=n.source;if(r===s)return;let a=r?.url,o=s?.url;a!==o&&(!a&&o!==void 0||a!==void 0&&!a.compare(o))&&pb.delete(i)})}async function Tu({player:t,hash:{tempFragment:e}}){if(!t||!e)return;let n=!pb.has(t);pb.add(t);let i=null,r=.25;if(kn(e)||t.currentTimee.end&&(i=e.end),i!==null){let s=i;t.currentTime=s,!t.state.canPlay&&["video/youtube"].includes(t.state.source.type)&&!t.state.autoPlay&&(await CF(t,"seeked"),await t.pause())}kn(e)&&t.state.canPlay&&!n&&await t.play(new Event("hashchange"))}function CF(t,e){return new Promise(n=>{let i=window.setTimeout(()=>{n(),r()},5e3),r=t.listen(e,()=>{n(),window.clearTimeout(i),r()})})}function Ur(){let t=Tp((e,n,i)=>({player:null,playerRef:r=>e({player:r}),source:void 0,hash:{autoplay:void 0,controls:void 0,loop:void 0,muted:void 0,tempFragment:null,volume:void 0},async getPlayer(r=1e4){let{player:s}=n();return s||new Promise((a,o)=>{let l=i.subscribe(({player:u})=>{u&&(l(),a(u),window.clearTimeout(c))}),c=window.setTimeout(()=>{l(),o(new ji(r))},r)})},setSource(r,{hash:s,enableWebview:a,title:o,type:l,textTracks:c}={}){e(u=>({source:{...u.source,type:l??u.source?.type,url:r,enableWebview:a??u.source?.enableWebview},textTracks:c??u.textTracks,hash:{...u.hash,...Cp(s||r.hash)},title:(o===!0?Hf(r.source.href):o)??u.title})),Tu(n())},setHash(r){e(s=>({hash:{...s.hash,...Cp(r)}})),Tu(n())},async loadFile(r,{vault:s,subpath:a,defaultLang:o}){let l=await OC(r,s,o);e(({source:c,hash:u})=>({source:{...c,url:gC(r,s)},textTracks:l,title:r.name,hash:a?{...u,...Cp(a)}:u})),await Tu(n())},title:"",transform:null,setTransform:r=>{e(r?s=>{let a={transform:{...s.transform,...r}};return a.transform.flipHorizontal&&a.transform.flipVertical&&a.transform.rotate==="180"&&(a.transform={...a.transform,flipHorizontal:!1,flipVertical:!1,rotate:void 0}),a}:{transform:null})},toggleControls(r){let{player:s}=n();e({controls:r}),s&&s.provider instanceof Rn&&s.provider.media.send("mx-toggle-controls",!r)},toggleWebFullscreen(r){let{player:s}=n();e({disableWebFullscreen:!r}),s&&s.provider instanceof Rn&&s.provider.media.send("mx-toggle-webfs",r)},textTracks:[],updateWebHost:r=>e({webHost:r==="generic"?void 0:r})}));return GC(t),t}var wt=(0,ni.createContext)(null);function Nt(t){let{store:e}=(0,ni.useContext)(wt);return Ly(e,t)}function Us(t){let{plugin:{settings:e}}=(0,ni.useContext)(wt);return Ly(e,t)}function Wf(){let{store:t}=(0,ni.useContext)(wt);return t}function YC(){return(0,ni.useContext)(wt).reload}function Kf(t){let e=(0,ni.useContext)(wt).plugin.app;return t?t(e):e}function QC(){return(0,ni.useContext)(wt).plugin}function XC(){return(0,ni.useContext)(wt).onScreenshot}var po=()=>(0,ni.useContext)(wt).embed;function Su(t,e){let n=jl,i=[()=>n(),t.subscribe((r,s)=>{if(r.player===s.player||(n(),!r.player))return;let a=e(r.player);a?Array.isArray(a)?n=()=>a.forEach(o=>o()):n=a:n=jl})];return()=>i.forEach(r=>r())}var SM=require("obsidian"),PM=$(z());var ZC=$(z());function JC(){let t=ki(),e=Wf();(0,ZC.useEffect)(()=>{if(t)return $F(t,e)},[t,e])}function $F(t,e){if(localStorage.getItem("MX_DEV_DISABLE_WEBVIEW_TEMP_FRAG")==="1"&&Mf(t.state.source.src)){console.log("DEV: temporal fragment handling in webpage disabled");return}let n={currentTime:t.state.currentTime,paused:t.state.paused,loop:t.state.loop},i=!1,r=[t.subscribe(({currentTime:s,paused:a,loop:o})=>{let l=MF(e.getState().hash.tempFragment,t.state.duration);if(!l||kn(l))return;let{start:c,end:u}=l;if(n.paused!==a&&!a)(s>u||su)if(o)t.currentTime=c,a&&t.play();else{if(i){i=!1;return}a||t.pause()}}Object.assign(n,{currentTime:s,paused:a,loop:o})})];return()=>r.forEach(s=>s())}function MF(t,e){if(!t)return null;if(kn(t))return t;let{start:n,end:i}=t;return e&&ea(s))?.classGroupId}var n$=/^\[(.+)\]$/;function LF(t){if(n$.test(t)){let e=n$.exec(t)[1],n=e?.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}}function IF(t){let{theme:e,prefix:n}=t,i={nextPart:new Map,validators:[]};return NF(Object.entries(t.classGroups),n).forEach(([s,a])=>{hb(a,i,s,e)}),i}function hb(t,e,n,i){t.forEach(r=>{if(typeof r=="string"){let s=r===""?e:i$(e,r);s.classGroupId=n;return}if(typeof r=="function"){if(AF(r)){hb(r(i),e,n,i);return}e.validators.push({validator:r,classGroupId:n});return}Object.entries(r).forEach(([s,a])=>{hb(a,i$(e,s),n,i)})})}function i$(t,e){let n=t;return e.split(fb).forEach(i=>{n.nextPart.has(i)||n.nextPart.set(i,{nextPart:new Map,validators:[]}),n=n.nextPart.get(i)}),n}function AF(t){return t.isThemeGetter}function NF(t,e){return e?t.map(([n,i])=>{let r=i.map(s=>typeof s=="string"?e+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([a,o])=>[e+a,o])):s);return[n,r]}):t}function DF(t){if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,i=new Map;function r(s,a){n.set(s,a),e++,e>t&&(e=0,i=n,n=new Map)}return{get(s){let a=n.get(s);if(a!==void 0)return a;if((a=i.get(s))!==void 0)return r(s,a),a},set(s,a){n.has(s)?n.set(s,a):r(s,a)}}}var s$="!";function OF(t){let e=t.separator,n=e.length===1,i=e[0],r=e.length;return function(a){let o=[],l=0,c=0,u;for(let v=0;vc?u-c:void 0;return{modifiers:o,hasImportantModifier:p,baseClassName:h,maybePostfixModifierPosition:y}}}function VF(t){if(t.length<=1)return t;let e=[],n=[];return t.forEach(i=>{i[0]==="["?(e.push(...n.sort(),i),n=[]):n.push(i)}),e.push(...n.sort()),e}function FF(t){return{cache:DF(t.cacheSize),splitModifiers:OF(t),...RF(t)}}var zF=/\s+/;function UF(t,e){let{splitModifiers:n,getClassGroupId:i,getConflictingClassGroupIds:r}=e,s=new Set;return t.trim().split(zF).map(a=>{let{modifiers:o,hasImportantModifier:l,baseClassName:c,maybePostfixModifierPosition:u}=n(a),d=i(u?c.substring(0,u):c),p=!!u;if(!d){if(!u)return{isTailwindClass:!1,originalClassName:a};if(d=i(c),!d)return{isTailwindClass:!1,originalClassName:a};p=!1}let h=VF(o).join(":");return{isTailwindClass:!0,modifierId:l?h+s$:h,classGroupId:d,originalClassName:a,hasPostfixModifier:p}}).reverse().filter(a=>{if(!a.isTailwindClass)return!0;let{modifierId:o,classGroupId:l,hasPostfixModifier:c}=a,u=o+l;return s.has(u)?!1:(s.add(u),r(l,c).forEach(d=>s.add(o+d)),!0)}).reverse().map(a=>a.originalClassName).join(" ")}function jF(){let t=0,e,n,i="";for(;td(u),t());return n=FF(c),i=n.cache.get,r=n.cache.set,s=o,o(l)}function o(l){let c=i(l);if(c)return c;let u=UF(l,n);return r(l,u),u}return function(){return s(jF.apply(null,arguments))}}function Te(t){let e=n=>n[t]||[];return e.isThemeGetter=!0,e}var o$=/^\[(?:([a-z-]+):)?(.+)\]$/i,qF=/^\d+\/\d+$/,BF=new Set(["px","full","screen"]),WF=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,KF=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,GF=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,YF=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,QF=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;function rr(t){return js(t)||BF.has(t)||qF.test(t)}function jr(t){return ho(t,"length",r5)}function js(t){return!!t&&!Number.isNaN(Number(t))}function Gf(t){return ho(t,"number",js)}function Pu(t){return!!t&&Number.isInteger(Number(t))}function XF(t){return t.endsWith("%")&&js(t.slice(0,-1))}function Q(t){return o$.test(t)}function Hr(t){return WF.test(t)}var ZF=new Set(["length","size","percentage"]);function JF(t){return ho(t,ZF,l$)}function e5(t){return ho(t,"position",l$)}var t5=new Set(["image","url"]);function n5(t){return ho(t,t5,a5)}function i5(t){return ho(t,"",s5)}function Cu(){return!0}function ho(t,e,n){let i=o$.exec(t);return i?i[1]?typeof e=="string"?i[1]===e:e.has(i[1]):n(i[2]):!1}function r5(t){return KF.test(t)&&!GF.test(t)}function l$(){return!1}function s5(t){return YF.test(t)}function a5(t){return QF.test(t)}function o5(){let t=Te("colors"),e=Te("spacing"),n=Te("blur"),i=Te("brightness"),r=Te("borderColor"),s=Te("borderRadius"),a=Te("borderSpacing"),o=Te("borderWidth"),l=Te("contrast"),c=Te("grayscale"),u=Te("hueRotate"),d=Te("invert"),p=Te("gap"),h=Te("gradientColorStops"),y=Te("gradientColorStopPositions"),v=Te("inset"),w=Te("margin"),m=Te("opacity"),f=Te("padding"),g=Te("saturate"),x=Te("scale"),T=Te("sepia"),L=Te("skew"),R=Te("space"),I=Te("translate"),K=()=>["auto","contain","none"],H=()=>["auto","hidden","clip","visible","scroll"],_e=()=>["auto",Q,e],J=()=>[Q,e],or=()=>["",rr,jr],Ce=()=>["auto",js,Q],bt=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Ci=()=>["solid","dashed","dotted","double","none"],Ho=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"],ts=()=>["start","end","center","between","around","evenly","stretch"],Vn=()=>["","0",Q],$i=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Qt=()=>[js,Gf],ns=()=>[js,Q];return{cacheSize:500,separator:":",theme:{colors:[Cu],spacing:[rr,jr],blur:["none","",Hr,Q],brightness:Qt(),borderColor:[t],borderRadius:["none","","full",Hr,Q],borderSpacing:J(),borderWidth:or(),contrast:Qt(),grayscale:Vn(),hueRotate:ns(),invert:Vn(),gap:J(),gradientColorStops:[t],gradientColorStopPositions:[XF,jr],inset:_e(),margin:_e(),opacity:Qt(),padding:J(),saturate:Qt(),scale:Qt(),sepia:Vn(),skew:ns(),space:J(),translate:J()},classGroups:{aspect:[{aspect:["auto","square","video",Q]}],container:["container"],columns:[{columns:[Hr]}],"break-after":[{"break-after":$i()}],"break-before":[{"break-before":$i()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...bt(),Q]}],overflow:[{overflow:H()}],"overflow-x":[{"overflow-x":H()}],"overflow-y":[{"overflow-y":H()}],overscroll:[{overscroll:K()}],"overscroll-x":[{"overscroll-x":K()}],"overscroll-y":[{"overscroll-y":K()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[v]}],"inset-x":[{"inset-x":[v]}],"inset-y":[{"inset-y":[v]}],start:[{start:[v]}],end:[{end:[v]}],top:[{top:[v]}],right:[{right:[v]}],bottom:[{bottom:[v]}],left:[{left:[v]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Pu,Q]}],basis:[{basis:_e()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Q]}],grow:[{grow:Vn()}],shrink:[{shrink:Vn()}],order:[{order:["first","last","none",Pu,Q]}],"grid-cols":[{"grid-cols":[Cu]}],"col-start-end":[{col:["auto",{span:["full",Pu,Q]},Q]}],"col-start":[{"col-start":Ce()}],"col-end":[{"col-end":Ce()}],"grid-rows":[{"grid-rows":[Cu]}],"row-start-end":[{row:["auto",{span:[Pu,Q]},Q]}],"row-start":[{"row-start":Ce()}],"row-end":[{"row-end":Ce()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Q]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Q]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...ts()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...ts(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...ts(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[f]}],px:[{px:[f]}],py:[{py:[f]}],ps:[{ps:[f]}],pe:[{pe:[f]}],pt:[{pt:[f]}],pr:[{pr:[f]}],pb:[{pb:[f]}],pl:[{pl:[f]}],m:[{m:[w]}],mx:[{mx:[w]}],my:[{my:[w]}],ms:[{ms:[w]}],me:[{me:[w]}],mt:[{mt:[w]}],mr:[{mr:[w]}],mb:[{mb:[w]}],ml:[{ml:[w]}],"space-x":[{"space-x":[R]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[R]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Q,e]}],"min-w":[{"min-w":[Q,e,"min","max","fit"]}],"max-w":[{"max-w":[Q,e,"none","full","min","max","fit","prose",{screen:[Hr]},Hr]}],h:[{h:[Q,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Q,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Q,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Q,e,"auto","min","max","fit"]}],"font-size":[{text:["base",Hr,jr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Gf]}],"font-family":[{font:[Cu]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Q]}],"line-clamp":[{"line-clamp":["none",js,Gf]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",rr,Q]}],"list-image":[{"list-image":["none",Q]}],"list-style-type":[{list:["none","disc","decimal",Q]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[m]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[m]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ci(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",rr,jr]}],"underline-offset":[{"underline-offset":["auto",rr,Q]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:J()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[m]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...bt(),e5]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",JF]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},n5]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[h]}],"gradient-via":[{via:[h]}],"gradient-to":[{to:[h]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[o]}],"border-w-x":[{"border-x":[o]}],"border-w-y":[{"border-y":[o]}],"border-w-s":[{"border-s":[o]}],"border-w-e":[{"border-e":[o]}],"border-w-t":[{"border-t":[o]}],"border-w-r":[{"border-r":[o]}],"border-w-b":[{"border-b":[o]}],"border-w-l":[{"border-l":[o]}],"border-opacity":[{"border-opacity":[m]}],"border-style":[{border:[...Ci(),"hidden"]}],"divide-x":[{"divide-x":[o]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[o]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[m]}],"divide-style":[{divide:Ci()}],"border-color":[{border:[r]}],"border-color-x":[{"border-x":[r]}],"border-color-y":[{"border-y":[r]}],"border-color-t":[{"border-t":[r]}],"border-color-r":[{"border-r":[r]}],"border-color-b":[{"border-b":[r]}],"border-color-l":[{"border-l":[r]}],"divide-color":[{divide:[r]}],"outline-style":[{outline:["",...Ci()]}],"outline-offset":[{"outline-offset":[rr,Q]}],"outline-w":[{outline:[rr,jr]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:or()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[m]}],"ring-offset-w":[{"ring-offset":[rr,jr]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",Hr,i5]}],"shadow-color":[{shadow:[Cu]}],opacity:[{opacity:[m]}],"mix-blend":[{"mix-blend":Ho()}],"bg-blend":[{"bg-blend":Ho()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[i]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",Hr,Q]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[g]}],sepia:[{sepia:[T]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[i]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[m]}],"backdrop-saturate":[{"backdrop-saturate":[g]}],"backdrop-sepia":[{"backdrop-sepia":[T]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Q]}],duration:[{duration:ns()}],ease:[{ease:["linear","in","out","in-out",Q]}],delay:[{delay:ns()}],animate:[{animate:["none","spin","ping","pulse","bounce",Q]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[x]}],"scale-x":[{"scale-x":[x]}],"scale-y":[{"scale-y":[x]}],rotate:[{rotate:[Pu,Q]}],"translate-x":[{"translate-x":[I]}],"translate-y":[{"translate-y":[I]}],"skew-x":[{"skew-x":[L]}],"skew-y":[{"skew-y":[L]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Q]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Q]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":J()}],"scroll-mx":[{"scroll-mx":J()}],"scroll-my":[{"scroll-my":J()}],"scroll-ms":[{"scroll-ms":J()}],"scroll-me":[{"scroll-me":J()}],"scroll-mt":[{"scroll-mt":J()}],"scroll-mr":[{"scroll-mr":J()}],"scroll-mb":[{"scroll-mb":J()}],"scroll-ml":[{"scroll-ml":J()}],"scroll-p":[{"scroll-p":J()}],"scroll-px":[{"scroll-px":J()}],"scroll-py":[{"scroll-py":J()}],"scroll-ps":[{"scroll-ps":J()}],"scroll-pe":[{"scroll-pe":J()}],"scroll-pt":[{"scroll-pt":J()}],"scroll-pr":[{"scroll-pr":J()}],"scroll-pb":[{"scroll-pb":J()}],"scroll-pl":[{"scroll-pl":J()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Q]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[rr,jr,Gf]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}var c$=HF(o5);function In(...t){return c$(t$(t))}var u$=$(z());function d$(t){let e=ki();(0,u$.useEffect)(()=>{if(e)return e.listen("loaded-metadata",n=>{let i=n.target;if(!io(i.provider)){t("unknown");return}let{videoHeight:r,videoWidth:s}=i.provider.video;t(r===0||s===0?"audio":"unknown")})},[e])}var Yf=$(z());function Qf(){let{controls:t}=mb(),e=Nt(r=>r.controls);return e===void 0&&t===void 0?!0:e||t}function mb(){let{volume:t,tempFragment:e,...n}=Nt(i=>i.hash);return n}function p$(){let t=ki(),{volume:e}=Nt(s=>s.hash),n=Us(s=>s.defaultVolume/100),i=e??n,r=(0,Yf.useRef)(i);r.current=i,(0,Yf.useEffect)(()=>t?.subscribe(({canPlay:s})=>{s&&(t.volume=r.current)}),[t])}function Ke(){return Ke=Object.assign?Object.assign.bind():function(t){for(var e=1;et.forEach(n=>l5(n,e))}function Ti(...t){return(0,h$.useCallback)(gb(...t),t)}var ii=$(z(),1);function qr(t,e=[]){let n=[];function i(s,a){let o=(0,ii.createContext)(a),l=n.length;n=[...n,a];function c(d){let{scope:p,children:h,...y}=d,v=p?.[t][l]||o,w=(0,ii.useMemo)(()=>y,Object.values(y));return(0,ii.createElement)(v.Provider,{value:w},h)}function u(d,p){let h=p?.[t][l]||o,y=(0,ii.useContext)(h);if(y)return y;if(a!==void 0)return a;throw new Error(`\`${d}\` must be used within \`${s}\``)}return c.displayName=s+"Provider",[c,u]}let r=()=>{let s=n.map(a=>(0,ii.createContext)(a));return function(o){let l=o?.[t]||s;return(0,ii.useMemo)(()=>({[`__scope${t}`]:{...o,[t]:l}}),[o,l])}};return r.scopeName=t,[i,c5(r,...e)]}function c5(...t){let e=t[0];if(t.length===1)return e;let n=()=>{let i=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(s){let a=i.reduce((o,{useScope:l,scopeName:c})=>{let d=l(s)[`__scope${c}`];return{...o,...d}},{});return(0,ii.useMemo)(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var mo=$(z(),1),h5=$(Fl(),1);var Ne=$(z(),1);var fo=(0,Ne.forwardRef)((t,e)=>{let{children:n,...i}=t,r=Ne.Children.toArray(n),s=r.find(d5);if(s){let a=s.props.children,o=r.map(l=>l===s?Ne.Children.count(a)>1?Ne.Children.only(null):(0,Ne.isValidElement)(a)?a.props.children:null:l);return(0,Ne.createElement)(vb,Ke({},i,{ref:e}),(0,Ne.isValidElement)(a)?(0,Ne.cloneElement)(a,void 0,o):null)}return(0,Ne.createElement)(vb,Ke({},i,{ref:e}),n)});fo.displayName="Slot";var vb=(0,Ne.forwardRef)((t,e)=>{let{children:n,...i}=t;return(0,Ne.isValidElement)(n)?(0,Ne.cloneElement)(n,{...p5(i,n.props),ref:e?gb(e,n.ref):n.ref}):Ne.Children.count(n)>1?Ne.Children.only(null):null});vb.displayName="SlotClone";var u5=({children:t})=>(0,Ne.createElement)(Ne.Fragment,null,t);function d5(t){return(0,Ne.isValidElement)(t)&&t.type===u5}function p5(t,e){let n={...e};for(let i in e){let r=t[i],s=e[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{s(...o),r(...o)}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...t,...n}}var f5=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],$u=f5.reduce((t,e)=>{let n=(0,mo.forwardRef)((i,r)=>{let{asChild:s,...a}=i,o=s?fo:e;return(0,mo.useEffect)(()=>{window[Symbol.for("radix-ui")]=!0},[]),(0,mo.createElement)(o,Ke({},a,{ref:r}))});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});var go=$(z(),1);function yb(t){let e=(0,go.useRef)(t);return(0,go.useEffect)(()=>{e.current=t}),(0,go.useMemo)(()=>(...n)=>{var i;return(i=e.current)===null||i===void 0?void 0:i.call(e,...n)},[])}var f$=$(z(),1),m$=globalThis?.document?f$.useLayoutEffect:()=>{};var Mu=$(z(),1);var g$=$(z(),1);function v$(t){let[e,n]=(0,g$.useState)(void 0);return m$(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});let i=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;let s=r[0],a,o;if("borderBoxSize"in s){let l=s.borderBoxSize,c=Array.isArray(l)?l[0]:l;a=c.inlineSize,o=c.blockSize}else a=t.offsetWidth,o=t.offsetHeight;n({width:a,height:o})});return i.observe(t,{box:"border-box"}),()=>i.unobserve(t)}else n(void 0)},[t]),e}var y$="Popper",[_$,_b]=qr(y$),[EH,TH]=_$(y$);var m5="PopperContent",[SH,PH]=_$(m5);var Br=$(z(),1);function w$({prop:t,defaultProp:e,onChange:n=()=>{}}){let[i,r]=g5({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:i,o=yb(n),l=(0,Br.useCallback)(c=>{if(s){let d=typeof c=="function"?c(t):c;d!==t&&o(d)}else r(c)},[s,t,r,o]);return[a,l]}function g5({defaultProp:t,onChange:e}){let n=(0,Br.useState)(t),[i]=n,r=(0,Br.useRef)(i),s=yb(e);return(0,Br.useEffect)(()=>{r.current!==i&&(s(i),r.current=i)},[i,r,s]),n}var[Xf,VH]=qr("Tooltip",[_b]),FH=_b(),v5="TooltipProvider",y5=700;var[_5,zH]=Xf(v5),w5=t=>{let{__scopeTooltip:e,delayDuration:n=y5,skipDelayDuration:i=300,disableHoverableContent:r=!1,children:s}=t,[a,o]=(0,Dt.useState)(!0),l=(0,Dt.useRef)(!1),c=(0,Dt.useRef)(0);return(0,Dt.useEffect)(()=>{let u=c.current;return()=>window.clearTimeout(u)},[]),(0,Dt.createElement)(_5,{scope:e,isOpenDelayed:a,delayDuration:n,onOpen:(0,Dt.useCallback)(()=>{window.clearTimeout(c.current),o(!1)},[]),onClose:(0,Dt.useCallback)(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o(!0),i)},[i]),isPointerInTransitRef:l,onPointerInTransitChange:(0,Dt.useCallback)(u=>{l.current=u},[]),disableHoverableContent:r},s)},b$="Tooltip",[UH,jH]=Xf(b$);var b5="TooltipPortal",[HH,qH]=Xf(b5,{forceMount:void 0});var[BH,WH]=Xf(b$,{isInside:!1});var Zf=w5;var tm=$(z());var S$=require("obsidian"),em=$(z()),F$=$(ae());function C5(t){let e=(0,em.useRef)(null);return[(0,em.useCallback)(i=>{e.current&&e.current.empty(),i&&(0,S$.setIcon)(i,t),e.current=i},[t])]}function Ve(t){return function(n){let[i]=C5(t);return(0,F$.jsx)("div",{ref:i,...n})}}var P$=Ve("play"),C$=Ve("pause"),ZH=Ve("volume"),$$=Ve("volume-1"),M$=Ve("volume-2"),R$=Ve("volume-x"),L$=Ve("maximize"),I$=Ve("minimize"),$5=Ve("picture-in-picture-2"),M5=Ve("picture-in-picture"),wb=Ve("subtitles"),JH=Ve("check-circle"),eq=Ve("circle"),A$=Ve("fast-forward"),N$=Ve("rewind"),D$=Ve("edit"),O$=Ve("image-down"),R5=Ve("pin"),V$=Ve("more-horizontal"),tq=Ve("plus"),nq=Ve("trash");var Qe=$(ae()),Ru="group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden";function nm(){let t=ye("paused");return(0,Qe.jsx)(ff,{className:Ru,"aria-label":t?"Play":"Pause",children:t?(0,Qe.jsx)(P$,{className:"w-7 h-7 translate-x-px"}):(0,Qe.jsx)(C$,{className:"w-7 h-7"})})}function z$({seconds:t}){return(0,Qe.jsx)(lu,{className:Ru,seconds:t,"aria-label":`Fast forward ${t}s`,children:(0,Qe.jsx)(A$,{className:"w-7 h-7"})})}function U$({seconds:t}){return(0,Qe.jsx)(lu,{className:Ru,seconds:-t,"aria-label":`Rewind ${t}s`,children:(0,Qe.jsx)(N$,{className:"w-7 h-7"})})}function im(){let t=ye("volume"),e=ye("muted");return(0,Qe.jsx)(gf,{className:Ru,"aria-label":e?"Unmute":"Mute",children:e||t==0?(0,Qe.jsx)(R$,{className:"w-7 h-7"}):t<.5?(0,Qe.jsx)($$,{className:"w-7 h-7"}):(0,Qe.jsx)(M$,{className:"w-7 h-7"})})}function j$(){let t=ye("fullscreen");return(0,Qe.jsx)(mf,{className:Ru,"aria-label":t?"Exit fullscreen":"Enter fullscreen",children:t?(0,Qe.jsx)(I$,{className:"w-7 h-7"}):(0,Qe.jsx)(L$,{className:"w-7 h-7"})})}function rm(){return po()?(0,Qe.jsx)("button",{className:In("mx-lp-edit","group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden"),onClick:()=>{},[Wr]:!0,"aria-label":"Edit in editor",children:(0,Qe.jsx)(D$,{className:"w-7 h-7"})}):null}function L5(){let t=T1(),[e,n]=(0,tm.useState)(()=>zs(t)),i=XC(),r=Us(a=>a.screenshotFormat),s=Us(a=>a.screenshotQuality);return(0,tm.useEffect)(()=>{n(zs(t))},[t]),!e||!i||!t?null:async()=>{i(await wu(t,r,s))}}function H$(){let t=L5();return t?(0,Qe.jsx)("button",{className:"group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden",onClick:t,"aria-label":"Capture screenshot",children:(0,Qe.jsx)(O$,{className:"w-7 h-7"})}):null}var Wr="data-lp-pass-through";function ut(t,e){let n=Object.keys(e).map(i=>I5(t,i,e[i]));return n.length===1?n[0]:function(){n.forEach(i=>i())}}function I5(t,e,n){let i=t[e],r=t.hasOwnProperty(e),s=n(i);return i&&Object.setPrototypeOf(s,i),Object.setPrototypeOf(a,s),t[e]=a,o;function a(...l){return s===i&&t[e]===a&&o(),s.apply(this,l)}function o(){t[e]===a&&(r?t[e]=i:delete t[e]),s!==i&&(s=i,Object.setPrototypeOf(a,i||Function))}}var B$=require("obsidian"),W$=$(z());var Lu=$(ae());function K$(t){let e=(0,W$.useRef)(null);return n=>{e.current?.close(),e.current=null;let i=new B$.Menu;t(i)?(Qs(n.nativeEvent,i),n.nativeEvent.stopImmediatePropagation(),ut(i,{close:r=>function(...s){return e.current===this&&(e.current=null),r.call(this,...s)}}),e.current=i):i.close()}}function G$(){let t=Bw(),e=ye("textTracks"),n=K$(i=>(t.forEach(({label:r,select:s,selected:a},o,l)=>{i.addItem(c=>{l.length===2&&r==="Unknown"&&(r="On"),c.setTitle(r).setChecked(a).onClick(s)})}),!0));return e.length===0?null:(0,Lu.jsx)("button",{className:"group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden",[Wr]:!0,onClick:n,"aria-label":"Select Caption",children:(0,Lu.jsx)(wb,{className:"w-7 h-7"})})}function sm(){let t=ki(),e=Kf(l=>l.workspace),n=QC(),i=po(),r=YC(),s=Nt(l=>l.source?.url),a=Wf(),o=K$(l=>{if(!t||!s)return!1;let{toggleControls:c,controls:u,setTransform:d,transform:p,disableWebFullscreen:h,toggleWebFullscreen:y}=a.getState();return e.trigger("mx-media-menu",l,{player:t,reload:r,source:s,toggleControls:c,controls:u,setTransform:d,transform:p,plugin:n,disableWebFullscreen:h,toggleWebFullscreen:y},i?"player-menu-embed":"player-menu-view"),!0});return!t||!s?null:(0,Lu.jsx)("button",{className:"group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden",[Wr]:!0,onClick:o,"aria-label":"More options",children:(0,Lu.jsx)(V$,{className:"w-7 h-7"})})}var cm=$(z());var B=$(z(),1);function bb(t,[e,n]){return Math.min(n,Math.max(e,t))}var Iu=$(z(),1),A5=(0,Iu.createContext)(void 0);function Q$(t){let e=(0,Iu.useContext)(A5);return t||e||"ltr"}var am=$(z(),1);function X$(t){let e=(0,am.useRef)({value:t,previous:t});return(0,am.useMemo)(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var ri=$(z(),1);function Z$(t){let e=t+"CollectionProvider",[n,i]=qr(e),[r,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=h=>{let{scope:y,children:v}=h,w=ri.default.useRef(null),m=ri.default.useRef(new Map).current;return ri.default.createElement(r,{scope:y,itemMap:m,collectionRef:w},v)},o=t+"CollectionSlot",l=ri.default.forwardRef((h,y)=>{let{scope:v,children:w}=h,m=s(o,v),f=Ti(y,m.collectionRef);return ri.default.createElement(fo,{ref:f},w)}),c=t+"CollectionItemSlot",u="data-radix-collection-item",d=ri.default.forwardRef((h,y)=>{let{scope:v,children:w,...m}=h,f=ri.default.useRef(null),g=Ti(y,f),x=s(c,v);return ri.default.useEffect(()=>(x.itemMap.set(f,{ref:f,...m}),()=>void x.itemMap.delete(f))),ri.default.createElement(fo,{[u]:"",ref:g},w)});function p(h){let y=s(t+"CollectionConsumer",h);return ri.default.useCallback(()=>{let w=y.collectionRef.current;if(!w)return[];let m=Array.from(w.querySelectorAll(`[${u}]`));return Array.from(y.itemMap.values()).sort((x,T)=>m.indexOf(x.ref.current)-m.indexOf(T.ref.current))},[y.collectionRef,y.itemMap])}return[{Provider:a,Slot:l,ItemSlot:d},p,i]}var tM=["PageUp","PageDown"],nM=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],iM={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Au="Slider",[xb,N5,D5]=Z$(Au),[rM,zq]=qr(Au,[D5]),[O5,om]=rM(Au),V5=(0,B.forwardRef)((t,e)=>{let{name:n,min:i=0,max:r=100,step:s=1,orientation:a="horizontal",disabled:o=!1,minStepsBetweenThumbs:l=0,defaultValue:c=[i],value:u,onValueChange:d=()=>{},onValueCommit:p=()=>{},inverted:h=!1,...y}=t,[v,w]=(0,B.useState)(null),m=Ti(e,Ce=>w(Ce)),f=(0,B.useRef)(new Set),g=(0,B.useRef)(0),x=a==="horizontal",T=v?!!v.closest("form"):!0,L=x?F5:z5,[R=[],I]=w$({prop:u,defaultProp:c,onChange:Ce=>{var bt;(bt=[...f.current][g.current])===null||bt===void 0||bt.focus(),d(Ce)}}),K=(0,B.useRef)(R);function H(Ce){let bt=Y5(R,Ce);or(Ce,bt)}function _e(Ce){or(Ce,g.current)}function J(){let Ce=K.current[g.current];R[g.current]!==Ce&&p(R)}function or(Ce,bt,{commit:Ci}={commit:!1}){let Ho=J5(s),ts=e4(Math.round((Ce-i)/s)*s+i,Ho),Vn=bb(ts,[i,r]);I(($i=[])=>{let Qt=K5($i,Vn,bt);if(Z5(Qt,l*s)){g.current=Qt.indexOf(Vn);let ns=String(Qt)!==String($i);return ns&&Ci&&p(Qt),ns?Qt:$i}else return $i})}return(0,B.createElement)(O5,{scope:t.__scopeSlider,disabled:o,min:i,max:r,valueIndexToChangeRef:g,thumbs:f.current,values:R,orientation:a},(0,B.createElement)(xb.Provider,{scope:t.__scopeSlider},(0,B.createElement)(xb.Slot,{scope:t.__scopeSlider},(0,B.createElement)(L,Ke({"aria-disabled":o,"data-disabled":o?"":void 0},y,{ref:m,onPointerDown:Hs(y.onPointerDown,()=>{o||(K.current=R)}),min:i,max:r,inverted:h,onSlideStart:o?void 0:H,onSlideMove:o?void 0:_e,onSlideEnd:o?void 0:J,onHomeKeyDown:()=>!o&&or(i,0,{commit:!0}),onEndKeyDown:()=>!o&&or(r,R.length-1,{commit:!0}),onStepKeyDown:({event:Ce,direction:bt})=>{if(!o){let ts=tM.includes(Ce.key)||Ce.shiftKey&&nM.includes(Ce.key)?10:1,Vn=g.current,$i=R[Vn],Qt=s*ts*bt;or($i+Qt,Vn,{commit:!0})}}})))),T&&R.map((Ce,bt)=>(0,B.createElement)(W5,{key:bt,name:n?n+(R.length>1?"[]":""):void 0,value:Ce})))}),[sM,aM]=rM(Au,{startEdge:"left",endEdge:"right",size:"width",direction:1}),F5=(0,B.forwardRef)((t,e)=>{let{min:n,max:i,dir:r,inverted:s,onSlideStart:a,onSlideMove:o,onSlideEnd:l,onStepKeyDown:c,...u}=t,[d,p]=(0,B.useState)(null),h=Ti(e,g=>p(g)),y=(0,B.useRef)(),v=Q$(r),w=v==="ltr",m=w&&!s||!w&&s;function f(g){let x=y.current||d.getBoundingClientRect(),T=[0,x.width],R=kb(T,m?[n,i]:[i,n]);return y.current=x,R(g-x.left)}return(0,B.createElement)(sM,{scope:t.__scopeSlider,startEdge:m?"left":"right",endEdge:m?"right":"left",direction:m?1:-1,size:"width"},(0,B.createElement)(oM,Ke({dir:v,"data-orientation":"horizontal"},u,{ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:g=>{let x=f(g.clientX);a?.(x)},onSlideMove:g=>{let x=f(g.clientX);o?.(x)},onSlideEnd:()=>{y.current=void 0,l?.()},onStepKeyDown:g=>{let T=iM[m?"from-left":"from-right"].includes(g.key);c?.({event:g,direction:T?-1:1})}})))}),z5=(0,B.forwardRef)((t,e)=>{let{min:n,max:i,inverted:r,onSlideStart:s,onSlideMove:a,onSlideEnd:o,onStepKeyDown:l,...c}=t,u=(0,B.useRef)(null),d=Ti(e,u),p=(0,B.useRef)(),h=!r;function y(v){let w=p.current||u.current.getBoundingClientRect(),m=[0,w.height],g=kb(m,h?[i,n]:[n,i]);return p.current=w,g(v-w.top)}return(0,B.createElement)(sM,{scope:t.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1},(0,B.createElement)(oM,Ke({"data-orientation":"vertical"},c,{ref:d,style:{...c.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:v=>{let w=y(v.clientY);s?.(w)},onSlideMove:v=>{let w=y(v.clientY);a?.(w)},onSlideEnd:()=>{p.current=void 0,o?.()},onStepKeyDown:v=>{let m=iM[h?"from-bottom":"from-top"].includes(v.key);l?.({event:v,direction:m?-1:1})}})))}),oM=(0,B.forwardRef)((t,e)=>{let{__scopeSlider:n,onSlideStart:i,onSlideMove:r,onSlideEnd:s,onHomeKeyDown:a,onEndKeyDown:o,onStepKeyDown:l,...c}=t,u=om(Au,n);return(0,B.createElement)($u.span,Ke({},c,{ref:e,onKeyDown:Hs(t.onKeyDown,d=>{d.key==="Home"?(a(d),d.preventDefault()):d.key==="End"?(o(d),d.preventDefault()):tM.concat(nM).includes(d.key)&&(l(d),d.preventDefault())}),onPointerDown:Hs(t.onPointerDown,d=>{let p=d.target;p.setPointerCapture(d.pointerId),d.preventDefault(),u.thumbs.has(p)?p.focus():i(d)}),onPointerMove:Hs(t.onPointerMove,d=>{d.target.hasPointerCapture(d.pointerId)&&r(d)}),onPointerUp:Hs(t.onPointerUp,d=>{let p=d.target;p.hasPointerCapture(d.pointerId)&&(p.releasePointerCapture(d.pointerId),s(d))})}))}),U5="SliderTrack",j5=(0,B.forwardRef)((t,e)=>{let{__scopeSlider:n,...i}=t,r=om(U5,n);return(0,B.createElement)($u.span,Ke({"data-disabled":r.disabled?"":void 0,"data-orientation":r.orientation},i,{ref:e}))}),J$="SliderRange",H5=(0,B.forwardRef)((t,e)=>{let{__scopeSlider:n,...i}=t,r=om(J$,n),s=aM(J$,n),a=(0,B.useRef)(null),o=Ti(e,a),l=r.values.length,c=r.values.map(p=>lM(p,r.min,r.max)),u=l>1?Math.min(...c):0,d=100-Math.max(...c);return(0,B.createElement)($u.span,Ke({"data-orientation":r.orientation,"data-disabled":r.disabled?"":void 0},i,{ref:o,style:{...t.style,[s.startEdge]:u+"%",[s.endEdge]:d+"%"}}))}),eM="SliderThumb",q5=(0,B.forwardRef)((t,e)=>{let n=N5(t.__scopeSlider),[i,r]=(0,B.useState)(null),s=Ti(e,o=>r(o)),a=(0,B.useMemo)(()=>i?n().findIndex(o=>o.ref.current===i):-1,[n,i]);return(0,B.createElement)(B5,Ke({},t,{ref:s,index:a}))}),B5=(0,B.forwardRef)((t,e)=>{let{__scopeSlider:n,index:i,...r}=t,s=om(eM,n),a=aM(eM,n),[o,l]=(0,B.useState)(null),c=Ti(e,w=>l(w)),u=v$(o),d=s.values[i],p=d===void 0?0:lM(d,s.min,s.max),h=G5(i,s.values.length),y=u?.[a.size],v=y?Q5(y,p,a.direction):0;return(0,B.useEffect)(()=>{if(o)return s.thumbs.add(o),()=>{s.thumbs.delete(o)}},[o,s.thumbs]),(0,B.createElement)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[a.startEdge]:`calc(${p}% + ${v}px)`}},(0,B.createElement)(xb.ItemSlot,{scope:t.__scopeSlider},(0,B.createElement)($u.span,Ke({role:"slider","aria-label":t["aria-label"]||h,"aria-valuemin":s.min,"aria-valuenow":d,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,tabIndex:s.disabled?void 0:0},r,{ref:c,style:d===void 0?{display:"none"}:t.style,onFocus:Hs(t.onFocus,()=>{s.valueIndexToChangeRef.current=i})}))))}),W5=t=>{let{value:e,...n}=t,i=(0,B.useRef)(null),r=X$(e);return(0,B.useEffect)(()=>{let s=i.current,a=window.HTMLInputElement.prototype,l=Object.getOwnPropertyDescriptor(a,"value").set;if(r!==e&&l){let c=new Event("input",{bubbles:!0});l.call(s,e),s.dispatchEvent(c)}},[r,e]),(0,B.createElement)("input",Ke({style:{display:"none"}},n,{ref:i,defaultValue:e}))};function K5(t=[],e,n){let i=[...t];return i[n]=e,i.sort((r,s)=>r-s)}function lM(t,e,n){let s=100/(n-e)*(t-e);return bb(s,[0,100])}function G5(t,e){return e>2?`Value ${t+1} of ${e}`:e===2?["Minimum","Maximum"][t]:void 0}function Y5(t,e){if(t.length===1)return 0;let n=t.map(r=>Math.abs(r-e)),i=Math.min(...n);return n.indexOf(i)}function Q5(t,e,n){let i=t/2,s=kb([0,50],[0,i]);return(i-s(e)*n)*n}function X5(t){return t.slice(0,-1).map((e,n)=>t[n+1]-e)}function Z5(t,e){if(e>0){let n=X5(t);return Math.min(...n)>=e}return!0}function kb(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];let i=(e[1]-e[0])/(t[1]-t[0]);return e[0]+i*(n-t[0])}}function J5(t){return(String(t).split(".")[1]||"").length}function e4(t,e){let n=Math.pow(10,e);return Math.round(t*n)/n}var Eb=V5,cM=j5,uM=H5,dM=q5;var pM=$(z());var vo=$(ae()),lm=pM.forwardRef(({className:t,variant:e="regular",autoHidden:n,children:i,...r},s)=>(0,vo.jsxs)(Eb,{ref:s,className:In("group relative flex w-full touch-none select-none items-center",t),...r,children:[(0,vo.jsx)(cM,{className:"relative h-slider-track w-full grow overflow-hidden rounded-sm bg-slider-track",children:(0,vo.jsx)(uM,{className:"absolute h-full bg-ia-accent rounded-sm will-change-[width]"})}),(0,vo.jsx)(dM,{className:In("block rounded-slider-thumb border-width-slider-thumb border-slider-thumb bg-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mod-border-focus disabled:pointer-events-none disabled:opacity-50 transition-opacity will-change-[left]",e==="regular"?"h-slider-thumb w-slider-thumb":"h-slider-thumb-sm w-slider-thumb-sm",n&&"opacity-0 group-hocus:opacity-100 focus:opacity-100")}),i]}));lm.displayName=Eb.displayName;var Kr=$(ae());function um(){let t=ye("volume"),e=ye("canSetVolume"),n=kf();return e?(0,Kr.jsx)(lm,{className:"group relative inline-flex h-10 w-full max-w-[80px] cursor-pointer touch-none select-none items-center outline-none",value:[t*100],onValueChange:([i])=>{n.changeVolume(i/100)},"aria-label":"Volume",autoHidden:!0}):null}function dm({thumbnails:t}){let e=ye("currentTime"),n=ye("canSeek"),i=ye("duration"),r=ye("seeking"),s=kf(),a=1/i*100,[o,l]=(0,cm.useState)(0),{previewRootRef:c,previewRef:u,previewValue:d}=S1({clamp:!0,offset:6,orientation:"horizontal"}),p=d/100*i;return(0,cm.useEffect)(()=>{r||l(e/i*100)},[e,i,r]),(0,Kr.jsx)(lm,{className:"group relative inline-flex h-9 w-full cursor-pointer touch-none select-none items-center outline-none",value:[o],disabled:!n,step:Number.isFinite(a)?a:1,ref:c,onValueChange:([h])=>{l(h),s.seeking(h/100*i)},onValueCommit:([h])=>{s.seek(h/100*i)},autoHidden:!0,"aria-label":"Current Time",children:(0,Kr.jsxs)("div",{className:"flex flex-col items-center absolute opacity-0 data-[visible]:opacity-100 transition-opacity duration-200 will-change-[left] pointer-events-none",ref:u,children:[t?(0,Kr.jsx)(vf.Root,{src:t,time:p,className:"block mb-2 h-[var(--thumbnail-height)] max-h-[160px] min-h-[80px] w-[var(--thumbnail-width)] min-w-[120px] max-w-[180px] overflow-hidden border border-white bg-black",children:(0,Kr.jsx)(vf.Img,{})}):null,(0,Kr.jsx)("span",{className:"text-[13px]",children:Fr(p)})]})})}var yo=$(ae());function pm(){return(0,yo.jsxs)("div",{className:"ml-2.5 flex items-center text-sm font-medium",children:[(0,yo.jsx)(cu,{className:"time",type:"current"}),(0,yo.jsx)("div",{className:"mx-1 text-white/80",children:"/"}),(0,yo.jsx)(cu,{className:"time",type:"duration"})]})}var Nu=$(ae());function hm(){let t=ye("title").trim(),e=wf().trim();return!t&&!e?null:(0,Nu.jsxs)("span",{className:"inline-block flex-1 overflow-hidden text-ellipsis whitespace-nowrap px-2 text-sm font-medium text-white/70",children:[(0,Nu.jsx)("span",{className:"mr-1",children:"|"}),(0,Nu.jsx)("span",{children:e||t})]})}var fe=$(ae());function fM({thumbnails:t}){return(0,fe.jsxs)(fe.Fragment,{children:[(0,fe.jsx)(n4,{}),(0,fe.jsx)(tr.Root,{className:"opacity-100 absolute inset-0 z-10 flex h-full w-full flex-col bg-gradient-to-t from-black/10 to-transparent",children:(0,fe.jsxs)(Zf,{children:[(0,fe.jsx)("div",{className:"flex-1"}),(0,fe.jsx)(tr.Group,{className:"flex w-full items-center px-2",children:(0,fe.jsx)(dm,{thumbnails:t})}),(0,fe.jsxs)(tr.Group,{className:"-mt-0.5 flex w-full items-center px-2 pb-2",children:[(0,fe.jsx)(U$,{seconds:30}),(0,fe.jsx)(nm,{}),(0,fe.jsx)(z$,{seconds:30}),(0,fe.jsx)(im,{}),(0,fe.jsx)(um,{}),(0,fe.jsx)(pm,{}),(0,fe.jsx)(hm,{}),(0,fe.jsx)("div",{className:"flex-1"}),(0,fe.jsx)(rm,{}),(0,fe.jsx)(sm,{})]})]})})]})}function n4(){return(0,fe.jsxs)(fe.Fragment,{children:[(0,fe.jsx)($n,{className:"absolute inset-0 z-0 block h-full w-full",event:"pointerup",action:"toggle:paused"}),(0,fe.jsx)($n,{className:"absolute inset-0 z-0 block h-full w-full",event:"dblpointerup",action:"toggle:fullscreen"}),(0,fe.jsx)($n,{className:"absolute left-0 top-0 z-10 block h-full w-1/5",event:"dblpointerup",action:"seek:-10"}),(0,fe.jsx)($n,{className:"absolute right-0 top-0 z-10 block h-full w-1/5",event:"dblpointerup",action:"seek:10"})]})}var ue=$(ae());function mM({thumbnails:t}){return(0,ue.jsxs)(ue.Fragment,{children:[(0,ue.jsx)(i4,{}),(0,ue.jsx)(bf,{className:"mx-captions media-preview:opacity-0 media-controls:bottom-[85px] media-captions:opacity-100 absolute inset-0 bottom-2 z-10 select-none break-words opacity-0 transition-[opacity,bottom] duration-300"}),(0,ue.jsx)(tr.Root,{className:"media-controls:opacity-100 not-media-can-load:opacity-100 absolute inset-0 z-10 flex h-full w-full flex-col bg-gradient-to-t from-black/10 to-transparent opacity-0 transition-opacity",children:(0,ue.jsxs)(Zf,{children:[(0,ue.jsx)("div",{className:"flex-1"}),(0,ue.jsx)(tr.Group,{className:"flex w-full items-center px-2",children:(0,ue.jsx)(dm,{thumbnails:t})}),(0,ue.jsxs)(tr.Group,{className:"-mt-0.5 flex w-full items-center px-2 pb-2",children:[(0,ue.jsx)(nm,{}),(0,ue.jsx)(im,{}),(0,ue.jsx)(um,{}),(0,ue.jsx)(pm,{}),(0,ue.jsx)(hm,{}),(0,ue.jsx)("div",{className:"flex-1"}),(0,ue.jsx)(G$,{}),(0,ue.jsx)(H$,{}),(0,ue.jsx)(j$,{}),(0,ue.jsx)(rm,{}),(0,ue.jsx)(sm,{})]})]})})]})}function i4(){return(0,ue.jsxs)(ue.Fragment,{children:[(0,ue.jsx)($n,{className:"absolute inset-0 z-0 block h-full w-full",event:"pointerup",action:"toggle:paused"}),(0,ue.jsx)($n,{className:"absolute inset-0 z-0 block h-full w-full",event:"dblpointerup",action:"toggle:fullscreen"}),(0,ue.jsx)($n,{className:"absolute left-0 top-0 z-10 block h-full w-1/5",event:"dblpointerup",action:"seek:-10"}),(0,ue.jsx)($n,{className:"absolute right-0 top-0 z-10 block h-full w-1/5",event:"dblpointerup",action:"seek:10"})]})}var EM=$(z());var Du=class{constructor(){_(this,"name","webview");_(this,"target")}canPlay({src:e}){return du(e)&&Mf(e)}mediaType(){return"video"}async load(e){return new Rn(this.target,e)}};var fn=$(z());function fm(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}var gM=$(z());function vM(t,e){var n=(0,gM.useState)(function(){return{value:t,callback:e,facade:{get current(){return n.value},set current(i){var r=n.value;r!==i&&(n.value=i,n.callback(i,r))}}}})[0];return n.callback=e,n.facade}var _M=$(z());var yM=new WeakMap;function Tb(t,e){var n=vM(e||null,function(i){return t.forEach(function(r){return fm(r,i)})});return _M.useLayoutEffect(function(){var i=yM.get(n);if(i){var r=new Set(i),s=new Set(t),a=n.current;r.forEach(function(o){s.has(o)||fm(o,null)}),s.forEach(function(o){r.has(o)||fm(o,a)})}yM.set(n,t)},[t]),n}function Sb(t){return"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}var wM=$(z()),Pb={onLoadCommit:"load-commit",onDidFinishLoad:"did-finish-load",onDidFailLoad:"did-fail-load",onDidFrameFinishLoad:"did-frame-finish-load",onDidStartLoading:"did-start-loading",onDidStopLoading:"did-stop-loading",onDidAttach:"did-attach",onDomReady:"dom-ready",onPageTitleUpdated:"page-title-updated",onPageFaviconUpdated:"page-favicon-updated",onEnterHtmlFullScreen:"enter-html-full-screen",onLeaveHtmlFullScreen:"leave-html-full-screen",onConsoleMessage:"console-message",onFoundInPage:"found-in-page",onWillNavigate:"will-navigate",onDidStartNavigation:"did-start-navigation",onDidRedirectNavigation:"did-redirect-navigation",onDidNavigate:"did-navigate",onDidFrameNavigate:"did-frame-navigate",onDidNavigateInPage:"did-navigate-in-page",onClose:"close",onIpcMessage:"ipc-message",onCrashed:"crashed",onPluginCrashed:"plugin-crashed",onDestroyed:"destroyed",onMediaStartedPlaying:"media-started-playing",onMediaPaused:"media-paused",onDidChangeThemeColor:"did-change-theme-color",onUpdateTargetUrl:"update-target-url",onDevtoolsOpened:"devtools-opened",onDevtoolsClosed:"devtools-closed",onDevtoolsFocused:"devtools-focused",onContextMenu:"context-menu"};function r4(t){return Object.entries(t).reduce((e,[n,i])=>(n in Pb?e.event[n]=i:e.rest[n]=i,e),{event:{},rest:{}})}function bM(t,e){let{event:n,rest:i}=r4(t);for(let r of Object.keys(Pb)){let s=r,a=Pb[s],o=n[s];(0,wM.useEffect)(()=>{if(!e.current||!o)return;let l=e.current;return l.addEventListener(a,o),()=>{l.removeEventListener(a,o)}},[a,o,e])}return i}var kM=$(ae()),xM=(0,fn.forwardRef)(function({devtools:e=!1,muted:n=!1,className:i,useragent:r,...s},a){let o=(0,fn.useRef)(null),[l,c]=(0,fn.useState)(!1),u=bM(s,o);a4(n,o,l);let d=s4(r??navigator.userAgent,o,l);return(0,fn.useEffect)(()=>{if(!o.current)return;let p=o.current;return p.addEventListener("dom-ready",h),p.addEventListener("will-navigate",y),()=>{p.removeEventListener("dom-ready",h),p.removeEventListener("will-navigate",y)};function h(){c(!0)}function y(){c(!1)}},[]),(0,kM.jsx)("webview",{ref:Tb([o,a]),className:In("h-full w-full",i),useragent:d,...u})});function s4(t,e,n){let i=(0,fn.useMemo)(()=>{let r=t??navigator.userAgent;return Sb(r)},[t]);return(0,fn.useEffect)(()=>{!e.current||!n||i===e.current.useragent||e.current.setUserAgent(i)},[i,n,e]),i}function a4(t,e,n){(0,fn.useEffect)(()=>{!e.current||!n||t===e.current.isAudioMuted()||e.current.setAudioMuted(t)},[t,n,e])}var Cb=$(ae());function TM({loaders:t,...e}){let n=Kf(l=>l.appId),i=ye("viewType"),r=Nt(l=>!!l.transform?.flipHorizontal),s=Nt(l=>!!l.transform?.flipVertical),a=Nt(l=>{if(l.transform?.rotate)switch(l.transform.rotate){case"90":return"rotate-90";case"180":return"rotate-180";case"270":return"rotate-[270deg]";default:return}}),o=Qf();return(0,Cb.jsx)(Gw,{className:In(i==="video"&&r&&"-scale-x-100",i==="video"&&s&&"-scale-y-100",i==="video"&&a),loaders:[Du,...t??[]],buildMediaEl:(0,EM.useCallback)((l,c)=>l instanceof Du?(0,Cb.jsx)(xM,{"aria-hidden":!0,className:In("data-[play-ready]:blur-none blur-lg transition-opacity",o&&"pointer-events-none"),webpreferences:"autoplayPolicy=user-gesture-required",partition:oi(n),ref:u=>{c.load(u)}}):null,[n,o]),...e})}var si=$(ae()),CM=$(z());function o4({onViewTypeChange:t}){return d$(t),JC(),p$(),(0,si.jsx)(si.Fragment,{})}function l4(){let t=ye("viewType"),e=Qf();return t==="audio"?(0,si.jsx)(fM,{}):e?(0,si.jsx)(mM,{}):null}function Gr(){let t=Nt(u=>u.playerRef),e=Nt(({source:u})=>{if(!u)return;let d=u.url.source.href;return u.enableWebview?{src:vC(d)}:{type:u.type,src:d}}),n=Nt(({textTracks:u})=>u),i=Us(u=>u.loadStrategy),r=po(),[s,a]=(0,PM.useState)("unknown"),o=Nt(u=>u.title),{controls:l,...c}=mb();return e?(0,si.jsxs)(Kw,{className:In("w-full bg-slate-900 text-white font-sans overflow-hidden rounded-md ring-mod-border-focus data-[focus]:ring-2","data-[view-type=video]:aspect-video data-[view-type=audio]:h-20 data-[view-type=audio]:aspect-auto"),load:r?i:"eager",src:e,playsInline:!0,title:o,viewType:s,ref:t,onError:u=>{new SM.Notice(createFragment(d=>{switch(d.appendText(`Failed to load media for ${e.src}: `),d.createEl("br"),u.code){case 1:d.appendText("The media playback was aborted");break;case 2:d.appendText("A network error caused the media playback to fail");break;case 3:d.appendText("The media playback was aborted due to a corruption problem or because the media encoding is not supported");break;case 4:d.appendText("The media is not supported to open as regular video or audio, try open as webpage");break;default:d.appendText(u.message||"Unknown error, check console for more details"),console.error("Failed to load media",e.src,u);break}}))},...c,children:[(0,si.jsx)(TM,{children:n.map(u=>(0,CM.createElement)(Yw,{...u,key:u.id}))}),(0,si.jsx)(o4,{onViewTypeChange:a}),(0,si.jsx)(l4,{})]}):null}function mm(t,e){let n=new WeakMap,i;t.register(Su(t.store,r=>[r.subscribe(({currentTime:s,paused:a,playbackRate:o})=>{s!==0&&r.el&&n.set(t.leaf.parent,{currentTime:s,paused:a,playbackRate:o})}),r.listen("can-play",()=>{if(!i)return;let s=n.get(i);if(!s){i=void 0;return}let{currentTime:a,paused:o,playbackRate:l}=s;if(!o)r.play(new Event("recover-state")).then(()=>{r.currentTime=a,r.playbackRate=l,i&&(n.delete(i),i=void 0)}).catch(c=>console.error("recov err play",c));else try{r.currentTime=a,r.playbackRate=l,i&&(n.delete(i),i=void 0)}catch(c){console.error("recov err paused",c)}})])),t.register(u4(t,(r,s)=>{e(),n.has(s)?i=s:i=void 0})),t.register(()=>{i=void 0})}function gm(t,e){let n=new WeakMap,i;t.register(Su(t.store,r=>[r.subscribe(({currentTime:s,paused:a,playbackRate:o})=>{s!==0&&r.el&&n.set(r.el.win,{currentTime:s,paused:a,playbackRate:o})}),r.listen("can-play",()=>{if(!i)return;let s=n.get(i);if(!s){i=void 0;return}let{currentTime:a,paused:o,playbackRate:l}=s;if(!o)r.play(new Event("recover-state")).then(()=>{r.currentTime=a,r.playbackRate=l,i&&(n.delete(i),i=void 0)}).catch(c=>console.error("recov err play",c));else try{r.currentTime=a,r.playbackRate=l,i&&(n.delete(i),i=void 0)}catch(c){console.error("recov err paused",c)}})])),t.register(c4(t.containerEl,(r,s)=>{e(),n.has(s)?i=s:i=void 0})),t.register(()=>{i=void 0})}function c4(t,e){let n=t.win;return t.onNodeInserted(()=>{let i=t.win;i!==n&&(e(i,n),n=i)})}function u4(t,e){let n=t.containerEl.win,i=t.leaf.parent;return t.containerEl.onNodeInserted(()=>{let r=t.containerEl.win,s=t.leaf.parent;r===n?s!==i&&(e(s,i),i=s):n=r})}var $b=$(ae()),vm=class extends ym.EditableFileView{constructor(n,i){super(n);this.plugin=i;_(this,"allowNoFile",!1);_(this,"store");_(this,"scope");_(this,"root",null);this.store=Ur(),this.scope=new ym.Scope(this.app.scope),this.contentEl.addClasses(["mx","custom"]),qf(this)}onload(){gm(this,()=>this.render())}async onLoadFile(n){await this.store.getState().loadFile(n,{vault:this.app.vault,defaultLang:this.plugin.settings.getState().getDefaultLang()})}onPaneMenu(n,i){super.onPaneMenu(n,i),Bf(this,n,i)}setEphemeralState(n){if("subpath"in n){let{subpath:i}=n;this.store.getState().setHash(i)}super.setEphemeralState(n)}async onOpen(){await super.onOpen(),this.render()}render(){this.root?.unmount(),this.root=$M.default.createRoot(this.contentEl),this.root.render((0,$b.jsx)(wt.Provider,{value:{plugin:this.plugin,store:this.store,reload:()=>this.render(),embed:!1},children:(0,$b.jsx)(Gr,{})}))}async onClose(){return this.root?.unmount(),this.root=null,super.onClose()}},_o=class extends vm{getIcon(){return"file-video"}getMediaInfo(){return this.file?{type:"video",file:this.file,hash:this.getEphemeralState().subpath}:null}getViewType(){return jn.video}canAcceptExtension(e){return kt.video.includes(e)}},wo=class extends vm{getIcon(){return"file-audio"}getViewType(){return jn.audio}getMediaInfo(){return this.file?{type:"audio",file:this.file,hash:this.getEphemeralState().subpath}:null}canAcceptExtension(e){return kt.audio.includes(e)}};var _m=require("obsidian"),MM=$(zl());var Mb=$(ae()),Yr=class extends _m.ItemView{constructor(n,i){super(n);this.plugin=i;_(this,"store");_(this,"scope");_(this,"root",null);_(this,"navigation",!0);this.store=Ur(),this.scope=new _m.Scope(this.app.scope),this.contentEl.addClasses(["mx","custom"]),qf(this)}setSource(n){this.store.getState().setSource(n)}getMediaInfo(){return this.store.getState().source?.url??null}get sourceType(){return this.store.getState().player?.state.source.type??""}get playerTitle(){return this.store.getState().player?.state.title??""}onload(){let n=this;super.onload(),this.register(ut(this.leaf,{detach:i=>function(...r){return n.root?.unmount(),n.root=null,i.call(this,...r)}})),gm(this,()=>this.render())}registerRemoteTitleChange(){this.register(Su(this.store,n=>n.subscribe(({title:i})=>{this.updateTitle()})))}onPaneMenu(n,i){super.onPaneMenu(n,i),Bf(this,n,i)}getState(){let n=super.getState(),i=this.store.getState().source?.url;return{...n,source:i?i.jsonState.source:n.source}}async setState(n,i){if(await super.setState(n,i),!("source"in n))return;let r=this.plugin.resolveUrl(n.source);if(!r)console.warn("Invalid URL",n.source);else{let s=this.store.getState().source?.url;r.compare(s)||(await this.setSource(r),this.render())}}setEphemeralState(n){if("subpath"in n){let{subpath:i}=n;this.store.getState().setHash(i)}super.setEphemeralState(n)}async onOpen(){await super.onOpen(),this.render()}updateTitle(){let n=this.getDisplayText();this.titleEl.setText(n),this.app.workspace.activeLeaf===this.leaf&&this.app.workspace.requestActiveLeafEvents()&&this.leaf.updateHeader()}render(){this.root&&this.root.unmount(),this.root=MM.default.createRoot(this.contentEl),this.root.render((0,Mb.jsx)(wt.Provider,{value:{plugin:this.plugin,store:this.store,reload:()=>this.render(),embed:!1},children:(0,Mb.jsx)(Gr,{})}))}close(){return this.root?.unmount(),this.root=null,super.close()}async onClose(){return this.root?.unmount(),this.root=null,super.onClose()}};var d4={"video/vimeo":"Vimeo","video/youtube":"YouTube"},bo=class extends Yr{onload(){super.onload(),this.registerRemoteTitleChange(),mm(this,()=>this.render())}getDisplayText(){let e=d4[this.sourceType]??"Embed";return this.playerTitle?`${this.playerTitle} - ${e}`:e}getIcon(){switch(this.sourceType){case"video/youtube":return"youtube";case"video/vimeo":return"vimeo";default:return"video"}}getViewType(){return Ri}};var wm=class extends Yr{},xo=class extends wm{getIcon(){return"file-video"}getViewType(){return pt.video}getDisplayText(){return this.playerTitle||"Video"}async setSource(e){let n=this.plugin.settings.getState().getDefaultLang(),i=await Ff(e,n).catch(r=>(console.error("Failed to get text tracks",r,e.href,n),[]));this.store.getState().setSource(e,{title:!0,textTracks:i,type:"video/mp4"})}},ko=class extends wm{getIcon(){return"file-audio"}getDisplayText(){return this.playerTitle||"Audio"}getViewType(){return pt.audio}async setSource(e){this.store.getState().setSource(e,{title:!0,type:"audio/mp3"})}};var Eo=class extends Yr{onload(){super.onload(),this.registerRemoteTitleChange(),mm(this,()=>this.render())}getViewType(){return Zt}getIcon(){let e=this.getHost();return e==="generic"?"globe":e}getHost(){let{source:e}=this.store.getState();return e?.url?e.url.type:"generic"}getDisplayText(){return this.playerTitle?`${this.playerTitle} - ${Ju[this.getHost()]}`:"Webpage"}setSource(e){this.store.getState().setSource(e,{enableWebview:!0})}};function RM(t,e){if(!(t.view instanceof _o||t.view instanceof wo))return!1;let{file:n}=t.view.getState();return n===e.file.path}function LM(t,e){if(!(t.view instanceof bo||t.view instanceof Eo||t.view instanceof xo||t.view instanceof ko))return!1;let{source:n}=t.view.store.getState();return e.compare(n?.url)}function Rb(t,e){let n=t.stat.mtime,i=e.stat.mtime;return!n||!i?0:i-n}var bm="mx-media-active",Ou,Lb,km,AM,Em,NM,Tm,DM,xm=class extends To.Component{constructor(n){super();this.plugin=n;O(this,Ou);O(this,km);O(this,Em);O(this,Tm);_(this,"app");_(this,"activeMediaLeaf",null);_(this,"onLeafUpdate",(0,To.debounce)(n=>{n=n??this.workspace.activeLeaf,this.onActiveLeafChange(n)},200));this.app=n.app}onload(){let n=this.app.workspace;n.onLayoutReady(()=>{this.onLeafUpdate()}),this.registerEvent(n.on("active-leaf-change",i=>{this.onLeafUpdate(i)})),this.registerEvent(n.on("layout-change",()=>{this.onLeafUpdate()}))}onunload(){this.applyActiveMediaLeaf(null)}get workspace(){return this.app.workspace}onActiveLeafChange(n){let i=this.detectActiveMediaLeaf(n);this.activeMediaLeaf!==i&&this.applyActiveMediaLeaf(i)}applyActiveMediaLeaf(n){this.activeMediaLeaf?.tabHeaderEl.removeClass(bm),this.activeMediaLeaf?.containerEl.removeClass(bm),n?.tabHeaderEl.addClass(bm),n?.containerEl.addClass(bm),this.activeMediaLeaf=n}detectActiveMediaLeaf(n){let i=()=>{let r=this.findPinnedPlayer();if(r)return r;let s=IM(this.workspace),{activeTabGroup:a}=this.workspace;return(!n||!a?s:s.filter(l=>!a.children.includes(l))).at(0)??null};if(!n)return i();if(Ib(n))return n;if(n.view instanceof To.MarkdownView&&n.view.file){let{mediaNote:r}=this.plugin,s=r.findMedia(n.view.file);if(s)return this.findPlayerWithSameMedia(s)}return i()}findPlayerWithSameMedia(n){for(let i of this.plugin.urlViewType.getSupported(n)){let r=p4(n,i,this.workspace);if(r.length>0)return r[0]}return null}findPinnedPlayer(){return IM(this.workspace).filter(n=>n.pinned)[0]??null}get settings(){return this.plugin.settings.getState()}getSplitBehavior(n){let{defaultMxLinkClick:{click:i,alt:r}}=this.settings;return i===null?n??!1:n===void 0||n===!1?i:r!==null&&n===i?r:n}async openMedia(n,i,{direction:r,viewType:s,fromUser:a}={}){let{workspace:o}=this.app;if(!i){let c=await M(this,km,AM).call(this,n,s);if(c)return c}let l=o.getLeaf(a?this.getSplitBehavior(i):i,r);return M(this,Ou,Lb).call(this,l,n,s)}async openNote(n,i,r="split",s="vertical"){let a=this.plugin.mediaNote.findNotes(n),o=M(this,Em,NM).call(this,a);if(o)return o.getMode()!=="source"&&await o.setState({mode:"source"},{history:!1}),o;let l;if(a.length===0){let d=`Media Note - ${Wo(i.title,{replacement:"_"})}`;l=await M(this,Tm,DM).call(this,d,i.fm,i.sourcePath??"")}else l=a.sort(Rb).at(0);let c=this.app.workspace.getLeaf(r,s);return await c.openFile(l,{state:{mode:"source"}}),{file:l,editor:c.view.editor}}};Ou=new WeakSet,Lb=async function(n,i,r){if(Mi(i))await n.openFile(i.file,{eState:{subpath:i.hash},active:!0});else{let s={source:i.jsonState.source};r??(r=this.plugin.urlViewType.getPreferred(i)),await n.setViewState({type:r,state:s,active:!0},{subpath:i.hash})}return n},km=new WeakSet,AM=async function(n,i){let r=this.findPinnedPlayer();if(r)return await M(this,Ou,Lb).call(this,r,n,i);let s=this.findPlayerWithSameMedia(n);return s?(h4(n.hash,s),s):null},Em=new WeakSet,NM=function(n){let{workspace:i}=this.app,r=i.getLeavesOfType("markdown").filter(a=>{let o=a.view.file?.path;return!!o&&n.some(l=>l.path===o)});return r.length===0?null:(r.find(a=>a===i.activeLeaf)??r.sort((a,o)=>Rb(a.view.file,o.view.file)).at(0)).view},Tm=new WeakSet,DM=async function(n,i,r=""){let{fileManager:s}=this.app,a=s.getNewFileParent(r,n),o=await s.createNewFile(a,n,"md",`--- +\`.trim(),{waitForSelector:s,MediaPlugin:E}=a(),i=class extends E{findMedia(){return s("ytd-app #movie_player video")}getStyle(){return w+\` +\`+f}async onload(){await super.onload(),this.disableAutoPlay(),s("ytd-consent-bump-v2-lightbox",this.app).then(()=>{this.controller.send("mx-open-browser",{message:"Seems like YouTube is showing a consent popup that block playback. To continue playback, you should handle it in dedicated login browser. ",url:"https://youtube.com"})})}get app(){return this.media.closest("ytd-app")}get moviePlayer(){return this.media.closest("#movie_player")}async disableAutoPlay(){let e=await s('button.ytp-button[data-tooltip-target-id="ytp-autonav-toggle-button"]',this.app);if(!e)throw new Error("Autoplay button not found");let n=e.querySelector(".ytp-autonav-toggle-button");if(!n)throw new Error("Autoplay button label not found");let r=()=>n.getAttribute("aria-checked")==="true";r()&&(e.click(),await new Promise(m=>{let c=new MutationObserver(()=>{r()||(c.disconnect(),m())});c.observe(n,{attributes:!0})}))}enterWebFullscreen(){this.assignParentClass(this.moviePlayer),(async()=>{let t=await s("#movie_player .ytp-size-button"),e=()=>!!this.app.querySelector("ytd-watch-flexy[theater]");if(!e())do t.click(),await M(200);while(!e());window.dispatchEvent(new Event("resize"))})()}};function M(o){return new Promise(t=>setTimeout(t,o))}var{waitForSelector:p}=a(),l=class extends i{findMedia(){return p("ytd-app #movie_player video")}async onload(){await super.onload(),p(".video-ads.ytp-ad-module",this.app).then(t=>this.removePlayerAD(t))}removePlayerAD(t){let e=new MutationObserver(()=>this.skipAd());this.registerInterval(()=>this.skipAd(),500),e.observe(t,{childList:!0,subtree:!0})}skipAd(){let t=this.media,e=this.moviePlayer.querySelector(".ytp-ad-skip-button")||this.moviePlayer.querySelector(".ytp-ad-skip-button-modern"),n=this.moviePlayer.querySelector(".video-ads.ytp-ad-module .ytp-ad-player-overlay");if(t)if(e){if(window.location.href.indexOf("https://m.youtube.com/")===-1&&(t.muted=!0),t.currentTime>.5){t.currentTime=t.duration;return}e.click(),T.call(e)}else n&&(t.currentTime=t.duration)}};function T(){let o=new Touch({identifier:Date.now(),target:this,clientX:12,clientY:34,radiusX:56,radiusY:78,rotationAngle:0,force:1}),t=new TouchEvent("touchstart",{bubbles:!0,cancelable:!0,view:window,touches:[o],targetTouches:[o],changedTouches:[o]});this.dispatchEvent(t);let e=new TouchEvent("touchend",{bubbles:!0,cancelable:!0,view:window,touches:[],targetTouches:[],changedTouches:[o]});this.dispatchEvent(e)} +`;var iC={bilibili:eC,youtube:nC,vimeo:tC,coursera:void 0,generic:void 0};var rC={generic:t=>t,bilibili:t=>t.replaceAll(/[-_]哔哩哔哩.+$|[-_]bilibili.+$|-(?:番剧|电影|纪录片|国创|电视剧|综艺)-.+/g,""),youtube:t=>t.replace(/^\(\d+\) /,"").replace(/ - YouTube$/,""),vimeo:t=>t.replace(/ on Vimeo$/,""),coursera:t=>t.replace(/ \| Coursera$/,"")};var EC=require("url"),lo=require("obsidian");var fu=require("obsidian");function Lf(t){return t===0?"00:00:00":fu.moment.utc(fu.moment.duration({seconds:t}).as("milliseconds")).format("HH:mm:ss")}function oC(t){return t===0?"DT0S":fu.moment.duration(t,"seconds").toISOString()}var sC=(t,e=2)=>{let n,i;return Number.isInteger(t)?n=t.toString():[n,i]=t.toFixed(e).split("."),n.length===1&&(n="0"+n),i?n+"."+i:n};function mu(t){return t.replace(/t=[^&]+/,"")}function lb(t,e){if(t=mu(t.trim().replace(/^#/,"")),!e)return t;let n=cb(e);return t?`${t}&${n}`:n??""}function lC(t,e){let n=Number.isNaN(t)?-1:t,i=Number.isNaN(e)?-1:e;return{start:n,end:i}}function cb(t){let{start:e,end:n}=t,i={get start(){return aC(e)},get end(){return aC(n)}};return Pn(t)?`t=${i.start}`:e<0&&n>0?Number.isFinite(n)?`t=,${i.end}`:null:e>0&&n>0?`t=${i.start},${i.end}`:null}function aC(t){if(Number.isNaN(t)||t<0)throw new Error("durationInSecond must be positive");if(t===1/0)return"e";let e=fu.moment.duration(t,"seconds"),n=e.hours(),i=e.minutes(),r=e.seconds()+e.milliseconds()/1e3;if(n>0)return[n,...[i,r].map(s=>sC(s))].join(":");if(i>0)return[i,r].map(s=>sC(s)).join(":");if(r>0)return r.toFixed(2);throw new Error("durationInSecond must be positive")}var cC=require("obsidian"),EF=cC.Platform.isWin?require("path/win32"):require("path/posix"),ii=EF;function Ei(t){let e=new URL(t.href),n=mu(e.hash);return e.hash===n?t:e}function dC(t){return t.hostname==="b23.tv"?!1:t.hostname.endsWith(".bilibili.com")&&(t.pathname.startsWith("/video/")||t.pathname.startsWith("/bangumi/play/"))?t.pathname.split("/").filter(Boolean).slice(-1)[0]:null}var pC=t=>dC(t)===null?null:"bilibili",hC=t=>{let e=dC(t);if(e===null)throw new Error("Invalid bilibili url");let n=Bt(t.hash),i=SF(t),r=qn(t);r.searchParams.forEach((o,l,c)=>{l==="p"&&o!=="1"||c.delete(l)}),r.searchParams.sort();let s=r.searchParams.get("p")??"1",a=new URL(r);return!n&&i>0&&(n={start:i,end:-1}),n&&Pn(n)&&(a=uC(a,n)),a=Ei(a),{source:a,cleaned:r,tempFrag:n,print:o=>uC(a,o).href,id:`${s}@${e}`||void 0}};function uC(t,e){let n=new URL(t.href);return n.searchParams.set("t",String(e.start)),n}function SF(t){let e=t.searchParams.get("t"),n=e?Number(e):NaN;return Number.isNaN(n)?NaN:n}var fC=t=>t.hostname==="www.coursera.org"?"coursera":null,mC=t=>{let e=qn(t);e.search="";let n=new URL(t);return{cleaned:e,source:Ei(n),tempFrag:Bt(t.hash)}};var gC=require("obsidian");var vC=t=>({type:"generic",cleaned:qn(t),source:Ei(t.protocol==="file:"?PF(t):t),tempFrag:Bt(t.hash)});function PF(t){let e=new URL(gC.Platform.resourcePathPrefix+t.href.substring(8));return e.search=Date.now().toString(),e}var yC=t=>t.hostname!=="vimeo.com"||!t.pathname.substring(1).match(/^\d+$/)?null:"vimeo",_C=t=>{let e=t.pathname.substring(1);if(!e.match(/^\d+$/))throw new Error("Invalid vimeo url");let n=qn(t);n.search="";let i=new URL(t);return{cleaned:n,source:Ei(i),tempFrag:Bt(t.hash),id:e}};function xC(t){let e=t.pathname.split("/");if(t.hostname==="youtu.be"&&e.length===2)return e[1];if(t.hostname==="www.youtube.com"||t.hostname==="youtube.com"){if(e.length===2&&e[1]==="watch")return t.searchParams.get("v");let n=["shorts","embed","v"];if(e.length===3&&n.includes(e[1]))return e[2]}return null}var kC=t=>xC(t)?"youtube":null,TC=t=>{let e=Bt(t.hash),n=ub(t.searchParams.get("t")),i=ub(t.searchParams.get("start")),r=ub(t.searchParams.get("end")),s=xC(t);if(!s)throw new Error("Invalid youtube url");let a=qn("https://www.youtube.com/watch");a.search=new URLSearchParams({v:s}).toString();let o=new URL(a);return t.searchParams.has("list")&&o.searchParams.set("list",t.searchParams.get("list")),e||(i>0&&r>0?e=lC(i,r):i>0?e={start:i,end:1/0}:r>0?e={start:0,end:r}:n>0&&(e={start:n,end:-1})),e&&(o=wC(o,e)),o=Ei(o),{source:o,cleaned:a,tempFrag:e,print:l=>wC(o,l).href,id:s}};function wC(t,e){let n=new URL(t),i=bC(e.start),r=bC(e.end);return Pn(e)||e.start>0&&e.end>0&&i===r?n.searchParams.set("t",i):(e.start>0&&n.searchParams.set("start",i),e.end>0&&n.searchParams.set("end",r)),n}function bC(t){return t.toFixed(0)}function ub(t){if(!t)return NaN;let e=Number(t);if(!Number.isNaN(e))return e;let n=/^(?:(?\d+)h)?(?:(?\d+)m)?(?:(?\d+)s)?$/,i=t.match(n);if(!i)return NaN;let{h:r,m:s,s:a}=i.groups,o=r?Number(r):0,l=s?Number(s):0,c=a?Number(a):0;return o*3600+l*60+c}var CF=new Set(["https:","http:","file:"]),Si,gu=class gu extends URL{constructor(n,i){super(n);V(this,Si,void 0);_(this,"type");_(this,"mxUrl");if(this.mxUrl=i?new URL(i):null,!CF.has(this.protocol))throw new Error("Unsupported protocol: "+this.protocol);this.type=$F.reduce((r,s)=>r??s(this),null)??"generic",we(this,Si,MF[this.type](this))}static create(n,i){if(n instanceof gu)return n.clone();try{return new gu(n,i)}catch{return null}}get inferredType(){let n=this.pathname.split(".").pop();return n?en(n):null}get isFileUrl(){return this.protocol==="file:"}get filePath(){if(this.isFileUrl)try{return(0,EC.fileURLToPath)(this)}catch(n){return console.error("Failed to convert file url to path",n,this.href),null}return null}getVaultFile(n){if(!(n.adapter instanceof lo.FileSystemAdapter))return null;let i=this.filePath,r=n.adapter.getBasePath();if(!i)return null;let s=ii.relative(r,i);if(/^\.\.[/\\]/.test(s)||ii.isAbsolute(s))return null;let a=(0,lo.normalizePath)(s);return n.getFileByPath(a)}compare(n){return!!n&&this.jsonState.source===n.jsonState.source}print(n){return this.mxUrl?this.mxUrl.href:n?k(this,Si).print?k(this,Si).print(n):this.source.href:this.source.href}get tempFrag(){return Bt(this.hash)}setTempFrag(n){let i=this.clone(),r=mu(this.hash);return n?i.hash=lb(r,n):i.hash=r,i}clone(){return new gu(this,this.mxUrl??void 0)}get readableHref(){return decodeURI(this.href)}get source(){return k(this,Si).source}get cleaned(){return k(this,Si).cleaned}get id(){return k(this,Si).id}get jsonState(){return{source:Ko(this.mxUrl??this.cleaned),hash:lb(this.hash,k(this,Si).tempFrag)}}};Si=new WeakMap;var _t=gu,$F=[pC,kC,yC,fC],MF={bilibili:hC,youtube:TC,vimeo:_C,coursera:mC,generic:vC};function SC(t,{getUrlMapping:e}){if(!t)return null;if(t.protocol!=="mx:")return _t.create(t);let[,,n]=t.pathname.split("/"),i=e(n);return i?_t.create(t.href.replace(`mx://${n}/`,i.replace(/\/*$/,"/")),t):null}function PC(t,e){if(en(t.extension)===null)throw new Error(`Unknown media type ${t.extension}`);let n=e.getResourcePath(t);return new _t("file:///"+n.substring(lo.Platform.resourcePathPrefix.length))}function CC(t){return`webpage::${btoa(t)}`}function $C(t){return atob(t.replace(/^webpage::/,""))}function MC(t){return typeof t=="string"&&t.startsWith("webpage::")}function RC(t){return t.type==="TimeRanges"}var If=class{constructor(e){this.ranges=e}get length(){return this.ranges.length}start(e){return this.ranges[e][0]}end(e){return this.ranges[e][1]}};function ri(t){return RC(t)?new If(t.value):t}var{onDispose:db,peek:RF}=Ts,Af=class{constructor(e,n){this._provider=e;this._ctx=n;_(this,"_disposal",J1());_(this,"_waiting",!1);_(this,"_attachedLoadStart",!1);_(this,"_attachedCanPlay",!1);_(this,"_handlers");_(this,"_handleDevEvent");this._attachInitialListeners(),db(this._media.on("timeupdate",this._onTimeUpdate.bind(this))),db(this._onDispose.bind(this))}get _webview(){return this._provider.webview}get _media(){return this._provider.media}get _notify(){return this._ctx.delegate._notify}_onDispose(){this._attachedLoadStart=!1,this._attachedCanPlay=!1,this._disposal.empty()}_attachInitialListeners(){this._attachEventListener("loadstart",this._onLoadStart),this._attachEventListener("abort",this._onAbort),this._attachEventListener("emptied",this._onEmptied),this._attachEventListener("error",this._onError),this._attachEventListener("volumechange",this._onVolumeChange)}_attachLoadStartListeners(){this._attachedLoadStart||(this._disposal.add(this._attachEventListener("loadeddata",this._onLoadedData),this._attachEventListener("loadedmetadata",this._onLoadedMetadata),this._attachEventListener("canplay",this._onCanPlay),this._attachEventListener("canplaythrough",this._onCanPlayThrough),this._attachEventListener("durationchange",this._onDurationChange),this._attachEventListener("play",this._onPlay),this._attachEventListener("progress",this._onProgress),this._attachEventListener("stalled",this._onStalled),this._attachEventListener("suspend",this._onSuspend)),this._attachedLoadStart=!0)}_attachCanPlayListeners(){this._attachedCanPlay||(this._disposal.add(this._attachEventListener("pause",this._onPause),this._attachEventListener("playing",this._onPlaying),this._attachEventListener("ratechange",this._onRateChange),this._attachEventListener("seeked",this._onSeeked),this._attachEventListener("seeking",this._onSeeking),this._attachEventListener("ended",this._onEnded),this._attachEventListener("waiting",this._onWaiting)),this._attachedCanPlay=!0)}_attachEventListener(e,n){let i=n.bind(this),r=this._media.on(e,i);return db(r)}_onDevEvent(e){}_updateCurrentTime(e,n,i){let r={currentTime:Math.min(e,this._ctx.$state.seekableEnd()),played:n};this._notify("time-update",r,i&&new Event(i.type))}_onLoadStart(e){if(e.payload.networkState===3){this._onAbort(e);return}this._attachLoadStartListeners(),this._notify("load-start",void 0,new Event(e.type))}_onAbort(e){this._notify("abort",void 0,new Event(e.type))}_onEmptied({type:e}){this._notify("emptied",void 0,new Event(e))}_onLoadedData(e){this._notify("loaded-data",void 0,new Event(e.type))}_onLoadedMetadata(e){this._attachCanPlayListeners(),this._notify("loaded-metadata",void 0,new Event(e.type))}_getCanPlayDetail({duration:e,buffered:n,seekable:i}){return{provider:RF(this._ctx.$provider),duration:e,buffered:n,seekable:i}}_onPlay(e){this._ctx.$state.canPlay&&this._notify("play",void 0,new Event(e.type))}_onPause({type:e,payload:n}){n.readyState===1&&!this._waiting||(this._waiting=!1,this._notify("pause",void 0,new Event(e)))}_onCanPlay({type:e,payload:n}){let i=ri(n.buffered),r=ri(n.seekable);this._ctx.delegate._ready(this._getCanPlayDetail({duration:n.duration,buffered:i,seekable:r}),new Event(e))}_onCanPlayThrough({type:e,payload:n}){if(this._ctx.$state.started())return;let i=ri(n.buffered),r=ri(n.seekable);this._notify("can-play-through",this._getCanPlayDetail({duration:n.duration,buffered:i,seekable:r}),new Event(e))}_onPlaying({type:e}){this._waiting=!1,this._notify("playing",void 0,new Event(e))}_onStalled({type:e,payload:n}){this._notify("stalled",void 0,new Event(e)),n.readyState<3&&(this._waiting=!0,this._notify("waiting",void 0,new Event(e)))}_onWaiting({type:e,payload:n}){n.readyState<3&&(this._waiting=!0,this._notify("waiting",void 0,new Event(e)))}_onEnded(e){let{payload:n}=e,i=ri(n.played);this._updateCurrentTime(n.duration,i,e),this._notify("end",void 0,new Event(e.type))}_onTimeUpdate(e){let{payload:n}=e,i=ri(n.played);this._updateCurrentTime(n.current,i,e)}_onDurationChange(e){let{payload:n}=e,i=ri(n.played);this._ctx.$state.ended()&&this._updateCurrentTime(n.duration,i,e),this._notify("duration-change",n.duration,new Event(e.type))}_onVolumeChange({type:e,payload:n}){let i={volume:n.volume,muted:n.muted};this._notify("volume-change",i,new Event(e))}_onSeeked(e){let{payload:n}=e,i=ri(n.played);this._updateCurrentTime(n.current,i,e),this._notify("seeked",n.current,new Event(e.type))}_onSeeking({type:e,payload:n}){this._notify("seeking",n.current,new Event(e))}_onProgress({type:e,payload:n}){let i={buffered:ri(n.buffered),seekable:ri(n.seekable)};this._notify("progress",i,new Event(e))}_onSuspend({type:e}){this._notify("suspend",void 0,new Event(e))}_onRateChange({type:e,payload:n}){this._notify("rate-change",n.rate,new Event(e))}_onError({type:e,payload:n}){let i={message:n.message,code:n.code};this._notify("error",i,new ErrorEvent(e,{error:n}))}};async function LC(t,e){return await e.executeJavaScript(`(async function(){${t}})()`)}function IC(t){switch(t.code){case-202:return"SSL certificate isn't trusted by the browser. If the website is self-hosted, double check the SSL certificate and test it with a browser. ";default:return t.message}}var vu=class extends Error{constructor(n){super(`${n.errorCode}: ${n.errorDescription}`);_(this,"code");_(this,"description");_(this,"url");this.code=n.errorCode,this.url=n.validatedURL,this.description=n.errorDescription}};var{onDispose:AC}=Ts,yu,Nf=class{constructor(e,n,i){this._video=e;this._media=n;this.userGesture=i;V(this,yu,!1);_(this,"_onChange",(e,n)=>{this._media.delegate._notify("picture-in-picture-change",e,n)});AC(e.on("enterpictureinpicture",r=>this._onChange(!0,new Event(r.type)))),AC(e.on("leavepictureinpicture",r=>this._onChange(!1,new Event(r.type))))}async updateActive(){let e=await this._video.methods.pictureInPictureEnabled();return we(this,yu,e),e}get active(){return this.updateActive(),k(this,yu)}get supported(){return!!document.pictureInPictureEnabled}async enter(){await this.userGesture(),await this._video.methods.requestPictureInPicture()}async exit(){await this._video.methods.exitPictureInPicture()}};yu=new WeakMap;var{createScope:LF,onDispose:Df,scoped:IF}=Ts,co,Nn=class{constructor(e,n){this._webview=e;this._ctx=n;_(this,"scope",LF());_(this,"$$PROVIDER_TYPE","WEBVIEW");_(this,"_currentSrc",null);_(this,"_port",new Np);_(this,"pictureInPicture");V(this,co,null);_(this,"onDomReady",async e=>{let n=this._webview;new Af(this,this._ctx),this._updateTitle(e),await LC(O1,n),await this.loadPlugin(this.currentWebHost)});IF(()=>{this.pictureInPicture=new Nf(this._port,n,()=>this.userGesture(!0))},this.scope)}setup(){Df(()=>{this._webview.src=""}),AF(),this.type==="webview"&&this._ctx.delegate._notify("provider-setup",this),this.registerTitleChange(),Df(()=>{this._webview.removeEventListener("dom-ready",this.onDomReady)}),Df(this._port.on("mx-open-browser",({payload:{url:e,message:n=""}})=>{DC({message:n+`Open ${e} in login browser?`,cancelText:"No",onConfirm:()=>{let i=new cr(app);i.open(),i.setUrl(e)}})}))}get type(){return"webview"}get webview(){return this._webview}get media(){return this._port}get currentSrc(){return this._currentSrc}get currentWebHost(){return this._currentSrc?.host??"generic"}setPlaybackRate(e){this._port.methods.setPlaybackRate(e)}async userGesture(e=!1){if(!e&&k(this,co)){await k(this,co);return}await we(this,co,this.webview.executeJavaScript("1",!0))}async play(){this.webview.isConnected&&(await this.userGesture(),await this._port.methods.play())}async pause(){this.webview.isConnected&&(await this.userGesture(),await this._port.methods.pause())}setMuted(e){this._port.methods.setMuted(e)}setVolume(e){this._port.methods.setVolume(e)}setCurrentTime(e){this._port.methods.setCurrentTime(e)}get _notify(){return this._ctx.delegate._notify}async _updateTitle(e,n){let i=e=typeof e=="string"?new Event(e):e,r=n??this._webview.getTitle(),s=rC[this.currentWebHost](r),a=this._ctx.$state.title();s!==a&&this._notify("title-change",s,i)}loadPlugin(e){return new Promise((n,i)=>{let r=this._webview,s=this.media.onReady(async()=>{window.clearTimeout(a),await this.media.methods.loadPlugin(iC[e]),n()},{once:!0}),a=setTimeout(()=>{s(),i(new Hi(5e3))},5e3),{port1:o,port2:l}=new MessageChannel;this._port.load(o),r.contentWindow.postMessage(Dx,"*",[l])})}handlePlayReady(){let e=new Promise((a,o)=>{let l=()=>{this.webview.removeEventListener("did-stop-loading",c),this.webview.removeEventListener("did-finish-load",c),this.webview.removeEventListener("did-fail-load",u)},c=()=>{a(),l()},u=d=>{o(new vu(d)),l()};this.webview.addEventListener("did-stop-loading",c),this.webview.addEventListener("did-finish-load",c),this.webview.addEventListener("did-fail-load",u)}),n,i=a=>new Promise((o,l)=>{n=window.setTimeout(()=>l(new Hi(a)),a)}),r=new Promise(a=>{this._port.once("mx-play-ready",()=>{a(),window.clearTimeout(n)})}),s=1e4;e.then(()=>Promise.race([r,i(s)])).then(()=>{this.togglePlayReady(!0)}).catch(a=>{if(a instanceof Hi)NF(s);else if(a instanceof vu){let o=IC(a);new jr.Notice(createFragment(l=>{l.appendText(`Failed to load webpage: ${o}`),l.createEl("p",{text:"Click to copy "},c=>c.createEl("a",{href:a.url,text:a.url.length>50?`${a.url.substring(0,50)}...`:a.url},u=>{u.addEventListener("click",d=>{d.preventDefault(),navigator.clipboard.writeText(a.url),new jr.Notice("URL copied to clipboard.")})}))}))}else throw a}).finally(()=>{this.togglePlayReady(!0)})}registerTitleChange(){let e=this._webview,n=i=>{this._updateTitle(i,i.title)};e.addEventListener("page-title-updated",n),Df(()=>{e.removeEventListener("page-title-updated",n)})}togglePlayReady(e){typeof e>"u"&&(e=!("playReady"in this._webview.dataset)),e?this._webview.dataset.playReady="":delete this._webview.dataset.playReady}untilPluginReady(){let e=this._webview;return this.togglePlayReady(!1),e.removeEventListener("dom-ready",this.onDomReady),this.handlePlayReady(),new Promise((n,i)=>{let r=s=>{this.onDomReady(s).then(n).catch(i),e.removeEventListener("dom-ready",r),e.addEventListener("dom-ready",this.onDomReady)};e.addEventListener("dom-ready",r)})}async loadSource({src:e,type:n}){if(!hu(e))throw new Error("Webview provider only supports string src.");let i=_t.create($C(e)),r=this._webview;if(this._currentSrc={src:i?.source.href??"",type:n,host:i?.type??"generic"},!i){r.src="";return}let s=!r.src||Ko(i.source)!==Ko(r.src);r.src=i.href,s&&await this.untilPluginReady()}};co=new WeakMap;function AF(){let t="mx:webview-login-notified";localStorage.getItem(t)||(new jr.Notice(createFragment(n=>{n.appendText("You're using a webpage media player."),n.createEl("p",{text:"If you are requested to login, you can open a browser to login from:"},i=>{i.createEl("br"),i.appendText('- the "Login" command'),i.createEl("br"),i.appendText("- the entry in settings tab")}),n.appendText("Click to dismiss this notice.")}),0),localStorage.setItem(t,"1"))}function NF(t){let e="mx:webview-timeout-ignore";if(localStorage.getItem(e))return;let i=(t/1e3).toFixed(1);DC({message:`Webpage not fully loaded within ${i}s. You can still try to play.`,onCancel(){console.log("ignore webview timeout notice"),localStorage.setItem(e,"1")},cancelText:"Don't show again",timeout:5e3})}function DC({message:t,cancelText:e="Ignore",confirmText:n="OK",onConfirm:i,onCancel:r,timeout:s}){let a=new jr.Notice(createFragment(o=>{o.createDiv({text:t}),o.createDiv({},l=>{l.style.display="flex",l.style.justifyContent="flex-end",l.style.gap="1em",l.style.marginTop="1em";let c=new jr.ButtonComponent(l).setButtonText(n);i&&c.onClick(async()=>{await i(),a.hide()});let u=new jr.ButtonComponent(l).setButtonText(e);r&&u.onClick(async()=>{await r(),a.hide()})})}),s);return a}var Uf=require("fs/promises"),wu=require("obsidian");function Of(t,e){let n=new Map;for(let i of t){let r=e(i),s=n.get(r);s?s.push(i):n.set(r,[i])}return n}var zf=$(pb());var hb={"de-AT":"\xD6sterreichisches Deutsch","de-CH":"Schweizer Hochdeutsch","en-AU":"Australian English","en-CA":"Canadian English","en-GB":"British English","en-US":"American English","es-ES":"espa\xF1ol de Espa\xF1a","es-MX":"espa\xF1ol de M\xE9xico","fr-CA":"fran\xE7ais canadien","fr-CH":"fran\xE7ais suisse","nl-BE":"Vlaams","pt-BR":"portugu\xEAs do Brasil","pt-PT":"portugu\xEAs europeu","ro-MD":"moldoveneasc\u0103","zh-Hans":"\u7B80\u4F53\u4E2D\u6587","zh-Hant":"\u7E41\u9AD4\u4E2D\u6587"},BC=()=>Of(Object.entries(hb),([t])=>t.split("-")[0]),qC={"zh-Hans":["CN","SG","MY"],"zh-Hant":["TW","HK","MO"]};function WC(t){let e=t.split("-"),n=e[0].toLowerCase();if(e.length===1)return zf.default.getNativeName(n);let i=e.slice(0,2).join("-");return hb[i]||`${zf.default.getNativeName(e[0])} (${t})`}function OF(t){return t.toLowerCase()==="hans"||qC["zh-Hans"].includes(t.toUpperCase())?"zh-Hans":t.toLowerCase()==="hant"||qC["zh-Hant"].includes(t.toUpperCase())?"zh-Hant":"zh"}function fb(t){if(!t)return!1;let e=t.split("-")[0].toLowerCase();return zf.default.validate(e)}function KC(t){if(!fb(t))return null;let e=t.split("-"),n=e[0].toLowerCase();if(e.length===1)return n;let i=e[1];return n==="zh"?OF(i):hb[`${n}-${i.toUpperCase()}`]??`${n}-${e.slice(1).join("-")}`}var GC=["vtt","ass","ssa","srt"];function VF(t){return GC.includes(t.extension)}function YC(t,e,n){console.debug("Search subtitles for media",{basename:t.basename,path:t.path,defaultLangCode:n}),console.debug(`${e.length} siblings`,e);let i=e.filter(VF).flatMap(l=>{let c=FF(l,t.basename);return c?[c]:[]});if(i.length===0)return console.debug("No subtitles found"),i;console.debug(`Found ${i.length} subtitles: `,i.map(l=>l.src.path)),console.debug("Subtitles details: ",i);let r=Of(i,l=>l.language),s=[...r.keys()],a=n?s.find(l=>{if(l)return l===n})??s.find(l=>{if(!l)return;let c=l.split("-")[0],u=n.split("-")[0];return c===u}):s.filter(l=>!!l)[0],o=[];return r.forEach((l,c)=>{for(let u of GC){let d=l.find(p=>p.type===u);if(d){o.push({...d,default:!!a&&c===a});return}}}),console.debug(`Final tracks: ${o.length}`,o.map(l=>l.src.path)),console.debug("Final tracks details",o),o.length===0||(console.debug(`Final default lang: ${a??o[0].id}`),a||(o[0].default=!0)),o}async function jf(t,e){let n=t.filePath;if(!n||!t.inferredType)return[];let i=ii.basename(n),r=i.split(".").slice(0,-1).join("."),s=ii.dirname(n),a=(await(0,Uf.readdir)(s,{encoding:"utf-8",withFileTypes:!0}).catch(l=>{let c=l;return c.code!=="ENOENT"&&new wu.Notice(`Failed to read directory ${s}: ${c.message}`),[]})).filter(l=>l.name!==i&&(l.isFile()||l.isSymbolicLink())).map(l=>{let c=l.name.split(".");return c.length===1?{extension:"",basename:l.name,path:ii.join(s,l.name)}:{extension:c.at(-1),basename:c.slice(0,-1).join("."),path:ii.join(s,l.name)}}),o=YC({basename:r,path:n},a,e);return(await Promise.all(o.map(async({src:l,...c})=>{let u=await(0,Uf.readFile)(l.path,"utf-8").catch(d=>{let p=d;return p.code!=="ENOENT"&&new wu.Notice(`Failed to read subtitle file ${l.path}: ${p.message}`),""});return u?{...c,content:u}:null}))).filter(l=>!!l)}async function QC(t,e,n){if(!t.parent)return[];let i=YC(t,t.parent.children.filter(r=>r instanceof wu.TFile),n);return await Promise.all(i.map(async({src:r,...s})=>({...s,content:await e.cachedRead(r)})))}function FF(t,e){if(!t.basename.startsWith(e))return null;let n=t.basename.substring(e.length),i;if(!n)i=null;else if(i=KC(n.replace(/^\./,"")),!i)return null;let r=i?WC(i):"Unknown";return{kind:"subtitles",language:i??void 0,id:`${t.basename}.${t.extension}.${i??"unknown"}`,src:t,type:t.extension,label:`${r} (${t.extension})`,default:!1}}var XC={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(XC);var ZC=XC;var JC={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(JC);var e$=JC;var Dn=function(t,e,n,i){if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?i:n==="a"?i.call(t):i?i.value:e.get(t)},uo,bu,Us,mb=class{constructor(...e){uo.set(this,new Map),bu.set(this,new Map),Us.set(this,new Map);for(let n of e)this.define(n)}define(e,n=!1){for(let[i,r]of Object.entries(e)){i=i.toLowerCase(),r=r.map(o=>o.toLowerCase()),Dn(this,Us,"f").has(i)||Dn(this,Us,"f").set(i,new Set);let s=Dn(this,Us,"f").get(i),a=!0;for(let o of r){let l=o.startsWith("*");if(o=l?o.slice(1):o,s?.add(o),a&&Dn(this,bu,"f").set(i,o),a=!1,l)continue;let c=Dn(this,uo,"f").get(o);if(c&&c!=i&&!n)throw new Error(`"${i} -> ${o}" conflicts with "${c} -> ${o}". Pass \`force=true\` to override this definition.`);Dn(this,uo,"f").set(o,i)}}return this}getType(e){if(typeof e!="string")return null;let n=e.replace(/^.*[/\\]/,"").toLowerCase(),i=n.replace(/^.*\./,"").toLowerCase(),r=n.length{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let e of Dn(this,Us,"f").values())Object.freeze(e);return this}_getTestState(){return{types:Dn(this,uo,"f"),extensions:Dn(this,bu,"f")}}};uo=new WeakMap,bu=new WeakMap,Us=new WeakMap;var gb=mb;var vb=new gb(e$,ZC)._freeze();var Ke=require("obsidian");var xu=require("obsidian");async function t$(t,e,n){let i=document.createElement("canvas"),{videoWidth:r,videoHeight:s}=t;if(!r||!s)throw new Error("Cannot screenshot video without width or height");Object.assign(i,{width:r,height:s});let a=i.getContext("2d",{alpha:!1});if(!a)throw new Error("Canvas context creation failed");a.drawImage(t,0,0,r,s);let o=await new Promise((c,u)=>{try{i.toBlob(d=>{d?c(d):u(new Error("Canvas to blob failed"))},e,n)}catch(d){u(d)}}),l=await o.arrayBuffer();return{time:t.currentTime,blob:{arrayBuffer:l,type:o.type}}}function js(t){return ro(t)||t instanceof Nn}async function ku(t,e,n){let i=xu.Platform.isSafari&&e==="image/webp"?"image/jpeg":e;try{if(ro(t))return await t$(t.video,i,n);if(t instanceof Nn)return await t.media.methods.screenshot(i,n);throw new Error("Unsupported provider for screenshot")}catch(r){throw r instanceof DOMException&&r.name==="SecurityError"?new xu.Notice("Cannot take screenshot due to CORS restriction, you can try open media as webpage to bypass this"):new xu.Notice("Cannot take screenshot: "+(r instanceof Error?r.message:String(r))),r}}var n$=require("obsidian");function Hf({timestamp:t,screenshot:e},{template:n,editor:i,insertBefore:r}){console.debug("insert timestamp",{timestamp:t,screenshot:e,template:n});let s=n.replace("{{TIMESTAMP}}",t);e&&(s=s.replace("{{SCREENSHOT}}",e)),console.debug("content to insert",s);try{console.debug(`inserting timestamp ${r?"before":"after"} cursor`),r?UF(s,i):zF(s,i)}catch(a){new n$.Notice("Failed to insert timestamp, see console for details"),console.error("Failed to insert timestamp",a)}}function zF(t,e){let n=e.getCursor("to");console.debug("insert to cursor [to]",n.ch,n.line),e.replaceRange(t,n,n),e.setCursor(e.offsetToPos(e.posToOffset(n)+t.length))}function UF(t,e){let n=e.getCursor("from");console.debug("insert before cursor [from]",n.ch,n.line),e.replaceRange(t,n,n)}function i$(t){return t.file.basename}function r$({source:t},e){return e.title??t.hostname+decodeURI(t.pathname).replaceAll("/","_")}function s$(t,e){return Li(t)?i$(t):r$(t,e)}function po(t,e){let{metadataCache:n}=e.plugin.app,i=e.store.getState().player;if(!i)throw new Error("Player not initialized");if(Li(t)){let{file:r,type:s}=t;return e.plugin.leafOpener.openNote(t,{title:i$(t),fm:a=>({[s]:`[[${n.fileToLinktext(r,a)}]]`}),sourcePath:r.path})}else return e.plugin.leafOpener.openNote(t,{title:r$(t,i.state),fm:()=>({media:t.jsonState.source})})}function qf(t,e,{app:{fileManager:n},settings:{timestampOffset:i},state:{duration:r}}){t+=i,t<0&&(t=0),r&&t>r&&(t=r);let s=Lf(t),a=t>0?{start:t,end:-1}:void 0,o=a?`#${cb(a)}`:"";if(Li(e)){let{file:l}=e;return c=>n.generateMarkdownLink(l,c,o,s).replace(/^!/,"")}else{let l=e.print(a);return()=>`[${s}](${l}${o})`}}function Bf(t){let e=t.store.getState().player;if(!e)return new Ke.Notice("Player not initialized"),!1;let n=t.getMediaInfo();return n?!e?.provider||!js(e.provider)?(new Ke.Notice("Screenshot is not supported for this media"),!1):{media:n,provider:e.provider,state:e.state,app:t.plugin.app,settings:t.plugin.settings.getState()}:(new Ke.Notice("No media is opened"),!1)}async function Tu(t,{file:e,editor:n}){let i=Bf(t);if(!i)return!1;let{provider:r,state:s,media:a,app:{fileManager:o,vault:l},settings:{insertBefore:c,screenshotTemplate:u,screenshotEmbedTemplate:d,screenshotQuality:p,screenshotFormat:h,screenshotFolderPath:y}}=i,{blob:v,time:w}=await ku(r,h,p),m=qf(w,a,i),f=vb.getExtension(v.type);if(!f)return new Ke.Notice("Unknown mime type: "+v.type),!1;let g=s$(a,s),x=sd(g)+oC(w),E=w>0?` - ${Lf(w)}`:"",L,R=`${x}.${f}`;if(y===void 0){let A=`${Date.now()}.${Math.random().toString(36).substring(2)}.${f}`,oe=(await o.getAvailablePathForAttachment(A,e.path)).replace(A,"");L=(0,Ke.normalizePath)(`${oe}/${R}`)}else{let A=l.getAbstractFileByPath(y);if(A===null)A=await l.createFolder(y).catch(oe=>{throw new Ke.Notice(`Failed to create screenshot folder ${y}: ${oe instanceof Error?oe.message:oe}`),oe});else if(!(A instanceof Ke.TFolder))return new Ke.Notice(`Screenshot folder occupied, check your preferences: ${A.path}`),!1;L=`${A.path}/${R}`}let I=!1,z=l.getAbstractFileByPath(L);if(z instanceof Ke.TFile)await l.modifyBinary(z,v.arrayBuffer).catch(A=>{throw new Ke.Notice(`Failed to save screenshot to ${z}: ${A instanceof Error?A.message:A}`),A});else if(z===null)I=!0,z=await l.createBinary(L,v.arrayBuffer).catch(A=>{throw new Ke.Notice(`Failed to create screenshot in ${z}: ${A instanceof Error?A.message:A}`),A});else return new Ke.Notice(`Screenshot file occupied by a folder: ${z.path}`),!1;new Ke.Notice(`Screenshot ${I?"created in":"save to"} ${z.path}`);try{return Hf({timestamp:m(e.path),screenshot:o.generateMarkdownLink(z,e.path,"",d.replaceAll("{{TITLE}}",g).replaceAll("{{DURATION}}",E)).replace(/^!/,"")},{editor:n,template:u,insertBefore:c}),!0}catch(A){return new Ke.Notice("Failed to insert screenshot, see console for details"),console.error("Failed to insert screenshot",A),!1}}async function Eu(t){let{provider:e}=t,{blob:{arrayBuffer:n,type:i}}=await ku(e,"image/png",void 0),r;try{r=new ClipboardItem({[i]:new Blob([n],{type:i})})}catch(s){return new Ke.Notice("Failed to copy screenshot, see console for details"),console.error("Failed to copy screenshot",s),!1}await navigator.clipboard.write([r]),new Ke.Notice("Screenshot copied to clipboard")}var Su=require("obsidian");async function Pu(t,{file:e,editor:n}){let i=t.store.getState().player;if(!i)return new Su.Notice("Player not initialized"),!1;let r=t.getMediaInfo();if(!r)return new Su.Notice("No media is opened"),!1;let s=i.currentTime,a=qf(s,r,{app:t.plugin.app,settings:t.plugin.settings.getState(),state:i.state});if(s<=0)return new Su.Notice("Playback not started yet"),!1;let{insertBefore:o,timestampTemplate:l}=t.plugin.settings.getState();try{return Hf({timestamp:a(e.path)},{editor:n,template:l,insertBefore:o}),!0}catch(c){return new Su.Notice("Failed to insert timestamp, see console for details"),console.error("Failed to insert timestamp",c),!1}}var a$=require("obsidian");function yb(t){let e="mx:media-notetaking-notified";localStorage.getItem(e)||(new a$.Notice(createFragment(i=>{i.appendText(`You are taking ${t} from media player. By default, they will only be saved in the media note. `),i.createEl("p",{text:`To take ${t} or control playback from abritrary note, use command when focused on the note`}),i.createEl("p",{text:"PS: you can assign a hotkey to each command in the settings"}),i.appendText("Click to dismiss this notice.")}),0),localStorage.setItem(e,"1"))}function Wf(t){let e=Bn(t);if(!e)return"";let{pathname:n}=e;if(!n)return"";let i=n.split("/").pop();return i?decodeURI(i.split(".").slice(0,-1).join(".")):""}function Kf(t){t.addAction("star","Take timestamp in media note",()=>{let n=t.getMediaInfo();n&&(yb("timestamp"),po(n,t).then(i=>{Pu(t,i)}))});let e=t.getViewType();qx.has(e)&&t.addAction("camera","Take screenshot in media",()=>{let n=t.getMediaInfo();n&&(yb("screenshot"),po(n,t).then(i=>Tu(t,i)))})}function Gf(t,e,n){let{player:i,source:r,toggleControls:s,controls:a,setTransform:o,transform:l,toggleWebFullscreen:c,disableWebFullscreen:u}=t.store.getState();!i||!r||t.plugin.app.workspace.trigger("mx-media-menu",e,{source:r.url,viewType:r.viewType,player:i,toggleControls:s,controls:a,setTransform:o,transform:l,plugin:t.plugin,disableWebFullscreen:u,toggleWebFullscreen:c,reload:()=>t.render()},n,t.leaf)}var _b=new WeakSet;function o$(t){t.subscribe((e,n)=>{e.player!==n.player&&Cu(e)}),t.subscribe((e,n)=>{let i=e.player;if(!i)return;let r=e.source,s=n.source;if(r===s)return;let a=r?.url,o=s?.url;a!==o&&(!a&&o!==void 0||a!==void 0&&!a.compare(o))&&_b.delete(i)})}async function Cu({player:t,hash:{tempFragment:e}}){if(!t||!e)return;let n=!_b.has(t);_b.add(t);let i=null,r=.25;if(Pn(e)||t.currentTimee.end&&(i=e.end),i!==null){let s=i;t.currentTime=s,!t.state.canPlay&&["video/youtube"].includes(t.state.source.type)&&!t.state.autoPlay&&(await jF(t,"seeked"),await t.pause())}Pn(e)&&t.state.canPlay&&!n&&await t.play(new Event("hashchange"))}function jF(t,e){return new Promise(n=>{let i=window.setTimeout(()=>{n(),r()},5e3),r=t.listen(e,()=>{n(),window.clearTimeout(i),r()})})}function Hr(){let t=$p((e,n,i)=>({player:null,playerRef:r=>e({player:r}),source:void 0,hash:{autoplay:void 0,controls:void 0,loop:void 0,muted:void 0,tempFragment:null,volume:void 0},async getPlayer(r=1e4){let{player:s}=n();return s||new Promise((a,o)=>{let l=i.subscribe(({player:u})=>{u&&(l(),a(u),window.clearTimeout(c))}),c=window.setTimeout(()=>{l(),o(new Hi(r))},r)})},setSource(r,{hash:s,viewType:a,title:o,textTracks:l}){e(c=>({source:{...c.source,viewType:a,url:r},textTracks:l??c.textTracks,hash:{...c.hash,...Lp(s||r.hash)},title:(o===!0?Wf(r.source.href):o)??c.title})),Cu(n())},setHash(r){e(s=>({hash:{...s.hash,...Lp(r)}})),Cu(n())},async loadFile(r,{vault:s,subpath:a,defaultLang:o}){let l=await QC(r,s,o),c=PC(r,s);if(!c.inferredType)throw new Error("Unsupported media type");let u=Ft[c.inferredType];e(({source:d,hash:p})=>({source:{...d,url:c,viewType:u},textTracks:l,title:r.name,hash:a?{...p,...Lp(a)}:p})),await Cu(n())},title:"",transform:null,setTransform:r=>{e(r?s=>{let a={transform:{...s.transform,...r}};return a.transform.flipHorizontal&&a.transform.flipVertical&&a.transform.rotate==="180"&&(a.transform={...a.transform,flipHorizontal:!1,flipVertical:!1,rotate:void 0}),a}:{transform:null})},toggleControls(r){let{player:s}=n();e({controls:r}),s&&s.provider instanceof Nn&&s.provider.media.send("mx-toggle-controls",!r)},toggleWebFullscreen(r){let{player:s}=n();e({disableWebFullscreen:!r}),s&&s.provider instanceof Nn&&s.provider.media.send("mx-toggle-webfs",r)},textTracks:[],updateWebHost:r=>e({webHost:r==="generic"?void 0:r})}));return o$(t),t}var wt=(0,si.createContext)(null);function bt(t){let{store:e}=(0,si.useContext)(wt);return Fy(e,t)}function Hs(t){let{plugin:{settings:e}}=(0,si.useContext)(wt);return Fy(e,t)}function Yf(){let{store:t}=(0,si.useContext)(wt);return t}function l$(){return(0,si.useContext)(wt).reload}function Qf(t){let e=(0,si.useContext)(wt).plugin.app;return t?t(e):e}function c$(){return(0,si.useContext)(wt).plugin}function u$(){return(0,si.useContext)(wt).onScreenshot}var ho=()=>(0,si.useContext)(wt).embed;function $u(t,e){let n=ql,i=[()=>n(),t.subscribe((r,s)=>{if(r.player===s.player||(n(),!r.player))return;let a=e(r.player);a?Array.isArray(a)?n=()=>a.forEach(o=>o()):n=a:n=ql})];return()=>i.forEach(r=>r())}var Db=require("obsidian"),FM=$(j());var d$=$(j());function p$(){let t=Ti(),e=Yf();(0,d$.useEffect)(()=>{if(t)return HF(t,e)},[t,e])}function HF(t,e){let n={currentTime:t.state.currentTime,paused:t.state.paused,loop:t.state.loop},i=!1,r=[t.subscribe(({currentTime:s,paused:a,loop:o})=>{let l=qF(e.getState().hash.tempFragment,t.state.duration);if(!l||Pn(l))return;let{start:c,end:u}=l;if(n.paused!==a&&!a)(s>u||su)if(o)t.currentTime=c,a&&t.play();else{if(i){i=!1;return}a||t.pause()}}Object.assign(n,{currentTime:s,paused:a,loop:o})})];return()=>r.forEach(s=>s())}function qF(t,e){if(!t)return null;if(Pn(t))return t;let{start:n,end:i}=t;return e&&ea(s))?.classGroupId}var m$=/^\[(.+)\]$/;function WF(t){if(m$.test(t)){let e=m$.exec(t)[1],n=e?.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}}function KF(t){let{theme:e,prefix:n}=t,i={nextPart:new Map,validators:[]};return YF(Object.entries(t.classGroups),n).forEach(([s,a])=>{wb(a,i,s,e)}),i}function wb(t,e,n,i){t.forEach(r=>{if(typeof r=="string"){let s=r===""?e:g$(e,r);s.classGroupId=n;return}if(typeof r=="function"){if(GF(r)){wb(r(i),e,n,i);return}e.validators.push({validator:r,classGroupId:n});return}Object.entries(r).forEach(([s,a])=>{wb(a,g$(e,s),n,i)})})}function g$(t,e){let n=t;return e.split(bb).forEach(i=>{n.nextPart.has(i)||n.nextPart.set(i,{nextPart:new Map,validators:[]}),n=n.nextPart.get(i)}),n}function GF(t){return t.isThemeGetter}function YF(t,e){return e?t.map(([n,i])=>{let r=i.map(s=>typeof s=="string"?e+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([a,o])=>[e+a,o])):s);return[n,r]}):t}function QF(t){if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,i=new Map;function r(s,a){n.set(s,a),e++,e>t&&(e=0,i=n,n=new Map)}return{get(s){let a=n.get(s);if(a!==void 0)return a;if((a=i.get(s))!==void 0)return r(s,a),a},set(s,a){n.has(s)?n.set(s,a):r(s,a)}}}var y$="!";function XF(t){let e=t.separator,n=e.length===1,i=e[0],r=e.length;return function(a){let o=[],l=0,c=0,u;for(let v=0;vc?u-c:void 0;return{modifiers:o,hasImportantModifier:p,baseClassName:h,maybePostfixModifierPosition:y}}}function ZF(t){if(t.length<=1)return t;let e=[],n=[];return t.forEach(i=>{i[0]==="["?(e.push(...n.sort(),i),n=[]):n.push(i)}),e.push(...n.sort()),e}function JF(t){return{cache:QF(t.cacheSize),splitModifiers:XF(t),...BF(t)}}var e5=/\s+/;function t5(t,e){let{splitModifiers:n,getClassGroupId:i,getConflictingClassGroupIds:r}=e,s=new Set;return t.trim().split(e5).map(a=>{let{modifiers:o,hasImportantModifier:l,baseClassName:c,maybePostfixModifierPosition:u}=n(a),d=i(u?c.substring(0,u):c),p=!!u;if(!d){if(!u)return{isTailwindClass:!1,originalClassName:a};if(d=i(c),!d)return{isTailwindClass:!1,originalClassName:a};p=!1}let h=ZF(o).join(":");return{isTailwindClass:!0,modifierId:l?h+y$:h,classGroupId:d,originalClassName:a,hasPostfixModifier:p}}).reverse().filter(a=>{if(!a.isTailwindClass)return!0;let{modifierId:o,classGroupId:l,hasPostfixModifier:c}=a,u=o+l;return s.has(u)?!1:(s.add(u),r(l,c).forEach(d=>s.add(o+d)),!0)}).reverse().map(a=>a.originalClassName).join(" ")}function n5(){let t=0,e,n,i="";for(;td(u),t());return n=JF(c),i=n.cache.get,r=n.cache.set,s=o,o(l)}function o(l){let c=i(l);if(c)return c;let u=t5(l,n);return r(l,u),u}return function(){return s(n5.apply(null,arguments))}}function Ee(t){let e=n=>n[t]||[];return e.isThemeGetter=!0,e}var w$=/^\[(?:([a-z-]+):)?(.+)\]$/i,r5=/^\d+\/\d+$/,s5=new Set(["px","full","screen"]),a5=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,o5=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,l5=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,c5=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,u5=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;function rr(t){return qs(t)||s5.has(t)||r5.test(t)}function qr(t){return fo(t,"length",y5)}function qs(t){return!!t&&!Number.isNaN(Number(t))}function Xf(t){return fo(t,"number",qs)}function Mu(t){return!!t&&Number.isInteger(Number(t))}function d5(t){return t.endsWith("%")&&qs(t.slice(0,-1))}function Q(t){return w$.test(t)}function Br(t){return a5.test(t)}var p5=new Set(["length","size","percentage"]);function h5(t){return fo(t,p5,b$)}function f5(t){return fo(t,"position",b$)}var m5=new Set(["image","url"]);function g5(t){return fo(t,m5,w5)}function v5(t){return fo(t,"",_5)}function Ru(){return!0}function fo(t,e,n){let i=w$.exec(t);return i?i[1]?typeof e=="string"?i[1]===e:e.has(i[1]):n(i[2]):!1}function y5(t){return o5.test(t)&&!l5.test(t)}function b$(){return!1}function _5(t){return c5.test(t)}function w5(t){return u5.test(t)}function b5(){let t=Ee("colors"),e=Ee("spacing"),n=Ee("blur"),i=Ee("brightness"),r=Ee("borderColor"),s=Ee("borderRadius"),a=Ee("borderSpacing"),o=Ee("borderWidth"),l=Ee("contrast"),c=Ee("grayscale"),u=Ee("hueRotate"),d=Ee("invert"),p=Ee("gap"),h=Ee("gradientColorStops"),y=Ee("gradientColorStopPositions"),v=Ee("inset"),w=Ee("margin"),m=Ee("opacity"),f=Ee("padding"),g=Ee("saturate"),x=Ee("scale"),E=Ee("sepia"),L=Ee("skew"),R=Ee("space"),I=Ee("translate"),z=()=>["auto","contain","none"],A=()=>["auto","hidden","clip","visible","scroll"],oe=()=>["auto",Q,e],ee=()=>[Q,e],or=()=>["",rr,qr],Ce=()=>["auto",qs,Q],xt=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Mi=()=>["solid","dashed","dotted","double","none"],Bo=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"],is=()=>["start","end","center","between","around","evenly","stretch"],jn=()=>["","0",Q],Ri=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Jt=()=>[qs,Xf],rs=()=>[qs,Q];return{cacheSize:500,separator:":",theme:{colors:[Ru],spacing:[rr,qr],blur:["none","",Br,Q],brightness:Jt(),borderColor:[t],borderRadius:["none","","full",Br,Q],borderSpacing:ee(),borderWidth:or(),contrast:Jt(),grayscale:jn(),hueRotate:rs(),invert:jn(),gap:ee(),gradientColorStops:[t],gradientColorStopPositions:[d5,qr],inset:oe(),margin:oe(),opacity:Jt(),padding:ee(),saturate:Jt(),scale:Jt(),sepia:jn(),skew:rs(),space:ee(),translate:ee()},classGroups:{aspect:[{aspect:["auto","square","video",Q]}],container:["container"],columns:[{columns:[Br]}],"break-after":[{"break-after":Ri()}],"break-before":[{"break-before":Ri()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...xt(),Q]}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[v]}],"inset-x":[{"inset-x":[v]}],"inset-y":[{"inset-y":[v]}],start:[{start:[v]}],end:[{end:[v]}],top:[{top:[v]}],right:[{right:[v]}],bottom:[{bottom:[v]}],left:[{left:[v]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Mu,Q]}],basis:[{basis:oe()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Q]}],grow:[{grow:jn()}],shrink:[{shrink:jn()}],order:[{order:["first","last","none",Mu,Q]}],"grid-cols":[{"grid-cols":[Ru]}],"col-start-end":[{col:["auto",{span:["full",Mu,Q]},Q]}],"col-start":[{"col-start":Ce()}],"col-end":[{"col-end":Ce()}],"grid-rows":[{"grid-rows":[Ru]}],"row-start-end":[{row:["auto",{span:[Mu,Q]},Q]}],"row-start":[{"row-start":Ce()}],"row-end":[{"row-end":Ce()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Q]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Q]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...is()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...is(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...is(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[f]}],px:[{px:[f]}],py:[{py:[f]}],ps:[{ps:[f]}],pe:[{pe:[f]}],pt:[{pt:[f]}],pr:[{pr:[f]}],pb:[{pb:[f]}],pl:[{pl:[f]}],m:[{m:[w]}],mx:[{mx:[w]}],my:[{my:[w]}],ms:[{ms:[w]}],me:[{me:[w]}],mt:[{mt:[w]}],mr:[{mr:[w]}],mb:[{mb:[w]}],ml:[{ml:[w]}],"space-x":[{"space-x":[R]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[R]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Q,e]}],"min-w":[{"min-w":[Q,e,"min","max","fit"]}],"max-w":[{"max-w":[Q,e,"none","full","min","max","fit","prose",{screen:[Br]},Br]}],h:[{h:[Q,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Q,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Q,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Q,e,"auto","min","max","fit"]}],"font-size":[{text:["base",Br,qr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Xf]}],"font-family":[{font:[Ru]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Q]}],"line-clamp":[{"line-clamp":["none",qs,Xf]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",rr,Q]}],"list-image":[{"list-image":["none",Q]}],"list-style-type":[{list:["none","disc","decimal",Q]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[m]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[m]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Mi(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",rr,qr]}],"underline-offset":[{"underline-offset":["auto",rr,Q]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:ee()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[m]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...xt(),f5]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",h5]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},g5]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[h]}],"gradient-via":[{via:[h]}],"gradient-to":[{to:[h]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[o]}],"border-w-x":[{"border-x":[o]}],"border-w-y":[{"border-y":[o]}],"border-w-s":[{"border-s":[o]}],"border-w-e":[{"border-e":[o]}],"border-w-t":[{"border-t":[o]}],"border-w-r":[{"border-r":[o]}],"border-w-b":[{"border-b":[o]}],"border-w-l":[{"border-l":[o]}],"border-opacity":[{"border-opacity":[m]}],"border-style":[{border:[...Mi(),"hidden"]}],"divide-x":[{"divide-x":[o]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[o]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[m]}],"divide-style":[{divide:Mi()}],"border-color":[{border:[r]}],"border-color-x":[{"border-x":[r]}],"border-color-y":[{"border-y":[r]}],"border-color-t":[{"border-t":[r]}],"border-color-r":[{"border-r":[r]}],"border-color-b":[{"border-b":[r]}],"border-color-l":[{"border-l":[r]}],"divide-color":[{divide:[r]}],"outline-style":[{outline:["",...Mi()]}],"outline-offset":[{"outline-offset":[rr,Q]}],"outline-w":[{outline:[rr,qr]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:or()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[m]}],"ring-offset-w":[{"ring-offset":[rr,qr]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",Br,v5]}],"shadow-color":[{shadow:[Ru]}],opacity:[{opacity:[m]}],"mix-blend":[{"mix-blend":Bo()}],"bg-blend":[{"bg-blend":Bo()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[i]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",Br,Q]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[g]}],sepia:[{sepia:[E]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[i]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[m]}],"backdrop-saturate":[{"backdrop-saturate":[g]}],"backdrop-sepia":[{"backdrop-sepia":[E]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Q]}],duration:[{duration:rs()}],ease:[{ease:["linear","in","out","in-out",Q]}],delay:[{delay:rs()}],animate:[{animate:["none","spin","ping","pulse","bounce",Q]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[x]}],"scale-x":[{"scale-x":[x]}],"scale-y":[{"scale-y":[x]}],rotate:[{rotate:[Mu,Q]}],"translate-x":[{"translate-x":[I]}],"translate-y":[{"translate-y":[I]}],"skew-x":[{"skew-x":[L]}],"skew-y":[{"skew-y":[L]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Q]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Q]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":ee()}],"scroll-mx":[{"scroll-mx":ee()}],"scroll-my":[{"scroll-my":ee()}],"scroll-ms":[{"scroll-ms":ee()}],"scroll-me":[{"scroll-me":ee()}],"scroll-mt":[{"scroll-mt":ee()}],"scroll-mr":[{"scroll-mr":ee()}],"scroll-mb":[{"scroll-mb":ee()}],"scroll-ml":[{"scroll-ml":ee()}],"scroll-p":[{"scroll-p":ee()}],"scroll-px":[{"scroll-px":ee()}],"scroll-py":[{"scroll-py":ee()}],"scroll-ps":[{"scroll-ps":ee()}],"scroll-pe":[{"scroll-pe":ee()}],"scroll-pt":[{"scroll-pt":ee()}],"scroll-pr":[{"scroll-pr":ee()}],"scroll-pb":[{"scroll-pb":ee()}],"scroll-pl":[{"scroll-pl":ee()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Q]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[rr,qr,Xf]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}var x$=i5(b5);function On(...t){return x$(f$(t))}var k$=$(j());function T$(t){let e=Ti();(0,k$.useEffect)(()=>{if(e)return e.listen("loaded-metadata",n=>{let i=n.target;if(!ro(i.provider)){t("unknown");return}let{videoHeight:r,videoWidth:s}=i.provider.video;t(r===0||s===0?"audio":"unknown")})},[e])}var Zf=$(j());function Jf(){let{controls:t}=xb(),e=bt(r=>r.controls);return e===void 0&&t===void 0?!0:e||t}function xb(){let{volume:t,tempFragment:e,...n}=bt(i=>i.hash);return n}function E$(){let t=Ti(),{volume:e}=bt(s=>s.hash),n=Hs(s=>s.defaultVolume/100),i=e??n,r=(0,Zf.useRef)(i);r.current=i,(0,Zf.useEffect)(()=>t?.subscribe(({canPlay:s})=>{s&&(t.volume=r.current)}),[t])}function Ge(){return Ge=Object.assign?Object.assign.bind():function(t){for(var e=1;et.forEach(n=>x5(n,e))}function Pi(...t){return(0,S$.useCallback)(kb(...t),t)}var ai=$(j(),1);function Wr(t,e=[]){let n=[];function i(s,a){let o=(0,ai.createContext)(a),l=n.length;n=[...n,a];function c(d){let{scope:p,children:h,...y}=d,v=p?.[t][l]||o,w=(0,ai.useMemo)(()=>y,Object.values(y));return(0,ai.createElement)(v.Provider,{value:w},h)}function u(d,p){let h=p?.[t][l]||o,y=(0,ai.useContext)(h);if(y)return y;if(a!==void 0)return a;throw new Error(`\`${d}\` must be used within \`${s}\``)}return c.displayName=s+"Provider",[c,u]}let r=()=>{let s=n.map(a=>(0,ai.createContext)(a));return function(o){let l=o?.[t]||s;return(0,ai.useMemo)(()=>({[`__scope${t}`]:{...o,[t]:l}}),[o,l])}};return r.scopeName=t,[i,k5(r,...e)]}function k5(...t){let e=t[0];if(t.length===1)return e;let n=()=>{let i=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(s){let a=i.reduce((o,{useScope:l,scopeName:c})=>{let d=l(s)[`__scope${c}`];return{...o,...d}},{});return(0,ai.useMemo)(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var go=$(j(),1),P5=$(Ul(),1);var Ne=$(j(),1);var mo=(0,Ne.forwardRef)((t,e)=>{let{children:n,...i}=t,r=Ne.Children.toArray(n),s=r.find(E5);if(s){let a=s.props.children,o=r.map(l=>l===s?Ne.Children.count(a)>1?Ne.Children.only(null):(0,Ne.isValidElement)(a)?a.props.children:null:l);return(0,Ne.createElement)(Tb,Ge({},i,{ref:e}),(0,Ne.isValidElement)(a)?(0,Ne.cloneElement)(a,void 0,o):null)}return(0,Ne.createElement)(Tb,Ge({},i,{ref:e}),n)});mo.displayName="Slot";var Tb=(0,Ne.forwardRef)((t,e)=>{let{children:n,...i}=t;return(0,Ne.isValidElement)(n)?(0,Ne.cloneElement)(n,{...S5(i,n.props),ref:e?kb(e,n.ref):n.ref}):Ne.Children.count(n)>1?Ne.Children.only(null):null});Tb.displayName="SlotClone";var T5=({children:t})=>(0,Ne.createElement)(Ne.Fragment,null,t);function E5(t){return(0,Ne.isValidElement)(t)&&t.type===T5}function S5(t,e){let n={...e};for(let i in e){let r=t[i],s=e[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{s(...o),r(...o)}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...t,...n}}var C5=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Lu=C5.reduce((t,e)=>{let n=(0,go.forwardRef)((i,r)=>{let{asChild:s,...a}=i,o=s?mo:e;return(0,go.useEffect)(()=>{window[Symbol.for("radix-ui")]=!0},[]),(0,go.createElement)(o,Ge({},a,{ref:r}))});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});var vo=$(j(),1);function Eb(t){let e=(0,vo.useRef)(t);return(0,vo.useEffect)(()=>{e.current=t}),(0,vo.useMemo)(()=>(...n)=>{var i;return(i=e.current)===null||i===void 0?void 0:i.call(e,...n)},[])}var P$=$(j(),1),C$=globalThis?.document?P$.useLayoutEffect:()=>{};var Iu=$(j(),1);var $$=$(j(),1);function M$(t){let[e,n]=(0,$$.useState)(void 0);return C$(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});let i=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;let s=r[0],a,o;if("borderBoxSize"in s){let l=s.borderBoxSize,c=Array.isArray(l)?l[0]:l;a=c.inlineSize,o=c.blockSize}else a=t.offsetWidth,o=t.offsetHeight;n({width:a,height:o})});return i.observe(t,{box:"border-box"}),()=>i.unobserve(t)}else n(void 0)},[t]),e}var R$="Popper",[L$,Sb]=Wr(R$),[WH,KH]=L$(R$);var $5="PopperContent",[GH,YH]=L$($5);var Kr=$(j(),1);function I$({prop:t,defaultProp:e,onChange:n=()=>{}}){let[i,r]=M5({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:i,o=Eb(n),l=(0,Kr.useCallback)(c=>{if(s){let d=typeof c=="function"?c(t):c;d!==t&&o(d)}else r(c)},[s,t,r,o]);return[a,l]}function M5({defaultProp:t,onChange:e}){let n=(0,Kr.useState)(t),[i]=n,r=(0,Kr.useRef)(i),s=Eb(e);return(0,Kr.useEffect)(()=>{r.current!==i&&(s(i),r.current=i)},[i,r,s]),n}var[em,aq]=Wr("Tooltip",[Sb]),oq=Sb(),R5="TooltipProvider",L5=700;var[I5,lq]=em(R5),A5=t=>{let{__scopeTooltip:e,delayDuration:n=L5,skipDelayDuration:i=300,disableHoverableContent:r=!1,children:s}=t,[a,o]=(0,Ot.useState)(!0),l=(0,Ot.useRef)(!1),c=(0,Ot.useRef)(0);return(0,Ot.useEffect)(()=>{let u=c.current;return()=>window.clearTimeout(u)},[]),(0,Ot.createElement)(I5,{scope:e,isOpenDelayed:a,delayDuration:n,onOpen:(0,Ot.useCallback)(()=>{window.clearTimeout(c.current),o(!1)},[]),onClose:(0,Ot.useCallback)(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o(!0),i)},[i]),isPointerInTransitRef:l,onPointerInTransitChange:(0,Ot.useCallback)(u=>{l.current=u},[]),disableHoverableContent:r},s)},A$="Tooltip",[cq,uq]=em(A$);var N5="TooltipPortal",[dq,pq]=em(N5,{forceMount:void 0});var[hq,fq]=em(A$,{isInside:!1});var tm=A5;var rm=$(j());var F$=require("obsidian"),im=$(j()),Z$=$(ae());function j5(t){let e=(0,im.useRef)(null);return[(0,im.useCallback)(i=>{e.current&&e.current.empty(),i&&(0,F$.setIcon)(i,t),e.current=i},[t])]}function Ve(t){return function(n){let[i]=j5(t);return(0,Z$.jsx)("div",{ref:i,...n})}}var z$=Ve("play"),U$=Ve("pause"),wq=Ve("volume"),j$=Ve("volume-1"),H$=Ve("volume-2"),q$=Ve("volume-x"),B$=Ve("maximize"),W$=Ve("minimize"),H5=Ve("picture-in-picture-2"),q5=Ve("picture-in-picture"),Pb=Ve("subtitles"),bq=Ve("check-circle"),xq=Ve("circle"),K$=Ve("fast-forward"),G$=Ve("rewind"),Y$=Ve("edit"),Q$=Ve("image-down"),B5=Ve("pin"),X$=Ve("more-horizontal"),kq=Ve("plus"),Tq=Ve("trash");var Ze=$(ae()),Au="group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden";function sm(){let t=_e("paused");return(0,Ze.jsx)(yf,{className:Au,"aria-label":t?"Play":"Pause",children:t?(0,Ze.jsx)(z$,{className:"w-7 h-7 translate-x-px"}):(0,Ze.jsx)(U$,{className:"w-7 h-7"})})}function J$({seconds:t}){return(0,Ze.jsx)(uu,{className:Au,seconds:t,"aria-label":`Fast forward ${t}s`,children:(0,Ze.jsx)(K$,{className:"w-7 h-7"})})}function eM({seconds:t}){return(0,Ze.jsx)(uu,{className:Au,seconds:-t,"aria-label":`Rewind ${t}s`,children:(0,Ze.jsx)(G$,{className:"w-7 h-7"})})}function am(){let t=_e("volume"),e=_e("muted");return(0,Ze.jsx)(wf,{className:Au,"aria-label":e?"Unmute":"Mute",children:e||t==0?(0,Ze.jsx)(q$,{className:"w-7 h-7"}):t<.5?(0,Ze.jsx)(j$,{className:"w-7 h-7"}):(0,Ze.jsx)(H$,{className:"w-7 h-7"})})}function tM(){let t=_e("fullscreen");return(0,Ze.jsx)(_f,{className:Au,"aria-label":t?"Exit fullscreen":"Enter fullscreen",children:t?(0,Ze.jsx)(W$,{className:"w-7 h-7"}):(0,Ze.jsx)(B$,{className:"w-7 h-7"})})}function om(){return ho()?(0,Ze.jsx)("button",{className:On("mx-lp-edit","group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden"),onClick:()=>{},[Gr]:!0,"aria-label":"Edit in editor",children:(0,Ze.jsx)(Y$,{className:"w-7 h-7"})}):null}function W5(){let t=N1(),[e,n]=(0,rm.useState)(()=>js(t)),i=u$(),r=Hs(a=>a.screenshotFormat),s=Hs(a=>a.screenshotQuality);return(0,rm.useEffect)(()=>{n(js(t))},[t]),!e||!i||!t?null:async()=>{i(await ku(t,r,s))}}function nM(){let t=W5();return t?(0,Ze.jsx)("button",{className:"group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden",onClick:t,"aria-label":"Capture screenshot",children:(0,Ze.jsx)(Q$,{className:"w-7 h-7"})}):null}var Gr="data-lp-pass-through";function dt(t,e){let n=Object.keys(e).map(i=>K5(t,i,e[i]));return n.length===1?n[0]:function(){n.forEach(i=>i())}}function K5(t,e,n){let i=t[e],r=t.hasOwnProperty(e),s=n(i);return i&&Object.setPrototypeOf(s,i),Object.setPrototypeOf(a,s),t[e]=a,o;function a(...l){return s===i&&t[e]===a&&o(),s.apply(this,l)}function o(){t[e]===a&&(r?t[e]=i:delete t[e]),s!==i&&(s=i,Object.setPrototypeOf(a,i||Function))}}var rM=require("obsidian"),sM=$(j());var Nu=$(ae());function aM(t){let e=(0,sM.useRef)(null);return n=>{e.current?.close(),e.current=null;let i=new rM.Menu;t(i)?(Zs(n.nativeEvent,i),n.nativeEvent.stopImmediatePropagation(),dt(i,{close:r=>function(...s){return e.current===this&&(e.current=null),r.call(this,...s)}}),e.current=i):i.close()}}function oM(){let t=Zw(),e=_e("textTracks"),n=aM(i=>(t.forEach(({label:r,select:s,selected:a},o,l)=>{i.addItem(c=>{l.length===2&&r==="Unknown"&&(r="On"),c.setTitle(r).setChecked(a).onClick(s)})}),!0));return e.length===0?null:(0,Nu.jsx)("button",{className:"group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden",[Gr]:!0,onClick:n,"aria-label":"Select Caption",children:(0,Nu.jsx)(Pb,{className:"w-7 h-7"})})}function lm(){let t=Ti(),e=Qf(l=>l.workspace),n=c$(),i=ho(),r=l$(),s=bt(l=>l.source),a=Yf(),o=aM(l=>{if(!t||!s)return!1;let{toggleControls:c,controls:u,setTransform:d,transform:p,disableWebFullscreen:h,toggleWebFullscreen:y}=a.getState();return e.trigger("mx-media-menu",l,{player:t,reload:r,source:s.url,viewType:s.viewType,toggleControls:c,controls:u,setTransform:d,transform:p,plugin:n,disableWebFullscreen:h,toggleWebFullscreen:y},i?"player-menu-embed":"player-menu-view"),!0});return!t||!s?null:(0,Nu.jsx)("button",{className:"group ring-mod-border-focus relative inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-md outline-none ring-inset hover:bg-white/20 focus-visible:ring-2 aria-disabled:hidden",[Gr]:!0,onClick:o,"aria-label":"More options",children:(0,Nu.jsx)(X$,{className:"w-7 h-7"})})}var pm=$(j());var W=$(j(),1);function Cb(t,[e,n]){return Math.min(n,Math.max(e,t))}var Du=$(j(),1),G5=(0,Du.createContext)(void 0);function cM(t){let e=(0,Du.useContext)(G5);return t||e||"ltr"}var cm=$(j(),1);function uM(t){let e=(0,cm.useRef)({value:t,previous:t});return(0,cm.useMemo)(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var oi=$(j(),1);function dM(t){let e=t+"CollectionProvider",[n,i]=Wr(e),[r,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=h=>{let{scope:y,children:v}=h,w=oi.default.useRef(null),m=oi.default.useRef(new Map).current;return oi.default.createElement(r,{scope:y,itemMap:m,collectionRef:w},v)},o=t+"CollectionSlot",l=oi.default.forwardRef((h,y)=>{let{scope:v,children:w}=h,m=s(o,v),f=Pi(y,m.collectionRef);return oi.default.createElement(mo,{ref:f},w)}),c=t+"CollectionItemSlot",u="data-radix-collection-item",d=oi.default.forwardRef((h,y)=>{let{scope:v,children:w,...m}=h,f=oi.default.useRef(null),g=Pi(y,f),x=s(c,v);return oi.default.useEffect(()=>(x.itemMap.set(f,{ref:f,...m}),()=>void x.itemMap.delete(f))),oi.default.createElement(mo,{[u]:"",ref:g},w)});function p(h){let y=s(t+"CollectionConsumer",h);return oi.default.useCallback(()=>{let w=y.collectionRef.current;if(!w)return[];let m=Array.from(w.querySelectorAll(`[${u}]`));return Array.from(y.itemMap.values()).sort((x,E)=>m.indexOf(x.ref.current)-m.indexOf(E.ref.current))},[y.collectionRef,y.itemMap])}return[{Provider:a,Slot:l,ItemSlot:d},p,i]}var fM=["PageUp","PageDown"],mM=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],gM={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Ou="Slider",[$b,Y5,Q5]=dM(Ou),[vM,lB]=Wr(Ou,[Q5]),[X5,um]=vM(Ou),Z5=(0,W.forwardRef)((t,e)=>{let{name:n,min:i=0,max:r=100,step:s=1,orientation:a="horizontal",disabled:o=!1,minStepsBetweenThumbs:l=0,defaultValue:c=[i],value:u,onValueChange:d=()=>{},onValueCommit:p=()=>{},inverted:h=!1,...y}=t,[v,w]=(0,W.useState)(null),m=Pi(e,Ce=>w(Ce)),f=(0,W.useRef)(new Set),g=(0,W.useRef)(0),x=a==="horizontal",E=v?!!v.closest("form"):!0,L=x?J5:e4,[R=[],I]=I$({prop:u,defaultProp:c,onChange:Ce=>{var xt;(xt=[...f.current][g.current])===null||xt===void 0||xt.focus(),d(Ce)}}),z=(0,W.useRef)(R);function A(Ce){let xt=c4(R,Ce);or(Ce,xt)}function oe(Ce){or(Ce,g.current)}function ee(){let Ce=z.current[g.current];R[g.current]!==Ce&&p(R)}function or(Ce,xt,{commit:Mi}={commit:!1}){let Bo=h4(s),is=f4(Math.round((Ce-i)/s)*s+i,Bo),jn=Cb(is,[i,r]);I((Ri=[])=>{let Jt=o4(Ri,jn,xt);if(p4(Jt,l*s)){g.current=Jt.indexOf(jn);let rs=String(Jt)!==String(Ri);return rs&&Mi&&p(Jt),rs?Jt:Ri}else return Ri})}return(0,W.createElement)(X5,{scope:t.__scopeSlider,disabled:o,min:i,max:r,valueIndexToChangeRef:g,thumbs:f.current,values:R,orientation:a},(0,W.createElement)($b.Provider,{scope:t.__scopeSlider},(0,W.createElement)($b.Slot,{scope:t.__scopeSlider},(0,W.createElement)(L,Ge({"aria-disabled":o,"data-disabled":o?"":void 0},y,{ref:m,onPointerDown:Bs(y.onPointerDown,()=>{o||(z.current=R)}),min:i,max:r,inverted:h,onSlideStart:o?void 0:A,onSlideMove:o?void 0:oe,onSlideEnd:o?void 0:ee,onHomeKeyDown:()=>!o&&or(i,0,{commit:!0}),onEndKeyDown:()=>!o&&or(r,R.length-1,{commit:!0}),onStepKeyDown:({event:Ce,direction:xt})=>{if(!o){let is=fM.includes(Ce.key)||Ce.shiftKey&&mM.includes(Ce.key)?10:1,jn=g.current,Ri=R[jn],Jt=s*is*xt;or(Ri+Jt,jn,{commit:!0})}}})))),E&&R.map((Ce,xt)=>(0,W.createElement)(a4,{key:xt,name:n?n+(R.length>1?"[]":""):void 0,value:Ce})))}),[yM,_M]=vM(Ou,{startEdge:"left",endEdge:"right",size:"width",direction:1}),J5=(0,W.forwardRef)((t,e)=>{let{min:n,max:i,dir:r,inverted:s,onSlideStart:a,onSlideMove:o,onSlideEnd:l,onStepKeyDown:c,...u}=t,[d,p]=(0,W.useState)(null),h=Pi(e,g=>p(g)),y=(0,W.useRef)(),v=cM(r),w=v==="ltr",m=w&&!s||!w&&s;function f(g){let x=y.current||d.getBoundingClientRect(),E=[0,x.width],R=Mb(E,m?[n,i]:[i,n]);return y.current=x,R(g-x.left)}return(0,W.createElement)(yM,{scope:t.__scopeSlider,startEdge:m?"left":"right",endEdge:m?"right":"left",direction:m?1:-1,size:"width"},(0,W.createElement)(wM,Ge({dir:v,"data-orientation":"horizontal"},u,{ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:g=>{let x=f(g.clientX);a?.(x)},onSlideMove:g=>{let x=f(g.clientX);o?.(x)},onSlideEnd:()=>{y.current=void 0,l?.()},onStepKeyDown:g=>{let E=gM[m?"from-left":"from-right"].includes(g.key);c?.({event:g,direction:E?-1:1})}})))}),e4=(0,W.forwardRef)((t,e)=>{let{min:n,max:i,inverted:r,onSlideStart:s,onSlideMove:a,onSlideEnd:o,onStepKeyDown:l,...c}=t,u=(0,W.useRef)(null),d=Pi(e,u),p=(0,W.useRef)(),h=!r;function y(v){let w=p.current||u.current.getBoundingClientRect(),m=[0,w.height],g=Mb(m,h?[i,n]:[n,i]);return p.current=w,g(v-w.top)}return(0,W.createElement)(yM,{scope:t.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1},(0,W.createElement)(wM,Ge({"data-orientation":"vertical"},c,{ref:d,style:{...c.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:v=>{let w=y(v.clientY);s?.(w)},onSlideMove:v=>{let w=y(v.clientY);a?.(w)},onSlideEnd:()=>{p.current=void 0,o?.()},onStepKeyDown:v=>{let m=gM[h?"from-bottom":"from-top"].includes(v.key);l?.({event:v,direction:m?-1:1})}})))}),wM=(0,W.forwardRef)((t,e)=>{let{__scopeSlider:n,onSlideStart:i,onSlideMove:r,onSlideEnd:s,onHomeKeyDown:a,onEndKeyDown:o,onStepKeyDown:l,...c}=t,u=um(Ou,n);return(0,W.createElement)(Lu.span,Ge({},c,{ref:e,onKeyDown:Bs(t.onKeyDown,d=>{d.key==="Home"?(a(d),d.preventDefault()):d.key==="End"?(o(d),d.preventDefault()):fM.concat(mM).includes(d.key)&&(l(d),d.preventDefault())}),onPointerDown:Bs(t.onPointerDown,d=>{let p=d.target;p.setPointerCapture(d.pointerId),d.preventDefault(),u.thumbs.has(p)?p.focus():i(d)}),onPointerMove:Bs(t.onPointerMove,d=>{d.target.hasPointerCapture(d.pointerId)&&r(d)}),onPointerUp:Bs(t.onPointerUp,d=>{let p=d.target;p.hasPointerCapture(d.pointerId)&&(p.releasePointerCapture(d.pointerId),s(d))})}))}),t4="SliderTrack",n4=(0,W.forwardRef)((t,e)=>{let{__scopeSlider:n,...i}=t,r=um(t4,n);return(0,W.createElement)(Lu.span,Ge({"data-disabled":r.disabled?"":void 0,"data-orientation":r.orientation},i,{ref:e}))}),pM="SliderRange",i4=(0,W.forwardRef)((t,e)=>{let{__scopeSlider:n,...i}=t,r=um(pM,n),s=_M(pM,n),a=(0,W.useRef)(null),o=Pi(e,a),l=r.values.length,c=r.values.map(p=>bM(p,r.min,r.max)),u=l>1?Math.min(...c):0,d=100-Math.max(...c);return(0,W.createElement)(Lu.span,Ge({"data-orientation":r.orientation,"data-disabled":r.disabled?"":void 0},i,{ref:o,style:{...t.style,[s.startEdge]:u+"%",[s.endEdge]:d+"%"}}))}),hM="SliderThumb",r4=(0,W.forwardRef)((t,e)=>{let n=Y5(t.__scopeSlider),[i,r]=(0,W.useState)(null),s=Pi(e,o=>r(o)),a=(0,W.useMemo)(()=>i?n().findIndex(o=>o.ref.current===i):-1,[n,i]);return(0,W.createElement)(s4,Ge({},t,{ref:s,index:a}))}),s4=(0,W.forwardRef)((t,e)=>{let{__scopeSlider:n,index:i,...r}=t,s=um(hM,n),a=_M(hM,n),[o,l]=(0,W.useState)(null),c=Pi(e,w=>l(w)),u=M$(o),d=s.values[i],p=d===void 0?0:bM(d,s.min,s.max),h=l4(i,s.values.length),y=u?.[a.size],v=y?u4(y,p,a.direction):0;return(0,W.useEffect)(()=>{if(o)return s.thumbs.add(o),()=>{s.thumbs.delete(o)}},[o,s.thumbs]),(0,W.createElement)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[a.startEdge]:`calc(${p}% + ${v}px)`}},(0,W.createElement)($b.ItemSlot,{scope:t.__scopeSlider},(0,W.createElement)(Lu.span,Ge({role:"slider","aria-label":t["aria-label"]||h,"aria-valuemin":s.min,"aria-valuenow":d,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,tabIndex:s.disabled?void 0:0},r,{ref:c,style:d===void 0?{display:"none"}:t.style,onFocus:Bs(t.onFocus,()=>{s.valueIndexToChangeRef.current=i})}))))}),a4=t=>{let{value:e,...n}=t,i=(0,W.useRef)(null),r=uM(e);return(0,W.useEffect)(()=>{let s=i.current,a=window.HTMLInputElement.prototype,l=Object.getOwnPropertyDescriptor(a,"value").set;if(r!==e&&l){let c=new Event("input",{bubbles:!0});l.call(s,e),s.dispatchEvent(c)}},[r,e]),(0,W.createElement)("input",Ge({style:{display:"none"}},n,{ref:i,defaultValue:e}))};function o4(t=[],e,n){let i=[...t];return i[n]=e,i.sort((r,s)=>r-s)}function bM(t,e,n){let s=100/(n-e)*(t-e);return Cb(s,[0,100])}function l4(t,e){return e>2?`Value ${t+1} of ${e}`:e===2?["Minimum","Maximum"][t]:void 0}function c4(t,e){if(t.length===1)return 0;let n=t.map(r=>Math.abs(r-e)),i=Math.min(...n);return n.indexOf(i)}function u4(t,e,n){let i=t/2,s=Mb([0,50],[0,i]);return(i-s(e)*n)*n}function d4(t){return t.slice(0,-1).map((e,n)=>t[n+1]-e)}function p4(t,e){if(e>0){let n=d4(t);return Math.min(...n)>=e}return!0}function Mb(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];let i=(e[1]-e[0])/(t[1]-t[0]);return e[0]+i*(n-t[0])}}function h4(t){return(String(t).split(".")[1]||"").length}function f4(t,e){let n=Math.pow(10,e);return Math.round(t*n)/n}var Rb=Z5,xM=n4,kM=i4,TM=r4;var EM=$(j());var yo=$(ae()),dm=EM.forwardRef(({className:t,variant:e="regular",autoHidden:n,children:i,...r},s)=>(0,yo.jsxs)(Rb,{ref:s,className:On("group relative flex w-full touch-none select-none items-center",t),...r,children:[(0,yo.jsx)(xM,{className:"relative h-slider-track w-full grow overflow-hidden rounded-sm bg-slider-track",children:(0,yo.jsx)(kM,{className:"absolute h-full bg-ia-accent rounded-sm will-change-[width]"})}),(0,yo.jsx)(TM,{className:On("block rounded-slider-thumb border-width-slider-thumb border-slider-thumb bg-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mod-border-focus disabled:pointer-events-none disabled:opacity-50 transition-opacity will-change-[left]",e==="regular"?"h-slider-thumb w-slider-thumb":"h-slider-thumb-sm w-slider-thumb-sm",n&&"opacity-0 group-hocus:opacity-100 focus:opacity-100")}),i]}));dm.displayName=Rb.displayName;var Yr=$(ae());function hm(){let t=_e("volume"),e=_e("canSetVolume"),n=Pf();return e?(0,Yr.jsx)(dm,{className:"group relative inline-flex h-10 w-full max-w-[80px] cursor-pointer touch-none select-none items-center outline-none",value:[t*100],onValueChange:([i])=>{n.changeVolume(i/100)},"aria-label":"Volume",autoHidden:!0}):null}function fm({thumbnails:t}){let e=_e("currentTime"),n=_e("canSeek"),i=_e("duration"),r=_e("seeking"),s=Pf(),a=1/i*100,[o,l]=(0,pm.useState)(0),{previewRootRef:c,previewRef:u,previewValue:d}=D1({clamp:!0,offset:6,orientation:"horizontal"}),p=d/100*i;return(0,pm.useEffect)(()=>{r||l(e/i*100)},[e,i,r]),(0,Yr.jsx)(dm,{className:"group relative inline-flex h-9 w-full cursor-pointer touch-none select-none items-center outline-none",value:[o],disabled:!n,step:Number.isFinite(a)?a:1,ref:c,onValueChange:([h])=>{l(h),s.seeking(h/100*i)},onValueCommit:([h])=>{s.seek(h/100*i)},autoHidden:!0,"aria-label":"Current Time",children:(0,Yr.jsxs)("div",{className:"flex flex-col items-center absolute opacity-0 data-[visible]:opacity-100 transition-opacity duration-200 will-change-[left] pointer-events-none",ref:u,children:[t?(0,Yr.jsx)(bf.Root,{src:t,time:p,className:"block mb-2 h-[var(--thumbnail-height)] max-h-[160px] min-h-[80px] w-[var(--thumbnail-width)] min-w-[120px] max-w-[180px] overflow-hidden border border-white bg-black",children:(0,Yr.jsx)(bf.Img,{})}):null,(0,Yr.jsx)("span",{className:"text-[13px]",children:Ur(p)})]})})}var _o=$(ae());function mm(){return(0,_o.jsxs)("div",{className:"ml-2.5 flex items-center text-sm font-medium",children:[(0,_o.jsx)(du,{className:"time",type:"current"}),(0,_o.jsx)("div",{className:"mx-1 text-white/80",children:"/"}),(0,_o.jsx)(du,{className:"time",type:"duration"})]})}var Vu=$(ae());function gm(){let t=_e("title").trim(),e=Tf().trim();return!t&&!e?null:(0,Vu.jsxs)("span",{className:"inline-block flex-1 overflow-hidden text-ellipsis whitespace-nowrap px-2 text-sm font-medium text-white/70",children:[(0,Vu.jsx)("span",{className:"mr-1",children:"|"}),(0,Vu.jsx)("span",{children:e||t})]})}var me=$(ae());function PM({thumbnails:t}){return(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)(g4,{}),(0,me.jsx)(nr.Root,{className:"opacity-100 absolute inset-0 z-10 flex h-full w-full flex-col bg-gradient-to-t from-black/10 to-transparent",children:(0,me.jsxs)(tm,{children:[(0,me.jsx)("div",{className:"flex-1"}),(0,me.jsx)(nr.Group,{className:"flex w-full items-center px-2",children:(0,me.jsx)(fm,{thumbnails:t})}),(0,me.jsxs)(nr.Group,{className:"-mt-0.5 flex w-full items-center px-2 pb-2",children:[(0,me.jsx)(eM,{seconds:30}),(0,me.jsx)(sm,{}),(0,me.jsx)(J$,{seconds:30}),(0,me.jsx)(am,{}),(0,me.jsx)(hm,{}),(0,me.jsx)(mm,{}),(0,me.jsx)(gm,{}),(0,me.jsx)("div",{className:"flex-1"}),(0,me.jsx)(om,{}),(0,me.jsx)(lm,{})]})]})})]})}function g4(){return(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)(In,{className:"absolute inset-0 z-0 block h-full w-full",event:"pointerup",action:"toggle:paused"}),(0,me.jsx)(In,{className:"absolute inset-0 z-0 block h-full w-full",event:"dblpointerup",action:"toggle:fullscreen"}),(0,me.jsx)(In,{className:"absolute left-0 top-0 z-10 block h-full w-1/5",event:"dblpointerup",action:"seek:-10"}),(0,me.jsx)(In,{className:"absolute right-0 top-0 z-10 block h-full w-1/5",event:"dblpointerup",action:"seek:10"})]})}var de=$(ae());function CM({thumbnails:t}){return(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)(v4,{}),(0,de.jsx)(Ef,{className:"mx-captions media-preview:opacity-0 media-controls:bottom-[85px] media-captions:opacity-100 absolute inset-0 bottom-2 z-10 select-none break-words opacity-0 transition-[opacity,bottom] duration-300"}),(0,de.jsx)(nr.Root,{className:"media-controls:opacity-100 not-media-can-load:opacity-100 absolute inset-0 z-10 flex h-full w-full flex-col bg-gradient-to-t from-black/10 to-transparent opacity-0 transition-opacity",children:(0,de.jsxs)(tm,{children:[(0,de.jsx)("div",{className:"flex-1"}),(0,de.jsx)(nr.Group,{className:"flex w-full items-center px-2",children:(0,de.jsx)(fm,{thumbnails:t})}),(0,de.jsxs)(nr.Group,{className:"-mt-0.5 flex w-full items-center px-2 pb-2",children:[(0,de.jsx)(sm,{}),(0,de.jsx)(am,{}),(0,de.jsx)(hm,{}),(0,de.jsx)(mm,{}),(0,de.jsx)(gm,{}),(0,de.jsx)("div",{className:"flex-1"}),(0,de.jsx)(oM,{}),(0,de.jsx)(nM,{}),(0,de.jsx)(tM,{}),(0,de.jsx)(om,{}),(0,de.jsx)(lm,{})]})]})})]})}function v4(){return(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)(In,{className:"absolute inset-0 z-0 block h-full w-full",event:"pointerup",action:"toggle:paused"}),(0,de.jsx)(In,{className:"absolute inset-0 z-0 block h-full w-full",event:"dblpointerup",action:"toggle:fullscreen"}),(0,de.jsx)(In,{className:"absolute left-0 top-0 z-10 block h-full w-1/5",event:"dblpointerup",action:"seek:-10"}),(0,de.jsx)(In,{className:"absolute right-0 top-0 z-10 block h-full w-1/5",event:"dblpointerup",action:"seek:10"})]})}var OM=$(j());var Fu=class{constructor(){_(this,"name","webview");_(this,"target")}canPlay({src:e}){return hu(e)&&MC(e)}mediaType(){return"video"}async load(e){return new Nn(this.target,e)}};var gn=$(j());function vm(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}var $M=$(j());function MM(t,e){var n=(0,$M.useState)(function(){return{value:t,callback:e,facade:{get current(){return n.value},set current(i){var r=n.value;r!==i&&(n.value=i,n.callback(i,r))}}}})[0];return n.callback=e,n.facade}var LM=$(j());var RM=new WeakMap;function Lb(t,e){var n=MM(e||null,function(i){return t.forEach(function(r){return vm(r,i)})});return LM.useLayoutEffect(function(){var i=RM.get(n);if(i){var r=new Set(i),s=new Set(t),a=n.current;r.forEach(function(o){s.has(o)||vm(o,null)}),s.forEach(function(o){r.has(o)||vm(o,a)})}RM.set(n,t)},[t]),n}var _m=require("obsidian"),ym={mac:"Mozilla/5.0 (Macintosh; Intel Mac OS X 12.1; rv:95.0) Gecko/20100101 Firefox/95.0",windows:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0",linux:"Mozilla/5.0 (Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"};function Ib(t){return _m.Platform.isWin?ym.windows:_m.Platform.isMacOS?ym.mac:_m.Platform.isLinux?ym.linux:ym.windows}var IM=$(j()),Ab={onLoadCommit:"load-commit",onDidFinishLoad:"did-finish-load",onDidFailLoad:"did-fail-load",onDidFrameFinishLoad:"did-frame-finish-load",onDidStartLoading:"did-start-loading",onDidStopLoading:"did-stop-loading",onDidAttach:"did-attach",onDomReady:"dom-ready",onPageTitleUpdated:"page-title-updated",onPageFaviconUpdated:"page-favicon-updated",onEnterHtmlFullScreen:"enter-html-full-screen",onLeaveHtmlFullScreen:"leave-html-full-screen",onConsoleMessage:"console-message",onFoundInPage:"found-in-page",onWillNavigate:"will-navigate",onDidStartNavigation:"did-start-navigation",onDidRedirectNavigation:"did-redirect-navigation",onDidNavigate:"did-navigate",onDidFrameNavigate:"did-frame-navigate",onDidNavigateInPage:"did-navigate-in-page",onClose:"close",onIpcMessage:"ipc-message",onCrashed:"crashed",onPluginCrashed:"plugin-crashed",onDestroyed:"destroyed",onMediaStartedPlaying:"media-started-playing",onMediaPaused:"media-paused",onDidChangeThemeColor:"did-change-theme-color",onUpdateTargetUrl:"update-target-url",onDevtoolsOpened:"devtools-opened",onDevtoolsClosed:"devtools-closed",onDevtoolsFocused:"devtools-focused",onContextMenu:"context-menu"};function y4(t){return Object.entries(t).reduce((e,[n,i])=>(n in Ab?e.event[n]=i:e.rest[n]=i,e),{event:{},rest:{}})}function AM(t,e){let{event:n,rest:i}=y4(t);for(let r of Object.keys(Ab)){let s=r,a=Ab[s],o=n[s];(0,IM.useEffect)(()=>{if(!e.current||!o)return;let l=e.current;return l.addEventListener(a,o),()=>{l.removeEventListener(a,o)}},[a,o,e])}return i}var DM=$(ae()),NM=(0,gn.forwardRef)(function({devtools:e=!1,muted:n=!1,className:i,useragent:r,...s},a){let o=(0,gn.useRef)(null),[l,c]=(0,gn.useState)(!1),u=AM(s,o);w4(n,o,l);let d=_4(r??navigator.userAgent,o,l);return(0,gn.useEffect)(()=>{if(!o.current)return;let p=o.current;return p.addEventListener("dom-ready",h),p.addEventListener("will-navigate",y),()=>{p.removeEventListener("dom-ready",h),p.removeEventListener("will-navigate",y)};function h(){c(!0)}function y(){c(!1)}},[]),(0,DM.jsx)("webview",{ref:Lb([o,a]),className:On("h-full w-full",i),useragent:d,...u})});function _4(t,e,n){let i=(0,gn.useMemo)(()=>{let r=t??navigator.userAgent;return Ib(r)},[t]);return(0,gn.useEffect)(()=>{!e.current||!n||i===e.current.useragent||e.current.setUserAgent(i)},[i,n,e]),i}function w4(t,e,n){(0,gn.useEffect)(()=>{!e.current||!n||t===e.current.isAudioMuted()||e.current.setAudioMuted(t)},[t,n,e])}var Nb=$(ae());function VM({loaders:t,...e}){let n=Qf(l=>l.appId),i=_e("viewType"),r=bt(l=>!!l.transform?.flipHorizontal),s=bt(l=>!!l.transform?.flipVertical),a=bt(l=>{if(l.transform?.rotate)switch(l.transform.rotate){case"90":return"rotate-90";case"180":return"rotate-180";case"270":return"rotate-[270deg]";default:return}}),o=Jf();return(0,Nb.jsx)(tb,{className:On(i==="video"&&r&&"-scale-x-100",i==="video"&&s&&"-scale-y-100",i==="video"&&a),loaders:[Fu,...t??[]],buildMediaEl:(0,OM.useCallback)((l,c)=>l instanceof Fu?(0,Nb.jsx)(NM,{"aria-hidden":!0,className:On("data-[play-ready]:blur-none blur-lg transition-opacity",o&&"pointer-events-none"),webpreferences:"autoplayPolicy=user-gesture-required",partition:lr(n),ref:u=>{c.load(u)}}):null,[n,o]),...e})}var li=$(ae()),zM=$(j());function b4({onViewTypeChange:t}){return T$(t),p$(),E$(),(0,li.jsx)(li.Fragment,{})}function x4(){let t=_e("viewType"),e=Jf();return t==="audio"?(0,li.jsx)(PM,{}):e?(0,li.jsx)(CM,{}):null}function Qr(){let t=bt(d=>d.playerRef),e=bt(({source:d})=>{if(!d)return;let p=d.url.source.href;return d.viewType==="mx-webpage"?{src:CC(p)}:{type:d.viewType.endsWith("video")?"video/mp4":d.viewType.endsWith("audio")?"audio/mp3":void 0,src:p}}),n=bt(({source:d})=>!!d?.url.source.pathname.endsWith(".webm")),i=bt(({textTracks:d})=>d),r=Hs(d=>d.loadStrategy),s=ho(),[a,o]=(0,FM.useState)("unknown"),l=bt(d=>d.title),{controls:c,...u}=xb();return e?(0,li.jsxs)(eb,{className:On("w-full bg-slate-900 text-white font-sans overflow-hidden rounded-md ring-mod-border-focus data-[focus]:ring-2","data-[view-type=video]:aspect-video data-[view-type=audio]:h-20 data-[view-type=audio]:aspect-auto"),load:s?r:"eager",src:e,playsInline:!0,title:l,viewType:a,ref:t,onError:d=>{new Db.Notice(createFragment(p=>{switch(p.appendText(`Failed to load media for ${e.src}: `),p.createEl("br"),d.code){case 1:p.appendText("The media playback was aborted");break;case 2:p.appendText("A network error caused the media playback to fail");break;case 3:p.appendText("The media playback was aborted due to a corruption problem or because the media encoding is not supported");break;case 4:p.appendText("The media is not supported to open as regular video or audio, try open as webpage");break;default:p.appendText(d.message||"Unknown error, check console for more details"),console.error("Failed to load media",e.src,d);break}}))},...u,children:[(0,li.jsx)(VM,{children:i.map(d=>(0,zM.createElement)(nb,{...d,key:d.id}))}),(0,li.jsx)(b4,{onViewTypeChange:d=>{o(d),!n&&d==="audio"&&new Db.Notice("Unable to show video content due to a potentially unsupported codec by Obsidian. For verification, please disable this plugin, add the video to the vault, and check if video playback resumes normally.")}}),(0,li.jsx)(x4,{})]}):null}function wm(t,e){let n=new WeakMap,i;t.register($u(t.store,r=>[r.subscribe(({currentTime:s,paused:a,playbackRate:o})=>{s!==0&&r.el&&n.set(t.leaf.parent,{currentTime:s,paused:a,playbackRate:o})}),r.listen("can-play",()=>{if(!i)return;let s=n.get(i);if(!s){i=void 0;return}let{currentTime:a,paused:o,playbackRate:l}=s;if(!o)r.play(new Event("recover-state")).then(()=>{r.currentTime=a,r.playbackRate=l,i&&(n.delete(i),i=void 0)}).catch(c=>console.error("recov err play",c));else try{r.currentTime=a,r.playbackRate=l,i&&(n.delete(i),i=void 0)}catch(c){console.error("recov err paused",c)}})])),t.register(T4(t,(r,s)=>{e(),n.has(s)?i=s:i=void 0})),t.register(()=>{i=void 0})}function bm(t,e){let n=new WeakMap,i;t.register($u(t.store,r=>[r.subscribe(({currentTime:s,paused:a,playbackRate:o})=>{s!==0&&r.el&&n.set(r.el.win,{currentTime:s,paused:a,playbackRate:o})}),r.listen("can-play",()=>{if(!i)return;let s=n.get(i);if(!s){i=void 0;return}let{currentTime:a,paused:o,playbackRate:l}=s;if(!o)r.play(new Event("recover-state")).then(()=>{r.currentTime=a,r.playbackRate=l,i&&(n.delete(i),i=void 0)}).catch(c=>console.error("recov err play",c));else try{r.currentTime=a,r.playbackRate=l,i&&(n.delete(i),i=void 0)}catch(c){console.error("recov err paused",c)}})])),t.register(k4(t.containerEl,(r,s)=>{e(),n.has(s)?i=s:i=void 0})),t.register(()=>{i=void 0})}function k4(t,e){let n=t.win;return t.onNodeInserted(()=>{let i=t.win;i!==n&&(e(i,n),n=i)})}function T4(t,e){let n=t.containerEl.win,i=t.leaf.parent;return t.containerEl.onNodeInserted(()=>{let r=t.containerEl.win,s=t.leaf.parent;r===n?s!==i&&(e(s,i),i=s):n=r})}var Ob=$(ae()),xm=class extends km.EditableFileView{constructor(n,i){super(n);this.plugin=i;_(this,"allowNoFile",!1);_(this,"store");_(this,"scope");_(this,"root",null);this.store=Hr(),this.scope=new km.Scope(this.app.scope),this.contentEl.addClasses(["mx","custom"]),Kf(this)}onload(){bm(this,()=>this.render())}async onLoadFile(n){await this.store.getState().loadFile(n,{vault:this.app.vault,defaultLang:this.plugin.settings.getState().getDefaultLang()})}onPaneMenu(n,i){super.onPaneMenu(n,i),Gf(this,n,i)}setEphemeralState(n){if("subpath"in n){let{subpath:i}=n;this.store.getState().setHash(i)}super.setEphemeralState(n)}async onOpen(){await super.onOpen(),this.render()}render(){this.root?.unmount(),this.root=UM.default.createRoot(this.contentEl),this.root.render((0,Ob.jsx)(wt.Provider,{value:{plugin:this.plugin,store:this.store,reload:()=>this.render(),embed:!1},children:(0,Ob.jsx)(Qr,{})}))}async onClose(){return this.root?.unmount(),this.root=null,super.onClose()}},wo=class extends xm{getIcon(){return"file-video"}getMediaInfo(){return this.file?{type:"video",file:this.file,hash:this.getEphemeralState().subpath}:null}getViewType(){return Ft.video}canAcceptExtension(e){return Tt.video.includes(e)}},bo=class extends xm{getIcon(){return"file-audio"}getViewType(){return Ft.audio}getMediaInfo(){return this.file?{type:"audio",file:this.file,hash:this.getEphemeralState().subpath}:null}canAcceptExtension(e){return Tt.audio.includes(e)}};var Tm=require("obsidian"),jM=$(jl());var Vb=$(ae()),Xr=class extends Tm.ItemView{constructor(n,i){super(n);this.plugin=i;_(this,"store");_(this,"scope");_(this,"root",null);_(this,"navigation",!0);this.store=Hr(),this.scope=new Tm.Scope(this.app.scope),this.contentEl.addClasses(["mx","custom"]),Kf(this)}setSource(n){this.store.getState().setSource(n,{viewType:this.getViewType()})}getMediaInfo(){return this.store.getState().source?.url??null}get sourceType(){return this.store.getState().player?.state.source.type??""}get playerTitle(){return this.store.getState().player?.state.title??""}onload(){let n=this;super.onload(),this.register(dt(this.leaf,{detach:i=>function(...r){return n.root?.unmount(),n.root=null,i.call(this,...r)}})),bm(this,()=>this.render())}registerRemoteTitleChange(){this.register($u(this.store,n=>n.subscribe(({title:i})=>{this.updateTitle()})))}onPaneMenu(n,i){super.onPaneMenu(n,i),Gf(this,n,i)}getState(){let n=super.getState(),i=this.store.getState().source?.url;return{...n,source:i?i.jsonState.source:n.source}}async setState(n,i){if(await super.setState(n,i),!("source"in n))return;let r=this.plugin.resolveUrl(n.source);if(!r)console.warn("Invalid URL",n.source);else{let s=this.store.getState().source?.url;r.compare(s)||(await this.setSource(r),this.render())}}setEphemeralState(n){if("subpath"in n){let{subpath:i}=n;this.store.getState().setHash(i)}super.setEphemeralState(n)}async onOpen(){await super.onOpen(),this.render()}updateTitle(){let n=this.getDisplayText();this.titleEl.setText(n),this.app.workspace.activeLeaf===this.leaf&&this.app.workspace.requestActiveLeafEvents()&&this.leaf.updateHeader()}render(){this.root&&this.root.unmount(),this.root=jM.default.createRoot(this.contentEl),this.root.render((0,Vb.jsx)(wt.Provider,{value:{plugin:this.plugin,store:this.store,reload:()=>this.render(),embed:!1},children:(0,Vb.jsx)(Qr,{})}))}close(){return this.root?.unmount(),this.root=null,super.close()}async onClose(){return this.root?.unmount(),this.root=null,super.onClose()}};var E4={"video/vimeo":"Vimeo","video/youtube":"YouTube"},xo=class extends Xr{onload(){super.onload(),this.registerRemoteTitleChange(),wm(this,()=>this.render())}getDisplayText(){let e=E4[this.sourceType]??"Embed";return this.playerTitle?`${this.playerTitle} - ${e}`:e}getIcon(){switch(this.sourceType){case"video/youtube":return"youtube";case"video/vimeo":return"vimeo";default:return"video"}}getViewType(){return ss}};var Em=class extends Xr{},ko=class extends Em{getIcon(){return"file-video"}getViewType(){return Et.video}getDisplayText(){return this.playerTitle||"Video"}async setSource(e){let n=this.plugin.settings.getState().getDefaultLang(),i=await jf(e,n).catch(r=>(console.error("Failed to get text tracks",r,e.href,n),[]));this.store.getState().setSource(e,{title:!0,textTracks:i,viewType:this.getViewType()})}},To=class extends Em{getIcon(){return"file-audio"}getDisplayText(){return this.playerTitle||"Audio"}getViewType(){return Et.audio}async setSource(e){this.store.getState().setSource(e,{title:!0,viewType:this.getViewType()})}};var Eo=class extends Xr{onload(){super.onload(),this.registerRemoteTitleChange(),wm(this,()=>this.render())}getViewType(){return _n}getIcon(){let e=this.getHost();return e==="generic"?"globe":e}getHost(){let{source:e}=this.store.getState();return e?.url?e.url.type:"generic"}getDisplayText(){return this.playerTitle?`${this.playerTitle} - ${td[this.getHost()]}`:"Webpage"}};function HM(t,e){if(!(t.view instanceof wo||t.view instanceof bo))return!1;let{file:n}=t.view.getState();return n===e.file.path}function qM(t,e){if(!(t.view instanceof xo||t.view instanceof Eo||t.view instanceof ko||t.view instanceof To))return!1;let{source:n}=t.view.store.getState();return e.compare(n?.url)}function Fb(t,e){let n=t.stat.mtime,i=e.stat.mtime;return!n||!i?0:i-n}var Sm="mx-media-active",zu,zb,Cm,WM,$m,KM,Mm,GM,Pm=class extends So.Component{constructor(n){super();this.plugin=n;V(this,zu);V(this,Cm);V(this,$m);V(this,Mm);_(this,"app");_(this,"activeMediaLeaf",null);_(this,"onLeafUpdate",(0,So.debounce)(n=>{n=n??this.workspace.activeLeaf,this.onActiveLeafChange(n)},200));this.app=n.app}onload(){let n=this.app.workspace;n.onLayoutReady(()=>{this.onLeafUpdate()}),this.registerEvent(n.on("active-leaf-change",i=>{this.onLeafUpdate(i)})),this.registerEvent(n.on("layout-change",()=>{this.onLeafUpdate()}))}onunload(){this.applyActiveMediaLeaf(null)}get workspace(){return this.app.workspace}onActiveLeafChange(n){let i=this.detectActiveMediaLeaf(n);this.activeMediaLeaf!==i&&this.applyActiveMediaLeaf(i)}applyActiveMediaLeaf(n){this.activeMediaLeaf?.tabHeaderEl.removeClass(Sm),this.activeMediaLeaf?.containerEl.removeClass(Sm),n?.tabHeaderEl.addClass(Sm),n?.containerEl.addClass(Sm),this.activeMediaLeaf=n}detectActiveMediaLeaf(n){let i=()=>{let r=this.findPinnedPlayer();if(r)return r;let s=BM(this.workspace),{activeTabGroup:a}=this.workspace;return(!n||!a?s:s.filter(l=>!a.children.includes(l))).at(0)??null};if(!n)return i();if(Ub(n))return n;if(n.view instanceof So.MarkdownView&&n.view.file){let{mediaNote:r}=this.plugin,s=r.findMedia(n.view.file);if(s)return this.findPlayerWithSameMedia(s)}return i()}findPlayerWithSameMedia(n){for(let i of this.plugin.urlViewType.getSupported(n)){let r=S4(n,i,this.workspace);if(r.length>0)return r[0]}return null}findPinnedPlayer(){return BM(this.workspace).filter(n=>n.pinned)[0]??null}get settings(){return this.plugin.settings.getState()}getSplitBehavior(n,i){if(!i)return ur(n)??!1;n=ur(n);let{defaultMxLinkClick:{click:r,alt:s}}=this.settings;return r===null?n??!1:n===void 0||n===!1?r:s!==null&&n===r?s:n}async openMedia(n,i,{direction:r,viewType:s,fromUser:a=!1}={}){let{workspace:o}=this.app;if(!i){let u=await M(this,Cm,WM).call(this,n,s);if(u)return u}let l=this.getSplitBehavior(i,a),c;return l==="split-horizontal"?c=o.getLeaf("split",r??"horizontal"):c=o.getLeaf(l,r),M(this,zu,zb).call(this,c,n,s)}async openNote(n,i,r="split",s="vertical"){let a=this.plugin.mediaNote.findNotes(n),o=M(this,$m,KM).call(this,a);if(o)return o.getMode()!=="source"&&await o.setState({mode:"source"},{history:!1}),o;let l;if(a.length===0){let d=`Media Note - ${sd(i.title)}`;l=await M(this,Mm,GM).call(this,d,i.fm,i.sourcePath??"")}else l=a.sort(Fb).at(0);let c=this.app.workspace.getLeaf(r,s);return await c.openFile(l,{state:{mode:"source"}}),{file:l,editor:c.view.editor}}};zu=new WeakSet,zb=async function(n,i,r){if(Li(i))await n.openFile(i.file,{eState:{subpath:i.hash},active:!0});else{let{hash:s,source:a}=i.jsonState,o={source:a};r??(r=this.plugin.urlViewType.getPreferred(i)),await n.setViewState({type:r,state:o,active:!0},{subpath:s})}return n},Cm=new WeakSet,WM=async function(n,i){let r=this.findPinnedPlayer();if(r)return await M(this,zu,zb).call(this,r,n,i);let s=this.findPlayerWithSameMedia(n);return s?(P4(n.hash,s),s):null},$m=new WeakSet,KM=function(n){let{workspace:i}=this.app,r=i.getLeavesOfType("markdown").filter(a=>{let o=a.view.file?.path;return!!o&&n.some(l=>l.path===o)});return r.length===0?null:(r.find(a=>a===i.activeLeaf)??r.sort((a,o)=>Fb(a.view.file,o.view.file)).at(0)).view},Mm=new WeakSet,GM=async function(n,i,r=""){let{fileManager:s}=this.app,a=s.getNewFileParent(r,n),o=await s.createNewFile(a,n,"md",`--- --- -`);return await s.processFrontMatter(o,l=>{Object.assign(l,i(o.path))}),o};function IM(t){let e=[];return t.iterateRootLeaves(n=>{dg(n.view.getViewType())&&e.push(n)}),e.sort(Sm),e}function p4(t,e,n){let i=n.getLeavesOfType(e).filter(r=>Mi(t)?RM(r,t):LM(r,t));return i.sort(Sm),i}function Ib(t){return!!t&&dg(t.view.getViewType())}function Sm(t,e){return e.activeTime-t.activeTime}function h4(t,e){e.setEphemeralState({subpath:t})}function f4(t,e,n){return i=>{let r=n.workspace.activeEditor;if(!r)return t?t(i):void 0;if(e&&r.getMode()!=="preview")return r instanceof OM.MarkdownView&&r.inlineTitleEl.isActiveElement()?void 0:e(i,r.editor,r)}}function Qr({playerCheckCallback:t,noteCheckCallback:e,...n},i){let{app:r}=i,s=i.addCommand({...n,checkCallback:f4(t&&(a=>!t||!Ib(r.workspace.activeLeaf)?!1:a?!0:t(a,r.workspace.activeLeaf.view)),e&&((a,o,l)=>{if(!l.file)return!1;let c=i.mediaNote.findMedia(l.file),u=i.leafOpener.detectActiveMediaLeaf(r.workspace.activeLeaf);return e(a,u?.view,{isMediaNote:c,file:l.file,editor:o})}),r)});return!e||!n.menu||i.registerEvent(i.app.workspace.on("editor-menu",(a,o,l)=>{if(!l.file)return!1;let c=i.mediaNote.findMedia(l.file),u=i.leafOpener.detectActiveMediaLeaf(r.workspace.activeLeaf);if(!e(!0,u?.view,{isMediaNote:c,file:l.file,editor:o}))return;let d=l.file;a.addItem(p=>{n.icon&&p.setIcon(n.icon),n.name&&p.setTitle(n.name),n.section&&p.setSection(n.section),p.onClick(()=>{e(!1,u?.view,{isMediaNote:c,file:d,editor:o})})})})),s}var m4=[{id:"toggle-play",label:"Play/pause",icon:"play",action:t=>{t.paused=!t.paused}},...[5,30].flatMap(t=>[{id:`forward-${t}s`,label:`Forward ${t}s`,icon:"forward",action:e=>{e.currentTime+=t},repeat:!0},{id:`rewind-${t}s`,label:`Rewind ${t}s`,icon:"rewind",action:e=>{e.currentTime-=t},repeat:!0}]),{id:"toggle-mute",label:"Mute/unmute",icon:"volume-x",action:t=>{t.muted=!t.muted}},{id:"toggle-fullscreen",label:"Enter/exit fullscreen",icon:"expand",check:t=>t.state.canFullscreen,action:t=>{t.state.fullscreen?t.exitFullscreen():t.enterFullscreen()}},...g4()];function g4(){let t=null,e=(0,Vu.debounce)(()=>t?.hide(),2e3,!0);function n(r){!t||t.noticeEl.isConnected===!1?t=new Vu.Notice(r,0):t.setMessage(r),e()}function i(r){new Vu.Notice(r,2e3)}return[{id:"reset-speed",label:"Reset playback speed",icon:"reset",check:r=>r.state.playbackRate!==1,action:r=>{r.playbackRate=1,i("Speed reset to 1x")}},{id:"increase-speed",label:"Increase playback speed",icon:"arrow-up",action:r=>{let s=r.playbackRate;if(s>=li.last()){i("Cannot increase speed further");return}let a=li.find(o=>o>s);r.playbackRate=a,n(`Speed increased to ${a}x`)}},{id:"decrease-speed",label:"Decrease playback speed",icon:"arrow-down",action:r=>{let s=r.playbackRate;if(s<=li.first()){i("Cannot decrease speed further");return}let a=li.slice().reverse().find(o=>o{let s=await Zs.run();s&&(r.playbackRate=s,n(`Speed set to ${s}x`))}},{id:"increase-speed-granular",label:"Increase playback speed by 0.1x",icon:"arrow-up",action:r=>{let s=r.playbackRate;if(s>=li.last()){i("Cannot increase speed further");return}let a=Math.round((s+.1)*10)/10;r.playbackRate=a,n(`Speed increased to ${a}x`)}},{id:"decrease-speed-granular",label:"Decrease playback speed by 0.1x",icon:"arrow-down",action:r=>{let s=r.playbackRate;if(s<=li.first()){i("Cannot decrease speed further");return}let a=Math.round((s-.1)*10)/10;r.playbackRate=a,n(`Speed decreased to ${a}x`)}}]}function VM(t){m4.forEach(({id:e,label:n,icon:i,action:r,repeat:s,check:a})=>{Qr({id:e,name:n,icon:i,repeatable:s,playerCheckCallback:(o,l)=>{if(!l)return!1;let c=l.store.getState().player;if(!c||a&&!a(c))return!1;if(o)return!0;r(c)},noteCheckCallback(o,l){if(!l)return!1;let c=l.store.getState().player;if(!c||a&&!a(c))return!1;if(o)return!0;r(c)}},t)})}var Pm=require("obsidian");function FM(t){let e=null;Qr({id:"copy-screenshot",name:"Copy screenshot",icon:"copy",playerCheckCallback(i,r){if(i)return!0;let s=jf(r);s&&xu(s)},noteCheckCallback:n(i=>{let r=jf(i);r&&xu(r)}).noteCheckCallback},t),Qr({id:"take-timestamp",name:"Take timestamp",icon:"star",menu:!0,section:"selection-link",...n(async(i,r)=>{let s=e;e=r.file,await Eu(i,r)&&r.from==="player"&&s!==r.file&&new Pm.Notice(`Timestamp taken in "${r.file.basename}"`)})},t),Qr({id:"save-screenshot",name:"Save screenshot",icon:"camera",section:"selection-link",menu:!0,...n(async(i,r)=>{let s=e;e=r.file,await bu(i,r)&&r.from==="player"&&s!==r.file&&new Pm.Notice(`Taking screenshot in "${r.file.basename}"`)})},t),Qr({id:"take-timestamp-media-note",name:"Take timestamp in media note",icon:"star",menu:!0,section:"selection-link",playerCheckCallback(i,r){let s=r.getMediaInfo();if(!s)return!1;if(i)return!0;uo(s,r).then(a=>Eu(r,a))}},t),Qr({id:"save-screenshot-media-note",name:"Save screenshot in media note",icon:"camera",section:"selection-link",menu:!0,playerCheckCallback(i,r){let s=r.getMediaInfo();if(!s)return!1;if(i)return!0;uo(s,r).then(a=>bu(r,a))}},t);function n(i){return{playerCheckCallback:(r,s)=>{let a=v4(t.app);if(!a){if(r)return!1;new Pm.Notice("No active note can be edited");return}if(r)return!0;i(s,{file:a.view.file,editor:a.view.editor,from:"player"})},noteCheckCallback:(r,s,{isMediaNote:a,...o})=>{let l;if(s){if(r)return!0;t.app.workspace.revealLeaf(s.leaf),l=Promise.resolve(s)}else{if(!a)return!1;if(r)return!0;l=t.leafOpener.openMedia(a,void 0,{fromUser:!0}).then(c=>c.view)}l.then(c=>i(c,{...o,from:"note"}))}}}}function v4(t){return t.workspace.getLeavesOfType("markdown").filter(n=>{let i=n.view;return i.file&&i.getMode()==="source"}).sort(Sm)[0]??null}function UM(){this.registerEvent(this.app.workspace.on("file-menu",(t,e,n,i)=>{if(!(e instanceof zM.TFile))return;let r=this.mediaNote.findMedia(e);r&&t.addItem(s=>s.setSection("view").setIcon("play").setTitle("Open linked media").onClick(()=>this.leafOpener.openMedia(r,void 0,{fromUser:!0})))})),FM(this),VM(this)}var An=require("obsidian");function So(t,e){return!!(t.type!=="generic"||t.inferredType||t.tempFrag||e.mediaNote.findNotes(t).length>0||e.urlViewType.getPreferred(t,!0))}var Ab=async function(t,e,n){let i=this.resolveUrl(t);if(!i||!So(i,this)){n();return}await this.leafOpener.openMedia(i,e,{fromUser:!0})},jM={"mx-embed":{label:"iframe",icon:"code"},"mx-url-audio":{label:"regular audio",icon:"headphones"},"mx-url-video":{label:"regular video",icon:"film"},"mx-webpage":{label:"webpage",icon:"globe"}};async function y4(t){if(!An.Platform.isDesktopApp)return;let e=window.electron;if(!e)return;await(An.Platform.isMacOS?e.remote.shell:e.shell).showItemInFolder(t)}async function _4(t){if(!An.Platform.isDesktopApp)return;let e=window.electron;if(!e)return;let i=await(An.Platform.isMacOS?e.remote.shell:e.shell).openPath(t);if(i)throw new Error(i)}function HM(t){t.registerEvent(t.app.workspace.on("url-menu",(e,n)=>{let i=t.resolveUrl(n);if(!i)return;if(An.Platform.isDesktopApp&&i.isFileUrl&&i.filePath){let h=i.filePath;e.addItem(y=>y.setIcon("folder").setTitle(An.Platform.isMacOS?"Reveal in Finder":"Show in system explorer").onClick(()=>{y4(h).catch(v=>{new An.Notice(`Failed to open file in file explorer: ${v.message}`),console.error("Failed to open file in file explorer",v)})})).addItem(y=>y.setIcon("arrow-up-right").setTitle("Open in system player").onClick(()=>{_4(h).catch(v=>{new An.Notice(`Failed to open file in system player: ${v.message}`),console.error("Failed to open file in system player",v)})}))}let{protocol:r,hostname:s,pathname:a,host:o,port:l}=i,c=t.urlViewType.getSupported(i),u=t.urlViewType.getPreferred(i),d=So(i,t)?c.filter(h=>h!==u):c;if(d.length===0)return;function p(h,y,v=!1){let w=jM[y].label;return h.setTitle(v?w:`Open as ${w}`).setIcon(jM[y].icon)}d.forEach(h=>{e.addItem(y=>p(y,h).setSection("mx-link").onClick(async()=>{await t.leafOpener.openMedia(i,void 0,{viewType:h,fromUser:!0})}))}),e.addItem(h=>{let y=h.setTitle("Always open this url as").setIcon("external-link").setSection("mx-link").setSubmenu();d.forEach(v=>{y.addItem(w=>p(w,v,!0).setSection("mx-link").onClick(async()=>{t.urlViewType.setPreferred({protocol:r,hostname:s,pathname:a,port:l},v),await t.leafOpener.openMedia(i,void 0,{viewType:v,fromUser:!0})}))})}),s&&e.addItem(h=>{let y=h.setTitle(`Always open ${o} as`).setIcon("external-link").setSection("mx-link").setSubmenu();d.forEach(v=>{y.addItem(w=>p(w,v,!0).setSection("mx-link").onClick(async()=>{t.urlViewType.setPreferred({protocol:r,hostname:s,port:l},v),await t.leafOpener.openMedia(i,void 0,{viewType:v,fromUser:!0})}))})})}))}var qM=async function(t,e,n,i){let{metadataCache:r}=this.app,{path:s,subpath:a}=(0,An.parseLinktext)(t),o=r.getFirstLinkpathDest(s,e),l;if(!o||!(l=Xt(o.extension))){i();return}let c={file:o,hash:a,type:l,viewType:jn[l]};await this.leafOpener.openMedia(c,n,{fromUser:!0})};var Xr=require("obsidian");var $m=class extends Xr.Component{constructor(n){super();this.plugin=n;_(this,"app");_(this,"noteToMediaIndex",new Map);_(this,"mediaToNoteIndex",new Map);this.app=n.app}findNotes(n){let i=this.mediaToNoteIndex.get(Cm(n));return i?[...i]:[]}findMedia(n){return this.noteToMediaIndex.get(n.path)}onResolve(){this.noteToMediaIndex.clear(),this.mediaToNoteIndex.clear();let n={metadataCache:this.app.metadataCache,vault:this.app.vault,plugin:this.plugin};for(let{file:i,mediaInfo:r}of b4(n))this.addMediaNote(r,i);this.registerEvent(this.app.metadataCache.on("changed",i=>{let r=WM(i,n);r&&this.addMediaNote(r,i)})),this.registerEvent(this.app.metadataCache.on("deleted",i=>{this.removeMediaNote(i)})),this.registerEvent(this.app.vault.on("rename",(i,r)=>{if(!this.noteToMediaIndex.has(r))return;let s=this.noteToMediaIndex.get(r);this.noteToMediaIndex.delete(r),this.noteToMediaIndex.set(i.path,s)}))}removeMediaNote(n){let i=this.noteToMediaIndex.get(n.path);if(!i)return;this.noteToMediaIndex.delete(n.path);let r=Cm(i),s=this.mediaToNoteIndex.get(r);s&&(s.delete(n),s.size===0&&this.mediaToNoteIndex.delete(r))}addMediaNote(n,i){this.noteToMediaIndex.set(i.path,n);let r=this.mediaToNoteIndex.get(Cm(n));r?r.add(i):this.mediaToNoteIndex.set(Cm(n),new Set([i]))}onload(){w4(this.app.metadataCache,this).then(()=>{this.onResolve()})}};function w4(t,e){return t.initialized?Promise.resolve():new Promise(n=>{let i=t.on("initialized",()=>{t.offref(i),n()});e?.registerEvent(i)})}function*BM(t){for(let e of t.children)e instanceof Xr.TFolder?yield*BM(e):e instanceof Xr.TFile&&(yield e)}function*b4(t){for(let e of BM(t.vault.getRoot())){if(e.extension!=="md")continue;let n=WM(e,t);n&&(yield{mediaInfo:n,file:e})}}var Nb={generic:"media",video:"video",audio:"audio"};function WM(t,{metadataCache:e,plugin:n}){let i=e.getFileCache(t);if(!i)return null;let r={metadataCache:e,sourcePath:t.path,plugin:n};return Db(Nb.video,i,r)??Db(Nb.audio,i,r)??Db(Nb.generic,i,r)}function Db(t,e,n){let{frontmatter:i,frontmatterLinks:r}=e;if(!i||!(t in i))return null;let s=r?.find(o=>o.key===t);if(s){let{path:o,subpath:l}=(0,Xr.parseLinktext)(s.link),c=n.metadataCache.getFirstLinkpathDest(o,n.sourcePath);if(!c)return null;let u=Xt(c.extension);return u?{type:u,file:c,hash:l}:null}let a=i[t];return typeof a!="string"?null:n.plugin.resolveUrl(a)}function Cm(t){return Mi(t)?`file:${t.file.path}`:`url:${t.jsonState.source}`}var KM=require("obsidian"),GM=$(zl());var Ob=$(ae()),Mm=class extends KM.Component{constructor(n,i,r,s){super();this.info=n;this.file=i;this.subpath=r;this.plugin=s;_(this,"store");_(this,"root",null);_(this,"containerEl");this.containerEl=n.containerEl,this.store=Ur();let{containerEl:a}=n;a.addClasses(["mx","mx-media-embed","custom"]);function o(l){if(!(l instanceof Element))return!1;let c=l.closest("button");return c?c.hasAttribute(Wr):!1}this.registerDomEvent(a,"click",l=>{o(l.target)||l.stopImmediatePropagation()})}getMediaInfo(){if(!this.file)return null;let n=Xt(this.file.extension);return n?{type:n,file:this.file,hash:this.subpath}:null}render(){this.root?.unmount(),this.root=GM.default.createRoot(this.info.containerEl),this.root.render((0,Ob.jsx)(wt.Provider,{value:{plugin:this.plugin,store:this.store,reload:()=>this.render(),embed:!0},children:(0,Ob.jsx)(Gr,{})}))}onload(){super.onload(),this.render()}async loadFile(){await this.store.getState().loadFile(this.file,{vault:this.plugin.app.vault,subpath:this.subpath,defaultLang:this.plugin.settings.getState().getDefaultLang()})}onunload(){this.root?.unmount(),this.root=null,super.onunload()}};function YM(t,e){let n=e.muted;t.addItem(i=>i.setSection("mx-player").setIcon(n?"volume-2":"volume-x").setTitle(n?"Unmute":"Mute").onClick(()=>{e.muted=!n}))}function QM(t,e){e.state.canPictureInPicture&&(e.state.pictureInPicture?t.addItem(n=>n.setTitle("Exit Picture in Picture").setIcon("picture-in-picture-2").setSection("mx-player").onClick(()=>e.exitPictureInPicture())):t.addItem(n=>n.setTitle("Picture in Picture").setSection("mx-player").setIcon("picture-in-picture").onClick(()=>e.enterPictureInPicture())))}function XM(t,{setTransform:e,transform:n}){let i=t.setTitle("Transform").setIcon("rotate-3d").setSection("mx-player").setSubmenu();(n?.flipHorizontal||n?.flipVertical||n?.rotate)&&i.addItem(r=>r.setIcon("reset").setTitle("Reset").onClick(()=>e(null))),i.addItem(r=>r.setTitle("Flip horizontally").setIcon("flip-horizontal").setChecked(!!n?.flipHorizontal).onClick(()=>e({flipHorizontal:!n?.flipHorizontal}))).addItem(r=>r.setTitle("Flip vertically").setIcon("flip-vertical").setChecked(!!n?.flipVertical).onClick(()=>e({flipVertical:!n?.flipVertical}))).addSeparator().addItem(r=>r.setChecked(n?.rotate==="180").setIcon("iteration-cw").setTitle("Rotate 180\xB0").onClick(()=>{e({rotate:n?.rotate==="180"?void 0:"180"})}))}function ZM(t,{source:e}){e.isFileUrl||t.addItem(n=>n.setTitle("Open in browser").setIcon("globe").setSection("view").onClick(()=>{window.open(e.href)}))}function JM(t,{controls:e=!0,toggleControls:n,player:i,source:r,disableWebFullscreen:s,toggleWebFullscreen:a},o){i.provider instanceof Rn&&o==="more-options"&&(t.addItem(l=>{l.setTitle(e?"Show website native controls":"Hide website controls").setSection("mx-web-player").setIcon("sliders-horizontal").onClick(()=>{n(!e)})}),r.type!=="bilibili"&&r.type!=="youtube"&&t.addItem(l=>{l.setTitle(s?"Enable in-player fullscreen":"Disable in-player fullscreen").setSection("mx-web-player").setIcon(s?"maximize":"minimize").onClick(()=>{a(!!s)})}))}function Vb(){HM(this),this.registerEvent(this.app.workspace.on("mx-media-menu",(t,e,n)=>{if((n==="more-options"||n==="sidebar-context-menu"||n==="tab-header"||n==="player-menu-embed")&&t.addItem(r=>r.setTitle("Refresh").setSection("view").setIcon("reset").onClick(()=>{e.reload()})),n!=="sidebar-context-menu"&&n!=="tab-header"?(t.addItem(r=>Ix(r,e.player)),e.player.state.viewType==="video"&&(t.addItem(r=>XM(r,e)),QM(t,e.player))):YM(t,e.player),n==="player-menu-embed"){let r=e.source;t.addItem(s=>s.setTitle("Open to the right").setIcon("separator-vertical").setSection("view").onClick(()=>{this.leafOpener.openMedia(r,"split")})).addItem(s=>s.setTitle("Open in new tab").setSection("view").setIcon("file-plus").onClick(()=>{this.leafOpener.openMedia(r,"tab")})).addItem(s=>s.setTitle("Open in new window").setSection("view").setIcon("maximize").onClick(()=>{this.leafOpener.openMedia(r,"window")}))}JM(t,e,n),(n==="player-menu-embed"||n==="more-options")&&ZM(t,e);let i=e.player.provider;(n==="player-menu-embed"||n==="more-options"||n==="sidebar-context-menu")&&zs(i)&&t.addItem(r=>r.setTitle("Copy Screenshot").setSection("view").setIcon("copy").onClick(()=>{xu({app:this.app,media:e.source,provider:i,settings:this.settings.getState(),state:e.player.state})}))}))}var x4=/^(?\d+)?x(?\d+)$|^(?\d+)$/;function eR(t){let e=parseInt(t,10);return Number.isNaN(e)?-1:e}var Fu=t=>{let e=t?.match(x4)?.groups;if(!e)return null;let n=eR(e.xOnly??e.x),i=eR(e.y);return[n,i]},Fb=t=>{let e=t.lastIndexOf("|"),n,i=t;return e===-1?(n=Fu(t),n&&(i="")):(n=Fu(i.substring(e+1)),n&&(i=i.substring(0,e))),[i,n]};var tR=require("obsidian"),nR=$(zl());var zb=$(ae()),Po=class extends tR.MarkdownRenderChild{constructor(n,i){super(n);this.containerEl=n;this.plugin=i;_(this,"store");_(this,"root",null);this.store=Ur(),n.addClasses(["mx","custom","mx-media-embed"])}getMediaInfo(){return this.store.getState().source?.url??null}async setSource(n,i={}){let r=this.plugin.urlViewType.getPreferred(n),s=this.plugin.settings.getState().getDefaultLang();this.store.getState().setSource(n,{title:i.title??!0,hash:i.hash,enableWebview:r===Zt,type:r===pt.video?"video/mp4":r===pt.audio?"audio/mp3":void 0,textTracks:r===pt.video?await Ff(n,s).catch(a=>(console.error("Failed to get text tracks",a,n.href,s),[])):[]})}render(){this.root?.unmount(),this.root=nR.default.createRoot(this.containerEl),this.root.render((0,zb.jsx)(wt.Provider,{value:{plugin:this.plugin,store:this.store,reload:()=>this.render(),embed:!0},children:(0,zb.jsx)(Gr,{})}))}onload(){super.onload(),this.render()}onunload(){this.root?.unmount(),this.root=null,super.onunload()}};var oR=require("@codemirror/state"),Co=require("@codemirror/view"),$o=require("obsidian");var Rm=require("@codemirror/language"),Wb=require("@codemirror/view");var iR=t=>!(!t.startsWith("./")&&!t.startsWith("../"))||t.indexOf(":")===-1;var rR=require("@codemirror/view"),sR=require("obsidian");var Ub=class extends Po{constructor(n,i){super(n,i);this.containerEl=n;this.plugin=i;n.addClasses(["mx-external-media-embed"]);function r(s){if(!(s instanceof Element))return!1;let a=s.closest("button");return a?a.hasAttribute(Wr):!1}this.registerDomEvent(n,"click",s=>{r(s.target)||s.stopImmediatePropagation()})}},qs=class extends rR.WidgetType{constructor(n,i,r,s,a){super();this.plugin=n;this.media=i;this.title=r;this.start=s;this.end=a}setPos(n){let i=n.playerInfo;i&&(i.start=this.start,i.end=this.end)}hookClickHandler(n,i){i.on("click","button.mx-lp-edit",r=>{r.defaultPrevented||(this.selectElement(n,i),r.preventDefault())})}selectElement(n,i){let r=i.playerInfo,{start:s}=r??this,{end:a}=r??this;try{if(s<0||a<0){let o=n.posAtDOM(i);n.dispatch({selection:{head:o,anchor:o}}),n.focus()}else sR.Platform.isMobile&&(a=s),n.dispatch({selection:{head:s,anchor:a}}),n.focus()}catch{}}resizeWidget(n,i){window.ResizeObserver&&new window.ResizeObserver(()=>n.requestMeasure()).observe(i,{box:"border-box"})}setInfo(n,i){n.playerInfo={title:this.title,start:this.start,end:this.end,child:i,url:this.media}}updateDOM(n){let i=n.playerInfo;if(!i)return!1;let{title:r}=i;return this.media.compare(i.url)?this.title!==r&&(i.title=this.title,this.applyTitle(n),this.setPos(n)):i.child.setSource(this.media),!0}destroy(n){let i=n.playerInfo;i&&(delete n.playerInfo,i.child.unload())}eq(n){return this.media.compare(n.media)&&this.title===n.title}setDOM(n,i){i.tabIndex=-1,this.applyTitle(i);let r=new Ub(i,this.plugin);r.setSource(this.media),r.load(),this.hookClickHandler(n,i),this.setInfo(i,r),this.resizeWidget(n,i)}applyTitle(n){if(!this.title){n.removeAttribute("alt"),n.style.removeProperty("width"),n.style.removeProperty("height");return}let i=this.title.lastIndexOf("|"),r,s=this.title;i===-1?(r=Fu(this.title),r&&(s="")):(r=Fu(s.substring(i+1)),r&&(s=s.substring(0,i))),s?n.setAttr("alt",s):n.removeAttribute("alt");let a=(o,l)=>{l<0?n.style.removeProperty(o):n.style[o]=`${l}px`};r?(a("width",r[0]),a("height",r[1])):(a("width",-1),a("height",-1))}toDOM(n){let i=createDiv();return i.style.display="none",i.setAttr("src",this.media.source.href),i.addClasses(["external-embed","cm-embed-block","mx-media-embed"]),i.style.removeProperty("display"),this.setDOM(n,i),i}};Object.defineProperty(qs.prototype,"estimatedHeight",{get:()=>100,enumerable:!1,configurable:!0});var jb=class extends qs{constructor(){super(...arguments);_(this,"enableWebview",!1)}},Hb=class extends qs{constructor(){super(...arguments);_(this,"enableWebview",!1)}},qb=class extends qs{constructor(){super(...arguments);_(this,"enableWebview",!1)}},Bb=class extends qs{constructor(){super(...arguments);_(this,"enableWebview",!0)}},aR={"mx-url-audio":Hb,"mx-url-video":jb,"mx-embed":qb,"mx-webpage":Bb};var k4=(t,e,n,i,r)=>{let s=e.doc,a=!1,o="",l="",c=-1;(0,Rm.syntaxTree)(e).iterate({from:i,to:r,enter:({type:d,from:p,to:h})=>{let y=new Set(d.prop(Rm.tokenClassNodeProp)?.split(" "));if(y){if(y.has("image-marker"))a=!0,c=p;else if(y.has("image-alt-text")&&!y.has("formatting"))o=s.sliceString(p,h);else if(a&&y.has("url")&&!y.has("formatting"))l=s.sliceString(p,h);else if(a&&l&&y.has("formatting")){if(iR(l))return;let v=t.resolveUrl(l);if(v&&So(v,t)){let w=t.urlViewType.getPreferred(v),m=new aR[w](t,v,o,c,h);u(m,c,h)}a=!1,l="",o="",c=-1}}}});function u(d,p,h){let{from:v,text:w}=s.lineAt(p);w.substring(0,p-v).trim()===""&&w.substring(h-v).trim()===""?n.push(Wb.Decoration.widget({widget:d,block:!0,side:-1}).range(v)):n.push(Wb.Decoration.widget({widget:d,side:-1}).range(p))}},Kb=k4;var E4=(t,e)=>Lm(t,e[0])||Lm(t,e[1]),Lm=(t,e)=>t[0]e,T4=(t,e)=>{let n=Lm(t,e[0])?t[0]:e[0],i=Lm(t,e[1])?t[1]:e[1];return[n,i]};function Gb(t){return t.sort((e,n)=>e[0]-n[0]).reduce((e,n)=>{let i=e.findIndex(r=>E4(r,n));return i!==-1?e[i]=T4(e[i],n):e.push(n),e},[])}var S4=t=>{let e=n=>{if(n.field($o.editorLivePreviewField)){let i=[];return Kb(t,n,i),Co.Decoration.set(i)}else return Co.Decoration.none};return oR.StateField.define({create:e,update:(n,i)=>{let r=i.startState.field($o.editorLivePreviewField),s=i.state.field($o.editorLivePreviewField);if(r!==s)return e(i.state);if(!s)return Co.Decoration.none;if(!i.docChanged)return n;if(i.state.field($o.editorEditorField).composing)return n.map(i.changes);n=n.map(i.changes);let a=[];i.changes.iterChangedRanges((l,c,u,d)=>{a.push([i.state.doc.lineAt(u).number,i.state.doc.lineAt(d).number])});let o=[];for(let[l,c]of Gb(a)){let{from:u}=i.state.doc.line(l),{to:d}=i.state.doc.line(c);n=n.update({filterFrom:u,filterTo:d,filter:()=>!1}),Kb(t,i.state,o,u,d)}return n.update({add:o,sort:!0})},provide:n=>Co.EditorView.decorations.from(n)})},lR=S4;function Yb(t){t.registerEditorExtension(lR(t)),C4(t)}var P4=["cm-line","cm-content"],cR="mxError";function uR(t){if(!t.parentElement)return!1;let e=t.parentElement;return P4.some(n=>e.classList.contains(n))}function dR(){uR(this)&&(this.dataset[cR]="",this.removeEventListener("load",pR))}function pR(){uR(this)&&(delete this.dataset[cR],this.removeEventListener("error",dR))}function C4(t){t.register(ut(window,{createEl:e=>function(){let n=e.apply(this,arguments);return n instanceof HTMLImageElement&&(n.addEventListener("error",dR,{once:!0}),n.addEventListener("load",pR,{once:!0})),n}}))}var $4=require("obsidian");function hR(t,e){let{app:n}=e;return new Promise(i=>{function r(){let s=n.workspace.getLeavesOfType(t)[0];return s?(i(s.view),!0):!1}n.workspace.onLayoutReady(()=>{if(r())return;let s=()=>{r()&&n.workspace.off("layout-change",s)};n.workspace.on("layout-change",s),e.register(()=>n.workspace.off("layout-change",s))})})}function Im(t){return t.constructor.prototype}function Qb(t){t.getLeavesOfType("markdown").forEach(async e=>{let n=e.getViewState();await e.setViewState({type:"empty"}),await e.setViewState(n)})}function Zb(t){M4.call(this,t),R4.call(this),Yb(this)}function M4(t){let{app:e}=this;["video","audio"].forEach(r=>{let s=kt[r],a=i(s),o=n(s,t);this.register(()=>{o(),a()})}),Qb(e.workspace),this.register(()=>{Qb(e.workspace)});function n(r,s){return e.embedRegistry.registerExtensions(r,s),()=>{e.embedRegistry.unregisterExtensions(r)}}function i(r){let s=r.map(a=>e.embedRegistry.embedByExtension[a]);return e.embedRegistry.unregisterExtensions(r),()=>{r.forEach((a,o)=>{let l=s[o];l&&e.embedRegistry.registerExtension(a,l)})}}}var Xb=class extends Po{constructor(n,i,r){super(i,r);this.info=n;this.containerEl=i;this.plugin=r;i.addClasses(["mx-external-media-embed"])}onload(){this.setSource(this.info)}};function R4(){let t=this;this.registerMarkdownPostProcessor((e,n)=>{for(let r of e.querySelectorAll("img")){let s=L4(r);s&&i(s,r)}for(let r of e.querySelectorAll('iframe.external-embed[src*="youtube.com/embed/"]')){let s=n.getSectionInfo(r)?.text,a=I4(s)??A4(r);!a||!this.resolveUrl(a.url)||i(a,r)}function i({title:r,url:s},a){let o=t.resolveUrl(s);if(!o||!So(o,t))return;let l=createSpan({cls:["media-embed","external-embed","is-loaded"],attr:{src:o.href,alt:r}});a.replaceWith(l),n.addChild(new Xb(o,l,t))}})}function L4(t){let e=t.alt,n=t.src;if(!n)return null;let[i,r]=Fb(e);return{url:n,title:i,size:r}}function I4(t){if(!t)return null;let e=t.match(/!\[(?[^\]]*)\]\((?[^)]+)\)/);if(!e)return null;let{alt:n,src:i}=e.groups;if(!i)return null;let[r,s]=Fb(n);return{url:i,title:r,size:s}}function A4(t){console.warn("cannot get source text of iframe, use src instead");let e=t.src;return e?{url:e,title:Hf(e),size:null}:null}var fR=require("obsidian");function Am(t){let e=fR.Keymap.isModEvent(t);return zu(e)}function zu(t){return t===!0?"tab":t}function Jb({onExternalLinkClick:t}){let e=this;return hR("markdown",e).then(n=>{if(!n.editMode){console.error("MarkdownView.editMode is not available, cannot patch editor click");return}e.register(ut(Im(n.editMode),{triggerClickableToken:i=>async function(r,s,...a){let o=()=>i.call(this,r,s,...a);if(t&&r.type==="external-link")try{await t.call(e,r.text,zu(s),o)}catch(l){console.error("onExternalLinkClick error in editor, fallback to default",l),o()}else o()}})),console.debug("editor click patched")})}var mR=require("obsidian");function ex(){let t=n=>{let i=n.target;if(!i.instanceOf(HTMLElement)||!i.matches(".metadata-link-inner.external-link"))return;let r=this.resolveUrl(i.textContent);r&&(n.stopImmediatePropagation(),this.leafOpener.openMedia(r,Am(n),{fromUser:!0}))},e=ut(mR.MarkdownView.prototype,{onload:n=>function(){return this.registerDomEvent(this.containerEl,"click",t,{capture:!0}),n.call(this)}});this.register(()=>{e(),this.app.workspace.getLeavesOfType("markdown").forEach(n=>n.view.containerEl.removeEventListener("click",t))})}function tx({onInternalLinkClick:t}){let e=this;this.register(ut(this.app.workspace,{openLinkText:n=>async function(i,r,s,a,...o){let l=()=>n.call(this,i,r,s,a,...o);try{await t.call(e,i,r,zu(s),l)}catch(c){console.error("onInternalLinkClick error in openLinktext, fallback to default",c),l()}}}))}function nx(){this.registerMarkdownPostProcessor(t=>t.querySelectorAll("a").forEach(e=>{let n=e.getAttr("aria-label");if(n)try{let i=decodeURI(n);n!==i&&e.setAttr("aria-label",i)}catch{}}))}var gR=require("obsidian");function ix(t){let e=this,n=ut(gR.MarkdownPreviewRenderer,{registerDomEvents:i=>function(r,s,...a){return N4(s,t,e),n(),console.debug("preview click patched"),i.call(this,r,s,...a)}});e.register(n)}function N4(t,{onExternalLinkClick:e},n){n.register(ut(Im(t),{onExternalLinkClick:i=>async function(r,s,a,...o){let l=()=>i.call(this,r,s,a,...o);if(!e)return l();r.preventDefault();try{await e.call(n,a,Am(r),l)}catch(c){console.error("onExternalLinkClick error in preview, fallback to default",c),l()}}}))}function rx(t,e,n){let{app:i}=this;this.registerView(t,e),this.register(r(n)),this.registerExtensions(n,t);function r(s){let a=s.map(o=>({ext:o,type:i.viewRegistry.typeByExtension[o]}));return i.viewRegistry.unregisterExtensions(s),()=>{D4(a,"type").forEach((o,l)=>{l&&i.viewRegistry.registerExtensions(o.map(c=>c.ext),l)})}}}function D4(t,e){return t.reduce((n,i)=>{let r=i[e],s=n.get(r);return s?s.push(i):n.set(r,[i]),n},new Map)}var vR=require("obsidian");function yR(t){return t?(t=t instanceof URL?t:Un(t),vR.Platform.isWin||!t||t.protocol!=="file:"||!t.pathname.includes("%5C")||(t.pathname=t.pathname.replaceAll(/%5C/g,"/")),t):null}var PR=$(Dm()),nt=require("obsidian");var wR=()=>(...t)=>t;var bR=require("obsidian");var xR={6:"240P \u6781\u901F",16:"360P \u6D41\u7545",32:"480P \u6E05\u6670",64:"720P \u9AD8\u6E05",74:"720P60 \u9AD8\u5E27\u7387",80:"1080P \u9AD8\u6E05",112:"1080P+ \u9AD8\u7801\u7387",116:"1080P60 \u9AD8\u5E27\u7387",120:"4K \u8D85\u6E05",125:"HDR \u771F\u5F69\u8272",126:"\u675C\u6BD4\u89C6\u754C",127:"8K \u8D85\u9AD8\u6E05"};async function sx(t,e){await t.cookies.set({url:"https://www.bilibili.com",domain:".bilibili.com",path:"/",name:"CURRENT_QUALITY",value:e.toString(),expirationDate:Date.now()+1e3*60*60*24*365})}var kR=wR()("defaultVolume","urlMappingData","devices","defaultMxLinkClick","linkHandler","loadStrategy","timestampTemplate","screenshotTemplate","screenshotEmbedTemplate","insertBefore","timestampOffset","biliDefaultQuality","screenshotFormat","screenshotQuality","defaultLanguage"),ER={defaultVolume:80,urlMappingData:[],devices:[],defaultMxLinkClick:{click:"split",alt:"window"},linkHandler:{"mx-embed":[],"mx-url-audio":[],"mx-url-video":[],"mx-webpage":[]},loadStrategy:"eager",timestampTemplate:` +`);return await s.processFrontMatter(o,l=>{Object.assign(l,i(o.path))}),o};function BM(t){let e=[];return t.iterateAllLeaves(n=>{yg(n.view.getViewType())&&e.push(n)}),e.sort(Rm),e}function S4(t,e,n){let i=n.getLeavesOfType(e).filter(r=>Li(t)?HM(r,t):qM(r,t));return i.sort(Rm),i}function Ub(t){return!!t&&yg(t.view.getViewType())}function Rm(t,e){return e.activeTime-t.activeTime}function P4(t,e){e.setEphemeralState({subpath:t})}function C4(t,e,n){return i=>{let r=n.workspace.activeEditor;if(!r)return t?t(i):void 0;if(e&&r.getMode()!=="preview")return r instanceof Lm.MarkdownView&&r.inlineTitleEl.isActiveElement()?void 0:e(i,r.editor,r)}}function Zr({playerCheckCallback:t,noteCheckCallback:e,...n},i){let{app:r}=i,s=i.addCommand({...n,checkCallback:C4(t&&(a=>!t||!Ub(r.workspace.activeLeaf)?!1:a?!0:t(a,r.workspace.activeLeaf.view)),e&&((a,o,l)=>{if(!l.file)return!1;let c=i.mediaNote.findMedia(l.file),u=i.leafOpener.detectActiveMediaLeaf(r.workspace.activeLeaf);return e(a,u?.view,{isMediaNote:c,file:l.file,editor:o})}),r)});return!e||!n.menu||i.registerEvent(i.app.workspace.on("editor-menu",(a,o,l)=>{if(!l.file)return!1;let c=i.mediaNote.findMedia(l.file),u=i.leafOpener.detectActiveMediaLeaf(r.workspace.activeLeaf);if(!e(!0,u?.view,{isMediaNote:c,file:l.file,editor:o}))return;let d=l.file;a.addItem(p=>{n.icon&&p.setIcon(n.icon),n.name&&p.setTitle(n.name),n.section&&p.setSection(n.section),p.onClick(()=>{e(!1,u?.view,{isMediaNote:c,file:d,editor:o})})})})),s}function YM(t,{onKeyDown:e,onTrigger:n,onKeyUp:i}){let r=null,s=new Set;return t.register(()=>{s.forEach(a=>{window.removeEventListener("keyup",a,{capture:!0})})}),t.registerDomEvent(window,"keydown",a=>{if(!r)return;let o=a.target;if(o.instanceOf(HTMLElement)&&o.matches("input.prompt-input"))return;let l=a;if(e(a,...r),i){let c=r,u=d=>{let p=$4(l);(d.code===l.code&&p.every(h=>Lm.Keymap.isModifier(d,h))||p.some(h=>d.key===h))&&(i(d,...c),window.removeEventListener("keyup",u,{capture:!0}),s.delete(u))};s.add(u),window.addEventListener("keyup",u,{passive:!0,capture:!0})}r=null},!0),{callback:(...a)=>{r=a,setTimeout(()=>{r===null||(n?.(...a),r=null)},0)}}}function $4(t){let e=[];return t.ctrlKey&&e.push("Ctrl"),t.altKey&&e.push("Alt"),t.shiftKey&&e.push("Shift"),t.metaKey&&e.push("Meta"),e}var M4=t=>[{id:"toggle-play",label:"Play/pause",icon:"play",action:e=>{e.paused=!e.paused}},...[.5,1,2,5,10,30,60].flatMap(e=>[{id:`forward-${e}s`,label:`Forward ${e}s`,icon:"forward",action:n=>{n.currentTime+=e},repeat:!0},{id:`rewind-${e}s`,label:`Rewind ${e}s`,icon:"rewind",action:n=>{n.currentTime-=e},repeat:!0}]),{id:"toggle-mute",label:"Mute/unmute",icon:"volume-x",action:e=>{e.muted=!e.muted}},{id:"toggle-fullscreen",label:"Enter/exit fullscreen",icon:"expand",check:e=>e.state.canFullscreen,action:e=>{e.state.fullscreen?e.exitFullscreen():e.enterFullscreen()}},...R4(t)];function R4(t){let e=null,n=(0,Po.debounce)(()=>e?.hide(),2e3,!0);function i(a){!e||e.noticeEl.isConnected===!1?e=new Po.Notice(a,0):e.setMessage(a),n()}function r(a){!e||e.noticeEl.isConnected===!1?e=new Po.Notice(a,0):e.setMessage(a)}function s(a){new Po.Notice(a,2e3)}return[...yn.filter(a=>a>1).map(a=>{let o=!1,{callback:l}=YM(t,{onKeyDown(c,u){c.repeat&&(o=!0,u.playbackRate=a,r(`Fast forwarding at ${a}x`))},onKeyUp(c,u){o&&(u.playbackRate=1,e?.hide())}});return{id:`fast-forward-${a}x`,label:`Fast forward at ${a}x by holding hotkey`,icon:"forward",action:l,repeat:!0}}),...yn.map(a=>({id:`set-speed-${a}x`,label:`Set playback speed to ${a}x`,icon:"gauge",action:async o=>{o.playbackRate=a,i(`Speed set to ${a}x`)}})),{id:"reset-speed",label:"Reset playback speed",icon:"reset",check:a=>a.state.playbackRate!==1,action:a=>{a.playbackRate=1,s("Speed reset to 1x")}},{id:"increase-speed",label:"Increase playback speed",icon:"arrow-up",action:a=>{let o=a.playbackRate;if(o>=yn.last()){s("Cannot increase speed further");return}let l=yn.find(c=>c>o);a.playbackRate=l,i(`Speed increased to ${l}x`)}},{id:"decrease-speed",label:"Decrease playback speed",icon:"arrow-down",action:a=>{let o=a.playbackRate;if(o<=yn.first()){s("Cannot decrease speed further");return}let l=yn.slice().reverse().find(c=>c{let o=await Js.run();o&&(a.playbackRate=o,i(`Speed set to ${o}x`))}},{id:"increase-speed-granular",label:"Increase playback speed by 0.1x",icon:"arrow-up",action:a=>{let o=a.playbackRate;if(o>=yn.last()){s("Cannot increase speed further");return}let l=Math.round((o+.1)*10)/10;a.playbackRate=l,i(`Speed increased to ${l}x`)}},{id:"decrease-speed-granular",label:"Decrease playback speed by 0.1x",icon:"arrow-down",action:a=>{let o=a.playbackRate;if(o<=yn.first()){s("Cannot decrease speed further");return}let l=Math.round((o-.1)*10)/10;a.playbackRate=l,i(`Speed decreased to ${l}x`)}}]}function QM(t){M4(t).forEach(({id:e,label:n,icon:i,action:r,repeat:s,check:a})=>{Zr({id:e,name:n,icon:i,repeatable:s,playerCheckCallback:(o,l)=>{if(!l)return!1;let c=l.store.getState().player;if(!c||a&&!a(c))return!1;if(o)return!0;r(c)},noteCheckCallback(o,l){if(!l)return!1;let c=l.store.getState().player;if(!c||a&&!a(c))return!1;if(o)return!0;r(c)}},t)})}var Im=require("obsidian");function XM(t){let e=null;Zr({id:"copy-screenshot",name:"Copy screenshot",icon:"copy",playerCheckCallback(i,r){if(i)return!0;let s=Bf(r);s&&Eu(s)},noteCheckCallback:n(i=>{let r=Bf(i);r&&Eu(r)}).noteCheckCallback},t),Zr({id:"take-timestamp",name:"Take timestamp",icon:"star",menu:!0,section:"selection-link",...n(async(i,r)=>{let s=e;e=r.file,await Pu(i,r)&&r.from==="player"&&s!==r.file&&new Im.Notice(`Timestamp taken in "${r.file.basename}"`)})},t),Zr({id:"save-screenshot",name:"Save screenshot",icon:"camera",section:"selection-link",menu:!0,...n(async(i,r)=>{let s=e;e=r.file,await Tu(i,r)&&r.from==="player"&&s!==r.file&&new Im.Notice(`Taking screenshot in "${r.file.basename}"`)})},t),Zr({id:"take-timestamp-media-note",name:"Take timestamp in media note",icon:"star",menu:!0,section:"selection-link",playerCheckCallback(i,r){let s=r.getMediaInfo();if(!s)return!1;if(i)return!0;po(s,r).then(a=>Pu(r,a))}},t),Zr({id:"save-screenshot-media-note",name:"Save screenshot in media note",icon:"camera",section:"selection-link",menu:!0,playerCheckCallback(i,r){let s=r.getMediaInfo();if(!s)return!1;if(i)return!0;po(s,r).then(a=>Tu(r,a))}},t);function n(i){return{playerCheckCallback:(r,s)=>{let a=L4(t.app);if(!a){if(r)return!1;new Im.Notice("No active note can be edited");return}if(r)return!0;i(s,{file:a.view.file,editor:a.view.editor,from:"player"})},noteCheckCallback:(r,s,{isMediaNote:a,...o})=>{let l;if(s){if(r)return!0;t.app.workspace.revealLeaf(s.leaf),l=Promise.resolve(s)}else{if(!a)return!1;if(r)return!0;l=t.leafOpener.openMedia(a,void 0,{fromUser:!0}).then(c=>c.view)}l.then(c=>i(c,{...o,from:"note"}))}}}}function L4(t){return t.workspace.getLeavesOfType("markdown").filter(n=>{let i=n.view;return i.file&&i.getMode()==="source"}).sort(Rm)[0]??null}function JM(){this.registerEvent(this.app.workspace.on("file-menu",(t,e,n,i)=>{if(!(e instanceof ZM.TFile))return;let r=this.mediaNote.findMedia(e);r&&t.addItem(s=>s.setSection("view").setIcon("play").setTitle("Open linked media").onClick(()=>this.leafOpener.openMedia(r,void 0,{fromUser:!0})))})),XM(this),QM(this)}var Vn=require("obsidian");var eR={"mx-embed":{label:"iframe",icon:"code"},"mx-url-audio":{label:"regular audio",icon:"headphones"},"mx-url-video":{label:"regular video",icon:"film"},"mx-webpage":{label:"webpage",icon:"globe"}};function jb(t,e,n=!1){let i=eR[e].label;return t.setTitle(n?i:`Open as ${i}`).setIcon(eR[e].icon)}function Uu(t,{mode:e,plugin:n,targetViewTypes:i,open:r=!0,url:s}){let{protocol:a,hostname:o,pathname:l,host:c,port:u}=s;i.length!==0&&(e==="once"&&i.forEach(d=>{if(!r)throw new Error("openAsMenu: cannot set 'open' to false in 'open once' mode");t.addItem(p=>jb(p,d).setSection("mx-link").onClick(async()=>{await n.leafOpener.openMedia(s,void 0,{viewType:d,fromUser:!0})}))}),e==="always"&&(t.addItem(d=>{let p=d.setTitle("Always open this url as").setIcon("external-link").setSection("mx-link").setSubmenu();i.forEach(h=>{p.addItem(y=>jb(y,h,!0).setSection("mx-link").onClick(async()=>{n.urlViewType.setPreferred({protocol:a,hostname:o,pathname:l,port:u},h),r&&await n.leafOpener.openMedia(s,void 0,{viewType:h,fromUser:!0})}))})}),o&&t.addItem(d=>{let p=d.setTitle(`Always open ${c} as`).setIcon("external-link").setSection("mx-link").setSubmenu();i.forEach(h=>{p.addItem(y=>jb(y,h,!0).setSection("mx-link").onClick(async()=>{n.urlViewType.setPreferred({protocol:a,hostname:o,port:u},h),r&&await n.leafOpener.openMedia(s,void 0,{viewType:h,fromUser:!0})}))})})))}function Co(t,e){return!!(t.type!=="generic"||t.inferredType||t.tempFrag||e.mediaNote.findNotes(t).length>0||e.urlViewType.getPreferred(t,!0))}var Hb=async function(t,e,n){let i=this.resolveUrl(t);if(!i||!Co(i,this)){n();return}await this.leafOpener.openMedia(i,e,{fromUser:!0})};async function I4(t){if(!Vn.Platform.isDesktopApp)return;let e=window.electron;if(!e)return;await(Vn.Platform.isMacOS?e.remote.shell:e.shell).showItemInFolder(t)}async function A4(t){if(!Vn.Platform.isDesktopApp)return;let e=window.electron;if(!e)return;let i=await(Vn.Platform.isMacOS?e.remote.shell:e.shell).openPath(t);if(i)throw new Error(i)}function tR(t){t.registerEvent(t.app.workspace.on("url-menu",(e,n)=>{let i=t.resolveUrl(n);if(!i)return;if(Vn.Platform.isDesktopApp&&i.isFileUrl&&i.filePath){let o=i.filePath;e.addItem(l=>l.setIcon("folder").setTitle(Vn.Platform.isMacOS?"Reveal in Finder":"Show in system explorer").onClick(()=>{I4(o).catch(c=>{new Vn.Notice(`Failed to open file in file explorer: ${c.message}`),console.error("Failed to open file in file explorer",c)})})).addItem(l=>l.setIcon("arrow-up-right").setTitle("Open in system player").onClick(()=>{A4(o).catch(c=>{new Vn.Notice(`Failed to open file in system player: ${c.message}`),console.error("Failed to open file in system player",c)})}))}let r=t.urlViewType.getSupported(i),s=t.urlViewType.getPreferred(i),a=Co(i,t)?r.filter(o=>o!==s):r;Uu(e,{targetViewTypes:a,url:i,mode:"once",plugin:t}),Uu(e,{targetViewTypes:a,url:i,mode:"always",plugin:t})}))}var nR=async function(t,e,n,i){let{metadataCache:r}=this.app,{path:s,subpath:a}=(0,Vn.parseLinktext)(t),o=r.getFirstLinkpathDest(s,e),l;if(!o||!(l=en(o.extension))){i();return}let c={file:o,hash:a,type:l,viewType:Ft[l]};await this.leafOpener.openMedia(c,n,{fromUser:!0})};var Jr=require("obsidian");var Dm=class extends Jr.Component{constructor(n){super();this.plugin=n;_(this,"app");_(this,"noteToMediaIndex",new Map);_(this,"mediaToNoteIndex",new Map);this.app=n.app}findNotes(n){let i=this.mediaToNoteIndex.get(Am(n));return i?[...i]:[]}findMedia(n){return this.noteToMediaIndex.get(n.path)}onResolve(){this.noteToMediaIndex.clear(),this.mediaToNoteIndex.clear();let n={metadataCache:this.app.metadataCache,vault:this.app.vault,plugin:this.plugin};for(let{file:i,mediaInfo:r}of D4(n))this.addMediaNote(r,i);this.registerEvent(this.app.metadataCache.on("changed",i=>{let r=sR(i,n);r&&this.addMediaNote(r,i)})),this.registerEvent(this.app.metadataCache.on("deleted",i=>{this.removeMediaNote(i)})),this.registerEvent(this.app.vault.on("rename",(i,r)=>{if(!this.noteToMediaIndex.has(r))return;let s=this.noteToMediaIndex.get(r);this.noteToMediaIndex.delete(r),this.noteToMediaIndex.set(i.path,s)}))}removeMediaNote(n){let i=this.noteToMediaIndex.get(n.path);if(!i)return;this.noteToMediaIndex.delete(n.path);let r=Am(i),s=this.mediaToNoteIndex.get(r);s&&(s.delete(n),s.size===0&&this.mediaToNoteIndex.delete(r))}addMediaNote(n,i){this.noteToMediaIndex.set(i.path,n);let r=this.mediaToNoteIndex.get(Am(n));r?r.add(i):this.mediaToNoteIndex.set(Am(n),new Set([i]))}onload(){N4(this.app.metadataCache,this).then(()=>{this.onResolve()})}};function N4(t,e){return t.initialized?Promise.resolve():new Promise(n=>{let i=t.on("initialized",()=>{t.offref(i),n()});e?.registerEvent(i)})}function*iR(t){for(let e of t.children)e instanceof Jr.TFolder?yield*iR(e):e instanceof Jr.TFile&&(yield e)}function*D4(t){for(let e of iR(t.vault.getRoot())){if(e.extension!=="md")continue;let n=sR(e,t);n&&(yield{mediaInfo:n,file:e})}}var Nm={generic:"media",video:"video",audio:"audio"},rR=Object.values(Nm);function sR(t,{metadataCache:e,plugin:n}){let i=e.getFileCache(t);if(!i)return null;let r={metadataCache:e,sourcePath:t.path,plugin:n};return qb(Nm.video,i,r)??qb(Nm.audio,i,r)??qb(Nm.generic,i,r)}function qb(t,e,n){let{frontmatter:i,frontmatterLinks:r}=e;if(!i||!(t in i))return null;let s=r?.find(o=>o.key===t);if(s){let{path:o,subpath:l}=(0,Jr.parseLinktext)(s.link),c=n.metadataCache.getFirstLinkpathDest(o,n.sourcePath);if(!c)return null;let u=en(c.extension);return u?{type:u,file:c,hash:l}:null}let a=i[t];return typeof a!="string"?null:n.plugin.resolveUrl(a)}function Am(t){return Li(t)?`file:${t.file.path}`:`url:${t.jsonState.source}`}var aR=require("obsidian"),oR=$(jl());var Bb=$(ae()),Om=class extends aR.Component{constructor(n,i,r,s){super();this.info=n;this.file=i;this.subpath=r;this.plugin=s;_(this,"store");_(this,"root",null);_(this,"containerEl");this.containerEl=n.containerEl,this.store=Hr();let{containerEl:a}=n;a.addClasses(["mx","mx-media-embed","custom"]);function o(l){if(!(l instanceof Element))return!1;let c=l.closest("button");return c?c.hasAttribute(Gr):!1}this.registerDomEvent(a,"click",l=>{o(l.target)||l.stopImmediatePropagation()})}getMediaInfo(){if(!this.file)return null;let n=en(this.file.extension);return n?{type:n,file:this.file,hash:this.subpath}:null}render(){this.root?.unmount(),this.root=oR.default.createRoot(this.info.containerEl),this.root.render((0,Bb.jsx)(wt.Provider,{value:{plugin:this.plugin,store:this.store,reload:()=>this.render(),embed:!0},children:(0,Bb.jsx)(Qr,{})}))}onload(){super.onload(),this.render()}async loadFile(){await this.store.getState().loadFile(this.file,{vault:this.plugin.app.vault,subpath:this.subpath,defaultLang:this.plugin.settings.getState().getDefaultLang()})}onunload(){this.root?.unmount(),this.root=null,super.onunload()}};function lR(t,e){let n=e.muted;t.addItem(i=>i.setSection("mx-player").setIcon(n?"volume-2":"volume-x").setTitle(n?"Unmute":"Mute").onClick(()=>{e.muted=!n}))}function cR(t,e){e.state.canPictureInPicture&&(e.state.pictureInPicture?t.addItem(n=>n.setTitle("Exit Picture in Picture").setIcon("picture-in-picture-2").setSection("mx-player").onClick(()=>e.exitPictureInPicture())):t.addItem(n=>n.setTitle("Picture in Picture").setSection("mx-player").setIcon("picture-in-picture").onClick(()=>e.enterPictureInPicture())))}function uR(t,{setTransform:e,transform:n}){let i=t.setTitle("Transform").setIcon("rotate-3d").setSection("mx-player").setSubmenu();(n?.flipHorizontal||n?.flipVertical||n?.rotate)&&i.addItem(r=>r.setIcon("reset").setTitle("Reset").onClick(()=>e(null))),i.addItem(r=>r.setTitle("Flip horizontally").setIcon("flip-horizontal").setChecked(!!n?.flipHorizontal).onClick(()=>e({flipHorizontal:!n?.flipHorizontal}))).addItem(r=>r.setTitle("Flip vertically").setIcon("flip-vertical").setChecked(!!n?.flipVertical).onClick(()=>e({flipVertical:!n?.flipVertical}))).addSeparator().addItem(r=>r.setChecked(n?.rotate==="180").setIcon("iteration-cw").setTitle("Rotate 180\xB0").onClick(()=>{e({rotate:n?.rotate==="180"?void 0:"180"})}))}var Wb=require("obsidian");function dR(t,{source:e,plugin:n,viewType:i,player:r}){if(e.isFileUrl)return;let s=e.jsonState.source,a=e.print({start:r.currentTime,end:-1});t.addItem(u=>u.setTitle("Copy URL").setIcon("clipboard").setSection("view").onClick(()=>{navigator.clipboard.writeText(s),new Wb.Notice("URL copied to clipboard")})),a!==s&&t.addItem(u=>u.setTitle("Copy URL with time").setIcon("clipboard").setSection("view").onClick(()=>{navigator.clipboard.writeText(a),new Wb.Notice("URL with time copied to clipboard")})),t.addItem(u=>u.setTitle("Open link in default browser").setIcon("globe").setSection("view").onClick(()=>{window.open(a)}));let o=n.urlViewType.getSupported(e),l=i,c=o.filter(u=>u!==l);Uu(t,{mode:"always",open:!1,url:e,plugin:n,targetViewTypes:c})}function pR(t,{controls:e=!0,toggleControls:n,player:i,source:r,disableWebFullscreen:s,toggleWebFullscreen:a},o){i.provider instanceof Nn&&o==="more-options"&&(t.addItem(l=>{l.setTitle(e?"Show website native controls":"Hide website controls").setSection("mx-web-player").setIcon("sliders-horizontal").onClick(()=>{n(!e)})}),r.type!=="bilibili"&&r.type!=="youtube"&&t.addItem(l=>{l.setTitle(s?"Enable in-player fullscreen":"Disable in-player fullscreen").setSection("mx-web-player").setIcon(s?"maximize":"minimize").onClick(()=>{a(!!s)})}))}function Kb(){tR(this),this.registerEvent(this.app.workspace.on("mx-media-menu",(t,e,n)=>{if((n==="more-options"||n==="sidebar-context-menu"||n==="tab-header"||n==="player-menu-embed")&&t.addItem(r=>r.setTitle("Refresh").setSection("view").setIcon("reset").onClick(()=>{e.reload()})),n!=="sidebar-context-menu"&&n!=="tab-header"?(t.addItem(r=>Ux(r,e.player)),e.player.state.viewType==="video"&&(t.addItem(r=>uR(r,e)),cR(t,e.player))):lR(t,e.player),n==="player-menu-embed"){let r=e.source;t.addItem(s=>s.setTitle("Open to the right").setIcon("separator-vertical").setSection("view").onClick(()=>{this.leafOpener.openMedia(r,"split")})).addItem(s=>s.setTitle("Open in new tab").setSection("view").setIcon("file-plus").onClick(()=>{this.leafOpener.openMedia(r,"tab")})).addItem(s=>s.setTitle("Open in new window").setSection("view").setIcon("maximize").onClick(()=>{this.leafOpener.openMedia(r,"window")}))}pR(t,e,n),(n==="player-menu-embed"||n==="more-options")&&dR(t,e);let i=e.player.provider;(n==="player-menu-embed"||n==="more-options"||n==="sidebar-context-menu")&&js(i)&&t.addItem(r=>r.setTitle("Copy Screenshot").setSection("view").setIcon("copy").onClick(()=>{Eu({app:this.app,media:e.source,provider:i,settings:this.settings.getState(),state:e.player.state})}))}))}var O4=/^(?\d+)?x(?\d+)$|^(?\d+)$/;function hR(t){let e=parseInt(t,10);return Number.isNaN(e)?-1:e}var fR=t=>{let e=t?.match(O4)?.groups;if(!e)return null;let n=hR(e.xOnly??e.x),i=hR(e.y);return[n,i]},ju=t=>{let e=t.lastIndexOf("|"),n,i=t;return e===-1?(n=fR(t),n&&(i="")):(n=fR(i.substring(e+1)),n&&(i=i.substring(0,e))),{title:i,size:n}};function Vm(t,{title:e,size:n}){e?t.setAttr("alt",e):t.removeAttribute("alt");let i=(r,s)=>{s<0?t.style.removeProperty(r):t.style[r]=`${s}px`};n?(i("width",n[0]),i("height",n[1])):(i("width",-1),i("height",-1))}var mR=require("obsidian"),gR=$(jl());var Gb=$(ae()),$o=class extends mR.MarkdownRenderChild{constructor(n,i){super(n);this.containerEl=n;this.plugin=i;_(this,"store");_(this,"root",null);this.store=Hr(),n.addClasses(["mx","custom","mx-media-embed"])}getMediaInfo(){return this.store.getState().source?.url??null}async setSource(n,i={}){let r=this.plugin.urlViewType.getPreferred(n),s=this.plugin.settings.getState().getDefaultLang();this.store.getState().setSource(n,{title:i.title??!0,hash:i.hash,viewType:r,textTracks:r===Et.video?await jf(n,s).catch(a=>(console.error("Failed to get text tracks",a,n.href,s),[])):[]})}render(){this.root?.unmount(),this.root=gR.default.createRoot(this.containerEl),this.root.render((0,Gb.jsx)(wt.Provider,{value:{plugin:this.plugin,store:this.store,reload:()=>this.render(),embed:!0},children:(0,Gb.jsx)(Qr,{})}))}onload(){super.onload(),this.render()}onunload(){this.root?.unmount(),this.root=null,super.onunload()}};var bR=require("@codemirror/state"),Mo=require("@codemirror/view"),Ro=require("obsidian");var Fm=require("@codemirror/language"),ex=require("@codemirror/view");var vR=t=>!(!t.startsWith("./")&&!t.startsWith("../"))||t.indexOf(":")===-1;var yR=require("@codemirror/view"),_R=require("obsidian");var Yb=class extends $o{constructor(n,i){super(n,i);this.containerEl=n;this.plugin=i;n.addClasses(["mx-external-media-embed"]);function r(s){if(!(s instanceof Element))return!1;let a=s.closest("button");return a?a.hasAttribute(Gr):!1}this.registerDomEvent(n,"click",s=>{r(s.target)||s.stopImmediatePropagation()})}},Ws=class extends yR.WidgetType{constructor(n,i,r,s,a){super();this.plugin=n;this.media=i;this.title=r;this.start=s;this.end=a}setPos(n){let i=n.playerInfo;i&&(i.start=this.start,i.end=this.end)}hookClickHandler(n,i){i.on("click","button.mx-lp-edit",r=>{r.defaultPrevented||(this.selectElement(n,i),r.preventDefault())})}selectElement(n,i){let r=i.playerInfo,{start:s}=r??this,{end:a}=r??this;try{if(s<0||a<0){let o=n.posAtDOM(i);n.dispatch({selection:{head:o,anchor:o}}),n.focus()}else _R.Platform.isMobile&&(a=s),n.dispatch({selection:{head:s,anchor:a}}),n.focus()}catch{}}resizeWidget(n,i){window.ResizeObserver&&new window.ResizeObserver(()=>n.requestMeasure()).observe(i,{box:"border-box"})}setInfo(n,i){n.playerInfo={title:this.title,start:this.start,end:this.end,child:i,url:this.media}}updateDOM(n){let i=n.playerInfo;if(!i)return!1;let{title:r}=i;return this.media.compare(i.url)?this.title!==r&&(i.title=this.title,this.applyTitle(n),this.setPos(n)):i.child.setSource(this.media),!0}destroy(n){let i=n.playerInfo;i&&(delete n.playerInfo,i.child.unload())}eq(n){return this.media.compare(n.media)&&this.title===n.title}setDOM(n,i){i.tabIndex=-1,this.applyTitle(i);let r=new Yb(i,this.plugin);r.setSource(this.media),r.load(),this.hookClickHandler(n,i),this.setInfo(i,r),this.resizeWidget(n,i)}applyTitle(n){Vm(n,ju(this.title))}toDOM(n){let i=createDiv();return i.style.display="none",i.setAttr("src",this.media.source.href),i.addClasses(["external-embed","cm-embed-block","mx-media-embed"]),i.style.removeProperty("display"),this.setDOM(n,i),i}};Object.defineProperty(Ws.prototype,"estimatedHeight",{get:()=>100,enumerable:!1,configurable:!0});var Qb=class extends Ws{constructor(){super(...arguments);_(this,"enableWebview",!1)}},Xb=class extends Ws{constructor(){super(...arguments);_(this,"enableWebview",!1)}},Zb=class extends Ws{constructor(){super(...arguments);_(this,"enableWebview",!1)}},Jb=class extends Ws{constructor(){super(...arguments);_(this,"enableWebview",!0)}},wR={"mx-url-audio":Xb,"mx-url-video":Qb,"mx-embed":Zb,"mx-webpage":Jb};var V4=(t,e,n,i,r)=>{let s=e.doc,a=!1,o="",l="",c=-1;(0,Fm.syntaxTree)(e).iterate({from:i,to:r,enter:({type:d,from:p,to:h})=>{let y=new Set(d.prop(Fm.tokenClassNodeProp)?.split(" "));if(y){if(y.has("image-marker"))a=!0,c=p;else if(y.has("image-alt-text")&&!y.has("formatting"))o=s.sliceString(p,h);else if(a&&y.has("url")&&!y.has("formatting"))l=s.sliceString(p,h);else if(a&&l&&y.has("formatting")){if(vR(l))return;let v=t.resolveUrl(l);if(v&&Co(v,t)){let w=t.urlViewType.getPreferred(v),m=new wR[w](t,v,o,c,h);u(m,c,h)}a=!1,l="",o="",c=-1}}}});function u(d,p,h){let{from:v,text:w}=s.lineAt(p);w.substring(0,p-v).trim()===""&&w.substring(h-v).trim()===""?n.push(ex.Decoration.widget({widget:d,block:!0,side:-1}).range(v)):n.push(ex.Decoration.widget({widget:d,side:-1}).range(p))}},tx=V4;var F4=(t,e)=>zm(t,e[0])||zm(t,e[1]),zm=(t,e)=>t[0]e,z4=(t,e)=>{let n=zm(t,e[0])?t[0]:e[0],i=zm(t,e[1])?t[1]:e[1];return[n,i]};function nx(t){return t.sort((e,n)=>e[0]-n[0]).reduce((e,n)=>{let i=e.findIndex(r=>F4(r,n));return i!==-1?e[i]=z4(e[i],n):e.push(n),e},[])}var U4=t=>{let e=n=>{if(n.field(Ro.editorLivePreviewField)){let i=[];return tx(t,n,i),Mo.Decoration.set(i)}else return Mo.Decoration.none};return bR.StateField.define({create:e,update:(n,i)=>{let r=i.startState.field(Ro.editorLivePreviewField),s=i.state.field(Ro.editorLivePreviewField);if(r!==s)return e(i.state);if(!s)return Mo.Decoration.none;if(!i.docChanged)return n;if(i.state.field(Ro.editorEditorField).composing)return n.map(i.changes);n=n.map(i.changes);let a=[];i.changes.iterChangedRanges((l,c,u,d)=>{a.push([i.state.doc.lineAt(u).number,i.state.doc.lineAt(d).number])});let o=[];for(let[l,c]of nx(a)){let{from:u}=i.state.doc.line(l),{to:d}=i.state.doc.line(c);n=n.update({filterFrom:u,filterTo:d,filter:()=>!1}),tx(t,i.state,o,u,d)}return n.update({add:o,sort:!0})},provide:n=>Mo.EditorView.decorations.from(n)})},xR=U4;function ix(t){t.registerEditorExtension(xR(t)),H4(t)}var j4=["cm-line","cm-content"],kR="mxError";function TR(t){if(!t.parentElement)return!1;let e=t.parentElement;return j4.some(n=>e.classList.contains(n))}function ER(){TR(this)&&(this.dataset[kR]="",this.removeEventListener("load",SR))}function SR(){TR(this)&&(delete this.dataset[kR],this.removeEventListener("error",ER))}function H4(t){t.register(dt(window,{createEl:e=>function(){let n=e.apply(this,arguments);return n instanceof HTMLImageElement&&(n.addEventListener("error",ER,{once:!0}),n.addEventListener("load",SR,{once:!0})),n}}))}var q4=require("obsidian");function PR(t,e){let{app:n}=e;return new Promise(i=>{function r(){let s=n.workspace.getLeavesOfType(t)[0];return s?(i(s.view),!0):!1}n.workspace.onLayoutReady(()=>{if(r())return;let s=()=>{r()&&n.workspace.off("layout-change",s)};n.workspace.on("layout-change",s),e.register(()=>n.workspace.off("layout-change",s))})})}function Um(t){return t.constructor.prototype}function rx(t){t.getLeavesOfType("markdown").forEach(async e=>{let n=e.getViewState();await e.setViewState({type:"empty"}),await e.setViewState(n)})}function ax(t){B4.call(this,t),W4.call(this),ix(this)}function B4(t){let{app:e}=this;["video","audio"].forEach(r=>{let s=Tt[r],a=i(s),o=n(s,t);this.register(()=>{o(),a()})}),rx(e.workspace),this.register(()=>{rx(e.workspace)});function n(r,s){return e.embedRegistry.registerExtensions(r,s),()=>{e.embedRegistry.unregisterExtensions(r)}}function i(r){let s=r.map(a=>e.embedRegistry.embedByExtension[a]);return e.embedRegistry.unregisterExtensions(r),()=>{r.forEach((a,o)=>{let l=s[o];l&&e.embedRegistry.registerExtension(a,l)})}}}var sx=class extends $o{constructor(n,i,r){super(i,r);this.info=n;this.containerEl=i;this.plugin=r;i.addClasses(["mx-external-media-embed"])}onload(){this.setSource(this.info),super.onload()}};function W4(){let t=this;this.registerMarkdownPostProcessor((e,n)=>{for(let r of e.querySelectorAll("img")){let s=K4(r);s&&i(s,r)}for(let r of e.querySelectorAll('iframe.external-embed[src*="youtube.com/embed/"]')){let s=n.getSectionInfo(r)?.text,a=G4(s)??Y4(r);!a||!this.resolveUrl(a.url)||i(a,r)}function i(r,s){let a=t.resolveUrl(r.url);if(!a||!Co(a,t))return;let o=createDiv({cls:["media-embed","external-embed","is-loaded"],attr:{src:a.href}});Vm(o,r),s.replaceWith(o);let l=new sx(a,o,t);n.addChild(l)}})}function K4(t){let e=t.alt,n=t.src;return n?{url:n,...ju(e)}:null}function G4(t){if(!t)return null;let e=t.match(/!\[(?[^\]]*)\]\((?[^)]+)\)/);if(!e)return null;let{alt:n,src:i}=e.groups;return i?{url:i,...ju(n)}:null}function Y4(t){console.warn("cannot get source text of iframe, use src instead");let e=t.src;return e?{url:e,title:Wf(e),size:null}:null}function ox({onExternalLinkClick:t}){let e=this;return PR("markdown",e).then(n=>{if(!n.editMode){console.error("MarkdownView.editMode is not available, cannot patch editor click");return}e.register(dt(Um(n.editMode),{triggerClickableToken:i=>async function(r,s,...a){let o=()=>i.call(this,r,s,...a);if(t&&r.type==="external-link")try{await t.call(e,r.text,ur(s),o)}catch(l){console.error("onExternalLinkClick error in editor, fallback to default",l),o()}else o()}})),console.debug("editor click patched")})}var CR=require("obsidian");function lx(){let t=n=>{let i=n.target;if(!i.instanceOf(HTMLElement)||!i.matches(".metadata-property .metadata-property-value .external-link"))return;let r=i.closest(".metadata-property");if(!r)return;let s=r.dataset.propertyKey;if(!rR.includes(s))return;let a=this.resolveUrl(i.textContent);a&&(n.stopImmediatePropagation(),this.leafOpener.openMedia(a,ad(n),{fromUser:!0}))},e=dt(CR.MarkdownView.prototype,{onload:n=>function(){return this.registerDomEvent(this.containerEl,"click",t,{capture:!0}),n.call(this)}});this.register(()=>{e(),this.app.workspace.getLeavesOfType("markdown").forEach(n=>n.view.containerEl.removeEventListener("click",t))})}var $R=require("obsidian");function cx({onInternalLinkClick:t}){let e=this;this.register(dt($R.Workspace.prototype,{openLinkText:n=>async function(i,r,s,a,...o){let l=()=>n.call(this,i,r,s,a,...o);try{await t.call(e,i,r,ur(s),l)}catch(c){console.error("onInternalLinkClick error in openLinktext, fallback to default",c),l()}}}))}function ux(){this.registerMarkdownPostProcessor(t=>t.querySelectorAll("a").forEach(e=>{let n=e.getAttr("aria-label");if(n)try{let i=decodeURI(n);n!==i&&e.setAttr("aria-label",i)}catch{}}))}var MR=require("obsidian");function dx(t){let e=this,n=dt(MR.MarkdownPreviewRenderer,{registerDomEvents:i=>function(r,s,...a){return Q4(s,t,e),n(),console.debug("preview click patched"),i.call(this,r,s,...a)}});e.register(n)}function Q4(t,{onExternalLinkClick:e},n){n.register(dt(Um(t),{onExternalLinkClick:i=>async function(r,s,a,...o){let l=()=>i.call(this,r,s,a,...o);if(!e)return l();r.preventDefault();try{await e.call(n,a,ad(r),l)}catch(c){console.error("onExternalLinkClick error in preview, fallback to default",c),l()}}}))}function px(t,e,n){let{app:i}=this;this.registerView(t,e),this.register(r(n)),this.registerExtensions(n,t);function r(s){let a=s.map(o=>({ext:o,type:i.viewRegistry.typeByExtension[o]}));return i.viewRegistry.unregisterExtensions(s),()=>{X4(a,"type").forEach((o,l)=>{l&&i.viewRegistry.registerExtensions(o.map(c=>c.ext),l)})}}}function X4(t,e){return t.reduce((n,i)=>{let r=i[e],s=n.get(r);return s?s.push(i):n.set(r,[i]),n},new Map)}var RR=require("obsidian");function LR(t){return t?(t=t instanceof URL?t:Bn(t),RR.Platform.isWin||!t||t.protocol!=="file:"||!t.pathname.includes("%5C")||(t.pathname=t.pathname.replaceAll(/%5C/g,"/")),t):null}var UR=$(Hm()),Ye=require("obsidian");var AR=()=>(...t)=>t;var NR=require("obsidian");var DR={6:"240P \u6781\u901F",16:"360P \u6D41\u7545",32:"480P \u6E05\u6670",64:"720P \u9AD8\u6E05",74:"720P60 \u9AD8\u5E27\u7387",80:"1080P \u9AD8\u6E05",112:"1080P+ \u9AD8\u7801\u7387",116:"1080P60 \u9AD8\u5E27\u7387",120:"4K \u8D85\u6E05",125:"HDR \u771F\u5F69\u8272",126:"\u675C\u6BD4\u89C6\u754C",127:"8K \u8D85\u9AD8\u6E05"};async function hx(t,e){await t.cookies.set({url:"https://www.bilibili.com",domain:".bilibili.com",path:"/",name:"CURRENT_QUALITY",value:e.toString(),expirationDate:Date.now()+1e3*60*60*24*365})}var OR=AR()("defaultVolume","urlMappingData","devices","defaultMxLinkClick","linkHandler","loadStrategy","timestampTemplate","screenshotTemplate","screenshotEmbedTemplate","insertBefore","timestampOffset","biliDefaultQuality","screenshotFormat","screenshotQuality","defaultLanguage","screenshotFolderPath"),VR={defaultVolume:80,urlMappingData:[],devices:[],defaultMxLinkClick:{click:"split",alt:"window"},linkHandler:{"mx-embed":[],"mx-url-audio":[],"mx-url-video":[],"mx-webpage":[]},loadStrategy:"eager",timestampTemplate:` - {{TIMESTAMP}} `,screenshotEmbedTemplate:"{{TITLE}}{{DURATION}}|50",screenshotTemplate:` -- !{{SCREENSHOT}} {{TIMESTAMP}} `,insertBefore:!1,timestampOffset:0,biliDefaultQuality:80,screenshotFormat:"image/webp"};function TR(){return nt.Platform.isDesktopApp?require("os").hostname()||(nt.Platform.isMacOS?"Mac":nt.Platform.isWin?"Windows":nt.Platform.isLinux?"Linux":"Desktop"):nt.Platform.isIosApp?nt.Platform.isPhone?"iPhone":nt.Platform.isTablet?"iPad":"iOS Device":nt.Platform.isAndroidApp?nt.Platform.isPhone?"Android Phone":nt.Platform.isTablet?"Android Tablet":"Android Device":"Unknown Device"}function SR(t){return new Map(t.map(e=>[`${e.appId}%${e.protocol}`,e.replace]))}function O4(t){return Array.from(t.entries()).map(([e,n])=>{let[i,r]=e.split("%");return{appId:i,protocol:r,replace:n}}).filter(e=>e.appId&&e.protocol&&e.replace)}function CR(t){let e=(0,nt.debounce)(n=>{let i=lg(n,kR);t.saveData({...i,urlMappingData:n.getUrlMappingData()})},1e3);return Tp((n,i)=>({...Zu(ER,["urlMappingData"]),setScreenshotFormat(r){n({screenshotFormat:r}),e(i())},setScreenshotQuality(r){n({screenshotQuality:r??void 0}),e(i())},setDefaultLanguage(r){n({defaultLanguage:r?.format()}),e(i())},getDefaultLang(){let r=i().defaultLanguage,s=nt.moment.locale();return r&&!ob(r)?(new nt.Notice(`Invalid language code detected in preferences: ${r}, reverting to ${s}.`),n({defaultLanguage:void 0}),e(i()),s):r??nt.moment.locale()},getUrlMappingData(){return O4(i().urlMapping)},setBiliDefaultQuality(r){n({biliDefaultQuality:r}),e(i())},setInsertPosition(r){n({insertBefore:r==="before"}),e(i())},setLinkHandler(r,s){n(a=>{let o={...a.linkHandler};for(let l of Object.keys(o)){let c=l;o[c]=o[c].filter(u=>typeof u=="string"?u!==r:typeof r=="string"||!V4(u,r)),c===s&&(o[c]=[...o[c],r])}return{linkHandler:o}}),e(i())},setTimestampOffset(r){n({timestampOffset:r}),e(i())},setDefaultMxLinkBehavior:r=>{let s;r==="split"?s="window":r==="window"?s="tab":r==="tab"?s="split":s=null,n({defaultMxLinkClick:{click:r,alt:s}}),e(i())},setTemplate(r,s){switch(r){case"screenshot":n({screenshotTemplate:s});break;case"screenshotEmbed":n({screenshotEmbedTemplate:s});break;case"timestamp":n({timestampTemplate:s});break;default:(0,PR.assertNever)(r)}e(i())},setMxLinkAltBehavior:r=>{n(({defaultMxLinkClick:s})=>({defaultMxLinkClick:{...s,alt:r}})),e(i())},urlMapping:SR(ER.urlMappingData),setDefaultVolume:r=>{n({defaultVolume:r}),e(i())},getUrlMapping:r=>i().urlMapping.get(`${t.app.appId}%${r}`),setUrlMapping:(r,s)=>{if(r.includes("%"))throw new Error("Protocol cannot contain %");let a=`${t.app.appId}%${r}`;n(o=>({urlMapping:new Map(o.urlMapping).set(a,s),devices:o.getDeviceName()?o.devices:[...o.devices,{appId:t.app.appId,name:TR()}]})),e(i())},removeUrlMapping:r=>{if(r.includes("%"))throw new Error("Protocol cannot contain %");n(s=>{let a=`${t.app.appId}%${r}`,o=new Map(s.urlMapping);return o.delete(a),{urlMapping:o}}),e(i())},getDeviceName(r=t.app.appId){return i().devices.find(s=>s.appId===r)?.name},getDeviceNameWithDefault(r=t.app.appId){let s=i().devices.find(a=>a.appId===r);return s?s.name:r===t.app.appId?TR():"Unknown Device"},setDeviceName(r,s=t.app.appId){n({devices:[...i().devices.filter(a=>a.appId!==s),{appId:s,name:r}]}),e(i())},setLoadStrategy:r=>{n({loadStrategy:r}),e(i())},load:async()=>{let r=await t.loadData();if(!r)return;let{urlMappingData:s,...a}=lg(r,kR);n({...a,urlMapping:SR(s??[])})},save:()=>{e(i())}}))}function V4(t,e){let n=new Set([...Object.keys(t),...Object.keys(e)]);for(let i of n)if(t[i]!==e[i])return!1;return!0}var RR=require("url"),ox=$(sb()),ne=require("obsidian");var Vm=class extends ne.PluginSettingTab{constructor(n){super(n.app,n);_(this,"plugin");this.plugin=n}get state(){return this.plugin.settings.getState()}get sub(){return this.plugin.settings.subscribe.bind(this.plugin.settings)}protocol(){new ne.Setting(this.containerEl).setHeading().setName("Protocols").setDesc("Create custom protocols that resolve link per device");let n=this.containerEl.createDiv({cls:"mx-protocol-container"});new ne.Setting(n).setHeading().setName("This device").addText(o=>o.setPlaceholder(this.state.getDeviceNameWithDefault()).setValue(this.state.getDeviceName()??"").onChange(l=>this.state.setDeviceName(l))).addExtraButton(o=>o.setIcon("plus").setTooltip("Add new protocol").onClick(()=>{let l=new ne.Menu().addItem(c=>c.setIcon("link").setTitle("Link mapping").onClick(()=>{let u=r({protocol:"",replace:"https://"});i.insertAdjacentElement("afterbegin",u.settingEl)}));ne.Platform.isDesktopApp&&l.addItem(c=>c.setIcon("folder").setTitle("Folder mapping").onClick(async()=>{let u=(await ed().showOpenDialog({title:"Pick a folder",message:"Pick a folder to resolve media files from",buttonLabel:"Pick",properties:["openDirectory"]})).filePaths[0];if(!u)return;let d=r({protocol:"",replace:(0,RR.pathToFileURL)(u).href});i.insertAdjacentElement("afterbegin",d.settingEl)})),Qs(o.extraSettingsEl,l)}));let i=n.createDiv({cls:"mx-protocol-list"}),r=o=>new ne.Setting(i).then(l=>{let c=o.protocol,u=new ne.TextComponent(l.controlEl).setPlaceholder("Protocol name").setValue(c).onChange(h=>{if(!h)return;let y=c;c=h,this.state.removeUrlMapping(y);let v=p.getValue();v&&this.state.setUrlMapping(h,v)}),d="Target URL prefix";if(o.devices){d="Configured in ";let h=o.devices.filter(y=>!!y).slice(0,2);h.length>0?(d+=h.join(", "),h.length1&&(d+="s"))}let p=new ne.TextComponent(l.controlEl).setPlaceholder(d).setValue(o.replace).onChange(h=>{u.getValue()&&this.state.setUrlMapping(u.getValue(),h)});u.inputEl.addClass("mx-protocol-input"),p.inputEl.addClass("mx-replace-input"),l.addExtraButton(h=>h.setIcon("trash").setTooltip(`Remove ${u.getValue()||"empty"} protocol`).onClick(()=>{this.state.removeUrlMapping(u.getValue()),l.settingEl.remove()}))}),s=this.state.getUrlMappingData();[...new Set(s.map(o=>o.protocol))].sort().forEach(o=>{r({protocol:o,devices:s.filter(l=>l.protocol===o&&l.appId!==this.plugin.app.appId).map(l=>this.state.devices.find(c=>c.appId===l.appId)?.name??null),replace:this.state.getUrlMapping(o)??""})})}linkOpen(){let{containerEl:n}=this;new ne.Setting(n).setHeading().setName("Link open").setDesc("Configure how links to media are opened");let i={default:"Default obsidian behavior",replace:"In current pane",split:"New pane on the side",tab:"New tab",window:"New window"},r=c=>{switch(c){case"split":return ne.Platform.isMacOS?"click holding \u2318+\u2325":"click holding Ctrl+Alt";case"window":return ne.Platform.isMacOS?"click holding \u2318+\u2325+\u21E7":"click holding Ctrl+Alt+Shift";case"tab":default:return ne.Platform.isMacOS?"click holding \u2318 or middle-click":"middle-click or click holding Ctrl"}},s=c=>c===null?"default":c===!1?"replace":c,a=c=>{switch(c){case"replace":return!1;case"split":case"tab":case"window":return c;default:return null}};new ne.Setting(n).setName("Default link click").setDesc("Configure how links to media are opened").addDropdown(c=>c.addOptions(i).setValue(s(this.state.defaultMxLinkClick.click)).onChange(u=>this.state.setDefaultMxLinkBehavior(a(u))).then(()=>this.sub((u,d)=>{u.defaultMxLinkClick.click!==d.defaultMxLinkClick.click&&c.setValue(s(u.defaultMxLinkClick.click))})));let o=new ne.Setting(n).setName("Altnernative behavior").addDropdown(c=>c.addOptions(i).setValue(s(this.state.defaultMxLinkClick.alt)).onChange(u=>this.state.setMxLinkAltBehavior(a(u))).then(()=>this.sub((u,d)=>{u.defaultMxLinkClick.alt!==d.defaultMxLinkClick.alt&&c.setValue(s(u.defaultMxLinkClick.alt))})));function l(c){let u=r(c);o.setDesc("Configure link open behavior"+u?` when ${u}`:"")}l(this.state.defaultMxLinkClick.click),this.sub((c,u)=>{c.defaultMxLinkClick!==u.defaultMxLinkClick&&l(c.defaultMxLinkClick.click)})}playback(){let{containerEl:n}=this;new ne.Setting(n).setHeading().setName("Playback"),new ne.Setting(n).setName("Default volume").setDesc("The default volume for media files").addSlider(a=>a.setLimits(0,100,1).setValue(this.state.defaultVolume).onChange(this.state.setDefaultVolume).then(o=>{this.sub((l,c)=>{l.defaultVolume!==c.defaultVolume&&o.setValue(l.defaultVolume)})})).addText(a=>a.setValue(Om(this.state.defaultVolume)).onChange($R(this.state.setDefaultVolume)).then(o=>{ax.call(o,0,100,1),o.inputEl.type="number",o.inputEl.style.textAlign="center",this.sub((l,c)=>{l.defaultVolume!==c.defaultVolume&&o.setValue(Om(l.defaultVolume))})})).then(a=>a.controlEl.appendText("%")),new ne.Setting(n).setName("Load strategy").setDesc(createFragment(a=>{a.appendText("Configure when media embeds are loaded in the note"),a.createEl("br"),a.appendText("Useful if you want lazy load media embeds in a note when there are many of them")})).addDropdown(a=>a.addOption("eager","On note open").addOption("play","When interacted with").setValue(this.state.loadStrategy).onChange(o=>this.state.setLoadStrategy(o)));let i="_follow_",r=LC(),s=Object.fromEntries(ox.default.getAllCodes().flatMap(a=>r.has(a)?[...r.get(a).values()]:[[a,ox.default.getNativeName(a)]]));new ne.Setting(n).setName("Default locale").setDesc("The default locale for subtitles").addDropdown(a=>a.addOption(i,"Follow obsidian locale").addOptions(s).setValue(this.state.defaultLanguage??i).onChange(o=>this.state.setDefaultLanguage(o===i?null:o)))}timestamp(){let{containerEl:n}=this;new ne.Setting(n).setHeading().setName("Timestamp"),new ne.Setting(n).setName("Timestamp template").setDesc(createFragment(i=>{i.appendText("The template used to insert timestamps."),i.createEl("br"),i.appendText("Supported placeholders: {{TIMESTAMP}}")})).addTextArea(i=>{i.setValue(this.state.timestampTemplate).onChange(r=>this.state.setTemplate("timestamp",r)),i.inputEl.rows=5,i.inputEl.cols=40}),new ne.Setting(n).setName("Timestamp offset").setDesc("Offset in seconds to add to the timestamp").addSlider(i=>i.setLimits(-10,10,.01).setValue(this.state.timestampOffset).onChange(this.state.setTimestampOffset).then(r=>{this.sub((s,a)=>{s.timestampOffset!==a.timestampOffset&&r.setValue(s.timestampOffset)})})).addText(i=>i.setValue(Om(this.state.timestampOffset)).onChange(MR(this.state.setTimestampOffset)).then(r=>{ax.call(r,-10,10,.01),r.inputEl.type="number",r.inputEl.style.textAlign="center",this.sub((s,a)=>{s.timestampOffset!==a.timestampOffset&&r.setValue(Om(s.timestampOffset))})})).then(i=>i.controlEl.appendText("s"))}screenshot(){let{containerEl:n}=this;new ne.Setting(n).setHeading().setName("Screenshot"),new ne.Setting(n).setName("Screenshot linktext template").setDesc(createFragment(r=>{r.appendText("The template used to create screenshot linktext."),r.createEl("br"),r.appendText("Supported placeholders: {{DURATION}}, {{TITLE}}"),r.createEl("br"),r.appendText("Remove `|50` suffix to embed image in full size")})).addTextArea(r=>{r.setValue(this.state.screenshotEmbedTemplate).onChange(s=>this.state.setTemplate("screenshotEmbed",s)),r.inputEl.rows=5,r.inputEl.cols=40}),new ne.Setting(n).setName("Screenshot template").setDesc(createFragment(r=>{r.appendText("The template used to insert screenshot."),r.createEl("br"),r.appendText("Supported placeholders: "),r.createEl("ul",{},s=>{s.createEl("li").appendText("{{TIMESTAMP}} - timestamp link"),s.createEl("li",{},a=>{a.appendText("{{SCREENSHOT}} - link to screenshot"),a.createEl("br"),a.appendText("add `!` prefix to insert as image embed")})})})).addTextArea(r=>{r.setValue(this.state.screenshotTemplate).onChange(s=>this.state.setTemplate("screenshot",s)),r.inputEl.rows=5,r.inputEl.cols=40}),new ne.Setting(n).setName("Screenshot format").setDesc(createFragment(r=>{r.appendText("The format to use when taking screenshots"),r.createEl("br"),r.appendText("Note that the webp format falls back to jpeg in iOS or iPadOS")})).addDropdown(r=>r.addOptions({"image/png":"PNG","image/jpeg":"JPEG","image/webp":"WEBP"}).setValue(this.state.screenshotFormat).onChange(s=>this.state.setScreenshotFormat(s)));let i=r=>r.screenshotFormat==="image/webp"?.8:.92;new ne.Setting(n).setName("Screenshot quality").setDesc("Quality of the screenshot").addText(r=>r.setValue(this.state.screenshotQuality?.toString()??"").setPlaceholder(i(this.state).toString()).onChange(MR(this.state.setScreenshotQuality)).then(s=>{ax.call(s,0,1,.01),s.inputEl.type="number",s.inputEl.style.textAlign="center",this.sub((a,o)=>{a.screenshotFormat!==o.screenshotFormat&&s.setPlaceholder(i(this.state).toString()),a.screenshotQuality!==o.screenshotQuality&&s.setValue(a.screenshotQuality?.toString()??"")})})).addButton(r=>r.setTooltip("Reset to default").setIcon("reset").onClick(()=>{this.state.setScreenshotQuality(null)}).setDisabled(this.state.screenshotQuality===null).then(()=>{this.sub((s,a)=>{s.screenshotQuality!==a.screenshotQuality&&r.setDisabled(s.screenshotQuality===null)})})).then(r=>{this.sub((s,a)=>{s.screenshotFormat!==a.screenshotFormat&&(r.settingEl.style.display=s.screenshotFormat==="image/png"?"none":"")})})}noteTaking(){let{containerEl:n}=this;new ne.Setting(n).setHeading().setName("Note taking"),new ne.Setting(n).setDesc("Configure where timestamps and screenshots are inserted").setName("Insert location").addDropdown(i=>i.addOption("before","Latest content on top").addOption("after","Latest content at end").setValue(this.state.insertBefore===!0?"before":"after").onChange(r=>this.state.setInsertPosition(r))),this.timestamp(),this.screenshot()}webpage(){if(!ne.Platform.isDesktopApp)return;let{containerEl:n}=this;new ne.Setting(n).setHeading().setName("Webpage"),new ne.Setting(n).setName("Login").setDesc("If website requires login to access content or request login during playback, you can open a browser page here to login.").addButton(i=>i.setCta().setButtonText("Open broswer").onClick(()=>{new Xs(this.app).open()}))}bilibili(){let{containerEl:n}=this;new ne.Setting(n).setHeading().setName("Bilibili"),new ne.Setting(n).setName("Default quality").setDesc(createFragment(i=>{i.appendText("The default quality for bilibili videos, will fallback to closest quality if not available"),i.createEl("br"),i.appendText("Only new videos will use this quality")})).addDropdown(i=>i.addOptions(xR).setValue(this.state.biliDefaultQuality.toString()).onChange($R(r=>this.state.setBiliDefaultQuality(r))))}display(){let{containerEl:n}=this;n.empty(),this.webpage(),this.playback(),this.noteTaking(),this.linkOpen(),this.protocol(),this.bilibili()}};function $R(t){return e=>t(parseInt(e,10))}function MR(t){return e=>t(parseFloat(e))}function Om(t){return t.toString()}function ax(t,e,n){return this.inputEl.min=t.toString(),this.inputEl.max=e.toString(),this.inputEl.step=n.toString(),this}var DR=require("url"),cx=$(Dm()),Fe=require("obsidian");var LR=require("obsidian");async function lx(t){if(!LR.Platform.isDesktopApp)throw new Error("Not supported in web");let e=await ed().showOpenDialog({title:"Pick a media file",message:"Pick a media file to open",buttonLabel:"Pick",properties:["openFile"],filters:[{extensions:kt.video,name:"Video"},{extensions:kt.audio,name:"Audio"}],defaultPath:t});return e.canceled?null:e.filePaths[0]??null}var IR=require("url"),AR=require("obsidian");var Fm=class t extends AR.FuzzySuggestModal{constructor(n){super(n.app);this.plugin=n;_(this,"resolve",jl)}static choose(n){return new Promise(i=>{let r=new t(n);r.open(),r.resolve=i})}getItems(){return this.plugin.settings.getState().getUrlMappingData().filter(n=>n.appId===this.app.appId&&n.replace.startsWith("file://")).map(n=>({action:n.protocol,path:(0,IR.fileURLToPath)(n.replace),url:n.replace}))}getItemText(n){return`mx://${n.action}: ${n.path}`}onChooseItem(n){this.resolve(n)}onClose(){super.onClose(),setTimeout(()=>{this.resolve(null)},0)}};var F4=/^av(?\d+)$/i,z4=/^BV1(?[1-9A-HJ-NP-Za-km-z]{9})$/,U4=/^[\w-]{11}$/,j4=/^(?:(?:[a-zA-Z\d]|[a-zA-Z\d][a-zA-Z\d-]*[a-zA-Z\d])\.)*(?:[A-Za-z\d]|[A-Za-z\d][A-Za-z\d-]*[A-Za-z\d])$/;function ux(t){try{return(0,DR.pathToFileURL)(t)}catch(e){return console.error(`Failed to convert path ${t} to URL: `,e),null}}function NR(t){let e=ei.isAbsolute(t)?ux(t):Un(t);return!e||["http:","https:"].includes(e.protocol)&&!j4.test(e.hostname)?null:e}var zm=class extends Fe.SuggestModal{constructor(n){super(n.app);this.plugin=n;this.inputEl.addEventListener("drop",i=>{if(!i.dataTransfer||i.dataTransfer.files.length===0)return;let r=[...i.dataTransfer.files],s=[...i.dataTransfer.files].filter(l=>Xt(ei.extname(l.name)));if(s.length===0){new Fe.Notice(`Cannot open dropped file${r.length>1?"s":""}, not supported media file type`);return}let a=s[0];i.preventDefault();let o=i.target;o.value=a.path,o.dispatchEvent(new Event("input"))}),this.setPlaceholder("Enter file path, URL or media id, or drop a media file here"),this.setInstructions([{command:"\u2191\u2193",purpose:"to navigate"},{command:"\u21B5",purpose:"to open url"},{command:Fe.Platform.isMacOS?"\u2318 \u21B5":"ctrl \u21B5",purpose:"to open in new tab"},{command:Fe.Platform.isMacOS?"\u2318 \u2325 \u21B5":"ctrl alt \u21B5",purpose:"to open to the right"},{command:"esc",purpose:"to dismiss"}]),this.scope.register(null,"Enter",i=>(this.chooser.useSelectedItem(i),!1))}getSuggestions(n){let i=NR(n),r=[];if(!i){let o;if((o=n.match(F4))&&r.push(new URL(`https://www.bilibili.com/video/av${o.groups.id}`)),(o=n.match(z4))&&r.push(new URL(`https://www.bilibili.com/video/${n}`)),(o=n.match(U4))&&r.push(new URL(`https://www.youtube.com/watch?v=${n}`)),!o){let l=NR(`https://${n}`);l&&r.push(l)}}let s=r.map(o=>_t.create(o.href)).filter(o=>!!o),a=this.plugin.resolveUrl(i?.href);return a?[a,...s]:s}onNoSuggestion(){super.onNoSuggestion(),this.chooser.setSuggestions(["file-picker","file-protocol-picker"])}renderSuggestion(n,i){n instanceof _t?i.setText(decodeURI(n.href)):n==="file-picker"?i.setText("Open local file"):n==="file-protocol-picker"?i.setText("Pick from folders defined in custom protocol"):(0,cx.assertNever)(n)}async onChooseSuggestion(n,i){let r;if(n==="file-protocol-picker"){let a=await Fm.choose(this.plugin);if(!a)return;let o=await lx(a.path);if(!o)return;if(!o.startsWith(a.path)){new Fe.Notice(`For protocol ${a.action}, the file must be in ${a.path}`);return}let l=ux(o);if(!l)return;let c=this.plugin.resolveUrl(l.href.replace(a.url.replace(/\/*$/,"/"),`mx://${a.action}/`));if(!c){new Fe.Notice(`Failed to resolve file protocol url: ${l.href} with ${a.url}`);return}r=c}else if(n==="file-picker"){let a=await lx();if(!a)return;let o=ux(a);if(!o)return;r=new _t(o.href)}else n instanceof _t?r=n:(0,cx.assertNever)(n);if(r.isFileUrl){if(!r.inferredType){new Fe.Notice("Unsupported file type: "+r.pathname);return}if(r.hostname){new Fe.Notice(`Network path is not supported in obsidian, you need to map it to a local path: ${r.filePath??r.readableHref}`);return}}let s=r.getVaultFile(this.plugin.app.vault);if(s){let a=Xt(s.extension);if(!a){new Fe.Notice("Unsupported file type: "+s.path);return}r={file:s,hash:r.hash,type:a}}else if(r.isFileUrl){let a=Mx();if(!a){new Fe.Notice("File path is only supported in desktop app");return}try{if(!(await a.stat(r)).isFile()){new Fe.Notice("Not a file: "+r.readableHref);return}}catch(o){let l=o,c=r.filePath??r.href;l.code==="ENOENT"?new Fe.Notice("File not found: "+c):l.code==="EACCES"?new Fe.Notice("Permission denied: "+c):new Fe.Notice(`Failed to access file (${l.code}): `+c);return}}console.debug("media selected",r),Fe.Keymap.isModifier(i,"Mod")&&Fe.Keymap.isModifier(i,"Alt")?this.plugin.leafOpener.openMedia(r,"split",{direction:"vertical"}):Fe.Keymap.isModifier(i,"Mod")?this.plugin.leafOpener.openMedia(r,"tab"):this.plugin.leafOpener.openMedia(r,!1)}};var Uu=require("obsidian");var OR="mx-open";function VR(t){window.OBS_ACT&&t.register(ut(window,{OBS_ACT:i=>function(s){if(s.action.startsWith(OR+"/")){e(s);return}return i.apply(this,arguments)}})),t.registerObsidianProtocolHandler("mx-open",async i=>{let r=Un(i.url);if(!r){new Uu.Notice("Invalid URL: "+i.url);return}await n(r)});async function e(i){let r=i.action.substring(OR.length+1),s=Un(r),a=new URLSearchParams(i);if(a.delete("action"),!s){new Uu.Notice("Invalid URL: "+r+"?"+a.toString());return}s.search=a.toString(),await n(s)}async function n(i){let r=_t.create(i);if(!r){new Uu.Notice("Invail URL: "+i.href);return}new Uu.Notice(createFragment(s=>{s.appendText(`Opening ${r.type} ${r.inferredType??"content"} from browser: `),s.createEl("br"),s.createEl("a",{text:i.href.length>50?i.href.slice(0,25)+"..."+i.href.slice(-25):i.href,href:i.href})})),await t.leafOpener.openMedia(r,"tab")}}function FR(t){function e(){new zm(t).open()}t.addCommand({id:"open-media-switcher",name:"Open media",icon:"play",callback:e}),t.addRibbonIcon("play","Open media",e),VR(t)}var hx=(t,e)=>e.some(n=>t instanceof n),zR,UR;function H4(){return zR||(zR=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function q4(){return UR||(UR=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var fx=new WeakMap,dx=new WeakMap,Um=new WeakMap;function B4(t){let e=new Promise((n,i)=>{let r=()=>{t.removeEventListener("success",s),t.removeEventListener("error",a)},s=()=>{n(Bs(t.result)),r()},a=()=>{i(t.error),r()};t.addEventListener("success",s),t.addEventListener("error",a)});return Um.set(e,t),e}function W4(t){if(fx.has(t))return;let e=new Promise((n,i)=>{let r=()=>{t.removeEventListener("complete",s),t.removeEventListener("error",a),t.removeEventListener("abort",a)},s=()=>{n(),r()},a=()=>{i(t.error||new DOMException("AbortError","AbortError")),r()};t.addEventListener("complete",s),t.addEventListener("error",a),t.addEventListener("abort",a)});fx.set(t,e)}var mx={get(t,e,n){if(t instanceof IDBTransaction){if(e==="done")return fx.get(t);if(e==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Bs(t[e])},set(t,e,n){return t[e]=n,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function BR(t){mx=t(mx)}function K4(t){return q4().includes(t)?function(...e){return t.apply(gx(this),e),Bs(this.request)}:function(...e){return Bs(t.apply(gx(this),e))}}function G4(t){return typeof t=="function"?K4(t):(t instanceof IDBTransaction&&W4(t),hx(t,H4())?new Proxy(t,mx):t)}function Bs(t){if(t instanceof IDBRequest)return B4(t);if(dx.has(t))return dx.get(t);let e=G4(t);return e!==t&&(dx.set(t,e),Um.set(e,t)),e}var gx=t=>Um.get(t);function WR(t,e,{blocked:n,upgrade:i,blocking:r,terminated:s}={}){let a=indexedDB.open(t,e),o=Bs(a);return i&&a.addEventListener("upgradeneeded",l=>{i(Bs(a.result),l.oldVersion,l.newVersion,Bs(a.transaction),l)}),n&&a.addEventListener("blocked",l=>n(l.oldVersion,l.newVersion,l)),o.then(l=>{s&&l.addEventListener("close",()=>s()),r&&l.addEventListener("versionchange",c=>r(c.oldVersion,c.newVersion,c))}).catch(()=>{}),o}var Y4=["get","getKey","getAll","getAllKeys","count"],Q4=["put","add","delete","clear"],px=new Map;function jR(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(px.get(e))return px.get(e);let n=e.replace(/FromIndex$/,""),i=e!==n,r=Q4.includes(n);if(!(n in(i?IDBIndex:IDBObjectStore).prototype)||!(r||Y4.includes(n)))return;let s=async function(a,...o){let l=this.transaction(a,r?"readwrite":"readonly"),c=l.store;return i&&(c=c.index(o.shift())),(await Promise.all([c[n](...o),r&&l.done]))[0]};return px.set(e,s),s}BR(t=>({...t,get:(e,n,i)=>jR(e,n)||t.get(e,n,i),has:(e,n)=>!!jR(e,n)||t.has(e,n)}));var X4=["continue","continuePrimaryKey","advance"],HR={},vx=new WeakMap,KR=new WeakMap,Z4={get(t,e){if(!X4.includes(e))return t[e];let n=HR[e];return n||(n=HR[e]=function(...i){vx.set(this,KR.get(this)[e](...i))}),n}};async function*J4(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;e=e;let n=new Proxy(e,Z4);for(KR.set(n,e),Um.set(n,gx(e));e;)yield n,e=await(vx.get(n)||e.continue()),vx.delete(n)}function qR(t,e){return e===Symbol.asyncIterator&&hx(t,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&hx(t,[IDBIndex,IDBObjectStore])}BR(t=>({...t,get(e,n,i){return qR(e,n)?J4:t.get(e,n,i)},has(e,n){return qR(e,n)||t.has(e,n)}}));var Hm=require("obsidian");function e6(t,...e){return t.reduce((n,i,r)=>{let s=e[r],a=s!==void 0?JSON.stringify(s):"";return n+i+a},"")}var ju="mx:http_proxy",yx={type:"player_v2",host:"api.bilibili.com",pathnames:["/x/player/v2","/x/player/wbi/v2"],filter:["https://api.bilibili.com/x/player/v2*","https://api.bilibili.com/x/player/wbi/v2*"],header:"player_v2",types:["xhr"]};function GR(t,e){return e6` +- !{{SCREENSHOT}} {{TIMESTAMP}} `,insertBefore:!1,timestampOffset:0,biliDefaultQuality:80,screenshotFormat:"image/webp"};function FR(){return Ye.Platform.isDesktopApp?require("os").hostname()||(Ye.Platform.isMacOS?"Mac":Ye.Platform.isWin?"Windows":Ye.Platform.isLinux?"Linux":"Desktop"):Ye.Platform.isIosApp?Ye.Platform.isPhone?"iPhone":Ye.Platform.isTablet?"iPad":"iOS Device":Ye.Platform.isAndroidApp?Ye.Platform.isPhone?"Android Phone":Ye.Platform.isTablet?"Android Tablet":"Android Device":"Unknown Device"}function zR(t){return new Map(t.map(e=>[`${e.appId}%${e.protocol}`,e.replace]))}function Z4(t){return Array.from(t.entries()).map(([e,n])=>{let[i,r]=e.split("%");return{appId:i,protocol:r,replace:n}}).filter(e=>e.appId&&e.protocol&&e.replace)}function jR(t){let e=(0,Ye.debounce)(n=>{let i=mg(n,OR);t.saveData({...i,urlMappingData:n.getUrlMappingData()})},1e3);return $p((n,i)=>({...ed(VR,["urlMappingData"]),setScreenshotFormat(r){n({screenshotFormat:r}),e(i())},setScreenshotQuality(r){n({screenshotQuality:r??void 0}),e(i())},setDefaultLanguage(r){n({defaultLanguage:r?.format()}),e(i())},getDefaultLang(){let r=i().defaultLanguage,s=Ye.moment.locale();return r&&!fb(r)?(new Ye.Notice(`Invalid language code detected in preferences: ${r}, reverting to ${s}.`),n({defaultLanguage:void 0}),e(i()),s):r??Ye.moment.locale()},getUrlMappingData(){return Z4(i().urlMapping)},setBiliDefaultQuality(r){n({biliDefaultQuality:r}),e(i())},setInsertPosition(r){n({insertBefore:r==="before"}),e(i())},setLinkHandler(r,s){n(a=>{let o={...a.linkHandler};for(let l of Object.keys(o)){let c=l;o[c]=o[c].filter(u=>typeof u=="string"?u!==r:typeof r=="string"||!J4(u,r)),c===s&&(o[c]=[...o[c],r])}return{linkHandler:o}}),e(i())},setTimestampOffset(r){n({timestampOffset:r}),e(i())},setDefaultMxLinkBehavior:r=>{let s;r==="split"||r==="split-horizontal"?s="window":r==="window"?s="tab":r==="tab"?s="split":s=null,n({defaultMxLinkClick:{click:r,alt:s}}),e(i())},setTemplate(r,s){switch(r){case"screenshot":n({screenshotTemplate:s});break;case"screenshotEmbed":n({screenshotEmbedTemplate:s});break;case"timestamp":n({timestampTemplate:s});break;default:(0,UR.assertNever)(r)}e(i())},setMxLinkAltBehavior:r=>{n(({defaultMxLinkClick:s})=>({defaultMxLinkClick:{...s,alt:r}})),e(i())},urlMapping:zR(VR.urlMappingData),setDefaultVolume:r=>{n({defaultVolume:r}),e(i())},getUrlMapping:r=>i().urlMapping.get(`${t.app.appId}%${r}`),setUrlMapping:(r,s)=>{if(r.includes("%"))throw new Error("Protocol cannot contain %");let a=`${t.app.appId}%${r}`;n(o=>({urlMapping:new Map(o.urlMapping).set(a,s),devices:o.getDeviceName()?o.devices:[...o.devices,{appId:t.app.appId,name:FR()}]})),e(i())},removeUrlMapping:r=>{if(r.includes("%"))throw new Error("Protocol cannot contain %");n(s=>{let a=`${t.app.appId}%${r}`,o=new Map(s.urlMapping);return o.delete(a),{urlMapping:o}}),e(i())},getDeviceName(r=t.app.appId){return i().devices.find(s=>s.appId===r)?.name},getDeviceNameWithDefault(r=t.app.appId){let s=i().devices.find(a=>a.appId===r);return s?s.name:r===t.app.appId?FR():"Unknown Device"},setDeviceName(r,s=t.app.appId){n({devices:[...i().devices.filter(a=>a.appId!==s),{appId:s,name:r}]}),e(i())},setLoadStrategy:r=>{n({loadStrategy:r}),e(i())},setScreenshotFolder(r){r!==null?(r=(0,Ye.normalizePath)(r),r==="."?r="/":r.startsWith("./")&&(r=r.slice(2)),n({screenshotFolderPath:r})):n({screenshotFolderPath:void 0})},load:async()=>{let r=await t.loadData();if(!r)return;let{urlMappingData:s,...a}=mg(r,OR);n({...a,urlMapping:zR(s??[])})},save:()=>{e(i())}}))}function J4(t,e){let n=new Set([...Object.keys(t),...Object.keys(e)]);for(let i of n)if(t[i]!==e[i])return!1;return!0}var BR=require("url"),mx=$(pb()),Z=require("obsidian");var Bm=class extends Z.PluginSettingTab{constructor(n){super(n.app,n);_(this,"plugin");this.plugin=n}get state(){return this.plugin.settings.getState()}get sub(){return this.plugin.settings.subscribe.bind(this.plugin.settings)}protocol(){new Z.Setting(this.containerEl).setHeading().setName("Protocols").setDesc("Create custom protocols that resolve link per device");let n=this.containerEl.createDiv({cls:"mx-protocol-container"});new Z.Setting(n).setHeading().setName("This device").addText(o=>o.setPlaceholder(this.state.getDeviceNameWithDefault()).setValue(this.state.getDeviceName()??"").onChange(l=>this.state.setDeviceName(l))).addExtraButton(o=>o.setIcon("plus").setTooltip("Add new protocol").onClick(()=>{let l=new Z.Menu().addItem(c=>c.setIcon("link").setTitle("Link mapping").onClick(()=>{let u=r({protocol:"",replace:"https://"});i.insertAdjacentElement("afterbegin",u.settingEl)}));Z.Platform.isDesktopApp&&l.addItem(c=>c.setIcon("folder").setTitle("Folder mapping").onClick(async()=>{let u=(await nd().showOpenDialog({title:"Pick a folder",message:"Pick a folder to resolve media files from",buttonLabel:"Pick",properties:["openDirectory"]})).filePaths[0];if(!u)return;let d=r({protocol:"",replace:(0,BR.pathToFileURL)(u).href});i.insertAdjacentElement("afterbegin",d.settingEl)})),Zs(o.extraSettingsEl,l)}));let i=n.createDiv({cls:"mx-protocol-list"}),r=o=>new Z.Setting(i).then(l=>{let c=o.protocol,u=new Z.TextComponent(l.controlEl).setPlaceholder("Protocol name").setValue(c).onChange(h=>{if(!h)return;let y=c;c=h,this.state.removeUrlMapping(y);let v=p.getValue();v&&this.state.setUrlMapping(h,v)}),d="Target URL prefix";if(o.devices){d="Configured in ";let h=o.devices.filter(y=>!!y).slice(0,2);h.length>0?(d+=h.join(", "),h.length1&&(d+="s"))}let p=new Z.TextComponent(l.controlEl).setPlaceholder(d).setValue(o.replace).onChange(h=>{u.getValue()&&this.state.setUrlMapping(u.getValue(),h)});u.inputEl.addClass("mx-protocol-input"),p.inputEl.addClass("mx-replace-input"),l.addExtraButton(h=>h.setIcon("trash").setTooltip(`Remove ${u.getValue()||"empty"} protocol`).onClick(()=>{this.state.removeUrlMapping(u.getValue()),l.settingEl.remove()}))}),s=this.state.getUrlMappingData();[...new Set(s.map(o=>o.protocol))].sort().forEach(o=>{r({protocol:o,devices:s.filter(l=>l.protocol===o&&l.appId!==this.plugin.app.appId).map(l=>this.state.devices.find(c=>c.appId===l.appId)?.name??null),replace:this.state.getUrlMapping(o)??""})})}linkOpen(){let{containerEl:n}=this;new Z.Setting(n).setHeading().setName("Link open").setDesc("Configure how links to media are opened");let i={default:"Default obsidian behavior",replace:"In current pane",split:"New pane on the right","split-horizontal":"New pane on the bottom",tab:"New tab",window:"New window"},r=c=>{switch(c){case"split":case"split-horizontal":return Z.Platform.isMacOS?"click holding \u2318+\u2325":"click holding Ctrl+Alt";case"window":return Z.Platform.isMacOS?"click holding \u2318+\u2325+\u21E7":"click holding Ctrl+Alt+Shift";case"tab":default:return Z.Platform.isMacOS?"click holding \u2318 or middle-click":"middle-click or click holding Ctrl"}},s=c=>c===null?"default":c===!1?"replace":c,a=c=>{switch(c){case"replace":return!1;case"split":case"tab":case"window":return c;case"split-horizontal":return"split-horizontal";default:return null}};new Z.Setting(n).setName("Default link click").setDesc("Configure how links to media are opened").addDropdown(c=>c.addOptions(i).setValue(s(this.state.defaultMxLinkClick.click)).onChange(u=>this.state.setDefaultMxLinkBehavior(a(u))).then(()=>this.sub((u,d)=>{u.defaultMxLinkClick.click!==d.defaultMxLinkClick.click&&c.setValue(s(u.defaultMxLinkClick.click))})));let o=new Z.Setting(n).setName("Altnernative behavior").addDropdown(c=>c.addOptions(i).setValue(s(this.state.defaultMxLinkClick.alt)).onChange(u=>this.state.setMxLinkAltBehavior(a(u))).then(()=>this.sub((u,d)=>{u.defaultMxLinkClick.alt!==d.defaultMxLinkClick.alt&&c.setValue(s(u.defaultMxLinkClick.alt))})));function l(c){let u=r(c);o.setDesc("Configure link open behavior"+u?` when ${u}`:"")}l(this.state.defaultMxLinkClick.click),this.sub((c,u)=>{c.defaultMxLinkClick!==u.defaultMxLinkClick&&l(c.defaultMxLinkClick.click)})}playback(){let{containerEl:n}=this;new Z.Setting(n).setHeading().setName("Playback"),new Z.Setting(n).setName("Default volume").setDesc("The default volume for media files").addSlider(a=>a.setLimits(0,100,1).setValue(this.state.defaultVolume).onChange(this.state.setDefaultVolume).then(o=>{this.sub((l,c)=>{l.defaultVolume!==c.defaultVolume&&o.setValue(l.defaultVolume)})})).addText(a=>a.setValue(qm(this.state.defaultVolume)).onChange(HR(this.state.setDefaultVolume)).then(o=>{fx.call(o,0,100,1),o.inputEl.type="number",o.inputEl.style.textAlign="center",this.sub((l,c)=>{l.defaultVolume!==c.defaultVolume&&o.setValue(qm(l.defaultVolume))})})).then(a=>a.controlEl.appendText("%")),new Z.Setting(n).setName("Load strategy").setDesc(createFragment(a=>{a.appendText("Configure when media embeds are loaded in the note"),a.createEl("br"),a.appendText("Useful if you want lazy load media embeds in a note when there are many of them")})).addDropdown(a=>a.addOption("eager","On note open").addOption("play","When interacted with").setValue(this.state.loadStrategy).onChange(o=>this.state.setLoadStrategy(o)));let i="_follow_",r=BC(),s=Object.fromEntries(mx.default.getAllCodes().flatMap(a=>r.has(a)?[...r.get(a).values()]:[[a,mx.default.getNativeName(a)]]));new Z.Setting(n).setName("Default locale").setDesc("The default locale for subtitles").addDropdown(a=>a.addOption(i,"Follow obsidian locale").addOptions(s).setValue(this.state.defaultLanguage??i).onChange(o=>this.state.setDefaultLanguage(o===i?null:o)))}timestamp(){let{containerEl:n}=this;new Z.Setting(n).setHeading().setName("Timestamp"),new Z.Setting(n).setName("Timestamp template").setDesc(createFragment(i=>{i.appendText("The template used to insert timestamps."),i.createEl("br"),i.appendText("Supported placeholders: {{TIMESTAMP}}")})).addTextArea(i=>{i.setValue(this.state.timestampTemplate).onChange(r=>this.state.setTemplate("timestamp",r)),i.inputEl.rows=5,i.inputEl.cols=40}),new Z.Setting(n).setName("Timestamp offset").setDesc("Offset in seconds to add to the timestamp").addSlider(i=>i.setLimits(-10,10,.01).setValue(this.state.timestampOffset).onChange(this.state.setTimestampOffset).then(r=>{this.sub((s,a)=>{s.timestampOffset!==a.timestampOffset&&r.setValue(s.timestampOffset)})})).addText(i=>i.setValue(qm(this.state.timestampOffset)).onChange(qR(this.state.setTimestampOffset)).then(r=>{fx.call(r,-10,10,.01),r.inputEl.type="number",r.inputEl.style.textAlign="center",this.sub((s,a)=>{s.timestampOffset!==a.timestampOffset&&r.setValue(qm(s.timestampOffset))})})).then(i=>i.controlEl.appendText("s"))}screenshot(){let{containerEl:n}=this;new Z.Setting(n).setHeading().setName("Screenshot"),new Z.Setting(n).setName("Screenshot linktext template").setDesc(createFragment(r=>{r.appendText("The template used to create screenshot linktext."),r.createEl("br"),r.appendText("Supported placeholders: {{DURATION}}, {{TITLE}}"),r.createEl("br"),r.appendText("Remove `|50` suffix to embed image in full size")})).addTextArea(r=>{r.setValue(this.state.screenshotEmbedTemplate).onChange(s=>this.state.setTemplate("screenshotEmbed",s)),r.inputEl.rows=5,r.inputEl.cols=40}),new Z.Setting(n).setName("Screenshot template").setDesc(createFragment(r=>{r.appendText("The template used to insert screenshot."),r.createEl("br"),r.appendText("Supported placeholders: "),r.createEl("ul",{},s=>{s.createEl("li").appendText("{{TIMESTAMP}} - timestamp link"),s.createEl("li",{},a=>{a.appendText("{{SCREENSHOT}} - link to screenshot"),a.createEl("br"),a.appendText("add `!` prefix to insert as image embed")})})})).addTextArea(r=>{r.setValue(this.state.screenshotTemplate).onChange(s=>this.state.setTemplate("screenshot",s)),r.inputEl.rows=5,r.inputEl.cols=40}),new Z.Setting(n).setName("Screenshot format").setDesc(createFragment(r=>{r.appendText("The format to use when taking screenshots"),r.createEl("br"),r.appendText("Note that the webp format falls back to jpeg in iOS or iPadOS")})).addDropdown(r=>r.addOptions({"image/png":"PNG","image/jpeg":"JPEG","image/webp":"WEBP"}).setValue(this.state.screenshotFormat).onChange(s=>this.state.setScreenshotFormat(s))),new Z.Setting(n).setName("Default location for new screenshots").setDesc("Where newly added attachments are placed.").addDropdown(r=>r.addOptions({default:"In attachment folder",specific:"In the folder specified below"}).onChange(s=>{this.state.setScreenshotFolder(s==="specific"?"":null)})),new Z.Setting(n).setName("Attachment folder path").setDesc("Place newly created screenshot files in this folder.").addText(r=>r.setPlaceholder("Example: folder 1/folder").setValue(this.state.screenshotFolderPath??"").onChange(this.state.setScreenshotFolder)).then(r=>{r.settingEl.style.display=this.state.screenshotFolderPath!==void 0?"":"none",this.sub((s,a)=>{typeof s.screenshotFolderPath!=typeof a.screenshotFolderPath&&(r.settingEl.style.display=s.screenshotFolderPath!==void 0?"":"none")})});let i=r=>r.screenshotFormat==="image/webp"?.8:.92;new Z.Setting(n).setName("Screenshot quality").setDesc("Quality of the screenshot").addText(r=>r.setValue(this.state.screenshotQuality?.toString()??"").setPlaceholder(i(this.state).toString()).onChange(qR(this.state.setScreenshotQuality)).then(s=>{fx.call(s,0,1,.01),s.inputEl.type="number",s.inputEl.style.textAlign="center",this.sub((a,o)=>{a.screenshotFormat!==o.screenshotFormat&&s.setPlaceholder(i(this.state).toString()),a.screenshotQuality!==o.screenshotQuality&&s.setValue(a.screenshotQuality?.toString()??"")})})).addButton(r=>r.setTooltip("Reset to default").setIcon("reset").onClick(()=>{this.state.setScreenshotQuality(null)}).setDisabled(this.state.screenshotQuality===null).then(()=>{this.sub((s,a)=>{s.screenshotQuality!==a.screenshotQuality&&r.setDisabled(s.screenshotQuality===null)})})).then(r=>{this.sub((s,a)=>{s.screenshotFormat!==a.screenshotFormat&&(r.settingEl.style.display=s.screenshotFormat==="image/png"?"none":"")})})}noteTaking(){let{containerEl:n}=this;new Z.Setting(n).setHeading().setName("Note taking"),new Z.Setting(n).setDesc("Configure where timestamps and screenshots are inserted").setName("Insert location").addDropdown(i=>i.addOption("before","Latest content on top").addOption("after","Latest content at end").setValue(this.state.insertBefore===!0?"before":"after").onChange(r=>this.state.setInsertPosition(r))),this.timestamp(),this.screenshot()}webpage(){if(!Z.Platform.isDesktopApp)return;let{containerEl:n}=this;new Z.Setting(n).setHeading().setName("Webpage"),new Z.Setting(n).setName("Login").setDesc("If website requires login to access content or request login during playback, you can open a browser page here to login.").addButton(i=>i.setCta().setButtonText("Open broswer").onClick(()=>{new cr(this.app).open()}))}bilibili(){let{containerEl:n}=this;new Z.Setting(n).setHeading().setName("Bilibili"),new Z.Setting(n).setName("Default quality").setDesc(createFragment(i=>{i.appendText("The default quality for bilibili videos, will fallback to closest quality if not available"),i.createEl("br"),i.appendText("Only new videos will use this quality")})).addDropdown(i=>i.addOptions(DR).setValue(this.state.biliDefaultQuality.toString()).onChange(HR(r=>this.state.setBiliDefaultQuality(r))))}display(){let{containerEl:n}=this;n.empty(),this.webpage(),this.playback(),this.noteTaking(),this.linkOpen(),this.protocol(),this.bilibili()}};function HR(t){return e=>t(parseInt(e,10))}function qR(t){return e=>t(parseFloat(e))}function qm(t){return t.toString()}function fx(t,e,n){return this.inputEl.min=t.toString(),this.inputEl.max=e.toString(),this.inputEl.step=n.toString(),this}var QR=require("url"),vx=$(Hm()),Fe=require("obsidian");var WR=require("obsidian");async function gx(t){if(!WR.Platform.isDesktopApp)throw new Error("Not supported in web");let e=await nd().showOpenDialog({title:"Pick a media file",message:"Pick a media file to open",buttonLabel:"Pick",properties:["openFile"],filters:[{extensions:Tt.video,name:"Video"},{extensions:Tt.audio,name:"Audio"}],defaultPath:t});return e.canceled?null:e.filePaths[0]??null}var KR=require("url"),GR=require("obsidian");var Wm=class t extends GR.FuzzySuggestModal{constructor(n){super(n.app);this.plugin=n;_(this,"resolve",ql)}static choose(n){return new Promise(i=>{let r=new t(n);r.open(),r.resolve=i})}getItems(){return this.plugin.settings.getState().getUrlMappingData().filter(n=>n.appId===this.app.appId&&n.replace.startsWith("file://")).map(n=>({action:n.protocol,path:(0,KR.fileURLToPath)(n.replace),url:n.replace}))}getItemText(n){return`mx://${n.action}: ${n.path}`}onChooseItem(n){this.resolve(n)}onClose(){super.onClose(),setTimeout(()=>{this.resolve(null)},0)}};var e6=/^av(?\d+)$/i,t6=/^BV1(?[1-9A-HJ-NP-Za-km-z]{9})$/,n6=/^[\w-]{11}$/,i6=/^(?:(?:[a-zA-Z\d]|[a-zA-Z\d][a-zA-Z\d-]*[a-zA-Z\d])\.)*(?:[A-Za-z\d]|[A-Za-z\d][A-Za-z\d-]*[A-Za-z\d])$/;function yx(t){try{return(0,QR.pathToFileURL)(t)}catch(e){return console.error(`Failed to convert path ${t} to URL: `,e),null}}function YR(t){let e=ii.isAbsolute(t)?yx(t):Bn(t);return!e||["http:","https:"].includes(e.protocol)&&!i6.test(e.hostname)?null:e}var Km=class extends Fe.SuggestModal{constructor(n){super(n.app);this.plugin=n;this.inputEl.addEventListener("drop",i=>{if(!i.dataTransfer||i.dataTransfer.files.length===0)return;let r=[...i.dataTransfer.files],s=[...i.dataTransfer.files].filter(l=>en(ii.extname(l.name)));if(s.length===0){new Fe.Notice(`Cannot open dropped file${r.length>1?"s":""}, not supported media file type`);return}let a=s[0];i.preventDefault();let o=i.target;o.value=a.path,o.dispatchEvent(new Event("input"))}),this.setPlaceholder("Enter file path, URL or media id, or drop a media file here"),this.setInstructions([{command:"\u2191\u2193",purpose:"to navigate"},{command:"\u21B5",purpose:"to open url"},{command:Fe.Platform.isMacOS?"\u2318 \u21B5":"ctrl \u21B5",purpose:"to open in new tab"},{command:Fe.Platform.isMacOS?"\u2318 \u2325 \u21B5":"ctrl alt \u21B5",purpose:"to open to the right"},{command:"esc",purpose:"to dismiss"}]),this.scope.register(null,"Enter",i=>(this.chooser.useSelectedItem(i),!1))}getSuggestions(n){let i=YR(n),r=[];if(!i){let o;if((o=n.match(e6))&&r.push(new URL(`https://www.bilibili.com/video/av${o.groups.id}`)),(o=n.match(t6))&&r.push(new URL(`https://www.bilibili.com/video/${n}`)),(o=n.match(n6))&&r.push(new URL(`https://www.youtube.com/watch?v=${n}`)),!o){let l=YR(`https://${n}`);l&&r.push(l)}}let s=r.map(o=>_t.create(o.href)).filter(o=>!!o),a=this.plugin.resolveUrl(i?.href);return a?[a,...s]:s}onNoSuggestion(){super.onNoSuggestion(),this.chooser.setSuggestions(["file-picker","file-protocol-picker"])}renderSuggestion(n,i){n instanceof _t?i.setText(decodeURI(n.href)):n==="file-picker"?i.setText("Open local file"):n==="file-protocol-picker"?i.setText("Pick from folders defined in custom protocol"):(0,vx.assertNever)(n)}async onChooseSuggestion(n,i){let r;if(n==="file-protocol-picker"){let a=await Wm.choose(this.plugin);if(!a)return;let o=await gx(a.path);if(!o)return;if(!o.startsWith(a.path)){new Fe.Notice(`For protocol ${a.action}, the file must be in ${a.path}`);return}let l=yx(o);if(!l)return;let c=this.plugin.resolveUrl(l.href.replace(a.url.replace(/\/*$/,"/"),`mx://${a.action}/`));if(!c){new Fe.Notice(`Failed to resolve file protocol url: ${l.href} with ${a.url}`);return}r=c}else if(n==="file-picker"){let a=await gx();if(!a)return;let o=yx(a);if(!o)return;r=new _t(o.href)}else n instanceof _t?r=n:(0,vx.assertNever)(n);if(r.isFileUrl){if(!r.inferredType){new Fe.Notice("Unsupported file type: "+r.pathname);return}if(r.hostname){new Fe.Notice(`Network path is not supported in obsidian, you need to map it to a local path: ${r.filePath??r.readableHref}`);return}}let s=r.getVaultFile(this.plugin.app.vault);if(s){let a=en(s.extension);if(!a){new Fe.Notice("Unsupported file type: "+s.path);return}r={file:s,hash:r.hash,type:a}}else if(r.isFileUrl){let a=Vx();if(!a){new Fe.Notice("File path is only supported in desktop app");return}try{if(!(await a.stat(r)).isFile()){new Fe.Notice("Not a file: "+r.readableHref);return}}catch(o){let l=o,c=r.filePath??r.href;l.code==="ENOENT"?new Fe.Notice("File not found: "+c):l.code==="EACCES"?new Fe.Notice("Permission denied: "+c):new Fe.Notice(`Failed to access file (${l.code}): `+c);return}}console.debug("media selected",r),Fe.Keymap.isModifier(i,"Mod")&&Fe.Keymap.isModifier(i,"Alt")?this.plugin.leafOpener.openMedia(r,"split",{direction:"vertical"}):Fe.Keymap.isModifier(i,"Mod")?this.plugin.leafOpener.openMedia(r,"tab"):this.plugin.leafOpener.openMedia(r,!1)}};var Hu=require("obsidian");var XR="mx-open";function ZR(t){window.OBS_ACT&&t.register(dt(window,{OBS_ACT:i=>function(s){if(s.action.startsWith(XR+"/")){e(s);return}return i.apply(this,arguments)}})),t.registerObsidianProtocolHandler("mx-open",async i=>{let r=Bn(i.url);if(!r){new Hu.Notice("Invalid URL: "+i.url);return}await n(r)});async function e(i){let r=i.action.substring(XR.length+1),s=Bn(r),a=new URLSearchParams(i);if(a.delete("action"),!s){new Hu.Notice("Invalid URL: "+r+"?"+a.toString());return}s.search=a.toString(),await n(s)}async function n(i){let r=_t.create(i);if(!r){new Hu.Notice("Invail URL: "+i.href);return}new Hu.Notice(createFragment(s=>{s.appendText(`Opening ${r.type} ${r.inferredType??"content"} from browser: `),s.createEl("br"),s.createEl("a",{text:i.href.length>50?i.href.slice(0,25)+"..."+i.href.slice(-25):i.href,href:i.href})})),await t.leafOpener.openMedia(r,"tab")}}function JR(t){function e(){new Km(t).open()}t.addCommand({id:"open-media-switcher",name:"Open media",icon:"play",callback:e}),t.addRibbonIcon("play","Open media",e),ZR(t)}var bx=(t,e)=>e.some(n=>t instanceof n),eL,tL;function r6(){return eL||(eL=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function s6(){return tL||(tL=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var xx=new WeakMap,_x=new WeakMap,Gm=new WeakMap;function a6(t){let e=new Promise((n,i)=>{let r=()=>{t.removeEventListener("success",s),t.removeEventListener("error",a)},s=()=>{n(Ks(t.result)),r()},a=()=>{i(t.error),r()};t.addEventListener("success",s),t.addEventListener("error",a)});return Gm.set(e,t),e}function o6(t){if(xx.has(t))return;let e=new Promise((n,i)=>{let r=()=>{t.removeEventListener("complete",s),t.removeEventListener("error",a),t.removeEventListener("abort",a)},s=()=>{n(),r()},a=()=>{i(t.error||new DOMException("AbortError","AbortError")),r()};t.addEventListener("complete",s),t.addEventListener("error",a),t.addEventListener("abort",a)});xx.set(t,e)}var kx={get(t,e,n){if(t instanceof IDBTransaction){if(e==="done")return xx.get(t);if(e==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Ks(t[e])},set(t,e,n){return t[e]=n,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function sL(t){kx=t(kx)}function l6(t){return s6().includes(t)?function(...e){return t.apply(Tx(this),e),Ks(this.request)}:function(...e){return Ks(t.apply(Tx(this),e))}}function c6(t){return typeof t=="function"?l6(t):(t instanceof IDBTransaction&&o6(t),bx(t,r6())?new Proxy(t,kx):t)}function Ks(t){if(t instanceof IDBRequest)return a6(t);if(_x.has(t))return _x.get(t);let e=c6(t);return e!==t&&(_x.set(t,e),Gm.set(e,t)),e}var Tx=t=>Gm.get(t);function aL(t,e,{blocked:n,upgrade:i,blocking:r,terminated:s}={}){let a=indexedDB.open(t,e),o=Ks(a);return i&&a.addEventListener("upgradeneeded",l=>{i(Ks(a.result),l.oldVersion,l.newVersion,Ks(a.transaction),l)}),n&&a.addEventListener("blocked",l=>n(l.oldVersion,l.newVersion,l)),o.then(l=>{s&&l.addEventListener("close",()=>s()),r&&l.addEventListener("versionchange",c=>r(c.oldVersion,c.newVersion,c))}).catch(()=>{}),o}var u6=["get","getKey","getAll","getAllKeys","count"],d6=["put","add","delete","clear"],wx=new Map;function nL(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(wx.get(e))return wx.get(e);let n=e.replace(/FromIndex$/,""),i=e!==n,r=d6.includes(n);if(!(n in(i?IDBIndex:IDBObjectStore).prototype)||!(r||u6.includes(n)))return;let s=async function(a,...o){let l=this.transaction(a,r?"readwrite":"readonly"),c=l.store;return i&&(c=c.index(o.shift())),(await Promise.all([c[n](...o),r&&l.done]))[0]};return wx.set(e,s),s}sL(t=>({...t,get:(e,n,i)=>nL(e,n)||t.get(e,n,i),has:(e,n)=>!!nL(e,n)||t.has(e,n)}));var p6=["continue","continuePrimaryKey","advance"],iL={},Ex=new WeakMap,oL=new WeakMap,h6={get(t,e){if(!p6.includes(e))return t[e];let n=iL[e];return n||(n=iL[e]=function(...i){Ex.set(this,oL.get(this)[e](...i))}),n}};async function*f6(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;e=e;let n=new Proxy(e,h6);for(oL.set(n,e),Gm.set(n,Tx(e));e;)yield n,e=await(Ex.get(n)||e.continue()),Ex.delete(n)}function rL(t,e){return e===Symbol.asyncIterator&&bx(t,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&bx(t,[IDBIndex,IDBObjectStore])}sL(t=>({...t,get(e,n,i){return rL(e,n)?f6:t.get(e,n,i)},has(e,n){return rL(e,n)||t.has(e,n)}}));var Qm=require("obsidian");function m6(t,...e){return t.reduce((n,i,r)=>{let s=e[r],a=s!==void 0?JSON.stringify(s):"";return n+i+a},"")}var qu="mx:http_proxy",Sx={type:"player_v2",host:"api.bilibili.com",pathnames:["/x/player/v2","/x/player/wbi/v2"],filter:["https://api.bilibili.com/x/player/v2*","https://api.bilibili.com/x/player/wbi/v2*"],header:"player_v2",types:["xhr"]};function lL(t,e){let n=lr(e.appId);return n?m6` const { session, webContents, net } = require("electron"); -const webviewSession = session.fromPartition(${oi(e.appId)}); +const webviewSession = session.fromPartition(${n}); const webContent = webContents.fromId(${t}); webviewSession.webRequest.onSendHeaders( { - urls: ${yx.filter}, type: ${yx.types} + urls: ${Sx.filter}, type: ${Sx.types} }, ({url, method, requestHeaders, webContentsId}) => { if (method !== "GET" || webContentsId===undefined) return; - webContent.send(${ju}, {type:${yx.type} ,url, method, requestHeaders, webContentsId}); + webContent.send(${qu}, {type:${Sx.type} ,url, method, requestHeaders, webContentsId}); }) -`.trim()}async function YR(t,e){return t6(t.pipeThrough(new DecompressionStream("gzip")),e)}function QR(t){return new ReadableStream({start(e){e.enqueue(new Uint8Array(t)),e.close()}})}async function t6(t,e){let n=t.getReader(),i=[];for(;;){let{done:r,value:s}=await n.read();if(r)break;i.push(s)}return new Blob(i,{type:e})}function n6(t){return`${t.aid}-${t.bvid}-${t.cid}`}var Hu,qu,Mo,jm=class extends Hm.Component{constructor(n){super();this.plugin=n;O(this,Hu,$p());O(this,qu,new Map);O(this,Mo,new Map);_(this,"app");_(this,"db");this.app=n.app,this.db=WR(`mx-cache-${this.app.appId}`,1,{upgrade(i){i.createObjectStore("bili-subtitle")}}),this.app=n.app}async getPlayerApiResp(n,i=1e4){let{aid:r,bvid:s,cid:a}=await n.methods.bili_getManifest(),o=n6({aid:r,bvid:s,cid:a}),l=k(this,qu).get(o);if(l)return l;let c=k(this,Mo).get(`${s}-${a}`)??k(this,Mo).get(`${r}-${a}`);c||(c=await new Promise((p,h)=>{let y=k(this,Hu).on("player_v2",w=>{a===w.cid&&(r===w.aid||s===w.bvid)&&(p(w.url),window.clearTimeout(v))}),v=window.setTimeout(()=>{y(),h(new Error("player_v2 timeout: "+o))},i)}));let u=await n.methods.fetch(c,{gzip:!1,credentials:"include"});if(u.type!=="application/json")throw new Error(`Unexpected response type ${u.type} for player_v2 api`);let d=JSON.parse(new TextDecoder().decode(u.ab));if(d.code!==0)throw new Error(`player_v2 api error: (${d.code}) ${d.message}`);return k(this,qu).set(o,d.data),d.data}async cacheSubtitle(n,i){(await this.db).put("bili-subtitle",i,n.toString())}async getCachedSubtitle(n){let r=await(await this.db).get("bili-subtitle",n.toString());if(!r)return null;let{ab:s,gzip:a}=r,o="application/json",c=await(a?await YR(QR(s),o):new Blob([s],{type:o})).text();return JSON.parse(c)}async hasSubtitle(n){return await(await this.db).count("bili-subtitle",n.toString())>0}async onload(){if(!Hm.Platform.isDesktopApp)throw new Error("Cannot register ipc events, not in desktop app");let n=require("path"),i=require("fs/promises"),{ipcRenderer:r}=require("electron"),s=require("@electron/remote"),a=(o,l)=>{if(l.type!=="player_v2")return;let c=new URL(l.url),u=c.searchParams.get("aid"),d=c.searchParams.get("bvid"),p=c.searchParams.get("cid");if(!u&&!d||!p)return;k(this,Hu).emit("player_v2",{url:l.url,aid:+u,bvid:d,cid:+p});let h=d?`${d}-${p}`:`${u}-${p}`;k(this,Mo).set(h,l.url)};r.on(ju,a);try{let o=s.getCurrentWebContents().id,l=GR(o,this.app),c=n.join(this.app.vault.adapter.getBasePath(),...this.app.vault.configDir.split("/"),`mx-player-hack.${Date.now()}.js`);await i.writeFile(c,l,"utf-8");try{await s.require(c),console.log("mx-player-hack loaded")}finally{await i.rm(c,{force:!0,maxRetries:5})}this.register(()=>{r.off(ju,a)})}catch(o){throw r.off(ju,a),o}}};Hu=new WeakMap,qu=new WeakMap,Mo=new WeakMap;var XR=require("obsidian");async function ZR(){if(!XR.Platform.isDesktopApp)return;let e=require("@electron/remote").session.fromPartition(oi(this.app.appId));this.settings.subscribe((n,i)=>{n.biliDefaultQuality!==i.biliDefaultQuality&&sx(e,n.biliDefaultQuality)}),await sx(e,this.settings.getState().biliDefaultQuality)}var kL=$(Dm()),rg=require("obsidian");var Gu=class{constructor(t,e,n,i,r,s){_(this,"type",3);_(this,"name","");_(this,"prefix","");_(this,"value","");_(this,"suffix","");_(this,"modifier",3);this.type=t,this.name=e,this.prefix=n,this.value=i,this.suffix=r,this.modifier=s}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},i6=/[$_\p{ID_Start}]/u,r6=/[$_\u200C\u200D\p{ID_Continue}]/u,wx=".*";function s6(t,e){return(e?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(t)}function iL(t,e=!1){let n=[],i=0;for(;i{if(ac("OTHER_MODIFIER")??c("ASTERISK"),d=g=>{let x=c(g);if(x!==void 0)return x;let{type:T,index:L}=n[a];throw new TypeError(`Unexpected ${T} at ${L}, expected ${g}`)},p=()=>{let g="",x;for(;x=c("CHAR")??c("ESCAPED_CHAR");)g+=x;return g},h=g=>g,y=e.encodePart||h,v="",w=g=>{v+=g},m=()=>{v.length&&(r.push(new Gu(3,"","",y(v),"",3)),v="")},f=(g,x,T,L,R)=>{let I=3;switch(R){case"?":I=1;break;case"*":I=0;break;case"+":I=2;break}if(!x&&!T&&I===3){w(g);return}if(m(),!x&&!T){if(!g)return;r.push(new Gu(3,"","",y(g),"",I));return}let K;T?T==="*"?K=wx:K=T:K=i;let H=2;K===i?(H=1,K=""):K===wx&&(H=0,K="");let _e;if(x?_e=x:T&&(_e=s++),l.has(_e))throw new TypeError(`Duplicate name '${_e}'.`);l.add(_e),r.push(new Gu(H,_e,y(g),K,y(L),I))};for(;a-1)}return a||(i+=`(?=${s}|${r})`),new RegExp(i,JR(n))}var Jr={delimiter:"",prefixes:"",sensitive:!0,strict:!0},o6={delimiter:".",prefixes:"",sensitive:!0,strict:!0},l6={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function c6(t,e){return t.length?t[0]==="/"?!0:!e||t.length<2?!1:(t[0]=="\\"||t[0]=="{")&&t[1]=="/":!1}function aL(t,e){return t.startsWith(e)?t.substring(e.length,t.length):t}function u6(t,e){return t.endsWith(e)?t.substr(0,t.length-e.length):t}function oL(t){return!t||t.length<2?!1:t[0]==="["||(t[0]==="\\"||t[0]==="{")&&t[1]==="["}var lL=["ftp","file","http","https","ws","wss"];function cL(t){if(!t)return!0;for(let e of lL)if(t.test(e))return!0;return!1}function d6(t,e){if(t=aL(t,"#"),e||t==="")return t;let n=new URL("https://example.com");return n.hash=t,n.hash?n.hash.substring(1,n.hash.length):""}function p6(t,e){if(t=aL(t,"?"),e||t==="")return t;let n=new URL("https://example.com");return n.search=t,n.search?n.search.substring(1,n.search.length):""}function h6(t,e){return e||t===""?t:oL(t)?pL(t):dL(t)}function f6(t,e){if(e||t==="")return t;let n=new URL("https://example.com");return n.password=t,n.password}function m6(t,e){if(e||t==="")return t;let n=new URL("https://example.com");return n.username=t,n.username}function g6(t,e,n){if(n||t==="")return t;if(e&&!lL.includes(e))return new URL(`${e}:${t}`).pathname;let i=t[0]=="/";return t=new URL(i?t:"/-"+t,"https://example.com").pathname,i||(t=t.substring(2,t.length)),t}function v6(t,e,n){return uL(e)===t&&(t=""),n||t===""?t:hL(t)}function y6(t,e){return t=u6(t,":"),e||t===""?t:kx(t)}function uL(t){switch(t){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function kx(t){if(t==="")return t;if(/^[-+.A-Za-z0-9]*$/.test(t))return t.toLowerCase();throw new TypeError(`Invalid protocol '${t}'.`)}function _6(t){if(t==="")return t;let e=new URL("https://example.com");return e.username=t,e.username}function w6(t){if(t==="")return t;let e=new URL("https://example.com");return e.password=t,e.password}function dL(t){if(t==="")return t;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(t))throw new TypeError(`Invalid hostname '${t}'`);let e=new URL("https://example.com");return e.hostname=t,e.hostname}function pL(t){if(t==="")return t;if(/[^0-9a-fA-F[\]:]/g.test(t))throw new TypeError(`Invalid IPv6 hostname '${t}'`);return t.toLowerCase()}function hL(t){if(t===""||/^[0-9]*$/.test(t)&&parseInt(t)<=65535)return t;throw new TypeError(`Invalid port '${t}'.`)}function b6(t){if(t==="")return t;let e=new URL("https://example.com");return e.pathname=t[0]!=="/"?"/-"+t:t,t[0]!=="/"?e.pathname.substring(2,e.pathname.length):e.pathname}function x6(t){return t===""?t:new URL(`data:${t}`).pathname}function k6(t){if(t==="")return t;let e=new URL("https://example.com");return e.search=t,e.search.substring(1,e.search.length)}function E6(t){if(t==="")return t;let e=new URL("https://example.com");return e.hash=t,e.hash.substring(1,e.hash.length)}var Io,Ot,it,Se,Ks,Ao,mn,No,Do,Oo,ze,Xe,Km,fL,Yu,bx,Gs,Wu,Vo,qm,Yt,Dn,Qu,xx,Gm,mL,Fo,Bm,Ym,gL,Qm,vL,zo,Wm,es,Ro,ar,Ws,Xm,yL,Zm,_L,Jm,wL,eg,bL,On,Si,tg,xL,tL,T6=(tL=class{constructor(t){O(this,ze);O(this,Km);O(this,Yu);O(this,Gs);O(this,Vo);O(this,Yt);O(this,Qu);O(this,Gm);O(this,Fo);O(this,Ym);O(this,Qm);O(this,zo);O(this,es);O(this,ar);O(this,Xm);O(this,Zm);O(this,Jm);O(this,eg);O(this,On);O(this,tg);O(this,Io,void 0);O(this,Ot,[]);O(this,it,{});O(this,Se,0);O(this,Ks,1);O(this,Ao,0);O(this,mn,0);O(this,No,0);O(this,Do,0);O(this,Oo,!1);we(this,Io,t)}get result(){return k(this,it)}parse(){for(we(this,Ot,iL(k(this,Io),!0));k(this,Se)0)if(M(this,Zm,_L).call(this))we(this,No,k(this,No)-1);else continue;if(M(this,Xm,yL).call(this)){we(this,No,k(this,No)+1);continue}switch(k(this,mn)){case 0:M(this,Qu,xx).call(this)&&M(this,Gs,Wu).call(this,1);break;case 1:if(M(this,Qu,xx).call(this)){M(this,tg,xL).call(this);let t=7,e=1;M(this,Gm,mL).call(this)?(t=2,e=3):k(this,Oo)&&(t=2),M(this,ze,Xe).call(this,t,e)}break;case 2:M(this,Fo,Bm).call(this)?M(this,Gs,Wu).call(this,3):(M(this,zo,Wm).call(this)||M(this,es,Ro).call(this)||M(this,ar,Ws).call(this))&&M(this,Gs,Wu).call(this,5);break;case 3:M(this,Ym,gL).call(this)?M(this,ze,Xe).call(this,4,1):M(this,Fo,Bm).call(this)&&M(this,ze,Xe).call(this,5,1);break;case 4:M(this,Fo,Bm).call(this)&&M(this,ze,Xe).call(this,5,1);break;case 5:M(this,Jm,wL).call(this)?we(this,Do,k(this,Do)+1):M(this,eg,bL).call(this)&&we(this,Do,k(this,Do)-1),M(this,Qm,vL).call(this)&&!k(this,Do)?M(this,ze,Xe).call(this,6,1):M(this,zo,Wm).call(this)?M(this,ze,Xe).call(this,7,0):M(this,es,Ro).call(this)?M(this,ze,Xe).call(this,8,1):M(this,ar,Ws).call(this)&&M(this,ze,Xe).call(this,9,1);break;case 6:M(this,zo,Wm).call(this)?M(this,ze,Xe).call(this,7,0):M(this,es,Ro).call(this)?M(this,ze,Xe).call(this,8,1):M(this,ar,Ws).call(this)&&M(this,ze,Xe).call(this,9,1);break;case 7:M(this,es,Ro).call(this)?M(this,ze,Xe).call(this,8,1):M(this,ar,Ws).call(this)&&M(this,ze,Xe).call(this,9,1);break;case 8:M(this,ar,Ws).call(this)&&M(this,ze,Xe).call(this,9,1);break;case 9:break;case 10:break}}k(this,it).hostname!==void 0&&k(this,it).port===void 0&&(k(this,it).port="")}},Io=new WeakMap,Ot=new WeakMap,it=new WeakMap,Se=new WeakMap,Ks=new WeakMap,Ao=new WeakMap,mn=new WeakMap,No=new WeakMap,Do=new WeakMap,Oo=new WeakMap,ze=new WeakSet,Xe=function(t,e){var n,i,r;switch(k(this,mn)){case 0:break;case 1:k(this,it).protocol=M(this,On,Si).call(this);break;case 2:break;case 3:k(this,it).username=M(this,On,Si).call(this);break;case 4:k(this,it).password=M(this,On,Si).call(this);break;case 5:k(this,it).hostname=M(this,On,Si).call(this);break;case 6:k(this,it).port=M(this,On,Si).call(this);break;case 7:k(this,it).pathname=M(this,On,Si).call(this);break;case 8:k(this,it).search=M(this,On,Si).call(this);break;case 9:k(this,it).hash=M(this,On,Si).call(this);break;case 10:break}k(this,mn)!==0&&t!==10&&([1,2,3,4].includes(k(this,mn))&&[6,7,8,9].includes(t)&&((n=k(this,it)).hostname??(n.hostname="")),[1,2,3,4,5,6].includes(k(this,mn))&&[8,9].includes(t)&&((i=k(this,it)).pathname??(i.pathname=k(this,Oo)?"/":"")),[1,2,3,4,5,6,7].includes(k(this,mn))&&t===9&&((r=k(this,it)).search??(r.search=""))),M(this,Km,fL).call(this,t,e)},Km=new WeakSet,fL=function(t,e){we(this,mn,t),we(this,Ao,k(this,Se)+e),we(this,Se,k(this,Se)+e),we(this,Ks,0)},Yu=new WeakSet,bx=function(){we(this,Se,k(this,Ao)),we(this,Ks,0)},Gs=new WeakSet,Wu=function(t){M(this,Yu,bx).call(this),we(this,mn,t)},Vo=new WeakSet,qm=function(t){return t<0&&(t=k(this,Ot).length-t),t=0&&(t.pathname=sr(i.pathname.substring(0,r+1),n)+t.pathname)}t.pathname=g6(t.pathname,t.protocol,n)}return typeof e.search=="string"&&(t.search=p6(e.search,n)),typeof e.hash=="string"&&(t.hash=d6(e.hash,n)),t}function Ku(t){return t.replace(/([+*?:{}()\\])/g,"\\$1")}function S6(t){return t.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function P6(t,e){e.delimiter??(e.delimiter="/#?"),e.prefixes??(e.prefixes="./"),e.sensitive??(e.sensitive=!1),e.strict??(e.strict=!1),e.end??(e.end=!0),e.start??(e.start=!0),e.endsWith="";let n=".*",i=`[^${S6(e.delimiter)}]+?`,r=/[$_\u200C\u200D\p{ID_Continue}]/u,s="";for(let a=0;a0?t[a-1]:null,d=a0?d.value[0]:"";c=r.test(p)}else c=!d.hasCustomName();if(!c&&!o.prefix.length&&u&&u.type===3){let p=u.value[u.value.length-1];c=e.prefixes.includes(p)}c&&(s+="{"),s+=Ku(o.prefix),l&&(s+=`:${o.name}`),o.type===2?s+=`(${o.value})`:o.type===1?l||(s+=`(${i})`):o.type===0&&(!l&&(!u||u.type===3||u.modifier!==3||c||o.prefix!=="")?s+="*":s+=`(${n})`),o.type===1&&l&&o.suffix.length&&r.test(o.suffix[0])&&(s+="\\"),s+=Ku(o.suffix),c&&(s+="}"),o.modifier!==3&&(s+=Lo(o.modifier))}return s}var Pi,Ys,Uo,rt,ai,jo,nL,ng=(nL=class{constructor(t={},e,n){O(this,Pi,void 0);O(this,Ys,{});O(this,Uo,{});O(this,rt,{});O(this,ai,{});O(this,jo,!1);try{let i;if(typeof e=="string"?i=e:n=e,typeof t=="string"){let o=new T6(t);if(o.parse(),t=o.result,i===void 0&&typeof t.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");t.baseURL=i}else{if(!t||typeof t!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(i)throw new TypeError("parameter 1 is not of type 'string'.")}typeof n>"u"&&(n={ignoreCase:!1});let r={ignoreCase:n.ignoreCase===!0};we(this,Pi,Bu({pathname:Zr,protocol:Zr,username:Zr,password:Zr,hostname:Zr,port:Zr,search:Zr,hash:Zr},t,!0)),uL(k(this,Pi).protocol)===k(this,Pi).port&&(k(this,Pi).port="");let a;for(a of _x){if(!(a in k(this,Pi)))continue;let o={},l=k(this,Pi)[a];switch(k(this,Uo)[a]=[],a){case"protocol":Object.assign(o,Jr),o.encodePart=kx;break;case"username":Object.assign(o,Jr),o.encodePart=_6;break;case"password":Object.assign(o,Jr),o.encodePart=w6;break;case"hostname":Object.assign(o,o6),oL(l)?o.encodePart=pL:o.encodePart=dL;break;case"port":Object.assign(o,Jr),o.encodePart=hL;break;case"pathname":cL(k(this,Ys).protocol)?(Object.assign(o,l6,r),o.encodePart=b6):(Object.assign(o,Jr,r),o.encodePart=x6);break;case"search":Object.assign(o,Jr,r),o.encodePart=k6;break;case"hash":Object.assign(o,Jr,r),o.encodePart=E6;break}try{k(this,ai)[a]=rL(l,o),k(this,Ys)[a]=sL(k(this,ai)[a],k(this,Uo)[a],o),k(this,rt)[a]=P6(k(this,ai)[a],o),we(this,jo,k(this,jo)||k(this,ai)[a].some(c=>c.type===2))}catch{throw new TypeError(`invalid ${a} pattern '${k(this,Pi)[a]}'.`)}}}catch(i){throw new TypeError(`Failed to construct 'URLPattern': ${i.message}`)}}test(t={},e){let n={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof t!="string"&&e)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof t>"u")return!1;try{typeof t=="object"?n=Bu(n,t,!1):n=Bu(n,eL(t,e),!1)}catch{return!1}let i;for(i of _x)if(!k(this,Ys)[i].exec(n[i]))return!1;return!0}exec(t={},e){let n={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof t!="string"&&e)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof t>"u")return;try{typeof t=="object"?n=Bu(n,t,!1):n=Bu(n,eL(t,e),!1)}catch{return null}let i={};e?i.inputs=[t,e]:i.inputs=[t];let r;for(r of _x){let s=k(this,Ys)[r].exec(n[r]);if(!s)return null;let a={};for(let[o,l]of k(this,Uo)[r].entries())if(typeof l=="string"||typeof l=="number"){let c=s[o+1];a[l]=c}i[r]={input:n[r]??"",groups:a}}return i}static compareComponent(t,e,n){let i=(o,l)=>{for(let c of["type","modifier","prefix","value","suffix"]){if(o[c]{let c=0;for(;cM(this,Xu,Ex).call(this),500,!0);this.register(this.plugin.settings.subscribe((i,r)=>{i.linkHandler!==r.linkHandler&&n()}))}getPreferred(n,i){let r=this.getSupported(n),s=null;for(let a of r)for(let o of this.matcher.get(a)){if(!o.test(n))continue;let l=C6(o);(!s||l>s.specifity)&&(s={type:a,specifity:l})}return s?.type??(i?null:r[0])}setPreferred(n,i){this.plugin.settings.getState().setLinkHandler(n,i)}getSupported(n){if(!(n instanceof _t))return[jn[n.type]];if(n.type==="generic")switch(n.inferredType){case"video":return[pt.video,Zt];case"audio":return[pt.audio,Zt];default:return[Zt,pt.video,pt.audio]}switch(n.type){case"youtube":case"vimeo":return[Zt,Ri];case"bilibili":case"coursera":return[Zt];default:(0,kL.assertNever)(n.type)}}};Xu=new WeakSet,Ex=function(){this.matcher=new Map(Object.entries(this.plugin.settings.getState().linkHandler).map(([n,i])=>[n,i.map(r=>new ng(r))]))};function C6(t){return["protocol","username","password","hostname","port","pathname","search","hash"].reduce((e,n)=>{let i=t[n];return e+(i!=="*"?1:0)},0)}var sg=class extends ag.Plugin{constructor(){super(...arguments);_(this,"settings",CR(this));_(this,"api",{openUrl:async(n,i,r)=>{let s=this.resolveUrl(n);if(!s){new ag.Notice("Protocol not yet supported");return}await this.leafOpener.openMedia(s,i,{direction:r})}});_(this,"urlViewType",this.addChild(new ig(this)));_(this,"mediaNote",this.addChild(new $m(this)));_(this,"biliReq",this.addChild(new jm(this)));_(this,"leafOpener",this.addChild(new xm(this)));_(this,"handleMediaNote",UM);_(this,"injectMediaEmbed",Zb);_(this,"injectMediaView",rx);_(this,"registerMediaMenu",Vb);_(this,"fixLinkLabel",nx);_(this,"patchEditorClick",Jb);_(this,"patchPreviewClick",ix);_(this,"patchInlineUrl",ex);_(this,"patchLinktextOpen",tx);_(this,"modifySession",ZR);_(this,"initLogin",Lx)}resolveUrl(n){let i=yR(n);return i?mC(Un(i),this.settings.getState()):null}async onload(){this.addSettingTab(new Vm(this)),await this.loadSettings(),this.initLogin(),this.loadPatches(),this.registerMediaMenu(),this.handleMediaNote(),await this.modifySession(),FR(this)}async loadSettings(){await this.settings.getState().load()}loadPatches(){this.injectMediaView(jn.audio,n=>new wo(n,this),kt.audio),this.injectMediaView(jn.video,n=>new _o(n,this),kt.video),this.injectMediaEmbed((n,i,r)=>new Mm(n,i,r,this)),this.registerView(Zt,n=>new Eo(n,this)),this.registerView(Ri,n=>new bo(n,this)),this.registerView(pt.video,n=>new xo(n,this)),this.registerView(pt.audio,n=>new ko(n,this)),this.patchEditorClick({onExternalLinkClick:Ab}),this.patchPreviewClick({onExternalLinkClick:Ab}),this.fixLinkLabel(),this.patchInlineUrl(),this.patchLinktextOpen({onInternalLinkClick:qM})}}; +`.trim():(console.log("partition disabled, cannot watch requests"),"")}async function cL(t,e){return g6(t.pipeThrough(new DecompressionStream("gzip")),e)}function uL(t){return new ReadableStream({start(e){e.enqueue(new Uint8Array(t)),e.close()}})}async function g6(t,e){let n=t.getReader(),i=[];for(;;){let{done:r,value:s}=await n.read();if(r)break;i.push(s)}return new Blob(i,{type:e})}function v6(t){return`${t.aid}-${t.bvid}-${t.cid}`}var Bu,Wu,Lo,Ym=class extends Qm.Component{constructor(n){super();this.plugin=n;V(this,Bu,Ip());V(this,Wu,new Map);V(this,Lo,new Map);_(this,"app");_(this,"db");this.app=n.app,this.db=aL(`mx-cache-${this.app.appId}`,1,{upgrade(i){i.createObjectStore("bili-subtitle")}}),this.app=n.app}async getPlayerApiResp(n,i=1e4){let{aid:r,bvid:s,cid:a}=await n.methods.bili_getManifest(),o=v6({aid:r,bvid:s,cid:a}),l=k(this,Wu).get(o);if(l)return l;let c=k(this,Lo).get(`${s}-${a}`)??k(this,Lo).get(`${r}-${a}`);c||(c=await new Promise((p,h)=>{let y=k(this,Bu).on("player_v2",w=>{a===w.cid&&(r===w.aid||s===w.bvid)&&(p(w.url),window.clearTimeout(v))}),v=window.setTimeout(()=>{y(),h(new Error("player_v2 timeout: "+o))},i)}));let u=await n.methods.fetch(c,{gzip:!1,credentials:"include"});if(u.type!=="application/json")throw new Error(`Unexpected response type ${u.type} for player_v2 api`);let d=JSON.parse(new TextDecoder().decode(u.ab));if(d.code!==0)throw new Error(`player_v2 api error: (${d.code}) ${d.message}`);return k(this,Wu).set(o,d.data),d.data}async cacheSubtitle(n,i){(await this.db).put("bili-subtitle",i,n.toString())}async getCachedSubtitle(n){let r=await(await this.db).get("bili-subtitle",n.toString());if(!r)return null;let{ab:s,gzip:a}=r,o="application/json",c=await(a?await cL(uL(s),o):new Blob([s],{type:o})).text();return JSON.parse(c)}async hasSubtitle(n){return await(await this.db).count("bili-subtitle",n.toString())>0}async onload(){if(!Qm.Platform.isDesktopApp)throw new Error("Cannot register ipc events, not in desktop app");let n=require("path"),i=require("fs/promises"),{ipcRenderer:r}=require("electron"),s=require("@electron/remote"),a=(o,l)=>{if(l.type!=="player_v2")return;let c=new URL(l.url),u=c.searchParams.get("aid"),d=c.searchParams.get("bvid"),p=c.searchParams.get("cid");if(!u&&!d||!p)return;k(this,Bu).emit("player_v2",{url:l.url,aid:+u,bvid:d,cid:+p});let h=d?`${d}-${p}`:`${u}-${p}`;k(this,Lo).set(h,l.url)};r.on(qu,a);try{let o=s.getCurrentWebContents().id,l=lL(o,this.app),c=n.join(this.app.vault.adapter.getBasePath(),...this.app.vault.configDir.split("/"),`mx-player-hack.${Date.now()}.js`);await i.writeFile(c,l,"utf-8");try{await s.require(c),console.log("mx-player-hack loaded")}finally{await i.rm(c,{force:!0,maxRetries:5})}this.register(()=>{r.off(qu,a)})}catch(o){throw r.off(qu,a),o}}};Bu=new WeakMap,Wu=new WeakMap,Lo=new WeakMap;var dL=require("obsidian");async function pL(){if(!dL.Platform.isDesktopApp)return;let t=Go(this.app.appId);t&&(this.settings.subscribe((e,n)=>{e.biliDefaultQuality!==n.biliDefaultQuality&&hx(t,e.biliDefaultQuality)}),await hx(t,this.settings.getState().biliDefaultQuality))}var OL=$(Hm()),dg=require("obsidian");var Qu=class{constructor(t,e,n,i,r,s){_(this,"type",3);_(this,"name","");_(this,"prefix","");_(this,"value","");_(this,"suffix","");_(this,"modifier",3);this.type=t,this.name=e,this.prefix=n,this.value=i,this.suffix=r,this.modifier=s}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},y6=/[$_\p{ID_Start}]/u,_6=/[$_\u200C\u200D\p{ID_Continue}]/u,Cx=".*";function w6(t,e){return(e?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(t)}function vL(t,e=!1){let n=[],i=0;for(;i{if(ac("OTHER_MODIFIER")??c("ASTERISK"),d=g=>{let x=c(g);if(x!==void 0)return x;let{type:E,index:L}=n[a];throw new TypeError(`Unexpected ${E} at ${L}, expected ${g}`)},p=()=>{let g="",x;for(;x=c("CHAR")??c("ESCAPED_CHAR");)g+=x;return g},h=g=>g,y=e.encodePart||h,v="",w=g=>{v+=g},m=()=>{v.length&&(r.push(new Qu(3,"","",y(v),"",3)),v="")},f=(g,x,E,L,R)=>{let I=3;switch(R){case"?":I=1;break;case"*":I=0;break;case"+":I=2;break}if(!x&&!E&&I===3){w(g);return}if(m(),!x&&!E){if(!g)return;r.push(new Qu(3,"","",y(g),"",I));return}let z;E?E==="*"?z=Cx:z=E:z=i;let A=2;z===i?(A=1,z=""):z===Cx&&(A=0,z="");let oe;if(x?oe=x:E&&(oe=s++),l.has(oe))throw new TypeError(`Duplicate name '${oe}'.`);l.add(oe),r.push(new Qu(A,oe,y(g),z,y(L),I))};for(;a-1)}return a||(i+=`(?=${s}|${r})`),new RegExp(i,hL(n))}var ts={delimiter:"",prefixes:"",sensitive:!0,strict:!0},x6={delimiter:".",prefixes:"",sensitive:!0,strict:!0},k6={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function T6(t,e){return t.length?t[0]==="/"?!0:!e||t.length<2?!1:(t[0]=="\\"||t[0]=="{")&&t[1]=="/":!1}function wL(t,e){return t.startsWith(e)?t.substring(e.length,t.length):t}function E6(t,e){return t.endsWith(e)?t.substr(0,t.length-e.length):t}function bL(t){return!t||t.length<2?!1:t[0]==="["||(t[0]==="\\"||t[0]==="{")&&t[1]==="["}var xL=["ftp","file","http","https","ws","wss"];function kL(t){if(!t)return!0;for(let e of xL)if(t.test(e))return!0;return!1}function S6(t,e){if(t=wL(t,"#"),e||t==="")return t;let n=new URL("https://example.com");return n.hash=t,n.hash?n.hash.substring(1,n.hash.length):""}function P6(t,e){if(t=wL(t,"?"),e||t==="")return t;let n=new URL("https://example.com");return n.search=t,n.search?n.search.substring(1,n.search.length):""}function C6(t,e){return e||t===""?t:bL(t)?SL(t):EL(t)}function $6(t,e){if(e||t==="")return t;let n=new URL("https://example.com");return n.password=t,n.password}function M6(t,e){if(e||t==="")return t;let n=new URL("https://example.com");return n.username=t,n.username}function R6(t,e,n){if(n||t==="")return t;if(e&&!xL.includes(e))return new URL(`${e}:${t}`).pathname;let i=t[0]=="/";return t=new URL(i?t:"/-"+t,"https://example.com").pathname,i||(t=t.substring(2,t.length)),t}function L6(t,e,n){return TL(e)===t&&(t=""),n||t===""?t:PL(t)}function I6(t,e){return t=E6(t,":"),e||t===""?t:Rx(t)}function TL(t){switch(t){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function Rx(t){if(t==="")return t;if(/^[-+.A-Za-z0-9]*$/.test(t))return t.toLowerCase();throw new TypeError(`Invalid protocol '${t}'.`)}function A6(t){if(t==="")return t;let e=new URL("https://example.com");return e.username=t,e.username}function N6(t){if(t==="")return t;let e=new URL("https://example.com");return e.password=t,e.password}function EL(t){if(t==="")return t;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(t))throw new TypeError(`Invalid hostname '${t}'`);let e=new URL("https://example.com");return e.hostname=t,e.hostname}function SL(t){if(t==="")return t;if(/[^0-9a-fA-F[\]:]/g.test(t))throw new TypeError(`Invalid IPv6 hostname '${t}'`);return t.toLowerCase()}function PL(t){if(t===""||/^[0-9]*$/.test(t)&&parseInt(t)<=65535)return t;throw new TypeError(`Invalid port '${t}'.`)}function D6(t){if(t==="")return t;let e=new URL("https://example.com");return e.pathname=t[0]!=="/"?"/-"+t:t,t[0]!=="/"?e.pathname.substring(2,e.pathname.length):e.pathname}function O6(t){return t===""?t:new URL(`data:${t}`).pathname}function V6(t){if(t==="")return t;let e=new URL("https://example.com");return e.search=t,e.search.substring(1,e.search.length)}function F6(t){if(t==="")return t;let e=new URL("https://example.com");return e.hash=t,e.hash.substring(1,e.hash.length)}var No,Vt,rt,Se,Ys,Do,vn,Oo,Vo,Fo,ze,Je,eg,CL,Xu,$x,Qs,Gu,zo,Xm,Zt,zn,Zu,Mx,tg,$L,Uo,Zm,ng,ML,ig,RL,jo,Jm,ns,Io,ar,Gs,rg,LL,sg,IL,ag,AL,og,NL,Un,Ci,lg,DL,mL,z6=(mL=class{constructor(t){V(this,ze);V(this,eg);V(this,Xu);V(this,Qs);V(this,zo);V(this,Zt);V(this,Zu);V(this,tg);V(this,Uo);V(this,ng);V(this,ig);V(this,jo);V(this,ns);V(this,ar);V(this,rg);V(this,sg);V(this,ag);V(this,og);V(this,Un);V(this,lg);V(this,No,void 0);V(this,Vt,[]);V(this,rt,{});V(this,Se,0);V(this,Ys,1);V(this,Do,0);V(this,vn,0);V(this,Oo,0);V(this,Vo,0);V(this,Fo,!1);we(this,No,t)}get result(){return k(this,rt)}parse(){for(we(this,Vt,vL(k(this,No),!0));k(this,Se)0)if(M(this,sg,IL).call(this))we(this,Oo,k(this,Oo)-1);else continue;if(M(this,rg,LL).call(this)){we(this,Oo,k(this,Oo)+1);continue}switch(k(this,vn)){case 0:M(this,Zu,Mx).call(this)&&M(this,Qs,Gu).call(this,1);break;case 1:if(M(this,Zu,Mx).call(this)){M(this,lg,DL).call(this);let t=7,e=1;M(this,tg,$L).call(this)?(t=2,e=3):k(this,Fo)&&(t=2),M(this,ze,Je).call(this,t,e)}break;case 2:M(this,Uo,Zm).call(this)?M(this,Qs,Gu).call(this,3):(M(this,jo,Jm).call(this)||M(this,ns,Io).call(this)||M(this,ar,Gs).call(this))&&M(this,Qs,Gu).call(this,5);break;case 3:M(this,ng,ML).call(this)?M(this,ze,Je).call(this,4,1):M(this,Uo,Zm).call(this)&&M(this,ze,Je).call(this,5,1);break;case 4:M(this,Uo,Zm).call(this)&&M(this,ze,Je).call(this,5,1);break;case 5:M(this,ag,AL).call(this)?we(this,Vo,k(this,Vo)+1):M(this,og,NL).call(this)&&we(this,Vo,k(this,Vo)-1),M(this,ig,RL).call(this)&&!k(this,Vo)?M(this,ze,Je).call(this,6,1):M(this,jo,Jm).call(this)?M(this,ze,Je).call(this,7,0):M(this,ns,Io).call(this)?M(this,ze,Je).call(this,8,1):M(this,ar,Gs).call(this)&&M(this,ze,Je).call(this,9,1);break;case 6:M(this,jo,Jm).call(this)?M(this,ze,Je).call(this,7,0):M(this,ns,Io).call(this)?M(this,ze,Je).call(this,8,1):M(this,ar,Gs).call(this)&&M(this,ze,Je).call(this,9,1);break;case 7:M(this,ns,Io).call(this)?M(this,ze,Je).call(this,8,1):M(this,ar,Gs).call(this)&&M(this,ze,Je).call(this,9,1);break;case 8:M(this,ar,Gs).call(this)&&M(this,ze,Je).call(this,9,1);break;case 9:break;case 10:break}}k(this,rt).hostname!==void 0&&k(this,rt).port===void 0&&(k(this,rt).port="")}},No=new WeakMap,Vt=new WeakMap,rt=new WeakMap,Se=new WeakMap,Ys=new WeakMap,Do=new WeakMap,vn=new WeakMap,Oo=new WeakMap,Vo=new WeakMap,Fo=new WeakMap,ze=new WeakSet,Je=function(t,e){var n,i,r;switch(k(this,vn)){case 0:break;case 1:k(this,rt).protocol=M(this,Un,Ci).call(this);break;case 2:break;case 3:k(this,rt).username=M(this,Un,Ci).call(this);break;case 4:k(this,rt).password=M(this,Un,Ci).call(this);break;case 5:k(this,rt).hostname=M(this,Un,Ci).call(this);break;case 6:k(this,rt).port=M(this,Un,Ci).call(this);break;case 7:k(this,rt).pathname=M(this,Un,Ci).call(this);break;case 8:k(this,rt).search=M(this,Un,Ci).call(this);break;case 9:k(this,rt).hash=M(this,Un,Ci).call(this);break;case 10:break}k(this,vn)!==0&&t!==10&&([1,2,3,4].includes(k(this,vn))&&[6,7,8,9].includes(t)&&((n=k(this,rt)).hostname??(n.hostname="")),[1,2,3,4,5,6].includes(k(this,vn))&&[8,9].includes(t)&&((i=k(this,rt)).pathname??(i.pathname=k(this,Fo)?"/":"")),[1,2,3,4,5,6,7].includes(k(this,vn))&&t===9&&((r=k(this,rt)).search??(r.search=""))),M(this,eg,CL).call(this,t,e)},eg=new WeakSet,CL=function(t,e){we(this,vn,t),we(this,Do,k(this,Se)+e),we(this,Se,k(this,Se)+e),we(this,Ys,0)},Xu=new WeakSet,$x=function(){we(this,Se,k(this,Do)),we(this,Ys,0)},Qs=new WeakSet,Gu=function(t){M(this,Xu,$x).call(this),we(this,vn,t)},zo=new WeakSet,Xm=function(t){return t<0&&(t=k(this,Vt).length-t),t=0&&(t.pathname=sr(i.pathname.substring(0,r+1),n)+t.pathname)}t.pathname=R6(t.pathname,t.protocol,n)}return typeof e.search=="string"&&(t.search=P6(e.search,n)),typeof e.hash=="string"&&(t.hash=S6(e.hash,n)),t}function Yu(t){return t.replace(/([+*?:{}()\\])/g,"\\$1")}function U6(t){return t.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function j6(t,e){e.delimiter??(e.delimiter="/#?"),e.prefixes??(e.prefixes="./"),e.sensitive??(e.sensitive=!1),e.strict??(e.strict=!1),e.end??(e.end=!0),e.start??(e.start=!0),e.endsWith="";let n=".*",i=`[^${U6(e.delimiter)}]+?`,r=/[$_\u200C\u200D\p{ID_Continue}]/u,s="";for(let a=0;a0?t[a-1]:null,d=a0?d.value[0]:"";c=r.test(p)}else c=!d.hasCustomName();if(!c&&!o.prefix.length&&u&&u.type===3){let p=u.value[u.value.length-1];c=e.prefixes.includes(p)}c&&(s+="{"),s+=Yu(o.prefix),l&&(s+=`:${o.name}`),o.type===2?s+=`(${o.value})`:o.type===1?l||(s+=`(${i})`):o.type===0&&(!l&&(!u||u.type===3||u.modifier!==3||c||o.prefix!=="")?s+="*":s+=`(${n})`),o.type===1&&l&&o.suffix.length&&r.test(o.suffix[0])&&(s+="\\"),s+=Yu(o.suffix),c&&(s+="}"),o.modifier!==3&&(s+=Ao(o.modifier))}return s}var $i,Xs,Ho,st,ci,qo,gL,cg=(gL=class{constructor(t={},e,n){V(this,$i,void 0);V(this,Xs,{});V(this,Ho,{});V(this,st,{});V(this,ci,{});V(this,qo,!1);try{let i;if(typeof e=="string"?i=e:n=e,typeof t=="string"){let o=new z6(t);if(o.parse(),t=o.result,i===void 0&&typeof t.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");t.baseURL=i}else{if(!t||typeof t!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(i)throw new TypeError("parameter 1 is not of type 'string'.")}typeof n>"u"&&(n={ignoreCase:!1});let r={ignoreCase:n.ignoreCase===!0};we(this,$i,Ku({pathname:es,protocol:es,username:es,password:es,hostname:es,port:es,search:es,hash:es},t,!0)),TL(k(this,$i).protocol)===k(this,$i).port&&(k(this,$i).port="");let a;for(a of Px){if(!(a in k(this,$i)))continue;let o={},l=k(this,$i)[a];switch(k(this,Ho)[a]=[],a){case"protocol":Object.assign(o,ts),o.encodePart=Rx;break;case"username":Object.assign(o,ts),o.encodePart=A6;break;case"password":Object.assign(o,ts),o.encodePart=N6;break;case"hostname":Object.assign(o,x6),bL(l)?o.encodePart=SL:o.encodePart=EL;break;case"port":Object.assign(o,ts),o.encodePart=PL;break;case"pathname":kL(k(this,Xs).protocol)?(Object.assign(o,k6,r),o.encodePart=D6):(Object.assign(o,ts,r),o.encodePart=O6);break;case"search":Object.assign(o,ts,r),o.encodePart=V6;break;case"hash":Object.assign(o,ts,r),o.encodePart=F6;break}try{k(this,ci)[a]=yL(l,o),k(this,Xs)[a]=_L(k(this,ci)[a],k(this,Ho)[a],o),k(this,st)[a]=j6(k(this,ci)[a],o),we(this,qo,k(this,qo)||k(this,ci)[a].some(c=>c.type===2))}catch{throw new TypeError(`invalid ${a} pattern '${k(this,$i)[a]}'.`)}}}catch(i){throw new TypeError(`Failed to construct 'URLPattern': ${i.message}`)}}test(t={},e){let n={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof t!="string"&&e)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof t>"u")return!1;try{typeof t=="object"?n=Ku(n,t,!1):n=Ku(n,fL(t,e),!1)}catch{return!1}let i;for(i of Px)if(!k(this,Xs)[i].exec(n[i]))return!1;return!0}exec(t={},e){let n={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof t!="string"&&e)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof t>"u")return;try{typeof t=="object"?n=Ku(n,t,!1):n=Ku(n,fL(t,e),!1)}catch{return null}let i={};e?i.inputs=[t,e]:i.inputs=[t];let r;for(r of Px){let s=k(this,Xs)[r].exec(n[r]);if(!s)return null;let a={};for(let[o,l]of k(this,Ho)[r].entries())if(typeof l=="string"||typeof l=="number"){let c=s[o+1];a[l]=c}i[r]={input:n[r]??"",groups:a}}return i}static compareComponent(t,e,n){let i=(o,l)=>{for(let c of["type","modifier","prefix","value","suffix"]){if(o[c]{let c=0;for(;cM(this,Ju,Lx).call(this),500,!0);this.register(this.plugin.settings.subscribe((i,r)=>{i.linkHandler!==r.linkHandler&&n()}))}getPreferred(n,i){let r=this.getSupported(n),s=null;for(let a of r)for(let o of this.matcher.get(a)){if(!o.test(n))continue;let l=H6(o);(!s||l>s.specifity)&&(s={type:a,specifity:l})}return s?.type??(i?null:r[0])}setPreferred(n,i){this.plugin.settings.getState().setLinkHandler(n,i)}getSupported(n){if(!(n instanceof _t))return[Ft[n.type]];if(n.type==="generic")switch(n.inferredType){case"video":return[Et.video,_n];case"audio":return[Et.audio,_n];default:return[_n,Et.video,Et.audio]}switch(n.type){case"youtube":case"vimeo":return[_n,ss];case"bilibili":case"coursera":return[_n];default:(0,OL.assertNever)(n.type)}}};Ju=new WeakSet,Lx=function(){this.matcher=new Map(Object.entries(this.plugin.settings.getState().linkHandler).map(([n,i])=>[n,i.map(r=>new cg(r))]))};function H6(t){return["protocol","username","password","hostname","port","pathname","search","hash"].reduce((e,n)=>{let i=t[n];return e+(i!=="*"?1:0)},0)}var pg=class extends hg.Plugin{constructor(){super(...arguments);_(this,"settings",jR(this));_(this,"api",{openUrl:async(n,i,r)=>{let s=this.resolveUrl(n);if(!s){new hg.Notice("Protocol not yet supported");return}await this.leafOpener.openMedia(s,i,{direction:r})}});_(this,"urlViewType",this.addChild(new ug(this)));_(this,"mediaNote",this.addChild(new Dm(this)));_(this,"biliReq",this.addChild(new Ym(this)));_(this,"leafOpener",this.addChild(new Pm(this)));_(this,"handleMediaNote",JM);_(this,"injectMediaEmbed",ax);_(this,"injectMediaView",px);_(this,"registerMediaMenu",Kb);_(this,"fixLinkLabel",ux);_(this,"patchEditorClick",ox);_(this,"patchPreviewClick",dx);_(this,"patchInlineUrl",lx);_(this,"patchLinktextOpen",cx);_(this,"modifySession",pL);_(this,"initLogin",zx)}resolveUrl(n){let i=LR(n);return i?SC(Bn(i),this.settings.getState()):null}async onload(){this.addSettingTab(new Bm(this)),await this.loadSettings(),this.initLogin(),this.loadPatches(),this.registerMediaMenu(),this.handleMediaNote(),await this.modifySession(),JR(this)}async loadSettings(){await this.settings.getState().load()}loadPatches(){this.injectMediaView(Ft.audio,n=>new bo(n,this),Tt.audio),this.injectMediaView(Ft.video,n=>new wo(n,this),Tt.video),this.injectMediaEmbed((n,i,r)=>new Om(n,i,r,this)),this.registerView(_n,n=>new Eo(n,this)),this.registerView(ss,n=>new xo(n,this)),this.registerView(Et.video,n=>new ko(n,this)),this.registerView(Et.audio,n=>new To(n,this)),this.patchEditorClick({onExternalLinkClick:Hb}),this.patchPreviewClick({onExternalLinkClick:Hb}),this.fixLinkLabel(),this.patchInlineUrl(),this.patchLinktextOpen({onInternalLinkClick:nR})}}; /*! Bundled license information: react/cjs/react.production.min.js: diff --git a/.obsidian/plugins/media-extended/manifest.json b/.obsidian/plugins/media-extended/manifest.json index 2108c117..4baea911 100644 --- a/.obsidian/plugins/media-extended/manifest.json +++ b/.obsidian/plugins/media-extended/manifest.json @@ -1,7 +1,7 @@ { "id": "media-extended", "name": "Media Extended", - "version": "3.0.4", + "version": "3.0.7", "minAppVersion": "1.5.7", "description": "Media(Video/Audio) Playback Enhancement for Obsidian.md", "author": "AidenLx", diff --git a/.obsidian/plugins/media-extended/styles.css b/.obsidian/plugins/media-extended/styles.css index 0a6da647..1645a35f 100644 --- a/.obsidian/plugins/media-extended/styles.css +++ b/.obsidian/plugins/media-extended/styles.css @@ -1 +1 @@ -.mx [data-media-player]{width:100%;display:inline-flex;align-items:center;position:relative;contain:style;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mx :where([data-media-player][data-view-type=video]){aspect-ratio:16 / 9}.mx [data-media-player]:focus,.mx [data-media-player]:focus-visible{outline:none}.mx [data-media-player][data-view-type=video][data-started]:not([data-controls]){pointer-events:auto;cursor:none}.mx [data-media-player] slot{display:contents}.mx [data-media-provider]{display:flex;position:relative;box-sizing:border-box;align-items:center;border-radius:inherit;width:100%;aspect-ratio:inherit;overflow:hidden}.mx [data-media-player]:not([data-view-type=audio]) [data-media-provider],.mx [data-media-player][data-fullscreen] [data-media-provider]{height:100%}.mx [data-media-player][data-view-type=audio] [data-media-provider]{display:contents;background-color:unset}.mx [data-media-provider] audio{width:100%}.mx :where([data-media-provider] video),.mx :where([data-media-provider] iframe){aspect-ratio:inherit;display:inline-block;height:auto;-o-object-fit:contain;object-fit:contain;touch-action:manipulation;border-radius:inherit;width:100%}.mx [data-media-provider] iframe{height:100%}.mx [data-media-player][data-view-type=audio] video,.mx [data-media-player][data-view-type=audio] iframe{display:none}.mx [data-media-player][data-fullscreen] video{height:100%}.mx iframe.vds-youtube[data-no-controls]{height:1000%}.mx .vds-blocker{position:absolute;inset:0;width:100%;height:auto;aspect-ratio:inherit;pointer-events:auto;border-radius:inherit;z-index:1}.mx [data-ended] .vds-blocker{background-color:#000}.mx .vds-icon:focus{outline:none}.mx .vds-google-cast{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#dedede;font-family:sans-serif;font-weight:500}.mx .vds-google-cast svg{--size: max(18%, 40px);width:var(--size);height:var(--size);margin-bottom:8px}.mx .vds-google-cast-info{font-size:calc(var(--media-height) / 100 * 6)}.mx *,.mx :before,.mx :after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--background-modifier-border)}.mx :before,.mx :after{--tw-content: ""}.mx :host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}.mx hr{height:0;color:inherit;border-top-width:1px}.mx abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.mx h1,.mx h2,.mx h3,.mx h4,.mx h5,.mx h6{font-size:inherit;font-weight:inherit}.mx a{color:inherit;text-decoration:inherit}.mx b,.mx strong{font-weight:bolder}.mx code,.mx kbd,.mx samp,.mx pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}.mx small{font-size:80%}.mx sub,.mx sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.mx sub{bottom:-.25em}.mx sup{top:-.5em}.mx table{text-indent:0;border-color:inherit;border-collapse:collapse}.mx button,.mx input,.mx optgroup,.mx select,.mx textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}.mx button,.mx select{text-transform:none}.mx button,.mx [type=button],.mx [type=reset],.mx [type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}.mx :-moz-focusring{outline:auto}.mx :-moz-ui-invalid{box-shadow:none}.mx progress{vertical-align:baseline}.mx ::-webkit-inner-spin-button,.mx ::-webkit-outer-spin-button{height:auto}.mx [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.mx ::-webkit-search-decoration{-webkit-appearance:none}.mx ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.mx summary{display:list-item}.mx blockquote,.mx dl,.mx dd,.mx h1,.mx h2,.mx h3,.mx h4,.mx h5,.mx h6,.mx hr,.mx figure,.mx p,.mx pre{margin:0}.mx fieldset{margin:0;padding:0}.mx legend{padding:0}.mx ol,.mx ul,.mx menu{list-style:none;margin:0;padding:0}.mx dialog{padding:0}.mx textarea{resize:vertical}.mx input::-moz-placeholder,.mx textarea::-moz-placeholder{opacity:1;color:#9ca3af}.mx input::placeholder,.mx textarea::placeholder{opacity:1;color:#9ca3af}.mx button,.mx [role=button]{cursor:pointer}.mx :disabled{cursor:default}.mx img,.mx svg,.mx video,.mx canvas,.mx audio,.mx iframe,.mx embed,.mx object{display:block;vertical-align:middle}.mx img,.mx video{max-width:100%;height:auto}.mx [hidden]{display:none}.mx *,.mx :before,.mx :after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mx ::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mx .pointer-events-none{pointer-events:none}.mx .visible{visibility:visible}.mx .static{position:static}.mx .absolute{position:absolute}.mx .relative{position:relative}.mx .inset-0{inset:0}.mx .bottom-2{bottom:.5rem}.mx .left-0{left:0}.mx .right-0{right:0}.mx .top-0{top:0}.mx .z-0{z-index:0}.mx .z-10{z-index:10}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx .-mt-0{margin-top:-0px}.mx .-mt-0\.5{margin-top:-.125rem}.mx .mb-2{margin-bottom:.5rem}.mx .ml-2{margin-left:.5rem}.mx .ml-2\.5{margin-left:.625rem}.mx .mr-1{margin-right:.25rem}.mx .block{display:block}.mx .inline-block{display:inline-block}.mx .flex{display:flex}.mx .inline-flex{display:inline-flex}.mx .contents{display:contents}.mx .h-10{height:2.5rem}.mx .h-7{height:1.75rem}.mx .h-9{height:2.25rem}.mx .h-\[var\(--thumbnail-height\)\]{height:var(--thumbnail-height)}.mx .h-full{height:100%}.mx .h-slider-thumb{height:var(--slider-thumb-height)}.mx .h-slider-thumb-sm{height:calc(var(--slider-thumb-height) * .75)}.mx .h-slider-track{height:var(--slider-track-height)}.mx .max-h-\[160px\]{max-height:160px}.mx .min-h-\[80px\]{min-height:80px}.mx .w-1\/5{width:20%}.mx .w-10{width:2.5rem}.mx .w-7{width:1.75rem}.mx .w-\[var\(--thumbnail-width\)\]{width:var(--thumbnail-width)}.mx .w-full{width:100%}.mx .w-slider-thumb{width:var(--slider-thumb-width)}.mx .w-slider-thumb-sm{width:calc(var(--slider-thumb-width) * .75)}.mx .min-w-\[120px\]{min-width:120px}.mx .max-w-\[180px\]{max-width:180px}.mx .max-w-\[80px\]{max-width:80px}.mx .flex-1{flex:1 1 0%}.mx .grow{flex-grow:1}.mx .translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .rotate-\[270deg\]{--tw-rotate: 270deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .-scale-x-100{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .-scale-y-100{--tw-scale-y: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.mx .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .cursor-pointer{cursor:pointer}.mx .touch-none{touch-action:none}.mx .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mx .flex-col{flex-direction:column}.mx .items-center{align-items:center}.mx .justify-center{justify-content:center}.mx .overflow-hidden{overflow:hidden}.mx .text-ellipsis{text-overflow:ellipsis}.mx .whitespace-nowrap{white-space:nowrap}.mx .break-words{overflow-wrap:break-word}.mx .rounded-md{border-radius:var(--radius-m)}.mx .rounded-slider-thumb{border-radius:var(--slider-thumb-radius)}.mx .rounded-sm{border-radius:var(--radius-s)}.mx .border{border-width:1px}.mx .border-width-slider-thumb{border-width:var(--slider-thumb-border-width)}.mx .border-slider-thumb{border-color:var(--thumb-border-color)}.mx .border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.mx .bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.mx .bg-ia-accent{background-color:var(--interactive-accent)}.mx .bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.mx .bg-slider-track{background-color:var(--slider-track-background)}.mx .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.mx .bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.mx .from-black\/10{--tw-gradient-from: rgb(0 0 0 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.mx .to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.mx .px-2{padding-left:.5rem;padding-right:.5rem}.mx .pb-2{padding-bottom:.5rem}.mx .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.mx .text-\[13px\]{font-size:13px}.mx .text-sm{font-size:var(--font-ui-small)}.mx .font-medium{font-weight:var(--font-medium)}.mx .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.mx .text-white\/60{color:#fff9}.mx .text-white\/70{color:#ffffffb3}.mx .text-white\/80{color:#fffc}.mx .opacity-0{opacity:0}.mx .opacity-100{opacity:1}.mx .outline-none{outline:2px solid transparent;outline-offset:2px}.mx .ring-inset{--tw-ring-inset: inset}.mx .ring-mod-border-focus{--tw-ring-color: var(--background-modifier-border-focus)}.mx .blur-lg{--tw-blur: blur(16px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.mx .transition-\[opacity\,bottom\]{transition-property:opacity,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mx .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mx .duration-200{transition-duration:.2s}.mx .duration-300{transition-duration:.3s}.mx .will-change-\[left\]{will-change:left}.mx .will-change-\[width\]{will-change:width}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.mx .duration-200{animation-duration:.2s}.mx .duration-300{animation-duration:.3s}.mx .\!paused{animation-play-state:paused!important}.mx .paused{animation-play-state:paused}.mx svg.svg-icon{width:100%;height:100%}.mx-captions{--cue-color: var(--media-cue-color, white);--cue-bg-color: var(--media-cue-bg, rgba(0, 0, 0, .7));--cue-font-size: calc(var(--overlay-height) / 100 * 4.5);--cue-line-height: calc(var(--cue-font-size) * 1.2);--cue-padding-x: calc(var(--cue-font-size) * .6);--cue-padding-y: calc(var(--cue-font-size) * .4);font-size:var(--cue-font-size);word-spacing:normal;contain:layout style}.mx-captions[data-dir=rtl] :global([data-part=cue-display]){direction:rtl}.mx-captions[aria-hidden=true]{display:none}.mx-captions [data-part=cue-display]{position:absolute;direction:ltr;overflow:visible;contain:content;top:var(--cue-top);left:var(--cue-left);right:var(--cue-right);bottom:var(--cue-bottom);width:var(--cue-width, auto);height:var(--cue-height, auto);transform:var(--cue-transform);text-align:var(--cue-text-align);writing-mode:var(--cue-writing-mode, unset);white-space:pre-line;unicode-bidi:plaintext;min-width:-moz-min-content;min-width:min-content;min-height:-moz-min-content;min-height:min-content}.mx-captions [data-part=cue]{display:inline-block;contain:content;border-radius:2px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--cue-padding-y) var(--cue-padding-x);line-height:var(--cue-line-height);background-color:var(--cue-bg-color);color:var(--cue-color);white-space:pre-wrap;outline:var(--cue-outline);text-shadow:var(--cue-text-shadow)}.mx-captions [data-part=cue-display][data-vertical] [data-part=cue]{padding:var(--cue-padding-x) var(--cue-padding-y)}@media (hover: hover) and (pointer: fine){.mx .hover\:bg-white\/20:hover{background-color:#fff3}}.mx .focus\:opacity-100:focus{opacity:1}.mx .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.mx .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.mx .focus-visible\:ring-mod-border-focus:focus-visible{--tw-ring-color: var(--background-modifier-border-focus)}.mx .disabled\:pointer-events-none:disabled{pointer-events:none}.mx .disabled\:opacity-50:disabled{opacity:.5}.mx .aria-disabled\:hidden[aria-disabled=true]{display:none}.mx .data-\[view-type\=audio\]\:aspect-auto[data-view-type=audio]{aspect-ratio:auto}.mx .data-\[view-type\=video\]\:aspect-video[data-view-type=video]{aspect-ratio:16 / 9}.mx .data-\[view-type\=audio\]\:h-20[data-view-type=audio]{height:5rem}.mx .data-\[visible\]\:opacity-100[data-visible]{opacity:1}.mx .data-\[focus\]\:ring-2[data-focus]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.mx .data-\[play-ready\]\:blur-none[data-play-ready]{--tw-blur: blur(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.mx div:not([data-can-load]) .not-media-can-load\:opacity-100{opacity:1}.mx div[data-captions] .media-captions\:opacity-100{opacity:1}.mx div[data-controls] .media-controls\:bottom-\[85px\]{bottom:85px}.mx div[data-controls] .media-controls\:opacity-100{opacity:1}.mx div[data-preview] .media-preview\:opacity-0{opacity:0}.mx .group:hover .group-hocus\:opacity-100{opacity:1}.mx .group:focus-visible .group-hocus\:opacity-100{opacity:1}.mx-login-modal .modal{width:min(90vw,1200px);height:min(90vh,1000px);max-width:calc(100% - 48px);max-height:calc(100% - 64px)}.mx-login-modal input[type=url]{height:var(--input-height);-webkit-app-region:no-drag;background:var(--background-modifier-form-field);border:var(--input-border-width) solid var(--background-modifier-border);color:var(--text-normal);font-family:inherit;padding:var(--size-4-1) var(--size-4-2);font-size:var(--font-ui-small);border-radius:var(--input-radius);outline:none}.mx-login-modal .mx-login-nav{display:flex;flex:1;gap:var(--size-4-2);flex-grow:0;align-items:center;padding:0 20px 0 0;width:100%}.mx-login-modal form{display:contents}.mx-login-modal .mx-login-address{flex-grow:1}.mx-login-modal .modal-content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;padding:var(--size-4-4)}.mx-login-modal .modal-content webview{width:100%;height:100%}.mx-login-modal .modal-content h1{text-align:left;margin:0 0 var(--size-4-4) 0;font-size:var(--font-ui-large)}.mx-login-modal .modal-content main p{margin:0 0 var(--size-4-2) 0}.mx-login-modal .modal-content ul{padding:0 0 0 20px;margin:12px 0 0}.markdown-reading-view button.mx-lp-edit{display:none}.mx-playback-prompt form{display:flex;flex-direction:column;gap:1rem}.mx-playback-prompt button[type=submit]{align-self:flex-end}.workspace-tab-header.mx-media-active:not(.mod-active) .workspace-tab-header-inner-icon{color:var(--color-red)!important}.markdown-source-view.mod-cm6 .cm-content .mx-external-media-embed~img[data-mx-error]{display:none}.markdown-source-view.mod-cm6 .cm-content iframe.external-embed[src*="youtube.com/embed/"]{display:none}.mx-protocol-list .setting-item-control{flex-wrap:wrap}.mx-protocol-list .setting-item{border-top:0;padding-top:0}.mx-protocol-list .mx-replace-input{width:20em} +.mx [data-media-player]{width:100%;display:inline-flex;align-items:center;position:relative;contain:style;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mx :where([data-media-player][data-view-type=video]){aspect-ratio:16 / 9}.mx [data-media-player]:focus,.mx [data-media-player]:focus-visible{outline:none}.mx [data-media-player][data-view-type=video][data-started]:not([data-controls]){pointer-events:auto;cursor:none}.mx [data-media-player] slot{display:contents}.mx [data-media-provider]{display:flex;position:relative;box-sizing:border-box;align-items:center;border-radius:inherit;width:100%;aspect-ratio:inherit;overflow:hidden}.mx [data-media-player]:not([data-view-type=audio]) [data-media-provider],.mx [data-media-player][data-fullscreen] [data-media-provider]{height:100%}.mx [data-media-player][data-view-type=audio] [data-media-provider]{display:contents;background-color:unset}.mx [data-media-provider] audio{width:100%}.mx :where([data-media-provider] video),.mx :where([data-media-provider] iframe){aspect-ratio:inherit;display:inline-block;height:auto;-o-object-fit:contain;object-fit:contain;touch-action:manipulation;border-radius:inherit;width:100%}.mx [data-media-provider] iframe{height:100%}.mx [data-media-player][data-view-type=audio] video,.mx [data-media-player][data-view-type=audio] iframe{display:none}.mx [data-media-player][data-fullscreen] video{height:100%}.mx iframe.vds-youtube[data-no-controls]{height:1000%}.mx .vds-blocker{position:absolute;inset:0;width:100%;height:auto;aspect-ratio:inherit;pointer-events:auto;border-radius:inherit;z-index:1}.mx [data-ended] .vds-blocker{background-color:#000}.mx .vds-icon:focus{outline:none}.mx .vds-google-cast{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#dedede;font-family:sans-serif;font-weight:500}.mx .vds-google-cast svg{--size: max(18%, 40px);width:var(--size);height:var(--size);margin-bottom:8px}.mx .vds-google-cast-info{font-size:calc(var(--media-height) / 100 * 6)}.mx *,.mx :before,.mx :after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--background-modifier-border)}.mx :before,.mx :after{--tw-content: ""}.mx :host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}.mx hr{height:0;color:inherit;border-top-width:1px}.mx abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.mx h1,.mx h2,.mx h3,.mx h4,.mx h5,.mx h6{font-size:inherit;font-weight:inherit}.mx a{color:inherit;text-decoration:inherit}.mx b,.mx strong{font-weight:bolder}.mx code,.mx kbd,.mx samp,.mx pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}.mx small{font-size:80%}.mx sub,.mx sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.mx sub{bottom:-.25em}.mx sup{top:-.5em}.mx table{text-indent:0;border-color:inherit;border-collapse:collapse}.mx button,.mx input,.mx optgroup,.mx select,.mx textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}.mx button,.mx select{text-transform:none}.mx button,.mx [type=button],.mx [type=reset],.mx [type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}.mx :-moz-focusring{outline:auto}.mx :-moz-ui-invalid{box-shadow:none}.mx progress{vertical-align:baseline}.mx ::-webkit-inner-spin-button,.mx ::-webkit-outer-spin-button{height:auto}.mx [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.mx ::-webkit-search-decoration{-webkit-appearance:none}.mx ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.mx summary{display:list-item}.mx blockquote,.mx dl,.mx dd,.mx h1,.mx h2,.mx h3,.mx h4,.mx h5,.mx h6,.mx hr,.mx figure,.mx p,.mx pre{margin:0}.mx fieldset{margin:0;padding:0}.mx legend{padding:0}.mx ol,.mx ul,.mx menu{list-style:none;margin:0;padding:0}.mx dialog{padding:0}.mx textarea{resize:vertical}.mx input::-moz-placeholder,.mx textarea::-moz-placeholder{opacity:1;color:#9ca3af}.mx input::placeholder,.mx textarea::placeholder{opacity:1;color:#9ca3af}.mx button,.mx [role=button]{cursor:pointer}.mx :disabled{cursor:default}.mx img,.mx svg,.mx video,.mx canvas,.mx audio,.mx iframe,.mx embed,.mx object{display:block;vertical-align:middle}.mx img,.mx video{max-width:100%;height:auto}.mx [hidden]{display:none}.mx *,.mx :before,.mx :after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mx ::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mx .pointer-events-none{pointer-events:none}.mx .visible{visibility:visible}.mx .static{position:static}.mx .absolute{position:absolute}.mx .relative{position:relative}.mx .inset-0{inset:0}.mx .bottom-2{bottom:.5rem}.mx .left-0{left:0}.mx .right-0{right:0}.mx .top-0{top:0}.mx .z-0{z-index:0}.mx .z-10{z-index:10}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx .-mt-0{margin-top:-0px}.mx .-mt-0\.5{margin-top:-.125rem}.mx .mb-2{margin-bottom:.5rem}.mx .ml-2{margin-left:.5rem}.mx .ml-2\.5{margin-left:.625rem}.mx .mr-1{margin-right:.25rem}.mx .block{display:block}.mx .inline-block{display:inline-block}.mx .flex{display:flex}.mx .inline-flex{display:inline-flex}.mx .contents{display:contents}.mx .h-10{height:2.5rem}.mx .h-7{height:1.75rem}.mx .h-9{height:2.25rem}.mx .h-\[var\(--thumbnail-height\)\]{height:var(--thumbnail-height)}.mx .h-full{height:100%}.mx .h-slider-thumb{height:var(--slider-thumb-height)}.mx .h-slider-thumb-sm{height:calc(var(--slider-thumb-height) * .75)}.mx .h-slider-track{height:var(--slider-track-height)}.mx .max-h-\[160px\]{max-height:160px}.mx .min-h-\[80px\]{min-height:80px}.mx .w-1\/5{width:20%}.mx .w-10{width:2.5rem}.mx .w-7{width:1.75rem}.mx .w-\[var\(--thumbnail-width\)\]{width:var(--thumbnail-width)}.mx .w-full{width:100%}.mx .w-slider-thumb{width:var(--slider-thumb-width)}.mx .w-slider-thumb-sm{width:calc(var(--slider-thumb-width) * .75)}.mx .min-w-\[120px\]{min-width:120px}.mx .max-w-\[180px\]{max-width:180px}.mx .max-w-\[80px\]{max-width:80px}.mx .flex-1{flex:1 1 0%}.mx .grow{flex-grow:1}.mx .translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .rotate-\[270deg\]{--tw-rotate: 270deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .-scale-x-100{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .-scale-y-100{--tw-scale-y: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.mx .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mx .cursor-pointer{cursor:pointer}.mx .touch-none{touch-action:none}.mx .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mx .flex-col{flex-direction:column}.mx .items-center{align-items:center}.mx .justify-center{justify-content:center}.mx .overflow-hidden{overflow:hidden}.mx .text-ellipsis{text-overflow:ellipsis}.mx .whitespace-nowrap{white-space:nowrap}.mx .break-words{overflow-wrap:break-word}.mx .rounded-md{border-radius:var(--radius-m)}.mx .rounded-slider-thumb{border-radius:var(--slider-thumb-radius)}.mx .rounded-sm{border-radius:var(--radius-s)}.mx .border{border-width:1px}.mx .border-width-slider-thumb{border-width:var(--slider-thumb-border-width)}.mx .border-slider-thumb{border-color:var(--thumb-border-color)}.mx .border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.mx .bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.mx .bg-ia-accent{background-color:var(--interactive-accent)}.mx .bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.mx .bg-slider-track{background-color:var(--slider-track-background)}.mx .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.mx .bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.mx .from-black\/10{--tw-gradient-from: rgb(0 0 0 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.mx .to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.mx .px-2{padding-left:.5rem;padding-right:.5rem}.mx .pb-2{padding-bottom:.5rem}.mx .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.mx .text-\[13px\]{font-size:13px}.mx .text-sm{font-size:var(--font-ui-small)}.mx .font-medium{font-weight:var(--font-medium)}.mx .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.mx .text-white\/60{color:#fff9}.mx .text-white\/70{color:#ffffffb3}.mx .text-white\/80{color:#fffc}.mx .opacity-0{opacity:0}.mx .opacity-100{opacity:1}.mx .outline-none{outline:2px solid transparent;outline-offset:2px}.mx .ring-inset{--tw-ring-inset: inset}.mx .ring-mod-border-focus{--tw-ring-color: var(--background-modifier-border-focus)}.mx .blur-lg{--tw-blur: blur(16px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.mx .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.mx .transition-\[opacity\,bottom\]{transition-property:opacity,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mx .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mx .duration-200{transition-duration:.2s}.mx .duration-300{transition-duration:.3s}.mx .will-change-\[left\]{will-change:left}.mx .will-change-\[width\]{will-change:width}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.mx .duration-200{animation-duration:.2s}.mx .duration-300{animation-duration:.3s}.mx .\!paused{animation-play-state:paused!important}.mx .paused{animation-play-state:paused}.mx svg.svg-icon{width:100%;height:100%}.mx-captions{--cue-color: var(--media-cue-color, white);--cue-bg-color: var(--media-cue-bg, rgba(0, 0, 0, .7));--cue-font-size: calc(var(--overlay-height) / 100 * 4.5);--cue-line-height: calc(var(--cue-font-size) * 1.2);--cue-padding-x: calc(var(--cue-font-size) * .6);--cue-padding-y: calc(var(--cue-font-size) * .4);font-size:var(--cue-font-size);word-spacing:normal;contain:layout style}.mx-captions[data-dir=rtl] :global([data-part=cue-display]){direction:rtl}.mx-captions[aria-hidden=true]{display:none}.mx-captions [data-part=cue-display]{position:absolute;direction:ltr;overflow:visible;contain:content;top:var(--cue-top);left:var(--cue-left);right:var(--cue-right);bottom:var(--cue-bottom);width:var(--cue-width, auto);height:var(--cue-height, auto);transform:var(--cue-transform);text-align:var(--cue-text-align);writing-mode:var(--cue-writing-mode, unset);white-space:pre-line;unicode-bidi:plaintext;min-width:-moz-min-content;min-width:min-content;min-height:-moz-min-content;min-height:min-content}.mx-captions [data-part=cue]{display:inline-block;contain:content;border-radius:2px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--cue-padding-y) var(--cue-padding-x);line-height:var(--cue-line-height);background-color:var(--cue-bg-color);color:var(--cue-color);white-space:pre-wrap;outline:var(--cue-outline);text-shadow:var(--cue-text-shadow)}.mx-captions [data-part=cue-display][data-vertical] [data-part=cue]{padding:var(--cue-padding-x) var(--cue-padding-y)}@media (hover: hover) and (pointer: fine){.mx .hover\:bg-white\/20:hover{background-color:#fff3}}.mx .focus\:opacity-100:focus{opacity:1}.mx .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.mx .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.mx .focus-visible\:ring-mod-border-focus:focus-visible{--tw-ring-color: var(--background-modifier-border-focus)}.mx .disabled\:pointer-events-none:disabled{pointer-events:none}.mx .disabled\:opacity-50:disabled{opacity:.5}.mx .aria-disabled\:hidden[aria-disabled=true]{display:none}.mx .data-\[view-type\=audio\]\:aspect-auto[data-view-type=audio]{aspect-ratio:auto}.mx .data-\[view-type\=video\]\:aspect-video[data-view-type=video]{aspect-ratio:16 / 9}.mx .data-\[view-type\=audio\]\:h-20[data-view-type=audio]{height:5rem}.mx .data-\[visible\]\:opacity-100[data-visible]{opacity:1}.mx .data-\[focus\]\:ring-2[data-focus]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.mx .data-\[play-ready\]\:blur-none[data-play-ready]{--tw-blur: blur(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.mx div:not([data-can-load]) .not-media-can-load\:opacity-100{opacity:1}.mx div[data-captions] .media-captions\:opacity-100{opacity:1}.mx div[data-controls] .media-controls\:bottom-\[85px\]{bottom:85px}.mx div[data-controls] .media-controls\:opacity-100{opacity:1}.mx div[data-preview] .media-preview\:opacity-0{opacity:0}.mx .group:hover .group-hocus\:opacity-100{opacity:1}.mx .group:focus-visible .group-hocus\:opacity-100{opacity:1}.mx-login-modal .modal{width:min(90vw,1200px);height:min(90vh,1000px);max-width:calc(100% - 48px);max-height:calc(100% - 64px)}.mx-login-modal input[type=url]{height:var(--input-height);-webkit-app-region:no-drag;background:var(--background-modifier-form-field);border:var(--input-border-width) solid var(--background-modifier-border);color:var(--text-normal);font-family:inherit;padding:var(--size-4-1) var(--size-4-2);font-size:var(--font-ui-small);border-radius:var(--input-radius);outline:none}.mx-login-modal .mx-login-nav{display:flex;flex:1;gap:var(--size-4-2);flex-grow:0;align-items:center;padding:0 20px 0 0;width:100%}.mx-login-modal form{display:contents}.mx-login-modal .mx-login-address{flex-grow:1}.mx-login-modal .modal-content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;padding:var(--size-4-4)}.mx-login-modal .modal-content webview{width:100%;height:100%}.mx-login-modal .modal-content h1{text-align:left;margin:0 0 var(--size-4-4) 0;font-size:var(--font-ui-large)}.mx-login-modal .modal-content main p{margin:0 0 var(--size-4-2) 0}.mx-login-modal .modal-content ul{padding:0 0 0 20px;margin:12px 0 0}.markdown-reading-view button.mx-lp-edit{display:none}.mx-playback-prompt form{display:flex;flex-direction:column;gap:1rem}.mx-playback-prompt button[type=submit]{align-self:flex-end}.workspace-tab-header.mx-media-active:not(.mod-active) .workspace-tab-header-inner-icon{color:var(--color-red)!important}.markdown-source-view.mod-cm6 .cm-content .mx-external-media-embed~img[data-mx-error]{display:none}.markdown-source-view.mod-cm6 .cm-content iframe.external-embed[src*="youtube.com/embed/"]{display:none}.mx-protocol-list .setting-item-control{flex-wrap:wrap}.mx-protocol-list .setting-item{border-top:0;padding-top:0}.mx-protocol-list .mx-replace-input{width:20em} diff --git a/.obsidian/plugins/meld-encrypt/main.js b/.obsidian/plugins/meld-encrypt/main.js index 95449c5b..bd67d40d 100644 --- a/.obsidian/plugins/meld-encrypt/main.js +++ b/.obsidian/plugins/meld-encrypt/main.js @@ -3,7 +3,7 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ -var oe=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Fe=Object.prototype.hasOwnProperty;var xe=(m,t)=>{for(var e in t)oe(m,e,{get:t[e],enumerable:!0})},Se=(m,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ce(t))!Fe.call(m,i)&&i!==e&&oe(m,i,{get:()=>t[i],enumerable:!(n=Te(t,i))||n.enumerable});return m};var Ie=m=>Se(oe({},"__esModule",{value:!0}),m);var Le={};xe(Le,{default:()=>re});module.exports=Ie(Le);var be=require("obsidian");var k=require("obsidian");var J=class{constructor(){this.values=new Map}put(t,e){this.values.set(t,e)}get(t,e){var n;return(n=this.values.get(t))!=null?n:e}getFirst(t,e){for(let n=0;n{r.setValue(this.settings.confirmPassword).onChange(async o=>{this.settings.confirmPassword=o,await this.plugin.saveSettings()})});let n=()=>{if(!this.settings.rememberPassword){i.settingEl.hide(),s.settingEl.hide();return}i.settingEl.show(),s.settingEl.show();let r=this.settings.rememberPasswordTimeout,o=`For ${r} minutes`;r==0&&(o="Until Obsidian is closed"),i.setName(`Remember Password (${o})`)};new k.Setting(e).setName("Remember password?").setDesc("Remember the last used passwords when encrypting or decrypting. Passwords are remembered until they timeout or Obsidian is closed").addToggle(r=>{r.setValue(this.settings.rememberPassword).onChange(async o=>{this.settings.rememberPassword=o,await this.plugin.saveSettings(),f.setActive(this.settings.rememberPassword),n()})});let i=new k.Setting(e).setDesc("The number of minutes to remember passwords.").addSlider(r=>{r.setLimits(0,120,5).setValue(this.settings.rememberPasswordTimeout).onChange(async o=>{this.settings.rememberPasswordTimeout=o,await this.plugin.saveSettings(),f.setAutoExpire(this.settings.rememberPasswordTimeout),n()})}),s=new k.Setting(e).setDesc("Remember passwords by using a notes file name or parent folder").addDropdown(r=>{r.addOption(f.LevelFilename,"File Name").addOption(f.LevelParentPath,"Parent Folder").setValue(this.settings.rememberPasswordLevel).onChange(async o=>{this.settings.rememberPasswordLevel=o,await this.plugin.saveSettings(),f.setLevel(this.settings.rememberPasswordLevel),n()})});n(),this.features.forEach(r=>{r.buildSettingsUi(e,async()=>await this.plugin.saveSettings())})}};var S=require("obsidian");var M=require("obsidian"),H=class extends M.Modal{constructor(e,n,i=""){super(e);this.decryptInPlace=!1;this.canDecryptInPlace=!0;this.titleEl.setText(n),this.text=i}onOpen(){var r;let{contentEl:e}=this;e.empty(),e.classList.add("meld-encrypt-decrypt-modal");let n;(r=new M.Setting(e).addTextArea(o=>{n=o,o.setValue(this.text),o.inputEl.setSelectionRange(0,0),o.inputEl.readOnly=!0,o.inputEl.rows=10}).settingEl.querySelector(".setting-item-info"))==null||r.remove();let s=new M.Setting(e);s.addButton(o=>{o.setButtonText("Copy").onClick(a=>{navigator.clipboard.writeText(n.getValue()),new M.Notice("Copied!")})}),this.canDecryptInPlace&&s.addButton(o=>{o.setWarning().setButtonText("Decrypt in-place").onClick(a=>{this.decryptInPlace=!0,this.close()})})}};var v=require("obsidian");var K=require("obsidian"),P=class{static isSettingsModalOpen(){return document.querySelector(".mod-settings")!==null}static buildPasswordSetting({container:t,name:e,desc:n="",autoFocus:i=!1,placeholder:s="",initialValue:r="",onChangeCallback:o,onEnterCallback:a}){let c=new K.Setting(t).setName(e).setDesc(n).addButton(w=>{w.setIcon("reading-glasses").onClick(h=>{let d=c.components.find((u,l,p)=>u instanceof K.TextComponent);d instanceof K.TextComponent&&(d.inputEl.type=d.inputEl.type=="password"?"text":"password")})}).addText(w=>{w.setPlaceholder(s),w.setValue(r),w.inputEl.type="password",o!=null&&w.onChange(o),a!=null&&(w.inputEl.onkeydown=h=>{h.key==="Enter"&&(h.preventDefault(),a(w.getValue()))}),i&&setTimeout(()=>w.inputEl.focus(),0)});return c}};var L=class extends v.Modal{constructor(e,n,i,s,r=null,o=null,a=!1){super(e);this.defaultPassword=null;this.resultConfirmed=!1;this.resultPassword=null;this.resultShowInReadingView=null;this.resultTextToEncrypt=null;this.defaultPassword=r,this.confirmPassword=i,this.showInReadingView=s,this.isEncrypting=n,this.defaultHint=o!=null?o:"",this.showTextToEncrypt=a}onOpen(){var u;let{contentEl:e}=this;e.empty(),e.classList.add("meld-encrypt-password-modal"),this.invalidate();let n=(u=this.defaultPassword)!=null?u:"",i="",s=this.defaultHint,r=this.showInReadingView,o="";new v.Setting(e).setHeading().setName(this.isEncrypting?"Encrypting":"Decrypting"),P.buildPasswordSetting({container:e,name:"Password:",placeholder:this.isEncrypting||s.length==0?"":`Hint: ${s}`,initialValue:n,autoFocus:!0,onChangeCallback:l=>{n=l,this.invalidate()},onEnterCallback:l=>{if(n=l,this.invalidate(),n.length>0)if(a.settingEl.isShown()){let p=a.components.find(E=>E instanceof v.TextComponent);p instanceof v.TextComponent&&p.inputEl.focus()}else if(c.settingEl.isShown()){let p=c.components.find(E=>E instanceof v.TextComponent);p instanceof v.TextComponent&&p.inputEl.focus()}else d()&&this.close()}});let a=P.buildPasswordSetting({container:e,name:"Confirm Password:",onChangeCallback:l=>{i=l,this.invalidate()},onEnterCallback:l=>{if(i=l,this.invalidate(),i.length>0&&d()&&c.settingEl.isShown()){let p=c.components.find(E=>E instanceof v.TextComponent);p instanceof v.TextComponent&&p.inputEl.focus()}}});this.confirmPassword||a.settingEl.hide();let c=new v.Setting(e).setName("Optional Password Hint").addText(l=>{l.inputEl.placeholder="Password Hint",l.setValue(s),l.onChange(p=>s=p),l.inputEl.on("keypress","*",(p,E)=>{p.key=="Enter"&&E instanceof HTMLInputElement&&E.value.length>0&&(p.preventDefault(),d()&&this.close())})});this.isEncrypting||c.settingEl.hide();let w=new v.Setting(e).setName("Show encrypted marker in Reading view").addToggle(l=>{l.setValue(r).onChange(p=>{r=p})});this.isEncrypting||w.settingEl.hide();let h=new v.Setting(e).setName("Text to encrypt").addTextArea(l=>{l.setValue("").onChange(p=>o=p),l.inputEl.rows=5,l.inputEl.style.width="100%"});this.showTextToEncrypt||h.settingEl.hide(),new v.Setting(e).addButton(l=>{l.setButtonText("Confirm").onClick(p=>{d()&&this.close()})});let d=()=>(this.invalidate(),a.setDesc(""),this.confirmPassword&&n!=i?(a.setDesc("Passwords don't match"),!1):(this.resultConfirmed=!0,this.resultPassword=n,this.resultHint=s,this.resultShowInReadingView=r,this.resultTextToEncrypt=o,!0))}invalidate(){this.resultConfirmed=!1,this.resultPassword=null,this.resultHint="",this.resultTextToEncrypt=""}};var ce=new TextEncoder,De=new TextDecoder,Ae=1e3,Ne=ce.encode("XHWnDAT6ehMVY2zD"),W=class{async deriveKey(t){let e=ce.encode(t),n=await crypto.subtle.importKey("raw",e,{name:"PBKDF2"},!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",hash:{name:"SHA-256"},iterations:Ae,salt:Ne},n,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async encryptToBytes(t,e){let n=await this.deriveKey(e),i=ce.encode(t),s=crypto.getRandomValues(new Uint8Array(16)),r=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:s},n,i)),o=new Uint8Array(s.byteLength+r.byteLength);return o.set(s,0),o.set(r,s.byteLength),o}convertToString(t){let e="";for(let n=0;nt.startsWith(i)))!=null?e:"",this.suffix=(n=V.find(i=>t.endsWith(i)))!=null?n:"",this.hasEncryptedPrefix=this.prefix.length>0,this.hasEncryptedSuffix=this.suffix.length>0,this.hasObsoleteEncryptedPrefix=this.prefix===ue,this.containsEncryptedMarkers=[...A,...V].some(i=>t.includes(i)),this.canDecrypt=this.hasEncryptedPrefix&&this.hasEncryptedSuffix,this.canEncrypt=!this.hasEncryptedPrefix&&!this.containsEncryptedMarkers,this.canDecrypt){let i=this.parseDecryptableContent(t);i!=null?this.decryptable=i:this.canDecrypt=!1}}parseDecryptableContent(t){let e=new Z;if(!this.hasEncryptedPrefix||!this.hasEncryptedSuffix)return null;this.hasObsoleteEncryptedPrefix?e.version=0:this.prefix==ee||this.prefix==te?e.version=2:(this.prefix==de||this.prefix==pe)&&(e.version=1);let n=t.substring(this.prefix.length,t.length-this.suffix.length);if([...A,...V].some(i=>n.includes(i)))return null;if(n.substring(0,x.length)==x){let i=n.indexOf(x,x.length);if(i<0)return null;e.hint=n.substring(x.length,i),e.base64CipherText=n.substring(i+x.length)}else e.base64CipherText=n;return e}};var Y=class{async onload(t,e){this.plugin=t,this.pluginSettings=e,this.featureSettings=e.featureInplaceEncrypt,this.plugin.registerMarkdownPostProcessor((n,i)=>this.processEncryptedCodeBlockProcessor(n,i)),t.addCommand({id:"meld-encrypt",name:"Encrypt/Decrypt",icon:"lock",editorCheckCallback:(n,i,s)=>this.processEncryptDecryptCommand(n,i,!1)}),t.addCommand({id:"meld-encrypt-in-place",name:"Encrypt/Decrypt In-place",icon:"lock",editorCheckCallback:(n,i,s)=>this.processEncryptDecryptCommand(n,i,!0)})}onunload(){}replaceMarkersRecursive(t){if(t instanceof HTMLElement){t.childNodes.forEach(e=>this.replaceMarkersRecursive(e));return}if(t instanceof Text){let e=t.textContent;if(e==null||!e.contains("\u{1F510}"))return;let n=t.parentElement;if(n==null)return;let i=/🔐(.*?)🔐/g;n.removeChild(t);for(let s of e.matchAll(i))n.createSpan({cls:"meld-encrypt-inline-reading-marker",text:"\u{1F510}",attr:{"data-meld-encrypt-encrypted":s[0]}})}}async processEncryptedCodeBlockProcessor(t,e){this.replaceMarkersRecursive(t);let n=t.querySelectorAll(".meld-encrypt-inline-reading-marker");this.bindReadingIndicatorEventHandlers(e.sourcePath,n)}bindReadingIndicatorEventHandlers(t,e){e.forEach(n=>{let i=n;i!=null&&i.onClickEvent(async s=>{let r=s.target;if(r==null)return;let o=r.dataset.meldEncryptEncrypted;if(o==null)return;let a=new X(o);await this.handleReadingIndicatorClick(t,a.decryptable)})})}async handleReadingIndicatorClick(t,e){if(e==null){new S.Notice("\u274C Decryption failed!");return}if(await this.showDecryptedTextIfPasswordKnown(t,e))return;let n=await this.fetchPasswordFromUser(e.hint);n!=null&&(await this.showDecryptedResultForPassword(e,n)?f.putByPath({password:n,hint:e.hint},t):new S.Notice("\u274C Decryption failed!"))}async showDecryptedResultForPassword(t,e){let i=await C.BuildFromDecryptableOrThrow(t).decryptFromBase64(t.base64CipherText,e);return i===null?!1:new Promise(s=>{let r=new H(this.plugin.app,"\u{1F513}",i);r.canDecryptInPlace=!1,r.onClose=()=>{s(!0)},r.open()})}async fetchPasswordFromUser(t){return new Promise(e=>{let n=new L(this.plugin.app,!1,!1,this.featureSettings.showMarkerWhenReadingDefault,"",t);n.onClose=()=>{e(n.resultPassword)},n.open()})}async showDecryptedTextIfPasswordKnown(t,e){let n=f.getByPath(t);return n.password==null?!1:await this.showDecryptedResultForPassword(e,n.password)}buildSettingsUi(t,e){new S.Setting(t).setHeading().setName("In-place encryption"),new S.Setting(t).setName("Expand selection to whole line?").setDesc("Partial selections will get expanded to the whole line.").addToggle(n=>{n.setValue(this.featureSettings.expandToWholeLines).onChange(async i=>{this.featureSettings.expandToWholeLines=i,await e()})}),new S.Setting(t).setName("By default, show encrypted marker when reading").setDesc("When encrypting inline text, should the default be to have a visible marker in Reading view?").addToggle(n=>{n.setValue(this.featureSettings.showMarkerWhenReadingDefault).onChange(async i=>{this.featureSettings.showMarkerWhenReadingDefault=i,await e()})})}processEncryptDecryptCommand(t,e,n){if(t&&P.isSettingsModalOpen())return!0;let i=e.getCursor("from"),s=e.getCursor("to");if(this.featureSettings.expandToWholeLines){i={line:i.line,ch:0};let a=s.line,c=e.getLine(a);s={line:a,ch:c.length}}else if(!e.somethingSelected()){let o=this.getClosestPrefixCursorPos(e),a=this.getClosestSuffixCursorPos(e);if(o==null||a==null||i.linea.line)return this.promptForTextToEncrypt(t,e,i);i=o,s=a}let r=e.getRange(i,s);return this.processSelection(t,e,r,i,s,n)}promptForTextToEncrypt(t,e,n){let i=this.plugin.app.workspace.getActiveFile();if(i==null)return!1;if(t)return!0;let s="",r="";if(this.pluginSettings.rememberPassword){let c=f.getByPath(i.path);s=c.password,r=c.hint}let o=this.pluginSettings.confirmPassword,a=new L(this.plugin.app,!0,o,this.featureSettings.showMarkerWhenReadingDefault,s,r,!0);return a.onClose=async()=>{var u,l,p,E;if(!a.resultConfirmed)return;let c=(u=a.resultPassword)!=null?u:"",w=(l=a.resultHint)!=null?l:"",h=(p=a.resultTextToEncrypt)!=null?p:"",d=new ne;d.text=h,d.hint=w,this.encryptSelection(e,d,c,n,n,(E=a.resultShowInReadingView)!=null?E:this.featureSettings.showMarkerWhenReadingDefault),f.putByPath({password:c,hint:w},i.path)},a.open(),!1}getClosestPrefixCursorPos(t){let e=A.reduce((i,s,r)=>r==0||s.length>i.length?s:i),n=t.posToOffset(t.getCursor("from"))+e.length;for(let i=n;i>=0;i--){let s=t.offsetToPos(i);for(let r of A){let o=i-r.length,a=t.offsetToPos(o);if(t.getRange(a,s)==r)return t.offsetToPos(o)}}return null}getClosestSuffixCursorPos(t){let e=A.reduce((r,o,a)=>a==0||o.length>r.length?o:r),n=t.posToOffset(t.getCursor("from"))-e.length+1,i=t.lastLine(),s=t.posToOffset({line:i,ch:t.getLine(i).length});for(let r=n;r<=s;r++){let o=t.offsetToPos(r);for(let a of V){let c=r+a.length,w=t.offsetToPos(c);if(t.getRange(o,w)==a)return w}}return null}processSelection(t,e,n,i,s,r,o=!0){var l;let a=new X(n);if(a.isEmpty)return t||new S.Notice("Nothing to Encrypt."),!1;if(!a.canDecrypt&&!a.canEncrypt)return t||new S.Notice("Unable to Encrypt or Decrypt that."),!1;if(a.canEncrypt&&!o)return!1;let c=this.plugin.app.workspace.getActiveFile();if(c==null)return!1;if(t)return!0;let w="",h=(l=a.decryptable)==null?void 0:l.hint;if(this.pluginSettings.rememberPassword){let p=f.getByPath(c.path);w=p.password,h=h!=null?h:p.hint}let d=a.canEncrypt&&this.pluginSettings.confirmPassword,u=new L(this.plugin.app,a.canEncrypt,d,this.featureSettings.showMarkerWhenReadingDefault,w,h);return u.onClose=async()=>{var we,me,ye;if(!u.resultConfirmed)return;let p=(we=u.resultPassword)!=null?we:"",E=(me=u.resultHint)!=null?me:"";if(a.canEncrypt){let j=new ne;j.text=n,j.hint=E,this.encryptSelection(e,j,p,i,s,(ye=u.resultShowInReadingView)!=null?ye:this.featureSettings.showMarkerWhenReadingDefault),f.putByPath({password:p,hint:E},c.path)}else a.decryptable&&await this.decryptSelection(e,a.decryptable,p,i,s,r)&&f.putByPath({password:p,hint:E},c.path)},u.open(),!0}async encryptSelection(t,e,n,i,s,r){let o=C.BuildDefault(),a=this.encodeEncryption(await o.encryptToBase64(e.text,n),e.hint,r);t.setSelection(i,s),t.replaceSelection(a)}async decryptSelection(t,e,n,i,s,r){let a=await C.BuildFromDecryptableOrThrow(e).decryptFromBase64(e.base64CipherText,n);if(a===null)return new S.Notice("\u274C Decryption failed!"),!1;if(r)t.setSelection(i,s),t.replaceSelection(a);else{let c=new H(this.plugin.app,"\u{1F513}",a);c.onClose=()=>{t.focus(),c.decryptInPlace&&(t.setSelection(i,s),t.replaceSelection(a))},c.open()}return!0}encodeEncryption(t,e,n){if(!A.some(i=>t.includes(i))&&!V.some(i=>t.includes(i))){let i=n?Pe:Ee,s=n?ge:he;return e.length>0?i.concat(x,e,x,t,s):i.concat(t,s)}return t}},ne=class{};var F=require("obsidian");var y=require("obsidian");var O=class{static get showInlineTitle(){var t;return(t=app.vault.getConfig("showInlineTitle"))!=null?t:!0}static get readableLineLength(){var t;return(t=app.vault.getConfig("readableLineLength"))!=null?t:!0}};var ie=class{constructor(t,e,n){this.version="1.0";this.version=t,this.hint=e,this.encodedData=n}},fe=class{static async encode(t,e,n){let s=await C.BuildDefault().encryptToBase64(n,t);return new ie(fe.DEFAULT_VERSION,e,s)}static async decrypt(t,e){return t.encodedData==""?"":await C.BuildFromFileDataOrThrow(t).decryptFromBase64(t.encodedData,e)}},I=fe;I.DEFAULT_VERSION="2.0";var D=class{static encode(t){return JSON.stringify(t,null,2)}static decode(t){return t===""?new ie(I.DEFAULT_VERSION,"",""):JSON.parse(t)}};var ke="encrypted",ve="mdenc",se=ve,N=[ve,ke];var G="meld-encrypted-file-content-view",z=class extends y.TextFileView{constructor(e,n){var i;super(e);this.iconReadingView="book-open";this.iconSourceView="code";this.iconToggleEditView="edit";this.iconLockFile="lock";this.iconChangePassword="key";this.currentView=0;this.encryptionPassword="";this.hint="";this.currentEditorSourceText="";this.settings=n,this.defaultEditNoteView=(i=n.defaultView)!=null?i:"Source",this.currentEditNoteMode=this.defaultEditNoteView,this.elActionEditView=this.addAction(this.iconSourceView,"Source",()=>this.toggleReadingView()),this.elActionReadingView=this.addAction(this.iconReadingView,"Reading",()=>this.toggleReadingView()),this.elActionIconLockNote=this.addAction(this.iconLockFile,"Lock",()=>this.actionLockFile()),this.elActionChangePassword=this.addAction(this.iconChangePassword,"Change Password",()=>this.actionChangePassword()),this.elActionEditView.hide(),this.elActionReadingView.hide(),this.elActionIconLockNote.hide(),this.elActionChangePassword.hide(),this.containerEl.classList.add("meld-encrypt-encrypted-note-view"),this.contentEl.classList.add("meld-encrypt-encrypted-note-view-content")}toggleReadingView(){this.currentView==2&&(this.currentEditNoteMode=="Reading"?this.currentEditNoteMode="Source":this.currentEditNoteMode=="Source"&&(this.currentEditNoteMode="Reading"),this.refreshView(2))}actionLockFile(){this.encryptionPassword="",f.clearForFile(this.file),this.refreshView(1)}actionChangePassword(){this.refreshView(3)}onPaneMenu(e,n){n=="tab-header"&&this.currentView==2&&(e.addItem(i=>{i.setSection("action").setIcon(this.iconToggleEditView).setTitle("Toggle Editing/Reading").onClick(()=>this.toggleReadingView())}),e.addItem(i=>{i.setSection("action").setIcon(this.iconLockFile).setTitle("Lock").onClick(()=>this.actionLockFile())}),e.addItem(i=>{i.setSection("action").setIcon(this.iconChangePassword).setTitle("Change Password").onClick(()=>this.actionChangePassword())})),super.onPaneMenu(e,n)}addHeader(e,n){var i;e.createDiv({text:`\u{1F510} ${n} \u{1F510}`,cls:"encrypted-note-message"}),O.showInlineTitle&&e.createDiv({text:(i=this.file)==null?void 0:i.basename,cls:"inline-title"})}validatePassword(e){return""}validateConfirm(e,n){return e===n?"":"Password doesn't match"}addNewNoteView(e){this.addHeader(e,"This note will be encrypted");let n=this.addUserInputContainer(e);new y.Setting(n).setDesc("Please provide a password and hint to start editing this note.");let i=async(d,u,l)=>{let p=this.validatePassword(d),E=this.validateConfirm(d,u);c.setDesc(p),w.setDesc(E),p.length===0&&E.length===0&&(this.encryptionPassword=d,this.hint=l,O.showInlineTitle||(this.currentEditorSourceText=`# ${this.file.basename} +var ae=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var xe=Object.prototype.hasOwnProperty;var Fe=(y,t)=>{for(var e in t)ae(y,e,{get:t[e],enumerable:!0})},Se=(y,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ce(t))!xe.call(y,i)&&i!==e&&ae(y,i,{get:()=>t[i],enumerable:!(n=Te(t,i))||n.enumerable});return y};var Ie=y=>Se(ae({},"__esModule",{value:!0}),y);var Le={};Fe(Le,{default:()=>re});module.exports=Ie(Le);var oe=require("obsidian");var k=require("obsidian");var J=class{constructor(){this.values=new Map}put(t,e){this.values.set(t,e)}get(t,e){var n;return(n=this.values.get(t))!=null?n:e}getFirst(t,e){for(let n=0;n{s.setValue(this.settings.confirmPassword).onChange(async o=>{this.settings.confirmPassword=o,await this.plugin.saveSettings()})});let n=()=>{if(!this.settings.rememberPassword){i.settingEl.hide(),r.settingEl.hide();return}i.settingEl.show(),r.settingEl.show();let s=this.settings.rememberPasswordTimeout,o=`For ${s} minutes`;s==0&&(o="Until Obsidian is closed"),i.setName(`Remember Password (${o})`)};new k.Setting(e).setName("Remember password?").setDesc("Remember the last used passwords when encrypting or decrypting. Passwords are remembered until they timeout or Obsidian is closed").addToggle(s=>{s.setValue(this.settings.rememberPassword).onChange(async o=>{this.settings.rememberPassword=o,await this.plugin.saveSettings(),g.setActive(this.settings.rememberPassword),n()})});let i=new k.Setting(e).setDesc("The number of minutes to remember passwords.").addSlider(s=>{s.setLimits(0,120,5).setValue(this.settings.rememberPasswordTimeout).onChange(async o=>{this.settings.rememberPasswordTimeout=o,await this.plugin.saveSettings(),g.setAutoExpire(this.settings.rememberPasswordTimeout),n()})}),r=new k.Setting(e).setName("Remember passwords by:").setDesc(this.buildRememberPasswordDescription()).addDropdown(s=>{s.addOption(g.LevelVault,"Vault").addOption(g.LevelParentPath,"Folder").addOption(g.LevelFilename,"File").setValue(this.settings.rememberPasswordLevel).onChange(async o=>{this.settings.rememberPasswordLevel=o,await this.plugin.saveSettings(),g.setLevel(this.settings.rememberPasswordLevel),n()})});n(),this.features.forEach(s=>{s.buildSettingsUi(e,async()=>await this.plugin.saveSettings())})}buildRememberPasswordDescription(){let e=new DocumentFragment,n=e.createEl("table").createTBody(),i=n.createEl("tr");return i.createEl("th",{text:"Vault:",attr:{align:"left"}}),i.createEl("td",{text:"typically, you'll use the same password every time."}),i=n.createEl("tr"),i.createEl("th",{text:"Folder:",attr:{align:"left"}}),i.createEl("td",{text:"typically, you'll use the same password for each note within a folder."}),i=n.createEl("tr"),i.createEl("th",{text:"File:",attr:{align:"left"}}),i.createEl("td",{text:"typically, each note will have a unique password."}),e}};var x=require("obsidian");var M=require("obsidian"),H=class extends M.Modal{constructor(e,n,i=""){super(e);this.decryptInPlace=!1;this.canDecryptInPlace=!0;this.titleEl.setText(n),this.text=i}onOpen(){var s;let{contentEl:e}=this;e.empty(),e.classList.add("meld-encrypt-decrypt-modal");let n;(s=new M.Setting(e).addTextArea(o=>{n=o,o.setValue(this.text),o.inputEl.setSelectionRange(0,0),o.inputEl.readOnly=!0,o.inputEl.rows=10}).settingEl.querySelector(".setting-item-info"))==null||s.remove();let r=new M.Setting(e);r.addButton(o=>{o.setButtonText("Copy").onClick(a=>{navigator.clipboard.writeText(n.getValue()),new M.Notice("Copied!")})}),this.canDecryptInPlace&&r.addButton(o=>{o.setWarning().setButtonText("Decrypt in-place").onClick(a=>{this.decryptInPlace=!0,this.close()})})}};var v=require("obsidian");var K=require("obsidian"),P=class{static isSettingsModalOpen(){return document.querySelector(".mod-settings")!==null}static buildPasswordSetting({container:t,name:e,desc:n="",autoFocus:i=!1,placeholder:r="",initialValue:s="",onChangeCallback:o,onEnterCallback:a}){let l=new K.Setting(t).setName(e).setDesc(n).addButton(w=>{w.setIcon("reading-glasses").onClick(f=>{let d=l.components.find((h,c,u)=>h instanceof K.TextComponent);d instanceof K.TextComponent&&(d.inputEl.type=d.inputEl.type=="password"?"text":"password")})}).addText(w=>{w.setPlaceholder(r),w.setValue(s),w.inputEl.type="password",o!=null&&w.onChange(o),a!=null&&(w.inputEl.onkeydown=f=>{f.key==="Enter"&&(f.preventDefault(),a(w.getValue()))}),i&&setTimeout(()=>w.inputEl.focus(),0)});return l}};var L=class extends v.Modal{constructor(e,n,i,r,s=null,o=null,a=!1){super(e);this.defaultPassword=null;this.resultConfirmed=!1;this.resultPassword=null;this.resultShowInReadingView=null;this.resultTextToEncrypt=null;this.defaultPassword=s,this.confirmPassword=i,this.showInReadingView=r,this.isEncrypting=n,this.defaultHint=o!=null?o:"",this.showTextToEncrypt=a}onOpen(){var h;let{contentEl:e}=this;e.empty(),e.classList.add("meld-encrypt-password-modal"),this.invalidate();let n=(h=this.defaultPassword)!=null?h:"",i="",r=this.defaultHint,s=this.showInReadingView,o="";new v.Setting(e).setHeading().setName(this.isEncrypting?"Encrypting":"Decrypting"),P.buildPasswordSetting({container:e,name:"Password:",placeholder:this.isEncrypting||r.length==0?"":`Hint: ${r}`,initialValue:n,autoFocus:!0,onChangeCallback:c=>{n=c,this.invalidate()},onEnterCallback:c=>{if(n=c,this.invalidate(),n.length>0)if(a.settingEl.isShown()){let u=a.components.find(E=>E instanceof v.TextComponent);u instanceof v.TextComponent&&u.inputEl.focus()}else if(l.settingEl.isShown()){let u=l.components.find(E=>E instanceof v.TextComponent);u instanceof v.TextComponent&&u.inputEl.focus()}else d()&&this.close()}});let a=P.buildPasswordSetting({container:e,name:"Confirm Password:",onChangeCallback:c=>{i=c,this.invalidate()},onEnterCallback:c=>{if(i=c,this.invalidate(),i.length>0&&d()&&l.settingEl.isShown()){let u=l.components.find(E=>E instanceof v.TextComponent);u instanceof v.TextComponent&&u.inputEl.focus()}}});this.confirmPassword||a.settingEl.hide();let l=new v.Setting(e).setName("Optional Password Hint").addText(c=>{c.inputEl.placeholder="Password Hint",c.setValue(r),c.onChange(u=>r=u),c.inputEl.on("keypress","*",(u,E)=>{u.key=="Enter"&&E instanceof HTMLInputElement&&E.value.length>0&&(u.preventDefault(),d()&&this.close())})});this.isEncrypting||l.settingEl.hide();let w=new v.Setting(e).setName("Show encrypted marker in Reading view").addToggle(c=>{c.setValue(s).onChange(u=>{s=u})});this.isEncrypting||w.settingEl.hide();let f=new v.Setting(e).setName("Text to encrypt").addTextArea(c=>{c.setValue("").onChange(u=>o=u),c.inputEl.rows=5,c.inputEl.style.width="100%"});this.showTextToEncrypt||f.settingEl.hide(),new v.Setting(e).addButton(c=>{c.setButtonText("Confirm").onClick(u=>{d()&&this.close()})});let d=()=>(this.invalidate(),a.setDesc(""),this.confirmPassword&&n!=i?(a.setDesc("Passwords don't match"),!1):(this.resultConfirmed=!0,this.resultPassword=n,this.resultHint=r,this.resultShowInReadingView=s,this.resultTextToEncrypt=o,!0))}invalidate(){this.resultConfirmed=!1,this.resultPassword=null,this.resultHint="",this.resultTextToEncrypt=""}};var ce=new TextEncoder,De=new TextDecoder,Ae=1e3,Ne=ce.encode("XHWnDAT6ehMVY2zD"),W=class{async deriveKey(t){let e=ce.encode(t),n=await crypto.subtle.importKey("raw",e,{name:"PBKDF2"},!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",hash:{name:"SHA-256"},iterations:Ae,salt:Ne},n,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async encryptToBytes(t,e){let n=await this.deriveKey(e),i=ce.encode(t),r=crypto.getRandomValues(new Uint8Array(16)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:r},n,i)),o=new Uint8Array(r.byteLength+s.byteLength);return o.set(r,0),o.set(s,r.byteLength),o}convertToString(t){let e="";for(let n=0;nt.startsWith(i)))!=null?e:"",this.suffix=(n=V.find(i=>t.endsWith(i)))!=null?n:"",this.hasEncryptedPrefix=this.prefix.length>0,this.hasEncryptedSuffix=this.suffix.length>0,this.hasObsoleteEncryptedPrefix=this.prefix===he,this.containsEncryptedMarkers=[...A,...V].some(i=>t.includes(i)),this.canDecrypt=this.hasEncryptedPrefix&&this.hasEncryptedSuffix,this.canEncrypt=!this.hasEncryptedPrefix&&!this.containsEncryptedMarkers,this.canDecrypt){let i=this.parseDecryptableContent(t);i!=null?this.decryptable=i:this.canDecrypt=!1}}parseDecryptableContent(t){let e=new Z;if(!this.hasEncryptedPrefix||!this.hasEncryptedSuffix)return null;this.hasObsoleteEncryptedPrefix?e.version=0:this.prefix==ee||this.prefix==te?e.version=2:(this.prefix==pe||this.prefix==ue)&&(e.version=1);let n=t.substring(this.prefix.length,t.length-this.suffix.length);if([...A,...V].some(i=>n.includes(i)))return null;if(n.substring(0,S.length)==S){let i=n.indexOf(S,S.length);if(i<0)return null;e.hint=n.substring(S.length,i),e.base64CipherText=n.substring(i+S.length)}else e.base64CipherText=n;return e}};var Y=class{async onload(t,e){this.plugin=t,this.pluginSettings=e,this.featureSettings=e.featureInplaceEncrypt,this.plugin.registerMarkdownPostProcessor((n,i)=>this.processEncryptedCodeBlockProcessor(n,i)),t.addCommand({id:"meld-encrypt",name:"Encrypt/Decrypt",icon:"lock",editorCheckCallback:(n,i,r)=>this.processEncryptDecryptCommand(n,i,!1)}),this.plugin.addRibbonIcon("file-lock","Encrypt/Decrypt",n=>{let i=this.plugin.app.workspace.getActiveViewOfType(x.MarkdownView);if(i==null){console.debug("no active view found");return}return this.processEncryptDecryptCommand(!1,i.editor,!1)}),t.addCommand({id:"meld-encrypt-in-place",name:"Encrypt/Decrypt In-place",icon:"lock",editorCheckCallback:(n,i,r)=>this.processEncryptDecryptCommand(n,i,!0)})}onunload(){}replaceMarkersRecursive(t,e=0){if(t instanceof HTMLElement){for(let i of Array.from(t.childNodes)){var n=this.replaceMarkersRecursive(i,e+1);i.replaceWith(...n)}return[t]}if(t instanceof Text){let i=t.textContent;if(i==null)return[t];if(!i.contains("\u{1F510}"))return[t];let r=/🔐(.*?)🔐/g,s=i.split(r),o=[];for(let a=0;a{let i=n;i!=null&&i.onClickEvent(async r=>{let s=r.target;if(s==null)return;let o=s.dataset.meldEncryptEncrypted;if(o==null)return;let a=new X(o);await this.handleReadingIndicatorClick(t,a.decryptable)})})}async handleReadingIndicatorClick(t,e){if(e==null){new x.Notice("\u274C Decryption failed!");return}if(await this.showDecryptedTextIfPasswordKnown(t,e))return;let n=await this.fetchPasswordFromUser(e.hint);n!=null&&(await this.showDecryptedResultForPassword(e,n)?g.putByPath({password:n,hint:e.hint},t):new x.Notice("\u274C Decryption failed!"))}async showDecryptedResultForPassword(t,e){let i=await C.BuildFromDecryptableOrThrow(t).decryptFromBase64(t.base64CipherText,e);return i===null?!1:new Promise(r=>{let s=new H(this.plugin.app,"\u{1F513}",i);s.canDecryptInPlace=!1,s.onClose=()=>{r(!0)},s.open()})}async fetchPasswordFromUser(t){return new Promise(e=>{let n=new L(this.plugin.app,!1,!1,this.featureSettings.showMarkerWhenReadingDefault,"",t);n.onClose=()=>{e(n.resultPassword)},n.open()})}async showDecryptedTextIfPasswordKnown(t,e){let n=g.getByPath(t);return n.password==null?!1:await this.showDecryptedResultForPassword(e,n.password)}buildSettingsUi(t,e){new x.Setting(t).setHeading().setName("In-place encryption"),new x.Setting(t).setName("Expand selection to whole line?").setDesc("Partial selections will get expanded to the whole line.").addToggle(n=>{n.setValue(this.featureSettings.expandToWholeLines).onChange(async i=>{this.featureSettings.expandToWholeLines=i,await e()})}),new x.Setting(t).setName("By default, show encrypted marker when reading").setDesc("When encrypting inline text, should the default be to have a visible marker in Reading view?").addToggle(n=>{n.setValue(this.featureSettings.showMarkerWhenReadingDefault).onChange(async i=>{this.featureSettings.showMarkerWhenReadingDefault=i,await e()})})}processEncryptDecryptCommand(t,e,n){if(t&&P.isSettingsModalOpen())return!0;let i=e.getCursor("from"),r=e.getCursor("to");if(this.featureSettings.expandToWholeLines){i={line:i.line,ch:0};let a=r.line,l=e.getLine(a);r={line:a,ch:l.length}}else if(!e.somethingSelected()){let o=this.getClosestPrefixCursorPos(e),a=this.getClosestSuffixCursorPos(e);if(o==null||a==null||i.linea.line)return this.promptForTextToEncrypt(t,e,i);i=o,r=a}let s=e.getRange(i,r);return this.processSelection(t,e,s,i,r,n)}promptForTextToEncrypt(t,e,n){let i=this.plugin.app.workspace.getActiveFile();if(i==null)return!1;if(t)return!0;let r="",s="";if(this.pluginSettings.rememberPassword){let l=g.getByPath(i.path);r=l.password,s=l.hint}let o=this.pluginSettings.confirmPassword,a=new L(this.plugin.app,!0,o,this.featureSettings.showMarkerWhenReadingDefault,r,s,!0);return a.onClose=async()=>{var h,c,u,E;if(!a.resultConfirmed)return;let l=(h=a.resultPassword)!=null?h:"",w=(c=a.resultHint)!=null?c:"",f=(u=a.resultTextToEncrypt)!=null?u:"",d=new ne;d.text=f,d.hint=w,this.encryptSelection(e,d,l,n,n,(E=a.resultShowInReadingView)!=null?E:this.featureSettings.showMarkerWhenReadingDefault),g.putByPath({password:l,hint:w},i.path)},a.open(),!1}getClosestPrefixCursorPos(t){let e=A.reduce((i,r,s)=>s==0||r.length>i.length?r:i),n=t.posToOffset(t.getCursor("from"))+e.length;for(let i=n;i>=0;i--){let r=t.offsetToPos(i);for(let s of A){let o=i-s.length,a=t.offsetToPos(o);if(t.getRange(a,r)==s)return t.offsetToPos(o)}}return null}getClosestSuffixCursorPos(t){let e=A.reduce((s,o,a)=>a==0||o.length>s.length?o:s),n=t.posToOffset(t.getCursor("from"))-e.length+1,i=t.lastLine(),r=t.posToOffset({line:i,ch:t.getLine(i).length});for(let s=n;s<=r;s++){let o=t.offsetToPos(s);for(let a of V){let l=s+a.length,w=t.offsetToPos(l);if(t.getRange(o,w)==a)return w}}return null}processSelection(t,e,n,i,r,s,o=!0){var c;let a=new X(n);if(a.isEmpty)return t||new x.Notice("Nothing to Encrypt."),!1;if(!a.canDecrypt&&!a.canEncrypt)return t||new x.Notice("Unable to Encrypt or Decrypt that."),!1;if(a.canEncrypt&&!o)return!1;let l=this.plugin.app.workspace.getActiveFile();if(l==null)return!1;if(t)return!0;let w="",f=(c=a.decryptable)==null?void 0:c.hint;if(this.pluginSettings.rememberPassword){let u=g.getByPath(l.path);w=u.password,f=f!=null?f:u.hint}let d=a.canEncrypt&&this.pluginSettings.confirmPassword,h=new L(this.plugin.app,a.canEncrypt,d,this.featureSettings.showMarkerWhenReadingDefault,w,f);return h.onClose=async()=>{var ye,me,Ee;if(!h.resultConfirmed)return;let u=(ye=h.resultPassword)!=null?ye:"",E=(me=h.resultHint)!=null?me:"";if(a.canEncrypt){let j=new ne;j.text=n,j.hint=E,this.encryptSelection(e,j,u,i,r,(Ee=h.resultShowInReadingView)!=null?Ee:this.featureSettings.showMarkerWhenReadingDefault),g.putByPath({password:u,hint:E},l.path)}else a.decryptable&&await this.decryptSelection(e,a.decryptable,u,i,r,s)&&g.putByPath({password:u,hint:E},l.path)},h.open(),!0}async encryptSelection(t,e,n,i,r,s){let o=C.BuildDefault(),a=this.encodeEncryption(await o.encryptToBase64(e.text,n),e.hint,s);t.setSelection(i,r),t.replaceSelection(a)}async decryptSelection(t,e,n,i,r,s){let a=await C.BuildFromDecryptableOrThrow(e).decryptFromBase64(e.base64CipherText,n);if(a===null)return new x.Notice("\u274C Decryption failed!"),!1;if(s)t.setSelection(i,r),t.replaceSelection(a);else{let l=new H(this.plugin.app,"\u{1F513}",a);l.onClose=()=>{t.focus(),l.decryptInPlace&&(t.setSelection(i,r),t.replaceSelection(a))},l.open()}return!0}encodeEncryption(t,e,n){if(!A.some(i=>t.includes(i))&&!V.some(i=>t.includes(i))){let i=n?ve:Pe,r=n?fe:ge;return e.length>0?i.concat(S,e,S,t,r):i.concat(t,r)}return t}},ne=class{};var F=require("obsidian");var m=require("obsidian");var O=class{static get showInlineTitle(){var t;return(t=app.vault.getConfig("showInlineTitle"))!=null?t:!0}static get readableLineLength(){var t;return(t=app.vault.getConfig("readableLineLength"))!=null?t:!0}};var ie=class{constructor(t,e,n){this.version="1.0";this.version=t,this.hint=e,this.encodedData=n}},we=class{static async encode(t,e,n){let r=await C.BuildDefault().encryptToBase64(n,t);return new ie(we.DEFAULT_VERSION,e,r)}static async decrypt(t,e){return t.encodedData==""?"":await C.BuildFromFileDataOrThrow(t).decryptFromBase64(t.encodedData,e)}},I=we;I.DEFAULT_VERSION="2.0";var D=class{static encode(t){return JSON.stringify(t,null,2)}static decode(t){return t===""?new ie(I.DEFAULT_VERSION,"",""):JSON.parse(t)}};var ke="encrypted",be="mdenc",se=be,N=[be,ke];var $="meld-encrypted-file-content-view",z=class extends m.TextFileView{constructor(e,n){var i;super(e);this.iconReadingView="book-open";this.iconSourceView="code";this.iconToggleEditView="edit";this.iconLockFile="lock";this.iconChangePassword="key";this.currentView=0;this.encryptionPassword="";this.hint="";this.currentEditorSourceText="";this.settings=n,this.defaultEditNoteView=(i=n.defaultView)!=null?i:"Source",this.currentEditNoteMode=this.defaultEditNoteView,this.elActionEditView=this.addAction(this.iconSourceView,"Source",()=>this.toggleReadingView()),this.elActionReadingView=this.addAction(this.iconReadingView,"Reading",()=>this.toggleReadingView()),this.elActionIconLockNote=this.addAction(this.iconLockFile,"Lock",()=>this.actionLockFile()),this.elActionChangePassword=this.addAction(this.iconChangePassword,"Change Password",()=>this.actionChangePassword()),this.elActionEditView.hide(),this.elActionReadingView.hide(),this.elActionIconLockNote.hide(),this.elActionChangePassword.hide(),this.containerEl.classList.add("meld-encrypt-encrypted-note-view"),this.contentEl.classList.add("meld-encrypt-encrypted-note-view-content")}toggleReadingView(){this.currentView==2&&(this.currentEditNoteMode=="Reading"?this.currentEditNoteMode="Source":this.currentEditNoteMode=="Source"&&(this.currentEditNoteMode="Reading"),this.refreshView(2))}actionLockFile(){this.encryptionPassword="",g.clearForFile(this.file),this.refreshView(1)}actionChangePassword(){this.refreshView(3)}onPaneMenu(e,n){n=="tab-header"&&this.currentView==2&&(e.addItem(i=>{i.setSection("action").setIcon(this.iconToggleEditView).setTitle("Toggle Editing/Reading").onClick(()=>this.toggleReadingView())}),e.addItem(i=>{i.setSection("action").setIcon(this.iconLockFile).setTitle("Lock").onClick(()=>this.actionLockFile())}),e.addItem(i=>{i.setSection("action").setIcon(this.iconChangePassword).setTitle("Change Password").onClick(()=>this.actionChangePassword())})),super.onPaneMenu(e,n)}addHeader(e,n){var i;e.createDiv({text:`\u{1F510} ${n} \u{1F510}`,cls:"encrypted-note-message"}),O.showInlineTitle&&e.createDiv({text:(i=this.file)==null?void 0:i.basename,cls:"inline-title"})}validatePassword(e){return""}validateConfirm(e,n){return e===n?"":"Password doesn't match"}addNewNoteView(e){this.addHeader(e,"This note will be encrypted");let n=this.addUserInputContainer(e);new m.Setting(n).setDesc("Please provide a password and hint to start editing this note.");let i=async(d,h,c)=>{let u=this.validatePassword(d),E=this.validateConfirm(d,h);l.setDesc(u),w.setDesc(E),u.length===0&&E.length===0&&(this.encryptionPassword=d,this.hint=c,O.showInlineTitle||(this.currentEditorSourceText=`# ${this.file.basename} -`),await this.encodeAndSave(),f.putByFile({password:d,hint:l},this.file),this.currentEditNoteMode="Source",this.refreshView(2))},s=f.getByFile(this.file),r=s.password,o="",a=s.hint,c=P.buildPasswordSetting({container:n,name:"Password:",autoFocus:!0,initialValue:r,onChangeCallback:d=>{r=d,c.setDesc(this.validatePassword(r)),w.setDesc(this.validateConfirm(r,o))},onEnterCallback:d=>{var u;r=d,r.length>0&&((u=w.controlEl.querySelector("input"))==null||u.focus())}}),w=P.buildPasswordSetting({container:n,name:"Confirm:",autoFocus:!1,onChangeCallback:d=>{o=d,c.setDesc(this.validatePassword(r)),w.setDesc(this.validateConfirm(r,o))},onEnterCallback:d=>{var l;o=d,r===o&&((l=h.controlEl.querySelector("input"))==null||l.focus())}}),h=new y.Setting(n).setName("Hint:").addText(d=>{d.setValue(a),d.onChange(u=>{a=u})});h.controlEl.on("keydown","*",d=>{d.key==="Enter"&&(d.preventDefault(),i(r,o,a))}),new y.Setting(n).addButton(d=>{d.setCta().setIcon("go-to-file").setTooltip("Edit").onClick(u=>i(r,o,a))})}addDecryptNoteView(e){this.addHeader(e,"This note is encrypted");let n=this.addUserInputContainer(e);new y.Setting(n).setDesc("Please provide a password to unlock this note.");let i=P.buildPasswordSetting({container:n,name:"Password:",autoFocus:!0,placeholder:this.formatHint(this.hint),onChangeCallback:r=>{this.encryptionPassword=r,i.setDesc(this.validatePassword(this.encryptionPassword))},onEnterCallback:async()=>await this.handleDecryptButtonClick()});new y.Setting(n).addButton(r=>{r.setCta().setIcon("checkmark").setTooltip("Unlock & Edit").onClick(o=>this.handleDecryptButtonClick())});let s=f.getByFile(this.file);this.encryptionPassword=s.password,s.password.length>0&&this.decryptWithPassword(s.password).then(r=>{r!=null&&(this.currentEditorSourceText=r,this.refreshView(2),new y.Notice("Decrypted using remembered password",2e3))})}async encodeAndSave(){try{let e=await I.encode(this.encryptionPassword,this.hint,this.currentEditorSourceText);this.data=D.encode(e),this.requestSave()}catch(e){console.error(e),new y.Notice(e,1e4)}}addEditorSourceView(e){this.elActionReadingView.show(),this.elActionIconLockNote.show(),this.elActionChangePassword.show(),this.addHeader(e,"Editing an encrypted note");let n=e.createDiv({cls:"editor-source-view"},i=>{i.spellcheck=!0,i.autocapitalize="on",i.translate=!1,i.contentEditable="plaintext-only",i.style.tabSize="4",i.innerText=this.currentEditorSourceText});n.focus(),n.on("keydown","*",(i,s)=>{i.key=="Tab"&&this.handleTabInEditor(i,n)}),n.on("input","*",async(i,s)=>{this.updateAndSaveEditorSourceText(n)})}async updateAndSaveEditorSourceText(e){this.currentEditorSourceText=e.innerText,await this.encodeAndSave()}handleTabInEditor(e,n){let i=window.getSelection();if(i==null||i.rangeCount<1)return;e.preventDefault();let s=!e.shiftKey;for(let r=0;r{console.error(i)}),n.on("click","a.internal-link",async(i,s)=>{if(s instanceof HTMLAnchorElement){let r=(0,y.normalizePath)(decodeURI(s.pathname));this.app.workspace.openLinkText(r,this.file.path,i.ctrlKey)}})}addUserInputContainer(e){return e.createDiv({cls:"input-container"})}addChangePasswordView(e){this.addHeader(e,"Change encrypted note password");let n=this.addUserInputContainer(e),i="",s="",r="",o=async(h,d,u)=>{let l=this.validatePassword(h),p=this.validateConfirm(h,d);a.setDesc(l),c.setDesc(p),l.length===0&&p.length===0&&(this.encryptionPassword=h,this.hint=u,this.encodeAndSave(),this.refreshView(2),f.putByFile({password:h,hint:u},this.file),new y.Notice("Password and Hint were changed"))},a=P.buildPasswordSetting({container:n,name:"New Password:",autoFocus:!0,onChangeCallback:h=>{i=h,a.setDesc(this.validatePassword(i)),c.setDesc(this.validateConfirm(i,s))},onEnterCallback:h=>{var d;i=h,i.length>0&&((d=c.controlEl.querySelector("input"))==null||d.focus())}}),c=P.buildPasswordSetting({container:n,name:"Confirm:",onChangeCallback:h=>{s=h,a.setDesc(this.validatePassword(i)),c.setDesc(this.validateConfirm(i,s))},onEnterCallback:h=>{var u;s=h,i===s&&((u=w.controlEl.querySelector("input"))==null||u.focus())}}),w=new y.Setting(n).setName("New Hint:").addText(h=>{h.onChange(d=>{r=d})});w.controlEl.on("keydown","*",h=>{h.key==="Enter"&&(h.preventDefault(),o(i,s,r))}),new y.Setting(n).addButton(h=>{h.removeCta().setIcon("cross").setTooltip("Cancel").onClick(()=>{this.refreshView(2)})}).addButton(h=>{h.setCta().setIcon("checkmark").setTooltip("Change Password").setWarning().onClick(d=>{o(i,s,r)})})}formatHint(e){return e.length>0?`Hint: ${e}`:""}refreshView(e){this.currentView=e,this.elActionEditView.hide(),this.elActionReadingView.hide(),this.elActionIconLockNote.hide(),this.elActionChangePassword.hide(),this.contentEl.empty(),O.readableLineLength?this.contentEl.classList.add("is-readable-line-width"):this.contentEl.classList.remove("is-readable-line-width");let n=this.contentEl.createDiv({cls:"content-container"});switch(this.currentView){case 4:this.addNewNoteView(n);break;case 1:this.addDecryptNoteView(n);break;case 2:this.currentEditNoteMode=="Source"?this.addEditorSourceView(n):this.addEditorReadingView(n);break;case 3:this.addChangePasswordView(n);break}}async decryptWithPassword(e){let n=D.decode(this.data);return await I.decrypt(n,e)}async handleDecryptButtonClick(){let e=await this.decryptWithPassword(this.encryptionPassword);e===null?new y.Notice("Decryption failed"):(f.putByFile({password:this.encryptionPassword,hint:this.hint},this.file),this.currentEditorSourceText=e,this.refreshView(2))}canAcceptExtension(e){return N.contains(e)}getViewType(){return G}setViewData(e,n){if(n){let i;e===""?i=4:i=1,this.encryptionPassword="";let s=D.decode(this.data);this.hint=s.hint,this.refreshView(i)}else this.leaf.detach(),new y.Notice("Multiple views of the same encrypted note isn't supported")}getViewData(){return this.data}clear(){}};var $=class{async onload(t,e){this.plugin=t,this.settings=e.featureWholeNoteEncrypt,this.plugin.addRibbonIcon("file-lock-2","New encrypted note",n=>{this.processCreateNewEncryptedNoteCommand(this.getDefaultFileFolder())}),this.plugin.registerView(G,n=>new z(n,this.settings)),this.plugin.registerExtensions(N,G),this.plugin.addCommand({id:"meld-encrypt-create-new-note",name:"Create new encrypted note",icon:"file-lock-2",callback:()=>this.processCreateNewEncryptedNoteCommand(this.getDefaultFileFolder())}),this.plugin.addCommand({id:"meld-encrypt-toggle-reading-view",name:"Toggle Reading View",icon:"edit",callback:()=>this.processToggleReadingViewCommand()}),this.plugin.registerEvent(this.plugin.app.workspace.on("file-menu",(n,i)=>{i instanceof F.TFolder&&n.addItem(s=>{s.setTitle("New encrypted note").setIcon("file-lock-2").onClick(()=>this.processCreateNewEncryptedNoteCommand(i))})}))}onunload(){this.plugin.app.workspace.detachLeavesOfType(G)}processToggleReadingViewCommand(){let t=this.plugin.app.workspace.getActiveViewOfType(z);t==null||t.toggleReadingView()}getDefaultFileFolder(){let t=this.plugin.app.workspace.getActiveFile();return t!=null?this.plugin.app.fileManager.getNewFileParent(t.path):this.plugin.app.fileManager.getNewFileParent("")}processCreateNewEncryptedNoteCommand(t){try{let e=(0,F.moment)().format(`[Untitled] YYYYMMDD hhmmss[.${se}]`),n=(0,F.normalizePath)(t.path+"/"+e);this.plugin.app.vault.create(n,"").then(async i=>{await this.plugin.app.workspace.getLeaf(!0).openFile(i)}).catch(i=>{new F.Notice(i,1e4)})}catch(e){console.error(e),new F.Notice(e,1e4)}}buildSettingsUi(t,e){new F.Setting(t).setHeading().setName("Whole note encryption"),new F.Setting(t).setName("Default view for new tabs").setDesc("The default view that a new encrypted note tab gets opened in").addDropdown(n=>{var i;n.addOption(`${"Source"}`,"Source view").addOption(`${"Reading"}`,"Reading view").setValue(`${(i=this.settings.defaultView)!=null?i:"Source"}`).onChange(async s=>{this.settings.defaultView=s,await e()})})}};var T=require("obsidian");var b=require("obsidian");var U=class extends b.Modal{constructor(e,n,i,s,r){super(e);this.resultConfirmed=!1;this.title=n,this.defaultPassword=r,this.confirmPassword=s,this.isEncrypting=i}onOpen(){var c,w,h,d;let{contentEl:e}=this;e.empty(),this.invalidate();let n=(w=(c=this.defaultPassword)==null?void 0:c.password)!=null?w:"",i="",s=(d=(h=this.defaultPassword)==null?void 0:h.hint)!=null?d:"";new b.Setting(e).setHeading().setName(this.title),P.buildPasswordSetting({container:e,name:"Password:",placeholder:this.isEncrypting?"":`Hint: ${s}`,initialValue:n,autoFocus:n=="",onChangeCallback:u=>{n=u,this.invalidate()},onEnterCallback:u=>{if(n=u,this.invalidate(),n.length>0)if(r.settingEl.isShown()){let l=r.components.find(p=>p instanceof b.TextComponent);l instanceof b.TextComponent&&l.inputEl.focus()}else if(o.settingEl.isShown()){let l=o.components.find(p=>p instanceof b.TextComponent);l instanceof b.TextComponent&&l.inputEl.focus()}else a()&&this.close()}});let r=P.buildPasswordSetting({container:e,name:"Confirm Password:",autoFocus:n!="",onChangeCallback:u=>{i=u,this.invalidate()},onEnterCallback:u=>{if(i=u,this.invalidate(),i.length>0&&a()&&o.settingEl.isShown()){let l=o.components.find(p=>p instanceof b.TextComponent);l instanceof b.TextComponent&&l.inputEl.focus()}}});this.confirmPassword||r.settingEl.hide();let o=new b.Setting(e).setName("Optional Password Hint").addText(u=>{u.inputEl.placeholder="Password Hint",u.setValue(s),u.onChange(l=>s=l),u.inputEl.on("keypress","*",(l,p)=>{l.key=="Enter"&&p instanceof HTMLInputElement&&p.value.length>0&&(l.preventDefault(),a()&&this.close())})});this.isEncrypting||o.settingEl.hide(),new b.Setting(e).addButton(u=>{u.setButtonText("Confirm").onClick(l=>{a()&&this.close()})});let a=()=>(this.invalidate(),r.setDesc(""),this.confirmPassword&&n!=i?(r.setDesc("Passwords don't match"),!1):(this.resultConfirmed=!0,this.resultPassword={password:n,hint:s},!0))}openAsync(){return new Promise((e,n)=>{this.onClose=()=>{this.resultConfirmed==!0?e(this.resultPassword):n()},this.open()})}invalidate(){this.resultConfirmed=!1,this.resultPassword={password:"",hint:""}}};var q=class{async onload(t,e){this.plugin=t,this.plugin.addCommand({id:"meld-encrypt-convert-to-or-from-encrypted-note",name:"Convert to or from an Encrypted note",icon:"file-lock",checkCallback:n=>this.processCommandConvertActiveNote(n)}),this.plugin.addRibbonIcon("file-lock","Convert to or from an Encrypted note",n=>this.processCommandConvertActiveNote(!1)),this.plugin.registerEvent(this.plugin.app.workspace.on("file-menu",(n,i)=>{i instanceof T.TFile&&(i.extension=="md"&&n.addItem(s=>{s.setTitle("Encrypt note").setIcon("file-lock").onClick(()=>this.processCommandEncryptNote(i))}),N.contains(i.extension)&&n.addItem(s=>{s.setTitle("Decrypt note").setIcon("file").onClick(()=>this.processCommandDecryptNote(i))}))}))}onunload(){}buildSettingsUi(t,e){}checkCanEncryptFile(t){return t==null?!1:t.extension=="md"}checkCanDecryptFile(t){return t==null?!1:N.contains(t.extension)}processCommandEncryptNote(t){this.getPasswordAndEncryptFile(t).catch(e=>{e&&new T.Notice(e,1e4)})}processCommandDecryptNote(t){this.getPasswordAndDecryptFile(t).catch(e=>{e&&new T.Notice(e,1e4)})}processCommandConvertActiveNote(t){let e=this.plugin.app.workspace.getActiveFile();if(t)return this.checkCanEncryptFile(e)||this.checkCanDecryptFile(e);(e==null?void 0:e.extension)=="md"&&this.getPasswordAndEncryptFile(e).catch(n=>{n&&new T.Notice(n,1e4)}),e&&N.contains(e.extension)&&this.getPasswordAndDecryptFile(e).catch(n=>{n&&new T.Notice(n,1e4)})}async getPasswordAndEncryptFile(t){if(!this.checkCanEncryptFile(t))throw new Error("Unable to encrypt file");let e=f.getByFile(t),n=new U(this.plugin.app,"Encrypt Note",!0,!0,e);try{let i=await n.openAsync(),s=await this.encryptFile(t,i);await this.closeUpdateRememberPasswordThenReopen(t,se,s,i),new T.Notice("\u{1F510} Note was encrypted \u{1F510}")}catch(i){i&&new T.Notice(i,1e4)}}async getPasswordAndDecryptFile(t){if(!this.checkCanDecryptFile(t))throw new Error("Unable to decrypt file");let e=f.getByFile(t);if(e.password!=""){let r=await this.decryptFile(t,e.password);if(r!=null){await this.closeUpdateRememberPasswordThenReopen(t,"md",r,e);return}}let n=await this.plugin.app.vault.read(t),i=D.decode(n),s=new U(this.plugin.app,"Decrypt Note",!1,!1,{password:"",hint:i.hint});try{if(e=await s.openAsync(),!s.resultConfirmed)return;let r=await this.decryptFile(t,e.password);if(r==null)throw new Error("Decryption failed");await this.closeUpdateRememberPasswordThenReopen(t,"md",r,e),new T.Notice("\u{1F513} Note was decrypted \u{1F513}")}catch(r){r&&new T.Notice(r,1e4)}}async closeUpdateRememberPasswordThenReopen(t,e,n,i){let s=!1;this.plugin.app.workspace.iterateAllLeaves(r=>{r.view instanceof T.TextFileView&&r.view.file==t&&(r.detach(),s=!0)});try{let r=R.getFilePathWithNewExtension(t,e);await this.plugin.app.fileManager.renameFile(t,r),await this.plugin.app.vault.modify(t,n),f.putByFile(i,t)}finally{s&&await this.plugin.app.workspace.getLeaf().openFile(t)}}async encryptFile(t,e){let n=await this.plugin.app.vault.read(t),i=await I.encode(e.password,e.hint,n);return D.encode(i)}async decryptFile(t,e){let n=await this.plugin.app.vault.read(t),i=D.decode(n);return await I.decrypt(i,e)}};var re=class extends be.Plugin{constructor(){super(...arguments);this.enabledFeatures=[]}async onload(){await this.loadSettings(),this.enabledFeatures.push(new $,new q,new Y),this.addSettingTab(new _(this.app,this,this.settings,this.enabledFeatures)),this.enabledFeatures.forEach(async e=>{await e.onload(this,this.settings)})}onunload(){this.enabledFeatures.forEach(async e=>{e.onunload()})}async loadSettings(){let e={confirmPassword:!0,rememberPassword:!0,rememberPasswordTimeout:30,rememberPasswordLevel:f.LevelFilename,featureWholeNoteEncrypt:{defaultView:"Source".toString()},featureInplaceEncrypt:{expandToWholeLines:!1,showMarkerWhenReadingDefault:!0}};this.settings=Object.assign(e,await this.loadData()),f.setActive(this.settings.rememberPassword),f.setAutoExpire(this.settings.rememberPasswordTimeout==0?null:this.settings.rememberPasswordTimeout),f.setLevel(this.settings.rememberPasswordLevel)}async saveSettings(){await this.saveData(this.settings)}}; +`),await this.encodeAndSave(),g.putByFile({password:d,hint:c},this.file),this.currentEditNoteMode="Source",this.refreshView(2))},r=g.getByFile(this.file),s=r.password,o="",a=r.hint,l=P.buildPasswordSetting({container:n,name:"Password:",autoFocus:!0,initialValue:s,onChangeCallback:d=>{s=d,l.setDesc(this.validatePassword(s)),w.setDesc(this.validateConfirm(s,o))},onEnterCallback:d=>{var h;s=d,s.length>0&&((h=w.controlEl.querySelector("input"))==null||h.focus())}}),w=P.buildPasswordSetting({container:n,name:"Confirm:",autoFocus:!1,onChangeCallback:d=>{o=d,l.setDesc(this.validatePassword(s)),w.setDesc(this.validateConfirm(s,o))},onEnterCallback:d=>{var c;o=d,s===o&&((c=f.controlEl.querySelector("input"))==null||c.focus())}}),f=new m.Setting(n).setName("Hint:").addText(d=>{d.setValue(a),d.onChange(h=>{a=h})});f.controlEl.on("keydown","*",d=>{d.key==="Enter"&&(d.preventDefault(),i(s,o,a))}),new m.Setting(n).addButton(d=>{d.setCta().setIcon("go-to-file").setTooltip("Edit").onClick(h=>i(s,o,a))})}addDecryptNoteView(e){this.addHeader(e,"This note is encrypted");let n=this.addUserInputContainer(e);new m.Setting(n).setDesc("Please provide a password to unlock this note.");let i=P.buildPasswordSetting({container:n,name:"Password:",autoFocus:!0,placeholder:this.formatHint(this.hint),onChangeCallback:s=>{this.encryptionPassword=s,i.setDesc(this.validatePassword(this.encryptionPassword))},onEnterCallback:async()=>await this.handleDecryptButtonClick()});new m.Setting(n).addButton(s=>{s.setCta().setIcon("checkmark").setTooltip("Unlock & Edit").onClick(o=>this.handleDecryptButtonClick())});let r=g.getByFile(this.file);this.encryptionPassword=r.password,r.password.length>0&&this.decryptWithPassword(r.password).then(s=>{s!=null&&(this.currentEditorSourceText=s,this.refreshView(2),new m.Notice("Decrypted using remembered password",2e3))})}async encodeAndSave(){try{let e=await I.encode(this.encryptionPassword,this.hint,this.currentEditorSourceText);this.data=D.encode(e),this.requestSave()}catch(e){console.error(e),new m.Notice(e,1e4)}}addEditorSourceView(e){this.elActionReadingView.show(),this.elActionIconLockNote.show(),this.elActionChangePassword.show(),this.addHeader(e,"Editing an encrypted note");let n=e.createDiv({cls:"editor-source-view"},i=>{i.spellcheck=!0,i.autocapitalize="on",i.translate=!1,i.contentEditable="plaintext-only",i.style.tabSize="4",i.innerText=this.currentEditorSourceText});n.focus(),n.on("keydown","*",(i,r)=>{i.key=="Tab"&&this.handleTabInEditor(i,n)}),n.on("input","*",async(i,r)=>{this.updateAndSaveEditorSourceText(n)})}async updateAndSaveEditorSourceText(e){this.currentEditorSourceText=e.innerText,await this.encodeAndSave()}handleTabInEditor(e,n){let i=window.getSelection();if(i==null||i.rangeCount<1)return;e.preventDefault();let r=!e.shiftKey;for(let s=0;s{console.error(i)}),n.on("click","a.internal-link",async(i,r)=>{if(r instanceof HTMLAnchorElement){let s=(0,m.normalizePath)(decodeURI(r.pathname));this.app.workspace.openLinkText(s,this.file.path,i.ctrlKey)}})}addUserInputContainer(e){return e.createDiv({cls:"input-container"})}addChangePasswordView(e){this.addHeader(e,"Change encrypted note password");let n=this.addUserInputContainer(e),i="",r="",s="",o=async(f,d,h)=>{let c=this.validatePassword(f),u=this.validateConfirm(f,d);a.setDesc(c),l.setDesc(u),c.length===0&&u.length===0&&(this.encryptionPassword=f,this.hint=h,this.encodeAndSave(),this.refreshView(2),g.putByFile({password:f,hint:h},this.file),new m.Notice("Password and Hint were changed"))},a=P.buildPasswordSetting({container:n,name:"New Password:",autoFocus:!0,onChangeCallback:f=>{i=f,a.setDesc(this.validatePassword(i)),l.setDesc(this.validateConfirm(i,r))},onEnterCallback:f=>{var d;i=f,i.length>0&&((d=l.controlEl.querySelector("input"))==null||d.focus())}}),l=P.buildPasswordSetting({container:n,name:"Confirm:",onChangeCallback:f=>{r=f,a.setDesc(this.validatePassword(i)),l.setDesc(this.validateConfirm(i,r))},onEnterCallback:f=>{var h;r=f,i===r&&((h=w.controlEl.querySelector("input"))==null||h.focus())}}),w=new m.Setting(n).setName("New Hint:").addText(f=>{f.onChange(d=>{s=d})});w.controlEl.on("keydown","*",f=>{f.key==="Enter"&&(f.preventDefault(),o(i,r,s))}),new m.Setting(n).addButton(f=>{f.removeCta().setIcon("cross").setTooltip("Cancel").onClick(()=>{this.refreshView(2)})}).addButton(f=>{f.setCta().setIcon("checkmark").setTooltip("Change Password").setWarning().onClick(d=>{o(i,r,s)})})}formatHint(e){return e.length>0?`Hint: ${e}`:""}refreshView(e){this.currentView=e,this.elActionEditView.hide(),this.elActionReadingView.hide(),this.elActionIconLockNote.hide(),this.elActionChangePassword.hide(),this.contentEl.empty(),O.readableLineLength?this.contentEl.classList.add("is-readable-line-width"):this.contentEl.classList.remove("is-readable-line-width");let n=this.contentEl.createDiv({cls:"content-container"});switch(this.currentView){case 4:this.addNewNoteView(n);break;case 1:this.addDecryptNoteView(n);break;case 2:this.currentEditNoteMode=="Source"?this.addEditorSourceView(n):this.addEditorReadingView(n);break;case 3:this.addChangePasswordView(n);break}}async decryptWithPassword(e){let n=D.decode(this.data);return await I.decrypt(n,e)}async handleDecryptButtonClick(){let e=await this.decryptWithPassword(this.encryptionPassword);e===null?new m.Notice("Decryption failed"):(g.putByFile({password:this.encryptionPassword,hint:this.hint},this.file),this.currentEditorSourceText=e,this.refreshView(2))}canAcceptExtension(e){return N.contains(e)}getViewType(){return $}setViewData(e,n){if(n){let i;e===""?i=4:i=1,this.encryptionPassword="";let r=D.decode(this.data);this.hint=r.hint,this.refreshView(i)}else this.leaf.detach(),new m.Notice("Multiple views of the same encrypted note isn't supported")}getViewData(){return this.data}clear(){}};var G=class{async onload(t,e){this.plugin=t,this.settings=e.featureWholeNoteEncrypt,this.plugin.addRibbonIcon("file-lock-2","New encrypted note",n=>{this.processCreateNewEncryptedNoteCommand(this.getDefaultFileFolder())}),this.plugin.registerView($,n=>new z(n,this.settings)),this.plugin.registerExtensions(N,$),this.plugin.addCommand({id:"meld-encrypt-create-new-note",name:"Create new encrypted note",icon:"file-lock-2",callback:()=>this.processCreateNewEncryptedNoteCommand(this.getDefaultFileFolder())}),this.plugin.addCommand({id:"meld-encrypt-toggle-reading-view",name:"Toggle Reading View",icon:"edit",callback:()=>this.processToggleReadingViewCommand()}),this.plugin.registerEvent(this.plugin.app.workspace.on("file-menu",(n,i)=>{i instanceof F.TFolder&&n.addItem(r=>{r.setTitle("New encrypted note").setIcon("file-lock-2").onClick(()=>this.processCreateNewEncryptedNoteCommand(i))})}))}onunload(){this.plugin.app.workspace.detachLeavesOfType($)}processToggleReadingViewCommand(){let t=this.plugin.app.workspace.getActiveViewOfType(z);t==null||t.toggleReadingView()}getDefaultFileFolder(){let t=this.plugin.app.workspace.getActiveFile();return t!=null?this.plugin.app.fileManager.getNewFileParent(t.path):this.plugin.app.fileManager.getNewFileParent("")}processCreateNewEncryptedNoteCommand(t){try{let e=(0,F.moment)().format(`[Untitled] YYYYMMDD hhmmss[.${se}]`),n=(0,F.normalizePath)(t.path+"/"+e);this.plugin.app.vault.create(n,"").then(async i=>{await this.plugin.app.workspace.getLeaf(!0).openFile(i)}).catch(i=>{new F.Notice(i,1e4)})}catch(e){console.error(e),new F.Notice(e,1e4)}}buildSettingsUi(t,e){new F.Setting(t).setHeading().setName("Whole note encryption"),new F.Setting(t).setName("Default view for new tabs").setDesc("The default view that a new encrypted note tab gets opened in").addDropdown(n=>{var i;n.addOption(`${"Source"}`,"Source view").addOption(`${"Reading"}`,"Reading view").setValue(`${(i=this.settings.defaultView)!=null?i:"Source"}`).onChange(async r=>{this.settings.defaultView=r,await e()})})}};var T=require("obsidian");var b=require("obsidian");var U=class extends b.Modal{constructor(e,n,i,r,s){super(e);this.resultConfirmed=!1;this.title=n,this.defaultPassword=s,this.confirmPassword=r,this.isEncrypting=i}onOpen(){var l,w,f,d;let{contentEl:e}=this;e.empty(),this.invalidate();let n=(w=(l=this.defaultPassword)==null?void 0:l.password)!=null?w:"",i="",r=(d=(f=this.defaultPassword)==null?void 0:f.hint)!=null?d:"";new b.Setting(e).setHeading().setName(this.title),P.buildPasswordSetting({container:e,name:"Password:",placeholder:this.isEncrypting?"":`Hint: ${r}`,initialValue:n,autoFocus:n=="",onChangeCallback:h=>{n=h,this.invalidate()},onEnterCallback:h=>{if(n=h,this.invalidate(),n.length>0)if(s.settingEl.isShown()){let c=s.components.find(u=>u instanceof b.TextComponent);c instanceof b.TextComponent&&c.inputEl.focus()}else if(o.settingEl.isShown()){let c=o.components.find(u=>u instanceof b.TextComponent);c instanceof b.TextComponent&&c.inputEl.focus()}else a()&&this.close()}});let s=P.buildPasswordSetting({container:e,name:"Confirm Password:",autoFocus:n!="",onChangeCallback:h=>{i=h,this.invalidate()},onEnterCallback:h=>{if(i=h,this.invalidate(),i.length>0&&a()&&o.settingEl.isShown()){let c=o.components.find(u=>u instanceof b.TextComponent);c instanceof b.TextComponent&&c.inputEl.focus()}}});this.confirmPassword||s.settingEl.hide();let o=new b.Setting(e).setName("Optional Password Hint").addText(h=>{h.inputEl.placeholder="Password Hint",h.setValue(r),h.onChange(c=>r=c),h.inputEl.on("keypress","*",(c,u)=>{c.key=="Enter"&&u instanceof HTMLInputElement&&u.value.length>0&&(c.preventDefault(),a()&&this.close())})});this.isEncrypting||o.settingEl.hide(),new b.Setting(e).addButton(h=>{h.setButtonText("Confirm").onClick(c=>{a()&&this.close()})});let a=()=>(this.invalidate(),s.setDesc(""),this.confirmPassword&&n!=i?(s.setDesc("Passwords don't match"),!1):(this.resultConfirmed=!0,this.resultPassword={password:n,hint:r},!0))}openAsync(){return new Promise((e,n)=>{this.onClose=()=>{this.resultConfirmed==!0?e(this.resultPassword):n()},this.open()})}invalidate(){this.resultConfirmed=!1,this.resultPassword={password:"",hint:""}}};var q=class{async onload(t,e){this.plugin=t,this.plugin.addCommand({id:"meld-encrypt-convert-to-or-from-encrypted-note",name:"Convert to or from an Encrypted note",icon:"file-lock",checkCallback:n=>this.processCommandConvertActiveNote(n)}),this.plugin.addRibbonIcon("file-lock","Convert to or from an Encrypted note",n=>this.processCommandConvertActiveNote(!1)),this.plugin.registerEvent(this.plugin.app.workspace.on("file-menu",(n,i)=>{i instanceof T.TFile&&(i.extension=="md"&&n.addItem(r=>{r.setTitle("Encrypt note").setIcon("file-lock").onClick(()=>this.processCommandEncryptNote(i))}),N.contains(i.extension)&&n.addItem(r=>{r.setTitle("Decrypt note").setIcon("file").onClick(()=>this.processCommandDecryptNote(i))}))}))}onunload(){}buildSettingsUi(t,e){}checkCanEncryptFile(t){return t==null?!1:t.extension=="md"}checkCanDecryptFile(t){return t==null?!1:N.contains(t.extension)}processCommandEncryptNote(t){this.getPasswordAndEncryptFile(t).catch(e=>{e&&new T.Notice(e,1e4)})}processCommandDecryptNote(t){this.getPasswordAndDecryptFile(t).catch(e=>{e&&new T.Notice(e,1e4)})}processCommandConvertActiveNote(t){let e=this.plugin.app.workspace.getActiveFile();if(t)return this.checkCanEncryptFile(e)||this.checkCanDecryptFile(e);(e==null?void 0:e.extension)=="md"&&this.getPasswordAndEncryptFile(e).catch(n=>{n&&new T.Notice(n,1e4)}),e&&N.contains(e.extension)&&this.getPasswordAndDecryptFile(e).catch(n=>{n&&new T.Notice(n,1e4)})}async getPasswordAndEncryptFile(t){if(!this.checkCanEncryptFile(t))throw new Error("Unable to encrypt file");let e=g.getByFile(t),n=new U(this.plugin.app,"Encrypt Note",!0,!0,e);try{let i=await n.openAsync(),r=await this.encryptFile(t,i);await this.closeUpdateRememberPasswordThenReopen(t,se,r,i),new T.Notice("\u{1F510} Note was encrypted \u{1F510}")}catch(i){i&&new T.Notice(i,1e4)}}async getPasswordAndDecryptFile(t){if(!this.checkCanDecryptFile(t))throw new Error("Unable to decrypt file");let e=g.getByFile(t);if(e.password!=""){let s=await this.decryptFile(t,e.password);if(s!=null){await this.closeUpdateRememberPasswordThenReopen(t,"md",s,e);return}}let n=await this.plugin.app.vault.read(t),i=D.decode(n),r=new U(this.plugin.app,"Decrypt Note",!1,!1,{password:"",hint:i.hint});try{if(e=await r.openAsync(),!r.resultConfirmed)return;let s=await this.decryptFile(t,e.password);if(s==null)throw new Error("Decryption failed");await this.closeUpdateRememberPasswordThenReopen(t,"md",s,e),new T.Notice("\u{1F513} Note was decrypted \u{1F513}")}catch(s){s&&new T.Notice(s,1e4)}}async closeUpdateRememberPasswordThenReopen(t,e,n,i){let r=!1;this.plugin.app.workspace.iterateAllLeaves(s=>{s.view instanceof T.TextFileView&&s.view.file==t&&(s.detach(),r=!0)});try{let s=R.getFilePathWithNewExtension(t,e);await this.plugin.app.fileManager.renameFile(t,s),await this.plugin.app.vault.modify(t,n),g.putByFile(i,t)}finally{r&&await this.plugin.app.workspace.getLeaf().openFile(t)}}async encryptFile(t,e){let n=await this.plugin.app.vault.read(t),i=await I.encode(e.password,e.hint,n);return D.encode(i)}async decryptFile(t,e){let n=await this.plugin.app.vault.read(t),i=D.decode(n);return await I.decrypt(i,e)}};var re=class extends oe.Plugin{constructor(){super(...arguments);this.enabledFeatures=[]}async onload(){await this.loadSettings(),this.enabledFeatures.push(new G,new q,new Y),this.addSettingTab(new _(this.app,this,this.settings,this.enabledFeatures)),this.addCommand({id:"meld-encrypt-clear-password-cache",name:"Clear Session Password Cache",icon:"file-lock",callback:()=>{let e=g.clear();new oe.Notice(`Items cleared: ${e}`)}}),this.enabledFeatures.forEach(async e=>{await e.onload(this,this.settings)})}onunload(){this.enabledFeatures.forEach(async e=>{e.onunload()})}async loadSettings(){let e={confirmPassword:!0,rememberPassword:!0,rememberPasswordTimeout:30,rememberPasswordLevel:g.LevelVault,featureWholeNoteEncrypt:{defaultView:"Source".toString()},featureInplaceEncrypt:{expandToWholeLines:!1,showMarkerWhenReadingDefault:!0}};this.settings=Object.assign(e,await this.loadData()),g.setActive(this.settings.rememberPassword),g.setAutoExpire(this.settings.rememberPasswordTimeout==0?null:this.settings.rememberPasswordTimeout),g.setLevel(this.settings.rememberPasswordLevel)}async saveSettings(){await this.saveData(this.settings)}}; diff --git a/.obsidian/plugins/meld-encrypt/manifest.json b/.obsidian/plugins/meld-encrypt/manifest.json index 43268767..23400c0d 100644 --- a/.obsidian/plugins/meld-encrypt/manifest.json +++ b/.obsidian/plugins/meld-encrypt/manifest.json @@ -1,7 +1,7 @@ { "id": "meld-encrypt", "name": "Meld Encrypt", - "version": "2.3.6", + "version": "2.3.7", "minAppVersion": "1.0.3", "description": "Hide secrets in your vault", "author": "meld-cp", diff --git a/.obsidian/plugins/obsidian-activity-history/data.json b/.obsidian/plugins/obsidian-activity-history/data.json index 1ff1e6e3..13346b9c 100644 --- a/.obsidian/plugins/obsidian-activity-history/data.json +++ b/.obsidian/plugins/obsidian-activity-history/data.json @@ -12,8 +12,8 @@ "checkpointList": [ { "path": "/", - "date": "2024-03-10", - "size": 13983098 + "date": "2024-03-19", + "size": 14476062 } ], "activityHistory": [ @@ -3174,7 +3174,43 @@ }, { "date": "2024-03-10", - "value": 1496 + "value": 217066 + }, + { + "date": "2024-03-11", + "value": 1667 + }, + { + "date": "2024-03-12", + "value": 1760 + }, + { + "date": "2024-03-13", + "value": 1301 + }, + { + "date": "2024-03-14", + "value": 45693 + }, + { + "date": "2024-03-15", + "value": 3338 + }, + { + "date": "2024-03-16", + "value": 2407 + }, + { + "date": "2024-03-17", + "value": 225813 + }, + { + "date": "2024-03-18", + "value": 1493 + }, + { + "date": "2024-03-19", + "value": 1452 } ] } diff --git a/.obsidian/plugins/obsidian-book-search-plugin/main.js b/.obsidian/plugins/obsidian-book-search-plugin/main.js index e62c4081..d6b8c941 100644 --- a/.obsidian/plugins/obsidian-book-search-plugin/main.js +++ b/.obsidian/plugins/obsidian-book-search-plugin/main.js @@ -3,10 +3,10 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ -var Mr=Object.create;var ke=Object.defineProperty;var Rr=Object.getOwnPropertyDescriptor;var Lr=Object.getOwnPropertyNames,Ft=Object.getOwnPropertySymbols,Fr=Object.getPrototypeOf,_t=Object.prototype.hasOwnProperty,_r=Object.prototype.propertyIsEnumerable;var $t=(r,e,t)=>e in r?ke(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ye=(r,e)=>{for(var t in e||(e={}))_t.call(e,t)&&$t(r,t,e[t]);if(Ft)for(var t of Ft(e))_r.call(e,t)&&$t(r,t,e[t]);return r};var Vt=r=>ke(r,"__esModule",{value:!0});var $r=(r,e)=>{Vt(r);for(var t in e)ke(r,t,{get:e[t],enumerable:!0})},Vr=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Lr(e))!_t.call(r,o)&&o!=="default"&&ke(r,o,{get:()=>e[o],enumerable:!(t=Rr(e,o))||t.enumerable});return r},q=r=>Vr(Vt(ke(r!=null?Mr(Fr(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var h=(r,e,t)=>new Promise((o,i)=>{var n=l=>{try{a(t.next(l))}catch(u){i(u)}},s=l=>{try{a(t.throw(l))}catch(u){i(u)}},a=l=>l.done?o(l.value):Promise.resolve(l.value).then(n,s);a((t=t.apply(r,e)).next())});$r(exports,{default:()=>Tt});var ne=q(require("obsidian"));var re=q(require("obsidian"));var I;(function(t){t.google="google",t.naver="naver"})(I||(I={}));var Ht=q(require("obsidian"));var rt=class{constructor(e,t){this.localePreference=e;this.apiKey=t}getByQuery(e){return h(this,null,function*(){try{let t={q:e,maxResults:40,printType:"books"},o=this.localePreference;o==="default"?t.langRestrict=window.moment.locale():t.langRestrict=o,this.apiKey!==""&&(t.key=this.apiKey);let i=yield He("https://www.googleapis.com/books/v1/volumes",t);return(i==null?void 0:i.totalItems)?i.items.map(({volumeInfo:n})=>this.createBookItem(n)):[]}catch(t){throw console.warn(t),t}})}getISBN(e){return e==null?void 0:e.reduce((t,o)=>(o.type=="ISBN_10"&&(t.isbn10=o.identifier.trim()),o.type=="ISBN_13"&&(t.isbn13=o.identifier.trim()),t),{})}createBookItem(e){var o,i,n,s;return ye({title:e.title,subtitle:e.subtitle,author:this.formatList(e.authors),authors:e.authors,category:this.formatList(e.categories),categories:e.categories,publisher:e.publisher,totalPage:e.pageCount,coverUrl:(i=(o=e.imageLinks)==null?void 0:o.thumbnail)!=null?i:"",coverSmallUrl:(s=(n=e.imageLinks)==null?void 0:n.smallThumbnail)!=null?s:"",publishDate:e.publishedDate||"",description:e.description,link:e.canonicalVolumeLink||e.infoLink,previewLink:e.previewLink},this.getISBN(e.industryIdentifiers))}convertGoogleBookImageURLSize(e,t){return e.replace(/(&zoom)=\d/,`$1=${t}`)}formatList(e){var t,o;return(e==null?void 0:e.length)>1?e.map(i=>`${i.trim()}`).join(", "):(o=(t=e==null?void 0:e[0])==null?void 0:t.replace("N/A",""))!=null?o:""}};var ot=class{constructor(e,t){this.clientId=e;this.clientSecret=t}getByQuery(e){return h(this,null,function*(){try{let t={query:e,display:50,sort:"sim"},o={"X-Naver-Client-Id":this.clientId,"X-Naver-Client-Secret":this.clientSecret},i=yield He("https://openapi.naver.com/v1/search/book.json",t,o);return(i==null?void 0:i.total)?i.items.map(this.createBookItem):[]}catch(t){throw console.warn(t),t}})}createBookItem(e){var t,o;return ye({title:e.title,author:e.author,publisher:e.publisher,coverUrl:e.image,publishDate:((t=e.pubdate)==null?void 0:t.slice(0,4))||"",link:e.link,description:e.description,isbn:e.isbn},((o=e.isbn)==null?void 0:o.length)>=13?{isbn13:e.isbn}:{isbn10:e.isbn})}};function Wt(r){if(r.serviceProvider===I.google)return new rt(r.localePreference,r.apiKey);if(r.serviceProvider===I.naver){if(!r.naverClientId||!r.naverClientSecret)throw new Error('\uB124\uC774\uBC84 \uAC1C\uBC1C\uC790\uC13C\uD130\uC5D0\uC11C "Client ID"\uC640 "Client Secret"\uB97C \uBC1C\uAE09\uBC1B\uC544 \uC124\uC815\uD574\uC8FC\uC138\uC694.');return new ot(r.naverClientId,r.naverClientSecret)}}function He(o){return h(this,arguments,function*(r,e={},t){let i=new URL(r);return Object.entries(e).forEach(([s,a])=>{i.searchParams.append(s,a==null?void 0:a.toString())}),(yield(0,Ht.requestUrl)({url:i.href,method:"GET",headers:ye({Accept:"*/*","Content-Type":"application/json; charset=utf-8"},t)})).json})}var it=class extends re.Modal{constructor(e,t,o){super(e.app);this.query=t;this.callback=o;this.isBusy=!1;this.serviceProvider=Wt(e.settings)}setBusy(e){var t,o;this.isBusy=e,(t=this.okBtnRef)==null||t.setDisabled(e),(o=this.okBtnRef)==null||o.setButtonText(e?"Requesting...":"Search")}searchBook(){return h(this,null,function*(){if(!this.query)throw new Error("No query entered.");if(!this.isBusy){try{this.setBusy(!0);let e=yield this.serviceProvider.getByQuery(this.query);if(this.setBusy(!1),!(e==null?void 0:e.length)){new re.Notice(`No results found for "${this.query}"`);return}this.callback(null,e)}catch(e){this.callback(e)}this.close()}})}submitEnterCallback(e){e.key==="Enter"&&!e.isComposing&&this.searchBook()}onOpen(){let{contentEl:e}=this;e.createEl("h2",{text:"Search Book"}),e.createDiv({cls:"book-search-plugin__search-modal--input"},t=>{new re.TextComponent(t).setValue(this.query).setPlaceholder("Search by keyword or ISBN").onChange(o=>this.query=o).inputEl.addEventListener("keydown",this.submitEnterCallback.bind(this))}),new re.Setting(e).addButton(t=>this.okBtnRef=t.setButtonText("Search").setCta().onClick(()=>{this.searchBook()}))}onClose(){this.contentEl.empty()}};var Gt=q(require("obsidian")),nt=class extends Gt.SuggestModal{constructor(e,t,o,i){super(e);this.suggestion=o;this.onChoose=i;this.showCoverImageInSearch=t}getSuggestions(e){return this.suggestion.filter(t=>{var i,n,s;let o=e==null?void 0:e.toLowerCase();return((i=t.title)==null?void 0:i.toLowerCase().includes(o))||((n=t.author)==null?void 0:n.toLowerCase().includes(o))||((s=t.publisher)==null?void 0:s.toLowerCase().includes(o))})}renderSuggestion(e,t){t.addClass("book-suggestion-item");let o=e.coverLargeUrl||e.coverMediumUrl||e.coverSmallUrl||e.coverUrl;this.showCoverImageInSearch&&o&&t.createEl("img",{cls:"book-cover-image",attr:{src:o,alt:`Cover Image for ${e.title}`}});let i=t.createEl("div",{cls:"book-text-info"});i.createEl("div",{text:e.title});let n=e.publisher?`, ${e.publisher}`:"",s=e.publishDate?`(${e.publishDate})`:"",a=e.totalPage?`, p${e.totalPage}`:"",l=`${e.author}${n}${s}${a}`;i.createEl("small",{text:l})}onChooseSuggestion(e){this.onChoose(null,e)}};var Ut=q(require("obsidian")),st=class{constructor(e){this.app=e}jumpToNextCursorLocation(){return h(this,null,function*(){let e=this.app.workspace.getActiveViewOfType(Ut.MarkdownView);if(!e)return;let o=(yield this.app.vault.cachedRead(e.file)).length+1,i=e.editor;i.focus(),i.setCursor(o,0)})}};var _=q(require("obsidian"));var Xt=/^-?[0-9]*$/,at=/{{DATE(\+-?[0-9]+)?}}/,lt=/{{DATE:([^}\n\r+]*)(\+-?[0-9]+)?}}/;function Hr(r){return r.replace(/[\\,#%&{}/*<>$":@.?|]/g,"").replace(/\s+/g," ")}function pt(r,e,t="md"){let o;return e?o=Ie(r,We(e)):o=r.author?`${r.title} - ${r.author}`:r.title,Hr(o)+`.${t}`}function Wr(r){return Object.entries(r).reduce((e,[t,o])=>(e[Gr(t)]=o,e),{})}function qt(r,e,t=be.snakeCase){var n,s;let o=t===be.camelCase?r:Wr(r),i=typeof e=="string"?Ur(e):e;for(let a in i){let l=(s=(n=i[a])==null?void 0:n.toString().trim())!=null?s:"";o[a]&&o[a]!==l?o[a]=`${o[a]}, ${l}`:o[a]=l}return o}function Ie(r,e){return(e==null?void 0:e.trim())?Object.entries(r).reduce((o,[i,n=""])=>o.replace(new RegExp(`{{${i}}}`,"ig"),n),e).replace(/{{\w+}}/gi,"").trim():""}function Gr(r){return r.replace(/[A-Z]/g,e=>`_${e==null?void 0:e.toLowerCase()}`)}function Ur(r){return r?r.split(` -`).map(e=>{var n,s;let t=e.indexOf(":");if(t===-1)return[e.trim(),""];let o=(n=e.slice(0,t))==null?void 0:n.trim(),i=(s=e.slice(t+1))==null?void 0:s.trim();return[o,i]}).reduce((e,[t,o])=>{var i;return t&&(e[t]=(i=o==null?void 0:o.trim())!=null?i:""),e},{}):{}}function Yt(r){return Object.entries(r).map(([e,t])=>{var i;let o=(i=t==null?void 0:t.toString().trim())!=null?i:"";return/\r|\n/.test(o)?"":/:\s/.test(o)?`${e}: "${o.replace(/"/g,""")}" +var Mr=Object.create;var Ie=Object.defineProperty;var Fr=Object.getOwnPropertyDescriptor;var _r=Object.getOwnPropertyNames,Ht=Object.getOwnPropertySymbols,Vr=Object.getPrototypeOf,$t=Object.prototype.hasOwnProperty,Hr=Object.prototype.propertyIsEnumerable;var Wt=(r,e,t)=>e in r?Ie(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,pe=(r,e)=>{for(var t in e||(e={}))$t.call(e,t)&&Wt(r,t,e[t]);if(Ht)for(var t of Ht(e))Hr.call(e,t)&&Wt(r,t,e[t]);return r};var Ut=r=>Ie(r,"__esModule",{value:!0});var $r=(r,e)=>{Ut(r);for(var t in e)Ie(r,t,{get:e[t],enumerable:!0})},Wr=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of _r(e))!$t.call(r,o)&&o!=="default"&&Ie(r,o,{get:()=>e[o],enumerable:!(t=Fr(e,o))||t.enumerable});return r},z=r=>Wr(Ut(Ie(r!=null?Mr(Vr(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var f=(r,e,t)=>new Promise((o,i)=>{var n=l=>{try{a(t.next(l))}catch(c){i(c)}},s=l=>{try{a(t.throw(l))}catch(c){i(c)}},a=l=>l.done?o(l.value):Promise.resolve(l.value).then(n,s);a((t=t.apply(r,e)).next())});$r(exports,{default:()=>It});var ne=z(require("obsidian"));var B;(function(t){t.google="google",t.naver="naver"})(B||(B={}));var Gt=z(require("obsidian"));var Ge=class{constructor(e,t){this.localePreference=e;this.apiKey=t}getLanguageRestriction(e){return e==="default"?window.moment.locale():e}buildSearchParams(e,t){let o={q:e,maxResults:Ge.MAX_RESULTS,printType:Ge.PRINT_TYPE,langRestrict:this.getLanguageRestriction((t==null?void 0:t.locale)||this.localePreference)};return this.apiKey&&(o.key=this.apiKey),o}getByQuery(e,t){return f(this,null,function*(){try{let o=this.buildSearchParams(e,t),i=yield Xe("https://www.googleapis.com/books/v1/volumes",o);return(i==null?void 0:i.totalItems)?i.items.map(({volumeInfo:n})=>this.createBookItem(n)):[]}catch(o){throw console.warn(o),o}})}extractISBNs(e){var t;return(t=e==null?void 0:e.reduce((o,i)=>{let n=i.type==="ISBN_10"?"isbn10":"isbn13";return o[n]=i.identifier.trim(),o},{}))!=null?t:{}}extractBasicBookInfo(e){var t,o,i,n;return{title:e.title,subtitle:e.subtitle,author:this.formatList(e.authors),authors:e.authors,category:this.formatList(e.categories),categories:e.categories,publisher:e.publisher,totalPage:e.pageCount,coverUrl:(o=(t=e.imageLinks)==null?void 0:t.thumbnail)!=null?o:"",coverSmallUrl:(n=(i=e.imageLinks)==null?void 0:i.smallThumbnail)!=null?n:"",publishDate:e.publishedDate||"",description:e.description,link:e.canonicalVolumeLink||e.infoLink,previewLink:e.previewLink}}createBookItem(e){return pe(pe({title:"",subtitle:"",author:"",authors:[],category:"",categories:[],publisher:"",publishDate:"",totalPage:"",coverUrl:"",coverSmallUrl:"",description:"",link:"",previewLink:""},this.extractBasicBookInfo(e)),this.extractISBNs(e.industryIdentifiers))}formatList(e){var t;return e&&e.length>1?e.map(o=>o.trim()).join(", "):(t=e==null?void 0:e[0])!=null?t:""}static convertGoogleBookImageURLSize(e,t){return e.replace(/(&zoom)=\d/,`$1=${t}`)}},Ne=Ge;Ne.MAX_RESULTS=40,Ne.PRINT_TYPE="books";var st=class{constructor(e,t){this.clientId=e;this.clientSecret=t}getByQuery(e){return f(this,null,function*(){try{let t={query:e,display:50,sort:"sim"},o={"X-Naver-Client-Id":this.clientId,"X-Naver-Client-Secret":this.clientSecret},i=yield Xe("https://openapi.naver.com/v1/search/book.json",t,o);return(i==null?void 0:i.total)?i.items.map(this.createBookItem):[]}catch(t){throw console.warn(t),t}})}createBookItem(e){var t,o;return pe({title:e.title,author:e.author,publisher:e.publisher,coverUrl:e.image,publishDate:((t=e.pubdate)==null?void 0:t.slice(0,4))||"",link:e.link,description:e.description,isbn:e.isbn},((o=e.isbn)==null?void 0:o.length)>=13?{isbn13:e.isbn}:{isbn10:e.isbn})}};var Xt=class extends Error{constructor(e){super(e);this.name="ConfigurationError"}};function zt(r){switch(r.serviceProvider){case B.google:return new Ne(r.localePreference,r.apiKey);case B.naver:return Ur(r),new st(r.naverClientId,r.naverClientSecret);default:throw new Error("Unsupported service provider.")}}function Ur(r){if(!r.naverClientId||!r.naverClientSecret)throw new Xt('\uB124\uC774\uBC84 \uAC1C\uBC1C\uC790\uC13C\uD130\uC5D0\uC11C "Client ID"\uC640 "Client Secret"\uB97C \uBC1C\uAE09\uBC1B\uC544 \uC124\uC815\uD574\uC8FC\uC138\uC694.')}function Xe(o){return f(this,arguments,function*(r,e={},t){let i=new URL(r);return Gr(i,e),(yield(0,Gt.requestUrl)({url:i.href,method:"GET",headers:pe({Accept:"*/*","Content-Type":"application/json; charset=utf-8"},t)})).json})}function Gr(r,e){Object.entries(e).forEach(([t,o])=>{r.searchParams.append(t,o.toString())})}var qt=/^-?[0-9]*$/,at=/{{DATE(\+-?[0-9]+)?}}/,lt=/{{DATE:([^}\n\r+]*)(\+-?[0-9]+)?}}/;function Xr(r){return r.replace(/[\\,#%&{}/*<>$":@.?|]/g,"").replace(/\s+/g," ")}function pt(r,e,t="md"){let o;return e?o=Ae(r,ze(e)):o=r.author?`${r.title} - ${r.author}`:r.title,Xr(o)+`.${t}`}function zr(r){return Object.entries(r).reduce((e,[t,o])=>(e[qr(t)]=o,e),{})}function Yt(r,e,t=be.snakeCase){var n,s;let o=t===be.camelCase?r:zr(r),i=typeof e=="string"?Yr(e):e;for(let a in i){let l=(s=(n=i[a])==null?void 0:n.toString().trim())!=null?s:"";o[a]&&o[a]!==l?o[a]=`${o[a]}, ${l}`:o[a]=l}return o}function Ae(r,e){return(e==null?void 0:e.trim())?Object.entries(r).reduce((o,[i,n=""])=>o.replace(new RegExp(`{{${i}}}`,"ig"),n),e).replace(/{{\w+}}/gi,"").trim():""}function qr(r){return r.replace(/[A-Z]/g,e=>`_${e==null?void 0:e.toLowerCase()}`)}function Yr(r){return r?r.split(` +`).map(e=>{var n,s;let t=e.indexOf(":");if(t===-1)return[e.trim(),""];let o=(n=e.slice(0,t))==null?void 0:n.trim(),i=(s=e.slice(t+1))==null?void 0:s.trim();return[o,i]}).reduce((e,[t,o])=>{var i;return t&&(e[t]=(i=o==null?void 0:o.trim())!=null?i:""),e},{}):{}}function Kt(r){return Object.entries(r).map(([e,t])=>{var i;let o=(i=t==null?void 0:t.toString().trim())!=null?i:"";return/\r|\n/.test(o)?"":/:\s/.test(o)?`${e}: "${o.replace(/"/g,""")}" `:`${e}: ${o} -`}).join("").trim()}function Kt(r){let e;return(r==null?void 0:r.offset)!==null&&(r==null?void 0:r.offset)!==void 0&&typeof r.offset=="number"&&(e=window.moment.duration(r.offset,"days")),(r==null?void 0:r.format)?window.moment().add(e).format(r==null?void 0:r.format):window.moment().add(e).format("YYYY-MM-DD")}function We(r){let e=r;for(;at.test(e);){let t=at.exec(e),o=0;if(t==null?void 0:t[1]){let i=t[1].replace("+","").trim();Xt.test(i)&&(o=parseInt(i))}e=zt(e,at,Kt({offset:o}))}for(;lt.test(e);){let t=lt.exec(e),o=t==null?void 0:t[1],i=0;if(t==null?void 0:t[2]){let n=t[2].replace("+","").trim();Xt.test(n)&&(i=parseInt(n))}e=zt(e,lt,Kt({format:o,offset:i}))}return e}function zt(r,e,t){return r.replace(e,function(){return t})}var wr=q(require("obsidian"));var j="top",N="bottom",k="right",T="left",Ge="auto",oe=[j,N,k,T],J="start",pe="end",Qt="clippingParents",Ue="viewport",xe="popper",Jt="reference",ct=oe.reduce(function(r,e){return r.concat([e+"-"+J,e+"-"+pe])},[]),Xe=[].concat(oe,[Ge]).reduce(function(r,e){return r.concat([e,e+"-"+J,e+"-"+pe])},[]),Xr="beforeRead",qr="read",Yr="afterRead",Kr="beforeMain",zr="main",Qr="afterMain",Jr="beforeWrite",Zr="write",eo="afterWrite",Zt=[Xr,qr,Yr,Kr,zr,Qr,Jr,Zr,eo];function D(r){return r?(r.nodeName||"").toLowerCase():null}function B(r){if(r==null)return window;if(r.toString()!=="[object Window]"){var e=r.ownerDocument;return e&&e.defaultView||window}return r}function Q(r){var e=B(r).Element;return r instanceof e||r instanceof Element}function A(r){var e=B(r).HTMLElement;return r instanceof e||r instanceof HTMLElement}function Se(r){if(typeof ShadowRoot=="undefined")return!1;var e=B(r).ShadowRoot;return r instanceof e||r instanceof ShadowRoot}function to(r){var e=r.state;Object.keys(e.elements).forEach(function(t){var o=e.styles[t]||{},i=e.attributes[t]||{},n=e.elements[t];!A(n)||!D(n)||(Object.assign(n.style,o),Object.keys(i).forEach(function(s){var a=i[s];a===!1?n.removeAttribute(s):n.setAttribute(s,a===!0?"":a)}))})}function ro(r){var e=r.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(o){var i=e.elements[o],n=e.attributes[o]||{},s=Object.keys(e.styles.hasOwnProperty(o)?e.styles[o]:t[o]),a=s.reduce(function(l,u){return l[u]="",l},{});!A(i)||!D(i)||(Object.assign(i.style,a),Object.keys(n).forEach(function(l){i.removeAttribute(l)}))})}}var er={name:"applyStyles",enabled:!0,phase:"write",fn:to,effect:ro,requires:["computeStyles"]};function M(r){return r.split("-")[0]}var Y=Math.max,ce=Math.min,Z=Math.round;function G(r,e){e===void 0&&(e=!1);var t=r.getBoundingClientRect(),o=1,i=1;if(A(r)&&e){var n=r.offsetHeight,s=r.offsetWidth;s>0&&(o=Z(t.width)/s||1),n>0&&(i=Z(t.height)/n||1)}return{width:t.width/o,height:t.height/i,top:t.top/i,right:t.right/o,bottom:t.bottom/i,left:t.left/o,x:t.left/o,y:t.top/i}}function me(r){var e=G(r),t=r.offsetWidth,o=r.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-o)<=1&&(o=e.height),{x:r.offsetLeft,y:r.offsetTop,width:t,height:o}}function Ne(r,e){var t=e.getRootNode&&e.getRootNode();if(r.contains(e))return!0;if(t&&Se(t)){var o=e;do{if(o&&r.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function $(r){return B(r).getComputedStyle(r)}function mt(r){return["table","td","th"].indexOf(D(r))>=0}function F(r){return((Q(r)?r.ownerDocument:r.document)||window.document).documentElement}function ee(r){return D(r)==="html"?r:r.assignedSlot||r.parentNode||(Se(r)?r.host:null)||F(r)}function tr(r){return!A(r)||$(r).position==="fixed"?null:r.offsetParent}function oo(r){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,t=navigator.userAgent.indexOf("Trident")!==-1;if(t&&A(r)){var o=$(r);if(o.position==="fixed")return null}var i=ee(r);for(Se(i)&&(i=i.host);A(i)&&["html","body"].indexOf(D(i))<0;){var n=$(i);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||e&&n.willChange==="filter"||e&&n.filter&&n.filter!=="none")return i;i=i.parentNode}return null}function K(r){for(var e=B(r),t=tr(r);t&&mt(t)&&$(t).position==="static";)t=tr(t);return t&&(D(t)==="html"||D(t)==="body"&&$(t).position==="static")?e:t||oo(r)||e}function ue(r){return["top","bottom"].indexOf(r)>=0?"x":"y"}function fe(r,e,t){return Y(r,ce(e,t))}function rr(r,e,t){var o=fe(r,e,t);return o>t?t:o}function Ae(){return{top:0,right:0,bottom:0,left:0}}function De(r){return Object.assign({},Ae(),r)}function Me(r,e){return e.reduce(function(t,o){return t[o]=r,t},{})}var io=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,De(typeof e!="number"?e:Me(e,oe))};function no(r){var e,t=r.state,o=r.name,i=r.options,n=t.elements.arrow,s=t.modifiersData.popperOffsets,a=M(t.placement),l=ue(a),u=[T,k].indexOf(a)>=0,p=u?"height":"width";if(!(!n||!s)){var d=io(i.padding,t),E=me(n),c=l==="y"?j:T,m=l==="y"?N:k,f=t.rects.reference[p]+t.rects.reference[l]-s[l]-t.rects.popper[p],g=s[l]-t.rects.reference[l],y=K(n),P=y?l==="y"?y.clientHeight||0:y.clientWidth||0:0,C=f/2-g/2,v=d[c],b=P-E[p]-d[m],w=P/2-E[p]/2+C,x=fe(v,w,b),O=l;t.modifiersData[o]=(e={},e[O]=x,e.centerOffset=x-w,e)}}function so(r){var e=r.state,t=r.options,o=t.element,i=o===void 0?"[data-popper-arrow]":o;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||!Ne(e.elements.popper,i)||(e.elements.arrow=i))}var or={name:"arrow",enabled:!0,phase:"main",fn:no,effect:so,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U(r){return r.split("-")[1]}var ao={top:"auto",right:"auto",bottom:"auto",left:"auto"};function lo(r){var e=r.x,t=r.y,o=window,i=o.devicePixelRatio||1;return{x:Z(e*i)/i||0,y:Z(t*i)/i||0}}function ir(r){var e,t=r.popper,o=r.popperRect,i=r.placement,n=r.variation,s=r.offsets,a=r.position,l=r.gpuAcceleration,u=r.adaptive,p=r.roundOffsets,d=r.isFixed,E=s.x,c=E===void 0?0:E,m=s.y,f=m===void 0?0:m,g=typeof p=="function"?p({x:c,y:f}):{x:c,y:f};c=g.x,f=g.y;var y=s.hasOwnProperty("x"),P=s.hasOwnProperty("y"),C=T,v=j,b=window;if(u){var w=K(t),x="clientHeight",O="clientWidth";if(w===B(t)&&(w=F(t),$(w).position!=="static"&&a==="absolute"&&(x="scrollHeight",O="scrollWidth")),w=w,i===j||(i===T||i===k)&&n===pe){v=N;var R=d&&w===b&&b.visualViewport?b.visualViewport.height:w[x];f-=R-o.height,f*=l?1:-1}if(i===T||(i===j||i===N)&&n===pe){C=k;var L=d&&w===b&&b.visualViewport?b.visualViewport.width:w[O];c-=L-o.width,c*=l?1:-1}}var S=Object.assign({position:a},u&&ao),V=p===!0?lo({x:c,y:f}):{x:c,y:f};if(c=V.x,f=V.y,l){var H;return Object.assign({},S,(H={},H[v]=P?"0":"",H[C]=y?"0":"",H.transform=(b.devicePixelRatio||1)<=1?"translate("+c+"px, "+f+"px)":"translate3d("+c+"px, "+f+"px, 0)",H))}return Object.assign({},S,(e={},e[v]=P?f+"px":"",e[C]=y?c+"px":"",e.transform="",e))}function po(r){var e=r.state,t=r.options,o=t.gpuAcceleration,i=o===void 0?!0:o,n=t.adaptive,s=n===void 0?!0:n,a=t.roundOffsets,l=a===void 0?!0:a;if(!1)var u;var p={placement:M(e.placement),variation:U(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,ir(Object.assign({},p,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,ir(Object.assign({},p,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var nr={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:po,data:{}};var qe={passive:!0};function co(r){var e=r.state,t=r.instance,o=r.options,i=o.scroll,n=i===void 0?!0:i,s=o.resize,a=s===void 0?!0:s,l=B(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return n&&u.forEach(function(p){p.addEventListener("scroll",t.update,qe)}),a&&l.addEventListener("resize",t.update,qe),function(){n&&u.forEach(function(p){p.removeEventListener("scroll",t.update,qe)}),a&&l.removeEventListener("resize",t.update,qe)}}var sr={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:co,data:{}};var mo={left:"right",right:"left",bottom:"top",top:"bottom"};function Ee(r){return r.replace(/left|right|bottom|top/g,function(e){return mo[e]})}var uo={start:"end",end:"start"};function Ye(r){return r.replace(/start|end/g,function(e){return uo[e]})}function de(r){var e=B(r),t=e.pageXOffset,o=e.pageYOffset;return{scrollLeft:t,scrollTop:o}}function ge(r){return G(F(r)).left+de(r).scrollLeft}function ut(r){var e=B(r),t=F(r),o=e.visualViewport,i=t.clientWidth,n=t.clientHeight,s=0,a=0;return o&&(i=o.width,n=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,a=o.offsetTop)),{width:i,height:n,x:s+ge(r),y:a}}function ft(r){var e,t=F(r),o=de(r),i=(e=r.ownerDocument)==null?void 0:e.body,n=Y(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),s=Y(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-o.scrollLeft+ge(r),l=-o.scrollTop;return $(i||t).direction==="rtl"&&(a+=Y(t.clientWidth,i?i.clientWidth:0)-n),{width:n,height:s,x:a,y:l}}function he(r){var e=$(r),t=e.overflow,o=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+i+o)}function Ke(r){return["html","body","#document"].indexOf(D(r))>=0?r.ownerDocument.body:A(r)&&he(r)?r:Ke(ee(r))}function ie(r,e){var t;e===void 0&&(e=[]);var o=Ke(r),i=o===((t=r.ownerDocument)==null?void 0:t.body),n=B(o),s=i?[n].concat(n.visualViewport||[],he(o)?o:[]):o,a=e.concat(s);return i?a:a.concat(ie(ee(s)))}function Pe(r){return Object.assign({},r,{left:r.x,top:r.y,right:r.x+r.width,bottom:r.y+r.height})}function fo(r){var e=G(r);return e.top=e.top+r.clientTop,e.left=e.left+r.clientLeft,e.bottom=e.top+r.clientHeight,e.right=e.left+r.clientWidth,e.width=r.clientWidth,e.height=r.clientHeight,e.x=e.left,e.y=e.top,e}function ar(r,e){return e===Ue?Pe(ut(r)):Q(e)?fo(e):Pe(ft(F(r)))}function go(r){var e=ie(ee(r)),t=["absolute","fixed"].indexOf($(r).position)>=0,o=t&&A(r)?K(r):r;return Q(o)?e.filter(function(i){return Q(i)&&Ne(i,o)&&D(i)!=="body"}):[]}function dt(r,e,t){var o=e==="clippingParents"?go(r):[].concat(e),i=[].concat(o,[t]),n=i[0],s=i.reduce(function(a,l){var u=ar(r,l);return a.top=Y(u.top,a.top),a.right=ce(u.right,a.right),a.bottom=ce(u.bottom,a.bottom),a.left=Y(u.left,a.left),a},ar(r,n));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function Re(r){var e=r.reference,t=r.element,o=r.placement,i=o?M(o):null,n=o?U(o):null,s=e.x+e.width/2-t.width/2,a=e.y+e.height/2-t.height/2,l;switch(i){case j:l={x:s,y:e.y-t.height};break;case N:l={x:s,y:e.y+e.height};break;case k:l={x:e.x+e.width,y:a};break;case T:l={x:e.x-t.width,y:a};break;default:l={x:e.x,y:e.y}}var u=i?ue(i):null;if(u!=null){var p=u==="y"?"height":"width";switch(n){case J:l[u]=l[u]-(e[p]/2-t[p]/2);break;case pe:l[u]=l[u]+(e[p]/2-t[p]/2);break;default:}}return l}function z(r,e){e===void 0&&(e={});var t=e,o=t.placement,i=o===void 0?r.placement:o,n=t.boundary,s=n===void 0?Qt:n,a=t.rootBoundary,l=a===void 0?Ue:a,u=t.elementContext,p=u===void 0?xe:u,d=t.altBoundary,E=d===void 0?!1:d,c=t.padding,m=c===void 0?0:c,f=De(typeof m!="number"?m:Me(m,oe)),g=p===xe?Jt:xe,y=r.rects.popper,P=r.elements[E?g:p],C=dt(Q(P)?P:P.contextElement||F(r.elements.popper),s,l),v=G(r.elements.reference),b=Re({reference:v,element:y,strategy:"absolute",placement:i}),w=Pe(Object.assign({},y,b)),x=p===xe?w:v,O={top:C.top-x.top+f.top,bottom:x.bottom-C.bottom+f.bottom,left:C.left-x.left+f.left,right:x.right-C.right+f.right},R=r.modifiersData.offset;if(p===xe&&R){var L=R[i];Object.keys(O).forEach(function(S){var V=[k,N].indexOf(S)>=0?1:-1,H=[j,N].indexOf(S)>=0?"y":"x";O[S]+=L[H]*V})}return O}function gt(r,e){e===void 0&&(e={});var t=e,o=t.placement,i=t.boundary,n=t.rootBoundary,s=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,u=l===void 0?Xe:l,p=U(o),d=p?a?ct:ct.filter(function(m){return U(m)===p}):oe,E=d.filter(function(m){return u.indexOf(m)>=0});E.length===0&&(E=d);var c=E.reduce(function(m,f){return m[f]=z(r,{placement:f,boundary:i,rootBoundary:n,padding:s})[M(f)],m},{});return Object.keys(c).sort(function(m,f){return c[m]-c[f]})}function ho(r){if(M(r)===Ge)return[];var e=Ee(r);return[Ye(r),e,Ye(e)]}function vo(r){var e=r.state,t=r.options,o=r.name;if(!e.modifiersData[o]._skip){for(var i=t.mainAxis,n=i===void 0?!0:i,s=t.altAxis,a=s===void 0?!0:s,l=t.fallbackPlacements,u=t.padding,p=t.boundary,d=t.rootBoundary,E=t.altBoundary,c=t.flipVariations,m=c===void 0?!0:c,f=t.allowedAutoPlacements,g=e.options.placement,y=M(g),P=y===g,C=l||(P||!m?[Ee(g)]:ho(g)),v=[g].concat(C).reduce(function(we,te){return we.concat(M(te)===Ge?gt(e,{placement:te,boundary:p,rootBoundary:d,padding:u,flipVariations:m,allowedAutoPlacements:f}):te)},[]),b=e.rects.reference,w=e.rects.popper,x=new Map,O=!0,R=v[0],L=0;L=0,Oe=je?"width":"height",W=z(e,{placement:S,boundary:p,rootBoundary:d,altBoundary:E,padding:u}),X=je?H?k:T:H?N:j;b[Oe]>w[Oe]&&(X=Ee(X));var Le=Ee(X),se=[];if(n&&se.push(W[V]<=0),a&&se.push(W[X]<=0,W[Le]<=0),se.every(function(we){return we})){R=S,O=!1;break}x.set(S,se)}if(O)for(var Fe=m?3:1,Je=function(te){var Be=v.find(function($e){var ae=x.get($e);if(ae)return ae.slice(0,te).every(function(Ze){return Ze})});if(Be)return R=Be,"break"},Te=Fe;Te>0;Te--){var _e=Je(Te);if(_e==="break")break}e.placement!==R&&(e.modifiersData[o]._skip=!0,e.placement=R,e.reset=!0)}}var lr={name:"flip",enabled:!0,phase:"main",fn:vo,requiresIfExists:["offset"],data:{_skip:!1}};function pr(r,e,t){return t===void 0&&(t={x:0,y:0}),{top:r.top-e.height-t.y,right:r.right-e.width+t.x,bottom:r.bottom-e.height+t.y,left:r.left-e.width-t.x}}function cr(r){return[j,k,N,T].some(function(e){return r[e]>=0})}function wo(r){var e=r.state,t=r.name,o=e.rects.reference,i=e.rects.popper,n=e.modifiersData.preventOverflow,s=z(e,{elementContext:"reference"}),a=z(e,{altBoundary:!0}),l=pr(s,o),u=pr(a,i,n),p=cr(l),d=cr(u);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:p,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":d})}var mr={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:wo};function yo(r,e,t){var o=M(r),i=[T,j].indexOf(o)>=0?-1:1,n=typeof t=="function"?t(Object.assign({},e,{placement:r})):t,s=n[0],a=n[1];return s=s||0,a=(a||0)*i,[T,k].indexOf(o)>=0?{x:a,y:s}:{x:s,y:a}}function bo(r){var e=r.state,t=r.options,o=r.name,i=t.offset,n=i===void 0?[0,0]:i,s=Xe.reduce(function(p,d){return p[d]=yo(d,e.rects,n),p},{}),a=s[e.placement],l=a.x,u=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[o]=s}var ur={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:bo};function xo(r){var e=r.state,t=r.name;e.modifiersData[t]=Re({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var fr={name:"popperOffsets",enabled:!0,phase:"read",fn:xo,data:{}};function ht(r){return r==="x"?"y":"x"}function So(r){var e=r.state,t=r.options,o=r.name,i=t.mainAxis,n=i===void 0?!0:i,s=t.altAxis,a=s===void 0?!1:s,l=t.boundary,u=t.rootBoundary,p=t.altBoundary,d=t.padding,E=t.tether,c=E===void 0?!0:E,m=t.tetherOffset,f=m===void 0?0:m,g=z(e,{boundary:l,rootBoundary:u,padding:d,altBoundary:p}),y=M(e.placement),P=U(e.placement),C=!P,v=ue(y),b=ht(v),w=e.modifiersData.popperOffsets,x=e.rects.reference,O=e.rects.popper,R=typeof f=="function"?f(Object.assign({},e.rects,{placement:e.placement})):f,L=typeof R=="number"?{mainAxis:R,altAxis:R}:Object.assign({mainAxis:0,altAxis:0},R),S=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,V={x:0,y:0};if(!!w){if(n){var H,je=v==="y"?j:T,Oe=v==="y"?N:k,W=v==="y"?"height":"width",X=w[v],Le=X+g[je],se=X-g[Oe],Fe=c?-O[W]/2:0,Je=P===J?x[W]:O[W],Te=P===J?-O[W]:-x[W],_e=e.elements.arrow,we=c&&_e?me(_e):{width:0,height:0},te=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Ae(),Be=te[je],$e=te[Oe],ae=fe(0,x[W],we[W]),Ze=C?x[W]/2-Fe-ae-Be-L.mainAxis:Je-ae-Be-L.mainAxis,Br=C?-x[W]/2+Fe+ae+$e+L.mainAxis:Te+ae+$e+L.mainAxis,et=e.elements.arrow&&K(e.elements.arrow),kr=et?v==="y"?et.clientTop||0:et.clientLeft||0:0,Bt=(H=S==null?void 0:S[v])!=null?H:0,Ir=X+Ze-Bt-kr,Nr=X+Br-Bt,kt=fe(c?ce(Le,Ir):Le,X,c?Y(se,Nr):se);w[v]=kt,V[v]=kt-X}if(a){var It,Ar=v==="x"?j:T,Dr=v==="x"?N:k,le=w[b],Ve=b==="y"?"height":"width",Nt=le+g[Ar],At=le-g[Dr],tt=[j,T].indexOf(y)!==-1,Dt=(It=S==null?void 0:S[b])!=null?It:0,Mt=tt?Nt:le-x[Ve]-O[Ve]-Dt+L.altAxis,Rt=tt?le+x[Ve]+O[Ve]-Dt-L.altAxis:At,Lt=c&&tt?rr(Mt,le,Rt):fe(c?Mt:Nt,le,c?Rt:At);w[b]=Lt,V[b]=Lt-le}e.modifiersData[o]=V}}var dr={name:"preventOverflow",enabled:!0,phase:"main",fn:So,requiresIfExists:["offset"]};function vt(r){return{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}}function wt(r){return r===B(r)||!A(r)?de(r):vt(r)}function Eo(r){var e=r.getBoundingClientRect(),t=Z(e.width)/r.offsetWidth||1,o=Z(e.height)/r.offsetHeight||1;return t!==1||o!==1}function yt(r,e,t){t===void 0&&(t=!1);var o=A(e),i=A(e)&&Eo(e),n=F(e),s=G(r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!t)&&((D(e)!=="body"||he(n))&&(a=wt(e)),A(e)?(l=G(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):n&&(l.x=ge(n))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function Po(r){var e=new Map,t=new Set,o=[];r.forEach(function(n){e.set(n.name,n)});function i(n){t.add(n.name);var s=[].concat(n.requires||[],n.requiresIfExists||[]);s.forEach(function(a){if(!t.has(a)){var l=e.get(a);l&&i(l)}}),o.push(n)}return r.forEach(function(n){t.has(n.name)||i(n)}),o}function bt(r){var e=Po(r);return Zt.reduce(function(t,o){return t.concat(e.filter(function(i){return i.phase===o}))},[])}function xt(r){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(r())})})),e}}function St(r){var e=r.reduce(function(t,o){var i=t[o.name];return t[o.name]=i?Object.assign({},i,o,{options:Object.assign({},i.options,o.options),data:Object.assign({},i.data,o.data)}):o,t},{});return Object.keys(e).map(function(t){return e[t]})}var gr={placement:"bottom",modifiers:[],strategy:"absolute"};function hr(){for(var r=arguments.length,e=new Array(r),t=0;t(r%e+e)%e,yr=class{constructor(e,t,o){this.owner=e,this.containerEl=t,t.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),t.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),o.register([],"ArrowUp",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),o.register([],"ArrowDown",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),o.register([],"Enter",i=>{if(!i.isComposing)return this.useSelectedItem(i),!1})}onSuggestionClick(e,t){e.preventDefault();let o=this.suggestions.indexOf(t);this.setSelectedItem(o,!1),this.useSelectedItem(e)}onSuggestionMouseover(e,t){let o=this.suggestions.indexOf(t);this.setSelectedItem(o,!1)}setSuggestions(e){this.containerEl.empty();let t=[];e.forEach(o=>{let i=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(o,i),t.push(i)}),this.values=e,this.suggestions=t,this.setSelectedItem(0,!1)}useSelectedItem(e){let t=this.values[this.selectedItem];t&&this.owner.selectSuggestion(t,e)}setSelectedItem(e,t){let o=jo(e,this.suggestions.length),i=this.suggestions[this.selectedItem],n=this.suggestions[o];i==null||i.removeClass("is-selected"),n==null||n.addClass("is-selected"),this.selectedItem=o,t&&n.scrollIntoView(!1)}},ve=class{constructor(e,t){this.app=e;this.inputEl=t;this.scope=new wr.Scope,this.suggestEl=createDiv("suggestion-container");let o=this.suggestEl.createDiv("suggestion");this.suggest=new yr(this,o,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",i=>{i.preventDefault()})}onInputChanged(){let e=this.inputEl.value,t=this.getSuggestions(e);if(!t){this.close();return}t.length>0?(this.suggest.setSuggestions(t),this.open(this.app.dom.appContainerEl,this.inputEl)):this.close()}open(e,t){this.app.keymap.pushScope(this.scope),e.appendChild(this.suggestEl),this.popper=Et(t,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:o,instance:i})=>{let n=`${o.rects.reference.width}px`;o.styles.popper.width!==n&&(o.styles.popper.width=n,i.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}};var Oo="{{DATE}}",br="{{DATE:}}",To=/{{D?A?T?E?}?}?$/i,Bo=/{{D?A?T?E?:?$|{{DATE:[^\n\r}]*}}$/i,ko="{{author}}",Io=/{{a?u?t?h?o?r?}?}?$/i,No="{{title}}",Ao=/{{t?i?t?l?e?}?}?$/i,Pt=class extends ve{constructor(e,t){super(e,t);this.app=e;this.inputEl=t;this.lastInput=""}getSuggestions(e){let t=this.inputEl.selectionStart,o=15,i=e.substr(t-o,o),n=[];return this.processToken(i,(s,a)=>{this.lastInput=s[0],n.push(a)}),n}selectSuggestion(e){let t=this.inputEl.selectionStart,o=this.lastInput.length,i=this.inputEl.value,n=0,s=(a,l=0)=>`${i.substr(0,t-o+l)}${a}${i.substr(t)}`;this.processToken(e,(a,l)=>{e.contains(l)&&(this.inputEl.value=s(e),n=t-o+e.length,e===br&&(n-=2))}),this.inputEl.trigger("input"),this.close(),this.inputEl.setSelectionRange(n,n)}renderSuggestion(e,t){e&&t.setText(e)}processToken(e,t){let o=Bo.exec(e);o&&t(o,br);let i=To.exec(e);i&&t(i,Oo);let n=Io.exec(e);n&&t(n,ko);let s=Ao.exec(e);s&&t(s,No)}};var xr=q(require("obsidian"));var ze=class extends ve{getSuggestions(e){let t=this.app.vault.getAllLoadedFiles(),o=[],i=e.toLowerCase();return t.forEach(n=>{n instanceof xr.TFolder&&n.path.toLowerCase().contains(i)&&o.push(n)}),o}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var Sr=q(require("obsidian"));var Ct=class extends ve{getSuggestions(e){let t=this.app.vault.getAllLoadedFiles(),o=[],i=e.toLowerCase();return t.forEach(n=>{n instanceof Sr.TFile&&n.extension==="md"&&n.path.toLowerCase().contains(i)&&o.push(n)}),o}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var Ce=q(require("obsidian")),jt=class extends Ce.Modal{constructor(e,t){super(e.app);this.callback=t;var o,i;this.plugin=e,this.currentServiceProvider=(i=(o=e.settings)==null?void 0:o.serviceProvider)!=null?i:I.google}get settings(){return this.plugin.settings}saveSetting(){return h(this,null,function*(){return this.plugin.saveSettings()})}saveClientId(e){this.currentServiceProvider===I.naver&&(this.plugin.settings.naverClientId=e)}saveClientSecret(e){this.currentServiceProvider===I.naver&&(this.settings.naverClientSecret=e)}get currentClientId(){return this.currentServiceProvider===I.naver?this.settings.naverClientId:""}get currentClientSecret(){return this.currentServiceProvider===I.naver?this.settings.naverClientSecret:""}onOpen(){let{contentEl:e}=this;e.createEl("h2",{text:"Service Provider Setting"}),new Ce.Setting(e).setName("Client ID").addText(t=>{t.setValue(this.currentClientId).onChange(o=>this.saveClientId(o))}),new Ce.Setting(e).setName("Client Secret").addText(t=>{t.setValue(this.currentClientSecret).onChange(o=>this.saveClientSecret(o))}),new Ce.Setting(e).addButton(t=>t.setButtonText("Save").setCta().onClick(()=>h(this,null,function*(){var o;yield this.plugin.saveSettings(),this.close(),(o=this.callback)==null||o.call(this)})))}onClose(){this.contentEl.empty()}};var Do="https://github.com/anpigon/obsidian-book-search-plugin",be;(function(t){t.snakeCase="Snake Case",t.camelCase="Camel Case"})(be||(be={}));var Er={folder:"",fileNameFormat:"",frontmatter:"",content:"",useDefaultFrontmatter:!0,defaultFrontmatterKeyType:be.camelCase,templateFile:"",serviceProvider:I.google,naverClientId:"",naverClientSecret:"",localePreference:"default",apiKey:"",openPageOnCompletion:!0,showCoverImageInSearch:!1,enableCoverImageSave:!1,coverImagePath:""},Ot=class extends _.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t}get settings(){return this.plugin.settings}display(){let{containerEl:e}=this;e.empty(),e.classList.add("book-search-plugin__settings"),Pr(e,"General Settings"),new _.Setting(e).setName("New file location").setDesc("New book notes will be placed here.").addSearch(c=>{try{new ze(this.app,c.inputEl)}catch(m){}c.setPlaceholder("Example: folder1/folder2").setValue(this.plugin.settings.folder).onChange(m=>{this.plugin.settings.folder=m,this.plugin.saveSettings()})});let t=document.createDocumentFragment().createEl("code",{text:We(this.plugin.settings.fileNameFormat)||"{{title}} - {{author}}"});new _.Setting(e).setClass("book-search-plugin__settings--new_file_name").setName("New file name").setDesc("Enter the file name format.").addSearch(c=>{try{new Pt(this.app,c.inputEl)}catch(m){}c.setPlaceholder("Example: {{title}} - {{author}}").setValue(this.plugin.settings.fileNameFormat).onChange(m=>{this.plugin.settings.fileNameFormat=m==null?void 0:m.trim(),this.plugin.saveSettings(),t.innerHTML=We(m)||"{{title}} - {{author}}"})}),e.createEl("div",{cls:["setting-item-description","book-search-plugin__settings--new_file_name_hint"]}).append(t);let o=document.createDocumentFragment();o.createDiv({text:"Files will be available as templates."}),o.createEl("a",{text:"Example Template",href:`${Do}#example-template`}),new _.Setting(e).setName("Template file").setDesc(o).addSearch(c=>{try{new Ct(this.app,c.inputEl)}catch(m){}c.setPlaceholder("Example: templates/template-file").setValue(this.plugin.settings.templateFile).onChange(m=>{this.plugin.settings.templateFile=m,this.plugin.saveSettings()})});let i,n,s=()=>{i.addClass("book-search-plugin__hide")},a=()=>{i.removeClass("book-search-plugin__hide")},l=()=>{n!==void 0&&n.settingEl.addClass("book-search-plugin__hide")},u=()=>{n!==void 0&&n.settingEl.removeClass("book-search-plugin__hide")},p=(c=(m=>(m=this.settings)==null?void 0:m.serviceProvider)())=>{c===I.naver?(a(),l()):(s(),u())};new _.Setting(e).setName("Service Provider").setDesc("Choose the service provider you want to use to search your books.").setClass("book-search-plugin__settings--service_provider").addDropdown(c=>{var m,f;c.addOption(I.google,`${I.google} (Global)`),c.addOption(I.naver,`${I.naver} (Korean)`),c.setValue((f=(m=this.plugin.settings)==null?void 0:m.serviceProvider)!=null?f:I.google),c.onChange(g=>h(this,null,function*(){let y=g;p(y),this.settings.serviceProvider=y,yield this.plugin.saveSettings()}))}).addExtraButton(c=>{i=c.extraSettingsEl,p(),c.onClick(()=>{new jt(this.plugin).open()})}),n=new _.Setting(e).setName("Preferred locale").setDesc("Sets the preferred locale to use when searching for books.").addDropdown(c=>{let m=window.moment.locale();c.addOption(m,`${m} (Default Locale)`),window.moment.locales().forEach(g=>{c.addOption(g,g)});let f=this.settings.localePreference;f==="default"?c.setValue(m):c.setValue(f),c.onChange(g=>h(this,null,function*(){let y=g;this.settings.localePreference=y,yield this.plugin.saveSettings()}))}),new _.Setting(e).setName("Open New Book Note").setDesc("Enable or disable the automatic opening of the note on creation.").addToggle(c=>c.setValue(this.plugin.settings.openPageOnCompletion).onChange(m=>h(this,null,function*(){this.plugin.settings.openPageOnCompletion=m,yield this.plugin.saveSettings()}))),new _.Setting(e).setName("Show Cover Images in Search").setDesc("Toggle to show or hide cover images in the search results.").addToggle(c=>c.setValue(this.plugin.settings.showCoverImageInSearch).onChange(m=>h(this,null,function*(){this.plugin.settings.showCoverImageInSearch=m,yield this.plugin.saveSettings()}))),new _.Setting(e).setName("Enable Cover Image Save").setDesc("Toggle to enable or disable saving cover images in notes.").addToggle(c=>c.setValue(this.plugin.settings.enableCoverImageSave).onChange(m=>h(this,null,function*(){this.plugin.settings.enableCoverImageSave=m,yield this.plugin.saveSettings()}))),new _.Setting(e).setName("Cover Image Path").setDesc("Specify the path where cover images should be saved.").addSearch(c=>{try{new ze(this.app,c.inputEl)}catch(m){}c.setPlaceholder("Enter the path (e.g., Images/Covers)").setValue(this.plugin.settings.coverImagePath).onChange(m=>h(this,null,function*(){this.plugin.settings.coverImagePath=m.trim(),yield this.plugin.saveSettings()}))});let d=[];Mo(e,"Google API Settings",d);let E="";d.push(new _.Setting(e).setClass("book-search-plugin__hide").setName("Google Book API Key").setDesc("Add your Books API key. **WARNING** please use this field after you must understand Google Cloud API, such as API key security.").addText(c=>{c.inputEl.type="password",c.setValue(this.plugin.settings.apiKey).onChange(m=>h(this,null,function*(){E=m}))}).addButton(c=>{c.setButtonText("Save Key").onClick(()=>h(this,null,function*(){this.plugin.settings.apiKey=E,yield this.plugin.saveSettings(),new _.Notice("Apikey Saved")}))}))}};function Pr(r,e){let t=document.createDocumentFragment();return t.createEl("h2",{text:e}),new _.Setting(r).setHeading().setName(t)}function Mo(r,e,t){return Pr(r,e).addToggle(o=>{o.onChange(i=>{t.forEach(({settingEl:n})=>{n.toggleClass("book-search-plugin__show",i)})})})}var Qe=q(require("obsidian"));function Cr(r,e){return h(this,null,function*(){let{metadataCache:t,vault:o}=r,i=(0,Qe.normalizePath)(e!=null?e:"");if(e==="/")return Promise.resolve("");try{let n=t.getFirstLinkpathDest(i,"");return n?o.cachedRead(n):""}catch(n){return console.error(`Failed to read the daily note template '${i}'`,n),new Qe.Notice("Failed to read the daily note template"),""}})}function jr(r){return r.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(e,t,o,i,n,s)=>{let a=window.moment(),l=window.moment().clone().set({hour:a.get("hour"),minute:a.get("minute"),second:a.get("second")});return o&&l.add(parseInt(i,10),n),s?l.format(s.substring(1).trim()):l.format("YYYY-MM-DD")})}function Or(r,e){let t=/<%(?:=)(.+)%>/g,o=Ro();return[...e.matchAll(t)].reduce((n,[s,a])=>{try{let l=new o(["const [book] = arguments",`const output = ${a}`,'if(typeof output === "string") return output',"return JSON.stringify(output)"].join(";"))(r);return n.replace(s,l)}catch(l){console.warn(l)}return n},e)}function Ro(){try{return new Function("return (function(){}).constructor")()}catch(r){throw console.warn(r),r instanceof SyntaxError?Error("Bad template syntax"):r}}function Tr(r,e){return h(this,null,function*(){let t=r.plugins.plugins["templater-obsidian"];t&&!(t==null?void 0:t.settings.trigger_on_file_creation)&&(yield t.templater.overwrite_file_commands(e))})}var Tt=class extends ne.Plugin{onload(){return h(this,null,function*(){yield this.loadSettings(),this.addRibbonIcon("book","Create new book note",()=>this.createNewBookNote()).addClass("obsidian-book-search-plugin-ribbon-class"),this.addCommand({id:"open-book-search-modal",name:"Create new book note",callback:()=>this.createNewBookNote()}),this.addCommand({id:"open-book-search-modal-to-insert",name:"Insert the metadata",callback:()=>this.insertMetadata()}),this.addSettingTab(new Ot(this.app,this)),console.log(`Book Search: version ${this.manifest.version} (requires obsidian ${this.manifest.minAppVersion})`)})}showNotice(e){try{new ne.Notice(e==null?void 0:e.toString())}catch(t){}}searchBookMetadata(e){return h(this,null,function*(){let t=yield this.openBookSearchModal(e);return yield this.openBookSuggestModal(t)})}getRenderedContents(e){return h(this,null,function*(){let{templateFile:t,useDefaultFrontmatter:o,defaultFrontmatterKeyType:i,enableCoverImageSave:n,coverImagePath:s,frontmatter:a,content:l}=this.settings,u="";if(n){let p=e.coverLargeUrl||e.coverMediumUrl||e.coverSmallUrl||e.coverUrl;if(p){let d=pt(e,this.settings.fileNameFormat,"jpg");e.localCoverImage=yield this.downloadAndSaveImage(d,s,p)}}if(t){let p=yield Cr(this.app,t),d=Ie(e,jr(p));u+=Or(e,d)}else{let p=Ie(e,a);o&&(p=Yt(qt(e,p,i)));let d=Ie(e,l);u+=p?`--- +`}).join("").trim()}function Qt(r){let e;return(r==null?void 0:r.offset)!==null&&(r==null?void 0:r.offset)!==void 0&&typeof r.offset=="number"&&(e=window.moment.duration(r.offset,"days")),(r==null?void 0:r.format)?window.moment().add(e).format(r==null?void 0:r.format):window.moment().add(e).format("YYYY-MM-DD")}function ze(r){let e=r;for(;at.test(e);){let t=at.exec(e),o=0;if(t==null?void 0:t[1]){let i=t[1].replace("+","").trim();qt.test(i)&&(o=parseInt(i))}e=Jt(e,at,Qt({offset:o}))}for(;lt.test(e);){let t=lt.exec(e),o=t==null?void 0:t[1],i=0;if(t==null?void 0:t[2]){let n=t[2].replace("+","").trim();qt.test(n)&&(i=parseInt(n))}e=Jt(e,lt,Qt({format:o,offset:i}))}return e}function Jt(r,e,t){return r.replace(e,function(){return t})}var _=z(require("obsidian"));var Kr={en:"English",af:"Afrikaans","ar-dz":"Arabic (Algeria)","ar-kw":"Arabic (Kuwait)","ar-ly":"Arabic (Libya)","ar-ma":"Arabic (Morocco)","ar-sa":"Arabic (Saudi Arabia)","ar-tn":"Arabic (Tunisia)",ar:"Arabic",az:"Azerbaijani",be:"Belarusian",bg:"Bulgarian",bm:"Bambara",bn:"Bengali",bo:"Tibetan",br:"Breton",bs:"Bosnian",ca:"Catalan",cs:"Czech",cv:"Chuvash",cy:"Welsh",da:"Danish","de-at":"German (Austria)","de-ch":"German (Switzerland)",de:"German",dv:"Divehi",el:"Greek","en-au":"English (Australia)","en-ca":"English (Canada)","en-gb":"English (United Kingdom)","en-ie":"English (Ireland)","en-nz":"English (New Zealand)",eo:"Esperanto","es-do":"Spanish (Dominican Republic)","es-us":"Spanish (United States)",es:"Spanish",et:"Estonian",eu:"Basque",fa:"Persian",fi:"Finnish",fo:"Faroese","fr-ca":"French (Canada)","fr-ch":"French (Switzerland)",fr:"French",fy:"Western Frisian",gd:"Scottish Gaelic",gl:"Galician","gom-latn":"gom (Latin)",gu:"Gujarati",he:"Hebrew",hi:"Hindi",hr:"Croatian",hu:"Hungarian","hy-am":"Armenian (Armenia)",id:"Indonesian",is:"Icelandic",it:"Italian",ja:"Japanese",jv:"Javanese",ka:"Georgian",kk:"Kazakh",km:"Khmer",kn:"Kannada",ko:"Korean",ky:"Kirghiz",lb:"Luxembourgish",lo:"Lao",lt:"Lithuanian",lv:"Latvian",me:"me",mi:"Maori",mk:"Macedonian",ml:"Malayalam",mr:"Marathi","ms-my":"Malay (Malaysia)",ms:"Malay",mt:"Maltese",my:"Burmese",nb:"Norwegian Bokm\xE5l",ne:"Nepali","nl-be":"Dutch (Belgium)",nl:"Dutch",nn:"Norwegian Nynorsk","pa-in":"Punjabi (India)",pl:"Polish","pt-br":"Portuguese (Brazil)",pt:"Portuguese",ro:"Romanian",ru:"Russian",sd:"Sindhi",se:"Northern Sami",si:"Sinhala",sk:"Slovak",sl:"Slovenian",sq:"Albanian","sr-cyrl":"Serbian (Cyrillic)",sr:"Serbian",ss:"Swati",sv:"Swedish",sw:"Swahili",ta:"Tamil",te:"Telugu",tet:"Tetum",th:"Thai","tl-ph":"Tagalog (Philippines)",tlh:"Klingon",tr:"Turkish",tzl:"tzl","tzm-latn":"tzm (Latin)",tzm:"tzm",uk:"Ukrainian",ur:"Urdu","uz-latn":"Uzbek (Latin)",uz:"Uzbek",vi:"Vietnamese","x-pseudo":"x-pseudo",yo:"Yoruba","zh-cn":"Chinese (China)","zh-hk":"Chinese (Hong Kong SAR China)","zh-tw":"Chinese (Taiwan)","zh-mo":"Chinese (Macau SAR China)"},Se=Kr;var xe=z(require("obsidian")),ct=class extends xe.Modal{constructor(e,t){super(e.app);this.callback=t;var o,i;this.plugin=e,this.currentServiceProvider=(i=(o=e.settings)==null?void 0:o.serviceProvider)!=null?i:B.google}get settings(){return this.plugin.settings}saveSetting(){return f(this,null,function*(){return this.plugin.saveSettings()})}saveClientId(e){this.currentServiceProvider===B.naver&&(this.plugin.settings.naverClientId=e)}saveClientSecret(e){this.currentServiceProvider===B.naver&&(this.settings.naverClientSecret=e)}get currentClientId(){return this.currentServiceProvider===B.naver?this.settings.naverClientId:""}get currentClientSecret(){return this.currentServiceProvider===B.naver?this.settings.naverClientSecret:""}onOpen(){let{contentEl:e}=this;e.createEl("h2",{text:"Service Provider Setting"}),new xe.Setting(e).setName("Client ID").addText(t=>{t.setValue(this.currentClientId).onChange(o=>this.saveClientId(o))}),new xe.Setting(e).setName("Client Secret").addText(t=>{t.setValue(this.currentClientSecret).onChange(o=>this.saveClientSecret(o))}),new xe.Setting(e).addButton(t=>t.setButtonText("Save").setCta().onClick(()=>f(this,null,function*(){var o;yield this.plugin.saveSettings(),this.close(),(o=this.callback)==null||o.call(this)})))}onClose(){this.contentEl.empty()}};var br=z(require("obsidian"));var C="top",N="bottom",I="right",O="left",qe="auto",oe=[C,N,I,O],Z="start",ce="end",Zt="clippingParents",Ye="viewport",Ee="popper",er="reference",mt=oe.reduce(function(r,e){return r.concat([e+"-"+Z,e+"-"+ce])},[]),Ke=[].concat(oe,[qe]).reduce(function(r,e){return r.concat([e,e+"-"+Z,e+"-"+ce])},[]),Qr="beforeRead",Jr="read",Zr="afterRead",eo="beforeMain",to="main",ro="afterMain",oo="beforeWrite",io="write",no="afterWrite",tr=[Qr,Jr,Zr,eo,to,ro,oo,io,no];function R(r){return r?(r.nodeName||"").toLowerCase():null}function k(r){if(r==null)return window;if(r.toString()!=="[object Window]"){var e=r.ownerDocument;return e&&e.defaultView||window}return r}function Q(r){var e=k(r).Element;return r instanceof e||r instanceof Element}function A(r){var e=k(r).HTMLElement;return r instanceof e||r instanceof HTMLElement}function Pe(r){if(typeof ShadowRoot=="undefined")return!1;var e=k(r).ShadowRoot;return r instanceof e||r instanceof ShadowRoot}function so(r){var e=r.state;Object.keys(e.elements).forEach(function(t){var o=e.styles[t]||{},i=e.attributes[t]||{},n=e.elements[t];!A(n)||!R(n)||(Object.assign(n.style,o),Object.keys(i).forEach(function(s){var a=i[s];a===!1?n.removeAttribute(s):n.setAttribute(s,a===!0?"":a)}))})}function ao(r){var e=r.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(o){var i=e.elements[o],n=e.attributes[o]||{},s=Object.keys(e.styles.hasOwnProperty(o)?e.styles[o]:t[o]),a=s.reduce(function(l,c){return l[c]="",l},{});!A(i)||!R(i)||(Object.assign(i.style,a),Object.keys(n).forEach(function(l){i.removeAttribute(l)}))})}}var rr={name:"applyStyles",enabled:!0,phase:"write",fn:so,effect:ao,requires:["computeStyles"]};function D(r){return r.split("-")[0]}var q=Math.max,me=Math.min,ee=Math.round;function U(r,e){e===void 0&&(e=!1);var t=r.getBoundingClientRect(),o=1,i=1;if(A(r)&&e){var n=r.offsetHeight,s=r.offsetWidth;s>0&&(o=ee(t.width)/s||1),n>0&&(i=ee(t.height)/n||1)}return{width:t.width/o,height:t.height/i,top:t.top/i,right:t.right/o,bottom:t.bottom/i,left:t.left/o,x:t.left/o,y:t.top/i}}function ue(r){var e=U(r),t=r.offsetWidth,o=r.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-o)<=1&&(o=e.height),{x:r.offsetLeft,y:r.offsetTop,width:t,height:o}}function Re(r,e){var t=e.getRootNode&&e.getRootNode();if(r.contains(e))return!0;if(t&&Pe(t)){var o=e;do{if(o&&r.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function V(r){return k(r).getComputedStyle(r)}function ut(r){return["table","td","th"].indexOf(R(r))>=0}function F(r){return((Q(r)?r.ownerDocument:r.document)||window.document).documentElement}function te(r){return R(r)==="html"?r:r.assignedSlot||r.parentNode||(Pe(r)?r.host:null)||F(r)}function or(r){return!A(r)||V(r).position==="fixed"?null:r.offsetParent}function lo(r){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,t=navigator.userAgent.indexOf("Trident")!==-1;if(t&&A(r)){var o=V(r);if(o.position==="fixed")return null}var i=te(r);for(Pe(i)&&(i=i.host);A(i)&&["html","body"].indexOf(R(i))<0;){var n=V(i);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||e&&n.willChange==="filter"||e&&n.filter&&n.filter!=="none")return i;i=i.parentNode}return null}function Y(r){for(var e=k(r),t=or(r);t&&ut(t)&&V(t).position==="static";)t=or(t);return t&&(R(t)==="html"||R(t)==="body"&&V(t).position==="static")?e:t||lo(r)||e}function fe(r){return["top","bottom"].indexOf(r)>=0?"x":"y"}function de(r,e,t){return q(r,me(e,t))}function ir(r,e,t){var o=de(r,e,t);return o>t?t:o}function De(){return{top:0,right:0,bottom:0,left:0}}function Le(r){return Object.assign({},De(),r)}function Me(r,e){return e.reduce(function(t,o){return t[o]=r,t},{})}var po=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,Le(typeof e!="number"?e:Me(e,oe))};function co(r){var e,t=r.state,o=r.name,i=r.options,n=t.elements.arrow,s=t.modifiersData.popperOffsets,a=D(t.placement),l=fe(a),c=[O,I].indexOf(a)>=0,p=c?"height":"width";if(!(!n||!s)){var u=po(i.padding,t),w=ue(n),m=l==="y"?C:O,b=l==="y"?N:I,d=t.rects.reference[p]+t.rects.reference[l]-s[l]-t.rects.popper[p],g=s[l]-t.rects.reference[l],E=Y(n),P=E?l==="y"?E.clientHeight||0:E.clientWidth||0:0,T=d/2-g/2,h=u[m],y=P-w[p]-u[b],v=P/2-w[p]/2+T,S=de(h,v,y),j=l;t.modifiersData[o]=(e={},e[j]=S,e.centerOffset=S-v,e)}}function mo(r){var e=r.state,t=r.options,o=t.element,i=o===void 0?"[data-popper-arrow]":o;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||!Re(e.elements.popper,i)||(e.elements.arrow=i))}var nr={name:"arrow",enabled:!0,phase:"main",fn:co,effect:mo,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function G(r){return r.split("-")[1]}var uo={top:"auto",right:"auto",bottom:"auto",left:"auto"};function fo(r){var e=r.x,t=r.y,o=window,i=o.devicePixelRatio||1;return{x:ee(e*i)/i||0,y:ee(t*i)/i||0}}function sr(r){var e,t=r.popper,o=r.popperRect,i=r.placement,n=r.variation,s=r.offsets,a=r.position,l=r.gpuAcceleration,c=r.adaptive,p=r.roundOffsets,u=r.isFixed,w=s.x,m=w===void 0?0:w,b=s.y,d=b===void 0?0:b,g=typeof p=="function"?p({x:m,y:d}):{x:m,y:d};m=g.x,d=g.y;var E=s.hasOwnProperty("x"),P=s.hasOwnProperty("y"),T=O,h=C,y=window;if(c){var v=Y(t),S="clientHeight",j="clientWidth";if(v===k(t)&&(v=F(t),V(v).position!=="static"&&a==="absolute"&&(S="scrollHeight",j="scrollWidth")),v=v,i===C||(i===O||i===I)&&n===ce){h=N;var L=u&&v===y&&y.visualViewport?y.visualViewport.height:v[S];d-=L-o.height,d*=l?1:-1}if(i===O||(i===C||i===N)&&n===ce){T=I;var M=u&&v===y&&y.visualViewport?y.visualViewport.width:v[j];m-=M-o.width,m*=l?1:-1}}var x=Object.assign({position:a},c&&uo),H=p===!0?fo({x:m,y:d}):{x:m,y:d};if(m=H.x,d=H.y,l){var $;return Object.assign({},x,($={},$[h]=P?"0":"",$[T]=E?"0":"",$.transform=(y.devicePixelRatio||1)<=1?"translate("+m+"px, "+d+"px)":"translate3d("+m+"px, "+d+"px, 0)",$))}return Object.assign({},x,(e={},e[h]=P?d+"px":"",e[T]=E?m+"px":"",e.transform="",e))}function go(r){var e=r.state,t=r.options,o=t.gpuAcceleration,i=o===void 0?!0:o,n=t.adaptive,s=n===void 0?!0:n,a=t.roundOffsets,l=a===void 0?!0:a;if(!1)var c;var p={placement:D(e.placement),variation:G(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,sr(Object.assign({},p,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,sr(Object.assign({},p,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var ar={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:go,data:{}};var Qe={passive:!0};function ho(r){var e=r.state,t=r.instance,o=r.options,i=o.scroll,n=i===void 0?!0:i,s=o.resize,a=s===void 0?!0:s,l=k(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return n&&c.forEach(function(p){p.addEventListener("scroll",t.update,Qe)}),a&&l.addEventListener("resize",t.update,Qe),function(){n&&c.forEach(function(p){p.removeEventListener("scroll",t.update,Qe)}),a&&l.removeEventListener("resize",t.update,Qe)}}var lr={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ho,data:{}};var vo={left:"right",right:"left",bottom:"top",top:"bottom"};function Te(r){return r.replace(/left|right|bottom|top/g,function(e){return vo[e]})}var wo={start:"end",end:"start"};function Je(r){return r.replace(/start|end/g,function(e){return wo[e]})}function ge(r){var e=k(r),t=e.pageXOffset,o=e.pageYOffset;return{scrollLeft:t,scrollTop:o}}function he(r){return U(F(r)).left+ge(r).scrollLeft}function ft(r){var e=k(r),t=F(r),o=e.visualViewport,i=t.clientWidth,n=t.clientHeight,s=0,a=0;return o&&(i=o.width,n=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,a=o.offsetTop)),{width:i,height:n,x:s+he(r),y:a}}function dt(r){var e,t=F(r),o=ge(r),i=(e=r.ownerDocument)==null?void 0:e.body,n=q(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),s=q(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-o.scrollLeft+he(r),l=-o.scrollTop;return V(i||t).direction==="rtl"&&(a+=q(t.clientWidth,i?i.clientWidth:0)-n),{width:n,height:s,x:a,y:l}}function ve(r){var e=V(r),t=e.overflow,o=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+i+o)}function Ze(r){return["html","body","#document"].indexOf(R(r))>=0?r.ownerDocument.body:A(r)&&ve(r)?r:Ze(te(r))}function ie(r,e){var t;e===void 0&&(e=[]);var o=Ze(r),i=o===((t=r.ownerDocument)==null?void 0:t.body),n=k(o),s=i?[n].concat(n.visualViewport||[],ve(o)?o:[]):o,a=e.concat(s);return i?a:a.concat(ie(te(s)))}function Ce(r){return Object.assign({},r,{left:r.x,top:r.y,right:r.x+r.width,bottom:r.y+r.height})}function yo(r){var e=U(r);return e.top=e.top+r.clientTop,e.left=e.left+r.clientLeft,e.bottom=e.top+r.clientHeight,e.right=e.left+r.clientWidth,e.width=r.clientWidth,e.height=r.clientHeight,e.x=e.left,e.y=e.top,e}function pr(r,e){return e===Ye?Ce(ft(r)):Q(e)?yo(e):Ce(dt(F(r)))}function bo(r){var e=ie(te(r)),t=["absolute","fixed"].indexOf(V(r).position)>=0,o=t&&A(r)?Y(r):r;return Q(o)?e.filter(function(i){return Q(i)&&Re(i,o)&&R(i)!=="body"}):[]}function gt(r,e,t){var o=e==="clippingParents"?bo(r):[].concat(e),i=[].concat(o,[t]),n=i[0],s=i.reduce(function(a,l){var c=pr(r,l);return a.top=q(c.top,a.top),a.right=me(c.right,a.right),a.bottom=me(c.bottom,a.bottom),a.left=q(c.left,a.left),a},pr(r,n));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function Fe(r){var e=r.reference,t=r.element,o=r.placement,i=o?D(o):null,n=o?G(o):null,s=e.x+e.width/2-t.width/2,a=e.y+e.height/2-t.height/2,l;switch(i){case C:l={x:s,y:e.y-t.height};break;case N:l={x:s,y:e.y+e.height};break;case I:l={x:e.x+e.width,y:a};break;case O:l={x:e.x-t.width,y:a};break;default:l={x:e.x,y:e.y}}var c=i?fe(i):null;if(c!=null){var p=c==="y"?"height":"width";switch(n){case Z:l[c]=l[c]-(e[p]/2-t[p]/2);break;case ce:l[c]=l[c]+(e[p]/2-t[p]/2);break;default:}}return l}function K(r,e){e===void 0&&(e={});var t=e,o=t.placement,i=o===void 0?r.placement:o,n=t.boundary,s=n===void 0?Zt:n,a=t.rootBoundary,l=a===void 0?Ye:a,c=t.elementContext,p=c===void 0?Ee:c,u=t.altBoundary,w=u===void 0?!1:u,m=t.padding,b=m===void 0?0:m,d=Le(typeof b!="number"?b:Me(b,oe)),g=p===Ee?er:Ee,E=r.rects.popper,P=r.elements[w?g:p],T=gt(Q(P)?P:P.contextElement||F(r.elements.popper),s,l),h=U(r.elements.reference),y=Fe({reference:h,element:E,strategy:"absolute",placement:i}),v=Ce(Object.assign({},E,y)),S=p===Ee?v:h,j={top:T.top-S.top+d.top,bottom:S.bottom-T.bottom+d.bottom,left:T.left-S.left+d.left,right:S.right-T.right+d.right},L=r.modifiersData.offset;if(p===Ee&&L){var M=L[i];Object.keys(j).forEach(function(x){var H=[I,N].indexOf(x)>=0?1:-1,$=[C,N].indexOf(x)>=0?"y":"x";j[x]+=M[$]*H})}return j}function ht(r,e){e===void 0&&(e={});var t=e,o=t.placement,i=t.boundary,n=t.rootBoundary,s=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=l===void 0?Ke:l,p=G(o),u=p?a?mt:mt.filter(function(b){return G(b)===p}):oe,w=u.filter(function(b){return c.indexOf(b)>=0});w.length===0&&(w=u);var m=w.reduce(function(b,d){return b[d]=K(r,{placement:d,boundary:i,rootBoundary:n,padding:s})[D(d)],b},{});return Object.keys(m).sort(function(b,d){return m[b]-m[d]})}function So(r){if(D(r)===qe)return[];var e=Te(r);return[Je(r),e,Je(e)]}function xo(r){var e=r.state,t=r.options,o=r.name;if(!e.modifiersData[o]._skip){for(var i=t.mainAxis,n=i===void 0?!0:i,s=t.altAxis,a=s===void 0?!0:s,l=t.fallbackPlacements,c=t.padding,p=t.boundary,u=t.rootBoundary,w=t.altBoundary,m=t.flipVariations,b=m===void 0?!0:m,d=t.allowedAutoPlacements,g=e.options.placement,E=D(g),P=E===g,T=l||(P||!b?[Te(g)]:So(g)),h=[g].concat(T).reduce(function(ye,re){return ye.concat(D(re)===qe?ht(e,{placement:re,boundary:p,rootBoundary:u,padding:c,flipVariations:b,allowedAutoPlacements:d}):re)},[]),y=e.rects.reference,v=e.rects.popper,S=new Map,j=!0,L=h[0],M=0;M=0,Be=je?"width":"height",W=K(e,{placement:x,boundary:p,rootBoundary:u,altBoundary:w,padding:c}),X=je?$?I:O:$?N:C;y[Be]>v[Be]&&(X=Te(X));var Ve=Te(X),se=[];if(n&&se.push(W[H]<=0),a&&se.push(W[X]<=0,W[Ve]<=0),se.every(function(ye){return ye})){L=x,j=!1;break}S.set(x,se)}if(j)for(var He=b?3:1,rt=function(re){var ke=h.find(function(We){var ae=S.get(We);if(ae)return ae.slice(0,re).every(function(ot){return ot})});if(ke)return L=ke,"break"},Oe=He;Oe>0;Oe--){var $e=rt(Oe);if($e==="break")break}e.placement!==L&&(e.modifiersData[o]._skip=!0,e.placement=L,e.reset=!0)}}var cr={name:"flip",enabled:!0,phase:"main",fn:xo,requiresIfExists:["offset"],data:{_skip:!1}};function mr(r,e,t){return t===void 0&&(t={x:0,y:0}),{top:r.top-e.height-t.y,right:r.right-e.width+t.x,bottom:r.bottom-e.height+t.y,left:r.left-e.width-t.x}}function ur(r){return[C,I,N,O].some(function(e){return r[e]>=0})}function Eo(r){var e=r.state,t=r.name,o=e.rects.reference,i=e.rects.popper,n=e.modifiersData.preventOverflow,s=K(e,{elementContext:"reference"}),a=K(e,{altBoundary:!0}),l=mr(s,o),c=mr(a,i,n),p=ur(l),u=ur(c);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}var fr={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Eo};function Po(r,e,t){var o=D(r),i=[O,C].indexOf(o)>=0?-1:1,n=typeof t=="function"?t(Object.assign({},e,{placement:r})):t,s=n[0],a=n[1];return s=s||0,a=(a||0)*i,[O,I].indexOf(o)>=0?{x:a,y:s}:{x:s,y:a}}function To(r){var e=r.state,t=r.options,o=r.name,i=t.offset,n=i===void 0?[0,0]:i,s=Ke.reduce(function(p,u){return p[u]=Po(u,e.rects,n),p},{}),a=s[e.placement],l=a.x,c=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[o]=s}var dr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:To};function Co(r){var e=r.state,t=r.name;e.modifiersData[t]=Fe({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var gr={name:"popperOffsets",enabled:!0,phase:"read",fn:Co,data:{}};function vt(r){return r==="x"?"y":"x"}function jo(r){var e=r.state,t=r.options,o=r.name,i=t.mainAxis,n=i===void 0?!0:i,s=t.altAxis,a=s===void 0?!1:s,l=t.boundary,c=t.rootBoundary,p=t.altBoundary,u=t.padding,w=t.tether,m=w===void 0?!0:w,b=t.tetherOffset,d=b===void 0?0:b,g=K(e,{boundary:l,rootBoundary:c,padding:u,altBoundary:p}),E=D(e.placement),P=G(e.placement),T=!P,h=fe(E),y=vt(h),v=e.modifiersData.popperOffsets,S=e.rects.reference,j=e.rects.popper,L=typeof d=="function"?d(Object.assign({},e.rects,{placement:e.placement})):d,M=typeof L=="number"?{mainAxis:L,altAxis:L}:Object.assign({mainAxis:0,altAxis:0},L),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,H={x:0,y:0};if(!!v){if(n){var $,je=h==="y"?C:O,Be=h==="y"?N:I,W=h==="y"?"height":"width",X=v[h],Ve=X+g[je],se=X-g[Be],He=m?-j[W]/2:0,rt=P===Z?S[W]:j[W],Oe=P===Z?-j[W]:-S[W],$e=e.elements.arrow,ye=m&&$e?ue($e):{width:0,height:0},re=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:De(),ke=re[je],We=re[Be],ae=de(0,S[W],ye[W]),ot=T?S[W]/2-He-ae-ke-M.mainAxis:rt-ae-ke-M.mainAxis,Ir=T?-S[W]/2+He+ae+We+M.mainAxis:Oe+ae+We+M.mainAxis,it=e.elements.arrow&&Y(e.elements.arrow),Nr=it?h==="y"?it.clientTop||0:it.clientLeft||0:0,Nt=($=x==null?void 0:x[h])!=null?$:0,Ar=X+ot-Nt-Nr,Rr=X+Ir-Nt,At=de(m?me(Ve,Ar):Ve,X,m?q(se,Rr):se);v[h]=At,H[h]=At-X}if(a){var Rt,Dr=h==="x"?C:O,Lr=h==="x"?N:I,le=v[y],Ue=y==="y"?"height":"width",Dt=le+g[Dr],Lt=le-g[Lr],nt=[C,O].indexOf(E)!==-1,Mt=(Rt=x==null?void 0:x[y])!=null?Rt:0,Ft=nt?Dt:le-S[Ue]-j[Ue]-Mt+M.altAxis,_t=nt?le+S[Ue]+j[Ue]-Mt-M.altAxis:Lt,Vt=m&&nt?ir(Ft,le,_t):de(m?Ft:Dt,le,m?_t:Lt);v[y]=Vt,H[y]=Vt-le}e.modifiersData[o]=H}}var hr={name:"preventOverflow",enabled:!0,phase:"main",fn:jo,requiresIfExists:["offset"]};function wt(r){return{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}}function yt(r){return r===k(r)||!A(r)?ge(r):wt(r)}function Bo(r){var e=r.getBoundingClientRect(),t=ee(e.width)/r.offsetWidth||1,o=ee(e.height)/r.offsetHeight||1;return t!==1||o!==1}function bt(r,e,t){t===void 0&&(t=!1);var o=A(e),i=A(e)&&Bo(e),n=F(e),s=U(r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!t)&&((R(e)!=="body"||ve(n))&&(a=yt(e)),A(e)?(l=U(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):n&&(l.x=he(n))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function Oo(r){var e=new Map,t=new Set,o=[];r.forEach(function(n){e.set(n.name,n)});function i(n){t.add(n.name);var s=[].concat(n.requires||[],n.requiresIfExists||[]);s.forEach(function(a){if(!t.has(a)){var l=e.get(a);l&&i(l)}}),o.push(n)}return r.forEach(function(n){t.has(n.name)||i(n)}),o}function St(r){var e=Oo(r);return tr.reduce(function(t,o){return t.concat(e.filter(function(i){return i.phase===o}))},[])}function xt(r){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(r())})})),e}}function Et(r){var e=r.reduce(function(t,o){var i=t[o.name];return t[o.name]=i?Object.assign({},i,o,{options:Object.assign({},i.options,o.options),data:Object.assign({},i.data,o.data)}):o,t},{});return Object.keys(e).map(function(t){return e[t]})}var vr={placement:"bottom",modifiers:[],strategy:"absolute"};function wr(){for(var r=arguments.length,e=new Array(r),t=0;t(r%e+e)%e,Sr=class{constructor(e,t,o){this.owner=e,this.containerEl=t,t.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),t.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),o.register([],"ArrowUp",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),o.register([],"ArrowDown",i=>{if(!i.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),o.register([],"Enter",i=>{if(!i.isComposing)return this.useSelectedItem(i),!1})}onSuggestionClick(e,t){e.preventDefault();let o=this.suggestions.indexOf(t);this.setSelectedItem(o,!1),this.useSelectedItem(e)}onSuggestionMouseover(e,t){let o=this.suggestions.indexOf(t);this.setSelectedItem(o,!1)}setSuggestions(e){this.containerEl.empty();let t=[];e.forEach(o=>{let i=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(o,i),t.push(i)}),this.values=e,this.suggestions=t,this.setSelectedItem(0,!1)}useSelectedItem(e){let t=this.values[this.selectedItem];t&&this.owner.selectSuggestion(t,e)}setSelectedItem(e,t){let o=Io(e,this.suggestions.length),i=this.suggestions[this.selectedItem],n=this.suggestions[o];i==null||i.removeClass("is-selected"),n==null||n.addClass("is-selected"),this.selectedItem=o,t&&n.scrollIntoView(!1)}},we=class{constructor(e,t){this.app=e;this.inputEl=t;this.scope=new br.Scope,this.suggestEl=createDiv("suggestion-container");let o=this.suggestEl.createDiv("suggestion");this.suggest=new Sr(this,o,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",i=>{i.preventDefault()})}onInputChanged(){let e=this.inputEl.value,t=this.getSuggestions(e);if(!t){this.close();return}t.length>0?(this.suggest.setSuggestions(t),this.open(this.app.dom.appContainerEl,this.inputEl)):this.close()}open(e,t){this.app.keymap.pushScope(this.scope),e.appendChild(this.suggestEl),this.popper=Pt(t,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:o,instance:i})=>{let n=`${o.rects.reference.width}px`;o.styles.popper.width!==n&&(o.styles.popper.width=n,i.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}};var No="{{DATE}}",xr="{{DATE:}}",Ao=/{{D?A?T?E?}?}?$/i,Ro=/{{D?A?T?E?:?$|{{DATE:[^\n\r}]*}}$/i,Do="{{author}}",Lo=/{{a?u?t?h?o?r?}?}?$/i,Mo="{{title}}",Fo=/{{t?i?t?l?e?}?}?$/i,Tt=class extends we{constructor(e,t){super(e,t);this.app=e;this.inputEl=t;this.lastInput=""}getSuggestions(e){let t=this.inputEl.selectionStart,o=15,i=e.substr(t-o,o),n=[];return this.processToken(i,(s,a)=>{this.lastInput=s[0],n.push(a)}),n}selectSuggestion(e){let t=this.inputEl.selectionStart,o=this.lastInput.length,i=this.inputEl.value,n=0,s=(a,l=0)=>`${i.substr(0,t-o+l)}${a}${i.substr(t)}`;this.processToken(e,(a,l)=>{e.contains(l)&&(this.inputEl.value=s(e),n=t-o+e.length,e===xr&&(n-=2))}),this.inputEl.trigger("input"),this.close(),this.inputEl.setSelectionRange(n,n)}renderSuggestion(e,t){e&&t.setText(e)}processToken(e,t){let o=Ro.exec(e);o&&t(o,xr);let i=Ao.exec(e);i&&t(i,No);let n=Lo.exec(e);n&&t(n,Do);let s=Fo.exec(e);s&&t(s,Mo)}};var Er=z(require("obsidian"));var Ct=class extends we{getSuggestions(e){let t=this.app.vault.getAllLoadedFiles(),o=[],i=e.toLowerCase();return t.forEach(n=>{n instanceof Er.TFile&&n.extension==="md"&&n.path.toLowerCase().contains(i)&&o.push(n)}),o}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var Pr=z(require("obsidian"));var et=class extends we{getSuggestions(e){let t=this.app.vault.getAllLoadedFiles(),o=[],i=e.toLowerCase();return t.forEach(n=>{n instanceof Pr.TFolder&&n.path.toLowerCase().contains(i)&&o.push(n)}),o}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.trigger("input"),this.close()}};var _o="https://github.com/anpigon/obsidian-book-search-plugin",be;(function(t){t.snakeCase="Snake Case",t.camelCase="Camel Case"})(be||(be={}));var _e={folder:"",fileNameFormat:"",frontmatter:"",content:"",useDefaultFrontmatter:!0,defaultFrontmatterKeyType:be.camelCase,templateFile:"",serviceProvider:B.google,naverClientId:"",naverClientSecret:"",localePreference:"default",apiKey:"",openPageOnCompletion:!0,showCoverImageInSearch:!1,enableCoverImageSave:!1,coverImagePath:""},jt=class extends _.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t}createGeneralSettings(e){this.createHeader("General Settings",e),this.createFileLocationSetting(e),this.createFileNameFormatSetting(e)}createHeader(e,t){let o=document.createDocumentFragment();return o.createEl("h2",{text:e}),new _.Setting(t).setHeading().setName(o)}createFoldingHeader(e,t,o){return this.createHeader(t,e).addToggle(i=>{i.onChange(n=>{o.forEach(({settingEl:s})=>{s.toggleClass("book-search-plugin__show",n)})})})}createFileLocationSetting(e){new _.Setting(e).setName("New file location").setDesc("New book notes will be placed here.").addSearch(t=>{try{new et(this.app,t.inputEl)}catch(o){console.error(o)}t.setPlaceholder("Example: folder1/folder2").setValue(this.plugin.settings.folder).onChange(o=>{this.plugin.settings.folder=o,this.plugin.saveSettings()})})}createFileNameFormatSetting(e){let t=document.createDocumentFragment().createEl("code",{text:ze(this.plugin.settings.fileNameFormat)||"{{title}} - {{author}}"});new _.Setting(e).setClass("book-search-plugin__settings--new_file_name").setName("New file name").setDesc("Enter the file name format.").addSearch(o=>{try{new Tt(this.app,o.inputEl)}catch(i){console.error(i)}o.setPlaceholder("Example: {{title}} - {{author}}").setValue(this.plugin.settings.fileNameFormat).onChange(i=>{this.plugin.settings.fileNameFormat=i==null?void 0:i.trim(),this.plugin.saveSettings(),t.innerHTML=ze(i)||"{{title}} - {{author}}"})}),e.createEl("div",{cls:["setting-item-description","book-search-plugin__settings--new_file_name_hint"]}).append(t)}createAPIKeySettings(e){let t=[];this.createFoldingHeader(e,"Google API Settings",t);let o="";t.push(new _.Setting(e).setClass("book-search-plugin__hide").setName("Google Book API Key").setDesc("Add your Books API key. **WARNING** please use this field after you must understand Google Cloud API, such as API key security.").addText(i=>{i.inputEl.type="password",i.setValue(this.plugin.settings.apiKey).onChange(n=>f(this,null,function*(){o=n}))}).addButton(i=>{i.setButtonText("Save Key").onClick(()=>f(this,null,function*(){this.plugin.settings.apiKey=o,yield this.plugin.saveSettings(),new _.Notice("Apikey Saved")}))}))}createTemplateFileSetting(e){let t=document.createDocumentFragment();t.createDiv({text:"Files will be available as templates."}),t.createEl("a",{text:"Example Template",href:`${_o}#example-template`}),new _.Setting(e).setName("Template file").setDesc(t).addSearch(o=>{try{new Ct(this.app,o.inputEl)}catch(i){}o.setPlaceholder("Example: templates/template-file").setValue(this.plugin.settings.templateFile).onChange(i=>{this.plugin.settings.templateFile=i,this.plugin.saveSettings()})})}display(){let{containerEl:e}=this;e.empty(),e.classList.add("book-search-plugin__settings"),this.createGeneralSettings(e),this.createTemplateFileSetting(e);let t,o,i=()=>{t.addClass("book-search-plugin__hide")},n=()=>{t.removeClass("book-search-plugin__hide")},s=()=>{o!==void 0&&o.settingEl.addClass("book-search-plugin__hide")},a=()=>{o!==void 0&&o.settingEl.removeClass("book-search-plugin__hide")},l=(c=(p=>(p=this.plugin.settings)==null?void 0:p.serviceProvider)())=>{c===B.naver?(n(),s()):(i(),a())};new _.Setting(e).setName("Service Provider").setDesc("Choose the service provider you want to use to search your books.").setClass("book-search-plugin__settings--service_provider").addDropdown(c=>{var p,u;c.addOption(B.google,`${B.google} (Global)`),c.addOption(B.naver,`${B.naver} (Korean)`),c.setValue((u=(p=this.plugin.settings)==null?void 0:p.serviceProvider)!=null?u:B.google),c.onChange(w=>f(this,null,function*(){let m=w;l(m),this.plugin.settings.serviceProvider=m,yield this.plugin.saveSettings()}))}).addExtraButton(c=>{t=c.extraSettingsEl,l(),c.onClick(()=>{new ct(this.plugin).open()})}),o=new _.Setting(e).setName("Preferred locale").setDesc("Sets the preferred locale to use when searching for books.").addDropdown(c=>{let p=window.moment.locale();c.addOption(p,`${Se[p]||p} (Default Locale)`),window.moment.locales().forEach(w=>{let m=Se[w];m&&w!==p&&c.addOption(w,m)});let u=this.plugin.settings.localePreference;c.setValue(u===_e.localePreference?p:u).onChange(w=>f(this,null,function*(){let m=w;this.plugin.settings.localePreference=m,yield this.plugin.saveSettings()}))}),new _.Setting(e).setName("Open New Book Note").setDesc("Enable or disable the automatic opening of the note on creation.").addToggle(c=>c.setValue(this.plugin.settings.openPageOnCompletion).onChange(p=>f(this,null,function*(){this.plugin.settings.openPageOnCompletion=p,yield this.plugin.saveSettings()}))),new _.Setting(e).setName("Show Cover Images in Search").setDesc("Toggle to show or hide cover images in the search results.").addToggle(c=>c.setValue(this.plugin.settings.showCoverImageInSearch).onChange(p=>f(this,null,function*(){this.plugin.settings.showCoverImageInSearch=p,yield this.plugin.saveSettings()}))),new _.Setting(e).setName("Enable Cover Image Save").setDesc("Toggle to enable or disable saving cover images in notes.").addToggle(c=>c.setValue(this.plugin.settings.enableCoverImageSave).onChange(p=>f(this,null,function*(){this.plugin.settings.enableCoverImageSave=p,yield this.plugin.saveSettings()}))),new _.Setting(e).setName("Cover Image Path").setDesc("Specify the path where cover images should be saved.").addSearch(c=>{try{new et(this.app,c.inputEl)}catch(p){}c.setPlaceholder("Enter the path (e.g., Images/Covers)").setValue(this.plugin.settings.coverImagePath).onChange(p=>f(this,null,function*(){this.plugin.settings.coverImagePath=p.trim(),yield this.plugin.saveSettings()}))}),this.createAPIKeySettings(e)}};var J=z(require("obsidian")),Bt=class extends J.Modal{constructor(e,t,o){super(e.app);this.plugin=e;this.query=t;this.callback=o;this.SEARCH_BUTTON_TEXT="Search";this.REQUESTING_BUTTON_TEXT="Requesting...";this.isBusy=!1;this.options={locale:e.settings.localePreference},this.serviceProvider=zt(e.settings)}setBusy(e){var t;this.isBusy=e,(t=this.okBtnRef)==null||t.setDisabled(e).setButtonText(e?this.REQUESTING_BUTTON_TEXT:this.SEARCH_BUTTON_TEXT)}searchBook(){return f(this,null,function*(){if(!this.query)return void new J.Notice("No query entered.");if(!this.isBusy){this.setBusy(!0);try{let e=yield this.serviceProvider.getByQuery(this.query,this.options);if(!(e==null?void 0:e.length))return void new J.Notice(`No results found for "${this.query}"`);this.callback(null,e)}catch(e){this.callback(e)}finally{this.setBusy(!1),this.close()}}})}onOpen(){let{contentEl:e}=this;e.createEl("h2",{text:"Search Book"}),this.plugin.settings.serviceProvider===B.google&&this.renderSelectLocale(),e.createDiv({cls:"book-search-plugin__search-modal--input"},t=>{new J.TextComponent(t).setValue(this.query).setPlaceholder("Search by keyword or ISBN").onChange(o=>this.query=o).inputEl.addEventListener("keydown",o=>o.key==="Enter"&&!o.isComposing&&this.searchBook())}),new J.Setting(this.contentEl).addButton(t=>{this.okBtnRef=t.setButtonText(this.SEARCH_BUTTON_TEXT).setCta().onClick(()=>this.searchBook())})}renderSelectLocale(){let e=window.moment.locale();new J.Setting(this.contentEl).setName("Locale").addDropdown(t=>{t.addOption(e,`${Se[e]||e}`),window.moment.locales().forEach(o=>{let i=Se[o];i&&o!==e&&t.addOption(o,i)}),t.setValue(this.options.locale===_e.localePreference?e:this.options.locale).onChange(o=>this.options.locale=o)})}onClose(){let{contentEl:e}=this;e.empty()}};var Tr=z(require("obsidian")),Ot=class extends Tr.SuggestModal{constructor(e,t,o,i){super(e);this.suggestion=o;this.onChoose=i;this.showCoverImageInSearch=t}getSuggestions(e){return this.suggestion.filter(t=>{var i,n,s;let o=e==null?void 0:e.toLowerCase();return((i=t.title)==null?void 0:i.toLowerCase().includes(o))||((n=t.author)==null?void 0:n.toLowerCase().includes(o))||((s=t.publisher)==null?void 0:s.toLowerCase().includes(o))})}renderSuggestion(e,t){t.addClass("book-suggestion-item");let o=e.coverLargeUrl||e.coverMediumUrl||e.coverSmallUrl||e.coverUrl;this.showCoverImageInSearch&&o&&t.createEl("img",{cls:"book-cover-image",attr:{src:o,alt:`Cover Image for ${e.title}`}});let i=t.createEl("div",{cls:"book-text-info"});i.createEl("div",{text:e.title});let n=e.publisher?`, ${e.publisher}`:"",s=e.publishDate?`(${e.publishDate})`:"",a=e.totalPage?`, p${e.totalPage}`:"",l=`${e.author}${n}${s}${a}`;i.createEl("small",{text:l})}onChooseSuggestion(e){this.onChoose(null,e)}};var Cr=z(require("obsidian")),kt=class{constructor(e){this.app=e}jumpToNextCursorLocation(){return f(this,null,function*(){let e=this.app.workspace.getActiveViewOfType(Cr.MarkdownView);if(!e)return;let o=(yield this.app.vault.cachedRead(e.file)).length+1,i=e.editor;i.focus(),i.setCursor(o,0)})}};var tt=z(require("obsidian"));function jr(r,e){return f(this,null,function*(){let{metadataCache:t,vault:o}=r,i=(0,tt.normalizePath)(e!=null?e:"");if(e==="/")return Promise.resolve("");try{let n=t.getFirstLinkpathDest(i,"");return n?o.cachedRead(n):""}catch(n){return console.error(`Failed to read the daily note template '${i}'`,n),new tt.Notice("Failed to read the daily note template"),""}})}function Br(r){return r.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(e,t,o,i,n,s)=>{let a=window.moment(),l=window.moment().clone().set({hour:a.get("hour"),minute:a.get("minute"),second:a.get("second")});return o&&l.add(parseInt(i,10),n),s?l.format(s.substring(1).trim()):l.format("YYYY-MM-DD")})}function Or(r,e){let t=/<%(?:=)(.+)%>/g,o=Vo();return[...e.matchAll(t)].reduce((n,[s,a])=>{try{let l=new o(["const [book] = arguments",`const output = ${a}`,'if(typeof output === "string") return output',"return JSON.stringify(output)"].join(";"))(r);return n.replace(s,l)}catch(l){console.warn(l)}return n},e)}function Vo(){try{return new Function("return (function(){}).constructor")()}catch(r){throw console.warn(r),r instanceof SyntaxError?Error("Bad template syntax"):r}}function kr(r,e){return f(this,null,function*(){let t=r.plugins.plugins["templater-obsidian"];t&&!(t==null?void 0:t.settings.trigger_on_file_creation)&&(yield t.templater.overwrite_file_commands(e))})}var It=class extends ne.Plugin{onload(){return f(this,null,function*(){yield this.loadSettings(),this.addRibbonIcon("book","Create new book note",()=>this.createNewBookNote()).addClass("obsidian-book-search-plugin-ribbon-class"),this.addCommand({id:"open-book-search-modal",name:"Create new book note",callback:()=>this.createNewBookNote()}),this.addCommand({id:"open-book-search-modal-to-insert",name:"Insert the metadata",callback:()=>this.insertMetadata()}),this.addSettingTab(new jt(this.app,this)),console.log(`Book Search: version ${this.manifest.version} (requires obsidian ${this.manifest.minAppVersion})`)})}showNotice(e){try{new ne.Notice(e==null?void 0:e.toString())}catch(t){}}searchBookMetadata(e){return f(this,null,function*(){let t=yield this.openBookSearchModal(e);return yield this.openBookSuggestModal(t)})}getRenderedContents(e){return f(this,null,function*(){let{templateFile:t,useDefaultFrontmatter:o,defaultFrontmatterKeyType:i,enableCoverImageSave:n,coverImagePath:s,frontmatter:a,content:l}=this.settings,c="";if(n){let p=e.coverLargeUrl||e.coverMediumUrl||e.coverSmallUrl||e.coverUrl;if(p){let u=pt(e,this.settings.fileNameFormat,"jpg");e.localCoverImage=yield this.downloadAndSaveImage(u,s,p)}}if(t){let p=yield jr(this.app,t),u=Ae(e,Br(p));c+=Or(e,u)}else{let p=Ae(e,a);o&&(p=Kt(Yt(e,p,i)));let u=Ae(e,l);c+=p?`--- ${p} --- -${d}`:d}return u})}downloadAndSaveImage(e,t,o){return h(this,null,function*(){let{enableCoverImageSave:i}=this.settings;if(!i)return console.warn("Cover image saving is not enabled."),"";try{let n=yield(0,ne.requestUrl)({url:o,method:"GET",headers:{Accept:"image/*"}});if(console.log(n.headers),n.status!==200)throw new Error(`Failed to download image: ${n.status}`);let s=n.arrayBuffer,a=`${t}/${e}`;return yield this.app.vault.adapter.writeBinary(a,s),a}catch(n){return console.error("Error downloading or saving image:",n),""}})}insertMetadata(){return h(this,null,function*(){try{let e=this.app.workspace.getActiveViewOfType(ne.MarkdownView);if(!e){console.warn("Can not find an active markdown view");return}let t=yield this.searchBookMetadata(e.file.basename);if(!e.editor){console.warn("Can not find editor from the active markdown view");return}let o=yield this.getRenderedContents(t);e.editor.replaceRange(o,{line:0,ch:0})}catch(e){console.warn(e),this.showNotice(e)}})}createNewBookNote(){return h(this,null,function*(){try{let e=yield this.searchBookMetadata(),t=yield this.getRenderedContents(e),o=pt(e,this.settings.fileNameFormat),i=`${this.settings.folder}/${o}`,n=yield this.app.vault.create(i,t);yield Tr(this.app,n),this.openNewBookNote(n)}catch(e){console.warn(e),this.showNotice(e)}})}openNewBookNote(e){return h(this,null,function*(){if(!this.settings.openPageOnCompletion)return;let t=this.app.workspace.getLeaf();if(!t){console.warn("No active leaf");return}yield t.openFile(e,{state:{mode:"source"}}),t.setEphemeralState({rename:"all"}),yield new st(this.app).jumpToNextCursorLocation()})}openBookSearchModal(e=""){return h(this,null,function*(){return new Promise((t,o)=>new it(this,e,(i,n)=>i?o(i):t(n)).open())})}openBookSuggestModal(e){return h(this,null,function*(){return new Promise((t,o)=>new nt(this.app,this.settings.showCoverImageInSearch,e,(i,n)=>i?o(i):t(n)).open())})}loadSettings(){return h(this,null,function*(){this.settings=Object.assign({},Er,yield this.loadData())})}saveSettings(){return h(this,null,function*(){yield this.saveData(this.settings)})}}; +${u}`:u}return c})}downloadAndSaveImage(e,t,o){return f(this,null,function*(){let{enableCoverImageSave:i}=this.settings;if(!i)return console.warn("Cover image saving is not enabled."),"";try{let n=yield(0,ne.requestUrl)({url:o,method:"GET",headers:{Accept:"image/*"}});if(n.status!==200)throw new Error(`Failed to download image: ${n.status}`);let s=n.arrayBuffer,a=`${t}/${e}`;return yield this.app.vault.adapter.writeBinary(a,s),a}catch(n){return console.error("Error downloading or saving image:",n),""}})}insertMetadata(){return f(this,null,function*(){try{let e=this.app.workspace.getActiveViewOfType(ne.MarkdownView);if(!e){console.warn("Can not find an active markdown view");return}let t=yield this.searchBookMetadata(e.file.basename);if(!e.editor){console.warn("Can not find editor from the active markdown view");return}let o=yield this.getRenderedContents(t);e.editor.replaceRange(o,{line:0,ch:0})}catch(e){console.warn(e),this.showNotice(e)}})}createNewBookNote(){return f(this,null,function*(){try{let e=yield this.searchBookMetadata(),t=yield this.getRenderedContents(e),o=pt(e,this.settings.fileNameFormat),i=`${this.settings.folder}/${o}`,n=yield this.app.vault.create(i,t);yield kr(this.app,n),this.openNewBookNote(n)}catch(e){console.warn(e),this.showNotice(e)}})}openNewBookNote(e){return f(this,null,function*(){if(!this.settings.openPageOnCompletion)return;let t=this.app.workspace.getLeaf();if(!t){console.warn("No active leaf");return}yield t.openFile(e,{state:{mode:"source"}}),t.setEphemeralState({rename:"all"}),yield new kt(this.app).jumpToNextCursorLocation()})}openBookSearchModal(e=""){return f(this,null,function*(){return new Promise((t,o)=>new Bt(this,e,(i,n)=>i?o(i):t(n)).open())})}openBookSuggestModal(e){return f(this,null,function*(){return new Promise((t,o)=>new Ot(this.app,this.settings.showCoverImageInSearch,e,(i,n)=>i?o(i):t(n)).open())})}loadSettings(){return f(this,null,function*(){this.settings=Object.assign({},_e,yield this.loadData())})}saveSettings(){return f(this,null,function*(){yield this.saveData(this.settings)})}}; diff --git a/.obsidian/plugins/obsidian-book-search-plugin/manifest.json b/.obsidian/plugins/obsidian-book-search-plugin/manifest.json index 6a01d607..9cf7527d 100644 --- a/.obsidian/plugins/obsidian-book-search-plugin/manifest.json +++ b/.obsidian/plugins/obsidian-book-search-plugin/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-book-search-plugin", "name": "Book Search", - "version": "0.6.1", + "version": "0.6.3", "minAppVersion": "0.15.0", "description": "Helps you find books and create notes.", "author": "anpigon", diff --git a/.obsidian/plugins/obsidian-commits/data.json b/.obsidian/plugins/obsidian-commits/data.json index 765bf81a..51ca1435 100644 --- a/.obsidian/plugins/obsidian-commits/data.json +++ b/.obsidian/plugins/obsidian-commits/data.json @@ -1400,7 +1400,7 @@ "links": 3 }, "02.03 Zürich/@@Zürich.md": { - "size": 6986, + "size": 7813, "tags": 3, "links": 14 }, @@ -1545,7 +1545,7 @@ "links": 16 }, "05.02 Networks/Server VPN.md": { - "size": 6228, + "size": 6947, "tags": 4, "links": 11 }, @@ -1570,7 +1570,7 @@ "links": 1 }, "01.02 Home/Household.md": { - "size": 5541, + "size": 6297, "tags": 2, "links": 4 }, @@ -2030,7 +2030,7 @@ "links": 6 }, "06.02 Investments/Crypto Tasks.md": { - "size": 6088, + "size": 6769, "tags": 3, "links": 12 }, @@ -7270,7 +7270,7 @@ "links": 7 }, "02.03 Zürich/Juan Bautista Bossio.md": { - "size": 2777, + "size": 3091, "tags": 3, "links": 3 }, @@ -11412,7 +11412,7 @@ "00.03 News/Cillian Murphy Is the Man of the Moment.md": { "size": 40753, "tags": 4, - "links": 1 + "links": 2 }, "00.03 News/The rise and fall of robots.txt.md": { "size": 19027, @@ -11472,12 +11472,12 @@ "00.03 News/Recovering the Lost Aviators of World War II.md": { "size": 41568, "tags": 3, - "links": 1 + "links": 2 }, "00.03 News/How a Con Man Ended Up in Solitary in Colorado Supermax Federal Prison.md": { "size": 25800, "tags": 4, - "links": 1 + "links": 2 }, "00.01 Admin/Calendars/2024-02-26.md": { "size": 1276, @@ -11504,11 +11504,6 @@ "tags": 0, "links": 7 }, - "00.02 Inbox/La Louisiane.md": { - "size": 2404, - "tags": 0, - "links": 1 - }, "00.01 Admin/Calendars/2024-03-01.md": { "size": 1412, "tags": 0, @@ -11537,7 +11532,7 @@ "00.03 News/How Russian Spies Get Flipped or Expelled, As Told by a Spycatcher.md": { "size": 16868, "tags": 5, - "links": 1 + "links": 2 }, "00.03 News/The (Many) Vintages of the Century.md": { "size": 15031, @@ -11547,7 +11542,7 @@ "00.03 News/I always believed my funny, kind father was killed by a murderous teenage gang. Three decades on, I discovered the truth.md": { "size": 26351, "tags": 3, - "links": 1 + "links": 2 }, "00.03 News/The Great Pretenders How two faux-Inuit sisters cashed in on a life of deception.md": { "size": 41977, @@ -11557,7 +11552,7 @@ "00.03 News/The Pentagon’s Silicon Valley Problem, by Andrew Cockburn.md": { "size": 32155, "tags": 2, - "links": 1 + "links": 2 }, "00.01 Admin/Calendars/2024-03-05.md": { "size": 1412, @@ -11600,17 +11595,212 @@ "links": 2 }, "00.01 Admin/Calendars/2024-03-10.md": { + "size": 1435, + "tags": 0, + "links": 8 + }, + "02.03 Zürich/Kafi Freud.md": { + "size": 1542, + "tags": 3, + "links": 2 + }, + "00.01 Admin/Calendars/Events/2024-03-10 ⚽️ PSG - Stade Reims (2-2).md": { + "size": 437, + "tags": 0, + "links": 2 + }, + "03.02 Travels/11 Remote Destinations That Are Definitely Worth the Effort to Visit.md": { + "size": 37820, + "tags": 2, + "links": 2 + }, + "00.03 News/Dear Caitlin Clark ….md": { + "size": 4925, + "tags": 4, + "links": 1 + }, + "00.03 News/Joe Biden’s Last Campaign.md": { + "size": 84671, + "tags": 4, + "links": 1 + }, + "00.03 News/One woman saw the Great Recession coming. Wall Street's boys club ignored her..md": { + "size": 22974, + "tags": 4, + "links": 1 + }, + "00.03 News/Jan Marsalek an Agent for Russia The Double Life of the former Wirecard Executive.md": { + "size": 61636, + "tags": 4, + "links": 1 + }, + "00.01 Admin/Calendars/2024-03-11.md": { + "size": 1412, + "tags": 0, + "links": 4 + }, + "00.01 Admin/Calendars/2024-03-12.md": { + "size": 1412, + "tags": 0, + "links": 6 + }, + "00.01 Admin/Calendars/2024-03-13.md": { + "size": 1412, + "tags": 0, + "links": 5 + }, + "00.01 Admin/Calendars/2024-03-14.md": { + "size": 1412, + "tags": 0, + "links": 5 + }, + "00.03 News/Gangsters, Money and Murder How Chinese Organized Crime Is Dominating America’s Illegal Marijuana Market.md": { + "size": 44544, + "tags": 5, + "links": 1 + }, + "00.01 Admin/Calendars/2024-03-15.md": { + "size": 1412, + "tags": 0, + "links": 8 + }, + "03.01 Reading list/La Louisiane.md": { + "size": 2404, + "tags": 0, + "links": 2 + }, + "00.01 Admin/Calendars/2024-03-16.md": { + "size": 1412, + "tags": 0, + "links": 4 + }, + "00.01 Admin/Calendars/Events/2024-04-10 ⚽️ PSG - FC Barça.md": { + "size": 189, + "tags": 0, + "links": 2 + }, + "00.01 Admin/Calendars/Events/2024-04-16 ⚽️ FC Barça - PSG.md": { + "size": 189, + "tags": 0, + "links": 2 + }, + "00.01 Admin/Calendars/2024-03-17.md": { "size": 1255, "tags": 0, "links": 4 + }, + "00.03 News/A Bullshit Genius.md": { + "size": 38874, + "tags": 3, + "links": 1 + }, + "00.03 News/On popular online platforms, predatory groups coerce children into self-harm.md": { + "size": 25834, + "tags": 5, + "links": 1 + }, + "00.03 News/How Jesse Plemons Came to Star in, Well, Pretty Much Everything.md": { + "size": 35947, + "tags": 4, + "links": 1 + }, + "00.03 News/The Battle Over California Squatters Rights in Beverly Hills.md": { + "size": 43484, + "tags": 3, + "links": 1 + }, + "00.03 News/Inside the Glorious Afterlife of Roger Federer.md": { + "size": 34022, + "tags": 4, + "links": 1 + }, + "00.03 News/‘We wanted to invade media’ the hippies, nerds and Hollywood pros who brought The Simpsons to life.md": { + "size": 14389, + "tags": 3, + "links": 1 + }, + "00.02 Inbox/East Goes West.md": { + "size": 887, + "tags": 1, + "links": 1 + }, + "00.02 Inbox/Their Eyes Were Watching God.md": { + "size": 889, + "tags": 1, + "links": 1 + }, + "00.02 Inbox/Nightwood.md": { + "size": 864, + "tags": 1, + "links": 1 + }, + "00.02 Inbox/The Catcher in the Rye.md": { + "size": 886, + "tags": 1, + "links": 1 + }, + "00.02 Inbox/Catch-22.md": { + "size": 880, + "tags": 1, + "links": 1 + }, + "00.02 Inbox/Portnoy's Complaint.md": { + "size": 873, + "tags": 1, + "links": 1 + }, + "00.02 Inbox/Mumbo Jumbo.md": { + "size": 934, + "tags": 1, + "links": 1 + }, + "00.02 Inbox/The Dog of the South.md": { + "size": 893, + "tags": 0, + "links": 1 + }, + "00.02 Inbox/Kindred.md": { + "size": 867, + "tags": 0, + "links": 1 + }, + "00.02 Inbox/American Psycho.md": { + "size": 891, + "tags": 0, + "links": 1 + }, + "00.02 Inbox/Underworld.md": { + "size": 880, + "tags": 0, + "links": 1 + }, + "00.03 News/The Great American Novels.md": { + "size": 24469, + "tags": 3, + "links": 2 + }, + "00.01 Admin/Calendars/2024-03-18.md": { + "size": 1412, + "tags": 0, + "links": 6 + }, + "00.01 Admin/Calendars/2024-03-19.md": { + "size": 1412, + "tags": 0, + "links": 5 + }, + "03.01 Reading list/Terre d'Ébène.md": { + "size": 1430, + "tags": 2, + "links": 2 } }, "commitTypes": { "/": { - "Refactor": 6989, - "Create": 2503, - "Link": 9097, - "Expand": 2127 + "Refactor": 7010, + "Create": 2543, + "Link": 9180, + "Expand": 2142 } }, "dailyCommits": { @@ -11621,40 +11811,55 @@ "3": 12, "4": 46, "5": 16, - "6": 70, - "7": 908, - "8": 1142, - "9": 1097, - "10": 751, - "11": 551, - "12": 6745, - "13": 676, - "14": 574, - "15": 640, - "16": 706, - "17": 815, - "18": 1006, - "19": 943, - "20": 867, - "21": 779, - "22": 750, - "23": 1354 + "6": 71, + "7": 920, + "8": 1147, + "9": 1104, + "10": 755, + "11": 553, + "12": 6763, + "13": 688, + "14": 578, + "15": 655, + "16": 711, + "17": 816, + "18": 1009, + "19": 954, + "20": 879, + "21": 780, + "22": 764, + "23": 1386 } }, "weeklyCommits": { "/": { - "Mon": 2919, - "Tue": 1719, - "Wed": 7892, - "Thu": 1344, - "Fri": 1458, + "Mon": 2928, + "Tue": 1728, + "Wed": 7895, + "Thu": 1351, + "Fri": 1475, "Sat": 0, - "Sun": 5384 + "Sun": 5498 } }, "recentCommits": { "/": { "Expanded": [ + " Server VPN ", + " Mumbo Jumbo ", + " 2024-04-10 ⚽️ PSG - FC Barça ", + " 2024-04-16 ⚽️ FC Barça - PSG ", + " Juan Bautista Bossio ", + " Terre d'Ébène ", + " Terre d'Ébène ", + " @@Zürich ", + " Household ", + " Crypto Tasks ", + " 2024-03-10 ", + " 2024-03-10 ⚽️ PSG - Stade Reims ", + " 2024-03-10 ⚽️ PSG - Stade Reims ", + " 2024-03-10 ⚽️ PSG - FC Reims ", + " Kafi Freud ", " 2024-03-08 ", " Configuring UFW ", " 2024-03-05 ⚽️ Real Sociedad - PSG (1-2) ", @@ -11690,24 +11895,49 @@ " 2024-01-28 ⚽️ PSG - Brest 29 ", " 2024-01-28 ⚽️ PSG - Brest 29 ", " 2024-01-28 ⚽️ PSG - Brest 29 ", - " 2024-01-28 ⚽️ PSG - Brest 29 ", - " @Plants ", - " 2024-01-28 ⚽️ PSG - Brest 29 ", - " Household ", - " Barfussbar ", - " Barfussbar ", - " The Old Crow ", - " 2024-01-22 ", - " Household ", - " Klewenalp ", - " Joséphine Bédier ", - " 2024-01-20 ⚽️ US Orleans - PSG (1-4) ", - " 2024-01-20 ⚽️ US Orleans - PSG ", - " 2024-01-20 ⚽️ US Orleans - PSG ", - " 2024-01-20 ⚽️ US Orleans - PSG ", - " Hoch Ybrig " + " 2024-01-28 ⚽️ PSG - Brest 29 " ], "Created": [ + " 2024-03-19 ", + " 2024-03-18 ", + " Underworld ", + " American Psycho ", + " Kindred ", + " The Dog of the South ", + " Mumbo Jumbo ", + " Portnoy's Complaint ", + " Catch-22 ", + " The Catcher in the Rye ", + " Nightwood ", + " Their Eyes Were Watching God ", + " East Goes West ", + " The Great American Novels ", + " A Mistake in a Tesla and a Panicked Final Call The Death of Angela Chao ", + " ‘We wanted to invade media’ the hippies, nerds and Hollywood pros who brought The Simpsons to life ", + " Inside the Glorious Afterlife of Roger Federer ", + " The Battle Over California Squatters Rights in Beverly Hills ", + " How Jesse Plemons Came to Star in, Well, Pretty Much Everything ", + " On popular online platforms, predatory groups coerce children into self-harm ", + " A Bullshit Genius ", + " 2024-03-17 ", + " 2024-04-16 ⚽️ FC Barça - PSG ", + " 2024-04-10 ⚽️ PSG - FC Barça ", + " 2024-03-16 ", + " Untitled ", + " A Compendious Dictionary of the French Language (French English- English-French) ", + " 2024-03-15 ", + " Gangsters, Money and Murder How Chinese Organized Crime Is Dominating America’s Illegal Marijuana Market ", + " 2024-03-14 ", + " 2024-03-13 ", + " 2024-03-12 ", + " 2024-03-11 ", + " Jan Marsalek an Agent for Russia The Double Life of the former Wirecard Executive ", + " One woman saw the Great Recession coming. Wall Street's boys club ignored her. ", + " Joe Biden’s Last Campaign ", + " Dear Caitlin Clark … ", + " 11 Remote Destinations That Are Definitely Worth the Effort to Visit ", + " 2024-03-10 ⚽️ PSG - FC Reims ", + " Untitled ", " 2024-03-10 ", " 2024-03-09 ", " 2024-03-08 ", @@ -11718,49 +11948,27 @@ " The Pentagon’s Silicon Valley Problem, by Andrew Cockburn ", " The Great Pretenders How two faux-Inuit sisters cashed in on a life of deception ", " I always believed my funny, kind father was killed by a murderous teenage gang. Three decades on, I discovered the truth ", - " The (Many) Vintages of the Century ", - " How Russian Spies Get Flipped or Expelled, As Told by a Spycatcher - VSquare.org ", - " 2024-03-04 ", - " 2024-03-03 ", - " 2024-03-02 ", - " 2024-03-01 ⚽️ AS Monaco - PSG ", - " 2024-03-01 ", - " Untitled ", - " 2024-02-29 ", - " 2024-02-28 ", - " 2024-02-27 ", - " Invisible Man ", - " 2024-02-26 ", - " When the Border Crisis Is in Your Backyard Migrants, Cartels and Cowboys ", - " How a Con Man Ended Up in Solitary in Colorado Supermax Federal Prison ", - " As a Son Risks His Life to Topple the King, His Father Guards the Throne ", - " Recovering the Lost Aviators of World War II ", - " 2024-02-25 ", - " 2024-02-24 ", - " 2024-02-23 ", - " Sesame Seared Tuna Steak Recipe ", - " 2024-02-22 ", - " 2024-02-21 ", - " 2024-02-20 ", - " 2024-02-19 ", - " The surreal life of a professional bridesmaid - The Hustle ", - " The rise and fall of robots.txt ", - " Cillian Murphy Is the Man of the Moment ", - " Exclusive Life Aboard a Nuclear Submarine as the US Responds to Threats Around the Globe ", - " The art of doing nothing have the Dutch found the answer to burnout culture ", - " The Israeli-Palestinian Conflict and the Long Shadow of 1948 ", - " The Untold Origin Story of ESPN ", - " Helvetia ein Schweizer Dorf in den USA mit Fasnacht und Urdemokratie ", - " 2024-02-18 ", - " 2024-02-17 ", - " 2024-02-16 ", - " 2024-02-15 ", - " 2024-02-14 ", - " 2024-02-13 ", - " 2024-02-12 ", - " His Best Friend Was a 250-Pound Warthog. One Day, It Decided to Kill Him. " + " The (Many) Vintages of the Century " ], "Renamed": [ + " Terre d'Ébène ", + " The Great American Novels ", + " ‘We wanted to invade media’ the hippies, nerds and Hollywood pros who brought The Simpsons to life ", + " Inside the Glorious Afterlife of Roger Federer ", + " The Battle Over California Squatters Rights in Beverly Hills ", + " How Jesse Plemons Came to Star in, Well, Pretty Much Everything ", + " On popular online platforms, predatory groups coerce children into self-harm ", + " A Bullshit Genius ", + " La Louisiane ", + " Gangsters, Money and Murder How Chinese Organized Crime Is Dominating America’s Illegal Marijuana Market ", + " Jan Marsalek an Agent for Russia The Double Life of the former Wirecard Executive ", + " One woman saw the Great Recession coming. Wall Street's boys club ignored her. ", + " Joe Biden’s Last Campaign ", + " Dear Caitlin Clark … ", + " 11 Remote Destinations That Are Definitely Worth the Effort to Visit ", + " 2024-03-10 ⚽️ PSG - Stade Reims (2-2) ", + " 2024-03-10 ⚽️ PSG - Stade Reims ", + " Kafi Freud ", " Yoga ", " Invisible Man ", " 2024-03-05 ⚽️ Real Sociedad - PSG (1-2) ", @@ -11793,27 +12001,32 @@ " A Teen’s Fatal Plunge Into the London Underworld ", " How Nikola Jokić Became the World’s Best Basketball Player ", " Nat Friedman Embraces AI to Translate the Herculaneum Papyri ", - " Paper mills are bribing editors at scholarly journals, Science investigation finds ", - " 2024-02-10 ⚽️ PSG - Lille OSC (3-1) ", - " Why Tim Cook Is Going All In on the Apple Vision Pro ", - " Precipice of fear the freerider who took skiing to its limits ", - " How Two Single Moms Escaped an Alleged Sex-Trafficking Ring and Ultimately Saved Each Other ", - " Super Bowl Strip Tease The NFL and Las Vegas Are Together at Last ", - " Hörnlihütte ", - " Lenzerheide ", - " Did Drug Traffickers Funnel Millions of Dollars to Mexican President López Obrador’s First Campaign ", - " Cuban Picadillo Bowls ", - " Thai Peanut Chicken Bowls ", - " Bear Hibernation Uncovering Black Bear Denning Secrets in Arkansas ", - " 2024-01-28 ⚽️ PSG - Brest 29 (2-2) ", - " 2024-01-28 ⚽️ PSG - Brest 29 ", - " In the Land of the Very Old ", - " Ripples of hate ", - " Hippy, capitalist, guru, grocer the forgotten genius who changed British food ", - " Fentanyl, the portrait of a mass murderer ", - " The Taylor Swift deepfakes are a warning " + " Paper mills are bribing editors at scholarly journals, Science investigation finds " ], "Tagged": [ + " Mumbo Jumbo ", + " Catch-22 ", + " Portnoy's Complaint ", + " The Catcher in the Rye ", + " East Goes West ", + " Their Eyes Were Watching God ", + " Nightwood ", + " The Great American Novels ", + " ‘We wanted to invade media’ the hippies, nerds and Hollywood pros who brought The Simpsons to life ", + " ‘We wanted to invade media’ the hippies, nerds and Hollywood pros who brought The Simpsons to life ", + " Inside the Glorious Afterlife of Roger Federer ", + " The Battle Over California Squatters Rights in Beverly Hills ", + " How Jesse Plemons Came to Star in, Well, Pretty Much Everything ", + " On popular online platforms, predatory groups coerce children into self-harm ", + " A Bullshit Genius ", + " Terre d'Ébène ", + " Gangsters, Money and Murder How Chinese Organized Crime Is Dominating America’s Illegal Marijuana Market ", + " Joe Biden’s Last Campaign ", + " One woman saw the Great Recession coming. Wall Street's boys club ignored her. ", + " Jan Marsalek an Agent for Russia The Double Life of the former Wirecard Executive ", + " 11 Remote Destinations That Are Definitely Worth the Effort to Visit ", + " Dear Caitlin Clark … ", + " Kafi Freud ", " I always believed my funny, kind father was killed by a murderous teenage gang. Three decades on, I discovered the truth ", " The Great Pretenders How two faux-Inuit sisters cashed in on a life of deception ", " The Pentagon’s Silicon Valley Problem, by Andrew Cockburn ", @@ -11841,32 +12054,10 @@ " Nat Friedman Embraces AI to Translate the Herculaneum Papyri ", " How Nikola Jokić Became the World’s Best Basketball Player ", " Nat Friedman Embraces AI to Translate the Herculaneum Papyri ", - " Paper mills are bribing editors at scholarly journals, Science investigation finds ", - " Why Tim Cook Is Going All In on the Apple Vision Pro ", - " How Two Single Moms Escaped an Alleged Sex-Trafficking Ring and Ultimately Saved Each Other ", - " Precipice of fear the freerider who took skiing to its limits ", - " The Man in Room 117 ", - " Super Bowl Strip Tease The NFL and Las Vegas Are Together at Last ", - " Hörnlihütte ", - " Lenzerheide ", - " @Cinematheque ", - " Fentanyl, the portrait of a mass murderer ", - " Did Drug Traffickers Funnel Millions of Dollars to Mexican President López Obrador’s First Campaign ", - " Cuban Picadillo Bowls ", - " Thai Peanut Chicken Bowls ", - " Bear Hibernation Uncovering Black Bear Denning Secrets in Arkansas ", - " Ripples of hate ", - " In the Land of the Very Old ", - " Fentanyl, the portrait of a mass murderer ", - " Hippy, capitalist, guru, grocer the forgotten genius who changed British food ", - " The Juror Who Found Herself Guilty ", - " The Taylor Swift deepfakes are a warning ", - " Barfussbar ", - " The Old Crow ", - " Inside the house shows that bolster Boston’s lacking nightlife ", - " Hvaldimir, the Whale Who Went AWOL " + " Paper mills are bribing editors at scholarly journals, Science investigation finds " ], "Refactored": [ + " 2024-03-17 ", " 2024-03-10 ", " 2024-03-01 ⚽️ AS Monaco - PSG ", " 2024-02-25 ", @@ -11916,10 +12107,11 @@ " 2023-11-10 ", " 2023-11-02 ", " Real Estate ", - " 2023-10-26 ", - " Rape, Race and a Decades-Old Lie That Still Wounds " + " 2023-10-26 " ], "Deleted": [ + " A Mistake in a Tesla and a Panicked Final Call The Death of Angela Chao ", + " A Compendious Dictionary of the French Language (French English- English-French) ", " The Spy War How the C.I.A. Secretly Helps Ukraine Fight Putin ", " When the Border Crisis Is in Your Backyard Migrants, Cartels and Cowboys ", " As a Son Risks His Life to Topple the King, His Father Guards the Throne ", @@ -11968,62 +12160,60 @@ " Who Will Remove My IUD ", " The Strange and Mysterious Death of Mrs. Jerry Lee Lewis ", " ‘Trump’s Kevin’ McCarthy could soon be speaker of the House - Los Angeles Times ", - " The Most Lawless County in Texas ", - " How Ukrainians Are Protecting Their Centuries-Old Culture From Putin’s Invasion ", - " Do We Have the History of Native Americans Backward " + " The Most Lawless County in Texas " ], "Linked": [ + " Terre d'Ébène ", + " 2024-03-19 ", + " 2024-03-19 ", + " 2024-03-18 ", + " 2024-03-18 ", + " Kindred ", + " American Psycho ", + " Underworld ", + " The Dog of the South ", + " Catch-22 ", + " Portnoy's Complaint ", + " Mumbo Jumbo ", + " The Catcher in the Rye ", + " East Goes West ", + " Their Eyes Were Watching God ", + " Nightwood ", + " The Great American Novels ", + " ‘We wanted to invade media’ the hippies, nerds and Hollywood pros who brought The Simpsons to life ", + " Inside the Glorious Afterlife of Roger Federer ", + " The Battle Over California Squatters Rights in Beverly Hills ", + " How Jesse Plemons Came to Star in, Well, Pretty Much Everything ", + " On popular online platforms, predatory groups coerce children into self-harm ", + " A Bullshit Genius ", + " 2024-03-17 ", + " 2024-04-10 ⚽️ PSG - FC Barça ", + " 2024-04-16 ⚽️ FC Barça - PSG ", + " 2024-03-16 ", + " 2024-03-15 ", + " 2024-03-15 ", + " Terre d'Ébène ", + " 2024-03-15 ", + " La Louisiane ", + " A Compendious Dictionary of the French Language (French English- English-French) ", + " 2024-03-15 ", + " 2024-03-15 ", + " 2024-03-14 ", + " Gangsters, Money and Murder How Chinese Organized Crime Is Dominating America’s Illegal Marijuana Market ", + " 2024-03-14 ", + " 2024-03-13 ", + " 2024-03-13 ", + " 2024-03-12 ", + " 2024-03-12 ", + " 2024-03-11 ", " 2024-03-10 ", - " The (Many) Vintages of the Century ", - " Yoga ", - " 2024-03-09 ", - " 2024-03-09 ", - " 2024-03-09 ", - " 2024-03-08 ", - " 2024-03-07 ", - " 2024-03-08 ", - " 2024-03-07 ", - " 2024-03-07 ", - " 2024-03-06 ", - " 2024-03-06 ", - " Invisible Man ", - " 2024-03-06 ", - " 2024-03-06 ", - " 2024-03-05 ", - " 2024-03-05 ", - " 2024-03-05 ", - " 2024-03-04 ", - " The Spy War How the C.I.A. Secretly Helps Ukraine Fight Putin ", - " The Great Pretenders How two faux-Inuit sisters cashed in on a life of deception ", - " The Pentagon’s Silicon Valley Problem, by Andrew Cockburn ", - " I always believed my funny, kind father was killed by a murderous teenage gang. Three decades on, I discovered the truth ", - " How Russian Spies Get Flipped or Expelled, As Told by a Spycatcher ", - " The (Many) Vintages of the Century ", - " 2024-03-04 ", - " 2024-03-03 ", - " 2024-03-02 ", - " 2024-03-03 ", - " 2024-03-02 ", - " 2024-03-01 ⚽️ AS Monaco - PSG ", - " 2024-03-01 ", - " 2023-12-15 Eczema ", - " 2024-03-01 ", - " 2024-03-01 ", - " La Louisiane 1 ", - " 2024-02-28 ", - " 2024-02-29 ", - " 2024-02-29 ", - " 2024-02-28 ", - " 2024-02-28 ", - " A Teen’s Fatal Plunge Into the London Underworld ", - " 2024-02-27 ", - " 2024-02-27 ", - " The surreal life of a professional bridesmaid - The Hustle ", - " 2024-02-27 ", - " Zoo Station ", - " Invisible Man ", - " 2024-02-26 ", - " 2024-02-26 " + " How a Con Man Ended Up in Solitary in Colorado Supermax Federal Prison ", + " One woman saw the Great Recession coming. Wall Street's boys club ignored her. ", + " Jan Marsalek an Agent for Russia The Double Life of the former Wirecard Executive ", + " Joe Biden’s Last Campaign ", + " 11 Remote Destinations That Are Definitely Worth the Effort to Visit ", + " Dear Caitlin Clark … ", + " 2024-03-10 " ], "Removed Tags from": [ " @Cinematheque ", diff --git a/.obsidian/plugins/obsidian-map-view/main.js b/.obsidian/plugins/obsidian-map-view/main.js index bd8fe6d6..c2d2cdd5 100644 --- a/.obsidian/plugins/obsidian-map-view/main.js +++ b/.obsidian/plugins/obsidian-map-view/main.js @@ -17760,6 +17760,39 @@ exports.exclude = (input, filter, options) => { }; }); +// The pound sign is optional here +const TAG_NAME_WITH_HEADER = /tag:(#?[\p{L}\p{N}_\/\-]*)/gu; +// Same as above, but also supporting wildcards for query purposes (not used for inline tags) +const TAG_NAME_WITH_HEADER_AND_WILDCARD = /tag:(#?[\p{L}\p{N}_\/\-\*]*)/gu; +// Note no '#' sign +const INLINE_TAG_IN_NOTE = /tag:(?[\p{L}\p{N}_\/\-]+)/gu; +// path:"..." +const PATH_QUERY_WITH_HEADER = /path:"((?:[^"]|\\")+?)"/gu; +const LINKEDTO_QUERY_WITH_HEADER = /linkedto:"((?:[^"]|\\")+?)"/gu; +const LINKEDFROM_QUERY_WITH_HEADER = /linkedfrom:"((?:[^"]|\\")+?)"/gu; +const NAME_QUERY_WITH_HEADER = /name:"((?:[^"]|\\")+?)"/gu; +// path:"path with spaces" OR path:path_without_spaces +const QUOTED_OR_NOT_QUOTED_PATH = /path:(("((?:[^"]|\\")*)")|((?:[^"\s]|\\")*))/gu; +const QUOTED_OR_NOT_QUOTED_LINKEDTO = /linkedto:(("((?:[^"]|\\")*)")|((?:[^"\s]|\\")*))/gu; +const QUOTED_OR_NOT_QUOTED_LINKEDFROM = /linkedfrom:(("((?:[^"]|\\")*)")|((?:[^"\s]|\\")*))/gu; +const COORDINATES = /(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)/; +const INLINE_LOCATION_OLD_SYNTAX = /`location:\s*\[?(?[+-]?([0-9]*[.])?[0-9]+)\s*,\s*(?[+-]?([0-9]*[.])?[0-9]+)\]?/g; +// A link name is defined here as [^\]]* to prevent a previous link in the same line to count as the beginning +// of the link name +const INLINE_LOCATION_WITH_TAGS = /(?\[(?[^\]]*?)\]\(geo:(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)\))[ \t]*(?(tag:[\p{L}\p{N}_\/\-]+[\s,.]+)*)/gu; +// Should be exactly like above but without the tags +const INLINE_LOCATION_WITHOUT_TAGS = /(?\[(?[^\]]*?)\]\(geo:(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)\))/gu; +const FRONT_MATTER_LOCATION_V2 = /(?
^---.*)(?location:[ \t]*\"(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)\").*^---/ms; +const FRONT_MATTER_LOCATION = /(?
^---.*)(?location:[ \t]*\[(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)\]).*^---/ms; +// location: [32.84577588420059,35.36074429750443] +/** + * Returns a match object if the given cursor position has the beginning + * of a `tag:...` expression + */ +function getTagUnderCursor(line, cursorPosition) { + return matchByPosition(line, TAG_NAME_WITH_HEADER, cursorPosition); +} + /** * An ordered stack (latest first) of the latest used leaves. * Maintained by the main plugin object. @@ -17920,14 +17953,17 @@ function updateInlineGeolocation(app, file, fileLocation, geolocationMatch, newL const content = yield app.vault.read(file); let groups = geolocationMatch === null || geolocationMatch === void 0 ? void 0 : geolocationMatch.groups; if (groups) { - let newGeoLocationText = ''; - if (groups.name) { - newGeoLocationText = `[${groups.name}](geo:${newLat},${newLng})`; - } - else { - newGeoLocationText = `\`location: [${newLat},${newLng}]`; + const newGeoLocationText = `[${groups.name}](geo:${newLat},${newLng})`; + // We want to replace just the part containing the coordinates, not optional tags that follow and are + // included in geolocationMatch. So we do a re-match without any tags, to know the length of the part + // we want to replace. + // The "old" inline syntax isn't supported here, but it's so antique I think it's fine. + const matchWithoutTags = geolocationMatch[0].match(INLINE_LOCATION_WITHOUT_TAGS); + if (!matchWithoutTags) { + console.error('Cannot update inline geolocation:', geolocationMatch[0]); + return; } - let oldGeolocationText = geolocationMatch[0]; + let oldGeolocationText = matchWithoutTags[0]; let before = content.slice(0, fileLocation); let after = content.slice(fileLocation + oldGeolocationText.length); yield app.vault.modify(file, `${before}${newGeoLocationText}${after}`); @@ -35441,26 +35477,31 @@ function createIconElement(containerEl, icon) { } function getInternalIconFromOptions(iconSpec, iconFactory) { var _a; + const errorIcon = '

'; if (isFontAwesome(iconSpec.icon)) { // The behavior of Leaflet Extra Markers is to render Font Awesome with Web Fonts & CSS, which has // proven too slow for displaying hundreds of markers. // This overrides the HTML generated by Extra Market to use the SVG Symbols alternative, which // seems much faster. // See here for more details: https://fontawesome.com/v5/docs/web/advanced/svg-symbols - return iconFactory.getIcon(iconSpec).outerHTML; + const icon = iconFactory.getIcon(iconSpec); + return (icon === null || icon === void 0 ? void 0 : icon.outerHTML) || errorIcon; } else if (isText(iconSpec.icon)) { // Emoji or other short textual icon const color = (_a = iconSpec.iconColor) !== null && _a !== void 0 ? _a : 'white'; return `

${iconSpec.icon}

`; } + else + return errorIcon; } function isFontAwesome(iconName) { if (iconName.startsWith('fa-')) return true; } function isText(iconName) { - return iconName.length <= 2; + // Some emojis have a longer length so just checking for the string length isn't enough + return iconName.length <= 2 || /\p{Extended_Pictographic}/u.test(iconName); } // Utilizes the SVG capabilities of Font Awesome to generate icons, instead of using Web Fonts. // Since we create the SVGs directly where they are needed, we can affort to turn off the slow @@ -37604,37 +37645,6 @@ var fxp = { XMLBuilder: json2xml }; -// The pound sign is optional here -const TAG_NAME_WITH_HEADER = /tag:(#?[\p{L}\p{N}_\/\-]*)/gu; -// Same as above, but also supporting wildcards for query purposes (not used for inline tags) -const TAG_NAME_WITH_HEADER_AND_WILDCARD = /tag:(#?[\p{L}\p{N}_\/\-\*]*)/gu; -// Note no '#' sign -const INLINE_TAG_IN_NOTE = /tag:(?[\p{L}\p{N}_\/\-]+)/gu; -// path:"..." -const PATH_QUERY_WITH_HEADER = /path:"((?:[^"]|\\")+?)"/gu; -const LINKEDTO_QUERY_WITH_HEADER = /linkedto:"((?:[^"]|\\")+?)"/gu; -const LINKEDFROM_QUERY_WITH_HEADER = /linkedfrom:"((?:[^"]|\\")+?)"/gu; -const NAME_QUERY_WITH_HEADER = /name:"((?:[^"]|\\")+?)"/gu; -// path:"path with spaces" OR path:path_without_spaces -const QUOTED_OR_NOT_QUOTED_PATH = /path:(("((?:[^"]|\\")*)")|((?:[^"\s]|\\")*))/gu; -const QUOTED_OR_NOT_QUOTED_LINKEDTO = /linkedto:(("((?:[^"]|\\")*)")|((?:[^"\s]|\\")*))/gu; -const QUOTED_OR_NOT_QUOTED_LINKEDFROM = /linkedfrom:(("((?:[^"]|\\")*)")|((?:[^"\s]|\\")*))/gu; -const COORDINATES = /(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)/; -const INLINE_LOCATION_OLD_SYNTAX = /`location:\s*\[?(?[+-]?([0-9]*[.])?[0-9]+)\s*,\s*(?[+-]?([0-9]*[.])?[0-9]+)\]?/g; -// A link name is defined here as [^\]]* to prevent a previous link in the same line to count as the beginning -// of the link name -const INLINE_LOCATION_WITH_TAGS = /(?\[(?[^\]]*?)\]\(geo:(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)\))[ \t]*(?(tag:[\p{L}\p{N}_\/\-]+[\s,.]+)*)/gu; -const FRONT_MATTER_LOCATION_V2 = /(?
^---.*)(?location:[ \t]*\"(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)\").*^---/ms; -const FRONT_MATTER_LOCATION = /(?
^---.*)(?location:[ \t]*\[(?[+-]?([0-9]*[.])?[0-9]+),(?[+-]?([0-9]*[.])?[0-9]+)\]).*^---/ms; -// location: [32.84577588420059,35.36074429750443] -/** - * Returns a match object if the given cursor position has the beginning - * of a `tag:...` expression - */ -function getTagUnderCursor(line, cursorPosition) { - return matchByPosition(line, TAG_NAME_WITH_HEADER, cursorPosition); -} - /** * TODO! This is an unfinished feature of an Import dialog, currently only from KML (that can be exported * from Google Maps). @@ -41294,11 +41304,16 @@ function getFrontMatterLocation(file, app, settings) { const frontMatter = fileCache === null || fileCache === void 0 ? void 0 : fileCache.frontmatter; if (frontMatter && settings.frontMatterKey in frontMatter) { try { - const location = frontMatter[settings.frontMatterKey]; + const frontMatterLocation = frontMatter[settings.frontMatterKey]; // V1 format: an array in the format of `location: [lat,lng]` - if ((location === null || location === void 0 ? void 0 : location.length) == 2 && - typeof location[0] === 'number' && - typeof location[1] === 'number') { + if ((frontMatterLocation === null || frontMatterLocation === void 0 ? void 0 : frontMatterLocation.length) == 2) { + // Allow arrays of either strings or numbers + const lat = parseFloat(frontMatterLocation[0]); + const lng = parseFloat(frontMatterLocation[1]); + if (Number.isNaN(lat) || Number.isNaN(lng)) { + console.log('Unknown location format:', frontMatterLocation); + return null; + } const location = new leafletSrc.LatLng(frontMatter.location[0], frontMatter.location[1]); verifyLocation(location); return location; @@ -41306,7 +41321,7 @@ function getFrontMatterLocation(file, app, settings) { else { // V2 format: a string in the format of `location: "lat,lng"` (which is more compatible with // Obsidian's property editor) - const locationV2 = location.match(COORDINATES); + const locationV2 = frontMatterLocation.match(COORDINATES); if (locationV2 && locationV2.groups && locationV2.groups.lat && diff --git a/.obsidian/plugins/obsidian-map-view/manifest.json b/.obsidian/plugins/obsidian-map-view/manifest.json index 388ef7fb..89d8adb4 100644 --- a/.obsidian/plugins/obsidian-map-view/manifest.json +++ b/.obsidian/plugins/obsidian-map-view/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-map-view", "name": "Map View", - "version": "5.0.1", + "version": "5.0.2", "minAppVersion": "1.5.6", "description": "An interactive map view.", "isDesktopOnly": false diff --git a/.obsidian/plugins/obsidian-memos/main.js b/.obsidian/plugins/obsidian-memos/main.js index 77792ee3..691417ec 100644 --- a/.obsidian/plugins/obsidian-memos/main.js +++ b/.obsidian/plugins/obsidian-memos/main.js @@ -1,20019 +1,153 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __defProps = Object.defineProperties; -var __getOwnPropDescs = Object.getOwnPropertyDescriptors; -var __getOwnPropSymbols = Object.getOwnPropertySymbols; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __propIsEnum = Object.prototype.propertyIsEnumerable; -var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; -var __spreadValues = (a, b) => { - for (var prop in b || (b = {})) - if (__hasOwnProp.call(b, prop)) - __defNormalProp(a, prop, b[prop]); - if (__getOwnPropSymbols) - for (var prop of __getOwnPropSymbols(b)) { - if (__propIsEnum.call(b, prop)) - __defNormalProp(a, prop, b[prop]); - } - return a; -}; -var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); -var __publicField = (obj, key, value) => { - __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); - return value; -}; -var require$$0 = require("obsidian"); -function _interopDefaultLegacy(e) { - return e && typeof e === "object" && "default" in e ? e : { "default": e }; -} -var require$$0__default = /* @__PURE__ */ _interopDefaultLegacy(require$$0); -const MEMOS_VIEW_TYPE = "memos_view"; -var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; -var _react_17_0_2_react = { exports: {} }; -var react_production_min = {}; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; -function toObject(val) { - if (val === null || val === void 0) { - throw new TypeError("Object.assign cannot be called with null or undefined"); - } - return Object(val); -} -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - var test1 = new String("abc"); - test1[5] = "de"; - if (Object.getOwnPropertyNames(test1)[0] === "5") { - return false; - } - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2["_" + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function(n2) { - return test2[n2]; - }); - if (order2.join("") !== "0123456789") { - return false; - } - var test3 = {}; - "abcdefghijklmnopqrst".split("").forEach(function(letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") { - return false; - } - return true; - } catch (err) { - return false; - } -} -var _objectAssign_4_1_1_objectAssign = shouldUseNative() ? Object.assign : function(target, source) { - var from; - var to = toObject(target); - var symbols; - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - return to; -}; -/** @license React v17.0.2 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -var l = _objectAssign_4_1_1_objectAssign, n$1 = 60103, p$1 = 60106; -react_production_min.Fragment = 60107; -react_production_min.StrictMode = 60108; -react_production_min.Profiler = 60114; -var q$1 = 60109, r$1 = 60110, t$2 = 60112; -react_production_min.Suspense = 60113; -var u = 60115, v = 60116; -if (typeof Symbol === "function" && Symbol.for) { - var w = Symbol.for; - n$1 = w("react.element"); - p$1 = w("react.portal"); - react_production_min.Fragment = w("react.fragment"); - react_production_min.StrictMode = w("react.strict_mode"); - react_production_min.Profiler = w("react.profiler"); - q$1 = w("react.provider"); - r$1 = w("react.context"); - t$2 = w("react.forward_ref"); - react_production_min.Suspense = w("react.suspense"); - u = w("react.memo"); - v = w("react.lazy"); -} -var x = typeof Symbol === "function" && Symbol.iterator; -function y$1(a) { - if (a === null || typeof a !== "object") - return null; - a = x && a[x] || a["@@iterator"]; - return typeof a === "function" ? a : null; -} -function z(a) { - for (var b = "https://reactjs.org/docs/error-decoder.html?invariant=" + a, c = 1; c < arguments.length; c++) - b += "&args[]=" + encodeURIComponent(arguments[c]); - return "Minified React error #" + a + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; -} -var A = { isMounted: function() { - return false; -}, enqueueForceUpdate: function() { -}, enqueueReplaceState: function() { -}, enqueueSetState: function() { -} }, B$1 = {}; -function C(a, b, c) { - this.props = a; - this.context = b; - this.refs = B$1; - this.updater = c || A; -} -C.prototype.isReactComponent = {}; -C.prototype.setState = function(a, b) { - if (typeof a !== "object" && typeof a !== "function" && a != null) - throw Error(z(85)); - this.updater.enqueueSetState(this, a, b, "setState"); -}; -C.prototype.forceUpdate = function(a) { - this.updater.enqueueForceUpdate(this, a, "forceUpdate"); -}; -function D$1() { -} -D$1.prototype = C.prototype; -function E$1(a, b, c) { - this.props = a; - this.context = b; - this.refs = B$1; - this.updater = c || A; -} -var F$1 = E$1.prototype = new D$1(); -F$1.constructor = E$1; -l(F$1, C.prototype); -F$1.isPureReactComponent = true; -var G$1 = { current: null }, H$1 = Object.prototype.hasOwnProperty, I$1 = { key: true, ref: true, __self: true, __source: true }; -function J(a, b, c) { - var e, d = {}, k = null, h2 = null; - if (b != null) - for (e in b.ref !== void 0 && (h2 = b.ref), b.key !== void 0 && (k = "" + b.key), b) - H$1.call(b, e) && !I$1.hasOwnProperty(e) && (d[e] = b[e]); - var g2 = arguments.length - 2; - if (g2 === 1) - d.children = c; - else if (1 < g2) { - for (var f2 = Array(g2), m2 = 0; m2 < g2; m2++) - f2[m2] = arguments[m2 + 2]; - d.children = f2; - } - if (a && a.defaultProps) - for (e in g2 = a.defaultProps, g2) - d[e] === void 0 && (d[e] = g2[e]); - return { $$typeof: n$1, type: a, key: k, ref: h2, props: d, _owner: G$1.current }; -} -function K(a, b) { - return { $$typeof: n$1, type: a.type, key: b, ref: a.ref, props: a.props, _owner: a._owner }; -} -function L(a) { - return typeof a === "object" && a !== null && a.$$typeof === n$1; -} -function escape(a) { - var b = { "=": "=0", ":": "=2" }; - return "$" + a.replace(/[=:]/g, function(a2) { - return b[a2]; - }); -} -var M$1 = /\/+/g; -function N$1(a, b) { - return typeof a === "object" && a !== null && a.key != null ? escape("" + a.key) : b.toString(36); -} -function O$1(a, b, c, e, d) { - var k = typeof a; - if (k === "undefined" || k === "boolean") - a = null; - var h2 = false; - if (a === null) - h2 = true; - else - switch (k) { - case "string": - case "number": - h2 = true; - break; - case "object": - switch (a.$$typeof) { - case n$1: - case p$1: - h2 = true; - } - } - if (h2) - return h2 = a, d = d(h2), a = e === "" ? "." + N$1(h2, 0) : e, Array.isArray(d) ? (c = "", a != null && (c = a.replace(M$1, "$&/") + "/"), O$1(d, b, c, "", function(a2) { - return a2; - })) : d != null && (L(d) && (d = K(d, c + (!d.key || h2 && h2.key === d.key ? "" : ("" + d.key).replace(M$1, "$&/") + "/") + a)), b.push(d)), 1; - h2 = 0; - e = e === "" ? "." : e + ":"; - if (Array.isArray(a)) - for (var g2 = 0; g2 < a.length; g2++) { - k = a[g2]; - var f2 = e + N$1(k, g2); - h2 += O$1(k, b, c, f2, d); - } - else if (f2 = y$1(a), typeof f2 === "function") - for (a = f2.call(a), g2 = 0; !(k = a.next()).done; ) - k = k.value, f2 = e + N$1(k, g2++), h2 += O$1(k, b, c, f2, d); - else if (k === "object") - throw b = "" + a, Error(z(31, b === "[object Object]" ? "object with keys {" + Object.keys(a).join(", ") + "}" : b)); - return h2; -} -function P$1(a, b, c) { - if (a == null) - return a; - var e = [], d = 0; - O$1(a, e, "", "", function(a2) { - return b.call(c, a2, d++); - }); - return e; -} -function Q(a) { - if (a._status === -1) { - var b = a._result; - b = b(); - a._status = 0; - a._result = b; - b.then(function(b2) { - a._status === 0 && (b2 = b2.default, a._status = 1, a._result = b2); - }, function(b2) { - a._status === 0 && (a._status = 2, a._result = b2); - }); - } - if (a._status === 1) - return a._result; - throw a._result; -} -var R$1 = { current: null }; -function S$1() { - var a = R$1.current; - if (a === null) - throw Error(z(321)); - return a; -} -var T$1 = { ReactCurrentDispatcher: R$1, ReactCurrentBatchConfig: { transition: 0 }, ReactCurrentOwner: G$1, IsSomeRendererActing: { current: false }, assign: l }; -react_production_min.Children = { map: P$1, forEach: function(a, b, c) { - P$1(a, function() { - b.apply(this, arguments); - }, c); -}, count: function(a) { - var b = 0; - P$1(a, function() { - b++; - }); - return b; -}, toArray: function(a) { - return P$1(a, function(a2) { - return a2; - }) || []; -}, only: function(a) { - if (!L(a)) - throw Error(z(143)); - return a; -} }; -react_production_min.Component = C; -react_production_min.PureComponent = E$1; -react_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = T$1; -react_production_min.cloneElement = function(a, b, c) { - if (a === null || a === void 0) - throw Error(z(267, a)); - var e = l({}, a.props), d = a.key, k = a.ref, h2 = a._owner; - if (b != null) { - b.ref !== void 0 && (k = b.ref, h2 = G$1.current); - b.key !== void 0 && (d = "" + b.key); - if (a.type && a.type.defaultProps) - var g2 = a.type.defaultProps; - for (f2 in b) - H$1.call(b, f2) && !I$1.hasOwnProperty(f2) && (e[f2] = b[f2] === void 0 && g2 !== void 0 ? g2[f2] : b[f2]); - } - var f2 = arguments.length - 2; - if (f2 === 1) - e.children = c; - else if (1 < f2) { - g2 = Array(f2); - for (var m2 = 0; m2 < f2; m2++) - g2[m2] = arguments[m2 + 2]; - e.children = g2; - } - return { - $$typeof: n$1, - type: a.type, - key: d, - ref: k, - props: e, - _owner: h2 - }; -}; -react_production_min.createContext = function(a, b) { - b === void 0 && (b = null); - a = { $$typeof: r$1, _calculateChangedBits: b, _currentValue: a, _currentValue2: a, _threadCount: 0, Provider: null, Consumer: null }; - a.Provider = { $$typeof: q$1, _context: a }; - return a.Consumer = a; -}; -react_production_min.createElement = J; -react_production_min.createFactory = function(a) { - var b = J.bind(null, a); - b.type = a; - return b; -}; -react_production_min.createRef = function() { - return { current: null }; -}; -react_production_min.forwardRef = function(a) { - return { $$typeof: t$2, render: a }; -}; -react_production_min.isValidElement = L; -react_production_min.lazy = function(a) { - return { $$typeof: v, _payload: { _status: -1, _result: a }, _init: Q }; -}; -react_production_min.memo = function(a, b) { - return { $$typeof: u, type: a, compare: b === void 0 ? null : b }; -}; -react_production_min.useCallback = function(a, b) { - return S$1().useCallback(a, b); -}; -react_production_min.useContext = function(a, b) { - return S$1().useContext(a, b); -}; -react_production_min.useDebugValue = function() { -}; -react_production_min.useEffect = function(a, b) { - return S$1().useEffect(a, b); -}; -react_production_min.useImperativeHandle = function(a, b, c) { - return S$1().useImperativeHandle(a, b, c); -}; -react_production_min.useLayoutEffect = function(a, b) { - return S$1().useLayoutEffect(a, b); -}; -react_production_min.useMemo = function(a, b) { - return S$1().useMemo(a, b); -}; -react_production_min.useReducer = function(a, b, c) { - return S$1().useReducer(a, b, c); -}; -react_production_min.useRef = function(a) { - return S$1().useRef(a); -}; -react_production_min.useState = function(a) { - return S$1().useState(a); -}; -react_production_min.version = "17.0.2"; -{ - _react_17_0_2_react.exports = react_production_min; -} -var React = _react_17_0_2_react.exports; -var _reactDom_17_0_2_reactDom = { exports: {} }; -var reactDom_production_min = {}; -var _scheduler_0_20_2_scheduler = { exports: {} }; -var scheduler_production_min = {}; -/** @license React v0.20.2 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -(function(exports) { - var f2, g2, h2, k; - if (typeof performance === "object" && typeof performance.now === "function") { - var l2 = performance; - exports.unstable_now = function() { - return l2.now(); - }; - } else { - var p2 = Date, q2 = p2.now(); - exports.unstable_now = function() { - return p2.now() - q2; - }; - } - if (typeof window === "undefined" || typeof MessageChannel !== "function") { - var t2 = null, u2 = null, w2 = function() { - if (t2 !== null) - try { - var a = exports.unstable_now(); - t2(true, a); - t2 = null; - } catch (b) { - throw setTimeout(w2, 0), b; - } - }; - f2 = function(a) { - t2 !== null ? setTimeout(f2, 0, a) : (t2 = a, setTimeout(w2, 0)); - }; - g2 = function(a, b) { - u2 = setTimeout(a, b); - }; - h2 = function() { - clearTimeout(u2); - }; - exports.unstable_shouldYield = function() { - return false; - }; - k = exports.unstable_forceFrameRate = function() { - }; - } else { - var x2 = window.setTimeout, y2 = window.clearTimeout; - if (typeof console !== "undefined") { - var z2 = window.cancelAnimationFrame; - typeof window.requestAnimationFrame !== "function" && console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"); - typeof z2 !== "function" && console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"); - } - var A2 = false, B2 = null, C2 = -1, D2 = 5, E2 = 0; - exports.unstable_shouldYield = function() { - return exports.unstable_now() >= E2; - }; - k = function() { - }; - exports.unstable_forceFrameRate = function(a) { - 0 > a || 125 < a ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : D2 = 0 < a ? Math.floor(1e3 / a) : 5; - }; - var F2 = new MessageChannel(), G2 = F2.port2; - F2.port1.onmessage = function() { - if (B2 !== null) { - var a = exports.unstable_now(); - E2 = a + D2; - try { - B2(true, a) ? G2.postMessage(null) : (A2 = false, B2 = null); - } catch (b) { - throw G2.postMessage(null), b; - } - } else - A2 = false; - }; - f2 = function(a) { - B2 = a; - A2 || (A2 = true, G2.postMessage(null)); - }; - g2 = function(a, b) { - C2 = x2(function() { - a(exports.unstable_now()); - }, b); - }; - h2 = function() { - y2(C2); - C2 = -1; - }; - } - function H2(a, b) { - var c = a.length; - a.push(b); - a: - for (; ; ) { - var d = c - 1 >>> 1, e = a[d]; - if (e !== void 0 && 0 < I2(e, b)) - a[d] = b, a[c] = e, c = d; - else - break a; - } - } - function J2(a) { - a = a[0]; - return a === void 0 ? null : a; - } - function K2(a) { - var b = a[0]; - if (b !== void 0) { - var c = a.pop(); - if (c !== b) { - a[0] = c; - a: - for (var d = 0, e = a.length; d < e; ) { - var m2 = 2 * (d + 1) - 1, n2 = a[m2], v2 = m2 + 1, r2 = a[v2]; - if (n2 !== void 0 && 0 > I2(n2, c)) - r2 !== void 0 && 0 > I2(r2, n2) ? (a[d] = r2, a[v2] = c, d = v2) : (a[d] = n2, a[m2] = c, d = m2); - else if (r2 !== void 0 && 0 > I2(r2, c)) - a[d] = r2, a[v2] = c, d = v2; - else - break a; - } - } - return b; - } - return null; - } - function I2(a, b) { - var c = a.sortIndex - b.sortIndex; - return c !== 0 ? c : a.id - b.id; - } - var L2 = [], M2 = [], N2 = 1, O2 = null, P2 = 3, Q2 = false, R2 = false, S2 = false; - function T2(a) { - for (var b = J2(M2); b !== null; ) { - if (b.callback === null) - K2(M2); - else if (b.startTime <= a) - K2(M2), b.sortIndex = b.expirationTime, H2(L2, b); - else - break; - b = J2(M2); - } - } - function U2(a) { - S2 = false; - T2(a); - if (!R2) - if (J2(L2) !== null) - R2 = true, f2(V2); - else { - var b = J2(M2); - b !== null && g2(U2, b.startTime - a); - } - } - function V2(a, b) { - R2 = false; - S2 && (S2 = false, h2()); - Q2 = true; - var c = P2; - try { - T2(b); - for (O2 = J2(L2); O2 !== null && (!(O2.expirationTime > b) || a && !exports.unstable_shouldYield()); ) { - var d = O2.callback; - if (typeof d === "function") { - O2.callback = null; - P2 = O2.priorityLevel; - var e = d(O2.expirationTime <= b); - b = exports.unstable_now(); - typeof e === "function" ? O2.callback = e : O2 === J2(L2) && K2(L2); - T2(b); - } else - K2(L2); - O2 = J2(L2); - } - if (O2 !== null) - var m2 = true; - else { - var n2 = J2(M2); - n2 !== null && g2(U2, n2.startTime - b); - m2 = false; - } - return m2; - } finally { - O2 = null, P2 = c, Q2 = false; - } - } - var W2 = k; - exports.unstable_IdlePriority = 5; - exports.unstable_ImmediatePriority = 1; - exports.unstable_LowPriority = 4; - exports.unstable_NormalPriority = 3; - exports.unstable_Profiling = null; - exports.unstable_UserBlockingPriority = 2; - exports.unstable_cancelCallback = function(a) { - a.callback = null; - }; - exports.unstable_continueExecution = function() { - R2 || Q2 || (R2 = true, f2(V2)); - }; - exports.unstable_getCurrentPriorityLevel = function() { - return P2; - }; - exports.unstable_getFirstCallbackNode = function() { - return J2(L2); - }; - exports.unstable_next = function(a) { - switch (P2) { - case 1: - case 2: - case 3: - var b = 3; - break; - default: - b = P2; - } - var c = P2; - P2 = b; - try { - return a(); - } finally { - P2 = c; - } - }; - exports.unstable_pauseExecution = function() { - }; - exports.unstable_requestPaint = W2; - exports.unstable_runWithPriority = function(a, b) { - switch (a) { - case 1: - case 2: - case 3: - case 4: - case 5: - break; - default: - a = 3; - } - var c = P2; - P2 = a; - try { - return b(); - } finally { - P2 = c; - } - }; - exports.unstable_scheduleCallback = function(a, b, c) { - var d = exports.unstable_now(); - typeof c === "object" && c !== null ? (c = c.delay, c = typeof c === "number" && 0 < c ? d + c : d) : c = d; - switch (a) { - case 1: - var e = -1; - break; - case 2: - e = 250; - break; - case 5: - e = 1073741823; - break; - case 4: - e = 1e4; - break; - default: - e = 5e3; - } - e = c + e; - a = { id: N2++, callback: b, priorityLevel: a, startTime: c, expirationTime: e, sortIndex: -1 }; - c > d ? (a.sortIndex = c, H2(M2, a), J2(L2) === null && a === J2(M2) && (S2 ? h2() : S2 = true, g2(U2, c - d))) : (a.sortIndex = e, H2(L2, a), R2 || Q2 || (R2 = true, f2(V2))); - return a; - }; - exports.unstable_wrapCallback = function(a) { - var b = P2; - return function() { - var c = P2; - P2 = b; - try { - return a.apply(this, arguments); - } finally { - P2 = c; - } - }; - }; -})(scheduler_production_min); -{ - _scheduler_0_20_2_scheduler.exports = scheduler_production_min; -} -/** @license React v17.0.2 - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -var aa = _react_17_0_2_react.exports, m$1 = _objectAssign_4_1_1_objectAssign, r = _scheduler_0_20_2_scheduler.exports; -function y(a) { - for (var b = "https://reactjs.org/docs/error-decoder.html?invariant=" + a, c = 1; c < arguments.length; c++) - b += "&args[]=" + encodeURIComponent(arguments[c]); - return "Minified React error #" + a + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; -} -if (!aa) - throw Error(y(227)); -var ba = /* @__PURE__ */ new Set(), ca = {}; -function da$1(a, b) { - ea(a, b); - ea(a + "Capture", b); -} -function ea(a, b) { - ca[a] = b; - for (a = 0; a < b.length; a++) - ba.add(b[a]); -} -var fa = !(typeof window === "undefined" || typeof window.document === "undefined" || typeof window.document.createElement === "undefined"), ha = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, ia = Object.prototype.hasOwnProperty, ja$1 = {}, ka = {}; -function la(a) { - if (ia.call(ka, a)) - return true; - if (ia.call(ja$1, a)) - return false; - if (ha.test(a)) - return ka[a] = true; - ja$1[a] = true; - return false; -} -function ma(a, b, c, d) { - if (c !== null && c.type === 0) - return false; - switch (typeof b) { - case "function": - case "symbol": - return true; - case "boolean": - if (d) - return false; - if (c !== null) - return !c.acceptsBooleans; - a = a.toLowerCase().slice(0, 5); - return a !== "data-" && a !== "aria-"; - default: - return false; - } -} -function na(a, b, c, d) { - if (b === null || typeof b === "undefined" || ma(a, b, c, d)) - return true; - if (d) - return false; - if (c !== null) - switch (c.type) { - case 3: - return !b; - case 4: - return b === false; - case 5: - return isNaN(b); - case 6: - return isNaN(b) || 1 > b; - } - return false; -} -function B(a, b, c, d, e, f2, g2) { - this.acceptsBooleans = b === 2 || b === 3 || b === 4; - this.attributeName = d; - this.attributeNamespace = e; - this.mustUseProperty = c; - this.propertyName = a; - this.type = b; - this.sanitizeURL = f2; - this.removeEmptyString = g2; -} -var D = {}; -"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a) { - D[a] = new B(a, 0, false, a, null, false, false); -}); -[["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(a) { - var b = a[0]; - D[b] = new B(b, 1, false, a[1], null, false, false); -}); -["contentEditable", "draggable", "spellCheck", "value"].forEach(function(a) { - D[a] = new B(a, 2, false, a.toLowerCase(), null, false, false); -}); -["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(a) { - D[a] = new B(a, 2, false, a, null, false, false); -}); -"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a) { - D[a] = new B(a, 3, false, a.toLowerCase(), null, false, false); -}); -["checked", "multiple", "muted", "selected"].forEach(function(a) { - D[a] = new B(a, 3, true, a, null, false, false); -}); -["capture", "download"].forEach(function(a) { - D[a] = new B(a, 4, false, a, null, false, false); -}); -["cols", "rows", "size", "span"].forEach(function(a) { - D[a] = new B(a, 6, false, a, null, false, false); -}); -["rowSpan", "start"].forEach(function(a) { - D[a] = new B(a, 5, false, a.toLowerCase(), null, false, false); -}); -var oa = /[\-:]([a-z])/g; -function pa(a) { - return a[1].toUpperCase(); -} -"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a) { - var b = a.replace(oa, pa); - D[b] = new B(b, 1, false, a, null, false, false); -}); -"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a) { - var b = a.replace(oa, pa); - D[b] = new B(b, 1, false, a, "http://www.w3.org/1999/xlink", false, false); -}); -["xml:base", "xml:lang", "xml:space"].forEach(function(a) { - var b = a.replace(oa, pa); - D[b] = new B(b, 1, false, a, "http://www.w3.org/XML/1998/namespace", false, false); -}); -["tabIndex", "crossOrigin"].forEach(function(a) { - D[a] = new B(a, 1, false, a.toLowerCase(), null, false, false); -}); -D.xlinkHref = new B("xlinkHref", 1, false, "xlink:href", "http://www.w3.org/1999/xlink", true, false); -["src", "href", "action", "formAction"].forEach(function(a) { - D[a] = new B(a, 1, false, a.toLowerCase(), null, true, true); -}); -function qa(a, b, c, d) { - var e = D.hasOwnProperty(b) ? D[b] : null; - var f2 = e !== null ? e.type === 0 : d ? false : !(2 < b.length) || b[0] !== "o" && b[0] !== "O" || b[1] !== "n" && b[1] !== "N" ? false : true; - f2 || (na(b, c, e, d) && (c = null), d || e === null ? la(b) && (c === null ? a.removeAttribute(b) : a.setAttribute(b, "" + c)) : e.mustUseProperty ? a[e.propertyName] = c === null ? e.type === 3 ? false : "" : c : (b = e.attributeName, d = e.attributeNamespace, c === null ? a.removeAttribute(b) : (e = e.type, c = e === 3 || e === 4 && c === true ? "" : "" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c)))); -} -var ra = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, sa = 60103, ta = 60106, ua = 60107, wa = 60108, xa = 60114, ya = 60109, za = 60110, Aa = 60112, Ba = 60113, Ca = 60120, Da = 60115, Ea = 60116, Fa = 60121, Ga = 60128, Ha = 60129, Ia = 60130, Ja = 60131; -if (typeof Symbol === "function" && Symbol.for) { - var E = Symbol.for; - sa = E("react.element"); - ta = E("react.portal"); - ua = E("react.fragment"); - wa = E("react.strict_mode"); - xa = E("react.profiler"); - ya = E("react.provider"); - za = E("react.context"); - Aa = E("react.forward_ref"); - Ba = E("react.suspense"); - Ca = E("react.suspense_list"); - Da = E("react.memo"); - Ea = E("react.lazy"); - Fa = E("react.block"); - E("react.scope"); - Ga = E("react.opaque.id"); - Ha = E("react.debug_trace_mode"); - Ia = E("react.offscreen"); - Ja = E("react.legacy_hidden"); -} -var Ka = typeof Symbol === "function" && Symbol.iterator; -function La(a) { - if (a === null || typeof a !== "object") - return null; - a = Ka && a[Ka] || a["@@iterator"]; - return typeof a === "function" ? a : null; -} -var Ma; -function Na(a) { - if (Ma === void 0) - try { - throw Error(); - } catch (c) { - var b = c.stack.trim().match(/\n( *(at )?)/); - Ma = b && b[1] || ""; - } - return "\n" + Ma + a; -} -var Oa = false; -function Pa(a, b) { - if (!a || Oa) - return ""; - Oa = true; - var c = Error.prepareStackTrace; - Error.prepareStackTrace = void 0; - try { - if (b) - if (b = function() { - throw Error(); - }, Object.defineProperty(b.prototype, "props", { set: function() { - throw Error(); - } }), typeof Reflect === "object" && Reflect.construct) { - try { - Reflect.construct(b, []); - } catch (k) { - var d = k; - } - Reflect.construct(a, [], b); - } else { - try { - b.call(); - } catch (k) { - d = k; - } - a.call(b.prototype); - } - else { - try { - throw Error(); - } catch (k) { - d = k; - } - a(); - } - } catch (k) { - if (k && d && typeof k.stack === "string") { - for (var e = k.stack.split("\n"), f2 = d.stack.split("\n"), g2 = e.length - 1, h2 = f2.length - 1; 1 <= g2 && 0 <= h2 && e[g2] !== f2[h2]; ) - h2--; - for (; 1 <= g2 && 0 <= h2; g2--, h2--) - if (e[g2] !== f2[h2]) { - if (g2 !== 1 || h2 !== 1) { - do - if (g2--, h2--, 0 > h2 || e[g2] !== f2[h2]) - return "\n" + e[g2].replace(" at new ", " at "); - while (1 <= g2 && 0 <= h2); - } - break; - } - } - } finally { - Oa = false, Error.prepareStackTrace = c; - } - return (a = a ? a.displayName || a.name : "") ? Na(a) : ""; -} -function Qa(a) { - switch (a.tag) { - case 5: - return Na(a.type); - case 16: - return Na("Lazy"); - case 13: - return Na("Suspense"); - case 19: - return Na("SuspenseList"); - case 0: - case 2: - case 15: - return a = Pa(a.type, false), a; - case 11: - return a = Pa(a.type.render, false), a; - case 22: - return a = Pa(a.type._render, false), a; - case 1: - return a = Pa(a.type, true), a; - default: - return ""; - } -} -function Ra(a) { - if (a == null) - return null; - if (typeof a === "function") - return a.displayName || a.name || null; - if (typeof a === "string") - return a; - switch (a) { - case ua: - return "Fragment"; - case ta: - return "Portal"; - case xa: - return "Profiler"; - case wa: - return "StrictMode"; - case Ba: - return "Suspense"; - case Ca: - return "SuspenseList"; - } - if (typeof a === "object") - switch (a.$$typeof) { - case za: - return (a.displayName || "Context") + ".Consumer"; - case ya: - return (a._context.displayName || "Context") + ".Provider"; - case Aa: - var b = a.render; - b = b.displayName || b.name || ""; - return a.displayName || (b !== "" ? "ForwardRef(" + b + ")" : "ForwardRef"); - case Da: - return Ra(a.type); - case Fa: - return Ra(a._render); - case Ea: - b = a._payload; - a = a._init; - try { - return Ra(a(b)); - } catch (c) { - } - } - return null; -} -function Sa(a) { - switch (typeof a) { - case "boolean": - case "number": - case "object": - case "string": - case "undefined": - return a; - default: - return ""; - } -} -function Ta(a) { - var b = a.type; - return (a = a.nodeName) && a.toLowerCase() === "input" && (b === "checkbox" || b === "radio"); -} -function Ua(a) { - var b = Ta(a) ? "checked" : "value", c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b), d = "" + a[b]; - if (!a.hasOwnProperty(b) && typeof c !== "undefined" && typeof c.get === "function" && typeof c.set === "function") { - var e = c.get, f2 = c.set; - Object.defineProperty(a, b, { configurable: true, get: function() { - return e.call(this); - }, set: function(a2) { - d = "" + a2; - f2.call(this, a2); - } }); - Object.defineProperty(a, b, { enumerable: c.enumerable }); - return { getValue: function() { - return d; - }, setValue: function(a2) { - d = "" + a2; - }, stopTracking: function() { - a._valueTracker = null; - delete a[b]; - } }; - } -} -function Va(a) { - a._valueTracker || (a._valueTracker = Ua(a)); -} -function Wa(a) { - if (!a) - return false; - var b = a._valueTracker; - if (!b) - return true; - var c = b.getValue(); - var d = ""; - a && (d = Ta(a) ? a.checked ? "true" : "false" : a.value); - a = d; - return a !== c ? (b.setValue(a), true) : false; -} -function Xa(a) { - a = a || (typeof document !== "undefined" ? document : void 0); - if (typeof a === "undefined") - return null; - try { - return a.activeElement || a.body; - } catch (b) { - return a.body; - } -} -function Ya(a, b) { - var c = b.checked; - return m$1({}, b, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: c != null ? c : a._wrapperState.initialChecked }); -} -function Za(a, b) { - var c = b.defaultValue == null ? "" : b.defaultValue, d = b.checked != null ? b.checked : b.defaultChecked; - c = Sa(b.value != null ? b.value : c); - a._wrapperState = { initialChecked: d, initialValue: c, controlled: b.type === "checkbox" || b.type === "radio" ? b.checked != null : b.value != null }; -} -function $a(a, b) { - b = b.checked; - b != null && qa(a, "checked", b, false); -} -function ab(a, b) { - $a(a, b); - var c = Sa(b.value), d = b.type; - if (c != null) - if (d === "number") { - if (c === 0 && a.value === "" || a.value != c) - a.value = "" + c; - } else - a.value !== "" + c && (a.value = "" + c); - else if (d === "submit" || d === "reset") { - a.removeAttribute("value"); - return; - } - b.hasOwnProperty("value") ? bb(a, b.type, c) : b.hasOwnProperty("defaultValue") && bb(a, b.type, Sa(b.defaultValue)); - b.checked == null && b.defaultChecked != null && (a.defaultChecked = !!b.defaultChecked); -} -function cb(a, b, c) { - if (b.hasOwnProperty("value") || b.hasOwnProperty("defaultValue")) { - var d = b.type; - if (!(d !== "submit" && d !== "reset" || b.value !== void 0 && b.value !== null)) - return; - b = "" + a._wrapperState.initialValue; - c || b === a.value || (a.value = b); - a.defaultValue = b; - } - c = a.name; - c !== "" && (a.name = ""); - a.defaultChecked = !!a._wrapperState.initialChecked; - c !== "" && (a.name = c); -} -function bb(a, b, c) { - if (b !== "number" || Xa(a.ownerDocument) !== a) - c == null ? a.defaultValue = "" + a._wrapperState.initialValue : a.defaultValue !== "" + c && (a.defaultValue = "" + c); -} -function db(a) { - var b = ""; - aa.Children.forEach(a, function(a2) { - a2 != null && (b += a2); - }); - return b; -} -function eb(a, b) { - a = m$1({ children: void 0 }, b); - if (b = db(b.children)) - a.children = b; - return a; -} -function fb(a, b, c, d) { - a = a.options; - if (b) { - b = {}; - for (var e = 0; e < c.length; e++) - b["$" + c[e]] = true; - for (c = 0; c < a.length; c++) - e = b.hasOwnProperty("$" + a[c].value), a[c].selected !== e && (a[c].selected = e), e && d && (a[c].defaultSelected = true); - } else { - c = "" + Sa(c); - b = null; - for (e = 0; e < a.length; e++) { - if (a[e].value === c) { - a[e].selected = true; - d && (a[e].defaultSelected = true); - return; - } - b !== null || a[e].disabled || (b = a[e]); - } - b !== null && (b.selected = true); - } -} -function gb(a, b) { - if (b.dangerouslySetInnerHTML != null) - throw Error(y(91)); - return m$1({}, b, { value: void 0, defaultValue: void 0, children: "" + a._wrapperState.initialValue }); -} -function hb(a, b) { - var c = b.value; - if (c == null) { - c = b.children; - b = b.defaultValue; - if (c != null) { - if (b != null) - throw Error(y(92)); - if (Array.isArray(c)) { - if (!(1 >= c.length)) - throw Error(y(93)); - c = c[0]; - } - b = c; - } - b == null && (b = ""); - c = b; - } - a._wrapperState = { initialValue: Sa(c) }; -} -function ib(a, b) { - var c = Sa(b.value), d = Sa(b.defaultValue); - c != null && (c = "" + c, c !== a.value && (a.value = c), b.defaultValue == null && a.defaultValue !== c && (a.defaultValue = c)); - d != null && (a.defaultValue = "" + d); -} -function jb(a) { - var b = a.textContent; - b === a._wrapperState.initialValue && b !== "" && b !== null && (a.value = b); -} -var kb = { html: "http://www.w3.org/1999/xhtml", mathml: "http://www.w3.org/1998/Math/MathML", svg: "http://www.w3.org/2000/svg" }; -function lb(a) { - switch (a) { - case "svg": - return "http://www.w3.org/2000/svg"; - case "math": - return "http://www.w3.org/1998/Math/MathML"; - default: - return "http://www.w3.org/1999/xhtml"; - } -} -function mb(a, b) { - return a == null || a === "http://www.w3.org/1999/xhtml" ? lb(b) : a === "http://www.w3.org/2000/svg" && b === "foreignObject" ? "http://www.w3.org/1999/xhtml" : a; -} -var nb, ob = function(a) { - return typeof MSApp !== "undefined" && MSApp.execUnsafeLocalFunction ? function(b, c, d, e) { - MSApp.execUnsafeLocalFunction(function() { - return a(b, c, d, e); - }); - } : a; -}(function(a, b) { - if (a.namespaceURI !== kb.svg || "innerHTML" in a) - a.innerHTML = b; - else { - nb = nb || document.createElement("div"); - nb.innerHTML = "" + b.valueOf().toString() + ""; - for (b = nb.firstChild; a.firstChild; ) - a.removeChild(a.firstChild); - for (; b.firstChild; ) - a.appendChild(b.firstChild); - } -}); -function pb(a, b) { - if (b) { - var c = a.firstChild; - if (c && c === a.lastChild && c.nodeType === 3) { - c.nodeValue = b; - return; - } - } - a.textContent = b; -} -var qb = { - animationIterationCount: true, - borderImageOutset: true, - borderImageSlice: true, - borderImageWidth: true, - boxFlex: true, - boxFlexGroup: true, - boxOrdinalGroup: true, - columnCount: true, - columns: true, - flex: true, - flexGrow: true, - flexPositive: true, - flexShrink: true, - flexNegative: true, - flexOrder: true, - gridArea: true, - gridRow: true, - gridRowEnd: true, - gridRowSpan: true, - gridRowStart: true, - gridColumn: true, - gridColumnEnd: true, - gridColumnSpan: true, - gridColumnStart: true, - fontWeight: true, - lineClamp: true, - lineHeight: true, - opacity: true, - order: true, - orphans: true, - tabSize: true, - widows: true, - zIndex: true, - zoom: true, - fillOpacity: true, - floodOpacity: true, - stopOpacity: true, - strokeDasharray: true, - strokeDashoffset: true, - strokeMiterlimit: true, - strokeOpacity: true, - strokeWidth: true -}, rb = ["Webkit", "ms", "Moz", "O"]; -Object.keys(qb).forEach(function(a) { - rb.forEach(function(b) { - b = b + a.charAt(0).toUpperCase() + a.substring(1); - qb[b] = qb[a]; - }); -}); -function sb(a, b, c) { - return b == null || typeof b === "boolean" || b === "" ? "" : c || typeof b !== "number" || b === 0 || qb.hasOwnProperty(a) && qb[a] ? ("" + b).trim() : b + "px"; -} -function tb(a, b) { - a = a.style; - for (var c in b) - if (b.hasOwnProperty(c)) { - var d = c.indexOf("--") === 0, e = sb(c, b[c], d); - c === "float" && (c = "cssFloat"); - d ? a.setProperty(c, e) : a[c] = e; - } -} -var ub = m$1({ menuitem: true }, { area: true, base: true, br: true, col: true, embed: true, hr: true, img: true, input: true, keygen: true, link: true, meta: true, param: true, source: true, track: true, wbr: true }); -function vb(a, b) { - if (b) { - if (ub[a] && (b.children != null || b.dangerouslySetInnerHTML != null)) - throw Error(y(137, a)); - if (b.dangerouslySetInnerHTML != null) { - if (b.children != null) - throw Error(y(60)); - if (!(typeof b.dangerouslySetInnerHTML === "object" && "__html" in b.dangerouslySetInnerHTML)) - throw Error(y(61)); - } - if (b.style != null && typeof b.style !== "object") - throw Error(y(62)); - } -} -function wb(a, b) { - if (a.indexOf("-") === -1) - return typeof b.is === "string"; - switch (a) { - case "annotation-xml": - case "color-profile": - case "font-face": - case "font-face-src": - case "font-face-uri": - case "font-face-format": - case "font-face-name": - case "missing-glyph": - return false; - default: - return true; - } -} -function xb(a) { - a = a.target || a.srcElement || window; - a.correspondingUseElement && (a = a.correspondingUseElement); - return a.nodeType === 3 ? a.parentNode : a; -} -var yb = null, zb = null, Ab = null; -function Bb(a) { - if (a = Cb(a)) { - if (typeof yb !== "function") - throw Error(y(280)); - var b = a.stateNode; - b && (b = Db(b), yb(a.stateNode, a.type, b)); - } -} -function Eb(a) { - zb ? Ab ? Ab.push(a) : Ab = [a] : zb = a; -} -function Fb() { - if (zb) { - var a = zb, b = Ab; - Ab = zb = null; - Bb(a); - if (b) - for (a = 0; a < b.length; a++) - Bb(b[a]); - } -} -function Gb(a, b) { - return a(b); -} -function Hb(a, b, c, d, e) { - return a(b, c, d, e); -} -function Ib() { -} -var Jb = Gb, Kb = false, Lb = false; -function Mb() { - if (zb !== null || Ab !== null) - Ib(), Fb(); -} -function Nb(a, b, c) { - if (Lb) - return a(b, c); - Lb = true; - try { - return Jb(a, b, c); - } finally { - Lb = false, Mb(); - } -} -function Ob(a, b) { - var c = a.stateNode; - if (c === null) - return null; - var d = Db(c); - if (d === null) - return null; - c = d[b]; - a: - switch (b) { - case "onClick": - case "onClickCapture": - case "onDoubleClick": - case "onDoubleClickCapture": - case "onMouseDown": - case "onMouseDownCapture": - case "onMouseMove": - case "onMouseMoveCapture": - case "onMouseUp": - case "onMouseUpCapture": - case "onMouseEnter": - (d = !d.disabled) || (a = a.type, d = !(a === "button" || a === "input" || a === "select" || a === "textarea")); - a = !d; - break a; - default: - a = false; - } - if (a) - return null; - if (c && typeof c !== "function") - throw Error(y(231, b, typeof c)); - return c; -} -var Pb = false; -if (fa) - try { - var Qb = {}; - Object.defineProperty(Qb, "passive", { get: function() { - Pb = true; - } }); - window.addEventListener("test", Qb, Qb); - window.removeEventListener("test", Qb, Qb); - } catch (a) { - Pb = false; - } -function Rb(a, b, c, d, e, f2, g2, h2, k) { - var l2 = Array.prototype.slice.call(arguments, 3); - try { - b.apply(c, l2); - } catch (n2) { - this.onError(n2); - } -} -var Sb = false, Tb = null, Ub = false, Vb = null, Wb = { onError: function(a) { - Sb = true; - Tb = a; -} }; -function Xb(a, b, c, d, e, f2, g2, h2, k) { - Sb = false; - Tb = null; - Rb.apply(Wb, arguments); -} -function Yb(a, b, c, d, e, f2, g2, h2, k) { - Xb.apply(this, arguments); - if (Sb) { - if (Sb) { - var l2 = Tb; - Sb = false; - Tb = null; - } else - throw Error(y(198)); - Ub || (Ub = true, Vb = l2); - } -} -function Zb(a) { - var b = a, c = a; - if (a.alternate) - for (; b.return; ) - b = b.return; - else { - a = b; - do - b = a, (b.flags & 1026) !== 0 && (c = b.return), a = b.return; - while (a); - } - return b.tag === 3 ? c : null; -} -function $b(a) { - if (a.tag === 13) { - var b = a.memoizedState; - b === null && (a = a.alternate, a !== null && (b = a.memoizedState)); - if (b !== null) - return b.dehydrated; - } - return null; -} -function ac(a) { - if (Zb(a) !== a) - throw Error(y(188)); -} -function bc(a) { - var b = a.alternate; - if (!b) { - b = Zb(a); - if (b === null) - throw Error(y(188)); - return b !== a ? null : a; - } - for (var c = a, d = b; ; ) { - var e = c.return; - if (e === null) - break; - var f2 = e.alternate; - if (f2 === null) { - d = e.return; - if (d !== null) { - c = d; - continue; - } - break; - } - if (e.child === f2.child) { - for (f2 = e.child; f2; ) { - if (f2 === c) - return ac(e), a; - if (f2 === d) - return ac(e), b; - f2 = f2.sibling; - } - throw Error(y(188)); - } - if (c.return !== d.return) - c = e, d = f2; - else { - for (var g2 = false, h2 = e.child; h2; ) { - if (h2 === c) { - g2 = true; - c = e; - d = f2; - break; - } - if (h2 === d) { - g2 = true; - d = e; - c = f2; - break; - } - h2 = h2.sibling; - } - if (!g2) { - for (h2 = f2.child; h2; ) { - if (h2 === c) { - g2 = true; - c = f2; - d = e; - break; - } - if (h2 === d) { - g2 = true; - d = f2; - c = e; - break; - } - h2 = h2.sibling; - } - if (!g2) - throw Error(y(189)); - } - } - if (c.alternate !== d) - throw Error(y(190)); - } - if (c.tag !== 3) - throw Error(y(188)); - return c.stateNode.current === c ? a : b; -} -function cc(a) { - a = bc(a); - if (!a) - return null; - for (var b = a; ; ) { - if (b.tag === 5 || b.tag === 6) - return b; - if (b.child) - b.child.return = b, b = b.child; - else { - if (b === a) - break; - for (; !b.sibling; ) { - if (!b.return || b.return === a) - return null; - b = b.return; - } - b.sibling.return = b.return; - b = b.sibling; - } - } - return null; -} -function dc(a, b) { - for (var c = a.alternate; b !== null; ) { - if (b === a || b === c) - return true; - b = b.return; - } - return false; -} -var ec, fc, gc, hc, ic = false, jc = [], kc = null, lc = null, mc = null, nc = /* @__PURE__ */ new Map(), oc = /* @__PURE__ */ new Map(), pc = [], qc = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "); -function rc(a, b, c, d, e) { - return { blockedOn: a, domEventName: b, eventSystemFlags: c | 16, nativeEvent: e, targetContainers: [d] }; -} -function sc(a, b) { - switch (a) { - case "focusin": - case "focusout": - kc = null; - break; - case "dragenter": - case "dragleave": - lc = null; - break; - case "mouseover": - case "mouseout": - mc = null; - break; - case "pointerover": - case "pointerout": - nc.delete(b.pointerId); - break; - case "gotpointercapture": - case "lostpointercapture": - oc.delete(b.pointerId); - } -} -function tc(a, b, c, d, e, f2) { - if (a === null || a.nativeEvent !== f2) - return a = rc(b, c, d, e, f2), b !== null && (b = Cb(b), b !== null && fc(b)), a; - a.eventSystemFlags |= d; - b = a.targetContainers; - e !== null && b.indexOf(e) === -1 && b.push(e); - return a; -} -function uc(a, b, c, d, e) { - switch (b) { - case "focusin": - return kc = tc(kc, a, b, c, d, e), true; - case "dragenter": - return lc = tc(lc, a, b, c, d, e), true; - case "mouseover": - return mc = tc(mc, a, b, c, d, e), true; - case "pointerover": - var f2 = e.pointerId; - nc.set(f2, tc(nc.get(f2) || null, a, b, c, d, e)); - return true; - case "gotpointercapture": - return f2 = e.pointerId, oc.set(f2, tc(oc.get(f2) || null, a, b, c, d, e)), true; - } - return false; -} -function vc(a) { - var b = wc(a.target); - if (b !== null) { - var c = Zb(b); - if (c !== null) { - if (b = c.tag, b === 13) { - if (b = $b(c), b !== null) { - a.blockedOn = b; - hc(a.lanePriority, function() { - r.unstable_runWithPriority(a.priority, function() { - gc(c); - }); - }); - return; - } - } else if (b === 3 && c.stateNode.hydrate) { - a.blockedOn = c.tag === 3 ? c.stateNode.containerInfo : null; - return; - } - } - } - a.blockedOn = null; -} -function xc(a) { - if (a.blockedOn !== null) - return false; - for (var b = a.targetContainers; 0 < b.length; ) { - var c = yc(a.domEventName, a.eventSystemFlags, b[0], a.nativeEvent); - if (c !== null) - return b = Cb(c), b !== null && fc(b), a.blockedOn = c, false; - b.shift(); - } - return true; -} -function zc(a, b, c) { - xc(a) && c.delete(b); -} -function Ac() { - for (ic = false; 0 < jc.length; ) { - var a = jc[0]; - if (a.blockedOn !== null) { - a = Cb(a.blockedOn); - a !== null && ec(a); - break; - } - for (var b = a.targetContainers; 0 < b.length; ) { - var c = yc(a.domEventName, a.eventSystemFlags, b[0], a.nativeEvent); - if (c !== null) { - a.blockedOn = c; - break; - } - b.shift(); - } - a.blockedOn === null && jc.shift(); - } - kc !== null && xc(kc) && (kc = null); - lc !== null && xc(lc) && (lc = null); - mc !== null && xc(mc) && (mc = null); - nc.forEach(zc); - oc.forEach(zc); -} -function Bc(a, b) { - a.blockedOn === b && (a.blockedOn = null, ic || (ic = true, r.unstable_scheduleCallback(r.unstable_NormalPriority, Ac))); -} -function Cc(a) { - function b(b2) { - return Bc(b2, a); - } - if (0 < jc.length) { - Bc(jc[0], a); - for (var c = 1; c < jc.length; c++) { - var d = jc[c]; - d.blockedOn === a && (d.blockedOn = null); - } - } - kc !== null && Bc(kc, a); - lc !== null && Bc(lc, a); - mc !== null && Bc(mc, a); - nc.forEach(b); - oc.forEach(b); - for (c = 0; c < pc.length; c++) - d = pc[c], d.blockedOn === a && (d.blockedOn = null); - for (; 0 < pc.length && (c = pc[0], c.blockedOn === null); ) - vc(c), c.blockedOn === null && pc.shift(); -} -function Dc(a, b) { - var c = {}; - c[a.toLowerCase()] = b.toLowerCase(); - c["Webkit" + a] = "webkit" + b; - c["Moz" + a] = "moz" + b; - return c; -} -var Ec = { animationend: Dc("Animation", "AnimationEnd"), animationiteration: Dc("Animation", "AnimationIteration"), animationstart: Dc("Animation", "AnimationStart"), transitionend: Dc("Transition", "TransitionEnd") }, Fc = {}, Gc = {}; -fa && (Gc = document.createElement("div").style, "AnimationEvent" in window || (delete Ec.animationend.animation, delete Ec.animationiteration.animation, delete Ec.animationstart.animation), "TransitionEvent" in window || delete Ec.transitionend.transition); -function Hc(a) { - if (Fc[a]) - return Fc[a]; - if (!Ec[a]) - return a; - var b = Ec[a], c; - for (c in b) - if (b.hasOwnProperty(c) && c in Gc) - return Fc[a] = b[c]; - return a; -} -var Ic = Hc("animationend"), Jc = Hc("animationiteration"), Kc = Hc("animationstart"), Lc = Hc("transitionend"), Mc = /* @__PURE__ */ new Map(), Nc = /* @__PURE__ */ new Map(), Oc = [ - "abort", - "abort", - Ic, - "animationEnd", - Jc, - "animationIteration", - Kc, - "animationStart", - "canplay", - "canPlay", - "canplaythrough", - "canPlayThrough", - "durationchange", - "durationChange", - "emptied", - "emptied", - "encrypted", - "encrypted", - "ended", - "ended", - "error", - "error", - "gotpointercapture", - "gotPointerCapture", - "load", - "load", - "loadeddata", - "loadedData", - "loadedmetadata", - "loadedMetadata", - "loadstart", - "loadStart", - "lostpointercapture", - "lostPointerCapture", - "playing", - "playing", - "progress", - "progress", - "seeking", - "seeking", - "stalled", - "stalled", - "suspend", - "suspend", - "timeupdate", - "timeUpdate", - Lc, - "transitionEnd", - "waiting", - "waiting" -]; -function Pc(a, b) { - for (var c = 0; c < a.length; c += 2) { - var d = a[c], e = a[c + 1]; - e = "on" + (e[0].toUpperCase() + e.slice(1)); - Nc.set(d, b); - Mc.set(d, e); - da$1(e, [d]); - } -} -var Qc = r.unstable_now; -Qc(); -var F = 8; -function Rc(a) { - if ((1 & a) !== 0) - return F = 15, 1; - if ((2 & a) !== 0) - return F = 14, 2; - if ((4 & a) !== 0) - return F = 13, 4; - var b = 24 & a; - if (b !== 0) - return F = 12, b; - if ((a & 32) !== 0) - return F = 11, 32; - b = 192 & a; - if (b !== 0) - return F = 10, b; - if ((a & 256) !== 0) - return F = 9, 256; - b = 3584 & a; - if (b !== 0) - return F = 8, b; - if ((a & 4096) !== 0) - return F = 7, 4096; - b = 4186112 & a; - if (b !== 0) - return F = 6, b; - b = 62914560 & a; - if (b !== 0) - return F = 5, b; - if (a & 67108864) - return F = 4, 67108864; - if ((a & 134217728) !== 0) - return F = 3, 134217728; - b = 805306368 & a; - if (b !== 0) - return F = 2, b; - if ((1073741824 & a) !== 0) - return F = 1, 1073741824; - F = 8; - return a; -} -function Sc(a) { - switch (a) { - case 99: - return 15; - case 98: - return 10; - case 97: - case 96: - return 8; - case 95: - return 2; - default: - return 0; - } -} -function Tc(a) { - switch (a) { - case 15: - case 14: - return 99; - case 13: - case 12: - case 11: - case 10: - return 98; - case 9: - case 8: - case 7: - case 6: - case 4: - case 5: - return 97; - case 3: - case 2: - case 1: - return 95; - case 0: - return 90; - default: - throw Error(y(358, a)); - } -} -function Uc(a, b) { - var c = a.pendingLanes; - if (c === 0) - return F = 0; - var d = 0, e = 0, f2 = a.expiredLanes, g2 = a.suspendedLanes, h2 = a.pingedLanes; - if (f2 !== 0) - d = f2, e = F = 15; - else if (f2 = c & 134217727, f2 !== 0) { - var k = f2 & ~g2; - k !== 0 ? (d = Rc(k), e = F) : (h2 &= f2, h2 !== 0 && (d = Rc(h2), e = F)); - } else - f2 = c & ~g2, f2 !== 0 ? (d = Rc(f2), e = F) : h2 !== 0 && (d = Rc(h2), e = F); - if (d === 0) - return 0; - d = 31 - Vc(d); - d = c & ((0 > d ? 0 : 1 << d) << 1) - 1; - if (b !== 0 && b !== d && (b & g2) === 0) { - Rc(b); - if (e <= F) - return b; - F = e; - } - b = a.entangledLanes; - if (b !== 0) - for (a = a.entanglements, b &= d; 0 < b; ) - c = 31 - Vc(b), e = 1 << c, d |= a[c], b &= ~e; - return d; -} -function Wc(a) { - a = a.pendingLanes & -1073741825; - return a !== 0 ? a : a & 1073741824 ? 1073741824 : 0; -} -function Xc(a, b) { - switch (a) { - case 15: - return 1; - case 14: - return 2; - case 12: - return a = Yc(24 & ~b), a === 0 ? Xc(10, b) : a; - case 10: - return a = Yc(192 & ~b), a === 0 ? Xc(8, b) : a; - case 8: - return a = Yc(3584 & ~b), a === 0 && (a = Yc(4186112 & ~b), a === 0 && (a = 512)), a; - case 2: - return b = Yc(805306368 & ~b), b === 0 && (b = 268435456), b; - } - throw Error(y(358, a)); -} -function Yc(a) { - return a & -a; -} -function Zc(a) { - for (var b = [], c = 0; 31 > c; c++) - b.push(a); - return b; -} -function $c(a, b, c) { - a.pendingLanes |= b; - var d = b - 1; - a.suspendedLanes &= d; - a.pingedLanes &= d; - a = a.eventTimes; - b = 31 - Vc(b); - a[b] = c; -} -var Vc = Math.clz32 ? Math.clz32 : ad, bd = Math.log, cd = Math.LN2; -function ad(a) { - return a === 0 ? 32 : 31 - (bd(a) / cd | 0) | 0; -} -var dd = r.unstable_UserBlockingPriority, ed = r.unstable_runWithPriority, fd = true; -function gd(a, b, c, d) { - Kb || Ib(); - var e = hd, f2 = Kb; - Kb = true; - try { - Hb(e, a, b, c, d); - } finally { - (Kb = f2) || Mb(); - } -} -function id$1(a, b, c, d) { - ed(dd, hd.bind(null, a, b, c, d)); -} -function hd(a, b, c, d) { - if (fd) { - var e; - if ((e = (b & 4) === 0) && 0 < jc.length && -1 < qc.indexOf(a)) - a = rc(null, a, b, c, d), jc.push(a); - else { - var f2 = yc(a, b, c, d); - if (f2 === null) - e && sc(a, d); - else { - if (e) { - if (-1 < qc.indexOf(a)) { - a = rc(f2, a, b, c, d); - jc.push(a); - return; - } - if (uc(f2, a, b, c, d)) - return; - sc(a, d); - } - jd(a, b, d, null, c); - } - } - } -} -function yc(a, b, c, d) { - var e = xb(d); - e = wc(e); - if (e !== null) { - var f2 = Zb(e); - if (f2 === null) - e = null; - else { - var g2 = f2.tag; - if (g2 === 13) { - e = $b(f2); - if (e !== null) - return e; - e = null; - } else if (g2 === 3) { - if (f2.stateNode.hydrate) - return f2.tag === 3 ? f2.stateNode.containerInfo : null; - e = null; - } else - f2 !== e && (e = null); - } - } - jd(a, b, d, e, c); - return null; -} -var kd = null, ld = null, md = null; -function nd() { - if (md) - return md; - var a, b = ld, c = b.length, d, e = "value" in kd ? kd.value : kd.textContent, f2 = e.length; - for (a = 0; a < c && b[a] === e[a]; a++) - ; - var g2 = c - a; - for (d = 1; d <= g2 && b[c - d] === e[f2 - d]; d++) - ; - return md = e.slice(a, 1 < d ? 1 - d : void 0); -} -function od(a) { - var b = a.keyCode; - "charCode" in a ? (a = a.charCode, a === 0 && b === 13 && (a = 13)) : a = b; - a === 10 && (a = 13); - return 32 <= a || a === 13 ? a : 0; -} -function pd() { - return true; -} -function qd() { - return false; -} -function rd(a) { - function b(b2, d, e, f2, g2) { - this._reactName = b2; - this._targetInst = e; - this.type = d; - this.nativeEvent = f2; - this.target = g2; - this.currentTarget = null; - for (var c in a) - a.hasOwnProperty(c) && (b2 = a[c], this[c] = b2 ? b2(f2) : f2[c]); - this.isDefaultPrevented = (f2.defaultPrevented != null ? f2.defaultPrevented : f2.returnValue === false) ? pd : qd; - this.isPropagationStopped = qd; - return this; - } - m$1(b.prototype, { preventDefault: function() { - this.defaultPrevented = true; - var a2 = this.nativeEvent; - a2 && (a2.preventDefault ? a2.preventDefault() : typeof a2.returnValue !== "unknown" && (a2.returnValue = false), this.isDefaultPrevented = pd); - }, stopPropagation: function() { - var a2 = this.nativeEvent; - a2 && (a2.stopPropagation ? a2.stopPropagation() : typeof a2.cancelBubble !== "unknown" && (a2.cancelBubble = true), this.isPropagationStopped = pd); - }, persist: function() { - }, isPersistent: pd }); - return b; -} -var sd = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(a) { - return a.timeStamp || Date.now(); -}, defaultPrevented: 0, isTrusted: 0 }, td = rd(sd), ud = m$1({}, sd, { view: 0, detail: 0 }), vd = rd(ud), wd, xd, yd, Ad = m$1({}, ud, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: zd, button: 0, buttons: 0, relatedTarget: function(a) { - return a.relatedTarget === void 0 ? a.fromElement === a.srcElement ? a.toElement : a.fromElement : a.relatedTarget; -}, movementX: function(a) { - if ("movementX" in a) - return a.movementX; - a !== yd && (yd && a.type === "mousemove" ? (wd = a.screenX - yd.screenX, xd = a.screenY - yd.screenY) : xd = wd = 0, yd = a); - return wd; -}, movementY: function(a) { - return "movementY" in a ? a.movementY : xd; -} }), Bd = rd(Ad), Cd = m$1({}, Ad, { dataTransfer: 0 }), Dd = rd(Cd), Ed = m$1({}, ud, { relatedTarget: 0 }), Fd = rd(Ed), Gd = m$1({}, sd, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), Hd = rd(Gd), Id = m$1({}, sd, { clipboardData: function(a) { - return "clipboardData" in a ? a.clipboardData : window.clipboardData; -} }), Jd = rd(Id), Kd = m$1({}, sd, { data: 0 }), Ld = rd(Kd), Md = { - Esc: "Escape", - Spacebar: " ", - Left: "ArrowLeft", - Up: "ArrowUp", - Right: "ArrowRight", - Down: "ArrowDown", - Del: "Delete", - Win: "OS", - Menu: "ContextMenu", - Apps: "ContextMenu", - Scroll: "ScrollLock", - MozPrintableKey: "Unidentified" -}, Nd = { - 8: "Backspace", - 9: "Tab", - 12: "Clear", - 13: "Enter", - 16: "Shift", - 17: "Control", - 18: "Alt", - 19: "Pause", - 20: "CapsLock", - 27: "Escape", - 32: " ", - 33: "PageUp", - 34: "PageDown", - 35: "End", - 36: "Home", - 37: "ArrowLeft", - 38: "ArrowUp", - 39: "ArrowRight", - 40: "ArrowDown", - 45: "Insert", - 46: "Delete", - 112: "F1", - 113: "F2", - 114: "F3", - 115: "F4", - 116: "F5", - 117: "F6", - 118: "F7", - 119: "F8", - 120: "F9", - 121: "F10", - 122: "F11", - 123: "F12", - 144: "NumLock", - 145: "ScrollLock", - 224: "Meta" -}, Od = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; -function Pd(a) { - var b = this.nativeEvent; - return b.getModifierState ? b.getModifierState(a) : (a = Od[a]) ? !!b[a] : false; -} -function zd() { - return Pd; -} -var Qd = m$1({}, ud, { key: function(a) { - if (a.key) { - var b = Md[a.key] || a.key; - if (b !== "Unidentified") - return b; - } - return a.type === "keypress" ? (a = od(a), a === 13 ? "Enter" : String.fromCharCode(a)) : a.type === "keydown" || a.type === "keyup" ? Nd[a.keyCode] || "Unidentified" : ""; -}, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: zd, charCode: function(a) { - return a.type === "keypress" ? od(a) : 0; -}, keyCode: function(a) { - return a.type === "keydown" || a.type === "keyup" ? a.keyCode : 0; -}, which: function(a) { - return a.type === "keypress" ? od(a) : a.type === "keydown" || a.type === "keyup" ? a.keyCode : 0; -} }), Rd = rd(Qd), Sd = m$1({}, Ad, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Td = rd(Sd), Ud = m$1({}, ud, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: zd }), Vd = rd(Ud), Wd = m$1({}, sd, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Xd = rd(Wd), Yd = m$1({}, Ad, { - deltaX: function(a) { - return "deltaX" in a ? a.deltaX : "wheelDeltaX" in a ? -a.wheelDeltaX : 0; - }, - deltaY: function(a) { - return "deltaY" in a ? a.deltaY : "wheelDeltaY" in a ? -a.wheelDeltaY : "wheelDelta" in a ? -a.wheelDelta : 0; - }, - deltaZ: 0, - deltaMode: 0 -}), Zd = rd(Yd), $d = [9, 13, 27, 32], ae = fa && "CompositionEvent" in window, be = null; -fa && "documentMode" in document && (be = document.documentMode); -var ce = fa && "TextEvent" in window && !be, de$1 = fa && (!ae || be && 8 < be && 11 >= be), ee = String.fromCharCode(32), fe = false; -function ge(a, b) { - switch (a) { - case "keyup": - return $d.indexOf(b.keyCode) !== -1; - case "keydown": - return b.keyCode !== 229; - case "keypress": - case "mousedown": - case "focusout": - return true; - default: - return false; - } -} -function he(a) { - a = a.detail; - return typeof a === "object" && "data" in a ? a.data : null; -} -var ie = false; -function je(a, b) { - switch (a) { - case "compositionend": - return he(b); - case "keypress": - if (b.which !== 32) - return null; - fe = true; - return ee; - case "textInput": - return a = b.data, a === ee && fe ? null : a; - default: - return null; - } -} -function ke(a, b) { - if (ie) - return a === "compositionend" || !ae && ge(a, b) ? (a = nd(), md = ld = kd = null, ie = false, a) : null; - switch (a) { - case "paste": - return null; - case "keypress": - if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) { - if (b.char && 1 < b.char.length) - return b.char; - if (b.which) - return String.fromCharCode(b.which); - } - return null; - case "compositionend": - return de$1 && b.locale !== "ko" ? null : b.data; - default: - return null; - } -} -var le = { color: true, date: true, datetime: true, "datetime-local": true, email: true, month: true, number: true, password: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true }; -function me(a) { - var b = a && a.nodeName && a.nodeName.toLowerCase(); - return b === "input" ? !!le[a.type] : b === "textarea" ? true : false; -} -function ne(a, b, c, d) { - Eb(d); - b = oe(b, "onChange"); - 0 < b.length && (c = new td("onChange", "change", null, c, d), a.push({ event: c, listeners: b })); -} -var pe = null, qe = null; -function re(a) { - se(a, 0); -} -function te(a) { - var b = ue(a); - if (Wa(b)) - return a; -} -function ve(a, b) { - if (a === "change") - return b; -} -var we = false; -if (fa) { - var xe; - if (fa) { - var ye = "oninput" in document; - if (!ye) { - var ze = document.createElement("div"); - ze.setAttribute("oninput", "return;"); - ye = typeof ze.oninput === "function"; - } - xe = ye; - } else - xe = false; - we = xe && (!document.documentMode || 9 < document.documentMode); -} -function Ae() { - pe && (pe.detachEvent("onpropertychange", Be), qe = pe = null); -} -function Be(a) { - if (a.propertyName === "value" && te(qe)) { - var b = []; - ne(b, qe, a, xb(a)); - a = re; - if (Kb) - a(b); - else { - Kb = true; - try { - Gb(a, b); - } finally { - Kb = false, Mb(); - } - } - } -} -function Ce(a, b, c) { - a === "focusin" ? (Ae(), pe = b, qe = c, pe.attachEvent("onpropertychange", Be)) : a === "focusout" && Ae(); -} -function De(a) { - if (a === "selectionchange" || a === "keyup" || a === "keydown") - return te(qe); -} -function Ee(a, b) { - if (a === "click") - return te(b); -} -function Fe(a, b) { - if (a === "input" || a === "change") - return te(b); -} -function Ge(a, b) { - return a === b && (a !== 0 || 1 / a === 1 / b) || a !== a && b !== b; -} -var He = typeof Object.is === "function" ? Object.is : Ge, Ie = Object.prototype.hasOwnProperty; -function Je(a, b) { - if (He(a, b)) - return true; - if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) - return false; - var c = Object.keys(a), d = Object.keys(b); - if (c.length !== d.length) - return false; - for (d = 0; d < c.length; d++) - if (!Ie.call(b, c[d]) || !He(a[c[d]], b[c[d]])) - return false; - return true; -} -function Ke(a) { - for (; a && a.firstChild; ) - a = a.firstChild; - return a; -} -function Le(a, b) { - var c = Ke(a); - a = 0; - for (var d; c; ) { - if (c.nodeType === 3) { - d = a + c.textContent.length; - if (a <= b && d >= b) - return { node: c, offset: b - a }; - a = d; - } - a: { - for (; c; ) { - if (c.nextSibling) { - c = c.nextSibling; - break a; - } - c = c.parentNode; - } - c = void 0; - } - c = Ke(c); - } -} -function Me(a, b) { - return a && b ? a === b ? true : a && a.nodeType === 3 ? false : b && b.nodeType === 3 ? Me(a, b.parentNode) : "contains" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : false : false; -} -function Ne() { - for (var a = window, b = Xa(); b instanceof a.HTMLIFrameElement; ) { - try { - var c = typeof b.contentWindow.location.href === "string"; - } catch (d) { - c = false; - } - if (c) - a = b.contentWindow; - else - break; - b = Xa(a.document); - } - return b; -} -function Oe(a) { - var b = a && a.nodeName && a.nodeName.toLowerCase(); - return b && (b === "input" && (a.type === "text" || a.type === "search" || a.type === "tel" || a.type === "url" || a.type === "password") || b === "textarea" || a.contentEditable === "true"); -} -var Pe = fa && "documentMode" in document && 11 >= document.documentMode, Qe = null, Re = null, Se = null, Te = false; -function Ue(a, b, c) { - var d = c.window === c ? c.document : c.nodeType === 9 ? c : c.ownerDocument; - Te || Qe == null || Qe !== Xa(d) || (d = Qe, "selectionStart" in d && Oe(d) ? d = { start: d.selectionStart, end: d.selectionEnd } : (d = (d.ownerDocument && d.ownerDocument.defaultView || window).getSelection(), d = { anchorNode: d.anchorNode, anchorOffset: d.anchorOffset, focusNode: d.focusNode, focusOffset: d.focusOffset }), Se && Je(Se, d) || (Se = d, d = oe(Re, "onSelect"), 0 < d.length && (b = new td("onSelect", "select", null, b, c), a.push({ event: b, listeners: d }), b.target = Qe))); -} -Pc("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "), 0); -Pc("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "), 1); -Pc(Oc, 2); -for (var Ve = "change selectionchange textInput compositionstart compositionend compositionupdate".split(" "), We = 0; We < Ve.length; We++) - Nc.set(Ve[We], 0); -ea("onMouseEnter", ["mouseout", "mouseover"]); -ea("onMouseLeave", ["mouseout", "mouseover"]); -ea("onPointerEnter", ["pointerout", "pointerover"]); -ea("onPointerLeave", ["pointerout", "pointerover"]); -da$1("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")); -da$1("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")); -da$1("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]); -da$1("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")); -da$1("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")); -da$1("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" ")); -var Xe = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), Ye = new Set("cancel close invalid load scroll toggle".split(" ").concat(Xe)); -function Ze(a, b, c) { - var d = a.type || "unknown-event"; - a.currentTarget = c; - Yb(d, b, void 0, a); - a.currentTarget = null; -} -function se(a, b) { - b = (b & 4) !== 0; - for (var c = 0; c < a.length; c++) { - var d = a[c], e = d.event; - d = d.listeners; - a: { - var f2 = void 0; - if (b) - for (var g2 = d.length - 1; 0 <= g2; g2--) { - var h2 = d[g2], k = h2.instance, l2 = h2.currentTarget; - h2 = h2.listener; - if (k !== f2 && e.isPropagationStopped()) - break a; - Ze(e, h2, l2); - f2 = k; - } - else - for (g2 = 0; g2 < d.length; g2++) { - h2 = d[g2]; - k = h2.instance; - l2 = h2.currentTarget; - h2 = h2.listener; - if (k !== f2 && e.isPropagationStopped()) - break a; - Ze(e, h2, l2); - f2 = k; - } - } - } - if (Ub) - throw a = Vb, Ub = false, Vb = null, a; -} -function G(a, b) { - var c = $e(b), d = a + "__bubble"; - c.has(d) || (af(b, a, 2, false), c.add(d)); -} -var bf = "_reactListening" + Math.random().toString(36).slice(2); -function cf(a) { - a[bf] || (a[bf] = true, ba.forEach(function(b) { - Ye.has(b) || df(b, false, a, null); - df(b, true, a, null); - })); -} -function df(a, b, c, d) { - var e = 4 < arguments.length && arguments[4] !== void 0 ? arguments[4] : 0, f2 = c; - a === "selectionchange" && c.nodeType !== 9 && (f2 = c.ownerDocument); - if (d !== null && !b && Ye.has(a)) { - if (a !== "scroll") - return; - e |= 2; - f2 = d; - } - var g2 = $e(f2), h2 = a + "__" + (b ? "capture" : "bubble"); - g2.has(h2) || (b && (e |= 4), af(f2, a, e, b), g2.add(h2)); -} -function af(a, b, c, d) { - var e = Nc.get(b); - switch (e === void 0 ? 2 : e) { - case 0: - e = gd; - break; - case 1: - e = id$1; - break; - default: - e = hd; - } - c = e.bind(null, b, c, a); - e = void 0; - !Pb || b !== "touchstart" && b !== "touchmove" && b !== "wheel" || (e = true); - d ? e !== void 0 ? a.addEventListener(b, c, { capture: true, passive: e }) : a.addEventListener(b, c, true) : e !== void 0 ? a.addEventListener(b, c, { passive: e }) : a.addEventListener(b, c, false); -} -function jd(a, b, c, d, e) { - var f2 = d; - if ((b & 1) === 0 && (b & 2) === 0 && d !== null) - a: - for (; ; ) { - if (d === null) - return; - var g2 = d.tag; - if (g2 === 3 || g2 === 4) { - var h2 = d.stateNode.containerInfo; - if (h2 === e || h2.nodeType === 8 && h2.parentNode === e) - break; - if (g2 === 4) - for (g2 = d.return; g2 !== null; ) { - var k = g2.tag; - if (k === 3 || k === 4) { - if (k = g2.stateNode.containerInfo, k === e || k.nodeType === 8 && k.parentNode === e) - return; - } - g2 = g2.return; - } - for (; h2 !== null; ) { - g2 = wc(h2); - if (g2 === null) - return; - k = g2.tag; - if (k === 5 || k === 6) { - d = f2 = g2; - continue a; - } - h2 = h2.parentNode; - } - } - d = d.return; - } - Nb(function() { - var d2 = f2, e2 = xb(c), g3 = []; - a: { - var h3 = Mc.get(a); - if (h3 !== void 0) { - var k2 = td, x2 = a; - switch (a) { - case "keypress": - if (od(c) === 0) - break a; - case "keydown": - case "keyup": - k2 = Rd; - break; - case "focusin": - x2 = "focus"; - k2 = Fd; - break; - case "focusout": - x2 = "blur"; - k2 = Fd; - break; - case "beforeblur": - case "afterblur": - k2 = Fd; - break; - case "click": - if (c.button === 2) - break a; - case "auxclick": - case "dblclick": - case "mousedown": - case "mousemove": - case "mouseup": - case "mouseout": - case "mouseover": - case "contextmenu": - k2 = Bd; - break; - case "drag": - case "dragend": - case "dragenter": - case "dragexit": - case "dragleave": - case "dragover": - case "dragstart": - case "drop": - k2 = Dd; - break; - case "touchcancel": - case "touchend": - case "touchmove": - case "touchstart": - k2 = Vd; - break; - case Ic: - case Jc: - case Kc: - k2 = Hd; - break; - case Lc: - k2 = Xd; - break; - case "scroll": - k2 = vd; - break; - case "wheel": - k2 = Zd; - break; - case "copy": - case "cut": - case "paste": - k2 = Jd; - break; - case "gotpointercapture": - case "lostpointercapture": - case "pointercancel": - case "pointerdown": - case "pointermove": - case "pointerout": - case "pointerover": - case "pointerup": - k2 = Td; - } - var w2 = (b & 4) !== 0, z2 = !w2 && a === "scroll", u2 = w2 ? h3 !== null ? h3 + "Capture" : null : h3; - w2 = []; - for (var t2 = d2, q2; t2 !== null; ) { - q2 = t2; - var v2 = q2.stateNode; - q2.tag === 5 && v2 !== null && (q2 = v2, u2 !== null && (v2 = Ob(t2, u2), v2 != null && w2.push(ef(t2, v2, q2)))); - if (z2) - break; - t2 = t2.return; - } - 0 < w2.length && (h3 = new k2(h3, x2, null, c, e2), g3.push({ event: h3, listeners: w2 })); - } - } - if ((b & 7) === 0) { - a: { - h3 = a === "mouseover" || a === "pointerover"; - k2 = a === "mouseout" || a === "pointerout"; - if (h3 && (b & 16) === 0 && (x2 = c.relatedTarget || c.fromElement) && (wc(x2) || x2[ff])) - break a; - if (k2 || h3) { - h3 = e2.window === e2 ? e2 : (h3 = e2.ownerDocument) ? h3.defaultView || h3.parentWindow : window; - if (k2) { - if (x2 = c.relatedTarget || c.toElement, k2 = d2, x2 = x2 ? wc(x2) : null, x2 !== null && (z2 = Zb(x2), x2 !== z2 || x2.tag !== 5 && x2.tag !== 6)) - x2 = null; - } else - k2 = null, x2 = d2; - if (k2 !== x2) { - w2 = Bd; - v2 = "onMouseLeave"; - u2 = "onMouseEnter"; - t2 = "mouse"; - if (a === "pointerout" || a === "pointerover") - w2 = Td, v2 = "onPointerLeave", u2 = "onPointerEnter", t2 = "pointer"; - z2 = k2 == null ? h3 : ue(k2); - q2 = x2 == null ? h3 : ue(x2); - h3 = new w2(v2, t2 + "leave", k2, c, e2); - h3.target = z2; - h3.relatedTarget = q2; - v2 = null; - wc(e2) === d2 && (w2 = new w2(u2, t2 + "enter", x2, c, e2), w2.target = q2, w2.relatedTarget = z2, v2 = w2); - z2 = v2; - if (k2 && x2) - b: { - w2 = k2; - u2 = x2; - t2 = 0; - for (q2 = w2; q2; q2 = gf(q2)) - t2++; - q2 = 0; - for (v2 = u2; v2; v2 = gf(v2)) - q2++; - for (; 0 < t2 - q2; ) - w2 = gf(w2), t2--; - for (; 0 < q2 - t2; ) - u2 = gf(u2), q2--; - for (; t2--; ) { - if (w2 === u2 || u2 !== null && w2 === u2.alternate) - break b; - w2 = gf(w2); - u2 = gf(u2); - } - w2 = null; - } - else - w2 = null; - k2 !== null && hf(g3, h3, k2, w2, false); - x2 !== null && z2 !== null && hf(g3, z2, x2, w2, true); - } - } - } - a: { - h3 = d2 ? ue(d2) : window; - k2 = h3.nodeName && h3.nodeName.toLowerCase(); - if (k2 === "select" || k2 === "input" && h3.type === "file") - var J2 = ve; - else if (me(h3)) - if (we) - J2 = Fe; - else { - J2 = De; - var K2 = Ce; - } - else - (k2 = h3.nodeName) && k2.toLowerCase() === "input" && (h3.type === "checkbox" || h3.type === "radio") && (J2 = Ee); - if (J2 && (J2 = J2(a, d2))) { - ne(g3, J2, c, e2); - break a; - } - K2 && K2(a, h3, d2); - a === "focusout" && (K2 = h3._wrapperState) && K2.controlled && h3.type === "number" && bb(h3, "number", h3.value); - } - K2 = d2 ? ue(d2) : window; - switch (a) { - case "focusin": - if (me(K2) || K2.contentEditable === "true") - Qe = K2, Re = d2, Se = null; - break; - case "focusout": - Se = Re = Qe = null; - break; - case "mousedown": - Te = true; - break; - case "contextmenu": - case "mouseup": - case "dragend": - Te = false; - Ue(g3, c, e2); - break; - case "selectionchange": - if (Pe) - break; - case "keydown": - case "keyup": - Ue(g3, c, e2); - } - var Q2; - if (ae) - b: { - switch (a) { - case "compositionstart": - var L2 = "onCompositionStart"; - break b; - case "compositionend": - L2 = "onCompositionEnd"; - break b; - case "compositionupdate": - L2 = "onCompositionUpdate"; - break b; - } - L2 = void 0; - } - else - ie ? ge(a, c) && (L2 = "onCompositionEnd") : a === "keydown" && c.keyCode === 229 && (L2 = "onCompositionStart"); - L2 && (de$1 && c.locale !== "ko" && (ie || L2 !== "onCompositionStart" ? L2 === "onCompositionEnd" && ie && (Q2 = nd()) : (kd = e2, ld = "value" in kd ? kd.value : kd.textContent, ie = true)), K2 = oe(d2, L2), 0 < K2.length && (L2 = new Ld(L2, a, null, c, e2), g3.push({ event: L2, listeners: K2 }), Q2 ? L2.data = Q2 : (Q2 = he(c), Q2 !== null && (L2.data = Q2)))); - if (Q2 = ce ? je(a, c) : ke(a, c)) - d2 = oe(d2, "onBeforeInput"), 0 < d2.length && (e2 = new Ld("onBeforeInput", "beforeinput", null, c, e2), g3.push({ event: e2, listeners: d2 }), e2.data = Q2); - } - se(g3, b); - }); -} -function ef(a, b, c) { - return { instance: a, listener: b, currentTarget: c }; -} -function oe(a, b) { - for (var c = b + "Capture", d = []; a !== null; ) { - var e = a, f2 = e.stateNode; - e.tag === 5 && f2 !== null && (e = f2, f2 = Ob(a, c), f2 != null && d.unshift(ef(a, f2, e)), f2 = Ob(a, b), f2 != null && d.push(ef(a, f2, e))); - a = a.return; - } - return d; -} -function gf(a) { - if (a === null) - return null; - do - a = a.return; - while (a && a.tag !== 5); - return a ? a : null; -} -function hf(a, b, c, d, e) { - for (var f2 = b._reactName, g2 = []; c !== null && c !== d; ) { - var h2 = c, k = h2.alternate, l2 = h2.stateNode; - if (k !== null && k === d) - break; - h2.tag === 5 && l2 !== null && (h2 = l2, e ? (k = Ob(c, f2), k != null && g2.unshift(ef(c, k, h2))) : e || (k = Ob(c, f2), k != null && g2.push(ef(c, k, h2)))); - c = c.return; - } - g2.length !== 0 && a.push({ event: b, listeners: g2 }); -} -function jf() { -} -var kf = null, lf = null; -function mf(a, b) { - switch (a) { - case "button": - case "input": - case "select": - case "textarea": - return !!b.autoFocus; - } - return false; -} -function nf(a, b) { - return a === "textarea" || a === "option" || a === "noscript" || typeof b.children === "string" || typeof b.children === "number" || typeof b.dangerouslySetInnerHTML === "object" && b.dangerouslySetInnerHTML !== null && b.dangerouslySetInnerHTML.__html != null; -} -var of = typeof setTimeout === "function" ? setTimeout : void 0, pf = typeof clearTimeout === "function" ? clearTimeout : void 0; -function qf(a) { - a.nodeType === 1 ? a.textContent = "" : a.nodeType === 9 && (a = a.body, a != null && (a.textContent = "")); -} -function rf(a) { - for (; a != null; a = a.nextSibling) { - var b = a.nodeType; - if (b === 1 || b === 3) - break; - } - return a; -} -function sf(a) { - a = a.previousSibling; - for (var b = 0; a; ) { - if (a.nodeType === 8) { - var c = a.data; - if (c === "$" || c === "$!" || c === "$?") { - if (b === 0) - return a; - b--; - } else - c === "/$" && b++; - } - a = a.previousSibling; - } - return null; -} -var tf = 0; -function uf(a) { - return { $$typeof: Ga, toString: a, valueOf: a }; -} -var vf = Math.random().toString(36).slice(2), wf = "__reactFiber$" + vf, xf = "__reactProps$" + vf, ff = "__reactContainer$" + vf, yf = "__reactEvents$" + vf; -function wc(a) { - var b = a[wf]; - if (b) - return b; - for (var c = a.parentNode; c; ) { - if (b = c[ff] || c[wf]) { - c = b.alternate; - if (b.child !== null || c !== null && c.child !== null) - for (a = sf(a); a !== null; ) { - if (c = a[wf]) - return c; - a = sf(a); - } - return b; - } - a = c; - c = a.parentNode; - } - return null; -} -function Cb(a) { - a = a[wf] || a[ff]; - return !a || a.tag !== 5 && a.tag !== 6 && a.tag !== 13 && a.tag !== 3 ? null : a; -} -function ue(a) { - if (a.tag === 5 || a.tag === 6) - return a.stateNode; - throw Error(y(33)); -} -function Db(a) { - return a[xf] || null; -} -function $e(a) { - var b = a[yf]; - b === void 0 && (b = a[yf] = /* @__PURE__ */ new Set()); - return b; -} -var zf = [], Af = -1; -function Bf(a) { - return { current: a }; -} -function H(a) { - 0 > Af || (a.current = zf[Af], zf[Af] = null, Af--); -} -function I(a, b) { - Af++; - zf[Af] = a.current; - a.current = b; -} -var Cf = {}, M = Bf(Cf), N = Bf(false), Df = Cf; -function Ef(a, b) { - var c = a.type.contextTypes; - if (!c) - return Cf; - var d = a.stateNode; - if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) - return d.__reactInternalMemoizedMaskedChildContext; - var e = {}, f2; - for (f2 in c) - e[f2] = b[f2]; - d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e); - return e; -} -function Ff(a) { - a = a.childContextTypes; - return a !== null && a !== void 0; -} -function Gf() { - H(N); - H(M); -} -function Hf(a, b, c) { - if (M.current !== Cf) - throw Error(y(168)); - I(M, b); - I(N, c); -} -function If(a, b, c) { - var d = a.stateNode; - a = b.childContextTypes; - if (typeof d.getChildContext !== "function") - return c; - d = d.getChildContext(); - for (var e in d) - if (!(e in a)) - throw Error(y(108, Ra(b) || "Unknown", e)); - return m$1({}, c, d); -} -function Jf(a) { - a = (a = a.stateNode) && a.__reactInternalMemoizedMergedChildContext || Cf; - Df = M.current; - I(M, a); - I(N, N.current); - return true; -} -function Kf(a, b, c) { - var d = a.stateNode; - if (!d) - throw Error(y(169)); - c ? (a = If(a, b, Df), d.__reactInternalMemoizedMergedChildContext = a, H(N), H(M), I(M, a)) : H(N); - I(N, c); -} -var Lf = null, Mf = null, Nf = r.unstable_runWithPriority, Of = r.unstable_scheduleCallback, Pf = r.unstable_cancelCallback, Qf = r.unstable_shouldYield, Rf = r.unstable_requestPaint, Sf = r.unstable_now, Tf = r.unstable_getCurrentPriorityLevel, Uf = r.unstable_ImmediatePriority, Vf = r.unstable_UserBlockingPriority, Wf = r.unstable_NormalPriority, Xf = r.unstable_LowPriority, Yf = r.unstable_IdlePriority, Zf = {}, $f = Rf !== void 0 ? Rf : function() { -}, ag = null, bg = null, cg = false, dg = Sf(), O = 1e4 > dg ? Sf : function() { - return Sf() - dg; -}; -function eg() { - switch (Tf()) { - case Uf: - return 99; - case Vf: - return 98; - case Wf: - return 97; - case Xf: - return 96; - case Yf: - return 95; - default: - throw Error(y(332)); - } -} -function fg(a) { - switch (a) { - case 99: - return Uf; - case 98: - return Vf; - case 97: - return Wf; - case 96: - return Xf; - case 95: - return Yf; - default: - throw Error(y(332)); - } -} -function gg(a, b) { - a = fg(a); - return Nf(a, b); -} -function hg(a, b, c) { - a = fg(a); - return Of(a, b, c); -} -function ig() { - if (bg !== null) { - var a = bg; - bg = null; - Pf(a); - } - jg(); -} -function jg() { - if (!cg && ag !== null) { - cg = true; - var a = 0; - try { - var b = ag; - gg(99, function() { - for (; a < b.length; a++) { - var c = b[a]; - do - c = c(true); - while (c !== null); - } - }); - ag = null; - } catch (c) { - throw ag !== null && (ag = ag.slice(a + 1)), Of(Uf, ig), c; - } finally { - cg = false; - } - } -} -var kg = ra.ReactCurrentBatchConfig; -function lg(a, b) { - if (a && a.defaultProps) { - b = m$1({}, b); - a = a.defaultProps; - for (var c in a) - b[c] === void 0 && (b[c] = a[c]); - return b; - } - return b; -} -var mg = Bf(null), ng = null, og = null, pg = null; -function qg() { - pg = og = ng = null; -} -function rg(a) { - var b = mg.current; - H(mg); - a.type._context._currentValue = b; -} -function sg(a, b) { - for (; a !== null; ) { - var c = a.alternate; - if ((a.childLanes & b) === b) - if (c === null || (c.childLanes & b) === b) - break; - else - c.childLanes |= b; - else - a.childLanes |= b, c !== null && (c.childLanes |= b); - a = a.return; - } -} -function tg(a, b) { - ng = a; - pg = og = null; - a = a.dependencies; - a !== null && a.firstContext !== null && ((a.lanes & b) !== 0 && (ug = true), a.firstContext = null); -} -function vg(a, b) { - if (pg !== a && b !== false && b !== 0) { - if (typeof b !== "number" || b === 1073741823) - pg = a, b = 1073741823; - b = { context: a, observedBits: b, next: null }; - if (og === null) { - if (ng === null) - throw Error(y(308)); - og = b; - ng.dependencies = { lanes: 0, firstContext: b, responders: null }; - } else - og = og.next = b; - } - return a._currentValue; -} -var wg = false; -function xg(a) { - a.updateQueue = { baseState: a.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null }, effects: null }; -} -function yg(a, b) { - a = a.updateQueue; - b.updateQueue === a && (b.updateQueue = { baseState: a.baseState, firstBaseUpdate: a.firstBaseUpdate, lastBaseUpdate: a.lastBaseUpdate, shared: a.shared, effects: a.effects }); -} -function zg(a, b) { - return { eventTime: a, lane: b, tag: 0, payload: null, callback: null, next: null }; -} -function Ag(a, b) { - a = a.updateQueue; - if (a !== null) { - a = a.shared; - var c = a.pending; - c === null ? b.next = b : (b.next = c.next, c.next = b); - a.pending = b; - } -} -function Bg(a, b) { - var c = a.updateQueue, d = a.alternate; - if (d !== null && (d = d.updateQueue, c === d)) { - var e = null, f2 = null; - c = c.firstBaseUpdate; - if (c !== null) { - do { - var g2 = { eventTime: c.eventTime, lane: c.lane, tag: c.tag, payload: c.payload, callback: c.callback, next: null }; - f2 === null ? e = f2 = g2 : f2 = f2.next = g2; - c = c.next; - } while (c !== null); - f2 === null ? e = f2 = b : f2 = f2.next = b; - } else - e = f2 = b; - c = { baseState: d.baseState, firstBaseUpdate: e, lastBaseUpdate: f2, shared: d.shared, effects: d.effects }; - a.updateQueue = c; - return; - } - a = c.lastBaseUpdate; - a === null ? c.firstBaseUpdate = b : a.next = b; - c.lastBaseUpdate = b; -} -function Cg(a, b, c, d) { - var e = a.updateQueue; - wg = false; - var f2 = e.firstBaseUpdate, g2 = e.lastBaseUpdate, h2 = e.shared.pending; - if (h2 !== null) { - e.shared.pending = null; - var k = h2, l2 = k.next; - k.next = null; - g2 === null ? f2 = l2 : g2.next = l2; - g2 = k; - var n2 = a.alternate; - if (n2 !== null) { - n2 = n2.updateQueue; - var A2 = n2.lastBaseUpdate; - A2 !== g2 && (A2 === null ? n2.firstBaseUpdate = l2 : A2.next = l2, n2.lastBaseUpdate = k); - } - } - if (f2 !== null) { - A2 = e.baseState; - g2 = 0; - n2 = l2 = k = null; - do { - h2 = f2.lane; - var p2 = f2.eventTime; - if ((d & h2) === h2) { - n2 !== null && (n2 = n2.next = { - eventTime: p2, - lane: 0, - tag: f2.tag, - payload: f2.payload, - callback: f2.callback, - next: null - }); - a: { - var C2 = a, x2 = f2; - h2 = b; - p2 = c; - switch (x2.tag) { - case 1: - C2 = x2.payload; - if (typeof C2 === "function") { - A2 = C2.call(p2, A2, h2); - break a; - } - A2 = C2; - break a; - case 3: - C2.flags = C2.flags & -4097 | 64; - case 0: - C2 = x2.payload; - h2 = typeof C2 === "function" ? C2.call(p2, A2, h2) : C2; - if (h2 === null || h2 === void 0) - break a; - A2 = m$1({}, A2, h2); - break a; - case 2: - wg = true; - } - } - f2.callback !== null && (a.flags |= 32, h2 = e.effects, h2 === null ? e.effects = [f2] : h2.push(f2)); - } else - p2 = { eventTime: p2, lane: h2, tag: f2.tag, payload: f2.payload, callback: f2.callback, next: null }, n2 === null ? (l2 = n2 = p2, k = A2) : n2 = n2.next = p2, g2 |= h2; - f2 = f2.next; - if (f2 === null) - if (h2 = e.shared.pending, h2 === null) - break; - else - f2 = h2.next, h2.next = null, e.lastBaseUpdate = h2, e.shared.pending = null; - } while (1); - n2 === null && (k = A2); - e.baseState = k; - e.firstBaseUpdate = l2; - e.lastBaseUpdate = n2; - Dg |= g2; - a.lanes = g2; - a.memoizedState = A2; - } -} -function Eg(a, b, c) { - a = b.effects; - b.effects = null; - if (a !== null) - for (b = 0; b < a.length; b++) { - var d = a[b], e = d.callback; - if (e !== null) { - d.callback = null; - d = c; - if (typeof e !== "function") - throw Error(y(191, e)); - e.call(d); - } - } -} -var Fg = new aa.Component().refs; -function Gg(a, b, c, d) { - b = a.memoizedState; - c = c(d, b); - c = c === null || c === void 0 ? b : m$1({}, b, c); - a.memoizedState = c; - a.lanes === 0 && (a.updateQueue.baseState = c); -} -var Kg = { isMounted: function(a) { - return (a = a._reactInternals) ? Zb(a) === a : false; -}, enqueueSetState: function(a, b, c) { - a = a._reactInternals; - var d = Hg(), e = Ig(a), f2 = zg(d, e); - f2.payload = b; - c !== void 0 && c !== null && (f2.callback = c); - Ag(a, f2); - Jg(a, e, d); -}, enqueueReplaceState: function(a, b, c) { - a = a._reactInternals; - var d = Hg(), e = Ig(a), f2 = zg(d, e); - f2.tag = 1; - f2.payload = b; - c !== void 0 && c !== null && (f2.callback = c); - Ag(a, f2); - Jg(a, e, d); -}, enqueueForceUpdate: function(a, b) { - a = a._reactInternals; - var c = Hg(), d = Ig(a), e = zg(c, d); - e.tag = 2; - b !== void 0 && b !== null && (e.callback = b); - Ag(a, e); - Jg(a, d, c); -} }; -function Lg(a, b, c, d, e, f2, g2) { - a = a.stateNode; - return typeof a.shouldComponentUpdate === "function" ? a.shouldComponentUpdate(d, f2, g2) : b.prototype && b.prototype.isPureReactComponent ? !Je(c, d) || !Je(e, f2) : true; -} -function Mg(a, b, c) { - var d = false, e = Cf; - var f2 = b.contextType; - typeof f2 === "object" && f2 !== null ? f2 = vg(f2) : (e = Ff(b) ? Df : M.current, d = b.contextTypes, f2 = (d = d !== null && d !== void 0) ? Ef(a, e) : Cf); - b = new b(c, f2); - a.memoizedState = b.state !== null && b.state !== void 0 ? b.state : null; - b.updater = Kg; - a.stateNode = b; - b._reactInternals = a; - d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f2); - return b; -} -function Ng(a, b, c, d) { - a = b.state; - typeof b.componentWillReceiveProps === "function" && b.componentWillReceiveProps(c, d); - typeof b.UNSAFE_componentWillReceiveProps === "function" && b.UNSAFE_componentWillReceiveProps(c, d); - b.state !== a && Kg.enqueueReplaceState(b, b.state, null); -} -function Og(a, b, c, d) { - var e = a.stateNode; - e.props = c; - e.state = a.memoizedState; - e.refs = Fg; - xg(a); - var f2 = b.contextType; - typeof f2 === "object" && f2 !== null ? e.context = vg(f2) : (f2 = Ff(b) ? Df : M.current, e.context = Ef(a, f2)); - Cg(a, c, e, d); - e.state = a.memoizedState; - f2 = b.getDerivedStateFromProps; - typeof f2 === "function" && (Gg(a, b, f2, c), e.state = a.memoizedState); - typeof b.getDerivedStateFromProps === "function" || typeof e.getSnapshotBeforeUpdate === "function" || typeof e.UNSAFE_componentWillMount !== "function" && typeof e.componentWillMount !== "function" || (b = e.state, typeof e.componentWillMount === "function" && e.componentWillMount(), typeof e.UNSAFE_componentWillMount === "function" && e.UNSAFE_componentWillMount(), b !== e.state && Kg.enqueueReplaceState(e, e.state, null), Cg(a, c, e, d), e.state = a.memoizedState); - typeof e.componentDidMount === "function" && (a.flags |= 4); -} -var Pg = Array.isArray; -function Qg(a, b, c) { - a = c.ref; - if (a !== null && typeof a !== "function" && typeof a !== "object") { - if (c._owner) { - c = c._owner; - if (c) { - if (c.tag !== 1) - throw Error(y(309)); - var d = c.stateNode; - } - if (!d) - throw Error(y(147, a)); - var e = "" + a; - if (b !== null && b.ref !== null && typeof b.ref === "function" && b.ref._stringRef === e) - return b.ref; - b = function(a2) { - var b2 = d.refs; - b2 === Fg && (b2 = d.refs = {}); - a2 === null ? delete b2[e] : b2[e] = a2; - }; - b._stringRef = e; - return b; - } - if (typeof a !== "string") - throw Error(y(284)); - if (!c._owner) - throw Error(y(290, a)); - } - return a; -} -function Rg(a, b) { - if (a.type !== "textarea") - throw Error(y(31, Object.prototype.toString.call(b) === "[object Object]" ? "object with keys {" + Object.keys(b).join(", ") + "}" : b)); -} -function Sg(a) { - function b(b2, c2) { - if (a) { - var d2 = b2.lastEffect; - d2 !== null ? (d2.nextEffect = c2, b2.lastEffect = c2) : b2.firstEffect = b2.lastEffect = c2; - c2.nextEffect = null; - c2.flags = 8; - } - } - function c(c2, d2) { - if (!a) - return null; - for (; d2 !== null; ) - b(c2, d2), d2 = d2.sibling; - return null; - } - function d(a2, b2) { - for (a2 = /* @__PURE__ */ new Map(); b2 !== null; ) - b2.key !== null ? a2.set(b2.key, b2) : a2.set(b2.index, b2), b2 = b2.sibling; - return a2; - } - function e(a2, b2) { - a2 = Tg(a2, b2); - a2.index = 0; - a2.sibling = null; - return a2; - } - function f2(b2, c2, d2) { - b2.index = d2; - if (!a) - return c2; - d2 = b2.alternate; - if (d2 !== null) - return d2 = d2.index, d2 < c2 ? (b2.flags = 2, c2) : d2; - b2.flags = 2; - return c2; - } - function g2(b2) { - a && b2.alternate === null && (b2.flags = 2); - return b2; - } - function h2(a2, b2, c2, d2) { - if (b2 === null || b2.tag !== 6) - return b2 = Ug(c2, a2.mode, d2), b2.return = a2, b2; - b2 = e(b2, c2); - b2.return = a2; - return b2; - } - function k(a2, b2, c2, d2) { - if (b2 !== null && b2.elementType === c2.type) - return d2 = e(b2, c2.props), d2.ref = Qg(a2, b2, c2), d2.return = a2, d2; - d2 = Vg(c2.type, c2.key, c2.props, null, a2.mode, d2); - d2.ref = Qg(a2, b2, c2); - d2.return = a2; - return d2; - } - function l2(a2, b2, c2, d2) { - if (b2 === null || b2.tag !== 4 || b2.stateNode.containerInfo !== c2.containerInfo || b2.stateNode.implementation !== c2.implementation) - return b2 = Wg(c2, a2.mode, d2), b2.return = a2, b2; - b2 = e(b2, c2.children || []); - b2.return = a2; - return b2; - } - function n2(a2, b2, c2, d2, f3) { - if (b2 === null || b2.tag !== 7) - return b2 = Xg(c2, a2.mode, d2, f3), b2.return = a2, b2; - b2 = e(b2, c2); - b2.return = a2; - return b2; - } - function A2(a2, b2, c2) { - if (typeof b2 === "string" || typeof b2 === "number") - return b2 = Ug("" + b2, a2.mode, c2), b2.return = a2, b2; - if (typeof b2 === "object" && b2 !== null) { - switch (b2.$$typeof) { - case sa: - return c2 = Vg(b2.type, b2.key, b2.props, null, a2.mode, c2), c2.ref = Qg(a2, null, b2), c2.return = a2, c2; - case ta: - return b2 = Wg(b2, a2.mode, c2), b2.return = a2, b2; - } - if (Pg(b2) || La(b2)) - return b2 = Xg(b2, a2.mode, c2, null), b2.return = a2, b2; - Rg(a2, b2); - } - return null; - } - function p2(a2, b2, c2, d2) { - var e2 = b2 !== null ? b2.key : null; - if (typeof c2 === "string" || typeof c2 === "number") - return e2 !== null ? null : h2(a2, b2, "" + c2, d2); - if (typeof c2 === "object" && c2 !== null) { - switch (c2.$$typeof) { - case sa: - return c2.key === e2 ? c2.type === ua ? n2(a2, b2, c2.props.children, d2, e2) : k(a2, b2, c2, d2) : null; - case ta: - return c2.key === e2 ? l2(a2, b2, c2, d2) : null; - } - if (Pg(c2) || La(c2)) - return e2 !== null ? null : n2(a2, b2, c2, d2, null); - Rg(a2, c2); - } - return null; - } - function C2(a2, b2, c2, d2, e2) { - if (typeof d2 === "string" || typeof d2 === "number") - return a2 = a2.get(c2) || null, h2(b2, a2, "" + d2, e2); - if (typeof d2 === "object" && d2 !== null) { - switch (d2.$$typeof) { - case sa: - return a2 = a2.get(d2.key === null ? c2 : d2.key) || null, d2.type === ua ? n2(b2, a2, d2.props.children, e2, d2.key) : k(b2, a2, d2, e2); - case ta: - return a2 = a2.get(d2.key === null ? c2 : d2.key) || null, l2(b2, a2, d2, e2); - } - if (Pg(d2) || La(d2)) - return a2 = a2.get(c2) || null, n2(b2, a2, d2, e2, null); - Rg(b2, d2); - } - return null; - } - function x2(e2, g3, h3, k2) { - for (var l3 = null, t2 = null, u2 = g3, z2 = g3 = 0, q2 = null; u2 !== null && z2 < h3.length; z2++) { - u2.index > z2 ? (q2 = u2, u2 = null) : q2 = u2.sibling; - var n3 = p2(e2, u2, h3[z2], k2); - if (n3 === null) { - u2 === null && (u2 = q2); - break; - } - a && u2 && n3.alternate === null && b(e2, u2); - g3 = f2(n3, g3, z2); - t2 === null ? l3 = n3 : t2.sibling = n3; - t2 = n3; - u2 = q2; - } - if (z2 === h3.length) - return c(e2, u2), l3; - if (u2 === null) { - for (; z2 < h3.length; z2++) - u2 = A2(e2, h3[z2], k2), u2 !== null && (g3 = f2(u2, g3, z2), t2 === null ? l3 = u2 : t2.sibling = u2, t2 = u2); - return l3; - } - for (u2 = d(e2, u2); z2 < h3.length; z2++) - q2 = C2(u2, e2, z2, h3[z2], k2), q2 !== null && (a && q2.alternate !== null && u2.delete(q2.key === null ? z2 : q2.key), g3 = f2(q2, g3, z2), t2 === null ? l3 = q2 : t2.sibling = q2, t2 = q2); - a && u2.forEach(function(a2) { - return b(e2, a2); - }); - return l3; - } - function w2(e2, g3, h3, k2) { - var l3 = La(h3); - if (typeof l3 !== "function") - throw Error(y(150)); - h3 = l3.call(h3); - if (h3 == null) - throw Error(y(151)); - for (var t2 = l3 = null, u2 = g3, z2 = g3 = 0, q2 = null, n3 = h3.next(); u2 !== null && !n3.done; z2++, n3 = h3.next()) { - u2.index > z2 ? (q2 = u2, u2 = null) : q2 = u2.sibling; - var w3 = p2(e2, u2, n3.value, k2); - if (w3 === null) { - u2 === null && (u2 = q2); - break; - } - a && u2 && w3.alternate === null && b(e2, u2); - g3 = f2(w3, g3, z2); - t2 === null ? l3 = w3 : t2.sibling = w3; - t2 = w3; - u2 = q2; - } - if (n3.done) - return c(e2, u2), l3; - if (u2 === null) { - for (; !n3.done; z2++, n3 = h3.next()) - n3 = A2(e2, n3.value, k2), n3 !== null && (g3 = f2(n3, g3, z2), t2 === null ? l3 = n3 : t2.sibling = n3, t2 = n3); - return l3; - } - for (u2 = d(e2, u2); !n3.done; z2++, n3 = h3.next()) - n3 = C2(u2, e2, z2, n3.value, k2), n3 !== null && (a && n3.alternate !== null && u2.delete(n3.key === null ? z2 : n3.key), g3 = f2(n3, g3, z2), t2 === null ? l3 = n3 : t2.sibling = n3, t2 = n3); - a && u2.forEach(function(a2) { - return b(e2, a2); - }); - return l3; - } - return function(a2, d2, f3, h3) { - var k2 = typeof f3 === "object" && f3 !== null && f3.type === ua && f3.key === null; - k2 && (f3 = f3.props.children); - var l3 = typeof f3 === "object" && f3 !== null; - if (l3) - switch (f3.$$typeof) { - case sa: - a: { - l3 = f3.key; - for (k2 = d2; k2 !== null; ) { - if (k2.key === l3) { - switch (k2.tag) { - case 7: - if (f3.type === ua) { - c(a2, k2.sibling); - d2 = e(k2, f3.props.children); - d2.return = a2; - a2 = d2; - break a; - } - break; - default: - if (k2.elementType === f3.type) { - c(a2, k2.sibling); - d2 = e(k2, f3.props); - d2.ref = Qg(a2, k2, f3); - d2.return = a2; - a2 = d2; - break a; - } - } - c(a2, k2); - break; - } else - b(a2, k2); - k2 = k2.sibling; - } - f3.type === ua ? (d2 = Xg(f3.props.children, a2.mode, h3, f3.key), d2.return = a2, a2 = d2) : (h3 = Vg(f3.type, f3.key, f3.props, null, a2.mode, h3), h3.ref = Qg(a2, d2, f3), h3.return = a2, a2 = h3); - } - return g2(a2); - case ta: - a: { - for (k2 = f3.key; d2 !== null; ) { - if (d2.key === k2) - if (d2.tag === 4 && d2.stateNode.containerInfo === f3.containerInfo && d2.stateNode.implementation === f3.implementation) { - c(a2, d2.sibling); - d2 = e(d2, f3.children || []); - d2.return = a2; - a2 = d2; - break a; - } else { - c(a2, d2); - break; - } - else - b(a2, d2); - d2 = d2.sibling; - } - d2 = Wg(f3, a2.mode, h3); - d2.return = a2; - a2 = d2; - } - return g2(a2); - } - if (typeof f3 === "string" || typeof f3 === "number") - return f3 = "" + f3, d2 !== null && d2.tag === 6 ? (c(a2, d2.sibling), d2 = e(d2, f3), d2.return = a2, a2 = d2) : (c(a2, d2), d2 = Ug(f3, a2.mode, h3), d2.return = a2, a2 = d2), g2(a2); - if (Pg(f3)) - return x2(a2, d2, f3, h3); - if (La(f3)) - return w2(a2, d2, f3, h3); - l3 && Rg(a2, f3); - if (typeof f3 === "undefined" && !k2) - switch (a2.tag) { - case 1: - case 22: - case 0: - case 11: - case 15: - throw Error(y(152, Ra(a2.type) || "Component")); - } - return c(a2, d2); - }; -} -var Yg = Sg(true), Zg = Sg(false), $g = {}, ah = Bf($g), bh = Bf($g), ch = Bf($g); -function dh(a) { - if (a === $g) - throw Error(y(174)); - return a; -} -function eh(a, b) { - I(ch, b); - I(bh, a); - I(ah, $g); - a = b.nodeType; - switch (a) { - case 9: - case 11: - b = (b = b.documentElement) ? b.namespaceURI : mb(null, ""); - break; - default: - a = a === 8 ? b.parentNode : b, b = a.namespaceURI || null, a = a.tagName, b = mb(b, a); - } - H(ah); - I(ah, b); -} -function fh() { - H(ah); - H(bh); - H(ch); -} -function gh(a) { - dh(ch.current); - var b = dh(ah.current); - var c = mb(b, a.type); - b !== c && (I(bh, a), I(ah, c)); -} -function hh(a) { - bh.current === a && (H(ah), H(bh)); -} -var P = Bf(0); -function ih(a) { - for (var b = a; b !== null; ) { - if (b.tag === 13) { - var c = b.memoizedState; - if (c !== null && (c = c.dehydrated, c === null || c.data === "$?" || c.data === "$!")) - return b; - } else if (b.tag === 19 && b.memoizedProps.revealOrder !== void 0) { - if ((b.flags & 64) !== 0) - return b; - } else if (b.child !== null) { - b.child.return = b; - b = b.child; - continue; - } - if (b === a) - break; - for (; b.sibling === null; ) { - if (b.return === null || b.return === a) - return null; - b = b.return; - } - b.sibling.return = b.return; - b = b.sibling; - } - return null; -} -var jh = null, kh = null, lh = false; -function mh(a, b) { - var c = nh(5, null, null, 0); - c.elementType = "DELETED"; - c.type = "DELETED"; - c.stateNode = b; - c.return = a; - c.flags = 8; - a.lastEffect !== null ? (a.lastEffect.nextEffect = c, a.lastEffect = c) : a.firstEffect = a.lastEffect = c; -} -function oh(a, b) { - switch (a.tag) { - case 5: - var c = a.type; - b = b.nodeType !== 1 || c.toLowerCase() !== b.nodeName.toLowerCase() ? null : b; - return b !== null ? (a.stateNode = b, true) : false; - case 6: - return b = a.pendingProps === "" || b.nodeType !== 3 ? null : b, b !== null ? (a.stateNode = b, true) : false; - case 13: - return false; - default: - return false; - } -} -function ph(a) { - if (lh) { - var b = kh; - if (b) { - var c = b; - if (!oh(a, b)) { - b = rf(c.nextSibling); - if (!b || !oh(a, b)) { - a.flags = a.flags & -1025 | 2; - lh = false; - jh = a; - return; - } - mh(jh, c); - } - jh = a; - kh = rf(b.firstChild); - } else - a.flags = a.flags & -1025 | 2, lh = false, jh = a; - } -} -function qh(a) { - for (a = a.return; a !== null && a.tag !== 5 && a.tag !== 3 && a.tag !== 13; ) - a = a.return; - jh = a; -} -function rh(a) { - if (a !== jh) - return false; - if (!lh) - return qh(a), lh = true, false; - var b = a.type; - if (a.tag !== 5 || b !== "head" && b !== "body" && !nf(b, a.memoizedProps)) - for (b = kh; b; ) - mh(a, b), b = rf(b.nextSibling); - qh(a); - if (a.tag === 13) { - a = a.memoizedState; - a = a !== null ? a.dehydrated : null; - if (!a) - throw Error(y(317)); - a: { - a = a.nextSibling; - for (b = 0; a; ) { - if (a.nodeType === 8) { - var c = a.data; - if (c === "/$") { - if (b === 0) { - kh = rf(a.nextSibling); - break a; - } - b--; - } else - c !== "$" && c !== "$!" && c !== "$?" || b++; - } - a = a.nextSibling; - } - kh = null; - } - } else - kh = jh ? rf(a.stateNode.nextSibling) : null; - return true; -} -function sh() { - kh = jh = null; - lh = false; -} -var th = []; -function uh() { - for (var a = 0; a < th.length; a++) - th[a]._workInProgressVersionPrimary = null; - th.length = 0; -} -var vh = ra.ReactCurrentDispatcher, wh = ra.ReactCurrentBatchConfig, xh = 0, R = null, S = null, T = null, yh = false, zh = false; -function Ah() { - throw Error(y(321)); -} -function Bh(a, b) { - if (b === null) - return false; - for (var c = 0; c < b.length && c < a.length; c++) - if (!He(a[c], b[c])) - return false; - return true; -} -function Ch(a, b, c, d, e, f2) { - xh = f2; - R = b; - b.memoizedState = null; - b.updateQueue = null; - b.lanes = 0; - vh.current = a === null || a.memoizedState === null ? Dh : Eh; - a = c(d, e); - if (zh) { - f2 = 0; - do { - zh = false; - if (!(25 > f2)) - throw Error(y(301)); - f2 += 1; - T = S = null; - b.updateQueue = null; - vh.current = Fh; - a = c(d, e); - } while (zh); - } - vh.current = Gh; - b = S !== null && S.next !== null; - xh = 0; - T = S = R = null; - yh = false; - if (b) - throw Error(y(300)); - return a; -} -function Hh() { - var a = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }; - T === null ? R.memoizedState = T = a : T = T.next = a; - return T; -} -function Ih() { - if (S === null) { - var a = R.alternate; - a = a !== null ? a.memoizedState : null; - } else - a = S.next; - var b = T === null ? R.memoizedState : T.next; - if (b !== null) - T = b, S = a; - else { - if (a === null) - throw Error(y(310)); - S = a; - a = { memoizedState: S.memoizedState, baseState: S.baseState, baseQueue: S.baseQueue, queue: S.queue, next: null }; - T === null ? R.memoizedState = T = a : T = T.next = a; - } - return T; -} -function Jh(a, b) { - return typeof b === "function" ? b(a) : b; -} -function Kh(a) { - var b = Ih(), c = b.queue; - if (c === null) - throw Error(y(311)); - c.lastRenderedReducer = a; - var d = S, e = d.baseQueue, f2 = c.pending; - if (f2 !== null) { - if (e !== null) { - var g2 = e.next; - e.next = f2.next; - f2.next = g2; - } - d.baseQueue = e = f2; - c.pending = null; - } - if (e !== null) { - e = e.next; - d = d.baseState; - var h2 = g2 = f2 = null, k = e; - do { - var l2 = k.lane; - if ((xh & l2) === l2) - h2 !== null && (h2 = h2.next = { lane: 0, action: k.action, eagerReducer: k.eagerReducer, eagerState: k.eagerState, next: null }), d = k.eagerReducer === a ? k.eagerState : a(d, k.action); - else { - var n2 = { - lane: l2, - action: k.action, - eagerReducer: k.eagerReducer, - eagerState: k.eagerState, - next: null - }; - h2 === null ? (g2 = h2 = n2, f2 = d) : h2 = h2.next = n2; - R.lanes |= l2; - Dg |= l2; - } - k = k.next; - } while (k !== null && k !== e); - h2 === null ? f2 = d : h2.next = g2; - He(d, b.memoizedState) || (ug = true); - b.memoizedState = d; - b.baseState = f2; - b.baseQueue = h2; - c.lastRenderedState = d; - } - return [b.memoizedState, c.dispatch]; -} -function Lh(a) { - var b = Ih(), c = b.queue; - if (c === null) - throw Error(y(311)); - c.lastRenderedReducer = a; - var d = c.dispatch, e = c.pending, f2 = b.memoizedState; - if (e !== null) { - c.pending = null; - var g2 = e = e.next; - do - f2 = a(f2, g2.action), g2 = g2.next; - while (g2 !== e); - He(f2, b.memoizedState) || (ug = true); - b.memoizedState = f2; - b.baseQueue === null && (b.baseState = f2); - c.lastRenderedState = f2; - } - return [f2, d]; -} -function Mh(a, b, c) { - var d = b._getVersion; - d = d(b._source); - var e = b._workInProgressVersionPrimary; - if (e !== null) - a = e === d; - else if (a = a.mutableReadLanes, a = (xh & a) === a) - b._workInProgressVersionPrimary = d, th.push(b); - if (a) - return c(b._source); - th.push(b); - throw Error(y(350)); -} -function Nh(a, b, c, d) { - var e = U; - if (e === null) - throw Error(y(349)); - var f2 = b._getVersion, g2 = f2(b._source), h2 = vh.current, k = h2.useState(function() { - return Mh(e, b, c); - }), l2 = k[1], n2 = k[0]; - k = T; - var A2 = a.memoizedState, p2 = A2.refs, C2 = p2.getSnapshot, x2 = A2.source; - A2 = A2.subscribe; - var w2 = R; - a.memoizedState = { refs: p2, source: b, subscribe: d }; - h2.useEffect(function() { - p2.getSnapshot = c; - p2.setSnapshot = l2; - var a2 = f2(b._source); - if (!He(g2, a2)) { - a2 = c(b._source); - He(n2, a2) || (l2(a2), a2 = Ig(w2), e.mutableReadLanes |= a2 & e.pendingLanes); - a2 = e.mutableReadLanes; - e.entangledLanes |= a2; - for (var d2 = e.entanglements, h3 = a2; 0 < h3; ) { - var k2 = 31 - Vc(h3), v2 = 1 << k2; - d2[k2] |= a2; - h3 &= ~v2; - } - } - }, [c, b, d]); - h2.useEffect(function() { - return d(b._source, function() { - var a2 = p2.getSnapshot, c2 = p2.setSnapshot; - try { - c2(a2(b._source)); - var d2 = Ig(w2); - e.mutableReadLanes |= d2 & e.pendingLanes; - } catch (q2) { - c2(function() { - throw q2; - }); - } - }); - }, [b, d]); - He(C2, c) && He(x2, b) && He(A2, d) || (a = { pending: null, dispatch: null, lastRenderedReducer: Jh, lastRenderedState: n2 }, a.dispatch = l2 = Oh.bind(null, R, a), k.queue = a, k.baseQueue = null, n2 = Mh(e, b, c), k.memoizedState = k.baseState = n2); - return n2; -} -function Ph(a, b, c) { - var d = Ih(); - return Nh(d, a, b, c); -} -function Qh(a) { - var b = Hh(); - typeof a === "function" && (a = a()); - b.memoizedState = b.baseState = a; - a = b.queue = { pending: null, dispatch: null, lastRenderedReducer: Jh, lastRenderedState: a }; - a = a.dispatch = Oh.bind(null, R, a); - return [b.memoizedState, a]; -} -function Rh(a, b, c, d) { - a = { tag: a, create: b, destroy: c, deps: d, next: null }; - b = R.updateQueue; - b === null ? (b = { lastEffect: null }, R.updateQueue = b, b.lastEffect = a.next = a) : (c = b.lastEffect, c === null ? b.lastEffect = a.next = a : (d = c.next, c.next = a, a.next = d, b.lastEffect = a)); - return a; -} -function Sh(a) { - var b = Hh(); - a = { current: a }; - return b.memoizedState = a; -} -function Th() { - return Ih().memoizedState; -} -function Uh(a, b, c, d) { - var e = Hh(); - R.flags |= a; - e.memoizedState = Rh(1 | b, c, void 0, d === void 0 ? null : d); -} -function Vh(a, b, c, d) { - var e = Ih(); - d = d === void 0 ? null : d; - var f2 = void 0; - if (S !== null) { - var g2 = S.memoizedState; - f2 = g2.destroy; - if (d !== null && Bh(d, g2.deps)) { - Rh(b, c, f2, d); - return; - } - } - R.flags |= a; - e.memoizedState = Rh(1 | b, c, f2, d); -} -function Wh(a, b) { - return Uh(516, 4, a, b); -} -function Xh(a, b) { - return Vh(516, 4, a, b); -} -function Yh(a, b) { - return Vh(4, 2, a, b); -} -function Zh(a, b) { - if (typeof b === "function") - return a = a(), b(a), function() { - b(null); - }; - if (b !== null && b !== void 0) - return a = a(), b.current = a, function() { - b.current = null; - }; -} -function $h(a, b, c) { - c = c !== null && c !== void 0 ? c.concat([a]) : null; - return Vh(4, 2, Zh.bind(null, b, a), c); -} -function ai() { -} -function bi(a, b) { - var c = Ih(); - b = b === void 0 ? null : b; - var d = c.memoizedState; - if (d !== null && b !== null && Bh(b, d[1])) - return d[0]; - c.memoizedState = [a, b]; - return a; -} -function ci(a, b) { - var c = Ih(); - b = b === void 0 ? null : b; - var d = c.memoizedState; - if (d !== null && b !== null && Bh(b, d[1])) - return d[0]; - a = a(); - c.memoizedState = [a, b]; - return a; -} -function di(a, b) { - var c = eg(); - gg(98 > c ? 98 : c, function() { - a(true); - }); - gg(97 < c ? 97 : c, function() { - var c2 = wh.transition; - wh.transition = 1; - try { - a(false), b(); - } finally { - wh.transition = c2; - } - }); -} -function Oh(a, b, c) { - var d = Hg(), e = Ig(a), f2 = { lane: e, action: c, eagerReducer: null, eagerState: null, next: null }, g2 = b.pending; - g2 === null ? f2.next = f2 : (f2.next = g2.next, g2.next = f2); - b.pending = f2; - g2 = a.alternate; - if (a === R || g2 !== null && g2 === R) - zh = yh = true; - else { - if (a.lanes === 0 && (g2 === null || g2.lanes === 0) && (g2 = b.lastRenderedReducer, g2 !== null)) - try { - var h2 = b.lastRenderedState, k = g2(h2, c); - f2.eagerReducer = g2; - f2.eagerState = k; - if (He(k, h2)) - return; - } catch (l2) { - } finally { - } - Jg(a, e, d); - } -} -var Gh = { readContext: vg, useCallback: Ah, useContext: Ah, useEffect: Ah, useImperativeHandle: Ah, useLayoutEffect: Ah, useMemo: Ah, useReducer: Ah, useRef: Ah, useState: Ah, useDebugValue: Ah, useDeferredValue: Ah, useTransition: Ah, useMutableSource: Ah, useOpaqueIdentifier: Ah, unstable_isNewReconciler: false }, Dh = { readContext: vg, useCallback: function(a, b) { - Hh().memoizedState = [a, b === void 0 ? null : b]; - return a; -}, useContext: vg, useEffect: Wh, useImperativeHandle: function(a, b, c) { - c = c !== null && c !== void 0 ? c.concat([a]) : null; - return Uh(4, 2, Zh.bind(null, b, a), c); -}, useLayoutEffect: function(a, b) { - return Uh(4, 2, a, b); -}, useMemo: function(a, b) { - var c = Hh(); - b = b === void 0 ? null : b; - a = a(); - c.memoizedState = [a, b]; - return a; -}, useReducer: function(a, b, c) { - var d = Hh(); - b = c !== void 0 ? c(b) : b; - d.memoizedState = d.baseState = b; - a = d.queue = { pending: null, dispatch: null, lastRenderedReducer: a, lastRenderedState: b }; - a = a.dispatch = Oh.bind(null, R, a); - return [d.memoizedState, a]; -}, useRef: Sh, useState: Qh, useDebugValue: ai, useDeferredValue: function(a) { - var b = Qh(a), c = b[0], d = b[1]; - Wh(function() { - var b2 = wh.transition; - wh.transition = 1; - try { - d(a); - } finally { - wh.transition = b2; - } - }, [a]); - return c; -}, useTransition: function() { - var a = Qh(false), b = a[0]; - a = di.bind(null, a[1]); - Sh(a); - return [a, b]; -}, useMutableSource: function(a, b, c) { - var d = Hh(); - d.memoizedState = { refs: { getSnapshot: b, setSnapshot: null }, source: a, subscribe: c }; - return Nh(d, a, b, c); -}, useOpaqueIdentifier: function() { - if (lh) { - var a = false, b = uf(function() { - a || (a = true, c("r:" + (tf++).toString(36))); - throw Error(y(355)); - }), c = Qh(b)[1]; - (R.mode & 2) === 0 && (R.flags |= 516, Rh(5, function() { - c("r:" + (tf++).toString(36)); - }, void 0, null)); - return b; - } - b = "r:" + (tf++).toString(36); - Qh(b); - return b; -}, unstable_isNewReconciler: false }, Eh = { readContext: vg, useCallback: bi, useContext: vg, useEffect: Xh, useImperativeHandle: $h, useLayoutEffect: Yh, useMemo: ci, useReducer: Kh, useRef: Th, useState: function() { - return Kh(Jh); -}, useDebugValue: ai, useDeferredValue: function(a) { - var b = Kh(Jh), c = b[0], d = b[1]; - Xh(function() { - var b2 = wh.transition; - wh.transition = 1; - try { - d(a); - } finally { - wh.transition = b2; - } - }, [a]); - return c; -}, useTransition: function() { - var a = Kh(Jh)[0]; - return [ - Th().current, - a - ]; -}, useMutableSource: Ph, useOpaqueIdentifier: function() { - return Kh(Jh)[0]; -}, unstable_isNewReconciler: false }, Fh = { readContext: vg, useCallback: bi, useContext: vg, useEffect: Xh, useImperativeHandle: $h, useLayoutEffect: Yh, useMemo: ci, useReducer: Lh, useRef: Th, useState: function() { - return Lh(Jh); -}, useDebugValue: ai, useDeferredValue: function(a) { - var b = Lh(Jh), c = b[0], d = b[1]; - Xh(function() { - var b2 = wh.transition; - wh.transition = 1; - try { - d(a); - } finally { - wh.transition = b2; - } - }, [a]); - return c; -}, useTransition: function() { - var a = Lh(Jh)[0]; - return [ - Th().current, - a - ]; -}, useMutableSource: Ph, useOpaqueIdentifier: function() { - return Lh(Jh)[0]; -}, unstable_isNewReconciler: false }, ei = ra.ReactCurrentOwner, ug = false; -function fi(a, b, c, d) { - b.child = a === null ? Zg(b, null, c, d) : Yg(b, a.child, c, d); -} -function gi(a, b, c, d, e) { - c = c.render; - var f2 = b.ref; - tg(b, e); - d = Ch(a, b, c, d, f2, e); - if (a !== null && !ug) - return b.updateQueue = a.updateQueue, b.flags &= -517, a.lanes &= ~e, hi$1(a, b, e); - b.flags |= 1; - fi(a, b, d, e); - return b.child; -} -function ii(a, b, c, d, e, f2) { - if (a === null) { - var g2 = c.type; - if (typeof g2 === "function" && !ji(g2) && g2.defaultProps === void 0 && c.compare === null && c.defaultProps === void 0) - return b.tag = 15, b.type = g2, ki(a, b, g2, d, e, f2); - a = Vg(c.type, null, d, b, b.mode, f2); - a.ref = b.ref; - a.return = b; - return b.child = a; - } - g2 = a.child; - if ((e & f2) === 0 && (e = g2.memoizedProps, c = c.compare, c = c !== null ? c : Je, c(e, d) && a.ref === b.ref)) - return hi$1(a, b, f2); - b.flags |= 1; - a = Tg(g2, d); - a.ref = b.ref; - a.return = b; - return b.child = a; -} -function ki(a, b, c, d, e, f2) { - if (a !== null && Je(a.memoizedProps, d) && a.ref === b.ref) - if (ug = false, (f2 & e) !== 0) - (a.flags & 16384) !== 0 && (ug = true); - else - return b.lanes = a.lanes, hi$1(a, b, f2); - return li(a, b, c, d, f2); -} -function mi(a, b, c) { - var d = b.pendingProps, e = d.children, f2 = a !== null ? a.memoizedState : null; - if (d.mode === "hidden" || d.mode === "unstable-defer-without-hiding") - if ((b.mode & 4) === 0) - b.memoizedState = { baseLanes: 0 }, ni(b, c); - else if ((c & 1073741824) !== 0) - b.memoizedState = { baseLanes: 0 }, ni(b, f2 !== null ? f2.baseLanes : c); - else - return a = f2 !== null ? f2.baseLanes | c : c, b.lanes = b.childLanes = 1073741824, b.memoizedState = { baseLanes: a }, ni(b, a), null; - else - f2 !== null ? (d = f2.baseLanes | c, b.memoizedState = null) : d = c, ni(b, d); - fi(a, b, e, c); - return b.child; -} -function oi(a, b) { - var c = b.ref; - if (a === null && c !== null || a !== null && a.ref !== c) - b.flags |= 128; -} -function li(a, b, c, d, e) { - var f2 = Ff(c) ? Df : M.current; - f2 = Ef(b, f2); - tg(b, e); - c = Ch(a, b, c, d, f2, e); - if (a !== null && !ug) - return b.updateQueue = a.updateQueue, b.flags &= -517, a.lanes &= ~e, hi$1(a, b, e); - b.flags |= 1; - fi(a, b, c, e); - return b.child; -} -function pi(a, b, c, d, e) { - if (Ff(c)) { - var f2 = true; - Jf(b); - } else - f2 = false; - tg(b, e); - if (b.stateNode === null) - a !== null && (a.alternate = null, b.alternate = null, b.flags |= 2), Mg(b, c, d), Og(b, c, d, e), d = true; - else if (a === null) { - var g2 = b.stateNode, h2 = b.memoizedProps; - g2.props = h2; - var k = g2.context, l2 = c.contextType; - typeof l2 === "object" && l2 !== null ? l2 = vg(l2) : (l2 = Ff(c) ? Df : M.current, l2 = Ef(b, l2)); - var n2 = c.getDerivedStateFromProps, A2 = typeof n2 === "function" || typeof g2.getSnapshotBeforeUpdate === "function"; - A2 || typeof g2.UNSAFE_componentWillReceiveProps !== "function" && typeof g2.componentWillReceiveProps !== "function" || (h2 !== d || k !== l2) && Ng(b, g2, d, l2); - wg = false; - var p2 = b.memoizedState; - g2.state = p2; - Cg(b, d, g2, e); - k = b.memoizedState; - h2 !== d || p2 !== k || N.current || wg ? (typeof n2 === "function" && (Gg(b, c, n2, d), k = b.memoizedState), (h2 = wg || Lg(b, c, h2, d, p2, k, l2)) ? (A2 || typeof g2.UNSAFE_componentWillMount !== "function" && typeof g2.componentWillMount !== "function" || (typeof g2.componentWillMount === "function" && g2.componentWillMount(), typeof g2.UNSAFE_componentWillMount === "function" && g2.UNSAFE_componentWillMount()), typeof g2.componentDidMount === "function" && (b.flags |= 4)) : (typeof g2.componentDidMount === "function" && (b.flags |= 4), b.memoizedProps = d, b.memoizedState = k), g2.props = d, g2.state = k, g2.context = l2, d = h2) : (typeof g2.componentDidMount === "function" && (b.flags |= 4), d = false); - } else { - g2 = b.stateNode; - yg(a, b); - h2 = b.memoizedProps; - l2 = b.type === b.elementType ? h2 : lg(b.type, h2); - g2.props = l2; - A2 = b.pendingProps; - p2 = g2.context; - k = c.contextType; - typeof k === "object" && k !== null ? k = vg(k) : (k = Ff(c) ? Df : M.current, k = Ef(b, k)); - var C2 = c.getDerivedStateFromProps; - (n2 = typeof C2 === "function" || typeof g2.getSnapshotBeforeUpdate === "function") || typeof g2.UNSAFE_componentWillReceiveProps !== "function" && typeof g2.componentWillReceiveProps !== "function" || (h2 !== A2 || p2 !== k) && Ng(b, g2, d, k); - wg = false; - p2 = b.memoizedState; - g2.state = p2; - Cg(b, d, g2, e); - var x2 = b.memoizedState; - h2 !== A2 || p2 !== x2 || N.current || wg ? (typeof C2 === "function" && (Gg(b, c, C2, d), x2 = b.memoizedState), (l2 = wg || Lg(b, c, l2, d, p2, x2, k)) ? (n2 || typeof g2.UNSAFE_componentWillUpdate !== "function" && typeof g2.componentWillUpdate !== "function" || (typeof g2.componentWillUpdate === "function" && g2.componentWillUpdate(d, x2, k), typeof g2.UNSAFE_componentWillUpdate === "function" && g2.UNSAFE_componentWillUpdate(d, x2, k)), typeof g2.componentDidUpdate === "function" && (b.flags |= 4), typeof g2.getSnapshotBeforeUpdate === "function" && (b.flags |= 256)) : (typeof g2.componentDidUpdate !== "function" || h2 === a.memoizedProps && p2 === a.memoizedState || (b.flags |= 4), typeof g2.getSnapshotBeforeUpdate !== "function" || h2 === a.memoizedProps && p2 === a.memoizedState || (b.flags |= 256), b.memoizedProps = d, b.memoizedState = x2), g2.props = d, g2.state = x2, g2.context = k, d = l2) : (typeof g2.componentDidUpdate !== "function" || h2 === a.memoizedProps && p2 === a.memoizedState || (b.flags |= 4), typeof g2.getSnapshotBeforeUpdate !== "function" || h2 === a.memoizedProps && p2 === a.memoizedState || (b.flags |= 256), d = false); - } - return qi(a, b, c, d, f2, e); -} -function qi(a, b, c, d, e, f2) { - oi(a, b); - var g2 = (b.flags & 64) !== 0; - if (!d && !g2) - return e && Kf(b, c, false), hi$1(a, b, f2); - d = b.stateNode; - ei.current = b; - var h2 = g2 && typeof c.getDerivedStateFromError !== "function" ? null : d.render(); - b.flags |= 1; - a !== null && g2 ? (b.child = Yg(b, a.child, null, f2), b.child = Yg(b, null, h2, f2)) : fi(a, b, h2, f2); - b.memoizedState = d.state; - e && Kf(b, c, true); - return b.child; -} -function ri(a) { - var b = a.stateNode; - b.pendingContext ? Hf(a, b.pendingContext, b.pendingContext !== b.context) : b.context && Hf(a, b.context, false); - eh(a, b.containerInfo); -} -var si = { dehydrated: null, retryLane: 0 }; -function ti(a, b, c) { - var d = b.pendingProps, e = P.current, f2 = false, g2; - (g2 = (b.flags & 64) !== 0) || (g2 = a !== null && a.memoizedState === null ? false : (e & 2) !== 0); - g2 ? (f2 = true, b.flags &= -65) : a !== null && a.memoizedState === null || d.fallback === void 0 || d.unstable_avoidThisFallback === true || (e |= 1); - I(P, e & 1); - if (a === null) { - d.fallback !== void 0 && ph(b); - a = d.children; - e = d.fallback; - if (f2) - return a = ui(b, a, e, c), b.child.memoizedState = { baseLanes: c }, b.memoizedState = si, a; - if (typeof d.unstable_expectedLoadTime === "number") - return a = ui(b, a, e, c), b.child.memoizedState = { baseLanes: c }, b.memoizedState = si, b.lanes = 33554432, a; - c = vi({ mode: "visible", children: a }, b.mode, c, null); - c.return = b; - return b.child = c; - } - if (a.memoizedState !== null) { - if (f2) - return d = wi(a, b, d.children, d.fallback, c), f2 = b.child, e = a.child.memoizedState, f2.memoizedState = e === null ? { baseLanes: c } : { baseLanes: e.baseLanes | c }, f2.childLanes = a.childLanes & ~c, b.memoizedState = si, d; - c = xi(a, b, d.children, c); - b.memoizedState = null; - return c; - } - if (f2) - return d = wi(a, b, d.children, d.fallback, c), f2 = b.child, e = a.child.memoizedState, f2.memoizedState = e === null ? { baseLanes: c } : { baseLanes: e.baseLanes | c }, f2.childLanes = a.childLanes & ~c, b.memoizedState = si, d; - c = xi(a, b, d.children, c); - b.memoizedState = null; - return c; -} -function ui(a, b, c, d) { - var e = a.mode, f2 = a.child; - b = { mode: "hidden", children: b }; - (e & 2) === 0 && f2 !== null ? (f2.childLanes = 0, f2.pendingProps = b) : f2 = vi(b, e, 0, null); - c = Xg(c, e, d, null); - f2.return = a; - c.return = a; - f2.sibling = c; - a.child = f2; - return c; -} -function xi(a, b, c, d) { - var e = a.child; - a = e.sibling; - c = Tg(e, { mode: "visible", children: c }); - (b.mode & 2) === 0 && (c.lanes = d); - c.return = b; - c.sibling = null; - a !== null && (a.nextEffect = null, a.flags = 8, b.firstEffect = b.lastEffect = a); - return b.child = c; -} -function wi(a, b, c, d, e) { - var f2 = b.mode, g2 = a.child; - a = g2.sibling; - var h2 = { mode: "hidden", children: c }; - (f2 & 2) === 0 && b.child !== g2 ? (c = b.child, c.childLanes = 0, c.pendingProps = h2, g2 = c.lastEffect, g2 !== null ? (b.firstEffect = c.firstEffect, b.lastEffect = g2, g2.nextEffect = null) : b.firstEffect = b.lastEffect = null) : c = Tg(g2, h2); - a !== null ? d = Tg(a, d) : (d = Xg(d, f2, e, null), d.flags |= 2); - d.return = b; - c.return = b; - c.sibling = d; - b.child = c; - return d; -} -function yi(a, b) { - a.lanes |= b; - var c = a.alternate; - c !== null && (c.lanes |= b); - sg(a.return, b); -} -function zi(a, b, c, d, e, f2) { - var g2 = a.memoizedState; - g2 === null ? a.memoizedState = { isBackwards: b, rendering: null, renderingStartTime: 0, last: d, tail: c, tailMode: e, lastEffect: f2 } : (g2.isBackwards = b, g2.rendering = null, g2.renderingStartTime = 0, g2.last = d, g2.tail = c, g2.tailMode = e, g2.lastEffect = f2); -} -function Ai(a, b, c) { - var d = b.pendingProps, e = d.revealOrder, f2 = d.tail; - fi(a, b, d.children, c); - d = P.current; - if ((d & 2) !== 0) - d = d & 1 | 2, b.flags |= 64; - else { - if (a !== null && (a.flags & 64) !== 0) - a: - for (a = b.child; a !== null; ) { - if (a.tag === 13) - a.memoizedState !== null && yi(a, c); - else if (a.tag === 19) - yi(a, c); - else if (a.child !== null) { - a.child.return = a; - a = a.child; - continue; - } - if (a === b) - break a; - for (; a.sibling === null; ) { - if (a.return === null || a.return === b) - break a; - a = a.return; - } - a.sibling.return = a.return; - a = a.sibling; - } - d &= 1; - } - I(P, d); - if ((b.mode & 2) === 0) - b.memoizedState = null; - else - switch (e) { - case "forwards": - c = b.child; - for (e = null; c !== null; ) - a = c.alternate, a !== null && ih(a) === null && (e = c), c = c.sibling; - c = e; - c === null ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null); - zi(b, false, e, c, f2, b.lastEffect); - break; - case "backwards": - c = null; - e = b.child; - for (b.child = null; e !== null; ) { - a = e.alternate; - if (a !== null && ih(a) === null) { - b.child = e; - break; - } - a = e.sibling; - e.sibling = c; - c = e; - e = a; - } - zi(b, true, c, null, f2, b.lastEffect); - break; - case "together": - zi(b, false, null, null, void 0, b.lastEffect); - break; - default: - b.memoizedState = null; - } - return b.child; -} -function hi$1(a, b, c) { - a !== null && (b.dependencies = a.dependencies); - Dg |= b.lanes; - if ((c & b.childLanes) !== 0) { - if (a !== null && b.child !== a.child) - throw Error(y(153)); - if (b.child !== null) { - a = b.child; - c = Tg(a, a.pendingProps); - b.child = c; - for (c.return = b; a.sibling !== null; ) - a = a.sibling, c = c.sibling = Tg(a, a.pendingProps), c.return = b; - c.sibling = null; - } - return b.child; - } - return null; -} -var Bi, Ci, Di, Ei; -Bi = function(a, b) { - for (var c = b.child; c !== null; ) { - if (c.tag === 5 || c.tag === 6) - a.appendChild(c.stateNode); - else if (c.tag !== 4 && c.child !== null) { - c.child.return = c; - c = c.child; - continue; - } - if (c === b) - break; - for (; c.sibling === null; ) { - if (c.return === null || c.return === b) - return; - c = c.return; - } - c.sibling.return = c.return; - c = c.sibling; - } -}; -Ci = function() { -}; -Di = function(a, b, c, d) { - var e = a.memoizedProps; - if (e !== d) { - a = b.stateNode; - dh(ah.current); - var f2 = null; - switch (c) { - case "input": - e = Ya(a, e); - d = Ya(a, d); - f2 = []; - break; - case "option": - e = eb(a, e); - d = eb(a, d); - f2 = []; - break; - case "select": - e = m$1({}, e, { value: void 0 }); - d = m$1({}, d, { value: void 0 }); - f2 = []; - break; - case "textarea": - e = gb(a, e); - d = gb(a, d); - f2 = []; - break; - default: - typeof e.onClick !== "function" && typeof d.onClick === "function" && (a.onclick = jf); - } - vb(c, d); - var g2; - c = null; - for (l2 in e) - if (!d.hasOwnProperty(l2) && e.hasOwnProperty(l2) && e[l2] != null) - if (l2 === "style") { - var h2 = e[l2]; - for (g2 in h2) - h2.hasOwnProperty(g2) && (c || (c = {}), c[g2] = ""); - } else - l2 !== "dangerouslySetInnerHTML" && l2 !== "children" && l2 !== "suppressContentEditableWarning" && l2 !== "suppressHydrationWarning" && l2 !== "autoFocus" && (ca.hasOwnProperty(l2) ? f2 || (f2 = []) : (f2 = f2 || []).push(l2, null)); - for (l2 in d) { - var k = d[l2]; - h2 = e != null ? e[l2] : void 0; - if (d.hasOwnProperty(l2) && k !== h2 && (k != null || h2 != null)) - if (l2 === "style") - if (h2) { - for (g2 in h2) - !h2.hasOwnProperty(g2) || k && k.hasOwnProperty(g2) || (c || (c = {}), c[g2] = ""); - for (g2 in k) - k.hasOwnProperty(g2) && h2[g2] !== k[g2] && (c || (c = {}), c[g2] = k[g2]); - } else - c || (f2 || (f2 = []), f2.push(l2, c)), c = k; - else - l2 === "dangerouslySetInnerHTML" ? (k = k ? k.__html : void 0, h2 = h2 ? h2.__html : void 0, k != null && h2 !== k && (f2 = f2 || []).push(l2, k)) : l2 === "children" ? typeof k !== "string" && typeof k !== "number" || (f2 = f2 || []).push(l2, "" + k) : l2 !== "suppressContentEditableWarning" && l2 !== "suppressHydrationWarning" && (ca.hasOwnProperty(l2) ? (k != null && l2 === "onScroll" && G("scroll", a), f2 || h2 === k || (f2 = [])) : typeof k === "object" && k !== null && k.$$typeof === Ga ? k.toString() : (f2 = f2 || []).push(l2, k)); - } - c && (f2 = f2 || []).push("style", c); - var l2 = f2; - if (b.updateQueue = l2) - b.flags |= 4; - } -}; -Ei = function(a, b, c, d) { - c !== d && (b.flags |= 4); -}; -function Fi(a, b) { - if (!lh) - switch (a.tailMode) { - case "hidden": - b = a.tail; - for (var c = null; b !== null; ) - b.alternate !== null && (c = b), b = b.sibling; - c === null ? a.tail = null : c.sibling = null; - break; - case "collapsed": - c = a.tail; - for (var d = null; c !== null; ) - c.alternate !== null && (d = c), c = c.sibling; - d === null ? b || a.tail === null ? a.tail = null : a.tail.sibling = null : d.sibling = null; - } -} -function Gi(a, b, c) { - var d = b.pendingProps; - switch (b.tag) { - case 2: - case 16: - case 15: - case 0: - case 11: - case 7: - case 8: - case 12: - case 9: - case 14: - return null; - case 1: - return Ff(b.type) && Gf(), null; - case 3: - fh(); - H(N); - H(M); - uh(); - d = b.stateNode; - d.pendingContext && (d.context = d.pendingContext, d.pendingContext = null); - if (a === null || a.child === null) - rh(b) ? b.flags |= 4 : d.hydrate || (b.flags |= 256); - Ci(b); - return null; - case 5: - hh(b); - var e = dh(ch.current); - c = b.type; - if (a !== null && b.stateNode != null) - Di(a, b, c, d, e), a.ref !== b.ref && (b.flags |= 128); - else { - if (!d) { - if (b.stateNode === null) - throw Error(y(166)); - return null; - } - a = dh(ah.current); - if (rh(b)) { - d = b.stateNode; - c = b.type; - var f2 = b.memoizedProps; - d[wf] = b; - d[xf] = f2; - switch (c) { - case "dialog": - G("cancel", d); - G("close", d); - break; - case "iframe": - case "object": - case "embed": - G("load", d); - break; - case "video": - case "audio": - for (a = 0; a < Xe.length; a++) - G(Xe[a], d); - break; - case "source": - G("error", d); - break; - case "img": - case "image": - case "link": - G("error", d); - G("load", d); - break; - case "details": - G("toggle", d); - break; - case "input": - Za(d, f2); - G("invalid", d); - break; - case "select": - d._wrapperState = { wasMultiple: !!f2.multiple }; - G("invalid", d); - break; - case "textarea": - hb(d, f2), G("invalid", d); - } - vb(c, f2); - a = null; - for (var g2 in f2) - f2.hasOwnProperty(g2) && (e = f2[g2], g2 === "children" ? typeof e === "string" ? d.textContent !== e && (a = ["children", e]) : typeof e === "number" && d.textContent !== "" + e && (a = ["children", "" + e]) : ca.hasOwnProperty(g2) && e != null && g2 === "onScroll" && G("scroll", d)); - switch (c) { - case "input": - Va(d); - cb(d, f2, true); - break; - case "textarea": - Va(d); - jb(d); - break; - case "select": - case "option": - break; - default: - typeof f2.onClick === "function" && (d.onclick = jf); - } - d = a; - b.updateQueue = d; - d !== null && (b.flags |= 4); - } else { - g2 = e.nodeType === 9 ? e : e.ownerDocument; - a === kb.html && (a = lb(c)); - a === kb.html ? c === "script" ? (a = g2.createElement("div"), a.innerHTML = "