{"version":3,"file":"omraadetittel-36d8aca7ea06e02a552b.esm.js","mappings":"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","sources":["webpack://dh-to-virkeligheter/./node_modules/@nrk/dh-basis-mediainfo/render-utils/render-utils.cjs","webpack://dh-to-virkeligheter/webpack/bootstrap","webpack://dh-to-virkeligheter/webpack/runtime/global","webpack://dh-to-virkeligheter/./node_modules/svelte/internal/index.mjs","webpack://dh-to-virkeligheter/bilde.svelte","webpack://dh-to-virkeligheter/omraadetittel.svelte","webpack://dh-to-virkeligheter/./src/moduler-geopolitisk/omraadetittel/client.ts","webpack://dh-to-virkeligheter/./src/lib/get-element-tag.ts","webpack://dh-to-virkeligheter/./src/moduler-geopolitisk/omraadetittel/components/hydrate.js"],"sourcesContent":["/**\n * @typedef ImageCandidate\n * @type {[number, string]}\n */\n\n/**\n * Converts a list of image candidates to a srcset string for use in the `` elements `srcset` attribute\n * @param {ImageCandidate[]} imageCandidates\n * @return {string}\n */\nfunction toSrcsetString(imageCandidates = []) {\n return imageCandidates?.map(([width, url]) => `${url} ${width}w`).join(',') ?? ''\n}\n\nmodule.exports = { toSrcsetString }\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\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\nfunction is_promise(value) {\n return !!value && (typeof value === 'object' || typeof value === 'function') && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction split_css_unit(value) {\n const split = typeof value === 'string' && value.match(/^\\s*(-?[\\d.]+)([^\\s]*)\\s*$/);\n return split ? [parseFloat(split[1]), split[2] || 'px'] : [value, 'px'];\n}\nconst contenteditable_truthy_values = ['', true, 1, 'true', 'contenteditable'];\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\n/**\n * Resize observer singleton.\n * One listener per element only!\n * https://groups.google.com/a/chromium.org/g/blink-dev/c/z6ienONUb5A/m/F5-VcUZtBAAJ\n */\nclass ResizeObserverSingleton {\n constructor(options) {\n this.options = options;\n this._listeners = 'WeakMap' in globals ? new WeakMap() : undefined;\n }\n observe(element, listener) {\n this._listeners.set(element, listener);\n this._getObserver().observe(element, this.options);\n return () => {\n this._listeners.delete(element);\n this._observer.unobserve(element); // this line can probably be removed\n };\n }\n _getObserver() {\n var _a;\n return (_a = this._observer) !== null && _a !== void 0 ? _a : (this._observer = new ResizeObserver((entries) => {\n var _a;\n for (const entry of entries) {\n ResizeObserverSingleton.entries.set(entry.target, entry);\n (_a = this._listeners.get(entry.target)) === null || _a === void 0 ? void 0 : _a(entry);\n }\n }));\n }\n}\n// Needs to be written like this to pass the tree-shake-test\nResizeObserverSingleton.entries = 'WeakMap' in globals ? new WeakMap() : undefined;\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not \n let children = target.childNodes;\n // If target is , there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element.sheet;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n return style.sheet;\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentNode !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction comment(content) {\n return document.createComment(content);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_immediate_propagation(fn) {\n return function (event) {\n event.stopImmediatePropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\n/**\n * List of attributes that should always be set through the attr method,\n * because updating them through the property setter doesn't work reliably.\n * In the example of `width`/`height`, the problem is that the setter only\n * accepts numeric values, but the attribute can also be set to a string like `50%`.\n * If this list becomes too big, rethink this approach.\n */\nconst always_set_through_set_attribute = ['width', 'height'];\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set && always_set_through_set_attribute.indexOf(key) === -1) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data_map(node, data_map) {\n Object.keys(data_map).forEach((key) => {\n set_custom_element_data(node, key, data_map[key]);\n });\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction set_dynamic_element_data(tag) {\n return (/-/.test(tag)) ? set_custom_element_data_map : set_attributes;\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction init_binding_group(group) {\n let _inputs;\n return {\n /* push */ p(...inputs) {\n _inputs = inputs;\n _inputs.forEach(input => group.push(input));\n },\n /* remove */ r() {\n _inputs.forEach(input => group.splice(group.indexOf(input), 1));\n }\n };\n}\nfunction init_binding_group_dynamic(group, indexes) {\n let _group = get_binding_group(group);\n let _inputs;\n function get_binding_group(group) {\n for (let i = 0; i < indexes.length; i++) {\n group = group[indexes[i]] = group[indexes[i]] || [];\n }\n return group;\n }\n function push() {\n _inputs.forEach(input => _group.push(input));\n }\n function remove() {\n _inputs.forEach(input => _group.splice(_group.indexOf(input), 1));\n }\n return {\n /* update */ u(new_indexes) {\n indexes = new_indexes;\n const new_group = get_binding_group(group);\n if (new_group !== _group) {\n remove();\n _group = new_group;\n push();\n }\n },\n /* push */ p(...inputs) {\n _inputs = inputs;\n push();\n },\n /* remove */ r: remove\n };\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction claim_comment(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 8, (node) => {\n node.data = '' + data;\n return undefined;\n }, () => comment(data), true);\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes, is_svg) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration(undefined, is_svg);\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes, is_svg);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.data === data)\n return;\n text.data = data;\n}\nfunction set_data_contenteditable(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n text.data = data;\n}\nfunction set_data_maybe_contenteditable(text, data, attr_value) {\n if (~contenteditable_truthy_values.indexOf(attr_value)) {\n set_data_contenteditable(text, data);\n }\n else {\n set_data(text, data);\n }\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n if (value == null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\nfunction select_option(select, value, mounting) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n if (!mounting || value !== undefined) {\n select.selectedIndex = -1; // no option should be selected\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked');\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_iframe_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n // make sure an initial resize event is fired _after_ the iframe is loaded (which is asynchronous)\n // see https://github.com/sveltejs/svelte/issues/4233\n fn();\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nconst resize_observer_content_box = /* @__PURE__ */ new ResizeObserverSingleton({ box: 'content-box' });\nconst resize_observer_border_box = /* @__PURE__ */ new ResizeObserverSingleton({ box: 'border-box' });\nconst resize_observer_device_pixel_content_box = /* @__PURE__ */ new ResizeObserverSingleton({ box: 'device-pixel-content-box' });\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, cancelable, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nfunction head_selector(nodeId, head) {\n const result = [];\n let started = 0;\n for (const node of head.childNodes) {\n if (node.nodeType === 8 /* comment node */) {\n const comment = node.textContent.trim();\n if (comment === `HEAD_${nodeId}_END`) {\n started -= 1;\n result.push(node);\n }\n else if (comment === `HEAD_${nodeId}_START`) {\n started += 1;\n result.push(node);\n }\n }\n else if (started > 0) {\n result.push(node);\n }\n }\n return result;\n}\nclass HtmlTag {\n constructor(is_svg = false) {\n this.is_svg = false;\n this.is_svg = is_svg;\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n if (this.is_svg)\n this.e = svg_element(target.nodeName);\n /** #7364 target for