humanbehavior-js 0.5.66 → 0.5.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../node_modules/@rrweb/record/dist/record.js","../../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../../node_modules/uuid/dist/esm-browser/rng.js","../../../../node_modules/uuid/dist/esm-browser/v1.js","../../../core/dist/index.mjs","../../src/index.ts"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar _a;\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar NodeType$2 = /* @__PURE__ */ ((NodeType2) => {\n NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n return NodeType2;\n})(NodeType$2 || {});\nconst testableAccessors$1 = {\n Node: [\"childNodes\", \"parentNode\", \"parentElement\", \"textContent\"],\n ShadowRoot: [\"host\", \"styleSheets\"],\n Element: [\"shadowRoot\", \"querySelector\", \"querySelectorAll\"],\n MutationObserver: []\n};\nconst testableMethods$1 = {\n Node: [\"contains\", \"getRootNode\"],\n ShadowRoot: [\"getSelection\"],\n Element: [],\n MutationObserver: [\"constructor\"]\n};\nconst untaintedBasePrototype$1 = {};\nfunction getUntaintedPrototype$1(key) {\n if (untaintedBasePrototype$1[key])\n return untaintedBasePrototype$1[key];\n const defaultObj = globalThis[key];\n const defaultPrototype = defaultObj.prototype;\n const accessorNames = key in testableAccessors$1 ? testableAccessors$1[key] : void 0;\n const isUntaintedAccessors = Boolean(\n accessorNames && // @ts-expect-error 2345\n accessorNames.every(\n (accessor) => {\n var _a2, _b;\n return Boolean(\n (_b = (_a2 = Object.getOwnPropertyDescriptor(defaultPrototype, accessor)) == null ? void 0 : _a2.get) == null ? void 0 : _b.toString().includes(\"[native code]\")\n );\n }\n )\n );\n const methodNames = key in testableMethods$1 ? testableMethods$1[key] : void 0;\n const isUntaintedMethods = Boolean(\n methodNames && methodNames.every(\n // @ts-expect-error 2345\n (method) => {\n var _a2;\n return typeof defaultPrototype[method] === \"function\" && ((_a2 = defaultPrototype[method]) == null ? void 0 : _a2.toString().includes(\"[native code]\"));\n }\n )\n );\n if (isUntaintedAccessors && isUntaintedMethods) {\n untaintedBasePrototype$1[key] = defaultObj.prototype;\n return defaultObj.prototype;\n }\n try {\n const iframeEl = document.createElement(\"iframe\");\n document.body.appendChild(iframeEl);\n const win = iframeEl.contentWindow;\n if (!win) return defaultObj.prototype;\n const untaintedObject = win[key].prototype;\n document.body.removeChild(iframeEl);\n if (!untaintedObject) return defaultPrototype;\n return untaintedBasePrototype$1[key] = untaintedObject;\n } catch {\n return defaultPrototype;\n }\n}\nconst untaintedAccessorCache$1 = {};\nfunction getUntaintedAccessor$1(key, instance, accessor) {\n var _a2;\n const cacheKey = `${key}.${String(accessor)}`;\n if (untaintedAccessorCache$1[cacheKey])\n return untaintedAccessorCache$1[cacheKey].call(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype$1(key);\n const untaintedAccessor = (_a2 = Object.getOwnPropertyDescriptor(\n untaintedPrototype,\n accessor\n )) == null ? void 0 : _a2.get;\n if (!untaintedAccessor) return instance[accessor];\n untaintedAccessorCache$1[cacheKey] = untaintedAccessor;\n return untaintedAccessor.call(instance);\n}\nconst untaintedMethodCache$1 = {};\nfunction getUntaintedMethod$1(key, instance, method) {\n const cacheKey = `${key}.${String(method)}`;\n if (untaintedMethodCache$1[cacheKey])\n return untaintedMethodCache$1[cacheKey].bind(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype$1(key);\n const untaintedMethod = untaintedPrototype[method];\n if (typeof untaintedMethod !== \"function\") return instance[method];\n untaintedMethodCache$1[cacheKey] = untaintedMethod;\n return untaintedMethod.bind(instance);\n}\nfunction childNodes$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"childNodes\");\n}\nfunction parentNode$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"parentNode\");\n}\nfunction parentElement$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"parentElement\");\n}\nfunction textContent$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"textContent\");\n}\nfunction contains$1(n2, other) {\n return getUntaintedMethod$1(\"Node\", n2, \"contains\")(other);\n}\nfunction getRootNode$1(n2) {\n return getUntaintedMethod$1(\"Node\", n2, \"getRootNode\")();\n}\nfunction host$1(n2) {\n if (!n2 || !(\"host\" in n2)) return null;\n return getUntaintedAccessor$1(\"ShadowRoot\", n2, \"host\");\n}\nfunction styleSheets$1(n2) {\n return n2.styleSheets;\n}\nfunction shadowRoot$1(n2) {\n if (!n2 || !(\"shadowRoot\" in n2)) return null;\n return getUntaintedAccessor$1(\"Element\", n2, \"shadowRoot\");\n}\nfunction querySelector$1(n2, selectors) {\n return getUntaintedAccessor$1(\"Element\", n2, \"querySelector\")(selectors);\n}\nfunction querySelectorAll$1(n2, selectors) {\n return getUntaintedAccessor$1(\"Element\", n2, \"querySelectorAll\")(selectors);\n}\nfunction mutationObserverCtor$1() {\n return getUntaintedPrototype$1(\"MutationObserver\").constructor;\n}\nconst index$1 = {\n childNodes: childNodes$1,\n parentNode: parentNode$1,\n parentElement: parentElement$1,\n textContent: textContent$1,\n contains: contains$1,\n getRootNode: getRootNode$1,\n host: host$1,\n styleSheets: styleSheets$1,\n shadowRoot: shadowRoot$1,\n querySelector: querySelector$1,\n querySelectorAll: querySelectorAll$1,\n mutationObserver: mutationObserverCtor$1\n};\nfunction isElement(n2) {\n return n2.nodeType === n2.ELEMENT_NODE;\n}\nfunction isShadowRoot(n2) {\n const hostEl = (\n // anchor and textarea elements also have a `host` property\n // but only shadow roots have a `mode` property\n n2 && \"host\" in n2 && \"mode\" in n2 && index$1.host(n2) || null\n );\n return Boolean(\n hostEl && \"shadowRoot\" in hostEl && index$1.shadowRoot(hostEl) === n2\n );\n}\nfunction isNativeShadowDom(shadowRoot2) {\n return Object.prototype.toString.call(shadowRoot2) === \"[object ShadowRoot]\";\n}\nfunction fixBrowserCompatibilityIssuesInCSS(cssText) {\n if (cssText.includes(\" background-clip: text;\") && !cssText.includes(\" -webkit-background-clip: text;\")) {\n cssText = cssText.replace(\n /\\sbackground-clip:\\s*text;/g,\n \" -webkit-background-clip: text; background-clip: text;\"\n );\n }\n return cssText;\n}\nfunction escapeImportStatement(rule2) {\n const { cssText } = rule2;\n if (cssText.split('\"').length < 3) return cssText;\n const statement = [\"@import\", `url(${JSON.stringify(rule2.href)})`];\n if (rule2.layerName === \"\") {\n statement.push(`layer`);\n } else if (rule2.layerName) {\n statement.push(`layer(${rule2.layerName})`);\n }\n if (rule2.supportsText) {\n statement.push(`supports(${rule2.supportsText})`);\n }\n if (rule2.media.length) {\n statement.push(rule2.media.mediaText);\n }\n return statement.join(\" \") + \";\";\n}\nfunction stringifyStylesheet(s2) {\n try {\n const rules2 = s2.rules || s2.cssRules;\n if (!rules2) {\n return null;\n }\n const stringifiedRules = Array.from(\n rules2,\n (rule2) => stringifyRule(rule2, s2.href)\n ).join(\"\");\n return fixBrowserCompatibilityIssuesInCSS(stringifiedRules);\n } catch (error) {\n return null;\n }\n}\nfunction stringifyRule(rule2, sheetHref) {\n if (isCSSImportRule(rule2)) {\n let importStringified;\n try {\n importStringified = // for same-origin stylesheets,\n // we can access the imported stylesheet rules directly\n stringifyStylesheet(rule2.styleSheet) || // work around browser issues with the raw string `@import url(...)` statement\n escapeImportStatement(rule2);\n } catch (error) {\n importStringified = rule2.cssText;\n }\n if (rule2.styleSheet.href) {\n return absolutifyURLs(importStringified, rule2.styleSheet.href);\n }\n return importStringified;\n } else {\n let ruleStringified = rule2.cssText;\n if (isCSSStyleRule(rule2) && rule2.selectorText.includes(\":\")) {\n ruleStringified = fixSafariColons(ruleStringified);\n }\n if (sheetHref) {\n return absolutifyURLs(ruleStringified, sheetHref);\n }\n return ruleStringified;\n }\n}\nfunction fixSafariColons(cssStringified) {\n const regex = /(\\[(?:[\\w-]+)[^\\\\])(:(?:[\\w-]+)\\])/gm;\n return cssStringified.replace(regex, \"$1\\\\$2\");\n}\nfunction isCSSImportRule(rule2) {\n return \"styleSheet\" in rule2;\n}\nfunction isCSSStyleRule(rule2) {\n return \"selectorText\" in rule2;\n}\nclass Mirror {\n constructor() {\n __publicField$1(this, \"idNodeMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"nodeMetaMap\", /* @__PURE__ */ new WeakMap());\n }\n getId(n2) {\n var _a2;\n if (!n2) return -1;\n const id = (_a2 = this.getMeta(n2)) == null ? void 0 : _a2.id;\n return id ?? -1;\n }\n getNode(id) {\n return this.idNodeMap.get(id) || null;\n }\n getIds() {\n return Array.from(this.idNodeMap.keys());\n }\n getMeta(n2) {\n return this.nodeMetaMap.get(n2) || null;\n }\n // removes the node from idNodeMap\n // doesn't remove the node from nodeMetaMap\n removeNodeFromMap(n2) {\n const id = this.getId(n2);\n this.idNodeMap.delete(id);\n if (n2.childNodes) {\n n2.childNodes.forEach(\n (childNode) => this.removeNodeFromMap(childNode)\n );\n }\n }\n has(id) {\n return this.idNodeMap.has(id);\n }\n hasNode(node2) {\n return this.nodeMetaMap.has(node2);\n }\n add(n2, meta) {\n const id = meta.id;\n this.idNodeMap.set(id, n2);\n this.nodeMetaMap.set(n2, meta);\n }\n replace(id, n2) {\n const oldNode = this.getNode(id);\n if (oldNode) {\n const meta = this.nodeMetaMap.get(oldNode);\n if (meta) this.nodeMetaMap.set(n2, meta);\n }\n this.idNodeMap.set(id, n2);\n }\n reset() {\n this.idNodeMap = /* @__PURE__ */ new Map();\n this.nodeMetaMap = /* @__PURE__ */ new WeakMap();\n }\n}\nfunction createMirror$2() {\n return new Mirror();\n}\nfunction maskInputValue({\n element,\n maskInputOptions,\n tagName,\n type,\n value,\n maskInputFn\n}) {\n let text = value || \"\";\n const actualType = type && toLowerCase(type);\n if (maskInputOptions[tagName.toLowerCase()] || actualType && maskInputOptions[actualType]) {\n if (maskInputFn) {\n text = maskInputFn(text, element);\n } else {\n text = \"*\".repeat(text.length);\n }\n }\n return text;\n}\nfunction toLowerCase(str) {\n return str.toLowerCase();\n}\nconst ORIGINAL_ATTRIBUTE_NAME = \"__rrweb_original__\";\nfunction is2DCanvasBlank(canvas) {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return true;\n const chunkSize = 50;\n for (let x2 = 0; x2 < canvas.width; x2 += chunkSize) {\n for (let y = 0; y < canvas.height; y += chunkSize) {\n const getImageData = ctx.getImageData;\n const originalGetImageData = ORIGINAL_ATTRIBUTE_NAME in getImageData ? getImageData[ORIGINAL_ATTRIBUTE_NAME] : getImageData;\n const pixelBuffer = new Uint32Array(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n originalGetImageData.call(\n ctx,\n x2,\n y,\n Math.min(chunkSize, canvas.width - x2),\n Math.min(chunkSize, canvas.height - y)\n ).data.buffer\n );\n if (pixelBuffer.some((pixel) => pixel !== 0)) return false;\n }\n }\n return true;\n}\nfunction getInputType(element) {\n const type = element.type;\n return element.hasAttribute(\"data-rr-is-password\") ? \"password\" : type ? (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n toLowerCase(type)\n ) : null;\n}\nfunction extractFileExtension(path, baseURL) {\n let url;\n try {\n url = new URL(path, baseURL ?? window.location.href);\n } catch (err) {\n return null;\n }\n const regex = /\\.([0-9a-z]+)(?:$)/i;\n const match = url.pathname.match(regex);\n return (match == null ? void 0 : match[1]) ?? null;\n}\nfunction extractOrigin(url) {\n let origin = \"\";\n if (url.indexOf(\"//\") > -1) {\n origin = url.split(\"/\").slice(0, 3).join(\"/\");\n } else {\n origin = url.split(\"/\")[0];\n }\n origin = origin.split(\"?\")[0];\n return origin;\n}\nconst URL_IN_CSS_REF = /url\\((?:(')([^']*)'|(\")(.*?)\"|([^)]*))\\)/gm;\nconst URL_PROTOCOL_MATCH = /^(?:[a-z+]+:)?\\/\\//i;\nconst URL_WWW_MATCH = /^www\\..*/i;\nconst DATA_URI = /^(data:)([^,]*),(.*)/i;\nfunction absolutifyURLs(cssText, href) {\n return (cssText || \"\").replace(\n URL_IN_CSS_REF,\n (origin, quote1, path1, quote2, path2, path3) => {\n const filePath = path1 || path2 || path3;\n const maybeQuote = quote1 || quote2 || \"\";\n if (!filePath) {\n return origin;\n }\n if (URL_PROTOCOL_MATCH.test(filePath) || URL_WWW_MATCH.test(filePath)) {\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\n }\n if (DATA_URI.test(filePath)) {\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\n }\n if (filePath[0] === \"/\") {\n return `url(${maybeQuote}${extractOrigin(href) + filePath}${maybeQuote})`;\n }\n const stack = href.split(\"/\");\n const parts = filePath.split(\"/\");\n stack.pop();\n for (const part of parts) {\n if (part === \".\") {\n continue;\n } else if (part === \"..\") {\n stack.pop();\n } else {\n stack.push(part);\n }\n }\n return `url(${maybeQuote}${stack.join(\"/\")}${maybeQuote})`;\n }\n );\n}\nlet _id = 1;\nconst tagNameRegex = new RegExp(\"[^a-z0-9-_:]\");\nconst IGNORED_NODE = -2;\nfunction genId() {\n return _id++;\n}\nfunction getValidTagName$1(element) {\n if (element instanceof HTMLFormElement) {\n return \"form\";\n }\n const processedTagName = toLowerCase(element.tagName);\n if (tagNameRegex.test(processedTagName)) {\n return \"div\";\n }\n return processedTagName;\n}\nlet canvasService;\nlet canvasCtx;\nconst SRCSET_NOT_SPACES = /^[^ \\t\\n\\r\\u000c]+/;\nconst SRCSET_COMMAS_OR_SPACES = /^[, \\t\\n\\r\\u000c]+/;\nfunction getAbsoluteSrcsetString(doc, attributeValue) {\n if (attributeValue.trim() === \"\") {\n return attributeValue;\n }\n let pos = 0;\n function collectCharacters(regEx) {\n let chars2;\n const match = regEx.exec(attributeValue.substring(pos));\n if (match) {\n chars2 = match[0];\n pos += chars2.length;\n return chars2;\n }\n return \"\";\n }\n const output = [];\n while (true) {\n collectCharacters(SRCSET_COMMAS_OR_SPACES);\n if (pos >= attributeValue.length) {\n break;\n }\n let url = collectCharacters(SRCSET_NOT_SPACES);\n if (url.slice(-1) === \",\") {\n url = absoluteToDoc(doc, url.substring(0, url.length - 1));\n output.push(url);\n } else {\n let descriptorsStr = \"\";\n url = absoluteToDoc(doc, url);\n let inParens = false;\n while (true) {\n const c2 = attributeValue.charAt(pos);\n if (c2 === \"\") {\n output.push((url + descriptorsStr).trim());\n break;\n } else if (!inParens) {\n if (c2 === \",\") {\n pos += 1;\n output.push((url + descriptorsStr).trim());\n break;\n } else if (c2 === \"(\") {\n inParens = true;\n }\n } else {\n if (c2 === \")\") {\n inParens = false;\n }\n }\n descriptorsStr += c2;\n pos += 1;\n }\n }\n }\n return output.join(\", \");\n}\nconst cachedDocument = /* @__PURE__ */ new WeakMap();\nfunction absoluteToDoc(doc, attributeValue) {\n if (!attributeValue || attributeValue.trim() === \"\") {\n return attributeValue;\n }\n return getHref(doc, attributeValue);\n}\nfunction isSVGElement(el) {\n return Boolean(el.tagName === \"svg\" || el.ownerSVGElement);\n}\nfunction getHref(doc, customHref) {\n let a2 = cachedDocument.get(doc);\n if (!a2) {\n a2 = doc.createElement(\"a\");\n cachedDocument.set(doc, a2);\n }\n if (!customHref) {\n customHref = \"\";\n } else if (customHref.startsWith(\"blob:\") || customHref.startsWith(\"data:\")) {\n return customHref;\n }\n a2.setAttribute(\"href\", customHref);\n return a2.href;\n}\nfunction transformAttribute(doc, tagName, name, value) {\n if (!value) {\n return value;\n }\n if (name === \"src\" || name === \"href\" && !(tagName === \"use\" && value[0] === \"#\")) {\n return absoluteToDoc(doc, value);\n } else if (name === \"xlink:href\" && value[0] !== \"#\") {\n return absoluteToDoc(doc, value);\n } else if (name === \"background\" && (tagName === \"table\" || tagName === \"td\" || tagName === \"th\")) {\n return absoluteToDoc(doc, value);\n } else if (name === \"srcset\") {\n return getAbsoluteSrcsetString(doc, value);\n } else if (name === \"style\") {\n return absolutifyURLs(value, getHref(doc));\n } else if (tagName === \"object\" && name === \"data\") {\n return absoluteToDoc(doc, value);\n }\n return value;\n}\nfunction ignoreAttribute(tagName, name, _value) {\n return (tagName === \"video\" || tagName === \"audio\") && name === \"autoplay\";\n}\nfunction _isBlockedElement(element, blockClass, blockSelector) {\n try {\n if (typeof blockClass === \"string\") {\n if (element.classList.contains(blockClass)) {\n return true;\n }\n } else {\n for (let eIndex = element.classList.length; eIndex--; ) {\n const className = element.classList[eIndex];\n if (blockClass.test(className)) {\n return true;\n }\n }\n }\n if (blockSelector) {\n return element.matches(blockSelector);\n }\n } catch (e2) {\n }\n return false;\n}\nfunction classMatchesRegex(node2, regex, checkAncestors) {\n if (!node2) return false;\n if (node2.nodeType !== node2.ELEMENT_NODE) {\n if (!checkAncestors) return false;\n return classMatchesRegex(index$1.parentNode(node2), regex, checkAncestors);\n }\n for (let eIndex = node2.classList.length; eIndex--; ) {\n const className = node2.classList[eIndex];\n if (regex.test(className)) {\n return true;\n }\n }\n if (!checkAncestors) return false;\n return classMatchesRegex(index$1.parentNode(node2), regex, checkAncestors);\n}\nfunction needMaskingText(node2, maskTextClass, maskTextSelector, checkAncestors) {\n let el;\n if (isElement(node2)) {\n el = node2;\n if (!index$1.childNodes(el).length) {\n return false;\n }\n } else if (index$1.parentElement(node2) === null) {\n return false;\n } else {\n el = index$1.parentElement(node2);\n }\n try {\n if (typeof maskTextClass === \"string\") {\n if (checkAncestors) {\n if (el.closest(`.${maskTextClass}`)) return true;\n } else {\n if (el.classList.contains(maskTextClass)) return true;\n }\n } else {\n if (classMatchesRegex(el, maskTextClass, checkAncestors)) return true;\n }\n if (maskTextSelector) {\n if (checkAncestors) {\n if (el.closest(maskTextSelector)) return true;\n } else {\n if (el.matches(maskTextSelector)) return true;\n }\n }\n } catch (e2) {\n }\n return false;\n}\nfunction onceIframeLoaded(iframeEl, listener, iframeLoadTimeout) {\n const win = iframeEl.contentWindow;\n if (!win) {\n return;\n }\n let fired = false;\n let readyState;\n try {\n readyState = win.document.readyState;\n } catch (error) {\n return;\n }\n if (readyState !== \"complete\") {\n const timer = setTimeout(() => {\n if (!fired) {\n listener();\n fired = true;\n }\n }, iframeLoadTimeout);\n iframeEl.addEventListener(\"load\", () => {\n clearTimeout(timer);\n fired = true;\n listener();\n });\n return;\n }\n const blankUrl = \"about:blank\";\n if (win.location.href !== blankUrl || iframeEl.src === blankUrl || iframeEl.src === \"\") {\n setTimeout(listener, 0);\n return iframeEl.addEventListener(\"load\", listener);\n }\n iframeEl.addEventListener(\"load\", listener);\n}\nfunction onceStylesheetLoaded(link, listener, styleSheetLoadTimeout) {\n let fired = false;\n let styleSheetLoaded;\n try {\n styleSheetLoaded = link.sheet;\n } catch (error) {\n return;\n }\n if (styleSheetLoaded) return;\n const timer = setTimeout(() => {\n if (!fired) {\n listener();\n fired = true;\n }\n }, styleSheetLoadTimeout);\n link.addEventListener(\"load\", () => {\n clearTimeout(timer);\n fired = true;\n listener();\n });\n}\nfunction serializeNode(n2, options) {\n const {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n inlineStylesheet,\n maskInputOptions = {},\n maskTextFn,\n maskInputFn,\n dataURLOptions = {},\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement = false\n } = options;\n const rootId = getRootId(doc, mirror2);\n switch (n2.nodeType) {\n case n2.DOCUMENT_NODE:\n if (n2.compatMode !== \"CSS1Compat\") {\n return {\n type: NodeType$2.Document,\n childNodes: [],\n compatMode: n2.compatMode\n // probably \"BackCompat\"\n };\n } else {\n return {\n type: NodeType$2.Document,\n childNodes: []\n };\n }\n case n2.DOCUMENT_TYPE_NODE:\n return {\n type: NodeType$2.DocumentType,\n name: n2.name,\n publicId: n2.publicId,\n systemId: n2.systemId,\n rootId\n };\n case n2.ELEMENT_NODE:\n return serializeElementNode(n2, {\n doc,\n blockClass,\n blockSelector,\n inlineStylesheet,\n maskInputOptions,\n maskInputFn,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement,\n rootId\n });\n case n2.TEXT_NODE:\n return serializeTextNode(n2, {\n doc,\n needsMask,\n maskTextFn,\n rootId\n });\n case n2.CDATA_SECTION_NODE:\n return {\n type: NodeType$2.CDATA,\n textContent: \"\",\n rootId\n };\n case n2.COMMENT_NODE:\n return {\n type: NodeType$2.Comment,\n textContent: index$1.textContent(n2) || \"\",\n rootId\n };\n default:\n return false;\n }\n}\nfunction getRootId(doc, mirror2) {\n if (!mirror2.hasNode(doc)) return void 0;\n const docId = mirror2.getId(doc);\n return docId === 1 ? void 0 : docId;\n}\nfunction serializeTextNode(n2, options) {\n var _a2;\n const { needsMask, maskTextFn, rootId } = options;\n const parent = index$1.parentNode(n2);\n const parentTagName = parent && parent.tagName;\n let text = index$1.textContent(n2);\n const isStyle = parentTagName === \"STYLE\" ? true : void 0;\n const isScript = parentTagName === \"SCRIPT\" ? true : void 0;\n if (isStyle && text) {\n try {\n if (n2.nextSibling || n2.previousSibling) {\n } else if ((_a2 = parent.sheet) == null ? void 0 : _a2.cssRules) {\n text = stringifyStylesheet(parent.sheet);\n }\n } catch (err) {\n console.warn(\n `Cannot get CSS styles from text's parentNode. Error: ${err}`,\n n2\n );\n }\n text = absolutifyURLs(text, getHref(options.doc));\n }\n if (isScript) {\n text = \"SCRIPT_PLACEHOLDER\";\n }\n if (!isStyle && !isScript && text && needsMask) {\n text = maskTextFn ? maskTextFn(text, index$1.parentElement(n2)) : text.replace(/[\\S]/g, \"*\");\n }\n return {\n type: NodeType$2.Text,\n textContent: text || \"\",\n isStyle,\n rootId\n };\n}\nfunction serializeElementNode(n2, options) {\n const {\n doc,\n blockClass,\n blockSelector,\n inlineStylesheet,\n maskInputOptions = {},\n maskInputFn,\n dataURLOptions = {},\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement = false,\n rootId\n } = options;\n const needBlock = _isBlockedElement(n2, blockClass, blockSelector);\n const tagName = getValidTagName$1(n2);\n let attributes = {};\n const len = n2.attributes.length;\n for (let i2 = 0; i2 < len; i2++) {\n const attr = n2.attributes[i2];\n if (!ignoreAttribute(tagName, attr.name, attr.value)) {\n attributes[attr.name] = transformAttribute(\n doc,\n tagName,\n toLowerCase(attr.name),\n attr.value\n );\n }\n }\n if (tagName === \"link\" && inlineStylesheet) {\n const stylesheet = Array.from(doc.styleSheets).find((s2) => {\n return s2.href === n2.href;\n });\n let cssText = null;\n if (stylesheet) {\n cssText = stringifyStylesheet(stylesheet);\n }\n if (cssText) {\n delete attributes.rel;\n delete attributes.href;\n attributes._cssText = cssText;\n }\n }\n if (tagName === \"style\" && n2.sheet && // TODO: Currently we only try to get dynamic stylesheet when it is an empty style element\n !(n2.innerText || index$1.textContent(n2) || \"\").trim().length) {\n const cssText = stringifyStylesheet(\n n2.sheet\n );\n if (cssText) {\n attributes._cssText = cssText;\n }\n }\n if (tagName === \"input\" || tagName === \"textarea\" || tagName === \"select\") {\n const value = n2.value;\n const checked = n2.checked;\n if (attributes.type !== \"radio\" && attributes.type !== \"checkbox\" && attributes.type !== \"submit\" && attributes.type !== \"button\" && value) {\n attributes.value = maskInputValue({\n element: n2,\n type: getInputType(n2),\n tagName,\n value,\n maskInputOptions,\n maskInputFn\n });\n } else if (checked) {\n attributes.checked = checked;\n }\n }\n if (tagName === \"option\") {\n if (n2.selected && !maskInputOptions[\"select\"]) {\n attributes.selected = true;\n } else {\n delete attributes.selected;\n }\n }\n if (tagName === \"dialog\" && n2.open) {\n attributes.rr_open_mode = n2.matches(\"dialog:modal\") ? \"modal\" : \"non-modal\";\n }\n if (tagName === \"canvas\" && recordCanvas) {\n if (n2.__context === \"2d\") {\n if (!is2DCanvasBlank(n2)) {\n attributes.rr_dataURL = n2.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n }\n } else if (!(\"__context\" in n2)) {\n const canvasDataURL = n2.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n const blankCanvas = doc.createElement(\"canvas\");\n blankCanvas.width = n2.width;\n blankCanvas.height = n2.height;\n const blankCanvasDataURL = blankCanvas.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n if (canvasDataURL !== blankCanvasDataURL) {\n attributes.rr_dataURL = canvasDataURL;\n }\n }\n }\n if (tagName === \"img\" && inlineImages) {\n if (!canvasService) {\n canvasService = doc.createElement(\"canvas\");\n canvasCtx = canvasService.getContext(\"2d\");\n }\n const image = n2;\n const imageSrc = image.currentSrc || image.getAttribute(\"src\") || \"<unknown-src>\";\n const priorCrossOrigin = image.crossOrigin;\n const recordInlineImage = () => {\n image.removeEventListener(\"load\", recordInlineImage);\n try {\n canvasService.width = image.naturalWidth;\n canvasService.height = image.naturalHeight;\n canvasCtx.drawImage(image, 0, 0);\n attributes.rr_dataURL = canvasService.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n } catch (err) {\n if (image.crossOrigin !== \"anonymous\") {\n image.crossOrigin = \"anonymous\";\n if (image.complete && image.naturalWidth !== 0)\n recordInlineImage();\n else image.addEventListener(\"load\", recordInlineImage);\n return;\n } else {\n console.warn(\n `Cannot inline img src=${imageSrc}! Error: ${err}`\n );\n }\n }\n if (image.crossOrigin === \"anonymous\") {\n priorCrossOrigin ? attributes.crossOrigin = priorCrossOrigin : image.removeAttribute(\"crossorigin\");\n }\n };\n if (image.complete && image.naturalWidth !== 0) recordInlineImage();\n else image.addEventListener(\"load\", recordInlineImage);\n }\n if (tagName === \"audio\" || tagName === \"video\") {\n const mediaAttributes = attributes;\n mediaAttributes.rr_mediaState = n2.paused ? \"paused\" : \"played\";\n mediaAttributes.rr_mediaCurrentTime = n2.currentTime;\n mediaAttributes.rr_mediaPlaybackRate = n2.playbackRate;\n mediaAttributes.rr_mediaMuted = n2.muted;\n mediaAttributes.rr_mediaLoop = n2.loop;\n mediaAttributes.rr_mediaVolume = n2.volume;\n }\n if (!newlyAddedElement) {\n if (n2.scrollLeft) {\n attributes.rr_scrollLeft = n2.scrollLeft;\n }\n if (n2.scrollTop) {\n attributes.rr_scrollTop = n2.scrollTop;\n }\n }\n if (needBlock) {\n const { width, height } = n2.getBoundingClientRect();\n attributes = {\n class: attributes.class,\n rr_width: `${width}px`,\n rr_height: `${height}px`\n };\n }\n if (tagName === \"iframe\" && !keepIframeSrcFn(attributes.src)) {\n if (!n2.contentDocument) {\n attributes.rr_src = attributes.src;\n }\n delete attributes.src;\n }\n let isCustomElement;\n try {\n if (customElements.get(tagName)) isCustomElement = true;\n } catch (e2) {\n }\n return {\n type: NodeType$2.Element,\n tagName,\n attributes,\n childNodes: [],\n isSVG: isSVGElement(n2) || void 0,\n needBlock,\n rootId,\n isCustom: isCustomElement\n };\n}\nfunction lowerIfExists(maybeAttr) {\n if (maybeAttr === void 0 || maybeAttr === null) {\n return \"\";\n } else {\n return maybeAttr.toLowerCase();\n }\n}\nfunction slimDOMExcluded(sn, slimDOMOptions) {\n if (slimDOMOptions.comment && sn.type === NodeType$2.Comment) {\n return true;\n } else if (sn.type === NodeType$2.Element) {\n if (slimDOMOptions.script && // script tag\n (sn.tagName === \"script\" || // (module)preload link\n sn.tagName === \"link\" && (sn.attributes.rel === \"preload\" || sn.attributes.rel === \"modulepreload\") && sn.attributes.as === \"script\" || // prefetch link\n sn.tagName === \"link\" && sn.attributes.rel === \"prefetch\" && typeof sn.attributes.href === \"string\" && extractFileExtension(sn.attributes.href) === \"js\")) {\n return true;\n } else if (slimDOMOptions.headFavicon && (sn.tagName === \"link\" && sn.attributes.rel === \"shortcut icon\" || sn.tagName === \"meta\" && (lowerIfExists(sn.attributes.name).match(\n /^msapplication-tile(image|color)$/\n ) || lowerIfExists(sn.attributes.name) === \"application-name\" || lowerIfExists(sn.attributes.rel) === \"icon\" || lowerIfExists(sn.attributes.rel) === \"apple-touch-icon\" || lowerIfExists(sn.attributes.rel) === \"shortcut icon\"))) {\n return true;\n } else if (sn.tagName === \"meta\") {\n if (slimDOMOptions.headMetaDescKeywords && lowerIfExists(sn.attributes.name).match(/^description|keywords$/)) {\n return true;\n } else if (slimDOMOptions.headMetaSocial && (lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/) || // og = opengraph (facebook)\n lowerIfExists(sn.attributes.name).match(/^(og|twitter):/) || lowerIfExists(sn.attributes.name) === \"pinterest\")) {\n return true;\n } else if (slimDOMOptions.headMetaRobots && (lowerIfExists(sn.attributes.name) === \"robots\" || lowerIfExists(sn.attributes.name) === \"googlebot\" || lowerIfExists(sn.attributes.name) === \"bingbot\")) {\n return true;\n } else if (slimDOMOptions.headMetaHttpEquiv && sn.attributes[\"http-equiv\"] !== void 0) {\n return true;\n } else if (slimDOMOptions.headMetaAuthorship && (lowerIfExists(sn.attributes.name) === \"author\" || lowerIfExists(sn.attributes.name) === \"generator\" || lowerIfExists(sn.attributes.name) === \"framework\" || lowerIfExists(sn.attributes.name) === \"publisher\" || lowerIfExists(sn.attributes.name) === \"progid\" || lowerIfExists(sn.attributes.property).match(/^article:/) || lowerIfExists(sn.attributes.property).match(/^product:/))) {\n return true;\n } else if (slimDOMOptions.headMetaVerification && (lowerIfExists(sn.attributes.name) === \"google-site-verification\" || lowerIfExists(sn.attributes.name) === \"yandex-verification\" || lowerIfExists(sn.attributes.name) === \"csrf-token\" || lowerIfExists(sn.attributes.name) === \"p:domain_verify\" || lowerIfExists(sn.attributes.name) === \"verify-v1\" || lowerIfExists(sn.attributes.name) === \"verification\" || lowerIfExists(sn.attributes.name) === \"shopify-checkout-api-token\")) {\n return true;\n }\n }\n }\n return false;\n}\nfunction serializeNodeWithId(n2, options) {\n const {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n skipChild = false,\n inlineStylesheet = true,\n maskInputOptions = {},\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions = {},\n inlineImages = false,\n recordCanvas = false,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout = 5e3,\n onStylesheetLoad,\n stylesheetLoadTimeout = 5e3,\n keepIframeSrcFn = () => false,\n newlyAddedElement = false\n } = options;\n let { needsMask } = options;\n let { preserveWhiteSpace = true } = options;\n if (!needsMask) {\n const checkAncestors = needsMask === void 0;\n needsMask = needMaskingText(\n n2,\n maskTextClass,\n maskTextSelector,\n checkAncestors\n );\n }\n const _serializedNode = serializeNode(n2, {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement\n });\n if (!_serializedNode) {\n console.warn(n2, \"not serialized\");\n return null;\n }\n let id;\n if (mirror2.hasNode(n2)) {\n id = mirror2.getId(n2);\n } else if (slimDOMExcluded(_serializedNode, slimDOMOptions) || !preserveWhiteSpace && _serializedNode.type === NodeType$2.Text && !_serializedNode.isStyle && !_serializedNode.textContent.replace(/^\\s+|\\s+$/gm, \"\").length) {\n id = IGNORED_NODE;\n } else {\n id = genId();\n }\n const serializedNode = Object.assign(_serializedNode, { id });\n mirror2.add(n2, serializedNode);\n if (id === IGNORED_NODE) {\n return null;\n }\n if (onSerialize) {\n onSerialize(n2);\n }\n let recordChild = !skipChild;\n if (serializedNode.type === NodeType$2.Element) {\n recordChild = recordChild && !serializedNode.needBlock;\n delete serializedNode.needBlock;\n const shadowRootEl = index$1.shadowRoot(n2);\n if (shadowRootEl && isNativeShadowDom(shadowRootEl))\n serializedNode.isShadowHost = true;\n }\n if ((serializedNode.type === NodeType$2.Document || serializedNode.type === NodeType$2.Element) && recordChild) {\n if (slimDOMOptions.headWhitespace && serializedNode.type === NodeType$2.Element && serializedNode.tagName === \"head\") {\n preserveWhiteSpace = false;\n }\n const bypassOptions = {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n };\n if (serializedNode.type === NodeType$2.Element && serializedNode.tagName === \"textarea\" && serializedNode.attributes.value !== void 0) ;\n else {\n for (const childN of Array.from(index$1.childNodes(n2))) {\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n if (serializedChildNode) {\n serializedNode.childNodes.push(serializedChildNode);\n }\n }\n }\n let shadowRootEl = null;\n if (isElement(n2) && (shadowRootEl = index$1.shadowRoot(n2))) {\n for (const childN of Array.from(index$1.childNodes(shadowRootEl))) {\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n if (serializedChildNode) {\n isNativeShadowDom(shadowRootEl) && (serializedChildNode.isShadow = true);\n serializedNode.childNodes.push(serializedChildNode);\n }\n }\n }\n }\n const parent = index$1.parentNode(n2);\n if (parent && isShadowRoot(parent) && isNativeShadowDom(parent)) {\n serializedNode.isShadow = true;\n }\n if (serializedNode.type === NodeType$2.Element && serializedNode.tagName === \"iframe\") {\n onceIframeLoaded(\n n2,\n () => {\n const iframeDoc = n2.contentDocument;\n if (iframeDoc && onIframeLoad) {\n const serializedIframeNode = serializeNodeWithId(iframeDoc, {\n doc: iframeDoc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n });\n if (serializedIframeNode) {\n onIframeLoad(\n n2,\n serializedIframeNode\n );\n }\n }\n },\n iframeLoadTimeout\n );\n }\n if (serializedNode.type === NodeType$2.Element && serializedNode.tagName === \"link\" && typeof serializedNode.attributes.rel === \"string\" && (serializedNode.attributes.rel === \"stylesheet\" || serializedNode.attributes.rel === \"preload\" && typeof serializedNode.attributes.href === \"string\" && extractFileExtension(serializedNode.attributes.href) === \"css\")) {\n onceStylesheetLoaded(\n n2,\n () => {\n if (onStylesheetLoad) {\n const serializedLinkNode = serializeNodeWithId(n2, {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n });\n if (serializedLinkNode) {\n onStylesheetLoad(\n n2,\n serializedLinkNode\n );\n }\n }\n },\n stylesheetLoadTimeout\n );\n }\n return serializedNode;\n}\nfunction snapshot(n2, options) {\n const {\n mirror: mirror2 = new Mirror(),\n blockClass = \"rr-block\",\n blockSelector = null,\n maskTextClass = \"rr-mask\",\n maskTextSelector = null,\n inlineStylesheet = true,\n inlineImages = false,\n recordCanvas = false,\n maskAllInputs = false,\n maskTextFn,\n maskInputFn,\n slimDOM = false,\n dataURLOptions,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn = () => false\n } = options || {};\n const maskInputOptions = maskAllInputs === true ? {\n color: true,\n date: true,\n \"datetime-local\": true,\n email: true,\n month: true,\n number: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true,\n textarea: true,\n select: true,\n password: true\n } : maskAllInputs === false ? {\n password: true\n } : maskAllInputs;\n const slimDOMOptions = slimDOM === true || slimDOM === \"all\" ? (\n // if true: set of sensible options that should not throw away any information\n {\n script: true,\n comment: true,\n headFavicon: true,\n headWhitespace: true,\n headMetaDescKeywords: slimDOM === \"all\",\n // destructive\n headMetaSocial: true,\n headMetaRobots: true,\n headMetaHttpEquiv: true,\n headMetaAuthorship: true,\n headMetaVerification: true\n }\n ) : slimDOM === false ? {} : slimDOM;\n return serializeNodeWithId(n2, {\n doc: n2,\n mirror: mirror2,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn,\n newlyAddedElement: false\n });\n}\nfunction getDefaultExportFromCjs$1(x2) {\n return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, \"default\") ? x2[\"default\"] : x2;\n}\nfunction getAugmentedNamespace$1(n2) {\n if (n2.__esModule) return n2;\n var f2 = n2.default;\n if (typeof f2 == \"function\") {\n var a2 = function a22() {\n if (this instanceof a22) {\n return Reflect.construct(f2, arguments, this.constructor);\n }\n return f2.apply(this, arguments);\n };\n a2.prototype = f2.prototype;\n } else a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar picocolors_browser$1 = { exports: {} };\nvar x$1 = String;\nvar create$1 = function() {\n return { isColorSupported: false, reset: x$1, bold: x$1, dim: x$1, italic: x$1, underline: x$1, inverse: x$1, hidden: x$1, strikethrough: x$1, black: x$1, red: x$1, green: x$1, yellow: x$1, blue: x$1, magenta: x$1, cyan: x$1, white: x$1, gray: x$1, bgBlack: x$1, bgRed: x$1, bgGreen: x$1, bgYellow: x$1, bgBlue: x$1, bgMagenta: x$1, bgCyan: x$1, bgWhite: x$1 };\n};\npicocolors_browser$1.exports = create$1();\npicocolors_browser$1.exports.createColors = create$1;\nvar picocolors_browserExports$1 = picocolors_browser$1.exports;\nconst __viteBrowserExternal$2 = {};\nconst __viteBrowserExternal$1$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal$2\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$2$1 = /* @__PURE__ */ getAugmentedNamespace$1(__viteBrowserExternal$1$1);\nlet pico$1 = picocolors_browserExports$1;\nlet terminalHighlight$1$1 = require$$2$1;\nlet CssSyntaxError$3$1 = class CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin22) {\n super(message);\n this.name = \"CssSyntaxError\";\n this.reason = message;\n if (file) {\n this.file = file;\n }\n if (source) {\n this.source = source;\n }\n if (plugin22) {\n this.plugin = plugin22;\n }\n if (typeof line !== \"undefined\" && typeof column !== \"undefined\") {\n if (typeof line === \"number\") {\n this.line = line;\n this.column = column;\n } else {\n this.line = line.line;\n this.column = line.column;\n this.endLine = column.line;\n this.endColumn = column.column;\n }\n }\n this.setMessage();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError);\n }\n }\n setMessage() {\n this.message = this.plugin ? this.plugin + \": \" : \"\";\n this.message += this.file ? this.file : \"<css input>\";\n if (typeof this.line !== \"undefined\") {\n this.message += \":\" + this.line + \":\" + this.column;\n }\n this.message += \": \" + this.reason;\n }\n showSourceCode(color) {\n if (!this.source) return \"\";\n let css = this.source;\n if (color == null) color = pico$1.isColorSupported;\n if (terminalHighlight$1$1) {\n if (color) css = terminalHighlight$1$1(css);\n }\n let lines = css.split(/\\r?\\n/);\n let start = Math.max(this.line - 3, 0);\n let end = Math.min(this.line + 2, lines.length);\n let maxWidth = String(end).length;\n let mark, aside;\n if (color) {\n let { bold, gray, red } = pico$1.createColors(true);\n mark = (text) => bold(red(text));\n aside = (text) => gray(text);\n } else {\n mark = aside = (str) => str;\n }\n return lines.slice(start, end).map((line, index2) => {\n let number = start + 1 + index2;\n let gutter = \" \" + (\" \" + number).slice(-maxWidth) + \" | \";\n if (number === this.line) {\n let spacing = aside(gutter.replace(/\\d/g, \" \")) + line.slice(0, this.column - 1).replace(/[^\\t]/g, \" \");\n return mark(\">\") + aside(gutter) + line + \"\\n \" + spacing + mark(\"^\");\n }\n return \" \" + aside(gutter) + line;\n }).join(\"\\n\");\n }\n toString() {\n let code = this.showSourceCode();\n if (code) {\n code = \"\\n\\n\" + code + \"\\n\";\n }\n return this.name + \": \" + this.message + code;\n }\n};\nvar cssSyntaxError$1 = CssSyntaxError$3$1;\nCssSyntaxError$3$1.default = CssSyntaxError$3$1;\nvar symbols$1 = {};\nsymbols$1.isClean = Symbol(\"isClean\");\nsymbols$1.my = Symbol(\"my\");\nconst DEFAULT_RAW$1 = {\n after: \"\\n\",\n beforeClose: \"\\n\",\n beforeComment: \"\\n\",\n beforeDecl: \"\\n\",\n beforeOpen: \" \",\n beforeRule: \"\\n\",\n colon: \": \",\n commentLeft: \" \",\n commentRight: \" \",\n emptyBody: \"\",\n indent: \" \",\n semicolon: false\n};\nfunction capitalize$1(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\nlet Stringifier$2$1 = class Stringifier {\n constructor(builder) {\n this.builder = builder;\n }\n atrule(node2, semicolon) {\n let name = \"@\" + node2.name;\n let params = node2.params ? this.rawValue(node2, \"params\") : \"\";\n if (typeof node2.raws.afterName !== \"undefined\") {\n name += node2.raws.afterName;\n } else if (params) {\n name += \" \";\n }\n if (node2.nodes) {\n this.block(node2, name + params);\n } else {\n let end = (node2.raws.between || \"\") + (semicolon ? \";\" : \"\");\n this.builder(name + params + end, node2);\n }\n }\n beforeAfter(node2, detect) {\n let value;\n if (node2.type === \"decl\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (node2.type === \"comment\") {\n value = this.raw(node2, null, \"beforeComment\");\n } else if (detect === \"before\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else {\n value = this.raw(node2, null, \"beforeClose\");\n }\n let buf = node2.parent;\n let depth = 0;\n while (buf && buf.type !== \"root\") {\n depth += 1;\n buf = buf.parent;\n }\n if (value.includes(\"\\n\")) {\n let indent = this.raw(node2, null, \"indent\");\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent;\n }\n }\n return value;\n }\n block(node2, start) {\n let between = this.raw(node2, \"between\", \"beforeOpen\");\n this.builder(start + between + \"{\", node2, \"start\");\n let after;\n if (node2.nodes && node2.nodes.length) {\n this.body(node2);\n after = this.raw(node2, \"after\");\n } else {\n after = this.raw(node2, \"after\", \"emptyBody\");\n }\n if (after) this.builder(after);\n this.builder(\"}\", node2, \"end\");\n }\n body(node2) {\n let last = node2.nodes.length - 1;\n while (last > 0) {\n if (node2.nodes[last].type !== \"comment\") break;\n last -= 1;\n }\n let semicolon = this.raw(node2, \"semicolon\");\n for (let i2 = 0; i2 < node2.nodes.length; i2++) {\n let child = node2.nodes[i2];\n let before = this.raw(child, \"before\");\n if (before) this.builder(before);\n this.stringify(child, last !== i2 || semicolon);\n }\n }\n comment(node2) {\n let left = this.raw(node2, \"left\", \"commentLeft\");\n let right = this.raw(node2, \"right\", \"commentRight\");\n this.builder(\"/*\" + left + node2.text + right + \"*/\", node2);\n }\n decl(node2, semicolon) {\n let between = this.raw(node2, \"between\", \"colon\");\n let string = node2.prop + between + this.rawValue(node2, \"value\");\n if (node2.important) {\n string += node2.raws.important || \" !important\";\n }\n if (semicolon) string += \";\";\n this.builder(string, node2);\n }\n document(node2) {\n this.body(node2);\n }\n raw(node2, own, detect) {\n let value;\n if (!detect) detect = own;\n if (own) {\n value = node2.raws[own];\n if (typeof value !== \"undefined\") return value;\n }\n let parent = node2.parent;\n if (detect === \"before\") {\n if (!parent || parent.type === \"root\" && parent.first === node2) {\n return \"\";\n }\n if (parent && parent.type === \"document\") {\n return \"\";\n }\n }\n if (!parent) return DEFAULT_RAW$1[detect];\n let root2 = node2.root();\n if (!root2.rawCache) root2.rawCache = {};\n if (typeof root2.rawCache[detect] !== \"undefined\") {\n return root2.rawCache[detect];\n }\n if (detect === \"before\" || detect === \"after\") {\n return this.beforeAfter(node2, detect);\n } else {\n let method = \"raw\" + capitalize$1(detect);\n if (this[method]) {\n value = this[method](root2, node2);\n } else {\n root2.walk((i2) => {\n value = i2.raws[own];\n if (typeof value !== \"undefined\") return false;\n });\n }\n }\n if (typeof value === \"undefined\") value = DEFAULT_RAW$1[detect];\n root2.rawCache[detect] = value;\n return value;\n }\n rawBeforeClose(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length > 0) {\n if (typeof i2.raws.after !== \"undefined\") {\n value = i2.raws.after;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawBeforeComment(root2, node2) {\n let value;\n root2.walkComments((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeDecl(root2, node2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeOpen(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.type !== \"decl\") {\n value = i2.raws.between;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawBeforeRule(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && (i2.parent !== root2 || root2.first !== i2)) {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawColon(root2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.between !== \"undefined\") {\n value = i2.raws.between.replace(/[^\\s:]/g, \"\");\n return false;\n }\n });\n return value;\n }\n rawEmptyBody(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length === 0) {\n value = i2.raws.after;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawIndent(root2) {\n if (root2.raws.indent) return root2.raws.indent;\n let value;\n root2.walk((i2) => {\n let p = i2.parent;\n if (p && p !== root2 && p.parent && p.parent === root2) {\n if (typeof i2.raws.before !== \"undefined\") {\n let parts = i2.raws.before.split(\"\\n\");\n value = parts[parts.length - 1];\n value = value.replace(/\\S/g, \"\");\n return false;\n }\n }\n });\n return value;\n }\n rawSemicolon(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length && i2.last.type === \"decl\") {\n value = i2.raws.semicolon;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawValue(node2, prop) {\n let value = node2[prop];\n let raw = node2.raws[prop];\n if (raw && raw.value === value) {\n return raw.raw;\n }\n return value;\n }\n root(node2) {\n this.body(node2);\n if (node2.raws.after) this.builder(node2.raws.after);\n }\n rule(node2) {\n this.block(node2, this.rawValue(node2, \"selector\"));\n if (node2.raws.ownSemicolon) {\n this.builder(node2.raws.ownSemicolon, node2, \"end\");\n }\n }\n stringify(node2, semicolon) {\n if (!this[node2.type]) {\n throw new Error(\n \"Unknown AST node type \" + node2.type + \". Maybe you need to change PostCSS stringifier.\"\n );\n }\n this[node2.type](node2, semicolon);\n }\n};\nvar stringifier$1 = Stringifier$2$1;\nStringifier$2$1.default = Stringifier$2$1;\nlet Stringifier$1$1 = stringifier$1;\nfunction stringify$4$1(node2, builder) {\n let str = new Stringifier$1$1(builder);\n str.stringify(node2);\n}\nvar stringify_1$1 = stringify$4$1;\nstringify$4$1.default = stringify$4$1;\nlet { isClean: isClean$2$1, my: my$2$1 } = symbols$1;\nlet CssSyntaxError$2$1 = cssSyntaxError$1;\nlet Stringifier2$1 = stringifier$1;\nlet stringify$3$1 = stringify_1$1;\nfunction cloneNode$1(obj, parent) {\n let cloned = new obj.constructor();\n for (let i2 in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i2)) {\n continue;\n }\n if (i2 === \"proxyCache\") continue;\n let value = obj[i2];\n let type = typeof value;\n if (i2 === \"parent\" && type === \"object\") {\n if (parent) cloned[i2] = parent;\n } else if (i2 === \"source\") {\n cloned[i2] = value;\n } else if (Array.isArray(value)) {\n cloned[i2] = value.map((j) => cloneNode$1(j, cloned));\n } else {\n if (type === \"object\" && value !== null) value = cloneNode$1(value);\n cloned[i2] = value;\n }\n }\n return cloned;\n}\nlet Node$4$1 = class Node2 {\n constructor(defaults = {}) {\n this.raws = {};\n this[isClean$2$1] = false;\n this[my$2$1] = true;\n for (let name in defaults) {\n if (name === \"nodes\") {\n this.nodes = [];\n for (let node2 of defaults[name]) {\n if (typeof node2.clone === \"function\") {\n this.append(node2.clone());\n } else {\n this.append(node2);\n }\n }\n } else {\n this[name] = defaults[name];\n }\n }\n }\n addToError(error) {\n error.postcssNode = this;\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s2 = this.source;\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s2.input.from}:${s2.start.line}:${s2.start.column}$&`\n );\n }\n return error;\n }\n after(add) {\n this.parent.insertAfter(this, add);\n return this;\n }\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name];\n }\n return this;\n }\n before(add) {\n this.parent.insertBefore(this, add);\n return this;\n }\n cleanRaws(keepBetween) {\n delete this.raws.before;\n delete this.raws.after;\n if (!keepBetween) delete this.raws.between;\n }\n clone(overrides = {}) {\n let cloned = cloneNode$1(this);\n for (let name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertAfter(this, cloned);\n return cloned;\n }\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertBefore(this, cloned);\n return cloned;\n }\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts);\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n );\n }\n return new CssSyntaxError$2$1(message);\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"prop\" || prop === \"value\" || prop === \"name\" || prop === \"params\" || prop === \"important\" || /* c8 ignore next */\n prop === \"text\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n markDirty() {\n if (this[isClean$2$1]) {\n this[isClean$2$1] = false;\n let next = this;\n while (next = next.parent) {\n next[isClean$2$1] = false;\n }\n }\n }\n next() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 + 1];\n }\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start;\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation);\n } else if (opts.word) {\n stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) pos = this.positionInside(index2, stringRepresentation);\n }\n return pos;\n }\n positionInside(index2, stringRepresentation) {\n let string = stringRepresentation || this.toString();\n let column = this.source.start.column;\n let line = this.source.start.line;\n for (let i2 = 0; i2 < index2; i2++) {\n if (string[i2] === \"\\n\") {\n column = 1;\n line += 1;\n } else {\n column += 1;\n }\n }\n return { column, line };\n }\n prev() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 - 1];\n }\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n };\n let end = this.source.end ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n } : {\n column: start.column + 1,\n line: start.line\n };\n if (opts.word) {\n let stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) {\n start = this.positionInside(index2, stringRepresentation);\n end = this.positionInside(index2 + opts.word.length, stringRepresentation);\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n };\n } else if (opts.index) {\n start = this.positionInside(opts.index);\n }\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n };\n } else if (typeof opts.endIndex === \"number\") {\n end = this.positionInside(opts.endIndex);\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1);\n }\n }\n if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n end = { column: start.column + 1, line: start.line };\n }\n return { end, start };\n }\n raw(prop, defaultType) {\n let str = new Stringifier2$1();\n return str.raw(this, prop, defaultType);\n }\n remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = void 0;\n return this;\n }\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this;\n let foundSelf = false;\n for (let node2 of nodes) {\n if (node2 === this) {\n foundSelf = true;\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node2);\n bookmark = node2;\n } else {\n this.parent.insertBefore(bookmark, node2);\n }\n }\n if (!foundSelf) {\n this.remove();\n }\n }\n return this;\n }\n root() {\n let result2 = this;\n while (result2.parent && result2.parent.type !== \"document\") {\n result2 = result2.parent;\n }\n return result2;\n }\n toJSON(_, inputs) {\n let fixed = {};\n let emitInputs = inputs == null;\n inputs = inputs || /* @__PURE__ */ new Map();\n let inputsNextIndex = 0;\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n continue;\n }\n if (name === \"parent\" || name === \"proxyCache\") continue;\n let value = this[name];\n if (Array.isArray(value)) {\n fixed[name] = value.map((i2) => {\n if (typeof i2 === \"object\" && i2.toJSON) {\n return i2.toJSON(null, inputs);\n } else {\n return i2;\n }\n });\n } else if (typeof value === \"object\" && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs);\n } else if (name === \"source\") {\n let inputId = inputs.get(value.input);\n if (inputId == null) {\n inputId = inputsNextIndex;\n inputs.set(value.input, inputsNextIndex);\n inputsNextIndex++;\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n };\n } else {\n fixed[name] = value;\n }\n }\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map((input2) => input2.toJSON());\n }\n return fixed;\n }\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor());\n }\n return this.proxyCache;\n }\n toString(stringifier2 = stringify$3$1) {\n if (stringifier2.stringify) stringifier2 = stringifier2.stringify;\n let result2 = \"\";\n stringifier2(this, (i2) => {\n result2 += i2;\n });\n return result2;\n }\n warn(result2, text, opts) {\n let data = { node: this };\n for (let i2 in opts) data[i2] = opts[i2];\n return result2.warn(text, data);\n }\n get proxyOf() {\n return this;\n }\n};\nvar node$1 = Node$4$1;\nNode$4$1.default = Node$4$1;\nlet Node$3$1 = node$1;\nlet Declaration$4$1 = class Declaration extends Node$3$1 {\n constructor(defaults) {\n if (defaults && typeof defaults.value !== \"undefined\" && typeof defaults.value !== \"string\") {\n defaults = { ...defaults, value: String(defaults.value) };\n }\n super(defaults);\n this.type = \"decl\";\n }\n get variable() {\n return this.prop.startsWith(\"--\") || this.prop[0] === \"$\";\n }\n};\nvar declaration$1 = Declaration$4$1;\nDeclaration$4$1.default = Declaration$4$1;\nlet urlAlphabet$1 = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet$1 = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid$1$1 = (size = 21) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += urlAlphabet$1[Math.random() * 64 | 0];\n }\n return id;\n};\nvar nonSecure$1 = { nanoid: nanoid$1$1, customAlphabet: customAlphabet$1 };\nlet { SourceMapConsumer: SourceMapConsumer$2$1, SourceMapGenerator: SourceMapGenerator$2$1 } = require$$2$1;\nlet { existsSync: existsSync$1, readFileSync: readFileSync$1 } = require$$2$1;\nlet { dirname: dirname$1$1, join: join$1 } = require$$2$1;\nfunction fromBase64$1(str) {\n if (Buffer) {\n return Buffer.from(str, \"base64\").toString();\n } else {\n return window.atob(str);\n }\n}\nlet PreviousMap$2$1 = class PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return;\n this.loadAnnotation(css);\n this.inline = this.startWith(this.annotation, \"data:\");\n let prev = opts.map ? opts.map.prev : void 0;\n let text = this.loadMap(opts.from, prev);\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from;\n }\n if (this.mapFile) this.root = dirname$1$1(this.mapFile);\n if (text) this.text = text;\n }\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer$2$1(this.text);\n }\n return this.consumerCache;\n }\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n let baseUri = /^data:application\\/json;base64,/;\n let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n let uri = /^data:application\\/json,/;\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length));\n }\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64$1(text.substr(RegExp.lastMatch.length));\n }\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n throw new Error(\"Unsupported source map encoding \" + encoding);\n }\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, \"\").trim();\n }\n isMap(map) {\n if (typeof map !== \"object\") return false;\n return typeof map.mappings === \"string\" || typeof map._mappings === \"string\" || Array.isArray(map.sections);\n }\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm);\n if (!comments) return;\n let start = css.lastIndexOf(comments.pop());\n let end = css.indexOf(\"*/\", start);\n if (start > -1 && end > -1) {\n this.annotation = this.getAnnotationURL(css.substring(start, end));\n }\n }\n loadFile(path) {\n this.root = dirname$1$1(path);\n if (existsSync$1(path)) {\n this.mapFile = path;\n return readFileSync$1(path, \"utf-8\").toString().trim();\n }\n }\n loadMap(file, prev) {\n if (prev === false) return false;\n if (prev) {\n if (typeof prev === \"string\") {\n return prev;\n } else if (typeof prev === \"function\") {\n let prevPath = prev(file);\n if (prevPath) {\n let map = this.loadFile(prevPath);\n if (!map) {\n throw new Error(\n \"Unable to load previous source map: \" + prevPath.toString()\n );\n }\n return map;\n }\n } else if (prev instanceof SourceMapConsumer$2$1) {\n return SourceMapGenerator$2$1.fromSourceMap(prev).toString();\n } else if (prev instanceof SourceMapGenerator$2$1) {\n return prev.toString();\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev);\n } else {\n throw new Error(\n \"Unsupported previous source map format: \" + prev.toString()\n );\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation);\n } else if (this.annotation) {\n let map = this.annotation;\n if (file) map = join$1(dirname$1$1(file), map);\n return this.loadFile(map);\n }\n }\n startWith(string, start) {\n if (!string) return false;\n return string.substr(0, start.length) === start;\n }\n withContent() {\n return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n }\n};\nvar previousMap$1 = PreviousMap$2$1;\nPreviousMap$2$1.default = PreviousMap$2$1;\nlet { SourceMapConsumer: SourceMapConsumer$1$1, SourceMapGenerator: SourceMapGenerator$1$1 } = require$$2$1;\nlet { fileURLToPath: fileURLToPath$1, pathToFileURL: pathToFileURL$1$1 } = require$$2$1;\nlet { isAbsolute: isAbsolute$1, resolve: resolve$1$1 } = require$$2$1;\nlet { nanoid: nanoid$2 } = nonSecure$1;\nlet terminalHighlight$2 = require$$2$1;\nlet CssSyntaxError$1$1 = cssSyntaxError$1;\nlet PreviousMap$1$1 = previousMap$1;\nlet fromOffsetCache$1 = Symbol(\"fromOffsetCache\");\nlet sourceMapAvailable$1$1 = Boolean(SourceMapConsumer$1$1 && SourceMapGenerator$1$1);\nlet pathAvailable$1$1 = Boolean(resolve$1$1 && isAbsolute$1);\nlet Input$4$1 = class Input {\n constructor(css, opts = {}) {\n if (css === null || typeof css === \"undefined\" || typeof css === \"object\" && !css.toString) {\n throw new Error(`PostCSS received ${css} instead of CSS string`);\n }\n this.css = css.toString();\n if (this.css[0] === \"\\uFEFF\" || this.css[0] === \"￾\") {\n this.hasBOM = true;\n this.css = this.css.slice(1);\n } else {\n this.hasBOM = false;\n }\n if (opts.from) {\n if (!pathAvailable$1$1 || /^\\w+:\\/\\//.test(opts.from) || isAbsolute$1(opts.from)) {\n this.file = opts.from;\n } else {\n this.file = resolve$1$1(opts.from);\n }\n }\n if (pathAvailable$1$1 && sourceMapAvailable$1$1) {\n let map = new PreviousMap$1$1(this.css, opts);\n if (map.text) {\n this.map = map;\n let file = map.consumer().file;\n if (!this.file && file) this.file = this.mapResolve(file);\n }\n }\n if (!this.file) {\n this.id = \"<input css \" + nanoid$2(6) + \">\";\n }\n if (this.map) this.map.file = this.from;\n }\n error(message, line, column, opts = {}) {\n let result2, endLine, endColumn;\n if (line && typeof line === \"object\") {\n let start = line;\n let end = column;\n if (typeof start.offset === \"number\") {\n let pos = this.fromOffset(start.offset);\n line = pos.line;\n column = pos.col;\n } else {\n line = start.line;\n column = start.column;\n }\n if (typeof end.offset === \"number\") {\n let pos = this.fromOffset(end.offset);\n endLine = pos.line;\n endColumn = pos.col;\n } else {\n endLine = end.line;\n endColumn = end.column;\n }\n } else if (!column) {\n let pos = this.fromOffset(line);\n line = pos.line;\n column = pos.col;\n }\n let origin = this.origin(line, column, endLine, endColumn);\n if (origin) {\n result2 = new CssSyntaxError$1$1(\n message,\n origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },\n origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n );\n } else {\n result2 = new CssSyntaxError$1$1(\n message,\n endLine === void 0 ? line : { column, line },\n endLine === void 0 ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n );\n }\n result2.input = { column, endColumn, endLine, line, source: this.css };\n if (this.file) {\n if (pathToFileURL$1$1) {\n result2.input.url = pathToFileURL$1$1(this.file).toString();\n }\n result2.input.file = this.file;\n }\n return result2;\n }\n fromOffset(offset) {\n let lastLine, lineToIndex;\n if (!this[fromOffsetCache$1]) {\n let lines = this.css.split(\"\\n\");\n lineToIndex = new Array(lines.length);\n let prevIndex = 0;\n for (let i2 = 0, l2 = lines.length; i2 < l2; i2++) {\n lineToIndex[i2] = prevIndex;\n prevIndex += lines[i2].length + 1;\n }\n this[fromOffsetCache$1] = lineToIndex;\n } else {\n lineToIndex = this[fromOffsetCache$1];\n }\n lastLine = lineToIndex[lineToIndex.length - 1];\n let min = 0;\n if (offset >= lastLine) {\n min = lineToIndex.length - 1;\n } else {\n let max = lineToIndex.length - 2;\n let mid;\n while (min < max) {\n mid = min + (max - min >> 1);\n if (offset < lineToIndex[mid]) {\n max = mid - 1;\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1;\n } else {\n min = mid;\n break;\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n };\n }\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file;\n }\n return resolve$1$1(this.map.consumer().sourceRoot || this.map.root || \".\", file);\n }\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false;\n let consumer = this.map.consumer();\n let from = consumer.originalPositionFor({ column, line });\n if (!from.source) return false;\n let to;\n if (typeof endLine === \"number\") {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine });\n }\n let fromUrl;\n if (isAbsolute$1(from.source)) {\n fromUrl = pathToFileURL$1$1(from.source);\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL$1$1(this.map.mapFile)\n );\n }\n let result2 = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n };\n if (fromUrl.protocol === \"file:\") {\n if (fileURLToPath$1) {\n result2.file = fileURLToPath$1(fromUrl);\n } else {\n throw new Error(`file: protocol is not available in this PostCSS build`);\n }\n }\n let source = consumer.sourceContentFor(from.source);\n if (source) result2.source = source;\n return result2;\n }\n toJSON() {\n let json = {};\n for (let name of [\"hasBOM\", \"css\", \"file\", \"id\"]) {\n if (this[name] != null) {\n json[name] = this[name];\n }\n }\n if (this.map) {\n json.map = { ...this.map };\n if (json.map.consumerCache) {\n json.map.consumerCache = void 0;\n }\n }\n return json;\n }\n get from() {\n return this.file || this.id;\n }\n};\nvar input$1 = Input$4$1;\nInput$4$1.default = Input$4$1;\nif (terminalHighlight$2 && terminalHighlight$2.registerInput) {\n terminalHighlight$2.registerInput(Input$4$1);\n}\nlet { SourceMapConsumer: SourceMapConsumer$3, SourceMapGenerator: SourceMapGenerator$3 } = require$$2$1;\nlet { dirname: dirname$2, relative: relative$1, resolve: resolve$2, sep: sep$1 } = require$$2$1;\nlet { pathToFileURL: pathToFileURL$2 } = require$$2$1;\nlet Input$3$1 = input$1;\nlet sourceMapAvailable$2 = Boolean(SourceMapConsumer$3 && SourceMapGenerator$3);\nlet pathAvailable$2 = Boolean(dirname$2 && resolve$2 && relative$1 && sep$1);\nlet MapGenerator$2$1 = class MapGenerator {\n constructor(stringify2, root2, opts, cssString) {\n this.stringify = stringify2;\n this.mapOpts = opts.map || {};\n this.root = root2;\n this.opts = opts;\n this.css = cssString;\n this.originalCSS = cssString;\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n this.memoizedFileURLs = /* @__PURE__ */ new Map();\n this.memoizedPaths = /* @__PURE__ */ new Map();\n this.memoizedURLs = /* @__PURE__ */ new Map();\n }\n addAnnotation() {\n let content;\n if (this.isInline()) {\n content = \"data:application/json;base64,\" + this.toBase64(this.map.toString());\n } else if (typeof this.mapOpts.annotation === \"string\") {\n content = this.mapOpts.annotation;\n } else if (typeof this.mapOpts.annotation === \"function\") {\n content = this.mapOpts.annotation(this.opts.to, this.root);\n } else {\n content = this.outputFile() + \".map\";\n }\n let eol = \"\\n\";\n if (this.css.includes(\"\\r\\n\")) eol = \"\\r\\n\";\n this.css += eol + \"/*# sourceMappingURL=\" + content + \" */\";\n }\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file));\n let root2 = prev.root || dirname$2(prev.file);\n let map;\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer$3(prev.text);\n if (map.sourcesContent) {\n map.sourcesContent = null;\n }\n } else {\n map = prev.consumer();\n }\n this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));\n }\n }\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return;\n if (this.root) {\n let node2;\n for (let i2 = this.root.nodes.length - 1; i2 >= 0; i2--) {\n node2 = this.root.nodes[i2];\n if (node2.type !== \"comment\") continue;\n if (node2.text.indexOf(\"# sourceMappingURL=\") === 0) {\n this.root.removeChild(i2);\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, \"\");\n }\n }\n generate() {\n this.clearAnnotation();\n if (pathAvailable$2 && sourceMapAvailable$2 && this.isMap()) {\n return this.generateMap();\n } else {\n let result2 = \"\";\n this.stringify(this.root, (i2) => {\n result2 += i2;\n });\n return [result2];\n }\n }\n generateMap() {\n if (this.root) {\n this.generateString();\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer();\n prev.file = this.outputFile();\n this.map = SourceMapGenerator$3.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n });\n } else {\n this.map = new SourceMapGenerator$3({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\"\n });\n }\n if (this.isSourcesContent()) this.setSourcesContent();\n if (this.root && this.previous().length > 0) this.applyPrevMaps();\n if (this.isAnnotation()) this.addAnnotation();\n if (this.isInline()) {\n return [this.css];\n } else {\n return [this.css, this.map];\n }\n }\n generateString() {\n this.css = \"\";\n this.map = new SourceMapGenerator$3({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n let line = 1;\n let column = 1;\n let noSource = \"<no source>\";\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: \"\"\n };\n let lines, last;\n this.stringify(this.root, (str, node2, type) => {\n this.css += str;\n if (node2 && type !== \"end\") {\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n if (node2.source && node2.source.start) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.start.line;\n mapping.original.column = node2.source.start.column - 1;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n this.map.addMapping(mapping);\n }\n }\n lines = str.match(/\\n/g);\n if (lines) {\n line += lines.length;\n last = str.lastIndexOf(\"\\n\");\n column = str.length - last;\n } else {\n column += str.length;\n }\n if (node2 && type !== \"start\") {\n let p = node2.parent || { raws: {} };\n let childless = node2.type === \"decl\" || node2.type === \"atrule\" && !node2.nodes;\n if (!childless || node2 !== p.last || p.raws.semicolon) {\n if (node2.source && node2.source.end) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.end.line;\n mapping.original.column = node2.source.end.column - 1;\n mapping.generated.line = line;\n mapping.generated.column = column - 2;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n this.map.addMapping(mapping);\n }\n }\n }\n });\n }\n isAnnotation() {\n if (this.isInline()) {\n return true;\n }\n if (typeof this.mapOpts.annotation !== \"undefined\") {\n return this.mapOpts.annotation;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.annotation);\n }\n return true;\n }\n isInline() {\n if (typeof this.mapOpts.inline !== \"undefined\") {\n return this.mapOpts.inline;\n }\n let annotation = this.mapOpts.annotation;\n if (typeof annotation !== \"undefined\" && annotation !== true) {\n return false;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.inline);\n }\n return true;\n }\n isMap() {\n if (typeof this.opts.map !== \"undefined\") {\n return !!this.opts.map;\n }\n return this.previous().length > 0;\n }\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== \"undefined\") {\n return this.mapOpts.sourcesContent;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.withContent());\n }\n return true;\n }\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to);\n } else if (this.opts.from) {\n return this.path(this.opts.from);\n } else {\n return \"to.css\";\n }\n }\n path(file) {\n if (this.mapOpts.absolute) return file;\n if (file.charCodeAt(0) === 60) return file;\n if (/^\\w+:\\/\\//.test(file)) return file;\n let cached = this.memoizedPaths.get(file);\n if (cached) return cached;\n let from = this.opts.to ? dirname$2(this.opts.to) : \".\";\n if (typeof this.mapOpts.annotation === \"string\") {\n from = dirname$2(resolve$2(from, this.mapOpts.annotation));\n }\n let path = relative$1(from, file);\n this.memoizedPaths.set(file, path);\n return path;\n }\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = [];\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source && node2.source.input.map) {\n let map = node2.source.input.map;\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map);\n }\n }\n });\n } else {\n let input2 = new Input$3$1(this.originalCSS, this.opts);\n if (input2.map) this.previousMaps.push(input2.map);\n }\n }\n return this.previousMaps;\n }\n setSourcesContent() {\n let already = {};\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source) {\n let from = node2.source.input.from;\n if (from && !already[from]) {\n already[from] = true;\n let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n this.map.setSourceContent(fromUrl, node2.source.input.css);\n }\n }\n });\n } else if (this.css) {\n let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\";\n this.map.setSourceContent(from, this.css);\n }\n }\n sourcePath(node2) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from);\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node2.source.input.from);\n } else {\n return this.toUrl(this.path(node2.source.input.from));\n }\n }\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString(\"base64\");\n } else {\n return window.btoa(unescape(encodeURIComponent(str)));\n }\n }\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path);\n if (cached) return cached;\n if (pathToFileURL$2) {\n let fileURL = pathToFileURL$2(path).toString();\n this.memoizedFileURLs.set(path, fileURL);\n return fileURL;\n } else {\n throw new Error(\n \"`map.absolute` option is not available in this PostCSS build\"\n );\n }\n }\n toUrl(path) {\n let cached = this.memoizedURLs.get(path);\n if (cached) return cached;\n if (sep$1 === \"\\\\\") {\n path = path.replace(/\\\\/g, \"/\");\n }\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n this.memoizedURLs.set(path, url);\n return url;\n }\n};\nvar mapGenerator$1 = MapGenerator$2$1;\nlet Node$2$1 = node$1;\nlet Comment$4$1 = class Comment extends Node$2$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"comment\";\n }\n};\nvar comment$1 = Comment$4$1;\nComment$4$1.default = Comment$4$1;\nlet { isClean: isClean$1$1, my: my$1$1 } = symbols$1;\nlet Declaration$3$1 = declaration$1;\nlet Comment$3$1 = comment$1;\nlet Node$1$1 = node$1;\nlet parse$4$1, Rule$4$1, AtRule$4$1, Root$6$1;\nfunction cleanSource$1(nodes) {\n return nodes.map((i2) => {\n if (i2.nodes) i2.nodes = cleanSource$1(i2.nodes);\n delete i2.source;\n return i2;\n });\n}\nfunction markDirtyUp$1(node2) {\n node2[isClean$1$1] = false;\n if (node2.proxyOf.nodes) {\n for (let i2 of node2.proxyOf.nodes) {\n markDirtyUp$1(i2);\n }\n }\n}\nlet Container$7$1 = class Container extends Node$1$1 {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last);\n for (let node2 of nodes) this.proxyOf.nodes.push(node2);\n }\n this.markDirty();\n return this;\n }\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween);\n if (this.nodes) {\n for (let node2 of this.nodes) node2.cleanRaws(keepBetween);\n }\n }\n each(callback) {\n if (!this.proxyOf.nodes) return void 0;\n let iterator = this.getIterator();\n let index2, result2;\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index2 = this.indexes[iterator];\n result2 = callback(this.proxyOf.nodes[index2], index2);\n if (result2 === false) break;\n this.indexes[iterator] += 1;\n }\n delete this.indexes[iterator];\n return result2;\n }\n every(condition) {\n return this.nodes.every(condition);\n }\n getIterator() {\n if (!this.lastEach) this.lastEach = 0;\n if (!this.indexes) this.indexes = {};\n this.lastEach += 1;\n let iterator = this.lastEach;\n this.indexes[iterator] = 0;\n return iterator;\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (!node2[prop]) {\n return node2[prop];\n } else if (prop === \"each\" || typeof prop === \"string\" && prop.startsWith(\"walk\")) {\n return (...args) => {\n return node2[prop](\n ...args.map((i2) => {\n if (typeof i2 === \"function\") {\n return (child, index2) => i2(child.toProxy(), index2);\n } else {\n return i2;\n }\n })\n );\n };\n } else if (prop === \"every\" || prop === \"some\") {\n return (cb) => {\n return node2[prop](\n (child, ...other) => cb(child.toProxy(), ...other)\n );\n };\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else if (prop === \"nodes\") {\n return node2.nodes.map((i2) => i2.toProxy());\n } else if (prop === \"first\" || prop === \"last\") {\n return node2[prop].toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"name\" || prop === \"params\" || prop === \"selector\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n index(child) {\n if (typeof child === \"number\") return child;\n if (child.proxyOf) child = child.proxyOf;\n return this.proxyOf.nodes.indexOf(child);\n }\n insertAfter(exist, add) {\n let existIndex = this.index(exist);\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex < index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n insertBefore(exist, add) {\n let existIndex = this.index(exist);\n let type = existIndex === 0 ? \"prepend\" : false;\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex <= index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n normalize(nodes, sample) {\n if (typeof nodes === \"string\") {\n nodes = cleanSource$1(parse$4$1(nodes).nodes);\n } else if (typeof nodes === \"undefined\") {\n nodes = [];\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type === \"root\" && this.type !== \"document\") {\n nodes = nodes.nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type) {\n nodes = [nodes];\n } else if (nodes.prop) {\n if (typeof nodes.value === \"undefined\") {\n throw new Error(\"Value field is missed in node creation\");\n } else if (typeof nodes.value !== \"string\") {\n nodes.value = String(nodes.value);\n }\n nodes = [new Declaration$3$1(nodes)];\n } else if (nodes.selector) {\n nodes = [new Rule$4$1(nodes)];\n } else if (nodes.name) {\n nodes = [new AtRule$4$1(nodes)];\n } else if (nodes.text) {\n nodes = [new Comment$3$1(nodes)];\n } else {\n throw new Error(\"Unknown node type in node creation\");\n }\n let processed = nodes.map((i2) => {\n if (!i2[my$1$1]) Container.rebuild(i2);\n i2 = i2.proxyOf;\n if (i2.parent) i2.parent.removeChild(i2);\n if (i2[isClean$1$1]) markDirtyUp$1(i2);\n if (typeof i2.raws.before === \"undefined\") {\n if (sample && typeof sample.raws.before !== \"undefined\") {\n i2.raws.before = sample.raws.before.replace(/\\S/g, \"\");\n }\n }\n i2.parent = this.proxyOf;\n return i2;\n });\n return processed;\n }\n prepend(...children) {\n children = children.reverse();\n for (let child of children) {\n let nodes = this.normalize(child, this.first, \"prepend\").reverse();\n for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n push(child) {\n child.parent = this;\n this.proxyOf.nodes.push(child);\n return this;\n }\n removeAll() {\n for (let node2 of this.proxyOf.nodes) node2.parent = void 0;\n this.proxyOf.nodes = [];\n this.markDirty();\n return this;\n }\n removeChild(child) {\n child = this.index(child);\n this.proxyOf.nodes[child].parent = void 0;\n this.proxyOf.nodes.splice(child, 1);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (index2 >= child) {\n this.indexes[id] = index2 - 1;\n }\n }\n this.markDirty();\n return this;\n }\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts;\n opts = {};\n }\n this.walkDecls((decl) => {\n if (opts.props && !opts.props.includes(decl.prop)) return;\n if (opts.fast && !decl.value.includes(opts.fast)) return;\n decl.value = decl.value.replace(pattern, callback);\n });\n this.markDirty();\n return this;\n }\n some(condition) {\n return this.nodes.some(condition);\n }\n walk(callback) {\n return this.each((child, i2) => {\n let result2;\n try {\n result2 = callback(child, i2);\n } catch (e2) {\n throw child.addToError(e2);\n }\n if (result2 !== false && child.walk) {\n result2 = child.walk(callback);\n }\n return result2;\n });\n }\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name;\n return this.walk((child, i2) => {\n if (child.type === \"atrule\") {\n return callback(child, i2);\n }\n });\n }\n if (name instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && name.test(child.name)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && child.name === name) {\n return callback(child, i2);\n }\n });\n }\n walkComments(callback) {\n return this.walk((child, i2) => {\n if (child.type === \"comment\") {\n return callback(child, i2);\n }\n });\n }\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop;\n return this.walk((child, i2) => {\n if (child.type === \"decl\") {\n return callback(child, i2);\n }\n });\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && prop.test(child.prop)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && child.prop === prop) {\n return callback(child, i2);\n }\n });\n }\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector;\n return this.walk((child, i2) => {\n if (child.type === \"rule\") {\n return callback(child, i2);\n }\n });\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && selector.test(child.selector)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && child.selector === selector) {\n return callback(child, i2);\n }\n });\n }\n get first() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[0];\n }\n get last() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n }\n};\nContainer$7$1.registerParse = (dependant) => {\n parse$4$1 = dependant;\n};\nContainer$7$1.registerRule = (dependant) => {\n Rule$4$1 = dependant;\n};\nContainer$7$1.registerAtRule = (dependant) => {\n AtRule$4$1 = dependant;\n};\nContainer$7$1.registerRoot = (dependant) => {\n Root$6$1 = dependant;\n};\nvar container$1 = Container$7$1;\nContainer$7$1.default = Container$7$1;\nContainer$7$1.rebuild = (node2) => {\n if (node2.type === \"atrule\") {\n Object.setPrototypeOf(node2, AtRule$4$1.prototype);\n } else if (node2.type === \"rule\") {\n Object.setPrototypeOf(node2, Rule$4$1.prototype);\n } else if (node2.type === \"decl\") {\n Object.setPrototypeOf(node2, Declaration$3$1.prototype);\n } else if (node2.type === \"comment\") {\n Object.setPrototypeOf(node2, Comment$3$1.prototype);\n } else if (node2.type === \"root\") {\n Object.setPrototypeOf(node2, Root$6$1.prototype);\n }\n node2[my$1$1] = true;\n if (node2.nodes) {\n node2.nodes.forEach((child) => {\n Container$7$1.rebuild(child);\n });\n }\n};\nlet Container$6$1 = container$1;\nlet LazyResult$4$1, Processor$3$1;\nlet Document$3$1 = class Document2 extends Container$6$1 {\n constructor(defaults) {\n super({ type: \"document\", ...defaults });\n if (!this.nodes) {\n this.nodes = [];\n }\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$4$1(new Processor$3$1(), this, opts);\n return lazy.stringify();\n }\n};\nDocument$3$1.registerLazyResult = (dependant) => {\n LazyResult$4$1 = dependant;\n};\nDocument$3$1.registerProcessor = (dependant) => {\n Processor$3$1 = dependant;\n};\nvar document$1$1 = Document$3$1;\nDocument$3$1.default = Document$3$1;\nlet printed$1 = {};\nvar warnOnce$2$1 = function warnOnce(message) {\n if (printed$1[message]) return;\n printed$1[message] = true;\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(message);\n }\n};\nlet Warning$2$1 = class Warning {\n constructor(text, opts = {}) {\n this.type = \"warning\";\n this.text = text;\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts);\n this.line = range.start.line;\n this.column = range.start.column;\n this.endLine = range.end.line;\n this.endColumn = range.end.column;\n }\n for (let opt in opts) this[opt] = opts[opt];\n }\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message;\n }\n if (this.plugin) {\n return this.plugin + \": \" + this.text;\n }\n return this.text;\n }\n};\nvar warning$1 = Warning$2$1;\nWarning$2$1.default = Warning$2$1;\nlet Warning$1$1 = warning$1;\nlet Result$3$1 = class Result {\n constructor(processor2, root2, opts) {\n this.processor = processor2;\n this.messages = [];\n this.root = root2;\n this.opts = opts;\n this.css = void 0;\n this.map = void 0;\n }\n toString() {\n return this.css;\n }\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin;\n }\n }\n let warning2 = new Warning$1$1(text, opts);\n this.messages.push(warning2);\n return warning2;\n }\n warnings() {\n return this.messages.filter((i2) => i2.type === \"warning\");\n }\n get content() {\n return this.css;\n }\n};\nvar result$1 = Result$3$1;\nResult$3$1.default = Result$3$1;\nconst SINGLE_QUOTE$1 = \"'\".charCodeAt(0);\nconst DOUBLE_QUOTE$1 = '\"'.charCodeAt(0);\nconst BACKSLASH$1 = \"\\\\\".charCodeAt(0);\nconst SLASH$1 = \"/\".charCodeAt(0);\nconst NEWLINE$1 = \"\\n\".charCodeAt(0);\nconst SPACE$1 = \" \".charCodeAt(0);\nconst FEED$1 = \"\\f\".charCodeAt(0);\nconst TAB$1 = \"\t\".charCodeAt(0);\nconst CR$1 = \"\\r\".charCodeAt(0);\nconst OPEN_SQUARE$1 = \"[\".charCodeAt(0);\nconst CLOSE_SQUARE$1 = \"]\".charCodeAt(0);\nconst OPEN_PARENTHESES$1 = \"(\".charCodeAt(0);\nconst CLOSE_PARENTHESES$1 = \")\".charCodeAt(0);\nconst OPEN_CURLY$1 = \"{\".charCodeAt(0);\nconst CLOSE_CURLY$1 = \"}\".charCodeAt(0);\nconst SEMICOLON$1 = \";\".charCodeAt(0);\nconst ASTERISK$1 = \"*\".charCodeAt(0);\nconst COLON$1 = \":\".charCodeAt(0);\nconst AT$1 = \"@\".charCodeAt(0);\nconst RE_AT_END$1 = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\nconst RE_WORD_END$1 = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\nconst RE_BAD_BRACKET$1 = /.[\\r\\n\"'(/\\\\]/;\nconst RE_HEX_ESCAPE$1 = /[\\da-f]/i;\nvar tokenize$1 = function tokenizer(input2, options = {}) {\n let css = input2.css.valueOf();\n let ignore = options.ignoreErrors;\n let code, next, quote, content, escape;\n let escaped, escapePos, prev, n2, currentToken;\n let length = css.length;\n let pos = 0;\n let buffer = [];\n let returned = [];\n function position() {\n return pos;\n }\n function unclosed(what) {\n throw input2.error(\"Unclosed \" + what, pos);\n }\n function endOfFile() {\n return returned.length === 0 && pos >= length;\n }\n function nextToken(opts) {\n if (returned.length) return returned.pop();\n if (pos >= length) return;\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n code = css.charCodeAt(pos);\n switch (code) {\n case NEWLINE$1:\n case SPACE$1:\n case TAB$1:\n case CR$1:\n case FEED$1: {\n next = pos;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === SPACE$1 || code === NEWLINE$1 || code === TAB$1 || code === CR$1 || code === FEED$1);\n currentToken = [\"space\", css.slice(pos, next)];\n pos = next - 1;\n break;\n }\n case OPEN_SQUARE$1:\n case CLOSE_SQUARE$1:\n case OPEN_CURLY$1:\n case CLOSE_CURLY$1:\n case COLON$1:\n case SEMICOLON$1:\n case CLOSE_PARENTHESES$1: {\n let controlChar = String.fromCharCode(code);\n currentToken = [controlChar, controlChar, pos];\n break;\n }\n case OPEN_PARENTHESES$1: {\n prev = buffer.length ? buffer.pop()[1] : \"\";\n n2 = css.charCodeAt(pos + 1);\n if (prev === \"url\" && n2 !== SINGLE_QUOTE$1 && n2 !== DOUBLE_QUOTE$1 && n2 !== SPACE$1 && n2 !== NEWLINE$1 && n2 !== TAB$1 && n2 !== FEED$1 && n2 !== CR$1) {\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(\")\", next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos;\n break;\n } else {\n unclosed(\"bracket\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH$1) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"brackets\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n next = css.indexOf(\")\", pos + 1);\n content = css.slice(pos, next + 1);\n if (next === -1 || RE_BAD_BRACKET$1.test(content)) {\n currentToken = [\"(\", \"(\", pos];\n } else {\n currentToken = [\"brackets\", content, pos, next];\n pos = next;\n }\n }\n break;\n }\n case SINGLE_QUOTE$1:\n case DOUBLE_QUOTE$1: {\n quote = code === SINGLE_QUOTE$1 ? \"'\" : '\"';\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1;\n break;\n } else {\n unclosed(\"string\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH$1) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"string\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case AT$1: {\n RE_AT_END$1.lastIndex = pos + 1;\n RE_AT_END$1.test(css);\n if (RE_AT_END$1.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_AT_END$1.lastIndex - 2;\n }\n currentToken = [\"at-word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case BACKSLASH$1: {\n next = pos;\n escape = true;\n while (css.charCodeAt(next + 1) === BACKSLASH$1) {\n next += 1;\n escape = !escape;\n }\n code = css.charCodeAt(next + 1);\n if (escape && code !== SLASH$1 && code !== SPACE$1 && code !== NEWLINE$1 && code !== TAB$1 && code !== CR$1 && code !== FEED$1) {\n next += 1;\n if (RE_HEX_ESCAPE$1.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE$1.test(css.charAt(next + 1))) {\n next += 1;\n }\n if (css.charCodeAt(next + 1) === SPACE$1) {\n next += 1;\n }\n }\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n default: {\n if (code === SLASH$1 && css.charCodeAt(pos + 1) === ASTERISK$1) {\n next = css.indexOf(\"*/\", pos + 2) + 1;\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length;\n } else {\n unclosed(\"comment\");\n }\n }\n currentToken = [\"comment\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n RE_WORD_END$1.lastIndex = pos + 1;\n RE_WORD_END$1.test(css);\n if (RE_WORD_END$1.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_WORD_END$1.lastIndex - 2;\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n buffer.push(currentToken);\n pos = next;\n }\n break;\n }\n }\n pos++;\n return currentToken;\n }\n function back(token) {\n returned.push(token);\n }\n return {\n back,\n endOfFile,\n nextToken,\n position\n };\n};\nlet Container$5$1 = container$1;\nlet AtRule$3$1 = class AtRule extends Container$5$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"atrule\";\n }\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.append(...children);\n }\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.prepend(...children);\n }\n};\nvar atRule$1 = AtRule$3$1;\nAtRule$3$1.default = AtRule$3$1;\nContainer$5$1.registerAtRule(AtRule$3$1);\nlet Container$4$1 = container$1;\nlet LazyResult$3$1, Processor$2$1;\nlet Root$5$1 = class Root extends Container$4$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"root\";\n if (!this.nodes) this.nodes = [];\n }\n normalize(child, sample, type) {\n let nodes = super.normalize(child);\n if (sample) {\n if (type === \"prepend\") {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before;\n } else {\n delete sample.raws.before;\n }\n } else if (this.first !== sample) {\n for (let node2 of nodes) {\n node2.raws.before = sample.raws.before;\n }\n }\n }\n return nodes;\n }\n removeChild(child, ignore) {\n let index2 = this.index(child);\n if (!ignore && index2 === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index2].raws.before;\n }\n return super.removeChild(child);\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$3$1(new Processor$2$1(), this, opts);\n return lazy.stringify();\n }\n};\nRoot$5$1.registerLazyResult = (dependant) => {\n LazyResult$3$1 = dependant;\n};\nRoot$5$1.registerProcessor = (dependant) => {\n Processor$2$1 = dependant;\n};\nvar root$1 = Root$5$1;\nRoot$5$1.default = Root$5$1;\nContainer$4$1.registerRoot(Root$5$1);\nlet list$2$1 = {\n comma(string) {\n return list$2$1.split(string, [\",\"], true);\n },\n space(string) {\n let spaces = [\" \", \"\\n\", \"\t\"];\n return list$2$1.split(string, spaces);\n },\n split(string, separators, last) {\n let array = [];\n let current = \"\";\n let split = false;\n let func = 0;\n let inQuote = false;\n let prevQuote = \"\";\n let escape = false;\n for (let letter of string) {\n if (escape) {\n escape = false;\n } else if (letter === \"\\\\\") {\n escape = true;\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false;\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true;\n prevQuote = letter;\n } else if (letter === \"(\") {\n func += 1;\n } else if (letter === \")\") {\n if (func > 0) func -= 1;\n } else if (func === 0) {\n if (separators.includes(letter)) split = true;\n }\n if (split) {\n if (current !== \"\") array.push(current.trim());\n current = \"\";\n split = false;\n } else {\n current += letter;\n }\n }\n if (last || current !== \"\") array.push(current.trim());\n return array;\n }\n};\nvar list_1$1 = list$2$1;\nlist$2$1.default = list$2$1;\nlet Container$3$1 = container$1;\nlet list$1$1 = list_1$1;\nlet Rule$3$1 = class Rule extends Container$3$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"rule\";\n if (!this.nodes) this.nodes = [];\n }\n get selectors() {\n return list$1$1.comma(this.selector);\n }\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null;\n let sep2 = match ? match[0] : \",\" + this.raw(\"between\", \"beforeOpen\");\n this.selector = values.join(sep2);\n }\n};\nvar rule$1 = Rule$3$1;\nRule$3$1.default = Rule$3$1;\nContainer$3$1.registerRule(Rule$3$1);\nlet Declaration$2$1 = declaration$1;\nlet tokenizer2$1 = tokenize$1;\nlet Comment$2$1 = comment$1;\nlet AtRule$2$1 = atRule$1;\nlet Root$4$1 = root$1;\nlet Rule$2$1 = rule$1;\nconst SAFE_COMMENT_NEIGHBOR$1 = {\n empty: true,\n space: true\n};\nfunction findLastWithPosition$1(tokens) {\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n let token = tokens[i2];\n let pos = token[3] || token[2];\n if (pos) return pos;\n }\n}\nlet Parser$1$1 = class Parser {\n constructor(input2) {\n this.input = input2;\n this.root = new Root$4$1();\n this.current = this.root;\n this.spaces = \"\";\n this.semicolon = false;\n this.createTokenizer();\n this.root.source = { input: input2, start: { column: 1, line: 1, offset: 0 } };\n }\n atrule(token) {\n let node2 = new AtRule$2$1();\n node2.name = token[1].slice(1);\n if (node2.name === \"\") {\n this.unnamedAtrule(node2, token);\n }\n this.init(node2, token[2]);\n let type;\n let prev;\n let shift;\n let last = false;\n let open = false;\n let params = [];\n let brackets = [];\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n type = token[0];\n if (type === \"(\" || type === \"[\") {\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (type === \"{\" && brackets.length > 0) {\n brackets.push(\"}\");\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n }\n if (brackets.length === 0) {\n if (type === \";\") {\n node2.source.end = this.getPosition(token[2]);\n node2.source.end.offset++;\n this.semicolon = true;\n break;\n } else if (type === \"{\") {\n open = true;\n break;\n } else if (type === \"}\") {\n if (params.length > 0) {\n shift = params.length - 1;\n prev = params[shift];\n while (prev && prev[0] === \"space\") {\n prev = params[--shift];\n }\n if (prev) {\n node2.source.end = this.getPosition(prev[3] || prev[2]);\n node2.source.end.offset++;\n }\n }\n this.end(token);\n break;\n } else {\n params.push(token);\n }\n } else {\n params.push(token);\n }\n if (this.tokenizer.endOfFile()) {\n last = true;\n break;\n }\n }\n node2.raws.between = this.spacesAndCommentsFromEnd(params);\n if (params.length) {\n node2.raws.afterName = this.spacesAndCommentsFromStart(params);\n this.raw(node2, \"params\", params);\n if (last) {\n token = params[params.length - 1];\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n this.spaces = node2.raws.between;\n node2.raws.between = \"\";\n }\n } else {\n node2.raws.afterName = \"\";\n node2.params = \"\";\n }\n if (open) {\n node2.nodes = [];\n this.current = node2;\n }\n }\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens);\n if (colon === false) return;\n let founded = 0;\n let token;\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j];\n if (token[0] !== \"space\") {\n founded += 1;\n if (founded === 2) break;\n }\n }\n throw this.input.error(\n \"Missed semicolon\",\n token[0] === \"word\" ? token[3] + 1 : token[2]\n );\n }\n colon(tokens) {\n let brackets = 0;\n let token, type, prev;\n for (let [i2, element] of tokens.entries()) {\n token = element;\n type = token[0];\n if (type === \"(\") {\n brackets += 1;\n }\n if (type === \")\") {\n brackets -= 1;\n }\n if (brackets === 0 && type === \":\") {\n if (!prev) {\n this.doubleColon(token);\n } else if (prev[0] === \"word\" && prev[1] === \"progid\") {\n continue;\n } else {\n return i2;\n }\n }\n prev = token;\n }\n return false;\n }\n comment(token) {\n let node2 = new Comment$2$1();\n this.init(node2, token[2]);\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n let text = token[1].slice(2, -2);\n if (/^\\s*$/.test(text)) {\n node2.text = \"\";\n node2.raws.left = text;\n node2.raws.right = \"\";\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n node2.text = match[2];\n node2.raws.left = match[1];\n node2.raws.right = match[3];\n }\n }\n createTokenizer() {\n this.tokenizer = tokenizer2$1(this.input);\n }\n decl(tokens, customProperty) {\n let node2 = new Declaration$2$1();\n this.init(node2, tokens[0][2]);\n let last = tokens[tokens.length - 1];\n if (last[0] === \";\") {\n this.semicolon = true;\n tokens.pop();\n }\n node2.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition$1(tokens)\n );\n node2.source.end.offset++;\n while (tokens[0][0] !== \"word\") {\n if (tokens.length === 1) this.unknownWord(tokens);\n node2.raws.before += tokens.shift()[1];\n }\n node2.source.start = this.getPosition(tokens[0][2]);\n node2.prop = \"\";\n while (tokens.length) {\n let type = tokens[0][0];\n if (type === \":\" || type === \"space\" || type === \"comment\") {\n break;\n }\n node2.prop += tokens.shift()[1];\n }\n node2.raws.between = \"\";\n let token;\n while (tokens.length) {\n token = tokens.shift();\n if (token[0] === \":\") {\n node2.raws.between += token[1];\n break;\n } else {\n if (token[0] === \"word\" && /\\w/.test(token[1])) {\n this.unknownWord([token]);\n }\n node2.raws.between += token[1];\n }\n }\n if (node2.prop[0] === \"_\" || node2.prop[0] === \"*\") {\n node2.raws.before += node2.prop[0];\n node2.prop = node2.prop.slice(1);\n }\n let firstSpaces = [];\n let next;\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n firstSpaces.push(tokens.shift());\n }\n this.precheckMissedSemicolon(tokens);\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n token = tokens[i2];\n if (token[1].toLowerCase() === \"!important\") {\n node2.important = true;\n let string = this.stringFrom(tokens, i2);\n string = this.spacesFromEnd(tokens) + string;\n if (string !== \" !important\") node2.raws.important = string;\n break;\n } else if (token[1].toLowerCase() === \"important\") {\n let cache = tokens.slice(0);\n let str = \"\";\n for (let j = i2; j > 0; j--) {\n let type = cache[j][0];\n if (str.trim().indexOf(\"!\") === 0 && type !== \"space\") {\n break;\n }\n str = cache.pop()[1] + str;\n }\n if (str.trim().indexOf(\"!\") === 0) {\n node2.important = true;\n node2.raws.important = str;\n tokens = cache;\n }\n }\n if (token[0] !== \"space\" && token[0] !== \"comment\") {\n break;\n }\n }\n let hasWord = tokens.some((i2) => i2[0] !== \"space\" && i2[0] !== \"comment\");\n if (hasWord) {\n node2.raws.between += firstSpaces.map((i2) => i2[1]).join(\"\");\n firstSpaces = [];\n }\n this.raw(node2, \"value\", firstSpaces.concat(tokens), customProperty);\n if (node2.value.includes(\":\") && !customProperty) {\n this.checkMissedSemicolon(tokens);\n }\n }\n doubleColon(token) {\n throw this.input.error(\n \"Double colon\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n emptyRule(token) {\n let node2 = new Rule$2$1();\n this.init(node2, token[2]);\n node2.selector = \"\";\n node2.raws.between = \"\";\n this.current = node2;\n }\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.semicolon = false;\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.spaces = \"\";\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2]);\n this.current.source.end.offset++;\n this.current = this.current.parent;\n } else {\n this.unexpectedClose(token);\n }\n }\n endFile() {\n if (this.current.parent) this.unclosedBlock();\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.root.source.end = this.getPosition(this.tokenizer.position());\n }\n freeSemicolon(token) {\n this.spaces += token[1];\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1];\n if (prev && prev.type === \"rule\" && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces;\n this.spaces = \"\";\n }\n }\n }\n // Helpers\n getPosition(offset) {\n let pos = this.input.fromOffset(offset);\n return {\n column: pos.col,\n line: pos.line,\n offset\n };\n }\n init(node2, offset) {\n this.current.push(node2);\n node2.source = {\n input: this.input,\n start: this.getPosition(offset)\n };\n node2.raws.before = this.spaces;\n this.spaces = \"\";\n if (node2.type !== \"comment\") this.semicolon = false;\n }\n other(start) {\n let end = false;\n let type = null;\n let colon = false;\n let bracket = null;\n let brackets = [];\n let customProperty = start[1].startsWith(\"--\");\n let tokens = [];\n let token = start;\n while (token) {\n type = token[0];\n tokens.push(token);\n if (type === \"(\" || type === \"[\") {\n if (!bracket) bracket = token;\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (customProperty && colon && type === \"{\") {\n if (!bracket) bracket = token;\n brackets.push(\"}\");\n } else if (brackets.length === 0) {\n if (type === \";\") {\n if (colon) {\n this.decl(tokens, customProperty);\n return;\n } else {\n break;\n }\n } else if (type === \"{\") {\n this.rule(tokens);\n return;\n } else if (type === \"}\") {\n this.tokenizer.back(tokens.pop());\n end = true;\n break;\n } else if (type === \":\") {\n colon = true;\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n if (brackets.length === 0) bracket = null;\n }\n token = this.tokenizer.nextToken();\n }\n if (this.tokenizer.endOfFile()) end = true;\n if (brackets.length > 0) this.unclosedBracket(bracket);\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0];\n if (token !== \"space\" && token !== \"comment\") break;\n this.tokenizer.back(tokens.pop());\n }\n }\n this.decl(tokens, customProperty);\n } else {\n this.unknownWord(tokens);\n }\n }\n parse() {\n let token;\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n switch (token[0]) {\n case \"space\":\n this.spaces += token[1];\n break;\n case \";\":\n this.freeSemicolon(token);\n break;\n case \"}\":\n this.end(token);\n break;\n case \"comment\":\n this.comment(token);\n break;\n case \"at-word\":\n this.atrule(token);\n break;\n case \"{\":\n this.emptyRule(token);\n break;\n default:\n this.other(token);\n break;\n }\n }\n this.endFile();\n }\n precheckMissedSemicolon() {\n }\n raw(node2, prop, tokens, customProperty) {\n let token, type;\n let length = tokens.length;\n let value = \"\";\n let clean = true;\n let next, prev;\n for (let i2 = 0; i2 < length; i2 += 1) {\n token = tokens[i2];\n type = token[0];\n if (type === \"space\" && i2 === length - 1 && !customProperty) {\n clean = false;\n } else if (type === \"comment\") {\n prev = tokens[i2 - 1] ? tokens[i2 - 1][0] : \"empty\";\n next = tokens[i2 + 1] ? tokens[i2 + 1][0] : \"empty\";\n if (!SAFE_COMMENT_NEIGHBOR$1[prev] && !SAFE_COMMENT_NEIGHBOR$1[next]) {\n if (value.slice(-1) === \",\") {\n clean = false;\n } else {\n value += token[1];\n }\n } else {\n clean = false;\n }\n } else {\n value += token[1];\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i2) => all + i2[1], \"\");\n node2.raws[prop] = { raw, value };\n }\n node2[prop] = value;\n }\n rule(tokens) {\n tokens.pop();\n let node2 = new Rule$2$1();\n this.init(node2, tokens[0][2]);\n node2.raws.between = this.spacesAndCommentsFromEnd(tokens);\n this.raw(node2, \"selector\", tokens);\n this.current = node2;\n }\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\" && lastTokenType !== \"comment\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n // Errors\n spacesAndCommentsFromStart(tokens) {\n let next;\n let spaces = \"\";\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n spaces += tokens.shift()[1];\n }\n return spaces;\n }\n spacesFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n stringFrom(tokens, from) {\n let result2 = \"\";\n for (let i2 = from; i2 < tokens.length; i2++) {\n result2 += tokens[i2][1];\n }\n tokens.splice(from, tokens.length - from);\n return result2;\n }\n unclosedBlock() {\n let pos = this.current.source.start;\n throw this.input.error(\"Unclosed block\", pos.line, pos.column);\n }\n unclosedBracket(bracket) {\n throw this.input.error(\n \"Unclosed bracket\",\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n );\n }\n unexpectedClose(token) {\n throw this.input.error(\n \"Unexpected }\",\n { offset: token[2] },\n { offset: token[2] + 1 }\n );\n }\n unknownWord(tokens) {\n throw this.input.error(\n \"Unknown word\",\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n );\n }\n unnamedAtrule(node2, token) {\n throw this.input.error(\n \"At-rule without name\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n};\nvar parser$1 = Parser$1$1;\nlet Container$2$1 = container$1;\nlet Parser2$1 = parser$1;\nlet Input$2$1 = input$1;\nfunction parse$3$1(css, opts) {\n let input2 = new Input$2$1(css, opts);\n let parser2 = new Parser2$1(input2);\n try {\n parser2.parse();\n } catch (e2) {\n if (process.env.NODE_ENV !== \"production\") {\n if (e2.name === \"CssSyntaxError\" && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\";\n } else if (/\\.sass/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\";\n } else if (/\\.less$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\";\n }\n }\n }\n throw e2;\n }\n return parser2.root;\n}\nvar parse_1$1 = parse$3$1;\nparse$3$1.default = parse$3$1;\nContainer$2$1.registerParse(parse$3$1);\nlet { isClean: isClean$3, my: my$3 } = symbols$1;\nlet MapGenerator$1$1 = mapGenerator$1;\nlet stringify$2$1 = stringify_1$1;\nlet Container$1$1 = container$1;\nlet Document$2$1 = document$1$1;\nlet warnOnce$1$1 = warnOnce$2$1;\nlet Result$2$1 = result$1;\nlet parse$2$1 = parse_1$1;\nlet Root$3$1 = root$1;\nconst TYPE_TO_CLASS_NAME$1 = {\n atrule: \"AtRule\",\n comment: \"Comment\",\n decl: \"Declaration\",\n document: \"Document\",\n root: \"Root\",\n rule: \"Rule\"\n};\nconst PLUGIN_PROPS$1 = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n};\nconst NOT_VISITORS$1 = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n};\nconst CHILDREN$1 = 0;\nfunction isPromise$1(obj) {\n return typeof obj === \"object\" && typeof obj.then === \"function\";\n}\nfunction getEvents$1(node2) {\n let key = false;\n let type = TYPE_TO_CLASS_NAME$1[node2.type];\n if (node2.type === \"decl\") {\n key = node2.prop.toLowerCase();\n } else if (node2.type === \"atrule\") {\n key = node2.name.toLowerCase();\n }\n if (key && node2.append) {\n return [\n type,\n type + \"-\" + key,\n CHILDREN$1,\n type + \"Exit\",\n type + \"Exit-\" + key\n ];\n } else if (key) {\n return [type, type + \"-\" + key, type + \"Exit\", type + \"Exit-\" + key];\n } else if (node2.append) {\n return [type, CHILDREN$1, type + \"Exit\"];\n } else {\n return [type, type + \"Exit\"];\n }\n}\nfunction toStack$1(node2) {\n let events;\n if (node2.type === \"document\") {\n events = [\"Document\", CHILDREN$1, \"DocumentExit\"];\n } else if (node2.type === \"root\") {\n events = [\"Root\", CHILDREN$1, \"RootExit\"];\n } else {\n events = getEvents$1(node2);\n }\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node: node2,\n visitorIndex: 0,\n visitors: []\n };\n}\nfunction cleanMarks$1(node2) {\n node2[isClean$3] = false;\n if (node2.nodes) node2.nodes.forEach((i2) => cleanMarks$1(i2));\n return node2;\n}\nlet postcss$2$1 = {};\nlet LazyResult$2$1 = class LazyResult {\n constructor(processor2, css, opts) {\n this.stringified = false;\n this.processed = false;\n let root2;\n if (typeof css === \"object\" && css !== null && (css.type === \"root\" || css.type === \"document\")) {\n root2 = cleanMarks$1(css);\n } else if (css instanceof LazyResult || css instanceof Result$2$1) {\n root2 = cleanMarks$1(css.root);\n if (css.map) {\n if (typeof opts.map === \"undefined\") opts.map = {};\n if (!opts.map.inline) opts.map.inline = false;\n opts.map.prev = css.map;\n }\n } else {\n let parser2 = parse$2$1;\n if (opts.syntax) parser2 = opts.syntax.parse;\n if (opts.parser) parser2 = opts.parser;\n if (parser2.parse) parser2 = parser2.parse;\n try {\n root2 = parser2(css, opts);\n } catch (error) {\n this.processed = true;\n this.error = error;\n }\n if (root2 && !root2[my$3]) {\n Container$1$1.rebuild(root2);\n }\n }\n this.result = new Result$2$1(processor2, root2, opts);\n this.helpers = { ...postcss$2$1, postcss: postcss$2$1, result: this.result };\n this.plugins = this.processor.plugins.map((plugin22) => {\n if (typeof plugin22 === \"object\" && plugin22.prepare) {\n return { ...plugin22, ...plugin22.prepare(this.result) };\n } else {\n return plugin22;\n }\n });\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n if (this.processed) return Promise.resolve(this.result);\n if (!this.processing) {\n this.processing = this.runAsync();\n }\n return this.processing;\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n getAsyncError() {\n throw new Error(\"Use process(css).then(cb) to work with async plugins\");\n }\n handleError(error, node2) {\n let plugin22 = this.result.lastPlugin;\n try {\n if (node2) node2.addToError(error);\n this.error = error;\n if (error.name === \"CssSyntaxError\" && !error.plugin) {\n error.plugin = plugin22.postcssPlugin;\n error.setMessage();\n } else if (plugin22.postcssVersion) {\n if (process.env.NODE_ENV !== \"production\") {\n let pluginName = plugin22.postcssPlugin;\n let pluginVer = plugin22.postcssVersion;\n let runtimeVer = this.result.processor.version;\n let a2 = pluginVer.split(\".\");\n let b = runtimeVer.split(\".\");\n if (a2[0] !== b[0] || parseInt(a2[1]) > parseInt(b[1])) {\n console.error(\n \"Unknown error from PostCSS plugin. Your current PostCSS version is \" + runtimeVer + \", but \" + pluginName + \" uses \" + pluginVer + \". Perhaps this is the source of the error below.\"\n );\n }\n }\n }\n } catch (err) {\n if (console && console.error) console.error(err);\n }\n return error;\n }\n prepareVisitors() {\n this.listeners = {};\n let add = (plugin22, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = [];\n this.listeners[type].push([plugin22, cb]);\n };\n for (let plugin22 of this.plugins) {\n if (typeof plugin22 === \"object\") {\n for (let event in plugin22) {\n if (!PLUGIN_PROPS$1[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin22.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`\n );\n }\n if (!NOT_VISITORS$1[event]) {\n if (typeof plugin22[event] === \"object\") {\n for (let filter in plugin22[event]) {\n if (filter === \"*\") {\n add(plugin22, event, plugin22[event][filter]);\n } else {\n add(\n plugin22,\n event + \"-\" + filter.toLowerCase(),\n plugin22[event][filter]\n );\n }\n }\n } else if (typeof plugin22[event] === \"function\") {\n add(plugin22, event, plugin22[event]);\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0;\n }\n async runAsync() {\n this.plugin = 0;\n for (let i2 = 0; i2 < this.plugins.length; i2++) {\n let plugin22 = this.plugins[i2];\n let promise = this.runOnRoot(plugin22);\n if (isPromise$1(promise)) {\n try {\n await promise;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean$3]) {\n root2[isClean$3] = true;\n let stack = [toStack$1(root2)];\n while (stack.length > 0) {\n let promise = this.visitTick(stack);\n if (isPromise$1(promise)) {\n try {\n await promise;\n } catch (e2) {\n let node2 = stack[stack.length - 1].node;\n throw this.handleError(e2, node2);\n }\n }\n }\n }\n if (this.listeners.OnceExit) {\n for (let [plugin22, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin22;\n try {\n if (root2.type === \"document\") {\n let roots = root2.nodes.map(\n (subRoot) => visitor(subRoot, this.helpers)\n );\n await Promise.all(roots);\n } else {\n await visitor(root2, this.helpers);\n }\n } catch (e2) {\n throw this.handleError(e2);\n }\n }\n }\n }\n this.processed = true;\n return this.stringify();\n }\n runOnRoot(plugin22) {\n this.result.lastPlugin = plugin22;\n try {\n if (typeof plugin22 === \"object\" && plugin22.Once) {\n if (this.result.root.type === \"document\") {\n let roots = this.result.root.nodes.map(\n (root2) => plugin22.Once(root2, this.helpers)\n );\n if (isPromise$1(roots[0])) {\n return Promise.all(roots);\n }\n return roots;\n }\n return plugin22.Once(this.result.root, this.helpers);\n } else if (typeof plugin22 === \"function\") {\n return plugin22(this.result.root, this.result);\n }\n } catch (error) {\n throw this.handleError(error);\n }\n }\n stringify() {\n if (this.error) throw this.error;\n if (this.stringified) return this.result;\n this.stringified = true;\n this.sync();\n let opts = this.result.opts;\n let str = stringify$2$1;\n if (opts.syntax) str = opts.syntax.stringify;\n if (opts.stringifier) str = opts.stringifier;\n if (str.stringify) str = str.stringify;\n let map = new MapGenerator$1$1(str, this.result.root, this.result.opts);\n let data = map.generate();\n this.result.css = data[0];\n this.result.map = data[1];\n return this.result;\n }\n sync() {\n if (this.error) throw this.error;\n if (this.processed) return this.result;\n this.processed = true;\n if (this.processing) {\n throw this.getAsyncError();\n }\n for (let plugin22 of this.plugins) {\n let promise = this.runOnRoot(plugin22);\n if (isPromise$1(promise)) {\n throw this.getAsyncError();\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean$3]) {\n root2[isClean$3] = true;\n this.walkSync(root2);\n }\n if (this.listeners.OnceExit) {\n if (root2.type === \"document\") {\n for (let subRoot of root2.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot);\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root2);\n }\n }\n }\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this.opts)) {\n warnOnce$1$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this.css;\n }\n visitSync(visitors, node2) {\n for (let [plugin22, visitor] of visitors) {\n this.result.lastPlugin = plugin22;\n let promise;\n try {\n promise = visitor(node2, this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2.proxyOf);\n }\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n return true;\n }\n if (isPromise$1(promise)) {\n throw this.getAsyncError();\n }\n }\n }\n visitTick(stack) {\n let visit2 = stack[stack.length - 1];\n let { node: node2, visitors } = visit2;\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n stack.pop();\n return;\n }\n if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {\n let [plugin22, visitor] = visitors[visit2.visitorIndex];\n visit2.visitorIndex += 1;\n if (visit2.visitorIndex === visitors.length) {\n visit2.visitors = [];\n visit2.visitorIndex = 0;\n }\n this.result.lastPlugin = plugin22;\n try {\n return visitor(node2.toProxy(), this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2);\n }\n }\n if (visit2.iterator !== 0) {\n let iterator = visit2.iterator;\n let child;\n while (child = node2.nodes[node2.indexes[iterator]]) {\n node2.indexes[iterator] += 1;\n if (!child[isClean$3]) {\n child[isClean$3] = true;\n stack.push(toStack$1(child));\n return;\n }\n }\n visit2.iterator = 0;\n delete node2.indexes[iterator];\n }\n let events = visit2.events;\n while (visit2.eventIndex < events.length) {\n let event = events[visit2.eventIndex];\n visit2.eventIndex += 1;\n if (event === CHILDREN$1) {\n if (node2.nodes && node2.nodes.length) {\n node2[isClean$3] = true;\n visit2.iterator = node2.getIterator();\n }\n return;\n } else if (this.listeners[event]) {\n visit2.visitors = this.listeners[event];\n return;\n }\n }\n stack.pop();\n }\n walkSync(node2) {\n node2[isClean$3] = true;\n let events = getEvents$1(node2);\n for (let event of events) {\n if (event === CHILDREN$1) {\n if (node2.nodes) {\n node2.each((child) => {\n if (!child[isClean$3]) this.walkSync(child);\n });\n }\n } else {\n let visitors = this.listeners[event];\n if (visitors) {\n if (this.visitSync(visitors, node2.toProxy())) return;\n }\n }\n }\n }\n warnings() {\n return this.sync().warnings();\n }\n get content() {\n return this.stringify().content;\n }\n get css() {\n return this.stringify().css;\n }\n get map() {\n return this.stringify().map;\n }\n get messages() {\n return this.sync().messages;\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n return this.sync().root;\n }\n get [Symbol.toStringTag]() {\n return \"LazyResult\";\n }\n};\nLazyResult$2$1.registerPostcss = (dependant) => {\n postcss$2$1 = dependant;\n};\nvar lazyResult$1 = LazyResult$2$1;\nLazyResult$2$1.default = LazyResult$2$1;\nRoot$3$1.registerLazyResult(LazyResult$2$1);\nDocument$2$1.registerLazyResult(LazyResult$2$1);\nlet MapGenerator2$1 = mapGenerator$1;\nlet stringify$1$1 = stringify_1$1;\nlet warnOnce2$1 = warnOnce$2$1;\nlet parse$1$1 = parse_1$1;\nconst Result$1$1 = result$1;\nlet NoWorkResult$1$1 = class NoWorkResult {\n constructor(processor2, css, opts) {\n css = css.toString();\n this.stringified = false;\n this._processor = processor2;\n this._css = css;\n this._opts = opts;\n this._map = void 0;\n let root2;\n let str = stringify$1$1;\n this.result = new Result$1$1(this._processor, root2, this._opts);\n this.result.css = css;\n let self = this;\n Object.defineProperty(this.result, \"root\", {\n get() {\n return self.root;\n }\n });\n let map = new MapGenerator2$1(str, root2, this._opts, css);\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate();\n if (generatedCSS) {\n this.result.css = generatedCSS;\n }\n if (generatedMap) {\n this.result.map = generatedMap;\n }\n } else {\n map.clearAnnotation();\n this.result.css = map.css;\n }\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n return Promise.resolve(this.result);\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n sync() {\n if (this.error) throw this.error;\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this._opts)) {\n warnOnce2$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this._css;\n }\n warnings() {\n return [];\n }\n get content() {\n return this.result.css;\n }\n get css() {\n return this.result.css;\n }\n get map() {\n return this.result.map;\n }\n get messages() {\n return [];\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n if (this._root) {\n return this._root;\n }\n let root2;\n let parser2 = parse$1$1;\n try {\n root2 = parser2(this._css, this._opts);\n } catch (error) {\n this.error = error;\n }\n if (this.error) {\n throw this.error;\n } else {\n this._root = root2;\n return root2;\n }\n }\n get [Symbol.toStringTag]() {\n return \"NoWorkResult\";\n }\n};\nvar noWorkResult$1 = NoWorkResult$1$1;\nNoWorkResult$1$1.default = NoWorkResult$1$1;\nlet NoWorkResult2$1 = noWorkResult$1;\nlet LazyResult$1$1 = lazyResult$1;\nlet Document$1$1 = document$1$1;\nlet Root$2$1 = root$1;\nlet Processor$1$1 = class Processor {\n constructor(plugins = []) {\n this.version = \"8.4.38\";\n this.plugins = this.normalize(plugins);\n }\n normalize(plugins) {\n let normalized = [];\n for (let i2 of plugins) {\n if (i2.postcss === true) {\n i2 = i2();\n } else if (i2.postcss) {\n i2 = i2.postcss;\n }\n if (typeof i2 === \"object\" && Array.isArray(i2.plugins)) {\n normalized = normalized.concat(i2.plugins);\n } else if (typeof i2 === \"object\" && i2.postcssPlugin) {\n normalized.push(i2);\n } else if (typeof i2 === \"function\") {\n normalized.push(i2);\n } else if (typeof i2 === \"object\" && (i2.parse || i2.stringify)) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"\n );\n }\n } else {\n throw new Error(i2 + \" is not a PostCSS plugin\");\n }\n }\n return normalized;\n }\n process(css, opts = {}) {\n if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n return new NoWorkResult2$1(this, css, opts);\n } else {\n return new LazyResult$1$1(this, css, opts);\n }\n }\n use(plugin22) {\n this.plugins = this.plugins.concat(this.normalize([plugin22]));\n return this;\n }\n};\nvar processor$1 = Processor$1$1;\nProcessor$1$1.default = Processor$1$1;\nRoot$2$1.registerProcessor(Processor$1$1);\nDocument$1$1.registerProcessor(Processor$1$1);\nlet Declaration$1$1 = declaration$1;\nlet PreviousMap2$1 = previousMap$1;\nlet Comment$1$1 = comment$1;\nlet AtRule$1$1 = atRule$1;\nlet Input$1$1 = input$1;\nlet Root$1$1 = root$1;\nlet Rule$1$1 = rule$1;\nfunction fromJSON$1$1(json, inputs) {\n if (Array.isArray(json)) return json.map((n2) => fromJSON$1$1(n2));\n let { inputs: ownInputs, ...defaults } = json;\n if (ownInputs) {\n inputs = [];\n for (let input2 of ownInputs) {\n let inputHydrated = { ...input2, __proto__: Input$1$1.prototype };\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap2$1.prototype\n };\n }\n inputs.push(inputHydrated);\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map((n2) => fromJSON$1$1(n2, inputs));\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source;\n defaults.source = source;\n if (inputId != null) {\n defaults.source.input = inputs[inputId];\n }\n }\n if (defaults.type === \"root\") {\n return new Root$1$1(defaults);\n } else if (defaults.type === \"decl\") {\n return new Declaration$1$1(defaults);\n } else if (defaults.type === \"rule\") {\n return new Rule$1$1(defaults);\n } else if (defaults.type === \"comment\") {\n return new Comment$1$1(defaults);\n } else if (defaults.type === \"atrule\") {\n return new AtRule$1$1(defaults);\n } else {\n throw new Error(\"Unknown node type: \" + json.type);\n }\n}\nvar fromJSON_1$1 = fromJSON$1$1;\nfromJSON$1$1.default = fromJSON$1$1;\nlet CssSyntaxError2$1 = cssSyntaxError$1;\nlet Declaration2$1 = declaration$1;\nlet LazyResult2$1 = lazyResult$1;\nlet Container2$1 = container$1;\nlet Processor2$1 = processor$1;\nlet stringify$5 = stringify_1$1;\nlet fromJSON$2 = fromJSON_1$1;\nlet Document22 = document$1$1;\nlet Warning2$1 = warning$1;\nlet Comment2$1 = comment$1;\nlet AtRule2$1 = atRule$1;\nlet Result2$1 = result$1;\nlet Input2$1 = input$1;\nlet parse$5 = parse_1$1;\nlet list$3 = list_1$1;\nlet Rule2$1 = rule$1;\nlet Root2$1 = root$1;\nlet Node2$1 = node$1;\nfunction postcss$3(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0];\n }\n return new Processor2$1(plugins);\n}\npostcss$3.plugin = function plugin(name, initializer) {\n let warningPrinted = false;\n function creator(...args) {\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true;\n console.warn(\n name + \": postcss.plugin was deprecated. Migration guide:\\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration\"\n );\n if (process.env.LANG && process.env.LANG.startsWith(\"cn\")) {\n console.warn(\n name + \": 里面 postcss.plugin 被弃用. 迁移指南:\\nhttps://www.w3ctech.com/topic/2226\"\n );\n }\n }\n let transformer = initializer(...args);\n transformer.postcssPlugin = name;\n transformer.postcssVersion = new Processor2$1().version;\n return transformer;\n }\n let cache;\n Object.defineProperty(creator, \"postcss\", {\n get() {\n if (!cache) cache = creator();\n return cache;\n }\n });\n creator.process = function(css, processOpts, pluginOpts) {\n return postcss$3([creator(pluginOpts)]).process(css, processOpts);\n };\n return creator;\n};\npostcss$3.stringify = stringify$5;\npostcss$3.parse = parse$5;\npostcss$3.fromJSON = fromJSON$2;\npostcss$3.list = list$3;\npostcss$3.comment = (defaults) => new Comment2$1(defaults);\npostcss$3.atRule = (defaults) => new AtRule2$1(defaults);\npostcss$3.decl = (defaults) => new Declaration2$1(defaults);\npostcss$3.rule = (defaults) => new Rule2$1(defaults);\npostcss$3.root = (defaults) => new Root2$1(defaults);\npostcss$3.document = (defaults) => new Document22(defaults);\npostcss$3.CssSyntaxError = CssSyntaxError2$1;\npostcss$3.Declaration = Declaration2$1;\npostcss$3.Container = Container2$1;\npostcss$3.Processor = Processor2$1;\npostcss$3.Document = Document22;\npostcss$3.Comment = Comment2$1;\npostcss$3.Warning = Warning2$1;\npostcss$3.AtRule = AtRule2$1;\npostcss$3.Result = Result2$1;\npostcss$3.Input = Input2$1;\npostcss$3.Rule = Rule2$1;\npostcss$3.Root = Root2$1;\npostcss$3.Node = Node2$1;\nLazyResult2$1.registerPostcss(postcss$3);\nvar postcss_1$1 = postcss$3;\npostcss$3.default = postcss$3;\nconst postcss$1$1 = /* @__PURE__ */ getDefaultExportFromCjs$1(postcss_1$1);\npostcss$1$1.stringify;\npostcss$1$1.fromJSON;\npostcss$1$1.plugin;\npostcss$1$1.parse;\npostcss$1$1.list;\npostcss$1$1.document;\npostcss$1$1.comment;\npostcss$1$1.atRule;\npostcss$1$1.rule;\npostcss$1$1.decl;\npostcss$1$1.root;\npostcss$1$1.CssSyntaxError;\npostcss$1$1.Declaration;\npostcss$1$1.Container;\npostcss$1$1.Processor;\npostcss$1$1.Document;\npostcss$1$1.Comment;\npostcss$1$1.Warning;\npostcss$1$1.AtRule;\npostcss$1$1.Result;\npostcss$1$1.Input;\npostcss$1$1.Rule;\npostcss$1$1.Root;\npostcss$1$1.Node;\nvar __defProp2 = Object.defineProperty;\nvar __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nfunction getDefaultExportFromCjs(x2) {\n return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, \"default\") ? x2[\"default\"] : x2;\n}\nfunction getAugmentedNamespace(n2) {\n if (n2.__esModule) return n2;\n var f2 = n2.default;\n if (typeof f2 == \"function\") {\n var a2 = function a22() {\n if (this instanceof a22) {\n return Reflect.construct(f2, arguments, this.constructor);\n }\n return f2.apply(this, arguments);\n };\n a2.prototype = f2.prototype;\n } else a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar picocolors_browser = { exports: {} };\nvar x = String;\nvar create = function() {\n return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x };\n};\npicocolors_browser.exports = create();\npicocolors_browser.exports.createColors = create;\nvar picocolors_browserExports = picocolors_browser.exports;\nconst __viteBrowserExternal = {};\nconst __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$2 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);\nlet pico = picocolors_browserExports;\nlet terminalHighlight$1 = require$$2;\nlet CssSyntaxError$3 = class CssSyntaxError2 extends Error {\n constructor(message, line, column, source, file, plugin22) {\n super(message);\n this.name = \"CssSyntaxError\";\n this.reason = message;\n if (file) {\n this.file = file;\n }\n if (source) {\n this.source = source;\n }\n if (plugin22) {\n this.plugin = plugin22;\n }\n if (typeof line !== \"undefined\" && typeof column !== \"undefined\") {\n if (typeof line === \"number\") {\n this.line = line;\n this.column = column;\n } else {\n this.line = line.line;\n this.column = line.column;\n this.endLine = column.line;\n this.endColumn = column.column;\n }\n }\n this.setMessage();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError2);\n }\n }\n setMessage() {\n this.message = this.plugin ? this.plugin + \": \" : \"\";\n this.message += this.file ? this.file : \"<css input>\";\n if (typeof this.line !== \"undefined\") {\n this.message += \":\" + this.line + \":\" + this.column;\n }\n this.message += \": \" + this.reason;\n }\n showSourceCode(color) {\n if (!this.source) return \"\";\n let css = this.source;\n if (color == null) color = pico.isColorSupported;\n if (terminalHighlight$1) {\n if (color) css = terminalHighlight$1(css);\n }\n let lines = css.split(/\\r?\\n/);\n let start = Math.max(this.line - 3, 0);\n let end = Math.min(this.line + 2, lines.length);\n let maxWidth = String(end).length;\n let mark, aside;\n if (color) {\n let { bold, gray, red } = pico.createColors(true);\n mark = (text) => bold(red(text));\n aside = (text) => gray(text);\n } else {\n mark = aside = (str) => str;\n }\n return lines.slice(start, end).map((line, index2) => {\n let number = start + 1 + index2;\n let gutter = \" \" + (\" \" + number).slice(-maxWidth) + \" | \";\n if (number === this.line) {\n let spacing = aside(gutter.replace(/\\d/g, \" \")) + line.slice(0, this.column - 1).replace(/[^\\t]/g, \" \");\n return mark(\">\") + aside(gutter) + line + \"\\n \" + spacing + mark(\"^\");\n }\n return \" \" + aside(gutter) + line;\n }).join(\"\\n\");\n }\n toString() {\n let code = this.showSourceCode();\n if (code) {\n code = \"\\n\\n\" + code + \"\\n\";\n }\n return this.name + \": \" + this.message + code;\n }\n};\nvar cssSyntaxError = CssSyntaxError$3;\nCssSyntaxError$3.default = CssSyntaxError$3;\nvar symbols = {};\nsymbols.isClean = Symbol(\"isClean\");\nsymbols.my = Symbol(\"my\");\nconst DEFAULT_RAW = {\n after: \"\\n\",\n beforeClose: \"\\n\",\n beforeComment: \"\\n\",\n beforeDecl: \"\\n\",\n beforeOpen: \" \",\n beforeRule: \"\\n\",\n colon: \": \",\n commentLeft: \" \",\n commentRight: \" \",\n emptyBody: \"\",\n indent: \" \",\n semicolon: false\n};\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\nlet Stringifier$2 = class Stringifier2 {\n constructor(builder) {\n this.builder = builder;\n }\n atrule(node2, semicolon) {\n let name = \"@\" + node2.name;\n let params = node2.params ? this.rawValue(node2, \"params\") : \"\";\n if (typeof node2.raws.afterName !== \"undefined\") {\n name += node2.raws.afterName;\n } else if (params) {\n name += \" \";\n }\n if (node2.nodes) {\n this.block(node2, name + params);\n } else {\n let end = (node2.raws.between || \"\") + (semicolon ? \";\" : \"\");\n this.builder(name + params + end, node2);\n }\n }\n beforeAfter(node2, detect) {\n let value;\n if (node2.type === \"decl\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (node2.type === \"comment\") {\n value = this.raw(node2, null, \"beforeComment\");\n } else if (detect === \"before\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else {\n value = this.raw(node2, null, \"beforeClose\");\n }\n let buf = node2.parent;\n let depth = 0;\n while (buf && buf.type !== \"root\") {\n depth += 1;\n buf = buf.parent;\n }\n if (value.includes(\"\\n\")) {\n let indent = this.raw(node2, null, \"indent\");\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent;\n }\n }\n return value;\n }\n block(node2, start) {\n let between = this.raw(node2, \"between\", \"beforeOpen\");\n this.builder(start + between + \"{\", node2, \"start\");\n let after;\n if (node2.nodes && node2.nodes.length) {\n this.body(node2);\n after = this.raw(node2, \"after\");\n } else {\n after = this.raw(node2, \"after\", \"emptyBody\");\n }\n if (after) this.builder(after);\n this.builder(\"}\", node2, \"end\");\n }\n body(node2) {\n let last = node2.nodes.length - 1;\n while (last > 0) {\n if (node2.nodes[last].type !== \"comment\") break;\n last -= 1;\n }\n let semicolon = this.raw(node2, \"semicolon\");\n for (let i2 = 0; i2 < node2.nodes.length; i2++) {\n let child = node2.nodes[i2];\n let before = this.raw(child, \"before\");\n if (before) this.builder(before);\n this.stringify(child, last !== i2 || semicolon);\n }\n }\n comment(node2) {\n let left = this.raw(node2, \"left\", \"commentLeft\");\n let right = this.raw(node2, \"right\", \"commentRight\");\n this.builder(\"/*\" + left + node2.text + right + \"*/\", node2);\n }\n decl(node2, semicolon) {\n let between = this.raw(node2, \"between\", \"colon\");\n let string = node2.prop + between + this.rawValue(node2, \"value\");\n if (node2.important) {\n string += node2.raws.important || \" !important\";\n }\n if (semicolon) string += \";\";\n this.builder(string, node2);\n }\n document(node2) {\n this.body(node2);\n }\n raw(node2, own, detect) {\n let value;\n if (!detect) detect = own;\n if (own) {\n value = node2.raws[own];\n if (typeof value !== \"undefined\") return value;\n }\n let parent = node2.parent;\n if (detect === \"before\") {\n if (!parent || parent.type === \"root\" && parent.first === node2) {\n return \"\";\n }\n if (parent && parent.type === \"document\") {\n return \"\";\n }\n }\n if (!parent) return DEFAULT_RAW[detect];\n let root2 = node2.root();\n if (!root2.rawCache) root2.rawCache = {};\n if (typeof root2.rawCache[detect] !== \"undefined\") {\n return root2.rawCache[detect];\n }\n if (detect === \"before\" || detect === \"after\") {\n return this.beforeAfter(node2, detect);\n } else {\n let method = \"raw\" + capitalize(detect);\n if (this[method]) {\n value = this[method](root2, node2);\n } else {\n root2.walk((i2) => {\n value = i2.raws[own];\n if (typeof value !== \"undefined\") return false;\n });\n }\n }\n if (typeof value === \"undefined\") value = DEFAULT_RAW[detect];\n root2.rawCache[detect] = value;\n return value;\n }\n rawBeforeClose(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length > 0) {\n if (typeof i2.raws.after !== \"undefined\") {\n value = i2.raws.after;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawBeforeComment(root2, node2) {\n let value;\n root2.walkComments((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeDecl(root2, node2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeOpen(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.type !== \"decl\") {\n value = i2.raws.between;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawBeforeRule(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && (i2.parent !== root2 || root2.first !== i2)) {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawColon(root2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.between !== \"undefined\") {\n value = i2.raws.between.replace(/[^\\s:]/g, \"\");\n return false;\n }\n });\n return value;\n }\n rawEmptyBody(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length === 0) {\n value = i2.raws.after;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawIndent(root2) {\n if (root2.raws.indent) return root2.raws.indent;\n let value;\n root2.walk((i2) => {\n let p = i2.parent;\n if (p && p !== root2 && p.parent && p.parent === root2) {\n if (typeof i2.raws.before !== \"undefined\") {\n let parts = i2.raws.before.split(\"\\n\");\n value = parts[parts.length - 1];\n value = value.replace(/\\S/g, \"\");\n return false;\n }\n }\n });\n return value;\n }\n rawSemicolon(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length && i2.last.type === \"decl\") {\n value = i2.raws.semicolon;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawValue(node2, prop) {\n let value = node2[prop];\n let raw = node2.raws[prop];\n if (raw && raw.value === value) {\n return raw.raw;\n }\n return value;\n }\n root(node2) {\n this.body(node2);\n if (node2.raws.after) this.builder(node2.raws.after);\n }\n rule(node2) {\n this.block(node2, this.rawValue(node2, \"selector\"));\n if (node2.raws.ownSemicolon) {\n this.builder(node2.raws.ownSemicolon, node2, \"end\");\n }\n }\n stringify(node2, semicolon) {\n if (!this[node2.type]) {\n throw new Error(\n \"Unknown AST node type \" + node2.type + \". Maybe you need to change PostCSS stringifier.\"\n );\n }\n this[node2.type](node2, semicolon);\n }\n};\nvar stringifier = Stringifier$2;\nStringifier$2.default = Stringifier$2;\nlet Stringifier$1 = stringifier;\nfunction stringify$4(node2, builder) {\n let str = new Stringifier$1(builder);\n str.stringify(node2);\n}\nvar stringify_1 = stringify$4;\nstringify$4.default = stringify$4;\nlet { isClean: isClean$2, my: my$2 } = symbols;\nlet CssSyntaxError$2 = cssSyntaxError;\nlet Stringifier22 = stringifier;\nlet stringify$3 = stringify_1;\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor();\n for (let i2 in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i2)) {\n continue;\n }\n if (i2 === \"proxyCache\") continue;\n let value = obj[i2];\n let type = typeof value;\n if (i2 === \"parent\" && type === \"object\") {\n if (parent) cloned[i2] = parent;\n } else if (i2 === \"source\") {\n cloned[i2] = value;\n } else if (Array.isArray(value)) {\n cloned[i2] = value.map((j) => cloneNode(j, cloned));\n } else {\n if (type === \"object\" && value !== null) value = cloneNode(value);\n cloned[i2] = value;\n }\n }\n return cloned;\n}\nlet Node$4 = class Node3 {\n constructor(defaults = {}) {\n this.raws = {};\n this[isClean$2] = false;\n this[my$2] = true;\n for (let name in defaults) {\n if (name === \"nodes\") {\n this.nodes = [];\n for (let node2 of defaults[name]) {\n if (typeof node2.clone === \"function\") {\n this.append(node2.clone());\n } else {\n this.append(node2);\n }\n }\n } else {\n this[name] = defaults[name];\n }\n }\n }\n addToError(error) {\n error.postcssNode = this;\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s2 = this.source;\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s2.input.from}:${s2.start.line}:${s2.start.column}$&`\n );\n }\n return error;\n }\n after(add) {\n this.parent.insertAfter(this, add);\n return this;\n }\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name];\n }\n return this;\n }\n before(add) {\n this.parent.insertBefore(this, add);\n return this;\n }\n cleanRaws(keepBetween) {\n delete this.raws.before;\n delete this.raws.after;\n if (!keepBetween) delete this.raws.between;\n }\n clone(overrides = {}) {\n let cloned = cloneNode(this);\n for (let name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertAfter(this, cloned);\n return cloned;\n }\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertBefore(this, cloned);\n return cloned;\n }\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts);\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n );\n }\n return new CssSyntaxError$2(message);\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"prop\" || prop === \"value\" || prop === \"name\" || prop === \"params\" || prop === \"important\" || /* c8 ignore next */\n prop === \"text\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n markDirty() {\n if (this[isClean$2]) {\n this[isClean$2] = false;\n let next = this;\n while (next = next.parent) {\n next[isClean$2] = false;\n }\n }\n }\n next() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 + 1];\n }\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start;\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation);\n } else if (opts.word) {\n stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) pos = this.positionInside(index2, stringRepresentation);\n }\n return pos;\n }\n positionInside(index2, stringRepresentation) {\n let string = stringRepresentation || this.toString();\n let column = this.source.start.column;\n let line = this.source.start.line;\n for (let i2 = 0; i2 < index2; i2++) {\n if (string[i2] === \"\\n\") {\n column = 1;\n line += 1;\n } else {\n column += 1;\n }\n }\n return { column, line };\n }\n prev() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 - 1];\n }\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n };\n let end = this.source.end ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n } : {\n column: start.column + 1,\n line: start.line\n };\n if (opts.word) {\n let stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) {\n start = this.positionInside(index2, stringRepresentation);\n end = this.positionInside(index2 + opts.word.length, stringRepresentation);\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n };\n } else if (opts.index) {\n start = this.positionInside(opts.index);\n }\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n };\n } else if (typeof opts.endIndex === \"number\") {\n end = this.positionInside(opts.endIndex);\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1);\n }\n }\n if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n end = { column: start.column + 1, line: start.line };\n }\n return { end, start };\n }\n raw(prop, defaultType) {\n let str = new Stringifier22();\n return str.raw(this, prop, defaultType);\n }\n remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = void 0;\n return this;\n }\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this;\n let foundSelf = false;\n for (let node2 of nodes) {\n if (node2 === this) {\n foundSelf = true;\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node2);\n bookmark = node2;\n } else {\n this.parent.insertBefore(bookmark, node2);\n }\n }\n if (!foundSelf) {\n this.remove();\n }\n }\n return this;\n }\n root() {\n let result2 = this;\n while (result2.parent && result2.parent.type !== \"document\") {\n result2 = result2.parent;\n }\n return result2;\n }\n toJSON(_, inputs) {\n let fixed = {};\n let emitInputs = inputs == null;\n inputs = inputs || /* @__PURE__ */ new Map();\n let inputsNextIndex = 0;\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n continue;\n }\n if (name === \"parent\" || name === \"proxyCache\") continue;\n let value = this[name];\n if (Array.isArray(value)) {\n fixed[name] = value.map((i2) => {\n if (typeof i2 === \"object\" && i2.toJSON) {\n return i2.toJSON(null, inputs);\n } else {\n return i2;\n }\n });\n } else if (typeof value === \"object\" && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs);\n } else if (name === \"source\") {\n let inputId = inputs.get(value.input);\n if (inputId == null) {\n inputId = inputsNextIndex;\n inputs.set(value.input, inputsNextIndex);\n inputsNextIndex++;\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n };\n } else {\n fixed[name] = value;\n }\n }\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map((input2) => input2.toJSON());\n }\n return fixed;\n }\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor());\n }\n return this.proxyCache;\n }\n toString(stringifier2 = stringify$3) {\n if (stringifier2.stringify) stringifier2 = stringifier2.stringify;\n let result2 = \"\";\n stringifier2(this, (i2) => {\n result2 += i2;\n });\n return result2;\n }\n warn(result2, text, opts) {\n let data = { node: this };\n for (let i2 in opts) data[i2] = opts[i2];\n return result2.warn(text, data);\n }\n get proxyOf() {\n return this;\n }\n};\nvar node = Node$4;\nNode$4.default = Node$4;\nlet Node$3 = node;\nlet Declaration$4 = class Declaration2 extends Node$3 {\n constructor(defaults) {\n if (defaults && typeof defaults.value !== \"undefined\" && typeof defaults.value !== \"string\") {\n defaults = { ...defaults, value: String(defaults.value) };\n }\n super(defaults);\n this.type = \"decl\";\n }\n get variable() {\n return this.prop.startsWith(\"--\") || this.prop[0] === \"$\";\n }\n};\nvar declaration = Declaration$4;\nDeclaration$4.default = Declaration$4;\nlet urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid$1 = (size = 21) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n return id;\n};\nvar nonSecure = { nanoid: nanoid$1, customAlphabet };\nlet { SourceMapConsumer: SourceMapConsumer$2, SourceMapGenerator: SourceMapGenerator$2 } = require$$2;\nlet { existsSync, readFileSync } = require$$2;\nlet { dirname: dirname$1, join } = require$$2;\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, \"base64\").toString();\n } else {\n return window.atob(str);\n }\n}\nlet PreviousMap$2 = class PreviousMap2 {\n constructor(css, opts) {\n if (opts.map === false) return;\n this.loadAnnotation(css);\n this.inline = this.startWith(this.annotation, \"data:\");\n let prev = opts.map ? opts.map.prev : void 0;\n let text = this.loadMap(opts.from, prev);\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from;\n }\n if (this.mapFile) this.root = dirname$1(this.mapFile);\n if (text) this.text = text;\n }\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer$2(this.text);\n }\n return this.consumerCache;\n }\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n let baseUri = /^data:application\\/json;base64,/;\n let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n let uri = /^data:application\\/json,/;\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length));\n }\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64(text.substr(RegExp.lastMatch.length));\n }\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n throw new Error(\"Unsupported source map encoding \" + encoding);\n }\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, \"\").trim();\n }\n isMap(map) {\n if (typeof map !== \"object\") return false;\n return typeof map.mappings === \"string\" || typeof map._mappings === \"string\" || Array.isArray(map.sections);\n }\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm);\n if (!comments) return;\n let start = css.lastIndexOf(comments.pop());\n let end = css.indexOf(\"*/\", start);\n if (start > -1 && end > -1) {\n this.annotation = this.getAnnotationURL(css.substring(start, end));\n }\n }\n loadFile(path) {\n this.root = dirname$1(path);\n if (existsSync(path)) {\n this.mapFile = path;\n return readFileSync(path, \"utf-8\").toString().trim();\n }\n }\n loadMap(file, prev) {\n if (prev === false) return false;\n if (prev) {\n if (typeof prev === \"string\") {\n return prev;\n } else if (typeof prev === \"function\") {\n let prevPath = prev(file);\n if (prevPath) {\n let map = this.loadFile(prevPath);\n if (!map) {\n throw new Error(\n \"Unable to load previous source map: \" + prevPath.toString()\n );\n }\n return map;\n }\n } else if (prev instanceof SourceMapConsumer$2) {\n return SourceMapGenerator$2.fromSourceMap(prev).toString();\n } else if (prev instanceof SourceMapGenerator$2) {\n return prev.toString();\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev);\n } else {\n throw new Error(\n \"Unsupported previous source map format: \" + prev.toString()\n );\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation);\n } else if (this.annotation) {\n let map = this.annotation;\n if (file) map = join(dirname$1(file), map);\n return this.loadFile(map);\n }\n }\n startWith(string, start) {\n if (!string) return false;\n return string.substr(0, start.length) === start;\n }\n withContent() {\n return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n }\n};\nvar previousMap = PreviousMap$2;\nPreviousMap$2.default = PreviousMap$2;\nlet { SourceMapConsumer: SourceMapConsumer$1, SourceMapGenerator: SourceMapGenerator$1 } = require$$2;\nlet { fileURLToPath, pathToFileURL: pathToFileURL$1 } = require$$2;\nlet { isAbsolute, resolve: resolve$1 } = require$$2;\nlet { nanoid } = nonSecure;\nlet terminalHighlight = require$$2;\nlet CssSyntaxError$1 = cssSyntaxError;\nlet PreviousMap$1 = previousMap;\nlet fromOffsetCache = Symbol(\"fromOffsetCache\");\nlet sourceMapAvailable$1 = Boolean(SourceMapConsumer$1 && SourceMapGenerator$1);\nlet pathAvailable$1 = Boolean(resolve$1 && isAbsolute);\nlet Input$4 = class Input2 {\n constructor(css, opts = {}) {\n if (css === null || typeof css === \"undefined\" || typeof css === \"object\" && !css.toString) {\n throw new Error(`PostCSS received ${css} instead of CSS string`);\n }\n this.css = css.toString();\n if (this.css[0] === \"\\uFEFF\" || this.css[0] === \"￾\") {\n this.hasBOM = true;\n this.css = this.css.slice(1);\n } else {\n this.hasBOM = false;\n }\n if (opts.from) {\n if (!pathAvailable$1 || /^\\w+:\\/\\//.test(opts.from) || isAbsolute(opts.from)) {\n this.file = opts.from;\n } else {\n this.file = resolve$1(opts.from);\n }\n }\n if (pathAvailable$1 && sourceMapAvailable$1) {\n let map = new PreviousMap$1(this.css, opts);\n if (map.text) {\n this.map = map;\n let file = map.consumer().file;\n if (!this.file && file) this.file = this.mapResolve(file);\n }\n }\n if (!this.file) {\n this.id = \"<input css \" + nanoid(6) + \">\";\n }\n if (this.map) this.map.file = this.from;\n }\n error(message, line, column, opts = {}) {\n let result2, endLine, endColumn;\n if (line && typeof line === \"object\") {\n let start = line;\n let end = column;\n if (typeof start.offset === \"number\") {\n let pos = this.fromOffset(start.offset);\n line = pos.line;\n column = pos.col;\n } else {\n line = start.line;\n column = start.column;\n }\n if (typeof end.offset === \"number\") {\n let pos = this.fromOffset(end.offset);\n endLine = pos.line;\n endColumn = pos.col;\n } else {\n endLine = end.line;\n endColumn = end.column;\n }\n } else if (!column) {\n let pos = this.fromOffset(line);\n line = pos.line;\n column = pos.col;\n }\n let origin = this.origin(line, column, endLine, endColumn);\n if (origin) {\n result2 = new CssSyntaxError$1(\n message,\n origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },\n origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n );\n } else {\n result2 = new CssSyntaxError$1(\n message,\n endLine === void 0 ? line : { column, line },\n endLine === void 0 ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n );\n }\n result2.input = { column, endColumn, endLine, line, source: this.css };\n if (this.file) {\n if (pathToFileURL$1) {\n result2.input.url = pathToFileURL$1(this.file).toString();\n }\n result2.input.file = this.file;\n }\n return result2;\n }\n fromOffset(offset) {\n let lastLine, lineToIndex;\n if (!this[fromOffsetCache]) {\n let lines = this.css.split(\"\\n\");\n lineToIndex = new Array(lines.length);\n let prevIndex = 0;\n for (let i2 = 0, l2 = lines.length; i2 < l2; i2++) {\n lineToIndex[i2] = prevIndex;\n prevIndex += lines[i2].length + 1;\n }\n this[fromOffsetCache] = lineToIndex;\n } else {\n lineToIndex = this[fromOffsetCache];\n }\n lastLine = lineToIndex[lineToIndex.length - 1];\n let min = 0;\n if (offset >= lastLine) {\n min = lineToIndex.length - 1;\n } else {\n let max = lineToIndex.length - 2;\n let mid;\n while (min < max) {\n mid = min + (max - min >> 1);\n if (offset < lineToIndex[mid]) {\n max = mid - 1;\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1;\n } else {\n min = mid;\n break;\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n };\n }\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file;\n }\n return resolve$1(this.map.consumer().sourceRoot || this.map.root || \".\", file);\n }\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false;\n let consumer = this.map.consumer();\n let from = consumer.originalPositionFor({ column, line });\n if (!from.source) return false;\n let to;\n if (typeof endLine === \"number\") {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine });\n }\n let fromUrl;\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL$1(from.source);\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL$1(this.map.mapFile)\n );\n }\n let result2 = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n };\n if (fromUrl.protocol === \"file:\") {\n if (fileURLToPath) {\n result2.file = fileURLToPath(fromUrl);\n } else {\n throw new Error(`file: protocol is not available in this PostCSS build`);\n }\n }\n let source = consumer.sourceContentFor(from.source);\n if (source) result2.source = source;\n return result2;\n }\n toJSON() {\n let json = {};\n for (let name of [\"hasBOM\", \"css\", \"file\", \"id\"]) {\n if (this[name] != null) {\n json[name] = this[name];\n }\n }\n if (this.map) {\n json.map = { ...this.map };\n if (json.map.consumerCache) {\n json.map.consumerCache = void 0;\n }\n }\n return json;\n }\n get from() {\n return this.file || this.id;\n }\n};\nvar input = Input$4;\nInput$4.default = Input$4;\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input$4);\n}\nlet { SourceMapConsumer, SourceMapGenerator } = require$$2;\nlet { dirname, relative, resolve, sep } = require$$2;\nlet { pathToFileURL } = require$$2;\nlet Input$3 = input;\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator);\nlet pathAvailable = Boolean(dirname && resolve && relative && sep);\nlet MapGenerator$2 = class MapGenerator2 {\n constructor(stringify2, root2, opts, cssString) {\n this.stringify = stringify2;\n this.mapOpts = opts.map || {};\n this.root = root2;\n this.opts = opts;\n this.css = cssString;\n this.originalCSS = cssString;\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n this.memoizedFileURLs = /* @__PURE__ */ new Map();\n this.memoizedPaths = /* @__PURE__ */ new Map();\n this.memoizedURLs = /* @__PURE__ */ new Map();\n }\n addAnnotation() {\n let content;\n if (this.isInline()) {\n content = \"data:application/json;base64,\" + this.toBase64(this.map.toString());\n } else if (typeof this.mapOpts.annotation === \"string\") {\n content = this.mapOpts.annotation;\n } else if (typeof this.mapOpts.annotation === \"function\") {\n content = this.mapOpts.annotation(this.opts.to, this.root);\n } else {\n content = this.outputFile() + \".map\";\n }\n let eol = \"\\n\";\n if (this.css.includes(\"\\r\\n\")) eol = \"\\r\\n\";\n this.css += eol + \"/*# sourceMappingURL=\" + content + \" */\";\n }\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file));\n let root2 = prev.root || dirname(prev.file);\n let map;\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text);\n if (map.sourcesContent) {\n map.sourcesContent = null;\n }\n } else {\n map = prev.consumer();\n }\n this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));\n }\n }\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return;\n if (this.root) {\n let node2;\n for (let i2 = this.root.nodes.length - 1; i2 >= 0; i2--) {\n node2 = this.root.nodes[i2];\n if (node2.type !== \"comment\") continue;\n if (node2.text.indexOf(\"# sourceMappingURL=\") === 0) {\n this.root.removeChild(i2);\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, \"\");\n }\n }\n generate() {\n this.clearAnnotation();\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap();\n } else {\n let result2 = \"\";\n this.stringify(this.root, (i2) => {\n result2 += i2;\n });\n return [result2];\n }\n }\n generateMap() {\n if (this.root) {\n this.generateString();\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer();\n prev.file = this.outputFile();\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n });\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\"\n });\n }\n if (this.isSourcesContent()) this.setSourcesContent();\n if (this.root && this.previous().length > 0) this.applyPrevMaps();\n if (this.isAnnotation()) this.addAnnotation();\n if (this.isInline()) {\n return [this.css];\n } else {\n return [this.css, this.map];\n }\n }\n generateString() {\n this.css = \"\";\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n let line = 1;\n let column = 1;\n let noSource = \"<no source>\";\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: \"\"\n };\n let lines, last;\n this.stringify(this.root, (str, node2, type) => {\n this.css += str;\n if (node2 && type !== \"end\") {\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n if (node2.source && node2.source.start) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.start.line;\n mapping.original.column = node2.source.start.column - 1;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n this.map.addMapping(mapping);\n }\n }\n lines = str.match(/\\n/g);\n if (lines) {\n line += lines.length;\n last = str.lastIndexOf(\"\\n\");\n column = str.length - last;\n } else {\n column += str.length;\n }\n if (node2 && type !== \"start\") {\n let p = node2.parent || { raws: {} };\n let childless = node2.type === \"decl\" || node2.type === \"atrule\" && !node2.nodes;\n if (!childless || node2 !== p.last || p.raws.semicolon) {\n if (node2.source && node2.source.end) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.end.line;\n mapping.original.column = node2.source.end.column - 1;\n mapping.generated.line = line;\n mapping.generated.column = column - 2;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n this.map.addMapping(mapping);\n }\n }\n }\n });\n }\n isAnnotation() {\n if (this.isInline()) {\n return true;\n }\n if (typeof this.mapOpts.annotation !== \"undefined\") {\n return this.mapOpts.annotation;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.annotation);\n }\n return true;\n }\n isInline() {\n if (typeof this.mapOpts.inline !== \"undefined\") {\n return this.mapOpts.inline;\n }\n let annotation = this.mapOpts.annotation;\n if (typeof annotation !== \"undefined\" && annotation !== true) {\n return false;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.inline);\n }\n return true;\n }\n isMap() {\n if (typeof this.opts.map !== \"undefined\") {\n return !!this.opts.map;\n }\n return this.previous().length > 0;\n }\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== \"undefined\") {\n return this.mapOpts.sourcesContent;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.withContent());\n }\n return true;\n }\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to);\n } else if (this.opts.from) {\n return this.path(this.opts.from);\n } else {\n return \"to.css\";\n }\n }\n path(file) {\n if (this.mapOpts.absolute) return file;\n if (file.charCodeAt(0) === 60) return file;\n if (/^\\w+:\\/\\//.test(file)) return file;\n let cached = this.memoizedPaths.get(file);\n if (cached) return cached;\n let from = this.opts.to ? dirname(this.opts.to) : \".\";\n if (typeof this.mapOpts.annotation === \"string\") {\n from = dirname(resolve(from, this.mapOpts.annotation));\n }\n let path = relative(from, file);\n this.memoizedPaths.set(file, path);\n return path;\n }\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = [];\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source && node2.source.input.map) {\n let map = node2.source.input.map;\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map);\n }\n }\n });\n } else {\n let input2 = new Input$3(this.originalCSS, this.opts);\n if (input2.map) this.previousMaps.push(input2.map);\n }\n }\n return this.previousMaps;\n }\n setSourcesContent() {\n let already = {};\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source) {\n let from = node2.source.input.from;\n if (from && !already[from]) {\n already[from] = true;\n let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n this.map.setSourceContent(fromUrl, node2.source.input.css);\n }\n }\n });\n } else if (this.css) {\n let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\";\n this.map.setSourceContent(from, this.css);\n }\n }\n sourcePath(node2) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from);\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node2.source.input.from);\n } else {\n return this.toUrl(this.path(node2.source.input.from));\n }\n }\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString(\"base64\");\n } else {\n return window.btoa(unescape(encodeURIComponent(str)));\n }\n }\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path);\n if (cached) return cached;\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString();\n this.memoizedFileURLs.set(path, fileURL);\n return fileURL;\n } else {\n throw new Error(\n \"`map.absolute` option is not available in this PostCSS build\"\n );\n }\n }\n toUrl(path) {\n let cached = this.memoizedURLs.get(path);\n if (cached) return cached;\n if (sep === \"\\\\\") {\n path = path.replace(/\\\\/g, \"/\");\n }\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n this.memoizedURLs.set(path, url);\n return url;\n }\n};\nvar mapGenerator = MapGenerator$2;\nlet Node$2 = node;\nlet Comment$4 = class Comment2 extends Node$2 {\n constructor(defaults) {\n super(defaults);\n this.type = \"comment\";\n }\n};\nvar comment = Comment$4;\nComment$4.default = Comment$4;\nlet { isClean: isClean$1, my: my$1 } = symbols;\nlet Declaration$3 = declaration;\nlet Comment$3 = comment;\nlet Node$1 = node;\nlet parse$4, Rule$4, AtRule$4, Root$6;\nfunction cleanSource(nodes) {\n return nodes.map((i2) => {\n if (i2.nodes) i2.nodes = cleanSource(i2.nodes);\n delete i2.source;\n return i2;\n });\n}\nfunction markDirtyUp(node2) {\n node2[isClean$1] = false;\n if (node2.proxyOf.nodes) {\n for (let i2 of node2.proxyOf.nodes) {\n markDirtyUp(i2);\n }\n }\n}\nlet Container$7 = class Container2 extends Node$1 {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last);\n for (let node2 of nodes) this.proxyOf.nodes.push(node2);\n }\n this.markDirty();\n return this;\n }\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween);\n if (this.nodes) {\n for (let node2 of this.nodes) node2.cleanRaws(keepBetween);\n }\n }\n each(callback) {\n if (!this.proxyOf.nodes) return void 0;\n let iterator = this.getIterator();\n let index2, result2;\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index2 = this.indexes[iterator];\n result2 = callback(this.proxyOf.nodes[index2], index2);\n if (result2 === false) break;\n this.indexes[iterator] += 1;\n }\n delete this.indexes[iterator];\n return result2;\n }\n every(condition) {\n return this.nodes.every(condition);\n }\n getIterator() {\n if (!this.lastEach) this.lastEach = 0;\n if (!this.indexes) this.indexes = {};\n this.lastEach += 1;\n let iterator = this.lastEach;\n this.indexes[iterator] = 0;\n return iterator;\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (!node2[prop]) {\n return node2[prop];\n } else if (prop === \"each\" || typeof prop === \"string\" && prop.startsWith(\"walk\")) {\n return (...args) => {\n return node2[prop](\n ...args.map((i2) => {\n if (typeof i2 === \"function\") {\n return (child, index2) => i2(child.toProxy(), index2);\n } else {\n return i2;\n }\n })\n );\n };\n } else if (prop === \"every\" || prop === \"some\") {\n return (cb) => {\n return node2[prop](\n (child, ...other) => cb(child.toProxy(), ...other)\n );\n };\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else if (prop === \"nodes\") {\n return node2.nodes.map((i2) => i2.toProxy());\n } else if (prop === \"first\" || prop === \"last\") {\n return node2[prop].toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"name\" || prop === \"params\" || prop === \"selector\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n index(child) {\n if (typeof child === \"number\") return child;\n if (child.proxyOf) child = child.proxyOf;\n return this.proxyOf.nodes.indexOf(child);\n }\n insertAfter(exist, add) {\n let existIndex = this.index(exist);\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex < index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n insertBefore(exist, add) {\n let existIndex = this.index(exist);\n let type = existIndex === 0 ? \"prepend\" : false;\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex <= index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n normalize(nodes, sample) {\n if (typeof nodes === \"string\") {\n nodes = cleanSource(parse$4(nodes).nodes);\n } else if (typeof nodes === \"undefined\") {\n nodes = [];\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type === \"root\" && this.type !== \"document\") {\n nodes = nodes.nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type) {\n nodes = [nodes];\n } else if (nodes.prop) {\n if (typeof nodes.value === \"undefined\") {\n throw new Error(\"Value field is missed in node creation\");\n } else if (typeof nodes.value !== \"string\") {\n nodes.value = String(nodes.value);\n }\n nodes = [new Declaration$3(nodes)];\n } else if (nodes.selector) {\n nodes = [new Rule$4(nodes)];\n } else if (nodes.name) {\n nodes = [new AtRule$4(nodes)];\n } else if (nodes.text) {\n nodes = [new Comment$3(nodes)];\n } else {\n throw new Error(\"Unknown node type in node creation\");\n }\n let processed = nodes.map((i2) => {\n if (!i2[my$1]) Container2.rebuild(i2);\n i2 = i2.proxyOf;\n if (i2.parent) i2.parent.removeChild(i2);\n if (i2[isClean$1]) markDirtyUp(i2);\n if (typeof i2.raws.before === \"undefined\") {\n if (sample && typeof sample.raws.before !== \"undefined\") {\n i2.raws.before = sample.raws.before.replace(/\\S/g, \"\");\n }\n }\n i2.parent = this.proxyOf;\n return i2;\n });\n return processed;\n }\n prepend(...children) {\n children = children.reverse();\n for (let child of children) {\n let nodes = this.normalize(child, this.first, \"prepend\").reverse();\n for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n push(child) {\n child.parent = this;\n this.proxyOf.nodes.push(child);\n return this;\n }\n removeAll() {\n for (let node2 of this.proxyOf.nodes) node2.parent = void 0;\n this.proxyOf.nodes = [];\n this.markDirty();\n return this;\n }\n removeChild(child) {\n child = this.index(child);\n this.proxyOf.nodes[child].parent = void 0;\n this.proxyOf.nodes.splice(child, 1);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (index2 >= child) {\n this.indexes[id] = index2 - 1;\n }\n }\n this.markDirty();\n return this;\n }\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts;\n opts = {};\n }\n this.walkDecls((decl) => {\n if (opts.props && !opts.props.includes(decl.prop)) return;\n if (opts.fast && !decl.value.includes(opts.fast)) return;\n decl.value = decl.value.replace(pattern, callback);\n });\n this.markDirty();\n return this;\n }\n some(condition) {\n return this.nodes.some(condition);\n }\n walk(callback) {\n return this.each((child, i2) => {\n let result2;\n try {\n result2 = callback(child, i2);\n } catch (e2) {\n throw child.addToError(e2);\n }\n if (result2 !== false && child.walk) {\n result2 = child.walk(callback);\n }\n return result2;\n });\n }\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name;\n return this.walk((child, i2) => {\n if (child.type === \"atrule\") {\n return callback(child, i2);\n }\n });\n }\n if (name instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && name.test(child.name)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && child.name === name) {\n return callback(child, i2);\n }\n });\n }\n walkComments(callback) {\n return this.walk((child, i2) => {\n if (child.type === \"comment\") {\n return callback(child, i2);\n }\n });\n }\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop;\n return this.walk((child, i2) => {\n if (child.type === \"decl\") {\n return callback(child, i2);\n }\n });\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && prop.test(child.prop)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && child.prop === prop) {\n return callback(child, i2);\n }\n });\n }\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector;\n return this.walk((child, i2) => {\n if (child.type === \"rule\") {\n return callback(child, i2);\n }\n });\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && selector.test(child.selector)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && child.selector === selector) {\n return callback(child, i2);\n }\n });\n }\n get first() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[0];\n }\n get last() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n }\n};\nContainer$7.registerParse = (dependant) => {\n parse$4 = dependant;\n};\nContainer$7.registerRule = (dependant) => {\n Rule$4 = dependant;\n};\nContainer$7.registerAtRule = (dependant) => {\n AtRule$4 = dependant;\n};\nContainer$7.registerRoot = (dependant) => {\n Root$6 = dependant;\n};\nvar container = Container$7;\nContainer$7.default = Container$7;\nContainer$7.rebuild = (node2) => {\n if (node2.type === \"atrule\") {\n Object.setPrototypeOf(node2, AtRule$4.prototype);\n } else if (node2.type === \"rule\") {\n Object.setPrototypeOf(node2, Rule$4.prototype);\n } else if (node2.type === \"decl\") {\n Object.setPrototypeOf(node2, Declaration$3.prototype);\n } else if (node2.type === \"comment\") {\n Object.setPrototypeOf(node2, Comment$3.prototype);\n } else if (node2.type === \"root\") {\n Object.setPrototypeOf(node2, Root$6.prototype);\n }\n node2[my$1] = true;\n if (node2.nodes) {\n node2.nodes.forEach((child) => {\n Container$7.rebuild(child);\n });\n }\n};\nlet Container$6 = container;\nlet LazyResult$4, Processor$3;\nlet Document$3 = class Document23 extends Container$6 {\n constructor(defaults) {\n super({ type: \"document\", ...defaults });\n if (!this.nodes) {\n this.nodes = [];\n }\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$4(new Processor$3(), this, opts);\n return lazy.stringify();\n }\n};\nDocument$3.registerLazyResult = (dependant) => {\n LazyResult$4 = dependant;\n};\nDocument$3.registerProcessor = (dependant) => {\n Processor$3 = dependant;\n};\nvar document$1 = Document$3;\nDocument$3.default = Document$3;\nlet printed = {};\nvar warnOnce$2 = function warnOnce2(message) {\n if (printed[message]) return;\n printed[message] = true;\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(message);\n }\n};\nlet Warning$2 = class Warning2 {\n constructor(text, opts = {}) {\n this.type = \"warning\";\n this.text = text;\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts);\n this.line = range.start.line;\n this.column = range.start.column;\n this.endLine = range.end.line;\n this.endColumn = range.end.column;\n }\n for (let opt in opts) this[opt] = opts[opt];\n }\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message;\n }\n if (this.plugin) {\n return this.plugin + \": \" + this.text;\n }\n return this.text;\n }\n};\nvar warning = Warning$2;\nWarning$2.default = Warning$2;\nlet Warning$1 = warning;\nlet Result$3 = class Result2 {\n constructor(processor2, root2, opts) {\n this.processor = processor2;\n this.messages = [];\n this.root = root2;\n this.opts = opts;\n this.css = void 0;\n this.map = void 0;\n }\n toString() {\n return this.css;\n }\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin;\n }\n }\n let warning2 = new Warning$1(text, opts);\n this.messages.push(warning2);\n return warning2;\n }\n warnings() {\n return this.messages.filter((i2) => i2.type === \"warning\");\n }\n get content() {\n return this.css;\n }\n};\nvar result = Result$3;\nResult$3.default = Result$3;\nconst SINGLE_QUOTE = \"'\".charCodeAt(0);\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0);\nconst BACKSLASH = \"\\\\\".charCodeAt(0);\nconst SLASH = \"/\".charCodeAt(0);\nconst NEWLINE = \"\\n\".charCodeAt(0);\nconst SPACE = \" \".charCodeAt(0);\nconst FEED = \"\\f\".charCodeAt(0);\nconst TAB = \"\t\".charCodeAt(0);\nconst CR = \"\\r\".charCodeAt(0);\nconst OPEN_SQUARE = \"[\".charCodeAt(0);\nconst CLOSE_SQUARE = \"]\".charCodeAt(0);\nconst OPEN_PARENTHESES = \"(\".charCodeAt(0);\nconst CLOSE_PARENTHESES = \")\".charCodeAt(0);\nconst OPEN_CURLY = \"{\".charCodeAt(0);\nconst CLOSE_CURLY = \"}\".charCodeAt(0);\nconst SEMICOLON = \";\".charCodeAt(0);\nconst ASTERISK = \"*\".charCodeAt(0);\nconst COLON = \":\".charCodeAt(0);\nconst AT = \"@\".charCodeAt(0);\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/;\nconst RE_HEX_ESCAPE = /[\\da-f]/i;\nvar tokenize = function tokenizer2(input2, options = {}) {\n let css = input2.css.valueOf();\n let ignore = options.ignoreErrors;\n let code, next, quote, content, escape;\n let escaped, escapePos, prev, n2, currentToken;\n let length = css.length;\n let pos = 0;\n let buffer = [];\n let returned = [];\n function position() {\n return pos;\n }\n function unclosed(what) {\n throw input2.error(\"Unclosed \" + what, pos);\n }\n function endOfFile() {\n return returned.length === 0 && pos >= length;\n }\n function nextToken(opts) {\n if (returned.length) return returned.pop();\n if (pos >= length) return;\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n code = css.charCodeAt(pos);\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED);\n currentToken = [\"space\", css.slice(pos, next)];\n pos = next - 1;\n break;\n }\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code);\n currentToken = [controlChar, controlChar, pos];\n break;\n }\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : \"\";\n n2 = css.charCodeAt(pos + 1);\n if (prev === \"url\" && n2 !== SINGLE_QUOTE && n2 !== DOUBLE_QUOTE && n2 !== SPACE && n2 !== NEWLINE && n2 !== TAB && n2 !== FEED && n2 !== CR) {\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(\")\", next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos;\n break;\n } else {\n unclosed(\"bracket\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"brackets\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n next = css.indexOf(\")\", pos + 1);\n content = css.slice(pos, next + 1);\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = [\"(\", \"(\", pos];\n } else {\n currentToken = [\"brackets\", content, pos, next];\n pos = next;\n }\n }\n break;\n }\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"';\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1;\n break;\n } else {\n unclosed(\"string\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"string\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case AT: {\n RE_AT_END.lastIndex = pos + 1;\n RE_AT_END.test(css);\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_AT_END.lastIndex - 2;\n }\n currentToken = [\"at-word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case BACKSLASH: {\n next = pos;\n escape = true;\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1;\n escape = !escape;\n }\n code = css.charCodeAt(next + 1);\n if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) {\n next += 1;\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1;\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1;\n }\n }\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf(\"*/\", pos + 2) + 1;\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length;\n } else {\n unclosed(\"comment\");\n }\n }\n currentToken = [\"comment\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n RE_WORD_END.lastIndex = pos + 1;\n RE_WORD_END.test(css);\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_WORD_END.lastIndex - 2;\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n buffer.push(currentToken);\n pos = next;\n }\n break;\n }\n }\n pos++;\n return currentToken;\n }\n function back(token) {\n returned.push(token);\n }\n return {\n back,\n endOfFile,\n nextToken,\n position\n };\n};\nlet Container$5 = container;\nlet AtRule$3 = class AtRule2 extends Container$5 {\n constructor(defaults) {\n super(defaults);\n this.type = \"atrule\";\n }\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.append(...children);\n }\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.prepend(...children);\n }\n};\nvar atRule = AtRule$3;\nAtRule$3.default = AtRule$3;\nContainer$5.registerAtRule(AtRule$3);\nlet Container$4 = container;\nlet LazyResult$3, Processor$2;\nlet Root$5 = class Root2 extends Container$4 {\n constructor(defaults) {\n super(defaults);\n this.type = \"root\";\n if (!this.nodes) this.nodes = [];\n }\n normalize(child, sample, type) {\n let nodes = super.normalize(child);\n if (sample) {\n if (type === \"prepend\") {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before;\n } else {\n delete sample.raws.before;\n }\n } else if (this.first !== sample) {\n for (let node2 of nodes) {\n node2.raws.before = sample.raws.before;\n }\n }\n }\n return nodes;\n }\n removeChild(child, ignore) {\n let index2 = this.index(child);\n if (!ignore && index2 === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index2].raws.before;\n }\n return super.removeChild(child);\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$3(new Processor$2(), this, opts);\n return lazy.stringify();\n }\n};\nRoot$5.registerLazyResult = (dependant) => {\n LazyResult$3 = dependant;\n};\nRoot$5.registerProcessor = (dependant) => {\n Processor$2 = dependant;\n};\nvar root = Root$5;\nRoot$5.default = Root$5;\nContainer$4.registerRoot(Root$5);\nlet list$2 = {\n comma(string) {\n return list$2.split(string, [\",\"], true);\n },\n space(string) {\n let spaces = [\" \", \"\\n\", \"\t\"];\n return list$2.split(string, spaces);\n },\n split(string, separators, last) {\n let array = [];\n let current = \"\";\n let split = false;\n let func = 0;\n let inQuote = false;\n let prevQuote = \"\";\n let escape = false;\n for (let letter of string) {\n if (escape) {\n escape = false;\n } else if (letter === \"\\\\\") {\n escape = true;\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false;\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true;\n prevQuote = letter;\n } else if (letter === \"(\") {\n func += 1;\n } else if (letter === \")\") {\n if (func > 0) func -= 1;\n } else if (func === 0) {\n if (separators.includes(letter)) split = true;\n }\n if (split) {\n if (current !== \"\") array.push(current.trim());\n current = \"\";\n split = false;\n } else {\n current += letter;\n }\n }\n if (last || current !== \"\") array.push(current.trim());\n return array;\n }\n};\nvar list_1 = list$2;\nlist$2.default = list$2;\nlet Container$3 = container;\nlet list$1 = list_1;\nlet Rule$3 = class Rule2 extends Container$3 {\n constructor(defaults) {\n super(defaults);\n this.type = \"rule\";\n if (!this.nodes) this.nodes = [];\n }\n get selectors() {\n return list$1.comma(this.selector);\n }\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null;\n let sep2 = match ? match[0] : \",\" + this.raw(\"between\", \"beforeOpen\");\n this.selector = values.join(sep2);\n }\n};\nvar rule = Rule$3;\nRule$3.default = Rule$3;\nContainer$3.registerRule(Rule$3);\nlet Declaration$2 = declaration;\nlet tokenizer22 = tokenize;\nlet Comment$2 = comment;\nlet AtRule$2 = atRule;\nlet Root$4 = root;\nlet Rule$2 = rule;\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n};\nfunction findLastWithPosition(tokens) {\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n let token = tokens[i2];\n let pos = token[3] || token[2];\n if (pos) return pos;\n }\n}\nlet Parser$1 = class Parser2 {\n constructor(input2) {\n this.input = input2;\n this.root = new Root$4();\n this.current = this.root;\n this.spaces = \"\";\n this.semicolon = false;\n this.createTokenizer();\n this.root.source = { input: input2, start: { column: 1, line: 1, offset: 0 } };\n }\n atrule(token) {\n let node2 = new AtRule$2();\n node2.name = token[1].slice(1);\n if (node2.name === \"\") {\n this.unnamedAtrule(node2, token);\n }\n this.init(node2, token[2]);\n let type;\n let prev;\n let shift;\n let last = false;\n let open = false;\n let params = [];\n let brackets = [];\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n type = token[0];\n if (type === \"(\" || type === \"[\") {\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (type === \"{\" && brackets.length > 0) {\n brackets.push(\"}\");\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n }\n if (brackets.length === 0) {\n if (type === \";\") {\n node2.source.end = this.getPosition(token[2]);\n node2.source.end.offset++;\n this.semicolon = true;\n break;\n } else if (type === \"{\") {\n open = true;\n break;\n } else if (type === \"}\") {\n if (params.length > 0) {\n shift = params.length - 1;\n prev = params[shift];\n while (prev && prev[0] === \"space\") {\n prev = params[--shift];\n }\n if (prev) {\n node2.source.end = this.getPosition(prev[3] || prev[2]);\n node2.source.end.offset++;\n }\n }\n this.end(token);\n break;\n } else {\n params.push(token);\n }\n } else {\n params.push(token);\n }\n if (this.tokenizer.endOfFile()) {\n last = true;\n break;\n }\n }\n node2.raws.between = this.spacesAndCommentsFromEnd(params);\n if (params.length) {\n node2.raws.afterName = this.spacesAndCommentsFromStart(params);\n this.raw(node2, \"params\", params);\n if (last) {\n token = params[params.length - 1];\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n this.spaces = node2.raws.between;\n node2.raws.between = \"\";\n }\n } else {\n node2.raws.afterName = \"\";\n node2.params = \"\";\n }\n if (open) {\n node2.nodes = [];\n this.current = node2;\n }\n }\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens);\n if (colon === false) return;\n let founded = 0;\n let token;\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j];\n if (token[0] !== \"space\") {\n founded += 1;\n if (founded === 2) break;\n }\n }\n throw this.input.error(\n \"Missed semicolon\",\n token[0] === \"word\" ? token[3] + 1 : token[2]\n );\n }\n colon(tokens) {\n let brackets = 0;\n let token, type, prev;\n for (let [i2, element] of tokens.entries()) {\n token = element;\n type = token[0];\n if (type === \"(\") {\n brackets += 1;\n }\n if (type === \")\") {\n brackets -= 1;\n }\n if (brackets === 0 && type === \":\") {\n if (!prev) {\n this.doubleColon(token);\n } else if (prev[0] === \"word\" && prev[1] === \"progid\") {\n continue;\n } else {\n return i2;\n }\n }\n prev = token;\n }\n return false;\n }\n comment(token) {\n let node2 = new Comment$2();\n this.init(node2, token[2]);\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n let text = token[1].slice(2, -2);\n if (/^\\s*$/.test(text)) {\n node2.text = \"\";\n node2.raws.left = text;\n node2.raws.right = \"\";\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n node2.text = match[2];\n node2.raws.left = match[1];\n node2.raws.right = match[3];\n }\n }\n createTokenizer() {\n this.tokenizer = tokenizer22(this.input);\n }\n decl(tokens, customProperty) {\n let node2 = new Declaration$2();\n this.init(node2, tokens[0][2]);\n let last = tokens[tokens.length - 1];\n if (last[0] === \";\") {\n this.semicolon = true;\n tokens.pop();\n }\n node2.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n );\n node2.source.end.offset++;\n while (tokens[0][0] !== \"word\") {\n if (tokens.length === 1) this.unknownWord(tokens);\n node2.raws.before += tokens.shift()[1];\n }\n node2.source.start = this.getPosition(tokens[0][2]);\n node2.prop = \"\";\n while (tokens.length) {\n let type = tokens[0][0];\n if (type === \":\" || type === \"space\" || type === \"comment\") {\n break;\n }\n node2.prop += tokens.shift()[1];\n }\n node2.raws.between = \"\";\n let token;\n while (tokens.length) {\n token = tokens.shift();\n if (token[0] === \":\") {\n node2.raws.between += token[1];\n break;\n } else {\n if (token[0] === \"word\" && /\\w/.test(token[1])) {\n this.unknownWord([token]);\n }\n node2.raws.between += token[1];\n }\n }\n if (node2.prop[0] === \"_\" || node2.prop[0] === \"*\") {\n node2.raws.before += node2.prop[0];\n node2.prop = node2.prop.slice(1);\n }\n let firstSpaces = [];\n let next;\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n firstSpaces.push(tokens.shift());\n }\n this.precheckMissedSemicolon(tokens);\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n token = tokens[i2];\n if (token[1].toLowerCase() === \"!important\") {\n node2.important = true;\n let string = this.stringFrom(tokens, i2);\n string = this.spacesFromEnd(tokens) + string;\n if (string !== \" !important\") node2.raws.important = string;\n break;\n } else if (token[1].toLowerCase() === \"important\") {\n let cache = tokens.slice(0);\n let str = \"\";\n for (let j = i2; j > 0; j--) {\n let type = cache[j][0];\n if (str.trim().indexOf(\"!\") === 0 && type !== \"space\") {\n break;\n }\n str = cache.pop()[1] + str;\n }\n if (str.trim().indexOf(\"!\") === 0) {\n node2.important = true;\n node2.raws.important = str;\n tokens = cache;\n }\n }\n if (token[0] !== \"space\" && token[0] !== \"comment\") {\n break;\n }\n }\n let hasWord = tokens.some((i2) => i2[0] !== \"space\" && i2[0] !== \"comment\");\n if (hasWord) {\n node2.raws.between += firstSpaces.map((i2) => i2[1]).join(\"\");\n firstSpaces = [];\n }\n this.raw(node2, \"value\", firstSpaces.concat(tokens), customProperty);\n if (node2.value.includes(\":\") && !customProperty) {\n this.checkMissedSemicolon(tokens);\n }\n }\n doubleColon(token) {\n throw this.input.error(\n \"Double colon\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n emptyRule(token) {\n let node2 = new Rule$2();\n this.init(node2, token[2]);\n node2.selector = \"\";\n node2.raws.between = \"\";\n this.current = node2;\n }\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.semicolon = false;\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.spaces = \"\";\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2]);\n this.current.source.end.offset++;\n this.current = this.current.parent;\n } else {\n this.unexpectedClose(token);\n }\n }\n endFile() {\n if (this.current.parent) this.unclosedBlock();\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.root.source.end = this.getPosition(this.tokenizer.position());\n }\n freeSemicolon(token) {\n this.spaces += token[1];\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1];\n if (prev && prev.type === \"rule\" && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces;\n this.spaces = \"\";\n }\n }\n }\n // Helpers\n getPosition(offset) {\n let pos = this.input.fromOffset(offset);\n return {\n column: pos.col,\n line: pos.line,\n offset\n };\n }\n init(node2, offset) {\n this.current.push(node2);\n node2.source = {\n input: this.input,\n start: this.getPosition(offset)\n };\n node2.raws.before = this.spaces;\n this.spaces = \"\";\n if (node2.type !== \"comment\") this.semicolon = false;\n }\n other(start) {\n let end = false;\n let type = null;\n let colon = false;\n let bracket = null;\n let brackets = [];\n let customProperty = start[1].startsWith(\"--\");\n let tokens = [];\n let token = start;\n while (token) {\n type = token[0];\n tokens.push(token);\n if (type === \"(\" || type === \"[\") {\n if (!bracket) bracket = token;\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (customProperty && colon && type === \"{\") {\n if (!bracket) bracket = token;\n brackets.push(\"}\");\n } else if (brackets.length === 0) {\n if (type === \";\") {\n if (colon) {\n this.decl(tokens, customProperty);\n return;\n } else {\n break;\n }\n } else if (type === \"{\") {\n this.rule(tokens);\n return;\n } else if (type === \"}\") {\n this.tokenizer.back(tokens.pop());\n end = true;\n break;\n } else if (type === \":\") {\n colon = true;\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n if (brackets.length === 0) bracket = null;\n }\n token = this.tokenizer.nextToken();\n }\n if (this.tokenizer.endOfFile()) end = true;\n if (brackets.length > 0) this.unclosedBracket(bracket);\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0];\n if (token !== \"space\" && token !== \"comment\") break;\n this.tokenizer.back(tokens.pop());\n }\n }\n this.decl(tokens, customProperty);\n } else {\n this.unknownWord(tokens);\n }\n }\n parse() {\n let token;\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n switch (token[0]) {\n case \"space\":\n this.spaces += token[1];\n break;\n case \";\":\n this.freeSemicolon(token);\n break;\n case \"}\":\n this.end(token);\n break;\n case \"comment\":\n this.comment(token);\n break;\n case \"at-word\":\n this.atrule(token);\n break;\n case \"{\":\n this.emptyRule(token);\n break;\n default:\n this.other(token);\n break;\n }\n }\n this.endFile();\n }\n precheckMissedSemicolon() {\n }\n raw(node2, prop, tokens, customProperty) {\n let token, type;\n let length = tokens.length;\n let value = \"\";\n let clean = true;\n let next, prev;\n for (let i2 = 0; i2 < length; i2 += 1) {\n token = tokens[i2];\n type = token[0];\n if (type === \"space\" && i2 === length - 1 && !customProperty) {\n clean = false;\n } else if (type === \"comment\") {\n prev = tokens[i2 - 1] ? tokens[i2 - 1][0] : \"empty\";\n next = tokens[i2 + 1] ? tokens[i2 + 1][0] : \"empty\";\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === \",\") {\n clean = false;\n } else {\n value += token[1];\n }\n } else {\n clean = false;\n }\n } else {\n value += token[1];\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i2) => all + i2[1], \"\");\n node2.raws[prop] = { raw, value };\n }\n node2[prop] = value;\n }\n rule(tokens) {\n tokens.pop();\n let node2 = new Rule$2();\n this.init(node2, tokens[0][2]);\n node2.raws.between = this.spacesAndCommentsFromEnd(tokens);\n this.raw(node2, \"selector\", tokens);\n this.current = node2;\n }\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\" && lastTokenType !== \"comment\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n // Errors\n spacesAndCommentsFromStart(tokens) {\n let next;\n let spaces = \"\";\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n spaces += tokens.shift()[1];\n }\n return spaces;\n }\n spacesFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n stringFrom(tokens, from) {\n let result2 = \"\";\n for (let i2 = from; i2 < tokens.length; i2++) {\n result2 += tokens[i2][1];\n }\n tokens.splice(from, tokens.length - from);\n return result2;\n }\n unclosedBlock() {\n let pos = this.current.source.start;\n throw this.input.error(\"Unclosed block\", pos.line, pos.column);\n }\n unclosedBracket(bracket) {\n throw this.input.error(\n \"Unclosed bracket\",\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n );\n }\n unexpectedClose(token) {\n throw this.input.error(\n \"Unexpected }\",\n { offset: token[2] },\n { offset: token[2] + 1 }\n );\n }\n unknownWord(tokens) {\n throw this.input.error(\n \"Unknown word\",\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n );\n }\n unnamedAtrule(node2, token) {\n throw this.input.error(\n \"At-rule without name\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n};\nvar parser = Parser$1;\nlet Container$2 = container;\nlet Parser22 = parser;\nlet Input$2 = input;\nfunction parse$3(css, opts) {\n let input2 = new Input$2(css, opts);\n let parser2 = new Parser22(input2);\n try {\n parser2.parse();\n } catch (e2) {\n if (process.env.NODE_ENV !== \"production\") {\n if (e2.name === \"CssSyntaxError\" && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\";\n } else if (/\\.sass/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\";\n } else if (/\\.less$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\";\n }\n }\n }\n throw e2;\n }\n return parser2.root;\n}\nvar parse_1 = parse$3;\nparse$3.default = parse$3;\nContainer$2.registerParse(parse$3);\nlet { isClean, my } = symbols;\nlet MapGenerator$1 = mapGenerator;\nlet stringify$2 = stringify_1;\nlet Container$1 = container;\nlet Document$2 = document$1;\nlet warnOnce$1 = warnOnce$2;\nlet Result$2 = result;\nlet parse$2 = parse_1;\nlet Root$3 = root;\nconst TYPE_TO_CLASS_NAME = {\n atrule: \"AtRule\",\n comment: \"Comment\",\n decl: \"Declaration\",\n document: \"Document\",\n root: \"Root\",\n rule: \"Rule\"\n};\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n};\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n};\nconst CHILDREN = 0;\nfunction isPromise(obj) {\n return typeof obj === \"object\" && typeof obj.then === \"function\";\n}\nfunction getEvents(node2) {\n let key = false;\n let type = TYPE_TO_CLASS_NAME[node2.type];\n if (node2.type === \"decl\") {\n key = node2.prop.toLowerCase();\n } else if (node2.type === \"atrule\") {\n key = node2.name.toLowerCase();\n }\n if (key && node2.append) {\n return [\n type,\n type + \"-\" + key,\n CHILDREN,\n type + \"Exit\",\n type + \"Exit-\" + key\n ];\n } else if (key) {\n return [type, type + \"-\" + key, type + \"Exit\", type + \"Exit-\" + key];\n } else if (node2.append) {\n return [type, CHILDREN, type + \"Exit\"];\n } else {\n return [type, type + \"Exit\"];\n }\n}\nfunction toStack(node2) {\n let events;\n if (node2.type === \"document\") {\n events = [\"Document\", CHILDREN, \"DocumentExit\"];\n } else if (node2.type === \"root\") {\n events = [\"Root\", CHILDREN, \"RootExit\"];\n } else {\n events = getEvents(node2);\n }\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node: node2,\n visitorIndex: 0,\n visitors: []\n };\n}\nfunction cleanMarks(node2) {\n node2[isClean] = false;\n if (node2.nodes) node2.nodes.forEach((i2) => cleanMarks(i2));\n return node2;\n}\nlet postcss$2 = {};\nlet LazyResult$2 = class LazyResult2 {\n constructor(processor2, css, opts) {\n this.stringified = false;\n this.processed = false;\n let root2;\n if (typeof css === \"object\" && css !== null && (css.type === \"root\" || css.type === \"document\")) {\n root2 = cleanMarks(css);\n } else if (css instanceof LazyResult2 || css instanceof Result$2) {\n root2 = cleanMarks(css.root);\n if (css.map) {\n if (typeof opts.map === \"undefined\") opts.map = {};\n if (!opts.map.inline) opts.map.inline = false;\n opts.map.prev = css.map;\n }\n } else {\n let parser2 = parse$2;\n if (opts.syntax) parser2 = opts.syntax.parse;\n if (opts.parser) parser2 = opts.parser;\n if (parser2.parse) parser2 = parser2.parse;\n try {\n root2 = parser2(css, opts);\n } catch (error) {\n this.processed = true;\n this.error = error;\n }\n if (root2 && !root2[my]) {\n Container$1.rebuild(root2);\n }\n }\n this.result = new Result$2(processor2, root2, opts);\n this.helpers = { ...postcss$2, postcss: postcss$2, result: this.result };\n this.plugins = this.processor.plugins.map((plugin22) => {\n if (typeof plugin22 === \"object\" && plugin22.prepare) {\n return { ...plugin22, ...plugin22.prepare(this.result) };\n } else {\n return plugin22;\n }\n });\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n if (this.processed) return Promise.resolve(this.result);\n if (!this.processing) {\n this.processing = this.runAsync();\n }\n return this.processing;\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n getAsyncError() {\n throw new Error(\"Use process(css).then(cb) to work with async plugins\");\n }\n handleError(error, node2) {\n let plugin22 = this.result.lastPlugin;\n try {\n if (node2) node2.addToError(error);\n this.error = error;\n if (error.name === \"CssSyntaxError\" && !error.plugin) {\n error.plugin = plugin22.postcssPlugin;\n error.setMessage();\n } else if (plugin22.postcssVersion) {\n if (process.env.NODE_ENV !== \"production\") {\n let pluginName = plugin22.postcssPlugin;\n let pluginVer = plugin22.postcssVersion;\n let runtimeVer = this.result.processor.version;\n let a2 = pluginVer.split(\".\");\n let b = runtimeVer.split(\".\");\n if (a2[0] !== b[0] || parseInt(a2[1]) > parseInt(b[1])) {\n console.error(\n \"Unknown error from PostCSS plugin. Your current PostCSS version is \" + runtimeVer + \", but \" + pluginName + \" uses \" + pluginVer + \". Perhaps this is the source of the error below.\"\n );\n }\n }\n }\n } catch (err) {\n if (console && console.error) console.error(err);\n }\n return error;\n }\n prepareVisitors() {\n this.listeners = {};\n let add = (plugin22, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = [];\n this.listeners[type].push([plugin22, cb]);\n };\n for (let plugin22 of this.plugins) {\n if (typeof plugin22 === \"object\") {\n for (let event in plugin22) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin22.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`\n );\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin22[event] === \"object\") {\n for (let filter in plugin22[event]) {\n if (filter === \"*\") {\n add(plugin22, event, plugin22[event][filter]);\n } else {\n add(\n plugin22,\n event + \"-\" + filter.toLowerCase(),\n plugin22[event][filter]\n );\n }\n }\n } else if (typeof plugin22[event] === \"function\") {\n add(plugin22, event, plugin22[event]);\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0;\n }\n async runAsync() {\n this.plugin = 0;\n for (let i2 = 0; i2 < this.plugins.length; i2++) {\n let plugin22 = this.plugins[i2];\n let promise = this.runOnRoot(plugin22);\n if (isPromise(promise)) {\n try {\n await promise;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean]) {\n root2[isClean] = true;\n let stack = [toStack(root2)];\n while (stack.length > 0) {\n let promise = this.visitTick(stack);\n if (isPromise(promise)) {\n try {\n await promise;\n } catch (e2) {\n let node2 = stack[stack.length - 1].node;\n throw this.handleError(e2, node2);\n }\n }\n }\n }\n if (this.listeners.OnceExit) {\n for (let [plugin22, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin22;\n try {\n if (root2.type === \"document\") {\n let roots = root2.nodes.map(\n (subRoot) => visitor(subRoot, this.helpers)\n );\n await Promise.all(roots);\n } else {\n await visitor(root2, this.helpers);\n }\n } catch (e2) {\n throw this.handleError(e2);\n }\n }\n }\n }\n this.processed = true;\n return this.stringify();\n }\n runOnRoot(plugin22) {\n this.result.lastPlugin = plugin22;\n try {\n if (typeof plugin22 === \"object\" && plugin22.Once) {\n if (this.result.root.type === \"document\") {\n let roots = this.result.root.nodes.map(\n (root2) => plugin22.Once(root2, this.helpers)\n );\n if (isPromise(roots[0])) {\n return Promise.all(roots);\n }\n return roots;\n }\n return plugin22.Once(this.result.root, this.helpers);\n } else if (typeof plugin22 === \"function\") {\n return plugin22(this.result.root, this.result);\n }\n } catch (error) {\n throw this.handleError(error);\n }\n }\n stringify() {\n if (this.error) throw this.error;\n if (this.stringified) return this.result;\n this.stringified = true;\n this.sync();\n let opts = this.result.opts;\n let str = stringify$2;\n if (opts.syntax) str = opts.syntax.stringify;\n if (opts.stringifier) str = opts.stringifier;\n if (str.stringify) str = str.stringify;\n let map = new MapGenerator$1(str, this.result.root, this.result.opts);\n let data = map.generate();\n this.result.css = data[0];\n this.result.map = data[1];\n return this.result;\n }\n sync() {\n if (this.error) throw this.error;\n if (this.processed) return this.result;\n this.processed = true;\n if (this.processing) {\n throw this.getAsyncError();\n }\n for (let plugin22 of this.plugins) {\n let promise = this.runOnRoot(plugin22);\n if (isPromise(promise)) {\n throw this.getAsyncError();\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean]) {\n root2[isClean] = true;\n this.walkSync(root2);\n }\n if (this.listeners.OnceExit) {\n if (root2.type === \"document\") {\n for (let subRoot of root2.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot);\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root2);\n }\n }\n }\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this.opts)) {\n warnOnce$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this.css;\n }\n visitSync(visitors, node2) {\n for (let [plugin22, visitor] of visitors) {\n this.result.lastPlugin = plugin22;\n let promise;\n try {\n promise = visitor(node2, this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2.proxyOf);\n }\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n return true;\n }\n if (isPromise(promise)) {\n throw this.getAsyncError();\n }\n }\n }\n visitTick(stack) {\n let visit2 = stack[stack.length - 1];\n let { node: node2, visitors } = visit2;\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n stack.pop();\n return;\n }\n if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {\n let [plugin22, visitor] = visitors[visit2.visitorIndex];\n visit2.visitorIndex += 1;\n if (visit2.visitorIndex === visitors.length) {\n visit2.visitors = [];\n visit2.visitorIndex = 0;\n }\n this.result.lastPlugin = plugin22;\n try {\n return visitor(node2.toProxy(), this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2);\n }\n }\n if (visit2.iterator !== 0) {\n let iterator = visit2.iterator;\n let child;\n while (child = node2.nodes[node2.indexes[iterator]]) {\n node2.indexes[iterator] += 1;\n if (!child[isClean]) {\n child[isClean] = true;\n stack.push(toStack(child));\n return;\n }\n }\n visit2.iterator = 0;\n delete node2.indexes[iterator];\n }\n let events = visit2.events;\n while (visit2.eventIndex < events.length) {\n let event = events[visit2.eventIndex];\n visit2.eventIndex += 1;\n if (event === CHILDREN) {\n if (node2.nodes && node2.nodes.length) {\n node2[isClean] = true;\n visit2.iterator = node2.getIterator();\n }\n return;\n } else if (this.listeners[event]) {\n visit2.visitors = this.listeners[event];\n return;\n }\n }\n stack.pop();\n }\n walkSync(node2) {\n node2[isClean] = true;\n let events = getEvents(node2);\n for (let event of events) {\n if (event === CHILDREN) {\n if (node2.nodes) {\n node2.each((child) => {\n if (!child[isClean]) this.walkSync(child);\n });\n }\n } else {\n let visitors = this.listeners[event];\n if (visitors) {\n if (this.visitSync(visitors, node2.toProxy())) return;\n }\n }\n }\n }\n warnings() {\n return this.sync().warnings();\n }\n get content() {\n return this.stringify().content;\n }\n get css() {\n return this.stringify().css;\n }\n get map() {\n return this.stringify().map;\n }\n get messages() {\n return this.sync().messages;\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n return this.sync().root;\n }\n get [Symbol.toStringTag]() {\n return \"LazyResult\";\n }\n};\nLazyResult$2.registerPostcss = (dependant) => {\n postcss$2 = dependant;\n};\nvar lazyResult = LazyResult$2;\nLazyResult$2.default = LazyResult$2;\nRoot$3.registerLazyResult(LazyResult$2);\nDocument$2.registerLazyResult(LazyResult$2);\nlet MapGenerator22 = mapGenerator;\nlet stringify$1 = stringify_1;\nlet warnOnce22 = warnOnce$2;\nlet parse$1 = parse_1;\nconst Result$1 = result;\nlet NoWorkResult$1 = class NoWorkResult2 {\n constructor(processor2, css, opts) {\n css = css.toString();\n this.stringified = false;\n this._processor = processor2;\n this._css = css;\n this._opts = opts;\n this._map = void 0;\n let root2;\n let str = stringify$1;\n this.result = new Result$1(this._processor, root2, this._opts);\n this.result.css = css;\n let self = this;\n Object.defineProperty(this.result, \"root\", {\n get() {\n return self.root;\n }\n });\n let map = new MapGenerator22(str, root2, this._opts, css);\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate();\n if (generatedCSS) {\n this.result.css = generatedCSS;\n }\n if (generatedMap) {\n this.result.map = generatedMap;\n }\n } else {\n map.clearAnnotation();\n this.result.css = map.css;\n }\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n return Promise.resolve(this.result);\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n sync() {\n if (this.error) throw this.error;\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this._opts)) {\n warnOnce22(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this._css;\n }\n warnings() {\n return [];\n }\n get content() {\n return this.result.css;\n }\n get css() {\n return this.result.css;\n }\n get map() {\n return this.result.map;\n }\n get messages() {\n return [];\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n if (this._root) {\n return this._root;\n }\n let root2;\n let parser2 = parse$1;\n try {\n root2 = parser2(this._css, this._opts);\n } catch (error) {\n this.error = error;\n }\n if (this.error) {\n throw this.error;\n } else {\n this._root = root2;\n return root2;\n }\n }\n get [Symbol.toStringTag]() {\n return \"NoWorkResult\";\n }\n};\nvar noWorkResult = NoWorkResult$1;\nNoWorkResult$1.default = NoWorkResult$1;\nlet NoWorkResult22 = noWorkResult;\nlet LazyResult$1 = lazyResult;\nlet Document$1 = document$1;\nlet Root$2 = root;\nlet Processor$1 = class Processor2 {\n constructor(plugins = []) {\n this.version = \"8.4.38\";\n this.plugins = this.normalize(plugins);\n }\n normalize(plugins) {\n let normalized = [];\n for (let i2 of plugins) {\n if (i2.postcss === true) {\n i2 = i2();\n } else if (i2.postcss) {\n i2 = i2.postcss;\n }\n if (typeof i2 === \"object\" && Array.isArray(i2.plugins)) {\n normalized = normalized.concat(i2.plugins);\n } else if (typeof i2 === \"object\" && i2.postcssPlugin) {\n normalized.push(i2);\n } else if (typeof i2 === \"function\") {\n normalized.push(i2);\n } else if (typeof i2 === \"object\" && (i2.parse || i2.stringify)) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"\n );\n }\n } else {\n throw new Error(i2 + \" is not a PostCSS plugin\");\n }\n }\n return normalized;\n }\n process(css, opts = {}) {\n if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n return new NoWorkResult22(this, css, opts);\n } else {\n return new LazyResult$1(this, css, opts);\n }\n }\n use(plugin22) {\n this.plugins = this.plugins.concat(this.normalize([plugin22]));\n return this;\n }\n};\nvar processor = Processor$1;\nProcessor$1.default = Processor$1;\nRoot$2.registerProcessor(Processor$1);\nDocument$1.registerProcessor(Processor$1);\nlet Declaration$1 = declaration;\nlet PreviousMap22 = previousMap;\nlet Comment$1 = comment;\nlet AtRule$1 = atRule;\nlet Input$1 = input;\nlet Root$1 = root;\nlet Rule$1 = rule;\nfunction fromJSON$1(json, inputs) {\n if (Array.isArray(json)) return json.map((n2) => fromJSON$1(n2));\n let { inputs: ownInputs, ...defaults } = json;\n if (ownInputs) {\n inputs = [];\n for (let input2 of ownInputs) {\n let inputHydrated = { ...input2, __proto__: Input$1.prototype };\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap22.prototype\n };\n }\n inputs.push(inputHydrated);\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map((n2) => fromJSON$1(n2, inputs));\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source;\n defaults.source = source;\n if (inputId != null) {\n defaults.source.input = inputs[inputId];\n }\n }\n if (defaults.type === \"root\") {\n return new Root$1(defaults);\n } else if (defaults.type === \"decl\") {\n return new Declaration$1(defaults);\n } else if (defaults.type === \"rule\") {\n return new Rule$1(defaults);\n } else if (defaults.type === \"comment\") {\n return new Comment$1(defaults);\n } else if (defaults.type === \"atrule\") {\n return new AtRule$1(defaults);\n } else {\n throw new Error(\"Unknown node type: \" + json.type);\n }\n}\nvar fromJSON_1 = fromJSON$1;\nfromJSON$1.default = fromJSON$1;\nlet CssSyntaxError22 = cssSyntaxError;\nlet Declaration22 = declaration;\nlet LazyResult22 = lazyResult;\nlet Container22 = container;\nlet Processor22 = processor;\nlet stringify = stringify_1;\nlet fromJSON = fromJSON_1;\nlet Document222 = document$1;\nlet Warning22 = warning;\nlet Comment22 = comment;\nlet AtRule22 = atRule;\nlet Result22 = result;\nlet Input22 = input;\nlet parse = parse_1;\nlet list = list_1;\nlet Rule22 = rule;\nlet Root22 = root;\nlet Node22 = node;\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0];\n }\n return new Processor22(plugins);\n}\npostcss.plugin = function plugin2(name, initializer) {\n let warningPrinted = false;\n function creator(...args) {\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true;\n console.warn(\n name + \": postcss.plugin was deprecated. Migration guide:\\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration\"\n );\n if (process.env.LANG && process.env.LANG.startsWith(\"cn\")) {\n console.warn(\n name + \": 里面 postcss.plugin 被弃用. 迁移指南:\\nhttps://www.w3ctech.com/topic/2226\"\n );\n }\n }\n let transformer = initializer(...args);\n transformer.postcssPlugin = name;\n transformer.postcssVersion = new Processor22().version;\n return transformer;\n }\n let cache;\n Object.defineProperty(creator, \"postcss\", {\n get() {\n if (!cache) cache = creator();\n return cache;\n }\n });\n creator.process = function(css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts);\n };\n return creator;\n};\npostcss.stringify = stringify;\npostcss.parse = parse;\npostcss.fromJSON = fromJSON;\npostcss.list = list;\npostcss.comment = (defaults) => new Comment22(defaults);\npostcss.atRule = (defaults) => new AtRule22(defaults);\npostcss.decl = (defaults) => new Declaration22(defaults);\npostcss.rule = (defaults) => new Rule22(defaults);\npostcss.root = (defaults) => new Root22(defaults);\npostcss.document = (defaults) => new Document222(defaults);\npostcss.CssSyntaxError = CssSyntaxError22;\npostcss.Declaration = Declaration22;\npostcss.Container = Container22;\npostcss.Processor = Processor22;\npostcss.Document = Document222;\npostcss.Comment = Comment22;\npostcss.Warning = Warning22;\npostcss.AtRule = AtRule22;\npostcss.Result = Result22;\npostcss.Input = Input22;\npostcss.Rule = Rule22;\npostcss.Root = Root22;\npostcss.Node = Node22;\nLazyResult22.registerPostcss(postcss);\nvar postcss_1 = postcss;\npostcss.default = postcss;\nconst postcss$1 = /* @__PURE__ */ getDefaultExportFromCjs(postcss_1);\npostcss$1.stringify;\npostcss$1.fromJSON;\npostcss$1.plugin;\npostcss$1.parse;\npostcss$1.list;\npostcss$1.document;\npostcss$1.comment;\npostcss$1.atRule;\npostcss$1.rule;\npostcss$1.decl;\npostcss$1.root;\npostcss$1.CssSyntaxError;\npostcss$1.Declaration;\npostcss$1.Container;\npostcss$1.Processor;\npostcss$1.Document;\npostcss$1.Comment;\npostcss$1.Warning;\npostcss$1.AtRule;\npostcss$1.Result;\npostcss$1.Input;\npostcss$1.Rule;\npostcss$1.Root;\npostcss$1.Node;\nclass BaseRRNode {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n constructor(..._args) {\n __publicField2(this, \"parentElement\", null);\n __publicField2(this, \"parentNode\", null);\n __publicField2(this, \"ownerDocument\");\n __publicField2(this, \"firstChild\", null);\n __publicField2(this, \"lastChild\", null);\n __publicField2(this, \"previousSibling\", null);\n __publicField2(this, \"nextSibling\", null);\n __publicField2(this, \"ELEMENT_NODE\", 1);\n __publicField2(this, \"TEXT_NODE\", 3);\n __publicField2(this, \"nodeType\");\n __publicField2(this, \"nodeName\");\n __publicField2(this, \"RRNodeType\");\n }\n get childNodes() {\n const childNodes2 = [];\n let childIterator = this.firstChild;\n while (childIterator) {\n childNodes2.push(childIterator);\n childIterator = childIterator.nextSibling;\n }\n return childNodes2;\n }\n contains(node2) {\n if (!(node2 instanceof BaseRRNode)) return false;\n else if (node2.ownerDocument !== this.ownerDocument) return false;\n else if (node2 === this) return true;\n while (node2.parentNode) {\n if (node2.parentNode === this) return true;\n node2 = node2.parentNode;\n }\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n appendChild(_newChild) {\n throw new Error(\n `RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n insertBefore(_newChild, _refChild) {\n throw new Error(\n `RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n removeChild(_node) {\n throw new Error(\n `RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n toString() {\n return \"RRNode\";\n }\n}\nconst testableAccessors = {\n Node: [\"childNodes\", \"parentNode\", \"parentElement\", \"textContent\"],\n ShadowRoot: [\"host\", \"styleSheets\"],\n Element: [\"shadowRoot\", \"querySelector\", \"querySelectorAll\"],\n MutationObserver: []\n};\nconst testableMethods = {\n Node: [\"contains\", \"getRootNode\"],\n ShadowRoot: [\"getSelection\"],\n Element: [],\n MutationObserver: [\"constructor\"]\n};\nconst untaintedBasePrototype = {};\nfunction getUntaintedPrototype(key) {\n if (untaintedBasePrototype[key])\n return untaintedBasePrototype[key];\n const defaultObj = globalThis[key];\n const defaultPrototype = defaultObj.prototype;\n const accessorNames = key in testableAccessors ? testableAccessors[key] : void 0;\n const isUntaintedAccessors = Boolean(\n accessorNames && // @ts-expect-error 2345\n accessorNames.every(\n (accessor) => {\n var _a2, _b;\n return Boolean(\n (_b = (_a2 = Object.getOwnPropertyDescriptor(defaultPrototype, accessor)) == null ? void 0 : _a2.get) == null ? void 0 : _b.toString().includes(\"[native code]\")\n );\n }\n )\n );\n const methodNames = key in testableMethods ? testableMethods[key] : void 0;\n const isUntaintedMethods = Boolean(\n methodNames && methodNames.every(\n // @ts-expect-error 2345\n (method) => {\n var _a2;\n return typeof defaultPrototype[method] === \"function\" && ((_a2 = defaultPrototype[method]) == null ? void 0 : _a2.toString().includes(\"[native code]\"));\n }\n )\n );\n if (isUntaintedAccessors && isUntaintedMethods) {\n untaintedBasePrototype[key] = defaultObj.prototype;\n return defaultObj.prototype;\n }\n try {\n const iframeEl = document.createElement(\"iframe\");\n document.body.appendChild(iframeEl);\n const win = iframeEl.contentWindow;\n if (!win) return defaultObj.prototype;\n const untaintedObject = win[key].prototype;\n document.body.removeChild(iframeEl);\n if (!untaintedObject) return defaultPrototype;\n return untaintedBasePrototype[key] = untaintedObject;\n } catch {\n return defaultPrototype;\n }\n}\nconst untaintedAccessorCache = {};\nfunction getUntaintedAccessor(key, instance, accessor) {\n var _a2;\n const cacheKey = `${key}.${String(accessor)}`;\n if (untaintedAccessorCache[cacheKey])\n return untaintedAccessorCache[cacheKey].call(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype(key);\n const untaintedAccessor = (_a2 = Object.getOwnPropertyDescriptor(\n untaintedPrototype,\n accessor\n )) == null ? void 0 : _a2.get;\n if (!untaintedAccessor) return instance[accessor];\n untaintedAccessorCache[cacheKey] = untaintedAccessor;\n return untaintedAccessor.call(instance);\n}\nconst untaintedMethodCache = {};\nfunction getUntaintedMethod(key, instance, method) {\n const cacheKey = `${key}.${String(method)}`;\n if (untaintedMethodCache[cacheKey])\n return untaintedMethodCache[cacheKey].bind(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype(key);\n const untaintedMethod = untaintedPrototype[method];\n if (typeof untaintedMethod !== \"function\") return instance[method];\n untaintedMethodCache[cacheKey] = untaintedMethod;\n return untaintedMethod.bind(instance);\n}\nfunction childNodes(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"childNodes\");\n}\nfunction parentNode(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"parentNode\");\n}\nfunction parentElement(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"parentElement\");\n}\nfunction textContent(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"textContent\");\n}\nfunction contains(n2, other) {\n return getUntaintedMethod(\"Node\", n2, \"contains\")(other);\n}\nfunction getRootNode(n2) {\n return getUntaintedMethod(\"Node\", n2, \"getRootNode\")();\n}\nfunction host(n2) {\n if (!n2 || !(\"host\" in n2)) return null;\n return getUntaintedAccessor(\"ShadowRoot\", n2, \"host\");\n}\nfunction styleSheets(n2) {\n return n2.styleSheets;\n}\nfunction shadowRoot(n2) {\n if (!n2 || !(\"shadowRoot\" in n2)) return null;\n return getUntaintedAccessor(\"Element\", n2, \"shadowRoot\");\n}\nfunction querySelector(n2, selectors) {\n return getUntaintedAccessor(\"Element\", n2, \"querySelector\")(selectors);\n}\nfunction querySelectorAll(n2, selectors) {\n return getUntaintedAccessor(\"Element\", n2, \"querySelectorAll\")(selectors);\n}\nfunction mutationObserverCtor() {\n return getUntaintedPrototype(\"MutationObserver\").constructor;\n}\nconst index = {\n childNodes,\n parentNode,\n parentElement,\n textContent,\n contains,\n getRootNode,\n host,\n styleSheets,\n shadowRoot,\n querySelector,\n querySelectorAll,\n mutationObserver: mutationObserverCtor\n};\nfunction on(type, fn, target = document) {\n const options = { capture: true, passive: true };\n target.addEventListener(type, fn, options);\n return () => target.removeEventListener(type, fn, options);\n}\nconst DEPARTED_MIRROR_ACCESS_WARNING = \"Please stop import mirror directly. Instead of that,\\r\\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\\r\\nor you can use record.mirror to access the mirror instance during recording.\";\nlet _mirror = {\n map: {},\n getId() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return -1;\n },\n getNode() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return null;\n },\n removeNodeFromMap() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n },\n has() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return false;\n },\n reset() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n }\n};\nif (typeof window !== \"undefined\" && window.Proxy && window.Reflect) {\n _mirror = new Proxy(_mirror, {\n get(target, prop, receiver) {\n if (prop === \"map\") {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n}\nfunction throttle(func, wait, options = {}) {\n let timeout = null;\n let previous = 0;\n return function(...args) {\n const now = Date.now();\n if (!previous && options.leading === false) {\n previous = now;\n }\n const remaining = wait - (now - previous);\n const context = this;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n func.apply(context, args);\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(() => {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n func.apply(context, args);\n }, remaining);\n }\n };\n}\nfunction hookSetter(target, key, d, isRevoked, win = window) {\n const original = win.Object.getOwnPropertyDescriptor(target, key);\n win.Object.defineProperty(\n target,\n key,\n isRevoked ? d : {\n set(value) {\n setTimeout(() => {\n d.set.call(this, value);\n }, 0);\n if (original && original.set) {\n original.set.call(this, value);\n }\n }\n }\n );\n return () => hookSetter(target, key, original || {}, true);\n}\nfunction patch(source, name, replacement) {\n try {\n if (!(name in source)) {\n return () => {\n };\n }\n const original = source[name];\n const wrapped = replacement(original);\n if (typeof wrapped === \"function\") {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __rrweb_original__: {\n enumerable: false,\n value: original\n }\n });\n }\n source[name] = wrapped;\n return () => {\n source[name] = original;\n };\n } catch {\n return () => {\n };\n }\n}\nlet nowTimestamp = Date.now;\nif (!/* @__PURE__ */ /[1-9][0-9]{12}/.test(Date.now().toString())) {\n nowTimestamp = () => (/* @__PURE__ */ new Date()).getTime();\n}\nfunction getWindowScroll(win) {\n var _a2, _b, _c, _d;\n const doc = win.document;\n return {\n left: doc.scrollingElement ? doc.scrollingElement.scrollLeft : win.pageXOffset !== void 0 ? win.pageXOffset : doc.documentElement.scrollLeft || (doc == null ? void 0 : doc.body) && ((_a2 = index.parentElement(doc.body)) == null ? void 0 : _a2.scrollLeft) || ((_b = doc == null ? void 0 : doc.body) == null ? void 0 : _b.scrollLeft) || 0,\n top: doc.scrollingElement ? doc.scrollingElement.scrollTop : win.pageYOffset !== void 0 ? win.pageYOffset : (doc == null ? void 0 : doc.documentElement.scrollTop) || (doc == null ? void 0 : doc.body) && ((_c = index.parentElement(doc.body)) == null ? void 0 : _c.scrollTop) || ((_d = doc == null ? void 0 : doc.body) == null ? void 0 : _d.scrollTop) || 0\n };\n}\nfunction getWindowHeight() {\n return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight;\n}\nfunction getWindowWidth() {\n return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth;\n}\nfunction closestElementOfNode(node2) {\n if (!node2) {\n return null;\n }\n const el = node2.nodeType === node2.ELEMENT_NODE ? node2 : index.parentElement(node2);\n return el;\n}\nfunction isBlocked(node2, blockClass, blockSelector, checkAncestors) {\n if (!node2) {\n return false;\n }\n const el = closestElementOfNode(node2);\n if (!el) {\n return false;\n }\n try {\n if (typeof blockClass === \"string\") {\n if (el.classList.contains(blockClass)) return true;\n if (checkAncestors && el.closest(\".\" + blockClass) !== null) return true;\n } else {\n if (classMatchesRegex(el, blockClass, checkAncestors)) return true;\n }\n } catch (e2) {\n }\n if (blockSelector) {\n if (el.matches(blockSelector)) return true;\n if (checkAncestors && el.closest(blockSelector) !== null) return true;\n }\n return false;\n}\nfunction isSerialized(n2, mirror2) {\n return mirror2.getId(n2) !== -1;\n}\nfunction isIgnored(n2, mirror2, slimDOMOptions) {\n if (n2.tagName === \"TITLE\" && slimDOMOptions.headTitleMutations) {\n return true;\n }\n return mirror2.getId(n2) === IGNORED_NODE;\n}\nfunction isAncestorRemoved(target, mirror2) {\n if (isShadowRoot(target)) {\n return false;\n }\n const id = mirror2.getId(target);\n if (!mirror2.has(id)) {\n return true;\n }\n const parent = index.parentNode(target);\n if (parent && parent.nodeType === target.DOCUMENT_NODE) {\n return false;\n }\n if (!parent) {\n return true;\n }\n return isAncestorRemoved(parent, mirror2);\n}\nfunction legacy_isTouchEvent(event) {\n return Boolean(event.changedTouches);\n}\nfunction polyfill$1(win = window) {\n if (\"NodeList\" in win && !win.NodeList.prototype.forEach) {\n win.NodeList.prototype.forEach = Array.prototype.forEach;\n }\n if (\"DOMTokenList\" in win && !win.DOMTokenList.prototype.forEach) {\n win.DOMTokenList.prototype.forEach = Array.prototype.forEach;\n }\n}\nfunction isSerializedIframe(n2, mirror2) {\n return Boolean(n2.nodeName === \"IFRAME\" && mirror2.getMeta(n2));\n}\nfunction isSerializedStylesheet(n2, mirror2) {\n return Boolean(\n n2.nodeName === \"LINK\" && n2.nodeType === n2.ELEMENT_NODE && n2.getAttribute && n2.getAttribute(\"rel\") === \"stylesheet\" && mirror2.getMeta(n2)\n );\n}\nfunction hasShadowRoot(n2) {\n if (!n2) return false;\n if (n2 instanceof BaseRRNode && \"shadowRoot\" in n2) {\n return Boolean(n2.shadowRoot);\n }\n return Boolean(index.shadowRoot(n2));\n}\nclass StyleSheetMirror {\n constructor() {\n __publicField(this, \"id\", 1);\n __publicField(this, \"styleIDMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"idStyleMap\", /* @__PURE__ */ new Map());\n }\n getId(stylesheet) {\n return this.styleIDMap.get(stylesheet) ?? -1;\n }\n has(stylesheet) {\n return this.styleIDMap.has(stylesheet);\n }\n /**\n * @returns If the stylesheet is in the mirror, returns the id of the stylesheet. If not, return the new assigned id.\n */\n add(stylesheet, id) {\n if (this.has(stylesheet)) return this.getId(stylesheet);\n let newId;\n if (id === void 0) {\n newId = this.id++;\n } else newId = id;\n this.styleIDMap.set(stylesheet, newId);\n this.idStyleMap.set(newId, stylesheet);\n return newId;\n }\n getStyle(id) {\n return this.idStyleMap.get(id) || null;\n }\n reset() {\n this.styleIDMap = /* @__PURE__ */ new WeakMap();\n this.idStyleMap = /* @__PURE__ */ new Map();\n this.id = 1;\n }\n generateId() {\n return this.id++;\n }\n}\nfunction getShadowHost(n2) {\n var _a2;\n let shadowHost = null;\n if (\"getRootNode\" in n2 && ((_a2 = index.getRootNode(n2)) == null ? void 0 : _a2.nodeType) === Node.DOCUMENT_FRAGMENT_NODE && index.host(index.getRootNode(n2)))\n shadowHost = index.host(index.getRootNode(n2));\n return shadowHost;\n}\nfunction getRootShadowHost(n2) {\n let rootShadowHost = n2;\n let shadowHost;\n while (shadowHost = getShadowHost(rootShadowHost))\n rootShadowHost = shadowHost;\n return rootShadowHost;\n}\nfunction shadowHostInDom(n2) {\n const doc = n2.ownerDocument;\n if (!doc) return false;\n const shadowHost = getRootShadowHost(n2);\n return index.contains(doc, shadowHost);\n}\nfunction inDom(n2) {\n const doc = n2.ownerDocument;\n if (!doc) return false;\n return index.contains(doc, n2) || shadowHostInDom(n2);\n}\nvar EventType = /* @__PURE__ */ ((EventType2) => {\n EventType2[EventType2[\"DomContentLoaded\"] = 0] = \"DomContentLoaded\";\n EventType2[EventType2[\"Load\"] = 1] = \"Load\";\n EventType2[EventType2[\"FullSnapshot\"] = 2] = \"FullSnapshot\";\n EventType2[EventType2[\"IncrementalSnapshot\"] = 3] = \"IncrementalSnapshot\";\n EventType2[EventType2[\"Meta\"] = 4] = \"Meta\";\n EventType2[EventType2[\"Custom\"] = 5] = \"Custom\";\n EventType2[EventType2[\"Plugin\"] = 6] = \"Plugin\";\n return EventType2;\n})(EventType || {});\nvar IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {\n IncrementalSource2[IncrementalSource2[\"Mutation\"] = 0] = \"Mutation\";\n IncrementalSource2[IncrementalSource2[\"MouseMove\"] = 1] = \"MouseMove\";\n IncrementalSource2[IncrementalSource2[\"MouseInteraction\"] = 2] = \"MouseInteraction\";\n IncrementalSource2[IncrementalSource2[\"Scroll\"] = 3] = \"Scroll\";\n IncrementalSource2[IncrementalSource2[\"ViewportResize\"] = 4] = \"ViewportResize\";\n IncrementalSource2[IncrementalSource2[\"Input\"] = 5] = \"Input\";\n IncrementalSource2[IncrementalSource2[\"TouchMove\"] = 6] = \"TouchMove\";\n IncrementalSource2[IncrementalSource2[\"MediaInteraction\"] = 7] = \"MediaInteraction\";\n IncrementalSource2[IncrementalSource2[\"StyleSheetRule\"] = 8] = \"StyleSheetRule\";\n IncrementalSource2[IncrementalSource2[\"CanvasMutation\"] = 9] = \"CanvasMutation\";\n IncrementalSource2[IncrementalSource2[\"Font\"] = 10] = \"Font\";\n IncrementalSource2[IncrementalSource2[\"Log\"] = 11] = \"Log\";\n IncrementalSource2[IncrementalSource2[\"Drag\"] = 12] = \"Drag\";\n IncrementalSource2[IncrementalSource2[\"StyleDeclaration\"] = 13] = \"StyleDeclaration\";\n IncrementalSource2[IncrementalSource2[\"Selection\"] = 14] = \"Selection\";\n IncrementalSource2[IncrementalSource2[\"AdoptedStyleSheet\"] = 15] = \"AdoptedStyleSheet\";\n IncrementalSource2[IncrementalSource2[\"CustomElement\"] = 16] = \"CustomElement\";\n return IncrementalSource2;\n})(IncrementalSource || {});\nvar MouseInteractions = /* @__PURE__ */ ((MouseInteractions2) => {\n MouseInteractions2[MouseInteractions2[\"MouseUp\"] = 0] = \"MouseUp\";\n MouseInteractions2[MouseInteractions2[\"MouseDown\"] = 1] = \"MouseDown\";\n MouseInteractions2[MouseInteractions2[\"Click\"] = 2] = \"Click\";\n MouseInteractions2[MouseInteractions2[\"ContextMenu\"] = 3] = \"ContextMenu\";\n MouseInteractions2[MouseInteractions2[\"DblClick\"] = 4] = \"DblClick\";\n MouseInteractions2[MouseInteractions2[\"Focus\"] = 5] = \"Focus\";\n MouseInteractions2[MouseInteractions2[\"Blur\"] = 6] = \"Blur\";\n MouseInteractions2[MouseInteractions2[\"TouchStart\"] = 7] = \"TouchStart\";\n MouseInteractions2[MouseInteractions2[\"TouchMove_Departed\"] = 8] = \"TouchMove_Departed\";\n MouseInteractions2[MouseInteractions2[\"TouchEnd\"] = 9] = \"TouchEnd\";\n MouseInteractions2[MouseInteractions2[\"TouchCancel\"] = 10] = \"TouchCancel\";\n return MouseInteractions2;\n})(MouseInteractions || {});\nvar PointerTypes = /* @__PURE__ */ ((PointerTypes2) => {\n PointerTypes2[PointerTypes2[\"Mouse\"] = 0] = \"Mouse\";\n PointerTypes2[PointerTypes2[\"Pen\"] = 1] = \"Pen\";\n PointerTypes2[PointerTypes2[\"Touch\"] = 2] = \"Touch\";\n return PointerTypes2;\n})(PointerTypes || {});\nvar CanvasContext = /* @__PURE__ */ ((CanvasContext2) => {\n CanvasContext2[CanvasContext2[\"2D\"] = 0] = \"2D\";\n CanvasContext2[CanvasContext2[\"WebGL\"] = 1] = \"WebGL\";\n CanvasContext2[CanvasContext2[\"WebGL2\"] = 2] = \"WebGL2\";\n return CanvasContext2;\n})(CanvasContext || {});\nvar MediaInteractions = /* @__PURE__ */ ((MediaInteractions2) => {\n MediaInteractions2[MediaInteractions2[\"Play\"] = 0] = \"Play\";\n MediaInteractions2[MediaInteractions2[\"Pause\"] = 1] = \"Pause\";\n MediaInteractions2[MediaInteractions2[\"Seeked\"] = 2] = \"Seeked\";\n MediaInteractions2[MediaInteractions2[\"VolumeChange\"] = 3] = \"VolumeChange\";\n MediaInteractions2[MediaInteractions2[\"RateChange\"] = 4] = \"RateChange\";\n return MediaInteractions2;\n})(MediaInteractions || {});\nfunction isNodeInLinkedList(n2) {\n return \"__ln\" in n2;\n}\nclass DoubleLinkedList {\n constructor() {\n __publicField(this, \"length\", 0);\n __publicField(this, \"head\", null);\n __publicField(this, \"tail\", null);\n }\n get(position) {\n if (position >= this.length) {\n throw new Error(\"Position outside of list range\");\n }\n let current = this.head;\n for (let index2 = 0; index2 < position; index2++) {\n current = (current == null ? void 0 : current.next) || null;\n }\n return current;\n }\n addNode(n2) {\n const node2 = {\n value: n2,\n previous: null,\n next: null\n };\n n2.__ln = node2;\n if (n2.previousSibling && isNodeInLinkedList(n2.previousSibling)) {\n const current = n2.previousSibling.__ln.next;\n node2.next = current;\n node2.previous = n2.previousSibling.__ln;\n n2.previousSibling.__ln.next = node2;\n if (current) {\n current.previous = node2;\n }\n } else if (n2.nextSibling && isNodeInLinkedList(n2.nextSibling) && n2.nextSibling.__ln.previous) {\n const current = n2.nextSibling.__ln.previous;\n node2.previous = current;\n node2.next = n2.nextSibling.__ln;\n n2.nextSibling.__ln.previous = node2;\n if (current) {\n current.next = node2;\n }\n } else {\n if (this.head) {\n this.head.previous = node2;\n }\n node2.next = this.head;\n this.head = node2;\n }\n if (node2.next === null) {\n this.tail = node2;\n }\n this.length++;\n }\n removeNode(n2) {\n const current = n2.__ln;\n if (!this.head) {\n return;\n }\n if (!current.previous) {\n this.head = current.next;\n if (this.head) {\n this.head.previous = null;\n } else {\n this.tail = null;\n }\n } else {\n current.previous.next = current.next;\n if (current.next) {\n current.next.previous = current.previous;\n } else {\n this.tail = current.previous;\n }\n }\n if (n2.__ln) {\n delete n2.__ln;\n }\n this.length--;\n }\n}\nconst moveKey = (id, parentId) => `${id}@${parentId}`;\nclass MutationBuffer {\n constructor() {\n __publicField(this, \"frozen\", false);\n __publicField(this, \"locked\", false);\n __publicField(this, \"texts\", []);\n __publicField(this, \"attributes\", []);\n __publicField(this, \"attributeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"removes\", []);\n __publicField(this, \"mapRemoves\", []);\n __publicField(this, \"movedMap\", {});\n __publicField(this, \"addedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"movedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"droppedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"blockClass\");\n __publicField(this, \"blockSelector\");\n __publicField(this, \"maskTextClass\");\n __publicField(this, \"maskTextSelector\");\n __publicField(this, \"inlineStylesheet\");\n __publicField(this, \"maskInputOptions\");\n __publicField(this, \"maskTextFn\");\n __publicField(this, \"maskInputFn\");\n __publicField(this, \"keepIframeSrcFn\");\n __publicField(this, \"recordCanvas\");\n __publicField(this, \"inlineImages\");\n __publicField(this, \"slimDOMOptions\");\n __publicField(this, \"dataURLOptions\");\n __publicField(this, \"doc\");\n __publicField(this, \"mirror\");\n __publicField(this, \"iframeManager\");\n __publicField(this, \"stylesheetManager\");\n __publicField(this, \"shadowDomManager\");\n __publicField(this, \"canvasManager\");\n __publicField(this, \"processedNodeManager\");\n __publicField(this, \"unattachedDoc\");\n __publicField(this, \"processMutations\", (mutations) => {\n mutations.forEach(this.processMutation);\n this.emit();\n });\n __publicField(this, \"emit\", () => {\n if (this.frozen || this.locked) {\n return;\n }\n const adds = [];\n const addedIds = /* @__PURE__ */ new Set();\n const addList = new DoubleLinkedList();\n const getNextId = (n2) => {\n let ns = n2;\n let nextId = IGNORED_NODE;\n while (nextId === IGNORED_NODE) {\n ns = ns && ns.nextSibling;\n nextId = ns && this.mirror.getId(ns);\n }\n return nextId;\n };\n const pushAdd = (n2) => {\n const parent = index.parentNode(n2);\n if (!parent || !inDom(n2) || parent.tagName === \"TEXTAREA\") {\n return;\n }\n const parentId = isShadowRoot(parent) ? this.mirror.getId(getShadowHost(n2)) : this.mirror.getId(parent);\n const nextId = getNextId(n2);\n if (parentId === -1 || nextId === -1) {\n return addList.addNode(n2);\n }\n const sn = serializeNodeWithId(n2, {\n doc: this.doc,\n mirror: this.mirror,\n blockClass: this.blockClass,\n blockSelector: this.blockSelector,\n maskTextClass: this.maskTextClass,\n maskTextSelector: this.maskTextSelector,\n skipChild: true,\n newlyAddedElement: true,\n inlineStylesheet: this.inlineStylesheet,\n maskInputOptions: this.maskInputOptions,\n maskTextFn: this.maskTextFn,\n maskInputFn: this.maskInputFn,\n slimDOMOptions: this.slimDOMOptions,\n dataURLOptions: this.dataURLOptions,\n recordCanvas: this.recordCanvas,\n inlineImages: this.inlineImages,\n onSerialize: (currentN) => {\n if (isSerializedIframe(currentN, this.mirror)) {\n this.iframeManager.addIframe(currentN);\n }\n if (isSerializedStylesheet(currentN, this.mirror)) {\n this.stylesheetManager.trackLinkElement(\n currentN\n );\n }\n if (hasShadowRoot(n2)) {\n this.shadowDomManager.addShadowRoot(index.shadowRoot(n2), this.doc);\n }\n },\n onIframeLoad: (iframe, childSn) => {\n this.iframeManager.attachIframe(iframe, childSn);\n this.shadowDomManager.observeAttachShadow(iframe);\n },\n onStylesheetLoad: (link, childSn) => {\n this.stylesheetManager.attachLinkElement(link, childSn);\n }\n });\n if (sn) {\n adds.push({\n parentId,\n nextId,\n node: sn\n });\n addedIds.add(sn.id);\n }\n };\n while (this.mapRemoves.length) {\n this.mirror.removeNodeFromMap(this.mapRemoves.shift());\n }\n for (const n2 of this.movedSet) {\n if (isParentRemoved(this.removes, n2, this.mirror) && !this.movedSet.has(index.parentNode(n2))) {\n continue;\n }\n pushAdd(n2);\n }\n for (const n2 of this.addedSet) {\n if (!isAncestorInSet(this.droppedSet, n2) && !isParentRemoved(this.removes, n2, this.mirror)) {\n pushAdd(n2);\n } else if (isAncestorInSet(this.movedSet, n2)) {\n pushAdd(n2);\n } else {\n this.droppedSet.add(n2);\n }\n }\n let candidate = null;\n while (addList.length) {\n let node2 = null;\n if (candidate) {\n const parentId = this.mirror.getId(index.parentNode(candidate.value));\n const nextId = getNextId(candidate.value);\n if (parentId !== -1 && nextId !== -1) {\n node2 = candidate;\n }\n }\n if (!node2) {\n let tailNode = addList.tail;\n while (tailNode) {\n const _node = tailNode;\n tailNode = tailNode.previous;\n if (_node) {\n const parentId = this.mirror.getId(index.parentNode(_node.value));\n const nextId = getNextId(_node.value);\n if (nextId === -1) continue;\n else if (parentId !== -1) {\n node2 = _node;\n break;\n } else {\n const unhandledNode = _node.value;\n const parent = index.parentNode(unhandledNode);\n if (parent && parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n const shadowHost = index.host(parent);\n const parentId2 = this.mirror.getId(shadowHost);\n if (parentId2 !== -1) {\n node2 = _node;\n break;\n }\n }\n }\n }\n }\n }\n if (!node2) {\n while (addList.head) {\n addList.removeNode(addList.head.value);\n }\n break;\n }\n candidate = node2.previous;\n addList.removeNode(node2.value);\n pushAdd(node2.value);\n }\n const payload = {\n texts: this.texts.map((text) => {\n const n2 = text.node;\n const parent = index.parentNode(n2);\n if (parent && parent.tagName === \"TEXTAREA\") {\n this.genTextAreaValueMutation(parent);\n }\n return {\n id: this.mirror.getId(n2),\n value: text.value\n };\n }).filter((text) => !addedIds.has(text.id)).filter((text) => this.mirror.has(text.id)),\n attributes: this.attributes.map((attribute) => {\n const { attributes } = attribute;\n if (typeof attributes.style === \"string\") {\n const diffAsStr = JSON.stringify(attribute.styleDiff);\n const unchangedAsStr = JSON.stringify(attribute._unchangedStyles);\n if (diffAsStr.length < attributes.style.length) {\n if ((diffAsStr + unchangedAsStr).split(\"var(\").length === attributes.style.split(\"var(\").length) {\n attributes.style = attribute.styleDiff;\n }\n }\n }\n return {\n id: this.mirror.getId(attribute.node),\n attributes\n };\n }).filter((attribute) => !addedIds.has(attribute.id)).filter((attribute) => this.mirror.has(attribute.id)),\n removes: this.removes,\n adds\n };\n if (!payload.texts.length && !payload.attributes.length && !payload.removes.length && !payload.adds.length) {\n return;\n }\n this.texts = [];\n this.attributes = [];\n this.attributeMap = /* @__PURE__ */ new WeakMap();\n this.removes = [];\n this.addedSet = /* @__PURE__ */ new Set();\n this.movedSet = /* @__PURE__ */ new Set();\n this.droppedSet = /* @__PURE__ */ new Set();\n this.movedMap = {};\n this.mutationCb(payload);\n });\n __publicField(this, \"genTextAreaValueMutation\", (textarea) => {\n let item = this.attributeMap.get(textarea);\n if (!item) {\n item = {\n node: textarea,\n attributes: {},\n styleDiff: {},\n _unchangedStyles: {}\n };\n this.attributes.push(item);\n this.attributeMap.set(textarea, item);\n }\n item.attributes.value = Array.from(\n index.childNodes(textarea),\n (cn) => index.textContent(cn) || \"\"\n ).join(\"\");\n });\n __publicField(this, \"processMutation\", (m) => {\n if (isIgnored(m.target, this.mirror, this.slimDOMOptions)) {\n return;\n }\n switch (m.type) {\n case \"characterData\": {\n const value = index.textContent(m.target);\n if (!isBlocked(m.target, this.blockClass, this.blockSelector, false) && value !== m.oldValue) {\n this.texts.push({\n value: needMaskingText(\n m.target,\n this.maskTextClass,\n this.maskTextSelector,\n true\n // checkAncestors\n ) && value ? this.maskTextFn ? this.maskTextFn(value, closestElementOfNode(m.target)) : value.replace(/[\\S]/g, \"*\") : value,\n node: m.target\n });\n }\n break;\n }\n case \"attributes\": {\n const target = m.target;\n let attributeName = m.attributeName;\n let value = m.target.getAttribute(attributeName);\n if (attributeName === \"value\") {\n const type = getInputType(target);\n value = maskInputValue({\n element: target,\n maskInputOptions: this.maskInputOptions,\n tagName: target.tagName,\n type,\n value,\n maskInputFn: this.maskInputFn\n });\n }\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) || value === m.oldValue) {\n return;\n }\n let item = this.attributeMap.get(m.target);\n if (target.tagName === \"IFRAME\" && attributeName === \"src\" && !this.keepIframeSrcFn(value)) {\n if (!target.contentDocument) {\n attributeName = \"rr_src\";\n } else {\n return;\n }\n }\n if (!item) {\n item = {\n node: m.target,\n attributes: {},\n styleDiff: {},\n _unchangedStyles: {}\n };\n this.attributes.push(item);\n this.attributeMap.set(m.target, item);\n }\n if (attributeName === \"type\" && target.tagName === \"INPUT\" && (m.oldValue || \"\").toLowerCase() === \"password\") {\n target.setAttribute(\"data-rr-is-password\", \"true\");\n }\n if (!ignoreAttribute(target.tagName, attributeName)) {\n item.attributes[attributeName] = transformAttribute(\n this.doc,\n toLowerCase(target.tagName),\n toLowerCase(attributeName),\n value\n );\n if (attributeName === \"style\") {\n if (!this.unattachedDoc) {\n try {\n this.unattachedDoc = document.implementation.createHTMLDocument();\n } catch (e2) {\n this.unattachedDoc = this.doc;\n }\n }\n const old = this.unattachedDoc.createElement(\"span\");\n if (m.oldValue) {\n old.setAttribute(\"style\", m.oldValue);\n }\n for (const pname of Array.from(target.style)) {\n const newValue = target.style.getPropertyValue(pname);\n const newPriority = target.style.getPropertyPriority(pname);\n if (newValue !== old.style.getPropertyValue(pname) || newPriority !== old.style.getPropertyPriority(pname)) {\n if (newPriority === \"\") {\n item.styleDiff[pname] = newValue;\n } else {\n item.styleDiff[pname] = [newValue, newPriority];\n }\n } else {\n item._unchangedStyles[pname] = [newValue, newPriority];\n }\n }\n for (const pname of Array.from(old.style)) {\n if (target.style.getPropertyValue(pname) === \"\") {\n item.styleDiff[pname] = false;\n }\n }\n } else if (attributeName === \"open\" && target.tagName === \"DIALOG\") {\n if (target.matches(\"dialog:modal\")) {\n item.attributes[\"rr_open_mode\"] = \"modal\";\n } else {\n item.attributes[\"rr_open_mode\"] = \"non-modal\";\n }\n }\n }\n break;\n }\n case \"childList\": {\n if (isBlocked(m.target, this.blockClass, this.blockSelector, true))\n return;\n if (m.target.tagName === \"TEXTAREA\") {\n this.genTextAreaValueMutation(m.target);\n return;\n }\n m.addedNodes.forEach((n2) => this.genAdds(n2, m.target));\n m.removedNodes.forEach((n2) => {\n const nodeId = this.mirror.getId(n2);\n const parentId = isShadowRoot(m.target) ? this.mirror.getId(index.host(m.target)) : this.mirror.getId(m.target);\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) || isIgnored(n2, this.mirror, this.slimDOMOptions) || !isSerialized(n2, this.mirror)) {\n return;\n }\n if (this.addedSet.has(n2)) {\n deepDelete(this.addedSet, n2);\n this.droppedSet.add(n2);\n } else if (this.addedSet.has(m.target) && nodeId === -1) ;\n else if (isAncestorRemoved(m.target, this.mirror)) ;\n else if (this.movedSet.has(n2) && this.movedMap[moveKey(nodeId, parentId)]) {\n deepDelete(this.movedSet, n2);\n } else {\n this.removes.push({\n parentId,\n id: nodeId,\n isShadow: isShadowRoot(m.target) && isNativeShadowDom(m.target) ? true : void 0\n });\n }\n this.mapRemoves.push(n2);\n });\n break;\n }\n }\n });\n __publicField(this, \"genAdds\", (n2, target) => {\n if (this.processedNodeManager.inOtherBuffer(n2, this)) return;\n if (this.addedSet.has(n2) || this.movedSet.has(n2)) return;\n if (this.mirror.hasNode(n2)) {\n if (isIgnored(n2, this.mirror, this.slimDOMOptions)) {\n return;\n }\n this.movedSet.add(n2);\n let targetId = null;\n if (target && this.mirror.hasNode(target)) {\n targetId = this.mirror.getId(target);\n }\n if (targetId && targetId !== -1) {\n this.movedMap[moveKey(this.mirror.getId(n2), targetId)] = true;\n }\n } else {\n this.addedSet.add(n2);\n this.droppedSet.delete(n2);\n }\n if (!isBlocked(n2, this.blockClass, this.blockSelector, false)) {\n index.childNodes(n2).forEach((childN) => this.genAdds(childN));\n if (hasShadowRoot(n2)) {\n index.childNodes(index.shadowRoot(n2)).forEach((childN) => {\n this.processedNodeManager.add(childN, this);\n this.genAdds(childN, n2);\n });\n }\n }\n });\n }\n init(options) {\n [\n \"mutationCb\",\n \"blockClass\",\n \"blockSelector\",\n \"maskTextClass\",\n \"maskTextSelector\",\n \"inlineStylesheet\",\n \"maskInputOptions\",\n \"maskTextFn\",\n \"maskInputFn\",\n \"keepIframeSrcFn\",\n \"recordCanvas\",\n \"inlineImages\",\n \"slimDOMOptions\",\n \"dataURLOptions\",\n \"doc\",\n \"mirror\",\n \"iframeManager\",\n \"stylesheetManager\",\n \"shadowDomManager\",\n \"canvasManager\",\n \"processedNodeManager\"\n ].forEach((key) => {\n this[key] = options[key];\n });\n }\n freeze() {\n this.frozen = true;\n this.canvasManager.freeze();\n }\n unfreeze() {\n this.frozen = false;\n this.canvasManager.unfreeze();\n this.emit();\n }\n isFrozen() {\n return this.frozen;\n }\n lock() {\n this.locked = true;\n this.canvasManager.lock();\n }\n unlock() {\n this.locked = false;\n this.canvasManager.unlock();\n this.emit();\n }\n reset() {\n this.shadowDomManager.reset();\n this.canvasManager.reset();\n }\n}\nfunction deepDelete(addsSet, n2) {\n addsSet.delete(n2);\n index.childNodes(n2).forEach((childN) => deepDelete(addsSet, childN));\n}\nfunction isParentRemoved(removes, n2, mirror2) {\n if (removes.length === 0) return false;\n return _isParentRemoved(removes, n2, mirror2);\n}\nfunction _isParentRemoved(removes, n2, mirror2) {\n let node2 = index.parentNode(n2);\n while (node2) {\n const parentId = mirror2.getId(node2);\n if (removes.some((r2) => r2.id === parentId)) {\n return true;\n }\n node2 = index.parentNode(node2);\n }\n return false;\n}\nfunction isAncestorInSet(set, n2) {\n if (set.size === 0) return false;\n return _isAncestorInSet(set, n2);\n}\nfunction _isAncestorInSet(set, n2) {\n const parent = index.parentNode(n2);\n if (!parent) {\n return false;\n }\n if (set.has(parent)) {\n return true;\n }\n return _isAncestorInSet(set, parent);\n}\nlet errorHandler;\nfunction registerErrorHandler(handler) {\n errorHandler = handler;\n}\nfunction unregisterErrorHandler() {\n errorHandler = void 0;\n}\nconst callbackWrapper = (cb) => {\n if (!errorHandler) {\n return cb;\n }\n const rrwebWrapped = (...rest) => {\n try {\n return cb(...rest);\n } catch (error) {\n if (errorHandler && errorHandler(error) === true) {\n return;\n }\n throw error;\n }\n };\n return rrwebWrapped;\n};\nconst mutationBuffers = [];\nfunction getEventTarget(event) {\n try {\n if (\"composedPath\" in event) {\n const path = event.composedPath();\n if (path.length) {\n return path[0];\n }\n } else if (\"path\" in event && event.path.length) {\n return event.path[0];\n }\n } catch {\n }\n return event && event.target;\n}\nfunction initMutationObserver(options, rootEl) {\n const mutationBuffer = new MutationBuffer();\n mutationBuffers.push(mutationBuffer);\n mutationBuffer.init(options);\n const observer = new (mutationObserverCtor())(\n callbackWrapper(mutationBuffer.processMutations.bind(mutationBuffer))\n );\n observer.observe(rootEl, {\n attributes: true,\n attributeOldValue: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction initMoveObserver({\n mousemoveCb,\n sampling,\n doc,\n mirror: mirror2\n}) {\n if (sampling.mousemove === false) {\n return () => {\n };\n }\n const threshold = typeof sampling.mousemove === \"number\" ? sampling.mousemove : 50;\n const callbackThreshold = typeof sampling.mousemoveCallback === \"number\" ? sampling.mousemoveCallback : 500;\n let positions = [];\n let timeBaseline;\n const wrappedCb = throttle(\n callbackWrapper(\n (source) => {\n const totalOffset = Date.now() - timeBaseline;\n mousemoveCb(\n positions.map((p) => {\n p.timeOffset -= totalOffset;\n return p;\n }),\n source\n );\n positions = [];\n timeBaseline = null;\n }\n ),\n callbackThreshold\n );\n const updatePosition = callbackWrapper(\n throttle(\n callbackWrapper((evt) => {\n const target = getEventTarget(evt);\n const { clientX, clientY } = legacy_isTouchEvent(evt) ? evt.changedTouches[0] : evt;\n if (!timeBaseline) {\n timeBaseline = nowTimestamp();\n }\n positions.push({\n x: clientX,\n y: clientY,\n id: mirror2.getId(target),\n timeOffset: nowTimestamp() - timeBaseline\n });\n wrappedCb(\n typeof DragEvent !== \"undefined\" && evt instanceof DragEvent ? IncrementalSource.Drag : evt instanceof MouseEvent ? IncrementalSource.MouseMove : IncrementalSource.TouchMove\n );\n }),\n threshold,\n {\n trailing: false\n }\n )\n );\n const handlers = [\n on(\"mousemove\", updatePosition, doc),\n on(\"touchmove\", updatePosition, doc),\n on(\"drag\", updatePosition, doc)\n ];\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initMouseInteractionObserver({\n mouseInteractionCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n sampling\n}) {\n if (sampling.mouseInteraction === false) {\n return () => {\n };\n }\n const disableMap = sampling.mouseInteraction === true || sampling.mouseInteraction === void 0 ? {} : sampling.mouseInteraction;\n const handlers = [];\n let currentPointerType = null;\n const getHandler = (eventKey) => {\n return (event) => {\n const target = getEventTarget(event);\n if (isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n let pointerType = null;\n let thisEventKey = eventKey;\n if (\"pointerType\" in event) {\n switch (event.pointerType) {\n case \"mouse\":\n pointerType = PointerTypes.Mouse;\n break;\n case \"touch\":\n pointerType = PointerTypes.Touch;\n break;\n case \"pen\":\n pointerType = PointerTypes.Pen;\n break;\n }\n if (pointerType === PointerTypes.Touch) {\n if (MouseInteractions[eventKey] === MouseInteractions.MouseDown) {\n thisEventKey = \"TouchStart\";\n } else if (MouseInteractions[eventKey] === MouseInteractions.MouseUp) {\n thisEventKey = \"TouchEnd\";\n }\n } else if (pointerType === PointerTypes.Pen) ;\n } else if (legacy_isTouchEvent(event)) {\n pointerType = PointerTypes.Touch;\n }\n if (pointerType !== null) {\n currentPointerType = pointerType;\n if (thisEventKey.startsWith(\"Touch\") && pointerType === PointerTypes.Touch || thisEventKey.startsWith(\"Mouse\") && pointerType === PointerTypes.Mouse) {\n pointerType = null;\n }\n } else if (MouseInteractions[eventKey] === MouseInteractions.Click) {\n pointerType = currentPointerType;\n currentPointerType = null;\n }\n const e2 = legacy_isTouchEvent(event) ? event.changedTouches[0] : event;\n if (!e2) {\n return;\n }\n const id = mirror2.getId(target);\n const { clientX, clientY } = e2;\n callbackWrapper(mouseInteractionCb)({\n type: MouseInteractions[thisEventKey],\n id,\n x: clientX,\n y: clientY,\n ...pointerType !== null && { pointerType }\n });\n };\n };\n Object.keys(MouseInteractions).filter(\n (key) => Number.isNaN(Number(key)) && !key.endsWith(\"_Departed\") && disableMap[key] !== false\n ).forEach((eventKey) => {\n let eventName = toLowerCase(eventKey);\n const handler = getHandler(eventKey);\n if (window.PointerEvent) {\n switch (MouseInteractions[eventKey]) {\n case MouseInteractions.MouseDown:\n case MouseInteractions.MouseUp:\n eventName = eventName.replace(\n \"mouse\",\n \"pointer\"\n );\n break;\n case MouseInteractions.TouchStart:\n case MouseInteractions.TouchEnd:\n return;\n }\n }\n handlers.push(on(eventName, handler, doc));\n });\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initScrollObserver({\n scrollCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n sampling\n}) {\n const updatePosition = callbackWrapper(\n throttle(\n callbackWrapper((evt) => {\n const target = getEventTarget(evt);\n if (!target || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n const id = mirror2.getId(target);\n if (target === doc && doc.defaultView) {\n const scrollLeftTop = getWindowScroll(doc.defaultView);\n scrollCb({\n id,\n x: scrollLeftTop.left,\n y: scrollLeftTop.top\n });\n } else {\n scrollCb({\n id,\n x: target.scrollLeft,\n y: target.scrollTop\n });\n }\n }),\n sampling.scroll || 100\n )\n );\n return on(\"scroll\", updatePosition, doc);\n}\nfunction initViewportResizeObserver({ viewportResizeCb }, { win }) {\n let lastH = -1;\n let lastW = -1;\n const updateDimension = callbackWrapper(\n throttle(\n callbackWrapper(() => {\n const height = getWindowHeight();\n const width = getWindowWidth();\n if (lastH !== height || lastW !== width) {\n viewportResizeCb({\n width: Number(width),\n height: Number(height)\n });\n lastH = height;\n lastW = width;\n }\n }),\n 200\n )\n );\n return on(\"resize\", updateDimension, win);\n}\nconst INPUT_TAGS = [\"INPUT\", \"TEXTAREA\", \"SELECT\"];\nconst lastInputValueMap = /* @__PURE__ */ new WeakMap();\nfunction initInputObserver({\n inputCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n ignoreClass,\n ignoreSelector,\n maskInputOptions,\n maskInputFn,\n sampling,\n userTriggeredOnInput\n}) {\n function eventHandler(event) {\n let target = getEventTarget(event);\n const userTriggered = event.isTrusted;\n const tagName = target && target.tagName;\n if (target && tagName === \"OPTION\") {\n target = index.parentElement(target);\n }\n if (!target || !tagName || INPUT_TAGS.indexOf(tagName) < 0 || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n if (target.classList.contains(ignoreClass) || ignoreSelector && target.matches(ignoreSelector)) {\n return;\n }\n let text = target.value;\n let isChecked = false;\n const type = getInputType(target) || \"\";\n if (type === \"radio\" || type === \"checkbox\") {\n isChecked = target.checked;\n } else if (maskInputOptions[tagName.toLowerCase()] || maskInputOptions[type]) {\n text = maskInputValue({\n element: target,\n maskInputOptions,\n tagName,\n type,\n value: text,\n maskInputFn\n });\n }\n cbWithDedup(\n target,\n userTriggeredOnInput ? { text, isChecked, userTriggered } : { text, isChecked }\n );\n const name = target.name;\n if (type === \"radio\" && name && isChecked) {\n doc.querySelectorAll(`input[type=\"radio\"][name=\"${name}\"]`).forEach((el) => {\n if (el !== target) {\n const text2 = el.value;\n cbWithDedup(\n el,\n userTriggeredOnInput ? { text: text2, isChecked: !isChecked, userTriggered: false } : { text: text2, isChecked: !isChecked }\n );\n }\n });\n }\n }\n function cbWithDedup(target, v2) {\n const lastInputValue = lastInputValueMap.get(target);\n if (!lastInputValue || lastInputValue.text !== v2.text || lastInputValue.isChecked !== v2.isChecked) {\n lastInputValueMap.set(target, v2);\n const id = mirror2.getId(target);\n callbackWrapper(inputCb)({\n ...v2,\n id\n });\n }\n }\n const events = sampling.input === \"last\" ? [\"change\"] : [\"input\", \"change\"];\n const handlers = events.map(\n (eventName) => on(eventName, callbackWrapper(eventHandler), doc)\n );\n const currentWindow = doc.defaultView;\n if (!currentWindow) {\n return () => {\n handlers.forEach((h) => h());\n };\n }\n const propertyDescriptor = currentWindow.Object.getOwnPropertyDescriptor(\n currentWindow.HTMLInputElement.prototype,\n \"value\"\n );\n const hookProperties = [\n [currentWindow.HTMLInputElement.prototype, \"value\"],\n [currentWindow.HTMLInputElement.prototype, \"checked\"],\n [currentWindow.HTMLSelectElement.prototype, \"value\"],\n [currentWindow.HTMLTextAreaElement.prototype, \"value\"],\n // Some UI library use selectedIndex to set select value\n [currentWindow.HTMLSelectElement.prototype, \"selectedIndex\"],\n [currentWindow.HTMLOptionElement.prototype, \"selected\"]\n ];\n if (propertyDescriptor && propertyDescriptor.set) {\n handlers.push(\n ...hookProperties.map(\n (p) => hookSetter(\n p[0],\n p[1],\n {\n set() {\n callbackWrapper(eventHandler)({\n target: this,\n isTrusted: false\n // userTriggered to false as this could well be programmatic\n });\n }\n },\n false,\n currentWindow\n )\n )\n );\n }\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction getNestedCSSRulePositions(rule2) {\n const positions = [];\n function recurse(childRule, pos) {\n if (hasNestedCSSRule(\"CSSGroupingRule\") && childRule.parentRule instanceof CSSGroupingRule || hasNestedCSSRule(\"CSSMediaRule\") && childRule.parentRule instanceof CSSMediaRule || hasNestedCSSRule(\"CSSSupportsRule\") && childRule.parentRule instanceof CSSSupportsRule || hasNestedCSSRule(\"CSSConditionRule\") && childRule.parentRule instanceof CSSConditionRule) {\n const rules2 = Array.from(\n childRule.parentRule.cssRules\n );\n const index2 = rules2.indexOf(childRule);\n pos.unshift(index2);\n } else if (childRule.parentStyleSheet) {\n const rules2 = Array.from(childRule.parentStyleSheet.cssRules);\n const index2 = rules2.indexOf(childRule);\n pos.unshift(index2);\n }\n return pos;\n }\n return recurse(rule2, positions);\n}\nfunction getIdAndStyleId(sheet, mirror2, styleMirror) {\n let id, styleId;\n if (!sheet) return {};\n if (sheet.ownerNode) id = mirror2.getId(sheet.ownerNode);\n else styleId = styleMirror.getId(sheet);\n return {\n styleId,\n id\n };\n}\nfunction initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetManager }, { win }) {\n if (!win.CSSStyleSheet || !win.CSSStyleSheet.prototype) {\n return () => {\n };\n }\n const insertRule = win.CSSStyleSheet.prototype.insertRule;\n win.CSSStyleSheet.prototype.insertRule = new Proxy(insertRule, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [rule2, index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n adds: [{ rule: rule2, index: index2 }]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n win.CSSStyleSheet.prototype.addRule = function(selector, styleBlock, index2 = this.cssRules.length) {\n const rule2 = `${selector} { ${styleBlock} }`;\n return win.CSSStyleSheet.prototype.insertRule.apply(this, [rule2, index2]);\n };\n const deleteRule = win.CSSStyleSheet.prototype.deleteRule;\n win.CSSStyleSheet.prototype.deleteRule = new Proxy(deleteRule, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n removes: [{ index: index2 }]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n win.CSSStyleSheet.prototype.removeRule = function(index2) {\n return win.CSSStyleSheet.prototype.deleteRule.apply(this, [index2]);\n };\n let replace;\n if (win.CSSStyleSheet.prototype.replace) {\n replace = win.CSSStyleSheet.prototype.replace;\n win.CSSStyleSheet.prototype.replace = new Proxy(replace, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [text] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n replace: text\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n }\n let replaceSync;\n if (win.CSSStyleSheet.prototype.replaceSync) {\n replaceSync = win.CSSStyleSheet.prototype.replaceSync;\n win.CSSStyleSheet.prototype.replaceSync = new Proxy(replaceSync, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [text] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n replaceSync: text\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n }\n const supportedNestedCSSRuleTypes = {};\n if (canMonkeyPatchNestedCSSRule(\"CSSGroupingRule\")) {\n supportedNestedCSSRuleTypes.CSSGroupingRule = win.CSSGroupingRule;\n } else {\n if (canMonkeyPatchNestedCSSRule(\"CSSMediaRule\")) {\n supportedNestedCSSRuleTypes.CSSMediaRule = win.CSSMediaRule;\n }\n if (canMonkeyPatchNestedCSSRule(\"CSSConditionRule\")) {\n supportedNestedCSSRuleTypes.CSSConditionRule = win.CSSConditionRule;\n }\n if (canMonkeyPatchNestedCSSRule(\"CSSSupportsRule\")) {\n supportedNestedCSSRuleTypes.CSSSupportsRule = win.CSSSupportsRule;\n }\n }\n const unmodifiedFunctions = {};\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n unmodifiedFunctions[typeKey] = {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n insertRule: type.prototype.insertRule,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n deleteRule: type.prototype.deleteRule\n };\n type.prototype.insertRule = new Proxy(\n unmodifiedFunctions[typeKey].insertRule,\n {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [rule2, index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n adds: [\n {\n rule: rule2,\n index: [\n ...getNestedCSSRulePositions(thisArg),\n index2 || 0\n // defaults to 0\n ]\n }\n ]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n }\n );\n type.prototype.deleteRule = new Proxy(\n unmodifiedFunctions[typeKey].deleteRule,\n {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n removes: [\n { index: [...getNestedCSSRulePositions(thisArg), index2] }\n ]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n }\n );\n });\n return callbackWrapper(() => {\n win.CSSStyleSheet.prototype.insertRule = insertRule;\n win.CSSStyleSheet.prototype.deleteRule = deleteRule;\n replace && (win.CSSStyleSheet.prototype.replace = replace);\n replaceSync && (win.CSSStyleSheet.prototype.replaceSync = replaceSync);\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n type.prototype.insertRule = unmodifiedFunctions[typeKey].insertRule;\n type.prototype.deleteRule = unmodifiedFunctions[typeKey].deleteRule;\n });\n });\n}\nfunction initAdoptedStyleSheetObserver({\n mirror: mirror2,\n stylesheetManager\n}, host2) {\n var _a2, _b, _c;\n let hostId = null;\n if (host2.nodeName === \"#document\") hostId = mirror2.getId(host2);\n else hostId = mirror2.getId(index.host(host2));\n const patchTarget = host2.nodeName === \"#document\" ? (_a2 = host2.defaultView) == null ? void 0 : _a2.Document : (_c = (_b = host2.ownerDocument) == null ? void 0 : _b.defaultView) == null ? void 0 : _c.ShadowRoot;\n const originalPropertyDescriptor = (patchTarget == null ? void 0 : patchTarget.prototype) ? Object.getOwnPropertyDescriptor(\n patchTarget == null ? void 0 : patchTarget.prototype,\n \"adoptedStyleSheets\"\n ) : void 0;\n if (hostId === null || hostId === -1 || !patchTarget || !originalPropertyDescriptor)\n return () => {\n };\n Object.defineProperty(host2, \"adoptedStyleSheets\", {\n configurable: originalPropertyDescriptor.configurable,\n enumerable: originalPropertyDescriptor.enumerable,\n get() {\n var _a3;\n return (_a3 = originalPropertyDescriptor.get) == null ? void 0 : _a3.call(this);\n },\n set(sheets) {\n var _a3;\n const result2 = (_a3 = originalPropertyDescriptor.set) == null ? void 0 : _a3.call(this, sheets);\n if (hostId !== null && hostId !== -1) {\n try {\n stylesheetManager.adoptStyleSheets(sheets, hostId);\n } catch (e2) {\n }\n }\n return result2;\n }\n });\n return callbackWrapper(() => {\n Object.defineProperty(host2, \"adoptedStyleSheets\", {\n configurable: originalPropertyDescriptor.configurable,\n enumerable: originalPropertyDescriptor.enumerable,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n get: originalPropertyDescriptor.get,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n set: originalPropertyDescriptor.set\n });\n });\n}\nfunction initStyleDeclarationObserver({\n styleDeclarationCb,\n mirror: mirror2,\n ignoreCSSAttributes,\n stylesheetManager\n}, { win }) {\n const setProperty = win.CSSStyleDeclaration.prototype.setProperty;\n win.CSSStyleDeclaration.prototype.setProperty = new Proxy(setProperty, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n var _a2;\n const [property, value, priority] = argumentsList;\n if (ignoreCSSAttributes.has(property)) {\n return setProperty.apply(thisArg, [property, value, priority]);\n }\n const { id, styleId } = getIdAndStyleId(\n (_a2 = thisArg.parentRule) == null ? void 0 : _a2.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleDeclarationCb({\n id,\n styleId,\n set: {\n property,\n value,\n priority\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n index: getNestedCSSRulePositions(thisArg.parentRule)\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n const removeProperty = win.CSSStyleDeclaration.prototype.removeProperty;\n win.CSSStyleDeclaration.prototype.removeProperty = new Proxy(removeProperty, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n var _a2;\n const [property] = argumentsList;\n if (ignoreCSSAttributes.has(property)) {\n return removeProperty.apply(thisArg, [property]);\n }\n const { id, styleId } = getIdAndStyleId(\n (_a2 = thisArg.parentRule) == null ? void 0 : _a2.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleDeclarationCb({\n id,\n styleId,\n remove: {\n property\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n index: getNestedCSSRulePositions(thisArg.parentRule)\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n return callbackWrapper(() => {\n win.CSSStyleDeclaration.prototype.setProperty = setProperty;\n win.CSSStyleDeclaration.prototype.removeProperty = removeProperty;\n });\n}\nfunction initMediaInteractionObserver({\n mediaInteractionCb,\n blockClass,\n blockSelector,\n mirror: mirror2,\n sampling,\n doc\n}) {\n const handler = callbackWrapper(\n (type) => throttle(\n callbackWrapper((event) => {\n const target = getEventTarget(event);\n if (!target || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n const { currentTime, volume, muted, playbackRate, loop } = target;\n mediaInteractionCb({\n type,\n id: mirror2.getId(target),\n currentTime,\n volume,\n muted,\n playbackRate,\n loop\n });\n }),\n sampling.media || 500\n )\n );\n const handlers = [\n on(\"play\", handler(MediaInteractions.Play), doc),\n on(\"pause\", handler(MediaInteractions.Pause), doc),\n on(\"seeked\", handler(MediaInteractions.Seeked), doc),\n on(\"volumechange\", handler(MediaInteractions.VolumeChange), doc),\n on(\"ratechange\", handler(MediaInteractions.RateChange), doc)\n ];\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initFontObserver({ fontCb, doc }) {\n const win = doc.defaultView;\n if (!win) {\n return () => {\n };\n }\n const handlers = [];\n const fontMap = /* @__PURE__ */ new WeakMap();\n const originalFontFace = win.FontFace;\n win.FontFace = function FontFace2(family, source, descriptors) {\n const fontFace = new originalFontFace(family, source, descriptors);\n fontMap.set(fontFace, {\n family,\n buffer: typeof source !== \"string\",\n descriptors,\n fontSource: typeof source === \"string\" ? source : JSON.stringify(Array.from(new Uint8Array(source)))\n });\n return fontFace;\n };\n const restoreHandler = patch(\n doc.fonts,\n \"add\",\n function(original) {\n return function(fontFace) {\n setTimeout(\n callbackWrapper(() => {\n const p = fontMap.get(fontFace);\n if (p) {\n fontCb(p);\n fontMap.delete(fontFace);\n }\n }),\n 0\n );\n return original.apply(this, [fontFace]);\n };\n }\n );\n handlers.push(() => {\n win.FontFace = originalFontFace;\n });\n handlers.push(restoreHandler);\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initSelectionObserver(param) {\n const { doc, mirror: mirror2, blockClass, blockSelector, selectionCb } = param;\n let collapsed = true;\n const updateSelection = callbackWrapper(() => {\n const selection = doc.getSelection();\n if (!selection || collapsed && (selection == null ? void 0 : selection.isCollapsed)) return;\n collapsed = selection.isCollapsed || false;\n const ranges = [];\n const count = selection.rangeCount || 0;\n for (let i2 = 0; i2 < count; i2++) {\n const range = selection.getRangeAt(i2);\n const { startContainer, startOffset, endContainer, endOffset } = range;\n const blocked = isBlocked(startContainer, blockClass, blockSelector, true) || isBlocked(endContainer, blockClass, blockSelector, true);\n if (blocked) continue;\n ranges.push({\n start: mirror2.getId(startContainer),\n startOffset,\n end: mirror2.getId(endContainer),\n endOffset\n });\n }\n selectionCb({ ranges });\n });\n updateSelection();\n return on(\"selectionchange\", updateSelection);\n}\nfunction initCustomElementObserver({\n doc,\n customElementCb\n}) {\n const win = doc.defaultView;\n if (!win || !win.customElements) return () => {\n };\n const restoreHandler = patch(\n win.customElements,\n \"define\",\n function(original) {\n return function(name, constructor, options) {\n try {\n customElementCb({\n define: {\n name\n }\n });\n } catch (e2) {\n console.warn(`Custom element callback failed for ${name}`);\n }\n return original.apply(this, [name, constructor, options]);\n };\n }\n );\n return restoreHandler;\n}\nfunction mergeHooks(o2, hooks) {\n const {\n mutationCb,\n mousemoveCb,\n mouseInteractionCb,\n scrollCb,\n viewportResizeCb,\n inputCb,\n mediaInteractionCb,\n styleSheetRuleCb,\n styleDeclarationCb,\n canvasMutationCb,\n fontCb,\n selectionCb,\n customElementCb\n } = o2;\n o2.mutationCb = (...p) => {\n if (hooks.mutation) {\n hooks.mutation(...p);\n }\n mutationCb(...p);\n };\n o2.mousemoveCb = (...p) => {\n if (hooks.mousemove) {\n hooks.mousemove(...p);\n }\n mousemoveCb(...p);\n };\n o2.mouseInteractionCb = (...p) => {\n if (hooks.mouseInteraction) {\n hooks.mouseInteraction(...p);\n }\n mouseInteractionCb(...p);\n };\n o2.scrollCb = (...p) => {\n if (hooks.scroll) {\n hooks.scroll(...p);\n }\n scrollCb(...p);\n };\n o2.viewportResizeCb = (...p) => {\n if (hooks.viewportResize) {\n hooks.viewportResize(...p);\n }\n viewportResizeCb(...p);\n };\n o2.inputCb = (...p) => {\n if (hooks.input) {\n hooks.input(...p);\n }\n inputCb(...p);\n };\n o2.mediaInteractionCb = (...p) => {\n if (hooks.mediaInteaction) {\n hooks.mediaInteaction(...p);\n }\n mediaInteractionCb(...p);\n };\n o2.styleSheetRuleCb = (...p) => {\n if (hooks.styleSheetRule) {\n hooks.styleSheetRule(...p);\n }\n styleSheetRuleCb(...p);\n };\n o2.styleDeclarationCb = (...p) => {\n if (hooks.styleDeclaration) {\n hooks.styleDeclaration(...p);\n }\n styleDeclarationCb(...p);\n };\n o2.canvasMutationCb = (...p) => {\n if (hooks.canvasMutation) {\n hooks.canvasMutation(...p);\n }\n canvasMutationCb(...p);\n };\n o2.fontCb = (...p) => {\n if (hooks.font) {\n hooks.font(...p);\n }\n fontCb(...p);\n };\n o2.selectionCb = (...p) => {\n if (hooks.selection) {\n hooks.selection(...p);\n }\n selectionCb(...p);\n };\n o2.customElementCb = (...c2) => {\n if (hooks.customElement) {\n hooks.customElement(...c2);\n }\n customElementCb(...c2);\n };\n}\nfunction initObservers(o2, hooks = {}) {\n const currentWindow = o2.doc.defaultView;\n if (!currentWindow) {\n return () => {\n };\n }\n mergeHooks(o2, hooks);\n let mutationObserver;\n if (o2.recordDOM) {\n mutationObserver = initMutationObserver(o2, o2.doc);\n }\n const mousemoveHandler = initMoveObserver(o2);\n const mouseInteractionHandler = initMouseInteractionObserver(o2);\n const scrollHandler = initScrollObserver(o2);\n const viewportResizeHandler = initViewportResizeObserver(o2, {\n win: currentWindow\n });\n const inputHandler = initInputObserver(o2);\n const mediaInteractionHandler = initMediaInteractionObserver(o2);\n let styleSheetObserver = () => {\n };\n let adoptedStyleSheetObserver = () => {\n };\n let styleDeclarationObserver = () => {\n };\n let fontObserver = () => {\n };\n if (o2.recordDOM) {\n styleSheetObserver = initStyleSheetObserver(o2, { win: currentWindow });\n adoptedStyleSheetObserver = initAdoptedStyleSheetObserver(o2, o2.doc);\n styleDeclarationObserver = initStyleDeclarationObserver(o2, {\n win: currentWindow\n });\n if (o2.collectFonts) {\n fontObserver = initFontObserver(o2);\n }\n }\n const selectionObserver = initSelectionObserver(o2);\n const customElementObserver = initCustomElementObserver(o2);\n const pluginHandlers = [];\n for (const plugin3 of o2.plugins) {\n pluginHandlers.push(\n plugin3.observer(plugin3.callback, currentWindow, plugin3.options)\n );\n }\n return callbackWrapper(() => {\n mutationBuffers.forEach((b) => b.reset());\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n mousemoveHandler();\n mouseInteractionHandler();\n scrollHandler();\n viewportResizeHandler();\n inputHandler();\n mediaInteractionHandler();\n styleSheetObserver();\n adoptedStyleSheetObserver();\n styleDeclarationObserver();\n fontObserver();\n selectionObserver();\n customElementObserver();\n pluginHandlers.forEach((h) => h());\n });\n}\nfunction hasNestedCSSRule(prop) {\n return typeof window[prop] !== \"undefined\";\n}\nfunction canMonkeyPatchNestedCSSRule(prop) {\n return Boolean(\n typeof window[prop] !== \"undefined\" && // Note: Generally, this check _shouldn't_ be necessary\n // However, in some scenarios (e.g. jsdom) this can sometimes fail, so we check for it here\n window[prop].prototype && \"insertRule\" in window[prop].prototype && \"deleteRule\" in window[prop].prototype\n );\n}\nclass CrossOriginIframeMirror {\n constructor(generateIdFn) {\n __publicField(this, \"iframeIdToRemoteIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"iframeRemoteIdToIdMap\", /* @__PURE__ */ new WeakMap());\n this.generateIdFn = generateIdFn;\n }\n getId(iframe, remoteId, idToRemoteMap, remoteToIdMap) {\n const idToRemoteIdMap = idToRemoteMap || this.getIdToRemoteIdMap(iframe);\n const remoteIdToIdMap = remoteToIdMap || this.getRemoteIdToIdMap(iframe);\n let id = idToRemoteIdMap.get(remoteId);\n if (!id) {\n id = this.generateIdFn();\n idToRemoteIdMap.set(remoteId, id);\n remoteIdToIdMap.set(id, remoteId);\n }\n return id;\n }\n getIds(iframe, remoteId) {\n const idToRemoteIdMap = this.getIdToRemoteIdMap(iframe);\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n return remoteId.map(\n (id) => this.getId(iframe, id, idToRemoteIdMap, remoteIdToIdMap)\n );\n }\n getRemoteId(iframe, id, map) {\n const remoteIdToIdMap = map || this.getRemoteIdToIdMap(iframe);\n if (typeof id !== \"number\") return id;\n const remoteId = remoteIdToIdMap.get(id);\n if (!remoteId) return -1;\n return remoteId;\n }\n getRemoteIds(iframe, ids) {\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n return ids.map((id) => this.getRemoteId(iframe, id, remoteIdToIdMap));\n }\n reset(iframe) {\n if (!iframe) {\n this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap();\n this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();\n return;\n }\n this.iframeIdToRemoteIdMap.delete(iframe);\n this.iframeRemoteIdToIdMap.delete(iframe);\n }\n getIdToRemoteIdMap(iframe) {\n let idToRemoteIdMap = this.iframeIdToRemoteIdMap.get(iframe);\n if (!idToRemoteIdMap) {\n idToRemoteIdMap = /* @__PURE__ */ new Map();\n this.iframeIdToRemoteIdMap.set(iframe, idToRemoteIdMap);\n }\n return idToRemoteIdMap;\n }\n getRemoteIdToIdMap(iframe) {\n let remoteIdToIdMap = this.iframeRemoteIdToIdMap.get(iframe);\n if (!remoteIdToIdMap) {\n remoteIdToIdMap = /* @__PURE__ */ new Map();\n this.iframeRemoteIdToIdMap.set(iframe, remoteIdToIdMap);\n }\n return remoteIdToIdMap;\n }\n}\nclass IframeManager {\n constructor(options) {\n __publicField(this, \"iframes\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"crossOriginIframeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"crossOriginIframeMirror\", new CrossOriginIframeMirror(genId));\n __publicField(this, \"crossOriginIframeStyleMirror\");\n __publicField(this, \"crossOriginIframeRootIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"mirror\");\n __publicField(this, \"mutationCb\");\n __publicField(this, \"wrappedEmit\");\n __publicField(this, \"loadListener\");\n __publicField(this, \"stylesheetManager\");\n __publicField(this, \"recordCrossOriginIframes\");\n this.mutationCb = options.mutationCb;\n this.wrappedEmit = options.wrappedEmit;\n this.stylesheetManager = options.stylesheetManager;\n this.recordCrossOriginIframes = options.recordCrossOriginIframes;\n this.crossOriginIframeStyleMirror = new CrossOriginIframeMirror(\n this.stylesheetManager.styleMirror.generateId.bind(\n this.stylesheetManager.styleMirror\n )\n );\n this.mirror = options.mirror;\n if (this.recordCrossOriginIframes) {\n window.addEventListener(\"message\", this.handleMessage.bind(this));\n }\n }\n addIframe(iframeEl) {\n this.iframes.set(iframeEl, true);\n if (iframeEl.contentWindow)\n this.crossOriginIframeMap.set(iframeEl.contentWindow, iframeEl);\n }\n addLoadListener(cb) {\n this.loadListener = cb;\n }\n attachIframe(iframeEl, childSn) {\n var _a2, _b;\n this.mutationCb({\n adds: [\n {\n parentId: this.mirror.getId(iframeEl),\n nextId: null,\n node: childSn\n }\n ],\n removes: [],\n texts: [],\n attributes: [],\n isAttachIframe: true\n });\n if (this.recordCrossOriginIframes)\n (_a2 = iframeEl.contentWindow) == null ? void 0 : _a2.addEventListener(\n \"message\",\n this.handleMessage.bind(this)\n );\n (_b = this.loadListener) == null ? void 0 : _b.call(this, iframeEl);\n if (iframeEl.contentDocument && iframeEl.contentDocument.adoptedStyleSheets && iframeEl.contentDocument.adoptedStyleSheets.length > 0)\n this.stylesheetManager.adoptStyleSheets(\n iframeEl.contentDocument.adoptedStyleSheets,\n this.mirror.getId(iframeEl.contentDocument)\n );\n }\n handleMessage(message) {\n const crossOriginMessageEvent = message;\n if (crossOriginMessageEvent.data.type !== \"rrweb\" || // To filter out the rrweb messages which are forwarded by some sites.\n crossOriginMessageEvent.origin !== crossOriginMessageEvent.data.origin)\n return;\n const iframeSourceWindow = message.source;\n if (!iframeSourceWindow) return;\n const iframeEl = this.crossOriginIframeMap.get(message.source);\n if (!iframeEl) return;\n const transformedEvent = this.transformCrossOriginEvent(\n iframeEl,\n crossOriginMessageEvent.data.event\n );\n if (transformedEvent)\n this.wrappedEmit(\n transformedEvent,\n crossOriginMessageEvent.data.isCheckout\n );\n }\n transformCrossOriginEvent(iframeEl, e2) {\n var _a2;\n switch (e2.type) {\n case EventType.FullSnapshot: {\n this.crossOriginIframeMirror.reset(iframeEl);\n this.crossOriginIframeStyleMirror.reset(iframeEl);\n this.replaceIdOnNode(e2.data.node, iframeEl);\n const rootId = e2.data.node.id;\n this.crossOriginIframeRootIdMap.set(iframeEl, rootId);\n this.patchRootIdOnNode(e2.data.node, rootId);\n return {\n timestamp: e2.timestamp,\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Mutation,\n adds: [\n {\n parentId: this.mirror.getId(iframeEl),\n nextId: null,\n node: e2.data.node\n }\n ],\n removes: [],\n texts: [],\n attributes: [],\n isAttachIframe: true\n }\n };\n }\n case EventType.Meta:\n case EventType.Load:\n case EventType.DomContentLoaded: {\n return false;\n }\n case EventType.Plugin: {\n return e2;\n }\n case EventType.Custom: {\n this.replaceIds(\n e2.data.payload,\n iframeEl,\n [\"id\", \"parentId\", \"previousId\", \"nextId\"]\n );\n return e2;\n }\n case EventType.IncrementalSnapshot: {\n switch (e2.data.source) {\n case IncrementalSource.Mutation: {\n e2.data.adds.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\n \"parentId\",\n \"nextId\",\n \"previousId\"\n ]);\n this.replaceIdOnNode(n2.node, iframeEl);\n const rootId = this.crossOriginIframeRootIdMap.get(iframeEl);\n rootId && this.patchRootIdOnNode(n2.node, rootId);\n });\n e2.data.removes.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"parentId\", \"id\"]);\n });\n e2.data.attributes.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"id\"]);\n });\n e2.data.texts.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"id\"]);\n });\n return e2;\n }\n case IncrementalSource.Drag:\n case IncrementalSource.TouchMove:\n case IncrementalSource.MouseMove: {\n e2.data.positions.forEach((p) => {\n this.replaceIds(p, iframeEl, [\"id\"]);\n });\n return e2;\n }\n case IncrementalSource.ViewportResize: {\n return false;\n }\n case IncrementalSource.MediaInteraction:\n case IncrementalSource.MouseInteraction:\n case IncrementalSource.Scroll:\n case IncrementalSource.CanvasMutation:\n case IncrementalSource.Input: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n return e2;\n }\n case IncrementalSource.StyleSheetRule:\n case IncrementalSource.StyleDeclaration: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n this.replaceStyleIds(e2.data, iframeEl, [\"styleId\"]);\n return e2;\n }\n case IncrementalSource.Font: {\n return e2;\n }\n case IncrementalSource.Selection: {\n e2.data.ranges.forEach((range) => {\n this.replaceIds(range, iframeEl, [\"start\", \"end\"]);\n });\n return e2;\n }\n case IncrementalSource.AdoptedStyleSheet: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n this.replaceStyleIds(e2.data, iframeEl, [\"styleIds\"]);\n (_a2 = e2.data.styles) == null ? void 0 : _a2.forEach((style) => {\n this.replaceStyleIds(style, iframeEl, [\"styleId\"]);\n });\n return e2;\n }\n }\n }\n }\n return false;\n }\n replace(iframeMirror, obj, iframeEl, keys) {\n for (const key of keys) {\n if (!Array.isArray(obj[key]) && typeof obj[key] !== \"number\") continue;\n if (Array.isArray(obj[key])) {\n obj[key] = iframeMirror.getIds(\n iframeEl,\n obj[key]\n );\n } else {\n obj[key] = iframeMirror.getId(iframeEl, obj[key]);\n }\n }\n return obj;\n }\n replaceIds(obj, iframeEl, keys) {\n return this.replace(this.crossOriginIframeMirror, obj, iframeEl, keys);\n }\n replaceStyleIds(obj, iframeEl, keys) {\n return this.replace(this.crossOriginIframeStyleMirror, obj, iframeEl, keys);\n }\n replaceIdOnNode(node2, iframeEl) {\n this.replaceIds(node2, iframeEl, [\"id\", \"rootId\"]);\n if (\"childNodes\" in node2) {\n node2.childNodes.forEach((child) => {\n this.replaceIdOnNode(child, iframeEl);\n });\n }\n }\n patchRootIdOnNode(node2, rootId) {\n if (node2.type !== NodeType$2.Document && !node2.rootId) node2.rootId = rootId;\n if (\"childNodes\" in node2) {\n node2.childNodes.forEach((child) => {\n this.patchRootIdOnNode(child, rootId);\n });\n }\n }\n}\nclass ShadowDomManager {\n constructor(options) {\n __publicField(this, \"shadowDoms\", /* @__PURE__ */ new WeakSet());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"scrollCb\");\n __publicField(this, \"bypassOptions\");\n __publicField(this, \"mirror\");\n __publicField(this, \"restoreHandlers\", []);\n this.mutationCb = options.mutationCb;\n this.scrollCb = options.scrollCb;\n this.bypassOptions = options.bypassOptions;\n this.mirror = options.mirror;\n this.init();\n }\n init() {\n this.reset();\n this.patchAttachShadow(Element, document);\n }\n addShadowRoot(shadowRoot2, doc) {\n if (!isNativeShadowDom(shadowRoot2)) return;\n if (this.shadowDoms.has(shadowRoot2)) return;\n this.shadowDoms.add(shadowRoot2);\n const observer = initMutationObserver(\n {\n ...this.bypassOptions,\n doc,\n mutationCb: this.mutationCb,\n mirror: this.mirror,\n shadowDomManager: this\n },\n shadowRoot2\n );\n this.restoreHandlers.push(() => observer.disconnect());\n this.restoreHandlers.push(\n initScrollObserver({\n ...this.bypassOptions,\n scrollCb: this.scrollCb,\n // https://gist.github.com/praveenpuglia/0832da687ed5a5d7a0907046c9ef1813\n // scroll is not allowed to pass the boundary, so we need to listen the shadow document\n doc: shadowRoot2,\n mirror: this.mirror\n })\n );\n setTimeout(() => {\n if (shadowRoot2.adoptedStyleSheets && shadowRoot2.adoptedStyleSheets.length > 0)\n this.bypassOptions.stylesheetManager.adoptStyleSheets(\n shadowRoot2.adoptedStyleSheets,\n this.mirror.getId(index.host(shadowRoot2))\n );\n this.restoreHandlers.push(\n initAdoptedStyleSheetObserver(\n {\n mirror: this.mirror,\n stylesheetManager: this.bypassOptions.stylesheetManager\n },\n shadowRoot2\n )\n );\n }, 0);\n }\n /**\n * Monkey patch 'attachShadow' of an IFrameElement to observe newly added shadow doms.\n */\n observeAttachShadow(iframeElement) {\n if (!iframeElement.contentWindow || !iframeElement.contentDocument) return;\n this.patchAttachShadow(\n iframeElement.contentWindow.Element,\n iframeElement.contentDocument\n );\n }\n /**\n * Patch 'attachShadow' to observe newly added shadow doms.\n */\n patchAttachShadow(element, doc) {\n const manager = this;\n this.restoreHandlers.push(\n patch(\n element.prototype,\n \"attachShadow\",\n function(original) {\n return function(option) {\n const sRoot = original.call(this, option);\n const shadowRootEl = index.shadowRoot(this);\n if (shadowRootEl && inDom(this))\n manager.addShadowRoot(shadowRootEl, doc);\n return sRoot;\n };\n }\n )\n );\n }\n reset() {\n this.restoreHandlers.forEach((handler) => {\n try {\n handler();\n } catch (e2) {\n }\n });\n this.restoreHandlers = [];\n this.shadowDoms = /* @__PURE__ */ new WeakSet();\n }\n}\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar lookup = typeof Uint8Array === \"undefined\" ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars.length; i$1++) {\n lookup[chars.charCodeAt(i$1)] = i$1;\n}\nvar encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer), i2, len = bytes.length, base64 = \"\";\n for (i2 = 0; i2 < len; i2 += 3) {\n base64 += chars[bytes[i2] >> 2];\n base64 += chars[(bytes[i2] & 3) << 4 | bytes[i2 + 1] >> 4];\n base64 += chars[(bytes[i2 + 1] & 15) << 2 | bytes[i2 + 2] >> 6];\n base64 += chars[bytes[i2 + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n return base64;\n};\nconst canvasVarMap = /* @__PURE__ */ new Map();\nfunction variableListFor$1(ctx, ctor) {\n let contextMap = canvasVarMap.get(ctx);\n if (!contextMap) {\n contextMap = /* @__PURE__ */ new Map();\n canvasVarMap.set(ctx, contextMap);\n }\n if (!contextMap.has(ctor)) {\n contextMap.set(ctor, []);\n }\n return contextMap.get(ctor);\n}\nconst saveWebGLVar = (value, win, ctx) => {\n if (!value || !(isInstanceOfWebGLObject(value, win) || typeof value === \"object\"))\n return;\n const name = value.constructor.name;\n const list2 = variableListFor$1(ctx, name);\n let index2 = list2.indexOf(value);\n if (index2 === -1) {\n index2 = list2.length;\n list2.push(value);\n }\n return index2;\n};\nfunction serializeArg(value, win, ctx) {\n if (value instanceof Array) {\n return value.map((arg) => serializeArg(arg, win, ctx));\n } else if (value === null) {\n return value;\n } else if (value instanceof Float32Array || value instanceof Float64Array || value instanceof Int32Array || value instanceof Uint32Array || value instanceof Uint8Array || value instanceof Uint16Array || value instanceof Int16Array || value instanceof Int8Array || value instanceof Uint8ClampedArray) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [Object.values(value)]\n };\n } else if (\n // SharedArrayBuffer disabled on most browsers due to spectre.\n // More info: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer\n // value instanceof SharedArrayBuffer ||\n value instanceof ArrayBuffer\n ) {\n const name = value.constructor.name;\n const base64 = encode(value);\n return {\n rr_type: name,\n base64\n };\n } else if (value instanceof DataView) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [\n serializeArg(value.buffer, win, ctx),\n value.byteOffset,\n value.byteLength\n ]\n };\n } else if (value instanceof HTMLImageElement) {\n const name = value.constructor.name;\n const { src } = value;\n return {\n rr_type: name,\n src\n };\n } else if (value instanceof HTMLCanvasElement) {\n const name = \"HTMLImageElement\";\n const src = value.toDataURL();\n return {\n rr_type: name,\n src\n };\n } else if (value instanceof ImageData) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [serializeArg(value.data, win, ctx), value.width, value.height]\n };\n } else if (isInstanceOfWebGLObject(value, win) || typeof value === \"object\") {\n const name = value.constructor.name;\n const index2 = saveWebGLVar(value, win, ctx);\n return {\n rr_type: name,\n index: index2\n };\n }\n return value;\n}\nconst serializeArgs = (args, win, ctx) => {\n return args.map((arg) => serializeArg(arg, win, ctx));\n};\nconst isInstanceOfWebGLObject = (value, win) => {\n const webGLConstructorNames = [\n \"WebGLActiveInfo\",\n \"WebGLBuffer\",\n \"WebGLFramebuffer\",\n \"WebGLProgram\",\n \"WebGLRenderbuffer\",\n \"WebGLShader\",\n \"WebGLShaderPrecisionFormat\",\n \"WebGLTexture\",\n \"WebGLUniformLocation\",\n \"WebGLVertexArrayObject\",\n // In old Chrome versions, value won't be an instanceof WebGLVertexArrayObject.\n \"WebGLVertexArrayObjectOES\"\n ];\n const supportedWebGLConstructorNames = webGLConstructorNames.filter(\n (name) => typeof win[name] === \"function\"\n );\n return Boolean(\n supportedWebGLConstructorNames.find(\n (name) => value instanceof win[name]\n )\n );\n};\nfunction initCanvas2DMutationObserver(cb, win, blockClass, blockSelector) {\n const handlers = [];\n const props2D = Object.getOwnPropertyNames(\n win.CanvasRenderingContext2D.prototype\n );\n for (const prop of props2D) {\n try {\n if (typeof win.CanvasRenderingContext2D.prototype[prop] !== \"function\") {\n continue;\n }\n const restoreHandler = patch(\n win.CanvasRenderingContext2D.prototype,\n prop,\n function(original) {\n return function(...args) {\n if (!isBlocked(this.canvas, blockClass, blockSelector, true)) {\n setTimeout(() => {\n const recordArgs = serializeArgs(args, win, this);\n cb(this.canvas, {\n type: CanvasContext[\"2D\"],\n property: prop,\n args: recordArgs\n });\n }, 0);\n }\n return original.apply(this, args);\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n const hookHandler = hookSetter(\n win.CanvasRenderingContext2D.prototype,\n prop,\n {\n set(v2) {\n cb(this.canvas, {\n type: CanvasContext[\"2D\"],\n property: prop,\n args: [v2],\n setter: true\n });\n }\n }\n );\n handlers.push(hookHandler);\n }\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nfunction getNormalizedContextName(contextType) {\n return contextType === \"experimental-webgl\" ? \"webgl\" : contextType;\n}\nfunction initCanvasContextObserver(win, blockClass, blockSelector, setPreserveDrawingBufferToTrue) {\n const handlers = [];\n try {\n const restoreHandler = patch(\n win.HTMLCanvasElement.prototype,\n \"getContext\",\n function(original) {\n return function(contextType, ...args) {\n if (!isBlocked(this, blockClass, blockSelector, true)) {\n const ctxName = getNormalizedContextName(contextType);\n if (!(\"__context\" in this)) this.__context = ctxName;\n if (setPreserveDrawingBufferToTrue && [\"webgl\", \"webgl2\"].includes(ctxName)) {\n if (args[0] && typeof args[0] === \"object\") {\n const contextAttributes = args[0];\n if (!contextAttributes.preserveDrawingBuffer) {\n contextAttributes.preserveDrawingBuffer = true;\n }\n } else {\n args.splice(0, 1, {\n preserveDrawingBuffer: true\n });\n }\n }\n }\n return original.apply(this, [contextType, ...args]);\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n console.error(\"failed to patch HTMLCanvasElement.prototype.getContext\");\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nfunction patchGLPrototype(prototype, type, cb, blockClass, blockSelector, win) {\n const handlers = [];\n const props = Object.getOwnPropertyNames(prototype);\n for (const prop of props) {\n if (\n //prop.startsWith('get') || // e.g. getProgramParameter, but too risky\n [\n \"isContextLost\",\n \"canvas\",\n \"drawingBufferWidth\",\n \"drawingBufferHeight\"\n ].includes(prop)\n ) {\n continue;\n }\n try {\n if (typeof prototype[prop] !== \"function\") {\n continue;\n }\n const restoreHandler = patch(\n prototype,\n prop,\n function(original) {\n return function(...args) {\n const result2 = original.apply(this, args);\n saveWebGLVar(result2, win, this);\n if (\"tagName\" in this.canvas && !isBlocked(this.canvas, blockClass, blockSelector, true)) {\n const recordArgs = serializeArgs(args, win, this);\n const mutation = {\n type,\n property: prop,\n args: recordArgs\n };\n cb(this.canvas, mutation);\n }\n return result2;\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n const hookHandler = hookSetter(prototype, prop, {\n set(v2) {\n cb(this.canvas, {\n type,\n property: prop,\n args: [v2],\n setter: true\n });\n }\n });\n handlers.push(hookHandler);\n }\n }\n return handlers;\n}\nfunction initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector) {\n const handlers = [];\n handlers.push(\n ...patchGLPrototype(\n win.WebGLRenderingContext.prototype,\n CanvasContext.WebGL,\n cb,\n blockClass,\n blockSelector,\n win\n )\n );\n if (typeof win.WebGL2RenderingContext !== \"undefined\") {\n handlers.push(\n ...patchGLPrototype(\n win.WebGL2RenderingContext.prototype,\n CanvasContext.WebGL2,\n cb,\n blockClass,\n blockSelector,\n win\n )\n );\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nconst encodedJs = \"KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=\";\nconst decodeBase64 = (base64) => Uint8Array.from(atob(base64), (c2) => c2.charCodeAt(0));\nconst blob = typeof window !== \"undefined\" && window.Blob && new Blob([decodeBase64(encodedJs)], { type: \"text/javascript;charset=utf-8\" });\nfunction WorkerWrapper(options) {\n let objURL;\n try {\n objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);\n if (!objURL) throw \"\";\n const worker = new Worker(objURL, {\n name: options == null ? void 0 : options.name\n });\n worker.addEventListener(\"error\", () => {\n (window.URL || window.webkitURL).revokeObjectURL(objURL);\n });\n return worker;\n } catch (e2) {\n return new Worker(\n \"data:text/javascript;base64,\" + encodedJs,\n {\n name: options == null ? void 0 : options.name\n }\n );\n } finally {\n objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);\n }\n}\nclass CanvasManager {\n constructor(options) {\n __publicField(this, \"pendingCanvasMutations\", /* @__PURE__ */ new Map());\n __publicField(this, \"rafStamps\", { latestId: 0, invokeId: null });\n __publicField(this, \"mirror\");\n __publicField(this, \"mutationCb\");\n __publicField(this, \"resetObservers\");\n __publicField(this, \"frozen\", false);\n __publicField(this, \"locked\", false);\n __publicField(this, \"processMutation\", (target, mutation) => {\n const newFrame = this.rafStamps.invokeId && this.rafStamps.latestId !== this.rafStamps.invokeId;\n if (newFrame || !this.rafStamps.invokeId)\n this.rafStamps.invokeId = this.rafStamps.latestId;\n if (!this.pendingCanvasMutations.has(target)) {\n this.pendingCanvasMutations.set(target, []);\n }\n this.pendingCanvasMutations.get(target).push(mutation);\n });\n const {\n sampling = \"all\",\n win,\n blockClass,\n blockSelector,\n recordCanvas,\n dataURLOptions\n } = options;\n this.mutationCb = options.mutationCb;\n this.mirror = options.mirror;\n if (recordCanvas && sampling === \"all\")\n this.initCanvasMutationObserver(win, blockClass, blockSelector);\n if (recordCanvas && typeof sampling === \"number\")\n this.initCanvasFPSObserver(sampling, win, blockClass, blockSelector, {\n dataURLOptions\n });\n }\n reset() {\n this.pendingCanvasMutations.clear();\n this.resetObservers && this.resetObservers();\n }\n freeze() {\n this.frozen = true;\n }\n unfreeze() {\n this.frozen = false;\n }\n lock() {\n this.locked = true;\n }\n unlock() {\n this.locked = false;\n }\n initCanvasFPSObserver(fps, win, blockClass, blockSelector, options) {\n const canvasContextReset = initCanvasContextObserver(\n win,\n blockClass,\n blockSelector,\n true\n );\n const snapshotInProgressMap = /* @__PURE__ */ new Map();\n const worker = new WorkerWrapper();\n worker.onmessage = (e2) => {\n const { id } = e2.data;\n snapshotInProgressMap.set(id, false);\n if (!(\"base64\" in e2.data)) return;\n const { base64, type, width, height } = e2.data;\n this.mutationCb({\n id,\n type: CanvasContext[\"2D\"],\n commands: [\n {\n property: \"clearRect\",\n // wipe canvas\n args: [0, 0, width, height]\n },\n {\n property: \"drawImage\",\n // draws (semi-transparent) image\n args: [\n {\n rr_type: \"ImageBitmap\",\n args: [\n {\n rr_type: \"Blob\",\n data: [{ rr_type: \"ArrayBuffer\", base64 }],\n type\n }\n ]\n },\n 0,\n 0\n ]\n }\n ]\n });\n };\n const timeBetweenSnapshots = 1e3 / fps;\n let lastSnapshotTime = 0;\n let rafId;\n const getCanvas = () => {\n const matchedCanvas = [];\n win.document.querySelectorAll(\"canvas\").forEach((canvas) => {\n if (!isBlocked(canvas, blockClass, blockSelector, true)) {\n matchedCanvas.push(canvas);\n }\n });\n return matchedCanvas;\n };\n const takeCanvasSnapshots = (timestamp) => {\n if (lastSnapshotTime && timestamp - lastSnapshotTime < timeBetweenSnapshots) {\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n return;\n }\n lastSnapshotTime = timestamp;\n getCanvas().forEach(async (canvas) => {\n var _a2;\n const id = this.mirror.getId(canvas);\n if (snapshotInProgressMap.get(id)) return;\n if (canvas.width === 0 || canvas.height === 0) return;\n snapshotInProgressMap.set(id, true);\n if ([\"webgl\", \"webgl2\"].includes(canvas.__context)) {\n const context = canvas.getContext(canvas.__context);\n if (((_a2 = context == null ? void 0 : context.getContextAttributes()) == null ? void 0 : _a2.preserveDrawingBuffer) === false) {\n context.clear(context.COLOR_BUFFER_BIT);\n }\n }\n const bitmap = await createImageBitmap(canvas);\n worker.postMessage(\n {\n id,\n bitmap,\n width: canvas.width,\n height: canvas.height,\n dataURLOptions: options.dataURLOptions\n },\n [bitmap]\n );\n });\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n };\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n this.resetObservers = () => {\n canvasContextReset();\n cancelAnimationFrame(rafId);\n };\n }\n initCanvasMutationObserver(win, blockClass, blockSelector) {\n this.startRAFTimestamping();\n this.startPendingCanvasMutationFlusher();\n const canvasContextReset = initCanvasContextObserver(\n win,\n blockClass,\n blockSelector,\n false\n );\n const canvas2DReset = initCanvas2DMutationObserver(\n this.processMutation.bind(this),\n win,\n blockClass,\n blockSelector\n );\n const canvasWebGL1and2Reset = initCanvasWebGLMutationObserver(\n this.processMutation.bind(this),\n win,\n blockClass,\n blockSelector\n );\n this.resetObservers = () => {\n canvasContextReset();\n canvas2DReset();\n canvasWebGL1and2Reset();\n };\n }\n startPendingCanvasMutationFlusher() {\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\n }\n startRAFTimestamping() {\n const setLatestRAFTimestamp = (timestamp) => {\n this.rafStamps.latestId = timestamp;\n requestAnimationFrame(setLatestRAFTimestamp);\n };\n requestAnimationFrame(setLatestRAFTimestamp);\n }\n flushPendingCanvasMutations() {\n this.pendingCanvasMutations.forEach(\n (_values, canvas) => {\n const id = this.mirror.getId(canvas);\n this.flushPendingCanvasMutationFor(canvas, id);\n }\n );\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\n }\n flushPendingCanvasMutationFor(canvas, id) {\n if (this.frozen || this.locked) {\n return;\n }\n const valuesWithType = this.pendingCanvasMutations.get(canvas);\n if (!valuesWithType || id === -1) return;\n const values = valuesWithType.map((value) => {\n const { type: type2, ...rest } = value;\n return rest;\n });\n const { type } = valuesWithType[0];\n this.mutationCb({ id, type, commands: values });\n this.pendingCanvasMutations.delete(canvas);\n }\n}\nclass StylesheetManager {\n constructor(options) {\n __publicField(this, \"trackedLinkElements\", /* @__PURE__ */ new WeakSet());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"adoptedStyleSheetCb\");\n __publicField(this, \"styleMirror\", new StyleSheetMirror());\n this.mutationCb = options.mutationCb;\n this.adoptedStyleSheetCb = options.adoptedStyleSheetCb;\n }\n attachLinkElement(linkEl, childSn) {\n if (\"_cssText\" in childSn.attributes)\n this.mutationCb({\n adds: [],\n removes: [],\n texts: [],\n attributes: [\n {\n id: childSn.id,\n attributes: childSn.attributes\n }\n ]\n });\n this.trackLinkElement(linkEl);\n }\n trackLinkElement(linkEl) {\n if (this.trackedLinkElements.has(linkEl)) return;\n this.trackedLinkElements.add(linkEl);\n this.trackStylesheetInLinkElement(linkEl);\n }\n adoptStyleSheets(sheets, hostId) {\n if (sheets.length === 0) return;\n const adoptedStyleSheetData = {\n id: hostId,\n styleIds: []\n };\n const styles = [];\n for (const sheet of sheets) {\n let styleId;\n if (!this.styleMirror.has(sheet)) {\n styleId = this.styleMirror.add(sheet);\n styles.push({\n styleId,\n rules: Array.from(sheet.rules || CSSRule, (r2, index2) => ({\n rule: stringifyRule(r2, sheet.href),\n index: index2\n }))\n });\n } else styleId = this.styleMirror.getId(sheet);\n adoptedStyleSheetData.styleIds.push(styleId);\n }\n if (styles.length > 0) adoptedStyleSheetData.styles = styles;\n this.adoptedStyleSheetCb(adoptedStyleSheetData);\n }\n reset() {\n this.styleMirror.reset();\n this.trackedLinkElements = /* @__PURE__ */ new WeakSet();\n }\n // TODO: take snapshot on stylesheet reload by applying event listener\n trackStylesheetInLinkElement(_linkEl) {\n }\n}\nclass ProcessedNodeManager {\n constructor() {\n __publicField(this, \"nodeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"active\", false);\n }\n inOtherBuffer(node2, thisBuffer) {\n const buffers = this.nodeMap.get(node2);\n return buffers && Array.from(buffers).some((buffer) => buffer !== thisBuffer);\n }\n add(node2, buffer) {\n if (!this.active) {\n this.active = true;\n requestAnimationFrame(() => {\n this.nodeMap = /* @__PURE__ */ new WeakMap();\n this.active = false;\n });\n }\n this.nodeMap.set(node2, (this.nodeMap.get(node2) || /* @__PURE__ */ new Set()).add(buffer));\n }\n destroy() {\n }\n}\nlet wrappedEmit;\nlet takeFullSnapshot$1;\nlet canvasManager;\nlet recording = false;\ntry {\n if (Array.from([1], (x2) => x2 * 2)[0] !== 2) {\n const cleanFrame = document.createElement(\"iframe\");\n document.body.appendChild(cleanFrame);\n Array.from = ((_a = cleanFrame.contentWindow) == null ? void 0 : _a.Array.from) || Array.from;\n document.body.removeChild(cleanFrame);\n }\n} catch (err) {\n console.debug(\"Unable to override Array.from\", err);\n}\nconst mirror = createMirror$2();\nfunction record(options = {}) {\n const {\n emit,\n checkoutEveryNms,\n checkoutEveryNth,\n blockClass = \"rr-block\",\n blockSelector = null,\n ignoreClass = \"rr-ignore\",\n ignoreSelector = null,\n maskTextClass = \"rr-mask\",\n maskTextSelector = null,\n inlineStylesheet = true,\n maskAllInputs,\n maskInputOptions: _maskInputOptions,\n slimDOMOptions: _slimDOMOptions,\n maskInputFn,\n maskTextFn,\n hooks,\n packFn,\n sampling = {},\n dataURLOptions = {},\n mousemoveWait,\n recordDOM = true,\n recordCanvas = false,\n recordCrossOriginIframes = false,\n recordAfter = options.recordAfter === \"DOMContentLoaded\" ? options.recordAfter : \"load\",\n userTriggeredOnInput = false,\n collectFonts = false,\n inlineImages = false,\n plugins,\n keepIframeSrcFn = () => false,\n ignoreCSSAttributes = /* @__PURE__ */ new Set([]),\n errorHandler: errorHandler2\n } = options;\n registerErrorHandler(errorHandler2);\n const inEmittingFrame = recordCrossOriginIframes ? window.parent === window : true;\n let passEmitsToParent = false;\n if (!inEmittingFrame) {\n try {\n if (window.parent.document) {\n passEmitsToParent = false;\n }\n } catch (e2) {\n passEmitsToParent = true;\n }\n }\n if (inEmittingFrame && !emit) {\n throw new Error(\"emit function is required\");\n }\n if (!inEmittingFrame && !passEmitsToParent) {\n return () => {\n };\n }\n if (mousemoveWait !== void 0 && sampling.mousemove === void 0) {\n sampling.mousemove = mousemoveWait;\n }\n mirror.reset();\n const maskInputOptions = maskAllInputs === true ? {\n color: true,\n date: true,\n \"datetime-local\": true,\n email: true,\n month: true,\n number: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true,\n textarea: true,\n select: true,\n password: true\n } : _maskInputOptions !== void 0 ? _maskInputOptions : { password: true };\n const slimDOMOptions = _slimDOMOptions === true || _slimDOMOptions === \"all\" ? {\n script: true,\n comment: true,\n headFavicon: true,\n headWhitespace: true,\n headMetaSocial: true,\n headMetaRobots: true,\n headMetaHttpEquiv: true,\n headMetaVerification: true,\n // the following are off for slimDOMOptions === true,\n // as they destroy some (hidden) info:\n headMetaAuthorship: _slimDOMOptions === \"all\",\n headMetaDescKeywords: _slimDOMOptions === \"all\",\n headTitleMutations: _slimDOMOptions === \"all\"\n } : _slimDOMOptions ? _slimDOMOptions : {};\n polyfill$1();\n let lastFullSnapshotEvent;\n let incrementalSnapshotCount = 0;\n const eventProcessor = (e2) => {\n for (const plugin3 of plugins || []) {\n if (plugin3.eventProcessor) {\n e2 = plugin3.eventProcessor(e2);\n }\n }\n if (packFn && // Disable packing events which will be emitted to parent frames.\n !passEmitsToParent) {\n e2 = packFn(e2);\n }\n return e2;\n };\n wrappedEmit = (r2, isCheckout) => {\n var _a2;\n const e2 = r2;\n e2.timestamp = nowTimestamp();\n if (((_a2 = mutationBuffers[0]) == null ? void 0 : _a2.isFrozen()) && e2.type !== EventType.FullSnapshot && !(e2.type === EventType.IncrementalSnapshot && e2.data.source === IncrementalSource.Mutation)) {\n mutationBuffers.forEach((buf) => buf.unfreeze());\n }\n if (inEmittingFrame) {\n emit == null ? void 0 : emit(eventProcessor(e2), isCheckout);\n } else if (passEmitsToParent) {\n const message = {\n type: \"rrweb\",\n event: eventProcessor(e2),\n origin: window.location.origin,\n isCheckout\n };\n window.parent.postMessage(message, \"*\");\n }\n if (e2.type === EventType.FullSnapshot) {\n lastFullSnapshotEvent = e2;\n incrementalSnapshotCount = 0;\n } else if (e2.type === EventType.IncrementalSnapshot) {\n if (e2.data.source === IncrementalSource.Mutation && e2.data.isAttachIframe) {\n return;\n }\n incrementalSnapshotCount++;\n const exceedCount = checkoutEveryNth && incrementalSnapshotCount >= checkoutEveryNth;\n const exceedTime = checkoutEveryNms && e2.timestamp - lastFullSnapshotEvent.timestamp > checkoutEveryNms;\n if (exceedCount || exceedTime) {\n takeFullSnapshot$1(true);\n }\n }\n };\n const wrappedMutationEmit = (m) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Mutation,\n ...m\n }\n });\n };\n const wrappedScrollEmit = (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Scroll,\n ...p\n }\n });\n const wrappedCanvasMutationEmit = (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.CanvasMutation,\n ...p\n }\n });\n const wrappedAdoptedStyleSheetEmit = (a2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.AdoptedStyleSheet,\n ...a2\n }\n });\n const stylesheetManager = new StylesheetManager({\n mutationCb: wrappedMutationEmit,\n adoptedStyleSheetCb: wrappedAdoptedStyleSheetEmit\n });\n const iframeManager = new IframeManager({\n mirror,\n mutationCb: wrappedMutationEmit,\n stylesheetManager,\n recordCrossOriginIframes,\n wrappedEmit\n });\n for (const plugin3 of plugins || []) {\n if (plugin3.getMirror)\n plugin3.getMirror({\n nodeMirror: mirror,\n crossOriginIframeMirror: iframeManager.crossOriginIframeMirror,\n crossOriginIframeStyleMirror: iframeManager.crossOriginIframeStyleMirror\n });\n }\n const processedNodeManager = new ProcessedNodeManager();\n canvasManager = new CanvasManager({\n recordCanvas,\n mutationCb: wrappedCanvasMutationEmit,\n win: window,\n blockClass,\n blockSelector,\n mirror,\n sampling: sampling.canvas,\n dataURLOptions\n });\n const shadowDomManager = new ShadowDomManager({\n mutationCb: wrappedMutationEmit,\n scrollCb: wrappedScrollEmit,\n bypassOptions: {\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n inlineStylesheet,\n maskInputOptions,\n dataURLOptions,\n maskTextFn,\n maskInputFn,\n recordCanvas,\n inlineImages,\n sampling,\n slimDOMOptions,\n iframeManager,\n stylesheetManager,\n canvasManager,\n keepIframeSrcFn,\n processedNodeManager\n },\n mirror\n });\n takeFullSnapshot$1 = (isCheckout = false) => {\n if (!recordDOM) {\n return;\n }\n wrappedEmit(\n {\n type: EventType.Meta,\n data: {\n href: window.location.href,\n width: getWindowWidth(),\n height: getWindowHeight()\n }\n },\n isCheckout\n );\n stylesheetManager.reset();\n shadowDomManager.init();\n mutationBuffers.forEach((buf) => buf.lock());\n const node2 = snapshot(document, {\n mirror,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n inlineStylesheet,\n maskAllInputs: maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOM: slimDOMOptions,\n dataURLOptions,\n recordCanvas,\n inlineImages,\n onSerialize: (n2) => {\n if (isSerializedIframe(n2, mirror)) {\n iframeManager.addIframe(n2);\n }\n if (isSerializedStylesheet(n2, mirror)) {\n stylesheetManager.trackLinkElement(n2);\n }\n if (hasShadowRoot(n2)) {\n shadowDomManager.addShadowRoot(index.shadowRoot(n2), document);\n }\n },\n onIframeLoad: (iframe, childSn) => {\n iframeManager.attachIframe(iframe, childSn);\n shadowDomManager.observeAttachShadow(iframe);\n },\n onStylesheetLoad: (linkEl, childSn) => {\n stylesheetManager.attachLinkElement(linkEl, childSn);\n },\n keepIframeSrcFn\n });\n if (!node2) {\n return console.warn(\"Failed to snapshot the document\");\n }\n wrappedEmit(\n {\n type: EventType.FullSnapshot,\n data: {\n node: node2,\n initialOffset: getWindowScroll(window)\n }\n },\n isCheckout\n );\n mutationBuffers.forEach((buf) => buf.unlock());\n if (document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0)\n stylesheetManager.adoptStyleSheets(\n document.adoptedStyleSheets,\n mirror.getId(document)\n );\n };\n try {\n const handlers = [];\n const observe = (doc) => {\n var _a2;\n return callbackWrapper(initObservers)(\n {\n mutationCb: wrappedMutationEmit,\n mousemoveCb: (positions, source) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source,\n positions\n }\n }),\n mouseInteractionCb: (d) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.MouseInteraction,\n ...d\n }\n }),\n scrollCb: wrappedScrollEmit,\n viewportResizeCb: (d) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.ViewportResize,\n ...d\n }\n }),\n inputCb: (v2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Input,\n ...v2\n }\n }),\n mediaInteractionCb: (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.MediaInteraction,\n ...p\n }\n }),\n styleSheetRuleCb: (r2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.StyleSheetRule,\n ...r2\n }\n }),\n styleDeclarationCb: (r2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.StyleDeclaration,\n ...r2\n }\n }),\n canvasMutationCb: wrappedCanvasMutationEmit,\n fontCb: (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Font,\n ...p\n }\n }),\n selectionCb: (p) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Selection,\n ...p\n }\n });\n },\n customElementCb: (c2) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.CustomElement,\n ...c2\n }\n });\n },\n blockClass,\n ignoreClass,\n ignoreSelector,\n maskTextClass,\n maskTextSelector,\n maskInputOptions,\n inlineStylesheet,\n sampling,\n recordDOM,\n recordCanvas,\n inlineImages,\n userTriggeredOnInput,\n collectFonts,\n doc,\n maskInputFn,\n maskTextFn,\n keepIframeSrcFn,\n blockSelector,\n slimDOMOptions,\n dataURLOptions,\n mirror,\n iframeManager,\n stylesheetManager,\n shadowDomManager,\n processedNodeManager,\n canvasManager,\n ignoreCSSAttributes,\n plugins: ((_a2 = plugins == null ? void 0 : plugins.filter((p) => p.observer)) == null ? void 0 : _a2.map((p) => ({\n observer: p.observer,\n options: p.options,\n callback: (payload) => wrappedEmit({\n type: EventType.Plugin,\n data: {\n plugin: p.name,\n payload\n }\n })\n }))) || []\n },\n hooks\n );\n };\n iframeManager.addLoadListener((iframeEl) => {\n try {\n handlers.push(observe(iframeEl.contentDocument));\n } catch (error) {\n console.warn(error);\n }\n });\n const init = () => {\n takeFullSnapshot$1();\n handlers.push(observe(document));\n recording = true;\n };\n if (document.readyState === \"interactive\" || document.readyState === \"complete\") {\n init();\n } else {\n handlers.push(\n on(\"DOMContentLoaded\", () => {\n wrappedEmit({\n type: EventType.DomContentLoaded,\n data: {}\n });\n if (recordAfter === \"DOMContentLoaded\") init();\n })\n );\n handlers.push(\n on(\n \"load\",\n () => {\n wrappedEmit({\n type: EventType.Load,\n data: {}\n });\n if (recordAfter === \"load\") init();\n },\n window\n )\n );\n }\n return () => {\n handlers.forEach((h) => h());\n processedNodeManager.destroy();\n recording = false;\n unregisterErrorHandler();\n };\n } catch (error) {\n console.warn(error);\n }\n}\nrecord.addCustomEvent = (tag, payload) => {\n if (!recording) {\n throw new Error(\"please add custom event after start recording\");\n }\n wrappedEmit({\n type: EventType.Custom,\n data: {\n tag,\n payload\n }\n });\n};\nrecord.freezePage = () => {\n mutationBuffers.forEach((buf) => buf.freeze());\n};\nrecord.takeFullSnapshot = (isCheckout) => {\n if (!recording) {\n throw new Error(\"please take full snapshot after start recording\");\n }\n takeFullSnapshot$1(isCheckout);\n};\nrecord.mirror = mirror;\nvar n;\n!function(t2) {\n t2[t2.NotStarted = 0] = \"NotStarted\", t2[t2.Running = 1] = \"Running\", t2[t2.Stopped = 2] = \"Stopped\";\n}(n || (n = {}));\nexport {\n record\n};\n//# sourceMappingURL=record.js.map\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","import rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nconst _state = {};\nfunction v1(options, buf, offset) {\n let bytes;\n const isV6 = options?._v6 ?? false;\n if (options) {\n const optionsKeys = Object.keys(options);\n if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {\n options = undefined;\n }\n }\n if (options) {\n bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = rng();\n updateV1State(_state, now, rnds);\n bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);\n }\n return buf ?? unsafeStringify(bytes);\n}\nexport function updateV1State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.nsecs ??= 0;\n if (now === state.msecs) {\n state.nsecs++;\n if (state.nsecs >= 10000) {\n state.node = undefined;\n state.nsecs = 0;\n }\n }\n else if (now > state.msecs) {\n state.nsecs = 0;\n }\n else if (now < state.msecs) {\n state.node = undefined;\n }\n if (!state.node) {\n state.node = rnds.slice(10, 16);\n state.node[0] |= 0x01;\n state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n }\n state.msecs = now;\n return state;\n}\nfunction v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n nsecs ??= 0;\n clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n node ??= rnds.slice(10, 16);\n msecs += 12219292800000;\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n buf[offset++] = (tl >>> 24) & 0xff;\n buf[offset++] = (tl >>> 16) & 0xff;\n buf[offset++] = (tl >>> 8) & 0xff;\n buf[offset++] = tl & 0xff;\n const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;\n buf[offset++] = (tmh >>> 8) & 0xff;\n buf[offset++] = tmh & 0xff;\n buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;\n buf[offset++] = (tmh >>> 16) & 0xff;\n buf[offset++] = (clockseq >>> 8) | 0x80;\n buf[offset++] = clockseq & 0xff;\n for (let n = 0; n < 6; ++n) {\n buf[offset++] = node[n];\n }\n return buf;\n}\nexport default v1;\n","import{record as e}from\"@rrweb/record\";import{v1 as t}from\"uuid\";var s;!function(e){e[e.NONE=0]=\"NONE\",e[e.ERROR=1]=\"ERROR\",e[e.WARN=2]=\"WARN\",e[e.INFO=3]=\"INFO\",e[e.DEBUG=4]=\"DEBUG\"}(s||(s={}));const i=new class{constructor(e){this.config={level:s.ERROR,enableConsole:!0,enableStorage:!1},this.isBrowser=\"undefined\"!=typeof window,e&&(this.config={...this.config,...e})}setConfig(e){this.config={...this.config,...e}}shouldLog(e){return e<=this.config.level}formatMessage(e,t,...s){return`[HumanBehavior ${e}] ${(new Date).toISOString()}: ${t}`}error(e,...t){if(!this.shouldLog(s.ERROR))return;const i=this.formatMessage(\"ERROR\",e);this.config.enableConsole&&console.error(i,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(i,t)}warn(e,...t){if(!this.shouldLog(s.WARN))return;const i=this.formatMessage(\"WARN\",e);this.config.enableConsole&&console.warn(i,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(i,t)}info(e,...t){if(!this.shouldLog(s.INFO))return;const i=this.formatMessage(\"INFO\",e);this.config.enableConsole&&console.log(i,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(i,t)}debug(e,...t){if(!this.shouldLog(s.DEBUG))return;const i=this.formatMessage(\"DEBUG\",e);this.config.enableConsole&&console.log(i,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(i,t)}logToStorage(e,t){try{const s=JSON.parse(localStorage.getItem(\"human_behavior_logs\")||\"[]\"),i={message:e,args:t.length>0?t:void 0,timestamp:Date.now()};s.push(i),s.length>1e3&&s.splice(0,s.length-1e3),localStorage.setItem(\"human_behavior_logs\",JSON.stringify(s))}catch(e){}}getLogs(){if(!this.isBrowser)return[];try{return JSON.parse(localStorage.getItem(\"human_behavior_logs\")||\"[]\")}catch(e){return[]}}clearLogs(){this.isBrowser&&localStorage.removeItem(\"human_behavior_logs\")}};let n=!1;const r=()=>n,o=(e,...t)=>{n=!0;try{i.error(e,...t)}finally{n=!1}},a=(e,...t)=>{n=!0;try{i.warn(e,...t)}finally{n=!1}},d=(e,...t)=>{n=!0;try{i.info(e,...t)}finally{n=!1}},c=(e,...t)=>{n=!0;try{i.debug(e,...t)}finally{n=!1}};class l{constructor(e){this._isPolling=!1,this._pollIntervalMs=3e3,this._queue=[],this._queue=[],this._areWeOnline=!0,this._sendRequest=e,\"undefined\"!=typeof window&&\"onLine\"in window.navigator&&(this._areWeOnline=window.navigator.onLine,window.addEventListener(\"online\",()=>{this._areWeOnline=!0,this._flush()}),window.addEventListener(\"offline\",()=>{this._areWeOnline=!1}))}get length(){return this._queue.length}async retriableRequest(e){const t=e.retriesPerformedSoFar||0;if(t>0){const s=new URL(e.url);s.searchParams.set(\"retry_count\",t.toString()),e.url=s.toString()}try{await this._sendRequest(e)}catch(s){if(this._shouldRetry(s,t)&&t<10)return void this._enqueue(e);e.callback&&e.callback({statusCode:s.status||0,text:s.message||\"Request failed\"})}}_shouldRetry(e,t){return e.status>=400&&e.status<500?408===e.status||429===e.status:e.status>=500||!e.status}_enqueue(e){const t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;const s=function(e){const t=3e3*2**e,s=t/2,i=Math.min(18e5,t),n=(Math.random()-.5)*(i-s);return Math.ceil(i+n)}(t),i=Date.now()+s;this._queue.push({retryAt:i,requestOptions:e});let n=`Enqueued failed request for retry in ${Math.round(s/1e3)}s`;\"undefined\"==typeof navigator||navigator.onLine||(n+=\" (Browser is offline)\"),a(n),this._isPolling||(this._isPolling=!0,this._poll())}_poll(){this._poller&&clearTimeout(this._poller),this._poller=setTimeout(()=>{this._areWeOnline&&this._queue.length>0&&this._flush(),this._poll()},this._pollIntervalMs)}_flush(){const e=Date.now(),t=[],s=this._queue.filter(s=>s.retryAt<e||(t.push(s),!1));if(this._queue=t,s.length>0)for(const{requestOptions:e}of s)this.retriableRequest(e).catch(e=>{o(\"Failed to retry request:\",e)})}unload(){this._poller&&(clearTimeout(this._poller),this._poller=void 0);for(const{requestOptions:e}of this._queue)try{this._sendBeaconRequest(e)}catch(e){o(\"Failed to send request via sendBeacon on unload:\",e)}this._queue=[]}_sendBeaconRequest(e){if(\"undefined\"!=typeof navigator&&navigator.sendBeacon)try{const t=new URL(e.url);t.searchParams.set(\"beacon\",\"1\");let s=null;e.body&&(\"string\"==typeof e.body?s=new Blob([e.body],{type:\"application/json\"}):e.body instanceof Blob&&(s=e.body));navigator.sendBeacon(t.toString(),s)||a(\"sendBeacon returned false for unload request\")}catch(e){o(\"Error sending beacon request:\",e)}}}class h{constructor(e,t=1e3){this.storageKey=\"human_behavior_queue\",this.maxQueueSize=t}getQueue(){if(\"undefined\"==typeof window||!window.localStorage)return[];try{const e=window.localStorage.getItem(this.storageKey);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){return a(\"Failed to read persisted queue:\",e),[]}}setQueue(e){if(\"undefined\"!=typeof window&&window.localStorage)try{const t=e.slice(-this.maxQueueSize);window.localStorage.setItem(this.storageKey,JSON.stringify(t)),c(`Persisted ${t.length} events to storage`)}catch(t){if(\"QuotaExceededError\"===t.name||22===t.code){a(\"Storage quota exceeded, clearing old events\");try{const t=e.slice(-Math.floor(this.maxQueueSize/2));window.localStorage.setItem(this.storageKey,JSON.stringify(t))}catch(e){a(\"Failed to save smaller queue, clearing storage\"),this.clearQueue()}}else a(\"Failed to persist queue:\",t)}}addToQueue(e){const t=this.getQueue();t.push(e),t.length>this.maxQueueSize&&(t.shift(),c(\"Queue is full, the oldest event is dropped.\")),this.setQueue(t)}removeFromQueue(e){const t=this.getQueue();t.splice(0,e),this.setQueue(t)}clearQueue(){if(\"undefined\"!=typeof window&&window.localStorage)try{window.localStorage.removeItem(this.storageKey)}catch(e){a(\"Failed to clear persisted queue:\",e)}}getQueueLength(){return this.getQueue().length}}const u=\"0.5.65\",p=1048576,m=52428.8;function g(e,t,s){return(new TextEncoder).encode(y({sessionId:s,events:[...e,t]})).length>p}function y(e){return JSON.stringify(e,(e,t)=>\"bigint\"==typeof t?t.toString():t)}function f(e,t){if(!e||\"object\"!=typeof e)return[];if((new TextEncoder).encode(y({sessionId:t,events:[e]})).length<=p)return[e];const s={...e},i=[\"screenshot\",\"html\",\"dom\",\"fullText\",\"innerHTML\",\"outerHTML\"];i.forEach(e=>{s[e]&&delete s[e]});if((new TextEncoder).encode(y({sessionId:t,events:[s]})).length<=p)return[s];return[{type:e.type,timestamp:e.timestamp,url:e.url,pathname:e.pathname,...Object.fromEntries(Object.entries(e).filter(([e,t])=>!i.includes(e)&&\"object\"!=typeof t&&\"string\"!=typeof t||\"string\"==typeof t&&t.length<1e3))}]}class w{constructor({apiKey:e,ingestionUrl:t}){this.monthlyLimitReached=!1,this.sessionId=\"\",this.endUserId=null,this.cspBlocked=!1,this.requestTimeout=1e4,this.currentBatchSize=100,this.apiKey=e,this.baseUrl=t,this.persistence=new h(e),this.retryQueue=new l(e=>this._sendRequestInternal(e)),this._loadPersistedEvents()}setTrackingContext(e,t){this.sessionId=e,this.endUserId=t}async _loadPersistedEvents(){const e=this.persistence.getQueue();if(0!==e.length){c(`Loading ${e.length} persisted events from storage`);for(const t of e)try{await this.sendEventsChunked(t.events,t.sessionId,t.endUserId||void 0,t.windowId,t.automaticProperties),this.persistence.removeFromQueue(1)}catch(e){a(\"Failed to send persisted event, will retry later:\",e)}}}async _sendRequestInternal(e){const t=\"undefined\"!=typeof AbortController?new AbortController:null;let s=null;t&&(s=setTimeout(()=>{t.abort()},this.requestTimeout));try{const i=e.estimatedSize||0,n=\"POST\"===e.method&&i<m,r=await fetch(e.url,{method:e.method||\"GET\",headers:e.headers||{},body:e.body,signal:t?.signal,keepalive:n});s&&clearTimeout(s);const o=await r.text();let a=null;try{a=JSON.parse(o)}catch{}if(e.callback&&e.callback({statusCode:r.status,text:o,json:a}),!r.ok)throw{status:r.status,message:o}}catch(e){if(s&&clearTimeout(s),\"AbortError\"===e.name)throw{status:0,message:\"Request timeout\"};throw e}}unload(){this.retryQueue.unload()}checkMonthlyLimit(){return!this.monthlyLimitReached}async init(e,t){if(!this.checkMonthlyLimit())return{sessionId:e,endUserId:t};let s=null,i=null;\"undefined\"!=typeof window&&(s=window.location.href,i=document.referrer),d(\"API init called with:\",{sessionId:e,userId:t,entryURL:s,referrer:i,baseUrl:this.baseUrl});try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/init`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`,Referer:i||\"\"},body:y({sessionId:e,endUserId:t,entryURL:s,referrer:i,sdkVersion:u})});if(d(\"API init response status:\",n.status),!n.ok){if(429===n.status)return this.monthlyLimitReached=!0,{sessionId:e,endUserId:t};const s=await n.text();throw o(\"API init failed:\",n.status,s),new Error(`Failed to initialize ingestion: ${n.statusText} - ${s}`)}const r=await n.json();return!0===r.monthlyLimitReached&&(this.monthlyLimitReached=!0,d(\"Monthly limit reached detected from server response\")),d(\"API init success:\",r),{sessionId:r.sessionId,endUserId:r.endUserId}}catch(e){throw o(\"API init error:\",e),e}}async sendEvents(e,t,s){const i=e.filter(e=>e&&\"object\"==typeof e),n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:y({sessionId:t,events:i,endUserId:s,sdkVersion:u})});if(!n.ok){if(429===n.status)throw this.monthlyLimitReached=!0,new Error(\"429: Monthly video processing limit reached\");throw new Error(`Failed to send events: ${n.statusText}`)}!0===(await n.json()).monthlyLimitReached&&(this.monthlyLimitReached=!0,d(\"Monthly limit reached detected from events response\"))}async sendEventsChunked(e,t,s,i,n){if(!this.checkMonthlyLimit())return[];try{const r=[];let o=[];for(const a of e)if(a&&\"object\"==typeof a)if(g(o,a,t)){if(o.length>0){c(`[SDK] Sending chunk with ${o.length} events`);const e=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:y({sessionId:t,events:o,endUserId:s,windowId:i,automaticProperties:n,sdkVersion:u})});if(!e.ok){if(429===e.status)return this.monthlyLimitReached=!0,r.flat();throw new Error(`Failed to send events: ${e.statusText}`)}const a=await e.json();!0===a.monthlyLimitReached&&(this.monthlyLimitReached=!0,d(\"Monthly limit reached detected from chunked events response\")),r.push(a),o=[]}o=f(a,t)}else o.push(a);if(o.length>0){const e=await this._sendChunkWithRetry(o,t,s,i,n||o[0]?.automaticProperties);e&&r.push(e)}return r.flat()}catch(r){throw o(\"Error sending events:\",r),this._persistEvents(e,t,s,i,n),r}}async _sendChunkWithRetry(e,t,s,i,n){let r=Math.min(this.currentBatchSize,e.length),o=0;for(;o<e.length;){const c=y({sessionId:t,events:e.slice(o,o+r),endUserId:s,windowId:i,automaticProperties:n,sdkVersion:u}),l=(new TextEncoder).encode(c).length;try{const h=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:c},l);if(!h.ok){if(429===h.status)return this.monthlyLimitReached=!0,this._persistEvents(e.slice(o),t,s,i,n),null;if(413===h.status){a(`413 error: reducing batch size from ${r} to ${Math.max(1,Math.floor(r/2))}`),this.currentBatchSize=Math.max(1,Math.floor(r/2)),r=this.currentBatchSize;continue}return await this.retryQueue.retriableRequest({url:`${this.baseUrl}/api/ingestion/events`,method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:c,estimatedSize:l,callback:e=>{200===e.statusCode&&e.json&&!0===e.json.monthlyLimitReached&&(this.monthlyLimitReached=!0)}}),this._persistEvents(e.slice(o),t,s,i,n),null}const u=await h.json();if(!0===u.monthlyLimitReached&&(this.monthlyLimitReached=!0,d(\"Monthly limit reached detected from chunked events response\")),o+=r,o>=e.length)return u}catch(r){return a(\"Network error sending chunk, adding to retry queue:\",r),await this.retryQueue.retriableRequest({url:`${this.baseUrl}/api/ingestion/events`,method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:c,estimatedSize:l,callback:e=>{200===e.statusCode&&e.json&&!0===e.json.monthlyLimitReached&&(this.monthlyLimitReached=!0)}}),this._persistEvents(e.slice(o),t,s,i,n),null}}return null}_persistEvents(e,t,s,i,n){0!==e.length&&this.persistence.addToQueue({sessionId:t,events:e,endUserId:s,windowId:i,automaticProperties:n,timestamp:Date.now()})}async sendUserData(e,t,s){try{const i={userId:e,userAttributes:t,sessionId:s,posthogName:t.email||t.name||null};c(\"Sending user data to server:\",i);const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/user`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:y(i)});if(!n.ok)throw new Error(`Failed to send user data: ${n.statusText} with API key: ${this.apiKey}`);const r=await n.json();return c(\"Server response:\",r),r}catch(e){throw o(\"Error sending user data:\",e),e}}async sendUserAuth(e,t,s,i){try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/user/auth`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:y({userId:e,userAttributes:t,sessionId:s,authFields:i})});if(!n.ok)throw new Error(`Failed to authenticate user: ${n.statusText} with API key: ${this.apiKey}`);return await n.json()}catch(e){throw o(\"Error authenticating user:\",e),e}}sendBeaconEvents(e,t){const s={sessionId:t,events:e,endUserId:null,apiKey:this.apiKey},i=new Blob([y(s)],{type:\"application/json\"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/events`,i)}async sendCustomEvent(e,t,s,i){d(\"[SDK] Sending custom event\",{sessionId:e,eventName:t,eventProperties:s,endUserId:i});try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/customEvent`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:y({sessionId:e,eventName:t,eventProperties:s||{},endUserId:i||null})});if(d(\"[SDK] Custom event response\",{status:n.status,statusText:n.statusText}),!n.ok){const e=await n.text();throw o(\"[SDK] Failed to send custom event\",{status:n.status,statusText:n.statusText,errorText:e}),new Error(`Failed to send custom event: ${n.status} ${n.statusText} - ${e}`)}const r=await n.json();return c(\"[SDK] Custom event success\",r),r}catch(i){throw o(\"[SDK] Error sending custom event\",i,{sessionId:e,eventName:t,eventProperties:s}),i}}async sendCustomEventBatch(e,t,s){try{const i=await this.trackedFetch(`${this.baseUrl}/api/ingestion/customEvent/batch`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:y({sessionId:e,events:t,endUserId:s||null})});if(!i.ok)throw new Error(`Failed to send custom event batch: ${i.statusText}`);return await i.json()}catch(e){throw o(\"Error sending custom event batch:\",e),e}}async sendLog(e){try{if(c(\"[SDK] Sending log to server:\",{level:e.level,message:e.message.substring(0,50),sessionId:e.sessionId}),!this.baseUrl)return;if(!e.sessionId)return;const t=await fetch(`${this.baseUrl}/api/ingestion/logs`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:y(e)});t.ok?c(\"[SDK] Log sent successfully\"):a(\"[SDK] Failed to send log to server:\",t.status,t.statusText)}catch(e){a(\"[SDK] Failed to send log to server:\",e)}}async sendNetworkError(e){try{if(c(\"[SDK] Sending network error to server:\",{errorType:e.errorType,url:e.url.substring(0,50),sessionId:e.sessionId}),!this.baseUrl)return;if(!e.sessionId)return;const t=await fetch(`${this.baseUrl}/api/ingestion/network`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:y(e)});t.ok?c(\"[SDK] Network error sent successfully\"):a(\"[SDK] Failed to send network error to server:\",t.status,t.statusText)}catch(e){a(\"[SDK] Failed to send network error to server:\",e)}}async trackedFetch(e,s,i){const n=Date.now(),r=t(),o=this.shouldSkipNetworkTracking(e);if(this.cspBlocked&&\"POST\"===s.method&&\"undefined\"!=typeof navigator&&\"function\"==typeof navigator.sendBeacon)return this.trackedFetchWithBeaconFallback(e,s,o);try{const t=\"undefined\"!=typeof AbortController?new AbortController:null;let a=null;t&&(a=setTimeout(()=>{t.abort()},this.requestTimeout));const d=\"POST\"===s.method&&void 0!==i&&i<m,c=await fetch(e,{...s,signal:t?.signal,keepalive:d});a&&clearTimeout(a);const l=Date.now()-n;return c.ok||o||await this.sendNetworkError({requestId:r,url:e,method:s.method||\"GET\",status:c.status,statusText:c.statusText,duration:l,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyHttpError(c.status),errorMessage:c.statusText,startTimeMs:n,spanName:`${s.method||\"GET\"} ${e}`,spanStatus:\"error\",attributes:{\"http.status_code\":c.status,\"http.status_text\":c.statusText}}).catch(()=>{}),c}catch(t){const i=Date.now()-n;if(\"AbortError\"===t.name){const e=new Error(\"Request timeout\");e.name=\"TimeoutError\",t=e}if(this.isCSPViolation(t)&&\"POST\"===s.method&&\"undefined\"!=typeof navigator&&\"function\"==typeof navigator.sendBeacon)return this.cspBlocked=!0,a(\"[SDK] CSP violation detected, falling back to sendBeacon for future requests\"),this.trackedFetchWithBeaconFallback(e,s,o);throw o||await this.sendNetworkError({requestId:r,url:e,method:s.method||\"GET\",status:null,statusText:null,duration:i,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyNetworkError(t),errorMessage:t.message,errorName:t.name,startTimeMs:n,spanName:`${s.method||\"GET\"} ${e}`,spanStatus:\"error\",attributes:{\"error.name\":t.name,\"error.message\":t.message}}).catch(()=>{}),t}}async trackedFetchWithBeaconFallback(e,t,s){try{let s=null,i=\"\";if(t.body)if(\"string\"==typeof t.body)try{s=JSON.parse(t.body),i=t.body}catch{i=t.body}else{if(t.body instanceof Blob){a(\"[SDK] Cannot extract apiKey from Blob body for sendBeacon, using URL param\"),e=`${e}${e.includes(\"?\")?\"&\":\"?\"}apiKey=${encodeURIComponent(this.apiKey)}`;return navigator.sendBeacon(e,t.body)?new Response(null,{status:200,statusText:\"OK\",headers:new Headers}):new Response(null,{status:500,statusText:\"sendBeacon failed\",headers:new Headers})}i=y(t.body),s=t.body}if(e.includes(\"/api/ingestion/\"))if(s&&\"object\"==typeof s)s.apiKey=this.apiKey,i=y(s);else if(i)try{const e=JSON.parse(i);e.apiKey=this.apiKey,i=y(e)}catch{e=`${e}${e.includes(\"?\")?\"&\":\"?\"}apiKey=${encodeURIComponent(this.apiKey)}`}else e=`${e}${e.includes(\"?\")?\"&\":\"?\"}apiKey=${encodeURIComponent(this.apiKey)}`;else e=`${e}${e.includes(\"?\")?\"&\":\"?\"}apiKey=${encodeURIComponent(this.apiKey)}`;const n=i?new Blob([i],{type:\"application/json\"}):null;return navigator.sendBeacon(e,n)?(c(\"[SDK] Successfully sent request via sendBeacon (CSP fallback)\"),new Response(null,{status:200,statusText:\"OK\",headers:new Headers})):(a(\"[SDK] sendBeacon returned false - browser may be throttling\"),new Response(null,{status:200,statusText:\"OK (sendBeacon best-effort)\",headers:new Headers}))}catch(e){return o(\"[SDK] sendBeacon fallback failed:\",e),new Response(null,{status:500,statusText:\"Failed to send via sendBeacon\",headers:new Headers})}}isCSPViolation(e){const t=(e?.message||\"\").toLowerCase();return\"typeerror\"===(e?.name||\"\").toLowerCase()&&t.includes(\"failed to fetch\")||t.includes(\"content security policy\")||t.includes(\"csp\")||t.includes(\"violates\")||t.includes(\"refused to connect\")&&t.includes(\"violates\")}shouldSkipNetworkTracking(e){if(!e||!this.baseUrl)return!1;try{const t=new URL(e),s=new URL(this.baseUrl);return!(t.origin!==s.origin||!t.pathname.startsWith(\"/api/ingestion/\"))||!!e.includes(this.baseUrl)}catch(t){return e.includes(this.baseUrl)}}classifyHttpError(e){return e>=400&&e<500?\"client_error\":e>=500?\"server_error\":\"unknown_error\"}classifyNetworkError(e){const t=e.message||\"\",s=e.name||\"\";return this.isCSPViolation(e)?\"csp_violation\":t.includes(\"ERR_BLOCKED_BY_CLIENT\")||t.includes(\"ERR_BLOCKED_BY_RESPONSE\")||t.includes(\"blocked:other\")||t.includes(\"net::ERR_BLOCKED_BY_CLIENT\")||t.includes(\"net::ERR_BLOCKED_BY_RESPONSE\")||\"TypeError\"===s&&t.includes(\"Failed to fetch\")&&(t.includes(\"blocked\")||t.includes(\"ERR_BLOCKED\"))?\"blocked_by_client\":t.includes(\"CORS\")||t.includes(\"Access-Control\")?\"cors_error\":t.includes(\"timeout\")||\"TimeoutError\"===s?\"timeout_error\":t.includes(\"Failed to fetch\")||t.includes(\"NetworkError\")?\"network_error\":\"unknown_error\"}}class v{constructor(e){if(this.redactedText=\"[REDACTED]\",this.unredactedFields=new Set,this.redactedFields=new Set,this.redactionMode=\"privacy-first\",this.excludeSelectors=['[data-no-redact=\"true\"]',\".human-behavior-no-redact\"],e?.redactedText&&(this.redactedText=e.redactedText),e?.excludeSelectors&&(this.excludeSelectors=[...this.excludeSelectors,...e.excludeSelectors]),e?.redactionStrategy)if(this.redactionMode=e.redactionStrategy.mode,\"privacy-first\"===this.redactionMode)e.redactionStrategy.unredactFields&&this.setFieldsToUnredact(e.redactionStrategy.unredactFields);else{const t=['input[type=\"password\"]','[data-hb-redact=\"true\"]'],s=e.redactionStrategy.redactFields&&e.redactionStrategy.redactFields.length>0?e.redactionStrategy.redactFields:t;this.setFieldsToRedact(s)}e?.legacyRedactFields&&this.setFieldsToUnredact(e.legacyRedactFields),e?.userFields&&this.setFieldsToUnredact(e.userFields)}setFieldsToRedact(e){this.redactedFields.clear();['input[type=\"password\"]','input[type=\"password\" i]','[type=\"password\"]','[type=\"password\" i]',...e].forEach(e=>{this.redactedFields.add(e)}),this.redactedFields.size>0?c(`Redaction: Active for ${this.redactedFields.size} field(s):`,Array.from(this.redactedFields)):c(\"Redaction: No fields to redact\"),this.applyRedactionClasses()}setFieldsToUnredact(e){this.unredactedFields.clear();const t=e.filter(e=>!this.isPasswordSelector(e)||(a(`Cannot unredact password field: ${e} - Password fields are always protected`),!1));t.forEach(e=>this.unredactedFields.add(e)),t.length>0?c(`Unredaction: Active for ${t.length} field(s):`,t):c(\"Unredaction: No valid fields to unredact\"),this.applyUnredactionClasses()}redactFields(e){e.forEach(e=>{this.unredactedFields.delete(e)}),this.unredactedFields.size>0?c(`Unredaction: Removed ${e.length} field(s), ${this.unredactedFields.size} remaining:`,Array.from(this.unredactedFields)):c(\"Unredaction: All fields redacted\"),this.applyUnredactionClasses()}clearUnredactedFields(){this.unredactedFields.clear(),c(\"Unredaction: All fields cleared, everything redacted\"),this.removeUnredactionClasses()}hasUnredactedFields(){return this.unredactedFields.size>0}getRedactionMode(){return this.redactionMode}getUnredactedFields(){return Array.from(this.unredactedFields)}getMaskTextSelector(){return\"privacy-first\"===this.redactionMode?0===this.unredactedFields.size?null:Array.from(this.unredactedFields).join(\",\"):0===this.redactedFields.size?null:Array.from(this.redactedFields).join(\",\")}applyRedactionClasses(){0!==this.redactedFields.size&&(\"undefined\"!=typeof document&&\"loading\"!==document.readyState?this.redactedFields.forEach(e=>{try{const t=document.querySelectorAll(e);t.forEach(e=>{e&&e.classList&&e.classList.add(\"rr-mask\")}),c(`Added rr-mask class to ${t.length} element(s) for selector: ${e}`)}catch(t){a(`Invalid selector: ${e}`)}}):c(\"DOM not ready, deferring redaction class application\"))}applyUnredactionClasses(){0!==this.unredactedFields.size&&(\"undefined\"!=typeof document&&\"loading\"!==document.readyState?this.unredactedFields.forEach(e=>{try{const t=document.querySelectorAll(e);t.forEach(e=>{e&&e.classList&&e.classList.remove(\"rr-mask\")}),c(`Removed rr-mask class from ${t.length} element(s) for selector: ${e}`)}catch(t){a(`Invalid selector: ${e}`)}}):c(\"DOM not ready, deferring unredaction class application\"))}removeUnredactionClasses(){c(\"Unredaction classes removed\")}isPasswordSelector(e){return['input[type=\"password\"]','input[type=\"password\" i]','[type=\"password\"]','[type=\"password\" i]'].some(t=>e.toLowerCase().includes(t.toLowerCase().replace(/[\\[\\]]/g,\"\")))}getOriginalValue(e){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)return e.value}isElementUnredacted(e){return this.shouldUnredactElement(e)}shouldUnredactElement(e){if(\"privacy-first\"===this.redactionMode){if(0===this.unredactedFields.size)return!1;for(const t of this.unredactedFields)try{if(e.matches(t))return!0}catch(e){a(`Invalid selector: ${t}`)}return!1}if(0===this.redactedFields.size)return!0;for(const t of this.redactedFields)try{if(e.matches(t))return!1}catch(e){a(`Invalid selector: ${t}`)}return!0}}new v;const S=\"undefined\"!=typeof window;function k(){if(!S)return\"unknown\";const e=navigator.userAgent.toLowerCase(),t=window.screen.width,s=window.screen.height;return/mobile|android|iphone|ipad|ipod|blackberry|windows phone/i.test(e)?/ipad/i.test(e)||t>=768&&s>=1024?\"tablet\":\"mobile\":/windows|macintosh|linux/i.test(e)?\"desktop\":\"unknown\"}function _(e){try{return new URL(e).hostname}catch{return\"\"}}function b(){if(!S)return{device_type:\"unknown\",browser:\"unknown\",browser_version:\"unknown\",os:\"unknown\",os_version:\"unknown\",screen_resolution:\"unknown\",viewport_size:\"unknown\",color_depth:0,timezone:\"unknown\",language:\"unknown\",languages:[]};const{browser:e,browser_version:t}=function(){if(!S)return{browser:\"unknown\",browser_version:\"unknown\"};const e=navigator.userAgent;if(/chrome/i.test(e)&&!/edge/i.test(e)){const t=e.match(/chrome\\/(\\d+)/i);return{browser:\"chrome\",browser_version:t?t[1]:\"unknown\"}}if(/firefox/i.test(e)){const t=e.match(/firefox\\/(\\d+)/i);return{browser:\"firefox\",browser_version:t?t[1]:\"unknown\"}}if(/safari/i.test(e)&&!/chrome/i.test(e)){const t=e.match(/version\\/(\\d+)/i);return{browser:\"safari\",browser_version:t?t[1]:\"unknown\"}}if(/edge/i.test(e)){const t=e.match(/edge\\/(\\d+)/i);return{browser:\"edge\",browser_version:t?t[1]:\"unknown\"}}if(/msie|trident/i.test(e)){const t=e.match(/msie (\\d+)/i)||e.match(/rv:(\\d+)/i);return{browser:\"ie\",browser_version:t?t[1]:\"unknown\"}}return{browser:\"unknown\",browser_version:\"unknown\"}}(),{os:s,os_version:i}=function(){if(!S)return{os:\"unknown\",os_version:\"unknown\"};const e=navigator.userAgent;if(/windows/i.test(e)){const t=e.match(/windows nt (\\d+\\.\\d+)/i);let s=\"unknown\";if(t){const e=parseFloat(t[1]);s=10===e?\"10\":6.3===e?\"8.1\":6.2===e?\"8\":6.1===e?\"7\":t[1]}return{os:\"windows\",os_version:s}}if(/macintosh|mac os x/i.test(e)){const t=e.match(/mac os x (\\d+[._]\\d+)/i);return{os:\"macos\",os_version:t?t[1].replace(\"_\",\".\"):\"unknown\"}}if(/iphone|ipad|ipod/i.test(e)){const t=e.match(/os (\\d+[._]\\d+)/i);return{os:\"ios\",os_version:t?t[1].replace(\"_\",\".\"):\"unknown\"}}if(/android/i.test(e)){const t=e.match(/android (\\d+\\.\\d+)/i);return{os:\"android\",os_version:t?t[1]:\"unknown\"}}return/linux/i.test(e)?{os:\"linux\",os_version:\"unknown\"}:{os:\"unknown\",os_version:\"unknown\"}}();return{device_type:k(),browser:e,browser_version:t,os:s,os_version:i,screen_resolution:`${window.screen.width}x${window.screen.height}`,viewport_size:`${window.innerWidth}x${window.innerHeight}`,color_depth:window.screen.colorDepth,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,language:navigator.language,languages:[...navigator.languages||[navigator.language]],raw_user_agent:navigator.userAgent}}function T(){if(!S)return{current_url:\"\",pathname:\"\",search:\"\",hash:\"\",title:\"\",referrer:\"\",referrer_domain:\"\",initial_referrer:\"\",initial_referrer_domain:\"\"};const e=window.location.href,t=document.referrer,s=function(e){const t=new URL(e),s={};return[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\"].forEach(e=>{const i=t.searchParams.get(e);i&&(s[e]=i)}),s}(e);return{current_url:e,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,title:document.title,referrer:t,referrer_domain:_(t),initial_referrer:t,initial_referrer_domain:_(t),initial_host:window.location.hostname,...s}}function I(){return{...b(),...T()}}function E(){if(!S)return{};const e=T();return{initial_referrer:e.initial_referrer,initial_referrer_domain:e.initial_referrer_domain,initial_url:e.current_url,initial_pathname:e.pathname,initial_utm_source:e.utm_source,initial_utm_medium:e.utm_medium,initial_utm_campaign:e.utm_campaign,initial_utm_term:e.utm_term,initial_utm_content:e.utm_content}}function U(){if(!S)return{};const e=T();return{current_url:e.current_url,pathname:e.pathname,search:e.search,hash:e.hash,title:e.title,referrer:e.referrer,referrer_domain:e.referrer_domain,utm_source:e.utm_source,utm_medium:e.utm_medium,utm_campaign:e.utm_campaign,utm_term:e.utm_term,utm_content:e.utm_content}}class C{constructor(e={}){this.sessionProperties={},this.userProperties={},this.initialProperties={},this.isInitialized=!1,this.config={enableAutomaticProperties:!0,enableSessionProperties:!0,enableUserProperties:!0,propertyDenylist:[],...e},this.automaticProperties=I(),this.initialize()}initialize(){this.isInitialized||(this.initialProperties=E(),this.loadSessionProperties(),this.isInitialized=!0)}getEventProperties(e={}){const t={...e};return this.config.enableAutomaticProperties&&Object.assign(t,this.getAutomaticProperties()),this.config.enableSessionProperties&&Object.assign(t,this.sessionProperties),this.config.enableUserProperties&&Object.assign(t,this.userProperties),this.sessionProperties.$initial_properties_captured||(Object.assign(t,this.initialProperties),this.setSessionProperty(\"$initial_properties_captured\",!0)),this.applyDenylist(t),t}getAutomaticProperties(){return{...this.automaticProperties,...U()}}getAutomaticPropertiesWithGeoIP(e={}){return{...this.automaticProperties,...U(),...e}}setSessionProperty(e,t){this.sessionProperties[e]=t,this.saveSessionProperties()}setSessionProperties(e){Object.assign(this.sessionProperties,e),this.saveSessionProperties()}getSessionProperty(e){return this.sessionProperties[e]}removeSessionProperty(e){delete this.sessionProperties[e],this.saveSessionProperties()}setUserProperty(e,t){this.userProperties[e]=t}setUserProperties(e){Object.assign(this.userProperties,e)}getUserProperty(e){return this.userProperties[e]}removeUserProperty(e){delete this.userProperties[e]}setOnce(e,t,s=\"user\"){\"session\"===s?e in this.sessionProperties||this.setSessionProperty(e,t):e in this.userProperties||this.setUserProperty(e,t)}clearSessionProperties(){this.sessionProperties={},this.saveSessionProperties()}clearUserProperties(){this.userProperties={}}reset(){this.clearSessionProperties(),this.clearUserProperties(),this.initialProperties={},this.isInitialized=!1,this.initialize()}loadSessionProperties(){if(\"undefined\"!=typeof sessionStorage)try{const e=sessionStorage.getItem(\"hb_session_properties\");e&&(this.sessionProperties=JSON.parse(e))}catch(e){console.warn(\"Failed to load session properties:\",e)}}saveSessionProperties(){if(\"undefined\"!=typeof sessionStorage)try{sessionStorage.setItem(\"hb_session_properties\",JSON.stringify(this.sessionProperties))}catch(e){console.warn(\"Failed to save session properties:\",e)}}applyDenylist(e){this.config.propertyDenylist&&0!==this.config.propertyDenylist.length&&this.config.propertyDenylist.forEach(t=>{delete e[t]})}updateAutomaticProperties(){this.automaticProperties=I()}getAllProperties(){return{automatic:this.getAutomaticProperties(),session:{...this.sessionProperties},user:{...this.userProperties},initial:{...this.initialProperties}}}}const R=\"undefined\"!=typeof window;class P{get isTrackerStarted(){return this.isStarted}setupDomReadyHandler(){if(R)if(\"complete\"===document.readyState||\"interactive\"===document.readyState)this.onDomReady();else if(document.addEventListener){document.addEventListener(\"DOMContentLoaded\",()=>this.onDomReady(),{capture:!1});const e=setInterval(()=>{\"interactive\"!==document.readyState&&\"complete\"!==document.readyState||(clearInterval(e),this.onDomReady())},10);setTimeout(()=>clearInterval(e),5e3)}else this.onDomReady();else this.onDomReady()}onDomReady(){this.isDomReady||(this.isDomReady=!0,c(\"🎯 DOM is ready, processing queued requests\"),this.requestQueue.forEach(e=>{this.processRequest(e)}),this.requestQueue=[],this.domReadyHandlers.forEach(e=>e()),this.domReadyHandlers=[])}queueRequest(e){this.isDomReady?this.processRequest(e):this.requestQueue.push(e)}async processRequest(e){switch(c(\"Processing queued request:\",e),e.type){case\"addEvent\":await this.addEvent(e.event);break;case\"identifyUser\":await this.identifyUser(e.userProperties);break;case\"trackPageView\":this.trackPageView();break;default:a(\"Unknown request type:\",e.type)}}registerDomReadyHandler(e){this.isDomReady?e():this.domReadyHandlers.push(e)}static init(e,t){if(R&&!1!==t?.suppressConsoleErrors){const e=console.error;console.error=(...t)=>{const s=t.join(\" \");s.includes(\"SecurityError: Failed to execute 'toDataURL'\")||s.includes(\"Tainted canvases may not be exported\")||s.includes(\"Cannot inline img src=\")||s.includes(\"Cross-Origin\")||s.includes(\"CORS\")||s.includes(\"Access-Control-Allow-Origin\")||s.includes(\"Failed to load resource\")||s.includes(\"net::ERR_BLOCKED_BY_CLIENT\")||s.includes(\"NetworkError when attempting to fetch resource\")||s.includes(\"Failed to fetch\")||s.includes(\"TypeError: NetworkError\")||s.includes(\"HumanBehavior ERROR\")||s.includes(\"Failed to track custom event\")||s.includes(\"Error sending custom event\")||e.apply(console,t)};const t=console.warn;console.warn=(...e)=>{const s=e.join(\" \");s.includes(\"Cannot inline img src=\")||s.includes(\"Cross-Origin\")||s.includes(\"CORS\")||s.includes(\"Access-Control-Allow-Origin\")||s.includes(\"Failed to load resource\")||s.includes(\"net::ERR_BLOCKED_BY_CLIENT\")||s.includes(\"NetworkError when attempting to fetch resource\")||s.includes(\"Failed to fetch\")||s.includes(\"Custom event network error\")||s.includes(\"Request blocked by ad blocker\")||t.apply(console,e)},window.addEventListener(\"error\",e=>{const t=e.message||\"\";if(t.includes(\"SecurityError\")||t.includes(\"Tainted canvases\")||t.includes(\"toDataURL\")||t.includes(\"Cross-Origin\")||t.includes(\"CORS\")||t.includes(\"NetworkError\")||t.includes(\"Failed to fetch\"))return e.preventDefault(),!1})}if(R&&window.__humanBehaviorGlobalTracker)return c(\"Tracker already initialized, returning existing instance\"),window.__humanBehaviorGlobalTracker;t?.logLevel&&this.configureLogging({level:t.logLevel});const s=new P(e,t?.ingestionUrl,{enableAutomaticProperties:t?.enableAutomaticProperties,propertyDenylist:t?.propertyDenylist,redactionStrategy:t?.redactionStrategy,redactFields:t?.redactFields,maxQueueSize:t?.maxQueueSize,enableConsoleTracking:t?.enableConsoleTracking,enableNetworkTracking:t?.enableNetworkTracking});return s.recordCanvas=t?.recordCanvas??!1,t?.redactFields&&s.setUnredactedFields(t.redactFields),!1!==t?.enableAutomaticTracking&&s.setupAutomaticTracking(t?.automaticTrackingOptions),s.start(),s}constructor(e,s,i){if(this.eventQueue=[],this._sessionActivityTimestamp=null,this._sessionStartTimestamp=null,this.userProperties={},this.isProcessing=!1,this.flushInterval=null,this.FLUSH_INTERVAL_MS=3e3,this.endUserId=null,this.initialized=!1,this.initializationPromise=null,this.monthlyLimitReached=!1,this.isDomReady=!1,this.requestQueue=[],this.domReadyHandlers=[],this.originalConsole=null,this.consoleTrackingEnabled=!1,this.originalFetch=null,this.networkTrackingEnabled=!1,this.enableConsoleTrackingFlag=!0,this.enableNetworkTrackingFlag=!0,this.navigationTrackingEnabled=!1,this.currentUrl=\"\",this.previousUrl=\"\",this.originalPushState=null,this.originalReplaceState=null,this.navigationListeners=[],this._connectionBlocked=!1,this.recordInstance=null,this.sessionStartTime=Date.now(),this.rrwebRecord=null,this.fullSnapshotTimeout=null,this.recordCanvas=!1,this.isStarted=!1,this.rageClickTracker={clicks:[]},this.RAGE_CLICK_THRESHOLD_PX=30,this.RAGE_CLICK_TIMEOUT_MS=1e3,this.RAGE_CLICK_CLICK_COUNT=3,this.deadClickTracker={pendingClicks:new Map},this.DEAD_CLICK_SCROLL_THRESHOLD_MS=100,this.DEAD_CLICK_SELECTION_THRESHOLD_MS=100,this.DEAD_CLICK_MUTATION_THRESHOLD_MS=2e3,this.DEAD_CLICK_ABSOLUTE_TIMEOUT_MS=1400,!e)throw new Error(\"Human Behavior API Key is required\");const n=s||\"https://ingest.humanbehavior.co\";if(this.api=new w({apiKey:e,ingestionUrl:n}),this.apiKey=e,this.ingestionUrl=n,this.MAX_QUEUE_SIZE=i?.maxQueueSize??1e3,this.enableConsoleTrackingFlag=!1!==i?.enableConsoleTracking,this.enableNetworkTrackingFlag=!1!==i?.enableNetworkTracking,this.redactionManager=new v({redactionStrategy:i?.redactionStrategy,legacyRedactFields:i?.redactFields}),this.propertyManager=new C({enableAutomaticProperties:!1!==i?.enableAutomaticProperties,propertyDenylist:i?.propertyDenylist||[]}),R){const e=\"human_behavior_end_user_id\",s=this.getCookie(e);this.endUserId=s||t(),s?c(`Reusing existing endUserId: ${this.endUserId}`):(this.setCookie(e,this.endUserId,365),c(`Generated new endUserId: ${this.endUserId}`))}else this.endUserId=t();R?(this.sessionId=this.getOrCreateSessionId(),this.windowId=t(),this.currentUrl=window.location.href,window.__humanBehaviorGlobalTracker=this):(this.sessionId=t(),this.windowId=t()),this.api.setTrackingContext(this.sessionId,this.endUserId),this.initializationPromise=this.init().catch(e=>{o(\"Initialization failed:\",e)})}async init(){try{R?(this.setupPageUnloadHandler(),this.setupNavigationTracking()):d(\"HumanBehaviorTracker initialized in server environment. Session tracking is disabled.\"),this.initialized=!0,d(`HumanBehaviorTracker initialized with sessionId: ${this.sessionId}, endUserId: ${this.endUserId}`)}catch(e){o(\"Failed to initialize HumanBehaviorTracker:\",e),this.initialized=!0}}async ensureInitialized(){this.initializationPromise&&await this.initializationPromise}setupNavigationTracking(){if(!R||this.navigationTrackingEnabled)return;this.navigationTrackingEnabled=!0,c(\"Setting up navigation tracking\"),this.originalPushState=history.pushState,this.originalReplaceState=history.replaceState,history.pushState=(...e)=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.originalPushState.apply(history,e),this.trackNavigationEvent(\"pushState\",this.previousUrl,this.currentUrl),this.takeFullSnapshot()},history.replaceState=(...e)=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.originalReplaceState.apply(history,e),this.trackNavigationEvent(\"replaceState\",this.previousUrl,this.currentUrl),this.takeFullSnapshot()};const e=()=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.trackNavigationEvent(\"popstate\",this.previousUrl,this.currentUrl),this.takeFullSnapshot()};window.addEventListener(\"popstate\",e),this.navigationListeners.push(()=>{window.removeEventListener(\"popstate\",e)});const t=()=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.trackNavigationEvent(\"hashchange\",this.previousUrl,this.currentUrl)};window.addEventListener(\"hashchange\",t),this.navigationListeners.push(()=>{window.removeEventListener(\"hashchange\",t)}),this.trackNavigationEvent(\"pageLoad\",\"\",this.currentUrl)}async trackNavigationEvent(e,t,s){if(this.initialized)try{const i={type:e,from:t,to:s,timestamp:(new Date).toISOString(),pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer};if(await this.addEvent({type:5,data:{payload:{eventType:\"navigation\",...i}},timestamp:Date.now()}),\"pageLoad\"===e||\"pushState\"===e||\"replaceState\"===e||\"popstate\"===e||\"hashchange\"===e){const s={url:window.location.href,fromUrl:t,navigationType:e,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer,timestamp:Date.now()};await this.customEvent(\"$page_viewed\",s)}c(`Navigation tracked: ${e} from ${t} to ${s}`)}catch(e){o(\"Failed to track navigation event:\",e)}}async trackPageView(e){if(this.initialized){this.propertyManager.updateAutomaticProperties();try{const t={url:e||window.location.href,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer,timestamp:(new Date).toISOString()},s=this.propertyManager.getEventProperties(t);await this.addEvent({type:5,data:{payload:{eventType:\"pageview\",...s}},timestamp:Date.now()}),c(`Pageview tracked: ${t.url}`)}catch(e){o(\"Failed to track pageview event:\",e)}}}async customEvent(e,s){this.endUserId||(a(`endUserId not available, using anonymous ID for event: ${e}`),this.endUserId=t()),R&&this.checkAndRefreshSession();const i=this.propertyManager.getEventProperties(s);try{await this.api.sendCustomEvent(this.sessionId,e,i,this.endUserId),c(`Custom event tracked: ${e}`,i)}catch(t){o(\"Failed to track custom event:\",t),t.message?.includes(\"500\")||t.message?.includes(\"Internal Server Error\")||t.message?.includes(\"Failed to send custom event\")?a(\"Custom event endpoint failed, using fallback\"):t.message?.includes(\"ERR_BLOCKED_BY_CLIENT\")?a(\"Custom event request blocked by ad blocker, using fallback\"):t.message?.includes(\"Failed to fetch\")&&a(\"Custom event network error, using fallback\");try{const t={eventName:e,properties:i||{},timestamp:(new Date).toISOString(),url:window.location.href,pathname:window.location.pathname};await this.addEvent({type:5,data:{payload:{eventType:\"custom\",...t}},timestamp:Date.now()}),c(`Custom event added to event stream as fallback: ${e}`)}catch(e){o(\"Failed to add custom event to event stream as fallback:\",e)}}}setupAutomaticTracking(e){if(!R)return;const t={trackButtons:!1!==e?.trackButtons,trackLinks:!1,trackForms:!1!==e?.trackForms,includeText:!1!==e?.includeText,includeClasses:e?.includeClasses||!1};c(\"Setting up automatic tracking with config:\",t),t.trackButtons&&this.setupAutomaticButtonTracking(t),t.trackForms&&this.setupAutomaticFormTracking(t),this.setupRageClickDetection()}setupAutomaticButtonTracking(e){document.addEventListener(\"click\",async t=>{const s=t.target;if(\"BUTTON\"===s.tagName||s.closest(\"button\")){const t=\"BUTTON\"===s.tagName?s:s.closest(\"button\"),i={buttonId:t.id||null,buttonType:t.type||\"button\",page:window.location.pathname,timestamp:Date.now()};e.includeText&&(i.buttonText=t.textContent?.trim()||null),e.includeClasses&&(i.buttonClass=t.className||null),Object.keys(i).forEach(e=>{null===i[e]&&delete i[e]}),await this.customEvent(\"$button_clicked\",i)}})}setupRageClickDetection(){R&&document.addEventListener(\"click\",async e=>{const t=e.target,s=e.clientX,i=e.clientY,n=Date.now();if(this.isRageClick(s,i,n,t)){const e=t.closest('button, a, [role=\"button\"], [role=\"link\"]')||t,r={x:s,y:i,page:window.location.pathname,element:e.tagName.toLowerCase(),clickCount:this.RAGE_CLICK_CLICK_COUNT,timestamp:n};e.id&&(r.elementId=e.id),e.className&&(r.elementClass=e.className),e.textContent&&(r.elementText=e.textContent.trim().substring(0,100)),Object.keys(r).forEach(e=>{null!==r[e]&&void 0!==r[e]||delete r[e]}),await this.customEvent(\"$rageclick\",r),this.rageClickTracker.clicks=[]}})}isRageClick(e,t,s,i){const n=this.rageClickTracker.clicks,r=n[n.length-1];if(r&&Math.abs(e-r.x)+Math.abs(t-r.y)<this.RAGE_CLICK_THRESHOLD_PX&&s-r.timestamp<this.RAGE_CLICK_TIMEOUT_MS){if(n.push({x:e,y:t,timestamp:s,element:i}),n.length>=this.RAGE_CLICK_CLICK_COUNT)return!0}else this.rageClickTracker.clicks=[{x:e,y:t,timestamp:s,element:i}];return!1}isInteractiveElement(e){const t=e.tagName.toLowerCase();if(\"button\"===t||\"a\"===t)return!0;if([\"input\",\"select\",\"textarea\"].includes(t))return!0;const s=e.getAttribute(\"role\");if(s&&[\"button\",\"link\",\"tab\",\"menuitem\",\"checkbox\",\"radio\"].includes(s))return!0;if(e.onclick||e.getAttribute(\"onclick\"))return!0;try{if(\"pointer\"===window.getComputedStyle(e).cursor)return!0}catch(e){}return!!e.closest('button, a, [role=\"button\"], [role=\"link\"], [role=\"tab\"], [role=\"menuitem\"]')}setupAutomaticLinkTracking(e){}setupAutomaticFormTracking(e){document.addEventListener(\"submit\",async t=>{const s=t.target,i=new FormData(s),n={formId:s.id||null,formAction:s.action||null,formMethod:s.method||\"get\",fields:Array.from(i.keys()),page:window.location.pathname,timestamp:Date.now()};e.includeClasses&&(n.formClass=s.className||null),Object.keys(n).forEach(e=>{null===n[e]&&delete n[e]}),await this.customEvent(\"$form_submitted\",n)})}cleanupNavigationTracking(){this.navigationTrackingEnabled&&(this.originalPushState&&(history.pushState=this.originalPushState),this.originalReplaceState&&(history.replaceState=this.originalReplaceState),this.navigationListeners.forEach(e=>e()),this.navigationListeners=[],this.navigationTrackingEnabled=!1,c(\"Navigation tracking cleaned up\"))}static logToStorage(e){d(e)}static configureLogging(e){i.setConfig({level:{none:0,error:1,warn:2,info:3,debug:4}[e.level||\"error\"],enableConsole:!1!==e.enableConsole,enableStorage:e.enableStorage||!1})}enableConsoleTracking(){R&&!this.consoleTrackingEnabled&&(this.originalConsole={log:console.log,warn:console.warn,error:console.error},console.log=(...e)=>{this.trackConsoleEvent(\"log\",e),this.originalConsole.log(...e)},console.warn=(...e)=>{this.trackConsoleEvent(\"warn\",e),this.originalConsole.warn(...e)},console.error=(...e)=>{this.trackConsoleEvent(\"error\",e),this.originalConsole.error(...e)},this.consoleTrackingEnabled=!0,c(\"Console tracking enabled\"))}enableNetworkTracking(){R&&!this.networkTrackingEnabled&&\"undefined\"!=typeof fetch&&(this.originalFetch=window.fetch.bind(window),window.fetch=async(e,s)=>{const i=Date.now(),n=t(),r=\"string\"==typeof e?e:e instanceof URL?e.toString():e.url,o=(s?.method||(\"object\"==typeof e&&\"method\"in e?e.method:void 0)||\"GET\").toUpperCase(),a=this.shouldSkipNetworkTracking(r),d=1e4;let c=null,l=!1;a||(c=setTimeout(()=>{const e=Date.now()-i;l||(l=!0,this.api.sendNetworkError({requestId:n,url:r,method:o,status:null,statusText:null,duration:e,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:\"long_loading\",errorMessage:`Request took longer than 10000ms (${e}ms elapsed)`,startTimeMs:i,spanName:`${o} ${r}`,spanStatus:\"slow\",attributes:{\"http.method\":o,\"http.url\":r,\"request.duration_ms\":e,\"request.long_loading_threshold_ms\":d}}).catch(()=>{}))},d));try{const t=await this.originalFetch(e,s),d=Date.now()-i;return c&&clearTimeout(c),t.ok||a||this.api.sendNetworkError({requestId:n,url:r,method:o,status:t.status,statusText:t.statusText,duration:d,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyHttpError(t.status),errorMessage:t.statusText,startTimeMs:i,spanName:`${o} ${r}`,spanStatus:\"error\",attributes:{\"http.status_code\":t.status,\"http.status_text\":t.statusText}}).catch(()=>{}),t}catch(e){const t=Date.now()-i;throw c&&clearTimeout(c),a||this.api.sendNetworkError({requestId:n,url:r,method:o,status:null,statusText:null,duration:t,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyNetworkError(e),errorMessage:e.message,errorName:e.name,startTimeMs:i,spanName:`${o} ${r}`,spanStatus:\"error\",attributes:{\"error.name\":e.name,\"error.message\":e.message}}).catch(()=>{}),e}},this.networkTrackingEnabled=!0,c(\"Network tracking enabled\"))}enablePageLoadTracking(){R&&\"undefined\"!=typeof window&&(\"complete\"===document.readyState?this.trackPageLoad():window.addEventListener(\"load\",()=>{this.trackPageLoad()}),c(\"Page load tracking enabled\"))}trackPageLoad(){if(R&&\"undefined\"!=typeof performance)try{const e=performance.getEntriesByType(\"navigation\")[0];if(!e)return;const s=e.loadEventEnd-e.fetchStart;if(s>3e3){const i=t(),n=e.domContentLoadedEventEnd-e.fetchStart,r=e.domComplete-e.fetchStart;this.api.sendNetworkError({requestId:i,url:window.location.href,method:\"GET\",status:200,statusText:\"OK\",duration:s,timestampMs:e.loadEventEnd+performance.timeOrigin,sessionId:this.sessionId,endUserId:this.endUserId,errorType:\"slow_page_load\",errorMessage:`Page load took ${s}ms`,startTimeMs:e.fetchStart+performance.timeOrigin,spanName:\"page_load\",spanStatus:\"slow\",attributes:{\"page.url\":window.location.href,\"page.load_time\":s,\"page.dom_content_loaded\":n,\"page.dom_complete\":r,\"page.fetch_start\":e.fetchStart,\"page.response_start\":e.responseStart-e.fetchStart,\"page.response_end\":e.responseEnd-e.fetchStart}}).catch(()=>{})}}catch(e){a(\"Failed to track page load:\",e)}}shouldSkipNetworkTracking(e){if(!e||!this.ingestionUrl)return!1;try{const t=new URL(e),s=new URL(this.ingestionUrl);return!(t.origin!==s.origin||!t.pathname.startsWith(\"/api/ingestion/\"))||!!e.includes(this.ingestionUrl)}catch(t){return e.includes(this.ingestionUrl)}}classifyHttpError(e){return e>=400&&e<500?\"client_error\":e>=500?\"server_error\":\"unknown_error\"}classifyNetworkError(e){const t=e.message||\"\",s=e.name||\"\";return t.includes(\"blocked\")||t.includes(\"ERR_BLOCKED_BY_CLIENT\")||t.includes(\"net::ERR_BLOCKED_BY_CLIENT\")||\"TypeError\"===s&&t.includes(\"Failed to fetch\")?\"blocked_by_client\":t.includes(\"CORS\")||t.includes(\"Cross-Origin\")||t.includes(\"Access-Control-Allow-Origin\")||\"TypeError\"===s&&t.includes(\"CORS\")?\"cors_error\":t.includes(\"timeout\")||t.includes(\"TIMEOUT\")||t.includes(\"NetworkError\")||\"NetworkError\"===s?\"network_error\":t.includes(\"abort\")||\"AbortError\"===s?\"aborted\":\"unknown_error\"}disableConsoleTracking(){R&&this.consoleTrackingEnabled&&(this.originalConsole&&(console.log=this.originalConsole.log,console.warn=this.originalConsole.warn,console.error=this.originalConsole.error),this.consoleTrackingEnabled=!1,c(\"Console tracking disabled\"))}trackConsoleEvent(e,t){if(this.initialized)if(\"log\"!==e)try{if(r())return void(this.originalConsole&&this.originalConsole[e](...t));const s=(new Error).stack||\"\";if(this.isSDKStackFrame(s))return void(this.originalConsole&&this.originalConsole[e](...t));const i={level:e,message:t.map(e=>\"object\"==typeof e?JSON.stringify(e):String(e)).join(\" \"),timestampMs:Date.now(),url:R?window.location.href:\"\",userAgent:R?navigator.userAgent:\"\",stack:s,sessionId:this.sessionId,endUserId:this.endUserId};this.api.sendLog(i).catch(e=>{this.addEvent({type:5,data:{payload:{eventType:\"console\",...i}},timestamp:Date.now()}).catch(()=>{})})}catch(e){o(\"Error in trackConsoleEvent:\",e)}else this.originalConsole&&this.originalConsole.log(...t)}isSDKStackFrame(e){if(!e)return!1;const t=[\"humanbehavior-js\",\"@humanbehavior/core\",\"@humanbehavior/browser\",\"tracker.ts\",\"api.ts\",\"logger.ts\",\"utils/logger\",\"packages/core\",\"packages/browser\",\"index.mjs\",\"index.js\"],s=e.split(\"\\n\");e.toLowerCase();let i=!1;for(let e=0;e<s.length;e++){const n=s[e].trim().toLowerCase();if(!n||\"error\"===n||n.startsWith(\"error:\"))continue;if(!t.some(e=>n.includes(e.toLowerCase()))){i=!0;break}}return!i}setupPageUnloadHandler(){if(!R)return;c(\"Setting up page unload handler\"),window.addEventListener(\"visibilitychange\",()=>{\"hidden\"===document.visibilityState&&(c(\"Page hidden - sending pending events\"),this.flushEvents())});const e=\"onpagehide\"in window?\"pagehide\":\"beforeunload\";window.addEventListener(e,()=>{c(\"Page unloading - sending final events via sendBeacon\");const e=[...this.eventQueue];if(e.length>0&&this.api)try{this.api.sendBeaconEvents(e,this.sessionId),this.eventQueue=[]}catch(e){a(\"Failed to send events via sendBeacon on unload:\",e)}this.api&&this.api.unload()});const t=()=>{localStorage.setItem(\"human_behavior_last_activity\",Date.now().toString())};window.addEventListener(\"click\",t),window.addEventListener(\"keydown\",t),window.addEventListener(\"scroll\",t),window.addEventListener(\"mousemove\",t)}viewLogs(){try{const e=i.getLogs();d(\"HumanBehavior Logs:\",e),i.clearLogs()}catch(e){o(\"Failed to read logs:\",e)}}async identifyUser({userProperties:e}){const t=this.endUserId;this.userProperties=e,c(\"Identifying user:\",{userProperties:e,originalEndUserId:t,sessionId:this.sessionId}),!R||this.propertyManager.getAutomaticProperties();const s=await this.api.sendUserData(t||\"\",e,this.sessionId);if(s.actualUserId||s.wasExistingUser){const e=s.actualUserId||t;if(e&&e!==t){const s=\"human_behavior_end_user_id\";if(this.setCookie(s,e,365),R)try{localStorage.setItem(s,e)}catch(e){c(\"Failed to set canonical endUserId in localStorage:\",e)}c(`🔗 Preexisting user detected. Future sessions will use canonical ID: ${e} (current session stays: ${t})`)}}return t||\"\"}getUserAttributes(){return{...this.userProperties}}async start(){if(!R)return;if(this.isStarted)return void c(\"HumanBehaviorTracker already started, skipping start() call.\");this.isStarted=!0,this.flushInterval=window.setInterval(()=>{this.flushEvents()},this.FLUSH_INTERVAL_MS),this.enableConsoleTrackingFlag&&this.enableConsoleTracking(),this.enableNetworkTrackingFlag&&this.enableNetworkTracking(),this.enablePageLoadTracking();const t=()=>{if(this.recordInstance)return void c(\"🎯 Recording already started, skipping duplicate start\");c(\"🎯 DOM ready, starting session recording\"),this.rrwebRecord=e;const t=e({emit:e=>{this.addRecordingEvent(e),2===e.type&&c(`🎯 FullSnapshot generated at ${(new Date).toISOString()}`)},maskTextSelector:this.redactionManager.getMaskTextSelector()||void 0,maskTextFn:void 0,maskAllInputs:\"privacy-first\"===this.redactionManager.getRedactionMode(),maskInputOptions:{password:!0,text:!0,textarea:!0,email:!0,number:!0,tel:!0,url:!0,search:!0,date:!0,time:!0,month:!0,week:!0},maskInputFn:(e,t)=>{try{const s=this.redactionManager.getRedactionMode();if(!(t instanceof HTMLElement))return e;if(\"privacy-first\"===s)return\"*\".repeat(e.length||1);const i=this.redactionManager.shouldUnredactElement(t);t.id,t.name,t.type;return i?e:\"*\".repeat(e.length||1)}catch{return e}},slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0,recordCrossOriginIframes:!1,recordCanvas:this.recordCanvas,sampling:this.recordCanvas?{canvas:4}:void 0,dataURLOptions:this.recordCanvas?{type:\"image/webp\",quality:.4}:void 0,hooks:{input:e=>{try{if(\"privacy-first\"===this.redactionManager.getRedactionMode())return;const t=\"undefined\"!=typeof document?document.querySelector(`[data-rrweb-id=\"${e.id}\"]`):null;if(t&&t instanceof HTMLElement){this.redactionManager.shouldUnredactElement(t)||(void 0!==e.text&&(e.text=\"*\".repeat(e.text?.length||1)),void 0!==e.value&&(e.value=\"*\".repeat(e.value?.length||1)))}}catch{}}}});this.recordInstance=t||null};if(c(`🎯 DOM ready state: ${document.readyState}`),\"complete\"===document.readyState||\"interactive\"===document.readyState)c(`🎯 DOM ready (${document.readyState}), starting recording immediately`),t();else{c(\"🎯 DOM not ready, waiting for DOMContentLoaded event\");const e=()=>(\"interactive\"===document.readyState||\"complete\"===document.readyState)&&(c(`🎯 DOM ready (${document.readyState}), starting recording`),t(),!0);if(e())return;document.addEventListener(\"DOMContentLoaded\",()=>{c(\"🎯 DOMContentLoaded fired, starting recording\"),t()},{once:!0});const s=setInterval(()=>{e()&&clearInterval(s)},10);setTimeout(()=>clearInterval(s),5e3)}}takeFullSnapshot(){this.fullSnapshotTimeout&&clearTimeout(this.fullSnapshotTimeout),this.fullSnapshotTimeout=window.setTimeout(()=>{try{requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.rrwebRecord&&\"function\"==typeof this.rrwebRecord.takeFullSnapshot?(this.rrwebRecord.takeFullSnapshot(),c(\"✅ FullSnapshot taken for navigation (delayed for animations)\")):a(\"⚠️ takeFullSnapshot not available on record function\")})})}catch(e){o(\"❌ Failed to take FullSnapshot for navigation:\",e)}},1e3)}async stop(){await this.ensureInitialized(),R&&(this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null),this.recordInstance&&(this.recordInstance(),this.recordInstance=null),this.fullSnapshotTimeout&&(clearTimeout(this.fullSnapshotTimeout),this.fullSnapshotTimeout=null),this.rrwebRecord=null,this.disableConsoleTracking(),this.cleanupNavigationTracking())}async addEvent(e){if(R&&this.checkAndRefreshSession(),e&&\"object\"==typeof e){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);c(t&&s?`✅ Valid FullSnapshot: hasData=${t}, hasNode=${s}, dataType=${e.data?.node?.type}`:`⚠️ Empty FullSnapshot detected: hasData=${t}, hasNode=${s} - continuing session`)}this.eventQueue.length>=this.MAX_QUEUE_SIZE&&(this.eventQueue.shift(),c(\"Queue is full, the oldest event is dropped.\")),this.eventQueue.push(e),2===e.type?(c(\"FullSnapshot added, triggering immediate flush\"),this.flushEvents()):this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(c(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}else c(\"⚠️ Skipping invalid event:\",e)}async flushEvents(){if(!this.isProcessing&&!this.monthlyLimitReached){this.isProcessing=!0;try{const e=this.eventQueue;if(this.eventQueue=[],e.length>0){c(\"Flushing events:\",e);const t=e.filter(e=>2===e.type);t.length>0&&c(`[FIXED] Sending ${t.length} FullSnapshot(s) with valid data`);try{const t=this.propertyManager.getAutomaticProperties();await this.api.sendEventsChunked(e,this.sessionId,this.endUserId,this.windowId,t)}catch(e){if(e.message?.includes(\"ERROR: Session already completed\"))a(\"Session expired, events will be lost\");else if(e.message?.includes(\"413\")||e.message?.includes(\"Content Too Large\"))a(\"Payload too large, events will be lost\");else{if(!(e.message?.includes(\"ERR_BLOCKED_BY_CLIENT\")||e.message?.includes(\"Failed to fetch\")||e.message?.includes(\"NetworkError\")))throw e;a(\"Request blocked by ad blocker or network issue, events will be lost\")}}}}finally{this.isProcessing=!1}}}async addRecordingEvent(e){if(R&&this.checkAndRefreshSession(),e&&\"object\"==typeof e){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);c(t&&s?`✅ Valid FullSnapshot: hasData=${t}, hasNode=${s}, dataType=${e.data?.node?.type}`:`⚠️ Empty FullSnapshot detected: hasData=${t}, hasNode=${s} - continuing session`)}this.eventQueue.length>=this.MAX_QUEUE_SIZE&&(this.eventQueue.shift(),c(\"Queue is full, the oldest event is dropped.\")),this.eventQueue.push(e),2===e.type?(c(\"FullSnapshot added, triggering immediate flush\"),this.flushEvents()):this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(c(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}else c(\"⚠️ Skipping invalid recording event:\",e)}setCookie(e,t,s){if(R)try{const i=new Date;i.setTime(i.getTime()+24*s*60*60*1e3);const n=`expires=${i.toUTCString()}`;document.cookie=`${e}=${t};${n};path=/;SameSite=Lax`,localStorage.setItem(e,t),c(`Set cookie and localStorage: ${e}`)}catch(s){try{localStorage.setItem(e,t),c(`Cookie blocked, using localStorage: ${e}`)}catch(e){o(\"Failed to store user ID in both cookie and localStorage:\",e)}}}getCookie(e){if(!R)return null;try{const t=e+\"=\",s=document.cookie.split(\";\");for(let i=0;i<s.length;i++){let n=s[i];for(;\" \"===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t)){const s=n.substring(t.length,n.length);return c(`Found cookie: ${e}`),s}}const i=localStorage.getItem(e);return i?(c(`Cookie not found, using localStorage: ${e}`),i):null}catch(t){try{const t=localStorage.getItem(e);if(t)return c(`Cookie access failed, using localStorage: ${e}`),t}catch(e){o(\"Failed to access both cookie and localStorage:\",e)}return null}}deleteCookie(e){if(R){try{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`,c(`Deleted cookie: ${e}`)}catch(t){o(`Failed to delete cookie: ${e}`,t)}try{localStorage.removeItem(e),c(`Removed from localStorage: ${e}`)}catch(t){o(`Failed to remove from localStorage: ${e}`,t)}}}logout(){if(R)try{const e=\"human_behavior_end_user_id\";this.deleteCookie(e);const s=\"human_behavior_session\";localStorage.removeItem(s),this.endUserId=null,this.userProperties={},this.endUserId=t(),this.setCookie(\"human_behavior_end_user_id\",this.endUserId,365),this.sessionId=this.createNewSession(s),this.windowId=t(),this.api.setTrackingContext(this.sessionId,this.endUserId),d(\"User logged out - cleared all user data and started fresh session\")}catch(e){o(\"Error during logout:\",e)}}async redact(e){await this.ensureInitialized(),R?this.redactionManager=new v(e):a(\"Redaction is only available in browser environments\")}setRedactedFields(e){this.redactionManager.setFieldsToRedact(e),this.recordInstance&&this.restartWithNewRedaction()}setUnredactedFields(e){this.redactionManager.setFieldsToUnredact(e),this.recordInstance&&this.restartWithNewRedaction()}restartWithNewRedaction(){this.recordInstance&&(this.recordInstance(),this.start())}hasUnredactedFields(){return this.redactionManager.hasUnredactedFields()}getUnredactedFields(){return this.redactionManager.getUnredactedFields()}redactFields(e){this.redactionManager.redactFields(e),this.recordInstance&&this.restartWithNewRedaction()}clearUnredactedFields(){this.redactionManager.clearUnredactedFields(),this.recordInstance&&this.restartWithNewRedaction()}checkAndRefreshSession(){if(!R)return;const e=\"human_behavior_session\",s=Date.now(),i=this.getStoredSession(e);if(!i||!i.sessionId)return this.createNewSession(e),this.windowId=t(),this.api.setTrackingContext(this.sessionId,this.endUserId),void c(`Created new session (no stored session): ${this.sessionId}`);this.updateSessionActivity(e,s,i.sessionId,i.sessionStartTimestamp)}getOrCreateSessionId(){if(!R)return t();const e=\"human_behavior_session\",s=Date.now(),i=this.getStoredSession(e);if(!i||!i.sessionId){const t=this.createNewSession(e);return this.api.setTrackingContext(t,this.endUserId),t}const n=s-i.lastActivityTimestamp,r=s-i.sessionStartTimestamp;if(n>9e5||r>864e5){c(`Session expired: idle=${n}ms, age=${r}ms`);const t=this.createNewSession(e);return this.api.setTrackingContext(t,this.endUserId),t}return this.updateSessionActivity(e,s,i.sessionId,i.sessionStartTimestamp),i.sessionId}getStoredSession(e){const s=Date.now(),i=9e5,n=864e5;if(this.sessionId&&null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp){const r=s-this._sessionActivityTimestamp,o=s-this._sessionStartTimestamp;if(!(r>i||o>n))return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp};{c(\"Session in memory expired: creating new session immediately\");const s=this.sessionId;if(this.createNewSession(e),this.windowId=t(),this.api.setTrackingContext(this.sessionId,this.endUserId),d(`🔄 Session timeout (memory): Created new session ${this.sessionId} (previous: ${s})`),null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp)return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp}}}try{const r=localStorage.getItem(e);if(!r)return null;const o=JSON.parse(r),a=s-o.lastActivityTimestamp,l=s-o.sessionStartTimestamp;if(a>i||l>n){c(`Session in localStorage expired: idle=${Math.round(a/1e3/60)}min, age=${Math.round(l/1e3/60/60)}hrs`);const s=o.sessionId;if(this.createNewSession(e),this.windowId=t(),this.api.setTrackingContext(this.sessionId,this.endUserId),d(`🔄 Session timeout (localStorage): Created new session ${this.sessionId} (previous: ${s})`),null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp)return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp}}return o.sessionId&&(this.sessionId=o.sessionId,this._sessionActivityTimestamp=o.lastActivityTimestamp,this._sessionStartTimestamp=o.sessionStartTimestamp),o}catch{return null}}createNewSession(e){const s=t(),i=Date.now();this.sessionId=s,this._sessionActivityTimestamp=i,this._sessionStartTimestamp=i;const n={sessionId:s,lastActivityTimestamp:i,sessionStartTimestamp:i};try{localStorage.setItem(e,JSON.stringify(n))}catch(e){a(`Failed to save session to localStorage: ${e}`)}return c(`Created new session: ${s}`),s}updateSessionActivity(e,t,s,i){this.sessionId=s,this._sessionActivityTimestamp=t,this._sessionStartTimestamp=i;const n={sessionId:s,lastActivityTimestamp:t,sessionStartTimestamp:i};try{localStorage.setItem(e,JSON.stringify(n))}catch(e){a(`Failed to update session in localStorage: ${e}`)}}getSessionId(){return this.sessionId}getCurrentUrl(){return this.currentUrl}getSnapshotFrequencyInfo(){return{sessionDuration:Date.now()-this.sessionStartTime,currentInterval:3e5,currentThreshold:1e3,phase:\"configured\"}}async testConnection(){try{return await this.api.init(this.sessionId,this.endUserId),{success:!0}}catch(e){return{success:!1,error:e.message||\"Unknown error\"}}}getConnectionStatus(){const e=[];let t=!1;return this.eventQueue.length>0&&(t=!0,e.push(\"Some requests may be blocked by ad blockers\")),this._connectionBlocked&&(t=!0,e.push(\"Initial connection test failed - ad blocker may be active\")),\"undefined\"==typeof window&&e.push(\"Not running in browser environment\"),void 0===navigator.sendBeacon&&e.push(\"sendBeacon not available, using fetch fallback\"),{blocked:t,recommendations:e}}isPreexistingUser(){if(!R)return!1;const e=this.getCookie(\"human_behavior_end_user_id\");return null!==e&&e!==this.endUserId}getUserInfo(){return{endUserId:this.endUserId,sessionId:this.sessionId,isPreexistingUser:this.isPreexistingUser(),initialized:this.initialized}}setSessionProperty(e,t){this.propertyManager.setSessionProperty(e,t)}setSessionProperties(e){this.propertyManager.setSessionProperties(e)}getSessionProperty(e){return this.propertyManager.getSessionProperty(e)}removeSessionProperty(e){this.propertyManager.removeSessionProperty(e)}setUserProperty(e,t){this.propertyManager.setUserProperty(e,t)}setUserProperties(e){this.propertyManager.setUserProperties(e)}getUserProperty(e){return this.propertyManager.getUserProperty(e)}removeUserProperty(e){this.propertyManager.removeUserProperty(e)}setOnce(e,t,s=\"user\"){this.propertyManager.setOnce(e,t,s)}clearSessionProperties(){this.propertyManager.clearSessionProperties()}clearUserProperties(){this.propertyManager.clearUserProperties()}getAllProperties(){return this.propertyManager.getAllProperties()}}function F(e){const t=globalThis.__humanBehaviorGlobalTracker;return t?.identifyUser?t.identifyUser({userProperties:e}):(console.warn(\"HumanBehavior tracker not found. Make sure the SDK is initialized.\"),null)}function L(e,t){const s=globalThis.__humanBehaviorGlobalTracker;return s?.track?s.track(e,t):(console.warn(\"HumanBehavior tracker not found. Make sure the SDK is initialized.\"),null)}function $(){const e=globalThis.__humanBehaviorGlobalTracker;return!!e?.identifyUser}R&&(window.HumanBehaviorTracker=P);export{w as HumanBehaviorAPI,P as HumanBehaviorTracker,s as LogLevel,C as PropertyManager,v as RedactionManager,I as getAutomaticProperties,U as getCurrentPageProperties,b as getDeviceInfo,E as getInitialProperties,T as getLocationInfo,F as identifyUserGlobally,$ as isGlobalTrackerAvailable,r as isSDKLogging,c as logDebug,o as logError,d as logInfo,a as logWarn,i as logger,L as sendEventGlobally};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Main entry point for the HumanBehavior SDK\n */\n\n// Import the main tracker first\nimport { HumanBehaviorTracker, identifyUserGlobally, sendEventGlobally, isGlobalTrackerAvailable } from '@humanbehavior/core';\n\n// Re-export everything from core\nexport * from '@humanbehavior/core';\n\n// Explicitly re-export HumanBehaviorTracker to ensure it's available\nexport { HumanBehaviorTracker, identifyUserGlobally, sendEventGlobally, isGlobalTrackerAvailable };\n\n// Create an initialization function\nexport const init = (apiKey: string, ingestionUrl?: string, options?: any) => {\n return new HumanBehaviorTracker(apiKey, ingestionUrl, options);\n};\n\n// For UMD builds, expose the class and init function globally\nif (typeof window !== 'undefined') {\n (window as any).HumanBehaviorTracker = HumanBehaviorTracker;\n (window as any).humanbehavior = { init };\n}"],"names":["n","t","e","HumanBehaviorTracker"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/@rrweb/record/dist/record.js","../../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../../node_modules/uuid/dist/esm-browser/rng.js","../../../../node_modules/uuid/dist/esm-browser/v1.js","../../../core/dist/index.mjs","../../src/index.ts"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar _a;\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar NodeType$2 = /* @__PURE__ */ ((NodeType2) => {\n NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n return NodeType2;\n})(NodeType$2 || {});\nconst testableAccessors$1 = {\n Node: [\"childNodes\", \"parentNode\", \"parentElement\", \"textContent\"],\n ShadowRoot: [\"host\", \"styleSheets\"],\n Element: [\"shadowRoot\", \"querySelector\", \"querySelectorAll\"],\n MutationObserver: []\n};\nconst testableMethods$1 = {\n Node: [\"contains\", \"getRootNode\"],\n ShadowRoot: [\"getSelection\"],\n Element: [],\n MutationObserver: [\"constructor\"]\n};\nconst untaintedBasePrototype$1 = {};\nfunction getUntaintedPrototype$1(key) {\n if (untaintedBasePrototype$1[key])\n return untaintedBasePrototype$1[key];\n const defaultObj = globalThis[key];\n const defaultPrototype = defaultObj.prototype;\n const accessorNames = key in testableAccessors$1 ? testableAccessors$1[key] : void 0;\n const isUntaintedAccessors = Boolean(\n accessorNames && // @ts-expect-error 2345\n accessorNames.every(\n (accessor) => {\n var _a2, _b;\n return Boolean(\n (_b = (_a2 = Object.getOwnPropertyDescriptor(defaultPrototype, accessor)) == null ? void 0 : _a2.get) == null ? void 0 : _b.toString().includes(\"[native code]\")\n );\n }\n )\n );\n const methodNames = key in testableMethods$1 ? testableMethods$1[key] : void 0;\n const isUntaintedMethods = Boolean(\n methodNames && methodNames.every(\n // @ts-expect-error 2345\n (method) => {\n var _a2;\n return typeof defaultPrototype[method] === \"function\" && ((_a2 = defaultPrototype[method]) == null ? void 0 : _a2.toString().includes(\"[native code]\"));\n }\n )\n );\n if (isUntaintedAccessors && isUntaintedMethods) {\n untaintedBasePrototype$1[key] = defaultObj.prototype;\n return defaultObj.prototype;\n }\n try {\n const iframeEl = document.createElement(\"iframe\");\n document.body.appendChild(iframeEl);\n const win = iframeEl.contentWindow;\n if (!win) return defaultObj.prototype;\n const untaintedObject = win[key].prototype;\n document.body.removeChild(iframeEl);\n if (!untaintedObject) return defaultPrototype;\n return untaintedBasePrototype$1[key] = untaintedObject;\n } catch {\n return defaultPrototype;\n }\n}\nconst untaintedAccessorCache$1 = {};\nfunction getUntaintedAccessor$1(key, instance, accessor) {\n var _a2;\n const cacheKey = `${key}.${String(accessor)}`;\n if (untaintedAccessorCache$1[cacheKey])\n return untaintedAccessorCache$1[cacheKey].call(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype$1(key);\n const untaintedAccessor = (_a2 = Object.getOwnPropertyDescriptor(\n untaintedPrototype,\n accessor\n )) == null ? void 0 : _a2.get;\n if (!untaintedAccessor) return instance[accessor];\n untaintedAccessorCache$1[cacheKey] = untaintedAccessor;\n return untaintedAccessor.call(instance);\n}\nconst untaintedMethodCache$1 = {};\nfunction getUntaintedMethod$1(key, instance, method) {\n const cacheKey = `${key}.${String(method)}`;\n if (untaintedMethodCache$1[cacheKey])\n return untaintedMethodCache$1[cacheKey].bind(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype$1(key);\n const untaintedMethod = untaintedPrototype[method];\n if (typeof untaintedMethod !== \"function\") return instance[method];\n untaintedMethodCache$1[cacheKey] = untaintedMethod;\n return untaintedMethod.bind(instance);\n}\nfunction childNodes$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"childNodes\");\n}\nfunction parentNode$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"parentNode\");\n}\nfunction parentElement$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"parentElement\");\n}\nfunction textContent$1(n2) {\n return getUntaintedAccessor$1(\"Node\", n2, \"textContent\");\n}\nfunction contains$1(n2, other) {\n return getUntaintedMethod$1(\"Node\", n2, \"contains\")(other);\n}\nfunction getRootNode$1(n2) {\n return getUntaintedMethod$1(\"Node\", n2, \"getRootNode\")();\n}\nfunction host$1(n2) {\n if (!n2 || !(\"host\" in n2)) return null;\n return getUntaintedAccessor$1(\"ShadowRoot\", n2, \"host\");\n}\nfunction styleSheets$1(n2) {\n return n2.styleSheets;\n}\nfunction shadowRoot$1(n2) {\n if (!n2 || !(\"shadowRoot\" in n2)) return null;\n return getUntaintedAccessor$1(\"Element\", n2, \"shadowRoot\");\n}\nfunction querySelector$1(n2, selectors) {\n return getUntaintedAccessor$1(\"Element\", n2, \"querySelector\")(selectors);\n}\nfunction querySelectorAll$1(n2, selectors) {\n return getUntaintedAccessor$1(\"Element\", n2, \"querySelectorAll\")(selectors);\n}\nfunction mutationObserverCtor$1() {\n return getUntaintedPrototype$1(\"MutationObserver\").constructor;\n}\nconst index$1 = {\n childNodes: childNodes$1,\n parentNode: parentNode$1,\n parentElement: parentElement$1,\n textContent: textContent$1,\n contains: contains$1,\n getRootNode: getRootNode$1,\n host: host$1,\n styleSheets: styleSheets$1,\n shadowRoot: shadowRoot$1,\n querySelector: querySelector$1,\n querySelectorAll: querySelectorAll$1,\n mutationObserver: mutationObserverCtor$1\n};\nfunction isElement(n2) {\n return n2.nodeType === n2.ELEMENT_NODE;\n}\nfunction isShadowRoot(n2) {\n const hostEl = (\n // anchor and textarea elements also have a `host` property\n // but only shadow roots have a `mode` property\n n2 && \"host\" in n2 && \"mode\" in n2 && index$1.host(n2) || null\n );\n return Boolean(\n hostEl && \"shadowRoot\" in hostEl && index$1.shadowRoot(hostEl) === n2\n );\n}\nfunction isNativeShadowDom(shadowRoot2) {\n return Object.prototype.toString.call(shadowRoot2) === \"[object ShadowRoot]\";\n}\nfunction fixBrowserCompatibilityIssuesInCSS(cssText) {\n if (cssText.includes(\" background-clip: text;\") && !cssText.includes(\" -webkit-background-clip: text;\")) {\n cssText = cssText.replace(\n /\\sbackground-clip:\\s*text;/g,\n \" -webkit-background-clip: text; background-clip: text;\"\n );\n }\n return cssText;\n}\nfunction escapeImportStatement(rule2) {\n const { cssText } = rule2;\n if (cssText.split('\"').length < 3) return cssText;\n const statement = [\"@import\", `url(${JSON.stringify(rule2.href)})`];\n if (rule2.layerName === \"\") {\n statement.push(`layer`);\n } else if (rule2.layerName) {\n statement.push(`layer(${rule2.layerName})`);\n }\n if (rule2.supportsText) {\n statement.push(`supports(${rule2.supportsText})`);\n }\n if (rule2.media.length) {\n statement.push(rule2.media.mediaText);\n }\n return statement.join(\" \") + \";\";\n}\nfunction stringifyStylesheet(s2) {\n try {\n const rules2 = s2.rules || s2.cssRules;\n if (!rules2) {\n return null;\n }\n const stringifiedRules = Array.from(\n rules2,\n (rule2) => stringifyRule(rule2, s2.href)\n ).join(\"\");\n return fixBrowserCompatibilityIssuesInCSS(stringifiedRules);\n } catch (error) {\n return null;\n }\n}\nfunction stringifyRule(rule2, sheetHref) {\n if (isCSSImportRule(rule2)) {\n let importStringified;\n try {\n importStringified = // for same-origin stylesheets,\n // we can access the imported stylesheet rules directly\n stringifyStylesheet(rule2.styleSheet) || // work around browser issues with the raw string `@import url(...)` statement\n escapeImportStatement(rule2);\n } catch (error) {\n importStringified = rule2.cssText;\n }\n if (rule2.styleSheet.href) {\n return absolutifyURLs(importStringified, rule2.styleSheet.href);\n }\n return importStringified;\n } else {\n let ruleStringified = rule2.cssText;\n if (isCSSStyleRule(rule2) && rule2.selectorText.includes(\":\")) {\n ruleStringified = fixSafariColons(ruleStringified);\n }\n if (sheetHref) {\n return absolutifyURLs(ruleStringified, sheetHref);\n }\n return ruleStringified;\n }\n}\nfunction fixSafariColons(cssStringified) {\n const regex = /(\\[(?:[\\w-]+)[^\\\\])(:(?:[\\w-]+)\\])/gm;\n return cssStringified.replace(regex, \"$1\\\\$2\");\n}\nfunction isCSSImportRule(rule2) {\n return \"styleSheet\" in rule2;\n}\nfunction isCSSStyleRule(rule2) {\n return \"selectorText\" in rule2;\n}\nclass Mirror {\n constructor() {\n __publicField$1(this, \"idNodeMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"nodeMetaMap\", /* @__PURE__ */ new WeakMap());\n }\n getId(n2) {\n var _a2;\n if (!n2) return -1;\n const id = (_a2 = this.getMeta(n2)) == null ? void 0 : _a2.id;\n return id ?? -1;\n }\n getNode(id) {\n return this.idNodeMap.get(id) || null;\n }\n getIds() {\n return Array.from(this.idNodeMap.keys());\n }\n getMeta(n2) {\n return this.nodeMetaMap.get(n2) || null;\n }\n // removes the node from idNodeMap\n // doesn't remove the node from nodeMetaMap\n removeNodeFromMap(n2) {\n const id = this.getId(n2);\n this.idNodeMap.delete(id);\n if (n2.childNodes) {\n n2.childNodes.forEach(\n (childNode) => this.removeNodeFromMap(childNode)\n );\n }\n }\n has(id) {\n return this.idNodeMap.has(id);\n }\n hasNode(node2) {\n return this.nodeMetaMap.has(node2);\n }\n add(n2, meta) {\n const id = meta.id;\n this.idNodeMap.set(id, n2);\n this.nodeMetaMap.set(n2, meta);\n }\n replace(id, n2) {\n const oldNode = this.getNode(id);\n if (oldNode) {\n const meta = this.nodeMetaMap.get(oldNode);\n if (meta) this.nodeMetaMap.set(n2, meta);\n }\n this.idNodeMap.set(id, n2);\n }\n reset() {\n this.idNodeMap = /* @__PURE__ */ new Map();\n this.nodeMetaMap = /* @__PURE__ */ new WeakMap();\n }\n}\nfunction createMirror$2() {\n return new Mirror();\n}\nfunction maskInputValue({\n element,\n maskInputOptions,\n tagName,\n type,\n value,\n maskInputFn\n}) {\n let text = value || \"\";\n const actualType = type && toLowerCase(type);\n if (maskInputOptions[tagName.toLowerCase()] || actualType && maskInputOptions[actualType]) {\n if (maskInputFn) {\n text = maskInputFn(text, element);\n } else {\n text = \"*\".repeat(text.length);\n }\n }\n return text;\n}\nfunction toLowerCase(str) {\n return str.toLowerCase();\n}\nconst ORIGINAL_ATTRIBUTE_NAME = \"__rrweb_original__\";\nfunction is2DCanvasBlank(canvas) {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return true;\n const chunkSize = 50;\n for (let x2 = 0; x2 < canvas.width; x2 += chunkSize) {\n for (let y = 0; y < canvas.height; y += chunkSize) {\n const getImageData = ctx.getImageData;\n const originalGetImageData = ORIGINAL_ATTRIBUTE_NAME in getImageData ? getImageData[ORIGINAL_ATTRIBUTE_NAME] : getImageData;\n const pixelBuffer = new Uint32Array(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n originalGetImageData.call(\n ctx,\n x2,\n y,\n Math.min(chunkSize, canvas.width - x2),\n Math.min(chunkSize, canvas.height - y)\n ).data.buffer\n );\n if (pixelBuffer.some((pixel) => pixel !== 0)) return false;\n }\n }\n return true;\n}\nfunction getInputType(element) {\n const type = element.type;\n return element.hasAttribute(\"data-rr-is-password\") ? \"password\" : type ? (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n toLowerCase(type)\n ) : null;\n}\nfunction extractFileExtension(path, baseURL) {\n let url;\n try {\n url = new URL(path, baseURL ?? window.location.href);\n } catch (err) {\n return null;\n }\n const regex = /\\.([0-9a-z]+)(?:$)/i;\n const match = url.pathname.match(regex);\n return (match == null ? void 0 : match[1]) ?? null;\n}\nfunction extractOrigin(url) {\n let origin = \"\";\n if (url.indexOf(\"//\") > -1) {\n origin = url.split(\"/\").slice(0, 3).join(\"/\");\n } else {\n origin = url.split(\"/\")[0];\n }\n origin = origin.split(\"?\")[0];\n return origin;\n}\nconst URL_IN_CSS_REF = /url\\((?:(')([^']*)'|(\")(.*?)\"|([^)]*))\\)/gm;\nconst URL_PROTOCOL_MATCH = /^(?:[a-z+]+:)?\\/\\//i;\nconst URL_WWW_MATCH = /^www\\..*/i;\nconst DATA_URI = /^(data:)([^,]*),(.*)/i;\nfunction absolutifyURLs(cssText, href) {\n return (cssText || \"\").replace(\n URL_IN_CSS_REF,\n (origin, quote1, path1, quote2, path2, path3) => {\n const filePath = path1 || path2 || path3;\n const maybeQuote = quote1 || quote2 || \"\";\n if (!filePath) {\n return origin;\n }\n if (URL_PROTOCOL_MATCH.test(filePath) || URL_WWW_MATCH.test(filePath)) {\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\n }\n if (DATA_URI.test(filePath)) {\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\n }\n if (filePath[0] === \"/\") {\n return `url(${maybeQuote}${extractOrigin(href) + filePath}${maybeQuote})`;\n }\n const stack = href.split(\"/\");\n const parts = filePath.split(\"/\");\n stack.pop();\n for (const part of parts) {\n if (part === \".\") {\n continue;\n } else if (part === \"..\") {\n stack.pop();\n } else {\n stack.push(part);\n }\n }\n return `url(${maybeQuote}${stack.join(\"/\")}${maybeQuote})`;\n }\n );\n}\nlet _id = 1;\nconst tagNameRegex = new RegExp(\"[^a-z0-9-_:]\");\nconst IGNORED_NODE = -2;\nfunction genId() {\n return _id++;\n}\nfunction getValidTagName$1(element) {\n if (element instanceof HTMLFormElement) {\n return \"form\";\n }\n const processedTagName = toLowerCase(element.tagName);\n if (tagNameRegex.test(processedTagName)) {\n return \"div\";\n }\n return processedTagName;\n}\nlet canvasService;\nlet canvasCtx;\nconst SRCSET_NOT_SPACES = /^[^ \\t\\n\\r\\u000c]+/;\nconst SRCSET_COMMAS_OR_SPACES = /^[, \\t\\n\\r\\u000c]+/;\nfunction getAbsoluteSrcsetString(doc, attributeValue) {\n if (attributeValue.trim() === \"\") {\n return attributeValue;\n }\n let pos = 0;\n function collectCharacters(regEx) {\n let chars2;\n const match = regEx.exec(attributeValue.substring(pos));\n if (match) {\n chars2 = match[0];\n pos += chars2.length;\n return chars2;\n }\n return \"\";\n }\n const output = [];\n while (true) {\n collectCharacters(SRCSET_COMMAS_OR_SPACES);\n if (pos >= attributeValue.length) {\n break;\n }\n let url = collectCharacters(SRCSET_NOT_SPACES);\n if (url.slice(-1) === \",\") {\n url = absoluteToDoc(doc, url.substring(0, url.length - 1));\n output.push(url);\n } else {\n let descriptorsStr = \"\";\n url = absoluteToDoc(doc, url);\n let inParens = false;\n while (true) {\n const c2 = attributeValue.charAt(pos);\n if (c2 === \"\") {\n output.push((url + descriptorsStr).trim());\n break;\n } else if (!inParens) {\n if (c2 === \",\") {\n pos += 1;\n output.push((url + descriptorsStr).trim());\n break;\n } else if (c2 === \"(\") {\n inParens = true;\n }\n } else {\n if (c2 === \")\") {\n inParens = false;\n }\n }\n descriptorsStr += c2;\n pos += 1;\n }\n }\n }\n return output.join(\", \");\n}\nconst cachedDocument = /* @__PURE__ */ new WeakMap();\nfunction absoluteToDoc(doc, attributeValue) {\n if (!attributeValue || attributeValue.trim() === \"\") {\n return attributeValue;\n }\n return getHref(doc, attributeValue);\n}\nfunction isSVGElement(el) {\n return Boolean(el.tagName === \"svg\" || el.ownerSVGElement);\n}\nfunction getHref(doc, customHref) {\n let a2 = cachedDocument.get(doc);\n if (!a2) {\n a2 = doc.createElement(\"a\");\n cachedDocument.set(doc, a2);\n }\n if (!customHref) {\n customHref = \"\";\n } else if (customHref.startsWith(\"blob:\") || customHref.startsWith(\"data:\")) {\n return customHref;\n }\n a2.setAttribute(\"href\", customHref);\n return a2.href;\n}\nfunction transformAttribute(doc, tagName, name, value) {\n if (!value) {\n return value;\n }\n if (name === \"src\" || name === \"href\" && !(tagName === \"use\" && value[0] === \"#\")) {\n return absoluteToDoc(doc, value);\n } else if (name === \"xlink:href\" && value[0] !== \"#\") {\n return absoluteToDoc(doc, value);\n } else if (name === \"background\" && (tagName === \"table\" || tagName === \"td\" || tagName === \"th\")) {\n return absoluteToDoc(doc, value);\n } else if (name === \"srcset\") {\n return getAbsoluteSrcsetString(doc, value);\n } else if (name === \"style\") {\n return absolutifyURLs(value, getHref(doc));\n } else if (tagName === \"object\" && name === \"data\") {\n return absoluteToDoc(doc, value);\n }\n return value;\n}\nfunction ignoreAttribute(tagName, name, _value) {\n return (tagName === \"video\" || tagName === \"audio\") && name === \"autoplay\";\n}\nfunction _isBlockedElement(element, blockClass, blockSelector) {\n try {\n if (typeof blockClass === \"string\") {\n if (element.classList.contains(blockClass)) {\n return true;\n }\n } else {\n for (let eIndex = element.classList.length; eIndex--; ) {\n const className = element.classList[eIndex];\n if (blockClass.test(className)) {\n return true;\n }\n }\n }\n if (blockSelector) {\n return element.matches(blockSelector);\n }\n } catch (e2) {\n }\n return false;\n}\nfunction classMatchesRegex(node2, regex, checkAncestors) {\n if (!node2) return false;\n if (node2.nodeType !== node2.ELEMENT_NODE) {\n if (!checkAncestors) return false;\n return classMatchesRegex(index$1.parentNode(node2), regex, checkAncestors);\n }\n for (let eIndex = node2.classList.length; eIndex--; ) {\n const className = node2.classList[eIndex];\n if (regex.test(className)) {\n return true;\n }\n }\n if (!checkAncestors) return false;\n return classMatchesRegex(index$1.parentNode(node2), regex, checkAncestors);\n}\nfunction needMaskingText(node2, maskTextClass, maskTextSelector, checkAncestors) {\n let el;\n if (isElement(node2)) {\n el = node2;\n if (!index$1.childNodes(el).length) {\n return false;\n }\n } else if (index$1.parentElement(node2) === null) {\n return false;\n } else {\n el = index$1.parentElement(node2);\n }\n try {\n if (typeof maskTextClass === \"string\") {\n if (checkAncestors) {\n if (el.closest(`.${maskTextClass}`)) return true;\n } else {\n if (el.classList.contains(maskTextClass)) return true;\n }\n } else {\n if (classMatchesRegex(el, maskTextClass, checkAncestors)) return true;\n }\n if (maskTextSelector) {\n if (checkAncestors) {\n if (el.closest(maskTextSelector)) return true;\n } else {\n if (el.matches(maskTextSelector)) return true;\n }\n }\n } catch (e2) {\n }\n return false;\n}\nfunction onceIframeLoaded(iframeEl, listener, iframeLoadTimeout) {\n const win = iframeEl.contentWindow;\n if (!win) {\n return;\n }\n let fired = false;\n let readyState;\n try {\n readyState = win.document.readyState;\n } catch (error) {\n return;\n }\n if (readyState !== \"complete\") {\n const timer = setTimeout(() => {\n if (!fired) {\n listener();\n fired = true;\n }\n }, iframeLoadTimeout);\n iframeEl.addEventListener(\"load\", () => {\n clearTimeout(timer);\n fired = true;\n listener();\n });\n return;\n }\n const blankUrl = \"about:blank\";\n if (win.location.href !== blankUrl || iframeEl.src === blankUrl || iframeEl.src === \"\") {\n setTimeout(listener, 0);\n return iframeEl.addEventListener(\"load\", listener);\n }\n iframeEl.addEventListener(\"load\", listener);\n}\nfunction onceStylesheetLoaded(link, listener, styleSheetLoadTimeout) {\n let fired = false;\n let styleSheetLoaded;\n try {\n styleSheetLoaded = link.sheet;\n } catch (error) {\n return;\n }\n if (styleSheetLoaded) return;\n const timer = setTimeout(() => {\n if (!fired) {\n listener();\n fired = true;\n }\n }, styleSheetLoadTimeout);\n link.addEventListener(\"load\", () => {\n clearTimeout(timer);\n fired = true;\n listener();\n });\n}\nfunction serializeNode(n2, options) {\n const {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n inlineStylesheet,\n maskInputOptions = {},\n maskTextFn,\n maskInputFn,\n dataURLOptions = {},\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement = false\n } = options;\n const rootId = getRootId(doc, mirror2);\n switch (n2.nodeType) {\n case n2.DOCUMENT_NODE:\n if (n2.compatMode !== \"CSS1Compat\") {\n return {\n type: NodeType$2.Document,\n childNodes: [],\n compatMode: n2.compatMode\n // probably \"BackCompat\"\n };\n } else {\n return {\n type: NodeType$2.Document,\n childNodes: []\n };\n }\n case n2.DOCUMENT_TYPE_NODE:\n return {\n type: NodeType$2.DocumentType,\n name: n2.name,\n publicId: n2.publicId,\n systemId: n2.systemId,\n rootId\n };\n case n2.ELEMENT_NODE:\n return serializeElementNode(n2, {\n doc,\n blockClass,\n blockSelector,\n inlineStylesheet,\n maskInputOptions,\n maskInputFn,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement,\n rootId\n });\n case n2.TEXT_NODE:\n return serializeTextNode(n2, {\n doc,\n needsMask,\n maskTextFn,\n rootId\n });\n case n2.CDATA_SECTION_NODE:\n return {\n type: NodeType$2.CDATA,\n textContent: \"\",\n rootId\n };\n case n2.COMMENT_NODE:\n return {\n type: NodeType$2.Comment,\n textContent: index$1.textContent(n2) || \"\",\n rootId\n };\n default:\n return false;\n }\n}\nfunction getRootId(doc, mirror2) {\n if (!mirror2.hasNode(doc)) return void 0;\n const docId = mirror2.getId(doc);\n return docId === 1 ? void 0 : docId;\n}\nfunction serializeTextNode(n2, options) {\n var _a2;\n const { needsMask, maskTextFn, rootId } = options;\n const parent = index$1.parentNode(n2);\n const parentTagName = parent && parent.tagName;\n let text = index$1.textContent(n2);\n const isStyle = parentTagName === \"STYLE\" ? true : void 0;\n const isScript = parentTagName === \"SCRIPT\" ? true : void 0;\n if (isStyle && text) {\n try {\n if (n2.nextSibling || n2.previousSibling) {\n } else if ((_a2 = parent.sheet) == null ? void 0 : _a2.cssRules) {\n text = stringifyStylesheet(parent.sheet);\n }\n } catch (err) {\n console.warn(\n `Cannot get CSS styles from text's parentNode. Error: ${err}`,\n n2\n );\n }\n text = absolutifyURLs(text, getHref(options.doc));\n }\n if (isScript) {\n text = \"SCRIPT_PLACEHOLDER\";\n }\n if (!isStyle && !isScript && text && needsMask) {\n text = maskTextFn ? maskTextFn(text, index$1.parentElement(n2)) : text.replace(/[\\S]/g, \"*\");\n }\n return {\n type: NodeType$2.Text,\n textContent: text || \"\",\n isStyle,\n rootId\n };\n}\nfunction serializeElementNode(n2, options) {\n const {\n doc,\n blockClass,\n blockSelector,\n inlineStylesheet,\n maskInputOptions = {},\n maskInputFn,\n dataURLOptions = {},\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement = false,\n rootId\n } = options;\n const needBlock = _isBlockedElement(n2, blockClass, blockSelector);\n const tagName = getValidTagName$1(n2);\n let attributes = {};\n const len = n2.attributes.length;\n for (let i2 = 0; i2 < len; i2++) {\n const attr = n2.attributes[i2];\n if (!ignoreAttribute(tagName, attr.name, attr.value)) {\n attributes[attr.name] = transformAttribute(\n doc,\n tagName,\n toLowerCase(attr.name),\n attr.value\n );\n }\n }\n if (tagName === \"link\" && inlineStylesheet) {\n const stylesheet = Array.from(doc.styleSheets).find((s2) => {\n return s2.href === n2.href;\n });\n let cssText = null;\n if (stylesheet) {\n cssText = stringifyStylesheet(stylesheet);\n }\n if (cssText) {\n delete attributes.rel;\n delete attributes.href;\n attributes._cssText = cssText;\n }\n }\n if (tagName === \"style\" && n2.sheet && // TODO: Currently we only try to get dynamic stylesheet when it is an empty style element\n !(n2.innerText || index$1.textContent(n2) || \"\").trim().length) {\n const cssText = stringifyStylesheet(\n n2.sheet\n );\n if (cssText) {\n attributes._cssText = cssText;\n }\n }\n if (tagName === \"input\" || tagName === \"textarea\" || tagName === \"select\") {\n const value = n2.value;\n const checked = n2.checked;\n if (attributes.type !== \"radio\" && attributes.type !== \"checkbox\" && attributes.type !== \"submit\" && attributes.type !== \"button\" && value) {\n attributes.value = maskInputValue({\n element: n2,\n type: getInputType(n2),\n tagName,\n value,\n maskInputOptions,\n maskInputFn\n });\n } else if (checked) {\n attributes.checked = checked;\n }\n }\n if (tagName === \"option\") {\n if (n2.selected && !maskInputOptions[\"select\"]) {\n attributes.selected = true;\n } else {\n delete attributes.selected;\n }\n }\n if (tagName === \"dialog\" && n2.open) {\n attributes.rr_open_mode = n2.matches(\"dialog:modal\") ? \"modal\" : \"non-modal\";\n }\n if (tagName === \"canvas\" && recordCanvas) {\n if (n2.__context === \"2d\") {\n if (!is2DCanvasBlank(n2)) {\n attributes.rr_dataURL = n2.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n }\n } else if (!(\"__context\" in n2)) {\n const canvasDataURL = n2.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n const blankCanvas = doc.createElement(\"canvas\");\n blankCanvas.width = n2.width;\n blankCanvas.height = n2.height;\n const blankCanvasDataURL = blankCanvas.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n if (canvasDataURL !== blankCanvasDataURL) {\n attributes.rr_dataURL = canvasDataURL;\n }\n }\n }\n if (tagName === \"img\" && inlineImages) {\n if (!canvasService) {\n canvasService = doc.createElement(\"canvas\");\n canvasCtx = canvasService.getContext(\"2d\");\n }\n const image = n2;\n const imageSrc = image.currentSrc || image.getAttribute(\"src\") || \"<unknown-src>\";\n const priorCrossOrigin = image.crossOrigin;\n const recordInlineImage = () => {\n image.removeEventListener(\"load\", recordInlineImage);\n try {\n canvasService.width = image.naturalWidth;\n canvasService.height = image.naturalHeight;\n canvasCtx.drawImage(image, 0, 0);\n attributes.rr_dataURL = canvasService.toDataURL(\n dataURLOptions.type,\n dataURLOptions.quality\n );\n } catch (err) {\n if (image.crossOrigin !== \"anonymous\") {\n image.crossOrigin = \"anonymous\";\n if (image.complete && image.naturalWidth !== 0)\n recordInlineImage();\n else image.addEventListener(\"load\", recordInlineImage);\n return;\n } else {\n console.warn(\n `Cannot inline img src=${imageSrc}! Error: ${err}`\n );\n }\n }\n if (image.crossOrigin === \"anonymous\") {\n priorCrossOrigin ? attributes.crossOrigin = priorCrossOrigin : image.removeAttribute(\"crossorigin\");\n }\n };\n if (image.complete && image.naturalWidth !== 0) recordInlineImage();\n else image.addEventListener(\"load\", recordInlineImage);\n }\n if (tagName === \"audio\" || tagName === \"video\") {\n const mediaAttributes = attributes;\n mediaAttributes.rr_mediaState = n2.paused ? \"paused\" : \"played\";\n mediaAttributes.rr_mediaCurrentTime = n2.currentTime;\n mediaAttributes.rr_mediaPlaybackRate = n2.playbackRate;\n mediaAttributes.rr_mediaMuted = n2.muted;\n mediaAttributes.rr_mediaLoop = n2.loop;\n mediaAttributes.rr_mediaVolume = n2.volume;\n }\n if (!newlyAddedElement) {\n if (n2.scrollLeft) {\n attributes.rr_scrollLeft = n2.scrollLeft;\n }\n if (n2.scrollTop) {\n attributes.rr_scrollTop = n2.scrollTop;\n }\n }\n if (needBlock) {\n const { width, height } = n2.getBoundingClientRect();\n attributes = {\n class: attributes.class,\n rr_width: `${width}px`,\n rr_height: `${height}px`\n };\n }\n if (tagName === \"iframe\" && !keepIframeSrcFn(attributes.src)) {\n if (!n2.contentDocument) {\n attributes.rr_src = attributes.src;\n }\n delete attributes.src;\n }\n let isCustomElement;\n try {\n if (customElements.get(tagName)) isCustomElement = true;\n } catch (e2) {\n }\n return {\n type: NodeType$2.Element,\n tagName,\n attributes,\n childNodes: [],\n isSVG: isSVGElement(n2) || void 0,\n needBlock,\n rootId,\n isCustom: isCustomElement\n };\n}\nfunction lowerIfExists(maybeAttr) {\n if (maybeAttr === void 0 || maybeAttr === null) {\n return \"\";\n } else {\n return maybeAttr.toLowerCase();\n }\n}\nfunction slimDOMExcluded(sn, slimDOMOptions) {\n if (slimDOMOptions.comment && sn.type === NodeType$2.Comment) {\n return true;\n } else if (sn.type === NodeType$2.Element) {\n if (slimDOMOptions.script && // script tag\n (sn.tagName === \"script\" || // (module)preload link\n sn.tagName === \"link\" && (sn.attributes.rel === \"preload\" || sn.attributes.rel === \"modulepreload\") && sn.attributes.as === \"script\" || // prefetch link\n sn.tagName === \"link\" && sn.attributes.rel === \"prefetch\" && typeof sn.attributes.href === \"string\" && extractFileExtension(sn.attributes.href) === \"js\")) {\n return true;\n } else if (slimDOMOptions.headFavicon && (sn.tagName === \"link\" && sn.attributes.rel === \"shortcut icon\" || sn.tagName === \"meta\" && (lowerIfExists(sn.attributes.name).match(\n /^msapplication-tile(image|color)$/\n ) || lowerIfExists(sn.attributes.name) === \"application-name\" || lowerIfExists(sn.attributes.rel) === \"icon\" || lowerIfExists(sn.attributes.rel) === \"apple-touch-icon\" || lowerIfExists(sn.attributes.rel) === \"shortcut icon\"))) {\n return true;\n } else if (sn.tagName === \"meta\") {\n if (slimDOMOptions.headMetaDescKeywords && lowerIfExists(sn.attributes.name).match(/^description|keywords$/)) {\n return true;\n } else if (slimDOMOptions.headMetaSocial && (lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/) || // og = opengraph (facebook)\n lowerIfExists(sn.attributes.name).match(/^(og|twitter):/) || lowerIfExists(sn.attributes.name) === \"pinterest\")) {\n return true;\n } else if (slimDOMOptions.headMetaRobots && (lowerIfExists(sn.attributes.name) === \"robots\" || lowerIfExists(sn.attributes.name) === \"googlebot\" || lowerIfExists(sn.attributes.name) === \"bingbot\")) {\n return true;\n } else if (slimDOMOptions.headMetaHttpEquiv && sn.attributes[\"http-equiv\"] !== void 0) {\n return true;\n } else if (slimDOMOptions.headMetaAuthorship && (lowerIfExists(sn.attributes.name) === \"author\" || lowerIfExists(sn.attributes.name) === \"generator\" || lowerIfExists(sn.attributes.name) === \"framework\" || lowerIfExists(sn.attributes.name) === \"publisher\" || lowerIfExists(sn.attributes.name) === \"progid\" || lowerIfExists(sn.attributes.property).match(/^article:/) || lowerIfExists(sn.attributes.property).match(/^product:/))) {\n return true;\n } else if (slimDOMOptions.headMetaVerification && (lowerIfExists(sn.attributes.name) === \"google-site-verification\" || lowerIfExists(sn.attributes.name) === \"yandex-verification\" || lowerIfExists(sn.attributes.name) === \"csrf-token\" || lowerIfExists(sn.attributes.name) === \"p:domain_verify\" || lowerIfExists(sn.attributes.name) === \"verify-v1\" || lowerIfExists(sn.attributes.name) === \"verification\" || lowerIfExists(sn.attributes.name) === \"shopify-checkout-api-token\")) {\n return true;\n }\n }\n }\n return false;\n}\nfunction serializeNodeWithId(n2, options) {\n const {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n skipChild = false,\n inlineStylesheet = true,\n maskInputOptions = {},\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions = {},\n inlineImages = false,\n recordCanvas = false,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout = 5e3,\n onStylesheetLoad,\n stylesheetLoadTimeout = 5e3,\n keepIframeSrcFn = () => false,\n newlyAddedElement = false\n } = options;\n let { needsMask } = options;\n let { preserveWhiteSpace = true } = options;\n if (!needsMask) {\n const checkAncestors = needsMask === void 0;\n needsMask = needMaskingText(\n n2,\n maskTextClass,\n maskTextSelector,\n checkAncestors\n );\n }\n const _serializedNode = serializeNode(n2, {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n keepIframeSrcFn,\n newlyAddedElement\n });\n if (!_serializedNode) {\n console.warn(n2, \"not serialized\");\n return null;\n }\n let id;\n if (mirror2.hasNode(n2)) {\n id = mirror2.getId(n2);\n } else if (slimDOMExcluded(_serializedNode, slimDOMOptions) || !preserveWhiteSpace && _serializedNode.type === NodeType$2.Text && !_serializedNode.isStyle && !_serializedNode.textContent.replace(/^\\s+|\\s+$/gm, \"\").length) {\n id = IGNORED_NODE;\n } else {\n id = genId();\n }\n const serializedNode = Object.assign(_serializedNode, { id });\n mirror2.add(n2, serializedNode);\n if (id === IGNORED_NODE) {\n return null;\n }\n if (onSerialize) {\n onSerialize(n2);\n }\n let recordChild = !skipChild;\n if (serializedNode.type === NodeType$2.Element) {\n recordChild = recordChild && !serializedNode.needBlock;\n delete serializedNode.needBlock;\n const shadowRootEl = index$1.shadowRoot(n2);\n if (shadowRootEl && isNativeShadowDom(shadowRootEl))\n serializedNode.isShadowHost = true;\n }\n if ((serializedNode.type === NodeType$2.Document || serializedNode.type === NodeType$2.Element) && recordChild) {\n if (slimDOMOptions.headWhitespace && serializedNode.type === NodeType$2.Element && serializedNode.tagName === \"head\") {\n preserveWhiteSpace = false;\n }\n const bypassOptions = {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n };\n if (serializedNode.type === NodeType$2.Element && serializedNode.tagName === \"textarea\" && serializedNode.attributes.value !== void 0) ;\n else {\n for (const childN of Array.from(index$1.childNodes(n2))) {\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n if (serializedChildNode) {\n serializedNode.childNodes.push(serializedChildNode);\n }\n }\n }\n let shadowRootEl = null;\n if (isElement(n2) && (shadowRootEl = index$1.shadowRoot(n2))) {\n for (const childN of Array.from(index$1.childNodes(shadowRootEl))) {\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n if (serializedChildNode) {\n isNativeShadowDom(shadowRootEl) && (serializedChildNode.isShadow = true);\n serializedNode.childNodes.push(serializedChildNode);\n }\n }\n }\n }\n const parent = index$1.parentNode(n2);\n if (parent && isShadowRoot(parent) && isNativeShadowDom(parent)) {\n serializedNode.isShadow = true;\n }\n if (serializedNode.type === NodeType$2.Element && serializedNode.tagName === \"iframe\") {\n onceIframeLoaded(\n n2,\n () => {\n const iframeDoc = n2.contentDocument;\n if (iframeDoc && onIframeLoad) {\n const serializedIframeNode = serializeNodeWithId(iframeDoc, {\n doc: iframeDoc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n });\n if (serializedIframeNode) {\n onIframeLoad(\n n2,\n serializedIframeNode\n );\n }\n }\n },\n iframeLoadTimeout\n );\n }\n if (serializedNode.type === NodeType$2.Element && serializedNode.tagName === \"link\" && typeof serializedNode.attributes.rel === \"string\" && (serializedNode.attributes.rel === \"stylesheet\" || serializedNode.attributes.rel === \"preload\" && typeof serializedNode.attributes.href === \"string\" && extractFileExtension(serializedNode.attributes.href) === \"css\")) {\n onceStylesheetLoaded(\n n2,\n () => {\n if (onStylesheetLoad) {\n const serializedLinkNode = serializeNodeWithId(n2, {\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n needsMask,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn\n });\n if (serializedLinkNode) {\n onStylesheetLoad(\n n2,\n serializedLinkNode\n );\n }\n }\n },\n stylesheetLoadTimeout\n );\n }\n return serializedNode;\n}\nfunction snapshot(n2, options) {\n const {\n mirror: mirror2 = new Mirror(),\n blockClass = \"rr-block\",\n blockSelector = null,\n maskTextClass = \"rr-mask\",\n maskTextSelector = null,\n inlineStylesheet = true,\n inlineImages = false,\n recordCanvas = false,\n maskAllInputs = false,\n maskTextFn,\n maskInputFn,\n slimDOM = false,\n dataURLOptions,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn = () => false\n } = options || {};\n const maskInputOptions = maskAllInputs === true ? {\n color: true,\n date: true,\n \"datetime-local\": true,\n email: true,\n month: true,\n number: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true,\n textarea: true,\n select: true,\n password: true\n } : maskAllInputs === false ? {\n password: true\n } : maskAllInputs;\n const slimDOMOptions = slimDOM === true || slimDOM === \"all\" ? (\n // if true: set of sensible options that should not throw away any information\n {\n script: true,\n comment: true,\n headFavicon: true,\n headWhitespace: true,\n headMetaDescKeywords: slimDOM === \"all\",\n // destructive\n headMetaSocial: true,\n headMetaRobots: true,\n headMetaHttpEquiv: true,\n headMetaAuthorship: true,\n headMetaVerification: true\n }\n ) : slimDOM === false ? {} : slimDOM;\n return serializeNodeWithId(n2, {\n doc: n2,\n mirror: mirror2,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n skipChild: false,\n inlineStylesheet,\n maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOMOptions,\n dataURLOptions,\n inlineImages,\n recordCanvas,\n preserveWhiteSpace,\n onSerialize,\n onIframeLoad,\n iframeLoadTimeout,\n onStylesheetLoad,\n stylesheetLoadTimeout,\n keepIframeSrcFn,\n newlyAddedElement: false\n });\n}\nfunction getDefaultExportFromCjs$1(x2) {\n return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, \"default\") ? x2[\"default\"] : x2;\n}\nfunction getAugmentedNamespace$1(n2) {\n if (n2.__esModule) return n2;\n var f2 = n2.default;\n if (typeof f2 == \"function\") {\n var a2 = function a22() {\n if (this instanceof a22) {\n return Reflect.construct(f2, arguments, this.constructor);\n }\n return f2.apply(this, arguments);\n };\n a2.prototype = f2.prototype;\n } else a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar picocolors_browser$1 = { exports: {} };\nvar x$1 = String;\nvar create$1 = function() {\n return { isColorSupported: false, reset: x$1, bold: x$1, dim: x$1, italic: x$1, underline: x$1, inverse: x$1, hidden: x$1, strikethrough: x$1, black: x$1, red: x$1, green: x$1, yellow: x$1, blue: x$1, magenta: x$1, cyan: x$1, white: x$1, gray: x$1, bgBlack: x$1, bgRed: x$1, bgGreen: x$1, bgYellow: x$1, bgBlue: x$1, bgMagenta: x$1, bgCyan: x$1, bgWhite: x$1 };\n};\npicocolors_browser$1.exports = create$1();\npicocolors_browser$1.exports.createColors = create$1;\nvar picocolors_browserExports$1 = picocolors_browser$1.exports;\nconst __viteBrowserExternal$2 = {};\nconst __viteBrowserExternal$1$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal$2\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$2$1 = /* @__PURE__ */ getAugmentedNamespace$1(__viteBrowserExternal$1$1);\nlet pico$1 = picocolors_browserExports$1;\nlet terminalHighlight$1$1 = require$$2$1;\nlet CssSyntaxError$3$1 = class CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin22) {\n super(message);\n this.name = \"CssSyntaxError\";\n this.reason = message;\n if (file) {\n this.file = file;\n }\n if (source) {\n this.source = source;\n }\n if (plugin22) {\n this.plugin = plugin22;\n }\n if (typeof line !== \"undefined\" && typeof column !== \"undefined\") {\n if (typeof line === \"number\") {\n this.line = line;\n this.column = column;\n } else {\n this.line = line.line;\n this.column = line.column;\n this.endLine = column.line;\n this.endColumn = column.column;\n }\n }\n this.setMessage();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError);\n }\n }\n setMessage() {\n this.message = this.plugin ? this.plugin + \": \" : \"\";\n this.message += this.file ? this.file : \"<css input>\";\n if (typeof this.line !== \"undefined\") {\n this.message += \":\" + this.line + \":\" + this.column;\n }\n this.message += \": \" + this.reason;\n }\n showSourceCode(color) {\n if (!this.source) return \"\";\n let css = this.source;\n if (color == null) color = pico$1.isColorSupported;\n if (terminalHighlight$1$1) {\n if (color) css = terminalHighlight$1$1(css);\n }\n let lines = css.split(/\\r?\\n/);\n let start = Math.max(this.line - 3, 0);\n let end = Math.min(this.line + 2, lines.length);\n let maxWidth = String(end).length;\n let mark, aside;\n if (color) {\n let { bold, gray, red } = pico$1.createColors(true);\n mark = (text) => bold(red(text));\n aside = (text) => gray(text);\n } else {\n mark = aside = (str) => str;\n }\n return lines.slice(start, end).map((line, index2) => {\n let number = start + 1 + index2;\n let gutter = \" \" + (\" \" + number).slice(-maxWidth) + \" | \";\n if (number === this.line) {\n let spacing = aside(gutter.replace(/\\d/g, \" \")) + line.slice(0, this.column - 1).replace(/[^\\t]/g, \" \");\n return mark(\">\") + aside(gutter) + line + \"\\n \" + spacing + mark(\"^\");\n }\n return \" \" + aside(gutter) + line;\n }).join(\"\\n\");\n }\n toString() {\n let code = this.showSourceCode();\n if (code) {\n code = \"\\n\\n\" + code + \"\\n\";\n }\n return this.name + \": \" + this.message + code;\n }\n};\nvar cssSyntaxError$1 = CssSyntaxError$3$1;\nCssSyntaxError$3$1.default = CssSyntaxError$3$1;\nvar symbols$1 = {};\nsymbols$1.isClean = Symbol(\"isClean\");\nsymbols$1.my = Symbol(\"my\");\nconst DEFAULT_RAW$1 = {\n after: \"\\n\",\n beforeClose: \"\\n\",\n beforeComment: \"\\n\",\n beforeDecl: \"\\n\",\n beforeOpen: \" \",\n beforeRule: \"\\n\",\n colon: \": \",\n commentLeft: \" \",\n commentRight: \" \",\n emptyBody: \"\",\n indent: \" \",\n semicolon: false\n};\nfunction capitalize$1(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\nlet Stringifier$2$1 = class Stringifier {\n constructor(builder) {\n this.builder = builder;\n }\n atrule(node2, semicolon) {\n let name = \"@\" + node2.name;\n let params = node2.params ? this.rawValue(node2, \"params\") : \"\";\n if (typeof node2.raws.afterName !== \"undefined\") {\n name += node2.raws.afterName;\n } else if (params) {\n name += \" \";\n }\n if (node2.nodes) {\n this.block(node2, name + params);\n } else {\n let end = (node2.raws.between || \"\") + (semicolon ? \";\" : \"\");\n this.builder(name + params + end, node2);\n }\n }\n beforeAfter(node2, detect) {\n let value;\n if (node2.type === \"decl\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (node2.type === \"comment\") {\n value = this.raw(node2, null, \"beforeComment\");\n } else if (detect === \"before\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else {\n value = this.raw(node2, null, \"beforeClose\");\n }\n let buf = node2.parent;\n let depth = 0;\n while (buf && buf.type !== \"root\") {\n depth += 1;\n buf = buf.parent;\n }\n if (value.includes(\"\\n\")) {\n let indent = this.raw(node2, null, \"indent\");\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent;\n }\n }\n return value;\n }\n block(node2, start) {\n let between = this.raw(node2, \"between\", \"beforeOpen\");\n this.builder(start + between + \"{\", node2, \"start\");\n let after;\n if (node2.nodes && node2.nodes.length) {\n this.body(node2);\n after = this.raw(node2, \"after\");\n } else {\n after = this.raw(node2, \"after\", \"emptyBody\");\n }\n if (after) this.builder(after);\n this.builder(\"}\", node2, \"end\");\n }\n body(node2) {\n let last = node2.nodes.length - 1;\n while (last > 0) {\n if (node2.nodes[last].type !== \"comment\") break;\n last -= 1;\n }\n let semicolon = this.raw(node2, \"semicolon\");\n for (let i2 = 0; i2 < node2.nodes.length; i2++) {\n let child = node2.nodes[i2];\n let before = this.raw(child, \"before\");\n if (before) this.builder(before);\n this.stringify(child, last !== i2 || semicolon);\n }\n }\n comment(node2) {\n let left = this.raw(node2, \"left\", \"commentLeft\");\n let right = this.raw(node2, \"right\", \"commentRight\");\n this.builder(\"/*\" + left + node2.text + right + \"*/\", node2);\n }\n decl(node2, semicolon) {\n let between = this.raw(node2, \"between\", \"colon\");\n let string = node2.prop + between + this.rawValue(node2, \"value\");\n if (node2.important) {\n string += node2.raws.important || \" !important\";\n }\n if (semicolon) string += \";\";\n this.builder(string, node2);\n }\n document(node2) {\n this.body(node2);\n }\n raw(node2, own, detect) {\n let value;\n if (!detect) detect = own;\n if (own) {\n value = node2.raws[own];\n if (typeof value !== \"undefined\") return value;\n }\n let parent = node2.parent;\n if (detect === \"before\") {\n if (!parent || parent.type === \"root\" && parent.first === node2) {\n return \"\";\n }\n if (parent && parent.type === \"document\") {\n return \"\";\n }\n }\n if (!parent) return DEFAULT_RAW$1[detect];\n let root2 = node2.root();\n if (!root2.rawCache) root2.rawCache = {};\n if (typeof root2.rawCache[detect] !== \"undefined\") {\n return root2.rawCache[detect];\n }\n if (detect === \"before\" || detect === \"after\") {\n return this.beforeAfter(node2, detect);\n } else {\n let method = \"raw\" + capitalize$1(detect);\n if (this[method]) {\n value = this[method](root2, node2);\n } else {\n root2.walk((i2) => {\n value = i2.raws[own];\n if (typeof value !== \"undefined\") return false;\n });\n }\n }\n if (typeof value === \"undefined\") value = DEFAULT_RAW$1[detect];\n root2.rawCache[detect] = value;\n return value;\n }\n rawBeforeClose(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length > 0) {\n if (typeof i2.raws.after !== \"undefined\") {\n value = i2.raws.after;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawBeforeComment(root2, node2) {\n let value;\n root2.walkComments((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeDecl(root2, node2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeOpen(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.type !== \"decl\") {\n value = i2.raws.between;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawBeforeRule(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && (i2.parent !== root2 || root2.first !== i2)) {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawColon(root2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.between !== \"undefined\") {\n value = i2.raws.between.replace(/[^\\s:]/g, \"\");\n return false;\n }\n });\n return value;\n }\n rawEmptyBody(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length === 0) {\n value = i2.raws.after;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawIndent(root2) {\n if (root2.raws.indent) return root2.raws.indent;\n let value;\n root2.walk((i2) => {\n let p = i2.parent;\n if (p && p !== root2 && p.parent && p.parent === root2) {\n if (typeof i2.raws.before !== \"undefined\") {\n let parts = i2.raws.before.split(\"\\n\");\n value = parts[parts.length - 1];\n value = value.replace(/\\S/g, \"\");\n return false;\n }\n }\n });\n return value;\n }\n rawSemicolon(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length && i2.last.type === \"decl\") {\n value = i2.raws.semicolon;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawValue(node2, prop) {\n let value = node2[prop];\n let raw = node2.raws[prop];\n if (raw && raw.value === value) {\n return raw.raw;\n }\n return value;\n }\n root(node2) {\n this.body(node2);\n if (node2.raws.after) this.builder(node2.raws.after);\n }\n rule(node2) {\n this.block(node2, this.rawValue(node2, \"selector\"));\n if (node2.raws.ownSemicolon) {\n this.builder(node2.raws.ownSemicolon, node2, \"end\");\n }\n }\n stringify(node2, semicolon) {\n if (!this[node2.type]) {\n throw new Error(\n \"Unknown AST node type \" + node2.type + \". Maybe you need to change PostCSS stringifier.\"\n );\n }\n this[node2.type](node2, semicolon);\n }\n};\nvar stringifier$1 = Stringifier$2$1;\nStringifier$2$1.default = Stringifier$2$1;\nlet Stringifier$1$1 = stringifier$1;\nfunction stringify$4$1(node2, builder) {\n let str = new Stringifier$1$1(builder);\n str.stringify(node2);\n}\nvar stringify_1$1 = stringify$4$1;\nstringify$4$1.default = stringify$4$1;\nlet { isClean: isClean$2$1, my: my$2$1 } = symbols$1;\nlet CssSyntaxError$2$1 = cssSyntaxError$1;\nlet Stringifier2$1 = stringifier$1;\nlet stringify$3$1 = stringify_1$1;\nfunction cloneNode$1(obj, parent) {\n let cloned = new obj.constructor();\n for (let i2 in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i2)) {\n continue;\n }\n if (i2 === \"proxyCache\") continue;\n let value = obj[i2];\n let type = typeof value;\n if (i2 === \"parent\" && type === \"object\") {\n if (parent) cloned[i2] = parent;\n } else if (i2 === \"source\") {\n cloned[i2] = value;\n } else if (Array.isArray(value)) {\n cloned[i2] = value.map((j) => cloneNode$1(j, cloned));\n } else {\n if (type === \"object\" && value !== null) value = cloneNode$1(value);\n cloned[i2] = value;\n }\n }\n return cloned;\n}\nlet Node$4$1 = class Node2 {\n constructor(defaults = {}) {\n this.raws = {};\n this[isClean$2$1] = false;\n this[my$2$1] = true;\n for (let name in defaults) {\n if (name === \"nodes\") {\n this.nodes = [];\n for (let node2 of defaults[name]) {\n if (typeof node2.clone === \"function\") {\n this.append(node2.clone());\n } else {\n this.append(node2);\n }\n }\n } else {\n this[name] = defaults[name];\n }\n }\n }\n addToError(error) {\n error.postcssNode = this;\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s2 = this.source;\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s2.input.from}:${s2.start.line}:${s2.start.column}$&`\n );\n }\n return error;\n }\n after(add) {\n this.parent.insertAfter(this, add);\n return this;\n }\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name];\n }\n return this;\n }\n before(add) {\n this.parent.insertBefore(this, add);\n return this;\n }\n cleanRaws(keepBetween) {\n delete this.raws.before;\n delete this.raws.after;\n if (!keepBetween) delete this.raws.between;\n }\n clone(overrides = {}) {\n let cloned = cloneNode$1(this);\n for (let name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertAfter(this, cloned);\n return cloned;\n }\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertBefore(this, cloned);\n return cloned;\n }\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts);\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n );\n }\n return new CssSyntaxError$2$1(message);\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"prop\" || prop === \"value\" || prop === \"name\" || prop === \"params\" || prop === \"important\" || /* c8 ignore next */\n prop === \"text\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n markDirty() {\n if (this[isClean$2$1]) {\n this[isClean$2$1] = false;\n let next = this;\n while (next = next.parent) {\n next[isClean$2$1] = false;\n }\n }\n }\n next() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 + 1];\n }\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start;\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation);\n } else if (opts.word) {\n stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) pos = this.positionInside(index2, stringRepresentation);\n }\n return pos;\n }\n positionInside(index2, stringRepresentation) {\n let string = stringRepresentation || this.toString();\n let column = this.source.start.column;\n let line = this.source.start.line;\n for (let i2 = 0; i2 < index2; i2++) {\n if (string[i2] === \"\\n\") {\n column = 1;\n line += 1;\n } else {\n column += 1;\n }\n }\n return { column, line };\n }\n prev() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 - 1];\n }\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n };\n let end = this.source.end ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n } : {\n column: start.column + 1,\n line: start.line\n };\n if (opts.word) {\n let stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) {\n start = this.positionInside(index2, stringRepresentation);\n end = this.positionInside(index2 + opts.word.length, stringRepresentation);\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n };\n } else if (opts.index) {\n start = this.positionInside(opts.index);\n }\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n };\n } else if (typeof opts.endIndex === \"number\") {\n end = this.positionInside(opts.endIndex);\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1);\n }\n }\n if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n end = { column: start.column + 1, line: start.line };\n }\n return { end, start };\n }\n raw(prop, defaultType) {\n let str = new Stringifier2$1();\n return str.raw(this, prop, defaultType);\n }\n remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = void 0;\n return this;\n }\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this;\n let foundSelf = false;\n for (let node2 of nodes) {\n if (node2 === this) {\n foundSelf = true;\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node2);\n bookmark = node2;\n } else {\n this.parent.insertBefore(bookmark, node2);\n }\n }\n if (!foundSelf) {\n this.remove();\n }\n }\n return this;\n }\n root() {\n let result2 = this;\n while (result2.parent && result2.parent.type !== \"document\") {\n result2 = result2.parent;\n }\n return result2;\n }\n toJSON(_, inputs) {\n let fixed = {};\n let emitInputs = inputs == null;\n inputs = inputs || /* @__PURE__ */ new Map();\n let inputsNextIndex = 0;\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n continue;\n }\n if (name === \"parent\" || name === \"proxyCache\") continue;\n let value = this[name];\n if (Array.isArray(value)) {\n fixed[name] = value.map((i2) => {\n if (typeof i2 === \"object\" && i2.toJSON) {\n return i2.toJSON(null, inputs);\n } else {\n return i2;\n }\n });\n } else if (typeof value === \"object\" && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs);\n } else if (name === \"source\") {\n let inputId = inputs.get(value.input);\n if (inputId == null) {\n inputId = inputsNextIndex;\n inputs.set(value.input, inputsNextIndex);\n inputsNextIndex++;\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n };\n } else {\n fixed[name] = value;\n }\n }\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map((input2) => input2.toJSON());\n }\n return fixed;\n }\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor());\n }\n return this.proxyCache;\n }\n toString(stringifier2 = stringify$3$1) {\n if (stringifier2.stringify) stringifier2 = stringifier2.stringify;\n let result2 = \"\";\n stringifier2(this, (i2) => {\n result2 += i2;\n });\n return result2;\n }\n warn(result2, text, opts) {\n let data = { node: this };\n for (let i2 in opts) data[i2] = opts[i2];\n return result2.warn(text, data);\n }\n get proxyOf() {\n return this;\n }\n};\nvar node$1 = Node$4$1;\nNode$4$1.default = Node$4$1;\nlet Node$3$1 = node$1;\nlet Declaration$4$1 = class Declaration extends Node$3$1 {\n constructor(defaults) {\n if (defaults && typeof defaults.value !== \"undefined\" && typeof defaults.value !== \"string\") {\n defaults = { ...defaults, value: String(defaults.value) };\n }\n super(defaults);\n this.type = \"decl\";\n }\n get variable() {\n return this.prop.startsWith(\"--\") || this.prop[0] === \"$\";\n }\n};\nvar declaration$1 = Declaration$4$1;\nDeclaration$4$1.default = Declaration$4$1;\nlet urlAlphabet$1 = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet$1 = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid$1$1 = (size = 21) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += urlAlphabet$1[Math.random() * 64 | 0];\n }\n return id;\n};\nvar nonSecure$1 = { nanoid: nanoid$1$1, customAlphabet: customAlphabet$1 };\nlet { SourceMapConsumer: SourceMapConsumer$2$1, SourceMapGenerator: SourceMapGenerator$2$1 } = require$$2$1;\nlet { existsSync: existsSync$1, readFileSync: readFileSync$1 } = require$$2$1;\nlet { dirname: dirname$1$1, join: join$1 } = require$$2$1;\nfunction fromBase64$1(str) {\n if (Buffer) {\n return Buffer.from(str, \"base64\").toString();\n } else {\n return window.atob(str);\n }\n}\nlet PreviousMap$2$1 = class PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return;\n this.loadAnnotation(css);\n this.inline = this.startWith(this.annotation, \"data:\");\n let prev = opts.map ? opts.map.prev : void 0;\n let text = this.loadMap(opts.from, prev);\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from;\n }\n if (this.mapFile) this.root = dirname$1$1(this.mapFile);\n if (text) this.text = text;\n }\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer$2$1(this.text);\n }\n return this.consumerCache;\n }\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n let baseUri = /^data:application\\/json;base64,/;\n let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n let uri = /^data:application\\/json,/;\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length));\n }\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64$1(text.substr(RegExp.lastMatch.length));\n }\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n throw new Error(\"Unsupported source map encoding \" + encoding);\n }\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, \"\").trim();\n }\n isMap(map) {\n if (typeof map !== \"object\") return false;\n return typeof map.mappings === \"string\" || typeof map._mappings === \"string\" || Array.isArray(map.sections);\n }\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm);\n if (!comments) return;\n let start = css.lastIndexOf(comments.pop());\n let end = css.indexOf(\"*/\", start);\n if (start > -1 && end > -1) {\n this.annotation = this.getAnnotationURL(css.substring(start, end));\n }\n }\n loadFile(path) {\n this.root = dirname$1$1(path);\n if (existsSync$1(path)) {\n this.mapFile = path;\n return readFileSync$1(path, \"utf-8\").toString().trim();\n }\n }\n loadMap(file, prev) {\n if (prev === false) return false;\n if (prev) {\n if (typeof prev === \"string\") {\n return prev;\n } else if (typeof prev === \"function\") {\n let prevPath = prev(file);\n if (prevPath) {\n let map = this.loadFile(prevPath);\n if (!map) {\n throw new Error(\n \"Unable to load previous source map: \" + prevPath.toString()\n );\n }\n return map;\n }\n } else if (prev instanceof SourceMapConsumer$2$1) {\n return SourceMapGenerator$2$1.fromSourceMap(prev).toString();\n } else if (prev instanceof SourceMapGenerator$2$1) {\n return prev.toString();\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev);\n } else {\n throw new Error(\n \"Unsupported previous source map format: \" + prev.toString()\n );\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation);\n } else if (this.annotation) {\n let map = this.annotation;\n if (file) map = join$1(dirname$1$1(file), map);\n return this.loadFile(map);\n }\n }\n startWith(string, start) {\n if (!string) return false;\n return string.substr(0, start.length) === start;\n }\n withContent() {\n return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n }\n};\nvar previousMap$1 = PreviousMap$2$1;\nPreviousMap$2$1.default = PreviousMap$2$1;\nlet { SourceMapConsumer: SourceMapConsumer$1$1, SourceMapGenerator: SourceMapGenerator$1$1 } = require$$2$1;\nlet { fileURLToPath: fileURLToPath$1, pathToFileURL: pathToFileURL$1$1 } = require$$2$1;\nlet { isAbsolute: isAbsolute$1, resolve: resolve$1$1 } = require$$2$1;\nlet { nanoid: nanoid$2 } = nonSecure$1;\nlet terminalHighlight$2 = require$$2$1;\nlet CssSyntaxError$1$1 = cssSyntaxError$1;\nlet PreviousMap$1$1 = previousMap$1;\nlet fromOffsetCache$1 = Symbol(\"fromOffsetCache\");\nlet sourceMapAvailable$1$1 = Boolean(SourceMapConsumer$1$1 && SourceMapGenerator$1$1);\nlet pathAvailable$1$1 = Boolean(resolve$1$1 && isAbsolute$1);\nlet Input$4$1 = class Input {\n constructor(css, opts = {}) {\n if (css === null || typeof css === \"undefined\" || typeof css === \"object\" && !css.toString) {\n throw new Error(`PostCSS received ${css} instead of CSS string`);\n }\n this.css = css.toString();\n if (this.css[0] === \"\\uFEFF\" || this.css[0] === \"￾\") {\n this.hasBOM = true;\n this.css = this.css.slice(1);\n } else {\n this.hasBOM = false;\n }\n if (opts.from) {\n if (!pathAvailable$1$1 || /^\\w+:\\/\\//.test(opts.from) || isAbsolute$1(opts.from)) {\n this.file = opts.from;\n } else {\n this.file = resolve$1$1(opts.from);\n }\n }\n if (pathAvailable$1$1 && sourceMapAvailable$1$1) {\n let map = new PreviousMap$1$1(this.css, opts);\n if (map.text) {\n this.map = map;\n let file = map.consumer().file;\n if (!this.file && file) this.file = this.mapResolve(file);\n }\n }\n if (!this.file) {\n this.id = \"<input css \" + nanoid$2(6) + \">\";\n }\n if (this.map) this.map.file = this.from;\n }\n error(message, line, column, opts = {}) {\n let result2, endLine, endColumn;\n if (line && typeof line === \"object\") {\n let start = line;\n let end = column;\n if (typeof start.offset === \"number\") {\n let pos = this.fromOffset(start.offset);\n line = pos.line;\n column = pos.col;\n } else {\n line = start.line;\n column = start.column;\n }\n if (typeof end.offset === \"number\") {\n let pos = this.fromOffset(end.offset);\n endLine = pos.line;\n endColumn = pos.col;\n } else {\n endLine = end.line;\n endColumn = end.column;\n }\n } else if (!column) {\n let pos = this.fromOffset(line);\n line = pos.line;\n column = pos.col;\n }\n let origin = this.origin(line, column, endLine, endColumn);\n if (origin) {\n result2 = new CssSyntaxError$1$1(\n message,\n origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },\n origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n );\n } else {\n result2 = new CssSyntaxError$1$1(\n message,\n endLine === void 0 ? line : { column, line },\n endLine === void 0 ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n );\n }\n result2.input = { column, endColumn, endLine, line, source: this.css };\n if (this.file) {\n if (pathToFileURL$1$1) {\n result2.input.url = pathToFileURL$1$1(this.file).toString();\n }\n result2.input.file = this.file;\n }\n return result2;\n }\n fromOffset(offset) {\n let lastLine, lineToIndex;\n if (!this[fromOffsetCache$1]) {\n let lines = this.css.split(\"\\n\");\n lineToIndex = new Array(lines.length);\n let prevIndex = 0;\n for (let i2 = 0, l2 = lines.length; i2 < l2; i2++) {\n lineToIndex[i2] = prevIndex;\n prevIndex += lines[i2].length + 1;\n }\n this[fromOffsetCache$1] = lineToIndex;\n } else {\n lineToIndex = this[fromOffsetCache$1];\n }\n lastLine = lineToIndex[lineToIndex.length - 1];\n let min = 0;\n if (offset >= lastLine) {\n min = lineToIndex.length - 1;\n } else {\n let max = lineToIndex.length - 2;\n let mid;\n while (min < max) {\n mid = min + (max - min >> 1);\n if (offset < lineToIndex[mid]) {\n max = mid - 1;\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1;\n } else {\n min = mid;\n break;\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n };\n }\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file;\n }\n return resolve$1$1(this.map.consumer().sourceRoot || this.map.root || \".\", file);\n }\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false;\n let consumer = this.map.consumer();\n let from = consumer.originalPositionFor({ column, line });\n if (!from.source) return false;\n let to;\n if (typeof endLine === \"number\") {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine });\n }\n let fromUrl;\n if (isAbsolute$1(from.source)) {\n fromUrl = pathToFileURL$1$1(from.source);\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL$1$1(this.map.mapFile)\n );\n }\n let result2 = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n };\n if (fromUrl.protocol === \"file:\") {\n if (fileURLToPath$1) {\n result2.file = fileURLToPath$1(fromUrl);\n } else {\n throw new Error(`file: protocol is not available in this PostCSS build`);\n }\n }\n let source = consumer.sourceContentFor(from.source);\n if (source) result2.source = source;\n return result2;\n }\n toJSON() {\n let json = {};\n for (let name of [\"hasBOM\", \"css\", \"file\", \"id\"]) {\n if (this[name] != null) {\n json[name] = this[name];\n }\n }\n if (this.map) {\n json.map = { ...this.map };\n if (json.map.consumerCache) {\n json.map.consumerCache = void 0;\n }\n }\n return json;\n }\n get from() {\n return this.file || this.id;\n }\n};\nvar input$1 = Input$4$1;\nInput$4$1.default = Input$4$1;\nif (terminalHighlight$2 && terminalHighlight$2.registerInput) {\n terminalHighlight$2.registerInput(Input$4$1);\n}\nlet { SourceMapConsumer: SourceMapConsumer$3, SourceMapGenerator: SourceMapGenerator$3 } = require$$2$1;\nlet { dirname: dirname$2, relative: relative$1, resolve: resolve$2, sep: sep$1 } = require$$2$1;\nlet { pathToFileURL: pathToFileURL$2 } = require$$2$1;\nlet Input$3$1 = input$1;\nlet sourceMapAvailable$2 = Boolean(SourceMapConsumer$3 && SourceMapGenerator$3);\nlet pathAvailable$2 = Boolean(dirname$2 && resolve$2 && relative$1 && sep$1);\nlet MapGenerator$2$1 = class MapGenerator {\n constructor(stringify2, root2, opts, cssString) {\n this.stringify = stringify2;\n this.mapOpts = opts.map || {};\n this.root = root2;\n this.opts = opts;\n this.css = cssString;\n this.originalCSS = cssString;\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n this.memoizedFileURLs = /* @__PURE__ */ new Map();\n this.memoizedPaths = /* @__PURE__ */ new Map();\n this.memoizedURLs = /* @__PURE__ */ new Map();\n }\n addAnnotation() {\n let content;\n if (this.isInline()) {\n content = \"data:application/json;base64,\" + this.toBase64(this.map.toString());\n } else if (typeof this.mapOpts.annotation === \"string\") {\n content = this.mapOpts.annotation;\n } else if (typeof this.mapOpts.annotation === \"function\") {\n content = this.mapOpts.annotation(this.opts.to, this.root);\n } else {\n content = this.outputFile() + \".map\";\n }\n let eol = \"\\n\";\n if (this.css.includes(\"\\r\\n\")) eol = \"\\r\\n\";\n this.css += eol + \"/*# sourceMappingURL=\" + content + \" */\";\n }\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file));\n let root2 = prev.root || dirname$2(prev.file);\n let map;\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer$3(prev.text);\n if (map.sourcesContent) {\n map.sourcesContent = null;\n }\n } else {\n map = prev.consumer();\n }\n this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));\n }\n }\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return;\n if (this.root) {\n let node2;\n for (let i2 = this.root.nodes.length - 1; i2 >= 0; i2--) {\n node2 = this.root.nodes[i2];\n if (node2.type !== \"comment\") continue;\n if (node2.text.indexOf(\"# sourceMappingURL=\") === 0) {\n this.root.removeChild(i2);\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, \"\");\n }\n }\n generate() {\n this.clearAnnotation();\n if (pathAvailable$2 && sourceMapAvailable$2 && this.isMap()) {\n return this.generateMap();\n } else {\n let result2 = \"\";\n this.stringify(this.root, (i2) => {\n result2 += i2;\n });\n return [result2];\n }\n }\n generateMap() {\n if (this.root) {\n this.generateString();\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer();\n prev.file = this.outputFile();\n this.map = SourceMapGenerator$3.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n });\n } else {\n this.map = new SourceMapGenerator$3({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\"\n });\n }\n if (this.isSourcesContent()) this.setSourcesContent();\n if (this.root && this.previous().length > 0) this.applyPrevMaps();\n if (this.isAnnotation()) this.addAnnotation();\n if (this.isInline()) {\n return [this.css];\n } else {\n return [this.css, this.map];\n }\n }\n generateString() {\n this.css = \"\";\n this.map = new SourceMapGenerator$3({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n let line = 1;\n let column = 1;\n let noSource = \"<no source>\";\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: \"\"\n };\n let lines, last;\n this.stringify(this.root, (str, node2, type) => {\n this.css += str;\n if (node2 && type !== \"end\") {\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n if (node2.source && node2.source.start) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.start.line;\n mapping.original.column = node2.source.start.column - 1;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n this.map.addMapping(mapping);\n }\n }\n lines = str.match(/\\n/g);\n if (lines) {\n line += lines.length;\n last = str.lastIndexOf(\"\\n\");\n column = str.length - last;\n } else {\n column += str.length;\n }\n if (node2 && type !== \"start\") {\n let p = node2.parent || { raws: {} };\n let childless = node2.type === \"decl\" || node2.type === \"atrule\" && !node2.nodes;\n if (!childless || node2 !== p.last || p.raws.semicolon) {\n if (node2.source && node2.source.end) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.end.line;\n mapping.original.column = node2.source.end.column - 1;\n mapping.generated.line = line;\n mapping.generated.column = column - 2;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n this.map.addMapping(mapping);\n }\n }\n }\n });\n }\n isAnnotation() {\n if (this.isInline()) {\n return true;\n }\n if (typeof this.mapOpts.annotation !== \"undefined\") {\n return this.mapOpts.annotation;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.annotation);\n }\n return true;\n }\n isInline() {\n if (typeof this.mapOpts.inline !== \"undefined\") {\n return this.mapOpts.inline;\n }\n let annotation = this.mapOpts.annotation;\n if (typeof annotation !== \"undefined\" && annotation !== true) {\n return false;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.inline);\n }\n return true;\n }\n isMap() {\n if (typeof this.opts.map !== \"undefined\") {\n return !!this.opts.map;\n }\n return this.previous().length > 0;\n }\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== \"undefined\") {\n return this.mapOpts.sourcesContent;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.withContent());\n }\n return true;\n }\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to);\n } else if (this.opts.from) {\n return this.path(this.opts.from);\n } else {\n return \"to.css\";\n }\n }\n path(file) {\n if (this.mapOpts.absolute) return file;\n if (file.charCodeAt(0) === 60) return file;\n if (/^\\w+:\\/\\//.test(file)) return file;\n let cached = this.memoizedPaths.get(file);\n if (cached) return cached;\n let from = this.opts.to ? dirname$2(this.opts.to) : \".\";\n if (typeof this.mapOpts.annotation === \"string\") {\n from = dirname$2(resolve$2(from, this.mapOpts.annotation));\n }\n let path = relative$1(from, file);\n this.memoizedPaths.set(file, path);\n return path;\n }\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = [];\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source && node2.source.input.map) {\n let map = node2.source.input.map;\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map);\n }\n }\n });\n } else {\n let input2 = new Input$3$1(this.originalCSS, this.opts);\n if (input2.map) this.previousMaps.push(input2.map);\n }\n }\n return this.previousMaps;\n }\n setSourcesContent() {\n let already = {};\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source) {\n let from = node2.source.input.from;\n if (from && !already[from]) {\n already[from] = true;\n let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n this.map.setSourceContent(fromUrl, node2.source.input.css);\n }\n }\n });\n } else if (this.css) {\n let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\";\n this.map.setSourceContent(from, this.css);\n }\n }\n sourcePath(node2) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from);\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node2.source.input.from);\n } else {\n return this.toUrl(this.path(node2.source.input.from));\n }\n }\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString(\"base64\");\n } else {\n return window.btoa(unescape(encodeURIComponent(str)));\n }\n }\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path);\n if (cached) return cached;\n if (pathToFileURL$2) {\n let fileURL = pathToFileURL$2(path).toString();\n this.memoizedFileURLs.set(path, fileURL);\n return fileURL;\n } else {\n throw new Error(\n \"`map.absolute` option is not available in this PostCSS build\"\n );\n }\n }\n toUrl(path) {\n let cached = this.memoizedURLs.get(path);\n if (cached) return cached;\n if (sep$1 === \"\\\\\") {\n path = path.replace(/\\\\/g, \"/\");\n }\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n this.memoizedURLs.set(path, url);\n return url;\n }\n};\nvar mapGenerator$1 = MapGenerator$2$1;\nlet Node$2$1 = node$1;\nlet Comment$4$1 = class Comment extends Node$2$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"comment\";\n }\n};\nvar comment$1 = Comment$4$1;\nComment$4$1.default = Comment$4$1;\nlet { isClean: isClean$1$1, my: my$1$1 } = symbols$1;\nlet Declaration$3$1 = declaration$1;\nlet Comment$3$1 = comment$1;\nlet Node$1$1 = node$1;\nlet parse$4$1, Rule$4$1, AtRule$4$1, Root$6$1;\nfunction cleanSource$1(nodes) {\n return nodes.map((i2) => {\n if (i2.nodes) i2.nodes = cleanSource$1(i2.nodes);\n delete i2.source;\n return i2;\n });\n}\nfunction markDirtyUp$1(node2) {\n node2[isClean$1$1] = false;\n if (node2.proxyOf.nodes) {\n for (let i2 of node2.proxyOf.nodes) {\n markDirtyUp$1(i2);\n }\n }\n}\nlet Container$7$1 = class Container extends Node$1$1 {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last);\n for (let node2 of nodes) this.proxyOf.nodes.push(node2);\n }\n this.markDirty();\n return this;\n }\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween);\n if (this.nodes) {\n for (let node2 of this.nodes) node2.cleanRaws(keepBetween);\n }\n }\n each(callback) {\n if (!this.proxyOf.nodes) return void 0;\n let iterator = this.getIterator();\n let index2, result2;\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index2 = this.indexes[iterator];\n result2 = callback(this.proxyOf.nodes[index2], index2);\n if (result2 === false) break;\n this.indexes[iterator] += 1;\n }\n delete this.indexes[iterator];\n return result2;\n }\n every(condition) {\n return this.nodes.every(condition);\n }\n getIterator() {\n if (!this.lastEach) this.lastEach = 0;\n if (!this.indexes) this.indexes = {};\n this.lastEach += 1;\n let iterator = this.lastEach;\n this.indexes[iterator] = 0;\n return iterator;\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (!node2[prop]) {\n return node2[prop];\n } else if (prop === \"each\" || typeof prop === \"string\" && prop.startsWith(\"walk\")) {\n return (...args) => {\n return node2[prop](\n ...args.map((i2) => {\n if (typeof i2 === \"function\") {\n return (child, index2) => i2(child.toProxy(), index2);\n } else {\n return i2;\n }\n })\n );\n };\n } else if (prop === \"every\" || prop === \"some\") {\n return (cb) => {\n return node2[prop](\n (child, ...other) => cb(child.toProxy(), ...other)\n );\n };\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else if (prop === \"nodes\") {\n return node2.nodes.map((i2) => i2.toProxy());\n } else if (prop === \"first\" || prop === \"last\") {\n return node2[prop].toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"name\" || prop === \"params\" || prop === \"selector\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n index(child) {\n if (typeof child === \"number\") return child;\n if (child.proxyOf) child = child.proxyOf;\n return this.proxyOf.nodes.indexOf(child);\n }\n insertAfter(exist, add) {\n let existIndex = this.index(exist);\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex < index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n insertBefore(exist, add) {\n let existIndex = this.index(exist);\n let type = existIndex === 0 ? \"prepend\" : false;\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex <= index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n normalize(nodes, sample) {\n if (typeof nodes === \"string\") {\n nodes = cleanSource$1(parse$4$1(nodes).nodes);\n } else if (typeof nodes === \"undefined\") {\n nodes = [];\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type === \"root\" && this.type !== \"document\") {\n nodes = nodes.nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type) {\n nodes = [nodes];\n } else if (nodes.prop) {\n if (typeof nodes.value === \"undefined\") {\n throw new Error(\"Value field is missed in node creation\");\n } else if (typeof nodes.value !== \"string\") {\n nodes.value = String(nodes.value);\n }\n nodes = [new Declaration$3$1(nodes)];\n } else if (nodes.selector) {\n nodes = [new Rule$4$1(nodes)];\n } else if (nodes.name) {\n nodes = [new AtRule$4$1(nodes)];\n } else if (nodes.text) {\n nodes = [new Comment$3$1(nodes)];\n } else {\n throw new Error(\"Unknown node type in node creation\");\n }\n let processed = nodes.map((i2) => {\n if (!i2[my$1$1]) Container.rebuild(i2);\n i2 = i2.proxyOf;\n if (i2.parent) i2.parent.removeChild(i2);\n if (i2[isClean$1$1]) markDirtyUp$1(i2);\n if (typeof i2.raws.before === \"undefined\") {\n if (sample && typeof sample.raws.before !== \"undefined\") {\n i2.raws.before = sample.raws.before.replace(/\\S/g, \"\");\n }\n }\n i2.parent = this.proxyOf;\n return i2;\n });\n return processed;\n }\n prepend(...children) {\n children = children.reverse();\n for (let child of children) {\n let nodes = this.normalize(child, this.first, \"prepend\").reverse();\n for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n push(child) {\n child.parent = this;\n this.proxyOf.nodes.push(child);\n return this;\n }\n removeAll() {\n for (let node2 of this.proxyOf.nodes) node2.parent = void 0;\n this.proxyOf.nodes = [];\n this.markDirty();\n return this;\n }\n removeChild(child) {\n child = this.index(child);\n this.proxyOf.nodes[child].parent = void 0;\n this.proxyOf.nodes.splice(child, 1);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (index2 >= child) {\n this.indexes[id] = index2 - 1;\n }\n }\n this.markDirty();\n return this;\n }\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts;\n opts = {};\n }\n this.walkDecls((decl) => {\n if (opts.props && !opts.props.includes(decl.prop)) return;\n if (opts.fast && !decl.value.includes(opts.fast)) return;\n decl.value = decl.value.replace(pattern, callback);\n });\n this.markDirty();\n return this;\n }\n some(condition) {\n return this.nodes.some(condition);\n }\n walk(callback) {\n return this.each((child, i2) => {\n let result2;\n try {\n result2 = callback(child, i2);\n } catch (e2) {\n throw child.addToError(e2);\n }\n if (result2 !== false && child.walk) {\n result2 = child.walk(callback);\n }\n return result2;\n });\n }\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name;\n return this.walk((child, i2) => {\n if (child.type === \"atrule\") {\n return callback(child, i2);\n }\n });\n }\n if (name instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && name.test(child.name)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && child.name === name) {\n return callback(child, i2);\n }\n });\n }\n walkComments(callback) {\n return this.walk((child, i2) => {\n if (child.type === \"comment\") {\n return callback(child, i2);\n }\n });\n }\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop;\n return this.walk((child, i2) => {\n if (child.type === \"decl\") {\n return callback(child, i2);\n }\n });\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && prop.test(child.prop)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && child.prop === prop) {\n return callback(child, i2);\n }\n });\n }\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector;\n return this.walk((child, i2) => {\n if (child.type === \"rule\") {\n return callback(child, i2);\n }\n });\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && selector.test(child.selector)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && child.selector === selector) {\n return callback(child, i2);\n }\n });\n }\n get first() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[0];\n }\n get last() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n }\n};\nContainer$7$1.registerParse = (dependant) => {\n parse$4$1 = dependant;\n};\nContainer$7$1.registerRule = (dependant) => {\n Rule$4$1 = dependant;\n};\nContainer$7$1.registerAtRule = (dependant) => {\n AtRule$4$1 = dependant;\n};\nContainer$7$1.registerRoot = (dependant) => {\n Root$6$1 = dependant;\n};\nvar container$1 = Container$7$1;\nContainer$7$1.default = Container$7$1;\nContainer$7$1.rebuild = (node2) => {\n if (node2.type === \"atrule\") {\n Object.setPrototypeOf(node2, AtRule$4$1.prototype);\n } else if (node2.type === \"rule\") {\n Object.setPrototypeOf(node2, Rule$4$1.prototype);\n } else if (node2.type === \"decl\") {\n Object.setPrototypeOf(node2, Declaration$3$1.prototype);\n } else if (node2.type === \"comment\") {\n Object.setPrototypeOf(node2, Comment$3$1.prototype);\n } else if (node2.type === \"root\") {\n Object.setPrototypeOf(node2, Root$6$1.prototype);\n }\n node2[my$1$1] = true;\n if (node2.nodes) {\n node2.nodes.forEach((child) => {\n Container$7$1.rebuild(child);\n });\n }\n};\nlet Container$6$1 = container$1;\nlet LazyResult$4$1, Processor$3$1;\nlet Document$3$1 = class Document2 extends Container$6$1 {\n constructor(defaults) {\n super({ type: \"document\", ...defaults });\n if (!this.nodes) {\n this.nodes = [];\n }\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$4$1(new Processor$3$1(), this, opts);\n return lazy.stringify();\n }\n};\nDocument$3$1.registerLazyResult = (dependant) => {\n LazyResult$4$1 = dependant;\n};\nDocument$3$1.registerProcessor = (dependant) => {\n Processor$3$1 = dependant;\n};\nvar document$1$1 = Document$3$1;\nDocument$3$1.default = Document$3$1;\nlet printed$1 = {};\nvar warnOnce$2$1 = function warnOnce(message) {\n if (printed$1[message]) return;\n printed$1[message] = true;\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(message);\n }\n};\nlet Warning$2$1 = class Warning {\n constructor(text, opts = {}) {\n this.type = \"warning\";\n this.text = text;\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts);\n this.line = range.start.line;\n this.column = range.start.column;\n this.endLine = range.end.line;\n this.endColumn = range.end.column;\n }\n for (let opt in opts) this[opt] = opts[opt];\n }\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message;\n }\n if (this.plugin) {\n return this.plugin + \": \" + this.text;\n }\n return this.text;\n }\n};\nvar warning$1 = Warning$2$1;\nWarning$2$1.default = Warning$2$1;\nlet Warning$1$1 = warning$1;\nlet Result$3$1 = class Result {\n constructor(processor2, root2, opts) {\n this.processor = processor2;\n this.messages = [];\n this.root = root2;\n this.opts = opts;\n this.css = void 0;\n this.map = void 0;\n }\n toString() {\n return this.css;\n }\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin;\n }\n }\n let warning2 = new Warning$1$1(text, opts);\n this.messages.push(warning2);\n return warning2;\n }\n warnings() {\n return this.messages.filter((i2) => i2.type === \"warning\");\n }\n get content() {\n return this.css;\n }\n};\nvar result$1 = Result$3$1;\nResult$3$1.default = Result$3$1;\nconst SINGLE_QUOTE$1 = \"'\".charCodeAt(0);\nconst DOUBLE_QUOTE$1 = '\"'.charCodeAt(0);\nconst BACKSLASH$1 = \"\\\\\".charCodeAt(0);\nconst SLASH$1 = \"/\".charCodeAt(0);\nconst NEWLINE$1 = \"\\n\".charCodeAt(0);\nconst SPACE$1 = \" \".charCodeAt(0);\nconst FEED$1 = \"\\f\".charCodeAt(0);\nconst TAB$1 = \"\t\".charCodeAt(0);\nconst CR$1 = \"\\r\".charCodeAt(0);\nconst OPEN_SQUARE$1 = \"[\".charCodeAt(0);\nconst CLOSE_SQUARE$1 = \"]\".charCodeAt(0);\nconst OPEN_PARENTHESES$1 = \"(\".charCodeAt(0);\nconst CLOSE_PARENTHESES$1 = \")\".charCodeAt(0);\nconst OPEN_CURLY$1 = \"{\".charCodeAt(0);\nconst CLOSE_CURLY$1 = \"}\".charCodeAt(0);\nconst SEMICOLON$1 = \";\".charCodeAt(0);\nconst ASTERISK$1 = \"*\".charCodeAt(0);\nconst COLON$1 = \":\".charCodeAt(0);\nconst AT$1 = \"@\".charCodeAt(0);\nconst RE_AT_END$1 = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\nconst RE_WORD_END$1 = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\nconst RE_BAD_BRACKET$1 = /.[\\r\\n\"'(/\\\\]/;\nconst RE_HEX_ESCAPE$1 = /[\\da-f]/i;\nvar tokenize$1 = function tokenizer(input2, options = {}) {\n let css = input2.css.valueOf();\n let ignore = options.ignoreErrors;\n let code, next, quote, content, escape;\n let escaped, escapePos, prev, n2, currentToken;\n let length = css.length;\n let pos = 0;\n let buffer = [];\n let returned = [];\n function position() {\n return pos;\n }\n function unclosed(what) {\n throw input2.error(\"Unclosed \" + what, pos);\n }\n function endOfFile() {\n return returned.length === 0 && pos >= length;\n }\n function nextToken(opts) {\n if (returned.length) return returned.pop();\n if (pos >= length) return;\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n code = css.charCodeAt(pos);\n switch (code) {\n case NEWLINE$1:\n case SPACE$1:\n case TAB$1:\n case CR$1:\n case FEED$1: {\n next = pos;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === SPACE$1 || code === NEWLINE$1 || code === TAB$1 || code === CR$1 || code === FEED$1);\n currentToken = [\"space\", css.slice(pos, next)];\n pos = next - 1;\n break;\n }\n case OPEN_SQUARE$1:\n case CLOSE_SQUARE$1:\n case OPEN_CURLY$1:\n case CLOSE_CURLY$1:\n case COLON$1:\n case SEMICOLON$1:\n case CLOSE_PARENTHESES$1: {\n let controlChar = String.fromCharCode(code);\n currentToken = [controlChar, controlChar, pos];\n break;\n }\n case OPEN_PARENTHESES$1: {\n prev = buffer.length ? buffer.pop()[1] : \"\";\n n2 = css.charCodeAt(pos + 1);\n if (prev === \"url\" && n2 !== SINGLE_QUOTE$1 && n2 !== DOUBLE_QUOTE$1 && n2 !== SPACE$1 && n2 !== NEWLINE$1 && n2 !== TAB$1 && n2 !== FEED$1 && n2 !== CR$1) {\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(\")\", next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos;\n break;\n } else {\n unclosed(\"bracket\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH$1) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"brackets\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n next = css.indexOf(\")\", pos + 1);\n content = css.slice(pos, next + 1);\n if (next === -1 || RE_BAD_BRACKET$1.test(content)) {\n currentToken = [\"(\", \"(\", pos];\n } else {\n currentToken = [\"brackets\", content, pos, next];\n pos = next;\n }\n }\n break;\n }\n case SINGLE_QUOTE$1:\n case DOUBLE_QUOTE$1: {\n quote = code === SINGLE_QUOTE$1 ? \"'\" : '\"';\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1;\n break;\n } else {\n unclosed(\"string\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH$1) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"string\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case AT$1: {\n RE_AT_END$1.lastIndex = pos + 1;\n RE_AT_END$1.test(css);\n if (RE_AT_END$1.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_AT_END$1.lastIndex - 2;\n }\n currentToken = [\"at-word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case BACKSLASH$1: {\n next = pos;\n escape = true;\n while (css.charCodeAt(next + 1) === BACKSLASH$1) {\n next += 1;\n escape = !escape;\n }\n code = css.charCodeAt(next + 1);\n if (escape && code !== SLASH$1 && code !== SPACE$1 && code !== NEWLINE$1 && code !== TAB$1 && code !== CR$1 && code !== FEED$1) {\n next += 1;\n if (RE_HEX_ESCAPE$1.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE$1.test(css.charAt(next + 1))) {\n next += 1;\n }\n if (css.charCodeAt(next + 1) === SPACE$1) {\n next += 1;\n }\n }\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n default: {\n if (code === SLASH$1 && css.charCodeAt(pos + 1) === ASTERISK$1) {\n next = css.indexOf(\"*/\", pos + 2) + 1;\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length;\n } else {\n unclosed(\"comment\");\n }\n }\n currentToken = [\"comment\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n RE_WORD_END$1.lastIndex = pos + 1;\n RE_WORD_END$1.test(css);\n if (RE_WORD_END$1.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_WORD_END$1.lastIndex - 2;\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n buffer.push(currentToken);\n pos = next;\n }\n break;\n }\n }\n pos++;\n return currentToken;\n }\n function back(token) {\n returned.push(token);\n }\n return {\n back,\n endOfFile,\n nextToken,\n position\n };\n};\nlet Container$5$1 = container$1;\nlet AtRule$3$1 = class AtRule extends Container$5$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"atrule\";\n }\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.append(...children);\n }\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.prepend(...children);\n }\n};\nvar atRule$1 = AtRule$3$1;\nAtRule$3$1.default = AtRule$3$1;\nContainer$5$1.registerAtRule(AtRule$3$1);\nlet Container$4$1 = container$1;\nlet LazyResult$3$1, Processor$2$1;\nlet Root$5$1 = class Root extends Container$4$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"root\";\n if (!this.nodes) this.nodes = [];\n }\n normalize(child, sample, type) {\n let nodes = super.normalize(child);\n if (sample) {\n if (type === \"prepend\") {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before;\n } else {\n delete sample.raws.before;\n }\n } else if (this.first !== sample) {\n for (let node2 of nodes) {\n node2.raws.before = sample.raws.before;\n }\n }\n }\n return nodes;\n }\n removeChild(child, ignore) {\n let index2 = this.index(child);\n if (!ignore && index2 === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index2].raws.before;\n }\n return super.removeChild(child);\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$3$1(new Processor$2$1(), this, opts);\n return lazy.stringify();\n }\n};\nRoot$5$1.registerLazyResult = (dependant) => {\n LazyResult$3$1 = dependant;\n};\nRoot$5$1.registerProcessor = (dependant) => {\n Processor$2$1 = dependant;\n};\nvar root$1 = Root$5$1;\nRoot$5$1.default = Root$5$1;\nContainer$4$1.registerRoot(Root$5$1);\nlet list$2$1 = {\n comma(string) {\n return list$2$1.split(string, [\",\"], true);\n },\n space(string) {\n let spaces = [\" \", \"\\n\", \"\t\"];\n return list$2$1.split(string, spaces);\n },\n split(string, separators, last) {\n let array = [];\n let current = \"\";\n let split = false;\n let func = 0;\n let inQuote = false;\n let prevQuote = \"\";\n let escape = false;\n for (let letter of string) {\n if (escape) {\n escape = false;\n } else if (letter === \"\\\\\") {\n escape = true;\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false;\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true;\n prevQuote = letter;\n } else if (letter === \"(\") {\n func += 1;\n } else if (letter === \")\") {\n if (func > 0) func -= 1;\n } else if (func === 0) {\n if (separators.includes(letter)) split = true;\n }\n if (split) {\n if (current !== \"\") array.push(current.trim());\n current = \"\";\n split = false;\n } else {\n current += letter;\n }\n }\n if (last || current !== \"\") array.push(current.trim());\n return array;\n }\n};\nvar list_1$1 = list$2$1;\nlist$2$1.default = list$2$1;\nlet Container$3$1 = container$1;\nlet list$1$1 = list_1$1;\nlet Rule$3$1 = class Rule extends Container$3$1 {\n constructor(defaults) {\n super(defaults);\n this.type = \"rule\";\n if (!this.nodes) this.nodes = [];\n }\n get selectors() {\n return list$1$1.comma(this.selector);\n }\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null;\n let sep2 = match ? match[0] : \",\" + this.raw(\"between\", \"beforeOpen\");\n this.selector = values.join(sep2);\n }\n};\nvar rule$1 = Rule$3$1;\nRule$3$1.default = Rule$3$1;\nContainer$3$1.registerRule(Rule$3$1);\nlet Declaration$2$1 = declaration$1;\nlet tokenizer2$1 = tokenize$1;\nlet Comment$2$1 = comment$1;\nlet AtRule$2$1 = atRule$1;\nlet Root$4$1 = root$1;\nlet Rule$2$1 = rule$1;\nconst SAFE_COMMENT_NEIGHBOR$1 = {\n empty: true,\n space: true\n};\nfunction findLastWithPosition$1(tokens) {\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n let token = tokens[i2];\n let pos = token[3] || token[2];\n if (pos) return pos;\n }\n}\nlet Parser$1$1 = class Parser {\n constructor(input2) {\n this.input = input2;\n this.root = new Root$4$1();\n this.current = this.root;\n this.spaces = \"\";\n this.semicolon = false;\n this.createTokenizer();\n this.root.source = { input: input2, start: { column: 1, line: 1, offset: 0 } };\n }\n atrule(token) {\n let node2 = new AtRule$2$1();\n node2.name = token[1].slice(1);\n if (node2.name === \"\") {\n this.unnamedAtrule(node2, token);\n }\n this.init(node2, token[2]);\n let type;\n let prev;\n let shift;\n let last = false;\n let open = false;\n let params = [];\n let brackets = [];\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n type = token[0];\n if (type === \"(\" || type === \"[\") {\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (type === \"{\" && brackets.length > 0) {\n brackets.push(\"}\");\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n }\n if (brackets.length === 0) {\n if (type === \";\") {\n node2.source.end = this.getPosition(token[2]);\n node2.source.end.offset++;\n this.semicolon = true;\n break;\n } else if (type === \"{\") {\n open = true;\n break;\n } else if (type === \"}\") {\n if (params.length > 0) {\n shift = params.length - 1;\n prev = params[shift];\n while (prev && prev[0] === \"space\") {\n prev = params[--shift];\n }\n if (prev) {\n node2.source.end = this.getPosition(prev[3] || prev[2]);\n node2.source.end.offset++;\n }\n }\n this.end(token);\n break;\n } else {\n params.push(token);\n }\n } else {\n params.push(token);\n }\n if (this.tokenizer.endOfFile()) {\n last = true;\n break;\n }\n }\n node2.raws.between = this.spacesAndCommentsFromEnd(params);\n if (params.length) {\n node2.raws.afterName = this.spacesAndCommentsFromStart(params);\n this.raw(node2, \"params\", params);\n if (last) {\n token = params[params.length - 1];\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n this.spaces = node2.raws.between;\n node2.raws.between = \"\";\n }\n } else {\n node2.raws.afterName = \"\";\n node2.params = \"\";\n }\n if (open) {\n node2.nodes = [];\n this.current = node2;\n }\n }\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens);\n if (colon === false) return;\n let founded = 0;\n let token;\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j];\n if (token[0] !== \"space\") {\n founded += 1;\n if (founded === 2) break;\n }\n }\n throw this.input.error(\n \"Missed semicolon\",\n token[0] === \"word\" ? token[3] + 1 : token[2]\n );\n }\n colon(tokens) {\n let brackets = 0;\n let token, type, prev;\n for (let [i2, element] of tokens.entries()) {\n token = element;\n type = token[0];\n if (type === \"(\") {\n brackets += 1;\n }\n if (type === \")\") {\n brackets -= 1;\n }\n if (brackets === 0 && type === \":\") {\n if (!prev) {\n this.doubleColon(token);\n } else if (prev[0] === \"word\" && prev[1] === \"progid\") {\n continue;\n } else {\n return i2;\n }\n }\n prev = token;\n }\n return false;\n }\n comment(token) {\n let node2 = new Comment$2$1();\n this.init(node2, token[2]);\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n let text = token[1].slice(2, -2);\n if (/^\\s*$/.test(text)) {\n node2.text = \"\";\n node2.raws.left = text;\n node2.raws.right = \"\";\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n node2.text = match[2];\n node2.raws.left = match[1];\n node2.raws.right = match[3];\n }\n }\n createTokenizer() {\n this.tokenizer = tokenizer2$1(this.input);\n }\n decl(tokens, customProperty) {\n let node2 = new Declaration$2$1();\n this.init(node2, tokens[0][2]);\n let last = tokens[tokens.length - 1];\n if (last[0] === \";\") {\n this.semicolon = true;\n tokens.pop();\n }\n node2.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition$1(tokens)\n );\n node2.source.end.offset++;\n while (tokens[0][0] !== \"word\") {\n if (tokens.length === 1) this.unknownWord(tokens);\n node2.raws.before += tokens.shift()[1];\n }\n node2.source.start = this.getPosition(tokens[0][2]);\n node2.prop = \"\";\n while (tokens.length) {\n let type = tokens[0][0];\n if (type === \":\" || type === \"space\" || type === \"comment\") {\n break;\n }\n node2.prop += tokens.shift()[1];\n }\n node2.raws.between = \"\";\n let token;\n while (tokens.length) {\n token = tokens.shift();\n if (token[0] === \":\") {\n node2.raws.between += token[1];\n break;\n } else {\n if (token[0] === \"word\" && /\\w/.test(token[1])) {\n this.unknownWord([token]);\n }\n node2.raws.between += token[1];\n }\n }\n if (node2.prop[0] === \"_\" || node2.prop[0] === \"*\") {\n node2.raws.before += node2.prop[0];\n node2.prop = node2.prop.slice(1);\n }\n let firstSpaces = [];\n let next;\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n firstSpaces.push(tokens.shift());\n }\n this.precheckMissedSemicolon(tokens);\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n token = tokens[i2];\n if (token[1].toLowerCase() === \"!important\") {\n node2.important = true;\n let string = this.stringFrom(tokens, i2);\n string = this.spacesFromEnd(tokens) + string;\n if (string !== \" !important\") node2.raws.important = string;\n break;\n } else if (token[1].toLowerCase() === \"important\") {\n let cache = tokens.slice(0);\n let str = \"\";\n for (let j = i2; j > 0; j--) {\n let type = cache[j][0];\n if (str.trim().indexOf(\"!\") === 0 && type !== \"space\") {\n break;\n }\n str = cache.pop()[1] + str;\n }\n if (str.trim().indexOf(\"!\") === 0) {\n node2.important = true;\n node2.raws.important = str;\n tokens = cache;\n }\n }\n if (token[0] !== \"space\" && token[0] !== \"comment\") {\n break;\n }\n }\n let hasWord = tokens.some((i2) => i2[0] !== \"space\" && i2[0] !== \"comment\");\n if (hasWord) {\n node2.raws.between += firstSpaces.map((i2) => i2[1]).join(\"\");\n firstSpaces = [];\n }\n this.raw(node2, \"value\", firstSpaces.concat(tokens), customProperty);\n if (node2.value.includes(\":\") && !customProperty) {\n this.checkMissedSemicolon(tokens);\n }\n }\n doubleColon(token) {\n throw this.input.error(\n \"Double colon\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n emptyRule(token) {\n let node2 = new Rule$2$1();\n this.init(node2, token[2]);\n node2.selector = \"\";\n node2.raws.between = \"\";\n this.current = node2;\n }\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.semicolon = false;\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.spaces = \"\";\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2]);\n this.current.source.end.offset++;\n this.current = this.current.parent;\n } else {\n this.unexpectedClose(token);\n }\n }\n endFile() {\n if (this.current.parent) this.unclosedBlock();\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.root.source.end = this.getPosition(this.tokenizer.position());\n }\n freeSemicolon(token) {\n this.spaces += token[1];\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1];\n if (prev && prev.type === \"rule\" && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces;\n this.spaces = \"\";\n }\n }\n }\n // Helpers\n getPosition(offset) {\n let pos = this.input.fromOffset(offset);\n return {\n column: pos.col,\n line: pos.line,\n offset\n };\n }\n init(node2, offset) {\n this.current.push(node2);\n node2.source = {\n input: this.input,\n start: this.getPosition(offset)\n };\n node2.raws.before = this.spaces;\n this.spaces = \"\";\n if (node2.type !== \"comment\") this.semicolon = false;\n }\n other(start) {\n let end = false;\n let type = null;\n let colon = false;\n let bracket = null;\n let brackets = [];\n let customProperty = start[1].startsWith(\"--\");\n let tokens = [];\n let token = start;\n while (token) {\n type = token[0];\n tokens.push(token);\n if (type === \"(\" || type === \"[\") {\n if (!bracket) bracket = token;\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (customProperty && colon && type === \"{\") {\n if (!bracket) bracket = token;\n brackets.push(\"}\");\n } else if (brackets.length === 0) {\n if (type === \";\") {\n if (colon) {\n this.decl(tokens, customProperty);\n return;\n } else {\n break;\n }\n } else if (type === \"{\") {\n this.rule(tokens);\n return;\n } else if (type === \"}\") {\n this.tokenizer.back(tokens.pop());\n end = true;\n break;\n } else if (type === \":\") {\n colon = true;\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n if (brackets.length === 0) bracket = null;\n }\n token = this.tokenizer.nextToken();\n }\n if (this.tokenizer.endOfFile()) end = true;\n if (brackets.length > 0) this.unclosedBracket(bracket);\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0];\n if (token !== \"space\" && token !== \"comment\") break;\n this.tokenizer.back(tokens.pop());\n }\n }\n this.decl(tokens, customProperty);\n } else {\n this.unknownWord(tokens);\n }\n }\n parse() {\n let token;\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n switch (token[0]) {\n case \"space\":\n this.spaces += token[1];\n break;\n case \";\":\n this.freeSemicolon(token);\n break;\n case \"}\":\n this.end(token);\n break;\n case \"comment\":\n this.comment(token);\n break;\n case \"at-word\":\n this.atrule(token);\n break;\n case \"{\":\n this.emptyRule(token);\n break;\n default:\n this.other(token);\n break;\n }\n }\n this.endFile();\n }\n precheckMissedSemicolon() {\n }\n raw(node2, prop, tokens, customProperty) {\n let token, type;\n let length = tokens.length;\n let value = \"\";\n let clean = true;\n let next, prev;\n for (let i2 = 0; i2 < length; i2 += 1) {\n token = tokens[i2];\n type = token[0];\n if (type === \"space\" && i2 === length - 1 && !customProperty) {\n clean = false;\n } else if (type === \"comment\") {\n prev = tokens[i2 - 1] ? tokens[i2 - 1][0] : \"empty\";\n next = tokens[i2 + 1] ? tokens[i2 + 1][0] : \"empty\";\n if (!SAFE_COMMENT_NEIGHBOR$1[prev] && !SAFE_COMMENT_NEIGHBOR$1[next]) {\n if (value.slice(-1) === \",\") {\n clean = false;\n } else {\n value += token[1];\n }\n } else {\n clean = false;\n }\n } else {\n value += token[1];\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i2) => all + i2[1], \"\");\n node2.raws[prop] = { raw, value };\n }\n node2[prop] = value;\n }\n rule(tokens) {\n tokens.pop();\n let node2 = new Rule$2$1();\n this.init(node2, tokens[0][2]);\n node2.raws.between = this.spacesAndCommentsFromEnd(tokens);\n this.raw(node2, \"selector\", tokens);\n this.current = node2;\n }\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\" && lastTokenType !== \"comment\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n // Errors\n spacesAndCommentsFromStart(tokens) {\n let next;\n let spaces = \"\";\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n spaces += tokens.shift()[1];\n }\n return spaces;\n }\n spacesFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n stringFrom(tokens, from) {\n let result2 = \"\";\n for (let i2 = from; i2 < tokens.length; i2++) {\n result2 += tokens[i2][1];\n }\n tokens.splice(from, tokens.length - from);\n return result2;\n }\n unclosedBlock() {\n let pos = this.current.source.start;\n throw this.input.error(\"Unclosed block\", pos.line, pos.column);\n }\n unclosedBracket(bracket) {\n throw this.input.error(\n \"Unclosed bracket\",\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n );\n }\n unexpectedClose(token) {\n throw this.input.error(\n \"Unexpected }\",\n { offset: token[2] },\n { offset: token[2] + 1 }\n );\n }\n unknownWord(tokens) {\n throw this.input.error(\n \"Unknown word\",\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n );\n }\n unnamedAtrule(node2, token) {\n throw this.input.error(\n \"At-rule without name\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n};\nvar parser$1 = Parser$1$1;\nlet Container$2$1 = container$1;\nlet Parser2$1 = parser$1;\nlet Input$2$1 = input$1;\nfunction parse$3$1(css, opts) {\n let input2 = new Input$2$1(css, opts);\n let parser2 = new Parser2$1(input2);\n try {\n parser2.parse();\n } catch (e2) {\n if (process.env.NODE_ENV !== \"production\") {\n if (e2.name === \"CssSyntaxError\" && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\";\n } else if (/\\.sass/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\";\n } else if (/\\.less$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\";\n }\n }\n }\n throw e2;\n }\n return parser2.root;\n}\nvar parse_1$1 = parse$3$1;\nparse$3$1.default = parse$3$1;\nContainer$2$1.registerParse(parse$3$1);\nlet { isClean: isClean$3, my: my$3 } = symbols$1;\nlet MapGenerator$1$1 = mapGenerator$1;\nlet stringify$2$1 = stringify_1$1;\nlet Container$1$1 = container$1;\nlet Document$2$1 = document$1$1;\nlet warnOnce$1$1 = warnOnce$2$1;\nlet Result$2$1 = result$1;\nlet parse$2$1 = parse_1$1;\nlet Root$3$1 = root$1;\nconst TYPE_TO_CLASS_NAME$1 = {\n atrule: \"AtRule\",\n comment: \"Comment\",\n decl: \"Declaration\",\n document: \"Document\",\n root: \"Root\",\n rule: \"Rule\"\n};\nconst PLUGIN_PROPS$1 = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n};\nconst NOT_VISITORS$1 = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n};\nconst CHILDREN$1 = 0;\nfunction isPromise$1(obj) {\n return typeof obj === \"object\" && typeof obj.then === \"function\";\n}\nfunction getEvents$1(node2) {\n let key = false;\n let type = TYPE_TO_CLASS_NAME$1[node2.type];\n if (node2.type === \"decl\") {\n key = node2.prop.toLowerCase();\n } else if (node2.type === \"atrule\") {\n key = node2.name.toLowerCase();\n }\n if (key && node2.append) {\n return [\n type,\n type + \"-\" + key,\n CHILDREN$1,\n type + \"Exit\",\n type + \"Exit-\" + key\n ];\n } else if (key) {\n return [type, type + \"-\" + key, type + \"Exit\", type + \"Exit-\" + key];\n } else if (node2.append) {\n return [type, CHILDREN$1, type + \"Exit\"];\n } else {\n return [type, type + \"Exit\"];\n }\n}\nfunction toStack$1(node2) {\n let events;\n if (node2.type === \"document\") {\n events = [\"Document\", CHILDREN$1, \"DocumentExit\"];\n } else if (node2.type === \"root\") {\n events = [\"Root\", CHILDREN$1, \"RootExit\"];\n } else {\n events = getEvents$1(node2);\n }\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node: node2,\n visitorIndex: 0,\n visitors: []\n };\n}\nfunction cleanMarks$1(node2) {\n node2[isClean$3] = false;\n if (node2.nodes) node2.nodes.forEach((i2) => cleanMarks$1(i2));\n return node2;\n}\nlet postcss$2$1 = {};\nlet LazyResult$2$1 = class LazyResult {\n constructor(processor2, css, opts) {\n this.stringified = false;\n this.processed = false;\n let root2;\n if (typeof css === \"object\" && css !== null && (css.type === \"root\" || css.type === \"document\")) {\n root2 = cleanMarks$1(css);\n } else if (css instanceof LazyResult || css instanceof Result$2$1) {\n root2 = cleanMarks$1(css.root);\n if (css.map) {\n if (typeof opts.map === \"undefined\") opts.map = {};\n if (!opts.map.inline) opts.map.inline = false;\n opts.map.prev = css.map;\n }\n } else {\n let parser2 = parse$2$1;\n if (opts.syntax) parser2 = opts.syntax.parse;\n if (opts.parser) parser2 = opts.parser;\n if (parser2.parse) parser2 = parser2.parse;\n try {\n root2 = parser2(css, opts);\n } catch (error) {\n this.processed = true;\n this.error = error;\n }\n if (root2 && !root2[my$3]) {\n Container$1$1.rebuild(root2);\n }\n }\n this.result = new Result$2$1(processor2, root2, opts);\n this.helpers = { ...postcss$2$1, postcss: postcss$2$1, result: this.result };\n this.plugins = this.processor.plugins.map((plugin22) => {\n if (typeof plugin22 === \"object\" && plugin22.prepare) {\n return { ...plugin22, ...plugin22.prepare(this.result) };\n } else {\n return plugin22;\n }\n });\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n if (this.processed) return Promise.resolve(this.result);\n if (!this.processing) {\n this.processing = this.runAsync();\n }\n return this.processing;\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n getAsyncError() {\n throw new Error(\"Use process(css).then(cb) to work with async plugins\");\n }\n handleError(error, node2) {\n let plugin22 = this.result.lastPlugin;\n try {\n if (node2) node2.addToError(error);\n this.error = error;\n if (error.name === \"CssSyntaxError\" && !error.plugin) {\n error.plugin = plugin22.postcssPlugin;\n error.setMessage();\n } else if (plugin22.postcssVersion) {\n if (process.env.NODE_ENV !== \"production\") {\n let pluginName = plugin22.postcssPlugin;\n let pluginVer = plugin22.postcssVersion;\n let runtimeVer = this.result.processor.version;\n let a2 = pluginVer.split(\".\");\n let b = runtimeVer.split(\".\");\n if (a2[0] !== b[0] || parseInt(a2[1]) > parseInt(b[1])) {\n console.error(\n \"Unknown error from PostCSS plugin. Your current PostCSS version is \" + runtimeVer + \", but \" + pluginName + \" uses \" + pluginVer + \". Perhaps this is the source of the error below.\"\n );\n }\n }\n }\n } catch (err) {\n if (console && console.error) console.error(err);\n }\n return error;\n }\n prepareVisitors() {\n this.listeners = {};\n let add = (plugin22, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = [];\n this.listeners[type].push([plugin22, cb]);\n };\n for (let plugin22 of this.plugins) {\n if (typeof plugin22 === \"object\") {\n for (let event in plugin22) {\n if (!PLUGIN_PROPS$1[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin22.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`\n );\n }\n if (!NOT_VISITORS$1[event]) {\n if (typeof plugin22[event] === \"object\") {\n for (let filter in plugin22[event]) {\n if (filter === \"*\") {\n add(plugin22, event, plugin22[event][filter]);\n } else {\n add(\n plugin22,\n event + \"-\" + filter.toLowerCase(),\n plugin22[event][filter]\n );\n }\n }\n } else if (typeof plugin22[event] === \"function\") {\n add(plugin22, event, plugin22[event]);\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0;\n }\n async runAsync() {\n this.plugin = 0;\n for (let i2 = 0; i2 < this.plugins.length; i2++) {\n let plugin22 = this.plugins[i2];\n let promise = this.runOnRoot(plugin22);\n if (isPromise$1(promise)) {\n try {\n await promise;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean$3]) {\n root2[isClean$3] = true;\n let stack = [toStack$1(root2)];\n while (stack.length > 0) {\n let promise = this.visitTick(stack);\n if (isPromise$1(promise)) {\n try {\n await promise;\n } catch (e2) {\n let node2 = stack[stack.length - 1].node;\n throw this.handleError(e2, node2);\n }\n }\n }\n }\n if (this.listeners.OnceExit) {\n for (let [plugin22, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin22;\n try {\n if (root2.type === \"document\") {\n let roots = root2.nodes.map(\n (subRoot) => visitor(subRoot, this.helpers)\n );\n await Promise.all(roots);\n } else {\n await visitor(root2, this.helpers);\n }\n } catch (e2) {\n throw this.handleError(e2);\n }\n }\n }\n }\n this.processed = true;\n return this.stringify();\n }\n runOnRoot(plugin22) {\n this.result.lastPlugin = plugin22;\n try {\n if (typeof plugin22 === \"object\" && plugin22.Once) {\n if (this.result.root.type === \"document\") {\n let roots = this.result.root.nodes.map(\n (root2) => plugin22.Once(root2, this.helpers)\n );\n if (isPromise$1(roots[0])) {\n return Promise.all(roots);\n }\n return roots;\n }\n return plugin22.Once(this.result.root, this.helpers);\n } else if (typeof plugin22 === \"function\") {\n return plugin22(this.result.root, this.result);\n }\n } catch (error) {\n throw this.handleError(error);\n }\n }\n stringify() {\n if (this.error) throw this.error;\n if (this.stringified) return this.result;\n this.stringified = true;\n this.sync();\n let opts = this.result.opts;\n let str = stringify$2$1;\n if (opts.syntax) str = opts.syntax.stringify;\n if (opts.stringifier) str = opts.stringifier;\n if (str.stringify) str = str.stringify;\n let map = new MapGenerator$1$1(str, this.result.root, this.result.opts);\n let data = map.generate();\n this.result.css = data[0];\n this.result.map = data[1];\n return this.result;\n }\n sync() {\n if (this.error) throw this.error;\n if (this.processed) return this.result;\n this.processed = true;\n if (this.processing) {\n throw this.getAsyncError();\n }\n for (let plugin22 of this.plugins) {\n let promise = this.runOnRoot(plugin22);\n if (isPromise$1(promise)) {\n throw this.getAsyncError();\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean$3]) {\n root2[isClean$3] = true;\n this.walkSync(root2);\n }\n if (this.listeners.OnceExit) {\n if (root2.type === \"document\") {\n for (let subRoot of root2.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot);\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root2);\n }\n }\n }\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this.opts)) {\n warnOnce$1$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this.css;\n }\n visitSync(visitors, node2) {\n for (let [plugin22, visitor] of visitors) {\n this.result.lastPlugin = plugin22;\n let promise;\n try {\n promise = visitor(node2, this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2.proxyOf);\n }\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n return true;\n }\n if (isPromise$1(promise)) {\n throw this.getAsyncError();\n }\n }\n }\n visitTick(stack) {\n let visit2 = stack[stack.length - 1];\n let { node: node2, visitors } = visit2;\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n stack.pop();\n return;\n }\n if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {\n let [plugin22, visitor] = visitors[visit2.visitorIndex];\n visit2.visitorIndex += 1;\n if (visit2.visitorIndex === visitors.length) {\n visit2.visitors = [];\n visit2.visitorIndex = 0;\n }\n this.result.lastPlugin = plugin22;\n try {\n return visitor(node2.toProxy(), this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2);\n }\n }\n if (visit2.iterator !== 0) {\n let iterator = visit2.iterator;\n let child;\n while (child = node2.nodes[node2.indexes[iterator]]) {\n node2.indexes[iterator] += 1;\n if (!child[isClean$3]) {\n child[isClean$3] = true;\n stack.push(toStack$1(child));\n return;\n }\n }\n visit2.iterator = 0;\n delete node2.indexes[iterator];\n }\n let events = visit2.events;\n while (visit2.eventIndex < events.length) {\n let event = events[visit2.eventIndex];\n visit2.eventIndex += 1;\n if (event === CHILDREN$1) {\n if (node2.nodes && node2.nodes.length) {\n node2[isClean$3] = true;\n visit2.iterator = node2.getIterator();\n }\n return;\n } else if (this.listeners[event]) {\n visit2.visitors = this.listeners[event];\n return;\n }\n }\n stack.pop();\n }\n walkSync(node2) {\n node2[isClean$3] = true;\n let events = getEvents$1(node2);\n for (let event of events) {\n if (event === CHILDREN$1) {\n if (node2.nodes) {\n node2.each((child) => {\n if (!child[isClean$3]) this.walkSync(child);\n });\n }\n } else {\n let visitors = this.listeners[event];\n if (visitors) {\n if (this.visitSync(visitors, node2.toProxy())) return;\n }\n }\n }\n }\n warnings() {\n return this.sync().warnings();\n }\n get content() {\n return this.stringify().content;\n }\n get css() {\n return this.stringify().css;\n }\n get map() {\n return this.stringify().map;\n }\n get messages() {\n return this.sync().messages;\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n return this.sync().root;\n }\n get [Symbol.toStringTag]() {\n return \"LazyResult\";\n }\n};\nLazyResult$2$1.registerPostcss = (dependant) => {\n postcss$2$1 = dependant;\n};\nvar lazyResult$1 = LazyResult$2$1;\nLazyResult$2$1.default = LazyResult$2$1;\nRoot$3$1.registerLazyResult(LazyResult$2$1);\nDocument$2$1.registerLazyResult(LazyResult$2$1);\nlet MapGenerator2$1 = mapGenerator$1;\nlet stringify$1$1 = stringify_1$1;\nlet warnOnce2$1 = warnOnce$2$1;\nlet parse$1$1 = parse_1$1;\nconst Result$1$1 = result$1;\nlet NoWorkResult$1$1 = class NoWorkResult {\n constructor(processor2, css, opts) {\n css = css.toString();\n this.stringified = false;\n this._processor = processor2;\n this._css = css;\n this._opts = opts;\n this._map = void 0;\n let root2;\n let str = stringify$1$1;\n this.result = new Result$1$1(this._processor, root2, this._opts);\n this.result.css = css;\n let self = this;\n Object.defineProperty(this.result, \"root\", {\n get() {\n return self.root;\n }\n });\n let map = new MapGenerator2$1(str, root2, this._opts, css);\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate();\n if (generatedCSS) {\n this.result.css = generatedCSS;\n }\n if (generatedMap) {\n this.result.map = generatedMap;\n }\n } else {\n map.clearAnnotation();\n this.result.css = map.css;\n }\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n return Promise.resolve(this.result);\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n sync() {\n if (this.error) throw this.error;\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this._opts)) {\n warnOnce2$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this._css;\n }\n warnings() {\n return [];\n }\n get content() {\n return this.result.css;\n }\n get css() {\n return this.result.css;\n }\n get map() {\n return this.result.map;\n }\n get messages() {\n return [];\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n if (this._root) {\n return this._root;\n }\n let root2;\n let parser2 = parse$1$1;\n try {\n root2 = parser2(this._css, this._opts);\n } catch (error) {\n this.error = error;\n }\n if (this.error) {\n throw this.error;\n } else {\n this._root = root2;\n return root2;\n }\n }\n get [Symbol.toStringTag]() {\n return \"NoWorkResult\";\n }\n};\nvar noWorkResult$1 = NoWorkResult$1$1;\nNoWorkResult$1$1.default = NoWorkResult$1$1;\nlet NoWorkResult2$1 = noWorkResult$1;\nlet LazyResult$1$1 = lazyResult$1;\nlet Document$1$1 = document$1$1;\nlet Root$2$1 = root$1;\nlet Processor$1$1 = class Processor {\n constructor(plugins = []) {\n this.version = \"8.4.38\";\n this.plugins = this.normalize(plugins);\n }\n normalize(plugins) {\n let normalized = [];\n for (let i2 of plugins) {\n if (i2.postcss === true) {\n i2 = i2();\n } else if (i2.postcss) {\n i2 = i2.postcss;\n }\n if (typeof i2 === \"object\" && Array.isArray(i2.plugins)) {\n normalized = normalized.concat(i2.plugins);\n } else if (typeof i2 === \"object\" && i2.postcssPlugin) {\n normalized.push(i2);\n } else if (typeof i2 === \"function\") {\n normalized.push(i2);\n } else if (typeof i2 === \"object\" && (i2.parse || i2.stringify)) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"\n );\n }\n } else {\n throw new Error(i2 + \" is not a PostCSS plugin\");\n }\n }\n return normalized;\n }\n process(css, opts = {}) {\n if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n return new NoWorkResult2$1(this, css, opts);\n } else {\n return new LazyResult$1$1(this, css, opts);\n }\n }\n use(plugin22) {\n this.plugins = this.plugins.concat(this.normalize([plugin22]));\n return this;\n }\n};\nvar processor$1 = Processor$1$1;\nProcessor$1$1.default = Processor$1$1;\nRoot$2$1.registerProcessor(Processor$1$1);\nDocument$1$1.registerProcessor(Processor$1$1);\nlet Declaration$1$1 = declaration$1;\nlet PreviousMap2$1 = previousMap$1;\nlet Comment$1$1 = comment$1;\nlet AtRule$1$1 = atRule$1;\nlet Input$1$1 = input$1;\nlet Root$1$1 = root$1;\nlet Rule$1$1 = rule$1;\nfunction fromJSON$1$1(json, inputs) {\n if (Array.isArray(json)) return json.map((n2) => fromJSON$1$1(n2));\n let { inputs: ownInputs, ...defaults } = json;\n if (ownInputs) {\n inputs = [];\n for (let input2 of ownInputs) {\n let inputHydrated = { ...input2, __proto__: Input$1$1.prototype };\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap2$1.prototype\n };\n }\n inputs.push(inputHydrated);\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map((n2) => fromJSON$1$1(n2, inputs));\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source;\n defaults.source = source;\n if (inputId != null) {\n defaults.source.input = inputs[inputId];\n }\n }\n if (defaults.type === \"root\") {\n return new Root$1$1(defaults);\n } else if (defaults.type === \"decl\") {\n return new Declaration$1$1(defaults);\n } else if (defaults.type === \"rule\") {\n return new Rule$1$1(defaults);\n } else if (defaults.type === \"comment\") {\n return new Comment$1$1(defaults);\n } else if (defaults.type === \"atrule\") {\n return new AtRule$1$1(defaults);\n } else {\n throw new Error(\"Unknown node type: \" + json.type);\n }\n}\nvar fromJSON_1$1 = fromJSON$1$1;\nfromJSON$1$1.default = fromJSON$1$1;\nlet CssSyntaxError2$1 = cssSyntaxError$1;\nlet Declaration2$1 = declaration$1;\nlet LazyResult2$1 = lazyResult$1;\nlet Container2$1 = container$1;\nlet Processor2$1 = processor$1;\nlet stringify$5 = stringify_1$1;\nlet fromJSON$2 = fromJSON_1$1;\nlet Document22 = document$1$1;\nlet Warning2$1 = warning$1;\nlet Comment2$1 = comment$1;\nlet AtRule2$1 = atRule$1;\nlet Result2$1 = result$1;\nlet Input2$1 = input$1;\nlet parse$5 = parse_1$1;\nlet list$3 = list_1$1;\nlet Rule2$1 = rule$1;\nlet Root2$1 = root$1;\nlet Node2$1 = node$1;\nfunction postcss$3(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0];\n }\n return new Processor2$1(plugins);\n}\npostcss$3.plugin = function plugin(name, initializer) {\n let warningPrinted = false;\n function creator(...args) {\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true;\n console.warn(\n name + \": postcss.plugin was deprecated. Migration guide:\\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration\"\n );\n if (process.env.LANG && process.env.LANG.startsWith(\"cn\")) {\n console.warn(\n name + \": 里面 postcss.plugin 被弃用. 迁移指南:\\nhttps://www.w3ctech.com/topic/2226\"\n );\n }\n }\n let transformer = initializer(...args);\n transformer.postcssPlugin = name;\n transformer.postcssVersion = new Processor2$1().version;\n return transformer;\n }\n let cache;\n Object.defineProperty(creator, \"postcss\", {\n get() {\n if (!cache) cache = creator();\n return cache;\n }\n });\n creator.process = function(css, processOpts, pluginOpts) {\n return postcss$3([creator(pluginOpts)]).process(css, processOpts);\n };\n return creator;\n};\npostcss$3.stringify = stringify$5;\npostcss$3.parse = parse$5;\npostcss$3.fromJSON = fromJSON$2;\npostcss$3.list = list$3;\npostcss$3.comment = (defaults) => new Comment2$1(defaults);\npostcss$3.atRule = (defaults) => new AtRule2$1(defaults);\npostcss$3.decl = (defaults) => new Declaration2$1(defaults);\npostcss$3.rule = (defaults) => new Rule2$1(defaults);\npostcss$3.root = (defaults) => new Root2$1(defaults);\npostcss$3.document = (defaults) => new Document22(defaults);\npostcss$3.CssSyntaxError = CssSyntaxError2$1;\npostcss$3.Declaration = Declaration2$1;\npostcss$3.Container = Container2$1;\npostcss$3.Processor = Processor2$1;\npostcss$3.Document = Document22;\npostcss$3.Comment = Comment2$1;\npostcss$3.Warning = Warning2$1;\npostcss$3.AtRule = AtRule2$1;\npostcss$3.Result = Result2$1;\npostcss$3.Input = Input2$1;\npostcss$3.Rule = Rule2$1;\npostcss$3.Root = Root2$1;\npostcss$3.Node = Node2$1;\nLazyResult2$1.registerPostcss(postcss$3);\nvar postcss_1$1 = postcss$3;\npostcss$3.default = postcss$3;\nconst postcss$1$1 = /* @__PURE__ */ getDefaultExportFromCjs$1(postcss_1$1);\npostcss$1$1.stringify;\npostcss$1$1.fromJSON;\npostcss$1$1.plugin;\npostcss$1$1.parse;\npostcss$1$1.list;\npostcss$1$1.document;\npostcss$1$1.comment;\npostcss$1$1.atRule;\npostcss$1$1.rule;\npostcss$1$1.decl;\npostcss$1$1.root;\npostcss$1$1.CssSyntaxError;\npostcss$1$1.Declaration;\npostcss$1$1.Container;\npostcss$1$1.Processor;\npostcss$1$1.Document;\npostcss$1$1.Comment;\npostcss$1$1.Warning;\npostcss$1$1.AtRule;\npostcss$1$1.Result;\npostcss$1$1.Input;\npostcss$1$1.Rule;\npostcss$1$1.Root;\npostcss$1$1.Node;\nvar __defProp2 = Object.defineProperty;\nvar __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nfunction getDefaultExportFromCjs(x2) {\n return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, \"default\") ? x2[\"default\"] : x2;\n}\nfunction getAugmentedNamespace(n2) {\n if (n2.__esModule) return n2;\n var f2 = n2.default;\n if (typeof f2 == \"function\") {\n var a2 = function a22() {\n if (this instanceof a22) {\n return Reflect.construct(f2, arguments, this.constructor);\n }\n return f2.apply(this, arguments);\n };\n a2.prototype = f2.prototype;\n } else a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar picocolors_browser = { exports: {} };\nvar x = String;\nvar create = function() {\n return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x };\n};\npicocolors_browser.exports = create();\npicocolors_browser.exports.createColors = create;\nvar picocolors_browserExports = picocolors_browser.exports;\nconst __viteBrowserExternal = {};\nconst __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$2 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);\nlet pico = picocolors_browserExports;\nlet terminalHighlight$1 = require$$2;\nlet CssSyntaxError$3 = class CssSyntaxError2 extends Error {\n constructor(message, line, column, source, file, plugin22) {\n super(message);\n this.name = \"CssSyntaxError\";\n this.reason = message;\n if (file) {\n this.file = file;\n }\n if (source) {\n this.source = source;\n }\n if (plugin22) {\n this.plugin = plugin22;\n }\n if (typeof line !== \"undefined\" && typeof column !== \"undefined\") {\n if (typeof line === \"number\") {\n this.line = line;\n this.column = column;\n } else {\n this.line = line.line;\n this.column = line.column;\n this.endLine = column.line;\n this.endColumn = column.column;\n }\n }\n this.setMessage();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError2);\n }\n }\n setMessage() {\n this.message = this.plugin ? this.plugin + \": \" : \"\";\n this.message += this.file ? this.file : \"<css input>\";\n if (typeof this.line !== \"undefined\") {\n this.message += \":\" + this.line + \":\" + this.column;\n }\n this.message += \": \" + this.reason;\n }\n showSourceCode(color) {\n if (!this.source) return \"\";\n let css = this.source;\n if (color == null) color = pico.isColorSupported;\n if (terminalHighlight$1) {\n if (color) css = terminalHighlight$1(css);\n }\n let lines = css.split(/\\r?\\n/);\n let start = Math.max(this.line - 3, 0);\n let end = Math.min(this.line + 2, lines.length);\n let maxWidth = String(end).length;\n let mark, aside;\n if (color) {\n let { bold, gray, red } = pico.createColors(true);\n mark = (text) => bold(red(text));\n aside = (text) => gray(text);\n } else {\n mark = aside = (str) => str;\n }\n return lines.slice(start, end).map((line, index2) => {\n let number = start + 1 + index2;\n let gutter = \" \" + (\" \" + number).slice(-maxWidth) + \" | \";\n if (number === this.line) {\n let spacing = aside(gutter.replace(/\\d/g, \" \")) + line.slice(0, this.column - 1).replace(/[^\\t]/g, \" \");\n return mark(\">\") + aside(gutter) + line + \"\\n \" + spacing + mark(\"^\");\n }\n return \" \" + aside(gutter) + line;\n }).join(\"\\n\");\n }\n toString() {\n let code = this.showSourceCode();\n if (code) {\n code = \"\\n\\n\" + code + \"\\n\";\n }\n return this.name + \": \" + this.message + code;\n }\n};\nvar cssSyntaxError = CssSyntaxError$3;\nCssSyntaxError$3.default = CssSyntaxError$3;\nvar symbols = {};\nsymbols.isClean = Symbol(\"isClean\");\nsymbols.my = Symbol(\"my\");\nconst DEFAULT_RAW = {\n after: \"\\n\",\n beforeClose: \"\\n\",\n beforeComment: \"\\n\",\n beforeDecl: \"\\n\",\n beforeOpen: \" \",\n beforeRule: \"\\n\",\n colon: \": \",\n commentLeft: \" \",\n commentRight: \" \",\n emptyBody: \"\",\n indent: \" \",\n semicolon: false\n};\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\nlet Stringifier$2 = class Stringifier2 {\n constructor(builder) {\n this.builder = builder;\n }\n atrule(node2, semicolon) {\n let name = \"@\" + node2.name;\n let params = node2.params ? this.rawValue(node2, \"params\") : \"\";\n if (typeof node2.raws.afterName !== \"undefined\") {\n name += node2.raws.afterName;\n } else if (params) {\n name += \" \";\n }\n if (node2.nodes) {\n this.block(node2, name + params);\n } else {\n let end = (node2.raws.between || \"\") + (semicolon ? \";\" : \"\");\n this.builder(name + params + end, node2);\n }\n }\n beforeAfter(node2, detect) {\n let value;\n if (node2.type === \"decl\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (node2.type === \"comment\") {\n value = this.raw(node2, null, \"beforeComment\");\n } else if (detect === \"before\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else {\n value = this.raw(node2, null, \"beforeClose\");\n }\n let buf = node2.parent;\n let depth = 0;\n while (buf && buf.type !== \"root\") {\n depth += 1;\n buf = buf.parent;\n }\n if (value.includes(\"\\n\")) {\n let indent = this.raw(node2, null, \"indent\");\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent;\n }\n }\n return value;\n }\n block(node2, start) {\n let between = this.raw(node2, \"between\", \"beforeOpen\");\n this.builder(start + between + \"{\", node2, \"start\");\n let after;\n if (node2.nodes && node2.nodes.length) {\n this.body(node2);\n after = this.raw(node2, \"after\");\n } else {\n after = this.raw(node2, \"after\", \"emptyBody\");\n }\n if (after) this.builder(after);\n this.builder(\"}\", node2, \"end\");\n }\n body(node2) {\n let last = node2.nodes.length - 1;\n while (last > 0) {\n if (node2.nodes[last].type !== \"comment\") break;\n last -= 1;\n }\n let semicolon = this.raw(node2, \"semicolon\");\n for (let i2 = 0; i2 < node2.nodes.length; i2++) {\n let child = node2.nodes[i2];\n let before = this.raw(child, \"before\");\n if (before) this.builder(before);\n this.stringify(child, last !== i2 || semicolon);\n }\n }\n comment(node2) {\n let left = this.raw(node2, \"left\", \"commentLeft\");\n let right = this.raw(node2, \"right\", \"commentRight\");\n this.builder(\"/*\" + left + node2.text + right + \"*/\", node2);\n }\n decl(node2, semicolon) {\n let between = this.raw(node2, \"between\", \"colon\");\n let string = node2.prop + between + this.rawValue(node2, \"value\");\n if (node2.important) {\n string += node2.raws.important || \" !important\";\n }\n if (semicolon) string += \";\";\n this.builder(string, node2);\n }\n document(node2) {\n this.body(node2);\n }\n raw(node2, own, detect) {\n let value;\n if (!detect) detect = own;\n if (own) {\n value = node2.raws[own];\n if (typeof value !== \"undefined\") return value;\n }\n let parent = node2.parent;\n if (detect === \"before\") {\n if (!parent || parent.type === \"root\" && parent.first === node2) {\n return \"\";\n }\n if (parent && parent.type === \"document\") {\n return \"\";\n }\n }\n if (!parent) return DEFAULT_RAW[detect];\n let root2 = node2.root();\n if (!root2.rawCache) root2.rawCache = {};\n if (typeof root2.rawCache[detect] !== \"undefined\") {\n return root2.rawCache[detect];\n }\n if (detect === \"before\" || detect === \"after\") {\n return this.beforeAfter(node2, detect);\n } else {\n let method = \"raw\" + capitalize(detect);\n if (this[method]) {\n value = this[method](root2, node2);\n } else {\n root2.walk((i2) => {\n value = i2.raws[own];\n if (typeof value !== \"undefined\") return false;\n });\n }\n }\n if (typeof value === \"undefined\") value = DEFAULT_RAW[detect];\n root2.rawCache[detect] = value;\n return value;\n }\n rawBeforeClose(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length > 0) {\n if (typeof i2.raws.after !== \"undefined\") {\n value = i2.raws.after;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawBeforeComment(root2, node2) {\n let value;\n root2.walkComments((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeDecl\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeDecl(root2, node2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n });\n if (typeof value === \"undefined\") {\n value = this.raw(node2, null, \"beforeRule\");\n } else if (value) {\n value = value.replace(/\\S/g, \"\");\n }\n return value;\n }\n rawBeforeOpen(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.type !== \"decl\") {\n value = i2.raws.between;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawBeforeRule(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && (i2.parent !== root2 || root2.first !== i2)) {\n if (typeof i2.raws.before !== \"undefined\") {\n value = i2.raws.before;\n if (value.includes(\"\\n\")) {\n value = value.replace(/[^\\n]+$/, \"\");\n }\n return false;\n }\n }\n });\n if (value) value = value.replace(/\\S/g, \"\");\n return value;\n }\n rawColon(root2) {\n let value;\n root2.walkDecls((i2) => {\n if (typeof i2.raws.between !== \"undefined\") {\n value = i2.raws.between.replace(/[^\\s:]/g, \"\");\n return false;\n }\n });\n return value;\n }\n rawEmptyBody(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length === 0) {\n value = i2.raws.after;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawIndent(root2) {\n if (root2.raws.indent) return root2.raws.indent;\n let value;\n root2.walk((i2) => {\n let p = i2.parent;\n if (p && p !== root2 && p.parent && p.parent === root2) {\n if (typeof i2.raws.before !== \"undefined\") {\n let parts = i2.raws.before.split(\"\\n\");\n value = parts[parts.length - 1];\n value = value.replace(/\\S/g, \"\");\n return false;\n }\n }\n });\n return value;\n }\n rawSemicolon(root2) {\n let value;\n root2.walk((i2) => {\n if (i2.nodes && i2.nodes.length && i2.last.type === \"decl\") {\n value = i2.raws.semicolon;\n if (typeof value !== \"undefined\") return false;\n }\n });\n return value;\n }\n rawValue(node2, prop) {\n let value = node2[prop];\n let raw = node2.raws[prop];\n if (raw && raw.value === value) {\n return raw.raw;\n }\n return value;\n }\n root(node2) {\n this.body(node2);\n if (node2.raws.after) this.builder(node2.raws.after);\n }\n rule(node2) {\n this.block(node2, this.rawValue(node2, \"selector\"));\n if (node2.raws.ownSemicolon) {\n this.builder(node2.raws.ownSemicolon, node2, \"end\");\n }\n }\n stringify(node2, semicolon) {\n if (!this[node2.type]) {\n throw new Error(\n \"Unknown AST node type \" + node2.type + \". Maybe you need to change PostCSS stringifier.\"\n );\n }\n this[node2.type](node2, semicolon);\n }\n};\nvar stringifier = Stringifier$2;\nStringifier$2.default = Stringifier$2;\nlet Stringifier$1 = stringifier;\nfunction stringify$4(node2, builder) {\n let str = new Stringifier$1(builder);\n str.stringify(node2);\n}\nvar stringify_1 = stringify$4;\nstringify$4.default = stringify$4;\nlet { isClean: isClean$2, my: my$2 } = symbols;\nlet CssSyntaxError$2 = cssSyntaxError;\nlet Stringifier22 = stringifier;\nlet stringify$3 = stringify_1;\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor();\n for (let i2 in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i2)) {\n continue;\n }\n if (i2 === \"proxyCache\") continue;\n let value = obj[i2];\n let type = typeof value;\n if (i2 === \"parent\" && type === \"object\") {\n if (parent) cloned[i2] = parent;\n } else if (i2 === \"source\") {\n cloned[i2] = value;\n } else if (Array.isArray(value)) {\n cloned[i2] = value.map((j) => cloneNode(j, cloned));\n } else {\n if (type === \"object\" && value !== null) value = cloneNode(value);\n cloned[i2] = value;\n }\n }\n return cloned;\n}\nlet Node$4 = class Node3 {\n constructor(defaults = {}) {\n this.raws = {};\n this[isClean$2] = false;\n this[my$2] = true;\n for (let name in defaults) {\n if (name === \"nodes\") {\n this.nodes = [];\n for (let node2 of defaults[name]) {\n if (typeof node2.clone === \"function\") {\n this.append(node2.clone());\n } else {\n this.append(node2);\n }\n }\n } else {\n this[name] = defaults[name];\n }\n }\n }\n addToError(error) {\n error.postcssNode = this;\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s2 = this.source;\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s2.input.from}:${s2.start.line}:${s2.start.column}$&`\n );\n }\n return error;\n }\n after(add) {\n this.parent.insertAfter(this, add);\n return this;\n }\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name];\n }\n return this;\n }\n before(add) {\n this.parent.insertBefore(this, add);\n return this;\n }\n cleanRaws(keepBetween) {\n delete this.raws.before;\n delete this.raws.after;\n if (!keepBetween) delete this.raws.between;\n }\n clone(overrides = {}) {\n let cloned = cloneNode(this);\n for (let name in overrides) {\n cloned[name] = overrides[name];\n }\n return cloned;\n }\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertAfter(this, cloned);\n return cloned;\n }\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides);\n this.parent.insertBefore(this, cloned);\n return cloned;\n }\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts);\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n );\n }\n return new CssSyntaxError$2(message);\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"prop\" || prop === \"value\" || prop === \"name\" || prop === \"params\" || prop === \"important\" || /* c8 ignore next */\n prop === \"text\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n markDirty() {\n if (this[isClean$2]) {\n this[isClean$2] = false;\n let next = this;\n while (next = next.parent) {\n next[isClean$2] = false;\n }\n }\n }\n next() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 + 1];\n }\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start;\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation);\n } else if (opts.word) {\n stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) pos = this.positionInside(index2, stringRepresentation);\n }\n return pos;\n }\n positionInside(index2, stringRepresentation) {\n let string = stringRepresentation || this.toString();\n let column = this.source.start.column;\n let line = this.source.start.line;\n for (let i2 = 0; i2 < index2; i2++) {\n if (string[i2] === \"\\n\") {\n column = 1;\n line += 1;\n } else {\n column += 1;\n }\n }\n return { column, line };\n }\n prev() {\n if (!this.parent) return void 0;\n let index2 = this.parent.index(this);\n return this.parent.nodes[index2 - 1];\n }\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n };\n let end = this.source.end ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n } : {\n column: start.column + 1,\n line: start.line\n };\n if (opts.word) {\n let stringRepresentation = this.toString();\n let index2 = stringRepresentation.indexOf(opts.word);\n if (index2 !== -1) {\n start = this.positionInside(index2, stringRepresentation);\n end = this.positionInside(index2 + opts.word.length, stringRepresentation);\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n };\n } else if (opts.index) {\n start = this.positionInside(opts.index);\n }\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n };\n } else if (typeof opts.endIndex === \"number\") {\n end = this.positionInside(opts.endIndex);\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1);\n }\n }\n if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n end = { column: start.column + 1, line: start.line };\n }\n return { end, start };\n }\n raw(prop, defaultType) {\n let str = new Stringifier22();\n return str.raw(this, prop, defaultType);\n }\n remove() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n this.parent = void 0;\n return this;\n }\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this;\n let foundSelf = false;\n for (let node2 of nodes) {\n if (node2 === this) {\n foundSelf = true;\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node2);\n bookmark = node2;\n } else {\n this.parent.insertBefore(bookmark, node2);\n }\n }\n if (!foundSelf) {\n this.remove();\n }\n }\n return this;\n }\n root() {\n let result2 = this;\n while (result2.parent && result2.parent.type !== \"document\") {\n result2 = result2.parent;\n }\n return result2;\n }\n toJSON(_, inputs) {\n let fixed = {};\n let emitInputs = inputs == null;\n inputs = inputs || /* @__PURE__ */ new Map();\n let inputsNextIndex = 0;\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n continue;\n }\n if (name === \"parent\" || name === \"proxyCache\") continue;\n let value = this[name];\n if (Array.isArray(value)) {\n fixed[name] = value.map((i2) => {\n if (typeof i2 === \"object\" && i2.toJSON) {\n return i2.toJSON(null, inputs);\n } else {\n return i2;\n }\n });\n } else if (typeof value === \"object\" && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs);\n } else if (name === \"source\") {\n let inputId = inputs.get(value.input);\n if (inputId == null) {\n inputId = inputsNextIndex;\n inputs.set(value.input, inputsNextIndex);\n inputsNextIndex++;\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n };\n } else {\n fixed[name] = value;\n }\n }\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map((input2) => input2.toJSON());\n }\n return fixed;\n }\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor());\n }\n return this.proxyCache;\n }\n toString(stringifier2 = stringify$3) {\n if (stringifier2.stringify) stringifier2 = stringifier2.stringify;\n let result2 = \"\";\n stringifier2(this, (i2) => {\n result2 += i2;\n });\n return result2;\n }\n warn(result2, text, opts) {\n let data = { node: this };\n for (let i2 in opts) data[i2] = opts[i2];\n return result2.warn(text, data);\n }\n get proxyOf() {\n return this;\n }\n};\nvar node = Node$4;\nNode$4.default = Node$4;\nlet Node$3 = node;\nlet Declaration$4 = class Declaration2 extends Node$3 {\n constructor(defaults) {\n if (defaults && typeof defaults.value !== \"undefined\" && typeof defaults.value !== \"string\") {\n defaults = { ...defaults, value: String(defaults.value) };\n }\n super(defaults);\n this.type = \"decl\";\n }\n get variable() {\n return this.prop.startsWith(\"--\") || this.prop[0] === \"$\";\n }\n};\nvar declaration = Declaration$4;\nDeclaration$4.default = Declaration$4;\nlet urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += alphabet[Math.random() * alphabet.length | 0];\n }\n return id;\n };\n};\nlet nanoid$1 = (size = 21) => {\n let id = \"\";\n let i2 = size;\n while (i2--) {\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n return id;\n};\nvar nonSecure = { nanoid: nanoid$1, customAlphabet };\nlet { SourceMapConsumer: SourceMapConsumer$2, SourceMapGenerator: SourceMapGenerator$2 } = require$$2;\nlet { existsSync, readFileSync } = require$$2;\nlet { dirname: dirname$1, join } = require$$2;\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, \"base64\").toString();\n } else {\n return window.atob(str);\n }\n}\nlet PreviousMap$2 = class PreviousMap2 {\n constructor(css, opts) {\n if (opts.map === false) return;\n this.loadAnnotation(css);\n this.inline = this.startWith(this.annotation, \"data:\");\n let prev = opts.map ? opts.map.prev : void 0;\n let text = this.loadMap(opts.from, prev);\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from;\n }\n if (this.mapFile) this.root = dirname$1(this.mapFile);\n if (text) this.text = text;\n }\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer$2(this.text);\n }\n return this.consumerCache;\n }\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n let baseUri = /^data:application\\/json;base64,/;\n let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n let uri = /^data:application\\/json,/;\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length));\n }\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64(text.substr(RegExp.lastMatch.length));\n }\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n throw new Error(\"Unsupported source map encoding \" + encoding);\n }\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, \"\").trim();\n }\n isMap(map) {\n if (typeof map !== \"object\") return false;\n return typeof map.mappings === \"string\" || typeof map._mappings === \"string\" || Array.isArray(map.sections);\n }\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm);\n if (!comments) return;\n let start = css.lastIndexOf(comments.pop());\n let end = css.indexOf(\"*/\", start);\n if (start > -1 && end > -1) {\n this.annotation = this.getAnnotationURL(css.substring(start, end));\n }\n }\n loadFile(path) {\n this.root = dirname$1(path);\n if (existsSync(path)) {\n this.mapFile = path;\n return readFileSync(path, \"utf-8\").toString().trim();\n }\n }\n loadMap(file, prev) {\n if (prev === false) return false;\n if (prev) {\n if (typeof prev === \"string\") {\n return prev;\n } else if (typeof prev === \"function\") {\n let prevPath = prev(file);\n if (prevPath) {\n let map = this.loadFile(prevPath);\n if (!map) {\n throw new Error(\n \"Unable to load previous source map: \" + prevPath.toString()\n );\n }\n return map;\n }\n } else if (prev instanceof SourceMapConsumer$2) {\n return SourceMapGenerator$2.fromSourceMap(prev).toString();\n } else if (prev instanceof SourceMapGenerator$2) {\n return prev.toString();\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev);\n } else {\n throw new Error(\n \"Unsupported previous source map format: \" + prev.toString()\n );\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation);\n } else if (this.annotation) {\n let map = this.annotation;\n if (file) map = join(dirname$1(file), map);\n return this.loadFile(map);\n }\n }\n startWith(string, start) {\n if (!string) return false;\n return string.substr(0, start.length) === start;\n }\n withContent() {\n return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n }\n};\nvar previousMap = PreviousMap$2;\nPreviousMap$2.default = PreviousMap$2;\nlet { SourceMapConsumer: SourceMapConsumer$1, SourceMapGenerator: SourceMapGenerator$1 } = require$$2;\nlet { fileURLToPath, pathToFileURL: pathToFileURL$1 } = require$$2;\nlet { isAbsolute, resolve: resolve$1 } = require$$2;\nlet { nanoid } = nonSecure;\nlet terminalHighlight = require$$2;\nlet CssSyntaxError$1 = cssSyntaxError;\nlet PreviousMap$1 = previousMap;\nlet fromOffsetCache = Symbol(\"fromOffsetCache\");\nlet sourceMapAvailable$1 = Boolean(SourceMapConsumer$1 && SourceMapGenerator$1);\nlet pathAvailable$1 = Boolean(resolve$1 && isAbsolute);\nlet Input$4 = class Input2 {\n constructor(css, opts = {}) {\n if (css === null || typeof css === \"undefined\" || typeof css === \"object\" && !css.toString) {\n throw new Error(`PostCSS received ${css} instead of CSS string`);\n }\n this.css = css.toString();\n if (this.css[0] === \"\\uFEFF\" || this.css[0] === \"￾\") {\n this.hasBOM = true;\n this.css = this.css.slice(1);\n } else {\n this.hasBOM = false;\n }\n if (opts.from) {\n if (!pathAvailable$1 || /^\\w+:\\/\\//.test(opts.from) || isAbsolute(opts.from)) {\n this.file = opts.from;\n } else {\n this.file = resolve$1(opts.from);\n }\n }\n if (pathAvailable$1 && sourceMapAvailable$1) {\n let map = new PreviousMap$1(this.css, opts);\n if (map.text) {\n this.map = map;\n let file = map.consumer().file;\n if (!this.file && file) this.file = this.mapResolve(file);\n }\n }\n if (!this.file) {\n this.id = \"<input css \" + nanoid(6) + \">\";\n }\n if (this.map) this.map.file = this.from;\n }\n error(message, line, column, opts = {}) {\n let result2, endLine, endColumn;\n if (line && typeof line === \"object\") {\n let start = line;\n let end = column;\n if (typeof start.offset === \"number\") {\n let pos = this.fromOffset(start.offset);\n line = pos.line;\n column = pos.col;\n } else {\n line = start.line;\n column = start.column;\n }\n if (typeof end.offset === \"number\") {\n let pos = this.fromOffset(end.offset);\n endLine = pos.line;\n endColumn = pos.col;\n } else {\n endLine = end.line;\n endColumn = end.column;\n }\n } else if (!column) {\n let pos = this.fromOffset(line);\n line = pos.line;\n column = pos.col;\n }\n let origin = this.origin(line, column, endLine, endColumn);\n if (origin) {\n result2 = new CssSyntaxError$1(\n message,\n origin.endLine === void 0 ? origin.line : { column: origin.column, line: origin.line },\n origin.endLine === void 0 ? origin.column : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n );\n } else {\n result2 = new CssSyntaxError$1(\n message,\n endLine === void 0 ? line : { column, line },\n endLine === void 0 ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n );\n }\n result2.input = { column, endColumn, endLine, line, source: this.css };\n if (this.file) {\n if (pathToFileURL$1) {\n result2.input.url = pathToFileURL$1(this.file).toString();\n }\n result2.input.file = this.file;\n }\n return result2;\n }\n fromOffset(offset) {\n let lastLine, lineToIndex;\n if (!this[fromOffsetCache]) {\n let lines = this.css.split(\"\\n\");\n lineToIndex = new Array(lines.length);\n let prevIndex = 0;\n for (let i2 = 0, l2 = lines.length; i2 < l2; i2++) {\n lineToIndex[i2] = prevIndex;\n prevIndex += lines[i2].length + 1;\n }\n this[fromOffsetCache] = lineToIndex;\n } else {\n lineToIndex = this[fromOffsetCache];\n }\n lastLine = lineToIndex[lineToIndex.length - 1];\n let min = 0;\n if (offset >= lastLine) {\n min = lineToIndex.length - 1;\n } else {\n let max = lineToIndex.length - 2;\n let mid;\n while (min < max) {\n mid = min + (max - min >> 1);\n if (offset < lineToIndex[mid]) {\n max = mid - 1;\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1;\n } else {\n min = mid;\n break;\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n };\n }\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file;\n }\n return resolve$1(this.map.consumer().sourceRoot || this.map.root || \".\", file);\n }\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false;\n let consumer = this.map.consumer();\n let from = consumer.originalPositionFor({ column, line });\n if (!from.source) return false;\n let to;\n if (typeof endLine === \"number\") {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine });\n }\n let fromUrl;\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL$1(from.source);\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL$1(this.map.mapFile)\n );\n }\n let result2 = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n };\n if (fromUrl.protocol === \"file:\") {\n if (fileURLToPath) {\n result2.file = fileURLToPath(fromUrl);\n } else {\n throw new Error(`file: protocol is not available in this PostCSS build`);\n }\n }\n let source = consumer.sourceContentFor(from.source);\n if (source) result2.source = source;\n return result2;\n }\n toJSON() {\n let json = {};\n for (let name of [\"hasBOM\", \"css\", \"file\", \"id\"]) {\n if (this[name] != null) {\n json[name] = this[name];\n }\n }\n if (this.map) {\n json.map = { ...this.map };\n if (json.map.consumerCache) {\n json.map.consumerCache = void 0;\n }\n }\n return json;\n }\n get from() {\n return this.file || this.id;\n }\n};\nvar input = Input$4;\nInput$4.default = Input$4;\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input$4);\n}\nlet { SourceMapConsumer, SourceMapGenerator } = require$$2;\nlet { dirname, relative, resolve, sep } = require$$2;\nlet { pathToFileURL } = require$$2;\nlet Input$3 = input;\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator);\nlet pathAvailable = Boolean(dirname && resolve && relative && sep);\nlet MapGenerator$2 = class MapGenerator2 {\n constructor(stringify2, root2, opts, cssString) {\n this.stringify = stringify2;\n this.mapOpts = opts.map || {};\n this.root = root2;\n this.opts = opts;\n this.css = cssString;\n this.originalCSS = cssString;\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n this.memoizedFileURLs = /* @__PURE__ */ new Map();\n this.memoizedPaths = /* @__PURE__ */ new Map();\n this.memoizedURLs = /* @__PURE__ */ new Map();\n }\n addAnnotation() {\n let content;\n if (this.isInline()) {\n content = \"data:application/json;base64,\" + this.toBase64(this.map.toString());\n } else if (typeof this.mapOpts.annotation === \"string\") {\n content = this.mapOpts.annotation;\n } else if (typeof this.mapOpts.annotation === \"function\") {\n content = this.mapOpts.annotation(this.opts.to, this.root);\n } else {\n content = this.outputFile() + \".map\";\n }\n let eol = \"\\n\";\n if (this.css.includes(\"\\r\\n\")) eol = \"\\r\\n\";\n this.css += eol + \"/*# sourceMappingURL=\" + content + \" */\";\n }\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file));\n let root2 = prev.root || dirname(prev.file);\n let map;\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text);\n if (map.sourcesContent) {\n map.sourcesContent = null;\n }\n } else {\n map = prev.consumer();\n }\n this.map.applySourceMap(map, from, this.toUrl(this.path(root2)));\n }\n }\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return;\n if (this.root) {\n let node2;\n for (let i2 = this.root.nodes.length - 1; i2 >= 0; i2--) {\n node2 = this.root.nodes[i2];\n if (node2.type !== \"comment\") continue;\n if (node2.text.indexOf(\"# sourceMappingURL=\") === 0) {\n this.root.removeChild(i2);\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, \"\");\n }\n }\n generate() {\n this.clearAnnotation();\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap();\n } else {\n let result2 = \"\";\n this.stringify(this.root, (i2) => {\n result2 += i2;\n });\n return [result2];\n }\n }\n generateMap() {\n if (this.root) {\n this.generateString();\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer();\n prev.file = this.outputFile();\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n });\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\"\n });\n }\n if (this.isSourcesContent()) this.setSourcesContent();\n if (this.root && this.previous().length > 0) this.applyPrevMaps();\n if (this.isAnnotation()) this.addAnnotation();\n if (this.isInline()) {\n return [this.css];\n } else {\n return [this.css, this.map];\n }\n }\n generateString() {\n this.css = \"\";\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n });\n let line = 1;\n let column = 1;\n let noSource = \"<no source>\";\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: \"\"\n };\n let lines, last;\n this.stringify(this.root, (str, node2, type) => {\n this.css += str;\n if (node2 && type !== \"end\") {\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n if (node2.source && node2.source.start) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.start.line;\n mapping.original.column = node2.source.start.column - 1;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n this.map.addMapping(mapping);\n }\n }\n lines = str.match(/\\n/g);\n if (lines) {\n line += lines.length;\n last = str.lastIndexOf(\"\\n\");\n column = str.length - last;\n } else {\n column += str.length;\n }\n if (node2 && type !== \"start\") {\n let p = node2.parent || { raws: {} };\n let childless = node2.type === \"decl\" || node2.type === \"atrule\" && !node2.nodes;\n if (!childless || node2 !== p.last || p.raws.semicolon) {\n if (node2.source && node2.source.end) {\n mapping.source = this.sourcePath(node2);\n mapping.original.line = node2.source.end.line;\n mapping.original.column = node2.source.end.column - 1;\n mapping.generated.line = line;\n mapping.generated.column = column - 2;\n this.map.addMapping(mapping);\n } else {\n mapping.source = noSource;\n mapping.original.line = 1;\n mapping.original.column = 0;\n mapping.generated.line = line;\n mapping.generated.column = column - 1;\n this.map.addMapping(mapping);\n }\n }\n }\n });\n }\n isAnnotation() {\n if (this.isInline()) {\n return true;\n }\n if (typeof this.mapOpts.annotation !== \"undefined\") {\n return this.mapOpts.annotation;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.annotation);\n }\n return true;\n }\n isInline() {\n if (typeof this.mapOpts.inline !== \"undefined\") {\n return this.mapOpts.inline;\n }\n let annotation = this.mapOpts.annotation;\n if (typeof annotation !== \"undefined\" && annotation !== true) {\n return false;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.inline);\n }\n return true;\n }\n isMap() {\n if (typeof this.opts.map !== \"undefined\") {\n return !!this.opts.map;\n }\n return this.previous().length > 0;\n }\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== \"undefined\") {\n return this.mapOpts.sourcesContent;\n }\n if (this.previous().length) {\n return this.previous().some((i2) => i2.withContent());\n }\n return true;\n }\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to);\n } else if (this.opts.from) {\n return this.path(this.opts.from);\n } else {\n return \"to.css\";\n }\n }\n path(file) {\n if (this.mapOpts.absolute) return file;\n if (file.charCodeAt(0) === 60) return file;\n if (/^\\w+:\\/\\//.test(file)) return file;\n let cached = this.memoizedPaths.get(file);\n if (cached) return cached;\n let from = this.opts.to ? dirname(this.opts.to) : \".\";\n if (typeof this.mapOpts.annotation === \"string\") {\n from = dirname(resolve(from, this.mapOpts.annotation));\n }\n let path = relative(from, file);\n this.memoizedPaths.set(file, path);\n return path;\n }\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = [];\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source && node2.source.input.map) {\n let map = node2.source.input.map;\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map);\n }\n }\n });\n } else {\n let input2 = new Input$3(this.originalCSS, this.opts);\n if (input2.map) this.previousMaps.push(input2.map);\n }\n }\n return this.previousMaps;\n }\n setSourcesContent() {\n let already = {};\n if (this.root) {\n this.root.walk((node2) => {\n if (node2.source) {\n let from = node2.source.input.from;\n if (from && !already[from]) {\n already[from] = true;\n let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n this.map.setSourceContent(fromUrl, node2.source.input.css);\n }\n }\n });\n } else if (this.css) {\n let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : \"<no source>\";\n this.map.setSourceContent(from, this.css);\n }\n }\n sourcePath(node2) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from);\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node2.source.input.from);\n } else {\n return this.toUrl(this.path(node2.source.input.from));\n }\n }\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString(\"base64\");\n } else {\n return window.btoa(unescape(encodeURIComponent(str)));\n }\n }\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path);\n if (cached) return cached;\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString();\n this.memoizedFileURLs.set(path, fileURL);\n return fileURL;\n } else {\n throw new Error(\n \"`map.absolute` option is not available in this PostCSS build\"\n );\n }\n }\n toUrl(path) {\n let cached = this.memoizedURLs.get(path);\n if (cached) return cached;\n if (sep === \"\\\\\") {\n path = path.replace(/\\\\/g, \"/\");\n }\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n this.memoizedURLs.set(path, url);\n return url;\n }\n};\nvar mapGenerator = MapGenerator$2;\nlet Node$2 = node;\nlet Comment$4 = class Comment2 extends Node$2 {\n constructor(defaults) {\n super(defaults);\n this.type = \"comment\";\n }\n};\nvar comment = Comment$4;\nComment$4.default = Comment$4;\nlet { isClean: isClean$1, my: my$1 } = symbols;\nlet Declaration$3 = declaration;\nlet Comment$3 = comment;\nlet Node$1 = node;\nlet parse$4, Rule$4, AtRule$4, Root$6;\nfunction cleanSource(nodes) {\n return nodes.map((i2) => {\n if (i2.nodes) i2.nodes = cleanSource(i2.nodes);\n delete i2.source;\n return i2;\n });\n}\nfunction markDirtyUp(node2) {\n node2[isClean$1] = false;\n if (node2.proxyOf.nodes) {\n for (let i2 of node2.proxyOf.nodes) {\n markDirtyUp(i2);\n }\n }\n}\nlet Container$7 = class Container2 extends Node$1 {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last);\n for (let node2 of nodes) this.proxyOf.nodes.push(node2);\n }\n this.markDirty();\n return this;\n }\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween);\n if (this.nodes) {\n for (let node2 of this.nodes) node2.cleanRaws(keepBetween);\n }\n }\n each(callback) {\n if (!this.proxyOf.nodes) return void 0;\n let iterator = this.getIterator();\n let index2, result2;\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index2 = this.indexes[iterator];\n result2 = callback(this.proxyOf.nodes[index2], index2);\n if (result2 === false) break;\n this.indexes[iterator] += 1;\n }\n delete this.indexes[iterator];\n return result2;\n }\n every(condition) {\n return this.nodes.every(condition);\n }\n getIterator() {\n if (!this.lastEach) this.lastEach = 0;\n if (!this.indexes) this.indexes = {};\n this.lastEach += 1;\n let iterator = this.lastEach;\n this.indexes[iterator] = 0;\n return iterator;\n }\n getProxyProcessor() {\n return {\n get(node2, prop) {\n if (prop === \"proxyOf\") {\n return node2;\n } else if (!node2[prop]) {\n return node2[prop];\n } else if (prop === \"each\" || typeof prop === \"string\" && prop.startsWith(\"walk\")) {\n return (...args) => {\n return node2[prop](\n ...args.map((i2) => {\n if (typeof i2 === \"function\") {\n return (child, index2) => i2(child.toProxy(), index2);\n } else {\n return i2;\n }\n })\n );\n };\n } else if (prop === \"every\" || prop === \"some\") {\n return (cb) => {\n return node2[prop](\n (child, ...other) => cb(child.toProxy(), ...other)\n );\n };\n } else if (prop === \"root\") {\n return () => node2.root().toProxy();\n } else if (prop === \"nodes\") {\n return node2.nodes.map((i2) => i2.toProxy());\n } else if (prop === \"first\" || prop === \"last\") {\n return node2[prop].toProxy();\n } else {\n return node2[prop];\n }\n },\n set(node2, prop, value) {\n if (node2[prop] === value) return true;\n node2[prop] = value;\n if (prop === \"name\" || prop === \"params\" || prop === \"selector\") {\n node2.markDirty();\n }\n return true;\n }\n };\n }\n index(child) {\n if (typeof child === \"number\") return child;\n if (child.proxyOf) child = child.proxyOf;\n return this.proxyOf.nodes.indexOf(child);\n }\n insertAfter(exist, add) {\n let existIndex = this.index(exist);\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex < index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n insertBefore(exist, add) {\n let existIndex = this.index(exist);\n let type = existIndex === 0 ? \"prepend\" : false;\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n existIndex = this.index(exist);\n for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (existIndex <= index2) {\n this.indexes[id] = index2 + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n normalize(nodes, sample) {\n if (typeof nodes === \"string\") {\n nodes = cleanSource(parse$4(nodes).nodes);\n } else if (typeof nodes === \"undefined\") {\n nodes = [];\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type === \"root\" && this.type !== \"document\") {\n nodes = nodes.nodes.slice(0);\n for (let i2 of nodes) {\n if (i2.parent) i2.parent.removeChild(i2, \"ignore\");\n }\n } else if (nodes.type) {\n nodes = [nodes];\n } else if (nodes.prop) {\n if (typeof nodes.value === \"undefined\") {\n throw new Error(\"Value field is missed in node creation\");\n } else if (typeof nodes.value !== \"string\") {\n nodes.value = String(nodes.value);\n }\n nodes = [new Declaration$3(nodes)];\n } else if (nodes.selector) {\n nodes = [new Rule$4(nodes)];\n } else if (nodes.name) {\n nodes = [new AtRule$4(nodes)];\n } else if (nodes.text) {\n nodes = [new Comment$3(nodes)];\n } else {\n throw new Error(\"Unknown node type in node creation\");\n }\n let processed = nodes.map((i2) => {\n if (!i2[my$1]) Container2.rebuild(i2);\n i2 = i2.proxyOf;\n if (i2.parent) i2.parent.removeChild(i2);\n if (i2[isClean$1]) markDirtyUp(i2);\n if (typeof i2.raws.before === \"undefined\") {\n if (sample && typeof sample.raws.before !== \"undefined\") {\n i2.raws.before = sample.raws.before.replace(/\\S/g, \"\");\n }\n }\n i2.parent = this.proxyOf;\n return i2;\n });\n return processed;\n }\n prepend(...children) {\n children = children.reverse();\n for (let child of children) {\n let nodes = this.normalize(child, this.first, \"prepend\").reverse();\n for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length;\n }\n }\n this.markDirty();\n return this;\n }\n push(child) {\n child.parent = this;\n this.proxyOf.nodes.push(child);\n return this;\n }\n removeAll() {\n for (let node2 of this.proxyOf.nodes) node2.parent = void 0;\n this.proxyOf.nodes = [];\n this.markDirty();\n return this;\n }\n removeChild(child) {\n child = this.index(child);\n this.proxyOf.nodes[child].parent = void 0;\n this.proxyOf.nodes.splice(child, 1);\n let index2;\n for (let id in this.indexes) {\n index2 = this.indexes[id];\n if (index2 >= child) {\n this.indexes[id] = index2 - 1;\n }\n }\n this.markDirty();\n return this;\n }\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts;\n opts = {};\n }\n this.walkDecls((decl) => {\n if (opts.props && !opts.props.includes(decl.prop)) return;\n if (opts.fast && !decl.value.includes(opts.fast)) return;\n decl.value = decl.value.replace(pattern, callback);\n });\n this.markDirty();\n return this;\n }\n some(condition) {\n return this.nodes.some(condition);\n }\n walk(callback) {\n return this.each((child, i2) => {\n let result2;\n try {\n result2 = callback(child, i2);\n } catch (e2) {\n throw child.addToError(e2);\n }\n if (result2 !== false && child.walk) {\n result2 = child.walk(callback);\n }\n return result2;\n });\n }\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name;\n return this.walk((child, i2) => {\n if (child.type === \"atrule\") {\n return callback(child, i2);\n }\n });\n }\n if (name instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && name.test(child.name)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"atrule\" && child.name === name) {\n return callback(child, i2);\n }\n });\n }\n walkComments(callback) {\n return this.walk((child, i2) => {\n if (child.type === \"comment\") {\n return callback(child, i2);\n }\n });\n }\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop;\n return this.walk((child, i2) => {\n if (child.type === \"decl\") {\n return callback(child, i2);\n }\n });\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && prop.test(child.prop)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"decl\" && child.prop === prop) {\n return callback(child, i2);\n }\n });\n }\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector;\n return this.walk((child, i2) => {\n if (child.type === \"rule\") {\n return callback(child, i2);\n }\n });\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && selector.test(child.selector)) {\n return callback(child, i2);\n }\n });\n }\n return this.walk((child, i2) => {\n if (child.type === \"rule\" && child.selector === selector) {\n return callback(child, i2);\n }\n });\n }\n get first() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[0];\n }\n get last() {\n if (!this.proxyOf.nodes) return void 0;\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n }\n};\nContainer$7.registerParse = (dependant) => {\n parse$4 = dependant;\n};\nContainer$7.registerRule = (dependant) => {\n Rule$4 = dependant;\n};\nContainer$7.registerAtRule = (dependant) => {\n AtRule$4 = dependant;\n};\nContainer$7.registerRoot = (dependant) => {\n Root$6 = dependant;\n};\nvar container = Container$7;\nContainer$7.default = Container$7;\nContainer$7.rebuild = (node2) => {\n if (node2.type === \"atrule\") {\n Object.setPrototypeOf(node2, AtRule$4.prototype);\n } else if (node2.type === \"rule\") {\n Object.setPrototypeOf(node2, Rule$4.prototype);\n } else if (node2.type === \"decl\") {\n Object.setPrototypeOf(node2, Declaration$3.prototype);\n } else if (node2.type === \"comment\") {\n Object.setPrototypeOf(node2, Comment$3.prototype);\n } else if (node2.type === \"root\") {\n Object.setPrototypeOf(node2, Root$6.prototype);\n }\n node2[my$1] = true;\n if (node2.nodes) {\n node2.nodes.forEach((child) => {\n Container$7.rebuild(child);\n });\n }\n};\nlet Container$6 = container;\nlet LazyResult$4, Processor$3;\nlet Document$3 = class Document23 extends Container$6 {\n constructor(defaults) {\n super({ type: \"document\", ...defaults });\n if (!this.nodes) {\n this.nodes = [];\n }\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$4(new Processor$3(), this, opts);\n return lazy.stringify();\n }\n};\nDocument$3.registerLazyResult = (dependant) => {\n LazyResult$4 = dependant;\n};\nDocument$3.registerProcessor = (dependant) => {\n Processor$3 = dependant;\n};\nvar document$1 = Document$3;\nDocument$3.default = Document$3;\nlet printed = {};\nvar warnOnce$2 = function warnOnce2(message) {\n if (printed[message]) return;\n printed[message] = true;\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(message);\n }\n};\nlet Warning$2 = class Warning2 {\n constructor(text, opts = {}) {\n this.type = \"warning\";\n this.text = text;\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts);\n this.line = range.start.line;\n this.column = range.start.column;\n this.endLine = range.end.line;\n this.endColumn = range.end.column;\n }\n for (let opt in opts) this[opt] = opts[opt];\n }\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message;\n }\n if (this.plugin) {\n return this.plugin + \": \" + this.text;\n }\n return this.text;\n }\n};\nvar warning = Warning$2;\nWarning$2.default = Warning$2;\nlet Warning$1 = warning;\nlet Result$3 = class Result2 {\n constructor(processor2, root2, opts) {\n this.processor = processor2;\n this.messages = [];\n this.root = root2;\n this.opts = opts;\n this.css = void 0;\n this.map = void 0;\n }\n toString() {\n return this.css;\n }\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin;\n }\n }\n let warning2 = new Warning$1(text, opts);\n this.messages.push(warning2);\n return warning2;\n }\n warnings() {\n return this.messages.filter((i2) => i2.type === \"warning\");\n }\n get content() {\n return this.css;\n }\n};\nvar result = Result$3;\nResult$3.default = Result$3;\nconst SINGLE_QUOTE = \"'\".charCodeAt(0);\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0);\nconst BACKSLASH = \"\\\\\".charCodeAt(0);\nconst SLASH = \"/\".charCodeAt(0);\nconst NEWLINE = \"\\n\".charCodeAt(0);\nconst SPACE = \" \".charCodeAt(0);\nconst FEED = \"\\f\".charCodeAt(0);\nconst TAB = \"\t\".charCodeAt(0);\nconst CR = \"\\r\".charCodeAt(0);\nconst OPEN_SQUARE = \"[\".charCodeAt(0);\nconst CLOSE_SQUARE = \"]\".charCodeAt(0);\nconst OPEN_PARENTHESES = \"(\".charCodeAt(0);\nconst CLOSE_PARENTHESES = \")\".charCodeAt(0);\nconst OPEN_CURLY = \"{\".charCodeAt(0);\nconst CLOSE_CURLY = \"}\".charCodeAt(0);\nconst SEMICOLON = \";\".charCodeAt(0);\nconst ASTERISK = \"*\".charCodeAt(0);\nconst COLON = \":\".charCodeAt(0);\nconst AT = \"@\".charCodeAt(0);\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/;\nconst RE_HEX_ESCAPE = /[\\da-f]/i;\nvar tokenize = function tokenizer2(input2, options = {}) {\n let css = input2.css.valueOf();\n let ignore = options.ignoreErrors;\n let code, next, quote, content, escape;\n let escaped, escapePos, prev, n2, currentToken;\n let length = css.length;\n let pos = 0;\n let buffer = [];\n let returned = [];\n function position() {\n return pos;\n }\n function unclosed(what) {\n throw input2.error(\"Unclosed \" + what, pos);\n }\n function endOfFile() {\n return returned.length === 0 && pos >= length;\n }\n function nextToken(opts) {\n if (returned.length) return returned.pop();\n if (pos >= length) return;\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n code = css.charCodeAt(pos);\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos;\n do {\n next += 1;\n code = css.charCodeAt(next);\n } while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED);\n currentToken = [\"space\", css.slice(pos, next)];\n pos = next - 1;\n break;\n }\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code);\n currentToken = [controlChar, controlChar, pos];\n break;\n }\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : \"\";\n n2 = css.charCodeAt(pos + 1);\n if (prev === \"url\" && n2 !== SINGLE_QUOTE && n2 !== DOUBLE_QUOTE && n2 !== SPACE && n2 !== NEWLINE && n2 !== TAB && n2 !== FEED && n2 !== CR) {\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(\")\", next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos;\n break;\n } else {\n unclosed(\"bracket\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"brackets\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n next = css.indexOf(\")\", pos + 1);\n content = css.slice(pos, next + 1);\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = [\"(\", \"(\", pos];\n } else {\n currentToken = [\"brackets\", content, pos, next];\n pos = next;\n }\n }\n break;\n }\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"';\n next = pos;\n do {\n escaped = false;\n next = css.indexOf(quote, next + 1);\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1;\n break;\n } else {\n unclosed(\"string\");\n }\n }\n escapePos = next;\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1;\n escaped = !escaped;\n }\n } while (escaped);\n currentToken = [\"string\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case AT: {\n RE_AT_END.lastIndex = pos + 1;\n RE_AT_END.test(css);\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_AT_END.lastIndex - 2;\n }\n currentToken = [\"at-word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n case BACKSLASH: {\n next = pos;\n escape = true;\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1;\n escape = !escape;\n }\n code = css.charCodeAt(next + 1);\n if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) {\n next += 1;\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1;\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1;\n }\n }\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n pos = next;\n break;\n }\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf(\"*/\", pos + 2) + 1;\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length;\n } else {\n unclosed(\"comment\");\n }\n }\n currentToken = [\"comment\", css.slice(pos, next + 1), pos, next];\n pos = next;\n } else {\n RE_WORD_END.lastIndex = pos + 1;\n RE_WORD_END.test(css);\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1;\n } else {\n next = RE_WORD_END.lastIndex - 2;\n }\n currentToken = [\"word\", css.slice(pos, next + 1), pos, next];\n buffer.push(currentToken);\n pos = next;\n }\n break;\n }\n }\n pos++;\n return currentToken;\n }\n function back(token) {\n returned.push(token);\n }\n return {\n back,\n endOfFile,\n nextToken,\n position\n };\n};\nlet Container$5 = container;\nlet AtRule$3 = class AtRule2 extends Container$5 {\n constructor(defaults) {\n super(defaults);\n this.type = \"atrule\";\n }\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.append(...children);\n }\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = [];\n return super.prepend(...children);\n }\n};\nvar atRule = AtRule$3;\nAtRule$3.default = AtRule$3;\nContainer$5.registerAtRule(AtRule$3);\nlet Container$4 = container;\nlet LazyResult$3, Processor$2;\nlet Root$5 = class Root2 extends Container$4 {\n constructor(defaults) {\n super(defaults);\n this.type = \"root\";\n if (!this.nodes) this.nodes = [];\n }\n normalize(child, sample, type) {\n let nodes = super.normalize(child);\n if (sample) {\n if (type === \"prepend\") {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before;\n } else {\n delete sample.raws.before;\n }\n } else if (this.first !== sample) {\n for (let node2 of nodes) {\n node2.raws.before = sample.raws.before;\n }\n }\n }\n return nodes;\n }\n removeChild(child, ignore) {\n let index2 = this.index(child);\n if (!ignore && index2 === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index2].raws.before;\n }\n return super.removeChild(child);\n }\n toResult(opts = {}) {\n let lazy = new LazyResult$3(new Processor$2(), this, opts);\n return lazy.stringify();\n }\n};\nRoot$5.registerLazyResult = (dependant) => {\n LazyResult$3 = dependant;\n};\nRoot$5.registerProcessor = (dependant) => {\n Processor$2 = dependant;\n};\nvar root = Root$5;\nRoot$5.default = Root$5;\nContainer$4.registerRoot(Root$5);\nlet list$2 = {\n comma(string) {\n return list$2.split(string, [\",\"], true);\n },\n space(string) {\n let spaces = [\" \", \"\\n\", \"\t\"];\n return list$2.split(string, spaces);\n },\n split(string, separators, last) {\n let array = [];\n let current = \"\";\n let split = false;\n let func = 0;\n let inQuote = false;\n let prevQuote = \"\";\n let escape = false;\n for (let letter of string) {\n if (escape) {\n escape = false;\n } else if (letter === \"\\\\\") {\n escape = true;\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false;\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true;\n prevQuote = letter;\n } else if (letter === \"(\") {\n func += 1;\n } else if (letter === \")\") {\n if (func > 0) func -= 1;\n } else if (func === 0) {\n if (separators.includes(letter)) split = true;\n }\n if (split) {\n if (current !== \"\") array.push(current.trim());\n current = \"\";\n split = false;\n } else {\n current += letter;\n }\n }\n if (last || current !== \"\") array.push(current.trim());\n return array;\n }\n};\nvar list_1 = list$2;\nlist$2.default = list$2;\nlet Container$3 = container;\nlet list$1 = list_1;\nlet Rule$3 = class Rule2 extends Container$3 {\n constructor(defaults) {\n super(defaults);\n this.type = \"rule\";\n if (!this.nodes) this.nodes = [];\n }\n get selectors() {\n return list$1.comma(this.selector);\n }\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null;\n let sep2 = match ? match[0] : \",\" + this.raw(\"between\", \"beforeOpen\");\n this.selector = values.join(sep2);\n }\n};\nvar rule = Rule$3;\nRule$3.default = Rule$3;\nContainer$3.registerRule(Rule$3);\nlet Declaration$2 = declaration;\nlet tokenizer22 = tokenize;\nlet Comment$2 = comment;\nlet AtRule$2 = atRule;\nlet Root$4 = root;\nlet Rule$2 = rule;\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n};\nfunction findLastWithPosition(tokens) {\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n let token = tokens[i2];\n let pos = token[3] || token[2];\n if (pos) return pos;\n }\n}\nlet Parser$1 = class Parser2 {\n constructor(input2) {\n this.input = input2;\n this.root = new Root$4();\n this.current = this.root;\n this.spaces = \"\";\n this.semicolon = false;\n this.createTokenizer();\n this.root.source = { input: input2, start: { column: 1, line: 1, offset: 0 } };\n }\n atrule(token) {\n let node2 = new AtRule$2();\n node2.name = token[1].slice(1);\n if (node2.name === \"\") {\n this.unnamedAtrule(node2, token);\n }\n this.init(node2, token[2]);\n let type;\n let prev;\n let shift;\n let last = false;\n let open = false;\n let params = [];\n let brackets = [];\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n type = token[0];\n if (type === \"(\" || type === \"[\") {\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (type === \"{\" && brackets.length > 0) {\n brackets.push(\"}\");\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n }\n if (brackets.length === 0) {\n if (type === \";\") {\n node2.source.end = this.getPosition(token[2]);\n node2.source.end.offset++;\n this.semicolon = true;\n break;\n } else if (type === \"{\") {\n open = true;\n break;\n } else if (type === \"}\") {\n if (params.length > 0) {\n shift = params.length - 1;\n prev = params[shift];\n while (prev && prev[0] === \"space\") {\n prev = params[--shift];\n }\n if (prev) {\n node2.source.end = this.getPosition(prev[3] || prev[2]);\n node2.source.end.offset++;\n }\n }\n this.end(token);\n break;\n } else {\n params.push(token);\n }\n } else {\n params.push(token);\n }\n if (this.tokenizer.endOfFile()) {\n last = true;\n break;\n }\n }\n node2.raws.between = this.spacesAndCommentsFromEnd(params);\n if (params.length) {\n node2.raws.afterName = this.spacesAndCommentsFromStart(params);\n this.raw(node2, \"params\", params);\n if (last) {\n token = params[params.length - 1];\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n this.spaces = node2.raws.between;\n node2.raws.between = \"\";\n }\n } else {\n node2.raws.afterName = \"\";\n node2.params = \"\";\n }\n if (open) {\n node2.nodes = [];\n this.current = node2;\n }\n }\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens);\n if (colon === false) return;\n let founded = 0;\n let token;\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j];\n if (token[0] !== \"space\") {\n founded += 1;\n if (founded === 2) break;\n }\n }\n throw this.input.error(\n \"Missed semicolon\",\n token[0] === \"word\" ? token[3] + 1 : token[2]\n );\n }\n colon(tokens) {\n let brackets = 0;\n let token, type, prev;\n for (let [i2, element] of tokens.entries()) {\n token = element;\n type = token[0];\n if (type === \"(\") {\n brackets += 1;\n }\n if (type === \")\") {\n brackets -= 1;\n }\n if (brackets === 0 && type === \":\") {\n if (!prev) {\n this.doubleColon(token);\n } else if (prev[0] === \"word\" && prev[1] === \"progid\") {\n continue;\n } else {\n return i2;\n }\n }\n prev = token;\n }\n return false;\n }\n comment(token) {\n let node2 = new Comment$2();\n this.init(node2, token[2]);\n node2.source.end = this.getPosition(token[3] || token[2]);\n node2.source.end.offset++;\n let text = token[1].slice(2, -2);\n if (/^\\s*$/.test(text)) {\n node2.text = \"\";\n node2.raws.left = text;\n node2.raws.right = \"\";\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n node2.text = match[2];\n node2.raws.left = match[1];\n node2.raws.right = match[3];\n }\n }\n createTokenizer() {\n this.tokenizer = tokenizer22(this.input);\n }\n decl(tokens, customProperty) {\n let node2 = new Declaration$2();\n this.init(node2, tokens[0][2]);\n let last = tokens[tokens.length - 1];\n if (last[0] === \";\") {\n this.semicolon = true;\n tokens.pop();\n }\n node2.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n );\n node2.source.end.offset++;\n while (tokens[0][0] !== \"word\") {\n if (tokens.length === 1) this.unknownWord(tokens);\n node2.raws.before += tokens.shift()[1];\n }\n node2.source.start = this.getPosition(tokens[0][2]);\n node2.prop = \"\";\n while (tokens.length) {\n let type = tokens[0][0];\n if (type === \":\" || type === \"space\" || type === \"comment\") {\n break;\n }\n node2.prop += tokens.shift()[1];\n }\n node2.raws.between = \"\";\n let token;\n while (tokens.length) {\n token = tokens.shift();\n if (token[0] === \":\") {\n node2.raws.between += token[1];\n break;\n } else {\n if (token[0] === \"word\" && /\\w/.test(token[1])) {\n this.unknownWord([token]);\n }\n node2.raws.between += token[1];\n }\n }\n if (node2.prop[0] === \"_\" || node2.prop[0] === \"*\") {\n node2.raws.before += node2.prop[0];\n node2.prop = node2.prop.slice(1);\n }\n let firstSpaces = [];\n let next;\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n firstSpaces.push(tokens.shift());\n }\n this.precheckMissedSemicolon(tokens);\n for (let i2 = tokens.length - 1; i2 >= 0; i2--) {\n token = tokens[i2];\n if (token[1].toLowerCase() === \"!important\") {\n node2.important = true;\n let string = this.stringFrom(tokens, i2);\n string = this.spacesFromEnd(tokens) + string;\n if (string !== \" !important\") node2.raws.important = string;\n break;\n } else if (token[1].toLowerCase() === \"important\") {\n let cache = tokens.slice(0);\n let str = \"\";\n for (let j = i2; j > 0; j--) {\n let type = cache[j][0];\n if (str.trim().indexOf(\"!\") === 0 && type !== \"space\") {\n break;\n }\n str = cache.pop()[1] + str;\n }\n if (str.trim().indexOf(\"!\") === 0) {\n node2.important = true;\n node2.raws.important = str;\n tokens = cache;\n }\n }\n if (token[0] !== \"space\" && token[0] !== \"comment\") {\n break;\n }\n }\n let hasWord = tokens.some((i2) => i2[0] !== \"space\" && i2[0] !== \"comment\");\n if (hasWord) {\n node2.raws.between += firstSpaces.map((i2) => i2[1]).join(\"\");\n firstSpaces = [];\n }\n this.raw(node2, \"value\", firstSpaces.concat(tokens), customProperty);\n if (node2.value.includes(\":\") && !customProperty) {\n this.checkMissedSemicolon(tokens);\n }\n }\n doubleColon(token) {\n throw this.input.error(\n \"Double colon\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n emptyRule(token) {\n let node2 = new Rule$2();\n this.init(node2, token[2]);\n node2.selector = \"\";\n node2.raws.between = \"\";\n this.current = node2;\n }\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.semicolon = false;\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.spaces = \"\";\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2]);\n this.current.source.end.offset++;\n this.current = this.current.parent;\n } else {\n this.unexpectedClose(token);\n }\n }\n endFile() {\n if (this.current.parent) this.unclosedBlock();\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon;\n }\n this.current.raws.after = (this.current.raws.after || \"\") + this.spaces;\n this.root.source.end = this.getPosition(this.tokenizer.position());\n }\n freeSemicolon(token) {\n this.spaces += token[1];\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1];\n if (prev && prev.type === \"rule\" && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces;\n this.spaces = \"\";\n }\n }\n }\n // Helpers\n getPosition(offset) {\n let pos = this.input.fromOffset(offset);\n return {\n column: pos.col,\n line: pos.line,\n offset\n };\n }\n init(node2, offset) {\n this.current.push(node2);\n node2.source = {\n input: this.input,\n start: this.getPosition(offset)\n };\n node2.raws.before = this.spaces;\n this.spaces = \"\";\n if (node2.type !== \"comment\") this.semicolon = false;\n }\n other(start) {\n let end = false;\n let type = null;\n let colon = false;\n let bracket = null;\n let brackets = [];\n let customProperty = start[1].startsWith(\"--\");\n let tokens = [];\n let token = start;\n while (token) {\n type = token[0];\n tokens.push(token);\n if (type === \"(\" || type === \"[\") {\n if (!bracket) bracket = token;\n brackets.push(type === \"(\" ? \")\" : \"]\");\n } else if (customProperty && colon && type === \"{\") {\n if (!bracket) bracket = token;\n brackets.push(\"}\");\n } else if (brackets.length === 0) {\n if (type === \";\") {\n if (colon) {\n this.decl(tokens, customProperty);\n return;\n } else {\n break;\n }\n } else if (type === \"{\") {\n this.rule(tokens);\n return;\n } else if (type === \"}\") {\n this.tokenizer.back(tokens.pop());\n end = true;\n break;\n } else if (type === \":\") {\n colon = true;\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop();\n if (brackets.length === 0) bracket = null;\n }\n token = this.tokenizer.nextToken();\n }\n if (this.tokenizer.endOfFile()) end = true;\n if (brackets.length > 0) this.unclosedBracket(bracket);\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0];\n if (token !== \"space\" && token !== \"comment\") break;\n this.tokenizer.back(tokens.pop());\n }\n }\n this.decl(tokens, customProperty);\n } else {\n this.unknownWord(tokens);\n }\n }\n parse() {\n let token;\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken();\n switch (token[0]) {\n case \"space\":\n this.spaces += token[1];\n break;\n case \";\":\n this.freeSemicolon(token);\n break;\n case \"}\":\n this.end(token);\n break;\n case \"comment\":\n this.comment(token);\n break;\n case \"at-word\":\n this.atrule(token);\n break;\n case \"{\":\n this.emptyRule(token);\n break;\n default:\n this.other(token);\n break;\n }\n }\n this.endFile();\n }\n precheckMissedSemicolon() {\n }\n raw(node2, prop, tokens, customProperty) {\n let token, type;\n let length = tokens.length;\n let value = \"\";\n let clean = true;\n let next, prev;\n for (let i2 = 0; i2 < length; i2 += 1) {\n token = tokens[i2];\n type = token[0];\n if (type === \"space\" && i2 === length - 1 && !customProperty) {\n clean = false;\n } else if (type === \"comment\") {\n prev = tokens[i2 - 1] ? tokens[i2 - 1][0] : \"empty\";\n next = tokens[i2 + 1] ? tokens[i2 + 1][0] : \"empty\";\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === \",\") {\n clean = false;\n } else {\n value += token[1];\n }\n } else {\n clean = false;\n }\n } else {\n value += token[1];\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i2) => all + i2[1], \"\");\n node2.raws[prop] = { raw, value };\n }\n node2[prop] = value;\n }\n rule(tokens) {\n tokens.pop();\n let node2 = new Rule$2();\n this.init(node2, tokens[0][2]);\n node2.raws.between = this.spacesAndCommentsFromEnd(tokens);\n this.raw(node2, \"selector\", tokens);\n this.current = node2;\n }\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\" && lastTokenType !== \"comment\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n // Errors\n spacesAndCommentsFromStart(tokens) {\n let next;\n let spaces = \"\";\n while (tokens.length) {\n next = tokens[0][0];\n if (next !== \"space\" && next !== \"comment\") break;\n spaces += tokens.shift()[1];\n }\n return spaces;\n }\n spacesFromEnd(tokens) {\n let lastTokenType;\n let spaces = \"\";\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0];\n if (lastTokenType !== \"space\") break;\n spaces = tokens.pop()[1] + spaces;\n }\n return spaces;\n }\n stringFrom(tokens, from) {\n let result2 = \"\";\n for (let i2 = from; i2 < tokens.length; i2++) {\n result2 += tokens[i2][1];\n }\n tokens.splice(from, tokens.length - from);\n return result2;\n }\n unclosedBlock() {\n let pos = this.current.source.start;\n throw this.input.error(\"Unclosed block\", pos.line, pos.column);\n }\n unclosedBracket(bracket) {\n throw this.input.error(\n \"Unclosed bracket\",\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n );\n }\n unexpectedClose(token) {\n throw this.input.error(\n \"Unexpected }\",\n { offset: token[2] },\n { offset: token[2] + 1 }\n );\n }\n unknownWord(tokens) {\n throw this.input.error(\n \"Unknown word\",\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n );\n }\n unnamedAtrule(node2, token) {\n throw this.input.error(\n \"At-rule without name\",\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n );\n }\n};\nvar parser = Parser$1;\nlet Container$2 = container;\nlet Parser22 = parser;\nlet Input$2 = input;\nfunction parse$3(css, opts) {\n let input2 = new Input$2(css, opts);\n let parser2 = new Parser22(input2);\n try {\n parser2.parse();\n } catch (e2) {\n if (process.env.NODE_ENV !== \"production\") {\n if (e2.name === \"CssSyntaxError\" && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser\";\n } else if (/\\.sass/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser\";\n } else if (/\\.less$/i.test(opts.from)) {\n e2.message += \"\\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser\";\n }\n }\n }\n throw e2;\n }\n return parser2.root;\n}\nvar parse_1 = parse$3;\nparse$3.default = parse$3;\nContainer$2.registerParse(parse$3);\nlet { isClean, my } = symbols;\nlet MapGenerator$1 = mapGenerator;\nlet stringify$2 = stringify_1;\nlet Container$1 = container;\nlet Document$2 = document$1;\nlet warnOnce$1 = warnOnce$2;\nlet Result$2 = result;\nlet parse$2 = parse_1;\nlet Root$3 = root;\nconst TYPE_TO_CLASS_NAME = {\n atrule: \"AtRule\",\n comment: \"Comment\",\n decl: \"Declaration\",\n document: \"Document\",\n root: \"Root\",\n rule: \"Rule\"\n};\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n};\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n};\nconst CHILDREN = 0;\nfunction isPromise(obj) {\n return typeof obj === \"object\" && typeof obj.then === \"function\";\n}\nfunction getEvents(node2) {\n let key = false;\n let type = TYPE_TO_CLASS_NAME[node2.type];\n if (node2.type === \"decl\") {\n key = node2.prop.toLowerCase();\n } else if (node2.type === \"atrule\") {\n key = node2.name.toLowerCase();\n }\n if (key && node2.append) {\n return [\n type,\n type + \"-\" + key,\n CHILDREN,\n type + \"Exit\",\n type + \"Exit-\" + key\n ];\n } else if (key) {\n return [type, type + \"-\" + key, type + \"Exit\", type + \"Exit-\" + key];\n } else if (node2.append) {\n return [type, CHILDREN, type + \"Exit\"];\n } else {\n return [type, type + \"Exit\"];\n }\n}\nfunction toStack(node2) {\n let events;\n if (node2.type === \"document\") {\n events = [\"Document\", CHILDREN, \"DocumentExit\"];\n } else if (node2.type === \"root\") {\n events = [\"Root\", CHILDREN, \"RootExit\"];\n } else {\n events = getEvents(node2);\n }\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node: node2,\n visitorIndex: 0,\n visitors: []\n };\n}\nfunction cleanMarks(node2) {\n node2[isClean] = false;\n if (node2.nodes) node2.nodes.forEach((i2) => cleanMarks(i2));\n return node2;\n}\nlet postcss$2 = {};\nlet LazyResult$2 = class LazyResult2 {\n constructor(processor2, css, opts) {\n this.stringified = false;\n this.processed = false;\n let root2;\n if (typeof css === \"object\" && css !== null && (css.type === \"root\" || css.type === \"document\")) {\n root2 = cleanMarks(css);\n } else if (css instanceof LazyResult2 || css instanceof Result$2) {\n root2 = cleanMarks(css.root);\n if (css.map) {\n if (typeof opts.map === \"undefined\") opts.map = {};\n if (!opts.map.inline) opts.map.inline = false;\n opts.map.prev = css.map;\n }\n } else {\n let parser2 = parse$2;\n if (opts.syntax) parser2 = opts.syntax.parse;\n if (opts.parser) parser2 = opts.parser;\n if (parser2.parse) parser2 = parser2.parse;\n try {\n root2 = parser2(css, opts);\n } catch (error) {\n this.processed = true;\n this.error = error;\n }\n if (root2 && !root2[my]) {\n Container$1.rebuild(root2);\n }\n }\n this.result = new Result$2(processor2, root2, opts);\n this.helpers = { ...postcss$2, postcss: postcss$2, result: this.result };\n this.plugins = this.processor.plugins.map((plugin22) => {\n if (typeof plugin22 === \"object\" && plugin22.prepare) {\n return { ...plugin22, ...plugin22.prepare(this.result) };\n } else {\n return plugin22;\n }\n });\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n if (this.processed) return Promise.resolve(this.result);\n if (!this.processing) {\n this.processing = this.runAsync();\n }\n return this.processing;\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n getAsyncError() {\n throw new Error(\"Use process(css).then(cb) to work with async plugins\");\n }\n handleError(error, node2) {\n let plugin22 = this.result.lastPlugin;\n try {\n if (node2) node2.addToError(error);\n this.error = error;\n if (error.name === \"CssSyntaxError\" && !error.plugin) {\n error.plugin = plugin22.postcssPlugin;\n error.setMessage();\n } else if (plugin22.postcssVersion) {\n if (process.env.NODE_ENV !== \"production\") {\n let pluginName = plugin22.postcssPlugin;\n let pluginVer = plugin22.postcssVersion;\n let runtimeVer = this.result.processor.version;\n let a2 = pluginVer.split(\".\");\n let b = runtimeVer.split(\".\");\n if (a2[0] !== b[0] || parseInt(a2[1]) > parseInt(b[1])) {\n console.error(\n \"Unknown error from PostCSS plugin. Your current PostCSS version is \" + runtimeVer + \", but \" + pluginName + \" uses \" + pluginVer + \". Perhaps this is the source of the error below.\"\n );\n }\n }\n }\n } catch (err) {\n if (console && console.error) console.error(err);\n }\n return error;\n }\n prepareVisitors() {\n this.listeners = {};\n let add = (plugin22, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = [];\n this.listeners[type].push([plugin22, cb]);\n };\n for (let plugin22 of this.plugins) {\n if (typeof plugin22 === \"object\") {\n for (let event in plugin22) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin22.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`\n );\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin22[event] === \"object\") {\n for (let filter in plugin22[event]) {\n if (filter === \"*\") {\n add(plugin22, event, plugin22[event][filter]);\n } else {\n add(\n plugin22,\n event + \"-\" + filter.toLowerCase(),\n plugin22[event][filter]\n );\n }\n }\n } else if (typeof plugin22[event] === \"function\") {\n add(plugin22, event, plugin22[event]);\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0;\n }\n async runAsync() {\n this.plugin = 0;\n for (let i2 = 0; i2 < this.plugins.length; i2++) {\n let plugin22 = this.plugins[i2];\n let promise = this.runOnRoot(plugin22);\n if (isPromise(promise)) {\n try {\n await promise;\n } catch (error) {\n throw this.handleError(error);\n }\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean]) {\n root2[isClean] = true;\n let stack = [toStack(root2)];\n while (stack.length > 0) {\n let promise = this.visitTick(stack);\n if (isPromise(promise)) {\n try {\n await promise;\n } catch (e2) {\n let node2 = stack[stack.length - 1].node;\n throw this.handleError(e2, node2);\n }\n }\n }\n }\n if (this.listeners.OnceExit) {\n for (let [plugin22, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin22;\n try {\n if (root2.type === \"document\") {\n let roots = root2.nodes.map(\n (subRoot) => visitor(subRoot, this.helpers)\n );\n await Promise.all(roots);\n } else {\n await visitor(root2, this.helpers);\n }\n } catch (e2) {\n throw this.handleError(e2);\n }\n }\n }\n }\n this.processed = true;\n return this.stringify();\n }\n runOnRoot(plugin22) {\n this.result.lastPlugin = plugin22;\n try {\n if (typeof plugin22 === \"object\" && plugin22.Once) {\n if (this.result.root.type === \"document\") {\n let roots = this.result.root.nodes.map(\n (root2) => plugin22.Once(root2, this.helpers)\n );\n if (isPromise(roots[0])) {\n return Promise.all(roots);\n }\n return roots;\n }\n return plugin22.Once(this.result.root, this.helpers);\n } else if (typeof plugin22 === \"function\") {\n return plugin22(this.result.root, this.result);\n }\n } catch (error) {\n throw this.handleError(error);\n }\n }\n stringify() {\n if (this.error) throw this.error;\n if (this.stringified) return this.result;\n this.stringified = true;\n this.sync();\n let opts = this.result.opts;\n let str = stringify$2;\n if (opts.syntax) str = opts.syntax.stringify;\n if (opts.stringifier) str = opts.stringifier;\n if (str.stringify) str = str.stringify;\n let map = new MapGenerator$1(str, this.result.root, this.result.opts);\n let data = map.generate();\n this.result.css = data[0];\n this.result.map = data[1];\n return this.result;\n }\n sync() {\n if (this.error) throw this.error;\n if (this.processed) return this.result;\n this.processed = true;\n if (this.processing) {\n throw this.getAsyncError();\n }\n for (let plugin22 of this.plugins) {\n let promise = this.runOnRoot(plugin22);\n if (isPromise(promise)) {\n throw this.getAsyncError();\n }\n }\n this.prepareVisitors();\n if (this.hasListener) {\n let root2 = this.result.root;\n while (!root2[isClean]) {\n root2[isClean] = true;\n this.walkSync(root2);\n }\n if (this.listeners.OnceExit) {\n if (root2.type === \"document\") {\n for (let subRoot of root2.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot);\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root2);\n }\n }\n }\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this.opts)) {\n warnOnce$1(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this.css;\n }\n visitSync(visitors, node2) {\n for (let [plugin22, visitor] of visitors) {\n this.result.lastPlugin = plugin22;\n let promise;\n try {\n promise = visitor(node2, this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2.proxyOf);\n }\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n return true;\n }\n if (isPromise(promise)) {\n throw this.getAsyncError();\n }\n }\n }\n visitTick(stack) {\n let visit2 = stack[stack.length - 1];\n let { node: node2, visitors } = visit2;\n if (node2.type !== \"root\" && node2.type !== \"document\" && !node2.parent) {\n stack.pop();\n return;\n }\n if (visitors.length > 0 && visit2.visitorIndex < visitors.length) {\n let [plugin22, visitor] = visitors[visit2.visitorIndex];\n visit2.visitorIndex += 1;\n if (visit2.visitorIndex === visitors.length) {\n visit2.visitors = [];\n visit2.visitorIndex = 0;\n }\n this.result.lastPlugin = plugin22;\n try {\n return visitor(node2.toProxy(), this.helpers);\n } catch (e2) {\n throw this.handleError(e2, node2);\n }\n }\n if (visit2.iterator !== 0) {\n let iterator = visit2.iterator;\n let child;\n while (child = node2.nodes[node2.indexes[iterator]]) {\n node2.indexes[iterator] += 1;\n if (!child[isClean]) {\n child[isClean] = true;\n stack.push(toStack(child));\n return;\n }\n }\n visit2.iterator = 0;\n delete node2.indexes[iterator];\n }\n let events = visit2.events;\n while (visit2.eventIndex < events.length) {\n let event = events[visit2.eventIndex];\n visit2.eventIndex += 1;\n if (event === CHILDREN) {\n if (node2.nodes && node2.nodes.length) {\n node2[isClean] = true;\n visit2.iterator = node2.getIterator();\n }\n return;\n } else if (this.listeners[event]) {\n visit2.visitors = this.listeners[event];\n return;\n }\n }\n stack.pop();\n }\n walkSync(node2) {\n node2[isClean] = true;\n let events = getEvents(node2);\n for (let event of events) {\n if (event === CHILDREN) {\n if (node2.nodes) {\n node2.each((child) => {\n if (!child[isClean]) this.walkSync(child);\n });\n }\n } else {\n let visitors = this.listeners[event];\n if (visitors) {\n if (this.visitSync(visitors, node2.toProxy())) return;\n }\n }\n }\n }\n warnings() {\n return this.sync().warnings();\n }\n get content() {\n return this.stringify().content;\n }\n get css() {\n return this.stringify().css;\n }\n get map() {\n return this.stringify().map;\n }\n get messages() {\n return this.sync().messages;\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n return this.sync().root;\n }\n get [Symbol.toStringTag]() {\n return \"LazyResult\";\n }\n};\nLazyResult$2.registerPostcss = (dependant) => {\n postcss$2 = dependant;\n};\nvar lazyResult = LazyResult$2;\nLazyResult$2.default = LazyResult$2;\nRoot$3.registerLazyResult(LazyResult$2);\nDocument$2.registerLazyResult(LazyResult$2);\nlet MapGenerator22 = mapGenerator;\nlet stringify$1 = stringify_1;\nlet warnOnce22 = warnOnce$2;\nlet parse$1 = parse_1;\nconst Result$1 = result;\nlet NoWorkResult$1 = class NoWorkResult2 {\n constructor(processor2, css, opts) {\n css = css.toString();\n this.stringified = false;\n this._processor = processor2;\n this._css = css;\n this._opts = opts;\n this._map = void 0;\n let root2;\n let str = stringify$1;\n this.result = new Result$1(this._processor, root2, this._opts);\n this.result.css = css;\n let self = this;\n Object.defineProperty(this.result, \"root\", {\n get() {\n return self.root;\n }\n });\n let map = new MapGenerator22(str, root2, this._opts, css);\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate();\n if (generatedCSS) {\n this.result.css = generatedCSS;\n }\n if (generatedMap) {\n this.result.map = generatedMap;\n }\n } else {\n map.clearAnnotation();\n this.result.css = map.css;\n }\n }\n async() {\n if (this.error) return Promise.reject(this.error);\n return Promise.resolve(this.result);\n }\n catch(onRejected) {\n return this.async().catch(onRejected);\n }\n finally(onFinally) {\n return this.async().then(onFinally, onFinally);\n }\n sync() {\n if (this.error) throw this.error;\n return this.result;\n }\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!(\"from\" in this._opts)) {\n warnOnce22(\n \"Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.\"\n );\n }\n }\n return this.async().then(onFulfilled, onRejected);\n }\n toString() {\n return this._css;\n }\n warnings() {\n return [];\n }\n get content() {\n return this.result.css;\n }\n get css() {\n return this.result.css;\n }\n get map() {\n return this.result.map;\n }\n get messages() {\n return [];\n }\n get opts() {\n return this.result.opts;\n }\n get processor() {\n return this.result.processor;\n }\n get root() {\n if (this._root) {\n return this._root;\n }\n let root2;\n let parser2 = parse$1;\n try {\n root2 = parser2(this._css, this._opts);\n } catch (error) {\n this.error = error;\n }\n if (this.error) {\n throw this.error;\n } else {\n this._root = root2;\n return root2;\n }\n }\n get [Symbol.toStringTag]() {\n return \"NoWorkResult\";\n }\n};\nvar noWorkResult = NoWorkResult$1;\nNoWorkResult$1.default = NoWorkResult$1;\nlet NoWorkResult22 = noWorkResult;\nlet LazyResult$1 = lazyResult;\nlet Document$1 = document$1;\nlet Root$2 = root;\nlet Processor$1 = class Processor2 {\n constructor(plugins = []) {\n this.version = \"8.4.38\";\n this.plugins = this.normalize(plugins);\n }\n normalize(plugins) {\n let normalized = [];\n for (let i2 of plugins) {\n if (i2.postcss === true) {\n i2 = i2();\n } else if (i2.postcss) {\n i2 = i2.postcss;\n }\n if (typeof i2 === \"object\" && Array.isArray(i2.plugins)) {\n normalized = normalized.concat(i2.plugins);\n } else if (typeof i2 === \"object\" && i2.postcssPlugin) {\n normalized.push(i2);\n } else if (typeof i2 === \"function\") {\n normalized.push(i2);\n } else if (typeof i2 === \"object\" && (i2.parse || i2.stringify)) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.\"\n );\n }\n } else {\n throw new Error(i2 + \" is not a PostCSS plugin\");\n }\n }\n return normalized;\n }\n process(css, opts = {}) {\n if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n return new NoWorkResult22(this, css, opts);\n } else {\n return new LazyResult$1(this, css, opts);\n }\n }\n use(plugin22) {\n this.plugins = this.plugins.concat(this.normalize([plugin22]));\n return this;\n }\n};\nvar processor = Processor$1;\nProcessor$1.default = Processor$1;\nRoot$2.registerProcessor(Processor$1);\nDocument$1.registerProcessor(Processor$1);\nlet Declaration$1 = declaration;\nlet PreviousMap22 = previousMap;\nlet Comment$1 = comment;\nlet AtRule$1 = atRule;\nlet Input$1 = input;\nlet Root$1 = root;\nlet Rule$1 = rule;\nfunction fromJSON$1(json, inputs) {\n if (Array.isArray(json)) return json.map((n2) => fromJSON$1(n2));\n let { inputs: ownInputs, ...defaults } = json;\n if (ownInputs) {\n inputs = [];\n for (let input2 of ownInputs) {\n let inputHydrated = { ...input2, __proto__: Input$1.prototype };\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap22.prototype\n };\n }\n inputs.push(inputHydrated);\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map((n2) => fromJSON$1(n2, inputs));\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source;\n defaults.source = source;\n if (inputId != null) {\n defaults.source.input = inputs[inputId];\n }\n }\n if (defaults.type === \"root\") {\n return new Root$1(defaults);\n } else if (defaults.type === \"decl\") {\n return new Declaration$1(defaults);\n } else if (defaults.type === \"rule\") {\n return new Rule$1(defaults);\n } else if (defaults.type === \"comment\") {\n return new Comment$1(defaults);\n } else if (defaults.type === \"atrule\") {\n return new AtRule$1(defaults);\n } else {\n throw new Error(\"Unknown node type: \" + json.type);\n }\n}\nvar fromJSON_1 = fromJSON$1;\nfromJSON$1.default = fromJSON$1;\nlet CssSyntaxError22 = cssSyntaxError;\nlet Declaration22 = declaration;\nlet LazyResult22 = lazyResult;\nlet Container22 = container;\nlet Processor22 = processor;\nlet stringify = stringify_1;\nlet fromJSON = fromJSON_1;\nlet Document222 = document$1;\nlet Warning22 = warning;\nlet Comment22 = comment;\nlet AtRule22 = atRule;\nlet Result22 = result;\nlet Input22 = input;\nlet parse = parse_1;\nlet list = list_1;\nlet Rule22 = rule;\nlet Root22 = root;\nlet Node22 = node;\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0];\n }\n return new Processor22(plugins);\n}\npostcss.plugin = function plugin2(name, initializer) {\n let warningPrinted = false;\n function creator(...args) {\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true;\n console.warn(\n name + \": postcss.plugin was deprecated. Migration guide:\\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration\"\n );\n if (process.env.LANG && process.env.LANG.startsWith(\"cn\")) {\n console.warn(\n name + \": 里面 postcss.plugin 被弃用. 迁移指南:\\nhttps://www.w3ctech.com/topic/2226\"\n );\n }\n }\n let transformer = initializer(...args);\n transformer.postcssPlugin = name;\n transformer.postcssVersion = new Processor22().version;\n return transformer;\n }\n let cache;\n Object.defineProperty(creator, \"postcss\", {\n get() {\n if (!cache) cache = creator();\n return cache;\n }\n });\n creator.process = function(css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts);\n };\n return creator;\n};\npostcss.stringify = stringify;\npostcss.parse = parse;\npostcss.fromJSON = fromJSON;\npostcss.list = list;\npostcss.comment = (defaults) => new Comment22(defaults);\npostcss.atRule = (defaults) => new AtRule22(defaults);\npostcss.decl = (defaults) => new Declaration22(defaults);\npostcss.rule = (defaults) => new Rule22(defaults);\npostcss.root = (defaults) => new Root22(defaults);\npostcss.document = (defaults) => new Document222(defaults);\npostcss.CssSyntaxError = CssSyntaxError22;\npostcss.Declaration = Declaration22;\npostcss.Container = Container22;\npostcss.Processor = Processor22;\npostcss.Document = Document222;\npostcss.Comment = Comment22;\npostcss.Warning = Warning22;\npostcss.AtRule = AtRule22;\npostcss.Result = Result22;\npostcss.Input = Input22;\npostcss.Rule = Rule22;\npostcss.Root = Root22;\npostcss.Node = Node22;\nLazyResult22.registerPostcss(postcss);\nvar postcss_1 = postcss;\npostcss.default = postcss;\nconst postcss$1 = /* @__PURE__ */ getDefaultExportFromCjs(postcss_1);\npostcss$1.stringify;\npostcss$1.fromJSON;\npostcss$1.plugin;\npostcss$1.parse;\npostcss$1.list;\npostcss$1.document;\npostcss$1.comment;\npostcss$1.atRule;\npostcss$1.rule;\npostcss$1.decl;\npostcss$1.root;\npostcss$1.CssSyntaxError;\npostcss$1.Declaration;\npostcss$1.Container;\npostcss$1.Processor;\npostcss$1.Document;\npostcss$1.Comment;\npostcss$1.Warning;\npostcss$1.AtRule;\npostcss$1.Result;\npostcss$1.Input;\npostcss$1.Rule;\npostcss$1.Root;\npostcss$1.Node;\nclass BaseRRNode {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n constructor(..._args) {\n __publicField2(this, \"parentElement\", null);\n __publicField2(this, \"parentNode\", null);\n __publicField2(this, \"ownerDocument\");\n __publicField2(this, \"firstChild\", null);\n __publicField2(this, \"lastChild\", null);\n __publicField2(this, \"previousSibling\", null);\n __publicField2(this, \"nextSibling\", null);\n __publicField2(this, \"ELEMENT_NODE\", 1);\n __publicField2(this, \"TEXT_NODE\", 3);\n __publicField2(this, \"nodeType\");\n __publicField2(this, \"nodeName\");\n __publicField2(this, \"RRNodeType\");\n }\n get childNodes() {\n const childNodes2 = [];\n let childIterator = this.firstChild;\n while (childIterator) {\n childNodes2.push(childIterator);\n childIterator = childIterator.nextSibling;\n }\n return childNodes2;\n }\n contains(node2) {\n if (!(node2 instanceof BaseRRNode)) return false;\n else if (node2.ownerDocument !== this.ownerDocument) return false;\n else if (node2 === this) return true;\n while (node2.parentNode) {\n if (node2.parentNode === this) return true;\n node2 = node2.parentNode;\n }\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n appendChild(_newChild) {\n throw new Error(\n `RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n insertBefore(_newChild, _refChild) {\n throw new Error(\n `RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n removeChild(_node) {\n throw new Error(\n `RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.`\n );\n }\n toString() {\n return \"RRNode\";\n }\n}\nconst testableAccessors = {\n Node: [\"childNodes\", \"parentNode\", \"parentElement\", \"textContent\"],\n ShadowRoot: [\"host\", \"styleSheets\"],\n Element: [\"shadowRoot\", \"querySelector\", \"querySelectorAll\"],\n MutationObserver: []\n};\nconst testableMethods = {\n Node: [\"contains\", \"getRootNode\"],\n ShadowRoot: [\"getSelection\"],\n Element: [],\n MutationObserver: [\"constructor\"]\n};\nconst untaintedBasePrototype = {};\nfunction getUntaintedPrototype(key) {\n if (untaintedBasePrototype[key])\n return untaintedBasePrototype[key];\n const defaultObj = globalThis[key];\n const defaultPrototype = defaultObj.prototype;\n const accessorNames = key in testableAccessors ? testableAccessors[key] : void 0;\n const isUntaintedAccessors = Boolean(\n accessorNames && // @ts-expect-error 2345\n accessorNames.every(\n (accessor) => {\n var _a2, _b;\n return Boolean(\n (_b = (_a2 = Object.getOwnPropertyDescriptor(defaultPrototype, accessor)) == null ? void 0 : _a2.get) == null ? void 0 : _b.toString().includes(\"[native code]\")\n );\n }\n )\n );\n const methodNames = key in testableMethods ? testableMethods[key] : void 0;\n const isUntaintedMethods = Boolean(\n methodNames && methodNames.every(\n // @ts-expect-error 2345\n (method) => {\n var _a2;\n return typeof defaultPrototype[method] === \"function\" && ((_a2 = defaultPrototype[method]) == null ? void 0 : _a2.toString().includes(\"[native code]\"));\n }\n )\n );\n if (isUntaintedAccessors && isUntaintedMethods) {\n untaintedBasePrototype[key] = defaultObj.prototype;\n return defaultObj.prototype;\n }\n try {\n const iframeEl = document.createElement(\"iframe\");\n document.body.appendChild(iframeEl);\n const win = iframeEl.contentWindow;\n if (!win) return defaultObj.prototype;\n const untaintedObject = win[key].prototype;\n document.body.removeChild(iframeEl);\n if (!untaintedObject) return defaultPrototype;\n return untaintedBasePrototype[key] = untaintedObject;\n } catch {\n return defaultPrototype;\n }\n}\nconst untaintedAccessorCache = {};\nfunction getUntaintedAccessor(key, instance, accessor) {\n var _a2;\n const cacheKey = `${key}.${String(accessor)}`;\n if (untaintedAccessorCache[cacheKey])\n return untaintedAccessorCache[cacheKey].call(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype(key);\n const untaintedAccessor = (_a2 = Object.getOwnPropertyDescriptor(\n untaintedPrototype,\n accessor\n )) == null ? void 0 : _a2.get;\n if (!untaintedAccessor) return instance[accessor];\n untaintedAccessorCache[cacheKey] = untaintedAccessor;\n return untaintedAccessor.call(instance);\n}\nconst untaintedMethodCache = {};\nfunction getUntaintedMethod(key, instance, method) {\n const cacheKey = `${key}.${String(method)}`;\n if (untaintedMethodCache[cacheKey])\n return untaintedMethodCache[cacheKey].bind(\n instance\n );\n const untaintedPrototype = getUntaintedPrototype(key);\n const untaintedMethod = untaintedPrototype[method];\n if (typeof untaintedMethod !== \"function\") return instance[method];\n untaintedMethodCache[cacheKey] = untaintedMethod;\n return untaintedMethod.bind(instance);\n}\nfunction childNodes(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"childNodes\");\n}\nfunction parentNode(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"parentNode\");\n}\nfunction parentElement(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"parentElement\");\n}\nfunction textContent(n2) {\n return getUntaintedAccessor(\"Node\", n2, \"textContent\");\n}\nfunction contains(n2, other) {\n return getUntaintedMethod(\"Node\", n2, \"contains\")(other);\n}\nfunction getRootNode(n2) {\n return getUntaintedMethod(\"Node\", n2, \"getRootNode\")();\n}\nfunction host(n2) {\n if (!n2 || !(\"host\" in n2)) return null;\n return getUntaintedAccessor(\"ShadowRoot\", n2, \"host\");\n}\nfunction styleSheets(n2) {\n return n2.styleSheets;\n}\nfunction shadowRoot(n2) {\n if (!n2 || !(\"shadowRoot\" in n2)) return null;\n return getUntaintedAccessor(\"Element\", n2, \"shadowRoot\");\n}\nfunction querySelector(n2, selectors) {\n return getUntaintedAccessor(\"Element\", n2, \"querySelector\")(selectors);\n}\nfunction querySelectorAll(n2, selectors) {\n return getUntaintedAccessor(\"Element\", n2, \"querySelectorAll\")(selectors);\n}\nfunction mutationObserverCtor() {\n return getUntaintedPrototype(\"MutationObserver\").constructor;\n}\nconst index = {\n childNodes,\n parentNode,\n parentElement,\n textContent,\n contains,\n getRootNode,\n host,\n styleSheets,\n shadowRoot,\n querySelector,\n querySelectorAll,\n mutationObserver: mutationObserverCtor\n};\nfunction on(type, fn, target = document) {\n const options = { capture: true, passive: true };\n target.addEventListener(type, fn, options);\n return () => target.removeEventListener(type, fn, options);\n}\nconst DEPARTED_MIRROR_ACCESS_WARNING = \"Please stop import mirror directly. Instead of that,\\r\\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\\r\\nor you can use record.mirror to access the mirror instance during recording.\";\nlet _mirror = {\n map: {},\n getId() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return -1;\n },\n getNode() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return null;\n },\n removeNodeFromMap() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n },\n has() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n return false;\n },\n reset() {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n }\n};\nif (typeof window !== \"undefined\" && window.Proxy && window.Reflect) {\n _mirror = new Proxy(_mirror, {\n get(target, prop, receiver) {\n if (prop === \"map\") {\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n}\nfunction throttle(func, wait, options = {}) {\n let timeout = null;\n let previous = 0;\n return function(...args) {\n const now = Date.now();\n if (!previous && options.leading === false) {\n previous = now;\n }\n const remaining = wait - (now - previous);\n const context = this;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n func.apply(context, args);\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(() => {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n func.apply(context, args);\n }, remaining);\n }\n };\n}\nfunction hookSetter(target, key, d, isRevoked, win = window) {\n const original = win.Object.getOwnPropertyDescriptor(target, key);\n win.Object.defineProperty(\n target,\n key,\n isRevoked ? d : {\n set(value) {\n setTimeout(() => {\n d.set.call(this, value);\n }, 0);\n if (original && original.set) {\n original.set.call(this, value);\n }\n }\n }\n );\n return () => hookSetter(target, key, original || {}, true);\n}\nfunction patch(source, name, replacement) {\n try {\n if (!(name in source)) {\n return () => {\n };\n }\n const original = source[name];\n const wrapped = replacement(original);\n if (typeof wrapped === \"function\") {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __rrweb_original__: {\n enumerable: false,\n value: original\n }\n });\n }\n source[name] = wrapped;\n return () => {\n source[name] = original;\n };\n } catch {\n return () => {\n };\n }\n}\nlet nowTimestamp = Date.now;\nif (!/* @__PURE__ */ /[1-9][0-9]{12}/.test(Date.now().toString())) {\n nowTimestamp = () => (/* @__PURE__ */ new Date()).getTime();\n}\nfunction getWindowScroll(win) {\n var _a2, _b, _c, _d;\n const doc = win.document;\n return {\n left: doc.scrollingElement ? doc.scrollingElement.scrollLeft : win.pageXOffset !== void 0 ? win.pageXOffset : doc.documentElement.scrollLeft || (doc == null ? void 0 : doc.body) && ((_a2 = index.parentElement(doc.body)) == null ? void 0 : _a2.scrollLeft) || ((_b = doc == null ? void 0 : doc.body) == null ? void 0 : _b.scrollLeft) || 0,\n top: doc.scrollingElement ? doc.scrollingElement.scrollTop : win.pageYOffset !== void 0 ? win.pageYOffset : (doc == null ? void 0 : doc.documentElement.scrollTop) || (doc == null ? void 0 : doc.body) && ((_c = index.parentElement(doc.body)) == null ? void 0 : _c.scrollTop) || ((_d = doc == null ? void 0 : doc.body) == null ? void 0 : _d.scrollTop) || 0\n };\n}\nfunction getWindowHeight() {\n return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight;\n}\nfunction getWindowWidth() {\n return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth;\n}\nfunction closestElementOfNode(node2) {\n if (!node2) {\n return null;\n }\n const el = node2.nodeType === node2.ELEMENT_NODE ? node2 : index.parentElement(node2);\n return el;\n}\nfunction isBlocked(node2, blockClass, blockSelector, checkAncestors) {\n if (!node2) {\n return false;\n }\n const el = closestElementOfNode(node2);\n if (!el) {\n return false;\n }\n try {\n if (typeof blockClass === \"string\") {\n if (el.classList.contains(blockClass)) return true;\n if (checkAncestors && el.closest(\".\" + blockClass) !== null) return true;\n } else {\n if (classMatchesRegex(el, blockClass, checkAncestors)) return true;\n }\n } catch (e2) {\n }\n if (blockSelector) {\n if (el.matches(blockSelector)) return true;\n if (checkAncestors && el.closest(blockSelector) !== null) return true;\n }\n return false;\n}\nfunction isSerialized(n2, mirror2) {\n return mirror2.getId(n2) !== -1;\n}\nfunction isIgnored(n2, mirror2, slimDOMOptions) {\n if (n2.tagName === \"TITLE\" && slimDOMOptions.headTitleMutations) {\n return true;\n }\n return mirror2.getId(n2) === IGNORED_NODE;\n}\nfunction isAncestorRemoved(target, mirror2) {\n if (isShadowRoot(target)) {\n return false;\n }\n const id = mirror2.getId(target);\n if (!mirror2.has(id)) {\n return true;\n }\n const parent = index.parentNode(target);\n if (parent && parent.nodeType === target.DOCUMENT_NODE) {\n return false;\n }\n if (!parent) {\n return true;\n }\n return isAncestorRemoved(parent, mirror2);\n}\nfunction legacy_isTouchEvent(event) {\n return Boolean(event.changedTouches);\n}\nfunction polyfill$1(win = window) {\n if (\"NodeList\" in win && !win.NodeList.prototype.forEach) {\n win.NodeList.prototype.forEach = Array.prototype.forEach;\n }\n if (\"DOMTokenList\" in win && !win.DOMTokenList.prototype.forEach) {\n win.DOMTokenList.prototype.forEach = Array.prototype.forEach;\n }\n}\nfunction isSerializedIframe(n2, mirror2) {\n return Boolean(n2.nodeName === \"IFRAME\" && mirror2.getMeta(n2));\n}\nfunction isSerializedStylesheet(n2, mirror2) {\n return Boolean(\n n2.nodeName === \"LINK\" && n2.nodeType === n2.ELEMENT_NODE && n2.getAttribute && n2.getAttribute(\"rel\") === \"stylesheet\" && mirror2.getMeta(n2)\n );\n}\nfunction hasShadowRoot(n2) {\n if (!n2) return false;\n if (n2 instanceof BaseRRNode && \"shadowRoot\" in n2) {\n return Boolean(n2.shadowRoot);\n }\n return Boolean(index.shadowRoot(n2));\n}\nclass StyleSheetMirror {\n constructor() {\n __publicField(this, \"id\", 1);\n __publicField(this, \"styleIDMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"idStyleMap\", /* @__PURE__ */ new Map());\n }\n getId(stylesheet) {\n return this.styleIDMap.get(stylesheet) ?? -1;\n }\n has(stylesheet) {\n return this.styleIDMap.has(stylesheet);\n }\n /**\n * @returns If the stylesheet is in the mirror, returns the id of the stylesheet. If not, return the new assigned id.\n */\n add(stylesheet, id) {\n if (this.has(stylesheet)) return this.getId(stylesheet);\n let newId;\n if (id === void 0) {\n newId = this.id++;\n } else newId = id;\n this.styleIDMap.set(stylesheet, newId);\n this.idStyleMap.set(newId, stylesheet);\n return newId;\n }\n getStyle(id) {\n return this.idStyleMap.get(id) || null;\n }\n reset() {\n this.styleIDMap = /* @__PURE__ */ new WeakMap();\n this.idStyleMap = /* @__PURE__ */ new Map();\n this.id = 1;\n }\n generateId() {\n return this.id++;\n }\n}\nfunction getShadowHost(n2) {\n var _a2;\n let shadowHost = null;\n if (\"getRootNode\" in n2 && ((_a2 = index.getRootNode(n2)) == null ? void 0 : _a2.nodeType) === Node.DOCUMENT_FRAGMENT_NODE && index.host(index.getRootNode(n2)))\n shadowHost = index.host(index.getRootNode(n2));\n return shadowHost;\n}\nfunction getRootShadowHost(n2) {\n let rootShadowHost = n2;\n let shadowHost;\n while (shadowHost = getShadowHost(rootShadowHost))\n rootShadowHost = shadowHost;\n return rootShadowHost;\n}\nfunction shadowHostInDom(n2) {\n const doc = n2.ownerDocument;\n if (!doc) return false;\n const shadowHost = getRootShadowHost(n2);\n return index.contains(doc, shadowHost);\n}\nfunction inDom(n2) {\n const doc = n2.ownerDocument;\n if (!doc) return false;\n return index.contains(doc, n2) || shadowHostInDom(n2);\n}\nvar EventType = /* @__PURE__ */ ((EventType2) => {\n EventType2[EventType2[\"DomContentLoaded\"] = 0] = \"DomContentLoaded\";\n EventType2[EventType2[\"Load\"] = 1] = \"Load\";\n EventType2[EventType2[\"FullSnapshot\"] = 2] = \"FullSnapshot\";\n EventType2[EventType2[\"IncrementalSnapshot\"] = 3] = \"IncrementalSnapshot\";\n EventType2[EventType2[\"Meta\"] = 4] = \"Meta\";\n EventType2[EventType2[\"Custom\"] = 5] = \"Custom\";\n EventType2[EventType2[\"Plugin\"] = 6] = \"Plugin\";\n return EventType2;\n})(EventType || {});\nvar IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {\n IncrementalSource2[IncrementalSource2[\"Mutation\"] = 0] = \"Mutation\";\n IncrementalSource2[IncrementalSource2[\"MouseMove\"] = 1] = \"MouseMove\";\n IncrementalSource2[IncrementalSource2[\"MouseInteraction\"] = 2] = \"MouseInteraction\";\n IncrementalSource2[IncrementalSource2[\"Scroll\"] = 3] = \"Scroll\";\n IncrementalSource2[IncrementalSource2[\"ViewportResize\"] = 4] = \"ViewportResize\";\n IncrementalSource2[IncrementalSource2[\"Input\"] = 5] = \"Input\";\n IncrementalSource2[IncrementalSource2[\"TouchMove\"] = 6] = \"TouchMove\";\n IncrementalSource2[IncrementalSource2[\"MediaInteraction\"] = 7] = \"MediaInteraction\";\n IncrementalSource2[IncrementalSource2[\"StyleSheetRule\"] = 8] = \"StyleSheetRule\";\n IncrementalSource2[IncrementalSource2[\"CanvasMutation\"] = 9] = \"CanvasMutation\";\n IncrementalSource2[IncrementalSource2[\"Font\"] = 10] = \"Font\";\n IncrementalSource2[IncrementalSource2[\"Log\"] = 11] = \"Log\";\n IncrementalSource2[IncrementalSource2[\"Drag\"] = 12] = \"Drag\";\n IncrementalSource2[IncrementalSource2[\"StyleDeclaration\"] = 13] = \"StyleDeclaration\";\n IncrementalSource2[IncrementalSource2[\"Selection\"] = 14] = \"Selection\";\n IncrementalSource2[IncrementalSource2[\"AdoptedStyleSheet\"] = 15] = \"AdoptedStyleSheet\";\n IncrementalSource2[IncrementalSource2[\"CustomElement\"] = 16] = \"CustomElement\";\n return IncrementalSource2;\n})(IncrementalSource || {});\nvar MouseInteractions = /* @__PURE__ */ ((MouseInteractions2) => {\n MouseInteractions2[MouseInteractions2[\"MouseUp\"] = 0] = \"MouseUp\";\n MouseInteractions2[MouseInteractions2[\"MouseDown\"] = 1] = \"MouseDown\";\n MouseInteractions2[MouseInteractions2[\"Click\"] = 2] = \"Click\";\n MouseInteractions2[MouseInteractions2[\"ContextMenu\"] = 3] = \"ContextMenu\";\n MouseInteractions2[MouseInteractions2[\"DblClick\"] = 4] = \"DblClick\";\n MouseInteractions2[MouseInteractions2[\"Focus\"] = 5] = \"Focus\";\n MouseInteractions2[MouseInteractions2[\"Blur\"] = 6] = \"Blur\";\n MouseInteractions2[MouseInteractions2[\"TouchStart\"] = 7] = \"TouchStart\";\n MouseInteractions2[MouseInteractions2[\"TouchMove_Departed\"] = 8] = \"TouchMove_Departed\";\n MouseInteractions2[MouseInteractions2[\"TouchEnd\"] = 9] = \"TouchEnd\";\n MouseInteractions2[MouseInteractions2[\"TouchCancel\"] = 10] = \"TouchCancel\";\n return MouseInteractions2;\n})(MouseInteractions || {});\nvar PointerTypes = /* @__PURE__ */ ((PointerTypes2) => {\n PointerTypes2[PointerTypes2[\"Mouse\"] = 0] = \"Mouse\";\n PointerTypes2[PointerTypes2[\"Pen\"] = 1] = \"Pen\";\n PointerTypes2[PointerTypes2[\"Touch\"] = 2] = \"Touch\";\n return PointerTypes2;\n})(PointerTypes || {});\nvar CanvasContext = /* @__PURE__ */ ((CanvasContext2) => {\n CanvasContext2[CanvasContext2[\"2D\"] = 0] = \"2D\";\n CanvasContext2[CanvasContext2[\"WebGL\"] = 1] = \"WebGL\";\n CanvasContext2[CanvasContext2[\"WebGL2\"] = 2] = \"WebGL2\";\n return CanvasContext2;\n})(CanvasContext || {});\nvar MediaInteractions = /* @__PURE__ */ ((MediaInteractions2) => {\n MediaInteractions2[MediaInteractions2[\"Play\"] = 0] = \"Play\";\n MediaInteractions2[MediaInteractions2[\"Pause\"] = 1] = \"Pause\";\n MediaInteractions2[MediaInteractions2[\"Seeked\"] = 2] = \"Seeked\";\n MediaInteractions2[MediaInteractions2[\"VolumeChange\"] = 3] = \"VolumeChange\";\n MediaInteractions2[MediaInteractions2[\"RateChange\"] = 4] = \"RateChange\";\n return MediaInteractions2;\n})(MediaInteractions || {});\nfunction isNodeInLinkedList(n2) {\n return \"__ln\" in n2;\n}\nclass DoubleLinkedList {\n constructor() {\n __publicField(this, \"length\", 0);\n __publicField(this, \"head\", null);\n __publicField(this, \"tail\", null);\n }\n get(position) {\n if (position >= this.length) {\n throw new Error(\"Position outside of list range\");\n }\n let current = this.head;\n for (let index2 = 0; index2 < position; index2++) {\n current = (current == null ? void 0 : current.next) || null;\n }\n return current;\n }\n addNode(n2) {\n const node2 = {\n value: n2,\n previous: null,\n next: null\n };\n n2.__ln = node2;\n if (n2.previousSibling && isNodeInLinkedList(n2.previousSibling)) {\n const current = n2.previousSibling.__ln.next;\n node2.next = current;\n node2.previous = n2.previousSibling.__ln;\n n2.previousSibling.__ln.next = node2;\n if (current) {\n current.previous = node2;\n }\n } else if (n2.nextSibling && isNodeInLinkedList(n2.nextSibling) && n2.nextSibling.__ln.previous) {\n const current = n2.nextSibling.__ln.previous;\n node2.previous = current;\n node2.next = n2.nextSibling.__ln;\n n2.nextSibling.__ln.previous = node2;\n if (current) {\n current.next = node2;\n }\n } else {\n if (this.head) {\n this.head.previous = node2;\n }\n node2.next = this.head;\n this.head = node2;\n }\n if (node2.next === null) {\n this.tail = node2;\n }\n this.length++;\n }\n removeNode(n2) {\n const current = n2.__ln;\n if (!this.head) {\n return;\n }\n if (!current.previous) {\n this.head = current.next;\n if (this.head) {\n this.head.previous = null;\n } else {\n this.tail = null;\n }\n } else {\n current.previous.next = current.next;\n if (current.next) {\n current.next.previous = current.previous;\n } else {\n this.tail = current.previous;\n }\n }\n if (n2.__ln) {\n delete n2.__ln;\n }\n this.length--;\n }\n}\nconst moveKey = (id, parentId) => `${id}@${parentId}`;\nclass MutationBuffer {\n constructor() {\n __publicField(this, \"frozen\", false);\n __publicField(this, \"locked\", false);\n __publicField(this, \"texts\", []);\n __publicField(this, \"attributes\", []);\n __publicField(this, \"attributeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"removes\", []);\n __publicField(this, \"mapRemoves\", []);\n __publicField(this, \"movedMap\", {});\n __publicField(this, \"addedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"movedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"droppedSet\", /* @__PURE__ */ new Set());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"blockClass\");\n __publicField(this, \"blockSelector\");\n __publicField(this, \"maskTextClass\");\n __publicField(this, \"maskTextSelector\");\n __publicField(this, \"inlineStylesheet\");\n __publicField(this, \"maskInputOptions\");\n __publicField(this, \"maskTextFn\");\n __publicField(this, \"maskInputFn\");\n __publicField(this, \"keepIframeSrcFn\");\n __publicField(this, \"recordCanvas\");\n __publicField(this, \"inlineImages\");\n __publicField(this, \"slimDOMOptions\");\n __publicField(this, \"dataURLOptions\");\n __publicField(this, \"doc\");\n __publicField(this, \"mirror\");\n __publicField(this, \"iframeManager\");\n __publicField(this, \"stylesheetManager\");\n __publicField(this, \"shadowDomManager\");\n __publicField(this, \"canvasManager\");\n __publicField(this, \"processedNodeManager\");\n __publicField(this, \"unattachedDoc\");\n __publicField(this, \"processMutations\", (mutations) => {\n mutations.forEach(this.processMutation);\n this.emit();\n });\n __publicField(this, \"emit\", () => {\n if (this.frozen || this.locked) {\n return;\n }\n const adds = [];\n const addedIds = /* @__PURE__ */ new Set();\n const addList = new DoubleLinkedList();\n const getNextId = (n2) => {\n let ns = n2;\n let nextId = IGNORED_NODE;\n while (nextId === IGNORED_NODE) {\n ns = ns && ns.nextSibling;\n nextId = ns && this.mirror.getId(ns);\n }\n return nextId;\n };\n const pushAdd = (n2) => {\n const parent = index.parentNode(n2);\n if (!parent || !inDom(n2) || parent.tagName === \"TEXTAREA\") {\n return;\n }\n const parentId = isShadowRoot(parent) ? this.mirror.getId(getShadowHost(n2)) : this.mirror.getId(parent);\n const nextId = getNextId(n2);\n if (parentId === -1 || nextId === -1) {\n return addList.addNode(n2);\n }\n const sn = serializeNodeWithId(n2, {\n doc: this.doc,\n mirror: this.mirror,\n blockClass: this.blockClass,\n blockSelector: this.blockSelector,\n maskTextClass: this.maskTextClass,\n maskTextSelector: this.maskTextSelector,\n skipChild: true,\n newlyAddedElement: true,\n inlineStylesheet: this.inlineStylesheet,\n maskInputOptions: this.maskInputOptions,\n maskTextFn: this.maskTextFn,\n maskInputFn: this.maskInputFn,\n slimDOMOptions: this.slimDOMOptions,\n dataURLOptions: this.dataURLOptions,\n recordCanvas: this.recordCanvas,\n inlineImages: this.inlineImages,\n onSerialize: (currentN) => {\n if (isSerializedIframe(currentN, this.mirror)) {\n this.iframeManager.addIframe(currentN);\n }\n if (isSerializedStylesheet(currentN, this.mirror)) {\n this.stylesheetManager.trackLinkElement(\n currentN\n );\n }\n if (hasShadowRoot(n2)) {\n this.shadowDomManager.addShadowRoot(index.shadowRoot(n2), this.doc);\n }\n },\n onIframeLoad: (iframe, childSn) => {\n this.iframeManager.attachIframe(iframe, childSn);\n this.shadowDomManager.observeAttachShadow(iframe);\n },\n onStylesheetLoad: (link, childSn) => {\n this.stylesheetManager.attachLinkElement(link, childSn);\n }\n });\n if (sn) {\n adds.push({\n parentId,\n nextId,\n node: sn\n });\n addedIds.add(sn.id);\n }\n };\n while (this.mapRemoves.length) {\n this.mirror.removeNodeFromMap(this.mapRemoves.shift());\n }\n for (const n2 of this.movedSet) {\n if (isParentRemoved(this.removes, n2, this.mirror) && !this.movedSet.has(index.parentNode(n2))) {\n continue;\n }\n pushAdd(n2);\n }\n for (const n2 of this.addedSet) {\n if (!isAncestorInSet(this.droppedSet, n2) && !isParentRemoved(this.removes, n2, this.mirror)) {\n pushAdd(n2);\n } else if (isAncestorInSet(this.movedSet, n2)) {\n pushAdd(n2);\n } else {\n this.droppedSet.add(n2);\n }\n }\n let candidate = null;\n while (addList.length) {\n let node2 = null;\n if (candidate) {\n const parentId = this.mirror.getId(index.parentNode(candidate.value));\n const nextId = getNextId(candidate.value);\n if (parentId !== -1 && nextId !== -1) {\n node2 = candidate;\n }\n }\n if (!node2) {\n let tailNode = addList.tail;\n while (tailNode) {\n const _node = tailNode;\n tailNode = tailNode.previous;\n if (_node) {\n const parentId = this.mirror.getId(index.parentNode(_node.value));\n const nextId = getNextId(_node.value);\n if (nextId === -1) continue;\n else if (parentId !== -1) {\n node2 = _node;\n break;\n } else {\n const unhandledNode = _node.value;\n const parent = index.parentNode(unhandledNode);\n if (parent && parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n const shadowHost = index.host(parent);\n const parentId2 = this.mirror.getId(shadowHost);\n if (parentId2 !== -1) {\n node2 = _node;\n break;\n }\n }\n }\n }\n }\n }\n if (!node2) {\n while (addList.head) {\n addList.removeNode(addList.head.value);\n }\n break;\n }\n candidate = node2.previous;\n addList.removeNode(node2.value);\n pushAdd(node2.value);\n }\n const payload = {\n texts: this.texts.map((text) => {\n const n2 = text.node;\n const parent = index.parentNode(n2);\n if (parent && parent.tagName === \"TEXTAREA\") {\n this.genTextAreaValueMutation(parent);\n }\n return {\n id: this.mirror.getId(n2),\n value: text.value\n };\n }).filter((text) => !addedIds.has(text.id)).filter((text) => this.mirror.has(text.id)),\n attributes: this.attributes.map((attribute) => {\n const { attributes } = attribute;\n if (typeof attributes.style === \"string\") {\n const diffAsStr = JSON.stringify(attribute.styleDiff);\n const unchangedAsStr = JSON.stringify(attribute._unchangedStyles);\n if (diffAsStr.length < attributes.style.length) {\n if ((diffAsStr + unchangedAsStr).split(\"var(\").length === attributes.style.split(\"var(\").length) {\n attributes.style = attribute.styleDiff;\n }\n }\n }\n return {\n id: this.mirror.getId(attribute.node),\n attributes\n };\n }).filter((attribute) => !addedIds.has(attribute.id)).filter((attribute) => this.mirror.has(attribute.id)),\n removes: this.removes,\n adds\n };\n if (!payload.texts.length && !payload.attributes.length && !payload.removes.length && !payload.adds.length) {\n return;\n }\n this.texts = [];\n this.attributes = [];\n this.attributeMap = /* @__PURE__ */ new WeakMap();\n this.removes = [];\n this.addedSet = /* @__PURE__ */ new Set();\n this.movedSet = /* @__PURE__ */ new Set();\n this.droppedSet = /* @__PURE__ */ new Set();\n this.movedMap = {};\n this.mutationCb(payload);\n });\n __publicField(this, \"genTextAreaValueMutation\", (textarea) => {\n let item = this.attributeMap.get(textarea);\n if (!item) {\n item = {\n node: textarea,\n attributes: {},\n styleDiff: {},\n _unchangedStyles: {}\n };\n this.attributes.push(item);\n this.attributeMap.set(textarea, item);\n }\n item.attributes.value = Array.from(\n index.childNodes(textarea),\n (cn) => index.textContent(cn) || \"\"\n ).join(\"\");\n });\n __publicField(this, \"processMutation\", (m) => {\n if (isIgnored(m.target, this.mirror, this.slimDOMOptions)) {\n return;\n }\n switch (m.type) {\n case \"characterData\": {\n const value = index.textContent(m.target);\n if (!isBlocked(m.target, this.blockClass, this.blockSelector, false) && value !== m.oldValue) {\n this.texts.push({\n value: needMaskingText(\n m.target,\n this.maskTextClass,\n this.maskTextSelector,\n true\n // checkAncestors\n ) && value ? this.maskTextFn ? this.maskTextFn(value, closestElementOfNode(m.target)) : value.replace(/[\\S]/g, \"*\") : value,\n node: m.target\n });\n }\n break;\n }\n case \"attributes\": {\n const target = m.target;\n let attributeName = m.attributeName;\n let value = m.target.getAttribute(attributeName);\n if (attributeName === \"value\") {\n const type = getInputType(target);\n value = maskInputValue({\n element: target,\n maskInputOptions: this.maskInputOptions,\n tagName: target.tagName,\n type,\n value,\n maskInputFn: this.maskInputFn\n });\n }\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) || value === m.oldValue) {\n return;\n }\n let item = this.attributeMap.get(m.target);\n if (target.tagName === \"IFRAME\" && attributeName === \"src\" && !this.keepIframeSrcFn(value)) {\n if (!target.contentDocument) {\n attributeName = \"rr_src\";\n } else {\n return;\n }\n }\n if (!item) {\n item = {\n node: m.target,\n attributes: {},\n styleDiff: {},\n _unchangedStyles: {}\n };\n this.attributes.push(item);\n this.attributeMap.set(m.target, item);\n }\n if (attributeName === \"type\" && target.tagName === \"INPUT\" && (m.oldValue || \"\").toLowerCase() === \"password\") {\n target.setAttribute(\"data-rr-is-password\", \"true\");\n }\n if (!ignoreAttribute(target.tagName, attributeName)) {\n item.attributes[attributeName] = transformAttribute(\n this.doc,\n toLowerCase(target.tagName),\n toLowerCase(attributeName),\n value\n );\n if (attributeName === \"style\") {\n if (!this.unattachedDoc) {\n try {\n this.unattachedDoc = document.implementation.createHTMLDocument();\n } catch (e2) {\n this.unattachedDoc = this.doc;\n }\n }\n const old = this.unattachedDoc.createElement(\"span\");\n if (m.oldValue) {\n old.setAttribute(\"style\", m.oldValue);\n }\n for (const pname of Array.from(target.style)) {\n const newValue = target.style.getPropertyValue(pname);\n const newPriority = target.style.getPropertyPriority(pname);\n if (newValue !== old.style.getPropertyValue(pname) || newPriority !== old.style.getPropertyPriority(pname)) {\n if (newPriority === \"\") {\n item.styleDiff[pname] = newValue;\n } else {\n item.styleDiff[pname] = [newValue, newPriority];\n }\n } else {\n item._unchangedStyles[pname] = [newValue, newPriority];\n }\n }\n for (const pname of Array.from(old.style)) {\n if (target.style.getPropertyValue(pname) === \"\") {\n item.styleDiff[pname] = false;\n }\n }\n } else if (attributeName === \"open\" && target.tagName === \"DIALOG\") {\n if (target.matches(\"dialog:modal\")) {\n item.attributes[\"rr_open_mode\"] = \"modal\";\n } else {\n item.attributes[\"rr_open_mode\"] = \"non-modal\";\n }\n }\n }\n break;\n }\n case \"childList\": {\n if (isBlocked(m.target, this.blockClass, this.blockSelector, true))\n return;\n if (m.target.tagName === \"TEXTAREA\") {\n this.genTextAreaValueMutation(m.target);\n return;\n }\n m.addedNodes.forEach((n2) => this.genAdds(n2, m.target));\n m.removedNodes.forEach((n2) => {\n const nodeId = this.mirror.getId(n2);\n const parentId = isShadowRoot(m.target) ? this.mirror.getId(index.host(m.target)) : this.mirror.getId(m.target);\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) || isIgnored(n2, this.mirror, this.slimDOMOptions) || !isSerialized(n2, this.mirror)) {\n return;\n }\n if (this.addedSet.has(n2)) {\n deepDelete(this.addedSet, n2);\n this.droppedSet.add(n2);\n } else if (this.addedSet.has(m.target) && nodeId === -1) ;\n else if (isAncestorRemoved(m.target, this.mirror)) ;\n else if (this.movedSet.has(n2) && this.movedMap[moveKey(nodeId, parentId)]) {\n deepDelete(this.movedSet, n2);\n } else {\n this.removes.push({\n parentId,\n id: nodeId,\n isShadow: isShadowRoot(m.target) && isNativeShadowDom(m.target) ? true : void 0\n });\n }\n this.mapRemoves.push(n2);\n });\n break;\n }\n }\n });\n __publicField(this, \"genAdds\", (n2, target) => {\n if (this.processedNodeManager.inOtherBuffer(n2, this)) return;\n if (this.addedSet.has(n2) || this.movedSet.has(n2)) return;\n if (this.mirror.hasNode(n2)) {\n if (isIgnored(n2, this.mirror, this.slimDOMOptions)) {\n return;\n }\n this.movedSet.add(n2);\n let targetId = null;\n if (target && this.mirror.hasNode(target)) {\n targetId = this.mirror.getId(target);\n }\n if (targetId && targetId !== -1) {\n this.movedMap[moveKey(this.mirror.getId(n2), targetId)] = true;\n }\n } else {\n this.addedSet.add(n2);\n this.droppedSet.delete(n2);\n }\n if (!isBlocked(n2, this.blockClass, this.blockSelector, false)) {\n index.childNodes(n2).forEach((childN) => this.genAdds(childN));\n if (hasShadowRoot(n2)) {\n index.childNodes(index.shadowRoot(n2)).forEach((childN) => {\n this.processedNodeManager.add(childN, this);\n this.genAdds(childN, n2);\n });\n }\n }\n });\n }\n init(options) {\n [\n \"mutationCb\",\n \"blockClass\",\n \"blockSelector\",\n \"maskTextClass\",\n \"maskTextSelector\",\n \"inlineStylesheet\",\n \"maskInputOptions\",\n \"maskTextFn\",\n \"maskInputFn\",\n \"keepIframeSrcFn\",\n \"recordCanvas\",\n \"inlineImages\",\n \"slimDOMOptions\",\n \"dataURLOptions\",\n \"doc\",\n \"mirror\",\n \"iframeManager\",\n \"stylesheetManager\",\n \"shadowDomManager\",\n \"canvasManager\",\n \"processedNodeManager\"\n ].forEach((key) => {\n this[key] = options[key];\n });\n }\n freeze() {\n this.frozen = true;\n this.canvasManager.freeze();\n }\n unfreeze() {\n this.frozen = false;\n this.canvasManager.unfreeze();\n this.emit();\n }\n isFrozen() {\n return this.frozen;\n }\n lock() {\n this.locked = true;\n this.canvasManager.lock();\n }\n unlock() {\n this.locked = false;\n this.canvasManager.unlock();\n this.emit();\n }\n reset() {\n this.shadowDomManager.reset();\n this.canvasManager.reset();\n }\n}\nfunction deepDelete(addsSet, n2) {\n addsSet.delete(n2);\n index.childNodes(n2).forEach((childN) => deepDelete(addsSet, childN));\n}\nfunction isParentRemoved(removes, n2, mirror2) {\n if (removes.length === 0) return false;\n return _isParentRemoved(removes, n2, mirror2);\n}\nfunction _isParentRemoved(removes, n2, mirror2) {\n let node2 = index.parentNode(n2);\n while (node2) {\n const parentId = mirror2.getId(node2);\n if (removes.some((r2) => r2.id === parentId)) {\n return true;\n }\n node2 = index.parentNode(node2);\n }\n return false;\n}\nfunction isAncestorInSet(set, n2) {\n if (set.size === 0) return false;\n return _isAncestorInSet(set, n2);\n}\nfunction _isAncestorInSet(set, n2) {\n const parent = index.parentNode(n2);\n if (!parent) {\n return false;\n }\n if (set.has(parent)) {\n return true;\n }\n return _isAncestorInSet(set, parent);\n}\nlet errorHandler;\nfunction registerErrorHandler(handler) {\n errorHandler = handler;\n}\nfunction unregisterErrorHandler() {\n errorHandler = void 0;\n}\nconst callbackWrapper = (cb) => {\n if (!errorHandler) {\n return cb;\n }\n const rrwebWrapped = (...rest) => {\n try {\n return cb(...rest);\n } catch (error) {\n if (errorHandler && errorHandler(error) === true) {\n return;\n }\n throw error;\n }\n };\n return rrwebWrapped;\n};\nconst mutationBuffers = [];\nfunction getEventTarget(event) {\n try {\n if (\"composedPath\" in event) {\n const path = event.composedPath();\n if (path.length) {\n return path[0];\n }\n } else if (\"path\" in event && event.path.length) {\n return event.path[0];\n }\n } catch {\n }\n return event && event.target;\n}\nfunction initMutationObserver(options, rootEl) {\n const mutationBuffer = new MutationBuffer();\n mutationBuffers.push(mutationBuffer);\n mutationBuffer.init(options);\n const observer = new (mutationObserverCtor())(\n callbackWrapper(mutationBuffer.processMutations.bind(mutationBuffer))\n );\n observer.observe(rootEl, {\n attributes: true,\n attributeOldValue: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction initMoveObserver({\n mousemoveCb,\n sampling,\n doc,\n mirror: mirror2\n}) {\n if (sampling.mousemove === false) {\n return () => {\n };\n }\n const threshold = typeof sampling.mousemove === \"number\" ? sampling.mousemove : 50;\n const callbackThreshold = typeof sampling.mousemoveCallback === \"number\" ? sampling.mousemoveCallback : 500;\n let positions = [];\n let timeBaseline;\n const wrappedCb = throttle(\n callbackWrapper(\n (source) => {\n const totalOffset = Date.now() - timeBaseline;\n mousemoveCb(\n positions.map((p) => {\n p.timeOffset -= totalOffset;\n return p;\n }),\n source\n );\n positions = [];\n timeBaseline = null;\n }\n ),\n callbackThreshold\n );\n const updatePosition = callbackWrapper(\n throttle(\n callbackWrapper((evt) => {\n const target = getEventTarget(evt);\n const { clientX, clientY } = legacy_isTouchEvent(evt) ? evt.changedTouches[0] : evt;\n if (!timeBaseline) {\n timeBaseline = nowTimestamp();\n }\n positions.push({\n x: clientX,\n y: clientY,\n id: mirror2.getId(target),\n timeOffset: nowTimestamp() - timeBaseline\n });\n wrappedCb(\n typeof DragEvent !== \"undefined\" && evt instanceof DragEvent ? IncrementalSource.Drag : evt instanceof MouseEvent ? IncrementalSource.MouseMove : IncrementalSource.TouchMove\n );\n }),\n threshold,\n {\n trailing: false\n }\n )\n );\n const handlers = [\n on(\"mousemove\", updatePosition, doc),\n on(\"touchmove\", updatePosition, doc),\n on(\"drag\", updatePosition, doc)\n ];\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initMouseInteractionObserver({\n mouseInteractionCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n sampling\n}) {\n if (sampling.mouseInteraction === false) {\n return () => {\n };\n }\n const disableMap = sampling.mouseInteraction === true || sampling.mouseInteraction === void 0 ? {} : sampling.mouseInteraction;\n const handlers = [];\n let currentPointerType = null;\n const getHandler = (eventKey) => {\n return (event) => {\n const target = getEventTarget(event);\n if (isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n let pointerType = null;\n let thisEventKey = eventKey;\n if (\"pointerType\" in event) {\n switch (event.pointerType) {\n case \"mouse\":\n pointerType = PointerTypes.Mouse;\n break;\n case \"touch\":\n pointerType = PointerTypes.Touch;\n break;\n case \"pen\":\n pointerType = PointerTypes.Pen;\n break;\n }\n if (pointerType === PointerTypes.Touch) {\n if (MouseInteractions[eventKey] === MouseInteractions.MouseDown) {\n thisEventKey = \"TouchStart\";\n } else if (MouseInteractions[eventKey] === MouseInteractions.MouseUp) {\n thisEventKey = \"TouchEnd\";\n }\n } else if (pointerType === PointerTypes.Pen) ;\n } else if (legacy_isTouchEvent(event)) {\n pointerType = PointerTypes.Touch;\n }\n if (pointerType !== null) {\n currentPointerType = pointerType;\n if (thisEventKey.startsWith(\"Touch\") && pointerType === PointerTypes.Touch || thisEventKey.startsWith(\"Mouse\") && pointerType === PointerTypes.Mouse) {\n pointerType = null;\n }\n } else if (MouseInteractions[eventKey] === MouseInteractions.Click) {\n pointerType = currentPointerType;\n currentPointerType = null;\n }\n const e2 = legacy_isTouchEvent(event) ? event.changedTouches[0] : event;\n if (!e2) {\n return;\n }\n const id = mirror2.getId(target);\n const { clientX, clientY } = e2;\n callbackWrapper(mouseInteractionCb)({\n type: MouseInteractions[thisEventKey],\n id,\n x: clientX,\n y: clientY,\n ...pointerType !== null && { pointerType }\n });\n };\n };\n Object.keys(MouseInteractions).filter(\n (key) => Number.isNaN(Number(key)) && !key.endsWith(\"_Departed\") && disableMap[key] !== false\n ).forEach((eventKey) => {\n let eventName = toLowerCase(eventKey);\n const handler = getHandler(eventKey);\n if (window.PointerEvent) {\n switch (MouseInteractions[eventKey]) {\n case MouseInteractions.MouseDown:\n case MouseInteractions.MouseUp:\n eventName = eventName.replace(\n \"mouse\",\n \"pointer\"\n );\n break;\n case MouseInteractions.TouchStart:\n case MouseInteractions.TouchEnd:\n return;\n }\n }\n handlers.push(on(eventName, handler, doc));\n });\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initScrollObserver({\n scrollCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n sampling\n}) {\n const updatePosition = callbackWrapper(\n throttle(\n callbackWrapper((evt) => {\n const target = getEventTarget(evt);\n if (!target || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n const id = mirror2.getId(target);\n if (target === doc && doc.defaultView) {\n const scrollLeftTop = getWindowScroll(doc.defaultView);\n scrollCb({\n id,\n x: scrollLeftTop.left,\n y: scrollLeftTop.top\n });\n } else {\n scrollCb({\n id,\n x: target.scrollLeft,\n y: target.scrollTop\n });\n }\n }),\n sampling.scroll || 100\n )\n );\n return on(\"scroll\", updatePosition, doc);\n}\nfunction initViewportResizeObserver({ viewportResizeCb }, { win }) {\n let lastH = -1;\n let lastW = -1;\n const updateDimension = callbackWrapper(\n throttle(\n callbackWrapper(() => {\n const height = getWindowHeight();\n const width = getWindowWidth();\n if (lastH !== height || lastW !== width) {\n viewportResizeCb({\n width: Number(width),\n height: Number(height)\n });\n lastH = height;\n lastW = width;\n }\n }),\n 200\n )\n );\n return on(\"resize\", updateDimension, win);\n}\nconst INPUT_TAGS = [\"INPUT\", \"TEXTAREA\", \"SELECT\"];\nconst lastInputValueMap = /* @__PURE__ */ new WeakMap();\nfunction initInputObserver({\n inputCb,\n doc,\n mirror: mirror2,\n blockClass,\n blockSelector,\n ignoreClass,\n ignoreSelector,\n maskInputOptions,\n maskInputFn,\n sampling,\n userTriggeredOnInput\n}) {\n function eventHandler(event) {\n let target = getEventTarget(event);\n const userTriggered = event.isTrusted;\n const tagName = target && target.tagName;\n if (target && tagName === \"OPTION\") {\n target = index.parentElement(target);\n }\n if (!target || !tagName || INPUT_TAGS.indexOf(tagName) < 0 || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n if (target.classList.contains(ignoreClass) || ignoreSelector && target.matches(ignoreSelector)) {\n return;\n }\n let text = target.value;\n let isChecked = false;\n const type = getInputType(target) || \"\";\n if (type === \"radio\" || type === \"checkbox\") {\n isChecked = target.checked;\n } else if (maskInputOptions[tagName.toLowerCase()] || maskInputOptions[type]) {\n text = maskInputValue({\n element: target,\n maskInputOptions,\n tagName,\n type,\n value: text,\n maskInputFn\n });\n }\n cbWithDedup(\n target,\n userTriggeredOnInput ? { text, isChecked, userTriggered } : { text, isChecked }\n );\n const name = target.name;\n if (type === \"radio\" && name && isChecked) {\n doc.querySelectorAll(`input[type=\"radio\"][name=\"${name}\"]`).forEach((el) => {\n if (el !== target) {\n const text2 = el.value;\n cbWithDedup(\n el,\n userTriggeredOnInput ? { text: text2, isChecked: !isChecked, userTriggered: false } : { text: text2, isChecked: !isChecked }\n );\n }\n });\n }\n }\n function cbWithDedup(target, v2) {\n const lastInputValue = lastInputValueMap.get(target);\n if (!lastInputValue || lastInputValue.text !== v2.text || lastInputValue.isChecked !== v2.isChecked) {\n lastInputValueMap.set(target, v2);\n const id = mirror2.getId(target);\n callbackWrapper(inputCb)({\n ...v2,\n id\n });\n }\n }\n const events = sampling.input === \"last\" ? [\"change\"] : [\"input\", \"change\"];\n const handlers = events.map(\n (eventName) => on(eventName, callbackWrapper(eventHandler), doc)\n );\n const currentWindow = doc.defaultView;\n if (!currentWindow) {\n return () => {\n handlers.forEach((h) => h());\n };\n }\n const propertyDescriptor = currentWindow.Object.getOwnPropertyDescriptor(\n currentWindow.HTMLInputElement.prototype,\n \"value\"\n );\n const hookProperties = [\n [currentWindow.HTMLInputElement.prototype, \"value\"],\n [currentWindow.HTMLInputElement.prototype, \"checked\"],\n [currentWindow.HTMLSelectElement.prototype, \"value\"],\n [currentWindow.HTMLTextAreaElement.prototype, \"value\"],\n // Some UI library use selectedIndex to set select value\n [currentWindow.HTMLSelectElement.prototype, \"selectedIndex\"],\n [currentWindow.HTMLOptionElement.prototype, \"selected\"]\n ];\n if (propertyDescriptor && propertyDescriptor.set) {\n handlers.push(\n ...hookProperties.map(\n (p) => hookSetter(\n p[0],\n p[1],\n {\n set() {\n callbackWrapper(eventHandler)({\n target: this,\n isTrusted: false\n // userTriggered to false as this could well be programmatic\n });\n }\n },\n false,\n currentWindow\n )\n )\n );\n }\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction getNestedCSSRulePositions(rule2) {\n const positions = [];\n function recurse(childRule, pos) {\n if (hasNestedCSSRule(\"CSSGroupingRule\") && childRule.parentRule instanceof CSSGroupingRule || hasNestedCSSRule(\"CSSMediaRule\") && childRule.parentRule instanceof CSSMediaRule || hasNestedCSSRule(\"CSSSupportsRule\") && childRule.parentRule instanceof CSSSupportsRule || hasNestedCSSRule(\"CSSConditionRule\") && childRule.parentRule instanceof CSSConditionRule) {\n const rules2 = Array.from(\n childRule.parentRule.cssRules\n );\n const index2 = rules2.indexOf(childRule);\n pos.unshift(index2);\n } else if (childRule.parentStyleSheet) {\n const rules2 = Array.from(childRule.parentStyleSheet.cssRules);\n const index2 = rules2.indexOf(childRule);\n pos.unshift(index2);\n }\n return pos;\n }\n return recurse(rule2, positions);\n}\nfunction getIdAndStyleId(sheet, mirror2, styleMirror) {\n let id, styleId;\n if (!sheet) return {};\n if (sheet.ownerNode) id = mirror2.getId(sheet.ownerNode);\n else styleId = styleMirror.getId(sheet);\n return {\n styleId,\n id\n };\n}\nfunction initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetManager }, { win }) {\n if (!win.CSSStyleSheet || !win.CSSStyleSheet.prototype) {\n return () => {\n };\n }\n const insertRule = win.CSSStyleSheet.prototype.insertRule;\n win.CSSStyleSheet.prototype.insertRule = new Proxy(insertRule, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [rule2, index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n adds: [{ rule: rule2, index: index2 }]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n win.CSSStyleSheet.prototype.addRule = function(selector, styleBlock, index2 = this.cssRules.length) {\n const rule2 = `${selector} { ${styleBlock} }`;\n return win.CSSStyleSheet.prototype.insertRule.apply(this, [rule2, index2]);\n };\n const deleteRule = win.CSSStyleSheet.prototype.deleteRule;\n win.CSSStyleSheet.prototype.deleteRule = new Proxy(deleteRule, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n removes: [{ index: index2 }]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n win.CSSStyleSheet.prototype.removeRule = function(index2) {\n return win.CSSStyleSheet.prototype.deleteRule.apply(this, [index2]);\n };\n let replace;\n if (win.CSSStyleSheet.prototype.replace) {\n replace = win.CSSStyleSheet.prototype.replace;\n win.CSSStyleSheet.prototype.replace = new Proxy(replace, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [text] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n replace: text\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n }\n let replaceSync;\n if (win.CSSStyleSheet.prototype.replaceSync) {\n replaceSync = win.CSSStyleSheet.prototype.replaceSync;\n win.CSSStyleSheet.prototype.replaceSync = new Proxy(replaceSync, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [text] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n replaceSync: text\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n }\n const supportedNestedCSSRuleTypes = {};\n if (canMonkeyPatchNestedCSSRule(\"CSSGroupingRule\")) {\n supportedNestedCSSRuleTypes.CSSGroupingRule = win.CSSGroupingRule;\n } else {\n if (canMonkeyPatchNestedCSSRule(\"CSSMediaRule\")) {\n supportedNestedCSSRuleTypes.CSSMediaRule = win.CSSMediaRule;\n }\n if (canMonkeyPatchNestedCSSRule(\"CSSConditionRule\")) {\n supportedNestedCSSRuleTypes.CSSConditionRule = win.CSSConditionRule;\n }\n if (canMonkeyPatchNestedCSSRule(\"CSSSupportsRule\")) {\n supportedNestedCSSRuleTypes.CSSSupportsRule = win.CSSSupportsRule;\n }\n }\n const unmodifiedFunctions = {};\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n unmodifiedFunctions[typeKey] = {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n insertRule: type.prototype.insertRule,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n deleteRule: type.prototype.deleteRule\n };\n type.prototype.insertRule = new Proxy(\n unmodifiedFunctions[typeKey].insertRule,\n {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [rule2, index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n adds: [\n {\n rule: rule2,\n index: [\n ...getNestedCSSRulePositions(thisArg),\n index2 || 0\n // defaults to 0\n ]\n }\n ]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n }\n );\n type.prototype.deleteRule = new Proxy(\n unmodifiedFunctions[typeKey].deleteRule,\n {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n const [index2] = argumentsList;\n const { id, styleId } = getIdAndStyleId(\n thisArg.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleSheetRuleCb({\n id,\n styleId,\n removes: [\n { index: [...getNestedCSSRulePositions(thisArg), index2] }\n ]\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n }\n );\n });\n return callbackWrapper(() => {\n win.CSSStyleSheet.prototype.insertRule = insertRule;\n win.CSSStyleSheet.prototype.deleteRule = deleteRule;\n replace && (win.CSSStyleSheet.prototype.replace = replace);\n replaceSync && (win.CSSStyleSheet.prototype.replaceSync = replaceSync);\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n type.prototype.insertRule = unmodifiedFunctions[typeKey].insertRule;\n type.prototype.deleteRule = unmodifiedFunctions[typeKey].deleteRule;\n });\n });\n}\nfunction initAdoptedStyleSheetObserver({\n mirror: mirror2,\n stylesheetManager\n}, host2) {\n var _a2, _b, _c;\n let hostId = null;\n if (host2.nodeName === \"#document\") hostId = mirror2.getId(host2);\n else hostId = mirror2.getId(index.host(host2));\n const patchTarget = host2.nodeName === \"#document\" ? (_a2 = host2.defaultView) == null ? void 0 : _a2.Document : (_c = (_b = host2.ownerDocument) == null ? void 0 : _b.defaultView) == null ? void 0 : _c.ShadowRoot;\n const originalPropertyDescriptor = (patchTarget == null ? void 0 : patchTarget.prototype) ? Object.getOwnPropertyDescriptor(\n patchTarget == null ? void 0 : patchTarget.prototype,\n \"adoptedStyleSheets\"\n ) : void 0;\n if (hostId === null || hostId === -1 || !patchTarget || !originalPropertyDescriptor)\n return () => {\n };\n Object.defineProperty(host2, \"adoptedStyleSheets\", {\n configurable: originalPropertyDescriptor.configurable,\n enumerable: originalPropertyDescriptor.enumerable,\n get() {\n var _a3;\n return (_a3 = originalPropertyDescriptor.get) == null ? void 0 : _a3.call(this);\n },\n set(sheets) {\n var _a3;\n const result2 = (_a3 = originalPropertyDescriptor.set) == null ? void 0 : _a3.call(this, sheets);\n if (hostId !== null && hostId !== -1) {\n try {\n stylesheetManager.adoptStyleSheets(sheets, hostId);\n } catch (e2) {\n }\n }\n return result2;\n }\n });\n return callbackWrapper(() => {\n Object.defineProperty(host2, \"adoptedStyleSheets\", {\n configurable: originalPropertyDescriptor.configurable,\n enumerable: originalPropertyDescriptor.enumerable,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n get: originalPropertyDescriptor.get,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n set: originalPropertyDescriptor.set\n });\n });\n}\nfunction initStyleDeclarationObserver({\n styleDeclarationCb,\n mirror: mirror2,\n ignoreCSSAttributes,\n stylesheetManager\n}, { win }) {\n const setProperty = win.CSSStyleDeclaration.prototype.setProperty;\n win.CSSStyleDeclaration.prototype.setProperty = new Proxy(setProperty, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n var _a2;\n const [property, value, priority] = argumentsList;\n if (ignoreCSSAttributes.has(property)) {\n return setProperty.apply(thisArg, [property, value, priority]);\n }\n const { id, styleId } = getIdAndStyleId(\n (_a2 = thisArg.parentRule) == null ? void 0 : _a2.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleDeclarationCb({\n id,\n styleId,\n set: {\n property,\n value,\n priority\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n index: getNestedCSSRulePositions(thisArg.parentRule)\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n const removeProperty = win.CSSStyleDeclaration.prototype.removeProperty;\n win.CSSStyleDeclaration.prototype.removeProperty = new Proxy(removeProperty, {\n apply: callbackWrapper(\n (target, thisArg, argumentsList) => {\n var _a2;\n const [property] = argumentsList;\n if (ignoreCSSAttributes.has(property)) {\n return removeProperty.apply(thisArg, [property]);\n }\n const { id, styleId } = getIdAndStyleId(\n (_a2 = thisArg.parentRule) == null ? void 0 : _a2.parentStyleSheet,\n mirror2,\n stylesheetManager.styleMirror\n );\n if (id && id !== -1 || styleId && styleId !== -1) {\n styleDeclarationCb({\n id,\n styleId,\n remove: {\n property\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n index: getNestedCSSRulePositions(thisArg.parentRule)\n });\n }\n return target.apply(thisArg, argumentsList);\n }\n )\n });\n return callbackWrapper(() => {\n win.CSSStyleDeclaration.prototype.setProperty = setProperty;\n win.CSSStyleDeclaration.prototype.removeProperty = removeProperty;\n });\n}\nfunction initMediaInteractionObserver({\n mediaInteractionCb,\n blockClass,\n blockSelector,\n mirror: mirror2,\n sampling,\n doc\n}) {\n const handler = callbackWrapper(\n (type) => throttle(\n callbackWrapper((event) => {\n const target = getEventTarget(event);\n if (!target || isBlocked(target, blockClass, blockSelector, true)) {\n return;\n }\n const { currentTime, volume, muted, playbackRate, loop } = target;\n mediaInteractionCb({\n type,\n id: mirror2.getId(target),\n currentTime,\n volume,\n muted,\n playbackRate,\n loop\n });\n }),\n sampling.media || 500\n )\n );\n const handlers = [\n on(\"play\", handler(MediaInteractions.Play), doc),\n on(\"pause\", handler(MediaInteractions.Pause), doc),\n on(\"seeked\", handler(MediaInteractions.Seeked), doc),\n on(\"volumechange\", handler(MediaInteractions.VolumeChange), doc),\n on(\"ratechange\", handler(MediaInteractions.RateChange), doc)\n ];\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initFontObserver({ fontCb, doc }) {\n const win = doc.defaultView;\n if (!win) {\n return () => {\n };\n }\n const handlers = [];\n const fontMap = /* @__PURE__ */ new WeakMap();\n const originalFontFace = win.FontFace;\n win.FontFace = function FontFace2(family, source, descriptors) {\n const fontFace = new originalFontFace(family, source, descriptors);\n fontMap.set(fontFace, {\n family,\n buffer: typeof source !== \"string\",\n descriptors,\n fontSource: typeof source === \"string\" ? source : JSON.stringify(Array.from(new Uint8Array(source)))\n });\n return fontFace;\n };\n const restoreHandler = patch(\n doc.fonts,\n \"add\",\n function(original) {\n return function(fontFace) {\n setTimeout(\n callbackWrapper(() => {\n const p = fontMap.get(fontFace);\n if (p) {\n fontCb(p);\n fontMap.delete(fontFace);\n }\n }),\n 0\n );\n return original.apply(this, [fontFace]);\n };\n }\n );\n handlers.push(() => {\n win.FontFace = originalFontFace;\n });\n handlers.push(restoreHandler);\n return callbackWrapper(() => {\n handlers.forEach((h) => h());\n });\n}\nfunction initSelectionObserver(param) {\n const { doc, mirror: mirror2, blockClass, blockSelector, selectionCb } = param;\n let collapsed = true;\n const updateSelection = callbackWrapper(() => {\n const selection = doc.getSelection();\n if (!selection || collapsed && (selection == null ? void 0 : selection.isCollapsed)) return;\n collapsed = selection.isCollapsed || false;\n const ranges = [];\n const count = selection.rangeCount || 0;\n for (let i2 = 0; i2 < count; i2++) {\n const range = selection.getRangeAt(i2);\n const { startContainer, startOffset, endContainer, endOffset } = range;\n const blocked = isBlocked(startContainer, blockClass, blockSelector, true) || isBlocked(endContainer, blockClass, blockSelector, true);\n if (blocked) continue;\n ranges.push({\n start: mirror2.getId(startContainer),\n startOffset,\n end: mirror2.getId(endContainer),\n endOffset\n });\n }\n selectionCb({ ranges });\n });\n updateSelection();\n return on(\"selectionchange\", updateSelection);\n}\nfunction initCustomElementObserver({\n doc,\n customElementCb\n}) {\n const win = doc.defaultView;\n if (!win || !win.customElements) return () => {\n };\n const restoreHandler = patch(\n win.customElements,\n \"define\",\n function(original) {\n return function(name, constructor, options) {\n try {\n customElementCb({\n define: {\n name\n }\n });\n } catch (e2) {\n console.warn(`Custom element callback failed for ${name}`);\n }\n return original.apply(this, [name, constructor, options]);\n };\n }\n );\n return restoreHandler;\n}\nfunction mergeHooks(o2, hooks) {\n const {\n mutationCb,\n mousemoveCb,\n mouseInteractionCb,\n scrollCb,\n viewportResizeCb,\n inputCb,\n mediaInteractionCb,\n styleSheetRuleCb,\n styleDeclarationCb,\n canvasMutationCb,\n fontCb,\n selectionCb,\n customElementCb\n } = o2;\n o2.mutationCb = (...p) => {\n if (hooks.mutation) {\n hooks.mutation(...p);\n }\n mutationCb(...p);\n };\n o2.mousemoveCb = (...p) => {\n if (hooks.mousemove) {\n hooks.mousemove(...p);\n }\n mousemoveCb(...p);\n };\n o2.mouseInteractionCb = (...p) => {\n if (hooks.mouseInteraction) {\n hooks.mouseInteraction(...p);\n }\n mouseInteractionCb(...p);\n };\n o2.scrollCb = (...p) => {\n if (hooks.scroll) {\n hooks.scroll(...p);\n }\n scrollCb(...p);\n };\n o2.viewportResizeCb = (...p) => {\n if (hooks.viewportResize) {\n hooks.viewportResize(...p);\n }\n viewportResizeCb(...p);\n };\n o2.inputCb = (...p) => {\n if (hooks.input) {\n hooks.input(...p);\n }\n inputCb(...p);\n };\n o2.mediaInteractionCb = (...p) => {\n if (hooks.mediaInteaction) {\n hooks.mediaInteaction(...p);\n }\n mediaInteractionCb(...p);\n };\n o2.styleSheetRuleCb = (...p) => {\n if (hooks.styleSheetRule) {\n hooks.styleSheetRule(...p);\n }\n styleSheetRuleCb(...p);\n };\n o2.styleDeclarationCb = (...p) => {\n if (hooks.styleDeclaration) {\n hooks.styleDeclaration(...p);\n }\n styleDeclarationCb(...p);\n };\n o2.canvasMutationCb = (...p) => {\n if (hooks.canvasMutation) {\n hooks.canvasMutation(...p);\n }\n canvasMutationCb(...p);\n };\n o2.fontCb = (...p) => {\n if (hooks.font) {\n hooks.font(...p);\n }\n fontCb(...p);\n };\n o2.selectionCb = (...p) => {\n if (hooks.selection) {\n hooks.selection(...p);\n }\n selectionCb(...p);\n };\n o2.customElementCb = (...c2) => {\n if (hooks.customElement) {\n hooks.customElement(...c2);\n }\n customElementCb(...c2);\n };\n}\nfunction initObservers(o2, hooks = {}) {\n const currentWindow = o2.doc.defaultView;\n if (!currentWindow) {\n return () => {\n };\n }\n mergeHooks(o2, hooks);\n let mutationObserver;\n if (o2.recordDOM) {\n mutationObserver = initMutationObserver(o2, o2.doc);\n }\n const mousemoveHandler = initMoveObserver(o2);\n const mouseInteractionHandler = initMouseInteractionObserver(o2);\n const scrollHandler = initScrollObserver(o2);\n const viewportResizeHandler = initViewportResizeObserver(o2, {\n win: currentWindow\n });\n const inputHandler = initInputObserver(o2);\n const mediaInteractionHandler = initMediaInteractionObserver(o2);\n let styleSheetObserver = () => {\n };\n let adoptedStyleSheetObserver = () => {\n };\n let styleDeclarationObserver = () => {\n };\n let fontObserver = () => {\n };\n if (o2.recordDOM) {\n styleSheetObserver = initStyleSheetObserver(o2, { win: currentWindow });\n adoptedStyleSheetObserver = initAdoptedStyleSheetObserver(o2, o2.doc);\n styleDeclarationObserver = initStyleDeclarationObserver(o2, {\n win: currentWindow\n });\n if (o2.collectFonts) {\n fontObserver = initFontObserver(o2);\n }\n }\n const selectionObserver = initSelectionObserver(o2);\n const customElementObserver = initCustomElementObserver(o2);\n const pluginHandlers = [];\n for (const plugin3 of o2.plugins) {\n pluginHandlers.push(\n plugin3.observer(plugin3.callback, currentWindow, plugin3.options)\n );\n }\n return callbackWrapper(() => {\n mutationBuffers.forEach((b) => b.reset());\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n mousemoveHandler();\n mouseInteractionHandler();\n scrollHandler();\n viewportResizeHandler();\n inputHandler();\n mediaInteractionHandler();\n styleSheetObserver();\n adoptedStyleSheetObserver();\n styleDeclarationObserver();\n fontObserver();\n selectionObserver();\n customElementObserver();\n pluginHandlers.forEach((h) => h());\n });\n}\nfunction hasNestedCSSRule(prop) {\n return typeof window[prop] !== \"undefined\";\n}\nfunction canMonkeyPatchNestedCSSRule(prop) {\n return Boolean(\n typeof window[prop] !== \"undefined\" && // Note: Generally, this check _shouldn't_ be necessary\n // However, in some scenarios (e.g. jsdom) this can sometimes fail, so we check for it here\n window[prop].prototype && \"insertRule\" in window[prop].prototype && \"deleteRule\" in window[prop].prototype\n );\n}\nclass CrossOriginIframeMirror {\n constructor(generateIdFn) {\n __publicField(this, \"iframeIdToRemoteIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"iframeRemoteIdToIdMap\", /* @__PURE__ */ new WeakMap());\n this.generateIdFn = generateIdFn;\n }\n getId(iframe, remoteId, idToRemoteMap, remoteToIdMap) {\n const idToRemoteIdMap = idToRemoteMap || this.getIdToRemoteIdMap(iframe);\n const remoteIdToIdMap = remoteToIdMap || this.getRemoteIdToIdMap(iframe);\n let id = idToRemoteIdMap.get(remoteId);\n if (!id) {\n id = this.generateIdFn();\n idToRemoteIdMap.set(remoteId, id);\n remoteIdToIdMap.set(id, remoteId);\n }\n return id;\n }\n getIds(iframe, remoteId) {\n const idToRemoteIdMap = this.getIdToRemoteIdMap(iframe);\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n return remoteId.map(\n (id) => this.getId(iframe, id, idToRemoteIdMap, remoteIdToIdMap)\n );\n }\n getRemoteId(iframe, id, map) {\n const remoteIdToIdMap = map || this.getRemoteIdToIdMap(iframe);\n if (typeof id !== \"number\") return id;\n const remoteId = remoteIdToIdMap.get(id);\n if (!remoteId) return -1;\n return remoteId;\n }\n getRemoteIds(iframe, ids) {\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n return ids.map((id) => this.getRemoteId(iframe, id, remoteIdToIdMap));\n }\n reset(iframe) {\n if (!iframe) {\n this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap();\n this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();\n return;\n }\n this.iframeIdToRemoteIdMap.delete(iframe);\n this.iframeRemoteIdToIdMap.delete(iframe);\n }\n getIdToRemoteIdMap(iframe) {\n let idToRemoteIdMap = this.iframeIdToRemoteIdMap.get(iframe);\n if (!idToRemoteIdMap) {\n idToRemoteIdMap = /* @__PURE__ */ new Map();\n this.iframeIdToRemoteIdMap.set(iframe, idToRemoteIdMap);\n }\n return idToRemoteIdMap;\n }\n getRemoteIdToIdMap(iframe) {\n let remoteIdToIdMap = this.iframeRemoteIdToIdMap.get(iframe);\n if (!remoteIdToIdMap) {\n remoteIdToIdMap = /* @__PURE__ */ new Map();\n this.iframeRemoteIdToIdMap.set(iframe, remoteIdToIdMap);\n }\n return remoteIdToIdMap;\n }\n}\nclass IframeManager {\n constructor(options) {\n __publicField(this, \"iframes\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"crossOriginIframeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"crossOriginIframeMirror\", new CrossOriginIframeMirror(genId));\n __publicField(this, \"crossOriginIframeStyleMirror\");\n __publicField(this, \"crossOriginIframeRootIdMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"mirror\");\n __publicField(this, \"mutationCb\");\n __publicField(this, \"wrappedEmit\");\n __publicField(this, \"loadListener\");\n __publicField(this, \"stylesheetManager\");\n __publicField(this, \"recordCrossOriginIframes\");\n this.mutationCb = options.mutationCb;\n this.wrappedEmit = options.wrappedEmit;\n this.stylesheetManager = options.stylesheetManager;\n this.recordCrossOriginIframes = options.recordCrossOriginIframes;\n this.crossOriginIframeStyleMirror = new CrossOriginIframeMirror(\n this.stylesheetManager.styleMirror.generateId.bind(\n this.stylesheetManager.styleMirror\n )\n );\n this.mirror = options.mirror;\n if (this.recordCrossOriginIframes) {\n window.addEventListener(\"message\", this.handleMessage.bind(this));\n }\n }\n addIframe(iframeEl) {\n this.iframes.set(iframeEl, true);\n if (iframeEl.contentWindow)\n this.crossOriginIframeMap.set(iframeEl.contentWindow, iframeEl);\n }\n addLoadListener(cb) {\n this.loadListener = cb;\n }\n attachIframe(iframeEl, childSn) {\n var _a2, _b;\n this.mutationCb({\n adds: [\n {\n parentId: this.mirror.getId(iframeEl),\n nextId: null,\n node: childSn\n }\n ],\n removes: [],\n texts: [],\n attributes: [],\n isAttachIframe: true\n });\n if (this.recordCrossOriginIframes)\n (_a2 = iframeEl.contentWindow) == null ? void 0 : _a2.addEventListener(\n \"message\",\n this.handleMessage.bind(this)\n );\n (_b = this.loadListener) == null ? void 0 : _b.call(this, iframeEl);\n if (iframeEl.contentDocument && iframeEl.contentDocument.adoptedStyleSheets && iframeEl.contentDocument.adoptedStyleSheets.length > 0)\n this.stylesheetManager.adoptStyleSheets(\n iframeEl.contentDocument.adoptedStyleSheets,\n this.mirror.getId(iframeEl.contentDocument)\n );\n }\n handleMessage(message) {\n const crossOriginMessageEvent = message;\n if (crossOriginMessageEvent.data.type !== \"rrweb\" || // To filter out the rrweb messages which are forwarded by some sites.\n crossOriginMessageEvent.origin !== crossOriginMessageEvent.data.origin)\n return;\n const iframeSourceWindow = message.source;\n if (!iframeSourceWindow) return;\n const iframeEl = this.crossOriginIframeMap.get(message.source);\n if (!iframeEl) return;\n const transformedEvent = this.transformCrossOriginEvent(\n iframeEl,\n crossOriginMessageEvent.data.event\n );\n if (transformedEvent)\n this.wrappedEmit(\n transformedEvent,\n crossOriginMessageEvent.data.isCheckout\n );\n }\n transformCrossOriginEvent(iframeEl, e2) {\n var _a2;\n switch (e2.type) {\n case EventType.FullSnapshot: {\n this.crossOriginIframeMirror.reset(iframeEl);\n this.crossOriginIframeStyleMirror.reset(iframeEl);\n this.replaceIdOnNode(e2.data.node, iframeEl);\n const rootId = e2.data.node.id;\n this.crossOriginIframeRootIdMap.set(iframeEl, rootId);\n this.patchRootIdOnNode(e2.data.node, rootId);\n return {\n timestamp: e2.timestamp,\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Mutation,\n adds: [\n {\n parentId: this.mirror.getId(iframeEl),\n nextId: null,\n node: e2.data.node\n }\n ],\n removes: [],\n texts: [],\n attributes: [],\n isAttachIframe: true\n }\n };\n }\n case EventType.Meta:\n case EventType.Load:\n case EventType.DomContentLoaded: {\n return false;\n }\n case EventType.Plugin: {\n return e2;\n }\n case EventType.Custom: {\n this.replaceIds(\n e2.data.payload,\n iframeEl,\n [\"id\", \"parentId\", \"previousId\", \"nextId\"]\n );\n return e2;\n }\n case EventType.IncrementalSnapshot: {\n switch (e2.data.source) {\n case IncrementalSource.Mutation: {\n e2.data.adds.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\n \"parentId\",\n \"nextId\",\n \"previousId\"\n ]);\n this.replaceIdOnNode(n2.node, iframeEl);\n const rootId = this.crossOriginIframeRootIdMap.get(iframeEl);\n rootId && this.patchRootIdOnNode(n2.node, rootId);\n });\n e2.data.removes.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"parentId\", \"id\"]);\n });\n e2.data.attributes.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"id\"]);\n });\n e2.data.texts.forEach((n2) => {\n this.replaceIds(n2, iframeEl, [\"id\"]);\n });\n return e2;\n }\n case IncrementalSource.Drag:\n case IncrementalSource.TouchMove:\n case IncrementalSource.MouseMove: {\n e2.data.positions.forEach((p) => {\n this.replaceIds(p, iframeEl, [\"id\"]);\n });\n return e2;\n }\n case IncrementalSource.ViewportResize: {\n return false;\n }\n case IncrementalSource.MediaInteraction:\n case IncrementalSource.MouseInteraction:\n case IncrementalSource.Scroll:\n case IncrementalSource.CanvasMutation:\n case IncrementalSource.Input: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n return e2;\n }\n case IncrementalSource.StyleSheetRule:\n case IncrementalSource.StyleDeclaration: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n this.replaceStyleIds(e2.data, iframeEl, [\"styleId\"]);\n return e2;\n }\n case IncrementalSource.Font: {\n return e2;\n }\n case IncrementalSource.Selection: {\n e2.data.ranges.forEach((range) => {\n this.replaceIds(range, iframeEl, [\"start\", \"end\"]);\n });\n return e2;\n }\n case IncrementalSource.AdoptedStyleSheet: {\n this.replaceIds(e2.data, iframeEl, [\"id\"]);\n this.replaceStyleIds(e2.data, iframeEl, [\"styleIds\"]);\n (_a2 = e2.data.styles) == null ? void 0 : _a2.forEach((style) => {\n this.replaceStyleIds(style, iframeEl, [\"styleId\"]);\n });\n return e2;\n }\n }\n }\n }\n return false;\n }\n replace(iframeMirror, obj, iframeEl, keys) {\n for (const key of keys) {\n if (!Array.isArray(obj[key]) && typeof obj[key] !== \"number\") continue;\n if (Array.isArray(obj[key])) {\n obj[key] = iframeMirror.getIds(\n iframeEl,\n obj[key]\n );\n } else {\n obj[key] = iframeMirror.getId(iframeEl, obj[key]);\n }\n }\n return obj;\n }\n replaceIds(obj, iframeEl, keys) {\n return this.replace(this.crossOriginIframeMirror, obj, iframeEl, keys);\n }\n replaceStyleIds(obj, iframeEl, keys) {\n return this.replace(this.crossOriginIframeStyleMirror, obj, iframeEl, keys);\n }\n replaceIdOnNode(node2, iframeEl) {\n this.replaceIds(node2, iframeEl, [\"id\", \"rootId\"]);\n if (\"childNodes\" in node2) {\n node2.childNodes.forEach((child) => {\n this.replaceIdOnNode(child, iframeEl);\n });\n }\n }\n patchRootIdOnNode(node2, rootId) {\n if (node2.type !== NodeType$2.Document && !node2.rootId) node2.rootId = rootId;\n if (\"childNodes\" in node2) {\n node2.childNodes.forEach((child) => {\n this.patchRootIdOnNode(child, rootId);\n });\n }\n }\n}\nclass ShadowDomManager {\n constructor(options) {\n __publicField(this, \"shadowDoms\", /* @__PURE__ */ new WeakSet());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"scrollCb\");\n __publicField(this, \"bypassOptions\");\n __publicField(this, \"mirror\");\n __publicField(this, \"restoreHandlers\", []);\n this.mutationCb = options.mutationCb;\n this.scrollCb = options.scrollCb;\n this.bypassOptions = options.bypassOptions;\n this.mirror = options.mirror;\n this.init();\n }\n init() {\n this.reset();\n this.patchAttachShadow(Element, document);\n }\n addShadowRoot(shadowRoot2, doc) {\n if (!isNativeShadowDom(shadowRoot2)) return;\n if (this.shadowDoms.has(shadowRoot2)) return;\n this.shadowDoms.add(shadowRoot2);\n const observer = initMutationObserver(\n {\n ...this.bypassOptions,\n doc,\n mutationCb: this.mutationCb,\n mirror: this.mirror,\n shadowDomManager: this\n },\n shadowRoot2\n );\n this.restoreHandlers.push(() => observer.disconnect());\n this.restoreHandlers.push(\n initScrollObserver({\n ...this.bypassOptions,\n scrollCb: this.scrollCb,\n // https://gist.github.com/praveenpuglia/0832da687ed5a5d7a0907046c9ef1813\n // scroll is not allowed to pass the boundary, so we need to listen the shadow document\n doc: shadowRoot2,\n mirror: this.mirror\n })\n );\n setTimeout(() => {\n if (shadowRoot2.adoptedStyleSheets && shadowRoot2.adoptedStyleSheets.length > 0)\n this.bypassOptions.stylesheetManager.adoptStyleSheets(\n shadowRoot2.adoptedStyleSheets,\n this.mirror.getId(index.host(shadowRoot2))\n );\n this.restoreHandlers.push(\n initAdoptedStyleSheetObserver(\n {\n mirror: this.mirror,\n stylesheetManager: this.bypassOptions.stylesheetManager\n },\n shadowRoot2\n )\n );\n }, 0);\n }\n /**\n * Monkey patch 'attachShadow' of an IFrameElement to observe newly added shadow doms.\n */\n observeAttachShadow(iframeElement) {\n if (!iframeElement.contentWindow || !iframeElement.contentDocument) return;\n this.patchAttachShadow(\n iframeElement.contentWindow.Element,\n iframeElement.contentDocument\n );\n }\n /**\n * Patch 'attachShadow' to observe newly added shadow doms.\n */\n patchAttachShadow(element, doc) {\n const manager = this;\n this.restoreHandlers.push(\n patch(\n element.prototype,\n \"attachShadow\",\n function(original) {\n return function(option) {\n const sRoot = original.call(this, option);\n const shadowRootEl = index.shadowRoot(this);\n if (shadowRootEl && inDom(this))\n manager.addShadowRoot(shadowRootEl, doc);\n return sRoot;\n };\n }\n )\n );\n }\n reset() {\n this.restoreHandlers.forEach((handler) => {\n try {\n handler();\n } catch (e2) {\n }\n });\n this.restoreHandlers = [];\n this.shadowDoms = /* @__PURE__ */ new WeakSet();\n }\n}\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar lookup = typeof Uint8Array === \"undefined\" ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars.length; i$1++) {\n lookup[chars.charCodeAt(i$1)] = i$1;\n}\nvar encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer), i2, len = bytes.length, base64 = \"\";\n for (i2 = 0; i2 < len; i2 += 3) {\n base64 += chars[bytes[i2] >> 2];\n base64 += chars[(bytes[i2] & 3) << 4 | bytes[i2 + 1] >> 4];\n base64 += chars[(bytes[i2 + 1] & 15) << 2 | bytes[i2 + 2] >> 6];\n base64 += chars[bytes[i2 + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n return base64;\n};\nconst canvasVarMap = /* @__PURE__ */ new Map();\nfunction variableListFor$1(ctx, ctor) {\n let contextMap = canvasVarMap.get(ctx);\n if (!contextMap) {\n contextMap = /* @__PURE__ */ new Map();\n canvasVarMap.set(ctx, contextMap);\n }\n if (!contextMap.has(ctor)) {\n contextMap.set(ctor, []);\n }\n return contextMap.get(ctor);\n}\nconst saveWebGLVar = (value, win, ctx) => {\n if (!value || !(isInstanceOfWebGLObject(value, win) || typeof value === \"object\"))\n return;\n const name = value.constructor.name;\n const list2 = variableListFor$1(ctx, name);\n let index2 = list2.indexOf(value);\n if (index2 === -1) {\n index2 = list2.length;\n list2.push(value);\n }\n return index2;\n};\nfunction serializeArg(value, win, ctx) {\n if (value instanceof Array) {\n return value.map((arg) => serializeArg(arg, win, ctx));\n } else if (value === null) {\n return value;\n } else if (value instanceof Float32Array || value instanceof Float64Array || value instanceof Int32Array || value instanceof Uint32Array || value instanceof Uint8Array || value instanceof Uint16Array || value instanceof Int16Array || value instanceof Int8Array || value instanceof Uint8ClampedArray) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [Object.values(value)]\n };\n } else if (\n // SharedArrayBuffer disabled on most browsers due to spectre.\n // More info: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer\n // value instanceof SharedArrayBuffer ||\n value instanceof ArrayBuffer\n ) {\n const name = value.constructor.name;\n const base64 = encode(value);\n return {\n rr_type: name,\n base64\n };\n } else if (value instanceof DataView) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [\n serializeArg(value.buffer, win, ctx),\n value.byteOffset,\n value.byteLength\n ]\n };\n } else if (value instanceof HTMLImageElement) {\n const name = value.constructor.name;\n const { src } = value;\n return {\n rr_type: name,\n src\n };\n } else if (value instanceof HTMLCanvasElement) {\n const name = \"HTMLImageElement\";\n const src = value.toDataURL();\n return {\n rr_type: name,\n src\n };\n } else if (value instanceof ImageData) {\n const name = value.constructor.name;\n return {\n rr_type: name,\n args: [serializeArg(value.data, win, ctx), value.width, value.height]\n };\n } else if (isInstanceOfWebGLObject(value, win) || typeof value === \"object\") {\n const name = value.constructor.name;\n const index2 = saveWebGLVar(value, win, ctx);\n return {\n rr_type: name,\n index: index2\n };\n }\n return value;\n}\nconst serializeArgs = (args, win, ctx) => {\n return args.map((arg) => serializeArg(arg, win, ctx));\n};\nconst isInstanceOfWebGLObject = (value, win) => {\n const webGLConstructorNames = [\n \"WebGLActiveInfo\",\n \"WebGLBuffer\",\n \"WebGLFramebuffer\",\n \"WebGLProgram\",\n \"WebGLRenderbuffer\",\n \"WebGLShader\",\n \"WebGLShaderPrecisionFormat\",\n \"WebGLTexture\",\n \"WebGLUniformLocation\",\n \"WebGLVertexArrayObject\",\n // In old Chrome versions, value won't be an instanceof WebGLVertexArrayObject.\n \"WebGLVertexArrayObjectOES\"\n ];\n const supportedWebGLConstructorNames = webGLConstructorNames.filter(\n (name) => typeof win[name] === \"function\"\n );\n return Boolean(\n supportedWebGLConstructorNames.find(\n (name) => value instanceof win[name]\n )\n );\n};\nfunction initCanvas2DMutationObserver(cb, win, blockClass, blockSelector) {\n const handlers = [];\n const props2D = Object.getOwnPropertyNames(\n win.CanvasRenderingContext2D.prototype\n );\n for (const prop of props2D) {\n try {\n if (typeof win.CanvasRenderingContext2D.prototype[prop] !== \"function\") {\n continue;\n }\n const restoreHandler = patch(\n win.CanvasRenderingContext2D.prototype,\n prop,\n function(original) {\n return function(...args) {\n if (!isBlocked(this.canvas, blockClass, blockSelector, true)) {\n setTimeout(() => {\n const recordArgs = serializeArgs(args, win, this);\n cb(this.canvas, {\n type: CanvasContext[\"2D\"],\n property: prop,\n args: recordArgs\n });\n }, 0);\n }\n return original.apply(this, args);\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n const hookHandler = hookSetter(\n win.CanvasRenderingContext2D.prototype,\n prop,\n {\n set(v2) {\n cb(this.canvas, {\n type: CanvasContext[\"2D\"],\n property: prop,\n args: [v2],\n setter: true\n });\n }\n }\n );\n handlers.push(hookHandler);\n }\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nfunction getNormalizedContextName(contextType) {\n return contextType === \"experimental-webgl\" ? \"webgl\" : contextType;\n}\nfunction initCanvasContextObserver(win, blockClass, blockSelector, setPreserveDrawingBufferToTrue) {\n const handlers = [];\n try {\n const restoreHandler = patch(\n win.HTMLCanvasElement.prototype,\n \"getContext\",\n function(original) {\n return function(contextType, ...args) {\n if (!isBlocked(this, blockClass, blockSelector, true)) {\n const ctxName = getNormalizedContextName(contextType);\n if (!(\"__context\" in this)) this.__context = ctxName;\n if (setPreserveDrawingBufferToTrue && [\"webgl\", \"webgl2\"].includes(ctxName)) {\n if (args[0] && typeof args[0] === \"object\") {\n const contextAttributes = args[0];\n if (!contextAttributes.preserveDrawingBuffer) {\n contextAttributes.preserveDrawingBuffer = true;\n }\n } else {\n args.splice(0, 1, {\n preserveDrawingBuffer: true\n });\n }\n }\n }\n return original.apply(this, [contextType, ...args]);\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n console.error(\"failed to patch HTMLCanvasElement.prototype.getContext\");\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nfunction patchGLPrototype(prototype, type, cb, blockClass, blockSelector, win) {\n const handlers = [];\n const props = Object.getOwnPropertyNames(prototype);\n for (const prop of props) {\n if (\n //prop.startsWith('get') || // e.g. getProgramParameter, but too risky\n [\n \"isContextLost\",\n \"canvas\",\n \"drawingBufferWidth\",\n \"drawingBufferHeight\"\n ].includes(prop)\n ) {\n continue;\n }\n try {\n if (typeof prototype[prop] !== \"function\") {\n continue;\n }\n const restoreHandler = patch(\n prototype,\n prop,\n function(original) {\n return function(...args) {\n const result2 = original.apply(this, args);\n saveWebGLVar(result2, win, this);\n if (\"tagName\" in this.canvas && !isBlocked(this.canvas, blockClass, blockSelector, true)) {\n const recordArgs = serializeArgs(args, win, this);\n const mutation = {\n type,\n property: prop,\n args: recordArgs\n };\n cb(this.canvas, mutation);\n }\n return result2;\n };\n }\n );\n handlers.push(restoreHandler);\n } catch {\n const hookHandler = hookSetter(prototype, prop, {\n set(v2) {\n cb(this.canvas, {\n type,\n property: prop,\n args: [v2],\n setter: true\n });\n }\n });\n handlers.push(hookHandler);\n }\n }\n return handlers;\n}\nfunction initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector) {\n const handlers = [];\n handlers.push(\n ...patchGLPrototype(\n win.WebGLRenderingContext.prototype,\n CanvasContext.WebGL,\n cb,\n blockClass,\n blockSelector,\n win\n )\n );\n if (typeof win.WebGL2RenderingContext !== \"undefined\") {\n handlers.push(\n ...patchGLPrototype(\n win.WebGL2RenderingContext.prototype,\n CanvasContext.WebGL2,\n cb,\n blockClass,\n blockSelector,\n win\n )\n );\n }\n return () => {\n handlers.forEach((h) => h());\n };\n}\nconst encodedJs = \"KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=\";\nconst decodeBase64 = (base64) => Uint8Array.from(atob(base64), (c2) => c2.charCodeAt(0));\nconst blob = typeof window !== \"undefined\" && window.Blob && new Blob([decodeBase64(encodedJs)], { type: \"text/javascript;charset=utf-8\" });\nfunction WorkerWrapper(options) {\n let objURL;\n try {\n objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);\n if (!objURL) throw \"\";\n const worker = new Worker(objURL, {\n name: options == null ? void 0 : options.name\n });\n worker.addEventListener(\"error\", () => {\n (window.URL || window.webkitURL).revokeObjectURL(objURL);\n });\n return worker;\n } catch (e2) {\n return new Worker(\n \"data:text/javascript;base64,\" + encodedJs,\n {\n name: options == null ? void 0 : options.name\n }\n );\n } finally {\n objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);\n }\n}\nclass CanvasManager {\n constructor(options) {\n __publicField(this, \"pendingCanvasMutations\", /* @__PURE__ */ new Map());\n __publicField(this, \"rafStamps\", { latestId: 0, invokeId: null });\n __publicField(this, \"mirror\");\n __publicField(this, \"mutationCb\");\n __publicField(this, \"resetObservers\");\n __publicField(this, \"frozen\", false);\n __publicField(this, \"locked\", false);\n __publicField(this, \"processMutation\", (target, mutation) => {\n const newFrame = this.rafStamps.invokeId && this.rafStamps.latestId !== this.rafStamps.invokeId;\n if (newFrame || !this.rafStamps.invokeId)\n this.rafStamps.invokeId = this.rafStamps.latestId;\n if (!this.pendingCanvasMutations.has(target)) {\n this.pendingCanvasMutations.set(target, []);\n }\n this.pendingCanvasMutations.get(target).push(mutation);\n });\n const {\n sampling = \"all\",\n win,\n blockClass,\n blockSelector,\n recordCanvas,\n dataURLOptions\n } = options;\n this.mutationCb = options.mutationCb;\n this.mirror = options.mirror;\n if (recordCanvas && sampling === \"all\")\n this.initCanvasMutationObserver(win, blockClass, blockSelector);\n if (recordCanvas && typeof sampling === \"number\")\n this.initCanvasFPSObserver(sampling, win, blockClass, blockSelector, {\n dataURLOptions\n });\n }\n reset() {\n this.pendingCanvasMutations.clear();\n this.resetObservers && this.resetObservers();\n }\n freeze() {\n this.frozen = true;\n }\n unfreeze() {\n this.frozen = false;\n }\n lock() {\n this.locked = true;\n }\n unlock() {\n this.locked = false;\n }\n initCanvasFPSObserver(fps, win, blockClass, blockSelector, options) {\n const canvasContextReset = initCanvasContextObserver(\n win,\n blockClass,\n blockSelector,\n true\n );\n const snapshotInProgressMap = /* @__PURE__ */ new Map();\n const worker = new WorkerWrapper();\n worker.onmessage = (e2) => {\n const { id } = e2.data;\n snapshotInProgressMap.set(id, false);\n if (!(\"base64\" in e2.data)) return;\n const { base64, type, width, height } = e2.data;\n this.mutationCb({\n id,\n type: CanvasContext[\"2D\"],\n commands: [\n {\n property: \"clearRect\",\n // wipe canvas\n args: [0, 0, width, height]\n },\n {\n property: \"drawImage\",\n // draws (semi-transparent) image\n args: [\n {\n rr_type: \"ImageBitmap\",\n args: [\n {\n rr_type: \"Blob\",\n data: [{ rr_type: \"ArrayBuffer\", base64 }],\n type\n }\n ]\n },\n 0,\n 0\n ]\n }\n ]\n });\n };\n const timeBetweenSnapshots = 1e3 / fps;\n let lastSnapshotTime = 0;\n let rafId;\n const getCanvas = () => {\n const matchedCanvas = [];\n win.document.querySelectorAll(\"canvas\").forEach((canvas) => {\n if (!isBlocked(canvas, blockClass, blockSelector, true)) {\n matchedCanvas.push(canvas);\n }\n });\n return matchedCanvas;\n };\n const takeCanvasSnapshots = (timestamp) => {\n if (lastSnapshotTime && timestamp - lastSnapshotTime < timeBetweenSnapshots) {\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n return;\n }\n lastSnapshotTime = timestamp;\n getCanvas().forEach(async (canvas) => {\n var _a2;\n const id = this.mirror.getId(canvas);\n if (snapshotInProgressMap.get(id)) return;\n if (canvas.width === 0 || canvas.height === 0) return;\n snapshotInProgressMap.set(id, true);\n if ([\"webgl\", \"webgl2\"].includes(canvas.__context)) {\n const context = canvas.getContext(canvas.__context);\n if (((_a2 = context == null ? void 0 : context.getContextAttributes()) == null ? void 0 : _a2.preserveDrawingBuffer) === false) {\n context.clear(context.COLOR_BUFFER_BIT);\n }\n }\n const bitmap = await createImageBitmap(canvas);\n worker.postMessage(\n {\n id,\n bitmap,\n width: canvas.width,\n height: canvas.height,\n dataURLOptions: options.dataURLOptions\n },\n [bitmap]\n );\n });\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n };\n rafId = requestAnimationFrame(takeCanvasSnapshots);\n this.resetObservers = () => {\n canvasContextReset();\n cancelAnimationFrame(rafId);\n };\n }\n initCanvasMutationObserver(win, blockClass, blockSelector) {\n this.startRAFTimestamping();\n this.startPendingCanvasMutationFlusher();\n const canvasContextReset = initCanvasContextObserver(\n win,\n blockClass,\n blockSelector,\n false\n );\n const canvas2DReset = initCanvas2DMutationObserver(\n this.processMutation.bind(this),\n win,\n blockClass,\n blockSelector\n );\n const canvasWebGL1and2Reset = initCanvasWebGLMutationObserver(\n this.processMutation.bind(this),\n win,\n blockClass,\n blockSelector\n );\n this.resetObservers = () => {\n canvasContextReset();\n canvas2DReset();\n canvasWebGL1and2Reset();\n };\n }\n startPendingCanvasMutationFlusher() {\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\n }\n startRAFTimestamping() {\n const setLatestRAFTimestamp = (timestamp) => {\n this.rafStamps.latestId = timestamp;\n requestAnimationFrame(setLatestRAFTimestamp);\n };\n requestAnimationFrame(setLatestRAFTimestamp);\n }\n flushPendingCanvasMutations() {\n this.pendingCanvasMutations.forEach(\n (_values, canvas) => {\n const id = this.mirror.getId(canvas);\n this.flushPendingCanvasMutationFor(canvas, id);\n }\n );\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\n }\n flushPendingCanvasMutationFor(canvas, id) {\n if (this.frozen || this.locked) {\n return;\n }\n const valuesWithType = this.pendingCanvasMutations.get(canvas);\n if (!valuesWithType || id === -1) return;\n const values = valuesWithType.map((value) => {\n const { type: type2, ...rest } = value;\n return rest;\n });\n const { type } = valuesWithType[0];\n this.mutationCb({ id, type, commands: values });\n this.pendingCanvasMutations.delete(canvas);\n }\n}\nclass StylesheetManager {\n constructor(options) {\n __publicField(this, \"trackedLinkElements\", /* @__PURE__ */ new WeakSet());\n __publicField(this, \"mutationCb\");\n __publicField(this, \"adoptedStyleSheetCb\");\n __publicField(this, \"styleMirror\", new StyleSheetMirror());\n this.mutationCb = options.mutationCb;\n this.adoptedStyleSheetCb = options.adoptedStyleSheetCb;\n }\n attachLinkElement(linkEl, childSn) {\n if (\"_cssText\" in childSn.attributes)\n this.mutationCb({\n adds: [],\n removes: [],\n texts: [],\n attributes: [\n {\n id: childSn.id,\n attributes: childSn.attributes\n }\n ]\n });\n this.trackLinkElement(linkEl);\n }\n trackLinkElement(linkEl) {\n if (this.trackedLinkElements.has(linkEl)) return;\n this.trackedLinkElements.add(linkEl);\n this.trackStylesheetInLinkElement(linkEl);\n }\n adoptStyleSheets(sheets, hostId) {\n if (sheets.length === 0) return;\n const adoptedStyleSheetData = {\n id: hostId,\n styleIds: []\n };\n const styles = [];\n for (const sheet of sheets) {\n let styleId;\n if (!this.styleMirror.has(sheet)) {\n styleId = this.styleMirror.add(sheet);\n styles.push({\n styleId,\n rules: Array.from(sheet.rules || CSSRule, (r2, index2) => ({\n rule: stringifyRule(r2, sheet.href),\n index: index2\n }))\n });\n } else styleId = this.styleMirror.getId(sheet);\n adoptedStyleSheetData.styleIds.push(styleId);\n }\n if (styles.length > 0) adoptedStyleSheetData.styles = styles;\n this.adoptedStyleSheetCb(adoptedStyleSheetData);\n }\n reset() {\n this.styleMirror.reset();\n this.trackedLinkElements = /* @__PURE__ */ new WeakSet();\n }\n // TODO: take snapshot on stylesheet reload by applying event listener\n trackStylesheetInLinkElement(_linkEl) {\n }\n}\nclass ProcessedNodeManager {\n constructor() {\n __publicField(this, \"nodeMap\", /* @__PURE__ */ new WeakMap());\n __publicField(this, \"active\", false);\n }\n inOtherBuffer(node2, thisBuffer) {\n const buffers = this.nodeMap.get(node2);\n return buffers && Array.from(buffers).some((buffer) => buffer !== thisBuffer);\n }\n add(node2, buffer) {\n if (!this.active) {\n this.active = true;\n requestAnimationFrame(() => {\n this.nodeMap = /* @__PURE__ */ new WeakMap();\n this.active = false;\n });\n }\n this.nodeMap.set(node2, (this.nodeMap.get(node2) || /* @__PURE__ */ new Set()).add(buffer));\n }\n destroy() {\n }\n}\nlet wrappedEmit;\nlet takeFullSnapshot$1;\nlet canvasManager;\nlet recording = false;\ntry {\n if (Array.from([1], (x2) => x2 * 2)[0] !== 2) {\n const cleanFrame = document.createElement(\"iframe\");\n document.body.appendChild(cleanFrame);\n Array.from = ((_a = cleanFrame.contentWindow) == null ? void 0 : _a.Array.from) || Array.from;\n document.body.removeChild(cleanFrame);\n }\n} catch (err) {\n console.debug(\"Unable to override Array.from\", err);\n}\nconst mirror = createMirror$2();\nfunction record(options = {}) {\n const {\n emit,\n checkoutEveryNms,\n checkoutEveryNth,\n blockClass = \"rr-block\",\n blockSelector = null,\n ignoreClass = \"rr-ignore\",\n ignoreSelector = null,\n maskTextClass = \"rr-mask\",\n maskTextSelector = null,\n inlineStylesheet = true,\n maskAllInputs,\n maskInputOptions: _maskInputOptions,\n slimDOMOptions: _slimDOMOptions,\n maskInputFn,\n maskTextFn,\n hooks,\n packFn,\n sampling = {},\n dataURLOptions = {},\n mousemoveWait,\n recordDOM = true,\n recordCanvas = false,\n recordCrossOriginIframes = false,\n recordAfter = options.recordAfter === \"DOMContentLoaded\" ? options.recordAfter : \"load\",\n userTriggeredOnInput = false,\n collectFonts = false,\n inlineImages = false,\n plugins,\n keepIframeSrcFn = () => false,\n ignoreCSSAttributes = /* @__PURE__ */ new Set([]),\n errorHandler: errorHandler2\n } = options;\n registerErrorHandler(errorHandler2);\n const inEmittingFrame = recordCrossOriginIframes ? window.parent === window : true;\n let passEmitsToParent = false;\n if (!inEmittingFrame) {\n try {\n if (window.parent.document) {\n passEmitsToParent = false;\n }\n } catch (e2) {\n passEmitsToParent = true;\n }\n }\n if (inEmittingFrame && !emit) {\n throw new Error(\"emit function is required\");\n }\n if (!inEmittingFrame && !passEmitsToParent) {\n return () => {\n };\n }\n if (mousemoveWait !== void 0 && sampling.mousemove === void 0) {\n sampling.mousemove = mousemoveWait;\n }\n mirror.reset();\n const maskInputOptions = maskAllInputs === true ? {\n color: true,\n date: true,\n \"datetime-local\": true,\n email: true,\n month: true,\n number: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true,\n textarea: true,\n select: true,\n password: true\n } : _maskInputOptions !== void 0 ? _maskInputOptions : { password: true };\n const slimDOMOptions = _slimDOMOptions === true || _slimDOMOptions === \"all\" ? {\n script: true,\n comment: true,\n headFavicon: true,\n headWhitespace: true,\n headMetaSocial: true,\n headMetaRobots: true,\n headMetaHttpEquiv: true,\n headMetaVerification: true,\n // the following are off for slimDOMOptions === true,\n // as they destroy some (hidden) info:\n headMetaAuthorship: _slimDOMOptions === \"all\",\n headMetaDescKeywords: _slimDOMOptions === \"all\",\n headTitleMutations: _slimDOMOptions === \"all\"\n } : _slimDOMOptions ? _slimDOMOptions : {};\n polyfill$1();\n let lastFullSnapshotEvent;\n let incrementalSnapshotCount = 0;\n const eventProcessor = (e2) => {\n for (const plugin3 of plugins || []) {\n if (plugin3.eventProcessor) {\n e2 = plugin3.eventProcessor(e2);\n }\n }\n if (packFn && // Disable packing events which will be emitted to parent frames.\n !passEmitsToParent) {\n e2 = packFn(e2);\n }\n return e2;\n };\n wrappedEmit = (r2, isCheckout) => {\n var _a2;\n const e2 = r2;\n e2.timestamp = nowTimestamp();\n if (((_a2 = mutationBuffers[0]) == null ? void 0 : _a2.isFrozen()) && e2.type !== EventType.FullSnapshot && !(e2.type === EventType.IncrementalSnapshot && e2.data.source === IncrementalSource.Mutation)) {\n mutationBuffers.forEach((buf) => buf.unfreeze());\n }\n if (inEmittingFrame) {\n emit == null ? void 0 : emit(eventProcessor(e2), isCheckout);\n } else if (passEmitsToParent) {\n const message = {\n type: \"rrweb\",\n event: eventProcessor(e2),\n origin: window.location.origin,\n isCheckout\n };\n window.parent.postMessage(message, \"*\");\n }\n if (e2.type === EventType.FullSnapshot) {\n lastFullSnapshotEvent = e2;\n incrementalSnapshotCount = 0;\n } else if (e2.type === EventType.IncrementalSnapshot) {\n if (e2.data.source === IncrementalSource.Mutation && e2.data.isAttachIframe) {\n return;\n }\n incrementalSnapshotCount++;\n const exceedCount = checkoutEveryNth && incrementalSnapshotCount >= checkoutEveryNth;\n const exceedTime = checkoutEveryNms && e2.timestamp - lastFullSnapshotEvent.timestamp > checkoutEveryNms;\n if (exceedCount || exceedTime) {\n takeFullSnapshot$1(true);\n }\n }\n };\n const wrappedMutationEmit = (m) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Mutation,\n ...m\n }\n });\n };\n const wrappedScrollEmit = (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Scroll,\n ...p\n }\n });\n const wrappedCanvasMutationEmit = (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.CanvasMutation,\n ...p\n }\n });\n const wrappedAdoptedStyleSheetEmit = (a2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.AdoptedStyleSheet,\n ...a2\n }\n });\n const stylesheetManager = new StylesheetManager({\n mutationCb: wrappedMutationEmit,\n adoptedStyleSheetCb: wrappedAdoptedStyleSheetEmit\n });\n const iframeManager = new IframeManager({\n mirror,\n mutationCb: wrappedMutationEmit,\n stylesheetManager,\n recordCrossOriginIframes,\n wrappedEmit\n });\n for (const plugin3 of plugins || []) {\n if (plugin3.getMirror)\n plugin3.getMirror({\n nodeMirror: mirror,\n crossOriginIframeMirror: iframeManager.crossOriginIframeMirror,\n crossOriginIframeStyleMirror: iframeManager.crossOriginIframeStyleMirror\n });\n }\n const processedNodeManager = new ProcessedNodeManager();\n canvasManager = new CanvasManager({\n recordCanvas,\n mutationCb: wrappedCanvasMutationEmit,\n win: window,\n blockClass,\n blockSelector,\n mirror,\n sampling: sampling.canvas,\n dataURLOptions\n });\n const shadowDomManager = new ShadowDomManager({\n mutationCb: wrappedMutationEmit,\n scrollCb: wrappedScrollEmit,\n bypassOptions: {\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n inlineStylesheet,\n maskInputOptions,\n dataURLOptions,\n maskTextFn,\n maskInputFn,\n recordCanvas,\n inlineImages,\n sampling,\n slimDOMOptions,\n iframeManager,\n stylesheetManager,\n canvasManager,\n keepIframeSrcFn,\n processedNodeManager\n },\n mirror\n });\n takeFullSnapshot$1 = (isCheckout = false) => {\n if (!recordDOM) {\n return;\n }\n wrappedEmit(\n {\n type: EventType.Meta,\n data: {\n href: window.location.href,\n width: getWindowWidth(),\n height: getWindowHeight()\n }\n },\n isCheckout\n );\n stylesheetManager.reset();\n shadowDomManager.init();\n mutationBuffers.forEach((buf) => buf.lock());\n const node2 = snapshot(document, {\n mirror,\n blockClass,\n blockSelector,\n maskTextClass,\n maskTextSelector,\n inlineStylesheet,\n maskAllInputs: maskInputOptions,\n maskTextFn,\n maskInputFn,\n slimDOM: slimDOMOptions,\n dataURLOptions,\n recordCanvas,\n inlineImages,\n onSerialize: (n2) => {\n if (isSerializedIframe(n2, mirror)) {\n iframeManager.addIframe(n2);\n }\n if (isSerializedStylesheet(n2, mirror)) {\n stylesheetManager.trackLinkElement(n2);\n }\n if (hasShadowRoot(n2)) {\n shadowDomManager.addShadowRoot(index.shadowRoot(n2), document);\n }\n },\n onIframeLoad: (iframe, childSn) => {\n iframeManager.attachIframe(iframe, childSn);\n shadowDomManager.observeAttachShadow(iframe);\n },\n onStylesheetLoad: (linkEl, childSn) => {\n stylesheetManager.attachLinkElement(linkEl, childSn);\n },\n keepIframeSrcFn\n });\n if (!node2) {\n return console.warn(\"Failed to snapshot the document\");\n }\n wrappedEmit(\n {\n type: EventType.FullSnapshot,\n data: {\n node: node2,\n initialOffset: getWindowScroll(window)\n }\n },\n isCheckout\n );\n mutationBuffers.forEach((buf) => buf.unlock());\n if (document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0)\n stylesheetManager.adoptStyleSheets(\n document.adoptedStyleSheets,\n mirror.getId(document)\n );\n };\n try {\n const handlers = [];\n const observe = (doc) => {\n var _a2;\n return callbackWrapper(initObservers)(\n {\n mutationCb: wrappedMutationEmit,\n mousemoveCb: (positions, source) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source,\n positions\n }\n }),\n mouseInteractionCb: (d) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.MouseInteraction,\n ...d\n }\n }),\n scrollCb: wrappedScrollEmit,\n viewportResizeCb: (d) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.ViewportResize,\n ...d\n }\n }),\n inputCb: (v2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Input,\n ...v2\n }\n }),\n mediaInteractionCb: (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.MediaInteraction,\n ...p\n }\n }),\n styleSheetRuleCb: (r2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.StyleSheetRule,\n ...r2\n }\n }),\n styleDeclarationCb: (r2) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.StyleDeclaration,\n ...r2\n }\n }),\n canvasMutationCb: wrappedCanvasMutationEmit,\n fontCb: (p) => wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Font,\n ...p\n }\n }),\n selectionCb: (p) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.Selection,\n ...p\n }\n });\n },\n customElementCb: (c2) => {\n wrappedEmit({\n type: EventType.IncrementalSnapshot,\n data: {\n source: IncrementalSource.CustomElement,\n ...c2\n }\n });\n },\n blockClass,\n ignoreClass,\n ignoreSelector,\n maskTextClass,\n maskTextSelector,\n maskInputOptions,\n inlineStylesheet,\n sampling,\n recordDOM,\n recordCanvas,\n inlineImages,\n userTriggeredOnInput,\n collectFonts,\n doc,\n maskInputFn,\n maskTextFn,\n keepIframeSrcFn,\n blockSelector,\n slimDOMOptions,\n dataURLOptions,\n mirror,\n iframeManager,\n stylesheetManager,\n shadowDomManager,\n processedNodeManager,\n canvasManager,\n ignoreCSSAttributes,\n plugins: ((_a2 = plugins == null ? void 0 : plugins.filter((p) => p.observer)) == null ? void 0 : _a2.map((p) => ({\n observer: p.observer,\n options: p.options,\n callback: (payload) => wrappedEmit({\n type: EventType.Plugin,\n data: {\n plugin: p.name,\n payload\n }\n })\n }))) || []\n },\n hooks\n );\n };\n iframeManager.addLoadListener((iframeEl) => {\n try {\n handlers.push(observe(iframeEl.contentDocument));\n } catch (error) {\n console.warn(error);\n }\n });\n const init = () => {\n takeFullSnapshot$1();\n handlers.push(observe(document));\n recording = true;\n };\n if (document.readyState === \"interactive\" || document.readyState === \"complete\") {\n init();\n } else {\n handlers.push(\n on(\"DOMContentLoaded\", () => {\n wrappedEmit({\n type: EventType.DomContentLoaded,\n data: {}\n });\n if (recordAfter === \"DOMContentLoaded\") init();\n })\n );\n handlers.push(\n on(\n \"load\",\n () => {\n wrappedEmit({\n type: EventType.Load,\n data: {}\n });\n if (recordAfter === \"load\") init();\n },\n window\n )\n );\n }\n return () => {\n handlers.forEach((h) => h());\n processedNodeManager.destroy();\n recording = false;\n unregisterErrorHandler();\n };\n } catch (error) {\n console.warn(error);\n }\n}\nrecord.addCustomEvent = (tag, payload) => {\n if (!recording) {\n throw new Error(\"please add custom event after start recording\");\n }\n wrappedEmit({\n type: EventType.Custom,\n data: {\n tag,\n payload\n }\n });\n};\nrecord.freezePage = () => {\n mutationBuffers.forEach((buf) => buf.freeze());\n};\nrecord.takeFullSnapshot = (isCheckout) => {\n if (!recording) {\n throw new Error(\"please take full snapshot after start recording\");\n }\n takeFullSnapshot$1(isCheckout);\n};\nrecord.mirror = mirror;\nvar n;\n!function(t2) {\n t2[t2.NotStarted = 0] = \"NotStarted\", t2[t2.Running = 1] = \"Running\", t2[t2.Stopped = 2] = \"Stopped\";\n}(n || (n = {}));\nexport {\n record\n};\n//# sourceMappingURL=record.js.map\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","import rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nconst _state = {};\nfunction v1(options, buf, offset) {\n let bytes;\n const isV6 = options?._v6 ?? false;\n if (options) {\n const optionsKeys = Object.keys(options);\n if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {\n options = undefined;\n }\n }\n if (options) {\n bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);\n }\n else {\n const now = Date.now();\n const rnds = rng();\n updateV1State(_state, now, rnds);\n bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);\n }\n return buf ?? unsafeStringify(bytes);\n}\nexport function updateV1State(state, now, rnds) {\n state.msecs ??= -Infinity;\n state.nsecs ??= 0;\n if (now === state.msecs) {\n state.nsecs++;\n if (state.nsecs >= 10000) {\n state.node = undefined;\n state.nsecs = 0;\n }\n }\n else if (now > state.msecs) {\n state.nsecs = 0;\n }\n else if (now < state.msecs) {\n state.node = undefined;\n }\n if (!state.node) {\n state.node = rnds.slice(10, 16);\n state.node[0] |= 0x01;\n state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n }\n state.msecs = now;\n return state;\n}\nfunction v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n if (!buf) {\n buf = new Uint8Array(16);\n offset = 0;\n }\n else {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n }\n msecs ??= Date.now();\n nsecs ??= 0;\n clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;\n node ??= rnds.slice(10, 16);\n msecs += 12219292800000;\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n buf[offset++] = (tl >>> 24) & 0xff;\n buf[offset++] = (tl >>> 16) & 0xff;\n buf[offset++] = (tl >>> 8) & 0xff;\n buf[offset++] = tl & 0xff;\n const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;\n buf[offset++] = (tmh >>> 8) & 0xff;\n buf[offset++] = tmh & 0xff;\n buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;\n buf[offset++] = (tmh >>> 16) & 0xff;\n buf[offset++] = (clockseq >>> 8) | 0x80;\n buf[offset++] = clockseq & 0xff;\n for (let n = 0; n < 6; ++n) {\n buf[offset++] = node[n];\n }\n return buf;\n}\nexport default v1;\n","import{record as e}from\"@rrweb/record\";import{v1 as t}from\"uuid\";var s;!function(e){e[e.NONE=0]=\"NONE\",e[e.ERROR=1]=\"ERROR\",e[e.WARN=2]=\"WARN\",e[e.INFO=3]=\"INFO\",e[e.DEBUG=4]=\"DEBUG\"}(s||(s={}));const i=new class{constructor(e){this.config={level:s.ERROR,enableConsole:!0,enableStorage:!1},this.isBrowser=\"undefined\"!=typeof window,e&&(this.config={...this.config,...e})}setConfig(e){this.config={...this.config,...e}}shouldLog(e){return e<=this.config.level}formatMessage(e,t,...s){return`[HumanBehavior ${e}] ${(new Date).toISOString()}: ${t}`}error(e,...t){if(!this.shouldLog(s.ERROR))return;const i=this.formatMessage(\"ERROR\",e);this.config.enableConsole&&console.error(i,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(i,t)}warn(e,...t){if(!this.shouldLog(s.WARN))return;const i=this.formatMessage(\"WARN\",e);this.config.enableConsole&&console.warn(i,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(i,t)}info(e,...t){if(!this.shouldLog(s.INFO))return;const i=this.formatMessage(\"INFO\",e);this.config.enableConsole&&console.log(i,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(i,t)}debug(e,...t){if(!this.shouldLog(s.DEBUG))return;const i=this.formatMessage(\"DEBUG\",e);this.config.enableConsole&&console.log(i,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(i,t)}logToStorage(e,t){try{const s=JSON.parse(localStorage.getItem(\"human_behavior_logs\")||\"[]\"),i={message:e,args:t.length>0?t:void 0,timestamp:Date.now()};s.push(i),s.length>1e3&&s.splice(0,s.length-1e3),localStorage.setItem(\"human_behavior_logs\",JSON.stringify(s))}catch(e){}}getLogs(){if(!this.isBrowser)return[];try{return JSON.parse(localStorage.getItem(\"human_behavior_logs\")||\"[]\")}catch(e){return[]}}clearLogs(){this.isBrowser&&localStorage.removeItem(\"human_behavior_logs\")}};let n=!1;const r=()=>n,o=(e,...t)=>{n=!0;try{i.error(e,...t)}finally{n=!1}},a=(e,...t)=>{n=!0;try{i.warn(e,...t)}finally{n=!1}},d=(e,...t)=>{n=!0;try{i.info(e,...t)}finally{n=!1}},c=(e,...t)=>{n=!0;try{i.debug(e,...t)}finally{n=!1}};class l{constructor(e){this._isPolling=!1,this._pollIntervalMs=3e3,this._queue=[],this._queue=[],this._areWeOnline=!0,this._sendRequest=e,\"undefined\"!=typeof window&&\"onLine\"in window.navigator&&(this._areWeOnline=window.navigator.onLine,window.addEventListener(\"online\",()=>{this._areWeOnline=!0,this._flush()}),window.addEventListener(\"offline\",()=>{this._areWeOnline=!1}))}get length(){return this._queue.length}async retriableRequest(e){const t=e.retriesPerformedSoFar||0;if(t>0){const s=new URL(e.url);s.searchParams.set(\"retry_count\",t.toString()),e.url=s.toString()}try{await this._sendRequest(e)}catch(s){if(this._shouldRetry(s,t)&&t<10)return void this._enqueue(e);e.callback&&e.callback({statusCode:s.status||0,text:s.message||\"Request failed\"})}}_shouldRetry(e,t){return e.status>=400&&e.status<500?408===e.status||429===e.status:e.status>=500||!e.status}_enqueue(e){const t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;const s=function(e){const t=3e3*2**e,s=t/2,i=Math.min(18e5,t),n=(Math.random()-.5)*(i-s);return Math.ceil(i+n)}(t),i=Date.now()+s;this._queue.push({retryAt:i,requestOptions:e});let n=`Enqueued failed request for retry in ${Math.round(s/1e3)}s`;\"undefined\"==typeof navigator||navigator.onLine||(n+=\" (Browser is offline)\"),a(n),this._isPolling||(this._isPolling=!0,this._poll())}_poll(){this._poller&&clearTimeout(this._poller),this._poller=setTimeout(()=>{this._areWeOnline&&this._queue.length>0&&this._flush(),this._poll()},this._pollIntervalMs)}_flush(){const e=Date.now(),t=[],s=this._queue.filter(s=>s.retryAt<e||(t.push(s),!1));if(this._queue=t,s.length>0)for(const{requestOptions:e}of s)this.retriableRequest(e).catch(e=>{o(\"Failed to retry request:\",e)})}unload(){this._poller&&(clearTimeout(this._poller),this._poller=void 0);for(const{requestOptions:e}of this._queue)try{this._sendBeaconRequest(e)}catch(e){o(\"Failed to send request via sendBeacon on unload:\",e)}this._queue=[]}_sendBeaconRequest(e){if(\"undefined\"!=typeof navigator&&navigator.sendBeacon)try{const t=new URL(e.url);t.searchParams.set(\"beacon\",\"1\");let s=null;e.body&&(\"string\"==typeof e.body?s=new Blob([e.body],{type:\"application/json\"}):e.body instanceof Blob&&(s=e.body));navigator.sendBeacon(t.toString(),s)||a(\"sendBeacon returned false for unload request\")}catch(e){o(\"Error sending beacon request:\",e)}}}class h{constructor(e,t=1e3){this.storageKey=\"human_behavior_queue\",this.maxQueueSize=t}getQueue(){if(\"undefined\"==typeof window||!window.localStorage)return[];try{const e=window.localStorage.getItem(this.storageKey);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){return a(\"Failed to read persisted queue:\",e),[]}}setQueue(e){if(\"undefined\"!=typeof window&&window.localStorage)try{const t=e.slice(-this.maxQueueSize);window.localStorage.setItem(this.storageKey,JSON.stringify(t)),c(`Persisted ${t.length} events to storage`)}catch(t){if(\"QuotaExceededError\"===t.name||22===t.code){a(\"Storage quota exceeded, clearing old events\");try{const t=e.slice(-Math.floor(this.maxQueueSize/2));window.localStorage.setItem(this.storageKey,JSON.stringify(t))}catch(e){a(\"Failed to save smaller queue, clearing storage\"),this.clearQueue()}}else a(\"Failed to persist queue:\",t)}}addToQueue(e){const t=this.getQueue();t.push(e),t.length>this.maxQueueSize&&(t.shift(),c(\"Queue is full, the oldest event is dropped.\")),this.setQueue(t)}removeFromQueue(e){const t=this.getQueue();t.splice(0,e),this.setQueue(t)}clearQueue(){if(\"undefined\"!=typeof window&&window.localStorage)try{window.localStorage.removeItem(this.storageKey)}catch(e){a(\"Failed to clear persisted queue:\",e)}}getQueueLength(){return this.getQueue().length}}const u=\"0.5.67\",p=1048576,m=52428.8;function g(e,t,s){return(new TextEncoder).encode(w({sessionId:s,events:[...e,t]})).length>p}function w(e){return JSON.stringify(e,(e,t)=>\"bigint\"==typeof t?t.toString():t)}function y(e,t){if(!e||\"object\"!=typeof e)return[];if((new TextEncoder).encode(w({sessionId:t,events:[e]})).length<=p)return[e];const s={...e},i=[\"screenshot\",\"html\",\"dom\",\"fullText\",\"innerHTML\",\"outerHTML\"];i.forEach(e=>{s[e]&&delete s[e]});if((new TextEncoder).encode(w({sessionId:t,events:[s]})).length<=p)return[s];return[{type:e.type,timestamp:e.timestamp,url:e.url,pathname:e.pathname,...Object.fromEntries(Object.entries(e).filter(([e,t])=>!i.includes(e)&&\"object\"!=typeof t&&\"string\"!=typeof t||\"string\"==typeof t&&t.length<1e3))}]}class f{constructor({apiKey:e,ingestionUrl:t}){this.monthlyLimitReached=!1,this.sessionId=\"\",this.endUserId=null,this.cspBlocked=!1,this.requestTimeout=1e4,this.currentBatchSize=100,this.apiKey=e,this.baseUrl=t,this.persistence=new h(e),this.retryQueue=new l(e=>this._sendRequestInternal(e)),this._loadPersistedEvents()}setTrackingContext(e,t){this.sessionId=e,this.endUserId=t}async _loadPersistedEvents(){const e=this.persistence.getQueue();if(0!==e.length){c(`Loading ${e.length} persisted events from storage`);for(const t of e)try{await this.sendEventsChunked(t.events,t.sessionId,t.endUserId||void 0,t.windowId,t.automaticProperties),this.persistence.removeFromQueue(1)}catch(e){a(\"Failed to send persisted event, will retry later:\",e)}}}async _sendRequestInternal(e){const t=\"undefined\"!=typeof AbortController?new AbortController:null;let s=null;t&&(s=setTimeout(()=>{t.abort()},this.requestTimeout));try{const i=e.estimatedSize||0,n=\"POST\"===e.method&&i<m,r=await fetch(e.url,{method:e.method||\"GET\",headers:e.headers||{},body:e.body,signal:t?.signal,keepalive:n});s&&clearTimeout(s);const o=await r.text();let a=null;try{a=JSON.parse(o)}catch{}if(e.callback&&e.callback({statusCode:r.status,text:o,json:a}),!r.ok)throw{status:r.status,message:o}}catch(e){if(s&&clearTimeout(s),\"AbortError\"===e.name)throw{status:0,message:\"Request timeout\"};throw e}}unload(){this.retryQueue.unload()}checkMonthlyLimit(){return!this.monthlyLimitReached}async init(e,t){if(!this.checkMonthlyLimit())return{sessionId:e,endUserId:t};let s=null,i=null;\"undefined\"!=typeof window&&(s=window.location.href,i=document.referrer),d(\"API init called with:\",{sessionId:e,userId:t,entryURL:s,referrer:i,baseUrl:this.baseUrl});try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/init`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`,Referer:i||\"\"},body:w({sessionId:e,endUserId:t,entryURL:s,referrer:i,sdkVersion:u})});if(d(\"API init response status:\",n.status),!n.ok){if(429===n.status)return this.monthlyLimitReached=!0,{sessionId:e,endUserId:t};const s=await n.text();throw o(\"API init failed:\",n.status,s),new Error(`Failed to initialize ingestion: ${n.statusText} - ${s}`)}const r=await n.json();return!0===r.monthlyLimitReached&&(this.monthlyLimitReached=!0,d(\"Monthly limit reached detected from server response\")),d(\"API init success:\",r),{sessionId:r.sessionId,endUserId:r.endUserId}}catch(e){throw o(\"API init error:\",e),e}}async sendEvents(e,t,s){const i=e.filter(e=>e&&\"object\"==typeof e),n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:w({sessionId:t,events:i,endUserId:s,sdkVersion:u})});if(!n.ok){if(429===n.status)throw this.monthlyLimitReached=!0,new Error(\"429: Monthly video processing limit reached\");throw new Error(`Failed to send events: ${n.statusText}`)}!0===(await n.json()).monthlyLimitReached&&(this.monthlyLimitReached=!0,d(\"Monthly limit reached detected from events response\"))}async sendEventsChunked(e,t,s,i,n){if(!this.checkMonthlyLimit())return[];try{const r=[];let o=[];for(const a of e)if(a&&\"object\"==typeof a)if(g(o,a,t)){if(o.length>0){c(`[SDK] Sending chunk with ${o.length} events`);const e=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:w({sessionId:t,events:o,endUserId:s,windowId:i,automaticProperties:n,sdkVersion:u})});if(!e.ok){if(429===e.status)return this.monthlyLimitReached=!0,r.flat();throw new Error(`Failed to send events: ${e.statusText}`)}const a=await e.json();!0===a.monthlyLimitReached&&(this.monthlyLimitReached=!0,d(\"Monthly limit reached detected from chunked events response\")),r.push(a),o=[]}o=y(a,t)}else o.push(a);if(o.length>0){const e=await this._sendChunkWithRetry(o,t,s,i,n||o[0]?.automaticProperties);e&&r.push(e)}return r.flat()}catch(r){throw o(\"Error sending events:\",r),this._persistEvents(e,t,s,i,n),r}}async _sendChunkWithRetry(e,t,s,i,n){let r=Math.min(this.currentBatchSize,e.length),o=0;for(;o<e.length;){const c=w({sessionId:t,events:e.slice(o,o+r),endUserId:s,windowId:i,automaticProperties:n,sdkVersion:u}),l=(new TextEncoder).encode(c).length;try{const h=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:c},l);if(!h.ok){if(429===h.status)return this.monthlyLimitReached=!0,this._persistEvents(e.slice(o),t,s,i,n),null;if(413===h.status){a(`413 error: reducing batch size from ${r} to ${Math.max(1,Math.floor(r/2))}`),this.currentBatchSize=Math.max(1,Math.floor(r/2)),r=this.currentBatchSize;continue}return await this.retryQueue.retriableRequest({url:`${this.baseUrl}/api/ingestion/events`,method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:c,estimatedSize:l,callback:e=>{200===e.statusCode&&e.json&&!0===e.json.monthlyLimitReached&&(this.monthlyLimitReached=!0)}}),this._persistEvents(e.slice(o),t,s,i,n),null}const u=await h.json();if(!0===u.monthlyLimitReached&&(this.monthlyLimitReached=!0,d(\"Monthly limit reached detected from chunked events response\")),o+=r,o>=e.length)return u}catch(r){return a(\"Network error sending chunk, adding to retry queue:\",r),await this.retryQueue.retriableRequest({url:`${this.baseUrl}/api/ingestion/events`,method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:c,estimatedSize:l,callback:e=>{200===e.statusCode&&e.json&&!0===e.json.monthlyLimitReached&&(this.monthlyLimitReached=!0)}}),this._persistEvents(e.slice(o),t,s,i,n),null}}return null}_persistEvents(e,t,s,i,n){0!==e.length&&this.persistence.addToQueue({sessionId:t,events:e,endUserId:s,windowId:i,automaticProperties:n,timestamp:Date.now()})}async sendUserData(e,t,s){try{const i={userId:e,userAttributes:t,sessionId:s,posthogName:t.email||t.name||null};c(\"Sending user data to server:\",i);const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/user`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:w(i)});if(!n.ok)throw new Error(`Failed to send user data: ${n.statusText} with API key: ${this.apiKey}`);const r=await n.json();return c(\"Server response:\",r),r}catch(e){throw o(\"Error sending user data:\",e),e}}async sendUserAuth(e,t,s,i){try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/user/auth`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:w({userId:e,userAttributes:t,sessionId:s,authFields:i})});if(!n.ok)throw new Error(`Failed to authenticate user: ${n.statusText} with API key: ${this.apiKey}`);return await n.json()}catch(e){throw o(\"Error authenticating user:\",e),e}}sendBeaconEvents(e,t,s,i,n){const r={sessionId:t,events:e,endUserId:s||null,windowId:i,automaticProperties:n,sdkVersion:u,apiKey:this.apiKey},o=new Blob([w(r)],{type:\"application/json\"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/events`,o)}async sendCustomEvent(e,t,s,i){d(\"[SDK] Sending custom event\",{sessionId:e,eventName:t,eventProperties:s,endUserId:i});try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/customEvent`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:w({sessionId:e,eventName:t,eventProperties:s||{},endUserId:i||null})});if(d(\"[SDK] Custom event response\",{status:n.status,statusText:n.statusText}),!n.ok){const e=await n.text();throw o(\"[SDK] Failed to send custom event\",{status:n.status,statusText:n.statusText,errorText:e}),new Error(`Failed to send custom event: ${n.status} ${n.statusText} - ${e}`)}const r=await n.json();return c(\"[SDK] Custom event success\",r),r}catch(i){throw o(\"[SDK] Error sending custom event\",i,{sessionId:e,eventName:t,eventProperties:s}),i}}async sendCustomEventBatch(e,t,s){try{const i=await this.trackedFetch(`${this.baseUrl}/api/ingestion/customEvent/batch`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:w({sessionId:e,events:t,endUserId:s||null})});if(!i.ok)throw new Error(`Failed to send custom event batch: ${i.statusText}`);return await i.json()}catch(e){throw o(\"Error sending custom event batch:\",e),e}}async sendLog(e){try{if(c(\"[SDK] Sending log to server:\",{level:e.level,message:e.message.substring(0,50),sessionId:e.sessionId}),!this.baseUrl)return;if(!e.sessionId)return;const t=await fetch(`${this.baseUrl}/api/ingestion/logs`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:w(e)});t.ok?c(\"[SDK] Log sent successfully\"):a(\"[SDK] Failed to send log to server:\",t.status,t.statusText)}catch(e){a(\"[SDK] Failed to send log to server:\",e)}}async sendNetworkError(e){try{if(c(\"[SDK] Sending network error to server:\",{errorType:e.errorType,url:e.url.substring(0,50),sessionId:e.sessionId}),!this.baseUrl)return;if(!e.sessionId)return;const t=await fetch(`${this.baseUrl}/api/ingestion/network`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${this.apiKey}`},body:w(e)});t.ok?c(\"[SDK] Network error sent successfully\"):a(\"[SDK] Failed to send network error to server:\",t.status,t.statusText)}catch(e){a(\"[SDK] Failed to send network error to server:\",e)}}async trackedFetch(e,s,i){const n=Date.now(),r=t(),o=this.shouldSkipNetworkTracking(e);if(this.cspBlocked&&\"POST\"===s.method&&\"undefined\"!=typeof navigator&&\"function\"==typeof navigator.sendBeacon)return this.trackedFetchWithBeaconFallback(e,s,o);try{const t=\"undefined\"!=typeof AbortController?new AbortController:null;let a=null;t&&(a=setTimeout(()=>{t.abort()},this.requestTimeout));const d=\"POST\"===s.method&&void 0!==i&&i<m,c=await fetch(e,{...s,signal:t?.signal,keepalive:d});a&&clearTimeout(a);const l=Date.now()-n;return c.ok||o||await this.sendNetworkError({requestId:r,url:e,method:s.method||\"GET\",status:c.status,statusText:c.statusText,duration:l,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyHttpError(c.status),errorMessage:c.statusText,startTimeMs:n,spanName:`${s.method||\"GET\"} ${e}`,spanStatus:\"error\",attributes:{\"http.status_code\":c.status,\"http.status_text\":c.statusText}}).catch(()=>{}),c}catch(t){const i=Date.now()-n;if(\"AbortError\"===t.name){const e=new Error(\"Request timeout\");e.name=\"TimeoutError\",t=e}if(this.isCSPViolation(t)&&\"POST\"===s.method&&\"undefined\"!=typeof navigator&&\"function\"==typeof navigator.sendBeacon)return this.cspBlocked=!0,a(\"[SDK] CSP violation detected, falling back to sendBeacon for future requests\"),this.trackedFetchWithBeaconFallback(e,s,o);throw o||await this.sendNetworkError({requestId:r,url:e,method:s.method||\"GET\",status:null,statusText:null,duration:i,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyNetworkError(t),errorMessage:t.message,errorName:t.name,startTimeMs:n,spanName:`${s.method||\"GET\"} ${e}`,spanStatus:\"error\",attributes:{\"error.name\":t.name,\"error.message\":t.message}}).catch(()=>{}),t}}async trackedFetchWithBeaconFallback(e,t,s){try{let s=null,i=\"\";if(t.body)if(\"string\"==typeof t.body)try{s=JSON.parse(t.body),i=t.body}catch{i=t.body}else{if(t.body instanceof Blob){a(\"[SDK] Cannot extract apiKey from Blob body for sendBeacon, using URL param\"),e=`${e}${e.includes(\"?\")?\"&\":\"?\"}apiKey=${encodeURIComponent(this.apiKey)}`;return navigator.sendBeacon(e,t.body)?new Response(null,{status:200,statusText:\"OK\",headers:new Headers}):new Response(null,{status:500,statusText:\"sendBeacon failed\",headers:new Headers})}i=w(t.body),s=t.body}if(e.includes(\"/api/ingestion/\"))if(s&&\"object\"==typeof s)s.apiKey=this.apiKey,i=w(s);else if(i)try{const e=JSON.parse(i);e.apiKey=this.apiKey,i=w(e)}catch{e=`${e}${e.includes(\"?\")?\"&\":\"?\"}apiKey=${encodeURIComponent(this.apiKey)}`}else e=`${e}${e.includes(\"?\")?\"&\":\"?\"}apiKey=${encodeURIComponent(this.apiKey)}`;else e=`${e}${e.includes(\"?\")?\"&\":\"?\"}apiKey=${encodeURIComponent(this.apiKey)}`;const n=i?new Blob([i],{type:\"application/json\"}):null;return navigator.sendBeacon(e,n)?(c(\"[SDK] Successfully sent request via sendBeacon (CSP fallback)\"),new Response(null,{status:200,statusText:\"OK\",headers:new Headers})):(a(\"[SDK] sendBeacon returned false - browser may be throttling\"),new Response(null,{status:200,statusText:\"OK (sendBeacon best-effort)\",headers:new Headers}))}catch(e){return o(\"[SDK] sendBeacon fallback failed:\",e),new Response(null,{status:500,statusText:\"Failed to send via sendBeacon\",headers:new Headers})}}isCSPViolation(e){const t=(e?.message||\"\").toLowerCase();return\"typeerror\"===(e?.name||\"\").toLowerCase()&&t.includes(\"failed to fetch\")||t.includes(\"content security policy\")||t.includes(\"csp\")||t.includes(\"violates\")||t.includes(\"refused to connect\")&&t.includes(\"violates\")}shouldSkipNetworkTracking(e){if(!e||!this.baseUrl)return!1;try{const t=new URL(e),s=new URL(this.baseUrl);return!(t.origin!==s.origin||!t.pathname.startsWith(\"/api/ingestion/\"))||!!e.includes(this.baseUrl)}catch(t){return e.includes(this.baseUrl)}}classifyHttpError(e){return e>=400&&e<500?\"client_error\":e>=500?\"server_error\":\"unknown_error\"}classifyNetworkError(e){const t=e.message||\"\",s=e.name||\"\";return this.isCSPViolation(e)?\"csp_violation\":t.includes(\"ERR_BLOCKED_BY_CLIENT\")||t.includes(\"ERR_BLOCKED_BY_RESPONSE\")||t.includes(\"blocked:other\")||t.includes(\"net::ERR_BLOCKED_BY_CLIENT\")||t.includes(\"net::ERR_BLOCKED_BY_RESPONSE\")||\"TypeError\"===s&&t.includes(\"Failed to fetch\")&&(t.includes(\"blocked\")||t.includes(\"ERR_BLOCKED\"))?\"blocked_by_client\":t.includes(\"CORS\")||t.includes(\"Access-Control\")?\"cors_error\":t.includes(\"timeout\")||\"TimeoutError\"===s?\"timeout_error\":t.includes(\"Failed to fetch\")||t.includes(\"NetworkError\")?\"network_error\":\"unknown_error\"}}class v{constructor(e){if(this.redactedText=\"[REDACTED]\",this.unredactedFields=new Set,this.redactedFields=new Set,this.redactionMode=\"privacy-first\",this.excludeSelectors=['[data-no-redact=\"true\"]',\".human-behavior-no-redact\"],e?.redactedText&&(this.redactedText=e.redactedText),e?.excludeSelectors&&(this.excludeSelectors=[...this.excludeSelectors,...e.excludeSelectors]),e?.redactionStrategy)if(this.redactionMode=e.redactionStrategy.mode,\"privacy-first\"===this.redactionMode)e.redactionStrategy.unredactFields&&this.setFieldsToUnredact(e.redactionStrategy.unredactFields);else{const t=['input[type=\"password\"]','[data-hb-redact=\"true\"]'],s=e.redactionStrategy.redactFields&&e.redactionStrategy.redactFields.length>0?e.redactionStrategy.redactFields:t;this.setFieldsToRedact(s)}e?.legacyRedactFields&&this.setFieldsToUnredact(e.legacyRedactFields),e?.userFields&&this.setFieldsToUnredact(e.userFields)}setFieldsToRedact(e){this.redactedFields.clear();['input[type=\"password\"]','input[type=\"password\" i]','[type=\"password\"]','[type=\"password\" i]',...e].forEach(e=>{this.redactedFields.add(e)}),this.redactedFields.size>0?c(`Redaction: Active for ${this.redactedFields.size} field(s):`,Array.from(this.redactedFields)):c(\"Redaction: No fields to redact\"),this.applyRedactionClasses()}setFieldsToUnredact(e){this.unredactedFields.clear();const t=e.filter(e=>!this.isPasswordSelector(e)||(a(`Cannot unredact password field: ${e} - Password fields are always protected`),!1));t.forEach(e=>this.unredactedFields.add(e)),t.length>0?c(`Unredaction: Active for ${t.length} field(s):`,t):c(\"Unredaction: No valid fields to unredact\"),this.applyUnredactionClasses()}redactFields(e){e.forEach(e=>{this.unredactedFields.delete(e)}),this.unredactedFields.size>0?c(`Unredaction: Removed ${e.length} field(s), ${this.unredactedFields.size} remaining:`,Array.from(this.unredactedFields)):c(\"Unredaction: All fields redacted\"),this.applyUnredactionClasses()}clearUnredactedFields(){this.unredactedFields.clear(),c(\"Unredaction: All fields cleared, everything redacted\"),this.removeUnredactionClasses()}hasUnredactedFields(){return this.unredactedFields.size>0}getRedactionMode(){return this.redactionMode}getUnredactedFields(){return Array.from(this.unredactedFields)}getMaskTextSelector(){return\"privacy-first\"===this.redactionMode?0===this.unredactedFields.size?null:Array.from(this.unredactedFields).join(\",\"):0===this.redactedFields.size?null:Array.from(this.redactedFields).join(\",\")}applyRedactionClasses(){0!==this.redactedFields.size&&(\"undefined\"!=typeof document&&\"loading\"!==document.readyState?this.redactedFields.forEach(e=>{try{const t=document.querySelectorAll(e);t.forEach(e=>{e&&e.classList&&e.classList.add(\"rr-mask\")}),c(`Added rr-mask class to ${t.length} element(s) for selector: ${e}`)}catch(t){a(`Invalid selector: ${e}`)}}):c(\"DOM not ready, deferring redaction class application\"))}applyUnredactionClasses(){0!==this.unredactedFields.size&&(\"undefined\"!=typeof document&&\"loading\"!==document.readyState?this.unredactedFields.forEach(e=>{try{const t=document.querySelectorAll(e);t.forEach(e=>{e&&e.classList&&e.classList.remove(\"rr-mask\")}),c(`Removed rr-mask class from ${t.length} element(s) for selector: ${e}`)}catch(t){a(`Invalid selector: ${e}`)}}):c(\"DOM not ready, deferring unredaction class application\"))}removeUnredactionClasses(){c(\"Unredaction classes removed\")}isPasswordSelector(e){return['input[type=\"password\"]','input[type=\"password\" i]','[type=\"password\"]','[type=\"password\" i]'].some(t=>e.toLowerCase().includes(t.toLowerCase().replace(/[\\[\\]]/g,\"\")))}getOriginalValue(e){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)return e.value}isElementUnredacted(e){return this.shouldUnredactElement(e)}shouldUnredactElement(e){if(\"privacy-first\"===this.redactionMode){if(0===this.unredactedFields.size)return!1;for(const t of this.unredactedFields)try{if(e.matches(t))return!0}catch(e){a(`Invalid selector: ${t}`)}return!1}if(0===this.redactedFields.size)return!0;for(const t of this.redactedFields)try{if(e.matches(t))return!1}catch(e){a(`Invalid selector: ${t}`)}return!0}}new v;const _=\"undefined\"!=typeof window;function S(){if(!_)return\"unknown\";const e=navigator.userAgent.toLowerCase(),t=window.screen.width,s=window.screen.height;return/mobile|android|iphone|ipad|ipod|blackberry|windows phone/i.test(e)?/ipad/i.test(e)||t>=768&&s>=1024?\"tablet\":\"mobile\":/windows|macintosh|linux/i.test(e)?\"desktop\":\"unknown\"}function k(e){try{return new URL(e).hostname}catch{return\"\"}}function I(){if(!_)return{device_type:\"unknown\",browser:\"unknown\",browser_version:\"unknown\",os:\"unknown\",os_version:\"unknown\",screen_resolution:\"unknown\",viewport_size:\"unknown\",color_depth:0,timezone:\"unknown\",language:\"unknown\",languages:[]};const{browser:e,browser_version:t}=function(){if(!_)return{browser:\"unknown\",browser_version:\"unknown\"};const e=navigator.userAgent;if(/chrome/i.test(e)&&!/edge/i.test(e)){const t=e.match(/chrome\\/(\\d+)/i);return{browser:\"chrome\",browser_version:t?t[1]:\"unknown\"}}if(/firefox/i.test(e)){const t=e.match(/firefox\\/(\\d+)/i);return{browser:\"firefox\",browser_version:t?t[1]:\"unknown\"}}if(/safari/i.test(e)&&!/chrome/i.test(e)){const t=e.match(/version\\/(\\d+)/i);return{browser:\"safari\",browser_version:t?t[1]:\"unknown\"}}if(/edge/i.test(e)){const t=e.match(/edge\\/(\\d+)/i);return{browser:\"edge\",browser_version:t?t[1]:\"unknown\"}}if(/msie|trident/i.test(e)){const t=e.match(/msie (\\d+)/i)||e.match(/rv:(\\d+)/i);return{browser:\"ie\",browser_version:t?t[1]:\"unknown\"}}return{browser:\"unknown\",browser_version:\"unknown\"}}(),{os:s,os_version:i}=function(){if(!_)return{os:\"unknown\",os_version:\"unknown\"};const e=navigator.userAgent;if(/windows/i.test(e)){const t=e.match(/windows nt (\\d+\\.\\d+)/i);let s=\"unknown\";if(t){const e=parseFloat(t[1]);s=10===e?\"10\":6.3===e?\"8.1\":6.2===e?\"8\":6.1===e?\"7\":t[1]}return{os:\"windows\",os_version:s}}if(/macintosh|mac os x/i.test(e)){const t=e.match(/mac os x (\\d+[._]\\d+)/i);return{os:\"macos\",os_version:t?t[1].replace(\"_\",\".\"):\"unknown\"}}if(/iphone|ipad|ipod/i.test(e)){const t=e.match(/os (\\d+[._]\\d+)/i);return{os:\"ios\",os_version:t?t[1].replace(\"_\",\".\"):\"unknown\"}}if(/android/i.test(e)){const t=e.match(/android (\\d+\\.\\d+)/i);return{os:\"android\",os_version:t?t[1]:\"unknown\"}}return/linux/i.test(e)?{os:\"linux\",os_version:\"unknown\"}:{os:\"unknown\",os_version:\"unknown\"}}();return{device_type:S(),browser:e,browser_version:t,os:s,os_version:i,screen_resolution:`${window.screen.width}x${window.screen.height}`,viewport_size:`${window.innerWidth}x${window.innerHeight}`,color_depth:window.screen.colorDepth,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,language:navigator.language,languages:[...navigator.languages||[navigator.language]],raw_user_agent:navigator.userAgent}}function b(){if(!_)return{current_url:\"\",pathname:\"\",search:\"\",hash:\"\",title:\"\",referrer:\"\",referrer_domain:\"\",initial_referrer:\"\",initial_referrer_domain:\"\"};const e=window.location.href,t=document.referrer,s=function(e){const t=new URL(e),s={};return[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\"].forEach(e=>{const i=t.searchParams.get(e);i&&(s[e]=i)}),s}(e);return{current_url:e,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,title:document.title,referrer:t,referrer_domain:k(t),initial_referrer:t,initial_referrer_domain:k(t),initial_host:window.location.hostname,...s}}function T(){return{...I(),...b()}}function E(){if(!_)return{};const e=b();return{initial_referrer:e.initial_referrer,initial_referrer_domain:e.initial_referrer_domain,initial_url:e.current_url,initial_pathname:e.pathname,initial_utm_source:e.utm_source,initial_utm_medium:e.utm_medium,initial_utm_campaign:e.utm_campaign,initial_utm_term:e.utm_term,initial_utm_content:e.utm_content}}function U(){if(!_)return{};const e=b();return{current_url:e.current_url,pathname:e.pathname,search:e.search,hash:e.hash,title:e.title,referrer:e.referrer,referrer_domain:e.referrer_domain,utm_source:e.utm_source,utm_medium:e.utm_medium,utm_campaign:e.utm_campaign,utm_term:e.utm_term,utm_content:e.utm_content}}class C{constructor(e={}){this.sessionProperties={},this.userProperties={},this.initialProperties={},this.isInitialized=!1,this.config={enableAutomaticProperties:!0,enableSessionProperties:!0,enableUserProperties:!0,propertyDenylist:[],...e},this.automaticProperties=T(),this.initialize()}initialize(){this.isInitialized||(this.initialProperties=E(),this.loadSessionProperties(),this.isInitialized=!0)}getEventProperties(e={}){const t={...e};return this.config.enableAutomaticProperties&&Object.assign(t,this.getAutomaticProperties()),this.config.enableSessionProperties&&Object.assign(t,this.sessionProperties),this.config.enableUserProperties&&Object.assign(t,this.userProperties),this.sessionProperties.$initial_properties_captured||(Object.assign(t,this.initialProperties),this.setSessionProperty(\"$initial_properties_captured\",!0)),this.applyDenylist(t),t}getAutomaticProperties(){return{...this.automaticProperties,...U()}}getAutomaticPropertiesWithGeoIP(e={}){return{...this.automaticProperties,...U(),...e}}setSessionProperty(e,t){this.sessionProperties[e]=t,this.saveSessionProperties()}setSessionProperties(e){Object.assign(this.sessionProperties,e),this.saveSessionProperties()}getSessionProperty(e){return this.sessionProperties[e]}removeSessionProperty(e){delete this.sessionProperties[e],this.saveSessionProperties()}setUserProperty(e,t){this.userProperties[e]=t}setUserProperties(e){Object.assign(this.userProperties,e)}getUserProperty(e){return this.userProperties[e]}removeUserProperty(e){delete this.userProperties[e]}setOnce(e,t,s=\"user\"){\"session\"===s?e in this.sessionProperties||this.setSessionProperty(e,t):e in this.userProperties||this.setUserProperty(e,t)}clearSessionProperties(){this.sessionProperties={},this.saveSessionProperties()}clearUserProperties(){this.userProperties={}}reset(){this.clearSessionProperties(),this.clearUserProperties(),this.initialProperties={},this.isInitialized=!1,this.initialize()}loadSessionProperties(){if(\"undefined\"!=typeof sessionStorage)try{const e=sessionStorage.getItem(\"hb_session_properties\");e&&(this.sessionProperties=JSON.parse(e))}catch(e){console.warn(\"Failed to load session properties:\",e)}}saveSessionProperties(){if(\"undefined\"!=typeof sessionStorage)try{sessionStorage.setItem(\"hb_session_properties\",JSON.stringify(this.sessionProperties))}catch(e){console.warn(\"Failed to save session properties:\",e)}}applyDenylist(e){this.config.propertyDenylist&&0!==this.config.propertyDenylist.length&&this.config.propertyDenylist.forEach(t=>{delete e[t]})}updateAutomaticProperties(){this.automaticProperties=T()}getAllProperties(){return{automatic:this.getAutomaticProperties(),session:{...this.sessionProperties},user:{...this.userProperties},initial:{...this.initialProperties}}}}const R=\"undefined\"!=typeof window;class P{get isTrackerStarted(){return this.isStarted}setupDomReadyHandler(){if(R)if(\"complete\"===document.readyState||\"interactive\"===document.readyState)this.onDomReady();else if(document.addEventListener){document.addEventListener(\"DOMContentLoaded\",()=>this.onDomReady(),{capture:!1});const e=setInterval(()=>{\"interactive\"!==document.readyState&&\"complete\"!==document.readyState||(clearInterval(e),this.onDomReady())},10);setTimeout(()=>clearInterval(e),5e3)}else this.onDomReady();else this.onDomReady()}onDomReady(){this.isDomReady||(this.isDomReady=!0,c(\"🎯 DOM is ready, processing queued requests\"),this.requestQueue.forEach(e=>{this.processRequest(e)}),this.requestQueue=[],this.domReadyHandlers.forEach(e=>e()),this.domReadyHandlers=[])}queueRequest(e){this.isDomReady?this.processRequest(e):this.requestQueue.push(e)}async processRequest(e){switch(c(\"Processing queued request:\",e),e.type){case\"addEvent\":await this.addEvent(e.event);break;case\"identifyUser\":await this.identifyUser(e.userProperties);break;case\"trackPageView\":this.trackPageView();break;default:a(\"Unknown request type:\",e.type)}}registerDomReadyHandler(e){this.isDomReady?e():this.domReadyHandlers.push(e)}static init(e,t){if(R&&!1!==t?.suppressConsoleErrors){const e=console.error;console.error=(...t)=>{const s=t.join(\" \");s.includes(\"SecurityError: Failed to execute 'toDataURL'\")||s.includes(\"Tainted canvases may not be exported\")||s.includes(\"Cannot inline img src=\")||s.includes(\"Cross-Origin\")||s.includes(\"CORS\")||s.includes(\"Access-Control-Allow-Origin\")||s.includes(\"Failed to load resource\")||s.includes(\"net::ERR_BLOCKED_BY_CLIENT\")||s.includes(\"NetworkError when attempting to fetch resource\")||s.includes(\"Failed to fetch\")||s.includes(\"TypeError: NetworkError\")||s.includes(\"HumanBehavior ERROR\")||s.includes(\"Failed to track custom event\")||s.includes(\"Error sending custom event\")||e.apply(console,t)};const t=console.warn;console.warn=(...e)=>{const s=e.join(\" \");s.includes(\"Cannot inline img src=\")||s.includes(\"Cross-Origin\")||s.includes(\"CORS\")||s.includes(\"Access-Control-Allow-Origin\")||s.includes(\"Failed to load resource\")||s.includes(\"net::ERR_BLOCKED_BY_CLIENT\")||s.includes(\"NetworkError when attempting to fetch resource\")||s.includes(\"Failed to fetch\")||s.includes(\"Custom event network error\")||s.includes(\"Request blocked by ad blocker\")||t.apply(console,e)},window.addEventListener(\"error\",e=>{const t=e.message||\"\";if(t.includes(\"SecurityError\")||t.includes(\"Tainted canvases\")||t.includes(\"toDataURL\")||t.includes(\"Cross-Origin\")||t.includes(\"CORS\")||t.includes(\"NetworkError\")||t.includes(\"Failed to fetch\"))return e.preventDefault(),!1})}if(R&&window.__humanBehaviorGlobalTracker)return c(\"Tracker already initialized, returning existing instance\"),window.__humanBehaviorGlobalTracker;t?.logLevel&&this.configureLogging({level:t.logLevel});const s=new P(e,t?.ingestionUrl,{enableAutomaticProperties:t?.enableAutomaticProperties,propertyDenylist:t?.propertyDenylist,redactionStrategy:t?.redactionStrategy,redactFields:t?.redactFields,maxQueueSize:t?.maxQueueSize,enableConsoleTracking:t?.enableConsoleTracking,enableNetworkTracking:t?.enableNetworkTracking});return s.recordCanvas=t?.recordCanvas??!1,t?.redactFields&&s.setUnredactedFields(t.redactFields),!1!==t?.enableAutomaticTracking&&s.setupAutomaticTracking(t?.automaticTrackingOptions),s.start(),s}constructor(e,s,i){if(this.eventQueue=[],this._sessionActivityTimestamp=null,this._sessionStartTimestamp=null,this.userProperties={},this.isProcessing=!1,this.flushInterval=null,this.FLUSH_INTERVAL_MS=3e3,this.endUserId=null,this.initialized=!1,this.initializationPromise=null,this.monthlyLimitReached=!1,this.isDomReady=!1,this.requestQueue=[],this.domReadyHandlers=[],this.originalConsole=null,this.consoleTrackingEnabled=!1,this.originalFetch=null,this.networkTrackingEnabled=!1,this.enableConsoleTrackingFlag=!0,this.enableNetworkTrackingFlag=!0,this.navigationTrackingEnabled=!1,this.currentUrl=\"\",this.previousUrl=\"\",this.originalPushState=null,this.originalReplaceState=null,this.navigationListeners=[],this._connectionBlocked=!1,this.recordInstance=null,this.sessionStartTime=Date.now(),this.rrwebRecord=null,this.fullSnapshotTimeout=null,this.recordCanvas=!1,this.isStarted=!1,this._isIdle=\"unknown\",this._lastActivityTimestamp=Date.now(),this.IDLE_THRESHOLD_MS=3e5,this.rageClickTracker={clicks:[]},this.RAGE_CLICK_THRESHOLD_PX=30,this.RAGE_CLICK_TIMEOUT_MS=1e3,this.RAGE_CLICK_CLICK_COUNT=3,this.deadClickTracker={pendingClicks:new Map},this.DEAD_CLICK_SCROLL_THRESHOLD_MS=100,this.DEAD_CLICK_SELECTION_THRESHOLD_MS=100,this.DEAD_CLICK_MUTATION_THRESHOLD_MS=2e3,this.DEAD_CLICK_ABSOLUTE_TIMEOUT_MS=1400,!e)throw new Error(\"Human Behavior API Key is required\");const n=s||\"https://ingest.humanbehavior.co\";if(this.api=new f({apiKey:e,ingestionUrl:n}),this.apiKey=e,this.ingestionUrl=n,this.MAX_QUEUE_SIZE=i?.maxQueueSize??1e3,this.enableConsoleTrackingFlag=!1!==i?.enableConsoleTracking,this.enableNetworkTrackingFlag=!1!==i?.enableNetworkTracking,this.redactionManager=new v({redactionStrategy:i?.redactionStrategy,legacyRedactFields:i?.redactFields}),this.propertyManager=new C({enableAutomaticProperties:!1!==i?.enableAutomaticProperties,propertyDenylist:i?.propertyDenylist||[]}),R){const e=\"human_behavior_end_user_id\",s=this.getCookie(e);this.endUserId=s||t(),s?c(`Reusing existing endUserId: ${this.endUserId}`):(this.setCookie(e,this.endUserId,365),c(`Generated new endUserId: ${this.endUserId}`))}else this.endUserId=t();if(R){const e=this.apiKey||\"default\";this._window_id_storage_key=`human_behavior_${e}_window_id`,this._primary_window_exists_storage_key=`human_behavior_${e}_primary_window_exists`,this.sessionId=this.getOrCreateSessionId(),this.windowId=this.getOrCreateWindowId(),this.currentUrl=window.location.href,window.__humanBehaviorGlobalTracker=this,this.setupWindowUnloadListener()}else this._window_id_storage_key=\"\",this._primary_window_exists_storage_key=\"\",this.sessionId=t(),this.windowId=t();this.api.setTrackingContext(this.sessionId,this.endUserId),this.initializationPromise=this.init().catch(e=>{o(\"Initialization failed:\",e)})}async init(){try{R?(this.setupPageUnloadHandler(),this.setupNavigationTracking()):d(\"HumanBehaviorTracker initialized in server environment. Session tracking is disabled.\"),this.initialized=!0,d(`HumanBehaviorTracker initialized with sessionId: ${this.sessionId}, endUserId: ${this.endUserId}`)}catch(e){o(\"Failed to initialize HumanBehaviorTracker:\",e),this.initialized=!0}}async ensureInitialized(){this.initializationPromise&&await this.initializationPromise}setupNavigationTracking(){if(!R||this.navigationTrackingEnabled)return;this.navigationTrackingEnabled=!0,c(\"Setting up navigation tracking\"),this.originalPushState=history.pushState,this.originalReplaceState=history.replaceState,history.pushState=(...e)=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.originalPushState.apply(history,e),this.trackNavigationEvent(\"pushState\",this.previousUrl,this.currentUrl),this.takeFullSnapshot()},history.replaceState=(...e)=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.originalReplaceState.apply(history,e),this.trackNavigationEvent(\"replaceState\",this.previousUrl,this.currentUrl),this.takeFullSnapshot()};const e=()=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.trackNavigationEvent(\"popstate\",this.previousUrl,this.currentUrl),this.takeFullSnapshot()};window.addEventListener(\"popstate\",e),this.navigationListeners.push(()=>{window.removeEventListener(\"popstate\",e)});const t=()=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.trackNavigationEvent(\"hashchange\",this.previousUrl,this.currentUrl)};window.addEventListener(\"hashchange\",t),this.navigationListeners.push(()=>{window.removeEventListener(\"hashchange\",t)}),this.trackNavigationEvent(\"pageLoad\",\"\",this.currentUrl)}async trackNavigationEvent(e,t,s){if(this.initialized)try{const i={type:e,from:t,to:s,timestamp:(new Date).toISOString(),pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer};if(await this.addEvent({type:5,data:{payload:{eventType:\"navigation\",...i}},timestamp:Date.now()}),\"pageLoad\"===e||\"pushState\"===e||\"replaceState\"===e||\"popstate\"===e||\"hashchange\"===e){const s={url:window.location.href,fromUrl:t,navigationType:e,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer,timestamp:Date.now()};await this.customEvent(\"$page_viewed\",s)}c(`Navigation tracked: ${e} from ${t} to ${s}`)}catch(e){o(\"Failed to track navigation event:\",e)}}async trackPageView(e){if(this.initialized){this.propertyManager.updateAutomaticProperties();try{const t={url:e||window.location.href,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer,timestamp:(new Date).toISOString()},s=this.propertyManager.getEventProperties(t);await this.addEvent({type:5,data:{payload:{eventType:\"pageview\",...s}},timestamp:Date.now()}),c(`Pageview tracked: ${t.url}`)}catch(e){o(\"Failed to track pageview event:\",e)}}}async customEvent(e,s){this.endUserId||(a(`endUserId not available, using anonymous ID for event: ${e}`),this.endUserId=t()),R&&this.checkAndRefreshSession();const i=this.propertyManager.getEventProperties(s);try{await this.api.sendCustomEvent(this.sessionId,e,i,this.endUserId),c(`Custom event tracked: ${e}`,i)}catch(t){o(\"Failed to track custom event:\",t),t.message?.includes(\"500\")||t.message?.includes(\"Internal Server Error\")||t.message?.includes(\"Failed to send custom event\")?a(\"Custom event endpoint failed, using fallback\"):t.message?.includes(\"ERR_BLOCKED_BY_CLIENT\")?a(\"Custom event request blocked by ad blocker, using fallback\"):t.message?.includes(\"Failed to fetch\")&&a(\"Custom event network error, using fallback\");try{const t={eventName:e,properties:i||{},timestamp:(new Date).toISOString(),url:window.location.href,pathname:window.location.pathname};await this.addEvent({type:5,data:{payload:{eventType:\"custom\",...t}},timestamp:Date.now()}),c(`Custom event added to event stream as fallback: ${e}`)}catch(e){o(\"Failed to add custom event to event stream as fallback:\",e)}}}setupAutomaticTracking(e){if(!R)return;const t={trackButtons:!1!==e?.trackButtons,trackLinks:!1,trackForms:!1!==e?.trackForms,includeText:!1!==e?.includeText,includeClasses:e?.includeClasses||!1};c(\"Setting up automatic tracking with config:\",t),t.trackButtons&&this.setupAutomaticButtonTracking(t),t.trackForms&&this.setupAutomaticFormTracking(t),this.setupRageClickDetection()}setupAutomaticButtonTracking(e){document.addEventListener(\"click\",async t=>{const s=t.target;if(\"BUTTON\"===s.tagName||s.closest(\"button\")){const t=\"BUTTON\"===s.tagName?s:s.closest(\"button\"),i={buttonId:t.id||null,buttonType:t.type||\"button\",page:window.location.pathname,timestamp:Date.now()};e.includeText&&(i.buttonText=t.textContent?.trim()||null),e.includeClasses&&(i.buttonClass=t.className||null),Object.keys(i).forEach(e=>{null===i[e]&&delete i[e]}),await this.customEvent(\"$button_clicked\",i)}})}setupRageClickDetection(){R&&document.addEventListener(\"click\",async e=>{const t=e.target,s=e.clientX,i=e.clientY,n=Date.now();if(this.isRageClick(s,i,n,t)){const e=t.closest('button, a, [role=\"button\"], [role=\"link\"]')||t,r={x:s,y:i,page:window.location.pathname,element:e.tagName.toLowerCase(),clickCount:this.RAGE_CLICK_CLICK_COUNT,timestamp:n};e.id&&(r.elementId=e.id),e.className&&(r.elementClass=e.className),e.textContent&&(r.elementText=e.textContent.trim().substring(0,100)),Object.keys(r).forEach(e=>{null!==r[e]&&void 0!==r[e]||delete r[e]}),await this.customEvent(\"$rageclick\",r),this.rageClickTracker.clicks=[]}})}isRageClick(e,t,s,i){const n=this.rageClickTracker.clicks,r=n[n.length-1];if(r&&Math.abs(e-r.x)+Math.abs(t-r.y)<this.RAGE_CLICK_THRESHOLD_PX&&s-r.timestamp<this.RAGE_CLICK_TIMEOUT_MS){if(n.push({x:e,y:t,timestamp:s,element:i}),n.length>=this.RAGE_CLICK_CLICK_COUNT)return!0}else this.rageClickTracker.clicks=[{x:e,y:t,timestamp:s,element:i}];return!1}isInteractiveElement(e){const t=e.tagName.toLowerCase();if(\"button\"===t||\"a\"===t)return!0;if([\"input\",\"select\",\"textarea\"].includes(t))return!0;const s=e.getAttribute(\"role\");if(s&&[\"button\",\"link\",\"tab\",\"menuitem\",\"checkbox\",\"radio\"].includes(s))return!0;if(e.onclick||e.getAttribute(\"onclick\"))return!0;try{if(\"pointer\"===window.getComputedStyle(e).cursor)return!0}catch(e){}return!!e.closest('button, a, [role=\"button\"], [role=\"link\"], [role=\"tab\"], [role=\"menuitem\"]')}setupAutomaticLinkTracking(e){}setupAutomaticFormTracking(e){document.addEventListener(\"submit\",async t=>{const s=t.target,i=new FormData(s),n={formId:s.id||null,formAction:s.action||null,formMethod:s.method||\"get\",fields:Array.from(i.keys()),page:window.location.pathname,timestamp:Date.now()};e.includeClasses&&(n.formClass=s.className||null),Object.keys(n).forEach(e=>{null===n[e]&&delete n[e]}),await this.customEvent(\"$form_submitted\",n)})}cleanupNavigationTracking(){this.navigationTrackingEnabled&&(this.originalPushState&&(history.pushState=this.originalPushState),this.originalReplaceState&&(history.replaceState=this.originalReplaceState),this.navigationListeners.forEach(e=>e()),this.navigationListeners=[],this.navigationTrackingEnabled=!1,c(\"Navigation tracking cleaned up\"))}static logToStorage(e){d(e)}static configureLogging(e){i.setConfig({level:{none:0,error:1,warn:2,info:3,debug:4}[e.level||\"error\"],enableConsole:!1!==e.enableConsole,enableStorage:e.enableStorage||!1})}enableConsoleTracking(){R&&!this.consoleTrackingEnabled&&(this.originalConsole={log:console.log,warn:console.warn,error:console.error},console.log=(...e)=>{this.trackConsoleEvent(\"log\",e),this.originalConsole.log(...e)},console.warn=(...e)=>{this.trackConsoleEvent(\"warn\",e),this.originalConsole.warn(...e)},console.error=(...e)=>{this.trackConsoleEvent(\"error\",e),this.originalConsole.error(...e)},this.consoleTrackingEnabled=!0,c(\"Console tracking enabled\"))}enableNetworkTracking(){R&&!this.networkTrackingEnabled&&\"undefined\"!=typeof fetch&&(this.originalFetch=window.fetch.bind(window),window.fetch=async(e,s)=>{const i=Date.now(),n=t(),r=\"string\"==typeof e?e:e instanceof URL?e.toString():e.url,o=(s?.method||(\"object\"==typeof e&&\"method\"in e?e.method:void 0)||\"GET\").toUpperCase(),a=this.shouldSkipNetworkTracking(r),d=1e4;let c=null,l=!1;a||(c=setTimeout(()=>{const e=Date.now()-i;l||(l=!0,this.api.sendNetworkError({requestId:n,url:r,method:o,status:null,statusText:null,duration:e,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:\"long_loading\",errorMessage:`Request took longer than 10000ms (${e}ms elapsed)`,startTimeMs:i,spanName:`${o} ${r}`,spanStatus:\"slow\",attributes:{\"http.method\":o,\"http.url\":r,\"request.duration_ms\":e,\"request.long_loading_threshold_ms\":d}}).catch(()=>{}))},d));try{const t=await this.originalFetch(e,s),d=Date.now()-i;return c&&clearTimeout(c),t.ok||a||this.api.sendNetworkError({requestId:n,url:r,method:o,status:t.status,statusText:t.statusText,duration:d,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyHttpError(t.status),errorMessage:t.statusText,startTimeMs:i,spanName:`${o} ${r}`,spanStatus:\"error\",attributes:{\"http.status_code\":t.status,\"http.status_text\":t.statusText}}).catch(()=>{}),t}catch(e){const t=Date.now()-i;throw c&&clearTimeout(c),a||this.api.sendNetworkError({requestId:n,url:r,method:o,status:null,statusText:null,duration:t,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyNetworkError(e),errorMessage:e.message,errorName:e.name,startTimeMs:i,spanName:`${o} ${r}`,spanStatus:\"error\",attributes:{\"error.name\":e.name,\"error.message\":e.message}}).catch(()=>{}),e}},this.networkTrackingEnabled=!0,c(\"Network tracking enabled\"))}enablePageLoadTracking(){R&&\"undefined\"!=typeof window&&(\"complete\"===document.readyState?this.trackPageLoad():window.addEventListener(\"load\",()=>{this.trackPageLoad()}),c(\"Page load tracking enabled\"))}trackPageLoad(){if(R&&\"undefined\"!=typeof performance)try{const e=performance.getEntriesByType(\"navigation\")[0];if(!e)return;const s=e.loadEventEnd-e.fetchStart;if(s>3e3){const i=t(),n=e.domContentLoadedEventEnd-e.fetchStart,r=e.domComplete-e.fetchStart;this.api.sendNetworkError({requestId:i,url:window.location.href,method:\"GET\",status:200,statusText:\"OK\",duration:s,timestampMs:e.loadEventEnd+performance.timeOrigin,sessionId:this.sessionId,endUserId:this.endUserId,errorType:\"slow_page_load\",errorMessage:`Page load took ${s}ms`,startTimeMs:e.fetchStart+performance.timeOrigin,spanName:\"page_load\",spanStatus:\"slow\",attributes:{\"page.url\":window.location.href,\"page.load_time\":s,\"page.dom_content_loaded\":n,\"page.dom_complete\":r,\"page.fetch_start\":e.fetchStart,\"page.response_start\":e.responseStart-e.fetchStart,\"page.response_end\":e.responseEnd-e.fetchStart}}).catch(()=>{})}}catch(e){a(\"Failed to track page load:\",e)}}shouldSkipNetworkTracking(e){if(!e||!this.ingestionUrl)return!1;try{const t=new URL(e),s=new URL(this.ingestionUrl);return!(t.origin!==s.origin||!t.pathname.startsWith(\"/api/ingestion/\"))||!!e.includes(this.ingestionUrl)}catch(t){return e.includes(this.ingestionUrl)}}classifyHttpError(e){return e>=400&&e<500?\"client_error\":e>=500?\"server_error\":\"unknown_error\"}classifyNetworkError(e){const t=e.message||\"\",s=e.name||\"\";return t.includes(\"blocked\")||t.includes(\"ERR_BLOCKED_BY_CLIENT\")||t.includes(\"net::ERR_BLOCKED_BY_CLIENT\")||\"TypeError\"===s&&t.includes(\"Failed to fetch\")?\"blocked_by_client\":t.includes(\"CORS\")||t.includes(\"Cross-Origin\")||t.includes(\"Access-Control-Allow-Origin\")||\"TypeError\"===s&&t.includes(\"CORS\")?\"cors_error\":t.includes(\"timeout\")||t.includes(\"TIMEOUT\")||t.includes(\"NetworkError\")||\"NetworkError\"===s?\"network_error\":t.includes(\"abort\")||\"AbortError\"===s?\"aborted\":\"unknown_error\"}disableConsoleTracking(){R&&this.consoleTrackingEnabled&&(this.originalConsole&&(console.log=this.originalConsole.log,console.warn=this.originalConsole.warn,console.error=this.originalConsole.error),this.consoleTrackingEnabled=!1,c(\"Console tracking disabled\"))}trackConsoleEvent(e,t){if(this.initialized)if(\"log\"!==e)try{if(r())return void(this.originalConsole&&this.originalConsole[e](...t));const s=(new Error).stack||\"\";if(this.isSDKStackFrame(s))return void(this.originalConsole&&this.originalConsole[e](...t));const i={level:e,message:t.map(e=>\"object\"==typeof e?JSON.stringify(e):String(e)).join(\" \"),timestampMs:Date.now(),url:R?window.location.href:\"\",userAgent:R?navigator.userAgent:\"\",stack:s,sessionId:this.sessionId,endUserId:this.endUserId};this.api.sendLog(i).catch(e=>{this.addEvent({type:5,data:{payload:{eventType:\"console\",...i}},timestamp:Date.now()}).catch(()=>{})})}catch(e){o(\"Error in trackConsoleEvent:\",e)}else this.originalConsole&&this.originalConsole.log(...t)}isSDKStackFrame(e){if(!e)return!1;const t=[\"humanbehavior-js\",\"@humanbehavior/core\",\"@humanbehavior/browser\",\"tracker.ts\",\"api.ts\",\"logger.ts\",\"utils/logger\",\"packages/core\",\"packages/browser\",\"index.mjs\",\"index.js\"],s=e.split(\"\\n\");e.toLowerCase();let i=!1;for(let e=0;e<s.length;e++){const n=s[e].trim().toLowerCase();if(!n||\"error\"===n||n.startsWith(\"error:\"))continue;if(!t.some(e=>n.includes(e.toLowerCase()))){i=!0;break}}return!i}setupPageUnloadHandler(){if(!R)return;c(\"Setting up page unload handler\"),window.addEventListener(\"visibilitychange\",()=>{\"hidden\"===document.visibilityState&&(c(\"Page hidden - sending pending events\"),this.flushEvents())});const e=\"onpagehide\"in window?\"pagehide\":\"beforeunload\";window.addEventListener(e,()=>{c(\"Page unloading - sending final events via sendBeacon\");const e=[...this.eventQueue],t=e.some(e=>e&&2===e.type);if(!t&&R&&window.__hb_pending_snapshots){const t=window.__hb_pending_snapshots;Array.isArray(t)&&t.length>0&&(c(\"⚠️ Including pending FullSnapshot(s) in sendBeacon for short session\"),e.unshift(...t),delete window.__hb_pending_snapshots)}if(!t&&e.length>0&&a(\"⚠️ No FullSnapshot in queue on unload - if session was very short, initial snapshot may be lost\"),e.length>0&&this.api)try{const t=this.propertyManager.getAutomaticProperties();this.api.sendBeaconEvents(e,this.sessionId,this.endUserId||void 0,this.windowId,t),this.eventQueue=[]}catch(e){a(\"Failed to send events via sendBeacon on unload:\",e)}this.api&&this.api.unload()});const t=()=>{localStorage.setItem(\"human_behavior_last_activity\",Date.now().toString())};window.addEventListener(\"click\",t),window.addEventListener(\"keydown\",t),window.addEventListener(\"scroll\",t),window.addEventListener(\"mousemove\",t)}viewLogs(){try{const e=i.getLogs();d(\"HumanBehavior Logs:\",e),i.clearLogs()}catch(e){o(\"Failed to read logs:\",e)}}async identifyUser({userProperties:e}){const t=this.endUserId;this.userProperties=e,c(\"Identifying user:\",{userProperties:e,originalEndUserId:t,sessionId:this.sessionId}),!R||this.propertyManager.getAutomaticProperties();const s=await this.api.sendUserData(t||\"\",e,this.sessionId);if(s.actualUserId||s.wasExistingUser){const e=s.actualUserId||t;if(e&&e!==t){const s=\"human_behavior_end_user_id\";if(this.setCookie(s,e,365),R)try{localStorage.setItem(s,e)}catch(e){c(\"Failed to set canonical endUserId in localStorage:\",e)}c(`🔗 Preexisting user detected. Future sessions will use canonical ID: ${e} (current session stays: ${t})`)}}return t||\"\"}getUserAttributes(){return{...this.userProperties}}async start(){if(!R)return;if(this.isStarted)return void c(\"HumanBehaviorTracker already started, skipping start() call.\");this.isStarted=!0,this._lastActivityTimestamp=null!==this._sessionActivityTimestamp?this._sessionActivityTimestamp:Date.now(),this._isIdle=\"unknown\",this.flushInterval=window.setInterval(()=>{this.flushEvents()},this.FLUSH_INTERVAL_MS),this.enableConsoleTrackingFlag&&this.enableConsoleTracking(),this.enableNetworkTrackingFlag&&this.enableNetworkTracking(),this.enablePageLoadTracking();const t=()=>{if(this.recordInstance)return void c(\"🎯 Recording already started, skipping duplicate start\");c(\"🎯 DOM ready, starting session recording\"),this.rrwebRecord=e;const t=e({emit:e=>{this.addRecordingEvent(e),2===e.type&&c(`🎯 FullSnapshot generated at ${(new Date).toISOString()}`)},maskTextSelector:this.redactionManager.getMaskTextSelector()||void 0,maskTextFn:void 0,maskAllInputs:\"privacy-first\"===this.redactionManager.getRedactionMode(),maskInputOptions:{password:!0,text:!0,textarea:!0,email:!0,number:!0,tel:!0,url:!0,search:!0,date:!0,time:!0,month:!0,week:!0},maskInputFn:(e,t)=>{try{const s=this.redactionManager.getRedactionMode();if(!(t instanceof HTMLElement))return e;if(\"privacy-first\"===s)return\"*\".repeat(e.length||1);const i=this.redactionManager.shouldUnredactElement(t);t.id,t.name,t.type;return i?e:\"*\".repeat(e.length||1)}catch{return e}},slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0,recordCrossOriginIframes:!1,recordCanvas:this.recordCanvas,sampling:this.recordCanvas?{canvas:4}:void 0,dataURLOptions:this.recordCanvas?{type:\"image/webp\",quality:.4}:void 0,hooks:{input:e=>{try{if(\"privacy-first\"===this.redactionManager.getRedactionMode())return;const t=\"undefined\"!=typeof document?document.querySelector(`[data-rrweb-id=\"${e.id}\"]`):null;if(t&&t instanceof HTMLElement){this.redactionManager.shouldUnredactElement(t)||(void 0!==e.text&&(e.text=\"*\".repeat(e.text?.length||1)),void 0!==e.value&&(e.value=\"*\".repeat(e.value?.length||1)))}}catch{}}}});this.recordInstance=t||null};if(c(`🎯 DOM ready state: ${document.readyState}`),\"complete\"===document.readyState||\"interactive\"===document.readyState)c(`🎯 DOM ready (${document.readyState}), starting recording immediately`),t();else{c(\"🎯 DOM not ready, waiting for DOMContentLoaded event\");const e=()=>(\"interactive\"===document.readyState||\"complete\"===document.readyState)&&(c(`🎯 DOM ready (${document.readyState}), starting recording`),t(),!0);if(e())return;document.addEventListener(\"DOMContentLoaded\",()=>{c(\"🎯 DOMContentLoaded fired, starting recording\"),t()},{once:!0});const s=setInterval(()=>{e()&&clearInterval(s)},10);setTimeout(()=>clearInterval(s),5e3)}}takeFullSnapshot(){this.fullSnapshotTimeout&&clearTimeout(this.fullSnapshotTimeout),this.fullSnapshotTimeout=window.setTimeout(()=>{try{requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.rrwebRecord&&\"function\"==typeof this.rrwebRecord.takeFullSnapshot?(this.rrwebRecord.takeFullSnapshot(),c(\"✅ FullSnapshot taken for navigation (delayed for animations)\")):a(\"⚠️ takeFullSnapshot not available on record function\")})})}catch(e){o(\"❌ Failed to take FullSnapshot for navigation:\",e)}},1e3)}async stop(){await this.ensureInitialized(),R&&(this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null),this.recordInstance&&(this.recordInstance(),this.recordInstance=null),this.fullSnapshotTimeout&&(clearTimeout(this.fullSnapshotTimeout),this.fullSnapshotTimeout=null),this.rrwebRecord=null,this.disableConsoleTracking(),this.cleanupNavigationTracking())}async addEvent(e){if(R&&this.checkAndRefreshSession(),e&&\"object\"==typeof e){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);c(t&&s?`✅ Valid FullSnapshot: hasData=${t}, hasNode=${s}, dataType=${e.data?.node?.type}`:`⚠️ Empty FullSnapshot detected: hasData=${t}, hasNode=${s} - continuing session`)}this.eventQueue.length>=this.MAX_QUEUE_SIZE&&(this.eventQueue.shift(),c(\"Queue is full, the oldest event is dropped.\")),this.eventQueue.push(e),2===e.type?(c(\"FullSnapshot added, triggering immediate flush\"),this.flushEvents()):this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(c(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}else c(\"⚠️ Skipping invalid event:\",e)}async flushEvents(){if(!(this.isProcessing||this.monthlyLimitReached||!0===this._isIdle&&0===this.eventQueue.length)){this.isProcessing=!0;try{const e=this.eventQueue,t=e.filter(e=>e&&2===e.type);if(this.eventQueue=[],t.length>0&&R&&(window.__hb_pending_snapshots=t,setTimeout(()=>{delete window.__hb_pending_snapshots},5e3)),e.length>0){c(\"Flushing events:\",e);const t=e.filter(e=>2===e.type);t.length>0&&c(`[FIXED] Sending ${t.length} FullSnapshot(s) with valid data`);try{const t=this.propertyManager.getAutomaticProperties();await this.api.sendEventsChunked(e,this.sessionId,this.endUserId,this.windowId,t)}catch(e){if(e.message?.includes(\"ERROR: Session already completed\"))a(\"Session expired, events will be lost\");else if(e.message?.includes(\"413\")||e.message?.includes(\"Content Too Large\"))a(\"Payload too large, events will be lost\");else{if(!(e.message?.includes(\"ERR_BLOCKED_BY_CLIENT\")||e.message?.includes(\"Failed to fetch\")||e.message?.includes(\"NetworkError\")))throw e;a(\"Request blocked by ad blocker or network issue, events will be lost\")}}}}finally{this.isProcessing=!1}}}isInteractiveEvent(e){if(3!==e.type)return!1;const t=e.data?.source;return[1,2,3,4,5,6,11].includes(t)}updateIdleState(e){const t=this.isInteractiveEvent(e),s=e.timestamp||Date.now();if(t){const e=!0===this._isIdle;this._lastActivityTimestamp=s,null!==this._sessionActivityTimestamp&&(this._sessionActivityTimestamp=s),e?(c(\"✅ User activity detected, exiting idle state\"),this._isIdle=!1,this.rrwebRecord&&\"function\"==typeof this.rrwebRecord.takeFullSnapshot&&(this.rrwebRecord.takeFullSnapshot(),c(\"✅ FullSnapshot taken after returning from idle\"))):\"unknown\"===this._isIdle&&(this._isIdle=!1)}else if(!0!==this._isIdle){const e=s-this._lastActivityTimestamp;e>this.IDLE_THRESHOLD_MS&&(c(`⏸️ Session idle detected (${Math.round(e/1e3)}s since last activity) - stopping background event recording`),c(`ℹ️ Session will expire after 15 minutes of inactivity (${Math.round((9e5-e)/1e3)}s remaining)`),this._isIdle=!0,this.flushEvents())}}async addRecordingEvent(e){if(R&&this.checkAndRefreshSession(),e&&\"object\"==typeof e){if(this.updateIdleState(e),!0!==this._isIdle||3!==e.type||this.isInteractiveEvent(e)){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);c(t&&s?`✅ Valid FullSnapshot: hasData=${t}, hasNode=${s}, dataType=${e.data?.node?.type}`:`⚠️ Empty FullSnapshot detected: hasData=${t}, hasNode=${s} - continuing session`)}this.eventQueue.length>=this.MAX_QUEUE_SIZE&&(this.eventQueue.shift(),c(\"Queue is full, the oldest event is dropped.\")),this.eventQueue.push(e),2===e.type?(c(\"FullSnapshot added, triggering immediate flush\"),this.flushEvents()):!0!==this._isIdle&&this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(c(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}}else c(\"⚠️ Skipping invalid recording event:\",e)}_canUseSessionStorage(){if(!R)return!1;try{const e=\"__sessionStorage_test__\";return sessionStorage.setItem(e,e),sessionStorage.removeItem(e),!0}catch{return!1}}_getWindowIdFromStorage(){if(!this._canUseSessionStorage())return null;try{return sessionStorage.getItem(this._window_id_storage_key)}catch{return null}}_setWindowIdInStorage(e){if(this._canUseSessionStorage())try{sessionStorage.setItem(this._window_id_storage_key,e),c(`Stored windowId in sessionStorage: ${e}`)}catch(e){a(\"Failed to store windowId in sessionStorage:\",e)}}_removeWindowIdFromStorage(){if(this._canUseSessionStorage())try{sessionStorage.removeItem(this._window_id_storage_key)}catch(e){a(\"Failed to remove windowId from sessionStorage:\",e)}}_getPrimaryWindowExists(){if(!this._canUseSessionStorage())return!1;try{return\"true\"===sessionStorage.getItem(this._primary_window_exists_storage_key)}catch{return!1}}_setPrimaryWindowExists(e){if(this._canUseSessionStorage())try{e?sessionStorage.setItem(this._primary_window_exists_storage_key,\"true\"):sessionStorage.removeItem(this._primary_window_exists_storage_key)}catch(e){a(\"Failed to set primary_window_exists flag:\",e)}}getOrCreateWindowId(){if(!R)return t();const e=this._getWindowIdFromStorage(),s=this._getPrimaryWindowExists();if(e&&!s)return c(`Reusing windowId from previous page load: ${e}`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e;{const e=t();return c(`Creating new windowId: ${e} (new window/tab detected)`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e}}setupWindowUnloadListener(){R&&window.addEventListener(\"beforeunload\",()=>{this._canUseSessionStorage()&&(this._setPrimaryWindowExists(!1),c(\"Cleared primary_window_exists flag on beforeunload\"))},{capture:!1})}setCookie(e,t,s){if(R)try{const i=new Date;i.setTime(i.getTime()+24*s*60*60*1e3);const n=`expires=${i.toUTCString()}`;document.cookie=`${e}=${t};${n};path=/;SameSite=Lax`,localStorage.setItem(e,t),c(`Set cookie and localStorage: ${e}`)}catch(s){try{localStorage.setItem(e,t),c(`Cookie blocked, using localStorage: ${e}`)}catch(e){o(\"Failed to store user ID in both cookie and localStorage:\",e)}}}getCookie(e){if(!R)return null;try{const t=e+\"=\",s=document.cookie.split(\";\");for(let i=0;i<s.length;i++){let n=s[i];for(;\" \"===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t)){const s=n.substring(t.length,n.length);return c(`Found cookie: ${e}`),s}}const i=localStorage.getItem(e);return i?(c(`Cookie not found, using localStorage: ${e}`),i):null}catch(t){try{const t=localStorage.getItem(e);if(t)return c(`Cookie access failed, using localStorage: ${e}`),t}catch(e){o(\"Failed to access both cookie and localStorage:\",e)}return null}}deleteCookie(e){if(R){try{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`,c(`Deleted cookie: ${e}`)}catch(t){o(`Failed to delete cookie: ${e}`,t)}try{localStorage.removeItem(e),c(`Removed from localStorage: ${e}`)}catch(t){o(`Failed to remove from localStorage: ${e}`,t)}}}logout(){if(R)try{const e=\"human_behavior_end_user_id\";this.deleteCookie(e);const s=\"human_behavior_session\";localStorage.removeItem(s),this.endUserId=null,this.userProperties={},this.endUserId=t(),this.setCookie(\"human_behavior_end_user_id\",this.endUserId,365),this.sessionId=this.createNewSession(s),this.windowId=t(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),d(\"User logged out - cleared all user data and started fresh session\")}catch(e){o(\"Error during logout:\",e)}}async redact(e){await this.ensureInitialized(),R?this.redactionManager=new v(e):a(\"Redaction is only available in browser environments\")}setRedactedFields(e){this.redactionManager.setFieldsToRedact(e),this.recordInstance&&this.restartWithNewRedaction()}setUnredactedFields(e){this.redactionManager.setFieldsToUnredact(e),this.recordInstance&&this.restartWithNewRedaction()}restartWithNewRedaction(){this.recordInstance&&(this.recordInstance(),this.start())}hasUnredactedFields(){return this.redactionManager.hasUnredactedFields()}getUnredactedFields(){return this.redactionManager.getUnredactedFields()}redactFields(e){this.redactionManager.redactFields(e),this.recordInstance&&this.restartWithNewRedaction()}clearUnredactedFields(){this.redactionManager.clearUnredactedFields(),this.recordInstance&&this.restartWithNewRedaction()}checkAndRefreshSession(){if(!R)return;const e=\"human_behavior_session\",s=Date.now(),i=this.getStoredSession(e);if(!i||!i.sessionId)return this.createNewSession(e),this.windowId=t(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),void c(`Created new session (no stored session): ${this.sessionId}`);this.updateSessionActivity(e,s,i.sessionId,i.sessionStartTimestamp)}getOrCreateSessionId(){if(!R)return t();const e=\"human_behavior_session\",s=Date.now(),i=this.getStoredSession(e);if(!i||!i.sessionId){const t=this.createNewSession(e);return this.api.setTrackingContext(t,this.endUserId),t}const n=s-i.lastActivityTimestamp,r=s-i.sessionStartTimestamp;if(n>9e5||r>864e5){c(`Session expired: idle=${n}ms, age=${r}ms`);const t=this.createNewSession(e);return this.api.setTrackingContext(t,this.endUserId),t}return this.updateSessionActivity(e,s,i.sessionId,i.sessionStartTimestamp),i.sessionId}getStoredSession(e){const s=Date.now(),i=9e5,n=864e5;if(this.sessionId&&null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp){const r=s-this._sessionActivityTimestamp,o=s-this._sessionStartTimestamp;if(!(r>i||o>n))return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp};{c(\"Session in memory expired: creating new session immediately\");const s=this.sessionId;if(this.createNewSession(e),this.windowId=t(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),d(`🔄 Session timeout (memory): Created new session ${this.sessionId} (previous: ${s})`),null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp)return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp}}}try{const r=localStorage.getItem(e);if(!r)return null;const o=JSON.parse(r),a=s-o.lastActivityTimestamp,l=s-o.sessionStartTimestamp;if(a>i||l>n){c(`Session in localStorage expired: idle=${Math.round(a/1e3/60)}min, age=${Math.round(l/1e3/60/60)}hrs`);const s=o.sessionId;if(this.createNewSession(e),this.windowId=t(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),d(`🔄 Session timeout (localStorage): Created new session ${this.sessionId} (previous: ${s})`),null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp)return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp}}return o.sessionId&&(this.sessionId=o.sessionId,this._sessionActivityTimestamp=o.lastActivityTimestamp,this._sessionStartTimestamp=o.sessionStartTimestamp),o}catch{return null}}createNewSession(e){const s=t(),i=Date.now();this.sessionId=s,this._sessionActivityTimestamp=i,this._sessionStartTimestamp=i,this._lastActivityTimestamp=i;const n={sessionId:s,lastActivityTimestamp:i,sessionStartTimestamp:i};try{localStorage.setItem(e,JSON.stringify(n))}catch(e){a(`Failed to save session to localStorage: ${e}`)}return c(`Created new session: ${s}`),s}updateSessionActivity(e,t,s,i){this.sessionId=s,this._sessionActivityTimestamp=t,this._sessionStartTimestamp=i;const n={sessionId:s,lastActivityTimestamp:t,sessionStartTimestamp:i};try{localStorage.setItem(e,JSON.stringify(n))}catch(e){a(`Failed to update session in localStorage: ${e}`)}}getSessionId(){return this.sessionId}getCurrentUrl(){return this.currentUrl}getSnapshotFrequencyInfo(){return{sessionDuration:Date.now()-this.sessionStartTime,currentInterval:3e5,currentThreshold:1e3,phase:\"configured\"}}async testConnection(){try{return await this.api.init(this.sessionId,this.endUserId),{success:!0}}catch(e){return{success:!1,error:e.message||\"Unknown error\"}}}getConnectionStatus(){const e=[];let t=!1;return this.eventQueue.length>0&&(t=!0,e.push(\"Some requests may be blocked by ad blockers\")),this._connectionBlocked&&(t=!0,e.push(\"Initial connection test failed - ad blocker may be active\")),\"undefined\"==typeof window&&e.push(\"Not running in browser environment\"),void 0===navigator.sendBeacon&&e.push(\"sendBeacon not available, using fetch fallback\"),{blocked:t,recommendations:e}}isPreexistingUser(){if(!R)return!1;const e=this.getCookie(\"human_behavior_end_user_id\");return null!==e&&e!==this.endUserId}getUserInfo(){return{endUserId:this.endUserId,sessionId:this.sessionId,isPreexistingUser:this.isPreexistingUser(),initialized:this.initialized}}setSessionProperty(e,t){this.propertyManager.setSessionProperty(e,t)}setSessionProperties(e){this.propertyManager.setSessionProperties(e)}getSessionProperty(e){return this.propertyManager.getSessionProperty(e)}removeSessionProperty(e){this.propertyManager.removeSessionProperty(e)}setUserProperty(e,t){this.propertyManager.setUserProperty(e,t)}setUserProperties(e){this.propertyManager.setUserProperties(e)}getUserProperty(e){return this.propertyManager.getUserProperty(e)}removeUserProperty(e){this.propertyManager.removeUserProperty(e)}setOnce(e,t,s=\"user\"){this.propertyManager.setOnce(e,t,s)}clearSessionProperties(){this.propertyManager.clearSessionProperties()}clearUserProperties(){this.propertyManager.clearUserProperties()}getAllProperties(){return this.propertyManager.getAllProperties()}}function F(e){const t=globalThis.__humanBehaviorGlobalTracker;return t?.identifyUser?t.identifyUser({userProperties:e}):(console.warn(\"HumanBehavior tracker not found. Make sure the SDK is initialized.\"),null)}function L(e,t){const s=globalThis.__humanBehaviorGlobalTracker;return s?.track?s.track(e,t):(console.warn(\"HumanBehavior tracker not found. Make sure the SDK is initialized.\"),null)}function A(){const e=globalThis.__humanBehaviorGlobalTracker;return!!e?.identifyUser}R&&(window.HumanBehaviorTracker=P);export{f as HumanBehaviorAPI,P as HumanBehaviorTracker,s as LogLevel,C as PropertyManager,v as RedactionManager,T as getAutomaticProperties,U as getCurrentPageProperties,I as getDeviceInfo,E as getInitialProperties,b as getLocationInfo,F as identifyUserGlobally,A as isGlobalTrackerAvailable,r as isSDKLogging,c as logDebug,o as logError,d as logInfo,a as logWarn,i as logger,L as sendEventGlobally};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Main entry point for the HumanBehavior SDK\n */\n\n// Import the main tracker first\nimport { HumanBehaviorTracker, identifyUserGlobally, sendEventGlobally, isGlobalTrackerAvailable } from '@humanbehavior/core';\n\n// Re-export everything from core\nexport * from '@humanbehavior/core';\n\n// Explicitly re-export HumanBehaviorTracker to ensure it's available\nexport { HumanBehaviorTracker, identifyUserGlobally, sendEventGlobally, isGlobalTrackerAvailable };\n\n// Create an initialization function\nexport const init = (apiKey: string, ingestionUrl?: string, options?: any) => {\n return new HumanBehaviorTracker(apiKey, ingestionUrl, options);\n};\n\n// For UMD builds, expose the class and init function globally\nif (typeof window !== 'undefined') {\n (window as any).HumanBehaviorTracker = HumanBehaviorTracker;\n (window as any).humanbehavior = { init };\n}"],"names":["n","t","e","HumanBehaviorTracker"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}