{"version":3,"file":"index.cjs","sources":["../../../node_modules/svelte/src/version.js","../../../node_modules/svelte/src/internal/disclose-version.js","../../../node_modules/svelte/src/internal/flags/index.js","../../../node_modules/svelte/src/internal/flags/legacy.js","../../../node_modules/svelte/src/constants.js","../../../node_modules/esm-env/dev-fallback.js","../../../node_modules/svelte/src/internal/shared/utils.js","../../../node_modules/svelte/src/internal/client/constants.js","../../../node_modules/svelte/src/internal/client/reactivity/equality.js","../../../node_modules/svelte/src/internal/client/errors.js","../../../node_modules/svelte/src/internal/client/dev/tracing.js","../../../node_modules/svelte/src/internal/client/context.js","../../../node_modules/svelte/src/internal/client/proxy.js","../../../node_modules/svelte/src/internal/client/reactivity/deriveds.js","../../../node_modules/svelte/src/internal/client/reactivity/sources.js","../../../node_modules/svelte/src/internal/client/dom/operations.js","../../../node_modules/svelte/src/internal/client/reactivity/effects.js","../../../node_modules/svelte/src/internal/client/error-handling.js","../../../node_modules/svelte/src/internal/client/runtime.js","../../../node_modules/svelte/src/internal/client/dom/template.js","../../../node_modules/svelte/src/index-client.js","../../../node_modules/svelte/src/internal/client/dom/blocks/if.js","../../../node_modules/svelte/src/internal/client/dom/blocks/slot.js","../../../node_modules/svelte/src/internal/client/dom/legacy/lifecycle.js","../../../node_modules/svelte/src/internal/client/reactivity/store.js","../../../node_modules/svelte/src/internal/client/reactivity/props.js","../../../src/core/utils.js","../../../src/core/detector.js","../../../src/core/validator.js","../../../src/core/shared-validation.js","../../../src/components/svelte/BotGate.svelte"],"sourcesContent":["// generated during release, do not modify\n\n/**\n * The current version, as set in package.json.\n * @type {string}\n */\nexport const VERSION = '5.35.2';\nexport const PUBLIC_VERSION = '5';\n","import { PUBLIC_VERSION } from '../version.js';\n\nif (typeof window !== 'undefined') {\n\t// @ts-expect-error\n\t((window.__svelte ??= {}).v ??= new Set()).add(PUBLIC_VERSION);\n}\n","export let legacy_mode_flag = false;\nexport let tracing_mode_flag = false;\n\nexport function enable_legacy_mode_flag() {\n\tlegacy_mode_flag = true;\n}\n\nexport function enable_tracing_mode_flag() {\n\ttracing_mode_flag = true;\n}\n","import { enable_legacy_mode_flag } from './index.js';\n\nenable_legacy_mode_flag();\n","export const EACH_ITEM_REACTIVE = 1;\nexport const EACH_INDEX_REACTIVE = 1 << 1;\n/** See EachBlock interface metadata.is_controlled for an explanation what this is */\nexport const EACH_IS_CONTROLLED = 1 << 2;\nexport const EACH_IS_ANIMATED = 1 << 3;\nexport const EACH_ITEM_IMMUTABLE = 1 << 4;\n\nexport const PROPS_IS_IMMUTABLE = 1;\nexport const PROPS_IS_RUNES = 1 << 1;\nexport const PROPS_IS_UPDATED = 1 << 2;\nexport const PROPS_IS_BINDABLE = 1 << 3;\nexport const PROPS_IS_LAZY_INITIAL = 1 << 4;\n\nexport const TRANSITION_IN = 1;\nexport const TRANSITION_OUT = 1 << 1;\nexport const TRANSITION_GLOBAL = 1 << 2;\n\nexport const TEMPLATE_FRAGMENT = 1;\nexport const TEMPLATE_USE_IMPORT_NODE = 1 << 1;\nexport const TEMPLATE_USE_SVG = 1 << 2;\nexport const TEMPLATE_USE_MATHML = 1 << 3;\n\nexport const HYDRATION_START = '[';\n/** used to indicate that an `{:else}...` block was rendered */\nexport const HYDRATION_START_ELSE = '[!';\nexport const HYDRATION_END = ']';\nexport const HYDRATION_ERROR = {};\n\nexport const ELEMENT_IS_NAMESPACED = 1;\nexport const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;\n\nexport const UNINITIALIZED = Symbol();\n\n// Dev-time component properties\nexport const FILENAME = Symbol('filename');\nexport const HMR = Symbol('hmr');\n\nexport const NAMESPACE_HTML = 'http://www.w3.org/1999/xhtml';\nexport const NAMESPACE_SVG = 'http://www.w3.org/2000/svg';\nexport const NAMESPACE_MATHML = 'http://www.w3.org/1998/Math/MathML';\n\n// we use a list of ignorable runtime warnings because not every runtime warning\n// can be ignored and we want to keep the validation for svelte-ignore in place\nexport const IGNORABLE_RUNTIME_WARNINGS = /** @type {const} */ ([\n\t'state_snapshot_uncloneable',\n\t'binding_property_non_reactive',\n\t'hydration_attribute_changed',\n\t'hydration_html_changed',\n\t'ownership_invalid_binding',\n\t'ownership_invalid_mutation'\n]);\n\n/**\n * Whitespace inside one of these elements will not result in\n * a whitespace node being created in any circumstances. (This\n * list is almost certainly very incomplete)\n * TODO this is currently unused\n */\nexport const ELEMENTS_WITHOUT_TEXT = ['audio', 'datalist', 'dl', 'optgroup', 'select', 'video'];\n\nexport const ATTACHMENT_KEY = '@attach';\n","const node_env = globalThis.process?.env?.NODE_ENV;\nexport default node_env && !node_env.toLowerCase().startsWith('prod');\n","// Store the references to globals in case someone tries to monkey patch these, causing the below\n// to de-opt (this occurs often when using popular extensions).\nexport var is_array = Array.isArray;\nexport var index_of = Array.prototype.indexOf;\nexport var array_from = Array.from;\nexport var object_keys = Object.keys;\nexport var define_property = Object.defineProperty;\nexport var get_descriptor = Object.getOwnPropertyDescriptor;\nexport var get_descriptors = Object.getOwnPropertyDescriptors;\nexport var object_prototype = Object.prototype;\nexport var array_prototype = Array.prototype;\nexport var get_prototype_of = Object.getPrototypeOf;\nexport var is_extensible = Object.isExtensible;\n\n/**\n * @param {any} thing\n * @returns {thing is Function}\n */\nexport function is_function(thing) {\n\treturn typeof thing === 'function';\n}\n\nexport const noop = () => {};\n\n// Adapted from https://github.com/then/is-promise/blob/master/index.js\n// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE\n\n/**\n * @template [T=any]\n * @param {any} value\n * @returns {value is PromiseLike<T>}\n */\nexport function is_promise(value) {\n\treturn typeof value?.then === 'function';\n}\n\n/** @param {Function} fn */\nexport function run(fn) {\n\treturn fn();\n}\n\n/** @param {Array<() => void>} arr */\nexport function run_all(arr) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tarr[i]();\n\t}\n}\n\n/**\n * TODO replace with Promise.withResolvers once supported widely enough\n * @template T\n */\nexport function deferred() {\n\t/** @type {(value: T) => void} */\n\tvar resolve;\n\n\t/** @type {(reason: any) => void} */\n\tvar reject;\n\n\t/** @type {Promise<T>} */\n\tvar promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\n\t// @ts-expect-error\n\treturn { promise, resolve, reject };\n}\n\n/**\n * @template V\n * @param {V} value\n * @param {V | (() => V)} fallback\n * @param {boolean} [lazy]\n * @returns {V}\n */\nexport function fallback(value, fallback, lazy = false) {\n\treturn value === undefined\n\t\t? lazy\n\t\t\t? /** @type {() => V} */ (fallback)()\n\t\t\t: /** @type {V} */ (fallback)\n\t\t: value;\n}\n\n/**\n * When encountering a situation like `let [a, b, c] = $derived(blah())`,\n * we need to stash an intermediate value that `a`, `b`, and `c` derive\n * from, in case it's an iterable\n * @template T\n * @param {ArrayLike<T> | Iterable<T>} value\n * @param {number} [n]\n * @returns {Array<T>}\n */\nexport function to_array(value, n) {\n\t// return arrays unchanged\n\tif (Array.isArray(value)) {\n\t\treturn value;\n\t}\n\n\t// if value is not iterable, or `n` is unspecified (indicates a rest\n\t// element, which means we're not concerned about unbounded iterables)\n\t// convert to an array with `Array.from`\n\tif (n === undefined || !(Symbol.iterator in value)) {\n\t\treturn Array.from(value);\n\t}\n\n\t// otherwise, populate an array with `n` values\n\n\t/** @type {T[]} */\n\tconst array = [];\n\n\tfor (const element of value) {\n\t\tarray.push(element);\n\t\tif (array.length === n) break;\n\t}\n\n\treturn array;\n}\n","export const DERIVED = 1 << 1;\nexport const EFFECT = 1 << 2;\nexport const RENDER_EFFECT = 1 << 3;\nexport const BLOCK_EFFECT = 1 << 4;\nexport const BRANCH_EFFECT = 1 << 5;\nexport const ROOT_EFFECT = 1 << 6;\nexport const BOUNDARY_EFFECT = 1 << 7;\nexport const UNOWNED = 1 << 8;\nexport const DISCONNECTED = 1 << 9;\nexport const CLEAN = 1 << 10;\nexport const DIRTY = 1 << 11;\nexport const MAYBE_DIRTY = 1 << 12;\nexport const INERT = 1 << 13;\nexport const DESTROYED = 1 << 14;\nexport const EFFECT_RAN = 1 << 15;\n/** 'Transparent' effects do not create a transition boundary */\nexport const EFFECT_TRANSPARENT = 1 << 16;\nexport const INSPECT_EFFECT = 1 << 17;\nexport const HEAD_EFFECT = 1 << 18;\nexport const EFFECT_PRESERVED = 1 << 19;\nexport const EFFECT_IS_UPDATING = 1 << 20;\n\nexport const STATE_SYMBOL = Symbol('$state');\nexport const LEGACY_PROPS = Symbol('legacy props');\nexport const LOADING_ATTR_SYMBOL = Symbol('');\nexport const PROXY_PATH_SYMBOL = Symbol('proxy path');\n\n/** allow users to ignore aborted signal errors if `reason.name === 'StaleReactionError` */\nexport const STALE_REACTION = new (class StaleReactionError extends Error {\n\tname = 'StaleReactionError';\n\tmessage = 'The reaction that called `getAbortSignal()` was re-run or destroyed';\n})();\n\nexport const ELEMENT_NODE = 1;\nexport const TEXT_NODE = 3;\nexport const COMMENT_NODE = 8;\nexport const DOCUMENT_FRAGMENT_NODE = 11;\n","/** @import { Equals } from '#client' */\n\n/** @type {Equals} */\nexport function equals(value) {\n\treturn value === this.v;\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function safe_not_equal(a, b) {\n\treturn a != a\n\t\t? b == b\n\t\t: a !== b || (a !== null && typeof a === 'object') || typeof a === 'function';\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function not_equal(a, b) {\n\treturn a !== b;\n}\n\n/** @type {Equals} */\nexport function safe_equals(value) {\n\treturn !safe_not_equal(value, this.v);\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\n/**\n * Using `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\n * @returns {never}\n */\nexport function bind_invalid_checkbox_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_checkbox_value\\nUsing \\`bind:value\\` together with a checkbox input is not allowed. Use \\`bind:checked\\` instead\\nhttps://svelte.dev/e/bind_invalid_checkbox_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_checkbox_value`);\n\t}\n}\n\n/**\n * Component %component% has an export named `%key%` that a consumer component is trying to access using `bind:%key%`, which is disallowed. Instead, use `bind:this` (e.g. `<%name% bind:this={component} />`) and then access the property on the bound component instance (e.g. `component.%key%`)\n * @param {string} component\n * @param {string} key\n * @param {string} name\n * @returns {never}\n */\nexport function bind_invalid_export(component, key, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_export\\nComponent ${component} has an export named \\`${key}\\` that a consumer component is trying to access using \\`bind:${key}\\`, which is disallowed. Instead, use \\`bind:this\\` (e.g. \\`<${name} bind:this={component} />\\`) and then access the property on the bound component instance (e.g. \\`component.${key}\\`)\\nhttps://svelte.dev/e/bind_invalid_export`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_export`);\n\t}\n}\n\n/**\n * A component is attempting to bind to a non-bindable property `%key%` belonging to %component% (i.e. `<%name% bind:%key%={...}>`). To mark a property as bindable: `let { %key% = $bindable() } = $props()`\n * @param {string} key\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function bind_not_bindable(key, component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_not_bindable\\nA component is attempting to bind to a non-bindable property \\`${key}\\` belonging to ${component} (i.e. \\`<${name} bind:${key}={...}>\\`). To mark a property as bindable: \\`let { ${key} = $bindable() } = $props()\\`\\nhttps://svelte.dev/e/bind_not_bindable`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_not_bindable`);\n\t}\n}\n\n/**\n * Calling `%method%` on a component instance (of %component%) is no longer valid in Svelte 5\n * @param {string} method\n * @param {string} component\n * @returns {never}\n */\nexport function component_api_changed(method, component) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_changed\\nCalling \\`${method}\\` on a component instance (of ${component}) is no longer valid in Svelte 5\\nhttps://svelte.dev/e/component_api_changed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_changed`);\n\t}\n}\n\n/**\n * Attempted to instantiate %component% with `new %name%`, which is no longer valid in Svelte 5. If this component is not under your control, set the `compatibility.componentApi` compiler option to `4` to keep it working.\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function component_api_invalid_new(component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_invalid_new\\nAttempted to instantiate ${component} with \\`new ${name}\\`, which is no longer valid in Svelte 5. If this component is not under your control, set the \\`compatibility.componentApi\\` compiler option to \\`4\\` to keep it working.\\nhttps://svelte.dev/e/component_api_invalid_new`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_invalid_new`);\n\t}\n}\n\n/**\n * A derived value cannot reference itself recursively\n * @returns {never}\n */\nexport function derived_references_self() {\n\tif (DEV) {\n\t\tconst error = new Error(`derived_references_self\\nA derived value cannot reference itself recursively\\nhttps://svelte.dev/e/derived_references_self`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/derived_references_self`);\n\t}\n}\n\n/**\n * Keyed each block has duplicate key `%value%` at indexes %a% and %b%\n * @param {string} a\n * @param {string} b\n * @param {string | undefined | null} [value]\n * @returns {never}\n */\nexport function each_key_duplicate(a, b, value) {\n\tif (DEV) {\n\t\tconst error = new Error(`each_key_duplicate\\n${value\n\t\t\t? `Keyed each block has duplicate key \\`${value}\\` at indexes ${a} and ${b}`\n\t\t\t: `Keyed each block has duplicate key at indexes ${a} and ${b}`}\\nhttps://svelte.dev/e/each_key_duplicate`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/each_key_duplicate`);\n\t}\n}\n\n/**\n * `%rune%` cannot be used inside an effect cleanup function\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_in_teardown(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_teardown\\n\\`${rune}\\` cannot be used inside an effect cleanup function\\nhttps://svelte.dev/e/effect_in_teardown`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_teardown`);\n\t}\n}\n\n/**\n * Effect cannot be created inside a `$derived` value that was not itself created inside an effect\n * @returns {never}\n */\nexport function effect_in_unowned_derived() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_unowned_derived\\nEffect cannot be created inside a \\`$derived\\` value that was not itself created inside an effect\\nhttps://svelte.dev/e/effect_in_unowned_derived`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_unowned_derived`);\n\t}\n}\n\n/**\n * `%rune%` can only be used inside an effect (e.g. during component initialisation)\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_orphan(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_orphan\\n\\`${rune}\\` can only be used inside an effect (e.g. during component initialisation)\\nhttps://svelte.dev/e/effect_orphan`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_orphan`);\n\t}\n}\n\n/**\n * Maximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops\n * @returns {never}\n */\nexport function effect_update_depth_exceeded() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_update_depth_exceeded\\nMaximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops\\nhttps://svelte.dev/e/effect_update_depth_exceeded`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);\n\t}\n}\n\n/**\n * `getAbortSignal()` can only be called inside an effect or derived\n * @returns {never}\n */\nexport function get_abort_signal_outside_reaction() {\n\tif (DEV) {\n\t\tconst error = new Error(`get_abort_signal_outside_reaction\\n\\`getAbortSignal()\\` can only be called inside an effect or derived\\nhttps://svelte.dev/e/get_abort_signal_outside_reaction`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`);\n\t}\n}\n\n/**\n * Failed to hydrate the application\n * @returns {never}\n */\nexport function hydration_failed() {\n\tif (DEV) {\n\t\tconst error = new Error(`hydration_failed\\nFailed to hydrate the application\\nhttps://svelte.dev/e/hydration_failed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/hydration_failed`);\n\t}\n}\n\n/**\n * Could not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\n * @returns {never}\n */\nexport function invalid_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet\\nCould not \\`{@render}\\` snippet due to the expression being \\`null\\` or \\`undefined\\`. Consider using optional chaining \\`{@render snippet?.()}\\`\\nhttps://svelte.dev/e/invalid_snippet`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_snippet`);\n\t}\n}\n\n/**\n * `%name%(...)` cannot be used in runes mode\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_legacy_only(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_legacy_only\\n\\`${name}(...)\\` cannot be used in runes mode\\nhttps://svelte.dev/e/lifecycle_legacy_only`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_legacy_only`);\n\t}\n}\n\n/**\n * Cannot do `bind:%key%={undefined}` when `%key%` has a fallback value\n * @param {string} key\n * @returns {never}\n */\nexport function props_invalid_value(key) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_invalid_value\\nCannot do \\`bind:${key}={undefined}\\` when \\`${key}\\` has a fallback value\\nhttps://svelte.dev/e/props_invalid_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_invalid_value`);\n\t}\n}\n\n/**\n * Rest element properties of `$props()` such as `%property%` are readonly\n * @param {string} property\n * @returns {never}\n */\nexport function props_rest_readonly(property) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_rest_readonly\\nRest element properties of \\`$props()\\` such as \\`${property}\\` are readonly\\nhttps://svelte.dev/e/props_rest_readonly`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_rest_readonly`);\n\t}\n}\n\n/**\n * The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files\n * @param {string} rune\n * @returns {never}\n */\nexport function rune_outside_svelte(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`rune_outside_svelte\\nThe \\`${rune}\\` rune is only available inside \\`.svelte\\` and \\`.svelte.js/ts\\` files\\nhttps://svelte.dev/e/rune_outside_svelte`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/rune_outside_svelte`);\n\t}\n}\n\n/**\n * Property descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\n * @returns {never}\n */\nexport function state_descriptors_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_descriptors_fixed\\nProperty descriptors defined on \\`$state\\` objects must contain \\`value\\` and always be \\`enumerable\\`, \\`configurable\\` and \\`writable\\`.\\nhttps://svelte.dev/e/state_descriptors_fixed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_descriptors_fixed`);\n\t}\n}\n\n/**\n * Cannot set prototype of `$state` object\n * @returns {never}\n */\nexport function state_prototype_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_prototype_fixed\\nCannot set prototype of \\`$state\\` object\\nhttps://svelte.dev/e/state_prototype_fixed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_prototype_fixed`);\n\t}\n}\n\n/**\n * Updating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\n * @returns {never}\n */\nexport function state_unsafe_mutation() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_unsafe_mutation\\nUpdating state inside \\`$derived(...)\\`, \\`$inspect(...)\\` or a template expression is forbidden. If the value should not be reactive, declare it without \\`$state\\`\\nhttps://svelte.dev/e/state_unsafe_mutation`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_unsafe_mutation`);\n\t}\n}","/** @import { Derived, Reaction, Value } from '#client' */\nimport { UNINITIALIZED } from '../../../constants.js';\nimport { snapshot } from '../../shared/clone.js';\nimport { define_property } from '../../shared/utils.js';\nimport { DERIVED, PROXY_PATH_SYMBOL, STATE_SYMBOL } from '#client/constants';\nimport { effect_tracking } from '../reactivity/effects.js';\nimport { active_reaction, captured_signals, set_captured_signals, untrack } from '../runtime.js';\n\n/**\n * @typedef {{\n *   traces: Error[];\n * }} TraceEntry\n */\n\n/** @type {{ reaction: Reaction | null, entries: Map<Value, TraceEntry> } | null} */\nexport let tracing_expressions = null;\n\n/**\n * @param {Value} signal\n * @param {TraceEntry} [entry]\n */\nfunction log_entry(signal, entry) {\n\tconst value = signal.v;\n\n\tif (value === UNINITIALIZED) {\n\t\treturn;\n\t}\n\n\tconst type = (signal.f & DERIVED) !== 0 ? '$derived' : '$state';\n\tconst current_reaction = /** @type {Reaction} */ (active_reaction);\n\tconst dirty = signal.wv > current_reaction.wv || current_reaction.wv === 0;\n\tconst style = dirty\n\t\t? 'color: CornflowerBlue; font-weight: bold'\n\t\t: 'color: grey; font-weight: normal';\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupCollapsed(\n\t\tsignal.label ? `%c${type}%c ${signal.label}` : `%c${type}%c`,\n\t\tstyle,\n\t\tdirty ? 'font-weight: normal' : style,\n\t\ttypeof value === 'object' && value !== null && STATE_SYMBOL in value\n\t\t\t? snapshot(value, true)\n\t\t\t: value\n\t);\n\n\tif (type === '$derived') {\n\t\tconst deps = new Set(/** @type {Derived} */ (signal).deps);\n\t\tfor (const dep of deps) {\n\t\t\tlog_entry(dep);\n\t\t}\n\t}\n\n\tif (signal.created) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(signal.created);\n\t}\n\n\tif (dirty && signal.updated) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(signal.updated);\n\t}\n\n\tif (entry) {\n\t\tfor (var trace of entry.traces) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(trace);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupEnd();\n}\n\n/**\n * @template T\n * @param {() => string} label\n * @param {() => T} fn\n */\nexport function trace(label, fn) {\n\tvar previously_tracing_expressions = tracing_expressions;\n\n\ttry {\n\t\ttracing_expressions = { entries: new Map(), reaction: active_reaction };\n\n\t\tvar start = performance.now();\n\t\tvar value = fn();\n\t\tvar time = (performance.now() - start).toFixed(2);\n\n\t\tvar prefix = untrack(label);\n\n\t\tif (!effect_tracking()) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`${prefix} %cran outside of an effect (${time}ms)`, 'color: grey');\n\t\t} else if (tracing_expressions.entries.size === 0) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`${prefix} %cno reactive dependencies (${time}ms)`, 'color: grey');\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.group(`${prefix} %c(${time}ms)`, 'color: grey');\n\n\t\t\tvar entries = tracing_expressions.entries;\n\n\t\t\tuntrack(() => {\n\t\t\t\tfor (const [signal, traces] of entries) {\n\t\t\t\t\tlog_entry(signal, traces);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\ttracing_expressions = null;\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.groupEnd();\n\t\t}\n\n\t\treturn value;\n\t} finally {\n\t\ttracing_expressions = previously_tracing_expressions;\n\t}\n}\n\n/**\n * @param {string} label\n */\nexport function get_stack(label) {\n\tlet error = Error();\n\tconst stack = error.stack;\n\n\tif (stack) {\n\t\tconst lines = stack.split('\\n');\n\t\tconst new_lines = ['\\n'];\n\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tconst line = lines[i];\n\n\t\t\tif (line === 'Error') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (line.includes('validate_each_keys')) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (line.includes('svelte/src/internal')) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tnew_lines.push(line);\n\t\t}\n\n\t\tif (new_lines.length === 1) {\n\t\t\treturn null;\n\t\t}\n\n\t\tdefine_property(error, 'stack', {\n\t\t\tvalue: new_lines.join('\\n')\n\t\t});\n\n\t\tdefine_property(error, 'name', {\n\t\t\t// 'Error' suffix is required for stack traces to be rendered properly\n\t\t\tvalue: `${label}Error`\n\t\t});\n\t}\n\treturn error;\n}\n\n/**\n * @param {Value} source\n * @param {string} label\n */\nexport function tag(source, label) {\n\tsource.label = label;\n\ttag_proxy(source.v, label);\n\n\treturn source;\n}\n\n/**\n * @param {unknown} value\n * @param {string} label\n */\nexport function tag_proxy(value, label) {\n\t// @ts-expect-error\n\tvalue?.[PROXY_PATH_SYMBOL]?.(label);\n\treturn value;\n}\n\n/**\n * @param {unknown} value\n */\nexport function label(value) {\n\tif (typeof value === 'symbol') return `Symbol(${value.description})`;\n\tif (typeof value === 'function') return '<function>';\n\tif (typeof value === 'object' && value) return '<object>';\n\treturn String(value);\n}\n","/** @import { ComponentContext, DevStackEntry } from '#client' */\n\nimport { DEV } from 'esm-env';\nimport { lifecycle_outside_component } from '../shared/errors.js';\nimport { source } from './reactivity/sources.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from './runtime.js';\nimport { effect, teardown } from './reactivity/effects.js';\nimport { legacy_mode_flag } from '../flags/index.js';\nimport { FILENAME } from '../../constants.js';\n\n/** @type {ComponentContext | null} */\nexport let component_context = null;\n\n/** @param {ComponentContext | null} context */\nexport function set_component_context(context) {\n\tcomponent_context = context;\n}\n\n/** @type {DevStackEntry | null} */\nexport let dev_stack = null;\n\n/** @param {DevStackEntry | null} stack */\nexport function set_dev_stack(stack) {\n\tdev_stack = stack;\n}\n\n/**\n * Execute a callback with a new dev stack entry\n * @param {() => any} callback - Function to execute\n * @param {DevStackEntry['type']} type - Type of block/component\n * @param {any} component - Component function\n * @param {number} line - Line number\n * @param {number} column - Column number\n * @param {Record<string, any>} [additional] - Any additional properties to add to the dev stack entry\n * @returns {any}\n */\nexport function add_svelte_meta(callback, type, component, line, column, additional) {\n\tconst parent = dev_stack;\n\n\tdev_stack = {\n\t\ttype,\n\t\tfile: component[FILENAME],\n\t\tline,\n\t\tcolumn,\n\t\tparent,\n\t\t...additional\n\t};\n\n\ttry {\n\t\treturn callback();\n\t} finally {\n\t\tdev_stack = parent;\n\t}\n}\n\n/**\n * The current component function. Different from current component context:\n * ```html\n * <!-- App.svelte -->\n * <Foo>\n *   <Bar /> <!-- context == Foo.svelte, function == App.svelte -->\n * </Foo>\n * ```\n * @type {ComponentContext['function']}\n */\nexport let dev_current_component_function = null;\n\n/** @param {ComponentContext['function']} fn */\nexport function set_dev_current_component_function(fn) {\n\tdev_current_component_function = fn;\n}\n\n/**\n * Retrieves the context that belongs to the closest parent component with the specified `key`.\n * Must be called during component initialisation.\n *\n * @template T\n * @param {any} key\n * @returns {T}\n */\nexport function getContext(key) {\n\tconst context_map = get_or_init_context_map('getContext');\n\tconst result = /** @type {T} */ (context_map.get(key));\n\treturn result;\n}\n\n/**\n * Associates an arbitrary `context` object with the current component and the specified `key`\n * and returns that object. The context is then available to children of the component\n * (including slotted content) with `getContext`.\n *\n * Like lifecycle functions, this must be called during component initialisation.\n *\n * @template T\n * @param {any} key\n * @param {T} context\n * @returns {T}\n */\nexport function setContext(key, context) {\n\tconst context_map = get_or_init_context_map('setContext');\n\tcontext_map.set(key, context);\n\treturn context;\n}\n\n/**\n * Checks whether a given `key` has been set in the context of a parent component.\n * Must be called during component initialisation.\n *\n * @param {any} key\n * @returns {boolean}\n */\nexport function hasContext(key) {\n\tconst context_map = get_or_init_context_map('hasContext');\n\treturn context_map.has(key);\n}\n\n/**\n * Retrieves the whole context map that belongs to the closest parent component.\n * Must be called during component initialisation. Useful, for example, if you\n * programmatically create a component and want to pass the existing context to it.\n *\n * @template {Map<any, any>} [T=Map<any, any>]\n * @returns {T}\n */\nexport function getAllContexts() {\n\tconst context_map = get_or_init_context_map('getAllContexts');\n\treturn /** @type {T} */ (context_map);\n}\n\n/**\n * @param {Record<string, unknown>} props\n * @param {any} runes\n * @param {Function} [fn]\n * @returns {void}\n */\nexport function push(props, runes = false, fn) {\n\tvar ctx = (component_context = {\n\t\tp: component_context,\n\t\tc: null,\n\t\td: false,\n\t\te: null,\n\t\tm: false,\n\t\ts: props,\n\t\tx: null,\n\t\tl: null\n\t});\n\n\tif (legacy_mode_flag && !runes) {\n\t\tcomponent_context.l = {\n\t\t\ts: null,\n\t\t\tu: null,\n\t\t\tr1: [],\n\t\t\tr2: source(false)\n\t\t};\n\t}\n\n\tteardown(() => {\n\t\t/** @type {ComponentContext} */ (ctx).d = true;\n\t});\n\n\tif (DEV) {\n\t\t// component function\n\t\tcomponent_context.function = fn;\n\t\tdev_current_component_function = fn;\n\t}\n}\n\n/**\n * @template {Record<string, any>} T\n * @param {T} [component]\n * @returns {T}\n */\nexport function pop(component) {\n\tconst context_stack_item = component_context;\n\tif (context_stack_item !== null) {\n\t\tif (component !== undefined) {\n\t\t\tcontext_stack_item.x = component;\n\t\t}\n\t\tconst component_effects = context_stack_item.e;\n\t\tif (component_effects !== null) {\n\t\t\tvar previous_effect = active_effect;\n\t\t\tvar previous_reaction = active_reaction;\n\t\t\tcontext_stack_item.e = null;\n\t\t\ttry {\n\t\t\t\tfor (var i = 0; i < component_effects.length; i++) {\n\t\t\t\t\tvar component_effect = component_effects[i];\n\t\t\t\t\tset_active_effect(component_effect.effect);\n\t\t\t\t\tset_active_reaction(component_effect.reaction);\n\t\t\t\t\teffect(component_effect.fn);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tset_active_effect(previous_effect);\n\t\t\t\tset_active_reaction(previous_reaction);\n\t\t\t}\n\t\t}\n\t\tcomponent_context = context_stack_item.p;\n\t\tif (DEV) {\n\t\t\tdev_current_component_function = context_stack_item.p?.function ?? null;\n\t\t}\n\t\tcontext_stack_item.m = true;\n\t}\n\t// Micro-optimization: Don't set .a above to the empty object\n\t// so it can be garbage-collected when the return here is unused\n\treturn component || /** @type {T} */ ({});\n}\n\n/** @returns {boolean} */\nexport function is_runes() {\n\treturn !legacy_mode_flag || (component_context !== null && component_context.l === null);\n}\n\n/**\n * @param {string} name\n * @returns {Map<unknown, unknown>}\n */\nfunction get_or_init_context_map(name) {\n\tif (component_context === null) {\n\t\tlifecycle_outside_component(name);\n\t}\n\n\treturn (component_context.c ??= new Map(get_parent_context(component_context) || undefined));\n}\n\n/**\n * @param {ComponentContext} component_context\n * @returns {Map<unknown, unknown> | null}\n */\nfunction get_parent_context(component_context) {\n\tlet parent = component_context.p;\n\twhile (parent !== null) {\n\t\tconst context_map = parent.c;\n\t\tif (context_map !== null) {\n\t\t\treturn context_map;\n\t\t}\n\t\tparent = parent.p;\n\t}\n\treturn null;\n}\n","/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport { get, active_effect, active_reaction, set_active_reaction } from './runtime.js';\nimport {\n\tarray_prototype,\n\tget_descriptor,\n\tget_prototype_of,\n\tis_array,\n\tobject_prototype\n} from '../shared/utils.js';\nimport { state as source, set } from './reactivity/sources.js';\nimport { PROXY_PATH_SYMBOL, STATE_SYMBOL } from '#client/constants';\nimport { UNINITIALIZED } from '../../constants.js';\nimport * as e from './errors.js';\nimport { get_stack, tag } from './dev/tracing.js';\nimport { tracing_mode_flag } from '../flags/index.js';\n\n// TODO move all regexes into shared module?\nconst regex_is_valid_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;\n\n/**\n * @template T\n * @param {T} value\n * @returns {T}\n */\nexport function proxy(value) {\n\t// if non-proxyable, or is already a proxy, return `value`\n\tif (typeof value !== 'object' || value === null || STATE_SYMBOL in value) {\n\t\treturn value;\n\t}\n\n\tconst prototype = get_prototype_of(value);\n\n\tif (prototype !== object_prototype && prototype !== array_prototype) {\n\t\treturn value;\n\t}\n\n\t/** @type {Map<any, Source<any>>} */\n\tvar sources = new Map();\n\tvar is_proxied_array = is_array(value);\n\tvar version = source(0);\n\n\tvar stack = DEV && tracing_mode_flag ? get_stack('CreatedAt') : null;\n\tvar reaction = active_reaction;\n\n\t/**\n\t * Executes the proxy in the context of the reaction it was originally created in, if any\n\t * @template T\n\t * @param {() => T} fn\n\t */\n\tvar with_parent = (fn) => {\n\t\tvar previous_reaction = active_reaction;\n\t\tset_active_reaction(reaction);\n\n\t\t/** @type {T} */\n\t\tvar result = fn();\n\n\t\tset_active_reaction(previous_reaction);\n\t\treturn result;\n\t};\n\n\tif (is_proxied_array) {\n\t\t// We need to create the length source eagerly to ensure that\n\t\t// mutations to the array are properly synced with our proxy\n\t\tsources.set('length', source(/** @type {any[]} */ (value).length, stack));\n\t}\n\n\t/** Used in dev for $inspect.trace() */\n\tvar path = '';\n\n\t/** @param {string} new_path */\n\tfunction update_path(new_path) {\n\t\tpath = new_path;\n\n\t\ttag(version, `${path} version`);\n\n\t\t// rename all child sources and child proxies\n\t\tfor (const [prop, source] of sources) {\n\t\t\ttag(source, get_label(path, prop));\n\t\t}\n\t}\n\n\treturn new Proxy(/** @type {any} */ (value), {\n\t\tdefineProperty(_, prop, descriptor) {\n\t\t\tif (\n\t\t\t\t!('value' in descriptor) ||\n\t\t\t\tdescriptor.configurable === false ||\n\t\t\t\tdescriptor.enumerable === false ||\n\t\t\t\tdescriptor.writable === false\n\t\t\t) {\n\t\t\t\t// we disallow non-basic descriptors, because unless they are applied to the\n\t\t\t\t// target object — which we avoid, so that state can be forked — we will run\n\t\t\t\t// afoul of the various invariants\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/getOwnPropertyDescriptor#invariants\n\t\t\t\te.state_descriptors_fixed();\n\t\t\t}\n\t\t\tvar s = sources.get(prop);\n\t\t\tif (s === undefined) {\n\t\t\t\ts = with_parent(() => {\n\t\t\t\t\tvar s = source(descriptor.value, stack);\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t\tif (DEV && typeof prop === 'string') {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t\treturn s;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tset(s, descriptor.value, true);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tdeleteProperty(target, prop) {\n\t\t\tvar s = sources.get(prop);\n\n\t\t\tif (s === undefined) {\n\t\t\t\tif (prop in target) {\n\t\t\t\t\tconst s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t\tupdate_version(version);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// When working with arrays, we need to also ensure we update the length when removing\n\t\t\t\t// an indexed property\n\t\t\t\tif (is_proxied_array && typeof prop === 'string') {\n\t\t\t\t\tvar ls = /** @type {Source<number>} */ (sources.get('length'));\n\t\t\t\t\tvar n = Number(prop);\n\n\t\t\t\t\tif (Number.isInteger(n) && n < ls.v) {\n\t\t\t\t\t\tset(ls, n);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tset(s, UNINITIALIZED);\n\t\t\t\tupdate_version(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tget(target, prop, receiver) {\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tif (DEV && prop === PROXY_PATH_SYMBOL) {\n\t\t\t\treturn update_path;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar exists = prop in target;\n\n\t\t\t// create a source, but only if it's an own property and not a prototype property\n\t\t\tif (s === undefined && (!exists || get_descriptor(target, prop)?.writable)) {\n\t\t\t\ts = with_parent(() => {\n\t\t\t\t\tvar p = proxy(exists ? target[prop] : UNINITIALIZED);\n\t\t\t\t\tvar s = source(p, stack);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\n\t\t\t\t\treturn s;\n\t\t\t\t});\n\n\t\t\t\tsources.set(prop, s);\n\t\t\t}\n\n\t\t\tif (s !== undefined) {\n\t\t\t\tvar v = get(s);\n\t\t\t\treturn v === UNINITIALIZED ? undefined : v;\n\t\t\t}\n\n\t\t\treturn Reflect.get(target, prop, receiver);\n\t\t},\n\n\t\tgetOwnPropertyDescriptor(target, prop) {\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\tif (descriptor && 'value' in descriptor) {\n\t\t\t\tvar s = sources.get(prop);\n\t\t\t\tif (s) descriptor.value = get(s);\n\t\t\t} else if (descriptor === undefined) {\n\t\t\t\tvar source = sources.get(prop);\n\t\t\t\tvar value = source?.v;\n\n\t\t\t\tif (source !== undefined && value !== UNINITIALIZED) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\twritable: true\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn descriptor;\n\t\t},\n\n\t\thas(target, prop) {\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = (s !== undefined && s.v !== UNINITIALIZED) || Reflect.has(target, prop);\n\n\t\t\tif (\n\t\t\t\ts !== undefined ||\n\t\t\t\t(active_effect !== null && (!has || get_descriptor(target, prop)?.writable))\n\t\t\t) {\n\t\t\t\tif (s === undefined) {\n\t\t\t\t\ts = with_parent(() => {\n\t\t\t\t\t\tvar p = has ? proxy(target[prop]) : UNINITIALIZED;\n\t\t\t\t\t\tvar s = source(p, stack);\n\n\t\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn s;\n\t\t\t\t\t});\n\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t}\n\n\t\t\t\tvar value = get(s);\n\t\t\t\tif (value === UNINITIALIZED) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn has;\n\t\t},\n\n\t\tset(target, prop, value, receiver) {\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = prop in target;\n\n\t\t\t// variable.length = value -> clear all signals with index >= value\n\t\t\tif (is_proxied_array && prop === 'length') {\n\t\t\t\tfor (var i = value; i < /** @type {Source<number>} */ (s).v; i += 1) {\n\t\t\t\t\tvar other_s = sources.get(i + '');\n\t\t\t\t\tif (other_s !== undefined) {\n\t\t\t\t\t\tset(other_s, UNINITIALIZED);\n\t\t\t\t\t} else if (i in target) {\n\t\t\t\t\t\t// If the item exists in the original, we need to create a uninitialized source,\n\t\t\t\t\t\t// else a later read of the property would result in a source being created with\n\t\t\t\t\t\t// the value of the original item at that index.\n\t\t\t\t\t\tother_s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\t\tsources.set(i + '', other_s);\n\n\t\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\t\ttag(other_s, get_label(path, i));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we haven't yet created a source for this property, we need to ensure\n\t\t\t// we do so otherwise if we read it later, then the write won't be tracked and\n\t\t\t// the heuristics of effects will be different vs if we had read the proxied\n\t\t\t// object property before writing to that property.\n\t\t\tif (s === undefined) {\n\t\t\t\tif (!has || get_descriptor(target, prop)?.writable) {\n\t\t\t\t\ts = with_parent(() => source(undefined, stack));\n\t\t\t\t\tset(s, proxy(value));\n\n\t\t\t\t\tsources.set(prop, s);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thas = s.v !== UNINITIALIZED;\n\n\t\t\t\tvar p = with_parent(() => proxy(value));\n\t\t\t\tset(s, p);\n\t\t\t}\n\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\t// Set the new value before updating any signals so that any listeners get the new value\n\t\t\tif (descriptor?.set) {\n\t\t\t\tdescriptor.set.call(receiver, value);\n\t\t\t}\n\n\t\t\tif (!has) {\n\t\t\t\t// If we have mutated an array directly, we might need to\n\t\t\t\t// signal that length has also changed. Do it before updating metadata\n\t\t\t\t// to ensure that iterating over the array as a result of a metadata update\n\t\t\t\t// will not cause the length to be out of sync.\n\t\t\t\tif (is_proxied_array && typeof prop === 'string') {\n\t\t\t\t\tvar ls = /** @type {Source<number>} */ (sources.get('length'));\n\t\t\t\t\tvar n = Number(prop);\n\n\t\t\t\t\tif (Number.isInteger(n) && n >= ls.v) {\n\t\t\t\t\t\tset(ls, n + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tupdate_version(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\townKeys(target) {\n\t\t\tget(version);\n\n\t\t\tvar own_keys = Reflect.ownKeys(target).filter((key) => {\n\t\t\t\tvar source = sources.get(key);\n\t\t\t\treturn source === undefined || source.v !== UNINITIALIZED;\n\t\t\t});\n\n\t\t\tfor (var [key, source] of sources) {\n\t\t\t\tif (source.v !== UNINITIALIZED && !(key in target)) {\n\t\t\t\t\town_keys.push(key);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn own_keys;\n\t\t},\n\n\t\tsetPrototypeOf() {\n\t\t\te.state_prototype_fixed();\n\t\t}\n\t});\n}\n\n/**\n * @param {string} path\n * @param {string | symbol} prop\n */\nfunction get_label(path, prop) {\n\tif (typeof prop === 'symbol') return `${path}[Symbol(${prop.description ?? ''})]`;\n\tif (regex_is_valid_identifier.test(prop)) return `${path}.${prop}`;\n\treturn /^\\d+$/.test(prop) ? `${path}[${prop}]` : `${path}['${prop}']`;\n}\n\n/**\n * @param {Source<number>} signal\n * @param {1 | -1} [d]\n */\nfunction update_version(signal, d = 1) {\n\tset(signal, signal.v + d);\n}\n\n/**\n * @param {any} value\n */\nexport function get_proxied_value(value) {\n\ttry {\n\t\tif (value !== null && typeof value === 'object' && STATE_SYMBOL in value) {\n\t\t\treturn value[STATE_SYMBOL];\n\t\t}\n\t} catch {\n\t\t// the above if check can throw an error if the value in question\n\t\t// is the contentWindow of an iframe on another domain, in which\n\t\t// case we want to just return the value (because it's definitely\n\t\t// not a proxied value) so we don't break any JavaScript interacting\n\t\t// with that iframe (such as various payment companies client side\n\t\t// JavaScript libraries interacting with their iframes on the same\n\t\t// domain)\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {any} a\n * @param {any} b\n */\nexport function is(a, b) {\n\treturn Object.is(get_proxied_value(a), get_proxied_value(b));\n}\n","/** @import { Derived, Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport { CLEAN, DERIVED, DIRTY, EFFECT_PRESERVED, MAYBE_DIRTY, UNOWNED } from '#client/constants';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tset_signal_status,\n\tskip_reaction,\n\tupdate_reaction,\n\tincrement_write_version,\n\tset_active_effect,\n\tpush_reaction_value,\n\tis_destroying_effect\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport * as e from '../errors.js';\nimport { destroy_effect } from './effects.js';\nimport { inspect_effects, set_inspect_effects } from './sources.js';\nimport { get_stack } from '../dev/tracing.js';\nimport { tracing_mode_flag } from '../../flags/index.js';\nimport { component_context } from '../context.js';\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived(fn) {\n\tvar flags = DERIVED | DIRTY;\n\tvar parent_derived =\n\t\tactive_reaction !== null && (active_reaction.f & DERIVED) !== 0\n\t\t\t? /** @type {Derived} */ (active_reaction)\n\t\t\t: null;\n\n\tif (active_effect === null || (parent_derived !== null && (parent_derived.f & UNOWNED) !== 0)) {\n\t\tflags |= UNOWNED;\n\t} else {\n\t\t// Since deriveds are evaluated lazily, any effects created inside them are\n\t\t// created too late to ensure that the parent effect is added to the tree\n\t\tactive_effect.f |= EFFECT_PRESERVED;\n\t}\n\n\t/** @type {Derived<V>} */\n\tconst signal = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\teffects: null,\n\t\tequals,\n\t\tf: flags,\n\t\tfn,\n\t\treactions: null,\n\t\trv: 0,\n\t\tv: /** @type {V} */ (null),\n\t\twv: 0,\n\t\tparent: parent_derived ?? active_effect,\n\t\tac: null\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = get_stack('CreatedAt');\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function user_derived(fn) {\n\tconst d = derived(fn);\n\n\tpush_reaction_value(d);\n\n\treturn d;\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived_safe_equal(fn) {\n\tconst signal = derived(fn);\n\tsignal.equals = safe_equals;\n\treturn signal;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function destroy_derived_effects(derived) {\n\tvar effects = derived.effects;\n\n\tif (effects !== null) {\n\t\tderived.effects = null;\n\n\t\tfor (var i = 0; i < effects.length; i += 1) {\n\t\t\tdestroy_effect(/** @type {Effect} */ (effects[i]));\n\t\t}\n\t}\n}\n\n/**\n * The currently updating deriveds, used to detect infinite recursion\n * in dev mode and provide a nicer error than 'too much recursion'\n * @type {Derived[]}\n */\nlet stack = [];\n\n/**\n * @param {Derived} derived\n * @returns {Effect | null}\n */\nfunction get_derived_parent_effect(derived) {\n\tvar parent = derived.parent;\n\twhile (parent !== null) {\n\t\tif ((parent.f & DERIVED) === 0) {\n\t\t\treturn /** @type {Effect} */ (parent);\n\t\t}\n\t\tparent = parent.parent;\n\t}\n\treturn null;\n}\n\n/**\n * @template T\n * @param {Derived} derived\n * @returns {T}\n */\nexport function execute_derived(derived) {\n\tvar value;\n\tvar prev_active_effect = active_effect;\n\n\tset_active_effect(get_derived_parent_effect(derived));\n\n\tif (DEV) {\n\t\tlet prev_inspect_effects = inspect_effects;\n\t\tset_inspect_effects(new Set());\n\t\ttry {\n\t\t\tif (stack.includes(derived)) {\n\t\t\t\te.derived_references_self();\n\t\t\t}\n\n\t\t\tstack.push(derived);\n\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t\tset_inspect_effects(prev_inspect_effects);\n\t\t\tstack.pop();\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function update_derived(derived) {\n\tvar value = execute_derived(derived);\n\n\tif (!derived.equals(value)) {\n\t\tderived.v = value;\n\t\tderived.wv = increment_write_version();\n\t}\n\n\t// don't mark derived clean if we're reading it inside a\n\t// cleanup function, or it will cache a stale value\n\tif (is_destroying_effect) return;\n\n\tvar status =\n\t\t(skip_reaction || (derived.f & UNOWNED) !== 0) && derived.deps !== null ? MAYBE_DIRTY : CLEAN;\n\n\tset_signal_status(derived, status);\n}\n","/** @import { Derived, Effect, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tuntracked_writes,\n\tget,\n\tschedule_effect,\n\tset_untracked_writes,\n\tset_signal_status,\n\tuntrack,\n\tincrement_write_version,\n\tupdate_effect,\n\treaction_sources,\n\tcheck_dirtiness,\n\tuntracking,\n\tis_destroying_effect,\n\tpush_reaction_value\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport {\n\tCLEAN,\n\tDERIVED,\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tINSPECT_EFFECT,\n\tUNOWNED,\n\tMAYBE_DIRTY,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT\n} from '#client/constants';\nimport * as e from '../errors.js';\nimport { legacy_mode_flag, tracing_mode_flag } from '../../flags/index.js';\nimport { get_stack, tag_proxy } from '../dev/tracing.js';\nimport { component_context, is_runes } from '../context.js';\nimport { proxy } from '../proxy.js';\nimport { execute_derived } from './deriveds.js';\n\nexport let inspect_effects = new Set();\n\n/** @type {Map<Source, any>} */\nexport const old_values = new Map();\n\n/**\n * @param {Set<any>} v\n */\nexport function set_inspect_effects(v) {\n\tinspect_effects = v;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n * @returns {Source<V>}\n */\n// TODO rename this to `state` throughout the codebase\nexport function source(v, stack) {\n\t/** @type {Value} */\n\tvar signal = {\n\t\tf: 0, // TODO ideally we could skip this altogether, but it causes type errors\n\t\tv,\n\t\treactions: null,\n\t\tequals,\n\t\trv: 0,\n\t\twv: 0\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = stack ?? get_stack('CreatedAt');\n\t\tsignal.updated = null;\n\t\tsignal.set_during_effect = false;\n\t\tsignal.trace = null;\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function state(v, stack) {\n\tconst s = source(v, stack);\n\n\tpush_reaction_value(s);\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {V} initial_value\n * @param {boolean} [immutable]\n * @returns {Source<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function mutable_source(initial_value, immutable = false, trackable = true) {\n\tconst s = source(initial_value);\n\tif (!immutable) {\n\t\ts.equals = safe_equals;\n\t}\n\n\t// bind the signal to the component context, in case we need to\n\t// track updates to trigger beforeUpdate/afterUpdate callbacks\n\tif (legacy_mode_flag && trackable && component_context !== null && component_context.l !== null) {\n\t\t(component_context.l.s ??= []).push(s);\n\t}\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {Value<V>} source\n * @param {V} value\n */\nexport function mutate(source, value) {\n\tset(\n\t\tsource,\n\t\tuntrack(() => get(source))\n\t);\n\treturn value;\n}\n\n/**\n * @template V\n * @param {Source<V>} source\n * @param {V} value\n * @param {boolean} [should_proxy]\n * @returns {V}\n */\nexport function set(source, value, should_proxy = false) {\n\tif (\n\t\tactive_reaction !== null &&\n\t\t// since we are untracking the function inside `$inspect.with` we need to add this check\n\t\t// to ensure we error if state is set inside an inspect effect\n\t\t(!untracking || (active_reaction.f & INSPECT_EFFECT) !== 0) &&\n\t\tis_runes() &&\n\t\t(active_reaction.f & (DERIVED | BLOCK_EFFECT | INSPECT_EFFECT)) !== 0 &&\n\t\t!(reaction_sources?.[1].includes(source) && reaction_sources[0] === active_reaction)\n\t) {\n\t\te.state_unsafe_mutation();\n\t}\n\n\tlet new_value = should_proxy ? proxy(value) : value;\n\n\tif (DEV) {\n\t\ttag_proxy(new_value, /** @type {string} */ (source.label));\n\t}\n\n\treturn internal_set(source, new_value);\n}\n\n/**\n * @template V\n * @param {Source<V>} source\n * @param {V} value\n * @returns {V}\n */\nexport function internal_set(source, value) {\n\tif (!source.equals(value)) {\n\t\tvar old_value = source.v;\n\n\t\tif (is_destroying_effect) {\n\t\t\told_values.set(source, value);\n\t\t} else {\n\t\t\told_values.set(source, old_value);\n\t\t}\n\n\t\tsource.v = value;\n\n\t\tif (DEV && tracing_mode_flag) {\n\t\t\tsource.updated = get_stack('UpdatedAt');\n\n\t\t\tif (active_effect !== null) {\n\t\t\t\tsource.set_during_effect = true;\n\t\t\t}\n\t\t}\n\n\t\tif ((source.f & DERIVED) !== 0) {\n\t\t\t// if we are assigning to a dirty derived we set it to clean/maybe dirty but we also eagerly execute it to track the dependencies\n\t\t\tif ((source.f & DIRTY) !== 0) {\n\t\t\t\texecute_derived(/** @type {Derived} */ (source));\n\t\t\t}\n\t\t\tset_signal_status(source, (source.f & UNOWNED) === 0 ? CLEAN : MAYBE_DIRTY);\n\t\t}\n\n\t\tsource.wv = increment_write_version();\n\n\t\tmark_reactions(source, DIRTY);\n\n\t\t// It's possible that the current reaction might not have up-to-date dependencies\n\t\t// whilst it's actively running. So in the case of ensuring it registers the reaction\n\t\t// properly for itself, we need to ensure the current effect actually gets\n\t\t// scheduled. i.e: `$effect(() => x++)`\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tactive_effect !== null &&\n\t\t\t(active_effect.f & CLEAN) !== 0 &&\n\t\t\t(active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0\n\t\t) {\n\t\t\tif (untracked_writes === null) {\n\t\t\t\tset_untracked_writes([source]);\n\t\t\t} else {\n\t\t\t\tuntracked_writes.push(source);\n\t\t\t}\n\t\t}\n\n\t\tif (DEV && inspect_effects.size > 0) {\n\t\t\tconst inspects = Array.from(inspect_effects);\n\n\t\t\tfor (const effect of inspects) {\n\t\t\t\t// Mark clean inspect-effects as maybe dirty and then check their dirtiness\n\t\t\t\t// instead of just updating the effects - this way we avoid overfiring.\n\t\t\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t\t}\n\t\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\t\tupdate_effect(effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinspect_effects.clear();\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source<T>} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update(source, d = 1) {\n\tvar value = get(source);\n\tvar result = d === 1 ? value++ : value--;\n\n\tset(source, value);\n\n\t// @ts-expect-error\n\treturn result;\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source<T>} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update_pre(source, d = 1) {\n\tvar value = get(source);\n\n\t// @ts-expect-error\n\treturn set(source, d === 1 ? ++value : --value);\n}\n\n/**\n * @param {Value} signal\n * @param {number} status should be DIRTY or MAYBE_DIRTY\n * @returns {void}\n */\nfunction mark_reactions(signal, status) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tvar runes = is_runes();\n\tvar length = reactions.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar reaction = reactions[i];\n\t\tvar flags = reaction.f;\n\n\t\t// Skip any effects that are already dirty\n\t\tif ((flags & DIRTY) !== 0) continue;\n\n\t\t// In legacy mode, skip the current effect to prevent infinite loops\n\t\tif (!runes && reaction === active_effect) continue;\n\n\t\t// Inspect effects need to run immediately, so that the stack trace makes sense\n\t\tif (DEV && (flags & INSPECT_EFFECT) !== 0) {\n\t\t\tinspect_effects.add(reaction);\n\t\t\tcontinue;\n\t\t}\n\n\t\tset_signal_status(reaction, status);\n\n\t\t// If the signal a) was previously clean or b) is an unowned derived, then mark it\n\t\tif ((flags & (CLEAN | UNOWNED)) !== 0) {\n\t\t\tif ((flags & DERIVED) !== 0) {\n\t\t\t\tmark_reactions(/** @type {Derived} */ (reaction), MAYBE_DIRTY);\n\t\t\t} else {\n\t\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { TemplateNode } from '#client' */\nimport { hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport { DEV } from 'esm-env';\nimport { init_array_prototype_warnings } from '../dev/equality.js';\nimport { get_descriptor, is_extensible } from '../../shared/utils.js';\nimport { TEXT_NODE } from '#client/constants';\n\n// export these for reference in the compiled code, making global name deduplication unnecessary\n/** @type {Window} */\nexport var $window;\n\n/** @type {Document} */\nexport var $document;\n\n/** @type {boolean} */\nexport var is_firefox;\n\n/** @type {() => Node | null} */\nvar first_child_getter;\n/** @type {() => Node | null} */\nvar next_sibling_getter;\n\n/**\n * Initialize these lazily to avoid issues when using the runtime in a server context\n * where these globals are not available while avoiding a separate server entry point\n */\nexport function init_operations() {\n\tif ($window !== undefined) {\n\t\treturn;\n\t}\n\n\t$window = window;\n\t$document = document;\n\tis_firefox = /Firefox/.test(navigator.userAgent);\n\n\tvar element_prototype = Element.prototype;\n\tvar node_prototype = Node.prototype;\n\tvar text_prototype = Text.prototype;\n\n\t// @ts-ignore\n\tfirst_child_getter = get_descriptor(node_prototype, 'firstChild').get;\n\t// @ts-ignore\n\tnext_sibling_getter = get_descriptor(node_prototype, 'nextSibling').get;\n\n\tif (is_extensible(element_prototype)) {\n\t\t// the following assignments improve perf of lookups on DOM nodes\n\t\t// @ts-expect-error\n\t\telement_prototype.__click = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__className = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__attributes = null;\n\t\t// @ts-expect-error\n\t\telement_prototype.__style = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__e = undefined;\n\t}\n\n\tif (is_extensible(text_prototype)) {\n\t\t// @ts-expect-error\n\t\ttext_prototype.__t = undefined;\n\t}\n\n\tif (DEV) {\n\t\t// @ts-expect-error\n\t\telement_prototype.__svelte_meta = null;\n\n\t\tinit_array_prototype_warnings();\n\t}\n}\n\n/**\n * @param {string} value\n * @returns {Text}\n */\nexport function create_text(value = '') {\n\treturn document.createTextNode(value);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {Node | null}\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_first_child(node) {\n\treturn first_child_getter.call(node);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {Node | null}\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_next_sibling(node) {\n\treturn next_sibling_getter.call(node);\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @template {Node} N\n * @param {N} node\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function child(node, is_text) {\n\tif (!hydrating) {\n\t\treturn get_first_child(node);\n\t}\n\n\tvar child = /** @type {TemplateNode} */ (get_first_child(hydrate_node));\n\n\t// Child can be null if we have an element with a single child, like `<p>{text}</p>`, where `text` is empty\n\tif (child === null) {\n\t\tchild = hydrate_node.appendChild(create_text());\n\t} else if (is_text && child.nodeType !== TEXT_NODE) {\n\t\tvar text = create_text();\n\t\tchild?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tset_hydrate_node(child);\n\treturn child;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {DocumentFragment | TemplateNode[]} fragment\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function first_child(fragment, is_text) {\n\tif (!hydrating) {\n\t\t// when not hydrating, `fragment` is a `DocumentFragment` (the result of calling `open_frag`)\n\t\tvar first = /** @type {DocumentFragment} */ (get_first_child(/** @type {Node} */ (fragment)));\n\n\t\t// TODO prevent user comments with the empty string when preserveComments is true\n\t\tif (first instanceof Comment && first.data === '') return get_next_sibling(first);\n\n\t\treturn first;\n\t}\n\n\t// if an {expression} is empty during SSR, there might be no\n\t// text node to hydrate — we must therefore create one\n\tif (is_text && hydrate_node?.nodeType !== TEXT_NODE) {\n\t\tvar text = create_text();\n\n\t\thydrate_node?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\treturn hydrate_node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {number} count\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function sibling(node, count = 1, is_text = false) {\n\tlet next_sibling = hydrating ? hydrate_node : node;\n\tvar last_sibling;\n\n\twhile (count--) {\n\t\tlast_sibling = next_sibling;\n\t\tnext_sibling = /** @type {TemplateNode} */ (get_next_sibling(next_sibling));\n\t}\n\n\tif (!hydrating) {\n\t\treturn next_sibling;\n\t}\n\n\t// if a sibling {expression} is empty during SSR, there might be no\n\t// text node to hydrate — we must therefore create one\n\tif (is_text && next_sibling?.nodeType !== TEXT_NODE) {\n\t\tvar text = create_text();\n\t\t// If the next sibling is `null` and we're handling text then it's because\n\t\t// the SSR content was empty for the text, so we need to generate a new text\n\t\t// node and insert it after the last sibling\n\t\tif (next_sibling === null) {\n\t\t\tlast_sibling?.after(text);\n\t\t} else {\n\t\t\tnext_sibling.before(text);\n\t\t}\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tset_hydrate_node(next_sibling);\n\treturn /** @type {TemplateNode} */ (next_sibling);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {void}\n */\nexport function clear_text_content(node) {\n\tnode.textContent = '';\n}\n\n/**\n *\n * @param {string} tag\n * @param {string} [namespace]\n * @param {string} [is]\n * @returns\n */\nexport function create_element(tag, namespace, is) {\n\tlet options = is ? { is } : undefined;\n\tif (namespace) {\n\t\treturn document.createElementNS(namespace, tag, options);\n\t}\n\treturn document.createElement(tag, options);\n}\n\nexport function create_fragment() {\n\treturn document.createDocumentFragment();\n}\n\n/**\n * @param {string} data\n * @returns\n */\nexport function create_comment(data = '') {\n\treturn document.createComment(data);\n}\n\n/**\n * @param {Element} element\n * @param {string} key\n * @param {string} value\n * @returns\n */\nexport function set_attribute(element, key, value = '') {\n\tif (key.startsWith('xlink:')) {\n\t\telement.setAttributeNS('http://www.w3.org/1999/xlink', key, value);\n\t\treturn;\n\t}\n\treturn element.setAttribute(key, value);\n}\n","/** @import { ComponentContext, ComponentContextLegacy, Derived, Effect, TemplateNode, TransitionManager } from '#client' */\nimport {\n\tcheck_dirtiness,\n\tactive_effect,\n\tactive_reaction,\n\tupdate_effect,\n\tget,\n\tis_destroying_effect,\n\tremove_reactions,\n\tschedule_effect,\n\tset_active_reaction,\n\tset_is_destroying_effect,\n\tset_signal_status,\n\tuntrack,\n\tuntracking\n} from '../runtime.js';\nimport {\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tRENDER_EFFECT,\n\tEFFECT,\n\tDESTROYED,\n\tINERT,\n\tEFFECT_RAN,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tEFFECT_TRANSPARENT,\n\tDERIVED,\n\tUNOWNED,\n\tCLEAN,\n\tINSPECT_EFFECT,\n\tHEAD_EFFECT,\n\tMAYBE_DIRTY,\n\tEFFECT_PRESERVED,\n\tBOUNDARY_EFFECT,\n\tSTALE_REACTION\n} from '#client/constants';\nimport { set } from './sources.js';\nimport * as e from '../errors.js';\nimport { DEV } from 'esm-env';\nimport { define_property } from '../../shared/utils.js';\nimport { get_next_sibling } from '../dom/operations.js';\nimport { derived } from './deriveds.js';\nimport { component_context, dev_current_component_function, dev_stack } from '../context.js';\n\n/**\n * @param {'$effect' | '$effect.pre' | '$inspect'} rune\n */\nexport function validate_effect(rune) {\n\tif (active_effect === null && active_reaction === null) {\n\t\te.effect_orphan(rune);\n\t}\n\n\tif (active_reaction !== null && (active_reaction.f & UNOWNED) !== 0 && active_effect === null) {\n\t\te.effect_in_unowned_derived();\n\t}\n\n\tif (is_destroying_effect) {\n\t\te.effect_in_teardown(rune);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect} parent_effect\n */\nfunction push_effect(effect, parent_effect) {\n\tvar parent_last = parent_effect.last;\n\tif (parent_last === null) {\n\t\tparent_effect.last = parent_effect.first = effect;\n\t} else {\n\t\tparent_last.next = effect;\n\t\teffect.prev = parent_last;\n\t\tparent_effect.last = effect;\n\t}\n}\n\n/**\n * @param {number} type\n * @param {null | (() => void | (() => void))} fn\n * @param {boolean} sync\n * @param {boolean} push\n * @returns {Effect}\n */\nfunction create_effect(type, fn, sync, push = true) {\n\tvar parent = active_effect;\n\n\tif (DEV) {\n\t\t// Ensure the parent is never an inspect effect\n\t\twhile (parent !== null && (parent.f & INSPECT_EFFECT) !== 0) {\n\t\t\tparent = parent.parent;\n\t\t}\n\t}\n\n\t/** @type {Effect} */\n\tvar effect = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\tnodes_start: null,\n\t\tnodes_end: null,\n\t\tf: type | DIRTY,\n\t\tfirst: null,\n\t\tfn,\n\t\tlast: null,\n\t\tnext: null,\n\t\tparent,\n\t\tb: parent && parent.b,\n\t\tprev: null,\n\t\tteardown: null,\n\t\ttransitions: null,\n\t\twv: 0,\n\t\tac: null\n\t};\n\n\tif (DEV) {\n\t\teffect.component_function = dev_current_component_function;\n\t}\n\n\tif (sync) {\n\t\ttry {\n\t\t\tupdate_effect(effect);\n\t\t\teffect.f |= EFFECT_RAN;\n\t\t} catch (e) {\n\t\t\tdestroy_effect(effect);\n\t\t\tthrow e;\n\t\t}\n\t} else if (fn !== null) {\n\t\tschedule_effect(effect);\n\t}\n\n\t// if an effect has no dependencies, no DOM and no teardown function,\n\t// don't bother adding it to the effect tree\n\tvar inert =\n\t\tsync &&\n\t\teffect.deps === null &&\n\t\teffect.first === null &&\n\t\teffect.nodes_start === null &&\n\t\teffect.teardown === null &&\n\t\t(effect.f & (EFFECT_PRESERVED | BOUNDARY_EFFECT)) === 0;\n\n\tif (!inert && push) {\n\t\tif (parent !== null) {\n\t\t\tpush_effect(effect, parent);\n\t\t}\n\n\t\t// if we're in a derived, add the effect there too\n\t\tif (active_reaction !== null && (active_reaction.f & DERIVED) !== 0) {\n\t\t\tvar derived = /** @type {Derived} */ (active_reaction);\n\t\t\t(derived.effects ??= []).push(effect);\n\t\t}\n\t}\n\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect.tracking()`\n * @returns {boolean}\n */\nexport function effect_tracking() {\n\treturn active_reaction !== null && !untracking;\n}\n\n/**\n * @param {() => void} fn\n */\nexport function teardown(fn) {\n\tconst effect = create_effect(RENDER_EFFECT, null, false);\n\tset_signal_status(effect, CLEAN);\n\teffect.teardown = fn;\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect(...)`\n * @param {() => void | (() => void)} fn\n */\nexport function user_effect(fn) {\n\tvalidate_effect('$effect');\n\n\t// Non-nested `$effect(...)` in a component should be deferred\n\t// until the component is mounted\n\tvar defer =\n\t\tactive_effect !== null &&\n\t\t(active_effect.f & BRANCH_EFFECT) !== 0 &&\n\t\tcomponent_context !== null &&\n\t\t!component_context.m;\n\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect'\n\t\t});\n\t}\n\n\tif (defer) {\n\t\tvar context = /** @type {ComponentContext} */ (component_context);\n\t\t(context.e ??= []).push({\n\t\t\tfn,\n\t\t\teffect: active_effect,\n\t\t\treaction: active_reaction\n\t\t});\n\t} else {\n\t\tvar signal = effect(fn);\n\t\treturn signal;\n\t}\n}\n\n/**\n * Internal representation of `$effect.pre(...)`\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function user_pre_effect(fn) {\n\tvalidate_effect('$effect.pre');\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect.pre'\n\t\t});\n\t}\n\treturn render_effect(fn);\n}\n\n/** @param {() => void | (() => void)} fn */\nexport function inspect_effect(fn) {\n\treturn create_effect(INSPECT_EFFECT, fn, true);\n}\n\n/**\n * Internal representation of `$effect.root(...)`\n * @param {() => void | (() => void)} fn\n * @returns {() => void}\n */\nexport function effect_root(fn) {\n\tconst effect = create_effect(ROOT_EFFECT, fn, true);\n\n\treturn () => {\n\t\tdestroy_effect(effect);\n\t};\n}\n\n/**\n * An effect root whose children can transition out\n * @param {() => void} fn\n * @returns {(options?: { outro?: boolean }) => Promise<void>}\n */\nexport function component_root(fn) {\n\tconst effect = create_effect(ROOT_EFFECT, fn, true);\n\n\treturn (options = {}) => {\n\t\treturn new Promise((fulfil) => {\n\t\t\tif (options.outro) {\n\t\t\t\tpause_effect(effect, () => {\n\t\t\t\t\tdestroy_effect(effect);\n\t\t\t\t\tfulfil(undefined);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdestroy_effect(effect);\n\t\t\t\tfulfil(undefined);\n\t\t\t}\n\t\t});\n\t};\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function effect(fn) {\n\treturn create_effect(EFFECT, fn, false);\n}\n\n/**\n * Internal representation of `$: ..`\n * @param {() => any} deps\n * @param {() => void | (() => void)} fn\n */\nexport function legacy_pre_effect(deps, fn) {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\t/** @type {{ effect: null | Effect, ran: boolean }} */\n\tvar token = { effect: null, ran: false };\n\tcontext.l.r1.push(token);\n\n\ttoken.effect = render_effect(() => {\n\t\tdeps();\n\n\t\t// If this legacy pre effect has already run before the end of the reset, then\n\t\t// bail out to emulate the same behavior.\n\t\tif (token.ran) return;\n\n\t\ttoken.ran = true;\n\t\tset(context.l.r2, true);\n\t\tuntrack(fn);\n\t});\n}\n\nexport function legacy_pre_effect_reset() {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\trender_effect(() => {\n\t\tif (!get(context.l.r2)) return;\n\n\t\t// Run dirty `$:` statements\n\t\tfor (var token of context.l.r1) {\n\t\t\tvar effect = token.effect;\n\n\t\t\t// If the effect is CLEAN, then make it MAYBE_DIRTY. This ensures we traverse through\n\t\t\t// the effects dependencies and correctly ensure each dependency is up-to-date.\n\t\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t}\n\n\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\tupdate_effect(effect);\n\t\t\t}\n\n\t\t\ttoken.ran = false;\n\t\t}\n\n\t\tcontext.l.r2.v = false; // set directly to avoid rerunning this effect\n\t});\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function render_effect(fn) {\n\treturn create_effect(RENDER_EFFECT, fn, true);\n}\n\n/**\n * @param {(...expressions: any) => void | (() => void)} fn\n * @param {Array<() => any>} thunks\n * @param {<T>(fn: () => T) => Derived<T>} d\n * @returns {Effect}\n */\nexport function template_effect(fn, thunks = [], d = derived) {\n\tif (DEV) {\n\t\t// wrap the effect so that we can decorate stack trace with `in {expression}`\n\t\t// (TODO maybe there's a better approach?)\n\t\treturn render_effect(() => {\n\t\t\tvar outer = /** @type {Effect} */ (active_effect);\n\t\t\tvar inner = () => fn(...deriveds.map(get));\n\n\t\t\tdefine_property(outer.fn, 'name', { value: '{expression}' });\n\t\t\tdefine_property(inner, 'name', { value: '{expression}' });\n\n\t\t\tconst deriveds = thunks.map(d);\n\t\t\tblock(inner);\n\t\t});\n\t}\n\n\tconst deriveds = thunks.map(d);\n\treturn block(() => fn(...deriveds.map(get)));\n}\n\n/**\n * @param {(() => void)} fn\n * @param {number} flags\n */\nexport function block(fn, flags = 0) {\n\tvar effect = create_effect(RENDER_EFFECT | BLOCK_EFFECT | flags, fn, true);\n\tif (DEV) {\n\t\teffect.dev_stack = dev_stack;\n\t}\n\treturn effect;\n}\n\n/**\n * @param {(() => void)} fn\n * @param {boolean} [push]\n */\nexport function branch(fn, push = true) {\n\treturn create_effect(RENDER_EFFECT | BRANCH_EFFECT, fn, true, push);\n}\n\n/**\n * @param {Effect} effect\n */\nexport function execute_effect_teardown(effect) {\n\tvar teardown = effect.teardown;\n\tif (teardown !== null) {\n\t\tconst previously_destroying_effect = is_destroying_effect;\n\t\tconst previous_reaction = active_reaction;\n\t\tset_is_destroying_effect(true);\n\t\tset_active_reaction(null);\n\t\ttry {\n\t\t\tteardown.call(null);\n\t\t} finally {\n\t\t\tset_is_destroying_effect(previously_destroying_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @param {boolean} remove_dom\n * @returns {void}\n */\nexport function destroy_effect_children(signal, remove_dom = false) {\n\tvar effect = signal.first;\n\tsignal.first = signal.last = null;\n\n\twhile (effect !== null) {\n\t\teffect.ac?.abort(STALE_REACTION);\n\n\t\tvar next = effect.next;\n\n\t\tif ((effect.f & ROOT_EFFECT) !== 0) {\n\t\t\t// this is now an independent root\n\t\t\teffect.parent = null;\n\t\t} else {\n\t\t\tdestroy_effect(effect, remove_dom);\n\t\t}\n\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function destroy_block_effect_children(signal) {\n\tvar effect = signal.first;\n\n\twhile (effect !== null) {\n\t\tvar next = effect.next;\n\t\tif ((effect.f & BRANCH_EFFECT) === 0) {\n\t\t\tdestroy_effect(effect);\n\t\t}\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} [remove_dom]\n * @returns {void}\n */\nexport function destroy_effect(effect, remove_dom = true) {\n\tvar removed = false;\n\n\tif (\n\t\t(remove_dom || (effect.f & HEAD_EFFECT) !== 0) &&\n\t\teffect.nodes_start !== null &&\n\t\teffect.nodes_end !== null\n\t) {\n\t\tremove_effect_dom(effect.nodes_start, /** @type {TemplateNode} */ (effect.nodes_end));\n\t\tremoved = true;\n\t}\n\n\tdestroy_effect_children(effect, remove_dom && !removed);\n\tremove_reactions(effect, 0);\n\tset_signal_status(effect, DESTROYED);\n\n\tvar transitions = effect.transitions;\n\n\tif (transitions !== null) {\n\t\tfor (const transition of transitions) {\n\t\t\ttransition.stop();\n\t\t}\n\t}\n\n\texecute_effect_teardown(effect);\n\n\tvar parent = effect.parent;\n\n\t// If the parent doesn't have any children, then skip this work altogether\n\tif (parent !== null && parent.first !== null) {\n\t\tunlink_effect(effect);\n\t}\n\n\tif (DEV) {\n\t\teffect.component_function = null;\n\t}\n\n\t// `first` and `child` are nulled out in destroy_effect_children\n\t// we don't null out `parent` so that error propagation can work correctly\n\teffect.next =\n\t\teffect.prev =\n\t\teffect.teardown =\n\t\teffect.ctx =\n\t\teffect.deps =\n\t\teffect.fn =\n\t\teffect.nodes_start =\n\t\teffect.nodes_end =\n\t\teffect.ac =\n\t\t\tnull;\n}\n\n/**\n *\n * @param {TemplateNode | null} node\n * @param {TemplateNode} end\n */\nexport function remove_effect_dom(node, end) {\n\twhile (node !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar next = node === end ? null : /** @type {TemplateNode} */ (get_next_sibling(node));\n\n\t\tnode.remove();\n\t\tnode = next;\n\t}\n}\n\n/**\n * Detach an effect from the effect tree, freeing up memory and\n * reducing the amount of work that happens on subsequent traversals\n * @param {Effect} effect\n */\nexport function unlink_effect(effect) {\n\tvar parent = effect.parent;\n\tvar prev = effect.prev;\n\tvar next = effect.next;\n\n\tif (prev !== null) prev.next = next;\n\tif (next !== null) next.prev = prev;\n\n\tif (parent !== null) {\n\t\tif (parent.first === effect) parent.first = next;\n\t\tif (parent.last === effect) parent.last = prev;\n\t}\n}\n\n/**\n * When a block effect is removed, we don't immediately destroy it or yank it\n * out of the DOM, because it might have transitions. Instead, we 'pause' it.\n * It stays around (in memory, and in the DOM) until outro transitions have\n * completed, and if the state change is reversed then we _resume_ it.\n * A paused effect does not update, and the DOM subtree becomes inert.\n * @param {Effect} effect\n * @param {() => void} [callback]\n */\nexport function pause_effect(effect, callback) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\n\tpause_children(effect, transitions, true);\n\n\trun_out_transitions(transitions, () => {\n\t\tdestroy_effect(effect);\n\t\tif (callback) callback();\n\t});\n}\n\n/**\n * @param {TransitionManager[]} transitions\n * @param {() => void} fn\n */\nexport function run_out_transitions(transitions, fn) {\n\tvar remaining = transitions.length;\n\tif (remaining > 0) {\n\t\tvar check = () => --remaining || fn();\n\t\tfor (var transition of transitions) {\n\t\t\ttransition.out(check);\n\t\t}\n\t} else {\n\t\tfn();\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {TransitionManager[]} transitions\n * @param {boolean} local\n */\nexport function pause_children(effect, transitions, local) {\n\tif ((effect.f & INERT) !== 0) return;\n\teffect.f ^= INERT;\n\n\tif (effect.transitions !== null) {\n\t\tfor (const transition of effect.transitions) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransitions.push(transition);\n\t\t\t}\n\t\t}\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call pause_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tpause_children(child, transitions, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n}\n\n/**\n * The opposite of `pause_effect`. We call this if (for example)\n * `x` becomes falsy then truthy: `{#if x}...{/if}`\n * @param {Effect} effect\n */\nexport function resume_effect(effect) {\n\tresume_children(effect, true);\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} local\n */\nfunction resume_children(effect, local) {\n\tif ((effect.f & INERT) === 0) return;\n\teffect.f ^= INERT;\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call resume_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tresume_children(child, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n\n\tif (effect.transitions !== null) {\n\t\tfor (const transition of effect.transitions) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransition.in();\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { Effect } from '#client' */\n/** @import { Boundary } from './dom/blocks/boundary.js' */\nimport { DEV } from 'esm-env';\nimport { FILENAME } from '../../constants.js';\nimport { is_firefox } from './dom/operations.js';\nimport { BOUNDARY_EFFECT, EFFECT_RAN } from './constants.js';\nimport { define_property, get_descriptor } from '../shared/utils.js';\nimport { active_effect } from './runtime.js';\n\n/**\n * @param {unknown} error\n */\nexport function handle_error(error) {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\n\tif (DEV && error instanceof Error) {\n\t\tadjust_error(error, effect);\n\t}\n\n\tif ((effect.f & EFFECT_RAN) === 0) {\n\t\t// if the error occurred while creating this subtree, we let it\n\t\t// bubble up until it hits a boundary that can handle it\n\t\tif ((effect.f & BOUNDARY_EFFECT) === 0) {\n\t\t\tthrow error;\n\t\t}\n\n\t\t// @ts-expect-error\n\t\teffect.fn(error);\n\t} else {\n\t\t// otherwise we bubble up the effect tree ourselves\n\t\tinvoke_error_boundary(error, effect);\n\t}\n}\n\n/**\n * @param {unknown} error\n * @param {Effect | null} effect\n */\nexport function invoke_error_boundary(error, effect) {\n\twhile (effect !== null) {\n\t\tif ((effect.f & BOUNDARY_EFFECT) !== 0) {\n\t\t\ttry {\n\t\t\t\t/** @type {Boundary} */ (effect.b).error(error);\n\t\t\t\treturn;\n\t\t\t} catch {}\n\t\t}\n\n\t\teffect = effect.parent;\n\t}\n\n\tthrow error;\n}\n\n/** @type {WeakSet<Error>} */\nconst adjusted_errors = new WeakSet();\n\n/**\n * Add useful information to the error message/stack in development\n * @param {Error} error\n * @param {Effect} effect\n */\nfunction adjust_error(error, effect) {\n\tif (adjusted_errors.has(error)) return;\n\tadjusted_errors.add(error);\n\n\tconst message_descriptor = get_descriptor(error, 'message');\n\n\t// if the message was already changed and it's not configurable we can't change it\n\t// or it will throw a different error swallowing the original error\n\tif (message_descriptor && !message_descriptor.configurable) return;\n\n\tvar indent = is_firefox ? '  ' : '\\t';\n\tvar component_stack = `\\n${indent}in ${effect.fn?.name || '<unknown>'}`;\n\tvar context = effect.ctx;\n\n\twhile (context !== null) {\n\t\tcomponent_stack += `\\n${indent}in ${context.function?.[FILENAME].split('/').pop()}`;\n\t\tcontext = context.p;\n\t}\n\n\tdefine_property(error, 'message', {\n\t\tvalue: error.message + `\\n${component_stack}\\n`\n\t});\n\n\tif (error.stack) {\n\t\t// Filter out internal modules\n\t\tdefine_property(error, 'stack', {\n\t\t\tvalue: error.stack\n\t\t\t\t.split('\\n')\n\t\t\t\t.filter((line) => !line.includes('svelte/src/internal'))\n\t\t\t\t.join('\\n')\n\t\t});\n\t}\n}\n","/** @import { Derived, Effect, Reaction, Signal, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport { define_property, get_descriptors, get_prototype_of, index_of } from '../shared/utils.js';\nimport {\n\tdestroy_block_effect_children,\n\tdestroy_effect_children,\n\texecute_effect_teardown,\n\tunlink_effect\n} from './reactivity/effects.js';\nimport {\n\tEFFECT,\n\tDIRTY,\n\tMAYBE_DIRTY,\n\tCLEAN,\n\tDERIVED,\n\tUNOWNED,\n\tDESTROYED,\n\tINERT,\n\tBRANCH_EFFECT,\n\tSTATE_SYMBOL,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tDISCONNECTED,\n\tEFFECT_IS_UPDATING,\n\tSTALE_REACTION\n} from './constants.js';\nimport { flush_tasks } from './dom/task.js';\nimport { internal_set, old_values } from './reactivity/sources.js';\nimport { destroy_derived_effects, update_derived } from './reactivity/deriveds.js';\nimport * as e from './errors.js';\n\nimport { tracing_mode_flag } from '../flags/index.js';\nimport { tracing_expressions, get_stack } from './dev/tracing.js';\nimport {\n\tcomponent_context,\n\tdev_current_component_function,\n\tdev_stack,\n\tis_runes,\n\tset_component_context,\n\tset_dev_current_component_function,\n\tset_dev_stack\n} from './context.js';\nimport { handle_error, invoke_error_boundary } from './error-handling.js';\n\nlet is_flushing = false;\n\n/** @type {Effect | null} */\nlet last_scheduled_effect = null;\n\nlet is_updating_effect = false;\n\nexport let is_destroying_effect = false;\n\n/** @param {boolean} value */\nexport function set_is_destroying_effect(value) {\n\tis_destroying_effect = value;\n}\n\n// Handle effect queues\n\n/** @type {Effect[]} */\nlet queued_root_effects = [];\n\n/** @type {Effect[]} Stack of effects, dev only */\nlet dev_effect_stack = [];\n// Handle signal reactivity tree dependencies and reactions\n\n/** @type {null | Reaction} */\nexport let active_reaction = null;\n\nexport let untracking = false;\n\n/** @param {null | Reaction} reaction */\nexport function set_active_reaction(reaction) {\n\tactive_reaction = reaction;\n}\n\n/** @type {null | Effect} */\nexport let active_effect = null;\n\n/** @param {null | Effect} effect */\nexport function set_active_effect(effect) {\n\tactive_effect = effect;\n}\n\n/**\n * When sources are created within a reaction, reading and writing\n * them within that reaction should not cause a re-run\n * @type {null | [active_reaction: Reaction, sources: Source[]]}\n */\nexport let reaction_sources = null;\n\n/** @param {Value} value */\nexport function push_reaction_value(value) {\n\tif (active_reaction !== null && active_reaction.f & EFFECT_IS_UPDATING) {\n\t\tif (reaction_sources === null) {\n\t\t\treaction_sources = [active_reaction, [value]];\n\t\t} else {\n\t\t\treaction_sources[1].push(value);\n\t\t}\n\t}\n}\n\n/**\n * The dependencies of the reaction that is currently being executed. In many cases,\n * the dependencies are unchanged between runs, and so this will be `null` unless\n * and until a new dependency is accessed — we track this via `skipped_deps`\n * @type {null | Value[]}\n */\nlet new_deps = null;\n\nlet skipped_deps = 0;\n\n/**\n * Tracks writes that the effect it's executed in doesn't listen to yet,\n * so that the dependency can be added to the effect later on if it then reads it\n * @type {null | Source[]}\n */\nexport let untracked_writes = null;\n\n/** @param {null | Source[]} value */\nexport function set_untracked_writes(value) {\n\tuntracked_writes = value;\n}\n\n/**\n * @type {number} Used by sources and deriveds for handling updates.\n * Version starts from 1 so that unowned deriveds differentiate between a created effect and a run one for tracing\n **/\nlet write_version = 1;\n\n/** @type {number} Used to version each read of a source of derived to avoid duplicating depedencies inside a reaction */\nlet read_version = 0;\n\n// If we are working with a get() chain that has no active container,\n// to prevent memory leaks, we skip adding the reaction.\nexport let skip_reaction = false;\n// Handle collecting all signals which are read during a specific time frame\n/** @type {Set<Value> | null} */\nexport let captured_signals = null;\n\n/** @param {Set<Value> | null} value */\nexport function set_captured_signals(value) {\n\tcaptured_signals = value;\n}\n\nexport function increment_write_version() {\n\treturn ++write_version;\n}\n\n/**\n * Determines whether a derived or effect is dirty.\n * If it is MAYBE_DIRTY, will set the status to CLEAN\n * @param {Reaction} reaction\n * @returns {boolean}\n */\nexport function check_dirtiness(reaction) {\n\tvar flags = reaction.f;\n\n\tif ((flags & DIRTY) !== 0) {\n\t\treturn true;\n\t}\n\n\tif ((flags & MAYBE_DIRTY) !== 0) {\n\t\tvar dependencies = reaction.deps;\n\t\tvar is_unowned = (flags & UNOWNED) !== 0;\n\n\t\tif (dependencies !== null) {\n\t\t\tvar i;\n\t\t\tvar dependency;\n\t\t\tvar is_disconnected = (flags & DISCONNECTED) !== 0;\n\t\t\tvar is_unowned_connected = is_unowned && active_effect !== null && !skip_reaction;\n\t\t\tvar length = dependencies.length;\n\n\t\t\t// If we are working with a disconnected or an unowned signal that is now connected (due to an active effect)\n\t\t\t// then we need to re-connect the reaction to the dependency\n\t\t\tif (is_disconnected || is_unowned_connected) {\n\t\t\t\tvar derived = /** @type {Derived} */ (reaction);\n\t\t\t\tvar parent = derived.parent;\n\n\t\t\t\tfor (i = 0; i < length; i++) {\n\t\t\t\t\tdependency = dependencies[i];\n\n\t\t\t\t\t// We always re-add all reactions (even duplicates) if the derived was\n\t\t\t\t\t// previously disconnected, however we don't if it was unowned as we\n\t\t\t\t\t// de-duplicate dependencies in that case\n\t\t\t\t\tif (is_disconnected || !dependency?.reactions?.includes(derived)) {\n\t\t\t\t\t\t(dependency.reactions ??= []).push(derived);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (is_disconnected) {\n\t\t\t\t\tderived.f ^= DISCONNECTED;\n\t\t\t\t}\n\t\t\t\t// If the unowned derived is now fully connected to the graph again (it's unowned and reconnected, has a parent\n\t\t\t\t// and the parent is not unowned), then we can mark it as connected again, removing the need for the unowned\n\t\t\t\t// flag\n\t\t\t\tif (is_unowned_connected && parent !== null && (parent.f & UNOWNED) === 0) {\n\t\t\t\t\tderived.f ^= UNOWNED;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0; i < length; i++) {\n\t\t\t\tdependency = dependencies[i];\n\n\t\t\t\tif (check_dirtiness(/** @type {Derived} */ (dependency))) {\n\t\t\t\t\tupdate_derived(/** @type {Derived} */ (dependency));\n\t\t\t\t}\n\n\t\t\t\tif (dependency.wv > reaction.wv) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Unowned signals should never be marked as clean unless they\n\t\t// are used within an active_effect without skip_reaction\n\t\tif (!is_unowned || (active_effect !== null && !skip_reaction)) {\n\t\t\tset_signal_status(reaction, CLEAN);\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * @param {Value} signal\n * @param {Effect} effect\n * @param {boolean} [root]\n */\nfunction schedule_possible_effect_self_invalidation(signal, effect, root = true) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tfor (var i = 0; i < reactions.length; i++) {\n\t\tvar reaction = reactions[i];\n\n\t\tif (reaction_sources?.[1].includes(signal) && reaction_sources[0] === active_reaction) continue;\n\n\t\tif ((reaction.f & DERIVED) !== 0) {\n\t\t\tschedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false);\n\t\t} else if (effect === reaction) {\n\t\t\tif (root) {\n\t\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\t} else if ((reaction.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(reaction, MAYBE_DIRTY);\n\t\t\t}\n\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t}\n\t}\n}\n\n/** @param {Reaction} reaction */\nexport function update_reaction(reaction) {\n\tvar previous_deps = new_deps;\n\tvar previous_skipped_deps = skipped_deps;\n\tvar previous_untracked_writes = untracked_writes;\n\tvar previous_reaction = active_reaction;\n\tvar previous_skip_reaction = skip_reaction;\n\tvar previous_reaction_sources = reaction_sources;\n\tvar previous_component_context = component_context;\n\tvar previous_untracking = untracking;\n\n\tvar flags = reaction.f;\n\n\tnew_deps = /** @type {null | Value[]} */ (null);\n\tskipped_deps = 0;\n\tuntracked_writes = null;\n\tskip_reaction =\n\t\t(flags & UNOWNED) !== 0 && (untracking || !is_updating_effect || active_reaction === null);\n\tactive_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;\n\n\treaction_sources = null;\n\tset_component_context(reaction.ctx);\n\tuntracking = false;\n\tread_version++;\n\n\treaction.f |= EFFECT_IS_UPDATING;\n\n\tif (reaction.ac !== null) {\n\t\treaction.ac.abort(STALE_REACTION);\n\t\treaction.ac = null;\n\t}\n\n\ttry {\n\t\tvar result = /** @type {Function} */ (0, reaction.fn)();\n\t\tvar deps = reaction.deps;\n\n\t\tif (new_deps !== null) {\n\t\t\tvar i;\n\n\t\t\tremove_reactions(reaction, skipped_deps);\n\n\t\t\tif (deps !== null && skipped_deps > 0) {\n\t\t\t\tdeps.length = skipped_deps + new_deps.length;\n\t\t\t\tfor (i = 0; i < new_deps.length; i++) {\n\t\t\t\t\tdeps[skipped_deps + i] = new_deps[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treaction.deps = deps = new_deps;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!skip_reaction ||\n\t\t\t\t// Deriveds that already have reactions can cleanup, so we still add them as reactions\n\t\t\t\t((flags & DERIVED) !== 0 &&\n\t\t\t\t\t/** @type {import('#client').Derived} */ (reaction).reactions !== null)\n\t\t\t) {\n\t\t\t\tfor (i = skipped_deps; i < deps.length; i++) {\n\t\t\t\t\t(deps[i].reactions ??= []).push(reaction);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (deps !== null && skipped_deps < deps.length) {\n\t\t\tremove_reactions(reaction, skipped_deps);\n\t\t\tdeps.length = skipped_deps;\n\t\t}\n\n\t\t// If we're inside an effect and we have untracked writes, then we need to\n\t\t// ensure that if any of those untracked writes result in re-invalidation\n\t\t// of the current effect, then that happens accordingly\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tuntracked_writes !== null &&\n\t\t\t!untracking &&\n\t\t\tdeps !== null &&\n\t\t\t(reaction.f & (DERIVED | MAYBE_DIRTY | DIRTY)) === 0\n\t\t) {\n\t\t\tfor (i = 0; i < /** @type {Source[]} */ (untracked_writes).length; i++) {\n\t\t\t\tschedule_possible_effect_self_invalidation(\n\t\t\t\t\tuntracked_writes[i],\n\t\t\t\t\t/** @type {Effect} */ (reaction)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// If we are returning to an previous reaction then\n\t\t// we need to increment the read version to ensure that\n\t\t// any dependencies in this reaction aren't marked with\n\t\t// the same version\n\t\tif (previous_reaction !== null && previous_reaction !== reaction) {\n\t\t\tread_version++;\n\n\t\t\tif (untracked_writes !== null) {\n\t\t\t\tif (previous_untracked_writes === null) {\n\t\t\t\t\tprevious_untracked_writes = untracked_writes;\n\t\t\t\t} else {\n\t\t\t\t\tprevious_untracked_writes.push(.../** @type {Source[]} */ (untracked_writes));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t} catch (error) {\n\t\thandle_error(error);\n\t} finally {\n\t\tnew_deps = previous_deps;\n\t\tskipped_deps = previous_skipped_deps;\n\t\tuntracked_writes = previous_untracked_writes;\n\t\tactive_reaction = previous_reaction;\n\t\tskip_reaction = previous_skip_reaction;\n\t\treaction_sources = previous_reaction_sources;\n\t\tset_component_context(previous_component_context);\n\t\tuntracking = previous_untracking;\n\n\t\treaction.f ^= EFFECT_IS_UPDATING;\n\t}\n}\n\n/**\n * @template V\n * @param {Reaction} signal\n * @param {Value<V>} dependency\n * @returns {void}\n */\nfunction remove_reaction(signal, dependency) {\n\tlet reactions = dependency.reactions;\n\tif (reactions !== null) {\n\t\tvar index = index_of.call(reactions, signal);\n\t\tif (index !== -1) {\n\t\t\tvar new_length = reactions.length - 1;\n\t\t\tif (new_length === 0) {\n\t\t\t\treactions = dependency.reactions = null;\n\t\t\t} else {\n\t\t\t\t// Swap with last element and then remove.\n\t\t\t\treactions[index] = reactions[new_length];\n\t\t\t\treactions.pop();\n\t\t\t}\n\t\t}\n\t}\n\t// If the derived has no reactions, then we can disconnect it from the graph,\n\t// allowing it to either reconnect in the future, or be GC'd by the VM.\n\tif (\n\t\treactions === null &&\n\t\t(dependency.f & DERIVED) !== 0 &&\n\t\t// Destroying a child effect while updating a parent effect can cause a dependency to appear\n\t\t// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n\t\t// allows us to skip the expensive work of disconnecting and immediately reconnecting it\n\t\t(new_deps === null || !new_deps.includes(dependency))\n\t) {\n\t\tset_signal_status(dependency, MAYBE_DIRTY);\n\t\t// If we are working with a derived that is owned by an effect, then mark it as being\n\t\t// disconnected.\n\t\tif ((dependency.f & (UNOWNED | DISCONNECTED)) === 0) {\n\t\t\tdependency.f ^= DISCONNECTED;\n\t\t}\n\t\t// Disconnect any reactions owned by this reaction\n\t\tdestroy_derived_effects(/** @type {Derived} **/ (dependency));\n\t\tremove_reactions(/** @type {Derived} **/ (dependency), 0);\n\t}\n}\n\n/**\n * @param {Reaction} signal\n * @param {number} start_index\n * @returns {void}\n */\nexport function remove_reactions(signal, start_index) {\n\tvar dependencies = signal.deps;\n\tif (dependencies === null) return;\n\n\tfor (var i = start_index; i < dependencies.length; i++) {\n\t\tremove_reaction(signal, dependencies[i]);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @returns {void}\n */\nexport function update_effect(effect) {\n\tvar flags = effect.f;\n\n\tif ((flags & DESTROYED) !== 0) {\n\t\treturn;\n\t}\n\n\tset_signal_status(effect, CLEAN);\n\n\tvar previous_effect = active_effect;\n\tvar was_updating_effect = is_updating_effect;\n\n\tactive_effect = effect;\n\tis_updating_effect = true;\n\n\tif (DEV) {\n\t\tvar previous_component_fn = dev_current_component_function;\n\t\tset_dev_current_component_function(effect.component_function);\n\t\tvar previous_stack = /** @type {any} */ (dev_stack);\n\t\t// only block effects have a dev stack, keep the current one otherwise\n\t\tset_dev_stack(effect.dev_stack ?? dev_stack);\n\t}\n\n\ttry {\n\t\tif ((flags & BLOCK_EFFECT) !== 0) {\n\t\t\tdestroy_block_effect_children(effect);\n\t\t} else {\n\t\t\tdestroy_effect_children(effect);\n\t\t}\n\n\t\texecute_effect_teardown(effect);\n\t\tvar teardown = update_reaction(effect);\n\t\teffect.teardown = typeof teardown === 'function' ? teardown : null;\n\t\teffect.wv = write_version;\n\n\t\t// In DEV, increment versions of any sources that were written to during the effect,\n\t\t// so that they are correctly marked as dirty when the effect re-runs\n\t\tif (DEV && tracing_mode_flag && (effect.f & DIRTY) !== 0 && effect.deps !== null) {\n\t\t\tfor (var dep of effect.deps) {\n\t\t\t\tif (dep.set_during_effect) {\n\t\t\t\t\tdep.wv = increment_write_version();\n\t\t\t\t\tdep.set_during_effect = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (DEV) {\n\t\t\tdev_effect_stack.push(effect);\n\t\t}\n\t} finally {\n\t\tis_updating_effect = was_updating_effect;\n\t\tactive_effect = previous_effect;\n\n\t\tif (DEV) {\n\t\t\tset_dev_current_component_function(previous_component_fn);\n\t\t\tset_dev_stack(previous_stack);\n\t\t}\n\t}\n}\n\nfunction log_effect_stack() {\n\t// eslint-disable-next-line no-console\n\tconsole.error(\n\t\t'Last ten effects were: ',\n\t\tdev_effect_stack.slice(-10).map((d) => d.fn)\n\t);\n\tdev_effect_stack = [];\n}\n\nfunction infinite_loop_guard() {\n\ttry {\n\t\te.effect_update_depth_exceeded();\n\t} catch (error) {\n\t\tif (DEV) {\n\t\t\t// stack is garbage, ignore. Instead add a console.error message.\n\t\t\tdefine_property(error, 'stack', {\n\t\t\t\tvalue: ''\n\t\t\t});\n\t\t}\n\t\t// Try and handle the error so it can be caught at a boundary, that's\n\t\t// if there's an effect available from when it was last scheduled\n\t\tif (last_scheduled_effect !== null) {\n\t\t\tif (DEV) {\n\t\t\t\ttry {\n\t\t\t\t\tinvoke_error_boundary(error, last_scheduled_effect);\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// Only log the effect stack if the error is re-thrown\n\t\t\t\t\tlog_effect_stack();\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinvoke_error_boundary(error, last_scheduled_effect);\n\t\t\t}\n\t\t} else {\n\t\t\tif (DEV) {\n\t\t\t\tlog_effect_stack();\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n}\n\nfunction flush_queued_root_effects() {\n\tvar was_updating_effect = is_updating_effect;\n\n\ttry {\n\t\tvar flush_count = 0;\n\t\tis_updating_effect = true;\n\n\t\twhile (queued_root_effects.length > 0) {\n\t\t\tif (flush_count++ > 1000) {\n\t\t\t\tinfinite_loop_guard();\n\t\t\t}\n\n\t\t\tvar root_effects = queued_root_effects;\n\t\t\tvar length = root_effects.length;\n\n\t\t\tqueued_root_effects = [];\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tvar collected_effects = process_effects(root_effects[i]);\n\t\t\t\tflush_queued_effects(collected_effects);\n\t\t\t}\n\t\t\told_values.clear();\n\t\t}\n\t} finally {\n\t\tis_flushing = false;\n\t\tis_updating_effect = was_updating_effect;\n\n\t\tlast_scheduled_effect = null;\n\t\tif (DEV) {\n\t\t\tdev_effect_stack = [];\n\t\t}\n\t}\n}\n\n/**\n * @param {Array<Effect>} effects\n * @returns {void}\n */\nfunction flush_queued_effects(effects) {\n\tvar length = effects.length;\n\tif (length === 0) return;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar effect = effects[i];\n\n\t\tif ((effect.f & (DESTROYED | INERT)) === 0) {\n\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\tupdate_effect(effect);\n\n\t\t\t\t// Effects with no dependencies or teardown do not get added to the effect tree.\n\t\t\t\t// Deferred effects (e.g. `$effect(...)`) _are_ added to the tree because we\n\t\t\t\t// don't know if we need to keep them until they are executed. Doing the check\n\t\t\t\t// here (rather than in `update_effect`) allows us to skip the work for\n\t\t\t\t// immediate effects.\n\t\t\t\tif (effect.deps === null && effect.first === null && effect.nodes_start === null) {\n\t\t\t\t\tif (effect.teardown === null) {\n\t\t\t\t\t\t// remove this effect from the graph\n\t\t\t\t\t\tunlink_effect(effect);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// keep the effect in the graph, but free up some memory\n\t\t\t\t\t\teffect.fn = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function schedule_effect(signal) {\n\tif (!is_flushing) {\n\t\tis_flushing = true;\n\t\tqueueMicrotask(flush_queued_root_effects);\n\t}\n\n\tvar effect = (last_scheduled_effect = signal);\n\n\twhile (effect.parent !== null) {\n\t\teffect = effect.parent;\n\t\tvar flags = effect.f;\n\n\t\tif ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {\n\t\t\tif ((flags & CLEAN) === 0) return;\n\t\t\teffect.f ^= CLEAN;\n\t\t}\n\t}\n\n\tqueued_root_effects.push(effect);\n}\n\n/**\n *\n * This function both runs render effects and collects user effects in topological order\n * from the starting effect passed in. Effects will be collected when they match the filtered\n * bitwise flag passed in only. The collected effects array will be populated with all the user\n * effects to be flushed.\n *\n * @param {Effect} root\n * @returns {Effect[]}\n */\nfunction process_effects(root) {\n\t/** @type {Effect[]} */\n\tvar effects = [];\n\n\t/** @type {Effect | null} */\n\tvar effect = root;\n\n\twhile (effect !== null) {\n\t\tvar flags = effect.f;\n\t\tvar is_branch = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;\n\t\tvar is_skippable_branch = is_branch && (flags & CLEAN) !== 0;\n\n\t\tif (!is_skippable_branch && (flags & INERT) === 0) {\n\t\t\tif ((flags & EFFECT) !== 0) {\n\t\t\t\teffects.push(effect);\n\t\t\t} else if (is_branch) {\n\t\t\t\teffect.f ^= CLEAN;\n\t\t\t} else {\n\t\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\t\tupdate_effect(effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @type {Effect | null} */\n\t\t\tvar child = effect.first;\n\n\t\t\tif (child !== null) {\n\t\t\t\teffect = child;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tvar parent = effect.parent;\n\t\teffect = effect.next;\n\n\t\twhile (effect === null && parent !== null) {\n\t\t\teffect = parent.next;\n\t\t\tparent = parent.parent;\n\t\t}\n\t}\n\n\treturn effects;\n}\n\n/**\n * Synchronously flush any pending updates.\n * Returns void if no callback is provided, otherwise returns the result of calling the callback.\n * @template [T=void]\n * @param {(() => T) | undefined} [fn]\n * @returns {T}\n */\nexport function flushSync(fn) {\n\tvar result;\n\n\tif (fn) {\n\t\tis_flushing = true;\n\t\tflush_queued_root_effects();\n\n\t\tis_flushing = true;\n\t\tresult = fn();\n\t}\n\n\twhile (true) {\n\t\tflush_tasks();\n\n\t\tif (queued_root_effects.length === 0) {\n\t\t\t// this would be reset in `flush_queued_root_effects` but since we are early returning here,\n\t\t\t// we need to reset it here as well in case the first time there's 0 queued root effects\n\t\t\tis_flushing = false;\n\t\t\tlast_scheduled_effect = null;\n\t\t\tif (DEV) {\n\t\t\t\tdev_effect_stack = [];\n\t\t\t}\n\t\t\treturn /** @type {T} */ (result);\n\t\t}\n\n\t\tis_flushing = true;\n\t\tflush_queued_root_effects();\n\t}\n}\n\n/**\n * Returns a promise that resolves once any pending state changes have been applied.\n * @returns {Promise<void>}\n */\nexport async function tick() {\n\tawait Promise.resolve();\n\t// By calling flushSync we guarantee that any pending state changes are applied after one tick.\n\t// TODO look into whether we can make flushing subsequent updates synchronously in the future.\n\tflushSync();\n}\n\n/**\n * @template V\n * @param {Value<V>} signal\n * @returns {V}\n */\nexport function get(signal) {\n\tvar flags = signal.f;\n\tvar is_derived = (flags & DERIVED) !== 0;\n\n\tif (captured_signals !== null) {\n\t\tcaptured_signals.add(signal);\n\t}\n\n\t// Register the dependency on the current reaction signal.\n\tif (active_reaction !== null && !untracking) {\n\t\tif (!reaction_sources?.[1].includes(signal) || reaction_sources[0] !== active_reaction) {\n\t\t\tvar deps = active_reaction.deps;\n\t\t\tif (signal.rv < read_version) {\n\t\t\t\tsignal.rv = read_version;\n\t\t\t\t// If the signal is accessing the same dependencies in the same\n\t\t\t\t// order as it did last time, increment `skipped_deps`\n\t\t\t\t// rather than updating `new_deps`, which creates GC cost\n\t\t\t\tif (new_deps === null && deps !== null && deps[skipped_deps] === signal) {\n\t\t\t\t\tskipped_deps++;\n\t\t\t\t} else if (new_deps === null) {\n\t\t\t\t\tnew_deps = [signal];\n\t\t\t\t} else if (!skip_reaction || !new_deps.includes(signal)) {\n\t\t\t\t\t// Normally we can push duplicated dependencies to `new_deps`, but if we're inside\n\t\t\t\t\t// an unowned derived because skip_reaction is true, then we need to ensure that\n\t\t\t\t\t// we don't have duplicates\n\t\t\t\t\tnew_deps.push(signal);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if (\n\t\tis_derived &&\n\t\t/** @type {Derived} */ (signal).deps === null &&\n\t\t/** @type {Derived} */ (signal).effects === null\n\t) {\n\t\tvar derived = /** @type {Derived} */ (signal);\n\t\tvar parent = derived.parent;\n\n\t\tif (parent !== null && (parent.f & UNOWNED) === 0) {\n\t\t\t// If the derived is owned by another derived then mark it as unowned\n\t\t\t// as the derived value might have been referenced in a different context\n\t\t\t// since and thus its parent might not be its true owner anymore\n\t\t\tderived.f ^= UNOWNED;\n\t\t}\n\t}\n\n\tif (is_derived) {\n\t\tderived = /** @type {Derived} */ (signal);\n\n\t\tif (check_dirtiness(derived)) {\n\t\t\tupdate_derived(derived);\n\t\t}\n\t}\n\n\tif (\n\t\tDEV &&\n\t\ttracing_mode_flag &&\n\t\t!untracking &&\n\t\ttracing_expressions !== null &&\n\t\tactive_reaction !== null &&\n\t\ttracing_expressions.reaction === active_reaction\n\t) {\n\t\t// Used when mapping state between special blocks like `each`\n\t\tif (signal.trace) {\n\t\t\tsignal.trace();\n\t\t} else {\n\t\t\tvar trace = get_stack('TracedAt');\n\n\t\t\tif (trace) {\n\t\t\t\tvar entry = tracing_expressions.entries.get(signal);\n\n\t\t\t\tif (entry === undefined) {\n\t\t\t\t\tentry = { traces: [] };\n\t\t\t\t\ttracing_expressions.entries.set(signal, entry);\n\t\t\t\t}\n\n\t\t\t\tvar last = entry.traces[entry.traces.length - 1];\n\n\t\t\t\t// traces can be duplicated, e.g. by `snapshot` invoking both\n\t\t\t\t// both `getOwnPropertyDescriptor` and `get` traps at once\n\t\t\t\tif (trace.stack !== last?.stack) {\n\t\t\t\t\tentry.traces.push(trace);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (is_destroying_effect && old_values.has(signal)) {\n\t\treturn old_values.get(signal);\n\t}\n\n\treturn signal.v;\n}\n\n/**\n * Like `get`, but checks for `undefined`. Used for `var` declarations because they can be accessed before being declared\n * @template V\n * @param {Value<V> | undefined} signal\n * @returns {V | undefined}\n */\nexport function safe_get(signal) {\n\treturn signal && get(signal);\n}\n\n/**\n * Capture an array of all the signals that are read when `fn` is called\n * @template T\n * @param {() => T} fn\n */\nfunction capture_signals(fn) {\n\tvar previous_captured_signals = captured_signals;\n\tcaptured_signals = new Set();\n\n\tvar captured = captured_signals;\n\tvar signal;\n\n\ttry {\n\t\tuntrack(fn);\n\t\tif (previous_captured_signals !== null) {\n\t\t\tfor (signal of captured_signals) {\n\t\t\t\tprevious_captured_signals.add(signal);\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tcaptured_signals = previous_captured_signals;\n\t}\n\n\treturn captured;\n}\n\n/**\n * Invokes a function and captures all signals that are read during the invocation,\n * then invalidates them.\n * @param {() => any} fn\n */\nexport function invalidate_inner_signals(fn) {\n\tvar captured = capture_signals(() => untrack(fn));\n\n\tfor (var signal of captured) {\n\t\tinternal_set(signal, signal.v);\n\t}\n}\n\n/**\n * When used inside a [`$derived`](https://svelte.dev/docs/svelte/$derived) or [`$effect`](https://svelte.dev/docs/svelte/$effect),\n * any state read inside `fn` will not be treated as a dependency.\n *\n * ```ts\n * $effect(() => {\n *   // this will run when `data` changes, but not when `time` changes\n *   save(data, {\n *     timestamp: untrack(() => time)\n *   });\n * });\n * ```\n * @template T\n * @param {() => T} fn\n * @returns {T}\n */\nexport function untrack(fn) {\n\tvar previous_untracking = untracking;\n\ttry {\n\t\tuntracking = true;\n\t\treturn fn();\n\t} finally {\n\t\tuntracking = previous_untracking;\n\t}\n}\n\nconst STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);\n\n/**\n * @param {Signal} signal\n * @param {number} status\n * @returns {void}\n */\nexport function set_signal_status(signal, status) {\n\tsignal.f = (signal.f & STATUS_MASK) | status;\n}\n\n/**\n * @param {Record<string, unknown>} obj\n * @param {string[]} keys\n * @returns {Record<string, unknown>}\n */\nexport function exclude_from_object(obj, keys) {\n\t/** @type {Record<string, unknown>} */\n\tvar result = {};\n\n\tfor (var key in obj) {\n\t\tif (!keys.includes(key)) {\n\t\t\tresult[key] = obj[key];\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * Possibly traverse an object and read all its properties so that they're all reactive in case this is `$state`.\n * Does only check first level of an object for performance reasons (heuristic should be good for 99% of all cases).\n * @param {any} value\n * @returns {void}\n */\nexport function deep_read_state(value) {\n\tif (typeof value !== 'object' || !value || value instanceof EventTarget) {\n\t\treturn;\n\t}\n\n\tif (STATE_SYMBOL in value) {\n\t\tdeep_read(value);\n\t} else if (!Array.isArray(value)) {\n\t\tfor (let key in value) {\n\t\t\tconst prop = value[key];\n\t\t\tif (typeof prop === 'object' && prop && STATE_SYMBOL in prop) {\n\t\t\t\tdeep_read(prop);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Deeply traverse an object and read all its properties\n * so that they're all reactive in case this is `$state`\n * @param {any} value\n * @param {Set<any>} visited\n * @returns {void}\n */\nexport function deep_read(value, visited = new Set()) {\n\tif (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t// We don't want to traverse DOM elements\n\t\t!(value instanceof EventTarget) &&\n\t\t!visited.has(value)\n\t) {\n\t\tvisited.add(value);\n\t\t// When working with a possible SvelteDate, this\n\t\t// will ensure we capture changes to it.\n\t\tif (value instanceof Date) {\n\t\t\tvalue.getTime();\n\t\t}\n\t\tfor (let key in value) {\n\t\t\ttry {\n\t\t\t\tdeep_read(value[key], visited);\n\t\t\t} catch (e) {\n\t\t\t\t// continue\n\t\t\t}\n\t\t}\n\t\tconst proto = get_prototype_of(value);\n\t\tif (\n\t\t\tproto !== Object.prototype &&\n\t\t\tproto !== Array.prototype &&\n\t\t\tproto !== Map.prototype &&\n\t\t\tproto !== Set.prototype &&\n\t\t\tproto !== Date.prototype\n\t\t) {\n\t\t\tconst descriptors = get_descriptors(proto);\n\t\t\tfor (let key in descriptors) {\n\t\t\t\tconst get = descriptors[key].get;\n\t\t\t\tif (get) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tget.call(value);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// continue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { Effect, TemplateNode } from '#client' */\n/** @import { TemplateStructure } from './types' */\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport {\n\tcreate_text,\n\tget_first_child,\n\tis_firefox,\n\tcreate_element,\n\tcreate_fragment,\n\tcreate_comment,\n\tset_attribute\n} from './operations.js';\nimport { create_fragment_from_html } from './reconciler.js';\nimport { active_effect } from '../runtime.js';\nimport {\n\tNAMESPACE_MATHML,\n\tNAMESPACE_SVG,\n\tTEMPLATE_FRAGMENT,\n\tTEMPLATE_USE_IMPORT_NODE,\n\tTEMPLATE_USE_MATHML,\n\tTEMPLATE_USE_SVG\n} from '../../../constants.js';\nimport { COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, TEXT_NODE } from '#client/constants';\n\n/**\n * @param {TemplateNode} start\n * @param {TemplateNode | null} end\n */\nexport function assign_nodes(start, end) {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\tif (effect.nodes_start === null) {\n\t\teffect.nodes_start = start;\n\t\teffect.nodes_end = end;\n\t}\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_html(content, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('<!>');\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tnode = create_fragment_from_html(has_start ? content : '<!>' + content);\n\t\t\tif (!is_fragment) node = /** @type {Node} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @param {'svg' | 'math'} ns\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nfunction from_namespace(content, flags, ns = 'svg') {\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('<!>');\n\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar wrapped = `<${ns}>${has_start ? content : '<!>' + content}</${ns}>`;\n\n\t/** @type {Element | DocumentFragment} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (!node) {\n\t\t\tvar fragment = /** @type {DocumentFragment} */ (create_fragment_from_html(wrapped));\n\t\t\tvar root = /** @type {Element} */ (get_first_child(fragment));\n\n\t\t\tif (is_fragment) {\n\t\t\t\tnode = document.createDocumentFragment();\n\t\t\t\twhile (get_first_child(root)) {\n\t\t\t\t\tnode.appendChild(/** @type {Node} */ (get_first_child(root)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnode = /** @type {Element} */ (get_first_child(root));\n\t\t\t}\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (node.cloneNode(true));\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_svg(content, flags) {\n\treturn from_namespace(content, flags, 'svg');\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_mathml(content, flags) {\n\treturn from_namespace(content, flags, 'math');\n}\n\n/**\n * @param {TemplateStructure[]} structure\n * @param {NAMESPACE_SVG | NAMESPACE_MATHML | undefined} [ns]\n */\nfunction fragment_from_tree(structure, ns) {\n\tvar fragment = create_fragment();\n\n\tfor (var item of structure) {\n\t\tif (typeof item === 'string') {\n\t\t\tfragment.append(create_text(item));\n\t\t\tcontinue;\n\t\t}\n\n\t\t// if `preserveComments === true`, comments are represented as `['// <data>']`\n\t\tif (item === undefined || item[0][0] === '/') {\n\t\t\tfragment.append(create_comment(item ? item[0].slice(3) : ''));\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [name, attributes, ...children] = item;\n\n\t\tconst namespace = name === 'svg' ? NAMESPACE_SVG : name === 'math' ? NAMESPACE_MATHML : ns;\n\n\t\tvar element = create_element(name, namespace, attributes?.is);\n\n\t\tfor (var key in attributes) {\n\t\t\tset_attribute(element, key, attributes[key]);\n\t\t}\n\n\t\tif (children.length > 0) {\n\t\t\tvar target =\n\t\t\t\telement.tagName === 'TEMPLATE'\n\t\t\t\t\t? /** @type {HTMLTemplateElement} */ (element).content\n\t\t\t\t\t: element;\n\n\t\t\ttarget.append(\n\t\t\t\tfragment_from_tree(children, element.tagName === 'foreignObject' ? undefined : namespace)\n\t\t\t);\n\t\t}\n\n\t\tfragment.append(element);\n\t}\n\n\treturn fragment;\n}\n\n/**\n * @param {TemplateStructure[]} structure\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_tree(structure, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tconst ns =\n\t\t\t\t(flags & TEMPLATE_USE_SVG) !== 0\n\t\t\t\t\t? NAMESPACE_SVG\n\t\t\t\t\t: (flags & TEMPLATE_USE_MATHML) !== 0\n\t\t\t\t\t\t? NAMESPACE_MATHML\n\t\t\t\t\t\t: undefined;\n\n\t\t\tnode = fragment_from_tree(structure, ns);\n\t\t\tif (!is_fragment) node = /** @type {Node} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {() => Element | DocumentFragment} fn\n */\nexport function with_script(fn) {\n\treturn () => run_scripts(fn());\n}\n\n/**\n * Creating a document fragment from HTML that contains script tags will not execute\n * the scripts. We need to replace the script tags with new ones so that they are executed.\n * @param {Element | DocumentFragment} node\n * @returns {Node | Node[]}\n */\nfunction run_scripts(node) {\n\t// scripts were SSR'd, in which case they will run\n\tif (hydrating) return node;\n\n\tconst is_fragment = node.nodeType === DOCUMENT_FRAGMENT_NODE;\n\tconst scripts =\n\t\t/** @type {HTMLElement} */ (node).tagName === 'SCRIPT'\n\t\t\t? [/** @type {HTMLScriptElement} */ (node)]\n\t\t\t: node.querySelectorAll('script');\n\tconst effect = /** @type {Effect} */ (active_effect);\n\n\tfor (const script of scripts) {\n\t\tconst clone = document.createElement('script');\n\t\tfor (var attribute of script.attributes) {\n\t\t\tclone.setAttribute(attribute.name, attribute.value);\n\t\t}\n\n\t\tclone.textContent = script.textContent;\n\n\t\t// The script has changed - if it's at the edges, the effect now points at dead nodes\n\t\tif (is_fragment ? node.firstChild === script : node === script) {\n\t\t\teffect.nodes_start = clone;\n\t\t}\n\t\tif (is_fragment ? node.lastChild === script : node === script) {\n\t\t\teffect.nodes_end = clone;\n\t\t}\n\n\t\tscript.replaceWith(clone);\n\t}\n\treturn node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {any} value\n */\nexport function text(value = '') {\n\tif (!hydrating) {\n\t\tvar t = create_text(value + '');\n\t\tassign_nodes(t, t);\n\t\treturn t;\n\t}\n\n\tvar node = hydrate_node;\n\n\tif (node.nodeType !== TEXT_NODE) {\n\t\t// if an {expression} is empty during SSR, we need to insert an empty text node\n\t\tnode.before((node = create_text()));\n\t\tset_hydrate_node(node);\n\t}\n\n\tassign_nodes(node, node);\n\treturn node;\n}\n\nexport function comment() {\n\t// we're not delegating to `template` here for performance reasons\n\tif (hydrating) {\n\t\tassign_nodes(hydrate_node, null);\n\t\treturn hydrate_node;\n\t}\n\n\tvar frag = document.createDocumentFragment();\n\tvar start = document.createComment('');\n\tvar anchor = create_text();\n\tfrag.append(start, anchor);\n\n\tassign_nodes(start, anchor);\n\n\treturn frag;\n}\n\n/**\n * Assign the created (or in hydration mode, traversed) dom elements to the current block\n * and insert the elements into the dom (in client mode).\n * @param {Text | Comment | Element} anchor\n * @param {DocumentFragment | Element} dom\n */\nexport function append(anchor, dom) {\n\tif (hydrating) {\n\t\t/** @type {Effect} */ (active_effect).nodes_end = hydrate_node;\n\t\thydrate_next();\n\t\treturn;\n\t}\n\n\tif (anchor === null) {\n\t\t// edge case — void `<svelte:element>` with content\n\t\treturn;\n\t}\n\n\tanchor.before(/** @type {Node} */ (dom));\n}\n\n/**\n * Create (or hydrate) an unique UID for the component instance.\n */\nexport function props_id() {\n\tif (\n\t\thydrating &&\n\t\thydrate_node &&\n\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\thydrate_node.textContent?.startsWith(`#`)\n\t) {\n\t\tconst id = hydrate_node.textContent.substring(1);\n\t\thydrate_next();\n\t\treturn id;\n\t}\n\n\t// @ts-expect-error This way we ensure the id is unique even across Svelte runtimes\n\t(window.__svelte ??= {}).uid ??= 1;\n\n\t// @ts-expect-error\n\treturn `c${window.__svelte.uid++}`;\n}\n","/** @import { ComponentContext, ComponentContextLegacy } from '#client' */\n/** @import { EventDispatcher } from './index.js' */\n/** @import { NotFunction } from './internal/types.js' */\nimport { active_reaction, untrack } from './internal/client/runtime.js';\nimport { is_array } from './internal/shared/utils.js';\nimport { user_effect } from './internal/client/index.js';\nimport * as e from './internal/client/errors.js';\nimport { lifecycle_outside_component } from './internal/shared/errors.js';\nimport { legacy_mode_flag } from './internal/flags/index.js';\nimport { component_context } from './internal/client/context.js';\nimport { DEV } from 'esm-env';\n\nif (DEV) {\n\t/**\n\t * @param {string} rune\n\t */\n\tfunction throw_rune_error(rune) {\n\t\tif (!(rune in globalThis)) {\n\t\t\t// TODO if people start adjusting the \"this can contain runes\" config through v-p-s more, adjust this message\n\t\t\t/** @type {any} */\n\t\t\tlet value; // let's hope noone modifies this global, but belts and braces\n\t\t\tObject.defineProperty(globalThis, rune, {\n\t\t\t\tconfigurable: true,\n\t\t\t\t// eslint-disable-next-line getter-return\n\t\t\t\tget: () => {\n\t\t\t\t\tif (value !== undefined) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\n\t\t\t\t\te.rune_outside_svelte(rune);\n\t\t\t\t},\n\t\t\t\tset: (v) => {\n\t\t\t\t\tvalue = v;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tthrow_rune_error('$state');\n\tthrow_rune_error('$effect');\n\tthrow_rune_error('$derived');\n\tthrow_rune_error('$inspect');\n\tthrow_rune_error('$props');\n\tthrow_rune_error('$bindable');\n}\n\n/**\n * Returns an [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that aborts when the current [derived](https://svelte.dev/docs/svelte/$derived) or [effect](https://svelte.dev/docs/svelte/$effect) re-runs or is destroyed.\n *\n * Must be called while a derived or effect is running.\n *\n * ```svelte\n * <script>\n * \timport { getAbortSignal } from 'svelte';\n *\n * \tlet { id } = $props();\n *\n * \tasync function getData(id) {\n * \t\tconst response = await fetch(`/items/${id}`, {\n * \t\t\tsignal: getAbortSignal()\n * \t\t});\n *\n * \t\treturn await response.json();\n * \t}\n *\n * \tconst data = $derived(await getData(id));\n * </script>\n * ```\n */\nexport function getAbortSignal() {\n\tif (active_reaction === null) {\n\t\te.get_abort_signal_outside_reaction();\n\t}\n\n\treturn (active_reaction.ac ??= new AbortController()).signal;\n}\n\n/**\n * `onMount`, like [`$effect`](https://svelte.dev/docs/svelte/$effect), schedules a function to run as soon as the component has been mounted to the DOM.\n * Unlike `$effect`, the provided function only runs once.\n *\n * It must be called during the component's initialisation (but doesn't need to live _inside_ the component;\n * it can be called from an external module). If a function is returned _synchronously_ from `onMount`,\n * it will be called when the component is unmounted.\n *\n * `onMount` functions do not run during [server-side rendering](https://svelte.dev/docs/svelte/svelte-server#render).\n *\n * @template T\n * @param {() => NotFunction<T> | Promise<NotFunction<T>> | (() => any)} fn\n * @returns {void}\n */\nexport function onMount(fn) {\n\tif (component_context === null) {\n\t\tlifecycle_outside_component('onMount');\n\t}\n\n\tif (legacy_mode_flag && component_context.l !== null) {\n\t\tinit_update_callbacks(component_context).m.push(fn);\n\t} else {\n\t\tuser_effect(() => {\n\t\t\tconst cleanup = untrack(fn);\n\t\t\tif (typeof cleanup === 'function') return /** @type {() => void} */ (cleanup);\n\t\t});\n\t}\n}\n\n/**\n * Schedules a callback to run immediately before the component is unmounted.\n *\n * Out of `onMount`, `beforeUpdate`, `afterUpdate` and `onDestroy`, this is the\n * only one that runs inside a server-side component.\n *\n * @param {() => any} fn\n * @returns {void}\n */\nexport function onDestroy(fn) {\n\tif (component_context === null) {\n\t\tlifecycle_outside_component('onDestroy');\n\t}\n\n\tonMount(() => () => untrack(fn));\n}\n\n/**\n * @template [T=any]\n * @param {string} type\n * @param {T} [detail]\n * @param {any}params_0\n * @returns {CustomEvent<T>}\n */\nfunction create_custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n\treturn new CustomEvent(type, { detail, bubbles, cancelable });\n}\n\n/**\n * Creates an event dispatcher that can be used to dispatch [component events](https://svelte.dev/docs/svelte/legacy-on#Component-events).\n * Event dispatchers are functions that can take two arguments: `name` and `detail`.\n *\n * Component events created with `createEventDispatcher` create a\n * [CustomEvent](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent).\n * These events do not [bubble](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#Event_bubbling_and_capture).\n * The `detail` argument corresponds to the [CustomEvent.detail](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/detail)\n * property and can contain any type of data.\n *\n * The event dispatcher can be typed to narrow the allowed event names and the type of the `detail` argument:\n * ```ts\n * const dispatch = createEventDispatcher<{\n *  loaded: null; // does not take a detail argument\n *  change: string; // takes a detail argument of type string, which is required\n *  optional: number | null; // takes an optional detail argument of type number\n * }>();\n * ```\n *\n * @deprecated Use callback props and/or the `$host()` rune instead — see [migration guide](https://svelte.dev/docs/svelte/v5-migration-guide#Event-changes-Component-events)\n * @template {Record<string, any>} [EventMap = any]\n * @returns {EventDispatcher<EventMap>}\n */\nexport function createEventDispatcher() {\n\tconst active_component_context = component_context;\n\tif (active_component_context === null) {\n\t\tlifecycle_outside_component('createEventDispatcher');\n\t}\n\n\treturn (type, detail, options) => {\n\t\tconst events = /** @type {Record<string, Function | Function[]>} */ (\n\t\t\tactive_component_context.s.$$events\n\t\t)?.[/** @type {any} */ (type)];\n\n\t\tif (events) {\n\t\t\tconst callbacks = is_array(events) ? events.slice() : [events];\n\t\t\t// TODO are there situations where events could be dispatched\n\t\t\t// in a server (non-DOM) environment?\n\t\t\tconst event = create_custom_event(/** @type {string} */ (type), detail, options);\n\t\t\tfor (const fn of callbacks) {\n\t\t\t\tfn.call(active_component_context.x, event);\n\t\t\t}\n\t\t\treturn !event.defaultPrevented;\n\t\t}\n\n\t\treturn true;\n\t};\n}\n\n// TODO mark beforeUpdate and afterUpdate as deprecated in Svelte 6\n\n/**\n * Schedules a callback to run immediately before the component is updated after any state change.\n *\n * The first time the callback runs will be before the initial `onMount`.\n *\n * In runes mode use `$effect.pre` instead.\n *\n * @deprecated Use [`$effect.pre`](https://svelte.dev/docs/svelte/$effect#$effect.pre) instead\n * @param {() => void} fn\n * @returns {void}\n */\nexport function beforeUpdate(fn) {\n\tif (component_context === null) {\n\t\tlifecycle_outside_component('beforeUpdate');\n\t}\n\n\tif (component_context.l === null) {\n\t\te.lifecycle_legacy_only('beforeUpdate');\n\t}\n\n\tinit_update_callbacks(component_context).b.push(fn);\n}\n\n/**\n * Schedules a callback to run immediately after the component has been updated.\n *\n * The first time the callback runs will be after the initial `onMount`.\n *\n * In runes mode use `$effect` instead.\n *\n * @deprecated Use [`$effect`](https://svelte.dev/docs/svelte/$effect) instead\n * @param {() => void} fn\n * @returns {void}\n */\nexport function afterUpdate(fn) {\n\tif (component_context === null) {\n\t\tlifecycle_outside_component('afterUpdate');\n\t}\n\n\tif (component_context.l === null) {\n\t\te.lifecycle_legacy_only('afterUpdate');\n\t}\n\n\tinit_update_callbacks(component_context).a.push(fn);\n}\n\n/**\n * Legacy-mode: Init callbacks object for onMount/beforeUpdate/afterUpdate\n * @param {ComponentContext} context\n */\nfunction init_update_callbacks(context) {\n\tvar l = /** @type {ComponentContextLegacy} */ (context).l;\n\treturn (l.u ??= { a: [], b: [], m: [] });\n}\n\nexport { flushSync } from './internal/client/runtime.js';\nexport { getContext, getAllContexts, hasContext, setContext } from './internal/client/context.js';\nexport { hydrate, mount, unmount } from './internal/client/render.js';\nexport { tick, untrack } from './internal/client/runtime.js';\nexport { createRawSnippet } from './internal/client/dom/blocks/snippet.js';\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { EFFECT_TRANSPARENT } from '#client/constants';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tremove_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport { block, branch, pause_effect, resume_effect } from '../../reactivity/effects.js';\nimport { HYDRATION_START, HYDRATION_START_ELSE, UNINITIALIZED } from '../../../../constants.js';\n\n/**\n * @param {TemplateNode} node\n * @param {(branch: (fn: (anchor: Node, elseif?: [number,number]) => void, flag?: boolean) => void) => void} fn\n * @param {[number,number]} [elseif]\n * @returns {void}\n */\nexport function if_block(node, fn, [root_index, hydrate_index] = [0, 0]) {\n\tif (hydrating && root_index === 0) {\n\t\thydrate_next();\n\t}\n\n\tvar anchor = node;\n\n\t/** @type {Effect | null} */\n\tvar consequent_effect = null;\n\n\t/** @type {Effect | null} */\n\tvar alternate_effect = null;\n\n\t/** @type {UNINITIALIZED | boolean | null} */\n\tvar condition = UNINITIALIZED;\n\n\tvar flags = root_index > 0 ? EFFECT_TRANSPARENT : 0;\n\n\tvar has_branch = false;\n\n\tconst set_branch = (\n\t\t/** @type {(anchor: Node, elseif?: [number,number]) => void} */ fn,\n\t\tflag = true\n\t) => {\n\t\thas_branch = true;\n\t\tupdate_branch(flag, fn);\n\t};\n\n\tconst update_branch = (\n\t\t/** @type {boolean | null} */ new_condition,\n\t\t/** @type {null | ((anchor: Node, elseif?: [number,number]) => void)} */ fn\n\t) => {\n\t\tif (condition === (condition = new_condition)) return;\n\n\t\t/** Whether or not there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating && hydrate_index !== -1) {\n\t\t\tif (root_index === 0) {\n\t\t\t\tconst data = read_hydration_instruction(anchor);\n\n\t\t\t\tif (data === HYDRATION_START) {\n\t\t\t\t\thydrate_index = 0;\n\t\t\t\t} else if (data === HYDRATION_START_ELSE) {\n\t\t\t\t\thydrate_index = Infinity;\n\t\t\t\t} else {\n\t\t\t\t\thydrate_index = parseInt(data.substring(1));\n\t\t\t\t\tif (hydrate_index !== hydrate_index) {\n\t\t\t\t\t\t// if hydrate_index is NaN\n\t\t\t\t\t\t// we set an invalid index to force mismatch\n\t\t\t\t\t\thydrate_index = condition ? Infinity : -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst is_else = hydrate_index > root_index;\n\n\t\t\tif (!!condition === is_else) {\n\t\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh.\n\t\t\t\t// This could happen with `{#if browser}...{/if}`, for example\n\t\t\t\tanchor = remove_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t\thydrate_index = -1; // ignore hydration in next else if\n\t\t\t}\n\t\t}\n\n\t\tif (condition) {\n\t\t\tif (consequent_effect) {\n\t\t\t\tresume_effect(consequent_effect);\n\t\t\t} else if (fn) {\n\t\t\t\tconsequent_effect = branch(() => fn(anchor));\n\t\t\t}\n\n\t\t\tif (alternate_effect) {\n\t\t\t\tpause_effect(alternate_effect, () => {\n\t\t\t\t\talternate_effect = null;\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tif (alternate_effect) {\n\t\t\t\tresume_effect(alternate_effect);\n\t\t\t} else if (fn) {\n\t\t\t\talternate_effect = branch(() => fn(anchor, [root_index + 1, hydrate_index]));\n\t\t\t}\n\n\t\t\tif (consequent_effect) {\n\t\t\t\tpause_effect(consequent_effect, () => {\n\t\t\t\t\tconsequent_effect = null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\t};\n\n\tblock(() => {\n\t\thas_branch = false;\n\t\tfn(set_branch);\n\t\tif (!has_branch) {\n\t\t\tupdate_branch(null, null);\n\t\t}\n\t}, flags);\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n","import { hydrate_next, hydrating } from '../hydration.js';\n\n/**\n * @param {Comment} anchor\n * @param {Record<string, any>} $$props\n * @param {string} name\n * @param {Record<string, unknown>} slot_props\n * @param {null | ((anchor: Comment) => void)} fallback_fn\n */\nexport function slot(anchor, $$props, name, slot_props, fallback_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar slot_fn = $$props.$$slots?.[name];\n\t// Interop: Can use snippets to fill slots\n\tvar is_interop = false;\n\tif (slot_fn === true) {\n\t\tslot_fn = $$props[name === 'default' ? 'children' : name];\n\t\tis_interop = true;\n\t}\n\n\tif (slot_fn === undefined) {\n\t\tif (fallback_fn !== null) {\n\t\t\tfallback_fn(anchor);\n\t\t}\n\t} else {\n\t\tslot_fn(anchor, is_interop ? () => slot_props : slot_props);\n\t}\n}\n\n/**\n * @param {Record<string, any>} props\n * @returns {Record<string, boolean>}\n */\nexport function sanitize_slots(props) {\n\t/** @type {Record<string, boolean>} */\n\tconst sanitized = {};\n\tif (props.children) sanitized.default = true;\n\tfor (const key in props.$$slots) {\n\t\tsanitized[key] = true;\n\t}\n\treturn sanitized;\n}\n","/** @import { ComponentContextLegacy } from '#client' */\nimport { run, run_all } from '../../../shared/utils.js';\nimport { component_context } from '../../context.js';\nimport { derived } from '../../reactivity/deriveds.js';\nimport { user_pre_effect, user_effect } from '../../reactivity/effects.js';\nimport { deep_read_state, get, untrack } from '../../runtime.js';\n\n/**\n * Legacy-mode only: Call `onMount` callbacks and set up `beforeUpdate`/`afterUpdate` effects\n * @param {boolean} [immutable]\n */\nexport function init(immutable = false) {\n\tconst context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\tconst callbacks = context.l.u;\n\tif (!callbacks) return;\n\n\tlet props = () => deep_read_state(context.s);\n\n\tif (immutable) {\n\t\tlet version = 0;\n\t\tlet prev = /** @type {Record<string, any>} */ ({});\n\n\t\t// In legacy immutable mode, before/afterUpdate only fire if the object identity of a prop changes\n\t\tconst d = derived(() => {\n\t\t\tlet changed = false;\n\t\t\tconst props = context.s;\n\t\t\tfor (const key in props) {\n\t\t\t\tif (props[key] !== prev[key]) {\n\t\t\t\t\tprev[key] = props[key];\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (changed) version++;\n\t\t\treturn version;\n\t\t});\n\n\t\tprops = () => get(d);\n\t}\n\n\t// beforeUpdate\n\tif (callbacks.b.length) {\n\t\tuser_pre_effect(() => {\n\t\t\tobserve_all(context, props);\n\t\t\trun_all(callbacks.b);\n\t\t});\n\t}\n\n\t// onMount (must run before afterUpdate)\n\tuser_effect(() => {\n\t\tconst fns = untrack(() => callbacks.m.map(run));\n\t\treturn () => {\n\t\t\tfor (const fn of fns) {\n\t\t\t\tif (typeof fn === 'function') {\n\t\t\t\t\tfn();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\n\t// afterUpdate\n\tif (callbacks.a.length) {\n\t\tuser_effect(() => {\n\t\t\tobserve_all(context, props);\n\t\t\trun_all(callbacks.a);\n\t\t});\n\t}\n}\n\n/**\n * Invoke the getter of all signals associated with a component\n * so they can be registered to the effect this function is called in.\n * @param {ComponentContextLegacy} context\n * @param {(() => void)} props\n */\nfunction observe_all(context, props) {\n\tif (context.l.s) {\n\t\tfor (const signal of context.l.s) get(signal);\n\t}\n\n\tprops();\n}\n","/** @import { StoreReferencesContainer } from '#client' */\n/** @import { Store } from '#shared' */\nimport { subscribe_to_store } from '../../../store/utils.js';\nimport { get as get_store } from '../../../store/shared/index.js';\nimport { define_property, noop } from '../../shared/utils.js';\nimport { get } from '../runtime.js';\nimport { teardown } from './effects.js';\nimport { mutable_source, set } from './sources.js';\n\n/**\n * Whether or not the prop currently being read is a store binding, as in\n * `<Child bind:x={$y} />`. If it is, we treat the prop as mutable even in\n * runes mode, and skip `binding_property_non_reactive` validation\n */\nlet is_store_binding = false;\n\nlet IS_UNMOUNTED = Symbol();\n\n/**\n * Gets the current value of a store. If the store isn't subscribed to yet, it will create a proxy\n * signal that will be updated when the store is. The store references container is needed to\n * track reassignments to stores and to track the correct component context.\n * @template V\n * @param {Store<V> | null | undefined} store\n * @param {string} store_name\n * @param {StoreReferencesContainer} stores\n * @returns {V}\n */\nexport function store_get(store, store_name, stores) {\n\tconst entry = (stores[store_name] ??= {\n\t\tstore: null,\n\t\tsource: mutable_source(undefined),\n\t\tunsubscribe: noop\n\t});\n\n\t// if the component that setup this is already unmounted we don't want to register a subscription\n\tif (entry.store !== store && !(IS_UNMOUNTED in stores)) {\n\t\tentry.unsubscribe();\n\t\tentry.store = store ?? null;\n\n\t\tif (store == null) {\n\t\t\tentry.source.v = undefined; // see synchronous callback comment below\n\t\t\tentry.unsubscribe = noop;\n\t\t} else {\n\t\t\tvar is_synchronous_callback = true;\n\n\t\t\tentry.unsubscribe = subscribe_to_store(store, (v) => {\n\t\t\t\tif (is_synchronous_callback) {\n\t\t\t\t\t// If the first updates to the store value (possibly multiple of them) are synchronously\n\t\t\t\t\t// inside a derived, we will hit the `state_unsafe_mutation` error if we `set` the value\n\t\t\t\t\tentry.source.v = v;\n\t\t\t\t} else {\n\t\t\t\t\tset(entry.source, v);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tis_synchronous_callback = false;\n\t\t}\n\t}\n\n\t// if the component that setup this stores is already unmounted the source will be out of sync\n\t// so we just use the `get` for the stores, less performant but it avoids to create a memory leak\n\t// and it will keep the value consistent\n\tif (store && IS_UNMOUNTED in stores) {\n\t\treturn get_store(store);\n\t}\n\n\treturn get(entry.source);\n}\n\n/**\n * Unsubscribe from a store if it's not the same as the one in the store references container.\n * We need this in addition to `store_get` because someone could unsubscribe from a store but\n * then never subscribe to the new one (if any), causing the subscription to stay open wrongfully.\n * @param {Store<any> | null | undefined} store\n * @param {string} store_name\n * @param {StoreReferencesContainer} stores\n */\nexport function store_unsub(store, store_name, stores) {\n\t/** @type {StoreReferencesContainer[''] | undefined} */\n\tlet entry = stores[store_name];\n\n\tif (entry && entry.store !== store) {\n\t\t// Don't reset store yet, so that store_get above can resubscribe to new store if necessary\n\t\tentry.unsubscribe();\n\t\tentry.unsubscribe = noop;\n\t}\n\n\treturn store;\n}\n\n/**\n * Sets the new value of a store and returns that value.\n * @template V\n * @param {Store<V>} store\n * @param {V} value\n * @returns {V}\n */\nexport function store_set(store, value) {\n\tstore.set(value);\n\treturn value;\n}\n\n/**\n * @param {StoreReferencesContainer} stores\n * @param {string} store_name\n */\nexport function invalidate_store(stores, store_name) {\n\tvar entry = stores[store_name];\n\tif (entry.store !== null) {\n\t\tstore_set(entry.store, entry.source.v);\n\t}\n}\n\n/**\n * Unsubscribes from all auto-subscribed stores on destroy\n * @returns {[StoreReferencesContainer, ()=>void]}\n */\nexport function setup_stores() {\n\t/** @type {StoreReferencesContainer} */\n\tconst stores = {};\n\n\tfunction cleanup() {\n\t\tteardown(() => {\n\t\t\tfor (var store_name in stores) {\n\t\t\t\tconst ref = stores[store_name];\n\t\t\t\tref.unsubscribe();\n\t\t\t}\n\t\t\tdefine_property(stores, IS_UNMOUNTED, {\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: true\n\t\t\t});\n\t\t});\n\t}\n\n\treturn [stores, cleanup];\n}\n\n/**\n * Updates a store with a new value.\n * @param {Store<V>} store  the store to update\n * @param {any} expression  the expression that mutates the store\n * @param {V} new_value  the new store value\n * @template V\n */\nexport function store_mutate(store, expression, new_value) {\n\tstore.set(new_value);\n\treturn expression;\n}\n\n/**\n * @param {Store<number>} store\n * @param {number} store_value\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_store(store, store_value, d = 1) {\n\tstore.set(store_value + d);\n\treturn store_value;\n}\n\n/**\n * @param {Store<number>} store\n * @param {number} store_value\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_pre_store(store, store_value, d = 1) {\n\tconst value = store_value + d;\n\tstore.set(value);\n\treturn value;\n}\n\n/**\n * Called inside prop getters to communicate that the prop is a store binding\n */\nexport function mark_store_binding() {\n\tis_store_binding = true;\n}\n\n/**\n * Returns a tuple that indicates whether `fn()` reads a prop that is a store binding.\n * Used to prevent `binding_property_non_reactive` validation false positives and\n * ensure that these props are treated as mutable even in runes mode\n * @template T\n * @param {() => T} fn\n * @returns {[T, boolean]}\n */\nexport function capture_store_binding(fn) {\n\tvar previous_is_store_binding = is_store_binding;\n\n\ttry {\n\t\tis_store_binding = false;\n\t\treturn [fn(), is_store_binding];\n\t} finally {\n\t\tis_store_binding = previous_is_store_binding;\n\t}\n}\n","/** @import { Derived, Source } from './types.js' */\nimport { DEV } from 'esm-env';\nimport {\n\tPROPS_IS_BINDABLE,\n\tPROPS_IS_IMMUTABLE,\n\tPROPS_IS_LAZY_INITIAL,\n\tPROPS_IS_RUNES,\n\tPROPS_IS_UPDATED\n} from '../../../constants.js';\nimport { get_descriptor, is_function } from '../../shared/utils.js';\nimport { set, source, update } from './sources.js';\nimport { derived, derived_safe_equal } from './deriveds.js';\nimport { get, untrack } from '../runtime.js';\nimport * as e from '../errors.js';\nimport { LEGACY_PROPS, STATE_SYMBOL } from '#client/constants';\nimport { proxy } from '../proxy.js';\nimport { capture_store_binding } from './store.js';\nimport { legacy_mode_flag } from '../../flags/index.js';\n\n/**\n * @param {((value?: number) => number)} fn\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_prop(fn, d = 1) {\n\tconst value = fn();\n\tfn(value + d);\n\treturn value;\n}\n\n/**\n * @param {((value?: number) => number)} fn\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_pre_prop(fn, d = 1) {\n\tconst value = fn() + d;\n\tfn(value);\n\treturn value;\n}\n\n/**\n * The proxy handler for rest props (i.e. `const { x, ...rest } = $props()`).\n * Is passed the full `$$props` object and excludes the named props.\n * @type {ProxyHandler<{ props: Record<string | symbol, unknown>, exclude: Array<string | symbol>, name?: string }>}}\n */\nconst rest_props_handler = {\n\tget(target, key) {\n\t\tif (target.exclude.includes(key)) return;\n\t\treturn target.props[key];\n\t},\n\tset(target, key) {\n\t\tif (DEV) {\n\t\t\t// TODO should this happen in prod too?\n\t\t\te.props_rest_readonly(`${target.name}.${String(key)}`);\n\t\t}\n\n\t\treturn false;\n\t},\n\tgetOwnPropertyDescriptor(target, key) {\n\t\tif (target.exclude.includes(key)) return;\n\t\tif (key in target.props) {\n\t\t\treturn {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: target.props[key]\n\t\t\t};\n\t\t}\n\t},\n\thas(target, key) {\n\t\tif (target.exclude.includes(key)) return false;\n\t\treturn key in target.props;\n\t},\n\townKeys(target) {\n\t\treturn Reflect.ownKeys(target.props).filter((key) => !target.exclude.includes(key));\n\t}\n};\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string[]} exclude\n * @param {string} [name]\n * @returns {Record<string, unknown>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function rest_props(props, exclude, name) {\n\treturn new Proxy(\n\t\tDEV ? { props, exclude, name, other: {}, to_proxy: [] } : { props, exclude },\n\t\trest_props_handler\n\t);\n}\n\n/**\n * The proxy handler for legacy $$restProps and $$props\n * @type {ProxyHandler<{ props: Record<string | symbol, unknown>, exclude: Array<string | symbol>, special: Record<string | symbol, (v?: unknown) => unknown>, version: Source<number> }>}}\n */\nconst legacy_rest_props_handler = {\n\tget(target, key) {\n\t\tif (target.exclude.includes(key)) return;\n\t\tget(target.version);\n\t\treturn key in target.special ? target.special[key]() : target.props[key];\n\t},\n\tset(target, key, value) {\n\t\tif (!(key in target.special)) {\n\t\t\t// Handle props that can temporarily get out of sync with the parent\n\t\t\t/** @type {Record<string, (v?: unknown) => unknown>} */\n\t\t\ttarget.special[key] = prop(\n\t\t\t\t{\n\t\t\t\t\tget [key]() {\n\t\t\t\t\t\treturn target.props[key];\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t/** @type {string} */ (key),\n\t\t\t\tPROPS_IS_UPDATED\n\t\t\t);\n\t\t}\n\n\t\ttarget.special[key](value);\n\t\tupdate(target.version); // $$props is coarse-grained: when $$props.x is updated, usages of $$props.y etc are also rerun\n\t\treturn true;\n\t},\n\tgetOwnPropertyDescriptor(target, key) {\n\t\tif (target.exclude.includes(key)) return;\n\t\tif (key in target.props) {\n\t\t\treturn {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: target.props[key]\n\t\t\t};\n\t\t}\n\t},\n\tdeleteProperty(target, key) {\n\t\t// Svelte 4 allowed for deletions on $$restProps\n\t\tif (target.exclude.includes(key)) return true;\n\t\ttarget.exclude.push(key);\n\t\tupdate(target.version);\n\t\treturn true;\n\t},\n\thas(target, key) {\n\t\tif (target.exclude.includes(key)) return false;\n\t\treturn key in target.props;\n\t},\n\townKeys(target) {\n\t\treturn Reflect.ownKeys(target.props).filter((key) => !target.exclude.includes(key));\n\t}\n};\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string[]} exclude\n * @returns {Record<string, unknown>}\n */\nexport function legacy_rest_props(props, exclude) {\n\treturn new Proxy({ props, exclude, special: {}, version: source(0) }, legacy_rest_props_handler);\n}\n\n/**\n * The proxy handler for spread props. Handles the incoming array of props\n * that looks like `() => { dynamic: props }, { static: prop }, ..` and wraps\n * them so that the whole thing is passed to the component as the `$$props` argument.\n * @template {Record<string | symbol, unknown>} T\n * @type {ProxyHandler<{ props: Array<T | (() => T)> }>}}\n */\nconst spread_props_handler = {\n\tget(target, key) {\n\t\tlet i = target.props.length;\n\t\twhile (i--) {\n\t\t\tlet p = target.props[i];\n\t\t\tif (is_function(p)) p = p();\n\t\t\tif (typeof p === 'object' && p !== null && key in p) return p[key];\n\t\t}\n\t},\n\tset(target, key, value) {\n\t\tlet i = target.props.length;\n\t\twhile (i--) {\n\t\t\tlet p = target.props[i];\n\t\t\tif (is_function(p)) p = p();\n\t\t\tconst desc = get_descriptor(p, key);\n\t\t\tif (desc && desc.set) {\n\t\t\t\tdesc.set(value);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n\tgetOwnPropertyDescriptor(target, key) {\n\t\tlet i = target.props.length;\n\t\twhile (i--) {\n\t\t\tlet p = target.props[i];\n\t\t\tif (is_function(p)) p = p();\n\t\t\tif (typeof p === 'object' && p !== null && key in p) {\n\t\t\t\tconst descriptor = get_descriptor(p, key);\n\t\t\t\tif (descriptor && !descriptor.configurable) {\n\t\t\t\t\t// Prevent a \"Non-configurability Report Error\": The target is an array, it does\n\t\t\t\t\t// not actually contain this property. If it is now described as non-configurable,\n\t\t\t\t\t// the proxy throws a validation error. Setting it to true avoids that.\n\t\t\t\t\tdescriptor.configurable = true;\n\t\t\t\t}\n\t\t\t\treturn descriptor;\n\t\t\t}\n\t\t}\n\t},\n\thas(target, key) {\n\t\t// To prevent a false positive `is_entry_props` in the `prop` function\n\t\tif (key === STATE_SYMBOL || key === LEGACY_PROPS) return false;\n\n\t\tfor (let p of target.props) {\n\t\t\tif (is_function(p)) p = p();\n\t\t\tif (p != null && key in p) return true;\n\t\t}\n\n\t\treturn false;\n\t},\n\townKeys(target) {\n\t\t/** @type {Array<string | symbol>} */\n\t\tconst keys = [];\n\n\t\tfor (let p of target.props) {\n\t\t\tif (is_function(p)) p = p();\n\t\t\tif (!p) continue;\n\n\t\t\tfor (const key in p) {\n\t\t\t\tif (!keys.includes(key)) keys.push(key);\n\t\t\t}\n\n\t\t\tfor (const key of Object.getOwnPropertySymbols(p)) {\n\t\t\t\tif (!keys.includes(key)) keys.push(key);\n\t\t\t}\n\t\t}\n\n\t\treturn keys;\n\t}\n};\n\n/**\n * @param {Array<Record<string, unknown> | (() => Record<string, unknown>)>} props\n * @returns {any}\n */\nexport function spread_props(...props) {\n\treturn new Proxy({ props }, spread_props_handler);\n}\n\n/**\n * @param {Derived} current_value\n * @returns {boolean}\n */\nfunction has_destroyed_component_ctx(current_value) {\n\treturn current_value.ctx?.d ?? false;\n}\n\n/**\n * This function is responsible for synchronizing a possibly bound prop with the inner component state.\n * It is used whenever the compiler sees that the component writes to the prop, or when it has a default prop_value.\n * @template V\n * @param {Record<string, unknown>} props\n * @param {string} key\n * @param {number} flags\n * @param {V | (() => V)} [fallback]\n * @returns {(() => V | ((arg: V) => V) | ((arg: V, mutation: boolean) => V))}\n */\nexport function prop(props, key, flags, fallback) {\n\tvar runes = !legacy_mode_flag || (flags & PROPS_IS_RUNES) !== 0;\n\tvar bindable = (flags & PROPS_IS_BINDABLE) !== 0;\n\tvar lazy = (flags & PROPS_IS_LAZY_INITIAL) !== 0;\n\n\tvar fallback_value = /** @type {V} */ (fallback);\n\tvar fallback_dirty = true;\n\n\tvar get_fallback = () => {\n\t\tif (fallback_dirty) {\n\t\t\tfallback_dirty = false;\n\n\t\t\tfallback_value = lazy\n\t\t\t\t? untrack(/** @type {() => V} */ (fallback))\n\t\t\t\t: /** @type {V} */ (fallback);\n\t\t}\n\n\t\treturn fallback_value;\n\t};\n\n\t/** @type {((v: V) => void) | undefined} */\n\tvar setter;\n\n\tif (bindable) {\n\t\t// Can be the case when someone does `mount(Component, props)` with `let props = $state({...})`\n\t\t// or `createClassComponent(Component, props)`\n\t\tvar is_entry_props = STATE_SYMBOL in props || LEGACY_PROPS in props;\n\n\t\tsetter =\n\t\t\tget_descriptor(props, key)?.set ??\n\t\t\t(is_entry_props && key in props ? (v) => (props[key] = v) : undefined);\n\t}\n\n\tvar initial_value;\n\tvar is_store_sub = false;\n\n\tif (bindable) {\n\t\t[initial_value, is_store_sub] = capture_store_binding(() => /** @type {V} */ (props[key]));\n\t} else {\n\t\tinitial_value = /** @type {V} */ (props[key]);\n\t}\n\n\tif (initial_value === undefined && fallback !== undefined) {\n\t\tinitial_value = get_fallback();\n\n\t\tif (setter) {\n\t\t\tif (runes) e.props_invalid_value(key);\n\t\t\tsetter(initial_value);\n\t\t}\n\t}\n\n\t/** @type {() => V} */\n\tvar getter;\n\n\tif (runes) {\n\t\tgetter = () => {\n\t\t\tvar value = /** @type {V} */ (props[key]);\n\t\t\tif (value === undefined) return get_fallback();\n\t\t\tfallback_dirty = true;\n\t\t\treturn value;\n\t\t};\n\t} else {\n\t\tgetter = () => {\n\t\t\tvar value = /** @type {V} */ (props[key]);\n\n\t\t\tif (value !== undefined) {\n\t\t\t\t// in legacy mode, we don't revert to the fallback value\n\t\t\t\t// if the prop goes from defined to undefined. The easiest\n\t\t\t\t// way to model this is to make the fallback undefined\n\t\t\t\t// as soon as the prop has a value\n\t\t\t\tfallback_value = /** @type {V} */ (undefined);\n\t\t\t}\n\n\t\t\treturn value === undefined ? fallback_value : value;\n\t\t};\n\t}\n\n\t// prop is never written to — we only need a getter\n\tif (runes && (flags & PROPS_IS_UPDATED) === 0) {\n\t\treturn getter;\n\t}\n\n\t// prop is written to, but the parent component had `bind:foo` which\n\t// means we can just call `$$props.foo = value` directly\n\tif (setter) {\n\t\tvar legacy_parent = props.$$legacy;\n\n\t\treturn function (/** @type {any} */ value, /** @type {boolean} */ mutation) {\n\t\t\tif (arguments.length > 0) {\n\t\t\t\t// We don't want to notify if the value was mutated and the parent is in runes mode.\n\t\t\t\t// In that case the state proxy (if it exists) should take care of the notification.\n\t\t\t\t// If the parent is not in runes mode, we need to notify on mutation, too, that the prop\n\t\t\t\t// has changed because the parent will not be able to detect the change otherwise.\n\t\t\t\tif (!runes || !mutation || legacy_parent || is_store_sub) {\n\t\t\t\t\t/** @type {Function} */ (setter)(mutation ? getter() : value);\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\treturn getter();\n\t\t};\n\t}\n\n\t// Either prop is written to, but there's no binding, which means we\n\t// create a derived that we can write to locally.\n\t// Or we are in legacy mode where we always create a derived to replicate that\n\t// Svelte 4 did not trigger updates when a primitive value was updated to the same value.\n\tvar d = ((flags & PROPS_IS_IMMUTABLE) !== 0 ? derived : derived_safe_equal)(getter);\n\n\t// Capture the initial value if it's bindable\n\tif (bindable) get(d);\n\n\treturn function (/** @type {any} */ value, /** @type {boolean} */ mutation) {\n\t\tif (arguments.length > 0) {\n\t\t\tconst new_value = mutation ? get(d) : runes && bindable ? proxy(value) : value;\n\n\t\t\tset(d, new_value);\n\n\t\t\tif (fallback_value !== undefined) {\n\t\t\t\tfallback_value = new_value;\n\t\t\t}\n\n\t\t\treturn value;\n\t\t}\n\n\t\t// TODO is this still necessary post-#16263?\n\t\tif (has_destroyed_component_ctx(d)) {\n\t\t\treturn d.v;\n\t\t}\n\n\t\treturn get(d);\n\t};\n}\n","export function isServerSide() {\n  return typeof window === 'undefined' && typeof process !== 'undefined' && process.versions && process.versions.node;\n}\n\nexport function warnIfClientSide() {\n  if (!isServerSide()) {\n    console.warn('bot-gate: This library is designed for server-side use only. Bot detection requires access to request headers and IP addresses that are not available in the browser.');\n  }\n}\n\nexport function sanitizeIpAddress(ipAddress) {\n  if (!ipAddress || typeof ipAddress !== 'string') return null;\n  \n  return ipAddress.trim()\n    .split(',')[0]\n    .trim()\n    .replace(/^::ffff:/, '');\n}","import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nlet userAgentPatterns = null;\n\nfunction loadUserAgentPatterns() {\n  if (!userAgentPatterns) {\n    try {\n      const dataPath = path.join(__dirname, '../../data/user-agents.json');\n      const data = fs.readFileSync(dataPath, 'utf8');\n      userAgentPatterns = JSON.parse(data);\n    } catch (error) {\n      console.warn('Failed to load user agent patterns:', error.message);\n      userAgentPatterns = { bots: [] };\n    }\n  }\n  return userAgentPatterns;\n}\n\nexport function detectBot(userAgent) {\n  if (!userAgent || typeof userAgent !== 'string') {\n    return null;\n  }\n\n  const patterns = loadUserAgentPatterns();\n  const normalizedUA = userAgent.toLowerCase();\n\n  for (const bot of patterns.bots) {\n    for (const pattern of bot.patterns) {\n      const regex = new RegExp(pattern.toLowerCase(), 'i');\n      if (regex.test(normalizedUA)) {\n        return {\n          name: bot.name,\n          type: bot.type,\n          detected: true,\n          pattern: pattern\n        };\n      }\n    }\n  }\n\n  return null;\n}\n\nexport function getSupportedBots() {\n  const patterns = loadUserAgentPatterns();\n  return patterns.bots.map(bot => ({\n    name: bot.name,\n    type: bot.type\n  }));\n}","import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { detectBot } from './detector.js';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst ipRangeCache = new Map();\n\nfunction loadBotIpRanges(botName) {\n  if (!ipRangeCache.has(botName)) {\n    try {\n      // Handle applebot-extended using the same IP ranges as applebot\n      let actualBotName = botName.toLowerCase();\n      if (actualBotName === 'applebot-extended') {\n        actualBotName = 'applebot';\n      }\n      \n      const dataPath = path.join(__dirname, `../../data/bots/${actualBotName}.json`);\n      const data = fs.readFileSync(dataPath, 'utf8');\n      const rawData = JSON.parse(data);\n      \n      // Official API format: { creationTime, prefixes: [{ ipv4Prefix: \"...\" }] }\n      const ranges = rawData.prefixes \n        ? rawData.prefixes.map(prefix => prefix.ipv4Prefix || prefix.ipv6Prefix).filter(Boolean)\n        : [];\n      \n      ipRangeCache.set(botName, { ranges });\n    } catch (error) {\n      console.warn(`Failed to load IP ranges for ${botName}:`, error.message);\n      ipRangeCache.set(botName, { ranges: [] });\n    }\n  }\n  return ipRangeCache.get(botName);\n}\n\nfunction ipToInt(ip) {\n  return ip.split('.').reduce((acc, octet) => (acc << 8) + parseInt(octet, 10), 0) >>> 0;\n}\n\nfunction cidrToRange(cidr) {\n  const [ip, prefixLength] = cidr.split('/');\n  const ipInt = ipToInt(ip);\n  const mask = (-1 << (32 - parseInt(prefixLength, 10))) >>> 0;\n  const networkInt = ipInt & mask;\n  const broadcastInt = networkInt | (~mask >>> 0);\n  \n  return {\n    start: networkInt,\n    end: broadcastInt\n  };\n}\n\nfunction isIpInRange(ip, range) {\n  const ipInt = ipToInt(ip);\n  \n  if (range.includes('/')) {\n    const { start, end } = cidrToRange(range);\n    return ipInt >= start && ipInt <= end;\n  }\n  \n  if (range.includes('-')) {\n    const [startIp, endIp] = range.split('-');\n    const startInt = ipToInt(startIp.trim());\n    const endInt = ipToInt(endIp.trim());\n    return ipInt >= startInt && ipInt <= endInt;\n  }\n  \n  return ipInt === ipToInt(range);\n}\n\nfunction isValidIpAddress(ip) {\n  const ipv4Regex = /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n  return ipv4Regex.test(ip);\n}\n\nfunction validateBotByName(botName, ipAddress) {\n  if (!botName || !ipAddress) {\n    return false;\n  }\n\n  if (!isValidIpAddress(ipAddress)) {\n    return false;\n  }\n\n  const botData = loadBotIpRanges(botName);\n  \n  if (!botData.ranges || botData.ranges.length === 0) {\n    return false;\n  }\n\n  return botData.ranges.some(range => isIpInRange(ipAddress, range));\n}\n\nexport function validateBot(userAgent, ipAddress) {\n  if (!userAgent || !ipAddress) {\n    return false;\n  }\n\n  const botInfo = detectBot(userAgent);\n  \n  if (!botInfo) {\n    return false;\n  }\n\n  return validateBotByName(botInfo.name, ipAddress);\n}","import { detectBot } from './detector.js';\nimport { validateBot } from './validator.js';\nimport { sanitizeIpAddress } from './utils.js';\n\nexport function validateBotGateProps(userAgent, ipAddress, display, role) {\n  if (!userAgent || !ipAddress) {\n    console.warn('BotGate: userAgent and ipAddress are required props');\n    return { isValid: false, error: 'missing_required_props' };\n  }\n\n  if (!display) {\n    console.warn('BotGate: display prop is required (\"show\" or \"hide\")');\n    return { isValid: false, error: 'missing_display' };\n  }\n\n  if (!role) {\n    console.warn('BotGate: role prop is required (\"bot\" or \"user\")');\n    return { isValid: false, error: 'missing_role' };\n  }\n\n  if (!['show', 'hide'].includes(display)) {\n    console.warn('BotGate: display must be either \"show\" or \"hide\"');\n    return { isValid: false, error: 'invalid_display' };\n  }\n\n  if (!['bot', 'user'].includes(role)) {\n    console.warn('BotGate: role must be either \"bot\" or \"user\"');\n    return { isValid: false, error: 'invalid_role' };\n  }\n\n  return { isValid: true };\n}\n\n\nexport function isValidBot(userAgent, ipAddress, bots = null) {\n  const cleanIp = sanitizeIpAddress(ipAddress);\n  const isValid = validateBot(userAgent, cleanIp);\n  \n  if (!isValid) {\n    return false;\n  }\n  \n  // If specific bots are requested, check if this bot is in the list\n  if (bots && Array.isArray(bots) && bots.length > 0) {\n    const botInfo = detectBot(userAgent);\n    return botInfo ? bots.includes(botInfo.name) : false;\n  }\n  \n  return true;\n}","<script>\n  import { onMount } from 'svelte';\n  import { warnIfClientSide } from '../../core/index.js';\n  import { validateBotGateProps, isValidBot } from '../../core/shared-validation.js';\n\n  export let userAgent;\n  export let ipAddress;\n  export let display;\n  export let role;\n  export let bots = null;\n\n  let shouldShow = false;\n\n  onMount(() => {\n    warnIfClientSide();\n  });\n\n  $: {\n    const validation = validateBotGateProps(userAgent, ipAddress, display, role);\n    if (!validation.isValid) {\n      shouldShow = false;\n    } else {\n      const isBot = isValidBot(userAgent, ipAddress, bots);\n      shouldShow = (display === 'show') ? \n        (role === 'bot' ? isBot : !isBot) : \n        (role === 'bot' ? !isBot : isBot);\n    }\n  }\n</script>\n\n{#if shouldShow}\n  <slot />\n{/if}"],"names":["source","e.state_descriptors_fixed","e.state_prototype_fixed","e.derived_references_self","e.state_unsafe_mutation","e.effect_orphan","e.effect_in_unowned_derived","e.effect_in_teardown","e.effect_update_depth_exceeded","e.rune_outside_svelte","e.props_invalid_value","__dirname","fileURLToPath","$.prop","onMount","$.set"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}