@inkandswitch/patchwork-pkg-base 0.0.63 → 0.0.64

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.
Files changed (38) hide show
  1. package/package.json +1 -1
  2. package/packages/sideboard/dist/account-bar-KGTVEYOE.js +2 -0
  3. package/packages/sideboard/dist/chunk-6LWWNFKU.js +2 -0
  4. package/packages/sideboard/dist/chunk-6LWWNFKU.js.map +7 -0
  5. package/packages/sideboard/dist/chunk-KHS2XJKP.js +15 -0
  6. package/packages/sideboard/dist/chunk-KHS2XJKP.js.map +7 -0
  7. package/packages/sideboard/dist/chunk-LJ5XCENG.js +2 -0
  8. package/packages/sideboard/dist/chunk-LJ5XCENG.js.map +7 -0
  9. package/packages/sideboard/dist/chunk-NO6SJFVH.js +2 -0
  10. package/packages/sideboard/dist/chunk-NO6SJFVH.js.map +7 -0
  11. package/packages/sideboard/dist/chunk-TCL6SLDB.js +2 -0
  12. package/packages/sideboard/dist/chunk-TCL6SLDB.js.map +7 -0
  13. package/packages/sideboard/dist/chunk-TXFTRSLY.js +13 -0
  14. package/packages/sideboard/dist/chunk-TXFTRSLY.js.map +7 -0
  15. package/packages/sideboard/dist/chunk-V62KH27A.js +2 -0
  16. package/packages/sideboard/dist/{chunk-52EOIDIA.js.map → chunk-V62KH27A.js.map} +2 -2
  17. package/packages/sideboard/dist/chunk-ZQBDNEEV.js +2 -0
  18. package/packages/sideboard/dist/chunk-ZQBDNEEV.js.map +7 -0
  19. package/packages/sideboard/dist/create-new-menu-EU5KJJ3R.js +2 -0
  20. package/packages/sideboard/dist/create-new-menu-EU5KJJ3R.js.map +7 -0
  21. package/packages/sideboard/dist/document-list-panel-WDIVYTZU.js +2 -0
  22. package/packages/sideboard/dist/index.css +1 -1
  23. package/packages/sideboard/dist/index.css.map +2 -2
  24. package/packages/sideboard/dist/index.js +1 -1
  25. package/packages/sideboard/dist/item-menu-N2ATUOK3.js +2 -0
  26. package/packages/sideboard/dist/item-menu-N2ATUOK3.js.map +7 -0
  27. package/packages/sideboard/dist/sideboard/sideboard.js +1 -1
  28. package/packages/sideboard/dist/sideboard/sideboard.js.map +2 -2
  29. package/packages/sideboard/package.json +5 -6
  30. package/packages/sideboard/dist/account-bar-6B65GY2V.js +0 -2
  31. package/packages/sideboard/dist/chunk-52EOIDIA.js +0 -2
  32. package/packages/sideboard/dist/chunk-G7U5YDCS.js +0 -2
  33. package/packages/sideboard/dist/chunk-G7U5YDCS.js.map +0 -7
  34. package/packages/sideboard/dist/chunk-NPZBYDER.js +0 -26
  35. package/packages/sideboard/dist/chunk-NPZBYDER.js.map +0 -7
  36. package/packages/sideboard/dist/document-list-panel-44RR5PWX.js +0 -2
  37. /package/packages/sideboard/dist/{account-bar-6B65GY2V.js.map → account-bar-KGTVEYOE.js.map} +0 -0
  38. /package/packages/sideboard/dist/{document-list-panel-44RR5PWX.js.map → document-list-panel-WDIVYTZU.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js", "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js", "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js", "../node_modules/.pnpm/solid-js@1.9.11/node_modules/solid-js/dist/solid.js", "../node_modules/.pnpm/solid-js@1.9.11/node_modules/solid-js/web/dist/web.js", "../node_modules/.pnpm/cabbages@0.2.10/node_modules/cabbages/output/cabbages.js", "../node_modules/.pnpm/solid-automerge@2.0.1_@automerge+automerge-repo@2.6.0-subduction.12_solid-js@1.9.11/node_modules/solid-automerge/src/autoproduce.ts", "../node_modules/.pnpm/solid-js@1.9.11/node_modules/solid-js/store/dist/store.js", "../node_modules/.pnpm/solid-automerge@2.0.1_@automerge+automerge-repo@2.6.0-subduction.12_solid-js@1.9.11/node_modules/solid-automerge/src/makeDocumentProjection.ts", "../node_modules/.pnpm/@solid-primitives+utils@6.4.1_solid-js@1.9.11/node_modules/@solid-primitives/utils/dist/index.js", "../node_modules/.pnpm/solid-automerge@2.0.1_@automerge+automerge-repo@2.6.0-subduction.12_solid-js@1.9.11/node_modules/solid-automerge/src/createDocumentProjection.ts", "../node_modules/.pnpm/solid-automerge@2.0.1_@automerge+automerge-repo@2.6.0-subduction.12_solid-js@1.9.11/node_modules/solid-automerge/src/context.ts", "../node_modules/.pnpm/solid-automerge@2.0.1_@automerge+automerge-repo@2.6.0-subduction.12_solid-js@1.9.11/node_modules/solid-automerge/src/useDocHandle.ts", "../node_modules/.pnpm/solid-automerge@2.0.1_@automerge+automerge-repo@2.6.0-subduction.12_solid-js@1.9.11/node_modules/solid-automerge/src/useDocument.ts", "../src/sideboard/events.ts"],
4
- "sourcesContent": ["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "let taskIdCounter = 1,\n isCallbackScheduled = false,\n isPerformingWork = false,\n taskQueue = [],\n currentTask = null,\n shouldYieldToHost = null,\n yieldInterval = 5,\n deadline = 0,\n maxYieldInterval = 300,\n maxDeadline = 0,\n scheduleCallback = null,\n scheduledCallback = null;\nconst maxSigned31BitInt = 1073741823;\nfunction setupScheduler() {\n const channel = new MessageChannel(),\n port = channel.port2;\n scheduleCallback = () => port.postMessage(null);\n channel.port1.onmessage = () => {\n if (scheduledCallback !== null) {\n const currentTime = performance.now();\n deadline = currentTime + yieldInterval;\n maxDeadline = currentTime + maxYieldInterval;\n try {\n const hasMoreWork = scheduledCallback(currentTime);\n if (!hasMoreWork) {\n scheduledCallback = null;\n } else port.postMessage(null);\n } catch (error) {\n port.postMessage(null);\n throw error;\n }\n }\n };\n if (navigator && navigator.scheduling && navigator.scheduling.isInputPending) {\n const scheduling = navigator.scheduling;\n shouldYieldToHost = () => {\n const currentTime = performance.now();\n if (currentTime >= deadline) {\n if (scheduling.isInputPending()) {\n return true;\n }\n return currentTime >= maxDeadline;\n } else {\n return false;\n }\n };\n } else {\n shouldYieldToHost = () => performance.now() >= deadline;\n }\n}\nfunction enqueue(taskQueue, task) {\n function findIndex() {\n let m = 0;\n let n = taskQueue.length - 1;\n while (m <= n) {\n const k = n + m >> 1;\n const cmp = task.expirationTime - taskQueue[k].expirationTime;\n if (cmp > 0) m = k + 1;else if (cmp < 0) n = k - 1;else return k;\n }\n return m;\n }\n taskQueue.splice(findIndex(), 0, task);\n}\nfunction requestCallback(fn, options) {\n if (!scheduleCallback) setupScheduler();\n let startTime = performance.now(),\n timeout = maxSigned31BitInt;\n if (options && options.timeout) timeout = options.timeout;\n const newTask = {\n id: taskIdCounter++,\n fn,\n startTime,\n expirationTime: startTime + timeout\n };\n enqueue(taskQueue, newTask);\n if (!isCallbackScheduled && !isPerformingWork) {\n isCallbackScheduled = true;\n scheduledCallback = flushWork;\n scheduleCallback();\n }\n return newTask;\n}\nfunction cancelCallback(task) {\n task.fn = null;\n}\nfunction flushWork(initialTime) {\n isCallbackScheduled = false;\n isPerformingWork = true;\n try {\n return workLoop(initialTime);\n } finally {\n currentTask = null;\n isPerformingWork = false;\n }\n}\nfunction workLoop(initialTime) {\n let currentTime = initialTime;\n currentTask = taskQueue[0] || null;\n while (currentTask !== null) {\n if (currentTask.expirationTime > currentTime && shouldYieldToHost()) {\n break;\n }\n const callback = currentTask.fn;\n if (callback !== null) {\n currentTask.fn = null;\n const didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n callback(didUserCallbackTimeout);\n currentTime = performance.now();\n if (currentTask === taskQueue[0]) {\n taskQueue.shift();\n }\n } else taskQueue.shift();\n currentTask = taskQueue[0] || null;\n }\n return currentTask !== null;\n}\n\nconst sharedConfig = {\n context: undefined,\n registry: undefined,\n effects: undefined,\n done: false,\n getContextId() {\n return getContextId(this.context.count);\n },\n getNextContextId() {\n return getContextId(this.context.count++);\n }\n};\nfunction getContextId(count) {\n const num = String(count),\n len = num.length - 1;\n return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : \"\") + num;\n}\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n return {\n ...sharedConfig.context,\n id: sharedConfig.getNextContextId(),\n count: 0\n };\n}\n\nconst IS_DEV = false;\nconst equalFn = (a, b) => a === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst SUPPORTS_PROXY = typeof Proxy === \"function\";\nconst $TRACK = Symbol(\"solid-track\");\nconst $DEVCOMP = Symbol(\"solid-dev-component\");\nconst signalOptions = {\n equals: equalFn\n};\nlet ERROR = null;\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition = null;\nlet Scheduler = null;\nlet ExternalSourceConfig = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener,\n owner = Owner,\n unowned = fn.length === 0,\n current = detachedOwner === undefined ? owner : detachedOwner,\n root = unowned ? UNOWNED : {\n owned: null,\n cleanups: null,\n context: current ? current.context : null,\n owner: current\n },\n updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || undefined\n };\n const setter = value => {\n if (typeof value === \"function\") {\n if (Transition && Transition.running && Transition.sources.has(s)) value = value(s.tValue);else value = value(s.value);\n }\n return writeSignal(s, value);\n };\n return [readSignal.bind(s), setter];\n}\nfunction createComputed(fn, value, options) {\n const c = createComputation(fn, value, true, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createRenderEffect(fn, value, options) {\n const c = createComputation(fn, value, false, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c = createComputation(fn, value, false, STALE),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n if (!options || !options.render) c.user = true;\n Effects ? Effects.push(c) : updateComputation(c);\n}\nfunction createReaction(onInvalidate, options) {\n let fn;\n const c = createComputation(() => {\n fn ? fn() : untrack(onInvalidate);\n fn = undefined;\n }, undefined, false, 0),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n c.user = true;\n return tracking => {\n fn = tracking;\n updateComputation(c);\n };\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c = createComputation(fn, value, true, 0);\n c.observers = null;\n c.observerSlots = null;\n c.comparator = options.equals || undefined;\n if (Scheduler && Transition && Transition.running) {\n c.tState = STALE;\n Updates.push(c);\n } else updateComputation(c);\n return readSignal.bind(c);\n}\nfunction isPromise(v) {\n return v && typeof v === \"object\" && \"then\" in v;\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n if (typeof pFetcher === \"function\") {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\n } else {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n }\n let pr = null,\n initP = NO_INIT,\n id = null,\n loadedUnderTransition = false,\n scheduled = false,\n resolved = \"initialValue\" in options,\n dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = new Set(),\n [value, setValue] = (options.storage || createSignal)(options.initialValue),\n [error, setError] = createSignal(undefined),\n [track, trigger] = createSignal(undefined, {\n equals: false\n }),\n [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (sharedConfig.context) {\n id = sharedConfig.getNextContextId();\n if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;else if (sharedConfig.load && sharedConfig.has(id)) initP = sharedConfig.load(id);\n }\n function loadEnd(p, v, error, key) {\n if (pr === p) {\n pr = null;\n key !== undefined && (resolved = true);\n if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {\n value: v\n }));\n initP = NO_INIT;\n if (Transition && p && loadedUnderTransition) {\n Transition.promises.delete(p);\n loadedUnderTransition = false;\n runUpdates(() => {\n Transition.running = true;\n completeLoad(v, error);\n }, false);\n } else completeLoad(v, error);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (err === undefined) setValue(() => v);\n setState(err !== undefined ? \"errored\" : resolved ? \"ready\" : \"unresolved\");\n setError(err);\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c = SuspenseContext && useContext(SuspenseContext),\n v = value(),\n err = error();\n if (err !== undefined && !pr) throw err;\n if (Listener && !Listener.user && c) {\n createComputed(() => {\n track();\n if (pr) {\n if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);else if (!contexts.has(c)) {\n c.increment();\n contexts.add(c);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled) return;\n scheduled = false;\n const lookup = dynamic ? dynamic() : source;\n loadedUnderTransition = Transition && Transition.running;\n if (lookup == null || lookup === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n if (Transition && pr) Transition.promises.delete(pr);\n let error;\n const p = initP !== NO_INIT ? initP : untrack(() => {\n try {\n return fetcher(lookup, {\n value: value(),\n refetching\n });\n } catch (fetcherError) {\n error = fetcherError;\n }\n });\n if (error !== undefined) {\n loadEnd(pr, undefined, castError(error), lookup);\n return;\n } else if (!isPromise(p)) {\n loadEnd(pr, p, undefined, lookup);\n return p;\n }\n pr = p;\n if (\"v\" in p) {\n if (p.s === 1) loadEnd(pr, p.v, undefined, lookup);else loadEnd(pr, undefined, castError(p.v), lookup);\n return p;\n }\n scheduled = true;\n queueMicrotask(() => scheduled = false);\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e), lookup));\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s = state();\n return s === \"pending\" || s === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved) return read();\n const err = error();\n if (err && !pr) throw err;\n return value();\n }\n }\n });\n let owner = Owner;\n if (dynamic) createComputed(() => (owner = Owner, load(false)));else load(false);\n return [read, {\n refetch: info => runWithOwner(owner, () => load(info)),\n mutate: setValue\n }];\n}\nfunction createDeferred(source, options) {\n let t,\n timeout = options ? options.timeoutMs : undefined;\n const node = createComputation(() => {\n if (!t || !t.fn) t = requestCallback(() => setDeferred(() => node.value), timeout !== undefined ? {\n timeout\n } : undefined);\n return source();\n }, undefined, true);\n const [deferred, setDeferred] = createSignal(Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, options);\n updateComputation(node);\n setDeferred(() => Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n return deferred;\n}\nfunction createSelector(source, fn = equalFn, options) {\n const subs = new Map();\n const node = createComputation(p => {\n const v = source();\n for (const [key, val] of subs.entries()) if (fn(key, v) !== fn(key, p)) {\n for (const c of val.values()) {\n c.state = STALE;\n if (c.pure) Updates.push(c);else Effects.push(c);\n }\n }\n return v;\n }, undefined, true, STALE);\n updateComputation(node);\n return key => {\n const listener = Listener;\n if (listener) {\n let l;\n if (l = subs.get(key)) l.add(listener);else subs.set(key, l = new Set([listener]));\n onCleanup(() => {\n l.delete(listener);\n !l.size && subs.delete(key);\n });\n }\n return fn(key, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n };\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n if (!ExternalSourceConfig && Listener === null) return fn();\n const listener = Listener;\n Listener = null;\n try {\n if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return prevValue => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i = 0; i < deps.length; i++) input[i] = deps[i]();\n } else input = deps();\n if (defer) {\n defer = false;\n return prevValue;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null) ;else if (Owner.cleanups === null) Owner.cleanups = [fn];else Owner.cleanups.push(fn);\n return fn;\n}\nfunction catchError(fn, handler) {\n ERROR || (ERROR = Symbol(\"error\"));\n Owner = createComputation(undefined, undefined, true);\n Owner.context = {\n ...Owner.context,\n [ERROR]: [handler]\n };\n if (Transition && Transition.running) Transition.sources.add(Owner);\n try {\n return fn();\n } catch (err) {\n handleError(err);\n } finally {\n Owner = Owner.owner;\n }\n}\nfunction getListener() {\n return Listener;\n}\nfunction getOwner() {\n return Owner;\n}\nfunction runWithOwner(o, fn) {\n const prev = Owner;\n const prevListener = Listener;\n Owner = o;\n Listener = null;\n try {\n return runUpdates(fn, true);\n } catch (err) {\n handleError(err);\n } finally {\n Owner = prev;\n Listener = prevListener;\n }\n}\nfunction enableScheduling(scheduler = requestCallback) {\n Scheduler = scheduler;\n}\nfunction startTransition(fn) {\n if (Transition && Transition.running) {\n fn();\n return Transition.done;\n }\n const l = Listener;\n const o = Owner;\n return Promise.resolve().then(() => {\n Listener = l;\n Owner = o;\n let t;\n if (Scheduler || SuspenseContext) {\n t = Transition || (Transition = {\n sources: new Set(),\n effects: [],\n promises: new Set(),\n disposed: new Set(),\n queue: new Set(),\n running: true\n });\n t.done || (t.done = new Promise(res => t.resolve = res));\n t.running = true;\n }\n runUpdates(fn, false);\n Listener = Owner = null;\n return t ? t.done : undefined;\n });\n}\nconst [transPending, setTransPending] = /*@__PURE__*/createSignal(false);\nfunction useTransition() {\n return [transPending, startTransition];\n}\nfunction resumeEffects(e) {\n Effects.push.apply(Effects, e);\n e.length = 0;\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id),\n defaultValue\n };\n}\nfunction useContext(context) {\n let value;\n return Owner && Owner.context && (value = Owner.context[context.id]) !== undefined ? value : context.defaultValue;\n}\nfunction children(fn) {\n const children = createMemo(fn);\n const memo = createMemo(() => resolveChildren(children()));\n memo.toArray = () => {\n const c = memo();\n return Array.isArray(c) ? c : c != null ? [c] : [];\n };\n return memo;\n}\nlet SuspenseContext;\nfunction getSuspenseContext() {\n return SuspenseContext || (SuspenseContext = createContext());\n}\nfunction enableExternalSource(factory, untrack = fn => fn()) {\n if (ExternalSourceConfig) {\n const {\n factory: oldFactory,\n untrack: oldUntrack\n } = ExternalSourceConfig;\n ExternalSourceConfig = {\n factory: (fn, trigger) => {\n const oldSource = oldFactory(fn, trigger);\n const source = factory(x => oldSource.track(x), trigger);\n return {\n track: x => source.track(x),\n dispose() {\n source.dispose();\n oldSource.dispose();\n }\n };\n },\n untrack: fn => oldUntrack(() => untrack(fn))\n };\n } else {\n ExternalSourceConfig = {\n factory,\n untrack\n };\n }\n}\nfunction readSignal() {\n const runningTransition = Transition && Transition.running;\n if (this.sources && (runningTransition ? this.tState : this.state)) {\n if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const sSlot = this.observers ? this.observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!this.observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n this.observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n if (runningTransition && Transition.sources.has(this)) return this.tValue;\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n if (Transition) {\n const TransitionRunning = Transition.running;\n if (TransitionRunning || !isComp && Transition.sources.has(node)) {\n Transition.sources.add(node);\n node.tValue = value;\n }\n if (!TransitionRunning) node.value = value;\n } else node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n const TransitionRunning = Transition && Transition.running;\n if (TransitionRunning && Transition.disposed.has(o)) continue;\n if (TransitionRunning ? !o.tState : !o.state) {\n if (o.pure) Updates.push(o);else Effects.push(o);\n if (o.observers) markDownstream(o);\n }\n if (!TransitionRunning) o.state = STALE;else o.tState = STALE;\n }\n if (Updates.length > 10e5) {\n Updates = [];\n if (IS_DEV) ;\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn) return;\n cleanNode(node);\n const time = ExecCount;\n runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);\n if (Transition && !Transition.running && Transition.sources.has(node)) {\n queueMicrotask(() => {\n runUpdates(() => {\n Transition && (Transition.running = true);\n Listener = Owner = node;\n runComputation(node, node.tValue, time);\n Listener = Owner = null;\n }, false);\n });\n }\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n const owner = Owner,\n listener = Listener;\n Listener = Owner = node;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure) {\n if (Transition && Transition.running) {\n node.tState = STALE;\n node.tOwned && node.tOwned.forEach(cleanNode);\n node.tOwned = undefined;\n } else {\n node.state = STALE;\n node.owned && node.owned.forEach(cleanNode);\n node.owned = null;\n }\n }\n node.updatedAt = time + 1;\n return handleError(err);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue, true);\n } else if (Transition && Transition.running && node.pure) {\n Transition.sources.add(node);\n node.tValue = nextValue;\n } else node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c = {\n fn,\n state: state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: Owner ? Owner.context : null,\n pure\n };\n if (Transition && Transition.running) {\n c.state = 0;\n c.tState = state;\n }\n if (Owner === null) ;else if (Owner !== UNOWNED) {\n if (Transition && Transition.running && Owner.pure) {\n if (!Owner.tOwned) Owner.tOwned = [c];else Owner.tOwned.push(c);\n } else {\n if (!Owner.owned) Owner.owned = [c];else Owner.owned.push(c);\n }\n }\n if (ExternalSourceConfig && c.fn) {\n const [track, trigger] = createSignal(undefined, {\n equals: false\n });\n const ordinary = ExternalSourceConfig.factory(c.fn, trigger);\n onCleanup(() => ordinary.dispose());\n const triggerInTransition = () => startTransition(trigger).then(() => inTransition.dispose());\n const inTransition = ExternalSourceConfig.factory(c.fn, triggerInTransition);\n c.fn = x => {\n track();\n return Transition && Transition.running ? inTransition.track(x) : ordinary.track(x);\n };\n }\n return c;\n}\nfunction runTop(node) {\n const runningTransition = Transition && Transition.running;\n if ((runningTransition ? node.tState : node.state) === 0) return;\n if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (runningTransition && Transition.disposed.has(node)) return;\n if (runningTransition ? node.tState : node.state) ancestors.push(node);\n }\n for (let i = ancestors.length - 1; i >= 0; i--) {\n node = ancestors[i];\n if (runningTransition) {\n let top = node,\n prev = ancestors[i + 1];\n while ((top = top.owner) && top !== prev) {\n if (Transition.disposed.has(top)) return;\n }\n }\n if ((runningTransition ? node.tState : node.state) === STALE) {\n updateComputation(node);\n } else if ((runningTransition ? node.tState : node.state) === PENDING) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates) return fn();\n let wait = false;\n if (!init) Updates = [];\n if (Effects) wait = true;else Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!wait) Effects = null;\n Updates = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);else runQueue(Updates);\n Updates = null;\n }\n if (wait) return;\n let res;\n if (Transition) {\n if (!Transition.promises.size && !Transition.queue.size) {\n const sources = Transition.sources;\n const disposed = Transition.disposed;\n Effects.push.apply(Effects, Transition.effects);\n res = Transition.resolve;\n for (const e of Effects) {\n \"tState\" in e && (e.state = e.tState);\n delete e.tState;\n }\n Transition = null;\n runUpdates(() => {\n for (const d of disposed) cleanNode(d);\n for (const v of sources) {\n v.value = v.tValue;\n if (v.owned) {\n for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);\n }\n if (v.tOwned) v.owned = v.tOwned;\n delete v.tValue;\n delete v.tOwned;\n v.tState = 0;\n }\n setTransPending(false);\n }, false);\n } else if (Transition.running) {\n Transition.running = false;\n Transition.effects.push.apply(Transition.effects, Effects);\n Effects = null;\n setTransPending(true);\n return;\n }\n }\n const e = Effects;\n Effects = null;\n if (e.length) runUpdates(() => runEffects(e), false);\n if (res) res();\n}\nfunction runQueue(queue) {\n for (let i = 0; i < queue.length; i++) runTop(queue[i]);\n}\nfunction scheduleQueue(queue) {\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i];\n const tasks = Transition.queue;\n if (!tasks.has(item)) {\n tasks.add(item);\n Scheduler(() => {\n tasks.delete(item);\n runUpdates(() => {\n Transition.running = true;\n runTop(item);\n }, false);\n Transition && (Transition.running = false);\n });\n }\n }\n}\nfunction runUserEffects(queue) {\n let i,\n userLength = 0;\n for (i = 0; i < queue.length; i++) {\n const e = queue[i];\n if (!e.user) runTop(e);else queue[userLength++] = e;\n }\n if (sharedConfig.context) {\n if (sharedConfig.count) {\n sharedConfig.effects || (sharedConfig.effects = []);\n sharedConfig.effects.push(...queue.slice(0, userLength));\n return;\n }\n setHydrateContext();\n }\n if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) {\n queue = [...sharedConfig.effects, ...queue];\n userLength += sharedConfig.effects.length;\n delete sharedConfig.effects;\n }\n for (i = 0; i < userLength; i++) runTop(queue[i]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition && Transition.running;\n if (runningTransition) node.tState = 0;else node.state = 0;\n for (let i = 0; i < node.sources.length; i += 1) {\n const source = node.sources[i];\n if (source.sources) {\n const state = runningTransition ? source.tState : source.state;\n if (state === STALE) {\n if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);\n } else if (state === PENDING) lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition && Transition.running;\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n if (runningTransition ? !o.tState : !o.state) {\n if (runningTransition) o.tState = PENDING;else o.state = PENDING;\n if (o.pure) Updates.push(o);else Effects.push(o);\n o.observers && markDownstream(o);\n }\n }\n}\nfunction cleanNode(node) {\n let i;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(),\n index = node.sourceSlots.pop(),\n obs = source.observers;\n if (obs && obs.length) {\n const n = obs.pop(),\n s = source.observerSlots.pop();\n if (index < obs.length) {\n n.sourceSlots[s] = index;\n obs[index] = n;\n source.observerSlots[index] = s;\n }\n }\n }\n }\n if (node.tOwned) {\n for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n delete node.tOwned;\n }\n if (Transition && Transition.running && node.pure) {\n reset(node, true);\n } else if (node.owned) {\n for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();\n node.cleanups = null;\n }\n if (Transition && Transition.running) node.tState = 0;else node.state = 0;\n}\nfunction reset(node, top) {\n if (!top) {\n node.tState = 0;\n Transition.disposed.add(node);\n }\n if (node.owned) {\n for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);\n }\n}\nfunction castError(err) {\n if (err instanceof Error) return err;\n return new Error(typeof err === \"string\" ? err : \"Unknown error\", {\n cause: err\n });\n}\nfunction runErrors(err, fns, owner) {\n try {\n for (const f of fns) f(err);\n } catch (e) {\n handleError(e, owner && owner.owner || null);\n }\n}\nfunction handleError(err, owner = Owner) {\n const fns = ERROR && owner && owner.context && owner.context[ERROR];\n const error = castError(err);\n if (!fns) throw error;\n if (Effects) Effects.push({\n fn() {\n runErrors(error, fns, owner);\n },\n state: STALE\n });else runErrors(error, fns, owner);\n}\nfunction resolveChildren(children) {\n if (typeof children === \"function\" && !children.length) return resolveChildren(children());\n if (Array.isArray(children)) {\n const results = [];\n for (let i = 0; i < children.length; i++) {\n const result = resolveChildren(children[i]);\n Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n }\n return results;\n }\n return children;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(() => res = untrack(() => {\n Owner.context = {\n ...Owner.context,\n [id]: props.value\n };\n return children(() => props.children);\n }), undefined);\n return res;\n };\n}\nfunction onError(fn) {\n ERROR || (ERROR = Symbol(\"error\"));\n if (Owner === null) ;else if (Owner.context === null || !Owner.context[ERROR]) {\n Owner.context = {\n ...Owner.context,\n [ERROR]: [fn]\n };\n mutateContext(Owner, ERROR, [fn]);\n } else Owner.context[ERROR].push(fn);\n}\nfunction mutateContext(o, key, value) {\n if (o.owned) {\n for (let i = 0; i < o.owned.length; i++) {\n if (o.owned[i].context === o.context) mutateContext(o.owned[i], key, value);\n if (!o.owned[i].context) {\n o.owned[i].context = o.context;\n mutateContext(o.owned[i], key, value);\n } else if (!o.owned[i].context[key]) {\n o.owned[i].context[key] = value;\n mutateContext(o.owned[i], key, value);\n }\n }\n }\n}\n\nfunction observable(input) {\n return {\n subscribe(observer) {\n if (!(observer instanceof Object) || observer == null) {\n throw new TypeError(\"Expected the observer to be an object.\");\n }\n const handler = typeof observer === \"function\" ? observer : observer.next && observer.next.bind(observer);\n if (!handler) {\n return {\n unsubscribe() {}\n };\n }\n const dispose = createRoot(disposer => {\n createEffect(() => {\n const v = input();\n untrack(() => handler(v));\n });\n return disposer;\n });\n if (getOwner()) onCleanup(dispose);\n return {\n unsubscribe() {\n dispose();\n }\n };\n },\n [Symbol.observable || \"@@observable\"]() {\n return this;\n }\n };\n}\nfunction from(producer, initalValue = undefined) {\n const [s, set] = createSignal(initalValue, {\n equals: false\n });\n if (\"subscribe\" in producer) {\n const unsub = producer.subscribe(v => set(() => v));\n onCleanup(() => \"unsubscribe\" in unsub ? unsub.unsubscribe() : unsub());\n } else {\n const clean = producer(set);\n onCleanup(clean);\n }\n return s;\n}\n\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i = 0; i < d.length; i++) d[i]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n len = 0,\n indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [],\n newLen = newItems.length,\n i,\n j;\n newItems[$TRACK];\n return untrack(() => {\n let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n }\n else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++);\n for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i = newIndices.get(item);\n newIndicesNext[j] = i === undefined ? -1 : i;\n newIndices.set(item, j);\n }\n for (i = start; i <= end; i++) {\n item = items[i];\n j = newIndices.get(item);\n if (j !== undefined && j !== -1) {\n temp[j] = mapped[i];\n tempdisposers[j] = disposers[i];\n indexes && (tempIndexes[j] = indexes[i]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else disposers[i]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, len = newLen);\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s, set] = createSignal(j);\n indexes[j] = set;\n return mapFn(newItems[j], s);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction indexArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n signals = [],\n len = 0,\n i;\n onCleanup(() => dispose(disposers));\n return () => {\n const newItems = list() || [],\n newLen = newItems.length;\n newItems[$TRACK];\n return untrack(() => {\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n signals = [];\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n return mapped;\n }\n if (items[0] === FALLBACK) {\n disposers[0]();\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n }\n for (i = 0; i < newLen; i++) {\n if (i < items.length && items[i] !== newItems[i]) {\n signals[i](() => newItems[i]);\n } else if (i >= items.length) {\n mapped[i] = createRoot(mapper);\n }\n }\n for (; i < items.length; i++) {\n disposers[i]();\n }\n len = signals.length = disposers.length = newLen;\n items = newItems.slice(0);\n return mapped = mapped.slice(0, len);\n });\n function mapper(disposer) {\n disposers[i] = disposer;\n const [s, set] = createSignal(newItems[i]);\n signals[i] = set;\n return mapFn(s, i);\n }\n };\n}\n\nlet hydrationEnabled = false;\nfunction enableHydration() {\n hydrationEnabled = true;\n}\nfunction createComponent(Comp, props) {\n if (hydrationEnabled) {\n if (sharedConfig.context) {\n const c = sharedConfig.context;\n setHydrateContext(nextHydrateContext());\n const r = untrack(() => Comp(props || {}));\n setHydrateContext(c);\n return r;\n }\n }\n return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n return true;\n}\nconst propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY) return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY) return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s) {\n return !(s = typeof s === \"function\" ? s() : s) ? {} : s;\n}\nfunction resolveSources() {\n for (let i = 0, length = this.length; i < length; ++i) {\n const v = this[i]();\n if (v !== undefined) return v;\n }\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i = 0; i < sources.length; i++) {\n const s = sources[i];\n proxy = proxy || !!s && $PROXY in s;\n sources[i] = typeof s === \"function\" ? (proxy = true, createMemo(s)) : s;\n }\n if (SUPPORTS_PROXY && proxy) {\n return new Proxy({\n get(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n const v = resolveSource(sources[i])[property];\n if (v !== undefined) return v;\n }\n },\n has(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n if (property in resolveSource(sources[i])) return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i = 0; i < sources.length; i++) keys.push(...Object.keys(resolveSource(sources[i])));\n return [...new Set(keys)];\n }\n }, propTraps);\n }\n const sourcesMap = {};\n const defined = Object.create(null);\n for (let i = sources.length - 1; i >= 0; i--) {\n const source = sources[i];\n if (!source) continue;\n const sourceKeys = Object.getOwnPropertyNames(source);\n for (let i = sourceKeys.length - 1; i >= 0; i--) {\n const key = sourceKeys[i];\n if (key === \"__proto__\" || key === \"constructor\") continue;\n const desc = Object.getOwnPropertyDescriptor(source, key);\n if (!defined[key]) {\n defined[key] = desc.get ? {\n enumerable: true,\n configurable: true,\n get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])\n } : desc.value !== undefined ? desc : undefined;\n } else {\n const sources = sourcesMap[key];\n if (sources) {\n if (desc.get) sources.push(desc.get.bind(source));else if (desc.value !== undefined) sources.push(() => desc.value);\n }\n }\n }\n }\n const target = {};\n const definedKeys = Object.keys(defined);\n for (let i = definedKeys.length - 1; i >= 0; i--) {\n const key = definedKeys[i],\n desc = defined[key];\n if (desc && desc.get) Object.defineProperty(target, key, desc);else target[key] = desc ? desc.value : undefined;\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n const len = keys.length;\n if (SUPPORTS_PROXY && $PROXY in props) {\n const blocked = len > 1 ? keys.flat() : keys[0];\n const res = keys.map(k => {\n return new Proxy({\n get(property) {\n return k.includes(property) ? props[property] : undefined;\n },\n has(property) {\n return k.includes(property) && property in props;\n },\n keys() {\n return k.filter(property => property in props);\n }\n }, propTraps);\n });\n res.push(new Proxy({\n get(property) {\n return blocked.includes(property) ? undefined : props[property];\n },\n has(property) {\n return blocked.includes(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter(k => !blocked.includes(k));\n }\n }, propTraps));\n return res;\n }\n const objects = [];\n for (let i = 0; i <= len; i++) {\n objects[i] = {};\n }\n for (const propName of Object.getOwnPropertyNames(props)) {\n let keyIndex = len;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].includes(propName)) {\n keyIndex = i;\n break;\n }\n }\n const desc = Object.getOwnPropertyDescriptor(props, propName);\n const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n isDefaultDesc ? objects[keyIndex][propName] = desc.value : Object.defineProperty(objects[keyIndex], propName, desc);\n }\n return objects;\n}\nfunction lazy(fn) {\n let comp;\n let p;\n const wrap = props => {\n const ctx = sharedConfig.context;\n if (ctx) {\n const [s, set] = createSignal();\n sharedConfig.count || (sharedConfig.count = 0);\n sharedConfig.count++;\n (p || (p = fn())).then(mod => {\n !sharedConfig.done && setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => mod.default);\n setHydrateContext();\n });\n comp = s;\n } else if (!comp) {\n const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));\n comp = s;\n }\n let Comp;\n return createMemo(() => (Comp = comp()) ? untrack(() => {\n if (IS_DEV) ;\n if (!ctx || sharedConfig.done) return Comp(props);\n const c = sharedConfig.context;\n setHydrateContext(ctx);\n const r = Comp(props);\n setHydrateContext(c);\n return r;\n }) : \"\");\n };\n wrap.preload = () => p || ((p = fn()).then(mod => comp = () => mod.default), p);\n return wrap;\n}\nlet counter = 0;\nfunction createUniqueId() {\n const ctx = sharedConfig.context;\n return ctx ? sharedConfig.getNextContextId() : `cl-${counter++}`;\n}\n\nconst narrowedError = name => `Stale read from <${name}>.`;\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Index(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(indexArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Show(props) {\n const keyed = props.keyed;\n const conditionValue = createMemo(() => props.when, undefined, undefined);\n const condition = keyed ? conditionValue : createMemo(conditionValue, undefined, {\n equals: (a, b) => !a === !b\n });\n return createMemo(() => {\n const c = condition();\n if (c) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(keyed ? c : () => {\n if (!untrack(condition)) throw narrowedError(\"Show\");\n return conditionValue();\n })) : child;\n }\n return props.fallback;\n }, undefined, undefined);\n}\nfunction Switch(props) {\n const chs = children(() => props.children);\n const switchFunc = createMemo(() => {\n const ch = chs();\n const mps = Array.isArray(ch) ? ch : [ch];\n let func = () => undefined;\n for (let i = 0; i < mps.length; i++) {\n const index = i;\n const mp = mps[i];\n const prevFunc = func;\n const conditionValue = createMemo(() => prevFunc() ? undefined : mp.when, undefined, undefined);\n const condition = mp.keyed ? conditionValue : createMemo(conditionValue, undefined, {\n equals: (a, b) => !a === !b\n });\n func = () => prevFunc() || (condition() ? [index, conditionValue, mp] : undefined);\n }\n return func;\n });\n return createMemo(() => {\n const sel = switchFunc()();\n if (!sel) return props.fallback;\n const [index, conditionValue, mp] = sel;\n const child = mp.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(mp.keyed ? conditionValue() : () => {\n if (untrack(switchFunc)()?.[0] !== index) throw narrowedError(\"Match\");\n return conditionValue();\n })) : child;\n }, undefined, undefined);\n}\nfunction Match(props) {\n return props;\n}\nlet Errors;\nfunction resetErrorBoundaries() {\n Errors && [...Errors].forEach(fn => fn());\n}\nfunction ErrorBoundary(props) {\n let err;\n if (sharedConfig.context && sharedConfig.load) err = sharedConfig.load(sharedConfig.getContextId());\n const [errored, setErrored] = createSignal(err, undefined);\n Errors || (Errors = new Set());\n Errors.add(setErrored);\n onCleanup(() => Errors.delete(setErrored));\n return createMemo(() => {\n let e;\n if (e = errored()) {\n const f = props.fallback;\n return typeof f === \"function\" && f.length ? untrack(() => f(e, () => setErrored())) : f;\n }\n return catchError(() => props.children, setErrored);\n }, undefined, undefined);\n}\n\nconst suspenseListEquals = (a, b) => a.showContent === b.showContent && a.showFallback === b.showFallback;\nconst SuspenseListContext = /* #__PURE__ */createContext();\nfunction SuspenseList(props) {\n let [wrapper, setWrapper] = createSignal(() => ({\n inFallback: false\n })),\n show;\n const listContext = useContext(SuspenseListContext);\n const [registry, setRegistry] = createSignal([]);\n if (listContext) {\n show = listContext.register(createMemo(() => wrapper()().inFallback));\n }\n const resolved = createMemo(prev => {\n const reveal = props.revealOrder,\n tail = props.tail,\n {\n showContent = true,\n showFallback = true\n } = show ? show() : {},\n reg = registry(),\n reverse = reveal === \"backwards\";\n if (reveal === \"together\") {\n const all = reg.every(inFallback => !inFallback());\n const res = reg.map(() => ({\n showContent: all && showContent,\n showFallback\n }));\n res.inFallback = !all;\n return res;\n }\n let stop = false;\n let inFallback = prev.inFallback;\n const res = [];\n for (let i = 0, len = reg.length; i < len; i++) {\n const n = reverse ? len - i - 1 : i,\n s = reg[n]();\n if (!stop && !s) {\n res[n] = {\n showContent,\n showFallback\n };\n } else {\n const next = !stop;\n if (next) inFallback = true;\n res[n] = {\n showContent: next,\n showFallback: !tail || next && tail === \"collapsed\" ? showFallback : false\n };\n stop = true;\n }\n }\n if (!stop) inFallback = false;\n res.inFallback = inFallback;\n return res;\n }, {\n inFallback: false\n });\n setWrapper(() => resolved);\n return createComponent(SuspenseListContext.Provider, {\n value: {\n register: inFallback => {\n let index;\n setRegistry(registry => {\n index = registry.length;\n return [...registry, inFallback];\n });\n return createMemo(() => resolved()[index], undefined, {\n equals: suspenseListEquals\n });\n }\n },\n get children() {\n return props.children;\n }\n });\n}\nfunction Suspense(props) {\n let counter = 0,\n show,\n ctx,\n p,\n flicker,\n error;\n const [inFallback, setFallback] = createSignal(false),\n SuspenseContext = getSuspenseContext(),\n store = {\n increment: () => {\n if (++counter === 1) setFallback(true);\n },\n decrement: () => {\n if (--counter === 0) setFallback(false);\n },\n inFallback,\n effects: [],\n resolved: false\n },\n owner = getOwner();\n if (sharedConfig.context && sharedConfig.load) {\n const key = sharedConfig.getContextId();\n let ref = sharedConfig.load(key);\n if (ref) {\n if (typeof ref !== \"object\" || ref.s !== 1) p = ref;else sharedConfig.gather(key);\n }\n if (p && p !== \"$$f\") {\n const [s, set] = createSignal(undefined, {\n equals: false\n });\n flicker = s;\n p.then(() => {\n if (sharedConfig.done) return set();\n sharedConfig.gather(key);\n setHydrateContext(ctx);\n set();\n setHydrateContext();\n }, err => {\n error = err;\n set();\n });\n }\n }\n const listContext = useContext(SuspenseListContext);\n if (listContext) show = listContext.register(store.inFallback);\n let dispose;\n onCleanup(() => dispose && dispose());\n return createComponent(SuspenseContext.Provider, {\n value: store,\n get children() {\n return createMemo(() => {\n if (error) throw error;\n ctx = sharedConfig.context;\n if (flicker) {\n flicker();\n return flicker = undefined;\n }\n if (ctx && p === \"$$f\") setHydrateContext();\n const rendered = createMemo(() => props.children);\n return createMemo(prev => {\n const inFallback = store.inFallback(),\n {\n showContent = true,\n showFallback = true\n } = show ? show() : {};\n if ((!inFallback || p && p !== \"$$f\") && showContent) {\n store.resolved = true;\n dispose && dispose();\n dispose = ctx = p = undefined;\n resumeEffects(store.effects);\n return rendered();\n }\n if (!showFallback) return;\n if (dispose) return prev;\n return createRoot(disposer => {\n dispose = disposer;\n if (ctx) {\n setHydrateContext({\n id: ctx.id + \"F\",\n count: 0\n });\n ctx = undefined;\n }\n return props.fallback;\n }, owner);\n });\n });\n }\n });\n}\n\nconst DEV = undefined;\n\nexport { $DEVCOMP, $PROXY, $TRACK, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, batch, cancelCallback, catchError, children, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createReaction, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableExternalSource, enableHydration, enableScheduling, equalFn, from, getListener, getOwner, indexArray, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, resetErrorBoundaries, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };\n", "import { createMemo, createRoot, createRenderEffect, untrack, sharedConfig, enableHydration, getOwner, createEffect, runWithOwner, createSignal, onCleanup, splitProps } from 'solid-js';\nexport { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, createRenderEffect as effect, getOwner, mergeProps, untrack } from 'solid-js';\n\nconst booleans = [\"allowfullscreen\", \"async\", \"alpha\",\n\"autofocus\",\n\"autoplay\", \"checked\", \"controls\", \"default\", \"disabled\", \"formnovalidate\", \"hidden\",\n\"indeterminate\", \"inert\",\n\"ismap\", \"loop\", \"multiple\", \"muted\", \"nomodule\", \"novalidate\", \"open\", \"playsinline\", \"readonly\", \"required\", \"reversed\", \"seamless\",\n\"selected\", \"adauctionheaders\",\n\"browsingtopics\",\n\"credentialless\",\n\"defaultchecked\", \"defaultmuted\", \"defaultselected\", \"defer\", \"disablepictureinpicture\", \"disableremoteplayback\", \"preservespitch\",\n\"shadowrootclonable\", \"shadowrootcustomelementregistry\",\n\"shadowrootdelegatesfocus\", \"shadowrootserializable\",\n\"sharedstoragewritable\"\n];\nconst Properties = /*#__PURE__*/new Set([\n\"className\", \"value\",\n\"readOnly\", \"noValidate\", \"formNoValidate\", \"isMap\", \"noModule\", \"playsInline\", \"adAuctionHeaders\",\n\"allowFullscreen\", \"browsingTopics\",\n\"defaultChecked\", \"defaultMuted\", \"defaultSelected\", \"disablePictureInPicture\", \"disableRemotePlayback\", \"preservesPitch\", \"shadowRootClonable\", \"shadowRootCustomElementRegistry\",\n\"shadowRootDelegatesFocus\", \"shadowRootSerializable\",\n\"sharedStorageWritable\",\n...booleans]);\nconst ChildProperties = /*#__PURE__*/new Set([\"innerHTML\", \"textContent\", \"innerText\", \"children\"]);\nconst Aliases = /*#__PURE__*/Object.assign(Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nconst PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {\n class: \"className\",\n novalidate: {\n $: \"noValidate\",\n FORM: 1\n },\n formnovalidate: {\n $: \"formNoValidate\",\n BUTTON: 1,\n INPUT: 1\n },\n ismap: {\n $: \"isMap\",\n IMG: 1\n },\n nomodule: {\n $: \"noModule\",\n SCRIPT: 1\n },\n playsinline: {\n $: \"playsInline\",\n VIDEO: 1\n },\n readonly: {\n $: \"readOnly\",\n INPUT: 1,\n TEXTAREA: 1\n },\n adauctionheaders: {\n $: \"adAuctionHeaders\",\n IFRAME: 1\n },\n allowfullscreen: {\n $: \"allowFullscreen\",\n IFRAME: 1\n },\n browsingtopics: {\n $: \"browsingTopics\",\n IMG: 1\n },\n defaultchecked: {\n $: \"defaultChecked\",\n INPUT: 1\n },\n defaultmuted: {\n $: \"defaultMuted\",\n AUDIO: 1,\n VIDEO: 1\n },\n defaultselected: {\n $: \"defaultSelected\",\n OPTION: 1\n },\n disablepictureinpicture: {\n $: \"disablePictureInPicture\",\n VIDEO: 1\n },\n disableremoteplayback: {\n $: \"disableRemotePlayback\",\n AUDIO: 1,\n VIDEO: 1\n },\n preservespitch: {\n $: \"preservesPitch\",\n AUDIO: 1,\n VIDEO: 1\n },\n shadowrootclonable: {\n $: \"shadowRootClonable\",\n TEMPLATE: 1\n },\n shadowrootdelegatesfocus: {\n $: \"shadowRootDelegatesFocus\",\n TEMPLATE: 1\n },\n shadowrootserializable: {\n $: \"shadowRootSerializable\",\n TEMPLATE: 1\n },\n sharedstoragewritable: {\n $: \"sharedStorageWritable\",\n IFRAME: 1,\n IMG: 1\n }\n});\nfunction getPropAlias(prop, tagName) {\n const a = PropAliases[prop];\n return typeof a === \"object\" ? a[tagName] ? a[\"$\"] : undefined : a;\n}\nconst DelegatedEvents = /*#__PURE__*/new Set([\"beforeinput\", \"click\", \"dblclick\", \"contextmenu\", \"focusin\", \"focusout\", \"input\", \"keydown\", \"keyup\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"pointerdown\", \"pointermove\", \"pointerout\", \"pointerover\", \"pointerup\", \"touchend\", \"touchmove\", \"touchstart\"]);\nconst SVGElements = /*#__PURE__*/new Set([\n\"altGlyph\", \"altGlyphDef\", \"altGlyphItem\", \"animate\", \"animateColor\", \"animateMotion\", \"animateTransform\", \"circle\", \"clipPath\", \"color-profile\", \"cursor\", \"defs\", \"desc\", \"ellipse\", \"feBlend\", \"feColorMatrix\", \"feComponentTransfer\", \"feComposite\", \"feConvolveMatrix\", \"feDiffuseLighting\", \"feDisplacementMap\", \"feDistantLight\", \"feDropShadow\", \"feFlood\", \"feFuncA\", \"feFuncB\", \"feFuncG\", \"feFuncR\", \"feGaussianBlur\", \"feImage\", \"feMerge\", \"feMergeNode\", \"feMorphology\", \"feOffset\", \"fePointLight\", \"feSpecularLighting\", \"feSpotLight\", \"feTile\", \"feTurbulence\", \"filter\", \"font\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"foreignObject\", \"g\", \"glyph\", \"glyphRef\", \"hkern\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"metadata\", \"missing-glyph\", \"mpath\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\",\n\"set\", \"stop\",\n\"svg\", \"switch\", \"symbol\", \"text\", \"textPath\",\n\"tref\", \"tspan\", \"use\", \"view\", \"vkern\"]);\nconst SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nconst DOMElements = /*#__PURE__*/new Set([\"html\", \"base\", \"head\", \"link\", \"meta\", \"style\", \"title\", \"body\", \"address\", \"article\", \"aside\", \"footer\", \"header\", \"main\", \"nav\", \"section\", \"body\", \"blockquote\", \"dd\", \"div\", \"dl\", \"dt\", \"figcaption\", \"figure\", \"hr\", \"li\", \"ol\", \"p\", \"pre\", \"ul\", \"a\", \"abbr\", \"b\", \"bdi\", \"bdo\", \"br\", \"cite\", \"code\", \"data\", \"dfn\", \"em\", \"i\", \"kbd\", \"mark\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"small\", \"span\", \"strong\", \"sub\", \"sup\", \"time\", \"u\", \"var\", \"wbr\", \"area\", \"audio\", \"img\", \"map\", \"track\", \"video\", \"embed\", \"iframe\", \"object\", \"param\", \"picture\", \"portal\", \"source\", \"svg\", \"math\", \"canvas\", \"noscript\", \"script\", \"del\", \"ins\", \"caption\", \"col\", \"colgroup\", \"table\", \"tbody\", \"td\", \"tfoot\", \"th\", \"thead\", \"tr\", \"button\", \"datalist\", \"fieldset\", \"form\", \"input\", \"label\", \"legend\", \"meter\", \"optgroup\", \"option\", \"output\", \"progress\", \"select\", \"textarea\", \"details\", \"dialog\", \"menu\", \"summary\", \"details\", \"slot\", \"template\", \"acronym\", \"applet\", \"basefont\", \"bgsound\", \"big\", \"blink\", \"center\", \"content\", \"dir\", \"font\", \"frame\", \"frameset\", \"hgroup\", \"image\", \"keygen\", \"marquee\", \"menuitem\", \"nobr\", \"noembed\", \"noframes\", \"plaintext\", \"rb\", \"rtc\", \"shadow\", \"spacer\", \"strike\", \"tt\", \"xmp\", \"a\", \"abbr\", \"acronym\", \"address\", \"applet\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"basefont\", \"bdi\", \"bdo\", \"bgsound\", \"big\", \"blink\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"center\", \"cite\", \"code\", \"col\", \"colgroup\", \"content\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"dir\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"font\", \"footer\", \"form\", \"frame\", \"frameset\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"image\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"nobr\", \"noembed\", \"noframes\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"plaintext\", \"portal\", \"pre\", \"progress\", \"q\", \"rb\", \"rp\", \"rt\", \"rtc\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"shadow\", \"slot\", \"small\", \"source\", \"spacer\", \"span\", \"strike\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"tt\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"xmp\", \"input\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\",\n\"webview\",\n\"isindex\", \"listing\", \"multicol\", \"nextid\", \"noindex\", \"search\"]);\n\nconst memo = fn => createMemo(() => fn());\n\nfunction reconcileArrays(parentNode, a, b) {\n let bLength = b.length,\n aEnd = a.length,\n bEnd = bLength,\n aStart = 0,\n bStart = 0,\n after = a[aEnd - 1].nextSibling,\n map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;\n while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) a[aStart].remove();\n aStart++;\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = a[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = new Map();\n let i = bStart;\n while (i < bEnd) map.set(b[i], i++);\n }\n const index = map.get(a[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart,\n sequence = 1,\n t;\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a[aStart];\n while (bStart < index) parentNode.insertBefore(b[bStart++], node);\n } else parentNode.replaceChild(b[bStart++], a[aStart++]);\n } else aStart++;\n } else a[aStart++].remove();\n }\n }\n}\n\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n let disposer;\n createRoot(dispose => {\n disposer = dispose;\n element === document ? code() : insert(element, code(), element.firstChild ? null : undefined, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template(html, isImportNode, isSVG, isMathML) {\n let node;\n const create = () => {\n const t = isMathML ? document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"template\") : document.createElement(\"template\");\n t.innerHTML = html;\n return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;\n };\n const fn = isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);\n fn.cloneNode = fn;\n return fn;\n}\nfunction delegateEvents(eventNames, document = window.document) {\n const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());\n for (let i = 0, l = eventNames.length; i < l; i++) {\n const name = eventNames[i];\n if (!e.has(name)) {\n e.add(name);\n document.addEventListener(name, eventHandler);\n }\n }\n}\nfunction clearDelegatedEvents(document = window.document) {\n if (document[$$EVENTS]) {\n for (let name of document[$$EVENTS].keys()) document.removeEventListener(name, eventHandler);\n delete document[$$EVENTS];\n }\n}\nfunction setProperty(node, name, value) {\n if (isHydrating(node)) return;\n node[name] = value;\n}\nfunction setAttribute(node, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);\n}\nfunction setBoolAttribute(node, name, value) {\n if (isHydrating(node)) return;\n value ? node.setAttribute(name, \"\") : node.removeAttribute(name);\n}\nfunction className(node, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(\"class\");else node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));\n } else node.addEventListener(name, handler, typeof handler !== \"function\" && handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}),\n prevKeys = Object.keys(prev);\n let i, len;\n for (i = 0, len = prevKeys.length; i < len; i++) {\n const key = prevKeys[i];\n if (!key || key === \"undefined\" || value[key]) continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i = 0, len = classKeys.length; i < len; i++) {\n const key = classKeys[i],\n classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue) continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value) return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\") return nodeStyle.cssText = value;\n typeof prev === \"string\" && (nodeStyle.cssText = prev = undefined);\n prev || (prev = {});\n value || (value = {});\n let v, s;\n for (s in prev) {\n value[s] == null && nodeStyle.removeProperty(s);\n delete prev[s];\n }\n for (s in value) {\n v = value[s];\n if (v !== prev[s]) {\n nodeStyle.setProperty(s, v);\n prev[s] = v;\n }\n }\n return prev;\n}\nfunction setStyleProperty(node, name, value) {\n value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n }\n createRenderEffect(() => typeof props.ref === \"function\" && use(props.ref, node));\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction dynamicProperty(props, key) {\n const src = props[key];\n Object.defineProperty(props, key, {\n get() {\n return src();\n },\n enumerable: true\n });\n return props;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== undefined && !initial) initial = [];\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\") continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef, props);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n if (!skipChildren) insertExpression(node, props.children);\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef, props);\n }\n}\nfunction hydrate$1(code, element, options = {}) {\n if (globalThis._$HY.done) return render(code, element, [...element.childNodes], options);\n sharedConfig.completed = globalThis._$HY.completed;\n sharedConfig.events = globalThis._$HY.events;\n sharedConfig.load = id => globalThis._$HY.r[id];\n sharedConfig.has = id => id in globalThis._$HY.r;\n sharedConfig.gather = root => gatherHydratable(element, root);\n sharedConfig.registry = new Map();\n sharedConfig.context = {\n id: options.renderId || \"\",\n count: 0\n };\n try {\n gatherHydratable(element, options.renderId);\n return render(code, element, [...element.childNodes], options);\n } finally {\n sharedConfig.context = null;\n }\n}\nfunction getNextElement(template) {\n let node,\n key,\n hydrating = isHydrating();\n if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {\n return template();\n }\n if (sharedConfig.completed) sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction getNextMatch(el, nodeName) {\n while (el && el.localName !== nodeName) el = el.nextSibling;\n return el;\n}\nfunction getNextMarker(start) {\n let end = start,\n count = 0,\n current = [];\n if (isHydrating(start)) {\n while (end) {\n if (end.nodeType === 8) {\n const v = end.nodeValue;\n if (v === \"$\") count++;else if (v === \"/\") {\n if (count === 0) return [end, current];\n count--;\n }\n }\n current.push(end);\n end = end.nextSibling;\n }\n }\n return [end, current];\n}\nfunction runHydrationEvents() {\n if (sharedConfig.events && !sharedConfig.events.queued) {\n queueMicrotask(() => {\n const {\n completed,\n events\n } = sharedConfig;\n if (!events) return;\n events.queued = false;\n while (events.length) {\n const [el, e] = events[0];\n if (!completed.has(el)) return;\n events.shift();\n eventHandler(e);\n }\n if (sharedConfig.done) {\n sharedConfig.events = _$HY.events = null;\n sharedConfig.completed = _$HY.completed = null;\n }\n });\n sharedConfig.events.queued = true;\n }\n}\nfunction isHydrating(node) {\n return !!sharedConfig.context && !sharedConfig.done && (!node || node.isConnected);\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef, props) {\n let isCE, isProp, isChildProp, propAlias, forceProp;\n if (prop === \"style\") return style(node, value, prev);\n if (prop === \"classList\") return classList(node, value, prev);\n if (value === prev) return prev;\n if (prop === \"ref\") {\n if (!skipRef) value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e = prop.slice(3);\n prev && node.removeEventListener(e, prev, typeof prev !== \"function\" && prev);\n value && node.addEventListener(e, value, typeof value !== \"function\" && value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e = prop.slice(10);\n prev && node.removeEventListener(e, prev, true);\n value && node.addEventListener(e, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if (prop.slice(0, 5) === \"attr:\") {\n setAttribute(node, prop.slice(5), value);\n } else if (prop.slice(0, 5) === \"bool:\") {\n setBoolAttribute(node, prop.slice(5), value);\n } else if ((forceProp = prop.slice(0, 5) === \"prop:\") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes(\"-\") || \"is\" in props)) {\n if (forceProp) {\n prop = prop.slice(5);\n isProp = true;\n } else if (isHydrating(node)) return value;\n if (prop === \"class\" || prop === \"className\") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[propAlias || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e) {\n if (sharedConfig.registry && sharedConfig.events) {\n if (sharedConfig.events.find(([el, ev]) => ev === e)) return;\n }\n let node = e.target;\n const key = `$$${e.type}`;\n const oriTarget = e.target;\n const oriCurrentTarget = e.currentTarget;\n const retarget = value => Object.defineProperty(e, \"target\", {\n configurable: true,\n value\n });\n const handleNode = () => {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== undefined ? handler.call(node, data, e) : handler.call(node, e);\n if (e.cancelBubble) return;\n }\n node.host && typeof node.host !== \"string\" && !node.host._$host && node.contains(e.target) && retarget(node.host);\n return true;\n };\n const walkUpTree = () => {\n while (handleNode() && (node = node._$host || node.parentNode || node.host));\n };\n Object.defineProperty(e, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;\n if (e.composedPath) {\n const path = e.composedPath();\n retarget(path[0]);\n for (let i = 0; i < path.length - 2; i++) {\n node = path[i];\n if (!handleNode()) break;\n if (node._$host) {\n node = node._$host;\n walkUpTree();\n break;\n }\n if (node.parentNode === oriCurrentTarget) {\n break;\n }\n }\n }\n else walkUpTree();\n retarget(oriTarget);\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n const hydrating = isHydrating(parent);\n if (hydrating) {\n !current && (current = [...parent.childNodes]);\n let cleaned = [];\n for (let i = 0; i < current.length; i++) {\n const node = current[i];\n if (node.nodeType === 8 && node.data.slice(0, 2) === \"!$\") node.remove();else cleaned.push(node);\n }\n current = cleaned;\n }\n while (typeof current === \"function\") current = current();\n if (value === current) return current;\n const t = typeof value,\n multi = marker !== undefined;\n parent = multi && current[0] && current[0].parentNode || parent;\n if (t === \"string\" || t === \"number\") {\n if (hydrating) return current;\n if (t === \"number\") {\n value = value.toString();\n if (value === current) return current;\n }\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data !== value && (node.data = value);\n } else node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else current = parent.textContent = value;\n }\n } else if (value == null || t === \"boolean\") {\n if (hydrating) return current;\n current = cleanChildren(parent, current, marker);\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\") v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n return () => current;\n }\n if (hydrating) {\n if (!array.length) return current;\n if (marker === undefined) return current = [...parent.childNodes];\n let node = array[0];\n if (node.parentNode !== parent) return current;\n const nodes = [node];\n while ((node = node.nextSibling) !== marker) nodes.push(node);\n return current = nodes;\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi) return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value.nodeType) {\n if (hydrating && value.parentNode) return current = multi ? [value] : value;\n if (Array.isArray(current)) {\n if (multi) return current = cleanChildren(parent, current, marker, value);\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else parent.replaceChild(value, parent.firstChild);\n current = value;\n } else ;\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap) {\n let dynamic = false;\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i],\n prev = current && current[normalized.length],\n t;\n if (item == null || item === true || item === false) ; else if ((t = typeof item) === \"object\" && item.nodeType) {\n normalized.push(item);\n } else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item();\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === undefined) return parent.textContent = \"\";\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && el.remove();\n } else inserted = true;\n }\n } else parent.insertBefore(node, marker);\n return [node];\n}\nfunction gatherHydratable(element, root) {\n const templates = element.querySelectorAll(`*[data-hk]`);\n for (let i = 0; i < templates.length; i++) {\n const node = templates[i];\n const key = node.getAttribute(\"data-hk\");\n if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key)) sharedConfig.registry.set(key, node);\n }\n}\nfunction getHydrationKey() {\n return sharedConfig.getNextContextId();\n}\nfunction NoHydration(props) {\n return sharedConfig.context ? undefined : props.children;\n}\nfunction Hydration(props) {\n return props.children;\n}\nconst voidFn = () => undefined;\nconst RequestContext = Symbol();\nfunction innerHTML(parent, content) {\n !sharedConfig.context && (parent.innerHTML = content);\n}\n\nfunction throwInBrowser(func) {\n const err = new Error(`${func.name} is not supported in the browser, returning undefined`);\n console.error(err);\n}\nfunction renderToString(fn, options) {\n throwInBrowser(renderToString);\n}\nfunction renderToStringAsync(fn, options) {\n throwInBrowser(renderToStringAsync);\n}\nfunction renderToStream(fn, options) {\n throwInBrowser(renderToStream);\n}\nfunction ssr(template, ...nodes) {}\nfunction ssrElement(name, props, children, needsId) {}\nfunction ssrClassList(value) {}\nfunction ssrStyle(value) {}\nfunction ssrAttribute(key, value) {}\nfunction ssrHydrationKey() {}\nfunction resolveSSRNode(node) {}\nfunction escape(html) {}\nfunction ssrSpread(props, isSVG, skipChildren) {}\n\nconst isServer = false;\nconst isDev = false;\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false, is = undefined) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {\n is\n });\n}\nconst hydrate = (...args) => {\n enableHydration();\n return hydrate$1(...args);\n};\nfunction Portal(props) {\n const {\n useShadow\n } = props,\n marker = document.createTextNode(\"\"),\n mount = () => props.mount || document.body,\n owner = getOwner();\n let content;\n let hydrating = !!sharedConfig.context;\n createEffect(() => {\n if (hydrating) getOwner().user = hydrating = false;\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n if (el instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot(dispose => insert(el, () => !clean() ? content() : dispose(), null));\n onCleanup(cleanup);\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG),\n renderRoot = useShadow && container.attachShadow ? container.attachShadow({\n mode: \"open\"\n }) : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => el.removeChild(container));\n }\n }, undefined, {\n render: !hydrating\n });\n return marker;\n}\nfunction createDynamic(component, props) {\n const cached = createMemo(component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n return untrack(() => component(props));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg, untrack(() => props.is));\n spread(el, props, isSvg);\n return el;\n }\n });\n}\nfunction Dynamic(props) {\n const [, others] = splitProps(props, [\"component\"]);\n return createDynamic(() => props.component, others);\n}\n\nexport { Aliases, voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, createDynamic, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, innerHTML, insert, isDev, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setBoolAttribute, setProperty, setStyleProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, style, template, use, voidFn as useAssets };\n", "// cabbages.ts\nimport debug from \"debug\";\nvar log = debug(\"cabbages\");\nfunction pojo(target) {\n return typeof target == \"object\" && typeof target != null && Object.getPrototypeOf(target) == Object.prototype;\n}\nvar BLOCK_MARKER = \"\\uFFFC\";\nfunction apply(target, ...rest) {\n if (rest.length == 0) {\n log(\"empty patch\");\n return;\n }\n const [path, range, val] = rest;\n let p = [...path];\n while (true) {\n let key = p.shift();\n if (!p.length) {\n const RANGE_ARRAY = Array.isArray(range);\n if (pojo(target) && RANGE_ARRAY && typeof key == \"undefined\" && typeof range[0] == \"string\") {\n delete target[range[0]];\n return;\n }\n if (RANGE_ARRAY || typeof range == \"number\") {\n if (typeof key == \"undefined\") {\n throw new Error(\"cant treat top level as a seq\");\n }\n key = key;\n let [start, end] = Array.isArray(range) ? range : [range, range + 1];\n const ZERO_LENGTH = Array.isArray(range) && range.length == 0;\n if (!ZERO_LENGTH && (start == null || end == null)) {\n throw new RangeError(\"it's all or nothing, no half measures\");\n }\n const DELETE = typeof val == \"undefined\";\n const INSERT = start === end && !DELETE;\n const APPEND = ZERO_LENGTH && !DELETE;\n const REPLACE = !INSERT && !DELETE && !APPEND;\n if (typeof target[key] == \"undefined\") {\n if (typeof target == \"string\") {\n return;\n } else if (typeof val == \"string\") {\n target[key] = \"\";\n } else {\n target[key] = [];\n }\n }\n let seq = target[key];\n if (Array.isArray(seq)) {\n if (APPEND) {\n Array.isArray(val) ? seq.push(...val) : seq.push(val);\n return;\n }\n if (INSERT || REPLACE) {\n Array.isArray(val) ? seq.splice(start, end - start, ...val) : seq.splice(start, end - start, val);\n return;\n }\n if (DELETE) {\n seq.splice(start, end - start);\n return;\n }\n throw new Error(\"i don't know what happened\");\n }\n if (typeof seq == \"string\") {\n if (APPEND) {\n target[key] = seq + val;\n return;\n }\n if (REPLACE || INSERT) {\n target[key] = seq.slice(0, start) + (typeof val == \"string\" ? val : val.map(\n (n) => typeof n == \"string\" ? n : BLOCK_MARKER\n ).join(\"\")) + seq.slice(end);\n return;\n }\n if (DELETE) {\n target[key] = seq.slice(0, start) + seq.slice(end);\n return;\n }\n throw new Error(\"i don't know what happened\");\n }\n if (pojo(seq) && RANGE_ARRAY && typeof range[0] == \"string\") {\n delete seq[range[0]];\n return;\n }\n throw new Error(\"not implemented\");\n }\n if (typeof key == \"undefined\") {\n if (typeof range != \"string\") {\n throw new Error(`can't index top-level map with ${range}`);\n }\n if (typeof val == \"undefined\") {\n delete target[range];\n } else {\n target[range] = val;\n }\n return;\n }\n if (typeof target[key] == \"undefined\") {\n target[key] = {};\n }\n if (RANGE_ARRAY) {\n let [a, b] = range;\n if (a != null && b != null) {\n if (typeof val == \"undefined\" && a != null && b != null) {\n delete target[key][a || b];\n } else {\n target[key][a || b] = val;\n }\n }\n } else {\n if (typeof val == \"undefined\") {\n delete target[key][range];\n } else if (typeof target[key] == \"string\") {\n return;\n } else {\n target[key][range] = val;\n }\n }\n return;\n }\n if (typeof key == \"undefined\") {\n throw new Error(\"cant treat top level as a seq\");\n }\n key = key;\n let nextkey = p[0];\n if (typeof target[key] == \"undefined\") {\n if (typeof nextkey == \"string\") {\n target[key] = {};\n } else if (typeof nextkey == \"number\") {\n target[key] = [];\n } else {\n throw new Error(`can't go down this road ${target}.${key}.${nextkey}`);\n }\n }\n target = target[key];\n }\n}\nvar patch = apply;\nfunction get(obj, key) {\n for (let p = 0; p < key.length; p++) {\n obj = obj ? obj[key[p]] : void 0;\n }\n return obj;\n}\nfunction fromAutomerge(autopatch, payload) {\n const path = autopatch.path.slice(0, -1);\n const key = autopatch.path[autopatch.path.length - 1];\n switch (autopatch.action) {\n case \"mark\":\n case \"unmark\":\n log(\n `skipping ${autopatch.action} because it doesn't affect material reality`\n );\n return [];\n case \"inc\":\n if (payload) {\n return [path, key, get(payload.patchInfo.after, autopatch.path)];\n } else {\n throw new Error(\n `can't apply ${autopatch.action} without payload argument`\n );\n }\n case \"conflict\":\n if (payload) {\n return [path, key, get(payload.patchInfo.after, autopatch.path)];\n } else {\n throw new Error(\n `can't apply ${autopatch.action} without payload argument`\n );\n }\n case \"del\": {\n return typeof key == \"string\" ? [path, key] : [path, [key, key + (autopatch.length || 1)]];\n }\n case \"insert\": {\n return [\n path,\n [key, key],\n structuredClone(autopatch.values)\n ];\n }\n case \"splice\": {\n return [path, [key, key], [autopatch.value]];\n }\n case \"put\": {\n return [path, key, structuredClone(autopatch.value)];\n }\n }\n}\nexport {\n apply,\n fromAutomerge,\n patch,\n pojo\n};\n", "import type {DocHandleChangePayload} from \"@automerge/automerge-repo/slim\"\nimport {apply, fromAutomerge} from \"cabbages\"\n\n/**\n * convert automerge patches to solid producer operations\n * @param payload the\n * [DocHandleChangePayload](https://automerge.org/automerge-repo/interfaces/_automerge_automerge_repo.DocHandleChangePayload.html)\n * from the handle.on(\"change\n * @returns a callback for an immer-like function. e.g.\n * [produce](https://docs.solidjs.com/reference/store-utilities/produce) for\n * [Solid\n * Stores](https://docs.solidjs.com/reference/store-utilities/create-store)\n */\nexport default function autoproduce<T>(\n\tpayload: DocHandleChangePayload<T>\n): (doc: T) => void {\n\treturn (doc: T) => {\n\t\tfor (let patch of payload.patches) {\n\t\t\tapply(doc, ...fromAutomerge(patch, payload))\n\t\t}\n\t}\n}\n", "import { $PROXY, $TRACK, getListener, batch, createSignal } from 'solid-js';\n\nconst $RAW = Symbol(\"store-raw\"),\n $NODE = Symbol(\"store-node\"),\n $HAS = Symbol(\"store-has\"),\n $SELF = Symbol(\"store-self\");\nfunction wrap$1(value) {\n let p = value[$PROXY];\n if (!p) {\n Object.defineProperty(value, $PROXY, {\n value: p = new Proxy(value, proxyTraps$1)\n });\n if (!Array.isArray(value)) {\n const keys = Object.keys(value),\n desc = Object.getOwnPropertyDescriptors(value);\n for (let i = 0, l = keys.length; i < l; i++) {\n const prop = keys[i];\n if (desc[prop].get) {\n Object.defineProperty(value, prop, {\n enumerable: desc[prop].enumerable,\n get: desc[prop].get.bind(p)\n });\n }\n }\n }\n }\n return p;\n}\nfunction isWrappable(obj) {\n let proto;\n return obj != null && typeof obj === \"object\" && (obj[$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));\n}\nfunction unwrap(item, set = new Set()) {\n let result, unwrapped, v, prop;\n if (result = item != null && item[$RAW]) return result;\n if (!isWrappable(item) || set.has(item)) return item;\n if (Array.isArray(item)) {\n if (Object.isFrozen(item)) item = item.slice(0);else set.add(item);\n for (let i = 0, l = item.length; i < l; i++) {\n v = item[i];\n if ((unwrapped = unwrap(v, set)) !== v) item[i] = unwrapped;\n }\n } else {\n if (Object.isFrozen(item)) item = Object.assign({}, item);else set.add(item);\n const keys = Object.keys(item),\n desc = Object.getOwnPropertyDescriptors(item);\n for (let i = 0, l = keys.length; i < l; i++) {\n prop = keys[i];\n if (desc[prop].get) continue;\n v = item[prop];\n if ((unwrapped = unwrap(v, set)) !== v) item[prop] = unwrapped;\n }\n }\n return item;\n}\nfunction getNodes(target, symbol) {\n let nodes = target[symbol];\n if (!nodes) Object.defineProperty(target, symbol, {\n value: nodes = Object.create(null)\n });\n return nodes;\n}\nfunction getNode(nodes, property, value) {\n if (nodes[property]) return nodes[property];\n const [s, set] = createSignal(value, {\n equals: false,\n internal: true\n });\n s.$ = set;\n return nodes[property] = s;\n}\nfunction proxyDescriptor$1(target, property) {\n const desc = Reflect.getOwnPropertyDescriptor(target, property);\n if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE) return desc;\n delete desc.value;\n delete desc.writable;\n desc.get = () => target[$PROXY][property];\n return desc;\n}\nfunction trackSelf(target) {\n getListener() && getNode(getNodes(target, $NODE), $SELF)();\n}\nfunction ownKeys(target) {\n trackSelf(target);\n return Reflect.ownKeys(target);\n}\nconst proxyTraps$1 = {\n get(target, property, receiver) {\n if (property === $RAW) return target;\n if (property === $PROXY) return receiver;\n if (property === $TRACK) {\n trackSelf(target);\n return receiver;\n }\n const nodes = getNodes(target, $NODE);\n const tracked = nodes[property];\n let value = tracked ? tracked() : target[property];\n if (property === $NODE || property === $HAS || property === \"__proto__\") return value;\n if (!tracked) {\n const desc = Object.getOwnPropertyDescriptor(target, property);\n if (getListener() && (typeof value !== \"function\" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();\n }\n return isWrappable(value) ? wrap$1(value) : value;\n },\n has(target, property) {\n if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === \"__proto__\") return true;\n getListener() && getNode(getNodes(target, $HAS), property)();\n return property in target;\n },\n set() {\n return true;\n },\n deleteProperty() {\n return true;\n },\n ownKeys: ownKeys,\n getOwnPropertyDescriptor: proxyDescriptor$1\n};\nfunction setProperty(state, property, value, deleting = false) {\n if (!deleting && state[property] === value) return;\n const prev = state[property],\n len = state.length;\n if (value === undefined) {\n delete state[property];\n if (state[$HAS] && state[$HAS][property] && prev !== undefined) state[$HAS][property].$();\n } else {\n state[property] = value;\n if (state[$HAS] && state[$HAS][property] && prev === undefined) state[$HAS][property].$();\n }\n let nodes = getNodes(state, $NODE),\n node;\n if (node = getNode(nodes, property, prev)) node.$(() => value);\n if (Array.isArray(state) && state.length !== len) {\n for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();\n (node = getNode(nodes, \"length\", len)) && node.$(state.length);\n }\n (node = nodes[$SELF]) && node.$();\n}\nfunction mergeStoreNode(state, value) {\n const keys = Object.keys(value);\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i];\n setProperty(state, key, value[key]);\n }\n}\nfunction updateArray(current, next) {\n if (typeof next === \"function\") next = next(current);\n next = unwrap(next);\n if (Array.isArray(next)) {\n if (current === next) return;\n let i = 0,\n len = next.length;\n for (; i < len; i++) {\n const value = next[i];\n if (current[i] !== value) setProperty(current, i, value);\n }\n setProperty(current, \"length\", len);\n } else mergeStoreNode(current, next);\n}\nfunction updatePath(current, path, traversed = []) {\n let part,\n prev = current;\n if (path.length > 1) {\n part = path.shift();\n const partType = typeof part,\n isArray = Array.isArray(current);\n if (Array.isArray(part)) {\n for (let i = 0; i < part.length; i++) {\n updatePath(current, [part[i]].concat(path), traversed);\n }\n return;\n } else if (isArray && partType === \"function\") {\n for (let i = 0; i < current.length; i++) {\n if (part(current[i], i)) updatePath(current, [i].concat(path), traversed);\n }\n return;\n } else if (isArray && partType === \"object\") {\n const {\n from = 0,\n to = current.length - 1,\n by = 1\n } = part;\n for (let i = from; i <= to; i += by) {\n updatePath(current, [i].concat(path), traversed);\n }\n return;\n } else if (path.length > 1) {\n updatePath(current[part], path, [part].concat(traversed));\n return;\n }\n prev = current[part];\n traversed = [part].concat(traversed);\n }\n let value = path[0];\n if (typeof value === \"function\") {\n value = value(prev, traversed);\n if (value === prev) return;\n }\n if (part === undefined && value == undefined) return;\n value = unwrap(value);\n if (part === undefined || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {\n mergeStoreNode(prev, value);\n } else setProperty(current, part, value);\n}\nfunction createStore(...[store, options]) {\n const unwrappedStore = unwrap(store || {});\n const isArray = Array.isArray(unwrappedStore);\n const wrappedStore = wrap$1(unwrappedStore);\n function setStore(...args) {\n batch(() => {\n isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);\n });\n }\n return [wrappedStore, setStore];\n}\n\nfunction proxyDescriptor(target, property) {\n const desc = Reflect.getOwnPropertyDescriptor(target, property);\n if (!desc || desc.get || desc.set || !desc.configurable || property === $PROXY || property === $NODE) return desc;\n delete desc.value;\n delete desc.writable;\n desc.get = () => target[$PROXY][property];\n desc.set = v => target[$PROXY][property] = v;\n return desc;\n}\nconst proxyTraps = {\n get(target, property, receiver) {\n if (property === $RAW) return target;\n if (property === $PROXY) return receiver;\n if (property === $TRACK) {\n trackSelf(target);\n return receiver;\n }\n const nodes = getNodes(target, $NODE);\n const tracked = nodes[property];\n let value = tracked ? tracked() : target[property];\n if (property === $NODE || property === $HAS || property === \"__proto__\") return value;\n if (!tracked) {\n const desc = Object.getOwnPropertyDescriptor(target, property);\n const isFunction = typeof value === \"function\";\n if (getListener() && (!isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {\n return (...args) => batch(() => Array.prototype[property].apply(receiver, args));\n }\n }\n return isWrappable(value) ? wrap(value) : value;\n },\n has(target, property) {\n if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === \"__proto__\") return true;\n getListener() && getNode(getNodes(target, $HAS), property)();\n return property in target;\n },\n set(target, property, value) {\n batch(() => setProperty(target, property, unwrap(value)));\n return true;\n },\n deleteProperty(target, property) {\n batch(() => setProperty(target, property, undefined, true));\n return true;\n },\n ownKeys: ownKeys,\n getOwnPropertyDescriptor: proxyDescriptor\n};\nfunction wrap(value) {\n let p = value[$PROXY];\n if (!p) {\n Object.defineProperty(value, $PROXY, {\n value: p = new Proxy(value, proxyTraps)\n });\n const keys = Object.keys(value),\n desc = Object.getOwnPropertyDescriptors(value);\n const proto = Object.getPrototypeOf(value);\n const isClass = proto !== null && value !== null && typeof value === \"object\" && !Array.isArray(value) && proto !== Object.prototype;\n if (isClass) {\n let curProto = proto;\n while (curProto != null) {\n const descriptors = Object.getOwnPropertyDescriptors(curProto);\n keys.push(...Object.keys(descriptors));\n Object.assign(desc, descriptors);\n curProto = Object.getPrototypeOf(curProto);\n }\n }\n for (let i = 0, l = keys.length; i < l; i++) {\n const prop = keys[i];\n if (isClass && prop === \"constructor\") continue;\n if (desc[prop].get) {\n const get = desc[prop].get.bind(p);\n Object.defineProperty(value, prop, {\n get,\n configurable: true\n });\n }\n if (desc[prop].set) {\n const og = desc[prop].set,\n set = v => batch(() => og.call(p, v));\n Object.defineProperty(value, prop, {\n set,\n configurable: true\n });\n }\n }\n }\n return p;\n}\nfunction createMutable(state, options) {\n const unwrappedStore = unwrap(state || {});\n const wrappedStore = wrap(unwrappedStore);\n return wrappedStore;\n}\nfunction modifyMutable(state, modifier) {\n batch(() => modifier(unwrap(state)));\n}\n\nconst $ROOT = Symbol(\"store-root\");\nfunction applyState(target, parent, property, merge, key) {\n const previous = parent[property];\n if (target === previous) return;\n const isArray = Array.isArray(target);\n if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || isArray !== Array.isArray(previous) || key && target[key] !== previous[key])) {\n setProperty(parent, property, target);\n return;\n }\n if (isArray) {\n if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {\n let i, j, start, end, newEnd, item, newIndicesNext, keyVal;\n for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] && previous[start][key] === target[start][key]); start++) {\n applyState(target[start], previous, start, merge, key);\n }\n const temp = new Array(target.length),\n newIndices = new Map();\n for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[end] && target[newEnd] && previous[end][key] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {\n temp[newEnd] = previous[end];\n }\n if (start > newEnd || start > end) {\n for (j = start; j <= newEnd; j++) setProperty(previous, j, target[j]);\n for (; j < target.length; j++) {\n setProperty(previous, j, temp[j]);\n applyState(target[j], previous, j, merge, key);\n }\n if (previous.length > target.length) setProperty(previous, \"length\", target.length);\n return;\n }\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = target[j];\n keyVal = key && item ? item[key] : item;\n i = newIndices.get(keyVal);\n newIndicesNext[j] = i === undefined ? -1 : i;\n newIndices.set(keyVal, j);\n }\n for (i = start; i <= end; i++) {\n item = previous[i];\n keyVal = key && item ? item[key] : item;\n j = newIndices.get(keyVal);\n if (j !== undefined && j !== -1) {\n temp[j] = previous[i];\n j = newIndicesNext[j];\n newIndices.set(keyVal, j);\n }\n }\n for (j = start; j < target.length; j++) {\n if (j in temp) {\n setProperty(previous, j, temp[j]);\n applyState(target[j], previous, j, merge, key);\n } else setProperty(previous, j, target[j]);\n }\n } else {\n for (let i = 0, len = target.length; i < len; i++) {\n applyState(target[i], previous, i, merge, key);\n }\n }\n if (previous.length > target.length) setProperty(previous, \"length\", target.length);\n return;\n }\n const targetKeys = Object.keys(target);\n for (let i = 0, len = targetKeys.length; i < len; i++) {\n applyState(target[targetKeys[i]], previous, targetKeys[i], merge, key);\n }\n const previousKeys = Object.keys(previous);\n for (let i = 0, len = previousKeys.length; i < len; i++) {\n if (target[previousKeys[i]] === undefined) setProperty(previous, previousKeys[i], undefined);\n }\n}\nfunction reconcile(value, options = {}) {\n const {\n merge,\n key = \"id\"\n } = options,\n v = unwrap(value);\n return state => {\n if (!isWrappable(state) || !isWrappable(v)) return v;\n const res = applyState(v, {\n [$ROOT]: state\n }, $ROOT, merge, key);\n return res === undefined ? state : res;\n };\n}\nconst producers = new WeakMap();\nconst setterTraps = {\n get(target, property) {\n if (property === $RAW) return target;\n const value = target[property];\n let proxy;\n return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;\n },\n set(target, property, value) {\n setProperty(target, property, unwrap(value));\n return true;\n },\n deleteProperty(target, property) {\n setProperty(target, property, undefined, true);\n return true;\n }\n};\nfunction produce(fn) {\n return state => {\n if (isWrappable(state)) {\n let proxy;\n if (!(proxy = producers.get(state))) {\n producers.set(state, proxy = new Proxy(state, setterTraps));\n }\n fn(proxy);\n }\n return state;\n };\n}\n\nconst DEV = undefined;\n\nexport { $RAW, DEV, createMutable, createStore, modifyMutable, produce, reconcile, unwrap };\n", "import {onCleanup} from \"solid-js\"\nimport type {\n\tDoc,\n\tDocHandle,\n\tDocHandleChangePayload,\n} from \"@automerge/automerge-repo/slim\"\nimport autoproduce from \"./autoproduce.ts\"\nimport {createStore, produce, reconcile, type Store} from \"solid-js/store\"\n\nconst cache = new WeakMap<\n\tDocHandle<unknown>,\n\t{\n\t\trefs: number\n\t\tstore: Store<Doc<unknown>>\n\t\tcleanup(): void\n\t}\n>()\n\n/**\n * make a fine-grained live view of a document from its handle.\n * @param handle an Automerge\n * [DocHandle](https://automerge.org/automerge-repo/classes/_automerge_automerge_repo.DocHandle.html)\n */\nexport default function makeDocumentProjection<T extends object>(\n\thandle: DocHandle<T>\n): Doc<T> {\n\tonCleanup(() => {\n\t\tconst item = cache.get(handle)!\n\t\tif (!item) return\n\t\tif (!item.refs--) {\n\t\t\titem.cleanup()\n\t\t}\n\t})\n\n\tif (cache.has(handle)) {\n\t\tconst item = cache.get(handle)!\n\t\titem.refs++\n\t\treturn item.store as Doc<T>\n\t}\n\n\tconst [doc, set] = createStore<Doc<T>>(handle.doc()!)\n\n\tcache.set(handle, {\n\t\trefs: 0,\n\t\tstore: doc,\n\t\tcleanup() {\n\t\t\thandle.off(\"change\", patch)\n\t\t\thandle.off(\"delete\", ondelete)\n\t\t\tcache.delete(handle)\n\t\t},\n\t})\n\n\tfunction patch(payload: DocHandleChangePayload<T>) {\n\t\t// `scopeReplaced` means the change landed at or above this (sub-)handle's\n\t\t// scope boundary, so it can't be expressed as in-scope patches. The\n\t\t// payload still carries `doc` \u2014 the new value at the handle's path (the\n\t\t// part of the store this scope points at) \u2014 so we reconcile against that\n\t\t// instead of applying patches. `reconcile` structurally diffs it against\n\t\t// the current store, so unchanged subtrees keep their identity and only\n\t\t// the parts that actually changed notify. `doc` is undefined when the\n\t\t// scope was removed entirely.\n\t\tif (payload.scopeReplaced) {\n\t\t\tset(reconcile((payload.doc ?? {}) as Doc<T>))\n\t\t\treturn\n\t\t}\n\t\tset(produce(autoproduce(payload)))\n\t}\n\n\tfunction ondelete() {\n\t\tset(reconcile({} as Doc<T>))\n\t}\n\n\thandle.on(\"change\", patch)\n\thandle.on(\"delete\", ondelete)\n\n\thandle.whenReady().then(() => {\n\t\tset(handle.doc()!)\n\t})\n\n\treturn doc\n}\n", "import { getOwner, onCleanup, createSignal, untrack, sharedConfig, onMount, DEV, equalFn, } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nexport * from \"./types.js\";\n//\n// GENERAL HELPERS:\n//\nexport { isServer };\nexport const isClient = !isServer;\nexport const isDev = isClient && !!DEV;\nexport const isProd = !isDev;\n/** no operation */\nexport const noop = (() => void 0);\nexport const trueFn = () => true;\nexport const falseFn = () => false;\n/** @deprecated use {@link equalFn} from \"solid-js\" */\nexport const defaultEquals = equalFn;\nexport const EQUALS_FALSE_OPTIONS = { equals: false };\nexport const INTERNAL_OPTIONS = { internal: true };\n/**\n * Check if the value is an instance of ___\n */\nexport const ofClass = (v, c) => v instanceof c || (v && v.constructor === c);\n/** Check if value is typeof \"object\" or \"function\" */\nexport function isObject(value) {\n return value !== null && (typeof value === \"object\" || typeof value === \"function\");\n}\nexport const isNonNullable = (i) => i != null;\nexport const filterNonNullable = (arr) => arr.filter(isNonNullable);\nexport const compare = (a, b) => (a < b ? -1 : a > b ? 1 : 0);\n/**\n * Check shallow array equality\n */\nexport const arrayEquals = (a, b) => a === b || (a.length === b.length && a.every((e, i) => e === b[i]));\n/**\n * Returns a function that will call all functions in the order they were chained with the same arguments.\n */\nexport function chain(callbacks) {\n return (...args) => {\n for (const callback of callbacks)\n callback && callback(...args);\n };\n}\n/**\n * Returns a function that will call all functions in the reversed order with the same arguments.\n */\nexport function reverseChain(callbacks) {\n return (...args) => {\n for (let i = callbacks.length - 1; i >= 0; i--) {\n const callback = callbacks[i];\n callback && callback(...args);\n }\n };\n}\nexport const clamp = (n, min, max) => Math.min(Math.max(n, min), max);\n/**\n * Accesses the value of a MaybeAccessor\n * @example\n * ```ts\n * access(\"foo\") // => \"foo\"\n * access(() => \"foo\") // => \"foo\"\n * ```\n */\nexport const access = (v) => typeof v === \"function\" && !v.length ? v() : v;\nexport const asArray = (value) => Array.isArray(value) ? value : value ? [value] : [];\n/**\n * Access an array of MaybeAccessors\n * @example\n * const list = [1, 2, () => 3)] // T: MaybeAccessor<number>[]\n * const newList = accessArray(list) // T: number[]\n */\nexport const accessArray = (list) => list.map(v => access(v));\n/**\n * Run the function if the accessed value is not `undefined` nor `null`\n * @param value\n * @param fn\n */\nexport const withAccess = (value, fn) => {\n const _value = access(value);\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n typeof _value != null && fn(_value);\n};\nexport const asAccessor = (v) => (typeof v === \"function\" ? v : () => v);\n/** If value is a function \u2013 call it with a given arguments \u2013 otherwise get the value as is */\nexport function accessWith(valueOrFn, ...args) {\n return typeof valueOrFn === \"function\" ? valueOrFn(...args) : valueOrFn;\n}\nexport function defer(deps, fn, initialValue) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let shouldDefer = true;\n return prevValue => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i = 0; i < deps.length; i++)\n input[i] = deps[i]();\n }\n else\n input = deps();\n if (shouldDefer) {\n shouldDefer = false;\n prevInput = input;\n return initialValue;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\n/**\n * Get entries of an object\n */\nexport const entries = Object.entries;\n/**\n * Get keys of an object\n */\nexport const keys = Object.keys;\n/**\n * Solid's `onCleanup` that doesn't warn in development if used outside of a component.\n */\nexport const tryOnCleanup = isDev\n ? fn => (getOwner() ? onCleanup(fn) : fn)\n : onCleanup;\nexport const createCallbackStack = () => {\n let stack = [];\n const clear = () => (stack = []);\n return {\n push: (...callbacks) => stack.push(...callbacks),\n execute(arg0, arg1, arg2, arg3) {\n stack.forEach(cb => cb(arg0, arg1, arg2, arg3));\n clear();\n },\n clear,\n };\n};\n/**\n * Group synchronous function calls.\n * @param fn\n * @returns `fn`\n */\nexport function createMicrotask(fn) {\n let calls = 0;\n let args;\n onCleanup(() => (calls = 0));\n return (...a) => {\n (args = a), calls++;\n queueMicrotask(() => --calls === 0 && fn(...args));\n };\n}\n/**\n * A hydratable version of the {@link createSignal}. It will use the serverValue on the server and the update function on the client. If initialized during hydration it will use serverValue as the initial value and update it once hydration is complete.\n *\n * @param serverValue initial value of the state on the server\n * @param update called once on the client or on hydration to initialize the value\n * @param options {@link SignalOptions}\n * @returns\n * ```ts\n * [state: Accessor<T>, setState: Setter<T>]\n * ```\n * @see {@link createSignal}\n */\nexport function createHydratableSignal(serverValue, update, options) {\n if (isServer) {\n return createSignal(serverValue, options);\n }\n if (sharedConfig.context) {\n const [state, setState] = createSignal(serverValue, options);\n onMount(() => setState(() => update()));\n return [state, setState];\n }\n return createSignal(update(), options);\n}\n/** @deprecated use {@link createHydratableSignal} instead */\nexport const createHydrateSignal = createHydratableSignal;\n/**\n * Handle items removed and added to the array by diffing it by refference.\n *\n * @param current new array instance\n * @param prev previous array copy\n * @param handleAdded called once for every added item to array\n * @param handleRemoved called once for every removed from array\n */\nexport function handleDiffArray(current, prev, handleAdded, handleRemoved) {\n const currLength = current.length;\n const prevLength = prev.length;\n let i = 0;\n if (!prevLength) {\n for (; i < currLength; i++)\n handleAdded(current[i]);\n return;\n }\n if (!currLength) {\n for (; i < prevLength; i++)\n handleRemoved(prev[i]);\n return;\n }\n for (; i < prevLength; i++) {\n if (prev[i] !== current[i])\n break;\n }\n let prevEl;\n let currEl;\n prev = prev.slice(i);\n current = current.slice(i);\n for (prevEl of prev) {\n if (!current.includes(prevEl))\n handleRemoved(prevEl);\n }\n for (currEl of current) {\n if (!prev.includes(currEl))\n handleAdded(currEl);\n }\n}\n// \u2500\u2500\u2500 String transforms \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n/**\n * Parse a string as a single JSON value.\n *\n * ```ts\n * const { data } = createSSE<{ status: string }>(url, { transform: json });\n * ```\n */\nexport const json = (raw) => JSON.parse(raw);\n/**\n * Parse a string as newline-delimited JSON (NDJSON / JSON Lines).\n *\n * Each non-empty line is parsed as a separate JSON value and returned as an array.\n *\n * ```ts\n * const { data } = createSSE<TickEvent[]>(url, { transform: ndjson });\n * // data() === [{ id: 1, type: \"tick\" }, { id: 2, type: \"tick\" }]\n * ```\n */\nexport const ndjson = (raw) => raw\n .split(\"\\n\")\n .filter(line => line !== \"\")\n .map(line => JSON.parse(line));\n/**\n * Split a string into individual lines, returning a `string[]`. Empty lines are filtered out.\n *\n * ```ts\n * const { data } = createSSE<string[]>(url, { transform: lines });\n * // data() === [\"line one\", \"line two\"]\n * ```\n */\nexport const lines = (raw) => raw.split(\"\\n\").filter(line => line !== \"\");\n/**\n * Parse a string as a number using `Number()` semantics.\n *\n * Note: `\"\"` \u2192 `0`, non-numeric strings \u2192 `NaN`.\n *\n * ```ts\n * const { data } = createSSE<number>(url, { transform: number });\n * // data() === 42\n * ```\n */\nexport const number = (raw) => Number(raw);\nexport function safe(transform, fallback) {\n return (raw) => {\n try {\n return transform(raw);\n }\n catch {\n return fallback;\n }\n };\n}\n/**\n * Compose two transforms into one: the output of `a` is passed as the input of `b`.\n *\n * ```ts\n * const { data } = createSSE<RawEvent[]>(url, {\n * transform: pipe(ndjson<RawEvent>, rows => rows.filter(r => r.type === \"tick\")),\n * });\n * ```\n */\nexport function pipe(a, b) {\n return (raw) => b(a(raw));\n}\n", "import {createMemo, type Accessor} from \"solid-js\"\nimport {type DocHandle, type Doc} from \"@automerge/automerge-repo/slim\"\nimport makeDocumentProjection from \"./makeDocumentProjection.ts\"\nimport {access} from \"@solid-primitives/utils\"\n\n/**\n * get a fine-grained live view of a document from a handle. works with\n * {@link useDocHandle}.\n * @param handle an accessor (signal/resource) of a\n * [DocHandle](https://automerge.org/automerge-repo/classes/_automerge_automerge_repo.DocHandle.html)\n */\nexport default function createDocumentProjection<T extends object>(\n\thandle: Accessor<DocHandle<T> | undefined>\n): Accessor<Doc<T> | undefined> {\n\tconst projection = createMemo<Doc<T> | undefined>(\n\t\t() => access(handle) && makeDocumentProjection<T>(access(handle)!)\n\t)\n\treturn projection\n}\n", "import type {Repo} from \"@automerge/automerge-repo/slim\"\nimport {createContext, type Context} from \"solid-js\"\n\n/**\n * a [context](https://docs.solidjs.com/concepts/context) that provides access\n * to an Automerge Repo. you don't need this, you can pass the repo in the\n * second arg to the functions that need it.\n */\nexport const RepoContext: Context<Repo | null> = createContext<Repo | null>(\n\tnull\n)\n", "import type {AutomergeUrl, DocHandle} from \"@automerge/automerge-repo/slim\"\nimport {createEffect, createResource, useContext, type Resource} from \"solid-js\"\nimport {access, type MaybeAccessor} from \"@solid-primitives/utils\"\nimport {RepoContext} from \"./context.ts\"\nimport type {UseDocHandleOptions} from \"./types.ts\"\n\n/**\n * get a\n * [DocHandle](https://automerge.org/automerge-repo/classes/_automerge_automerge_repo.DocHandle.html)\n * from an\n * [AutomergeUrl](https://automerge.org/automerge-repo/types/_automerge_automerge_repo.AutomergeUrl.html)\n * as a\n * [Resource](https://docs.solidjs.com/reference/basic-reactivity/create-resource).\n * Waits for the handle to be ready.\n */\nexport default function useDocHandle<T>(\n\turl: MaybeAccessor<AutomergeUrl | undefined>,\n\toptions?: UseDocHandleOptions\n): Resource<DocHandle<T> | undefined> {\n\tconst contextRepo = useContext(RepoContext)\n\n\tif (!options?.repo && !contextRepo) {\n\t\tthrow new Error(\"use outside <RepoContext> requires options.repo\")\n\t}\n\n\tconst repo = (options?.repo || contextRepo)!\n\n\tfunction getExistingHandle() {\n\t\tif (options?.[\"~skipInitialValue\"]) return undefined\n\t\tconst unwrappedURL = access(url)\n\t\tif (!unwrappedURL) return undefined\n\t\tconst state = repo.findWithProgress<T>(unwrappedURL).peek()\n\t\treturn state.state === \"ready\" ? state.handle : undefined\n\t}\n\n\tconst [handle, {mutate}] = createResource(\n\t\turl,\n\t\turl => repo.findWithProgress<T>(url).whenReady(),\n\t\t{\n\t\t\tinitialValue: getExistingHandle(),\n\t\t}\n\t)\n\n\tcreateEffect(() => {\n\t\tif (!access(url)) {\n\t\t\tmutate()\n\t\t}\n\t})\n\n\treturn handle\n}\n", "import type {AutomergeUrl, Doc, DocHandle} from \"@automerge/automerge-repo/slim\"\nimport createDocumentProjection from \"./createDocumentProjection.ts\"\nimport type {MaybeAccessor} from \"@solid-primitives/utils\"\nimport useDocHandle from \"./useDocHandle.ts\"\nimport type {UseDocHandleOptions} from \"./types.ts\"\nimport type {Accessor, Resource} from \"solid-js\"\n\n/**\n * get a fine-grained live view of a document, and its handle, from a URL.\n * @param url a function that returns a url\n */\nexport default function useDocument<T extends object>(\n\turl: MaybeAccessor<AutomergeUrl | undefined>,\n\toptions?: UseDocHandleOptions\n): [Accessor<Doc<T> | undefined>, Resource<DocHandle<T> | undefined>] {\n\tconst handle = useDocHandle<T>(url, options)\n\treturn [createDocumentProjection<T>(handle), handle] as const\n}\n", "import type { OpenDocumentEventDetail } from \"@inkandswitch/patchwork-elements\";\n\nexport function createOpenEvent(detail: OpenDocumentEventDetail) {\n const openEvent = new CustomEvent(\"patchwork:open-document\", {\n detail,\n bubbles: true,\n composed: true,\n });\n return openEvent;\n}\n"],
5
- "mappings": "iDAAA,IAAAA,GAAAC,GAAA,CAAAC,GAAAC,KAAA,CAIA,IAAIC,GAAI,IACJC,GAAID,GAAI,GACRE,GAAID,GAAI,GACRE,EAAID,GAAI,GACRE,GAAID,EAAI,EACRE,GAAIF,EAAI,OAgBZJ,GAAO,QAAU,SAAUO,EAAKC,EAAS,CACvCA,EAAUA,GAAW,CAAC,EACtB,IAAIC,EAAO,OAAOF,EAClB,GAAIE,IAAS,UAAYF,EAAI,OAAS,EACpC,OAAOG,GAAMH,CAAG,EACX,GAAIE,IAAS,UAAY,SAASF,CAAG,EAC1C,OAAOC,EAAQ,KAAOG,GAAQJ,CAAG,EAAIK,GAASL,CAAG,EAEnD,MAAM,IAAI,MACR,wDACE,KAAK,UAAUA,CAAG,CACtB,CACF,EAUA,SAASG,GAAMG,EAAK,CAElB,GADAA,EAAM,OAAOA,CAAG,EACZ,EAAAA,EAAI,OAAS,KAGjB,KAAIC,EAAQ,mIAAmI,KAC7ID,CACF,EACA,GAAKC,EAGL,KAAI,EAAI,WAAWA,EAAM,CAAC,CAAC,EACvBL,GAAQK,EAAM,CAAC,GAAK,MAAM,YAAY,EAC1C,OAAQL,EAAM,CACZ,IAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,KACL,IAAK,IACH,OAAO,EAAIH,GACb,IAAK,QACL,IAAK,OACL,IAAK,IACH,OAAO,EAAID,GACb,IAAK,OACL,IAAK,MACL,IAAK,IACH,OAAO,EAAID,EACb,IAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,KACL,IAAK,IACH,OAAO,EAAID,GACb,IAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,MACL,IAAK,IACH,OAAO,EAAID,GACb,IAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,MACL,IAAK,IACH,OAAO,EAAID,GACb,IAAK,eACL,IAAK,cACL,IAAK,QACL,IAAK,OACL,IAAK,KACH,OAAO,EACT,QACE,MACJ,GACF,CAUA,SAASW,GAASG,EAAI,CACpB,IAAIC,EAAQ,KAAK,IAAID,CAAE,EACvB,OAAIC,GAASZ,EACJ,KAAK,MAAMW,EAAKX,CAAC,EAAI,IAE1BY,GAASb,GACJ,KAAK,MAAMY,EAAKZ,EAAC,EAAI,IAE1Ba,GAASd,GACJ,KAAK,MAAMa,EAAKb,EAAC,EAAI,IAE1Bc,GAASf,GACJ,KAAK,MAAMc,EAAKd,EAAC,EAAI,IAEvBc,EAAK,IACd,CAUA,SAASJ,GAAQI,EAAI,CACnB,IAAIC,EAAQ,KAAK,IAAID,CAAE,EACvB,OAAIC,GAASZ,EACJa,GAAOF,EAAIC,EAAOZ,EAAG,KAAK,EAE/BY,GAASb,GACJc,GAAOF,EAAIC,EAAOb,GAAG,MAAM,EAEhCa,GAASd,GACJe,GAAOF,EAAIC,EAAOd,GAAG,QAAQ,EAElCc,GAASf,GACJgB,GAAOF,EAAIC,EAAOf,GAAG,QAAQ,EAE/Bc,EAAK,KACd,CAMA,SAASE,GAAOF,EAAIC,EAAO,EAAGE,EAAM,CAClC,IAAIC,EAAWH,GAAS,EAAI,IAC5B,OAAO,KAAK,MAAMD,EAAK,CAAC,EAAI,IAAMG,GAAQC,EAAW,IAAM,GAC7D,ICjKA,IAAAC,GAAAC,GAAA,CAAAC,GAAAC,KAAA,CAMA,SAASC,GAAMC,EAAK,CACnBC,EAAY,MAAQA,EACpBA,EAAY,QAAUA,EACtBA,EAAY,OAASC,EACrBD,EAAY,QAAUE,EACtBF,EAAY,OAASG,EACrBH,EAAY,QAAUI,EACtBJ,EAAY,SAAW,KACvBA,EAAY,QAAUK,EAEtB,OAAO,KAAKN,CAAG,EAAE,QAAQO,GAAO,CAC/BN,EAAYM,CAAG,EAAIP,EAAIO,CAAG,CAC3B,CAAC,EAMDN,EAAY,MAAQ,CAAC,EACrBA,EAAY,MAAQ,CAAC,EAOrBA,EAAY,WAAa,CAAC,EAQ1B,SAASO,EAAYC,EAAW,CAC/B,IAAIC,EAAO,EAEX,QAASC,EAAI,EAAGA,EAAIF,EAAU,OAAQE,IACrCD,GAASA,GAAQ,GAAKA,EAAQD,EAAU,WAAWE,CAAC,EACpDD,GAAQ,EAGT,OAAOT,EAAY,OAAO,KAAK,IAAIS,CAAI,EAAIT,EAAY,OAAO,MAAM,CACrE,CACAA,EAAY,YAAcO,EAS1B,SAASP,EAAYQ,EAAW,CAC/B,IAAIG,EACAC,EAAiB,KACjBC,EACAC,EAEJ,SAASC,KAASC,EAAM,CAEvB,GAAI,CAACD,EAAM,QACV,OAGD,IAAME,EAAOF,EAGPG,EAAO,OAAO,IAAI,IAAM,EACxBC,EAAKD,GAAQP,GAAYO,GAC/BD,EAAK,KAAOE,EACZF,EAAK,KAAON,EACZM,EAAK,KAAOC,EACZP,EAAWO,EAEXF,EAAK,CAAC,EAAIhB,EAAY,OAAOgB,EAAK,CAAC,CAAC,EAEhC,OAAOA,EAAK,CAAC,GAAM,UAEtBA,EAAK,QAAQ,IAAI,EAIlB,IAAII,EAAQ,EACZJ,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAE,QAAQ,gBAAiB,CAACK,EAAOC,KAAW,CAE7D,GAAID,IAAU,KACb,MAAO,IAERD,IACA,IAAMG,EAAYvB,EAAY,WAAWsB,EAAM,EAC/C,GAAI,OAAOC,GAAc,WAAY,CACpC,IAAMC,GAAMR,EAAKI,CAAK,EACtBC,EAAQE,EAAU,KAAKN,EAAMO,EAAG,EAGhCR,EAAK,OAAOI,EAAO,CAAC,EACpBA,GACD,CACA,OAAOC,CACR,CAAC,EAGDrB,EAAY,WAAW,KAAKiB,EAAMD,CAAI,GAExBC,EAAK,KAAOjB,EAAY,KAChC,MAAMiB,EAAMD,CAAI,CACvB,CAEA,OAAAD,EAAM,UAAYP,EAClBO,EAAM,UAAYf,EAAY,UAAU,EACxCe,EAAM,MAAQf,EAAY,YAAYQ,CAAS,EAC/CO,EAAM,OAASU,EACfV,EAAM,QAAUf,EAAY,QAE5B,OAAO,eAAee,EAAO,UAAW,CACvC,WAAY,GACZ,aAAc,GACd,IAAK,IACAH,IAAmB,KACfA,GAEJC,IAAoBb,EAAY,aACnCa,EAAkBb,EAAY,WAC9Bc,EAAed,EAAY,QAAQQ,CAAS,GAGtCM,GAER,IAAKY,GAAK,CACTd,EAAiBc,CAClB,CACD,CAAC,EAGG,OAAO1B,EAAY,MAAS,YAC/BA,EAAY,KAAKe,CAAK,EAGhBA,CACR,CAEA,SAASU,EAAOjB,EAAWmB,EAAW,CACrC,IAAMC,EAAW5B,EAAY,KAAK,WAAa,OAAO2B,EAAc,IAAc,IAAMA,GAAanB,CAAS,EAC9G,OAAAoB,EAAS,IAAM,KAAK,IACbA,CACR,CASA,SAASzB,EAAO0B,EAAY,CAC3B7B,EAAY,KAAK6B,CAAU,EAC3B7B,EAAY,WAAa6B,EAEzB7B,EAAY,MAAQ,CAAC,EACrBA,EAAY,MAAQ,CAAC,EAErB,IAAM8B,GAAS,OAAOD,GAAe,SAAWA,EAAa,IAC3D,KAAK,EACL,QAAQ,OAAQ,GAAG,EACnB,MAAM,GAAG,EACT,OAAO,OAAO,EAEhB,QAAWE,KAAMD,EACZC,EAAG,CAAC,IAAM,IACb/B,EAAY,MAAM,KAAK+B,EAAG,MAAM,CAAC,CAAC,EAElC/B,EAAY,MAAM,KAAK+B,CAAE,CAG5B,CAUA,SAASC,EAAgBC,EAAQC,EAAU,CAC1C,IAAIC,EAAc,EACdC,EAAgB,EAChBC,EAAY,GACZC,EAAa,EAEjB,KAAOH,EAAcF,EAAO,QAC3B,GAAIG,EAAgBF,EAAS,SAAWA,EAASE,CAAa,IAAMH,EAAOE,CAAW,GAAKD,EAASE,CAAa,IAAM,KAElHF,EAASE,CAAa,IAAM,KAC/BC,EAAYD,EACZE,EAAaH,EACbC,MAEAD,IACAC,aAESC,IAAc,GAExBD,EAAgBC,EAAY,EAC5BC,IACAH,EAAcG,MAEd,OAAO,GAKT,KAAOF,EAAgBF,EAAS,QAAUA,EAASE,CAAa,IAAM,KACrEA,IAGD,OAAOA,IAAkBF,EAAS,MACnC,CAQA,SAAShC,GAAU,CAClB,IAAM2B,EAAa,CAClB,GAAG7B,EAAY,MACf,GAAGA,EAAY,MAAM,IAAIQ,GAAa,IAAMA,CAAS,CACtD,EAAE,KAAK,GAAG,EACV,OAAAR,EAAY,OAAO,EAAE,EACd6B,CACR,CASA,SAASzB,EAAQmC,EAAM,CACtB,QAAWC,KAAQxC,EAAY,MAC9B,GAAIgC,EAAgBO,EAAMC,CAAI,EAC7B,MAAO,GAIT,QAAWT,KAAM/B,EAAY,MAC5B,GAAIgC,EAAgBO,EAAMR,CAAE,EAC3B,MAAO,GAIT,MAAO,EACR,CASA,SAAS9B,EAAOuB,EAAK,CACpB,OAAIA,aAAe,MACXA,EAAI,OAASA,EAAI,QAElBA,CACR,CAMA,SAASnB,GAAU,CAClB,QAAQ,KAAK,uIAAuI,CACrJ,CAEA,OAAAL,EAAY,OAAOA,EAAY,KAAK,CAAC,EAE9BA,CACR,CAEAH,GAAO,QAAUC,KCnSjB,IAAA2C,GAAAC,GAAA,CAAAC,EAAAC,KAAA,CAMAD,EAAQ,WAAaE,GACrBF,EAAQ,KAAOG,GACfH,EAAQ,KAAOI,GACfJ,EAAQ,UAAYK,GACpBL,EAAQ,QAAUM,GAAa,EAC/BN,EAAQ,SAAW,IAAM,CACxB,IAAIO,EAAS,GAEb,MAAO,IAAM,CACPA,IACJA,EAAS,GACT,QAAQ,KAAK,uIAAuI,EAEtJ,CACD,GAAG,EAMHP,EAAQ,OAAS,CAChB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACD,EAWA,SAASK,IAAY,CAIpB,GAAI,OAAO,OAAW,KAAe,OAAO,UAAY,OAAO,QAAQ,OAAS,YAAc,OAAO,QAAQ,QAC5G,MAAO,GAIR,GAAI,OAAO,UAAc,KAAe,UAAU,WAAa,UAAU,UAAU,YAAY,EAAE,MAAM,uBAAuB,EAC7H,MAAO,GAGR,IAAIG,EAKJ,OAAQ,OAAO,SAAa,KAAe,SAAS,iBAAmB,SAAS,gBAAgB,OAAS,SAAS,gBAAgB,MAAM,kBAEtI,OAAO,OAAW,KAAe,OAAO,UAAY,OAAO,QAAQ,SAAY,OAAO,QAAQ,WAAa,OAAO,QAAQ,QAG1H,OAAO,UAAc,KAAe,UAAU,YAAcA,EAAI,UAAU,UAAU,YAAY,EAAE,MAAM,gBAAgB,IAAM,SAASA,EAAE,CAAC,EAAG,EAAE,GAAK,IAEpJ,OAAO,UAAc,KAAe,UAAU,WAAa,UAAU,UAAU,YAAY,EAAE,MAAM,oBAAoB,CAC1H,CAQA,SAASN,GAAWO,EAAM,CAQzB,GAPAA,EAAK,CAAC,GAAK,KAAK,UAAY,KAAO,IAClC,KAAK,WACJ,KAAK,UAAY,MAAQ,KAC1BA,EAAK,CAAC,GACL,KAAK,UAAY,MAAQ,KAC1B,IAAMR,GAAO,QAAQ,SAAS,KAAK,IAAI,EAEpC,CAAC,KAAK,UACT,OAGD,IAAMS,EAAI,UAAY,KAAK,MAC3BD,EAAK,OAAO,EAAG,EAAGC,EAAG,gBAAgB,EAKrC,IAAIC,EAAQ,EACRC,EAAQ,EACZH,EAAK,CAAC,EAAE,QAAQ,cAAeI,GAAS,CACnCA,IAAU,OAGdF,IACIE,IAAU,OAGbD,EAAQD,GAEV,CAAC,EAEDF,EAAK,OAAOG,EAAO,EAAGF,CAAC,CACxB,CAUAV,EAAQ,IAAM,QAAQ,OAAS,QAAQ,MAAQ,IAAM,CAAC,GAQtD,SAASG,GAAKW,EAAY,CACzB,GAAI,CACCA,EACHd,EAAQ,QAAQ,QAAQ,QAASc,CAAU,EAE3Cd,EAAQ,QAAQ,WAAW,OAAO,CAEpC,MAAgB,CAGhB,CACD,CAQA,SAASI,IAAO,CACf,IAAIW,EACJ,GAAI,CACHA,EAAIf,EAAQ,QAAQ,QAAQ,OAAO,GAAKA,EAAQ,QAAQ,QAAQ,OAAO,CACxE,MAAgB,CAGhB,CAGA,MAAI,CAACe,GAAK,OAAO,QAAY,KAAe,QAAS,UACpDA,EAAI,QAAQ,IAAI,OAGVA,CACR,CAaA,SAAST,IAAe,CACvB,GAAI,CAGH,OAAO,YACR,MAAgB,CAGhB,CACD,CAEAL,GAAO,QAAU,KAAoBD,CAAO,EAE5C,GAAM,CAAC,WAAAgB,EAAU,EAAIf,GAAO,QAM5Be,GAAW,EAAI,SAAUC,EAAG,CAC3B,GAAI,CACH,OAAO,KAAK,UAAUA,CAAC,CACxB,OAASC,EAAO,CACf,MAAO,+BAAiCA,EAAM,OAC/C,CACD,IC1JA,IAAMC,EAAe,CACnB,QAAS,OACT,SAAU,OACV,QAAS,OACT,KAAM,GACN,cAAe,CACb,OAAOC,GAAa,KAAK,QAAQ,KAAK,CACxC,EACA,kBAAmB,CACjB,OAAOA,GAAa,KAAK,QAAQ,OAAO,CAC1C,CACF,EACA,SAASA,GAAaC,EAAO,CAC3B,IAAMC,EAAM,OAAOD,CAAK,EACtBE,EAAMD,EAAI,OAAS,EACrB,OAAOH,EAAa,QAAQ,IAAMI,EAAM,OAAO,aAAa,GAAKA,CAAG,EAAI,IAAMD,CAChF,CACA,SAASE,EAAkBC,EAAS,CAClCN,EAAa,QAAUM,CACzB,CACA,SAASC,IAAqB,CAC5B,MAAO,CACL,GAAGP,EAAa,QAChB,GAAIA,EAAa,iBAAiB,EAClC,MAAO,CACT,CACF,CAEA,IAAMQ,GAAS,GACTC,GAAU,CAACC,EAAGC,IAAMD,IAAMC,EAC1BC,EAAS,OAAO,aAAa,EAC7BC,GAAiB,OAAO,OAAU,WAClCC,GAAS,OAAO,aAAa,EAC7BC,GAAW,OAAO,qBAAqB,EACvCC,GAAgB,CACpB,OAAQP,EACV,EACIQ,GAAQ,KACRC,GAAaC,GACXC,EAAQ,EACRC,GAAU,EACVC,GAAU,CACd,MAAO,KACP,SAAU,KACV,QAAS,KACT,MAAO,IACT,EACMC,GAAU,CAAC,EACbC,EAAQ,KACRC,EAAa,KACbC,GAAY,KACZC,GAAuB,KACvBC,EAAW,KACXC,EAAU,KACVC,EAAU,KACVC,GAAY,EAChB,SAASC,EAAWC,EAAIC,EAAe,CACrC,IAAMC,EAAWP,EACfQ,EAAQZ,EACRa,EAAUJ,EAAG,SAAW,EACxBK,EAAUJ,IAAkB,OAAYE,EAAQF,EAChDK,EAAOF,EAAUf,GAAU,CACzB,MAAO,KACP,SAAU,KACV,QAASgB,EAAUA,EAAQ,QAAU,KACrC,MAAOA,CACT,EACAE,EAAWH,EAAUJ,EAAK,IAAMA,EAAG,IAAMQ,EAAQ,IAAMC,EAAUH,CAAI,CAAC,CAAC,EACzEf,EAAQe,EACRX,EAAW,KACX,GAAI,CACF,OAAOe,EAAWH,EAAU,EAAI,CAClC,QAAE,CACAZ,EAAWO,EACXX,EAAQY,CACV,CACF,CACA,SAASQ,EAAaC,EAAOC,EAAS,CACpCA,EAAUA,EAAU,OAAO,OAAO,CAAC,EAAG9B,GAAe8B,CAAO,EAAI9B,GAChE,IAAM+B,EAAI,CACR,MAAAF,EACA,UAAW,KACX,cAAe,KACf,WAAYC,EAAQ,QAAU,MAChC,EACME,EAASH,IACT,OAAOA,GAAU,aACfpB,GAAcA,EAAW,SAAWA,EAAW,QAAQ,IAAIsB,CAAC,EAAGF,EAAQA,EAAME,EAAE,MAAM,EAAOF,EAAQA,EAAME,EAAE,KAAK,GAEhHE,GAAYF,EAAGF,CAAK,GAE7B,MAAO,CAACK,GAAW,KAAKH,CAAC,EAAGC,CAAM,CACpC,CACA,SAASG,GAAelB,EAAIY,EAAOC,EAAS,CAC1C,IAAMM,EAAIC,GAAkBpB,EAAIY,EAAO,GAAMzB,CAAK,EAC9CM,IAAaD,GAAcA,EAAW,QAASI,EAAQ,KAAKuB,CAAC,EAAOE,EAAkBF,CAAC,CAC7F,CACA,SAASG,EAAmBtB,EAAIY,EAAOC,EAAS,CAC9C,IAAMM,EAAIC,GAAkBpB,EAAIY,EAAO,GAAOzB,CAAK,EAC/CM,IAAaD,GAAcA,EAAW,QAASI,EAAQ,KAAKuB,CAAC,EAAOE,EAAkBF,CAAC,CAC7F,CACA,SAASI,GAAavB,EAAIY,EAAOC,EAAS,CACxC5B,GAAauC,GACb,IAAML,EAAIC,GAAkBpB,EAAIY,EAAO,GAAOzB,CAAK,EACjD2B,EAAIW,GAAmBC,GAAWD,CAAe,EAC/CX,IAAGK,EAAE,SAAWL,IAChB,CAACD,GAAW,CAACA,EAAQ,UAAQM,EAAE,KAAO,IAC1CtB,EAAUA,EAAQ,KAAKsB,CAAC,EAAIE,EAAkBF,CAAC,CACjD,CAeA,SAASQ,EAAWC,EAAIC,EAAOC,EAAS,CACtCA,EAAUA,EAAU,OAAO,OAAO,CAAC,EAAGC,GAAeD,CAAO,EAAIC,GAChE,IAAMC,EAAIC,GAAkBL,EAAIC,EAAO,GAAM,CAAC,EAC9C,OAAAG,EAAE,UAAY,KACdA,EAAE,cAAgB,KAClBA,EAAE,WAAaF,EAAQ,QAAU,OAC7BI,IAAaC,GAAcA,EAAW,SACxCH,EAAE,OAASI,EACXC,EAAQ,KAAKL,CAAC,GACTM,EAAkBN,CAAC,EACnBO,GAAW,KAAKP,CAAC,CAC1B,CACA,SAASQ,GAAUC,EAAG,CACpB,OAAOA,GAAK,OAAOA,GAAM,UAAY,SAAUA,CACjD,CACA,SAASC,GAAeC,EAASC,EAAUC,EAAU,CACnD,IAAIC,EACAC,EACAjB,EACA,OAAOc,GAAa,YACtBE,EAASH,EACTI,EAAUH,EACVd,EAAUe,GAAY,CAAC,IAEvBC,EAAS,GACTC,EAAUJ,EACVb,EAAUc,GAAY,CAAC,GAEzB,IAAII,EAAK,KACPC,EAAQC,GACRC,EAAK,KACLC,EAAwB,GACxBC,EAAY,GACZC,EAAW,iBAAkBxB,EAC7ByB,EAAU,OAAOT,GAAW,YAAcnB,EAAWmB,CAAM,EACvDU,EAAW,IAAI,IACnB,CAAC3B,EAAO4B,CAAQ,GAAK3B,EAAQ,SAAW4B,GAAc5B,EAAQ,YAAY,EAC1E,CAAC6B,EAAOC,CAAQ,EAAIF,EAAa,MAAS,EAC1C,CAACG,EAAOC,CAAO,EAAIJ,EAAa,OAAW,CACzC,OAAQ,EACV,CAAC,EACD,CAACK,EAAOC,CAAQ,EAAIN,EAAaJ,EAAW,QAAU,YAAY,EAChEW,EAAa,UACfd,EAAKc,EAAa,iBAAiB,EAC/BnC,EAAQ,cAAgB,UAAWmB,EAAQnB,EAAQ,aAAsBmC,EAAa,MAAQA,EAAa,IAAId,CAAE,IAAGF,EAAQgB,EAAa,KAAKd,CAAE,IAEtJ,SAASe,EAAQC,EAAG1B,EAAGkB,EAAOS,EAAK,CACjC,OAAIpB,IAAOmB,IACTnB,EAAK,KACLoB,IAAQ,SAAcd,EAAW,KAC5Ba,IAAMlB,GAASR,IAAMQ,IAAUnB,EAAQ,YAAY,eAAe,IAAMA,EAAQ,WAAWsC,EAAK,CACnG,MAAO3B,CACT,CAAC,CAAC,EACFQ,EAAQC,GACJf,GAAcgC,GAAKf,GACrBjB,EAAW,SAAS,OAAOgC,CAAC,EAC5Bf,EAAwB,GACxBiB,EAAW,IAAM,CACflC,EAAW,QAAU,GACrBmC,GAAa7B,EAAGkB,CAAK,CACvB,EAAG,EAAK,GACHW,GAAa7B,EAAGkB,CAAK,GAEvBlB,CACT,CACA,SAAS6B,GAAa7B,EAAG8B,EAAK,CAC5BF,EAAW,IAAM,CACXE,IAAQ,QAAWd,EAAS,IAAMhB,CAAC,EACvCuB,EAASO,IAAQ,OAAY,UAAYjB,EAAW,QAAU,YAAY,EAC1EM,EAASW,CAAG,EACZ,QAAWvC,KAAKwB,EAAS,KAAK,EAAGxB,EAAE,UAAU,EAC7CwB,EAAS,MAAM,CACjB,EAAG,EAAK,CACV,CACA,SAASgB,GAAO,CACd,IAAMxC,EAAIyC,GAAmBC,GAAWD,CAAe,EACrDhC,EAAIZ,EAAM,EACV0C,EAAMZ,EAAM,EACd,GAAIY,IAAQ,QAAa,CAACvB,EAAI,MAAMuB,EACpC,OAAII,GAAY,CAACA,EAAS,MAAQ3C,GAChC4C,GAAe,IAAM,CACnBf,EAAM,EACFb,IACEhB,EAAE,UAAYG,GAAciB,EAAuBjB,EAAW,SAAS,IAAIa,CAAE,EAAYQ,EAAS,IAAIxB,CAAC,IACzGA,EAAE,UAAU,EACZwB,EAAS,IAAIxB,CAAC,GAGpB,CAAC,EAEIS,CACT,CACA,SAASoC,GAAKC,EAAa,GAAM,CAC/B,GAAIA,IAAe,IAASzB,EAAW,OACvCA,EAAY,GACZ,IAAM0B,EAASxB,EAAUA,EAAQ,EAAIT,EAErC,GADAM,EAAwBjB,GAAcA,EAAW,QAC7C4C,GAAU,MAAQA,IAAW,GAAO,CACtCb,EAAQlB,EAAIgC,EAAQnD,CAAK,CAAC,EAC1B,MACF,CACIM,GAAca,GAAIb,EAAW,SAAS,OAAOa,CAAE,EACnD,IAAIW,EACEQ,EAAIlB,IAAUC,GAAUD,EAAQ+B,EAAQ,IAAM,CAClD,GAAI,CACF,OAAOjC,EAAQgC,EAAQ,CACrB,MAAOlD,EAAM,EACb,WAAAiD,CACF,CAAC,CACH,OAASG,GAAc,CACrBtB,EAAQsB,EACV,CACF,CAAC,EACD,GAAItB,IAAU,OAAW,CACvBO,EAAQlB,EAAI,OAAWkC,GAAUvB,CAAK,EAAGoB,CAAM,EAC/C,MACF,SAAW,CAACvC,GAAU2B,CAAC,EACrB,OAAAD,EAAQlB,EAAImB,EAAG,OAAWY,CAAM,EACzBZ,EAGT,OADAnB,EAAKmB,EACD,MAAOA,GACLA,EAAE,IAAM,EAAGD,EAAQlB,EAAImB,EAAE,EAAG,OAAWY,CAAM,EAAOb,EAAQlB,EAAI,OAAWkC,GAAUf,EAAE,CAAC,EAAGY,CAAM,EAC9FZ,IAETd,EAAY,GACZ,eAAe,IAAMA,EAAY,EAAK,EACtCgB,EAAW,IAAM,CACfL,EAASV,EAAW,aAAe,SAAS,EAC5CQ,EAAQ,CACV,EAAG,EAAK,EACDK,EAAE,KAAK1B,IAAKyB,EAAQC,EAAG1B,GAAG,OAAWsC,CAAM,EAAGI,IAAKjB,EAAQC,EAAG,OAAWe,GAAUC,EAAC,EAAGJ,CAAM,CAAC,EACvG,CACA,OAAO,iBAAiBP,EAAM,CAC5B,MAAO,CACL,IAAK,IAAMT,EAAM,CACnB,EACA,MAAO,CACL,IAAK,IAAMJ,EAAM,CACnB,EACA,QAAS,CACP,KAAM,CACJ,IAAMyB,EAAIrB,EAAM,EAChB,OAAOqB,IAAM,WAAaA,IAAM,YAClC,CACF,EACA,OAAQ,CACN,KAAM,CACJ,GAAI,CAAC9B,EAAU,OAAOkB,EAAK,EAC3B,IAAMD,EAAMZ,EAAM,EAClB,GAAIY,GAAO,CAACvB,EAAI,MAAMuB,EACtB,OAAO1C,EAAM,CACf,CACF,CACF,CAAC,EACD,IAAIwD,GAAQC,EACZ,OAAI/B,EAASqB,GAAe,KAAOS,GAAQC,EAAOT,GAAK,EAAK,EAAE,EAAOA,GAAK,EAAK,EACxE,CAACL,EAAM,CACZ,QAASe,GAAQC,GAAaH,GAAO,IAAMR,GAAKU,CAAI,CAAC,EACrD,OAAQ9B,CACV,CAAC,CACH,CAeA,SAASgC,GAAeC,EAAQC,EAAKC,GAASC,EAAS,CACrD,IAAMC,EAAO,IAAI,IACXC,EAAOC,GAAkBC,GAAK,CAClC,IAAMC,EAAIR,EAAO,EACjB,OAAW,CAACS,EAAKC,CAAG,IAAKN,EAAK,QAAQ,EAAG,GAAIH,EAAGQ,EAAKD,CAAC,IAAMP,EAAGQ,EAAKF,CAAC,EACnE,QAAWI,KAAKD,EAAI,OAAO,EACzBC,EAAE,MAAQC,EACND,EAAE,KAAME,EAAQ,KAAKF,CAAC,EAAOG,EAAQ,KAAKH,CAAC,EAGnD,OAAOH,CACT,EAAG,OAAW,GAAMI,CAAK,EACzB,OAAAG,EAAkBV,CAAI,EACfI,GAAO,CACZ,IAAMO,EAAWC,EACjB,GAAID,EAAU,CACZ,IAAI,GACA,EAAIZ,EAAK,IAAIK,CAAG,GAAG,EAAE,IAAIO,CAAQ,EAAOZ,EAAK,IAAIK,EAAK,EAAI,IAAI,IAAI,CAACO,CAAQ,CAAC,CAAC,EACjFE,EAAU,IAAM,CACd,EAAE,OAAOF,CAAQ,EACjB,CAAC,EAAE,MAAQZ,EAAK,OAAOK,CAAG,CAC5B,CAAC,CACH,CACA,OAAOR,EAAGQ,EAAKU,GAAcA,EAAW,SAAWA,EAAW,QAAQ,IAAId,CAAI,EAAIA,EAAK,OAASA,EAAK,KAAK,CAC5G,CACF,CACA,SAASe,GAAMnB,EAAI,CACjB,OAAOoB,EAAWpB,EAAI,EAAK,CAC7B,CACA,SAASqB,EAAQrB,EAAI,CACnB,GAAI,CAACsB,IAAwBN,IAAa,KAAM,OAAOhB,EAAG,EAC1D,IAAMe,EAAWC,EACjBA,EAAW,KACX,GAAI,CACF,OAAIM,GAA6BA,GAAqB,QAAQtB,CAAE,EACzDA,EAAG,CACZ,QAAE,CACAgB,EAAWD,CACb,CACF,CACA,SAASQ,GAAGC,EAAMxB,EAAIE,EAAS,CAC7B,IAAMuB,EAAU,MAAM,QAAQD,CAAI,EAC9BE,EACAC,EAAQzB,GAAWA,EAAQ,MAC/B,OAAO0B,GAAa,CAClB,IAAIC,EACJ,GAAIJ,EAAS,CACXI,EAAQ,MAAML,EAAK,MAAM,EACzB,QAASM,EAAI,EAAGA,EAAIN,EAAK,OAAQM,IAAKD,EAAMC,CAAC,EAAIN,EAAKM,CAAC,EAAE,CAC3D,MAAOD,EAAQL,EAAK,EACpB,GAAIG,EACF,OAAAA,EAAQ,GACDC,EAET,IAAMG,EAASV,EAAQ,IAAMrB,EAAG6B,EAAOH,EAAWE,CAAS,CAAC,EAC5D,OAAAF,EAAYG,EACLE,CACT,CACF,CACA,SAASC,GAAQhC,EAAI,CACnBiC,GAAa,IAAMZ,EAAQrB,CAAE,CAAC,CAChC,CACA,SAASiB,EAAUjB,EAAI,CACrB,OAAIkC,IAAU,OAAgBA,EAAM,WAAa,KAAMA,EAAM,SAAW,CAAClC,CAAE,EAAOkC,EAAM,SAAS,KAAKlC,CAAE,GACjGA,CACT,CAiBA,SAASmC,IAAc,CACrB,OAAOC,CACT,CACA,SAASC,IAAW,CAClB,OAAOC,CACT,CACA,SAASC,GAAaC,EAAGC,EAAI,CAC3B,IAAMC,EAAOJ,EACPK,EAAeP,EACrBE,EAAQE,EACRJ,EAAW,KACX,GAAI,CACF,OAAOQ,EAAWH,EAAI,EAAI,CAC5B,OAASI,EAAK,CACZC,GAAYD,CAAG,CACjB,QAAE,CACAP,EAAQI,EACRN,EAAWO,CACb,CACF,CAIA,SAASI,GAAgBC,EAAI,CAC3B,GAAIC,GAAcA,EAAW,QAC3B,OAAAD,EAAG,EACIC,EAAW,KAEpB,IAAMC,EAAIC,EACJC,EAAIC,EACV,OAAO,QAAQ,QAAQ,EAAE,KAAK,IAAM,CAClCF,EAAWD,EACXG,EAAQD,EACR,IAAIE,EACJ,OAAIC,IAAaC,KACfF,EAAIL,IAAeA,EAAa,CAC9B,QAAS,IAAI,IACb,QAAS,CAAC,EACV,SAAU,IAAI,IACd,SAAU,IAAI,IACd,MAAO,IAAI,IACX,QAAS,EACX,GACAK,EAAE,OAASA,EAAE,KAAO,IAAI,QAAQG,GAAOH,EAAE,QAAUG,CAAG,GACtDH,EAAE,QAAU,IAEdI,EAAWV,EAAI,EAAK,EACpBG,EAAWE,EAAQ,KACZC,EAAIA,EAAE,KAAO,MACtB,CAAC,CACH,CACA,GAAM,CAACK,GAAcC,EAAe,EAAiBC,EAAa,EAAK,EAIvE,SAASC,GAAc,EAAG,CACxBC,EAAQ,KAAK,MAAMA,EAAS,CAAC,EAC7B,EAAE,OAAS,CACb,CACA,SAASC,GAAcC,EAAcC,EAAS,CAC5C,IAAMC,EAAK,OAAO,SAAS,EAC3B,MAAO,CACL,GAAAA,EACA,SAAUC,GAAeD,CAAE,EAC3B,aAAAF,CACF,CACF,CACA,SAASI,GAAWC,EAAS,CAC3B,IAAIC,EACJ,OAAOC,GAASA,EAAM,UAAYD,EAAQC,EAAM,QAAQF,EAAQ,EAAE,KAAO,OAAYC,EAAQD,EAAQ,YACvG,CACA,SAASG,GAASC,EAAI,CACpB,IAAMD,EAAWE,EAAWD,CAAE,EACxBE,EAAOD,EAAW,IAAME,GAAgBJ,EAAS,CAAC,CAAC,EACzD,OAAAG,EAAK,QAAU,IAAM,CACnB,IAAME,EAAIF,EAAK,EACf,OAAO,MAAM,QAAQE,CAAC,EAAIA,EAAIA,GAAK,KAAO,CAACA,CAAC,EAAI,CAAC,CACnD,EACOF,CACT,CACA,IAAIG,EACJ,SAASC,IAAqB,CAC5B,OAAOD,IAAoBA,EAAkBf,GAAc,EAC7D,CA4BA,SAASiB,IAAa,CACpB,IAAMC,EAAoBC,GAAcA,EAAW,QACnD,GAAI,KAAK,UAAYD,EAAoB,KAAK,OAAS,KAAK,OAC1D,IAAKA,EAAoB,KAAK,OAAS,KAAK,SAAWE,EAAOC,EAAkB,IAAI,MAAO,CACzF,IAAMC,EAAUC,EAChBA,EAAU,KACVC,EAAW,IAAMC,GAAa,IAAI,EAAG,EAAK,EAC1CF,EAAUD,CACZ,CAEF,GAAII,EAAU,CACZ,IAAMC,EAAQ,KAAK,UAAY,KAAK,UAAU,OAAS,EAClDD,EAAS,SAIZA,EAAS,QAAQ,KAAK,IAAI,EAC1BA,EAAS,YAAY,KAAKC,CAAK,IAJ/BD,EAAS,QAAU,CAAC,IAAI,EACxBA,EAAS,YAAc,CAACC,CAAK,GAK1B,KAAK,WAIR,KAAK,UAAU,KAAKD,CAAQ,EAC5B,KAAK,cAAc,KAAKA,EAAS,QAAQ,OAAS,CAAC,IAJnD,KAAK,UAAY,CAACA,CAAQ,EAC1B,KAAK,cAAgB,CAACA,EAAS,QAAQ,OAAS,CAAC,EAKrD,CACA,OAAIR,GAAqBC,EAAW,QAAQ,IAAI,IAAI,EAAU,KAAK,OAC5D,KAAK,KACd,CACA,SAASS,GAAYC,EAAMC,EAAOC,EAAQ,CACxC,IAAIC,EAAUb,GAAcA,EAAW,SAAWA,EAAW,QAAQ,IAAIU,CAAI,EAAIA,EAAK,OAASA,EAAK,MACpG,GAAI,CAACA,EAAK,YAAc,CAACA,EAAK,WAAWG,EAASF,CAAK,EAAG,CACxD,GAAIX,EAAY,CACd,IAAMc,EAAoBd,EAAW,SACjCc,GAAqB,CAACF,GAAUZ,EAAW,QAAQ,IAAIU,CAAI,KAC7DV,EAAW,QAAQ,IAAIU,CAAI,EAC3BA,EAAK,OAASC,GAEXG,IAAmBJ,EAAK,MAAQC,EACvC,MAAOD,EAAK,MAAQC,EAChBD,EAAK,WAAaA,EAAK,UAAU,QACnCL,EAAW,IAAM,CACf,QAASU,EAAI,EAAGA,EAAIL,EAAK,UAAU,OAAQK,GAAK,EAAG,CACjD,IAAMC,EAAIN,EAAK,UAAUK,CAAC,EACpBD,EAAoBd,GAAcA,EAAW,QAC/Cc,GAAqBd,EAAW,SAAS,IAAIgB,CAAC,KAC9CF,EAAoB,CAACE,EAAE,OAAS,CAACA,EAAE,SACjCA,EAAE,KAAMZ,EAAQ,KAAKY,CAAC,EAAOC,EAAQ,KAAKD,CAAC,EAC3CA,EAAE,WAAWE,GAAeF,CAAC,GAE9BF,EAAwCE,EAAE,OAASf,EAAhCe,EAAE,MAAQf,EACpC,CACA,GAAIG,EAAQ,OAAS,IACnB,MAAAA,EAAU,CAAC,EAEL,IAAI,KAEd,EAAG,EAAK,CAEZ,CACA,OAAOO,CACT,CACA,SAAST,EAAkBQ,EAAM,CAC/B,GAAI,CAACA,EAAK,GAAI,OACdS,EAAUT,CAAI,EACd,IAAMU,EAAOC,GACbC,GAAeZ,EAAMV,GAAcA,EAAW,SAAWA,EAAW,QAAQ,IAAIU,CAAI,EAAIA,EAAK,OAASA,EAAK,MAAOU,CAAI,EAClHpB,GAAc,CAACA,EAAW,SAAWA,EAAW,QAAQ,IAAIU,CAAI,GAClE,eAAe,IAAM,CACnBL,EAAW,IAAM,CACfL,IAAeA,EAAW,QAAU,IACpCO,EAAWgB,EAAQb,EACnBY,GAAeZ,EAAMA,EAAK,OAAQU,CAAI,EACtCb,EAAWgB,EAAQ,IACrB,EAAG,EAAK,CACV,CAAC,CAEL,CACA,SAASD,GAAeZ,EAAMC,EAAOS,EAAM,CACzC,IAAII,EACEC,EAAQF,EACZG,EAAWnB,EACbA,EAAWgB,EAAQb,EACnB,GAAI,CACFc,EAAYd,EAAK,GAAGC,CAAK,CAC3B,OAASgB,EAAK,CACZ,OAAIjB,EAAK,OACHV,GAAcA,EAAW,SAC3BU,EAAK,OAAST,EACdS,EAAK,QAAUA,EAAK,OAAO,QAAQS,CAAS,EAC5CT,EAAK,OAAS,SAEdA,EAAK,MAAQT,EACbS,EAAK,OAASA,EAAK,MAAM,QAAQS,CAAS,EAC1CT,EAAK,MAAQ,OAGjBA,EAAK,UAAYU,EAAO,EACjBQ,GAAYD,CAAG,CACxB,QAAE,CACApB,EAAWmB,EACXH,EAAQE,CACV,EACI,CAACf,EAAK,WAAaA,EAAK,WAAaU,KACnCV,EAAK,WAAa,MAAQ,cAAeA,EAC3CD,GAAYC,EAAMc,EAAW,EAAI,EACxBxB,GAAcA,EAAW,SAAWU,EAAK,MAClDV,EAAW,QAAQ,IAAIU,CAAI,EAC3BA,EAAK,OAASc,GACTd,EAAK,MAAQc,EACpBd,EAAK,UAAYU,EAErB,CACA,SAASS,GAAkBC,EAAIC,EAAMC,EAAMC,EAAQhC,EAAOiC,EAAS,CACjE,IAAMC,EAAI,CACR,GAAAL,EACA,MAAOG,EACP,UAAW,KACX,MAAO,KACP,QAAS,KACT,YAAa,KACb,SAAU,KACV,MAAOF,EACP,MAAOR,EACP,QAASA,EAAQA,EAAM,QAAU,KACjC,KAAAS,CACF,EAYA,GAXIhC,GAAcA,EAAW,UAC3BmC,EAAE,MAAQ,EACVA,EAAE,OAASF,GAETV,IAAU,MAAgBA,IAAUa,KAClCpC,GAAcA,EAAW,SAAWuB,EAAM,KACvCA,EAAM,OAAgCA,EAAM,OAAO,KAAKY,CAAC,EAA3CZ,EAAM,OAAS,CAACY,CAAC,EAE/BZ,EAAM,MAA8BA,EAAM,MAAM,KAAKY,CAAC,EAAzCZ,EAAM,MAAQ,CAACY,CAAC,GAGlCE,IAAwBF,EAAE,GAAI,CAChC,GAAM,CAACG,EAAOC,CAAO,EAAIC,EAAa,OAAW,CAC/C,OAAQ,EACV,CAAC,EACKC,EAAWJ,GAAqB,QAAQF,EAAE,GAAII,CAAO,EAC3DG,EAAU,IAAMD,EAAS,QAAQ,CAAC,EAClC,IAAME,EAAsB,IAAMC,GAAgBL,CAAO,EAAE,KAAK,IAAMM,EAAa,QAAQ,CAAC,EACtFA,EAAeR,GAAqB,QAAQF,EAAE,GAAIQ,CAAmB,EAC3ER,EAAE,GAAKW,IACLR,EAAM,EACCtC,GAAcA,EAAW,QAAU6C,EAAa,MAAMC,CAAC,EAAIL,EAAS,MAAMK,CAAC,EAEtF,CACA,OAAOX,CACT,CACA,SAASY,GAAOrC,EAAM,CACpB,IAAMX,EAAoBC,GAAcA,EAAW,QACnD,IAAKD,EAAoBW,EAAK,OAASA,EAAK,SAAW,EAAG,OAC1D,IAAKX,EAAoBW,EAAK,OAASA,EAAK,SAAWsC,GAAS,OAAO1C,GAAaI,CAAI,EACxF,GAAIA,EAAK,UAAYuC,EAAQvC,EAAK,SAAS,UAAU,EAAG,OAAOA,EAAK,SAAS,QAAQ,KAAKA,CAAI,EAC9F,IAAMwC,EAAY,CAACxC,CAAI,EACvB,MAAQA,EAAOA,EAAK,SAAW,CAACA,EAAK,WAAaA,EAAK,UAAYW,KAAY,CAC7E,GAAItB,GAAqBC,EAAW,SAAS,IAAIU,CAAI,EAAG,QACpDX,EAAoBW,EAAK,OAASA,EAAK,QAAOwC,EAAU,KAAKxC,CAAI,CACvE,CACA,QAASK,EAAImC,EAAU,OAAS,EAAGnC,GAAK,EAAGA,IAAK,CAE9C,GADAL,EAAOwC,EAAUnC,CAAC,EACdhB,EAAmB,CACrB,IAAIoD,EAAMzC,EACR0C,EAAOF,EAAUnC,EAAI,CAAC,EACxB,MAAQoC,EAAMA,EAAI,QAAUA,IAAQC,GAClC,GAAIpD,EAAW,SAAS,IAAImD,CAAG,EAAG,MAEtC,CACA,IAAKpD,EAAoBW,EAAK,OAASA,EAAK,SAAWT,EACrDC,EAAkBQ,CAAI,WACZX,EAAoBW,EAAK,OAASA,EAAK,SAAWsC,GAAS,CACrE,IAAM7C,EAAUC,EAChBA,EAAU,KACVC,EAAW,IAAMC,GAAaI,EAAMwC,EAAU,CAAC,CAAC,EAAG,EAAK,EACxD9C,EAAUD,CACZ,CACF,CACF,CACA,SAASE,EAAWyB,EAAIC,EAAM,CAC5B,GAAI3B,EAAS,OAAO0B,EAAG,EACvB,IAAIuB,EAAO,GACNtB,IAAM3B,EAAU,CAAC,GAClBa,EAASoC,EAAO,GAAUpC,EAAU,CAAC,EACzCI,KACA,GAAI,CACF,IAAMiC,EAAMxB,EAAG,EACf,OAAAyB,GAAgBF,CAAI,EACbC,CACT,OAAS3B,EAAK,CACP0B,IAAMpC,EAAU,MACrBb,EAAU,KACVwB,GAAYD,CAAG,CACjB,CACF,CACA,SAAS4B,GAAgBF,EAAM,CAK7B,GAJIjD,IACEoD,IAAaxD,GAAcA,EAAW,QAASyD,GAAcrD,CAAO,EAAOsD,GAAStD,CAAO,EAC/FA,EAAU,MAERiD,EAAM,OACV,IAAIC,EACJ,GAAItD,GACF,GAAI,CAACA,EAAW,SAAS,MAAQ,CAACA,EAAW,MAAM,KAAM,CACvD,IAAM2D,EAAU3D,EAAW,QACrB4D,EAAW5D,EAAW,SAC5BiB,EAAQ,KAAK,MAAMA,EAASjB,EAAW,OAAO,EAC9CsD,EAAMtD,EAAW,QACjB,QAAW6D,KAAK5C,EACd,WAAY4C,IAAMA,EAAE,MAAQA,EAAE,QAC9B,OAAOA,EAAE,OAEX7D,EAAa,KACbK,EAAW,IAAM,CACf,QAAWyD,KAAKF,EAAUzC,EAAU2C,CAAC,EACrC,QAAWC,KAAKJ,EAAS,CAEvB,GADAI,EAAE,MAAQA,EAAE,OACRA,EAAE,MACJ,QAAS,EAAI,EAAGC,EAAMD,EAAE,MAAM,OAAQ,EAAIC,EAAK,IAAK7C,EAAU4C,EAAE,MAAM,CAAC,CAAC,EAEtEA,EAAE,SAAQA,EAAE,MAAQA,EAAE,QAC1B,OAAOA,EAAE,OACT,OAAOA,EAAE,OACTA,EAAE,OAAS,CACb,CACAE,GAAgB,EAAK,CACvB,EAAG,EAAK,CACV,SAAWjE,EAAW,QAAS,CAC7BA,EAAW,QAAU,GACrBA,EAAW,QAAQ,KAAK,MAAMA,EAAW,QAASiB,CAAO,EACzDA,EAAU,KACVgD,GAAgB,EAAI,EACpB,MACF,EAEF,IAAMJ,EAAI5C,EACVA,EAAU,KACN4C,EAAE,QAAQxD,EAAW,IAAM6D,GAAWL,CAAC,EAAG,EAAK,EAC/CP,GAAKA,EAAI,CACf,CACA,SAASI,GAASS,EAAO,CACvB,QAASpD,EAAI,EAAGA,EAAIoD,EAAM,OAAQpD,IAAKgC,GAAOoB,EAAMpD,CAAC,CAAC,CACxD,CACA,SAAS0C,GAAcU,EAAO,CAC5B,QAASpD,EAAI,EAAGA,EAAIoD,EAAM,OAAQpD,IAAK,CACrC,IAAMqD,EAAOD,EAAMpD,CAAC,EACdsD,EAAQrE,EAAW,MACpBqE,EAAM,IAAID,CAAI,IACjBC,EAAM,IAAID,CAAI,EACdZ,GAAU,IAAM,CACda,EAAM,OAAOD,CAAI,EACjB/D,EAAW,IAAM,CACfL,EAAW,QAAU,GACrB+C,GAAOqB,CAAI,CACb,EAAG,EAAK,EACRpE,IAAeA,EAAW,QAAU,GACtC,CAAC,EAEL,CACF,CACA,SAASsE,GAAeH,EAAO,CAC7B,IAAIpD,EACFwD,EAAa,EACf,IAAKxD,EAAI,EAAGA,EAAIoD,EAAM,OAAQpD,IAAK,CACjC,IAAM8C,EAAIM,EAAMpD,CAAC,EACZ8C,EAAE,KAAqBM,EAAMI,GAAY,EAAIV,EAArCd,GAAOc,CAAC,CACvB,CACA,GAAIW,EAAa,QAAS,CACxB,GAAIA,EAAa,MAAO,CACtBA,EAAa,UAAYA,EAAa,QAAU,CAAC,GACjDA,EAAa,QAAQ,KAAK,GAAGL,EAAM,MAAM,EAAGI,CAAU,CAAC,EACvD,MACF,CACAE,EAAkB,CACpB,CAMA,IALID,EAAa,UAAYA,EAAa,MAAQ,CAACA,EAAa,SAC9DL,EAAQ,CAAC,GAAGK,EAAa,QAAS,GAAGL,CAAK,EAC1CI,GAAcC,EAAa,QAAQ,OACnC,OAAOA,EAAa,SAEjBzD,EAAI,EAAGA,EAAIwD,EAAYxD,IAAKgC,GAAOoB,EAAMpD,CAAC,CAAC,CAClD,CACA,SAAST,GAAaI,EAAMgE,EAAQ,CAClC,IAAM3E,EAAoBC,GAAcA,EAAW,QAC/CD,EAAmBW,EAAK,OAAS,EAAOA,EAAK,MAAQ,EACzD,QAASK,EAAI,EAAGA,EAAIL,EAAK,QAAQ,OAAQK,GAAK,EAAG,CAC/C,IAAM4D,EAASjE,EAAK,QAAQK,CAAC,EAC7B,GAAI4D,EAAO,QAAS,CAClB,IAAM1C,EAAQlC,EAAoB4E,EAAO,OAASA,EAAO,MACrD1C,IAAUhC,EACR0E,IAAWD,IAAW,CAACC,EAAO,WAAaA,EAAO,UAAYtD,KAAY0B,GAAO4B,CAAM,EAClF1C,IAAUe,IAAS1C,GAAaqE,EAAQD,CAAM,CAC3D,CACF,CACF,CACA,SAASxD,GAAeR,EAAM,CAC5B,IAAMX,EAAoBC,GAAcA,EAAW,QACnD,QAASe,EAAI,EAAGA,EAAIL,EAAK,UAAU,OAAQK,GAAK,EAAG,CACjD,IAAMC,EAAIN,EAAK,UAAUK,CAAC,GACtBhB,EAAoB,CAACiB,EAAE,OAAS,CAACA,EAAE,SACjCjB,EAAmBiB,EAAE,OAASgC,GAAahC,EAAE,MAAQgC,GACrDhC,EAAE,KAAMZ,EAAQ,KAAKY,CAAC,EAAOC,EAAQ,KAAKD,CAAC,EAC/CA,EAAE,WAAaE,GAAeF,CAAC,EAEnC,CACF,CACA,SAASG,EAAUT,EAAM,CACvB,IAAIK,EACJ,GAAIL,EAAK,QACP,KAAOA,EAAK,QAAQ,QAAQ,CAC1B,IAAMiE,EAASjE,EAAK,QAAQ,IAAI,EAC9BkE,EAAQlE,EAAK,YAAY,IAAI,EAC7BmE,EAAMF,EAAO,UACf,GAAIE,GAAOA,EAAI,OAAQ,CACrB,IAAMC,EAAID,EAAI,IAAI,EAChBE,EAAIJ,EAAO,cAAc,IAAI,EAC3BC,EAAQC,EAAI,SACdC,EAAE,YAAYC,CAAC,EAAIH,EACnBC,EAAID,CAAK,EAAIE,EACbH,EAAO,cAAcC,CAAK,EAAIG,EAElC,CACF,CAEF,GAAIrE,EAAK,OAAQ,CACf,IAAKK,EAAIL,EAAK,OAAO,OAAS,EAAGK,GAAK,EAAGA,IAAKI,EAAUT,EAAK,OAAOK,CAAC,CAAC,EACtE,OAAOL,EAAK,MACd,CACA,GAAIV,GAAcA,EAAW,SAAWU,EAAK,KAC3CsE,GAAMtE,EAAM,EAAI,UACPA,EAAK,MAAO,CACrB,IAAKK,EAAIL,EAAK,MAAM,OAAS,EAAGK,GAAK,EAAGA,IAAKI,EAAUT,EAAK,MAAMK,CAAC,CAAC,EACpEL,EAAK,MAAQ,IACf,CACA,GAAIA,EAAK,SAAU,CACjB,IAAKK,EAAIL,EAAK,SAAS,OAAS,EAAGK,GAAK,EAAGA,IAAKL,EAAK,SAASK,CAAC,EAAE,EACjEL,EAAK,SAAW,IAClB,CACIV,GAAcA,EAAW,QAASU,EAAK,OAAS,EAAOA,EAAK,MAAQ,CAC1E,CACA,SAASsE,GAAMtE,EAAMyC,EAAK,CAKxB,GAJKA,IACHzC,EAAK,OAAS,EACdV,EAAW,SAAS,IAAIU,CAAI,GAE1BA,EAAK,MACP,QAASK,EAAI,EAAGA,EAAIL,EAAK,MAAM,OAAQK,IAAKiE,GAAMtE,EAAK,MAAMK,CAAC,CAAC,CAEnE,CACA,SAASkE,GAAUtD,EAAK,CACtB,OAAIA,aAAe,MAAcA,EAC1B,IAAI,MAAM,OAAOA,GAAQ,SAAWA,EAAM,gBAAiB,CAChE,MAAOA,CACT,CAAC,CACH,CACA,SAASuD,GAAUvD,EAAKwD,EAAK1D,EAAO,CAClC,GAAI,CACF,QAAW2D,KAAKD,EAAKC,EAAEzD,CAAG,CAC5B,OAASkC,EAAG,CACVjC,GAAYiC,EAAGpC,GAASA,EAAM,OAAS,IAAI,CAC7C,CACF,CACA,SAASG,GAAYD,EAAKF,EAAQF,EAAO,CACvC,IAAM4D,EAAME,IAAS5D,GAASA,EAAM,SAAWA,EAAM,QAAQ4D,EAAK,EAC5DC,EAAQL,GAAUtD,CAAG,EAC3B,GAAI,CAACwD,EAAK,MAAMG,EACZrE,EAASA,EAAQ,KAAK,CACxB,IAAK,CACHiE,GAAUI,EAAOH,EAAK1D,CAAK,CAC7B,EACA,MAAOxB,CACT,CAAC,EAAOiF,GAAUI,EAAOH,EAAK1D,CAAK,CACrC,CACA,SAAS8D,GAAgBC,EAAU,CACjC,GAAI,OAAOA,GAAa,YAAc,CAACA,EAAS,OAAQ,OAAOD,GAAgBC,EAAS,CAAC,EACzF,GAAI,MAAM,QAAQA,CAAQ,EAAG,CAC3B,IAAMC,EAAU,CAAC,EACjB,QAAS1E,EAAI,EAAGA,EAAIyE,EAAS,OAAQzE,IAAK,CACxC,IAAM2E,EAASH,GAAgBC,EAASzE,CAAC,CAAC,EAC1C,MAAM,QAAQ2E,CAAM,EAAID,EAAQ,KAAK,MAAMA,EAASC,CAAM,EAAID,EAAQ,KAAKC,CAAM,CACnF,CACA,OAAOD,CACT,CACA,OAAOD,CACT,CACA,SAASG,GAAeC,EAAI1D,EAAS,CACnC,OAAO,SAAkB2D,EAAO,CAC9B,IAAIvC,EACJ,OAAAwC,EAAmB,IAAMxC,EAAML,EAAQ,KACrC1B,EAAM,QAAU,CACd,GAAGA,EAAM,QACT,CAACqE,CAAE,EAAGC,EAAM,KACd,EACOL,GAAS,IAAMK,EAAM,QAAQ,EACrC,EAAG,MAAS,EACNvC,CACT,CACF,CAuEA,IAAMyC,GAAW,OAAO,UAAU,EAClC,SAASC,GAAQC,EAAG,CAClB,QAASC,EAAI,EAAGA,EAAID,EAAE,OAAQC,IAAKD,EAAEC,CAAC,EAAE,CAC1C,CACA,SAASC,GAASC,EAAMC,EAAOC,EAAU,CAAC,EAAG,CAC3C,IAAIC,EAAQ,CAAC,EACXC,EAAS,CAAC,EACVC,EAAY,CAAC,EACbC,EAAM,EACNC,EAAUN,EAAM,OAAS,EAAI,CAAC,EAAI,KACpC,OAAAO,EAAU,IAAMZ,GAAQS,CAAS,CAAC,EAC3B,IAAM,CACX,IAAII,EAAWT,EAAK,GAAK,CAAC,EACxBU,EAASD,EAAS,OAClBX,EACAa,EACF,OAAAF,EAASG,EAAM,EACRC,EAAQ,IAAM,CACnB,IAAIC,EAAYC,EAAgBC,EAAMC,EAAeC,EAAaC,EAAOC,EAAKC,EAAQC,EACtF,GAAIZ,IAAW,EACTJ,IAAQ,IACVV,GAAQS,CAAS,EACjBA,EAAY,CAAC,EACbF,EAAQ,CAAC,EACTC,EAAS,CAAC,EACVE,EAAM,EACNC,IAAYA,EAAU,CAAC,IAErBL,EAAQ,WACVC,EAAQ,CAACR,EAAQ,EACjBS,EAAO,CAAC,EAAImB,EAAWC,IACrBnB,EAAU,CAAC,EAAImB,EACRtB,EAAQ,SAAS,EACzB,EACDI,EAAM,WAGDA,IAAQ,EAAG,CAElB,IADAF,EAAS,IAAI,MAAMM,CAAM,EACpBC,EAAI,EAAGA,EAAID,EAAQC,IACtBR,EAAMQ,CAAC,EAAIF,EAASE,CAAC,EACrBP,EAAOO,CAAC,EAAIY,EAAWE,CAAM,EAE/BnB,EAAMI,CACR,KAAO,CAIL,IAHAM,EAAO,IAAI,MAAMN,CAAM,EACvBO,EAAgB,IAAI,MAAMP,CAAM,EAChCH,IAAYW,EAAc,IAAI,MAAMR,CAAM,GACrCS,EAAQ,EAAGC,EAAM,KAAK,IAAId,EAAKI,CAAM,EAAGS,EAAQC,GAAOjB,EAAMgB,CAAK,IAAMV,EAASU,CAAK,EAAGA,IAAQ,CACtG,IAAKC,EAAMd,EAAM,EAAGe,EAASX,EAAS,EAAGU,GAAOD,GAASE,GAAUF,GAAShB,EAAMiB,CAAG,IAAMX,EAASY,CAAM,EAAGD,IAAOC,IAClHL,EAAKK,CAAM,EAAIjB,EAAOgB,CAAG,EACzBH,EAAcI,CAAM,EAAIhB,EAAUe,CAAG,EACrCb,IAAYW,EAAYG,CAAM,EAAId,EAAQa,CAAG,GAI/C,IAFAN,EAAa,IAAI,IACjBC,EAAiB,IAAI,MAAMM,EAAS,CAAC,EAChCV,EAAIU,EAAQV,GAAKQ,EAAOR,IAC3BW,EAAOb,EAASE,CAAC,EACjBb,EAAIgB,EAAW,IAAIQ,CAAI,EACvBP,EAAeJ,CAAC,EAAIb,IAAM,OAAY,GAAKA,EAC3CgB,EAAW,IAAIQ,EAAMX,CAAC,EAExB,IAAKb,EAAIqB,EAAOrB,GAAKsB,EAAKtB,IACxBwB,EAAOnB,EAAML,CAAC,EACda,EAAIG,EAAW,IAAIQ,CAAI,EACnBX,IAAM,QAAaA,IAAM,IAC3BK,EAAKL,CAAC,EAAIP,EAAON,CAAC,EAClBmB,EAAcN,CAAC,EAAIN,EAAUP,CAAC,EAC9BS,IAAYW,EAAYP,CAAC,EAAIJ,EAAQT,CAAC,GACtCa,EAAII,EAAeJ,CAAC,EACpBG,EAAW,IAAIQ,EAAMX,CAAC,GACjBN,EAAUP,CAAC,EAAE,EAEtB,IAAKa,EAAIQ,EAAOR,EAAID,EAAQC,IACtBA,KAAKK,GACPZ,EAAOO,CAAC,EAAIK,EAAKL,CAAC,EAClBN,EAAUM,CAAC,EAAIM,EAAcN,CAAC,EAC1BJ,IACFA,EAAQI,CAAC,EAAIO,EAAYP,CAAC,EAC1BJ,EAAQI,CAAC,EAAEA,CAAC,IAETP,EAAOO,CAAC,EAAIY,EAAWE,CAAM,EAEtCrB,EAASA,EAAO,MAAM,EAAGE,EAAMI,CAAM,EACrCP,EAAQM,EAAS,MAAM,CAAC,CAC1B,CACA,OAAOL,CACT,CAAC,EACD,SAASqB,EAAOD,EAAU,CAExB,GADAnB,EAAUM,CAAC,EAAIa,EACXjB,EAAS,CACX,GAAM,CAACmB,EAAGC,CAAG,EAAIC,EAAajB,CAAC,EAC/B,OAAAJ,EAAQI,CAAC,EAAIgB,EACN1B,EAAMQ,EAASE,CAAC,EAAGe,CAAC,CAC7B,CACA,OAAOzB,EAAMQ,EAASE,CAAC,CAAC,CAC1B,CACF,CACF,CA+DA,IAAIkB,GAAmB,GAIvB,SAASC,GAAgBC,EAAMC,EAAO,CACpC,GAAIC,IACEC,EAAa,QAAS,CACxB,IAAMC,EAAID,EAAa,QACvBE,EAAkBC,GAAmB,CAAC,EACtC,IAAM,EAAIC,EAAQ,IAAMP,EAAKC,GAAS,CAAC,CAAC,CAAC,EACzC,OAAAI,EAAkBD,CAAC,EACZ,CACT,CAEF,OAAOG,EAAQ,IAAMP,EAAKC,GAAS,CAAC,CAAC,CAAC,CACxC,CACA,SAASO,IAAS,CAChB,MAAO,EACT,CACA,IAAMC,GAAY,CAChB,IAAIC,EAAGC,EAAUC,EAAU,CACzB,OAAID,IAAaE,EAAeD,EACzBF,EAAE,IAAIC,CAAQ,CACvB,EACA,IAAID,EAAGC,EAAU,CACf,OAAIA,IAAaE,EAAe,GACzBH,EAAE,IAAIC,CAAQ,CACvB,EACA,IAAKH,GACL,eAAgBA,GAChB,yBAAyBE,EAAGC,EAAU,CACpC,MAAO,CACL,aAAc,GACd,WAAY,GACZ,KAAM,CACJ,OAAOD,EAAE,IAAIC,CAAQ,CACvB,EACA,IAAKH,GACL,eAAgBA,EAClB,CACF,EACA,QAAQE,EAAG,CACT,OAAOA,EAAE,KAAK,CAChB,CACF,EACA,SAASI,GAAcC,EAAG,CACxB,OAASA,EAAI,OAAOA,GAAM,WAAaA,EAAE,EAAIA,GAAUA,EAAL,CAAC,CACrD,CACA,SAASC,IAAiB,CACxB,QAASC,EAAI,EAAGC,EAAS,KAAK,OAAQD,EAAIC,EAAQ,EAAED,EAAG,CACrD,IAAME,EAAI,KAAKF,CAAC,EAAE,EAClB,GAAIE,IAAM,OAAW,OAAOA,CAC9B,CACF,CACA,SAASC,MAAcC,EAAS,CAC9B,IAAIC,EAAQ,GACZ,QAAS,EAAI,EAAG,EAAID,EAAQ,OAAQ,IAAK,CACvC,IAAMN,EAAIM,EAAQ,CAAC,EACnBC,EAAQA,GAAS,CAAC,CAACP,GAAKF,KAAUE,EAClCM,EAAQ,CAAC,EAAI,OAAON,GAAM,YAAcO,EAAQ,GAAMC,EAAWR,CAAC,GAAKA,CACzE,CACA,GAAIS,IAAkBF,EACpB,OAAO,IAAI,MAAM,CACf,IAAIX,EAAU,CACZ,QAASM,EAAII,EAAQ,OAAS,EAAGJ,GAAK,EAAGA,IAAK,CAC5C,IAAME,EAAIL,GAAcO,EAAQJ,CAAC,CAAC,EAAEN,CAAQ,EAC5C,GAAIQ,IAAM,OAAW,OAAOA,CAC9B,CACF,EACA,IAAIR,EAAU,CACZ,QAASM,EAAII,EAAQ,OAAS,EAAGJ,GAAK,EAAGA,IACvC,GAAIN,KAAYG,GAAcO,EAAQJ,CAAC,CAAC,EAAG,MAAO,GAEpD,MAAO,EACT,EACA,MAAO,CACL,IAAMQ,EAAO,CAAC,EACd,QAASR,EAAI,EAAGA,EAAII,EAAQ,OAAQJ,IAAKQ,EAAK,KAAK,GAAG,OAAO,KAAKX,GAAcO,EAAQJ,CAAC,CAAC,CAAC,CAAC,EAC5F,MAAO,CAAC,GAAG,IAAI,IAAIQ,CAAI,CAAC,CAC1B,CACF,EAAGhB,EAAS,EAEd,IAAMiB,EAAa,CAAC,EACdC,EAAU,OAAO,OAAO,IAAI,EAClC,QAAS,EAAIN,EAAQ,OAAS,EAAG,GAAK,EAAG,IAAK,CAC5C,IAAMO,EAASP,EAAQ,CAAC,EACxB,GAAI,CAACO,EAAQ,SACb,IAAMC,EAAa,OAAO,oBAAoBD,CAAM,EACpD,QAASX,EAAIY,EAAW,OAAS,EAAGZ,GAAK,EAAGA,IAAK,CAC/C,IAAMa,EAAMD,EAAWZ,CAAC,EACxB,GAAIa,IAAQ,aAAeA,IAAQ,cAAe,SAClD,IAAMC,EAAO,OAAO,yBAAyBH,EAAQE,CAAG,EACxD,GAAI,CAACH,EAAQG,CAAG,EACdH,EAAQG,CAAG,EAAIC,EAAK,IAAM,CACxB,WAAY,GACZ,aAAc,GACd,IAAKf,GAAe,KAAKU,EAAWI,CAAG,EAAI,CAACC,EAAK,IAAI,KAAKH,CAAM,CAAC,CAAC,CACpE,EAAIG,EAAK,QAAU,OAAYA,EAAO,WACjC,CACL,IAAMV,EAAUK,EAAWI,CAAG,EAC1BT,IACEU,EAAK,IAAKV,EAAQ,KAAKU,EAAK,IAAI,KAAKH,CAAM,CAAC,EAAWG,EAAK,QAAU,QAAWV,EAAQ,KAAK,IAAMU,EAAK,KAAK,EAEtH,CACF,CACF,CACA,IAAMC,EAAS,CAAC,EACVC,EAAc,OAAO,KAAKN,CAAO,EACvC,QAAS,EAAIM,EAAY,OAAS,EAAG,GAAK,EAAG,IAAK,CAChD,IAAMH,EAAMG,EAAY,CAAC,EACvBF,EAAOJ,EAAQG,CAAG,EAChBC,GAAQA,EAAK,IAAK,OAAO,eAAeC,EAAQF,EAAKC,CAAI,EAAOC,EAAOF,CAAG,EAAIC,EAAOA,EAAK,MAAQ,MACxG,CACA,OAAOC,CACT,CACA,SAASE,GAAWjC,KAAUwB,EAAM,CAClC,IAAMU,EAAMV,EAAK,OACjB,GAAID,IAAkBX,KAAUZ,EAAO,CACrC,IAAMmC,EAAUD,EAAM,EAAIV,EAAK,KAAK,EAAIA,EAAK,CAAC,EACxCY,EAAMZ,EAAK,IAAIa,GACZ,IAAI,MAAM,CACf,IAAI3B,EAAU,CACZ,OAAO2B,EAAE,SAAS3B,CAAQ,EAAIV,EAAMU,CAAQ,EAAI,MAClD,EACA,IAAIA,EAAU,CACZ,OAAO2B,EAAE,SAAS3B,CAAQ,GAAKA,KAAYV,CAC7C,EACA,MAAO,CACL,OAAOqC,EAAE,OAAO3B,GAAYA,KAAYV,CAAK,CAC/C,CACF,EAAGQ,EAAS,CACb,EACD,OAAA4B,EAAI,KAAK,IAAI,MAAM,CACjB,IAAI1B,EAAU,CACZ,OAAOyB,EAAQ,SAASzB,CAAQ,EAAI,OAAYV,EAAMU,CAAQ,CAChE,EACA,IAAIA,EAAU,CACZ,OAAOyB,EAAQ,SAASzB,CAAQ,EAAI,GAAQA,KAAYV,CAC1D,EACA,MAAO,CACL,OAAO,OAAO,KAAKA,CAAK,EAAE,OAAOqC,GAAK,CAACF,EAAQ,SAASE,CAAC,CAAC,CAC5D,CACF,EAAG7B,EAAS,CAAC,EACN4B,CACT,CACA,IAAME,EAAU,CAAC,EACjB,QAAStB,EAAI,EAAGA,GAAKkB,EAAKlB,IACxBsB,EAAQtB,CAAC,EAAI,CAAC,EAEhB,QAAWuB,KAAY,OAAO,oBAAoBvC,CAAK,EAAG,CACxD,IAAIwC,EAAWN,EACf,QAASlB,EAAI,EAAGA,EAAIQ,EAAK,OAAQR,IAC/B,GAAIQ,EAAKR,CAAC,EAAE,SAASuB,CAAQ,EAAG,CAC9BC,EAAWxB,EACX,KACF,CAEF,IAAMc,EAAO,OAAO,yBAAyB9B,EAAOuC,CAAQ,EACtC,CAACT,EAAK,KAAO,CAACA,EAAK,KAAOA,EAAK,YAAcA,EAAK,UAAYA,EAAK,aACzEQ,EAAQE,CAAQ,EAAED,CAAQ,EAAIT,EAAK,MAAQ,OAAO,eAAeQ,EAAQE,CAAQ,EAAGD,EAAUT,CAAI,CACpH,CACA,OAAOQ,CACT,CAmCA,IAAIG,GAAU,EACd,SAASC,IAAiB,CAExB,OADYC,EAAa,QACZA,EAAa,iBAAiB,EAAI,MAAMF,IAAS,EAChE,CAEA,IAAMG,GAAgBC,GAAQ,oBAAoBA,CAAI,KACtD,SAASC,GAAIC,EAAO,CAClB,IAAMC,EAAW,aAAcD,GAAS,CACtC,SAAU,IAAMA,EAAM,QACxB,EACA,OAAOE,EAAWC,GAAS,IAAMH,EAAM,KAAMA,EAAM,SAAUC,GAAY,MAAS,CAAC,CACrF,CAOA,SAASG,GAAKC,EAAO,CACnB,IAAMC,EAAQD,EAAM,MACdE,EAAiBC,EAAW,IAAMH,EAAM,KAAM,OAAW,MAAS,EAClEI,EAAYH,EAAQC,EAAiBC,EAAWD,EAAgB,OAAW,CAC/E,OAAQ,CAACG,EAAGC,IAAM,CAACD,GAAM,CAACC,CAC5B,CAAC,EACD,OAAOH,EAAW,IAAM,CACtB,IAAMI,EAAIH,EAAU,EACpB,GAAIG,EAAG,CACL,IAAMC,EAAQR,EAAM,SAEpB,OADW,OAAOQ,GAAU,YAAcA,EAAM,OAAS,EAC7CC,EAAQ,IAAMD,EAAMP,EAAQM,EAAI,IAAM,CAChD,GAAI,CAACE,EAAQL,CAAS,EAAG,MAAMM,GAAc,MAAM,EACnD,OAAOR,EAAe,CACxB,CAAC,CAAC,EAAIM,CACR,CACA,OAAOR,EAAM,QACf,EAAG,OAAW,MAAS,CACzB,CACA,SAASW,GAAOX,EAAO,CACrB,IAAMY,EAAMC,GAAS,IAAMb,EAAM,QAAQ,EACnCc,EAAaX,EAAW,IAAM,CAClC,IAAMY,EAAKH,EAAI,EACTI,EAAM,MAAM,QAAQD,CAAE,EAAIA,EAAK,CAACA,CAAE,EACpCE,EAAO,IAAG,GACd,QAAS,EAAI,EAAG,EAAID,EAAI,OAAQ,IAAK,CACnC,IAAME,EAAQ,EACRC,EAAKH,EAAI,CAAC,EACVI,EAAWH,EACXf,EAAiBC,EAAW,IAAMiB,EAAS,EAAI,OAAYD,EAAG,KAAM,OAAW,MAAS,EACxFf,EAAYe,EAAG,MAAQjB,EAAiBC,EAAWD,EAAgB,OAAW,CAClF,OAAQ,CAACG,EAAGC,IAAM,CAACD,GAAM,CAACC,CAC5B,CAAC,EACDW,EAAO,IAAMG,EAAS,IAAMhB,EAAU,EAAI,CAACc,EAAOhB,EAAgBiB,CAAE,EAAI,OAC1E,CACA,OAAOF,CACT,CAAC,EACD,OAAOd,EAAW,IAAM,CACtB,IAAMkB,EAAMP,EAAW,EAAE,EACzB,GAAI,CAACO,EAAK,OAAOrB,EAAM,SACvB,GAAM,CAACkB,EAAOhB,EAAgBiB,CAAE,EAAIE,EAC9Bb,EAAQW,EAAG,SAEjB,OADW,OAAOX,GAAU,YAAcA,EAAM,OAAS,EAC7CC,EAAQ,IAAMD,EAAMW,EAAG,MAAQjB,EAAe,EAAI,IAAM,CAClE,GAAIO,EAAQK,CAAU,EAAE,IAAI,CAAC,IAAMI,EAAO,MAAMR,GAAc,OAAO,EACrE,OAAOR,EAAe,CACxB,CAAC,CAAC,EAAIM,CACR,EAAG,OAAW,MAAS,CACzB,CACA,SAASc,GAAMtB,EAAO,CACpB,OAAOA,CACT,CAuBA,IAAMuB,GAAqCC,GAAc,EA2EzD,SAASC,GAASC,EAAO,CACvB,IAAIC,EAAU,EACZC,EACAC,EACAC,EACAC,EACAC,EACI,CAACC,EAAYC,CAAW,EAAIC,EAAa,EAAK,EAClDC,EAAkBC,GAAmB,EACrCC,EAAQ,CACN,UAAW,IAAM,CACX,EAAEX,IAAY,GAAGO,EAAY,EAAI,CACvC,EACA,UAAW,IAAM,CACX,EAAEP,IAAY,GAAGO,EAAY,EAAK,CACxC,EACA,WAAAD,EACA,QAAS,CAAC,EACV,SAAU,EACZ,EACAM,EAAQC,GAAS,EACnB,GAAIC,EAAa,SAAWA,EAAa,KAAM,CAC7C,IAAMC,EAAMD,EAAa,aAAa,EAClCE,EAAMF,EAAa,KAAKC,CAAG,EAI/B,GAHIC,IACE,OAAOA,GAAQ,UAAYA,EAAI,IAAM,EAAGb,EAAIa,EAASF,EAAa,OAAOC,CAAG,GAE9EZ,GAAKA,IAAM,MAAO,CACpB,GAAM,CAACc,EAAGC,CAAG,EAAIV,EAAa,OAAW,CACvC,OAAQ,EACV,CAAC,EACDJ,EAAUa,EACVd,EAAE,KAAK,IAAM,CACX,GAAIW,EAAa,KAAM,OAAOI,EAAI,EAClCJ,EAAa,OAAOC,CAAG,EACvBI,EAAkBjB,CAAG,EACrBgB,EAAI,EACJC,EAAkB,CACpB,EAAGC,GAAO,CACRf,EAAQe,EACRF,EAAI,CACN,CAAC,CACH,CACF,CACA,IAAMG,EAAcC,GAAWC,EAAmB,EAC9CF,IAAapB,EAAOoB,EAAY,SAASV,EAAM,UAAU,GAC7D,IAAIa,EACJ,OAAAC,EAAU,IAAMD,GAAWA,EAAQ,CAAC,EAC7BE,GAAgBjB,EAAgB,SAAU,CAC/C,MAAOE,EACP,IAAI,UAAW,CACb,OAAOgB,EAAW,IAAM,CACtB,GAAItB,EAAO,MAAMA,EAEjB,GADAH,EAAMY,EAAa,QACfV,EACF,OAAAA,EAAQ,EACDA,EAAU,OAEfF,GAAOC,IAAM,OAAOgB,EAAkB,EAC1C,IAAMS,EAAWD,EAAW,IAAM5B,EAAM,QAAQ,EAChD,OAAO4B,EAAWE,GAAQ,CACxB,IAAMvB,EAAaK,EAAM,WAAW,EAClC,CACE,YAAAmB,EAAc,GACd,aAAAC,EAAe,EACjB,EAAI9B,EAAOA,EAAK,EAAI,CAAC,EACvB,IAAK,CAACK,GAAcH,GAAKA,IAAM,QAAU2B,EACvC,OAAAnB,EAAM,SAAW,GACjBa,GAAWA,EAAQ,EACnBA,EAAUtB,EAAMC,EAAI,OACpB6B,GAAcrB,EAAM,OAAO,EACpBiB,EAAS,EAElB,GAAKG,EACL,OAAIP,EAAgBK,EACbI,EAAWC,IAChBV,EAAUU,EACNhC,IACFiB,EAAkB,CAChB,GAAIjB,EAAI,GAAK,IACb,MAAO,CACT,CAAC,EACDA,EAAM,QAEDH,EAAM,UACZa,CAAK,CACV,CAAC,CACH,CAAC,CACH,CACF,CAAC,CACH,CAEA,IAAMuB,GAAM,OChqDZ,IAAMC,GAAW,CAAC,kBAAmB,QAAS,QAC9C,YACA,WAAY,UAAW,WAAY,UAAW,WAAY,iBAAkB,SAC5E,gBAAiB,QACjB,QAAS,OAAQ,WAAY,QAAS,WAAY,aAAc,OAAQ,cAAe,WAAY,WAAY,WAAY,WAC3H,WAAY,mBACZ,iBACA,iBACA,iBAAkB,eAAgB,kBAAmB,QAAS,0BAA2B,wBAAyB,iBAClH,qBAAsB,kCACtB,2BAA4B,yBAC5B,uBACA,EACMC,GAA0B,IAAI,IAAI,CACxC,YAAa,QACb,WAAY,aAAc,iBAAkB,QAAS,WAAY,cAAe,mBAChF,kBAAmB,iBACnB,iBAAkB,eAAgB,kBAAmB,0BAA2B,wBAAyB,iBAAkB,qBAAsB,kCACjJ,2BAA4B,yBAC5B,wBACA,GAAGD,EAAQ,CAAC,EACNE,GAA+B,IAAI,IAAI,CAAC,YAAa,cAAe,YAAa,UAAU,CAAC,EAC5FC,GAAuB,OAAO,OAAO,OAAO,OAAO,IAAI,EAAG,CAC9D,UAAW,QACX,QAAS,KACX,CAAC,EACKC,GAA2B,OAAO,OAAO,OAAO,OAAO,IAAI,EAAG,CAClE,MAAO,YACP,WAAY,CACV,EAAG,aACH,KAAM,CACR,EACA,eAAgB,CACd,EAAG,iBACH,OAAQ,EACR,MAAO,CACT,EACA,MAAO,CACL,EAAG,QACH,IAAK,CACP,EACA,SAAU,CACR,EAAG,WACH,OAAQ,CACV,EACA,YAAa,CACX,EAAG,cACH,MAAO,CACT,EACA,SAAU,CACR,EAAG,WACH,MAAO,EACP,SAAU,CACZ,EACA,iBAAkB,CAChB,EAAG,mBACH,OAAQ,CACV,EACA,gBAAiB,CACf,EAAG,kBACH,OAAQ,CACV,EACA,eAAgB,CACd,EAAG,iBACH,IAAK,CACP,EACA,eAAgB,CACd,EAAG,iBACH,MAAO,CACT,EACA,aAAc,CACZ,EAAG,eACH,MAAO,EACP,MAAO,CACT,EACA,gBAAiB,CACf,EAAG,kBACH,OAAQ,CACV,EACA,wBAAyB,CACvB,EAAG,0BACH,MAAO,CACT,EACA,sBAAuB,CACrB,EAAG,wBACH,MAAO,EACP,MAAO,CACT,EACA,eAAgB,CACd,EAAG,iBACH,MAAO,EACP,MAAO,CACT,EACA,mBAAoB,CAClB,EAAG,qBACH,SAAU,CACZ,EACA,yBAA0B,CACxB,EAAG,2BACH,SAAU,CACZ,EACA,uBAAwB,CACtB,EAAG,yBACH,SAAU,CACZ,EACA,sBAAuB,CACrB,EAAG,wBACH,OAAQ,EACR,IAAK,CACP,CACF,CAAC,EACD,SAASC,GAAaC,EAAMC,EAAS,CACnC,IAAMC,EAAIJ,GAAYE,CAAI,EAC1B,OAAO,OAAOE,GAAM,SAAWA,EAAED,CAAO,EAAIC,EAAE,EAAO,OAAYA,CACnE,CACA,IAAMC,GAA+B,IAAI,IAAI,CAAC,cAAe,QAAS,WAAY,cAAe,UAAW,WAAY,QAAS,UAAW,QAAS,YAAa,YAAa,WAAY,YAAa,UAAW,cAAe,cAAe,aAAc,cAAe,YAAa,WAAY,YAAa,YAAY,CAAC,EAC3TC,GAA2B,IAAI,IAAI,CACzC,WAAY,cAAe,eAAgB,UAAW,eAAgB,gBAAiB,mBAAoB,SAAU,WAAY,gBAAiB,SAAU,OAAQ,OAAQ,UAAW,UAAW,gBAAiB,sBAAuB,cAAe,mBAAoB,oBAAqB,oBAAqB,iBAAkB,eAAgB,UAAW,UAAW,UAAW,UAAW,UAAW,iBAAkB,UAAW,UAAW,cAAe,eAAgB,WAAY,eAAgB,qBAAsB,cAAe,SAAU,eAAgB,SAAU,OAAQ,YAAa,mBAAoB,iBAAkB,gBAAiB,gBAAiB,gBAAiB,IAAK,QAAS,WAAY,QAAS,QAAS,OAAQ,iBAAkB,SAAU,OAAQ,WAAY,gBAAiB,QAAS,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OACp2B,MAAO,OACP,MAAO,SAAU,SAAU,OAAQ,WACnC,OAAQ,QAAS,MAAO,OAAQ,OAAO,CAAC,EAClCC,GAAe,CACnB,MAAO,+BACP,IAAK,sCACP,EAKA,IAAMC,GAAOC,GAAMC,EAAW,IAAMD,EAAG,CAAC,EAExC,SAASE,GAAgBC,EAAYC,EAAGC,EAAG,CACzC,IAAIC,EAAUD,EAAE,OACdE,EAAOH,EAAE,OACTI,EAAOF,EACPG,EAAS,EACTC,EAAS,EACTC,EAAQP,EAAEG,EAAO,CAAC,EAAE,YACpBK,EAAM,KACR,KAAOH,EAASF,GAAQG,EAASF,GAAM,CACrC,GAAIJ,EAAEK,CAAM,IAAMJ,EAAEK,CAAM,EAAG,CAC3BD,IACAC,IACA,QACF,CACA,KAAON,EAAEG,EAAO,CAAC,IAAMF,EAAEG,EAAO,CAAC,GAC/BD,IACAC,IAEF,GAAID,IAASE,EAAQ,CACnB,IAAMI,EAAOL,EAAOF,EAAUI,EAASL,EAAEK,EAAS,CAAC,EAAE,YAAcL,EAAEG,EAAOE,CAAM,EAAIC,EACtF,KAAOD,EAASF,GAAML,EAAW,aAAaE,EAAEK,GAAQ,EAAGG,CAAI,CACjE,SAAWL,IAASE,EAClB,KAAOD,EAASF,IACV,CAACK,GAAO,CAACA,EAAI,IAAIR,EAAEK,CAAM,CAAC,IAAGL,EAAEK,CAAM,EAAE,OAAO,EAClDA,YAEOL,EAAEK,CAAM,IAAMJ,EAAEG,EAAO,CAAC,GAAKH,EAAEK,CAAM,IAAMN,EAAEG,EAAO,CAAC,EAAG,CACjE,IAAMM,EAAOT,EAAE,EAAEG,CAAI,EAAE,YACvBJ,EAAW,aAAaE,EAAEK,GAAQ,EAAGN,EAAEK,GAAQ,EAAE,WAAW,EAC5DN,EAAW,aAAaE,EAAE,EAAEG,CAAI,EAAGK,CAAI,EACvCT,EAAEG,CAAI,EAAIF,EAAEG,CAAI,CAClB,KAAO,CACL,GAAI,CAACI,EAAK,CACRA,EAAM,IAAI,IACV,IAAIE,EAAIJ,EACR,KAAOI,EAAIN,GAAMI,EAAI,IAAIP,EAAES,CAAC,EAAGA,GAAG,CACpC,CACA,IAAMC,EAAQH,EAAI,IAAIR,EAAEK,CAAM,CAAC,EAC/B,GAAIM,GAAS,KACX,GAAIL,EAASK,GAASA,EAAQP,EAAM,CAClC,IAAIM,EAAIL,EACNO,EAAW,EACXC,EACF,KAAO,EAAEH,EAAIP,GAAQO,EAAIN,GAClB,GAAAS,EAAIL,EAAI,IAAIR,EAAEU,CAAC,CAAC,IAAM,MAAQG,IAAMF,EAAQC,IACjDA,IAEF,GAAIA,EAAWD,EAAQL,EAAQ,CAC7B,IAAMG,EAAOT,EAAEK,CAAM,EACrB,KAAOC,EAASK,GAAOZ,EAAW,aAAaE,EAAEK,GAAQ,EAAGG,CAAI,CAClE,MAAOV,EAAW,aAAaE,EAAEK,GAAQ,EAAGN,EAAEK,GAAQ,CAAC,CACzD,MAAOA,SACFL,EAAEK,GAAQ,EAAE,OAAO,CAC5B,CACF,CACF,CAEA,IAAMS,GAAW,gBACjB,SAASC,GAAOC,EAAMC,EAASC,EAAMC,EAAU,CAAC,EAAG,CACjD,IAAIC,EACJ,OAAAC,EAAWC,GAAW,CACpBF,EAAWE,EACXL,IAAY,SAAWD,EAAK,EAAIO,GAAON,EAASD,EAAK,EAAGC,EAAQ,WAAa,KAAO,OAAWC,CAAI,CACrG,EAAGC,EAAQ,KAAK,EACT,IAAM,CACXC,EAAS,EACTH,EAAQ,YAAc,EACxB,CACF,CACA,SAASO,GAASC,EAAMC,EAAcC,EAAOC,EAAU,CACrD,IAAInB,EACEoB,EAAS,IAAM,CACnB,IAAMhB,EAAIe,EAAW,SAAS,gBAAgB,qCAAsC,UAAU,EAAI,SAAS,cAAc,UAAU,EACnI,OAAAf,EAAE,UAAYY,EACPE,EAAQd,EAAE,QAAQ,WAAW,WAAae,EAAWf,EAAE,WAAaA,EAAE,QAAQ,UACvF,EACMjB,EAAK8B,EAAe,IAAMI,EAAQ,IAAM,SAAS,WAAWrB,IAASA,EAAOoB,EAAO,GAAI,EAAI,CAAC,EAAI,KAAOpB,IAASA,EAAOoB,EAAO,IAAI,UAAU,EAAI,EACtJ,OAAAjC,EAAG,UAAYA,EACRA,CACT,CACA,SAASmC,GAAeC,EAAYC,EAAW,OAAO,SAAU,CAC9D,IAAMC,EAAID,EAASnB,EAAQ,IAAMmB,EAASnB,EAAQ,EAAI,IAAI,KAC1D,QAASJ,EAAI,EAAGyB,EAAIH,EAAW,OAAQtB,EAAIyB,EAAGzB,IAAK,CACjD,IAAM0B,EAAOJ,EAAWtB,CAAC,EACpBwB,EAAE,IAAIE,CAAI,IACbF,EAAE,IAAIE,CAAI,EACVH,EAAS,iBAAiBG,EAAMC,EAAY,EAEhD,CACF,CAWA,SAASC,GAAaC,EAAMC,EAAMC,EAAO,CACnCC,EAAYH,CAAI,IAChBE,GAAS,KAAMF,EAAK,gBAAgBC,CAAI,EAAOD,EAAK,aAAaC,EAAMC,CAAK,EAClF,CACA,SAASE,GAAeJ,EAAMK,EAAWJ,EAAMC,EAAO,CAChDC,EAAYH,CAAI,IAChBE,GAAS,KAAMF,EAAK,kBAAkBK,EAAWJ,CAAI,EAAOD,EAAK,eAAeK,EAAWJ,EAAMC,CAAK,EAC5G,CACA,SAASI,GAAiBN,EAAMC,EAAMC,EAAO,CACvCC,EAAYH,CAAI,IACpBE,EAAQF,EAAK,aAAaC,EAAM,EAAE,EAAID,EAAK,gBAAgBC,CAAI,EACjE,CACA,SAASM,GAAUP,EAAME,EAAO,CAC1BC,EAAYH,CAAI,IAChBE,GAAS,KAAMF,EAAK,gBAAgB,OAAO,EAAOA,EAAK,UAAYE,EACzE,CACA,SAASM,GAAiBR,EAAMC,EAAMQ,EAASC,EAAU,CACvD,GAAIA,EACE,MAAM,QAAQD,CAAO,GACvBT,EAAK,KAAKC,CAAI,EAAE,EAAIQ,EAAQ,CAAC,EAC7BT,EAAK,KAAKC,CAAI,MAAM,EAAIQ,EAAQ,CAAC,GAC5BT,EAAK,KAAKC,CAAI,EAAE,EAAIQ,UAClB,MAAM,QAAQA,CAAO,EAAG,CACjC,IAAME,EAAYF,EAAQ,CAAC,EAC3BT,EAAK,iBAAiBC,EAAMQ,EAAQ,CAAC,EAAIG,GAAKD,EAAU,KAAKX,EAAMS,EAAQ,CAAC,EAAGG,CAAC,CAAC,CACnF,MAAOZ,EAAK,iBAAiBC,EAAMQ,EAAS,OAAOA,GAAY,YAAcA,CAAO,CACtF,CACA,SAASI,GAAUb,EAAME,EAAOY,EAAO,CAAC,EAAG,CACzC,IAAMC,EAAY,OAAO,KAAKb,GAAS,CAAC,CAAC,EACvCc,EAAW,OAAO,KAAKF,CAAI,EACzBG,EAAGC,EACP,IAAKD,EAAI,EAAGC,EAAMF,EAAS,OAAQC,EAAIC,EAAKD,IAAK,CAC/C,IAAME,EAAMH,EAASC,CAAC,EAClB,CAACE,GAAOA,IAAQ,aAAejB,EAAMiB,CAAG,IAC5CC,GAAepB,EAAMmB,EAAK,EAAK,EAC/B,OAAOL,EAAKK,CAAG,EACjB,CACA,IAAKF,EAAI,EAAGC,EAAMH,EAAU,OAAQE,EAAIC,EAAKD,IAAK,CAChD,IAAME,EAAMJ,EAAUE,CAAC,EACrBI,EAAa,CAAC,CAACnB,EAAMiB,CAAG,EACtB,CAACA,GAAOA,IAAQ,aAAeL,EAAKK,CAAG,IAAME,GAAc,CAACA,IAChED,GAAepB,EAAMmB,EAAK,EAAI,EAC9BL,EAAKK,CAAG,EAAIE,EACd,CACA,OAAOP,CACT,CACA,SAASQ,GAAMtB,EAAME,EAAOY,EAAM,CAChC,GAAI,CAACZ,EAAO,OAAOY,EAAOf,GAAaC,EAAM,OAAO,EAAIE,EACxD,IAAMqB,EAAYvB,EAAK,MACvB,GAAI,OAAOE,GAAU,SAAU,OAAOqB,EAAU,QAAUrB,EAC1D,OAAOY,GAAS,WAAaS,EAAU,QAAUT,EAAO,QACxDA,IAASA,EAAO,CAAC,GACjBZ,IAAUA,EAAQ,CAAC,GACnB,IAAIsB,EAAG,EACP,IAAK,KAAKV,EACRZ,EAAM,CAAC,GAAK,MAAQqB,EAAU,eAAe,CAAC,EAC9C,OAAOT,EAAK,CAAC,EAEf,IAAK,KAAKZ,EACRsB,EAAItB,EAAM,CAAC,EACPsB,IAAMV,EAAK,CAAC,IACdS,EAAU,YAAY,EAAGC,CAAC,EAC1BV,EAAK,CAAC,EAAIU,GAGd,OAAOV,CACT,CACA,SAASW,GAAiBzB,EAAMC,EAAMC,EAAO,CAC3CA,GAAS,KAAOF,EAAK,MAAM,YAAYC,EAAMC,CAAK,EAAIF,EAAK,MAAM,eAAeC,CAAI,CACtF,CACA,SAASyB,GAAO1B,EAAM2B,EAAQ,CAAC,EAAGC,EAAOC,EAAc,CACrD,IAAMC,EAAY,CAAC,EACnB,OAAKD,GACHE,EAAmB,IAAMD,EAAU,SAAWE,GAAiBhC,EAAM2B,EAAM,SAAUG,EAAU,QAAQ,CAAC,EAE1GC,EAAmB,IAAM,OAAOJ,EAAM,KAAQ,YAAcM,GAAIN,EAAM,IAAK3B,CAAI,CAAC,EAChF+B,EAAmB,IAAMG,GAAOlC,EAAM2B,EAAOC,EAAO,GAAME,EAAW,EAAI,CAAC,EACnEA,CACT,CAWA,SAASK,GAAIC,EAAIC,EAASC,EAAK,CAC7B,OAAOC,EAAQ,IAAMH,EAAGC,EAASC,CAAG,CAAC,CACvC,CACA,SAASE,GAAOC,EAAQC,EAAUC,EAAQC,EAAS,CAEjD,GADID,IAAW,QAAa,CAACC,IAASA,EAAU,CAAC,GAC7C,OAAOF,GAAa,WAAY,OAAOG,GAAiBJ,EAAQC,EAAUE,EAASD,CAAM,EAC7FG,EAAmBC,GAAWF,GAAiBJ,EAAQC,EAAS,EAAGK,EAASJ,CAAM,EAAGC,CAAO,CAC9F,CACA,SAASI,GAAOC,EAAMC,EAAOC,EAAOC,EAAcC,EAAY,CAAC,EAAGC,EAAU,GAAO,CACjFJ,IAAUA,EAAQ,CAAC,GACnB,QAAWK,KAAQF,EACjB,GAAI,EAAEE,KAAQL,GAAQ,CACpB,GAAIK,IAAS,WAAY,SACzBF,EAAUE,CAAI,EAAIC,GAAWP,EAAMM,EAAM,KAAMF,EAAUE,CAAI,EAAGJ,EAAOG,EAASJ,CAAK,CACvF,CAEF,QAAWK,KAAQL,EAAO,CACxB,GAAIK,IAAS,WAAY,CAClBH,GAAcP,GAAiBI,EAAMC,EAAM,QAAQ,EACxD,QACF,CACA,IAAMO,EAAQP,EAAMK,CAAI,EACxBF,EAAUE,CAAI,EAAIC,GAAWP,EAAMM,EAAME,EAAOJ,EAAUE,CAAI,EAAGJ,EAAOG,EAASJ,CAAK,CACxF,CACF,CAoBA,SAASQ,GAAeC,EAAU,CAChC,IAAIC,EACFC,EAEF,MAAI,CADUC,EAAY,GACR,EAAEF,EAAOG,EAAa,SAAS,IAAIF,EAAMG,GAAgB,CAAC,GACnEL,EAAS,GAEdI,EAAa,WAAWA,EAAa,UAAU,IAAIH,CAAI,EAC3DG,EAAa,SAAS,OAAOF,CAAG,EACzBD,EACT,CA+CA,SAASK,EAAYC,EAAM,CACzB,MAAO,CAAC,CAACC,EAAa,SAAW,CAACA,EAAa,OAAS,CAACD,GAAQA,EAAK,YACxE,CACA,SAASE,GAAeC,EAAM,CAC5B,OAAOA,EAAK,YAAY,EAAE,QAAQ,YAAa,CAACC,EAAGC,IAAMA,EAAE,YAAY,CAAC,CAC1E,CACA,SAASC,GAAeN,EAAMO,EAAKC,EAAO,CACxC,IAAMC,EAAaF,EAAI,KAAK,EAAE,MAAM,KAAK,EACzC,QAASG,EAAI,EAAGC,EAAUF,EAAW,OAAQC,EAAIC,EAASD,IAAKV,EAAK,UAAU,OAAOS,EAAWC,CAAC,EAAGF,CAAK,CAC3G,CACA,SAASI,GAAWZ,EAAMa,EAAML,EAAOM,EAAMC,EAAOC,EAASC,EAAO,CAClE,IAAIC,EAAMC,EAAQC,EAAaC,EAAWC,EAC1C,GAAIT,IAAS,QAAS,OAAOU,GAAMvB,EAAMQ,EAAOM,CAAI,EACpD,GAAID,IAAS,YAAa,OAAOW,GAAUxB,EAAMQ,EAAOM,CAAI,EAC5D,GAAIN,IAAUM,EAAM,OAAOA,EAC3B,GAAID,IAAS,MACNG,GAASR,EAAMR,CAAI,UACfa,EAAK,MAAM,EAAG,CAAC,IAAM,MAAO,CACrC,IAAMY,EAAIZ,EAAK,MAAM,CAAC,EACtBC,GAAQd,EAAK,oBAAoByB,EAAGX,EAAM,OAAOA,GAAS,YAAcA,CAAI,EAC5EN,GAASR,EAAK,iBAAiByB,EAAGjB,EAAO,OAAOA,GAAU,YAAcA,CAAK,CAC/E,SAAWK,EAAK,MAAM,EAAG,EAAE,IAAM,aAAc,CAC7C,IAAMY,EAAIZ,EAAK,MAAM,EAAE,EACvBC,GAAQd,EAAK,oBAAoByB,EAAGX,EAAM,EAAI,EAC9CN,GAASR,EAAK,iBAAiByB,EAAGjB,EAAO,EAAI,CAC/C,SAAWK,EAAK,MAAM,EAAG,CAAC,IAAM,KAAM,CACpC,IAAMV,EAAOU,EAAK,MAAM,CAAC,EAAE,YAAY,EACjCa,EAAWC,GAAgB,IAAIxB,CAAI,EACzC,GAAI,CAACuB,GAAYZ,EAAM,CACrB,IAAMc,EAAI,MAAM,QAAQd,CAAI,EAAIA,EAAK,CAAC,EAAIA,EAC1Cd,EAAK,oBAAoBG,EAAMyB,CAAC,CAClC,EACIF,GAAYlB,KACdqB,GAAiB7B,EAAMG,EAAMK,EAAOkB,CAAQ,EAC5CA,GAAYI,GAAe,CAAC3B,CAAI,CAAC,EAErC,SAAWU,EAAK,MAAM,EAAG,CAAC,IAAM,QAC9BkB,GAAa/B,EAAMa,EAAK,MAAM,CAAC,EAAGL,CAAK,UAC9BK,EAAK,MAAM,EAAG,CAAC,IAAM,QAC9BmB,GAAiBhC,EAAMa,EAAK,MAAM,CAAC,EAAGL,CAAK,WACjCc,EAAYT,EAAK,MAAM,EAAG,CAAC,IAAM,WAAaO,EAAca,GAAgB,IAAIpB,CAAI,IAAM,CAACE,KAAWM,EAAYa,GAAarB,EAAMb,EAAK,OAAO,KAAOmB,EAASgB,GAAW,IAAItB,CAAI,MAAQK,EAAOlB,EAAK,SAAS,SAAS,GAAG,GAAK,OAAQiB,GAAQ,CAC5P,GAAIK,EACFT,EAAOA,EAAK,MAAM,CAAC,EACnBM,EAAS,WACApB,EAAYC,CAAI,EAAG,OAAOQ,EACjCK,IAAS,SAAWA,IAAS,YAAauB,GAAUpC,EAAMQ,CAAK,EAAWU,GAAQ,CAACC,GAAU,CAACC,EAAapB,EAAKE,GAAeW,CAAI,CAAC,EAAIL,EAAWR,EAAKqB,GAAaR,CAAI,EAAIL,CACnL,KAAO,CACL,IAAM6B,EAAKtB,GAASF,EAAK,QAAQ,GAAG,EAAI,IAAMyB,GAAazB,EAAK,MAAM,GAAG,EAAE,CAAC,CAAC,EACzEwB,EAAIE,GAAevC,EAAMqC,EAAIxB,EAAML,CAAK,EAAOuB,GAAa/B,EAAMwC,GAAQ3B,CAAI,GAAKA,EAAML,CAAK,CACpG,CACA,OAAOA,CACT,CACA,SAASiC,GAAa,EAAG,CACvB,GAAIxC,EAAa,UAAYA,EAAa,QACpCA,EAAa,OAAO,KAAK,CAAC,CAACyC,EAAIC,CAAE,IAAMA,IAAO,CAAC,EAAG,OAExD,IAAI3C,EAAO,EAAE,OACPO,EAAM,KAAK,EAAE,IAAI,GACjBqC,EAAY,EAAE,OACdC,EAAmB,EAAE,cACrBC,EAAWtC,GAAS,OAAO,eAAe,EAAG,SAAU,CAC3D,aAAc,GACd,MAAAA,CACF,CAAC,EACKuC,EAAa,IAAM,CACvB,IAAMC,EAAUhD,EAAKO,CAAG,EACxB,GAAIyC,GAAW,CAAChD,EAAK,SAAU,CAC7B,IAAMiD,EAAOjD,EAAK,GAAGO,CAAG,MAAM,EAE9B,GADA0C,IAAS,OAAYD,EAAQ,KAAKhD,EAAMiD,EAAM,CAAC,EAAID,EAAQ,KAAKhD,EAAM,CAAC,EACnE,EAAE,aAAc,MACtB,CACA,OAAAA,EAAK,MAAQ,OAAOA,EAAK,MAAS,UAAY,CAACA,EAAK,KAAK,QAAUA,EAAK,SAAS,EAAE,MAAM,GAAK8C,EAAS9C,EAAK,IAAI,EACzG,EACT,EACMkD,EAAa,IAAM,CACvB,KAAOH,EAAW,IAAM/C,EAAOA,EAAK,QAAUA,EAAK,YAAcA,EAAK,OAAM,CAC9E,EAQA,GAPA,OAAO,eAAe,EAAG,gBAAiB,CACxC,aAAc,GACd,KAAM,CACJ,OAAOA,GAAQ,QACjB,CACF,CAAC,EACGC,EAAa,UAAY,CAACA,EAAa,OAAMA,EAAa,KAAO,KAAK,KAAO,IAC7E,EAAE,aAAc,CAClB,IAAMkD,EAAO,EAAE,aAAa,EAC5BL,EAASK,EAAK,CAAC,CAAC,EAChB,QAASzC,EAAI,EAAGA,EAAIyC,EAAK,OAAS,IAChCnD,EAAOmD,EAAKzC,CAAC,EACT,EAACqC,EAAW,GAFmBrC,IAAK,CAGxC,GAAIV,EAAK,OAAQ,CACfA,EAAOA,EAAK,OACZkD,EAAW,EACX,KACF,CACA,GAAIlD,EAAK,aAAe6C,EACtB,KAEJ,CACF,MACKK,EAAW,EAChBJ,EAASF,CAAS,CACpB,CACA,SAASQ,GAAiBC,EAAQ7C,EAAO8C,EAASC,EAAQC,EAAa,CACrE,IAAMC,EAAY1D,EAAYsD,CAAM,EACpC,GAAII,EAAW,CACb,CAACH,IAAYA,EAAU,CAAC,GAAGD,EAAO,UAAU,GAC5C,IAAIK,EAAU,CAAC,EACf,QAAShD,EAAI,EAAGA,EAAI4C,EAAQ,OAAQ5C,IAAK,CACvC,IAAMV,EAAOsD,EAAQ5C,CAAC,EAClBV,EAAK,WAAa,GAAKA,EAAK,KAAK,MAAM,EAAG,CAAC,IAAM,KAAMA,EAAK,OAAO,EAAO0D,EAAQ,KAAK1D,CAAI,CACjG,CACAsD,EAAUI,CACZ,CACA,KAAO,OAAOJ,GAAY,YAAYA,EAAUA,EAAQ,EACxD,GAAI9C,IAAU8C,EAAS,OAAOA,EAC9B,IAAMK,EAAI,OAAOnD,EACfoD,EAAQL,IAAW,OAErB,GADAF,EAASO,GAASN,EAAQ,CAAC,GAAKA,EAAQ,CAAC,EAAE,YAAcD,EACrDM,IAAM,UAAYA,IAAM,SAAU,CAEpC,GADIF,GACAE,IAAM,WACRnD,EAAQA,EAAM,SAAS,EACnBA,IAAU8C,GAAS,OAAOA,EAEhC,GAAIM,EAAO,CACT,IAAI5D,EAAOsD,EAAQ,CAAC,EAChBtD,GAAQA,EAAK,WAAa,EAC5BA,EAAK,OAASQ,IAAUR,EAAK,KAAOQ,GAC/BR,EAAO,SAAS,eAAeQ,CAAK,EAC3C8C,EAAUO,GAAcR,EAAQC,EAASC,EAAQvD,CAAI,CACvD,MACMsD,IAAY,IAAM,OAAOA,GAAY,SACvCA,EAAUD,EAAO,WAAW,KAAO7C,EAC9B8C,EAAUD,EAAO,YAAc7C,CAE1C,SAAWA,GAAS,MAAQmD,IAAM,UAAW,CAC3C,GAAIF,EAAW,OAAOH,EACtBA,EAAUO,GAAcR,EAAQC,EAASC,CAAM,CACjD,KAAO,IAAII,IAAM,WACf,OAAAG,EAAmB,IAAM,CACvB,IAAIC,EAAIvD,EAAM,EACd,KAAO,OAAOuD,GAAM,YAAYA,EAAIA,EAAE,EACtCT,EAAUF,GAAiBC,EAAQU,EAAGT,EAASC,CAAM,CACvD,CAAC,EACM,IAAMD,EACR,GAAI,MAAM,QAAQ9C,CAAK,EAAG,CAC/B,IAAMwD,EAAQ,CAAC,EACTC,EAAeX,GAAW,MAAM,QAAQA,CAAO,EACrD,GAAIY,GAAuBF,EAAOxD,EAAO8C,EAASE,CAAW,EAC3D,OAAAM,EAAmB,IAAMR,EAAUF,GAAiBC,EAAQW,EAAOV,EAASC,EAAQ,EAAI,CAAC,EAClF,IAAMD,EAEf,GAAIG,EAAW,CACb,GAAI,CAACO,EAAM,OAAQ,OAAOV,EAC1B,GAAIC,IAAW,OAAW,OAAOD,EAAU,CAAC,GAAGD,EAAO,UAAU,EAChE,IAAIrD,EAAOgE,EAAM,CAAC,EAClB,GAAIhE,EAAK,aAAeqD,EAAQ,OAAOC,EACvC,IAAMa,EAAQ,CAACnE,CAAI,EACnB,MAAQA,EAAOA,EAAK,eAAiBuD,GAAQY,EAAM,KAAKnE,CAAI,EAC5D,OAAOsD,EAAUa,CACnB,CACA,GAAIH,EAAM,SAAW,GAEnB,GADAV,EAAUO,GAAcR,EAAQC,EAASC,CAAM,EAC3CK,EAAO,OAAON,OACTW,EACLX,EAAQ,SAAW,EACrBc,GAAYf,EAAQW,EAAOT,CAAM,EAC5Bc,GAAgBhB,EAAQC,EAASU,CAAK,GAE7CV,GAAWO,GAAcR,CAAM,EAC/Be,GAAYf,EAAQW,CAAK,GAE3BV,EAAUU,CACZ,SAAWxD,EAAM,SAAU,CACzB,GAAIiD,GAAajD,EAAM,WAAY,OAAO8C,EAAUM,EAAQ,CAACpD,CAAK,EAAIA,EACtE,GAAI,MAAM,QAAQ8C,CAAO,EAAG,CAC1B,GAAIM,EAAO,OAAON,EAAUO,GAAcR,EAAQC,EAASC,EAAQ/C,CAAK,EACxEqD,GAAcR,EAAQC,EAAS,KAAM9C,CAAK,CAC5C,MAAW8C,GAAW,MAAQA,IAAY,IAAM,CAACD,EAAO,WACtDA,EAAO,YAAY7C,CAAK,EACnB6C,EAAO,aAAa7C,EAAO6C,EAAO,UAAU,EACnDC,EAAU9C,CACZ,EACA,OAAO8C,CACT,CACA,SAASY,GAAuBI,EAAYN,EAAOV,EAASiB,EAAQ,CAClE,IAAIC,EAAU,GACd,QAAS9D,EAAI,EAAG+D,EAAMT,EAAM,OAAQtD,EAAI+D,EAAK/D,IAAK,CAChD,IAAIgE,EAAOV,EAAMtD,CAAC,EAChBI,EAAOwC,GAAWA,EAAQgB,EAAW,MAAM,EAC3CX,EACF,GAAI,EAAAe,GAAQ,MAAQA,IAAS,IAAQA,IAAS,IAAc,IAAKf,EAAI,OAAOe,IAAU,UAAYA,EAAK,SACrGJ,EAAW,KAAKI,CAAI,UACX,MAAM,QAAQA,CAAI,EAC3BF,EAAUN,GAAuBI,EAAYI,EAAM5D,CAAI,GAAK0D,UACnDb,IAAM,WACf,GAAIY,EAAQ,CACV,KAAO,OAAOG,GAAS,YAAYA,EAAOA,EAAK,EAC/CF,EAAUN,GAAuBI,EAAY,MAAM,QAAQI,CAAI,EAAIA,EAAO,CAACA,CAAI,EAAG,MAAM,QAAQ5D,CAAI,EAAIA,EAAO,CAACA,CAAI,CAAC,GAAK0D,CAC5H,MACEF,EAAW,KAAKI,CAAI,EACpBF,EAAU,OAEP,CACL,IAAMhE,EAAQ,OAAOkE,CAAI,EACrB5D,GAAQA,EAAK,WAAa,GAAKA,EAAK,OAASN,EAAO8D,EAAW,KAAKxD,CAAI,EAAOwD,EAAW,KAAK,SAAS,eAAe9D,CAAK,CAAC,CACnI,CACF,CACA,OAAOgE,CACT,CACA,SAASJ,GAAYf,EAAQW,EAAOT,EAAS,KAAM,CACjD,QAAS7C,EAAI,EAAG+D,EAAMT,EAAM,OAAQtD,EAAI+D,EAAK/D,IAAK2C,EAAO,aAAaW,EAAMtD,CAAC,EAAG6C,CAAM,CACxF,CACA,SAASM,GAAcR,EAAQC,EAASC,EAAQoB,EAAa,CAC3D,GAAIpB,IAAW,OAAW,OAAOF,EAAO,YAAc,GACtD,IAAMrD,EAAO2E,GAAe,SAAS,eAAe,EAAE,EACtD,GAAIrB,EAAQ,OAAQ,CAClB,IAAIsB,EAAW,GACf,QAAS,EAAItB,EAAQ,OAAS,EAAG,GAAK,EAAG,IAAK,CAC5C,IAAMZ,EAAKY,EAAQ,CAAC,EACpB,GAAItD,IAAS0C,EAAI,CACf,IAAMmC,EAAWnC,EAAG,aAAeW,EAC/B,CAACuB,GAAY,CAAC,EAAGC,EAAWxB,EAAO,aAAarD,EAAM0C,CAAE,EAAIW,EAAO,aAAarD,EAAMuD,CAAM,EAAOsB,GAAYnC,EAAG,OAAO,CAC/H,MAAOkC,EAAW,EACpB,CACF,MAAOvB,EAAO,aAAarD,EAAMuD,CAAM,EACvC,MAAO,CAACvD,CAAI,CACd,CASA,SAAS8E,IAAkB,CACzB,OAAOC,EAAa,iBAAiB,CACvC,CAQA,IAAMC,GAAiB,OAAO,EA4B9B,IAAMC,GAAW,GAEjB,IAAMC,GAAgB,6BACtB,SAASC,GAAcC,EAASC,EAAQ,GAAOC,EAAK,OAAW,CAC7D,OAAOD,EAAQ,SAAS,gBAAgBH,GAAeE,CAAO,EAAI,SAAS,cAAcA,EAAS,CAChG,GAAAE,CACF,CAAC,CACH,CAKA,SAASC,GAAOC,EAAO,CACrB,GAAM,CACF,UAAAC,CACF,EAAID,EACJE,EAAS,SAAS,eAAe,EAAE,EACnCC,EAAQ,IAAMH,EAAM,OAAS,SAAS,KACtCI,EAAQC,GAAS,EACfC,EACAC,EAAY,CAAC,CAACC,EAAa,QAC/B,OAAAC,GAAa,IAAM,CACbF,IAAWF,GAAS,EAAE,KAAOE,EAAY,IAC7CD,IAAYA,EAAUI,GAAaN,EAAO,IAAMO,EAAW,IAAMX,EAAM,QAAQ,CAAC,GAChF,IAAMY,EAAKT,EAAM,EACjB,GAAIS,aAAc,gBAAiB,CACjC,GAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAa,EAAK,EACtCC,EAAU,IAAMF,EAAS,EAAI,EACnCG,EAAWC,GAAWC,GAAOP,EAAI,IAAOC,EAAM,EAAgBK,EAAQ,EAApBZ,EAAQ,EAAe,IAAI,CAAC,EAC9Ec,EAAUJ,CAAO,CACnB,KAAO,CACL,IAAMK,EAAYC,GAActB,EAAM,MAAQ,IAAM,MAAOA,EAAM,KAAK,EACpEuB,EAAatB,GAAaoB,EAAU,aAAeA,EAAU,aAAa,CACxE,KAAM,MACR,CAAC,EAAIA,EACP,OAAO,eAAeA,EAAW,SAAU,CACzC,KAAM,CACJ,OAAOnB,EAAO,UAChB,EACA,aAAc,EAChB,CAAC,EACDiB,GAAOI,EAAYjB,CAAO,EAC1BM,EAAG,YAAYS,CAAS,EACxBrB,EAAM,KAAOA,EAAM,IAAIqB,CAAS,EAChCD,EAAU,IAAMR,EAAG,YAAYS,CAAS,CAAC,CAC3C,CACF,EAAG,OAAW,CACZ,OAAQ,CAACd,CACX,CAAC,EACML,CACT,CACA,SAASsB,GAAcC,EAAWzB,EAAO,CACvC,IAAM0B,EAASf,EAAWc,CAAS,EACnC,OAAOd,EAAW,IAAM,CACtB,IAAMc,EAAYC,EAAO,EACzB,OAAQ,OAAOD,EAAW,CACxB,IAAK,WACH,OAAOE,EAAQ,IAAMF,EAAUzB,CAAK,CAAC,EACvC,IAAK,SACH,IAAM4B,EAAQC,GAAY,IAAIJ,CAAS,EACjCb,EAAKJ,EAAa,QAAUsB,GAAe,EAAIR,GAAcG,EAAWG,EAAOD,EAAQ,IAAM3B,EAAM,EAAE,CAAC,EAC5G,OAAA+B,GAAOnB,EAAIZ,EAAO4B,CAAK,EAChBhB,CACX,CACF,CAAC,CACH,CACA,SAASoB,GAAQhC,EAAO,CACtB,GAAM,CAAC,CAAEiC,CAAM,EAAIC,GAAWlC,EAAO,CAAC,WAAW,CAAC,EAClD,OAAOwB,GAAc,IAAMxB,EAAM,UAAWiC,CAAM,CACpD,CC/vBA,IAAAE,GAAkB,WACdC,MAAM,GAAAC,SAAM,UAAU,EAC1B,SAASC,GAAKC,EAAQ,CACpB,OAAO,OAAOA,GAAU,UAAY,OAAOA,GAAU,MAAQ,OAAO,eAAeA,CAAM,GAAK,OAAO,SACvG,CACA,IAAIC,GAAe,SACnB,SAASC,GAAMF,KAAWG,EAAM,CAC9B,GAAIA,EAAK,QAAU,EAAG,CACpBN,GAAI,aAAa,EACjB,MACF,CACA,GAAM,CAACO,EAAMC,EAAOC,CAAG,EAAIH,EACvBI,EAAI,CAAC,GAAGH,CAAI,EAChB,OAAa,CACX,IAAII,EAAMD,EAAE,MAAM,EAClB,GAAI,CAACA,EAAE,OAAQ,CACb,IAAME,EAAc,MAAM,QAAQJ,CAAK,EACvC,GAAIN,GAAKC,CAAM,GAAKS,GAAe,OAAOD,EAAO,KAAe,OAAOH,EAAM,CAAC,GAAK,SAAU,CAC3F,OAAOL,EAAOK,EAAM,CAAC,CAAC,EACtB,MACF,CACA,GAAII,GAAe,OAAOJ,GAAS,SAAU,CAC3C,GAAI,OAAOG,EAAO,IAChB,MAAM,IAAI,MAAM,+BAA+B,EAEjDA,EAAMA,EACN,GAAI,CAACE,EAAOC,CAAG,EAAI,MAAM,QAAQN,CAAK,EAAIA,EAAQ,CAACA,EAAOA,EAAQ,CAAC,EAC7DO,EAAc,MAAM,QAAQP,CAAK,GAAKA,EAAM,QAAU,EAC5D,GAAI,CAACO,IAAgBF,GAAS,MAAQC,GAAO,MAC3C,MAAM,IAAI,WAAW,uCAAuC,EAE9D,IAAME,EAAS,OAAOP,EAAO,IACvBQ,EAASJ,IAAUC,GAAO,CAACE,EAC3BE,EAASH,GAAe,CAACC,EACzBG,EAAU,CAACF,GAAU,CAACD,GAAU,CAACE,EACvC,GAAI,OAAOf,EAAOQ,CAAG,EAAK,IAAa,CACrC,GAAI,OAAOR,GAAU,SACnB,OACS,OAAOM,GAAO,SACvBN,EAAOQ,CAAG,EAAI,GAEdR,EAAOQ,CAAG,EAAI,CAAC,CAEnB,CACA,IAAIS,EAAMjB,EAAOQ,CAAG,EACpB,GAAI,MAAM,QAAQS,CAAG,EAAG,CACtB,GAAIF,EAAQ,CACV,MAAM,QAAQT,CAAG,EAAIW,EAAI,KAAK,GAAGX,CAAG,EAAIW,EAAI,KAAKX,CAAG,EACpD,MACF,CACA,GAAIQ,GAAUE,EAAS,CACrB,MAAM,QAAQV,CAAG,EAAIW,EAAI,OAAOP,EAAOC,EAAMD,EAAO,GAAGJ,CAAG,EAAIW,EAAI,OAAOP,EAAOC,EAAMD,EAAOJ,CAAG,EAChG,MACF,CACA,GAAIO,EAAQ,CACVI,EAAI,OAAOP,EAAOC,EAAMD,CAAK,EAC7B,MACF,CACA,MAAM,IAAI,MAAM,4BAA4B,CAC9C,CACA,GAAI,OAAOO,GAAO,SAAU,CAC1B,GAAIF,EAAQ,CACVf,EAAOQ,CAAG,EAAIS,EAAMX,EACpB,MACF,CACA,GAAIU,GAAWF,EAAQ,CACrBd,EAAOQ,CAAG,EAAIS,EAAI,MAAM,EAAGP,CAAK,GAAK,OAAOJ,GAAO,SAAWA,EAAMA,EAAI,IACrEY,GAAM,OAAOA,GAAK,SAAWA,EAAIjB,EACpC,EAAE,KAAK,EAAE,GAAKgB,EAAI,MAAMN,CAAG,EAC3B,MACF,CACA,GAAIE,EAAQ,CACVb,EAAOQ,CAAG,EAAIS,EAAI,MAAM,EAAGP,CAAK,EAAIO,EAAI,MAAMN,CAAG,EACjD,MACF,CACA,MAAM,IAAI,MAAM,4BAA4B,CAC9C,CACA,GAAIZ,GAAKkB,CAAG,GAAKR,GAAe,OAAOJ,EAAM,CAAC,GAAK,SAAU,CAC3D,OAAOY,EAAIZ,EAAM,CAAC,CAAC,EACnB,MACF,CACA,MAAM,IAAI,MAAM,iBAAiB,CACnC,CACA,GAAI,OAAOG,EAAO,IAAa,CAC7B,GAAI,OAAOH,GAAS,SAClB,MAAM,IAAI,MAAM,kCAAkCA,CAAK,EAAE,EAEvD,OAAOC,EAAO,IAChB,OAAON,EAAOK,CAAK,EAEnBL,EAAOK,CAAK,EAAIC,EAElB,MACF,CAIA,GAHI,OAAON,EAAOQ,CAAG,EAAK,MACxBR,EAAOQ,CAAG,EAAI,CAAC,GAEbC,EAAa,CACf,GAAI,CAAC,EAAGU,CAAC,EAAId,EACT,GAAK,MAAQc,GAAK,OAChB,OAAOb,EAAO,KAAe,GAAK,MAAQa,GAAK,KACjD,OAAOnB,EAAOQ,CAAG,EAAE,GAAKW,CAAC,EAEzBnB,EAAOQ,CAAG,EAAE,GAAKW,CAAC,EAAIb,EAG5B,SACM,OAAOA,EAAO,IAChB,OAAON,EAAOQ,CAAG,EAAEH,CAAK,MACnB,IAAI,OAAOL,EAAOQ,CAAG,GAAK,SAC/B,OAEAR,EAAOQ,CAAG,EAAEH,CAAK,EAAIC,EAGzB,MACF,CACA,GAAI,OAAOE,EAAO,IAChB,MAAM,IAAI,MAAM,+BAA+B,EAEjDA,EAAMA,EACN,IAAIY,EAAUb,EAAE,CAAC,EACjB,GAAI,OAAOP,EAAOQ,CAAG,EAAK,IACxB,GAAI,OAAOY,GAAW,SACpBpB,EAAOQ,CAAG,EAAI,CAAC,UACN,OAAOY,GAAW,SAC3BpB,EAAOQ,CAAG,EAAI,CAAC,MAEf,OAAM,IAAI,MAAM,2BAA2BR,CAAM,IAAIQ,CAAG,IAAIY,CAAO,EAAE,EAGzEpB,EAASA,EAAOQ,CAAG,CACrB,CACF,CAEA,SAASa,GAAIC,EAAKC,EAAK,CACrB,QAASC,EAAI,EAAGA,EAAID,EAAI,OAAQC,IAC9BF,EAAMA,EAAMA,EAAIC,EAAIC,CAAC,CAAC,EAAI,OAE5B,OAAOF,CACT,CACA,SAASG,GAAcC,EAAWC,EAAS,CACzC,IAAMC,EAAOF,EAAU,KAAK,MAAM,EAAG,EAAE,EACjCH,EAAMG,EAAU,KAAKA,EAAU,KAAK,OAAS,CAAC,EACpD,OAAQA,EAAU,OAAQ,CACxB,IAAK,OACL,IAAK,SACH,OAAAG,GACE,YAAYH,EAAU,MAAM,6CAC9B,EACO,CAAC,EACV,IAAK,MACH,GAAIC,EACF,MAAO,CAACC,EAAML,EAAKF,GAAIM,EAAQ,UAAU,MAAOD,EAAU,IAAI,CAAC,EAE/D,MAAM,IAAI,MACR,eAAeA,EAAU,MAAM,2BACjC,EAEJ,IAAK,WACH,GAAIC,EACF,MAAO,CAACC,EAAML,EAAKF,GAAIM,EAAQ,UAAU,MAAOD,EAAU,IAAI,CAAC,EAE/D,MAAM,IAAI,MACR,eAAeA,EAAU,MAAM,2BACjC,EAEJ,IAAK,MACH,OAAO,OAAOH,GAAO,SAAW,CAACK,EAAML,CAAG,EAAI,CAACK,EAAM,CAACL,EAAKA,GAAOG,EAAU,QAAU,EAAE,CAAC,EAE3F,IAAK,SACH,MAAO,CACLE,EACA,CAACL,EAAKA,CAAG,EACT,gBAAgBG,EAAU,MAAM,CAClC,EAEF,IAAK,SACH,MAAO,CAACE,EAAM,CAACL,EAAKA,CAAG,EAAG,CAACG,EAAU,KAAK,CAAC,EAE7C,IAAK,MACH,MAAO,CAACE,EAAML,EAAK,gBAAgBG,EAAU,KAAK,CAAC,CAEvD,CACF,CC5KA,SAAAI,GACCC,EACmB,CACnB,OAAQC,GAAW,CAClB,QAASC,KAASF,EAAQ,QACzBG,GAAMF,EAAK,GAAGG,GAAcF,EAAOF,CAAO,CAAC,CAE7C,CACD,CCnBA,IAAMK,GAAO,OAAO,WAAW,EAC7BC,GAAQ,OAAO,YAAY,EAC3BC,EAAO,OAAO,WAAW,EACzBC,GAAQ,OAAO,YAAY,EAC7B,SAASC,GAAOC,EAAO,CACrB,IAAIC,EAAID,EAAME,CAAM,EACpB,GAAI,CAACD,IACH,OAAO,eAAeD,EAAOE,EAAQ,CACnC,MAAOD,EAAI,IAAI,MAAMD,EAAOG,EAAY,CAC1C,CAAC,EACG,CAAC,MAAM,QAAQH,CAAK,GAAG,CACzB,IAAMI,EAAO,OAAO,KAAKJ,CAAK,EAC5BK,EAAO,OAAO,0BAA0BL,CAAK,EAC/C,QAASM,EAAI,EAAGC,EAAIH,EAAK,OAAQE,EAAIC,EAAGD,IAAK,CAC3C,IAAME,EAAOJ,EAAKE,CAAC,EACfD,EAAKG,CAAI,EAAE,KACb,OAAO,eAAeR,EAAOQ,EAAM,CACjC,WAAYH,EAAKG,CAAI,EAAE,WACvB,IAAKH,EAAKG,CAAI,EAAE,IAAI,KAAKP,CAAC,CAC5B,CAAC,CAEL,CACF,CAEF,OAAOA,CACT,CACA,SAASQ,EAAYC,EAAK,CACxB,IAAIC,EACJ,OAAOD,GAAO,MAAQ,OAAOA,GAAQ,WAAaA,EAAIR,CAAM,GAAK,EAAES,EAAQ,OAAO,eAAeD,CAAG,IAAMC,IAAU,OAAO,WAAa,MAAM,QAAQD,CAAG,EAC3J,CACA,SAASE,EAAOC,EAAMC,EAAM,IAAI,IAAO,CACrC,IAAIC,EAAQC,EAAWC,EAAGT,EAC1B,GAAIO,EAASF,GAAQ,MAAQA,EAAKlB,EAAI,EAAG,OAAOoB,EAChD,GAAI,CAACN,EAAYI,CAAI,GAAKC,EAAI,IAAID,CAAI,EAAG,OAAOA,EAChD,GAAI,MAAM,QAAQA,CAAI,EAAG,CACnB,OAAO,SAASA,CAAI,EAAGA,EAAOA,EAAK,MAAM,CAAC,EAAOC,EAAI,IAAID,CAAI,EACjE,QAAS,EAAI,EAAG,EAAIA,EAAK,OAAQ,EAAI,EAAG,IACtCI,EAAIJ,EAAK,CAAC,GACLG,EAAYJ,EAAOK,EAAGH,CAAG,KAAOG,IAAGJ,EAAK,CAAC,EAAIG,EAEtD,KAAO,CACD,OAAO,SAASH,CAAI,EAAGA,EAAO,OAAO,OAAO,CAAC,EAAGA,CAAI,EAAOC,EAAI,IAAID,CAAI,EAC3E,IAAMT,EAAO,OAAO,KAAKS,CAAI,EAC3BR,EAAO,OAAO,0BAA0BQ,CAAI,EAC9C,QAASP,EAAI,EAAGC,EAAIH,EAAK,OAAQE,EAAIC,EAAGD,IACtCE,EAAOJ,EAAKE,CAAC,EACT,CAAAD,EAAKG,CAAI,EAAE,MACfS,EAAIJ,EAAKL,CAAI,GACRQ,EAAYJ,EAAOK,EAAGH,CAAG,KAAOG,IAAGJ,EAAKL,CAAI,EAAIQ,GAEzD,CACA,OAAOH,CACT,CACA,SAASK,GAASC,EAAQC,EAAQ,CAChC,IAAIC,EAAQF,EAAOC,CAAM,EACzB,OAAKC,GAAO,OAAO,eAAeF,EAAQC,EAAQ,CAChD,MAAOC,EAAQ,OAAO,OAAO,IAAI,CACnC,CAAC,EACMA,CACT,CACA,SAASC,GAAQD,EAAOE,EAAUvB,EAAO,CACvC,GAAIqB,EAAME,CAAQ,EAAG,OAAOF,EAAME,CAAQ,EAC1C,GAAM,CAACC,EAAGV,CAAG,EAAIW,EAAazB,EAAO,CACnC,OAAQ,GACR,SAAU,EACZ,CAAC,EACD,OAAAwB,EAAE,EAAIV,EACCO,EAAME,CAAQ,EAAIC,CAC3B,CACA,SAASE,GAAkBP,EAAQI,EAAU,CAC3C,IAAMlB,EAAO,QAAQ,yBAAyBc,EAAQI,CAAQ,EAC9D,MAAI,CAAClB,GAAQA,EAAK,KAAO,CAACA,EAAK,cAAgBkB,IAAarB,GAAUqB,IAAa3B,KACnF,OAAOS,EAAK,MACZ,OAAOA,EAAK,SACZA,EAAK,IAAM,IAAMc,EAAOjB,CAAM,EAAEqB,CAAQ,GACjClB,CACT,CACA,SAASsB,GAAUR,EAAQ,CACzBS,GAAY,GAAKN,GAAQJ,GAASC,EAAQvB,EAAK,EAAGE,EAAK,EAAE,CAC3D,CACA,SAAS+B,GAAQV,EAAQ,CACvB,OAAAQ,GAAUR,CAAM,EACT,QAAQ,QAAQA,CAAM,CAC/B,CACA,IAAMhB,GAAe,CACnB,IAAIgB,EAAQI,EAAUO,EAAU,CAC9B,GAAIP,IAAa5B,GAAM,OAAOwB,EAC9B,GAAII,IAAarB,EAAQ,OAAO4B,EAChC,GAAIP,IAAaQ,GACf,OAAAJ,GAAUR,CAAM,EACTW,EAET,IAAMT,EAAQH,GAASC,EAAQvB,EAAK,EAC9BoC,EAAUX,EAAME,CAAQ,EAC1BvB,EAAQgC,EAAUA,EAAQ,EAAIb,EAAOI,CAAQ,EACjD,GAAIA,IAAa3B,IAAS2B,IAAa1B,GAAQ0B,IAAa,YAAa,OAAOvB,EAChF,GAAI,CAACgC,EAAS,CACZ,IAAM3B,EAAO,OAAO,yBAAyBc,EAAQI,CAAQ,EACzDK,GAAY,IAAM,OAAO5B,GAAU,YAAcmB,EAAO,eAAeI,CAAQ,IAAM,EAAElB,GAAQA,EAAK,OAAML,EAAQsB,GAAQD,EAAOE,EAAUvB,CAAK,EAAE,EACxJ,CACA,OAAOS,EAAYT,CAAK,EAAID,GAAOC,CAAK,EAAIA,CAC9C,EACA,IAAImB,EAAQI,EAAU,CACpB,OAAIA,IAAa5B,IAAQ4B,IAAarB,GAAUqB,IAAaQ,IAAUR,IAAa3B,IAAS2B,IAAa1B,GAAQ0B,IAAa,YAAoB,IACnJK,GAAY,GAAKN,GAAQJ,GAASC,EAAQtB,CAAI,EAAG0B,CAAQ,EAAE,EACpDA,KAAYJ,EACrB,EACA,KAAM,CACJ,MAAO,EACT,EACA,gBAAiB,CACf,MAAO,EACT,EACA,QAASU,GACT,yBAA0BH,EAC5B,EACA,SAASO,EAAYC,EAAOX,EAAUvB,EAAOmC,EAAW,GAAO,CAC7D,GAAI,CAACA,GAAYD,EAAMX,CAAQ,IAAMvB,EAAO,OAC5C,IAAMoC,EAAOF,EAAMX,CAAQ,EACzBc,EAAMH,EAAM,OACVlC,IAAU,QACZ,OAAOkC,EAAMX,CAAQ,EACjBW,EAAMrC,CAAI,GAAKqC,EAAMrC,CAAI,EAAE0B,CAAQ,GAAKa,IAAS,QAAWF,EAAMrC,CAAI,EAAE0B,CAAQ,EAAE,EAAE,IAExFW,EAAMX,CAAQ,EAAIvB,EACdkC,EAAMrC,CAAI,GAAKqC,EAAMrC,CAAI,EAAE0B,CAAQ,GAAKa,IAAS,QAAWF,EAAMrC,CAAI,EAAE0B,CAAQ,EAAE,EAAE,GAE1F,IAAIF,EAAQH,GAASgB,EAAOtC,EAAK,EAC/B0C,EAEF,IADIA,EAAOhB,GAAQD,EAAOE,EAAUa,CAAI,IAAGE,EAAK,EAAE,IAAMtC,CAAK,EACzD,MAAM,QAAQkC,CAAK,GAAKA,EAAM,SAAWG,EAAK,CAChD,QAAS/B,EAAI4B,EAAM,OAAQ5B,EAAI+B,EAAK/B,KAAMgC,EAAOjB,EAAMf,CAAC,IAAMgC,EAAK,EAAE,GACpEA,EAAOhB,GAAQD,EAAO,SAAUgB,CAAG,IAAMC,EAAK,EAAEJ,EAAM,MAAM,CAC/D,EACCI,EAAOjB,EAAMvB,EAAK,IAAMwC,EAAK,EAAE,CAClC,CACA,SAASC,GAAeL,EAAOlC,EAAO,CACpC,IAAMI,EAAO,OAAO,KAAKJ,CAAK,EAC9B,QAASM,EAAI,EAAGA,EAAIF,EAAK,OAAQE,GAAK,EAAG,CACvC,IAAMkC,EAAMpC,EAAKE,CAAC,EAClB2B,EAAYC,EAAOM,EAAKxC,EAAMwC,CAAG,CAAC,CACpC,CACF,CACA,SAASC,GAAYC,EAASC,EAAM,CAGlC,GAFI,OAAOA,GAAS,aAAYA,EAAOA,EAAKD,CAAO,GACnDC,EAAO/B,EAAO+B,CAAI,EACd,MAAM,QAAQA,CAAI,EAAG,CACvB,GAAID,IAAYC,EAAM,OACtB,IAAIrC,EAAI,EACN+B,EAAMM,EAAK,OACb,KAAOrC,EAAI+B,EAAK/B,IAAK,CACnB,IAAMN,EAAQ2C,EAAKrC,CAAC,EAChBoC,EAAQpC,CAAC,IAAMN,GAAOiC,EAAYS,EAASpC,EAAGN,CAAK,CACzD,CACAiC,EAAYS,EAAS,SAAUL,CAAG,CACpC,MAAOE,GAAeG,EAASC,CAAI,CACrC,CACA,SAASC,GAAWF,EAASG,EAAMC,EAAY,CAAC,EAAG,CACjD,IAAIC,EACFX,EAAOM,EACT,GAAIG,EAAK,OAAS,EAAG,CACnBE,EAAOF,EAAK,MAAM,EAClB,IAAMG,EAAW,OAAOD,EACtBE,EAAU,MAAM,QAAQP,CAAO,EACjC,GAAI,MAAM,QAAQK,CAAI,EAAG,CACvB,QAASzC,EAAI,EAAGA,EAAIyC,EAAK,OAAQzC,IAC/BsC,GAAWF,EAAS,CAACK,EAAKzC,CAAC,CAAC,EAAE,OAAOuC,CAAI,EAAGC,CAAS,EAEvD,MACF,SAAWG,GAAWD,IAAa,WAAY,CAC7C,QAAS1C,EAAI,EAAGA,EAAIoC,EAAQ,OAAQpC,IAC9ByC,EAAKL,EAAQpC,CAAC,EAAGA,CAAC,GAAGsC,GAAWF,EAAS,CAACpC,CAAC,EAAE,OAAOuC,CAAI,EAAGC,CAAS,EAE1E,MACF,SAAWG,GAAWD,IAAa,SAAU,CAC3C,GAAM,CACJ,KAAAE,EAAO,EACP,GAAAC,EAAKT,EAAQ,OAAS,EACtB,GAAAU,EAAK,CACP,EAAIL,EACJ,QAASzC,EAAI4C,EAAM5C,GAAK6C,EAAI7C,GAAK8C,EAC/BR,GAAWF,EAAS,CAACpC,CAAC,EAAE,OAAOuC,CAAI,EAAGC,CAAS,EAEjD,MACF,SAAWD,EAAK,OAAS,EAAG,CAC1BD,GAAWF,EAAQK,CAAI,EAAGF,EAAM,CAACE,CAAI,EAAE,OAAOD,CAAS,CAAC,EACxD,MACF,CACAV,EAAOM,EAAQK,CAAI,EACnBD,EAAY,CAACC,CAAI,EAAE,OAAOD,CAAS,CACrC,CACA,IAAI9C,EAAQ6C,EAAK,CAAC,EACd,OAAO7C,GAAU,aACnBA,EAAQA,EAAMoC,EAAMU,CAAS,EACzB9C,IAAUoC,IAEZW,IAAS,QAAa/C,GAAS,OACnCA,EAAQY,EAAOZ,CAAK,EAChB+C,IAAS,QAAatC,EAAY2B,CAAI,GAAK3B,EAAYT,CAAK,GAAK,CAAC,MAAM,QAAQA,CAAK,EACvFuC,GAAeH,EAAMpC,CAAK,EACrBiC,EAAYS,EAASK,EAAM/C,CAAK,EACzC,CACA,SAASqD,MAAe,CAACC,EAAOC,CAAO,EAAG,CACxC,IAAMC,EAAiB5C,EAAO0C,GAAS,CAAC,CAAC,EACnCL,EAAU,MAAM,QAAQO,CAAc,EACtCC,EAAe1D,GAAOyD,CAAc,EAC1C,SAASE,KAAYC,EAAM,CACzBC,GAAM,IAAM,CACVX,GAAWU,EAAK,SAAW,EAAIlB,GAAYe,EAAgBG,EAAK,CAAC,CAAC,EAAIf,GAAWY,EAAgBG,CAAI,CACvG,CAAC,CACH,CACA,MAAO,CAACF,EAAcC,CAAQ,CAChC,CAkGA,IAAMG,GAAQ,OAAO,YAAY,EACjC,SAASC,GAAWC,EAAQC,EAAQC,EAAUC,EAAOC,EAAK,CACxD,IAAMC,EAAWJ,EAAOC,CAAQ,EAChC,GAAIF,IAAWK,EAAU,OACzB,IAAMC,EAAU,MAAM,QAAQN,CAAM,EACpC,GAAIE,IAAaJ,KAAU,CAACS,EAAYP,CAAM,GAAK,CAACO,EAAYF,CAAQ,GAAKC,IAAY,MAAM,QAAQD,CAAQ,GAAKD,GAAOJ,EAAOI,CAAG,IAAMC,EAASD,CAAG,GAAI,CACzJI,EAAYP,EAAQC,EAAUF,CAAM,EACpC,MACF,CACA,GAAIM,EAAS,CACX,GAAIN,EAAO,QAAUK,EAAS,SAAW,CAACF,GAASC,GAAOJ,EAAO,CAAC,GAAKA,EAAO,CAAC,EAAEI,CAAG,GAAK,MAAO,CAC9F,IAAIK,EAAGC,EAAGC,EAAOC,EAAKC,EAAQC,EAAMC,EAAgBC,EACpD,IAAKL,EAAQ,EAAGC,EAAM,KAAK,IAAIP,EAAS,OAAQL,EAAO,MAAM,EAAGW,EAAQC,IAAQP,EAASM,CAAK,IAAMX,EAAOW,CAAK,GAAKP,GAAOC,EAASM,CAAK,GAAKX,EAAOW,CAAK,GAAKN,EAASM,CAAK,EAAEP,CAAG,GAAKC,EAASM,CAAK,EAAEP,CAAG,IAAMJ,EAAOW,CAAK,EAAEP,CAAG,GAAIO,IACpOZ,GAAWC,EAAOW,CAAK,EAAGN,EAAUM,EAAOR,EAAOC,CAAG,EAEvD,IAAMa,EAAO,IAAI,MAAMjB,EAAO,MAAM,EAClCkB,EAAa,IAAI,IACnB,IAAKN,EAAMP,EAAS,OAAS,EAAGQ,EAASb,EAAO,OAAS,EAAGY,GAAOD,GAASE,GAAUF,IAAUN,EAASO,CAAG,IAAMZ,EAAOa,CAAM,GAAKT,GAAOC,EAASO,CAAG,GAAKZ,EAAOa,CAAM,GAAKR,EAASO,CAAG,EAAER,CAAG,GAAKC,EAASO,CAAG,EAAER,CAAG,IAAMJ,EAAOa,CAAM,EAAET,CAAG,GAAIQ,IAAOC,IACtPI,EAAKJ,CAAM,EAAIR,EAASO,CAAG,EAE7B,GAAID,EAAQE,GAAUF,EAAQC,EAAK,CACjC,IAAKF,EAAIC,EAAOD,GAAKG,EAAQH,IAAKF,EAAYH,EAAUK,EAAGV,EAAOU,CAAC,CAAC,EACpE,KAAOA,EAAIV,EAAO,OAAQU,IACxBF,EAAYH,EAAUK,EAAGO,EAAKP,CAAC,CAAC,EAChCX,GAAWC,EAAOU,CAAC,EAAGL,EAAUK,EAAGP,EAAOC,CAAG,EAE3CC,EAAS,OAASL,EAAO,QAAQQ,EAAYH,EAAU,SAAUL,EAAO,MAAM,EAClF,MACF,CAEA,IADAe,EAAiB,IAAI,MAAMF,EAAS,CAAC,EAChCH,EAAIG,EAAQH,GAAKC,EAAOD,IAC3BI,EAAOd,EAAOU,CAAC,EACfM,EAASZ,GAAOU,EAAOA,EAAKV,CAAG,EAAIU,EACnCL,EAAIS,EAAW,IAAIF,CAAM,EACzBD,EAAeL,CAAC,EAAID,IAAM,OAAY,GAAKA,EAC3CS,EAAW,IAAIF,EAAQN,CAAC,EAE1B,IAAKD,EAAIE,EAAOF,GAAKG,EAAKH,IACxBK,EAAOT,EAASI,CAAC,EACjBO,EAASZ,GAAOU,EAAOA,EAAKV,CAAG,EAAIU,EACnCJ,EAAIQ,EAAW,IAAIF,CAAM,EACrBN,IAAM,QAAaA,IAAM,KAC3BO,EAAKP,CAAC,EAAIL,EAASI,CAAC,EACpBC,EAAIK,EAAeL,CAAC,EACpBQ,EAAW,IAAIF,EAAQN,CAAC,GAG5B,IAAKA,EAAIC,EAAOD,EAAIV,EAAO,OAAQU,IAC7BA,KAAKO,GACPT,EAAYH,EAAUK,EAAGO,EAAKP,CAAC,CAAC,EAChCX,GAAWC,EAAOU,CAAC,EAAGL,EAAUK,EAAGP,EAAOC,CAAG,GACxCI,EAAYH,EAAUK,EAAGV,EAAOU,CAAC,CAAC,CAE7C,KACE,SAASD,EAAI,EAAGU,EAAMnB,EAAO,OAAQS,EAAIU,EAAKV,IAC5CV,GAAWC,EAAOS,CAAC,EAAGJ,EAAUI,EAAGN,EAAOC,CAAG,EAG7CC,EAAS,OAASL,EAAO,QAAQQ,EAAYH,EAAU,SAAUL,EAAO,MAAM,EAClF,MACF,CACA,IAAMoB,EAAa,OAAO,KAAKpB,CAAM,EACrC,QAASS,EAAI,EAAGU,EAAMC,EAAW,OAAQX,EAAIU,EAAKV,IAChDV,GAAWC,EAAOoB,EAAWX,CAAC,CAAC,EAAGJ,EAAUe,EAAWX,CAAC,EAAGN,EAAOC,CAAG,EAEvE,IAAMiB,EAAe,OAAO,KAAKhB,CAAQ,EACzC,QAASI,EAAI,EAAGU,EAAME,EAAa,OAAQZ,EAAIU,EAAKV,IAC9CT,EAAOqB,EAAaZ,CAAC,CAAC,IAAM,QAAWD,EAAYH,EAAUgB,EAAaZ,CAAC,EAAG,MAAS,CAE/F,CACA,SAASa,GAAUC,EAAOC,EAAU,CAAC,EAAG,CACtC,GAAM,CACF,MAAArB,EACA,IAAAC,EAAM,IACR,EAAIoB,EACJC,EAAIC,EAAOH,CAAK,EAClB,OAAOI,GAAS,CACd,GAAI,CAACpB,EAAYoB,CAAK,GAAK,CAACpB,EAAYkB,CAAC,EAAG,OAAOA,EACnD,IAAMG,EAAM7B,GAAW0B,EAAG,CACxB,CAAC3B,EAAK,EAAG6B,CACX,EAAG7B,GAAOK,EAAOC,CAAG,EACpB,OAAOwB,IAAQ,OAAYD,EAAQC,CACrC,CACF,CACA,IAAMC,GAAY,IAAI,QAChBC,GAAc,CAClB,IAAI9B,EAAQE,EAAU,CACpB,GAAIA,IAAa6B,GAAM,OAAO/B,EAC9B,IAAMuB,EAAQvB,EAAOE,CAAQ,EACzB8B,EACJ,OAAOzB,EAAYgB,CAAK,EAAIM,GAAU,IAAIN,CAAK,IAAMM,GAAU,IAAIN,EAAOS,EAAQ,IAAI,MAAMT,EAAOO,EAAW,CAAC,EAAGE,GAAST,CAC7H,EACA,IAAIvB,EAAQE,EAAUqB,EAAO,CAC3B,OAAAf,EAAYR,EAAQE,EAAUwB,EAAOH,CAAK,CAAC,EACpC,EACT,EACA,eAAevB,EAAQE,EAAU,CAC/B,OAAAM,EAAYR,EAAQE,EAAU,OAAW,EAAI,EACtC,EACT,CACF,EACA,SAAS+B,GAAQC,EAAI,CACnB,OAAOP,GAAS,CACd,GAAIpB,EAAYoB,CAAK,EAAG,CACtB,IAAIK,GACEA,EAAQH,GAAU,IAAIF,CAAK,IAC/BE,GAAU,IAAIF,EAAOK,EAAQ,IAAI,MAAML,EAAOG,EAAW,CAAC,EAE5DI,EAAGF,CAAK,CACV,CACA,OAAOL,CACT,CACF,CC/ZA,IAAMQ,GAAQ,IAAI,QAclB,SAAAC,GACCC,EACS,CAST,GARAC,EAAU,IAAM,CACf,IAAMC,EAAOJ,GAAM,IAAIE,CAAM,EACxBE,IACAA,EAAK,QACTA,EAAK,QAAQ,EAEf,CAAC,EAEGJ,GAAM,IAAIE,CAAM,EAAG,CACtB,IAAME,EAAOJ,GAAM,IAAIE,CAAM,EAC7B,OAAAE,EAAK,OACEA,EAAK,KACb,CAEA,GAAM,CAACC,EAAKC,CAAG,EAAIC,GAAoBL,EAAO,IAAI,CAAE,EAEpDF,GAAM,IAAIE,EAAQ,CACjB,KAAM,EACN,MAAOG,EACP,SAAU,CACTH,EAAO,IAAI,SAAUM,CAAK,EAC1BN,EAAO,IAAI,SAAUO,CAAQ,EAC7BT,GAAM,OAAOE,CAAM,CACpB,CACD,CAAC,EAED,SAASM,EAAME,EAAoC,CASlD,GAAIA,EAAQ,cAAe,CAC1BJ,EAAIK,GAAWD,EAAQ,KAAO,CAAC,CAAY,CAAC,EAC5C,MACD,CACAJ,EAAIM,GAAQC,GAAYH,CAAO,CAAC,CAAC,CAClC,CAEA,SAASD,GAAW,CACnBH,EAAIK,GAAU,CAAC,CAAW,CAAC,CAC5B,CAEA,OAAAT,EAAO,GAAG,SAAUM,CAAK,EACzBN,EAAO,GAAG,SAAUO,CAAQ,EAE5BP,EAAO,UAAU,EAAE,KAAK,IAAM,CAC7BI,EAAIJ,EAAO,IAAI,CAAE,CAClB,CAAC,EAEMG,CACR,CClBO,IAAMS,GAAUC,GAAM,OAAOA,GAAM,YAAc,CAACA,EAAE,OAASA,EAAE,EAAIA,ECnD1E,SAAAC,GACCC,EAC+B,CAI/B,OAHmBC,EAClB,IAAMC,GAAOF,CAAM,GAAKG,GAA0BD,GAAOF,CAAM,CAAE,CAClE,CAED,CCVO,IAAMI,GAAoCC,GAChD,IACD,ECKA,SAAAC,GACCC,EACAC,EACqC,CACrC,IAAMC,EAAcC,GAAWC,EAAW,EAE1C,GAAI,CAACH,GAAS,MAAQ,CAACC,EACtB,MAAM,IAAI,MAAM,iDAAiD,EAGlE,IAAMG,EAAQJ,GAAS,MAAQC,EAE/B,SAASI,GAAoB,CAC5B,GAAIL,IAAU,mBAAmB,EAAG,OACpC,IAAMM,EAAeC,GAAOR,CAAG,EAC/B,GAAI,CAACO,EAAc,OACnB,IAAME,EAAQJ,EAAK,iBAAoBE,CAAY,EAAE,KAAK,EAC1D,OAAOE,EAAM,QAAU,QAAUA,EAAM,OAAS,MACjD,CAEA,GAAM,CAACC,EAAQ,CAAC,OAAAC,CAAM,CAAC,EAAIC,GAC1BZ,EACAA,GAAOK,EAAK,iBAAoBL,CAAG,EAAE,UAAU,EAC/C,CACC,aAAcM,EAAkB,CACjC,CACD,EAEA,OAAAO,GAAa,IAAM,CACbL,GAAOR,CAAG,GACdW,EAAO,CAET,CAAC,EAEMD,CACR,CCvCA,SAAAI,GACCC,EACAC,EACqE,CACrE,IAAMC,EAASC,GAAgBH,EAAKC,CAAO,EAC3C,MAAO,CAACG,GAA4BF,CAAM,EAAGA,CAAM,CACpD,CCfO,SAASG,GAAgBC,EAAiC,CAM/D,OALkB,IAAI,YAAY,0BAA2B,CAC3D,OAAAA,EACA,QAAS,GACT,SAAU,EACZ,CAAC,CAEH",
6
- "names": ["require_ms", "__commonJSMin", "exports", "module", "s", "m", "h", "d", "w", "y", "val", "options", "type", "parse", "fmtLong", "fmtShort", "str", "match", "ms", "msAbs", "plural", "name", "isPlural", "require_common", "__commonJSMin", "exports", "module", "setup", "env", "createDebug", "coerce", "disable", "enable", "enabled", "destroy", "key", "selectColor", "namespace", "hash", "i", "prevTime", "enableOverride", "namespacesCache", "enabledCache", "debug", "args", "self", "curr", "ms", "index", "match", "format", "formatter", "val", "extend", "v", "delimiter", "newDebug", "namespaces", "split", "ns", "matchesTemplate", "search", "template", "searchIndex", "templateIndex", "starIndex", "matchIndex", "name", "skip", "require_browser", "__commonJSMin", "exports", "module", "formatArgs", "save", "load", "useColors", "localstorage", "warned", "m", "args", "c", "index", "lastC", "match", "namespaces", "r", "formatters", "v", "error", "sharedConfig", "getContextId", "count", "num", "len", "setHydrateContext", "context", "nextHydrateContext", "IS_DEV", "equalFn", "a", "b", "$PROXY", "SUPPORTS_PROXY", "$TRACK", "$DEVCOMP", "signalOptions", "ERROR", "runEffects", "runQueue", "STALE", "PENDING", "UNOWNED", "NO_INIT", "Owner", "Transition", "Scheduler", "ExternalSourceConfig", "Listener", "Updates", "Effects", "ExecCount", "createRoot", "fn", "detachedOwner", "listener", "owner", "unowned", "current", "root", "updateFn", "untrack", "cleanNode", "runUpdates", "createSignal", "value", "options", "s", "setter", "writeSignal", "readSignal", "createComputed", "c", "createComputation", "updateComputation", "createRenderEffect", "createEffect", "runUserEffects", "SuspenseContext", "useContext", "createMemo", "fn", "value", "options", "signalOptions", "c", "createComputation", "Scheduler", "Transition", "STALE", "Updates", "updateComputation", "readSignal", "isPromise", "v", "createResource", "pSource", "pFetcher", "pOptions", "source", "fetcher", "pr", "initP", "NO_INIT", "id", "loadedUnderTransition", "scheduled", "resolved", "dynamic", "contexts", "setValue", "createSignal", "error", "setError", "track", "trigger", "state", "setState", "sharedConfig", "loadEnd", "p", "key", "runUpdates", "completeLoad", "err", "read", "SuspenseContext", "useContext", "Listener", "createComputed", "load", "refetching", "lookup", "untrack", "fetcherError", "castError", "e", "s", "owner", "Owner", "info", "runWithOwner", "createSelector", "source", "fn", "equalFn", "options", "subs", "node", "createComputation", "p", "v", "key", "val", "c", "STALE", "Updates", "Effects", "updateComputation", "listener", "Listener", "onCleanup", "Transition", "batch", "runUpdates", "untrack", "ExternalSourceConfig", "on", "deps", "isArray", "prevInput", "defer", "prevValue", "input", "i", "result", "onMount", "createEffect", "Owner", "getListener", "Listener", "getOwner", "Owner", "runWithOwner", "o", "fn", "prev", "prevListener", "runUpdates", "err", "handleError", "startTransition", "fn", "Transition", "l", "Listener", "o", "Owner", "t", "Scheduler", "SuspenseContext", "res", "runUpdates", "transPending", "setTransPending", "createSignal", "resumeEffects", "Effects", "createContext", "defaultValue", "options", "id", "createProvider", "useContext", "context", "value", "Owner", "children", "fn", "createMemo", "memo", "resolveChildren", "c", "SuspenseContext", "getSuspenseContext", "readSignal", "runningTransition", "Transition", "STALE", "updateComputation", "updates", "Updates", "runUpdates", "lookUpstream", "Listener", "sSlot", "writeSignal", "node", "value", "isComp", "current", "TransitionRunning", "i", "o", "Effects", "markDownstream", "cleanNode", "time", "ExecCount", "runComputation", "Owner", "nextValue", "owner", "listener", "err", "handleError", "createComputation", "fn", "init", "pure", "state", "options", "c", "UNOWNED", "ExternalSourceConfig", "track", "trigger", "createSignal", "ordinary", "onCleanup", "triggerInTransition", "startTransition", "inTransition", "x", "runTop", "PENDING", "untrack", "ancestors", "top", "prev", "wait", "res", "completeUpdates", "Scheduler", "scheduleQueue", "runQueue", "sources", "disposed", "e", "d", "v", "len", "setTransPending", "runEffects", "queue", "item", "tasks", "runUserEffects", "userLength", "sharedConfig", "setHydrateContext", "ignore", "source", "index", "obs", "n", "s", "reset", "castError", "runErrors", "fns", "f", "ERROR", "error", "resolveChildren", "children", "results", "result", "createProvider", "id", "props", "createRenderEffect", "FALLBACK", "dispose", "d", "i", "mapArray", "list", "mapFn", "options", "items", "mapped", "disposers", "len", "indexes", "onCleanup", "newItems", "newLen", "j", "$TRACK", "untrack", "newIndices", "newIndicesNext", "temp", "tempdisposers", "tempIndexes", "start", "end", "newEnd", "item", "createRoot", "disposer", "mapper", "s", "set", "createSignal", "hydrationEnabled", "createComponent", "Comp", "props", "hydrationEnabled", "sharedConfig", "c", "setHydrateContext", "nextHydrateContext", "untrack", "trueFn", "propTraps", "_", "property", "receiver", "$PROXY", "resolveSource", "s", "resolveSources", "i", "length", "v", "mergeProps", "sources", "proxy", "createMemo", "SUPPORTS_PROXY", "keys", "sourcesMap", "defined", "source", "sourceKeys", "key", "desc", "target", "definedKeys", "splitProps", "len", "blocked", "res", "k", "objects", "propName", "keyIndex", "counter", "createUniqueId", "sharedConfig", "narrowedError", "name", "For", "props", "fallback", "createMemo", "mapArray", "Show", "props", "keyed", "conditionValue", "createMemo", "condition", "a", "b", "c", "child", "untrack", "narrowedError", "Switch", "chs", "children", "switchFunc", "ch", "mps", "func", "index", "mp", "prevFunc", "sel", "Match", "SuspenseListContext", "createContext", "Suspense", "props", "counter", "show", "ctx", "p", "flicker", "error", "inFallback", "setFallback", "createSignal", "SuspenseContext", "getSuspenseContext", "store", "owner", "getOwner", "sharedConfig", "key", "ref", "s", "set", "setHydrateContext", "err", "listContext", "useContext", "SuspenseListContext", "dispose", "onCleanup", "createComponent", "createMemo", "rendered", "prev", "showContent", "showFallback", "resumeEffects", "createRoot", "disposer", "DEV", "booleans", "Properties", "ChildProperties", "Aliases", "PropAliases", "getPropAlias", "prop", "tagName", "a", "DelegatedEvents", "SVGElements", "SVGNamespace", "memo", "fn", "createMemo", "reconcileArrays", "parentNode", "a", "b", "bLength", "aEnd", "bEnd", "aStart", "bStart", "after", "map", "node", "i", "index", "sequence", "t", "$$EVENTS", "render", "code", "element", "init", "options", "disposer", "createRoot", "dispose", "insert", "template", "html", "isImportNode", "isSVG", "isMathML", "create", "untrack", "delegateEvents", "eventNames", "document", "e", "l", "name", "eventHandler", "setAttribute", "node", "name", "value", "isHydrating", "setAttributeNS", "namespace", "setBoolAttribute", "className", "addEventListener", "handler", "delegate", "handlerFn", "e", "classList", "prev", "classKeys", "prevKeys", "i", "len", "key", "toggleClassKey", "classValue", "style", "nodeStyle", "v", "setStyleProperty", "spread", "props", "isSVG", "skipChildren", "prevProps", "createRenderEffect", "insertExpression", "use", "assign", "use", "fn", "element", "arg", "untrack", "insert", "parent", "accessor", "marker", "initial", "insertExpression", "createRenderEffect", "current", "assign", "node", "props", "isSVG", "skipChildren", "prevProps", "skipRef", "prop", "assignProp", "value", "getNextElement", "template", "node", "key", "isHydrating", "sharedConfig", "getHydrationKey", "isHydrating", "node", "sharedConfig", "toPropertyName", "name", "_", "w", "toggleClassKey", "key", "value", "classNames", "i", "nameLen", "assignProp", "prop", "prev", "isSVG", "skipRef", "props", "isCE", "isProp", "isChildProp", "propAlias", "forceProp", "style", "classList", "e", "delegate", "DelegatedEvents", "h", "addEventListener", "delegateEvents", "setAttribute", "setBoolAttribute", "ChildProperties", "getPropAlias", "Properties", "className", "ns", "SVGNamespace", "setAttributeNS", "Aliases", "eventHandler", "el", "ev", "oriTarget", "oriCurrentTarget", "retarget", "handleNode", "handler", "data", "walkUpTree", "path", "insertExpression", "parent", "current", "marker", "unwrapArray", "hydrating", "cleaned", "t", "multi", "cleanChildren", "createRenderEffect", "v", "array", "currentArray", "normalizeIncomingArray", "nodes", "appendNodes", "reconcileArrays", "normalized", "unwrap", "dynamic", "len", "item", "replacement", "inserted", "isParent", "getHydrationKey", "sharedConfig", "RequestContext", "isServer", "SVG_NAMESPACE", "createElement", "tagName", "isSVG", "is", "Portal", "props", "useShadow", "marker", "mount", "owner", "getOwner", "content", "hydrating", "sharedConfig", "createEffect", "runWithOwner", "createMemo", "el", "clean", "setClean", "createSignal", "cleanup", "createRoot", "dispose", "insert", "onCleanup", "container", "createElement", "renderRoot", "createDynamic", "component", "cached", "untrack", "isSvg", "SVGElements", "getNextElement", "spread", "Dynamic", "others", "splitProps", "import_debug", "log", "debug", "pojo", "target", "BLOCK_MARKER", "apply", "rest", "path", "range", "val", "p", "key", "RANGE_ARRAY", "start", "end", "ZERO_LENGTH", "DELETE", "INSERT", "APPEND", "REPLACE", "seq", "n", "b", "nextkey", "get", "obj", "key", "p", "fromAutomerge", "autopatch", "payload", "path", "log", "autoproduce", "payload", "doc", "patch", "apply", "fromAutomerge", "$RAW", "$NODE", "$HAS", "$SELF", "wrap$1", "value", "p", "$PROXY", "proxyTraps$1", "keys", "desc", "i", "l", "prop", "isWrappable", "obj", "proto", "unwrap", "item", "set", "result", "unwrapped", "v", "getNodes", "target", "symbol", "nodes", "getNode", "property", "s", "createSignal", "proxyDescriptor$1", "trackSelf", "getListener", "ownKeys", "receiver", "$TRACK", "tracked", "setProperty", "state", "deleting", "prev", "len", "node", "mergeStoreNode", "key", "updateArray", "current", "next", "updatePath", "path", "traversed", "part", "partType", "isArray", "from", "to", "by", "createStore", "store", "options", "unwrappedStore", "wrappedStore", "setStore", "args", "batch", "$ROOT", "applyState", "target", "parent", "property", "merge", "key", "previous", "isArray", "isWrappable", "setProperty", "i", "j", "start", "end", "newEnd", "item", "newIndicesNext", "keyVal", "temp", "newIndices", "len", "targetKeys", "previousKeys", "reconcile", "value", "options", "v", "unwrap", "state", "res", "producers", "setterTraps", "$RAW", "proxy", "produce", "fn", "cache", "makeDocumentProjection", "handle", "onCleanup", "item", "doc", "set", "createStore", "patch", "ondelete", "payload", "reconcile", "produce", "autoproduce", "access", "v", "createDocumentProjection", "handle", "createMemo", "access", "makeDocumentProjection", "RepoContext", "createContext", "useDocHandle", "url", "options", "contextRepo", "useContext", "RepoContext", "repo", "getExistingHandle", "unwrappedURL", "access", "state", "handle", "mutate", "createResource", "createEffect", "useDocument", "url", "options", "handle", "useDocHandle", "createDocumentProjection", "createOpenEvent", "detail"]
7
- }