@noego/forge 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"client.cjs","sources":["../src/routing/url_parser.ts","../node_modules/tslib/tslib.es6.mjs","../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../node_modules/rxjs/dist/esm5/internal/Subscription.js","../node_modules/rxjs/dist/esm5/internal/config.js","../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../node_modules/rxjs/dist/esm5/internal/util/noop.js","../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../node_modules/rxjs/dist/esm5/internal/Subscriber.js","../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../node_modules/rxjs/dist/esm5/internal/util/identity.js","../node_modules/rxjs/dist/esm5/internal/util/pipe.js","../node_modules/rxjs/dist/esm5/internal/Observable.js","../node_modules/rxjs/dist/esm5/internal/util/lift.js","../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../node_modules/rxjs/dist/esm5/internal/Subject.js","../node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../node_modules/rxjs/dist/esm5/internal/operators/observeOn.js","../node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js","../node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js","../node_modules/rxjs/dist/esm5/internal/observable/from.js","../node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","../node_modules/rxjs/dist/esm5/internal/operators/map.js","../node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js","../node_modules/rxjs/dist/esm5/internal/operators/filter.js","../node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js","../node_modules/rxjs/dist/esm5/internal/operators/share.js","../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js","../node_modules/rxjs/dist/esm5/internal/operators/tap.js","../src/routing/manifest/store.svelte.ts","../src/client/prefetch.ts","../../logger/dist/core/log_level.js","../../logger/dist/core/abstract_logger.js","../../logger/dist/transports/console_transport.js","../../logger/dist/core/logging_manager.js","../../logger/dist/get_logger.js","../src/client/navigation.svelte.ts","../src/client/events.ts","../src/client/client.ts"],"sourcesContent":["import pathToRegex from 'path-to-regex';\nimport type { IRoute } from '../parser/IRoute';\n\n\n\nexport function makeUrlParser(pattern: string) {\n const parser = new pathToRegex(pattern);\n return (pathname: string) => {\n const result = parser.match(pathname);\n if (!result) return null;\n\n // Decode URL-encoded param values\n const decoded: Record<string, string> = {};\n for (const [key, value] of Object.entries(result)) {\n decoded[key] = decodeURIComponent(value as string);\n }\n return decoded;\n };\n}\n\n\nexport type UrlMatcher = {\n pattern: string,\n parser: ReturnType<typeof makeUrlParser>\n}\n\nexport function findRoute(pathname:string, routes: UrlMatcher[]) {\n for (const { pattern, parser } of routes) {\n const params = parser(pathname);\n if (params) {\n return { pattern, params };\n }\n }\n return null;\n}\n\n\n\n\n\nexport function initialize_route_matchers(routes: IRoute[]): UrlMatcher[] {\n return routes.map((route: IRoute) => {\n const pattern = route.path;\n const parser = makeUrlParser(pattern);\n return { pattern, parser };\n })\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return executeSchedule(subscriber, scheduler, function () { return subscriber.next(value); }, delay); }, function () { return executeSchedule(subscriber, scheduler, function () { return subscriber.complete(); }, delay); }, function (err) { return executeSchedule(subscriber, scheduler, function () { return subscriber.error(err); }, delay); }));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));\n });\n}\n//# sourceMappingURL=subscribeOn.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable(function (subscriber) {\n var iterator;\n executeSchedule(subscriber, scheduler, function () {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, function () {\n var _a;\n var value;\n var done;\n try {\n (_a = iterator.next(), value = _a.value, done = _a.done);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return function () { return isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n executeSchedule(subscriber, scheduler, function () {\n var iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, function () {\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n//# sourceMappingURL=scheduleReadableStreamLike.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n//# sourceMappingURL=from.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) {\n return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n };\n});\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { __read } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nvar nodeEventEmitterMethods = ['addListener', 'removeListener'];\nvar eventTargetMethods = ['addEventListener', 'removeEventListener'];\nvar jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n var _a = __read(isEventTarget(target)\n ? eventTargetMethods.map(function (methodName) { return function (handler) { return target[methodName](eventName, handler, options); }; })\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [], 2), add = _a[0], remove = _a[1];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap(function (subTarget) { return fromEvent(subTarget, eventName, options); })(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subscriber.next(1 < args.length ? args : args[0]);\n };\n add(handler);\n return function () { return remove(handler); };\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return function (methodName) { return function (handler) { return target[methodName](eventName, handler); }; };\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector) {\n if (keySelector === void 0) { keySelector = identity; }\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate(function (source, subscriber) {\n var previousKey;\n var first = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options) {\n if (options === void 0) { options = {}; }\n var _a = options.connector, connector = _a === void 0 ? function () { return new Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;\n return function (wrapperSource) {\n var connection;\n var resetConnection;\n var subject;\n var refCount = 0;\n var hasCompleted = false;\n var hasErrored = false;\n var cancelReset = function () {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n var reset = function () {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n var resetAndUnsubscribe = function () {\n var conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate(function (source, subscriber) {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(function () {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: function (value) { return dest.next(value); },\n error: function (err) {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: function () {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n var onSubscriber = new SafeSubscriber({\n next: function () {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return innerFrom(on.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber);\n}\n//# sourceMappingURL=share.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate(function (source, subscriber) {\n var innerSubscriber = null;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () { return isComplete && !innerSubscriber && subscriber.complete(); };\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n var innerIndex = 0;\n var outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) { return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); }, function () {\n innerSubscriber = null;\n checkComplete();\n })));\n }, function () {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n//# sourceMappingURL=switchMap.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","import { writable } from 'svelte/store';\n\nexport const MANIFEST_STORE = writable({})\n\n\n\nexport async function updateManifestStore() {\n MANIFEST_STORE.update(store => {\n Object.assign(store, window['__MANIFEST__']);\n return store;\n });\n // await fetch('/manifest.json')\n // .then(async (response) => {\n // if (response.ok) {\n // const manifest = await response.json();\n // console.log(manifest)\n // MANIFEST_STORE.update(store => {\n // Object.assign(store, manifest);\n // return store;\n // });\n // }\n // })\n}","\nimport { fromEvent, ReplaySubject, from } from 'rxjs';\nimport { map, filter, distinctUntilChanged, switchMap, tap, share } from 'rxjs/operators';\nimport { get } from 'svelte/store';\nimport { MANIFEST_STORE } from '../routing/manifest/store.svelte';\nimport { FORGE_LOAD_SYMBOL } from './client';\nimport type { IRoute } from '../parser/IRoute';\nimport type { UrlMatcher } from '../routing/url_parser';\n\ninterface PrefetchEntry {\n response$: ReplaySubject<Response>;\n createdAt: number;\n abortController: AbortController;\n}\n\nconst cache = new Map<string, PrefetchEntry>();\nconst PREFETCH_TTL_MS = 5000;\n\n/**\n * Consume a prefetched response for the given URL.\n * Returns the ReplaySubject<Response> if a fresh entry exists, or null.\n * Deletes the entry atomically to prevent double-consumption.\n */\nexport function consumePrefetch(url: string): ReplaySubject<Response> | null {\n const entry = cache.get(url);\n if (!entry) return null;\n\n // Atomic delete - prevents double consumption\n cache.delete(url);\n\n // Check staleness\n if (Date.now() - entry.createdAt > PREFETCH_TTL_MS) {\n entry.abortController.abort();\n return null;\n }\n\n return entry.response$;\n}\n\n/**\n * Bootstrap the hover prefetch system.\n * Listens for mouseover events on <a> elements and prefetches server data.\n */\nexport function bootstrapPrefetch(routes: IRoute[], matchers: UrlMatcher[]) {\n const mouseover$ = fromEvent<MouseEvent>(document, 'mouseover').pipe(share());\n\n const hover$ = mouseover$.pipe(\n // Extract <a> element from hover target\n map((event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const a = target?.tagName === 'A' ? target : target?.closest('A') as HTMLAnchorElement | null;\n if (!a) return null;\n const href = a.getAttribute('href');\n if (!href) return null;\n if (!href.startsWith('/') && !href.startsWith('.')) return null;\n return href;\n }),\n // Drop non-link hovers\n filter((url): url is string => url !== null),\n // Drop if same URL as current page\n filter((url) => url !== window.location.pathname),\n // Deduplicate consecutive hovers to same URL\n distinctUntilChanged(),\n // Check that route requires server data\n filter((url) => {\n const pathname = url.split('?')[0];\n const method = 'get';\n const route = routes.find(r =>\n r.method.toLowerCase() === method &&\n matchers.find(m => m.parser(pathname) && m.pattern === r.path)\n );\n if (!route) return false;\n const m = matchers.find(m => m.parser(pathname) && m.pattern === route.path);\n const manifestStore = get(MANIFEST_STORE);\n return !!(manifestStore as any)[m?.pattern as string];\n }),\n // switchMap cancels prior prefetch when hovering a new link\n switchMap((url) => {\n // If already cached and fresh, skip\n const existing = cache.get(url);\n if (existing && Date.now() - existing.createdAt < PREFETCH_TTL_MS) {\n return [];\n }\n\n const abortController = new AbortController();\n const response$ = new ReplaySubject<Response>(1);\n\n const entry: PrefetchEntry = {\n response$,\n createdAt: Date.now(),\n abortController\n };\n cache.set(url, entry);\n\n const fetchOptions: any = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n },\n signal: abortController.signal\n };\n fetchOptions[FORGE_LOAD_SYMBOL] = true;\n\n return from(\n fetch(url, fetchOptions).then(\n (response) => {\n response$.next(response);\n response$.complete();\n return url;\n },\n (error) => {\n response$.error(error);\n cache.delete(url);\n return null;\n }\n )\n ).pipe(\n tap({\n unsubscribe: () => {\n // switchMap unsubscribed — cancel in-flight fetch and clean cache\n abortController.abort();\n cache.delete(url);\n }\n })\n );\n })\n );\n\n hover$.subscribe();\n\n // TTL cleanup interval\n setInterval(() => {\n const now = Date.now();\n for (const [url, entry] of cache) {\n if (now - entry.createdAt > PREFETCH_TTL_MS) {\n entry.abortController.abort();\n cache.delete(url);\n }\n }\n }, PREFETCH_TTL_MS);\n}\n","var LogLevel = /* @__PURE__ */ ((LogLevel2) => {\n LogLevel2[LogLevel2[\"TRACE\"] = 0] = \"TRACE\";\n LogLevel2[LogLevel2[\"DEBUG\"] = 1] = \"DEBUG\";\n LogLevel2[LogLevel2[\"INFO\"] = 2] = \"INFO\";\n LogLevel2[LogLevel2[\"WARN\"] = 3] = \"WARN\";\n LogLevel2[LogLevel2[\"ERROR\"] = 4] = \"ERROR\";\n LogLevel2[LogLevel2[\"FATAL\"] = 5] = \"FATAL\";\n return LogLevel2;\n})(LogLevel || {});\nconst LEVEL_BY_NAME = {\n trace: 0 /* TRACE */,\n debug: 1 /* DEBUG */,\n info: 2 /* INFO */,\n warn: 3 /* WARN */,\n error: 4 /* ERROR */,\n fatal: 5 /* FATAL */\n};\nfunction parseLogLevel(value) {\n if (!value) return 2 /* INFO */;\n const normalized = value.trim().toLowerCase();\n const byName = LEVEL_BY_NAME[normalized];\n if (typeof byName === \"number\") return byName;\n const asNumber = Number(normalized);\n if (Number.isFinite(asNumber) && asNumber >= 0 && asNumber <= 5) {\n return asNumber;\n }\n return 2 /* INFO */;\n}\nfunction logLevelName(level) {\n switch (level) {\n case 0 /* TRACE */:\n return \"TRACE\";\n case 1 /* DEBUG */:\n return \"DEBUG\";\n case 2 /* INFO */:\n return \"INFO\";\n case 3 /* WARN */:\n return \"WARN\";\n case 4 /* ERROR */:\n return \"ERROR\";\n case 5 /* FATAL */:\n return \"FATAL\";\n default:\n return \"INFO\";\n }\n}\nexport {\n LogLevel,\n logLevelName,\n parseLogLevel\n};\n//# sourceMappingURL=log_level.js.map","import { LogLevel, logLevelName } from \"./log_level.js\";\nfunction safeJsonStringify(value) {\n const seen = /* @__PURE__ */ new WeakSet();\n try {\n return JSON.stringify(value, (_key, val) => {\n if (typeof val === \"bigint\") return val.toString();\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n if (val instanceof Error) {\n return { name: val.name, message: val.message, stack: val.stack };\n }\n return val;\n });\n } catch {\n return '\"[Unserializable]\"';\n }\n}\nfunction formatArg(arg) {\n if (arg === void 0) return \"undefined\";\n if (arg === null) return null;\n if (arg instanceof Error) {\n return { name: arg.name, message: arg.message, stack: arg.stack };\n }\n switch (typeof arg) {\n case \"string\":\n case \"number\":\n case \"boolean\":\n return arg;\n case \"bigint\":\n return arg.toString();\n case \"symbol\":\n return String(arg);\n case \"function\":\n return `[Function${arg.name ? `: ${arg.name}` : \"\"}]`;\n default:\n return arg;\n }\n}\nfunction formatArgAsString(arg) {\n const formatted = formatArg(arg);\n if (typeof formatted === \"string\") return formatted;\n return safeJsonStringify(formatted);\n}\nclass AbstractLogger {\n constructor(name, manager, contextData) {\n this.name = name;\n this.manager = manager;\n this.contextData = contextData;\n }\n /**\n * Creates a new logger with the specified name.\n * Replaces the current logger's name (not hierarchical).\n */\n named(name) {\n return new NamedLogger(name, this.manager, this.contextData);\n }\n /**\n * Creates a new logger with additional context.\n * Context is merged into every log entry's context field.\n * If this logger already has context, both contexts are merged.\n * Returns a new logger instance (immutable operation).\n */\n withContext(context) {\n const mergedContext = this.contextData ? { ...this.contextData, ...context } : context;\n return new NamedLogger(this.name, this.manager, mergedContext);\n }\n trace(message, ...args) {\n this.log(LogLevel.TRACE, message, args);\n }\n debug(message, ...args) {\n this.log(LogLevel.DEBUG, message, args);\n }\n info(message, ...args) {\n this.log(LogLevel.INFO, message, args);\n }\n warn(message, ...args) {\n this.log(LogLevel.WARN, message, args);\n }\n error(message, ...args) {\n this.log(LogLevel.ERROR, message, args);\n }\n fatal(message, ...args) {\n this.log(LogLevel.FATAL, message, args);\n }\n log(level, message, args) {\n if (!this.manager.shouldLog(level, this.name)) return;\n const timestamp = (/* @__PURE__ */ new Date()).toISOString();\n let argsContext = args.length > 0 ? args.length === 1 ? formatArg(args[0]) : args.map(formatArg) : void 0;\n let context;\n if (this.contextData && argsContext !== void 0) {\n context = { ...this.contextData, args: argsContext };\n } else if (this.contextData) {\n context = this.contextData;\n } else {\n context = argsContext;\n }\n this.manager.log({\n timestamp,\n level: logLevelName(level),\n logger: this.name,\n message,\n context\n });\n }\n}\nclass NamedLogger extends AbstractLogger {\n constructor(name, manager, contextData) {\n super(name, manager, contextData);\n }\n}\nexport {\n NamedLogger\n};\n//# sourceMappingURL=abstract_logger.js.map","class ConsoleTransport {\n log(entry) {\n const contextStr = entry.context !== void 0 ? ` ${JSON.stringify(entry.context)}` : \"\";\n const formatted = `[${entry.timestamp}] [${entry.logger}] [${entry.level}] ${entry.message}${contextStr}`;\n switch (entry.level) {\n case \"ERROR\":\n case \"FATAL\":\n console.error(formatted);\n break;\n case \"WARN\":\n console.warn(formatted);\n break;\n default:\n console.log(formatted);\n break;\n }\n }\n}\nvar console_transport_default = ConsoleTransport;\nexport {\n ConsoleTransport,\n console_transport_default as default\n};\n//# sourceMappingURL=console_transport.js.map","import { logLevelName, parseLogLevel } from \"./log_level.js\";\nimport { ConsoleTransport } from \"../transports/console_transport.js\";\nconst MANAGER_SYMBOL = /* @__PURE__ */ Symbol.for(\"@noego/logger\");\nclass LoggingManager {\n constructor() {\n this.transports = [];\n this.loggerLevels = /* @__PURE__ */ new Map();\n const logLevelEnv = typeof process !== \"undefined\" ? process.env?.LOG_LEVEL : void 0;\n const serviceNameEnv = typeof process !== \"undefined\" ? process.env?.SERVICE_NAME : void 0;\n const nodeEnv = typeof process !== \"undefined\" ? process.env?.NODE_ENV : void 0;\n this.level = parseLogLevel(logLevelEnv);\n this.service = serviceNameEnv ?? \"noego\";\n this.environment = nodeEnv ?? \"development\";\n }\n getLevel() {\n return this.level;\n }\n setLevel(level) {\n this.level = level;\n }\n setLoggerLevel(name, level) {\n this.loggerLevels.set(name, level);\n }\n shouldLog(level, loggerName) {\n if (loggerName) {\n const loggerLevel = this.loggerLevels.get(loggerName);\n if (loggerLevel !== void 0) {\n return level >= loggerLevel;\n }\n }\n return level >= this.level;\n }\n addTransport(transport) {\n this.transports.push(transport);\n }\n setTransports(transports) {\n this.transports = [...transports];\n }\n clearTransports() {\n this.transports = [];\n }\n setServiceName(name) {\n this.service = name;\n }\n log(entry) {\n const fullEntry = {\n ...entry,\n environment: this.environment,\n service: this.service\n };\n for (const transport of this.transports) {\n transport.log(fullEntry);\n }\n }\n async closeAll() {\n for (const transport of this.transports) {\n if (transport.close) {\n await transport.close();\n }\n }\n }\n formatMessage(level, name, message) {\n const timestamp = (/* @__PURE__ */ new Date()).toISOString();\n return `[${timestamp}] [${name}] [${logLevelName(level)}] ${message}`;\n }\n}\nfunction getManager() {\n const global = globalThis;\n if (!global[MANAGER_SYMBOL]) {\n const manager = new LoggingManager();\n manager.addTransport(new ConsoleTransport());\n global[MANAGER_SYMBOL] = manager;\n }\n return global[MANAGER_SYMBOL];\n}\nfunction configureLogging(options) {\n const manager = getManager();\n if (options.level !== void 0) {\n manager.setLevel(options.level);\n }\n if (options.loggers) {\n for (const [name, level] of Object.entries(options.loggers)) {\n manager.setLoggerLevel(name, level);\n }\n }\n if (options.transports) {\n manager.setTransports(options.transports);\n }\n if (options.serviceName) {\n manager.setServiceName(options.serviceName);\n }\n}\nasync function shutdown() {\n const manager = getManager();\n await manager.closeAll();\n}\nexport {\n LoggingManager,\n configureLogging,\n getManager,\n shutdown\n};\n//# sourceMappingURL=logging_manager.js.map","import { NamedLogger } from \"./core/abstract_logger.js\";\nimport { getManager } from \"./core/logging_manager.js\";\nfunction getLogger(name) {\n return new NamedLogger(name, getManager());\n}\nexport {\n getLogger\n};\n//# sourceMappingURL=get_logger.js.map","import type { IRoute } from '../parser/IRoute'\nimport { hydrate } from 'svelte'\nimport RecursiveLoader from '../components/RecursiveRender.svelte'\nimport { FORGE_LOAD_SYMBOL } from './client';\nimport {page} from \"./page.svelte\";\nimport { Subject, switchMap, from, firstValueFrom } from 'rxjs';\nimport { writable, get } from 'svelte/store';\nimport { consumePrefetch } from './prefetch';\nimport { getLogger } from '@noego/logger';\n\nconst log = getLogger('forge:nav');\n\n// Navigation timeout (10 seconds) - prevents indefinite hangs\nconst NAVIGATION_TIMEOUT_MS = 10000;\n\n// Helper to wrap a promise with a timeout\nfunction withTimeout<T>(promise: Promise<T>, ms: number, onTimeout: () => void): Promise<T> {\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n let timedOut = false;\n\n const timeoutPromise = new Promise<T>((_, reject) => {\n timeoutId = setTimeout(() => {\n timedOut = true;\n log.error('Timeout fired after', ms, 'ms');\n onTimeout();\n reject(new Error(`Navigation timed out after ${ms}ms`));\n }, ms);\n log.debug('Timeout scheduled for', ms, 'ms, timeoutId:', timeoutId);\n });\n\n return Promise.race([\n promise.finally(() => {\n // Clear timeout when promise settles (success or error)\n if (timeoutId !== null) {\n if (timedOut) {\n log.warn('Promise settled AFTER timeout already fired');\n } else {\n log.debug('Clearing timeout', timeoutId, '- promise settled successfully');\n clearTimeout(timeoutId);\n }\n }\n }),\n timeoutPromise\n ]);\n}\n\n// Navigation event type\nexport interface NavigationEvent {\n url: string;\n base_path: string;\n route: IRoute;\n params: any;\n urlParams: any;\n query: any;\n server_loading: boolean;\n updateUrl: boolean; // Whether to update browser URL (false for popstate)\n}\n\n// Subject for navigation events\nconst navigation$ = new Subject<NavigationEvent>();\n\n// Navigation ID to prevent stale navigations from updating state\nlet currentNavigationId = 0;\n\n// AbortController for the current navigation's fetch\nlet currentAbortController: AbortController | null = null;\n\n// Helper to handle navigation results (like redirects)\nfunction handleNavigationResult(result: NavigationResult | void) {\n if (result && result.redirectPath) {\n log.debug('Handling redirect to', result.redirectPath);\n // Dispatch event for events.ts to handle the redirect navigation\n setTimeout(() => {\n window.dispatchEvent(new CustomEvent('forge-redirect', {\n detail: { path: result.redirectPath }\n }));\n }, 0);\n }\n}\n\n// Process navigation events - switchMap ensures latest click wins\nnavigation$.pipe(\n switchMap((event) => from(\n withTimeout(\n executeNavigation(event),\n NAVIGATION_TIMEOUT_MS,\n () => {\n log.error('Navigation timed out');\n currentNavigationId++;\n if (currentAbortController) {\n currentAbortController.abort();\n currentAbortController = null;\n }\n }\n ).catch((err) => {\n log.error('Navigation failed:', err);\n return undefined;\n })\n ))\n).subscribe({\n next: handleNavigationResult,\n error: (err) => {\n log.error('Stream error:', err);\n }\n});\n\n// Push a navigation event to the stream\nexport function navigateTo(event: NavigationEvent) {\n log.debug('Pushing navigation event to stream', {\n url: event.url,\n currentNavigationId,\n subscriberCount: (navigation$ as any).observers?.length || 0\n });\n navigation$.next(event);\n}\n\n// Navigation snapshot - represents complete state at a point in time\nexport interface NavigationSnapshot {\n layouts: any[];\n view: any | null;\n viewPath: string | null; // Original x-view path for debugging (e.g., \"pages/workflows/new/main.svelte\")\n layoutPaths: string[]; // Original layout paths for debugging\n data: { layout: any[]; view: any } | null;\n params: any;\n urlParams: any;\n query: any;\n}\n\n// Navigation state architecture using {#key} block for synchronous destruction:\n// - active: What components render (always stable, complete state)\n// - phase: Current navigation phase for UI feedback\n// - 'idle': No navigation in progress\n// - 'loading': Fetching data and loading components\n// - 'ready': Navigation complete (transitions to idle)\n// - navigationId: Used to detect stale navigations\n//\n// The {#key} block in RecursiveRender.svelte forces Svelte to destroy the old\n// component tree synchronously before rendering the new one. This prevents the\n// race condition where old components receive props intended for new components,\n// eliminating the need for an \"unmounting\" phase with a blank screen.\nexport const ROOT = writable({\n active: {\n layouts: [] as any[],\n view: null as any | null,\n viewPath: null as string | null,\n layoutPaths: [] as string[],\n data: { layout: [], view: {} } as { layout: any[]; view: any } | null,\n params: {} as any,\n urlParams: {} as any,\n query: {} as any\n } as NavigationSnapshot,\n phase: 'idle' as 'idle' | 'loading' | 'ready',\n navigationId: 0,\n page\n})\n\n// Wire up page.poll() - fetches current page data and updates component props\n// IMPORTANT: Captures navigationId at start to prevent stale poll responses from\n// corrupting state after a navigation has occurred\nconst pollFunction = async (): Promise<boolean> => {\n // Capture current navigation ID at start of poll\n const pollNavigationId = get(ROOT).navigationId;\n\n try {\n const url = window.location.pathname + window.location.search;\n const fetchOptions: any = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n }\n };\n fetchOptions[FORGE_LOAD_SYMBOL] = true;\n\n const response = await fetch(url, fetchOptions);\n if (!response.ok) return false;\n\n const data = await response.json();\n\n // Stale check: If navigation occurred during poll, discard the response\n // This prevents old page's poll data from corrupting new page's state\n const currentNavigationId = get(ROOT).navigationId;\n if (pollNavigationId !== currentNavigationId) {\n log.debug('Discarding stale poll response', {\n pollNavigationId,\n currentNavigationId\n });\n return false;\n }\n\n // Update view data - Svelte reactivity flows to component props\n ROOT.update(r => {\n r.active.data = { layout: r.active.data?.layout || [], view: data.view };\n return r;\n });\n return true;\n } catch {\n return false;\n }\n};\n\n// Assign to page store\npage.update(p => {\n (p as any).poll = pollFunction;\n return p;\n});\n\nfunction urlJoin(...parts) {\n let url = parts\n .map((part, i) => {\n if (i === 0) return part.replace(/\\/+$/, ''); // trim trailing slash\n return part.replace(/^\\/+|\\/+$/g, ''); // trim both for middle parts\n })\n .join('/');\n\n if (!url.startsWith('/')) {\n url = '/' + url; // add leading slash if not present\n }\n return url.split('?')[0]; // remove query string\n}\n\nexport async function loadRoute(node:any,base_path:string, route: IRoute, combinedParams: any, urlParams:any, query:any) {\n try {\n // When serving precompiled client bundles (assets), resolve to .js files\n const useCompiledClient = typeof base_path === 'string' && base_path.indexOf('assets') !== -1;\n\n const layouts_paths = (route.layout || []).map(layout => {\n let p = urlJoin(base_path,layout).toString();\n if (useCompiledClient) {\n p = p.endsWith('.svelte') ? p.replace(/\\.svelte$/, '.js') : (/[.][a-z]+$/.test(p) ? p : p + '.js');\n }\n return p;\n })\n let view_path = urlJoin(base_path,route.view).toString()\n if (useCompiledClient) {\n view_path = view_path.endsWith('.svelte') ? view_path.replace(/\\.svelte$/, '.js') : (/[.][a-z]+$/.test(view_path) ? view_path : view_path + '.js');\n }\n\n\n const layouts = await Promise.all(layouts_paths.map((layout) => {\n return import(/* @vite-ignore */ layout).then(layout => {\n return layout.default\n })\n }))\n\n if (!view_path.startsWith('/')){\n view_path = '/'+view_path\n }\n const view = await import(/* @vite-ignore */ view_path).then(view => {\n return view.default\n })\n\n // Build complete initial state\n const initialData = (window as any).__INITIAL_DATA__ || { layout: [], view: {} };\n const initialState: NavigationSnapshot = {\n layouts,\n view,\n viewPath: route.view || null, // Store original path for debugging\n layoutPaths: route.layout || [], // Store original paths for debugging\n data: initialData,\n params: combinedParams,\n urlParams,\n query\n };\n\n // Set initial state atomically\n ROOT.update(r => {\n r.active = initialState;\n r.phase = 'idle';\n return r;\n });\n\n // Hydrate - pass ROOT as a prop so SSR doesn't try to import it\n hydrate(RecursiveLoader, {\n target: node,\n props: { root: ROOT }\n })\n } catch (error) {\n log.error('Client-side route loading failed:', error);\n // Don't trigger a reload - let SSR-rendered content remain\n }\n}\n\n\n\n// Public API - pushes to the navigation stream\nexport function updateRoute(url:string, base_path:string, route: IRoute, params: any, urlParams:any, query:any, server_loading:boolean = false, updateUrl = true) {\n navigateTo({ url, base_path, route, params, urlParams, query, server_loading, updateUrl });\n}\n\n// Navigation result type\ninterface NavigationResult {\n redirectPath?: string;\n}\n\n// Internal function that executes the actual navigation\n// Uses ATOMIC SWAP pattern: Build complete state OUTSIDE ROOT, then swap in with single assignment\nasync function executeNavigation(event: NavigationEvent): Promise<NavigationResult | void> {\n const { url, base_path, route, params, urlParams, query, server_loading, updateUrl } = event;\n\n // Capture navigation ID at start - if this changes during execution,\n // it means this navigation was superseded or timed out\n const navigationId = ++currentNavigationId;\n\n // Create AbortController for this navigation's fetch\n const abortController = new AbortController();\n currentAbortController = abortController;\n\n log.debug('Starting navigation', {\n navigationId,\n url,\n updateUrl,\n server_loading,\n currentNavigationId,\n hasAbortController: !!currentAbortController\n });\n\n // Phase 1: Signal loading (ROOT.active stays unchanged - components render current page)\n ROOT.update(r => {\n r.phase = 'loading';\n r.navigationId = navigationId;\n return r;\n });\n\n try {\n // Phase 2: Fetch server data (if needed)\n let serverData: { layout: any[]; view: any } = { layout: [], view: {} };\n\n if (server_loading) {\n log.debug('Fetching server data', { navigationId, url });\n\n // Try to consume a prefetched response first\n let response: Response | null = null;\n const prefetched$ = consumePrefetch(url);\n if (prefetched$) {\n try {\n log.debug('Using prefetched response for', url);\n response = await firstValueFrom(prefetched$);\n } catch (err) {\n log.debug('Prefetch failed, falling back to fetch', url);\n response = null;\n }\n }\n\n if (!response) {\n const fetchOptions: any = {\n method: route.method,\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n },\n signal: abortController.signal\n };\n fetchOptions[FORGE_LOAD_SYMBOL] = true;\n response = await fetch(url, fetchOptions);\n }\n\n log.debug('Fetch response received', {\n navigationId,\n url,\n ok: response.ok,\n status: response.status,\n redirected: response.redirected,\n currentNavigationId\n });\n\n // Check for redirect\n if (response.redirected || response.headers.get('X-Forge-Redirect') === 'true') {\n log.debug('Redirect detected');\n ROOT.update(r => { r.phase = 'idle'; return r; });\n return { redirectPath: response.headers.get('X-Forge-Redirect-Path') || undefined };\n }\n\n if (!response.ok) {\n throw new Error(`Network response was not ok: ${response.status}`);\n }\n\n serverData = await response.json();\n log.debug('Server data received:', serverData);\n }\n\n // Stale check after fetch\n if (navigationId !== currentNavigationId) {\n log.debug('Stale navigation after fetch, aborting', { navigationId, currentNavigationId });\n return;\n }\n\n // Phase 3: Load components\n log.debug('Loading components', { navigationId, view: route.view, layouts: route.layout });\n const useCompiledClient = typeof base_path === 'string' && base_path.indexOf('assets') !== -1;\n\n const layoutPaths = (route.layout || []).map(layout => {\n let p = urlJoin(base_path, layout).toString();\n if (useCompiledClient) {\n p = p.endsWith('.svelte') ? p.replace(/\\.svelte$/, '.js') : (/[.][a-z]+$/.test(p) ? p : p + '.js');\n }\n return p;\n });\n\n let viewPath = urlJoin(base_path, route.view).toString();\n if (useCompiledClient) {\n viewPath = viewPath.endsWith('.svelte') ? viewPath.replace(/\\.svelte$/, '.js') : (/[.][a-z]+$/.test(viewPath) ? viewPath : viewPath + '.js');\n }\n if (!viewPath.startsWith('/')) {\n viewPath = '/' + viewPath;\n }\n\n const layouts = await Promise.all(\n layoutPaths.map(path => import(/* @vite-ignore */ path).then(m => m.default))\n );\n const view = await import(/* @vite-ignore */ viewPath).then(m => m.default);\n\n log.debug('Components loaded', {\n navigationId,\n currentNavigationId,\n layoutsCount: layouts.length,\n viewLoaded: !!view\n });\n\n // Stale check after component load\n if (navigationId !== currentNavigationId) {\n log.debug('Stale navigation after component load, aborting', { navigationId, currentNavigationId });\n return;\n }\n\n // Phase 4: Build complete new state\n const newState: NavigationSnapshot = {\n layouts,\n view,\n viewPath: route.view || null, // Store original path for debugging\n layoutPaths: route.layout || [], // Store original paths for debugging\n data: serverData,\n params,\n urlParams,\n query\n };\n\n log.debug('Committing new state', {\n navigationId,\n currentNavigationId,\n layoutsCount: newState.layouts.length,\n viewSet: !!newState.view,\n dataKeys: Object.keys(newState.data || {})\n });\n\n // Phase 5: COMMIT - Update active directly\n // The {#key} block in RecursiveRender.svelte ensures the old component tree\n // is destroyed synchronously before the new one is rendered, preventing\n // any race condition where old components receive new props.\n ROOT.update(r => {\n r.active = newState;\n r.phase = 'idle';\n\n log.debug('ROOT.active updated', {\n navigationId,\n layoutsCount: r.active.layouts.length,\n viewSet: !!r.active.view,\n dataKeys: Object.keys(r.active.data || {}),\n paramsKeys: Object.keys(r.active.params || {})\n });\n\n return r;\n });\n\n // Phase 6: Post-navigation actions\n if (typeof window !== 'undefined') {\n window.scroll(0, 0);\n }\n\n // Update browser URL if this is a forward navigation (not popstate)\n if (updateUrl) {\n log.debug('Updating browser URL', { url });\n window.history.pushState({}, '', url);\n }\n\n log.debug('Navigation complete', { navigationId, url });\n\n } catch (error) {\n log.error('Navigation failed', {\n navigationId,\n currentNavigationId,\n url,\n error: error instanceof Error ? error.message : String(error)\n });\n\n // On error, ROOT.active stays unchanged - user sees current page\n ROOT.update(r => {\n r.phase = 'idle';\n return r;\n });\n\n // Don't throw AbortError - it's expected when navigation is cancelled\n if ((error as any).name === 'AbortError') {\n log.debug('Navigation aborted');\n return;\n }\n\n throw error;\n }\n}\n","\nimport { getLogger } from '@noego/logger';\nconst log = getLogger('forge:events');\n\nimport type {IRoute} from \"../parser/IRoute\";\nimport type { UrlMatcher } from \"../routing/url_parser\";\nimport { updateRoute } from \"./navigation.svelte.ts\";\nimport { MANIFEST_STORE } from \"../routing/manifest/store.svelte\";\nimport {page} from './page.svelte';\nimport { get } from 'svelte/store';\nimport { bootstrapPrefetch } from './prefetch';\n\n\n\n\nexport function bootstrap_events(base_path:string,routes:IRoute[], matchers: UrlMatcher[]) {\n if(!document){\n log.error('Document not found')\n return\n }\n\n // Click handler - intercepts link clicks for client-side navigation\n document.addEventListener('click', (event:any) => {\n const currentUrl = window.location.pathname;\n const a = event.target?.tagName === 'A' ? event.target : event.target?.closest('A');\n\n if (a) {\n let url = a.getAttribute('href');\n if (currentUrl === url) {\n event.preventDefault();\n return;\n }\n if (url && url.startsWith('/') || url.startsWith('.')) {\n const pathname = url.split('?')[0];\n const method = a.getAttribute('method') || 'get';\n const route = routes.find(r => r.method.toLowerCase() === method && matchers.find(m => m.parser(pathname) && m.pattern === r.path));\n if (route) {\n event.preventDefault();\n const m = matchers.find(m => m.parser(pathname) && m.pattern === route.path);\n const params = m?.parser(pathname) || {};\n // Parse query parameters and combine with path parameters\n const urlParams = new URLSearchParams(url.split('?')[1] || '');\n const queryParams = Object.fromEntries(urlParams.entries()) || {};\n const combinedParams = { ...params, ...queryParams };\n const manifestStore = get(MANIFEST_STORE);\n const requires_server_data = manifestStore[m?.pattern as string]\n\n // Update page store\n page.update(p => {\n p.url = url;\n p.pathname = pathname;\n p.params = params;\n p.query = queryParams;\n return p;\n });\n\n log.debug('Click navigation to', url);\n updateRoute(url, base_path, route, combinedParams, params, queryParams, requires_server_data, true);\n } else {\n log.warn('No matching route found', url, '- using fallback navigation');\n // Fallback: Don't prevent default, let browser handle the navigation\n }\n }\n }\n });\n\n\n // Popstate handler - handles browser back/forward buttons\n window.addEventListener('popstate', (_) => {\n const path = window.location.pathname;\n const fullUrl = window.location.pathname + window.location.search;\n\n const method = 'get';\n const route = routes.find(r => r.method.toLowerCase() === method && matchers.find(m => m.parser(path) && m.pattern === r.path));\n if (route) {\n const m = matchers.find(m => m.parser(path) && m.pattern === route.path);\n const params = m?.parser(path) || {};\n // Parse query parameters and combine with path parameters\n const urlParams = new URLSearchParams(window.location.search);\n const queryParams = Object.fromEntries(urlParams.entries()) || {};\n\n // Update page store\n page.update(p => {\n p.url = fullUrl;\n p.pathname = window.location.pathname;\n p.params = params;\n p.query = queryParams;\n return p;\n });\n\n const combinedParams = { ...params, ...queryParams };\n const manifestStore = get(MANIFEST_STORE);\n const requires_server_data = manifestStore[m?.pattern as string]\n\n log.debug('Popstate navigation to', fullUrl);\n // updateUrl=false because URL already changed (browser did it)\n updateRoute(fullUrl, base_path, route, combinedParams, params, queryParams, requires_server_data, false);\n } else {\n log.warn('No matching route found', path, '- using fallback navigation');\n // Fallback: Trigger full page reload for unknown routes\n window.location.href = path;\n }\n });\n\n\n // Handle redirects from forge navigation\n // This is triggered when a server redirect is detected\n window.addEventListener('forge-redirect', ((event: CustomEvent<{ path: string }>) => {\n const fullPath = event.detail.path;\n const path = fullPath.split('?')[0];\n\n log.debug('Handling forge-redirect to:', fullPath);\n\n const method = 'get';\n const route = routes.find(r => r.method.toLowerCase() === method && matchers.find(m => m.parser(path) && m.pattern === r.path));\n if (route) {\n const m = matchers.find(m => m.parser(path) && m.pattern === route.path);\n const params = m?.parser(path) || {};\n // Parse query parameters and combine with path parameters\n const urlParams = new URLSearchParams(fullPath.split('?')[1] || '');\n const queryParams = Object.fromEntries(urlParams.entries()) || {};\n const combinedParams = { ...params, ...queryParams };\n const manifestStore = get(MANIFEST_STORE);\n const requires_server_data = manifestStore[m?.pattern as string]\n\n // Update page store\n page.update(p => {\n p.url = fullPath;\n p.pathname = path;\n p.params = params;\n p.query = queryParams;\n return p;\n });\n\n // updateUrl=true so the URL is updated AFTER navigation completes\n updateRoute(fullPath, base_path, route, combinedParams, params, queryParams, requires_server_data, true);\n } else {\n log.warn('No matching route found', path, '- using fallback navigation');\n // Fallback: Use full page navigation for unknown routes\n window.location.href = path;\n }\n }) as EventListener);\n\n // Bootstrap hover prefetching\n bootstrapPrefetch(routes, matchers);\n}\n","import { initialize_route_matchers } from '../routing/url_parser';\nimport { loadRoute } from './navigation.svelte.ts';\nimport { bootstrap_events } from './events';\nimport { updateManifestStore } from '../routing/manifest/store.svelte';\nimport type { ServerOptions } from '../options/ServerOptions';\nimport type { FetchMiddleware, FetchMiddlewareAPI, HeadersObject } from '../types/FetchMiddleware';\nimport { getLogger } from '@noego/logger';\n\nconst log = getLogger('forge:client');\n\n// Symbol for marking load function fetches\nexport const FORGE_LOAD_SYMBOL = Symbol('forge-load-function');\n\n// Middleware storage\nlet middlewares: Array<FetchMiddleware> = [];\nlet originalFetch: typeof window.fetch | null = null;\n\n// Helper to determine if a URL is an internal route\nfunction isInternalRoute(url: string): boolean {\n try {\n const urlObj = new URL(url, window.location.origin);\n return urlObj.origin === window.location.origin && !urlObj.pathname.startsWith('/api/');\n } catch {\n // Relative URL, assume internal\n return !url.startsWith('/api/');\n }\n}\n\n// Initialize fetch override immediately when module is imported\nfunction initializeFetch(): void {\n if (typeof window !== 'undefined' && !originalFetch) {\n originalFetch = window.fetch;\n\n window.fetch = async function(input: RequestInfo | URL, init: RequestInit = {}): Promise<Response> {\n // Start with the original init\n let currentInit: RequestInit = { ...init };\n\n // Run all configured middleware\n for (const middleware of middlewares) {\n try {\n if (middleware.length === 2) {\n // Callback style (legacy): (headers, next) => {}\n // Convert headers for middleware\n const headers = new Headers(currentInit.headers);\n const headersObject: HeadersObject = Object.fromEntries(headers.entries());\n\n await new Promise<void>((resolve, reject) => {\n try {\n (middleware as any)(headersObject, (error?: any) => {\n if (error) {\n reject(error);\n } else {\n // Convert headers back\n const finalHeaders = new Headers();\n Object.entries(headersObject).forEach(([key, value]) => {\n if (value !== undefined) {\n finalHeaders.set(key, value);\n }\n });\n currentInit.headers = finalHeaders;\n resolve();\n }\n });\n } catch (error) {\n reject(error);\n }\n });\n } else {\n // New style middleware (returns RequestInit)\n const result = await (middleware as any)(currentInit, input);\n\n if (result && typeof result === 'object') {\n // Middleware returned a value - use it as new RequestInit\n currentInit = result;\n }\n }\n } catch (error) {\n log.error('Middleware error', error);\n throw error;\n }\n }\n\n // Check if this is a framework-controlled request\n const hasForgeSymbol = (currentInit as any)?.[FORGE_LOAD_SYMBOL];\n\n log.debug('Fetch override request', {\n url: input,\n hasForgeSymbol,\n headers: currentInit?.headers\n });\n\n // Make the actual request (browser will follow redirects by default)\n const response = await originalFetch!(input, currentInit);\n\n log.debug('Fetch override response', {\n url: input,\n responseUrl: response.url,\n redirected: response.redirected,\n status: response.status,\n type: response.type,\n hasForgeSymbol\n });\n\n // Handle redirects for framework-controlled requests\n // response.redirected tells us if any redirects happened\n // response.url contains the final URL after all redirects\n if (hasForgeSymbol && response.redirected) {\n const requestedUrl = typeof input === 'string' ? input : input.url;\n const finalUrl = response.url;\n\n log.debug('Redirect detected', {\n requested: requestedUrl,\n final: finalUrl,\n redirected: response.redirected\n });\n\n // Check if it's an internal route redirect\n if (isInternalRoute(finalUrl)) {\n // Extract pathname and search params from the full URL\n const url = new URL(finalUrl);\n const redirectPath = url.pathname + url.search;\n\n // DON'T change URL here - let the redirect navigation complete first\n // The URL should only change AFTER data is loaded and page is ready\n log.debug('Redirect detected to:', redirectPath, '- will navigate after current request completes');\n\n // Return a fake response with headers to signal redirect to navigation.svelte.ts\n // The navigation code will handle starting a new navigation to redirectPath\n // and will update the URL only after that navigation completes\n return new Response(JSON.stringify({ layout: [], view: {} }), {\n status: 200,\n headers: {\n 'Content-Type': 'application/json',\n 'X-Forge-Redirect': 'true',\n 'X-Forge-Redirect-Path': redirectPath\n }\n });\n }\n }\n\n return response;\n };\n }\n}\n\n// Initialize fetch override immediately\ninitializeFetch();\n\n// Export fetch API with middleware configuration\nexport const fetch: FetchMiddlewareAPI & { getMiddlewareCount(): number } = {\n /**\n * Add middleware to the fetch pipeline\n */\n configUpdate(middleware: FetchMiddleware): void {\n if (typeof middleware !== 'function') {\n throw new Error('Middleware must be a function');\n }\n middlewares.push(middleware);\n },\n \n /**\n * Reset all middleware\n */\n reset(): void {\n middlewares.length = 0;\n },\n \n /**\n * Get current middleware count (for debugging)\n */\n getMiddlewareCount(): number {\n return middlewares.length;\n }\n};\n\nlet routing;\n\nexport async function createApp<T extends HTMLElement = HTMLElement>(\n node: T,\n options: ServerOptions\n): Promise<void> {\n\n // Use server-injected component directory if available, otherwise fall back to options\n let base_path = window['__COMPONENT_DIR__'] || options.component_dir\n\n if(!base_path && typeof base_path !== 'string') {\n throw new Error('No component directory provided');\n }\n let routes = window['__ROUTING__']\n routing = initialize_route_matchers(routes)\n\n if (window && window.location) {\n const application_url = (window.location.pathname || '/').split('?')[0];\n const needle = routing.find(r => r.parser(application_url));\n let route = needle ? routes.find(r => r.path === needle.pattern) : null;\n if (needle && route) {\n const params = needle.parser(application_url) ||{};\n // Parse query parameters and combine with path parameters\n const urlParams = new URLSearchParams(window.location.search);\n const queryParams = Object.fromEntries(urlParams.entries()) || {};\n const combinedParams = { ...params, ...queryParams };\n updateManifestStore()\n loadRoute(node, base_path, route, combinedParams,params, queryParams);\n bootstrap_events(base_path, routes, routing);\n } else {\n log.warn('No matching route', application_url);\n // No route found - let SSR-rendered content remain\n // The page is already rendered by the server\n }\n\n }\n}\n\n\n"],"names":["makeUrlParser","pattern","parser","pathToRegex","pathname","result","decoded","key","value","initialize_route_matchers","routes","route","extendStatics","d","b","p","__extends","__","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","__generator","body","_","t","f","y","g","verb","n","v","op","__values","o","s","m","i","__read","r","ar","error","__spreadArray","to","from","pack","l","__await","__asyncGenerator","q","awaitReturn","a","resume","settle","fulfill","__asyncValues","isFunction","createErrorClass","createImpl","_super","instance","ctorFunc","UnsubscriptionError","errors","err","arrRemove","arr","item","index","Subscription","initialTeardown","e_1","_a","e_2","_b","_parentage","_parentage_1","_parentage_1_1","parent_1","e_1_1","initialFinalizer","_finalizers","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","config","timeoutProvider","handler","timeout","args","_i","handle","reportUnhandledError","noop","errorContext","cb","Subscriber","destination","_this","EMPTY_OBSERVER","next","complete","SafeSubscriber","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","defaultErrorHandler","observable","identity","x","pipeFromArray","fns","input","prev","fn","Observable","subscribe","operator","subscriber","isSubscriber","source","sink","promiseCtor","getPromiseCtor","Symbol_observable","operations","isObserver","hasLift","operate","init","liftedSource","createOperatorSubscriber","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","closed_1","ObjectUnsubscribedError","Subject","subject","AnonymousSubject","_c","observer","observers","hasError","isStopped","thrownError","dateTimestampProvider","ReplaySubject","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","subscription","copy","adjustedBufferSize","now","last","isArrayLike","isPromise","isInteropObservable","isAsyncIterable","obj","createInvalidObservableTypeError","getSymbolIterator","iterator","isIterable","Symbol_iterator","readableStreamLikeToAsyncGenerator","readableStream","reader","done","isReadableStreamLike","innerFrom","fromInteropObservable","fromArrayLike","fromPromise","fromAsyncIterable","fromIterable","fromReadableStreamLike","obs","array","promise","iterable","iterable_1","iterable_1_1","asyncIterable","process","asyncIterable_1","asyncIterable_1_1","executeSchedule","parentSubscription","scheduler","work","delay","repeat","scheduleSubscription","observeOn","subscribeOn","scheduleObservable","schedulePromise","scheduleArray","scheduleIterable","scheduleAsyncIterable","scheduleReadableStreamLike","scheduled","EmptyError","firstValueFrom","map","project","isArray","callOrApply","mapOneOrManyArgs","mergeInternals","concurrent","onBeforeNext","expand","innerSubScheduler","additionalFinalizer","buffer","active","isComplete","checkComplete","outerNext","doInnerSub","innerComplete","innerValue","_loop_1","bufferedValue","mergeMap","resultSelector","ii","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","fromEvent","target","eventName","options","isEventTarget","methodName","isNodeStyleEventEmitter","toCommonHandlerRegistry","isJQueryStyleEventEmitter","add","remove","subTarget","filter","predicate","distinctUntilChanged","comparator","keySelector","defaultCompare","previousKey","first","currentKey","share","connector","resetOnError","resetOnComplete","_d","resetOnRefCountZero","wrapperSource","connection","resetConnection","refCount","hasCompleted","hasErrored","cancelReset","reset","resetAndUnsubscribe","conn","dest","handleReset","on","onSubscriber","switchMap","innerSubscriber","innerIndex","outerIndex","tap","tapObserver","isUnsub","MANIFEST_STORE","writable","updateManifestStore","store","cache","PREFETCH_TTL_MS","consumePrefetch","url","entry","bootstrapPrefetch","matchers","event","href","method","get","existing","abortController","response$","fetchOptions","FORGE_LOAD_SYMBOL","response","LogLevel","LogLevel2","LEVEL_BY_NAME","parseLogLevel","normalized","byName","asNumber","logLevelName","level","formatArg","arg","AbstractLogger","name","manager","contextData","NamedLogger","context","mergedContext","message","timestamp","argsContext","ConsoleTransport","contextStr","formatted","MANAGER_SYMBOL","LoggingManager","logLevelEnv","serviceNameEnv","nodeEnv","loggerName","loggerLevel","transport","transports","fullEntry","getManager","global","getLogger","log","NAVIGATION_TIMEOUT_MS","withTimeout","ms","onTimeout","timeoutId","timedOut","timeoutPromise","navigation$","currentNavigationId","currentAbortController","handleNavigationResult","executeNavigation","navigateTo","ROOT","page","pollFunction","pollNavigationId","data","urlJoin","parts","part","loadRoute","node","base_path","combinedParams","urlParams","query","useCompiledClient","layouts_paths","layout","view_path","layouts","view","initialData","initialState","hydrate","RecursiveLoader","updateRoute","params","server_loading","updateUrl","navigationId","serverData","prefetched$","layoutPaths","viewPath","path","newState","bootstrap_events","currentUrl","queryParams","requires_server_data","fullUrl","fullPath","middlewares","originalFetch","isInternalRoute","urlObj","initializeFetch","currentInit","middleware","headers","headersObject","finalHeaders","hasForgeSymbol","requestedUrl","finalUrl","redirectPath","fetch","routing","createApp","application_url","needle"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54]}
1
+ {"version":3,"file":"client.cjs","sources":["../src/routing/url_parser.ts","../node_modules/tslib/tslib.es6.mjs","../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../node_modules/rxjs/dist/esm5/internal/Subscription.js","../node_modules/rxjs/dist/esm5/internal/config.js","../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../node_modules/rxjs/dist/esm5/internal/util/noop.js","../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../node_modules/rxjs/dist/esm5/internal/Subscriber.js","../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../node_modules/rxjs/dist/esm5/internal/util/identity.js","../node_modules/rxjs/dist/esm5/internal/util/pipe.js","../node_modules/rxjs/dist/esm5/internal/Observable.js","../node_modules/rxjs/dist/esm5/internal/util/lift.js","../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../node_modules/rxjs/dist/esm5/internal/Subject.js","../node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../node_modules/rxjs/dist/esm5/internal/operators/observeOn.js","../node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js","../node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js","../node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js","../node_modules/rxjs/dist/esm5/internal/observable/from.js","../node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","../node_modules/rxjs/dist/esm5/internal/operators/map.js","../node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js","../node_modules/rxjs/dist/esm5/internal/operators/filter.js","../node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js","../node_modules/rxjs/dist/esm5/internal/operators/share.js","../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js","../node_modules/rxjs/dist/esm5/internal/operators/tap.js","../src/routing/manifest/store.svelte.ts","../src/client/prefetch.ts","../node_modules/@noego/logger/dist/core/log_level.js","../node_modules/@noego/logger/dist/core/abstract_logger.js","../node_modules/@noego/logger/dist/transports/console_transport.js","../node_modules/@noego/logger/dist/core/logging_manager.js","../node_modules/@noego/logger/dist/get_logger.js","../src/client/navigation.svelte.ts","../src/client/events.ts","../src/client/client.ts"],"sourcesContent":["import pathToRegex from 'path-to-regex';\nimport type { IRoute } from '../parser/IRoute';\n\n\n\nexport function makeUrlParser(pattern: string) {\n const parser = new pathToRegex(pattern);\n return (pathname: string) => {\n const result = parser.match(pathname);\n if (!result) return null;\n\n // Decode URL-encoded param values\n const decoded: Record<string, string> = {};\n for (const [key, value] of Object.entries(result)) {\n decoded[key] = decodeURIComponent(value as string);\n }\n return decoded;\n };\n}\n\n\nexport type UrlMatcher = {\n pattern: string,\n parser: ReturnType<typeof makeUrlParser>\n}\n\nexport function findRoute(pathname:string, routes: UrlMatcher[]) {\n for (const { pattern, parser } of routes) {\n const params = parser(pathname);\n if (params) {\n return { pattern, params };\n }\n }\n return null;\n}\n\n\n\n\n\nexport function initialize_route_matchers(routes: IRoute[]): UrlMatcher[] {\n return routes.map((route: IRoute) => {\n const pattern = route.path;\n const parser = makeUrlParser(pattern);\n return { pattern, parser };\n })\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return executeSchedule(subscriber, scheduler, function () { return subscriber.next(value); }, delay); }, function () { return executeSchedule(subscriber, scheduler, function () { return subscriber.complete(); }, delay); }, function (err) { return executeSchedule(subscriber, scheduler, function () { return subscriber.error(err); }, delay); }));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));\n });\n}\n//# sourceMappingURL=subscribeOn.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable(function (subscriber) {\n var iterator;\n executeSchedule(subscriber, scheduler, function () {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, function () {\n var _a;\n var value;\n var done;\n try {\n (_a = iterator.next(), value = _a.value, done = _a.done);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return function () { return isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n executeSchedule(subscriber, scheduler, function () {\n var iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, function () {\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n//# sourceMappingURL=scheduleReadableStreamLike.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n//# sourceMappingURL=from.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) {\n return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n };\n});\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { __read } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nvar nodeEventEmitterMethods = ['addListener', 'removeListener'];\nvar eventTargetMethods = ['addEventListener', 'removeEventListener'];\nvar jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n var _a = __read(isEventTarget(target)\n ? eventTargetMethods.map(function (methodName) { return function (handler) { return target[methodName](eventName, handler, options); }; })\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [], 2), add = _a[0], remove = _a[1];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap(function (subTarget) { return fromEvent(subTarget, eventName, options); })(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subscriber.next(1 < args.length ? args : args[0]);\n };\n add(handler);\n return function () { return remove(handler); };\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return function (methodName) { return function (handler) { return target[methodName](eventName, handler); }; };\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector) {\n if (keySelector === void 0) { keySelector = identity; }\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate(function (source, subscriber) {\n var previousKey;\n var first = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options) {\n if (options === void 0) { options = {}; }\n var _a = options.connector, connector = _a === void 0 ? function () { return new Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;\n return function (wrapperSource) {\n var connection;\n var resetConnection;\n var subject;\n var refCount = 0;\n var hasCompleted = false;\n var hasErrored = false;\n var cancelReset = function () {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n var reset = function () {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n var resetAndUnsubscribe = function () {\n var conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate(function (source, subscriber) {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(function () {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: function (value) { return dest.next(value); },\n error: function (err) {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: function () {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n var onSubscriber = new SafeSubscriber({\n next: function () {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return innerFrom(on.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber);\n}\n//# sourceMappingURL=share.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate(function (source, subscriber) {\n var innerSubscriber = null;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () { return isComplete && !innerSubscriber && subscriber.complete(); };\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n var innerIndex = 0;\n var outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) { return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); }, function () {\n innerSubscriber = null;\n checkComplete();\n })));\n }, function () {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n//# sourceMappingURL=switchMap.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","import { writable } from 'svelte/store';\n\nexport const MANIFEST_STORE = writable({})\n\n\n\nexport async function updateManifestStore() {\n MANIFEST_STORE.update(store => {\n Object.assign(store, window['__MANIFEST__']);\n return store;\n });\n // await fetch('/manifest.json')\n // .then(async (response) => {\n // if (response.ok) {\n // const manifest = await response.json();\n // console.log(manifest)\n // MANIFEST_STORE.update(store => {\n // Object.assign(store, manifest);\n // return store;\n // });\n // }\n // })\n}","\nimport { fromEvent, ReplaySubject, from } from 'rxjs';\nimport { map, filter, distinctUntilChanged, switchMap, tap, share } from 'rxjs/operators';\nimport { get } from 'svelte/store';\nimport { MANIFEST_STORE } from '../routing/manifest/store.svelte';\nimport { FORGE_LOAD_SYMBOL } from './client';\nimport type { IRoute } from '../parser/IRoute';\nimport type { UrlMatcher } from '../routing/url_parser';\n\ninterface PrefetchEntry {\n response$: ReplaySubject<Response>;\n createdAt: number;\n abortController: AbortController;\n}\n\nconst cache = new Map<string, PrefetchEntry>();\nconst PREFETCH_TTL_MS = 5000;\n\n/**\n * Consume a prefetched response for the given URL.\n * Returns the ReplaySubject<Response> if a fresh entry exists, or null.\n * Deletes the entry atomically to prevent double-consumption.\n */\nexport function consumePrefetch(url: string): ReplaySubject<Response> | null {\n const entry = cache.get(url);\n if (!entry) return null;\n\n // Atomic delete - prevents double consumption\n cache.delete(url);\n\n // Check staleness\n if (Date.now() - entry.createdAt > PREFETCH_TTL_MS) {\n entry.abortController.abort();\n return null;\n }\n\n return entry.response$;\n}\n\n/**\n * Bootstrap the hover prefetch system.\n * Listens for mouseover events on <a> elements and prefetches server data.\n */\nexport function bootstrapPrefetch(routes: IRoute[], matchers: UrlMatcher[]) {\n const mouseover$ = fromEvent<MouseEvent>(document, 'mouseover').pipe(share());\n\n const hover$ = mouseover$.pipe(\n // Extract <a> element from hover target\n map((event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const a = target?.tagName === 'A' ? target : target?.closest('A') as HTMLAnchorElement | null;\n if (!a) return null;\n const href = a.getAttribute('href');\n if (!href) return null;\n if (!href.startsWith('/') && !href.startsWith('.')) return null;\n return href;\n }),\n // Drop non-link hovers\n filter((url): url is string => url !== null),\n // Drop if same URL as current page\n filter((url) => url !== window.location.pathname),\n // Deduplicate consecutive hovers to same URL\n distinctUntilChanged(),\n // Check that route requires server data\n filter((url) => {\n const pathname = url.split('?')[0];\n const method = 'get';\n const route = routes.find(r =>\n r.method.toLowerCase() === method &&\n matchers.find(m => m.parser(pathname) && m.pattern === r.path)\n );\n if (!route) return false;\n const m = matchers.find(m => m.parser(pathname) && m.pattern === route.path);\n const manifestStore = get(MANIFEST_STORE);\n return !!(manifestStore as any)[m?.pattern as string];\n }),\n // switchMap cancels prior prefetch when hovering a new link\n switchMap((url) => {\n // If already cached and fresh, skip\n const existing = cache.get(url);\n if (existing && Date.now() - existing.createdAt < PREFETCH_TTL_MS) {\n return [];\n }\n\n const abortController = new AbortController();\n const response$ = new ReplaySubject<Response>(1);\n\n const entry: PrefetchEntry = {\n response$,\n createdAt: Date.now(),\n abortController\n };\n cache.set(url, entry);\n\n const fetchOptions: any = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n },\n signal: abortController.signal\n };\n fetchOptions[FORGE_LOAD_SYMBOL] = true;\n\n return from(\n fetch(url, fetchOptions).then(\n (response) => {\n response$.next(response);\n response$.complete();\n return url;\n },\n (error) => {\n response$.error(error);\n cache.delete(url);\n return null;\n }\n )\n ).pipe(\n tap({\n unsubscribe: () => {\n // switchMap unsubscribed — cancel in-flight fetch and clean cache\n abortController.abort();\n cache.delete(url);\n }\n })\n );\n })\n );\n\n hover$.subscribe();\n\n // TTL cleanup interval\n setInterval(() => {\n const now = Date.now();\n for (const [url, entry] of cache) {\n if (now - entry.createdAt > PREFETCH_TTL_MS) {\n entry.abortController.abort();\n cache.delete(url);\n }\n }\n }, PREFETCH_TTL_MS);\n}\n","var LogLevel = /* @__PURE__ */ ((LogLevel2) => {\n LogLevel2[LogLevel2[\"TRACE\"] = 0] = \"TRACE\";\n LogLevel2[LogLevel2[\"DEBUG\"] = 1] = \"DEBUG\";\n LogLevel2[LogLevel2[\"INFO\"] = 2] = \"INFO\";\n LogLevel2[LogLevel2[\"WARN\"] = 3] = \"WARN\";\n LogLevel2[LogLevel2[\"ERROR\"] = 4] = \"ERROR\";\n LogLevel2[LogLevel2[\"FATAL\"] = 5] = \"FATAL\";\n return LogLevel2;\n})(LogLevel || {});\nconst LEVEL_BY_NAME = {\n trace: 0 /* TRACE */,\n debug: 1 /* DEBUG */,\n info: 2 /* INFO */,\n warn: 3 /* WARN */,\n error: 4 /* ERROR */,\n fatal: 5 /* FATAL */\n};\nfunction parseLogLevel(value) {\n if (!value) return 2 /* INFO */;\n const normalized = value.trim().toLowerCase();\n const byName = LEVEL_BY_NAME[normalized];\n if (typeof byName === \"number\") return byName;\n const asNumber = Number(normalized);\n if (Number.isFinite(asNumber) && asNumber >= 0 && asNumber <= 5) {\n return asNumber;\n }\n return 2 /* INFO */;\n}\nfunction logLevelName(level) {\n switch (level) {\n case 0 /* TRACE */:\n return \"TRACE\";\n case 1 /* DEBUG */:\n return \"DEBUG\";\n case 2 /* INFO */:\n return \"INFO\";\n case 3 /* WARN */:\n return \"WARN\";\n case 4 /* ERROR */:\n return \"ERROR\";\n case 5 /* FATAL */:\n return \"FATAL\";\n default:\n return \"INFO\";\n }\n}\nexport {\n LogLevel,\n logLevelName,\n parseLogLevel\n};\n//# sourceMappingURL=log_level.js.map","import { LogLevel, logLevelName } from \"./log_level.js\";\nfunction safeJsonStringify(value) {\n const seen = /* @__PURE__ */ new WeakSet();\n try {\n return JSON.stringify(value, (_key, val) => {\n if (typeof val === \"bigint\") return val.toString();\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n if (val instanceof Error) {\n return { name: val.name, message: val.message, stack: val.stack };\n }\n return val;\n });\n } catch {\n return '\"[Unserializable]\"';\n }\n}\nfunction formatArg(arg) {\n if (arg === void 0) return \"undefined\";\n if (arg === null) return null;\n if (arg instanceof Error) {\n return { name: arg.name, message: arg.message, stack: arg.stack };\n }\n switch (typeof arg) {\n case \"string\":\n case \"number\":\n case \"boolean\":\n return arg;\n case \"bigint\":\n return arg.toString();\n case \"symbol\":\n return String(arg);\n case \"function\":\n return `[Function${arg.name ? `: ${arg.name}` : \"\"}]`;\n default:\n return arg;\n }\n}\nfunction formatArgAsString(arg) {\n const formatted = formatArg(arg);\n if (typeof formatted === \"string\") return formatted;\n return safeJsonStringify(formatted);\n}\nclass AbstractLogger {\n constructor(name, manager, contextData) {\n this.name = name;\n this.manager = manager;\n this.contextData = contextData;\n }\n /**\n * Creates a new logger with the specified name.\n * Replaces the current logger's name (not hierarchical).\n */\n named(name) {\n return new NamedLogger(name, this.manager, this.contextData);\n }\n /**\n * Creates a new logger with additional context.\n * Context is merged into every log entry's context field.\n * If this logger already has context, both contexts are merged.\n * Returns a new logger instance (immutable operation).\n */\n withContext(context) {\n const mergedContext = this.contextData ? { ...this.contextData, ...context } : context;\n return new NamedLogger(this.name, this.manager, mergedContext);\n }\n trace(message, ...args) {\n this.log(LogLevel.TRACE, message, args);\n }\n debug(message, ...args) {\n this.log(LogLevel.DEBUG, message, args);\n }\n info(message, ...args) {\n this.log(LogLevel.INFO, message, args);\n }\n warn(message, ...args) {\n this.log(LogLevel.WARN, message, args);\n }\n error(message, ...args) {\n this.log(LogLevel.ERROR, message, args);\n }\n fatal(message, ...args) {\n this.log(LogLevel.FATAL, message, args);\n }\n log(level, message, args) {\n if (!this.manager.shouldLog(level, this.name)) return;\n const timestamp = (/* @__PURE__ */ new Date()).toISOString();\n let argsContext = args.length > 0 ? args.length === 1 ? formatArg(args[0]) : args.map(formatArg) : void 0;\n let context;\n if (this.contextData && argsContext !== void 0) {\n context = { ...this.contextData, args: argsContext };\n } else if (this.contextData) {\n context = this.contextData;\n } else {\n context = argsContext;\n }\n this.manager.log({\n timestamp,\n level: logLevelName(level),\n logger: this.name,\n message,\n context\n });\n }\n}\nclass NamedLogger extends AbstractLogger {\n constructor(name, manager, contextData) {\n super(name, manager, contextData);\n }\n}\nexport {\n NamedLogger\n};\n//# sourceMappingURL=abstract_logger.js.map","class ConsoleTransport {\n log(entry) {\n const contextStr = entry.context !== void 0 ? ` ${JSON.stringify(entry.context)}` : \"\";\n const formatted = `[${entry.timestamp}] [${entry.logger}] [${entry.level}] ${entry.message}${contextStr}`;\n switch (entry.level) {\n case \"ERROR\":\n case \"FATAL\":\n console.error(formatted);\n break;\n case \"WARN\":\n console.warn(formatted);\n break;\n default:\n console.log(formatted);\n break;\n }\n }\n}\nvar console_transport_default = ConsoleTransport;\nexport {\n ConsoleTransport,\n console_transport_default as default\n};\n//# sourceMappingURL=console_transport.js.map","import { logLevelName, parseLogLevel } from \"./log_level.js\";\nimport { ConsoleTransport } from \"../transports/console_transport.js\";\nconst MANAGER_SYMBOL = /* @__PURE__ */ Symbol.for(\"@noego/logger\");\nclass LoggingManager {\n constructor() {\n this.transports = [];\n this.loggerLevels = /* @__PURE__ */ new Map();\n const logLevelEnv = typeof process !== \"undefined\" ? process.env?.LOG_LEVEL : void 0;\n const serviceNameEnv = typeof process !== \"undefined\" ? process.env?.SERVICE_NAME : void 0;\n const nodeEnv = typeof process !== \"undefined\" ? process.env?.NODE_ENV : void 0;\n this.level = parseLogLevel(logLevelEnv);\n this.service = serviceNameEnv ?? \"noego\";\n this.environment = nodeEnv ?? \"development\";\n }\n getLevel() {\n return this.level;\n }\n setLevel(level) {\n this.level = level;\n }\n setLoggerLevel(name, level) {\n this.loggerLevels.set(name, level);\n }\n shouldLog(level, loggerName) {\n if (loggerName) {\n const loggerLevel = this.loggerLevels.get(loggerName);\n if (loggerLevel !== void 0) {\n return level >= loggerLevel;\n }\n }\n return level >= this.level;\n }\n addTransport(transport) {\n this.transports.push(transport);\n }\n setTransports(transports) {\n this.transports = [...transports];\n }\n clearTransports() {\n this.transports = [];\n }\n setServiceName(name) {\n this.service = name;\n }\n log(entry) {\n const fullEntry = {\n ...entry,\n environment: this.environment,\n service: this.service\n };\n for (const transport of this.transports) {\n transport.log(fullEntry);\n }\n }\n async closeAll() {\n for (const transport of this.transports) {\n if (transport.close) {\n await transport.close();\n }\n }\n }\n formatMessage(level, name, message) {\n const timestamp = (/* @__PURE__ */ new Date()).toISOString();\n return `[${timestamp}] [${name}] [${logLevelName(level)}] ${message}`;\n }\n}\nfunction getManager() {\n const global = globalThis;\n if (!global[MANAGER_SYMBOL]) {\n const manager = new LoggingManager();\n manager.addTransport(new ConsoleTransport());\n global[MANAGER_SYMBOL] = manager;\n }\n return global[MANAGER_SYMBOL];\n}\nfunction configureLogging(options) {\n const manager = getManager();\n if (options.level !== void 0) {\n manager.setLevel(options.level);\n }\n if (options.loggers) {\n for (const [name, level] of Object.entries(options.loggers)) {\n manager.setLoggerLevel(name, level);\n }\n }\n if (options.transports) {\n manager.setTransports(options.transports);\n }\n if (options.serviceName) {\n manager.setServiceName(options.serviceName);\n }\n}\nasync function shutdown() {\n const manager = getManager();\n await manager.closeAll();\n}\nexport {\n LoggingManager,\n configureLogging,\n getManager,\n shutdown\n};\n//# sourceMappingURL=logging_manager.js.map","import { NamedLogger } from \"./core/abstract_logger.js\";\nimport { getManager } from \"./core/logging_manager.js\";\nfunction getLogger(name) {\n return new NamedLogger(name, getManager());\n}\nexport {\n getLogger\n};\n//# sourceMappingURL=get_logger.js.map","import type { IRoute } from '../parser/IRoute'\nimport { hydrate } from 'svelte'\nimport RecursiveLoader from '../components/RecursiveRender.svelte'\nimport { FORGE_LOAD_SYMBOL } from './client';\nimport {page} from \"./page.svelte\";\nimport { Subject, switchMap, from, firstValueFrom } from 'rxjs';\nimport { writable, get } from 'svelte/store';\nimport { consumePrefetch } from './prefetch';\nimport { getLogger } from '@noego/logger';\n\nconst log = getLogger('forge:nav');\n\n// Navigation timeout (10 seconds) - prevents indefinite hangs\nconst NAVIGATION_TIMEOUT_MS = 10000;\n\n// Helper to wrap a promise with a timeout\nfunction withTimeout<T>(promise: Promise<T>, ms: number, onTimeout: () => void): Promise<T> {\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n let timedOut = false;\n\n const timeoutPromise = new Promise<T>((_, reject) => {\n timeoutId = setTimeout(() => {\n timedOut = true;\n log.error('Timeout fired after', ms, 'ms');\n onTimeout();\n reject(new Error(`Navigation timed out after ${ms}ms`));\n }, ms);\n log.debug('Timeout scheduled for', ms, 'ms, timeoutId:', timeoutId);\n });\n\n return Promise.race([\n promise.finally(() => {\n // Clear timeout when promise settles (success or error)\n if (timeoutId !== null) {\n if (timedOut) {\n log.warn('Promise settled AFTER timeout already fired');\n } else {\n log.debug('Clearing timeout', timeoutId, '- promise settled successfully');\n clearTimeout(timeoutId);\n }\n }\n }),\n timeoutPromise\n ]);\n}\n\n// Navigation event type\nexport interface NavigationEvent {\n url: string;\n base_path: string;\n route: IRoute;\n params: any;\n urlParams: any;\n query: any;\n server_loading: boolean;\n updateUrl: boolean; // Whether to update browser URL (false for popstate)\n}\n\n// Subject for navigation events\nconst navigation$ = new Subject<NavigationEvent>();\n\n// Navigation ID to prevent stale navigations from updating state\nlet currentNavigationId = 0;\n\n// AbortController for the current navigation's fetch\nlet currentAbortController: AbortController | null = null;\n\n// Helper to handle navigation results (like redirects)\nfunction handleNavigationResult(result: NavigationResult | void) {\n if (result && result.redirectPath) {\n log.debug('Handling redirect to', result.redirectPath);\n // Dispatch event for events.ts to handle the redirect navigation\n setTimeout(() => {\n window.dispatchEvent(new CustomEvent('forge-redirect', {\n detail: { path: result.redirectPath }\n }));\n }, 0);\n }\n}\n\n// Process navigation events - switchMap ensures latest click wins\nnavigation$.pipe(\n switchMap((event) => from(\n withTimeout(\n executeNavigation(event),\n NAVIGATION_TIMEOUT_MS,\n () => {\n log.error('Navigation timed out');\n currentNavigationId++;\n if (currentAbortController) {\n currentAbortController.abort();\n currentAbortController = null;\n }\n }\n ).catch((err) => {\n log.error('Navigation failed:', err);\n return undefined;\n })\n ))\n).subscribe({\n next: handleNavigationResult,\n error: (err) => {\n log.error('Stream error:', err);\n }\n});\n\n// Push a navigation event to the stream\nexport function navigateTo(event: NavigationEvent) {\n log.debug('Pushing navigation event to stream', {\n url: event.url,\n currentNavigationId,\n subscriberCount: (navigation$ as any).observers?.length || 0\n });\n navigation$.next(event);\n}\n\n// Navigation snapshot - represents complete state at a point in time\nexport interface NavigationSnapshot {\n layouts: any[];\n view: any | null;\n viewPath: string | null; // Original x-view path for debugging (e.g., \"pages/workflows/new/main.svelte\")\n layoutPaths: string[]; // Original layout paths for debugging\n data: { layout: any[]; view: any } | null;\n params: any;\n urlParams: any;\n query: any;\n}\n\n// Navigation state architecture using {#key} block for synchronous destruction:\n// - active: What components render (always stable, complete state)\n// - phase: Current navigation phase for UI feedback\n// - 'idle': No navigation in progress\n// - 'loading': Fetching data and loading components\n// - 'ready': Navigation complete (transitions to idle)\n// - navigationId: Used to detect stale navigations\n//\n// The {#key} block in RecursiveRender.svelte forces Svelte to destroy the old\n// component tree synchronously before rendering the new one. This prevents the\n// race condition where old components receive props intended for new components,\n// eliminating the need for an \"unmounting\" phase with a blank screen.\nexport const ROOT = writable({\n active: {\n layouts: [] as any[],\n view: null as any | null,\n viewPath: null as string | null,\n layoutPaths: [] as string[],\n data: { layout: [], view: {} } as { layout: any[]; view: any } | null,\n params: {} as any,\n urlParams: {} as any,\n query: {} as any\n } as NavigationSnapshot,\n phase: 'idle' as 'idle' | 'loading' | 'ready',\n navigationId: 0,\n page\n})\n\n// Wire up page.poll() - fetches current page data and updates component props\n// IMPORTANT: Captures navigationId at start to prevent stale poll responses from\n// corrupting state after a navigation has occurred\nconst pollFunction = async (): Promise<boolean> => {\n // Capture current navigation ID at start of poll\n const pollNavigationId = get(ROOT).navigationId;\n\n try {\n const url = window.location.pathname + window.location.search;\n const fetchOptions: any = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n }\n };\n fetchOptions[FORGE_LOAD_SYMBOL] = true;\n\n const response = await fetch(url, fetchOptions);\n if (!response.ok) return false;\n\n const data = await response.json();\n\n // Stale check: If navigation occurred during poll, discard the response\n // This prevents old page's poll data from corrupting new page's state\n const currentNavigationId = get(ROOT).navigationId;\n if (pollNavigationId !== currentNavigationId) {\n log.debug('Discarding stale poll response', {\n pollNavigationId,\n currentNavigationId\n });\n return false;\n }\n\n // Update view data - Svelte reactivity flows to component props\n ROOT.update(r => {\n r.active.data = { layout: r.active.data?.layout || [], view: data.view };\n return r;\n });\n return true;\n } catch {\n return false;\n }\n};\n\n// Assign to page store\npage.update(p => {\n (p as any).poll = pollFunction;\n return p;\n});\n\nfunction urlJoin(...parts) {\n let url = parts\n .map((part, i) => {\n if (i === 0) return part.replace(/\\/+$/, ''); // trim trailing slash\n return part.replace(/^\\/+|\\/+$/g, ''); // trim both for middle parts\n })\n .join('/');\n\n if (!url.startsWith('/')) {\n url = '/' + url; // add leading slash if not present\n }\n return url.split('?')[0]; // remove query string\n}\n\nexport async function loadRoute(node:any,base_path:string, route: IRoute, combinedParams: any, urlParams:any, query:any) {\n try {\n // When serving precompiled client bundles (assets), resolve to .js files\n const useCompiledClient = typeof base_path === 'string' && base_path.indexOf('assets') !== -1;\n\n const layouts_paths = (route.layout || []).map(layout => {\n let p = urlJoin(base_path,layout).toString();\n if (useCompiledClient) {\n p = p.endsWith('.svelte') ? p.replace(/\\.svelte$/, '.js') : (/[.][a-z]+$/.test(p) ? p : p + '.js');\n }\n return p;\n })\n let view_path = urlJoin(base_path,route.view).toString()\n if (useCompiledClient) {\n view_path = view_path.endsWith('.svelte') ? view_path.replace(/\\.svelte$/, '.js') : (/[.][a-z]+$/.test(view_path) ? view_path : view_path + '.js');\n }\n\n\n const layouts = await Promise.all(layouts_paths.map((layout) => {\n return import(/* @vite-ignore */ layout).then(layout => {\n return layout.default\n })\n }))\n\n if (!view_path.startsWith('/')){\n view_path = '/'+view_path\n }\n const view = await import(/* @vite-ignore */ view_path).then(view => {\n return view.default\n })\n\n // Build complete initial state\n const initialData = (window as any).__INITIAL_DATA__ || { layout: [], view: {} };\n const initialState: NavigationSnapshot = {\n layouts,\n view,\n viewPath: route.view || null, // Store original path for debugging\n layoutPaths: route.layout || [], // Store original paths for debugging\n data: initialData,\n params: combinedParams,\n urlParams,\n query\n };\n\n // Set initial state atomically\n ROOT.update(r => {\n r.active = initialState;\n r.phase = 'idle';\n return r;\n });\n\n // Hydrate - pass ROOT as a prop so SSR doesn't try to import it\n hydrate(RecursiveLoader, {\n target: node,\n props: { root: ROOT }\n })\n } catch (error) {\n log.error('Client-side route loading failed:', error);\n // Don't trigger a reload - let SSR-rendered content remain\n }\n}\n\n\n\n// Public API - pushes to the navigation stream\nexport function updateRoute(url:string, base_path:string, route: IRoute, params: any, urlParams:any, query:any, server_loading:boolean = false, updateUrl = true) {\n navigateTo({ url, base_path, route, params, urlParams, query, server_loading, updateUrl });\n}\n\n// Navigation result type\ninterface NavigationResult {\n redirectPath?: string;\n}\n\n// Internal function that executes the actual navigation\n// Uses ATOMIC SWAP pattern: Build complete state OUTSIDE ROOT, then swap in with single assignment\nasync function executeNavigation(event: NavigationEvent): Promise<NavigationResult | void> {\n const { url, base_path, route, params, urlParams, query, server_loading, updateUrl } = event;\n\n // Capture navigation ID at start - if this changes during execution,\n // it means this navigation was superseded or timed out\n const navigationId = ++currentNavigationId;\n\n // Create AbortController for this navigation's fetch\n const abortController = new AbortController();\n currentAbortController = abortController;\n\n log.debug('Starting navigation', {\n navigationId,\n url,\n updateUrl,\n server_loading,\n currentNavigationId,\n hasAbortController: !!currentAbortController\n });\n\n // Phase 1: Signal loading (ROOT.active stays unchanged - components render current page)\n ROOT.update(r => {\n r.phase = 'loading';\n r.navigationId = navigationId;\n return r;\n });\n\n try {\n // Phase 2: Fetch server data (if needed)\n let serverData: { layout: any[]; view: any } = { layout: [], view: {} };\n\n if (server_loading) {\n log.debug('Fetching server data', { navigationId, url });\n\n // Try to consume a prefetched response first\n let response: Response | null = null;\n const prefetched$ = consumePrefetch(url);\n if (prefetched$) {\n try {\n log.debug('Using prefetched response for', url);\n response = await firstValueFrom(prefetched$);\n } catch (err) {\n log.debug('Prefetch failed, falling back to fetch', url);\n response = null;\n }\n }\n\n if (!response) {\n const fetchOptions: any = {\n method: route.method,\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n },\n signal: abortController.signal\n };\n fetchOptions[FORGE_LOAD_SYMBOL] = true;\n response = await fetch(url, fetchOptions);\n }\n\n log.debug('Fetch response received', {\n navigationId,\n url,\n ok: response.ok,\n status: response.status,\n redirected: response.redirected,\n currentNavigationId\n });\n\n // Check for redirect\n if (response.redirected || response.headers.get('X-Forge-Redirect') === 'true') {\n log.debug('Redirect detected');\n ROOT.update(r => { r.phase = 'idle'; return r; });\n return { redirectPath: response.headers.get('X-Forge-Redirect-Path') || undefined };\n }\n\n if (!response.ok) {\n throw new Error(`Network response was not ok: ${response.status}`);\n }\n\n serverData = await response.json();\n log.debug('Server data received:', serverData);\n }\n\n // Stale check after fetch\n if (navigationId !== currentNavigationId) {\n log.debug('Stale navigation after fetch, aborting', { navigationId, currentNavigationId });\n return;\n }\n\n // Phase 3: Load components\n log.debug('Loading components', { navigationId, view: route.view, layouts: route.layout });\n const useCompiledClient = typeof base_path === 'string' && base_path.indexOf('assets') !== -1;\n\n const layoutPaths = (route.layout || []).map(layout => {\n let p = urlJoin(base_path, layout).toString();\n if (useCompiledClient) {\n p = p.endsWith('.svelte') ? p.replace(/\\.svelte$/, '.js') : (/[.][a-z]+$/.test(p) ? p : p + '.js');\n }\n return p;\n });\n\n let viewPath = urlJoin(base_path, route.view).toString();\n if (useCompiledClient) {\n viewPath = viewPath.endsWith('.svelte') ? viewPath.replace(/\\.svelte$/, '.js') : (/[.][a-z]+$/.test(viewPath) ? viewPath : viewPath + '.js');\n }\n if (!viewPath.startsWith('/')) {\n viewPath = '/' + viewPath;\n }\n\n const layouts = await Promise.all(\n layoutPaths.map(path => import(/* @vite-ignore */ path).then(m => m.default))\n );\n const view = await import(/* @vite-ignore */ viewPath).then(m => m.default);\n\n log.debug('Components loaded', {\n navigationId,\n currentNavigationId,\n layoutsCount: layouts.length,\n viewLoaded: !!view\n });\n\n // Stale check after component load\n if (navigationId !== currentNavigationId) {\n log.debug('Stale navigation after component load, aborting', { navigationId, currentNavigationId });\n return;\n }\n\n // Phase 4: Build complete new state\n const newState: NavigationSnapshot = {\n layouts,\n view,\n viewPath: route.view || null, // Store original path for debugging\n layoutPaths: route.layout || [], // Store original paths for debugging\n data: serverData,\n params,\n urlParams,\n query\n };\n\n log.debug('Committing new state', {\n navigationId,\n currentNavigationId,\n layoutsCount: newState.layouts.length,\n viewSet: !!newState.view,\n dataKeys: Object.keys(newState.data || {})\n });\n\n // Phase 5: COMMIT - Update active directly\n // The {#key} block in RecursiveRender.svelte ensures the old component tree\n // is destroyed synchronously before the new one is rendered, preventing\n // any race condition where old components receive new props.\n ROOT.update(r => {\n r.active = newState;\n r.phase = 'idle';\n\n log.debug('ROOT.active updated', {\n navigationId,\n layoutsCount: r.active.layouts.length,\n viewSet: !!r.active.view,\n dataKeys: Object.keys(r.active.data || {}),\n paramsKeys: Object.keys(r.active.params || {})\n });\n\n return r;\n });\n\n // Phase 6: Post-navigation actions\n if (typeof window !== 'undefined') {\n window.scroll(0, 0);\n }\n\n // Update browser URL if this is a forward navigation (not popstate)\n if (updateUrl) {\n log.debug('Updating browser URL', { url });\n window.history.pushState({}, '', url);\n }\n\n log.debug('Navigation complete', { navigationId, url });\n\n } catch (error) {\n log.error('Navigation failed', {\n navigationId,\n currentNavigationId,\n url,\n error: error instanceof Error ? error.message : String(error)\n });\n\n // On error, ROOT.active stays unchanged - user sees current page\n ROOT.update(r => {\n r.phase = 'idle';\n return r;\n });\n\n // Don't throw AbortError - it's expected when navigation is cancelled\n if ((error as any).name === 'AbortError') {\n log.debug('Navigation aborted');\n return;\n }\n\n throw error;\n }\n}\n","\nimport { getLogger } from '@noego/logger';\nconst log = getLogger('forge:events');\n\nimport type {IRoute} from \"../parser/IRoute\";\nimport type { UrlMatcher } from \"../routing/url_parser\";\nimport { updateRoute } from \"./navigation.svelte.ts\";\nimport { MANIFEST_STORE } from \"../routing/manifest/store.svelte\";\nimport {page} from './page.svelte';\nimport { get } from 'svelte/store';\nimport { bootstrapPrefetch } from './prefetch';\n\n\n\n\nexport function bootstrap_events(base_path:string,routes:IRoute[], matchers: UrlMatcher[]) {\n if(!document){\n log.error('Document not found')\n return\n }\n\n // Click handler - intercepts link clicks for client-side navigation\n document.addEventListener('click', (event:any) => {\n const currentUrl = window.location.pathname;\n const a = event.target?.tagName === 'A' ? event.target : event.target?.closest('A');\n\n if (a) {\n let url = a.getAttribute('href');\n if (currentUrl === url) {\n event.preventDefault();\n return;\n }\n if (url && url.startsWith('/') || url.startsWith('.')) {\n const pathname = url.split('?')[0];\n const method = a.getAttribute('method') || 'get';\n const route = routes.find(r => r.method.toLowerCase() === method && matchers.find(m => m.parser(pathname) && m.pattern === r.path));\n if (route) {\n event.preventDefault();\n const m = matchers.find(m => m.parser(pathname) && m.pattern === route.path);\n const params = m?.parser(pathname) || {};\n // Parse query parameters and combine with path parameters\n const urlParams = new URLSearchParams(url.split('?')[1] || '');\n const queryParams = Object.fromEntries(urlParams.entries()) || {};\n const combinedParams = { ...params, ...queryParams };\n const manifestStore = get(MANIFEST_STORE);\n const requires_server_data = manifestStore[m?.pattern as string]\n\n // Update page store\n page.update(p => {\n p.url = url;\n p.pathname = pathname;\n p.params = params;\n p.query = queryParams;\n return p;\n });\n\n log.debug('Click navigation to', url);\n updateRoute(url, base_path, route, combinedParams, params, queryParams, requires_server_data, true);\n } else {\n log.warn('No matching route found', url, '- using fallback navigation');\n // Fallback: Don't prevent default, let browser handle the navigation\n }\n }\n }\n });\n\n\n // Popstate handler - handles browser back/forward buttons\n window.addEventListener('popstate', (_) => {\n const path = window.location.pathname;\n const fullUrl = window.location.pathname + window.location.search;\n\n const method = 'get';\n const route = routes.find(r => r.method.toLowerCase() === method && matchers.find(m => m.parser(path) && m.pattern === r.path));\n if (route) {\n const m = matchers.find(m => m.parser(path) && m.pattern === route.path);\n const params = m?.parser(path) || {};\n // Parse query parameters and combine with path parameters\n const urlParams = new URLSearchParams(window.location.search);\n const queryParams = Object.fromEntries(urlParams.entries()) || {};\n\n // Update page store\n page.update(p => {\n p.url = fullUrl;\n p.pathname = window.location.pathname;\n p.params = params;\n p.query = queryParams;\n return p;\n });\n\n const combinedParams = { ...params, ...queryParams };\n const manifestStore = get(MANIFEST_STORE);\n const requires_server_data = manifestStore[m?.pattern as string]\n\n log.debug('Popstate navigation to', fullUrl);\n // updateUrl=false because URL already changed (browser did it)\n updateRoute(fullUrl, base_path, route, combinedParams, params, queryParams, requires_server_data, false);\n } else {\n log.warn('No matching route found', path, '- using fallback navigation');\n // Fallback: Trigger full page reload for unknown routes\n window.location.href = path;\n }\n });\n\n\n // Handle redirects from forge navigation\n // This is triggered when a server redirect is detected\n window.addEventListener('forge-redirect', ((event: CustomEvent<{ path: string }>) => {\n const fullPath = event.detail.path;\n const path = fullPath.split('?')[0];\n\n log.debug('Handling forge-redirect to:', fullPath);\n\n const method = 'get';\n const route = routes.find(r => r.method.toLowerCase() === method && matchers.find(m => m.parser(path) && m.pattern === r.path));\n if (route) {\n const m = matchers.find(m => m.parser(path) && m.pattern === route.path);\n const params = m?.parser(path) || {};\n // Parse query parameters and combine with path parameters\n const urlParams = new URLSearchParams(fullPath.split('?')[1] || '');\n const queryParams = Object.fromEntries(urlParams.entries()) || {};\n const combinedParams = { ...params, ...queryParams };\n const manifestStore = get(MANIFEST_STORE);\n const requires_server_data = manifestStore[m?.pattern as string]\n\n // Update page store\n page.update(p => {\n p.url = fullPath;\n p.pathname = path;\n p.params = params;\n p.query = queryParams;\n return p;\n });\n\n // updateUrl=true so the URL is updated AFTER navigation completes\n updateRoute(fullPath, base_path, route, combinedParams, params, queryParams, requires_server_data, true);\n } else {\n log.warn('No matching route found', path, '- using fallback navigation');\n // Fallback: Use full page navigation for unknown routes\n window.location.href = path;\n }\n }) as EventListener);\n\n // Bootstrap hover prefetching\n bootstrapPrefetch(routes, matchers);\n}\n","import { initialize_route_matchers } from '../routing/url_parser';\nimport { loadRoute } from './navigation.svelte.ts';\nimport { bootstrap_events } from './events';\nimport { updateManifestStore } from '../routing/manifest/store.svelte';\nimport type { ServerOptions } from '../options/ServerOptions';\nimport type { FetchMiddleware, FetchMiddlewareAPI, HeadersObject } from '../types/FetchMiddleware';\nimport { getLogger } from '@noego/logger';\n\nconst log = getLogger('forge:client');\n\n// Symbol for marking load function fetches\nexport const FORGE_LOAD_SYMBOL = Symbol('forge-load-function');\n\n// Middleware storage\nlet middlewares: Array<FetchMiddleware> = [];\nlet originalFetch: typeof window.fetch | null = null;\n\n// Helper to determine if a URL is an internal route\nfunction isInternalRoute(url: string): boolean {\n try {\n const urlObj = new URL(url, window.location.origin);\n return urlObj.origin === window.location.origin && !urlObj.pathname.startsWith('/api/');\n } catch {\n // Relative URL, assume internal\n return !url.startsWith('/api/');\n }\n}\n\n// Initialize fetch override immediately when module is imported\nfunction initializeFetch(): void {\n if (typeof window !== 'undefined' && !originalFetch) {\n originalFetch = window.fetch;\n\n window.fetch = async function(input: RequestInfo | URL, init: RequestInit = {}): Promise<Response> {\n // Start with the original init\n let currentInit: RequestInit = { ...init };\n\n // Run all configured middleware\n for (const middleware of middlewares) {\n try {\n if (middleware.length === 2) {\n // Callback style (legacy): (headers, next) => {}\n // Convert headers for middleware\n const headers = new Headers(currentInit.headers);\n const headersObject: HeadersObject = Object.fromEntries(headers.entries());\n\n await new Promise<void>((resolve, reject) => {\n try {\n (middleware as any)(headersObject, (error?: any) => {\n if (error) {\n reject(error);\n } else {\n // Convert headers back\n const finalHeaders = new Headers();\n Object.entries(headersObject).forEach(([key, value]) => {\n if (value !== undefined) {\n finalHeaders.set(key, value);\n }\n });\n currentInit.headers = finalHeaders;\n resolve();\n }\n });\n } catch (error) {\n reject(error);\n }\n });\n } else {\n // New style middleware (returns RequestInit)\n const result = await (middleware as any)(currentInit, input);\n\n if (result && typeof result === 'object') {\n // Middleware returned a value - use it as new RequestInit\n currentInit = result;\n }\n }\n } catch (error) {\n log.error('Middleware error', error);\n throw error;\n }\n }\n\n // Check if this is a framework-controlled request\n const hasForgeSymbol = (currentInit as any)?.[FORGE_LOAD_SYMBOL];\n\n log.debug('Fetch override request', {\n url: input,\n hasForgeSymbol,\n headers: currentInit?.headers\n });\n\n // Make the actual request (browser will follow redirects by default)\n const response = await originalFetch!(input, currentInit);\n\n log.debug('Fetch override response', {\n url: input,\n responseUrl: response.url,\n redirected: response.redirected,\n status: response.status,\n type: response.type,\n hasForgeSymbol\n });\n\n // Handle redirects for framework-controlled requests\n // response.redirected tells us if any redirects happened\n // response.url contains the final URL after all redirects\n if (hasForgeSymbol && response.redirected) {\n const requestedUrl = typeof input === 'string' ? input : input.url;\n const finalUrl = response.url;\n\n log.debug('Redirect detected', {\n requested: requestedUrl,\n final: finalUrl,\n redirected: response.redirected\n });\n\n // Check if it's an internal route redirect\n if (isInternalRoute(finalUrl)) {\n // Extract pathname and search params from the full URL\n const url = new URL(finalUrl);\n const redirectPath = url.pathname + url.search;\n\n // DON'T change URL here - let the redirect navigation complete first\n // The URL should only change AFTER data is loaded and page is ready\n log.debug('Redirect detected to:', redirectPath, '- will navigate after current request completes');\n\n // Return a fake response with headers to signal redirect to navigation.svelte.ts\n // The navigation code will handle starting a new navigation to redirectPath\n // and will update the URL only after that navigation completes\n return new Response(JSON.stringify({ layout: [], view: {} }), {\n status: 200,\n headers: {\n 'Content-Type': 'application/json',\n 'X-Forge-Redirect': 'true',\n 'X-Forge-Redirect-Path': redirectPath\n }\n });\n }\n }\n\n return response;\n };\n }\n}\n\n// Initialize fetch override immediately\ninitializeFetch();\n\n// Export fetch API with middleware configuration\nexport const fetch: FetchMiddlewareAPI & { getMiddlewareCount(): number } = {\n /**\n * Add middleware to the fetch pipeline\n */\n configUpdate(middleware: FetchMiddleware): void {\n if (typeof middleware !== 'function') {\n throw new Error('Middleware must be a function');\n }\n middlewares.push(middleware);\n },\n \n /**\n * Reset all middleware\n */\n reset(): void {\n middlewares.length = 0;\n },\n \n /**\n * Get current middleware count (for debugging)\n */\n getMiddlewareCount(): number {\n return middlewares.length;\n }\n};\n\nlet routing;\n\nexport async function createApp<T extends HTMLElement = HTMLElement>(\n node: T,\n options: ServerOptions\n): Promise<void> {\n\n // Use server-injected component directory if available, otherwise fall back to options\n let base_path = window['__COMPONENT_DIR__'] || options.component_dir\n\n if(!base_path && typeof base_path !== 'string') {\n throw new Error('No component directory provided');\n }\n let routes = window['__ROUTING__']\n routing = initialize_route_matchers(routes)\n\n if (window && window.location) {\n const application_url = (window.location.pathname || '/').split('?')[0];\n const needle = routing.find(r => r.parser(application_url));\n let route = needle ? routes.find(r => r.path === needle.pattern) : null;\n if (needle && route) {\n const params = needle.parser(application_url) ||{};\n // Parse query parameters and combine with path parameters\n const urlParams = new URLSearchParams(window.location.search);\n const queryParams = Object.fromEntries(urlParams.entries()) || {};\n const combinedParams = { ...params, ...queryParams };\n updateManifestStore()\n loadRoute(node, base_path, route, combinedParams,params, queryParams);\n bootstrap_events(base_path, routes, routing);\n } else {\n log.warn('No matching route', application_url);\n // No route found - let SSR-rendered content remain\n // The page is already rendered by the server\n }\n\n }\n}\n\n\n"],"names":["makeUrlParser","pattern","parser","pathToRegex","pathname","result","decoded","key","value","initialize_route_matchers","routes","route","extendStatics","d","b","p","__extends","__","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","__generator","body","_","t","f","y","g","verb","n","v","op","__values","o","s","m","i","__read","r","ar","error","__spreadArray","to","from","pack","l","__await","__asyncGenerator","q","awaitReturn","a","resume","settle","fulfill","__asyncValues","isFunction","createErrorClass","createImpl","_super","instance","ctorFunc","UnsubscriptionError","errors","err","arrRemove","arr","item","index","Subscription","initialTeardown","e_1","_a","e_2","_b","_parentage","_parentage_1","_parentage_1_1","parent_1","e_1_1","initialFinalizer","_finalizers","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","config","timeoutProvider","handler","timeout","args","_i","handle","reportUnhandledError","noop","errorContext","cb","Subscriber","destination","_this","EMPTY_OBSERVER","next","complete","SafeSubscriber","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","defaultErrorHandler","observable","identity","x","pipeFromArray","fns","input","prev","fn","Observable","subscribe","operator","subscriber","isSubscriber","source","sink","promiseCtor","getPromiseCtor","Symbol_observable","operations","isObserver","hasLift","operate","init","liftedSource","createOperatorSubscriber","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","closed_1","ObjectUnsubscribedError","Subject","subject","AnonymousSubject","_c","observer","observers","hasError","isStopped","thrownError","dateTimestampProvider","ReplaySubject","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","subscription","copy","adjustedBufferSize","now","last","isArrayLike","isPromise","isInteropObservable","isAsyncIterable","obj","createInvalidObservableTypeError","getSymbolIterator","iterator","isIterable","Symbol_iterator","readableStreamLikeToAsyncGenerator","readableStream","reader","done","isReadableStreamLike","innerFrom","fromInteropObservable","fromArrayLike","fromPromise","fromAsyncIterable","fromIterable","fromReadableStreamLike","obs","array","promise","iterable","iterable_1","iterable_1_1","asyncIterable","process","asyncIterable_1","asyncIterable_1_1","executeSchedule","parentSubscription","scheduler","work","delay","repeat","scheduleSubscription","observeOn","subscribeOn","scheduleObservable","schedulePromise","scheduleArray","scheduleIterable","scheduleAsyncIterable","scheduleReadableStreamLike","scheduled","EmptyError","firstValueFrom","map","project","isArray","callOrApply","mapOneOrManyArgs","mergeInternals","concurrent","onBeforeNext","expand","innerSubScheduler","additionalFinalizer","buffer","active","isComplete","checkComplete","outerNext","doInnerSub","innerComplete","innerValue","_loop_1","bufferedValue","mergeMap","resultSelector","ii","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","fromEvent","target","eventName","options","isEventTarget","methodName","isNodeStyleEventEmitter","toCommonHandlerRegistry","isJQueryStyleEventEmitter","add","remove","subTarget","filter","predicate","distinctUntilChanged","comparator","keySelector","defaultCompare","previousKey","first","currentKey","share","connector","resetOnError","resetOnComplete","_d","resetOnRefCountZero","wrapperSource","connection","resetConnection","refCount","hasCompleted","hasErrored","cancelReset","reset","resetAndUnsubscribe","conn","dest","handleReset","on","onSubscriber","switchMap","innerSubscriber","innerIndex","outerIndex","tap","tapObserver","isUnsub","MANIFEST_STORE","writable","updateManifestStore","store","cache","PREFETCH_TTL_MS","consumePrefetch","url","entry","bootstrapPrefetch","matchers","event","href","method","get","existing","abortController","response$","fetchOptions","FORGE_LOAD_SYMBOL","response","LogLevel","LogLevel2","LEVEL_BY_NAME","parseLogLevel","normalized","byName","asNumber","logLevelName","level","formatArg","arg","AbstractLogger","name","manager","contextData","NamedLogger","context","mergedContext","message","timestamp","argsContext","ConsoleTransport","contextStr","formatted","MANAGER_SYMBOL","LoggingManager","logLevelEnv","serviceNameEnv","nodeEnv","loggerName","loggerLevel","transport","transports","fullEntry","getManager","global","getLogger","log","NAVIGATION_TIMEOUT_MS","withTimeout","ms","onTimeout","timeoutId","timedOut","timeoutPromise","navigation$","currentNavigationId","currentAbortController","handleNavigationResult","executeNavigation","navigateTo","ROOT","page","pollFunction","pollNavigationId","data","urlJoin","parts","part","loadRoute","node","base_path","combinedParams","urlParams","query","useCompiledClient","layouts_paths","layout","view_path","layouts","view","initialData","initialState","hydrate","RecursiveLoader","updateRoute","params","server_loading","updateUrl","navigationId","serverData","prefetched$","layoutPaths","viewPath","path","newState","bootstrap_events","currentUrl","queryParams","requires_server_data","fullUrl","fullPath","middlewares","originalFetch","isInternalRoute","urlObj","initializeFetch","currentInit","middleware","headers","headersObject","finalHeaders","hasForgeSymbol","requestedUrl","finalUrl","redirectPath","fetch","routing","createApp","application_url","needle"],"mappings":"4QAKO,SAASA,GAAcC,EAAiB,CAC7C,MAAMC,EAAS,IAAIC,EAAAA,cAAYF,CAAO,EACtC,OAAQG,GAAqB,CAC3B,MAAMC,EAASH,EAAO,MAAME,CAAQ,EACpC,GAAI,CAACC,EAAQ,OAAO,KAGpB,MAAMC,EAAkC,CAAA,EACxC,SAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQH,CAAM,EAC9CC,EAAQC,CAAG,EAAI,mBAAmBC,CAAe,EAEnD,OAAOF,CACT,CACF,CAsBO,SAASG,GAA0BC,EAAgC,CACxE,OAAOA,EAAO,IAAKC,GAAkB,CACnC,MAAMV,EAAUU,EAAM,KAChBT,EAASF,GAAcC,CAAO,EACpC,MAAO,CAAE,QAAAA,EAAS,OAAAC,CAAA,CACpB,CAAC,CACH,CC9BA,IAAIU,GAAgB,SAASC,EAAGC,EAAG,CACjC,OAAAF,GAAgB,OAAO,gBAClB,CAAE,UAAW,CAAA,aAAgB,OAAS,SAAUC,EAAGC,EAAG,CAAED,EAAE,UAAYC,CAAG,GAC1E,SAAUD,EAAGC,EAAG,CAAE,QAASC,KAAKD,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGC,CAAC,IAAGF,EAAEE,CAAC,EAAID,EAAEC,CAAC,EAAG,EAC7FH,GAAcC,EAAGC,CAAC,CAC3B,EAEO,SAASE,EAAUH,EAAGC,EAAG,CAC9B,GAAI,OAAOA,GAAM,YAAcA,IAAM,KACjC,MAAM,IAAI,UAAU,uBAAyB,OAAOA,CAAC,EAAI,+BAA+B,EAC5FF,GAAcC,EAAGC,CAAC,EAClB,SAASG,GAAK,CAAE,KAAK,YAAcJ,CAAG,CACtCA,EAAE,UAAYC,IAAM,KAAO,OAAO,OAAOA,CAAC,GAAKG,EAAG,UAAYH,EAAE,UAAW,IAAIG,EACjF,CAqFO,SAASC,GAAUC,EAASC,EAAYC,EAAGC,EAAW,CAC3D,SAASC,EAAMf,EAAO,CAAE,OAAOA,aAAiBa,EAAIb,EAAQ,IAAIa,EAAE,SAAUG,EAAS,CAAEA,EAAQhB,CAAK,CAAG,CAAC,CAAG,CAC3G,OAAO,IAAKa,IAAMA,EAAI,UAAU,SAAUG,EAASC,EAAQ,CACvD,SAASC,EAAUlB,EAAO,CAAE,GAAI,CAAEmB,EAAKL,EAAU,KAAKd,CAAK,CAAC,CAAG,OAASoB,EAAG,CAAEH,EAAOG,CAAC,CAAG,CAAE,CAC1F,SAASC,EAASrB,EAAO,CAAE,GAAI,CAAEmB,EAAKL,EAAU,MAASd,CAAK,CAAC,CAAG,OAASoB,EAAG,CAAEH,EAAOG,CAAC,CAAG,CAAE,CAC7F,SAASD,EAAKtB,EAAQ,CAAEA,EAAO,KAAOmB,EAAQnB,EAAO,KAAK,EAAIkB,EAAMlB,EAAO,KAAK,EAAE,KAAKqB,EAAWG,CAAQ,CAAG,CAC7GF,GAAML,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CACxE,CAAC,CACH,CAEO,SAASU,GAAYX,EAASY,EAAM,CACzC,IAAIC,EAAI,CAAE,MAAO,EAAG,KAAM,UAAW,CAAE,GAAIC,EAAE,CAAC,EAAI,EAAG,MAAMA,EAAE,CAAC,EAAG,OAAOA,EAAE,CAAC,CAAG,EAAG,KAAM,CAAA,EAAI,IAAK,CAAA,CAAE,EAAIC,EAAGC,EAAGF,EAAGG,EAAI,OAAO,QAAQ,OAAO,UAAa,WAAa,SAAW,QAAQ,SAAS,EAC/L,OAAOA,EAAE,KAAOC,EAAK,CAAC,EAAGD,EAAE,MAAWC,EAAK,CAAC,EAAGD,EAAE,OAAYC,EAAK,CAAC,EAAG,OAAO,QAAW,aAAeD,EAAE,OAAO,QAAQ,EAAI,UAAW,CAAE,OAAO,IAAM,GAAIA,EAC1J,SAASC,EAAKC,EAAG,CAAE,OAAO,SAAUC,EAAG,CAAE,OAAOZ,EAAK,CAACW,EAAGC,CAAC,CAAC,CAAG,CAAG,CACjE,SAASZ,EAAKa,EAAI,CACd,GAAIN,EAAG,MAAM,IAAI,UAAU,iCAAiC,EAC5D,KAAOE,IAAMA,EAAI,EAAGI,EAAG,CAAC,IAAMR,EAAI,IAAKA,GAAG,GAAI,CAC1C,GAAIE,EAAI,EAAGC,IAAMF,EAAIO,EAAG,CAAC,EAAI,EAAIL,EAAE,OAAYK,EAAG,CAAC,EAAIL,EAAE,SAAcF,EAAIE,EAAE,SAAcF,EAAE,KAAKE,CAAC,EAAG,GAAKA,EAAE,OAAS,EAAEF,EAAIA,EAAE,KAAKE,EAAGK,EAAG,CAAC,CAAC,GAAG,KAAM,OAAOP,EAE3J,OADIE,EAAI,EAAGF,IAAGO,EAAK,CAACA,EAAG,CAAC,EAAI,EAAGP,EAAE,KAAK,GAC9BO,EAAG,CAAC,EAAC,CACT,IAAK,GAAG,IAAK,GAAGP,EAAIO,EAAI,MACxB,IAAK,GAAG,OAAAR,EAAE,QAAgB,CAAE,MAAOQ,EAAG,CAAC,EAAG,KAAM,EAAK,EACrD,IAAK,GAAGR,EAAE,QAASG,EAAIK,EAAG,CAAC,EAAGA,EAAK,CAAC,CAAC,EAAG,SACxC,IAAK,GAAGA,EAAKR,EAAE,IAAI,MAAOA,EAAE,KAAK,IAAG,EAAI,SACxC,QACI,GAAMC,EAAID,EAAE,KAAM,EAAAC,EAAIA,EAAE,OAAS,GAAKA,EAAEA,EAAE,OAAS,CAAC,KAAOO,EAAG,CAAC,IAAM,GAAKA,EAAG,CAAC,IAAM,GAAI,CAAER,EAAI,EAAG,QAAU,CAC3G,GAAIQ,EAAG,CAAC,IAAM,IAAM,CAACP,GAAMO,EAAG,CAAC,EAAIP,EAAE,CAAC,GAAKO,EAAG,CAAC,EAAIP,EAAE,CAAC,GAAK,CAAED,EAAE,MAAQQ,EAAG,CAAC,EAAG,KAAO,CACrF,GAAIA,EAAG,CAAC,IAAM,GAAKR,EAAE,MAAQC,EAAE,CAAC,EAAG,CAAED,EAAE,MAAQC,EAAE,CAAC,EAAGA,EAAIO,EAAI,KAAO,CACpE,GAAIP,GAAKD,EAAE,MAAQC,EAAE,CAAC,EAAG,CAAED,EAAE,MAAQC,EAAE,CAAC,EAAGD,EAAE,IAAI,KAAKQ,CAAE,EAAG,KAAO,CAC9DP,EAAE,CAAC,GAAGD,EAAE,IAAI,IAAG,EACnBA,EAAE,KAAK,IAAG,EAAI,QAChC,CACUQ,EAAKT,EAAK,KAAKZ,EAASa,CAAC,CAC7B,OAASJ,EAAG,CAAEY,EAAK,CAAC,EAAGZ,CAAC,EAAGO,EAAI,CAAG,QAAC,CAAWD,EAAID,EAAI,CAAG,CACzD,GAAIO,EAAG,CAAC,EAAI,EAAG,MAAMA,EAAG,CAAC,EAAG,MAAO,CAAE,MAAOA,EAAG,CAAC,EAAIA,EAAG,CAAC,EAAI,OAAQ,KAAM,EAAI,CAClF,CACF,CAkBO,SAASC,EAASC,EAAG,CAC1B,IAAIC,EAAI,OAAO,QAAW,YAAc,OAAO,SAAUC,EAAID,GAAKD,EAAEC,CAAC,EAAGE,EAAI,EAC5E,GAAID,EAAG,OAAOA,EAAE,KAAKF,CAAC,EACtB,GAAIA,GAAK,OAAOA,EAAE,QAAW,SAAU,MAAO,CAC1C,KAAM,UAAY,CACd,OAAIA,GAAKG,GAAKH,EAAE,SAAQA,EAAI,QACrB,CAAE,MAAOA,GAAKA,EAAEG,GAAG,EAAG,KAAM,CAACH,CAAC,CACzC,CACN,EACE,MAAM,IAAI,UAAUC,EAAI,0BAA4B,iCAAiC,CACvF,CAEO,SAASG,EAAOJ,EAAGJ,EAAG,CAC3B,IAAIM,EAAI,OAAO,QAAW,YAAcF,EAAE,OAAO,QAAQ,EACzD,GAAI,CAACE,EAAG,OAAOF,EACf,IAAIG,EAAID,EAAE,KAAKF,CAAC,EAAGK,EAAGC,EAAK,CAAA,EAAIpB,EAC/B,GAAI,CACA,MAAQU,IAAM,QAAUA,KAAM,IAAM,EAAES,EAAIF,EAAE,KAAI,GAAI,MAAMG,EAAG,KAAKD,EAAE,KAAK,CAC7E,OACOE,EAAO,CAAErB,EAAI,CAAE,MAAOqB,CAAK,CAAI,QACxC,CACM,GAAI,CACIF,GAAK,CAACA,EAAE,OAASH,EAAIC,EAAE,SAAYD,EAAE,KAAKC,CAAC,CACnD,QACN,CAAgB,GAAIjB,EAAG,MAAMA,EAAE,KAAO,CACpC,CACA,OAAOoB,CACT,CAkBO,SAASE,EAAcC,EAAIC,EAAMC,EAAM,CAC5C,GAAIA,GAAQ,UAAU,SAAW,EAAG,QAASR,EAAI,EAAGS,EAAIF,EAAK,OAAQJ,EAAIH,EAAIS,EAAGT,KACxEG,GAAM,EAAEH,KAAKO,MACRJ,IAAIA,EAAK,MAAM,UAAU,MAAM,KAAKI,EAAM,EAAGP,CAAC,GACnDG,EAAGH,CAAC,EAAIO,EAAKP,CAAC,GAGtB,OAAOM,EAAG,OAAOH,GAAM,MAAM,UAAU,MAAM,KAAKI,CAAI,CAAC,CACzD,CAEO,SAASG,EAAQhB,EAAG,CACzB,OAAO,gBAAgBgB,GAAW,KAAK,EAAIhB,EAAG,MAAQ,IAAIgB,EAAQhB,CAAC,CACrE,CAEO,SAASiB,GAAiBrC,EAASC,EAAYE,EAAW,CAC/D,GAAI,CAAC,OAAO,cAAe,MAAM,IAAI,UAAU,sCAAsC,EACrF,IAAIc,EAAId,EAAU,MAAMH,EAASC,GAAc,EAAE,EAAGyB,EAAGY,EAAI,CAAA,EAC3D,OAAOZ,EAAI,OAAO,QAAQ,OAAO,eAAkB,WAAa,cAAgB,QAAQ,SAAS,EAAGR,EAAK,MAAM,EAAGA,EAAK,OAAO,EAAGA,EAAK,SAAUqB,CAAW,EAAGb,EAAE,OAAO,aAAa,EAAI,UAAY,CAAE,OAAO,IAAM,EAAGA,EACtN,SAASa,EAAYxB,EAAG,CAAE,OAAO,SAAUK,EAAG,CAAE,OAAO,QAAQ,QAAQA,CAAC,EAAE,KAAKL,EAAGT,CAAM,CAAG,CAAG,CAC9F,SAASY,EAAKC,EAAGJ,EAAG,CAAME,EAAEE,CAAC,IAAKO,EAAEP,CAAC,EAAI,SAAUC,EAAG,CAAE,OAAO,IAAI,QAAQ,SAAUoB,EAAG7C,EAAG,CAAE2C,EAAE,KAAK,CAACnB,EAAGC,EAAGoB,EAAG7C,CAAC,CAAC,EAAI,GAAK8C,EAAOtB,EAAGC,CAAC,CAAG,CAAC,CAAG,EAAOL,IAAGW,EAAEP,CAAC,EAAIJ,EAAEW,EAAEP,CAAC,CAAC,GAAK,CACvK,SAASsB,EAAOtB,EAAGC,EAAG,CAAE,GAAI,CAAEZ,EAAKS,EAAEE,CAAC,EAAEC,CAAC,CAAC,CAAG,OAASX,EAAG,CAAEiC,EAAOJ,EAAE,CAAC,EAAE,CAAC,EAAG7B,CAAC,CAAG,CAAE,CACjF,SAASD,EAAKoB,EAAG,CAAEA,EAAE,iBAAiBQ,EAAU,QAAQ,QAAQR,EAAE,MAAM,CAAC,EAAE,KAAKe,EAASrC,CAAM,EAAIoC,EAAOJ,EAAE,CAAC,EAAE,CAAC,EAAGV,CAAC,CAAG,CACvH,SAASe,EAAQtD,EAAO,CAAEoD,EAAO,OAAQpD,CAAK,CAAG,CACjD,SAASiB,EAAOjB,EAAO,CAAEoD,EAAO,QAASpD,CAAK,CAAG,CACjD,SAASqD,EAAO3B,EAAGK,EAAG,CAAML,EAAEK,CAAC,EAAGkB,EAAE,MAAK,EAAIA,EAAE,QAAQG,EAAOH,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAE,CAAC,CAAC,CAAG,CACnF,CAQO,SAASM,GAAcrB,EAAG,CAC/B,GAAI,CAAC,OAAO,cAAe,MAAM,IAAI,UAAU,sCAAsC,EACrF,IAAIE,EAAIF,EAAE,OAAO,aAAa,EAAGG,EACjC,OAAOD,EAAIA,EAAE,KAAKF,CAAC,GAAKA,EAAI,OAAOD,GAAa,WAAaA,EAASC,CAAC,EAAIA,EAAE,OAAO,QAAQ,EAAC,EAAIG,EAAI,CAAA,EAAIR,EAAK,MAAM,EAAGA,EAAK,OAAO,EAAGA,EAAK,QAAQ,EAAGQ,EAAE,OAAO,aAAa,EAAI,UAAY,CAAE,OAAO,IAAM,EAAGA,GAC9M,SAASR,EAAKC,EAAG,CAAEO,EAAEP,CAAC,EAAII,EAAEJ,CAAC,GAAK,SAAUC,EAAG,CAAE,OAAO,IAAI,QAAQ,SAAUf,EAASC,EAAQ,CAAEc,EAAIG,EAAEJ,CAAC,EAAEC,CAAC,EAAGsB,EAAOrC,EAASC,EAAQc,EAAE,KAAMA,EAAE,KAAK,CAAG,CAAC,CAAG,CAAG,CAC/J,SAASsB,EAAOrC,EAASC,EAAQZ,EAAG0B,EAAG,CAAE,QAAQ,QAAQA,CAAC,EAAE,KAAK,SAASA,EAAG,CAAEf,EAAQ,CAAE,MAAOe,EAAG,KAAM1B,CAAC,CAAE,CAAG,EAAGY,CAAM,CAAG,CAC7H,CC5PO,SAASuC,EAAWxD,EAAO,CAC9B,OAAO,OAAOA,GAAU,UAC5B,CCFO,SAASyD,GAAiBC,EAAY,CACzC,IAAIC,EAAS,SAAUC,EAAU,CAC7B,MAAM,KAAKA,CAAQ,EACnBA,EAAS,MAAQ,IAAI,MAAK,EAAG,KACjC,EACIC,EAAWH,EAAWC,CAAM,EAChC,OAAAE,EAAS,UAAY,OAAO,OAAO,MAAM,SAAS,EAClDA,EAAS,UAAU,YAAcA,EAC1BA,CACX,CCRO,IAAIC,GAAsBL,GAAiB,SAAUE,EAAQ,CAChE,OAAO,SAAiCI,EAAQ,CAC5CJ,EAAO,IAAI,EACX,KAAK,QAAUI,EACTA,EAAO,OAAS;AAAA,EAA8CA,EAAO,IAAI,SAAUC,EAAK3B,EAAG,CAAE,OAAOA,EAAI,EAAI,KAAO2B,EAAI,SAAQ,CAAI,CAAC,EAAE,KAAK;AAAA,GAAM,EACjJ,GACN,KAAK,KAAO,sBACZ,KAAK,OAASD,CAClB,CACJ,CAAC,ECVM,SAASE,GAAUC,EAAKC,EAAM,CACjC,GAAID,EAAK,CACL,IAAIE,EAAQF,EAAI,QAAQC,CAAI,EAC5B,GAAKC,GAASF,EAAI,OAAOE,EAAO,CAAC,CACrC,CACJ,CCDA,IAAIC,GAAgB,UAAY,CAC5B,SAASA,EAAaC,EAAiB,CACnC,KAAK,gBAAkBA,EACvB,KAAK,OAAS,GACd,KAAK,WAAa,KAClB,KAAK,YAAc,IACvB,CACA,OAAAD,EAAa,UAAU,YAAc,UAAY,CAC7C,IAAIE,EAAKC,EAAIC,EAAKC,EACdX,EACJ,GAAI,CAAC,KAAK,OAAQ,CACd,KAAK,OAAS,GACd,IAAIY,EAAa,KAAK,WACtB,GAAIA,EAEA,GADA,KAAK,WAAa,KACd,MAAM,QAAQA,CAAU,EACxB,GAAI,CACA,QAASC,EAAe3C,EAAS0C,CAAU,EAAGE,EAAiBD,EAAa,KAAI,EAAI,CAACC,EAAe,KAAMA,EAAiBD,EAAa,KAAI,EAAI,CAC5I,IAAIE,EAAWD,EAAe,MAC9BC,EAAS,OAAO,IAAI,CACxB,CACJ,OACOC,EAAO,CAAER,EAAM,CAAE,MAAOQ,CAAK,CAAI,QAC5D,CACwB,GAAI,CACIF,GAAkB,CAACA,EAAe,OAASL,EAAKI,EAAa,SAASJ,EAAG,KAAKI,CAAY,CAClG,QACxB,CAAkC,GAAIL,EAAK,MAAMA,EAAI,KAAO,CACxC,MAGAI,EAAW,OAAO,IAAI,EAG9B,IAAIK,EAAmB,KAAK,gBAC5B,GAAIxB,EAAWwB,CAAgB,EAC3B,GAAI,CACAA,EAAgB,CACpB,OACO5D,EAAG,CACN2C,EAAS3C,aAAa0C,GAAsB1C,EAAE,OAAS,CAACA,CAAC,CAC7D,CAEJ,IAAI6D,EAAc,KAAK,YACvB,GAAIA,EAAa,CACb,KAAK,YAAc,KACnB,GAAI,CACA,QAASC,EAAgBjD,EAASgD,CAAW,EAAGE,EAAkBD,EAAc,KAAI,EAAI,CAACC,EAAgB,KAAMA,EAAkBD,EAAc,KAAI,EAAI,CACnJ,IAAIE,EAAYD,EAAgB,MAChC,GAAI,CACAE,GAAcD,CAAS,CAC3B,OACOpB,EAAK,CACRD,EAASA,GAAgD,CAAA,EACrDC,aAAeF,GACfC,EAASrB,EAAcA,EAAc,CAAA,EAAIJ,EAAOyB,CAAM,CAAC,EAAGzB,EAAO0B,EAAI,MAAM,CAAC,EAG5ED,EAAO,KAAKC,CAAG,CAEvB,CACJ,CACJ,OACOsB,EAAO,CAAEb,EAAM,CAAE,MAAOa,CAAK,CAAI,QACxD,CACoB,GAAI,CACIH,GAAmB,CAACA,EAAgB,OAAST,EAAKQ,EAAc,SAASR,EAAG,KAAKQ,CAAa,CACtG,QACpB,CAA8B,GAAIT,EAAK,MAAMA,EAAI,KAAO,CACxC,CACJ,CACA,GAAIV,EACA,MAAM,IAAID,GAAoBC,CAAM,CAE5C,CACJ,EACAM,EAAa,UAAU,IAAM,SAAUkB,EAAU,CAC7C,IAAIf,EACJ,GAAIe,GAAYA,IAAa,KACzB,GAAI,KAAK,OACLF,GAAcE,CAAQ,MAErB,CACD,GAAIA,aAAoBlB,EAAc,CAClC,GAAIkB,EAAS,QAAUA,EAAS,WAAW,IAAI,EAC3C,OAEJA,EAAS,WAAW,IAAI,CAC5B,EACC,KAAK,aAAef,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAASA,EAAK,CAAA,GAAI,KAAKe,CAAQ,CAClG,CAER,EACAlB,EAAa,UAAU,WAAa,SAAUmB,EAAQ,CAClD,IAAIb,EAAa,KAAK,WACtB,OAAOA,IAAea,GAAW,MAAM,QAAQb,CAAU,GAAKA,EAAW,SAASa,CAAM,CAC5F,EACAnB,EAAa,UAAU,WAAa,SAAUmB,EAAQ,CAClD,IAAIb,EAAa,KAAK,WACtB,KAAK,WAAa,MAAM,QAAQA,CAAU,GAAKA,EAAW,KAAKa,CAAM,EAAGb,GAAcA,EAAa,CAACA,EAAYa,CAAM,EAAIA,CAC9H,EACAnB,EAAa,UAAU,cAAgB,SAAUmB,EAAQ,CACrD,IAAIb,EAAa,KAAK,WAClBA,IAAea,EACf,KAAK,WAAa,KAEb,MAAM,QAAQb,CAAU,GAC7BV,GAAUU,EAAYa,CAAM,CAEpC,EACAnB,EAAa,UAAU,OAAS,SAAUkB,EAAU,CAChD,IAAIN,EAAc,KAAK,YACvBA,GAAehB,GAAUgB,EAAaM,CAAQ,EAC1CA,aAAoBlB,GACpBkB,EAAS,cAAc,IAAI,CAEnC,EACAlB,EAAa,OAAS,UAAY,CAC9B,IAAIoB,EAAQ,IAAIpB,EAChB,OAAAoB,EAAM,OAAS,GACRA,CACX,GAAC,EACMpB,CACX,KAEWqB,GAAqBrB,EAAa,MACtC,SAASsB,GAAe3F,EAAO,CAClC,OAAQA,aAAiBqE,GACpBrE,GAAS,WAAYA,GAASwD,EAAWxD,EAAM,MAAM,GAAKwD,EAAWxD,EAAM,GAAG,GAAKwD,EAAWxD,EAAM,WAAW,CACxH,CACA,SAASqF,GAAcD,EAAW,CAC1B5B,EAAW4B,CAAS,EACpBA,EAAS,EAGTA,EAAU,YAAW,CAE7B,CC7IO,IAAIQ,GAAS,CAGhB,QAAS,MAGb,ECLWC,GAAkB,CACzB,WAAY,SAAUC,EAASC,EAAS,CAEpC,QADIC,EAAO,CAAA,EACFC,EAAK,EAAGA,EAAK,UAAU,OAAQA,IACpCD,EAAKC,EAAK,CAAC,EAAI,UAAUA,CAAE,EAM/B,OAAO,WAAW,MAAM,OAAQvD,EAAc,CAACoD,EAASC,CAAO,EAAGzD,EAAO0D,CAAI,CAAC,CAAC,CACnF,EACA,aAAc,SAAUE,EAAQ,CAE5B,OAAuF,aAAcA,CAAM,CAC/G,EACA,SAAU,MACd,EChBO,SAASC,GAAqBnC,EAAK,CACtC6B,GAAgB,WAAW,UAAY,CAM/B,MAAM7B,CAEd,CAAC,CACL,CCZO,SAASoC,IAAO,CAAE,CCElB,SAASC,EAAaC,EAAI,CAgBzBA,EAAE,CAEV,CCXA,IAAIC,IAAc,SAAU5C,EAAQ,CAChCnD,EAAU+F,EAAY5C,CAAM,EAC5B,SAAS4C,EAAWC,EAAa,CAC7B,IAAIC,EAAQ9C,EAAO,KAAK,IAAI,GAAK,KACjC,OAAA8C,EAAM,UAAY,GACdD,GACAC,EAAM,YAAcD,EAChBb,GAAea,CAAW,GAC1BA,EAAY,IAAIC,CAAK,GAIzBA,EAAM,YAAcC,GAEjBD,CACX,CACA,OAAAF,EAAW,OAAS,SAAUI,EAAMlE,EAAOmE,EAAU,CACjD,OAAO,IAAIC,EAAeF,EAAMlE,EAAOmE,CAAQ,CACnD,EACAL,EAAW,UAAU,KAAO,SAAUvG,EAAO,CACrC,KAAK,WAIL,KAAK,MAAMA,CAAK,CAExB,EACAuG,EAAW,UAAU,MAAQ,SAAUvC,EAAK,CACpC,KAAK,YAIL,KAAK,UAAY,GACjB,KAAK,OAAOA,CAAG,EAEvB,EACAuC,EAAW,UAAU,SAAW,UAAY,CACpC,KAAK,YAIL,KAAK,UAAY,GACjB,KAAK,UAAS,EAEtB,EACAA,EAAW,UAAU,YAAc,UAAY,CACtC,KAAK,SACN,KAAK,UAAY,GACjB5C,EAAO,UAAU,YAAY,KAAK,IAAI,EACtC,KAAK,YAAc,KAE3B,EACA4C,EAAW,UAAU,MAAQ,SAAUvG,EAAO,CAC1C,KAAK,YAAY,KAAKA,CAAK,CAC/B,EACAuG,EAAW,UAAU,OAAS,SAAUvC,EAAK,CACzC,GAAI,CACA,KAAK,YAAY,MAAMA,CAAG,CAC9B,QACR,CACY,KAAK,YAAW,CACpB,CACJ,EACAuC,EAAW,UAAU,UAAY,UAAY,CACzC,GAAI,CACA,KAAK,YAAY,SAAQ,CAC7B,QACR,CACY,KAAK,YAAW,CACpB,CACJ,EACOA,CACX,GAAElC,CAAY,EAMVyC,IAAoB,UAAY,CAChC,SAASA,EAAiBC,EAAiB,CACvC,KAAK,gBAAkBA,CAC3B,CACA,OAAAD,EAAiB,UAAU,KAAO,SAAU9G,EAAO,CAC/C,IAAI+G,EAAkB,KAAK,gBAC3B,GAAIA,EAAgB,KAChB,GAAI,CACAA,EAAgB,KAAK/G,CAAK,CAC9B,OACOyC,EAAO,CACVuE,EAAqBvE,CAAK,CAC9B,CAER,EACAqE,EAAiB,UAAU,MAAQ,SAAU9C,EAAK,CAC9C,IAAI+C,EAAkB,KAAK,gBAC3B,GAAIA,EAAgB,MAChB,GAAI,CACAA,EAAgB,MAAM/C,CAAG,CAC7B,OACOvB,EAAO,CACVuE,EAAqBvE,CAAK,CAC9B,MAGAuE,EAAqBhD,CAAG,CAEhC,EACA8C,EAAiB,UAAU,SAAW,UAAY,CAC9C,IAAIC,EAAkB,KAAK,gBAC3B,GAAIA,EAAgB,SAChB,GAAI,CACAA,EAAgB,SAAQ,CAC5B,OACOtE,EAAO,CACVuE,EAAqBvE,CAAK,CAC9B,CAER,EACOqE,CACX,KACID,GAAkB,SAAUlD,EAAQ,CACpCnD,EAAUqG,EAAgBlD,CAAM,EAChC,SAASkD,EAAeI,EAAgBxE,EAAOmE,EAAU,CACrD,IAAIH,EAAQ9C,EAAO,KAAK,IAAI,GAAK,KAC7BoD,EACJ,OAAIvD,EAAWyD,CAAc,GAAK,CAACA,EAC/BF,EAAkB,CACd,KAAOE,GAAwE,OAC/E,MAAOxE,GAA6C,OACpD,SAAUmE,GAAsD,MAChF,EAcgBG,EAAkBE,EAG1BR,EAAM,YAAc,IAAIK,GAAiBC,CAAe,EACjDN,CACX,CACA,OAAOI,CACX,GAAEN,EAAU,EAEZ,SAASS,EAAqBvE,EAAO,CAK7B0D,GAAqB1D,CAAK,CAElC,CACA,SAASyE,GAAoBlD,EAAK,CAC9B,MAAMA,CACV,CAKO,IAAI0C,GAAiB,CACxB,OAAQ,GACR,KAAMN,GACN,MAAOc,GACP,SAAUd,EACd,ECtLWe,IAAc,UAAY,CAAE,OAAQ,OAAO,QAAW,YAAc,OAAO,YAAe,cAAgB,GAAC,ECA/G,SAASC,GAASC,EAAG,CACxB,OAAOA,CACX,CCMO,SAASC,GAAcC,EAAK,CAC/B,OAAIA,EAAI,SAAW,EACRH,GAEPG,EAAI,SAAW,EACRA,EAAI,CAAC,EAET,SAAeC,EAAO,CACzB,OAAOD,EAAI,OAAO,SAAUE,EAAMC,EAAI,CAAE,OAAOA,EAAGD,CAAI,CAAG,EAAGD,CAAK,CACrE,CACJ,CCXA,IAAIG,GAAc,UAAY,CAC1B,SAASA,EAAWC,EAAW,CACvBA,IACA,KAAK,WAAaA,EAE1B,CACA,OAAAD,EAAW,UAAU,KAAO,SAAUE,EAAU,CAC5C,IAAIV,EAAa,IAAIQ,EACrB,OAAAR,EAAW,OAAS,KACpBA,EAAW,SAAWU,EACfV,CACX,EACAQ,EAAW,UAAU,UAAY,SAAUV,EAAgBxE,EAAOmE,EAAU,CACxE,IAAIH,EAAQ,KACRqB,EAAaC,GAAad,CAAc,EAAIA,EAAiB,IAAIJ,EAAeI,EAAgBxE,EAAOmE,CAAQ,EACnH,OAAAP,EAAa,UAAY,CACrB,IAAI7B,EAAKiC,EAAOoB,EAAWrD,EAAG,SAAUwD,EAASxD,EAAG,OACpDsD,EAAW,IAAID,EAEPA,EAAS,KAAKC,EAAYE,CAAM,EAClCA,EAEMvB,EAAM,WAAWqB,CAAU,EAE3BrB,EAAM,cAAcqB,CAAU,CAAC,CAC/C,CAAC,EACMA,CACX,EACAH,EAAW,UAAU,cAAgB,SAAUM,EAAM,CACjD,GAAI,CACA,OAAO,KAAK,WAAWA,CAAI,CAC/B,OACOjE,EAAK,CACRiE,EAAK,MAAMjE,CAAG,CAClB,CACJ,EACA2D,EAAW,UAAU,QAAU,SAAUhB,EAAMuB,EAAa,CACxD,IAAIzB,EAAQ,KACZ,OAAAyB,EAAcC,GAAeD,CAAW,EACjC,IAAIA,EAAY,SAAUlH,EAASC,EAAQ,CAC9C,IAAI6G,EAAa,IAAIjB,EAAe,CAChC,KAAM,SAAU7G,EAAO,CACnB,GAAI,CACA2G,EAAK3G,CAAK,CACd,OACOgE,EAAK,CACR/C,EAAO+C,CAAG,EACV8D,EAAW,YAAW,CAC1B,CACJ,EACA,MAAO7G,EACP,SAAUD,CAC1B,CAAa,EACDyF,EAAM,UAAUqB,CAAU,CAC9B,CAAC,CACL,EACAH,EAAW,UAAU,WAAa,SAAUG,EAAY,CACpD,IAAItD,EACJ,OAAQA,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,UAAUsD,CAAU,CAC1F,EACAH,EAAW,UAAUS,EAAiB,EAAI,UAAY,CAClD,OAAO,IACX,EACAT,EAAW,UAAU,KAAO,UAAY,CAEpC,QADIU,EAAa,CAAA,EACRpC,EAAK,EAAGA,EAAK,UAAU,OAAQA,IACpCoC,EAAWpC,CAAE,EAAI,UAAUA,CAAE,EAEjC,OAAOqB,GAAce,CAAU,EAAE,IAAI,CACzC,EACAV,EAAW,UAAU,UAAY,SAAUO,EAAa,CACpD,IAAIzB,EAAQ,KACZ,OAAAyB,EAAcC,GAAeD,CAAW,EACjC,IAAIA,EAAY,SAAUlH,EAASC,EAAQ,CAC9C,IAAIjB,EACJyG,EAAM,UAAU,SAAUY,EAAG,CAAE,OAAQrH,EAAQqH,CAAI,EAAG,SAAUrD,EAAK,CAAE,OAAO/C,EAAO+C,CAAG,CAAG,EAAG,UAAY,CAAE,OAAOhD,EAAQhB,CAAK,CAAG,CAAC,CACxI,CAAC,CACL,EACA2H,EAAW,OAAS,SAAUC,EAAW,CACrC,OAAO,IAAID,EAAWC,CAAS,CACnC,EACOD,CACX,KAEA,SAASQ,GAAeD,EAAa,CACjC,IAAI1D,EACJ,OAAQA,EAAK0D,GAA+DtC,GAAO,WAAa,MAAQpB,IAAO,OAASA,EAAK,OACjI,CACA,SAAS8D,GAAWtI,EAAO,CACvB,OAAOA,GAASwD,EAAWxD,EAAM,IAAI,GAAKwD,EAAWxD,EAAM,KAAK,GAAKwD,EAAWxD,EAAM,QAAQ,CAClG,CACA,SAAS+H,GAAa/H,EAAO,CACzB,OAAQA,GAASA,aAAiBuG,IAAgB+B,GAAWtI,CAAK,GAAK2F,GAAe3F,CAAK,CAC/F,CCnGO,SAASuI,GAAQP,EAAQ,CAC5B,OAAOxE,EAAWwE,GAAW,KAA4B,OAASA,EAAO,IAAI,CACjF,CACO,SAASQ,EAAQC,EAAM,CAC1B,OAAO,SAAUT,EAAQ,CACrB,GAAIO,GAAQP,CAAM,EACd,OAAOA,EAAO,KAAK,SAAUU,EAAc,CACvC,GAAI,CACA,OAAOD,EAAKC,EAAc,IAAI,CAClC,OACO1E,EAAK,CACR,KAAK,MAAMA,CAAG,CAClB,CACJ,CAAC,EAEL,MAAM,IAAI,UAAU,wCAAwC,CAChE,CACJ,CChBO,SAAS2E,EAAyBnC,EAAaoC,EAAQC,EAAYC,EAASC,EAAY,CAC3F,OAAO,IAAIC,GAAmBxC,EAAaoC,EAAQC,EAAYC,EAASC,CAAU,CACtF,CACA,IAAIC,IAAsB,SAAUrF,EAAQ,CACxCnD,EAAUwI,EAAoBrF,CAAM,EACpC,SAASqF,EAAmBxC,EAAaoC,EAAQC,EAAYC,EAASC,EAAYE,EAAmB,CACjG,IAAIxC,EAAQ9C,EAAO,KAAK,KAAM6C,CAAW,GAAK,KAC9C,OAAAC,EAAM,WAAasC,EACnBtC,EAAM,kBAAoBwC,EAC1BxC,EAAM,MAAQmC,EACR,SAAU5I,EAAO,CACf,GAAI,CACA4I,EAAO5I,CAAK,CAChB,OACOgE,EAAK,CACRwC,EAAY,MAAMxC,CAAG,CACzB,CACJ,EACEL,EAAO,UAAU,MACvB8C,EAAM,OAASqC,EACT,SAAU9E,EAAK,CACb,GAAI,CACA8E,EAAQ9E,CAAG,CACf,OACOA,EAAK,CACRwC,EAAY,MAAMxC,CAAG,CACzB,QAChB,CACoB,KAAK,YAAW,CACpB,CACJ,EACEL,EAAO,UAAU,OACvB8C,EAAM,UAAYoC,EACZ,UAAY,CACV,GAAI,CACAA,EAAU,CACd,OACO7E,EAAK,CACRwC,EAAY,MAAMxC,CAAG,CACzB,QAChB,CACoB,KAAK,YAAW,CACpB,CACJ,EACEL,EAAO,UAAU,UAChB8C,CACX,CACA,OAAAuC,EAAmB,UAAU,YAAc,UAAY,CACnD,IAAIxE,EACJ,GAAI,CAAC,KAAK,mBAAqB,KAAK,kBAAiB,EAAI,CACrD,IAAI0E,EAAW,KAAK,OACpBvF,EAAO,UAAU,YAAY,KAAK,IAAI,EACtC,CAACuF,KAAc1E,EAAK,KAAK,cAAgB,MAAQA,IAAO,QAAkBA,EAAG,KAAK,IAAI,EAC1F,CACJ,EACOwE,CACX,GAAEzC,EAAU,ECzDD4C,GAA0B1F,GAAiB,SAAUE,EAAQ,CACpE,OAAO,UAAuC,CAC1CA,EAAO,IAAI,EACX,KAAK,KAAO,0BACZ,KAAK,QAAU,qBACnB,CACJ,CAAC,ECDGyF,GAAW,SAAUzF,EAAQ,CAC7BnD,EAAU4I,EAASzF,CAAM,EACzB,SAASyF,GAAU,CACf,IAAI3C,EAAQ9C,EAAO,KAAK,IAAI,GAAK,KACjC,OAAA8C,EAAM,OAAS,GACfA,EAAM,iBAAmB,KACzBA,EAAM,UAAY,CAAA,EAClBA,EAAM,UAAY,GAClBA,EAAM,SAAW,GACjBA,EAAM,YAAc,KACbA,CACX,CACA,OAAA2C,EAAQ,UAAU,KAAO,SAAUvB,EAAU,CACzC,IAAIwB,EAAU,IAAIC,GAAiB,KAAM,IAAI,EAC7C,OAAAD,EAAQ,SAAWxB,EACZwB,CACX,EACAD,EAAQ,UAAU,eAAiB,UAAY,CAC3C,GAAI,KAAK,OACL,MAAM,IAAID,EAElB,EACAC,EAAQ,UAAU,KAAO,SAAUpJ,EAAO,CACtC,IAAIyG,EAAQ,KACZJ,EAAa,UAAY,CACrB,IAAI9B,EAAKC,EAET,GADAiC,EAAM,eAAc,EAChB,CAACA,EAAM,UAAW,CACbA,EAAM,mBACPA,EAAM,iBAAmB,MAAM,KAAKA,EAAM,SAAS,GAEvD,GAAI,CACA,QAAS/B,EAAKzC,EAASwE,EAAM,gBAAgB,EAAG8C,EAAK7E,EAAG,KAAI,EAAI,CAAC6E,EAAG,KAAMA,EAAK7E,EAAG,OAAQ,CACtF,IAAI8E,EAAWD,EAAG,MAClBC,EAAS,KAAKxJ,CAAK,CACvB,CACJ,OACO+E,EAAO,CAAER,EAAM,CAAE,MAAOQ,CAAK,CAAI,QACxD,CACoB,GAAI,CACIwE,GAAM,CAACA,EAAG,OAAS/E,EAAKE,EAAG,SAASF,EAAG,KAAKE,CAAE,CACtD,QACpB,CAA8B,GAAIH,EAAK,MAAMA,EAAI,KAAO,CACxC,CACJ,CACJ,CAAC,CACL,EACA6E,EAAQ,UAAU,MAAQ,SAAUpF,EAAK,CACrC,IAAIyC,EAAQ,KACZJ,EAAa,UAAY,CAErB,GADAI,EAAM,eAAc,EAChB,CAACA,EAAM,UAAW,CAClBA,EAAM,SAAWA,EAAM,UAAY,GACnCA,EAAM,YAAczC,EAEpB,QADIyF,EAAYhD,EAAM,UACfgD,EAAU,QACbA,EAAU,MAAK,EAAG,MAAMzF,CAAG,CAEnC,CACJ,CAAC,CACL,EACAoF,EAAQ,UAAU,SAAW,UAAY,CACrC,IAAI3C,EAAQ,KACZJ,EAAa,UAAY,CAErB,GADAI,EAAM,eAAc,EAChB,CAACA,EAAM,UAAW,CAClBA,EAAM,UAAY,GAElB,QADIgD,EAAYhD,EAAM,UACfgD,EAAU,QACbA,EAAU,MAAK,EAAG,SAAQ,CAElC,CACJ,CAAC,CACL,EACAL,EAAQ,UAAU,YAAc,UAAY,CACxC,KAAK,UAAY,KAAK,OAAS,GAC/B,KAAK,UAAY,KAAK,iBAAmB,IAC7C,EACA,OAAO,eAAeA,EAAQ,UAAW,WAAY,CACjD,IAAK,UAAY,CACb,IAAI5E,EACJ,QAASA,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,CACpF,EACA,WAAY,GACZ,aAAc,EACtB,CAAK,EACD4E,EAAQ,UAAU,cAAgB,SAAUtB,EAAY,CACpD,YAAK,eAAc,EACZnE,EAAO,UAAU,cAAc,KAAK,KAAMmE,CAAU,CAC/D,EACAsB,EAAQ,UAAU,WAAa,SAAUtB,EAAY,CACjD,YAAK,eAAc,EACnB,KAAK,wBAAwBA,CAAU,EAChC,KAAK,gBAAgBA,CAAU,CAC1C,EACAsB,EAAQ,UAAU,gBAAkB,SAAUtB,EAAY,CACtD,IAAIrB,EAAQ,KACRjC,EAAK,KAAMkF,EAAWlF,EAAG,SAAUmF,EAAYnF,EAAG,UAAWiF,EAAYjF,EAAG,UAChF,OAAIkF,GAAYC,EACLjE,IAEX,KAAK,iBAAmB,KACxB+D,EAAU,KAAK3B,CAAU,EAClB,IAAIzD,EAAa,UAAY,CAChCoC,EAAM,iBAAmB,KACzBxC,GAAUwF,EAAW3B,CAAU,CACnC,CAAC,EACL,EACAsB,EAAQ,UAAU,wBAA0B,SAAUtB,EAAY,CAC9D,IAAItD,EAAK,KAAMkF,EAAWlF,EAAG,SAAUoF,EAAcpF,EAAG,YAAamF,EAAYnF,EAAG,UAChFkF,EACA5B,EAAW,MAAM8B,CAAW,EAEvBD,GACL7B,EAAW,SAAQ,CAE3B,EACAsB,EAAQ,UAAU,aAAe,UAAY,CACzC,IAAIjC,EAAa,IAAIQ,EACrB,OAAAR,EAAW,OAAS,KACbA,CACX,EACAiC,EAAQ,OAAS,SAAU5C,EAAawB,EAAQ,CAC5C,OAAO,IAAIsB,GAAiB9C,EAAawB,CAAM,CACnD,EACOoB,CACX,GAAEzB,CAAU,EAER2B,IAAoB,SAAU3F,EAAQ,CACtCnD,EAAU8I,EAAkB3F,CAAM,EAClC,SAAS2F,EAAiB9C,EAAawB,EAAQ,CAC3C,IAAIvB,EAAQ9C,EAAO,KAAK,IAAI,GAAK,KACjC,OAAA8C,EAAM,YAAcD,EACpBC,EAAM,OAASuB,EACRvB,CACX,CACA,OAAA6C,EAAiB,UAAU,KAAO,SAAUtJ,EAAO,CAC/C,IAAIwE,EAAIE,GACPA,GAAMF,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,QAAU,MAAQE,IAAO,QAAkBA,EAAG,KAAKF,EAAIxE,CAAK,CACtI,EACAsJ,EAAiB,UAAU,MAAQ,SAAUtF,EAAK,CAC9C,IAAIQ,EAAIE,GACPA,GAAMF,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,SAAW,MAAQE,IAAO,QAAkBA,EAAG,KAAKF,EAAIR,CAAG,CACrI,EACAsF,EAAiB,UAAU,SAAW,UAAY,CAC9C,IAAI9E,EAAIE,GACPA,GAAMF,EAAK,KAAK,eAAiB,MAAQA,IAAO,OAAS,OAASA,EAAG,YAAc,MAAQE,IAAO,QAAkBA,EAAG,KAAKF,CAAE,CACnI,EACA8E,EAAiB,UAAU,WAAa,SAAUxB,EAAY,CAC1D,IAAItD,EAAIE,EACR,OAAQA,GAAMF,EAAK,KAAK,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,UAAUsD,CAAU,KAAO,MAAQpD,IAAO,OAASA,EAAKgB,EACpI,EACO4D,CACX,GAAEF,CAAO,EC/JES,GAAwB,CAC/B,IAAK,UAAY,CACb,OAAQA,GAAsB,UAAY,MAAM,IAAG,CACvD,EACA,SAAU,MACd,ECFIC,IAAiB,SAAUnG,EAAQ,CACnCnD,EAAUsJ,EAAenG,CAAM,EAC/B,SAASmG,EAAcC,EAAaC,EAAaC,EAAoB,CAC7DF,IAAgB,SAAUA,EAAc,KACxCC,IAAgB,SAAUA,EAAc,KACxCC,IAAuB,SAAUA,EAAqBJ,IAC1D,IAAIpD,EAAQ9C,EAAO,KAAK,IAAI,GAAK,KACjC,OAAA8C,EAAM,YAAcsD,EACpBtD,EAAM,YAAcuD,EACpBvD,EAAM,mBAAqBwD,EAC3BxD,EAAM,QAAU,CAAA,EAChBA,EAAM,oBAAsB,GAC5BA,EAAM,oBAAsBuD,IAAgB,IAC5CvD,EAAM,YAAc,KAAK,IAAI,EAAGsD,CAAW,EAC3CtD,EAAM,YAAc,KAAK,IAAI,EAAGuD,CAAW,EACpCvD,CACX,CACA,OAAAqD,EAAc,UAAU,KAAO,SAAU9J,EAAO,CAC5C,IAAIwE,EAAK,KAAMmF,EAAYnF,EAAG,UAAW0F,EAAU1F,EAAG,QAAS2F,EAAsB3F,EAAG,oBAAqByF,EAAqBzF,EAAG,mBAAoBwF,EAAcxF,EAAG,YACrKmF,IACDO,EAAQ,KAAKlK,CAAK,EAClB,CAACmK,GAAuBD,EAAQ,KAAKD,EAAmB,IAAG,EAAKD,CAAW,GAE/E,KAAK,YAAW,EAChBrG,EAAO,UAAU,KAAK,KAAK,KAAM3D,CAAK,CAC1C,EACA8J,EAAc,UAAU,WAAa,SAAUhC,EAAY,CACvD,KAAK,eAAc,EACnB,KAAK,YAAW,EAIhB,QAHIsC,EAAe,KAAK,gBAAgBtC,CAAU,EAC9CtD,EAAK,KAAM2F,EAAsB3F,EAAG,oBAAqB0F,EAAU1F,EAAG,QACtE6F,EAAOH,EAAQ,MAAK,EACf7H,EAAI,EAAGA,EAAIgI,EAAK,QAAU,CAACvC,EAAW,OAAQzF,GAAK8H,EAAsB,EAAI,EAClFrC,EAAW,KAAKuC,EAAKhI,CAAC,CAAC,EAE3B,YAAK,wBAAwByF,CAAU,EAChCsC,CACX,EACAN,EAAc,UAAU,YAAc,UAAY,CAC9C,IAAItF,EAAK,KAAMuF,EAAcvF,EAAG,YAAayF,EAAqBzF,EAAG,mBAAoB0F,EAAU1F,EAAG,QAAS2F,EAAsB3F,EAAG,oBACpI8F,GAAsBH,EAAsB,EAAI,GAAKJ,EAEzD,GADAA,EAAc,KAAYO,EAAqBJ,EAAQ,QAAUA,EAAQ,OAAO,EAAGA,EAAQ,OAASI,CAAkB,EAClH,CAACH,EAAqB,CAGtB,QAFII,EAAMN,EAAmB,IAAG,EAC5BO,EAAO,EACFnI,EAAI,EAAGA,EAAI6H,EAAQ,QAAUA,EAAQ7H,CAAC,GAAKkI,EAAKlI,GAAK,EAC1DmI,EAAOnI,EAEXmI,GAAQN,EAAQ,OAAO,EAAGM,EAAO,CAAC,CACtC,CACJ,EACOV,CACX,GAAEV,CAAO,ECvDEqB,IAAe,SAAUpD,EAAG,CAAE,OAAOA,GAAK,OAAOA,EAAE,QAAW,UAAY,OAAOA,GAAM,UAAY,GCCvG,SAASqD,GAAU1K,EAAO,CAC7B,OAAOwD,EAAWxD,GAAU,KAA2B,OAASA,EAAM,IAAI,CAC9E,CCDO,SAAS2K,GAAoBnD,EAAO,CACvC,OAAOhE,EAAWgE,EAAMY,EAAiB,CAAC,CAC9C,CCHO,SAASwC,GAAgBC,EAAK,CACjC,OAAO,OAAO,eAAiBrH,EAAWqH,GAAQ,KAAyB,OAASA,EAAI,OAAO,aAAa,CAAC,CACjH,CCHO,SAASC,GAAiCtD,EAAO,CACpD,OAAO,IAAI,UAAU,iBAAmBA,IAAU,MAAQ,OAAOA,GAAU,SAAW,oBAAsB,IAAMA,EAAQ,KAAO,0HAA0H,CAC/P,CCFO,SAASuD,IAAoB,CAChC,OAAI,OAAO,QAAW,YAAc,CAAC,OAAO,SACjC,aAEJ,OAAO,QAClB,CACO,IAAIC,GAAWD,GAAiB,ECJhC,SAASE,GAAWzD,EAAO,CAC9B,OAAOhE,EAAWgE,GAAU,KAA2B,OAASA,EAAM0D,EAAe,CAAC,CAC1F,CCFO,SAASC,GAAmCC,EAAgB,CAC/D,OAAOpI,GAAiB,KAAM,UAAW,UAAgD,CACrF,IAAIqI,EAAQ7G,EAAIxE,EAAOsL,EACvB,OAAOhK,GAAY,KAAM,SAAUoD,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GACD2G,EAASD,EAAe,UAAS,EACjC1G,EAAG,MAAQ,EACf,IAAK,GACDA,EAAG,KAAK,KAAK,CAAC,EAAC,CAAI,EAAG,EAAE,CAAC,EACzBA,EAAG,MAAQ,EACf,IAAK,GAED,MAAO,CAAC,EAAG3B,EAAQsI,EAAO,KAAI,CAAE,CAAC,EACrC,IAAK,GAED,OADA7G,EAAKE,EAAG,OAAQ1E,EAAQwE,EAAG,MAAO8G,EAAO9G,EAAG,KACvC8G,EACE,CAAC,EAAGvI,EAAQ,MAAM,CAAC,EADR,CAAC,EAAG,CAAC,EAE3B,IAAK,GAAG,MAAO,CAAC,EAAG2B,EAAG,KAAI,CAAE,EAC5B,IAAK,GAAG,MAAO,CAAC,EAAG3B,EAAQ/C,CAAK,CAAC,EACjC,IAAK,GAAG,MAAO,CAAC,EAAG0E,EAAG,KAAI,CAAE,EAC5B,IAAK,GACD,OAAAA,EAAG,KAAI,EACA,CAAC,EAAG,CAAC,EAChB,IAAK,GAAG,MAAO,CAAC,EAAG,EAAE,EACrB,IAAK,GACD,OAAA2G,EAAO,YAAW,EACX,CAAC,CAAC,EACb,IAAK,IAAI,MAAO,CAAC,CAAC,CAClC,CACQ,CAAC,CACL,CAAC,CACL,CACO,SAASE,GAAqBV,EAAK,CACtC,OAAOrH,EAAWqH,GAAQ,KAAyB,OAASA,EAAI,SAAS,CAC7E,CCzBO,SAASW,EAAUhE,EAAO,CAC7B,GAAIA,aAAiBG,EACjB,OAAOH,EAEX,GAAIA,GAAS,KAAM,CACf,GAAImD,GAAoBnD,CAAK,EACzB,OAAOiE,GAAsBjE,CAAK,EAEtC,GAAIiD,GAAYjD,CAAK,EACjB,OAAOkE,GAAclE,CAAK,EAE9B,GAAIkD,GAAUlD,CAAK,EACf,OAAOmE,GAAYnE,CAAK,EAE5B,GAAIoD,GAAgBpD,CAAK,EACrB,OAAOoE,GAAkBpE,CAAK,EAElC,GAAIyD,GAAWzD,CAAK,EAChB,OAAOqE,GAAarE,CAAK,EAE7B,GAAI+D,GAAqB/D,CAAK,EAC1B,OAAOsE,GAAuBtE,CAAK,CAE3C,CACA,MAAMsD,GAAiCtD,CAAK,CAChD,CACO,SAASiE,GAAsBZ,EAAK,CACvC,OAAO,IAAIlD,EAAW,SAAUG,EAAY,CACxC,IAAIiE,EAAMlB,EAAIzC,EAAiB,EAAC,EAChC,GAAI5E,EAAWuI,EAAI,SAAS,EACxB,OAAOA,EAAI,UAAUjE,CAAU,EAEnC,MAAM,IAAI,UAAU,gEAAgE,CACxF,CAAC,CACL,CACO,SAAS4D,GAAcM,EAAO,CACjC,OAAO,IAAIrE,EAAW,SAAUG,EAAY,CACxC,QAASzF,EAAI,EAAGA,EAAI2J,EAAM,QAAU,CAAClE,EAAW,OAAQzF,IACpDyF,EAAW,KAAKkE,EAAM3J,CAAC,CAAC,EAE5ByF,EAAW,SAAQ,CACvB,CAAC,CACL,CACO,SAAS6D,GAAYM,EAAS,CACjC,OAAO,IAAItE,EAAW,SAAUG,EAAY,CACxCmE,EACK,KAAK,SAAUjM,EAAO,CAClB8H,EAAW,SACZA,EAAW,KAAK9H,CAAK,EACrB8H,EAAW,SAAQ,EAE3B,EAAG,SAAU9D,EAAK,CAAE,OAAO8D,EAAW,MAAM9D,CAAG,CAAG,CAAC,EAC9C,KAAK,KAAMmC,EAAoB,CACxC,CAAC,CACL,CACO,SAAS0F,GAAaK,EAAU,CACnC,OAAO,IAAIvE,EAAW,SAAUG,EAAY,CACxC,IAAIvD,EAAKC,EACT,GAAI,CACA,QAAS2H,EAAalK,EAASiK,CAAQ,EAAGE,EAAeD,EAAW,KAAI,EAAI,CAACC,EAAa,KAAMA,EAAeD,EAAW,KAAI,EAAI,CAC9H,IAAInM,EAAQoM,EAAa,MAEzB,GADAtE,EAAW,KAAK9H,CAAK,EACjB8H,EAAW,OACX,MAER,CACJ,OACO/C,EAAO,CAAER,EAAM,CAAE,MAAOQ,CAAK,CAAI,QAChD,CACY,GAAI,CACIqH,GAAgB,CAACA,EAAa,OAAS5H,EAAK2H,EAAW,SAAS3H,EAAG,KAAK2H,CAAU,CAC1F,QACZ,CAAsB,GAAI5H,EAAK,MAAMA,EAAI,KAAO,CACxC,CACAuD,EAAW,SAAQ,CACvB,CAAC,CACL,CACO,SAAS8D,GAAkBS,EAAe,CAC7C,OAAO,IAAI1E,EAAW,SAAUG,EAAY,CACxCwE,GAAQD,EAAevE,CAAU,EAAE,MAAM,SAAU9D,EAAK,CAAE,OAAO8D,EAAW,MAAM9D,CAAG,CAAG,CAAC,CAC7F,CAAC,CACL,CACO,SAAS8H,GAAuBV,EAAgB,CACnD,OAAOQ,GAAkBT,GAAmCC,CAAc,CAAC,CAC/E,CACA,SAASkB,GAAQD,EAAevE,EAAY,CACxC,IAAIyE,EAAiBC,EACjB/H,EAAKD,EACT,OAAO9D,GAAU,KAAM,OAAQ,OAAQ,UAAY,CAC/C,IAAIV,EAAOsF,EACX,OAAOhE,GAAY,KAAM,SAAUoD,EAAI,CACnC,OAAQA,EAAG,MAAK,CACZ,IAAK,GACDA,EAAG,KAAK,KAAK,CAAC,EAAG,EAAG,EAAG,EAAE,CAAC,EAC1B6H,EAAkBhJ,GAAc8I,CAAa,EAC7C3H,EAAG,MAAQ,EACf,IAAK,GAAG,MAAO,CAAC,EAAG6H,EAAgB,KAAI,CAAE,EACzC,IAAK,GACD,GAAMC,EAAoB9H,EAAG,OAAQ,EAAC8H,EAAkB,KAAO,MAAO,CAAC,EAAG,CAAC,EAG3E,GAFAxM,EAAQwM,EAAkB,MAC1B1E,EAAW,KAAK9H,CAAK,EACjB8H,EAAW,OACX,MAAO,CAAC,CAAC,EAEbpD,EAAG,MAAQ,EACf,IAAK,GAAG,MAAO,CAAC,EAAG,CAAC,EACpB,IAAK,GAAG,MAAO,CAAC,EAAG,EAAE,EACrB,IAAK,GACD,OAAAY,EAAQZ,EAAG,KAAI,EACfD,EAAM,CAAE,MAAOa,CAAK,EACb,CAAC,EAAG,EAAE,EACjB,IAAK,GAED,OADAZ,EAAG,KAAK,KAAK,CAAC,EAAC,CAAI,EAAG,EAAE,CAAC,EACnB8H,GAAqB,CAACA,EAAkB,OAAShI,EAAK+H,EAAgB,QACrE,CAAC,EAAG/H,EAAG,KAAK+H,CAAe,CAAC,EAD0D,CAAC,EAAG,CAAC,EAEtG,IAAK,GACD7H,EAAG,KAAI,EACPA,EAAG,MAAQ,EACf,IAAK,GAAG,MAAO,CAAC,EAAG,EAAE,EACrB,IAAK,GACD,GAAID,EAAK,MAAMA,EAAI,MACnB,MAAO,CAAC,CAAC,EACb,IAAK,IAAI,MAAO,CAAC,CAAC,EAClB,IAAK,IACD,OAAAqD,EAAW,SAAQ,EACZ,CAAC,CAAC,CAC7B,CACQ,CAAC,CACL,CAAC,CACL,CC7IO,SAAS2E,EAAgBC,EAAoBC,EAAWC,EAAMC,EAAOC,EAAQ,CAC5ED,IAAU,SAAUA,EAAQ,GAC5BC,IAAW,SAAUA,EAAS,IAClC,IAAIC,EAAuBJ,EAAU,SAAS,UAAY,CACtDC,EAAI,EACAE,EACAJ,EAAmB,IAAI,KAAK,SAAS,KAAMG,CAAK,CAAC,EAGjD,KAAK,YAAW,CAExB,EAAGA,CAAK,EAER,GADAH,EAAmB,IAAIK,CAAoB,EACvC,CAACD,EACD,OAAOC,CAEf,CCbO,SAASC,GAAUL,EAAWE,EAAO,CACxC,OAAIA,IAAU,SAAUA,EAAQ,GACzBrE,EAAQ,SAAUR,EAAQF,EAAY,CACzCE,EAAO,UAAUW,EAAyBb,EAAY,SAAU9H,EAAO,CAAE,OAAOyM,EAAgB3E,EAAY6E,EAAW,UAAY,CAAE,OAAO7E,EAAW,KAAK9H,CAAK,CAAG,EAAG6M,CAAK,CAAG,EAAG,UAAY,CAAE,OAAOJ,EAAgB3E,EAAY6E,EAAW,UAAY,CAAE,OAAO7E,EAAW,UAAY,EAAG+E,CAAK,CAAG,EAAG,SAAU7I,EAAK,CAAE,OAAOyI,EAAgB3E,EAAY6E,EAAW,UAAY,CAAE,OAAO7E,EAAW,MAAM9D,CAAG,CAAG,EAAG6I,CAAK,CAAG,CAAC,CAAC,CACpa,CAAC,CACL,CCPO,SAASI,GAAYN,EAAWE,EAAO,CAC1C,OAAIA,IAAU,SAAUA,EAAQ,GACzBrE,EAAQ,SAAUR,EAAQF,EAAY,CACzCA,EAAW,IAAI6E,EAAU,SAAS,UAAY,CAAE,OAAO3E,EAAO,UAAUF,CAAU,CAAG,EAAG+E,CAAK,CAAC,CAClG,CAAC,CACL,CCHO,SAASK,GAAmB1F,EAAOmF,EAAW,CACjD,OAAOnB,EAAUhE,CAAK,EAAE,KAAKyF,GAAYN,CAAS,EAAGK,GAAUL,CAAS,CAAC,CAC7E,CCFO,SAASQ,GAAgB3F,EAAOmF,EAAW,CAC9C,OAAOnB,EAAUhE,CAAK,EAAE,KAAKyF,GAAYN,CAAS,EAAGK,GAAUL,CAAS,CAAC,CAC7E,CCJO,SAASS,GAAc5F,EAAOmF,EAAW,CAC5C,OAAO,IAAIhF,EAAW,SAAUG,EAAY,CACxC,IAAIzF,EAAI,EACR,OAAOsK,EAAU,SAAS,UAAY,CAC9BtK,IAAMmF,EAAM,OACZM,EAAW,SAAQ,GAGnBA,EAAW,KAAKN,EAAMnF,GAAG,CAAC,EACrByF,EAAW,QACZ,KAAK,SAAQ,EAGzB,CAAC,CACL,CAAC,CACL,CCZO,SAASuF,GAAiB7F,EAAOmF,EAAW,CAC/C,OAAO,IAAIhF,EAAW,SAAUG,EAAY,CACxC,IAAIkD,EACJ,OAAAyB,EAAgB3E,EAAY6E,EAAW,UAAY,CAC/C3B,EAAWxD,EAAM0D,EAAe,EAAC,EACjCuB,EAAgB3E,EAAY6E,EAAW,UAAY,CAC/C,IAAInI,EACAxE,EACAsL,EACJ,GAAI,CACC9G,EAAKwG,EAAS,OAAQhL,EAAQwE,EAAG,MAAO8G,EAAO9G,EAAG,IACvD,OACOR,EAAK,CACR8D,EAAW,MAAM9D,CAAG,EACpB,MACJ,CACIsH,EACAxD,EAAW,SAAQ,EAGnBA,EAAW,KAAK9H,CAAK,CAE7B,EAAG,EAAG,EAAI,CACd,CAAC,EACM,UAAY,CAAE,OAAOwD,EAAWwH,GAAa,KAA8B,OAASA,EAAS,MAAM,GAAKA,EAAS,OAAM,CAAI,CACtI,CAAC,CACL,CC5BO,SAASsC,GAAsB9F,EAAOmF,EAAW,CACpD,GAAI,CAACnF,EACD,MAAM,IAAI,MAAM,yBAAyB,EAE7C,OAAO,IAAIG,EAAW,SAAUG,EAAY,CACxC2E,EAAgB3E,EAAY6E,EAAW,UAAY,CAC/C,IAAI3B,EAAWxD,EAAM,OAAO,aAAa,EAAC,EAC1CiF,EAAgB3E,EAAY6E,EAAW,UAAY,CAC/C3B,EAAS,KAAI,EAAG,KAAK,SAAUnL,EAAQ,CAC/BA,EAAO,KACPiI,EAAW,SAAQ,EAGnBA,EAAW,KAAKjI,EAAO,KAAK,CAEpC,CAAC,CACL,EAAG,EAAG,EAAI,CACd,CAAC,CACL,CAAC,CACL,CCnBO,SAAS0N,GAA2B/F,EAAOmF,EAAW,CACzD,OAAOW,GAAsBnC,GAAmC3D,CAAK,EAAGmF,CAAS,CACrF,CCSO,SAASa,GAAUhG,EAAOmF,EAAW,CACxC,GAAInF,GAAS,KAAM,CACf,GAAImD,GAAoBnD,CAAK,EACzB,OAAO0F,GAAmB1F,EAAOmF,CAAS,EAE9C,GAAIlC,GAAYjD,CAAK,EACjB,OAAO4F,GAAc5F,EAAOmF,CAAS,EAEzC,GAAIjC,GAAUlD,CAAK,EACf,OAAO2F,GAAgB3F,EAAOmF,CAAS,EAE3C,GAAI/B,GAAgBpD,CAAK,EACrB,OAAO8F,GAAsB9F,EAAOmF,CAAS,EAEjD,GAAI1B,GAAWzD,CAAK,EAChB,OAAO6F,GAAiB7F,EAAOmF,CAAS,EAE5C,GAAIpB,GAAqB/D,CAAK,EAC1B,OAAO+F,GAA2B/F,EAAOmF,CAAS,CAE1D,CACA,MAAM7B,GAAiCtD,CAAK,CAChD,CCjCO,SAAS5E,GAAK4E,EAAOmF,EAAW,CACnC,OAAOA,EAAYa,GAAUhG,EAAOmF,CAAS,EAAInB,EAAUhE,CAAK,CACpE,CCHO,IAAIiG,GAAahK,GAAiB,SAAUE,EAAQ,CACvD,OAAO,UAA0B,CAC7BA,EAAO,IAAI,EACX,KAAK,KAAO,aACZ,KAAK,QAAU,yBACnB,CACJ,CAAC,ECLM,SAAS+J,GAAe1F,EAAQpC,EAAQ,CAE3C,OAAO,IAAI,QAAQ,SAAU5E,EAASC,EAAQ,CAC1C,IAAI6G,EAAa,IAAIjB,EAAe,CAChC,KAAM,SAAU7G,EAAO,CACnBgB,EAAQhB,CAAK,EACb8H,EAAW,YAAW,CAC1B,EACA,MAAO7G,EACP,SAAU,UAAY,CAKdA,EAAO,IAAIwM,EAAY,CAE/B,CACZ,CAAS,EACDzF,EAAO,UAAUF,CAAU,CAC/B,CAAC,CACL,CCpBO,SAAS6F,GAAIC,EAASjN,EAAS,CAClC,OAAO6H,EAAQ,SAAUR,EAAQF,EAAY,CACzC,IAAI1D,EAAQ,EACZ4D,EAAO,UAAUW,EAAyBb,EAAY,SAAU9H,EAAO,CACnE8H,EAAW,KAAK8F,EAAQ,KAAKjN,EAASX,EAAOoE,GAAO,CAAC,CACzD,CAAC,CAAC,CACN,CAAC,CACL,CCPA,IAAIyJ,GAAU,MAAM,QACpB,SAASC,GAAYpG,EAAI1B,EAAM,CAC3B,OAAO6H,GAAQ7H,CAAI,EAAI0B,EAAG,MAAM,OAAQhF,EAAc,CAAA,EAAIJ,EAAO0D,CAAI,CAAC,CAAC,EAAI0B,EAAG1B,CAAI,CACtF,CACO,SAAS+H,GAAiBrG,EAAI,CACjC,OAAOiG,GAAI,SAAU3H,EAAM,CAAE,OAAO8H,GAAYpG,EAAI1B,CAAI,CAAG,CAAC,CAChE,CCLO,SAASgI,GAAehG,EAAQF,EAAY8F,EAASK,EAAYC,EAAcC,EAAQC,EAAmBC,EAAqB,CAClI,IAAIC,EAAS,CAAA,EACTC,EAAS,EACTnK,EAAQ,EACRoK,EAAa,GACbC,EAAgB,UAAY,CACxBD,GAAc,CAACF,EAAO,QAAU,CAACC,GACjCzG,EAAW,SAAQ,CAE3B,EACI4G,EAAY,SAAU1O,EAAO,CAAE,OAAQuO,EAASN,EAAaU,EAAW3O,CAAK,EAAIsO,EAAO,KAAKtO,CAAK,CAAI,EACtG2O,EAAa,SAAU3O,EAAO,CAE9BuO,IACA,IAAIK,EAAgB,GACpBpD,EAAUoC,EAAQ5N,EAAOoE,GAAO,CAAC,EAAE,UAAUuE,EAAyBb,EAAY,SAAU+G,EAAY,CAMhG/G,EAAW,KAAK+G,CAAU,CAElC,EAAG,UAAY,CACXD,EAAgB,EACpB,EAAG,OAAW,UAAY,CACtB,GAAIA,EACA,GAAI,CACAL,IAUA,QATIO,EAAU,UAAY,CACtB,IAAIC,EAAgBT,EAAO,MAAK,EAC5BF,GAIAO,EAAWI,CAAa,CAEhC,EACOT,EAAO,QAAUC,EAASN,GAC7Ba,EAAO,EAEXL,EAAa,CACjB,OACOzK,EAAK,CACR8D,EAAW,MAAM9D,CAAG,CACxB,CAER,CAAC,CAAC,CACN,EACA,OAAAgE,EAAO,UAAUW,EAAyBb,EAAY4G,EAAW,UAAY,CACzEF,EAAa,GACbC,EAAa,CACjB,CAAC,CAAC,EACK,UAAY,CAEnB,CACJ,CCtDO,SAASO,GAASpB,EAASqB,EAAgBhB,EAAY,CAE1D,OADIA,IAAe,SAAUA,EAAa,KACtCzK,EAAWyL,CAAc,EAClBD,GAAS,SAAU7L,EAAGd,EAAG,CAAE,OAAOsL,GAAI,SAAUrN,EAAG4O,EAAI,CAAE,OAAOD,EAAe9L,EAAG7C,EAAG+B,EAAG6M,CAAE,CAAG,CAAC,EAAE1D,EAAUoC,EAAQzK,EAAGd,CAAC,CAAC,CAAC,CAAG,EAAG4L,CAAU,GAE1I,OAAOgB,GAAmB,WAC/BhB,EAAagB,GAEVzG,EAAQ,SAAUR,EAAQF,EAAY,CAAE,OAAOkG,GAAehG,EAAQF,EAAY8F,EAASK,CAAU,CAAG,CAAC,EACpH,CCPA,IAAIkB,GAA0B,CAAC,cAAe,gBAAgB,EAC1DC,GAAqB,CAAC,mBAAoB,qBAAqB,EAC/DC,GAAgB,CAAC,KAAM,KAAK,EACzB,SAASC,GAAUC,EAAQC,EAAWC,EAASR,EAAgB,CAKlE,GAJIzL,EAAWiM,CAAO,IAClBR,EAAiBQ,EACjBA,EAAU,QAEVR,EACA,OAAOK,GAAUC,EAAQC,EAAWC,CAAO,EAAE,KAAK1B,GAAiBkB,CAAc,CAAC,EAEtF,IAAIzK,EAAKlC,EAAOoN,GAAcH,CAAM,EAC9BH,GAAmB,IAAI,SAAUO,EAAY,CAAE,OAAO,SAAU7J,EAAS,CAAE,OAAOyJ,EAAOI,CAAU,EAAEH,EAAW1J,EAAS2J,CAAO,CAAG,CAAG,CAAC,EAErIG,GAAwBL,CAAM,EACxBJ,GAAwB,IAAIU,GAAwBN,EAAQC,CAAS,CAAC,EACtEM,GAA0BP,CAAM,EAC5BF,GAAc,IAAIQ,GAAwBN,EAAQC,CAAS,CAAC,EAC5D,GAAI,CAAC,EAAGO,EAAMvL,EAAG,CAAC,EAAGwL,EAASxL,EAAG,CAAC,EACpD,GAAI,CAACuL,GACGtF,GAAY8E,CAAM,EAClB,OAAOP,GAAS,SAAUiB,EAAW,CAAE,OAAOX,GAAUW,EAAWT,EAAWC,CAAO,CAAG,CAAC,EAAEjE,EAAU+D,CAAM,CAAC,EAGpH,GAAI,CAACQ,EACD,MAAM,IAAI,UAAU,sBAAsB,EAE9C,OAAO,IAAIpI,EAAW,SAAUG,EAAY,CACxC,IAAIhC,EAAU,UAAY,CAEtB,QADIE,EAAO,CAAA,EACFC,EAAK,EAAGA,EAAK,UAAU,OAAQA,IACpCD,EAAKC,CAAE,EAAI,UAAUA,CAAE,EAE3B,OAAO6B,EAAW,KAAK,EAAI9B,EAAK,OAASA,EAAOA,EAAK,CAAC,CAAC,CAC3D,EACA,OAAA+J,EAAIjK,CAAO,EACJ,UAAY,CAAE,OAAOkK,EAAOlK,CAAO,CAAG,CACjD,CAAC,CACL,CACA,SAAS+J,GAAwBN,EAAQC,EAAW,CAChD,OAAO,SAAUG,EAAY,CAAE,OAAO,SAAU7J,EAAS,CAAE,OAAOyJ,EAAOI,CAAU,EAAEH,EAAW1J,CAAO,CAAG,CAAG,CACjH,CACA,SAAS8J,GAAwBL,EAAQ,CACrC,OAAO/L,EAAW+L,EAAO,WAAW,GAAK/L,EAAW+L,EAAO,cAAc,CAC7E,CACA,SAASO,GAA0BP,EAAQ,CACvC,OAAO/L,EAAW+L,EAAO,EAAE,GAAK/L,EAAW+L,EAAO,GAAG,CACzD,CACA,SAASG,GAAcH,EAAQ,CAC3B,OAAO/L,EAAW+L,EAAO,gBAAgB,GAAK/L,EAAW+L,EAAO,mBAAmB,CACvF,CCvDO,SAASW,GAAOC,EAAWxP,EAAS,CACvC,OAAO6H,EAAQ,SAAUR,EAAQF,EAAY,CACzC,IAAI1D,EAAQ,EACZ4D,EAAO,UAAUW,EAAyBb,EAAY,SAAU9H,EAAO,CAAE,OAAOmQ,EAAU,KAAKxP,EAASX,EAAOoE,GAAO,GAAK0D,EAAW,KAAK9H,CAAK,CAAG,CAAC,CAAC,CACzJ,CAAC,CACL,CCJO,SAASoQ,GAAqBC,EAAYC,EAAa,CAC1D,OAAIA,IAAgB,SAAUA,EAAclJ,IAC5CiJ,EAAaA,GAA4DE,GAClE/H,EAAQ,SAAUR,EAAQF,EAAY,CACzC,IAAI0I,EACAC,EAAQ,GACZzI,EAAO,UAAUW,EAAyBb,EAAY,SAAU9H,EAAO,CACnE,IAAI0Q,EAAaJ,EAAYtQ,CAAK,GAC9ByQ,GAAS,CAACJ,EAAWG,EAAaE,CAAU,KAC5CD,EAAQ,GACRD,EAAcE,EACd5I,EAAW,KAAK9H,CAAK,EAE7B,CAAC,CAAC,CACN,CAAC,CACL,CACA,SAASuQ,GAAepN,EAAG7C,EAAG,CAC1B,OAAO6C,IAAM7C,CACjB,CChBO,SAASqQ,GAAMlB,EAAS,CACvBA,IAAY,SAAUA,EAAU,CAAA,GACpC,IAAIjL,EAAKiL,EAAQ,UAAWmB,EAAYpM,IAAO,OAAS,UAAY,CAAE,OAAO,IAAI4E,CAAW,EAAI5E,EAAIE,EAAK+K,EAAQ,aAAcoB,EAAenM,IAAO,OAAS,GAAOA,EAAI6E,EAAKkG,EAAQ,gBAAiBqB,EAAkBvH,IAAO,OAAS,GAAOA,EAAIwH,EAAKtB,EAAQ,oBAAqBuB,EAAsBD,IAAO,OAAS,GAAOA,EACnU,OAAO,SAAUE,EAAe,CAC5B,IAAIC,EACAC,EACA9H,EACA+H,EAAW,EACXC,EAAe,GACfC,EAAa,GACbC,EAAc,UAAY,CAC1BJ,GAAoB,MAA8CA,EAAgB,YAAW,EAC7FA,EAAkB,MACtB,EACIK,EAAQ,UAAY,CACpBD,EAAW,EACXL,EAAa7H,EAAU,OACvBgI,EAAeC,EAAa,EAChC,EACIG,EAAsB,UAAY,CAClC,IAAIC,EAAOR,EACXM,EAAK,EACLE,GAAS,MAAmCA,EAAK,YAAW,CAChE,EACA,OAAOlJ,EAAQ,SAAUR,EAAQF,EAAY,CACzCsJ,IACI,CAACE,GAAc,CAACD,GAChBE,EAAW,EAEf,IAAII,EAAQtI,EAAUA,GAAmDuH,IACzE9I,EAAW,IAAI,UAAY,CACvBsJ,IACIA,IAAa,GAAK,CAACE,GAAc,CAACD,IAClCF,EAAkBS,GAAYH,EAAqBT,CAAmB,EAE9E,CAAC,EACDW,EAAK,UAAU7J,CAAU,EACrB,CAACoJ,GACDE,EAAW,IACXF,EAAa,IAAIrK,EAAe,CAC5B,KAAM,SAAU7G,EAAO,CAAE,OAAO2R,EAAK,KAAK3R,CAAK,CAAG,EAClD,MAAO,SAAUgE,EAAK,CAClBsN,EAAa,GACbC,EAAW,EACXJ,EAAkBS,GAAYJ,EAAOX,EAAc7M,CAAG,EACtD2N,EAAK,MAAM3N,CAAG,CAClB,EACA,SAAU,UAAY,CAClBqN,EAAe,GACfE,EAAW,EACXJ,EAAkBS,GAAYJ,EAAOV,CAAe,EACpDa,EAAK,SAAQ,CACjB,CACpB,CAAiB,EACDnG,EAAUxD,CAAM,EAAE,UAAUkJ,CAAU,EAE9C,CAAC,EAAED,CAAa,CACpB,CACJ,CACA,SAASW,GAAYJ,EAAOK,EAAI,CAE5B,QADI7L,EAAO,CAAA,EACFC,EAAK,EAAGA,EAAK,UAAU,OAAQA,IACpCD,EAAKC,EAAK,CAAC,EAAI,UAAUA,CAAE,EAE/B,GAAI4L,IAAO,GAAM,CACbL,EAAK,EACL,MACJ,CACA,GAAIK,IAAO,GAGX,KAAIC,EAAe,IAAIjL,EAAe,CAClC,KAAM,UAAY,CACdiL,EAAa,YAAW,EACxBN,EAAK,CACT,CACR,CAAK,EACD,OAAOhG,EAAUqG,EAAG,MAAM,OAAQnP,EAAc,CAAA,EAAIJ,EAAO0D,CAAI,CAAC,CAAC,CAAC,EAAE,UAAU8L,CAAY,EAC9F,CChFO,SAASC,GAAUnE,EAASqB,EAAgB,CAC/C,OAAOzG,EAAQ,SAAUR,EAAQF,EAAY,CACzC,IAAIkK,EAAkB,KAClB5N,EAAQ,EACRoK,EAAa,GACbC,EAAgB,UAAY,CAAE,OAAOD,GAAc,CAACwD,GAAmBlK,EAAW,SAAQ,CAAI,EAClGE,EAAO,UAAUW,EAAyBb,EAAY,SAAU9H,EAAO,CACnEgS,GAAoB,MAA8CA,EAAgB,YAAW,EAC7F,IAAIC,EAAa,EACbC,EAAa9N,IACjBoH,EAAUoC,EAAQ5N,EAAOkS,CAAU,CAAC,EAAE,UAAWF,EAAkBrJ,EAAyBb,EAAY,SAAU+G,EAAY,CAAE,OAAO/G,EAAW,KAAKmH,EAAiBA,EAAejP,EAAO6O,EAAYqD,EAAYD,GAAY,EAAIpD,CAAU,CAAG,EAAG,UAAY,CAC9PmD,EAAkB,KAClBvD,EAAa,CACjB,CAAC,CAAC,CACN,EAAG,UAAY,CACXD,EAAa,GACbC,EAAa,CACjB,CAAC,CAAC,CACN,CAAC,CACL,CClBO,SAAS0D,GAAIlL,EAAgBxE,EAAOmE,EAAU,CACjD,IAAIwL,EAAc5O,EAAWyD,CAAc,GAAKxE,GAASmE,EAEjD,CAAE,KAAMK,EAAgB,MAAOxE,EAAO,SAAUmE,CAAQ,EAC1DK,EACN,OAAOmL,EACD5J,EAAQ,SAAUR,EAAQF,EAAY,CACpC,IAAItD,GACHA,EAAK4N,EAAY,aAAe,MAAQ5N,IAAO,QAAkBA,EAAG,KAAK4N,CAAW,EACrF,IAAIC,EAAU,GACdrK,EAAO,UAAUW,EAAyBb,EAAY,SAAU9H,EAAO,CACnE,IAAIwE,GACHA,EAAK4N,EAAY,QAAU,MAAQ5N,IAAO,QAAkBA,EAAG,KAAK4N,EAAapS,CAAK,EACvF8H,EAAW,KAAK9H,CAAK,CACzB,EAAG,UAAY,CACX,IAAIwE,EACJ6N,EAAU,IACT7N,EAAK4N,EAAY,YAAc,MAAQ5N,IAAO,QAAkBA,EAAG,KAAK4N,CAAW,EACpFtK,EAAW,SAAQ,CACvB,EAAG,SAAU9D,EAAK,CACd,IAAIQ,EACJ6N,EAAU,IACT7N,EAAK4N,EAAY,SAAW,MAAQ5N,IAAO,QAAkBA,EAAG,KAAK4N,EAAapO,CAAG,EACtF8D,EAAW,MAAM9D,CAAG,CACxB,EAAG,UAAY,CACX,IAAIQ,EAAIE,EACJ2N,KACC7N,EAAK4N,EAAY,eAAiB,MAAQ5N,IAAO,QAAkBA,EAAG,KAAK4N,CAAW,IAE1F1N,EAAK0N,EAAY,YAAc,MAAQ1N,IAAO,QAAkBA,EAAG,KAAK0N,CAAW,CACxF,CAAC,CAAC,CACN,CAAC,EAEGhL,EACZ,CCpCa,MAAAkL,EAAiBC,EAAAA,SAAA,CAAA,CAAA,EAIP,eAAAC,IAAsB,CACzCF,EAAe,OAAOG,IAClB,OAAO,OAAOA,EAAO,OAAO,YAAc,EACnCA,EACV,CAYL,CCPA,MAAMC,MAAY,IACZC,EAAkB,IAOjB,SAASC,GAAgBC,EAA6C,CACzE,MAAMC,EAAQJ,EAAM,IAAIG,CAAG,EAC3B,OAAKC,GAGLJ,EAAM,OAAOG,CAAG,EAGZ,KAAK,IAAA,EAAQC,EAAM,UAAYH,GAC/BG,EAAM,gBAAgB,MAAA,EACf,MAGJA,EAAM,WAXM,IAYvB,CAMO,SAASC,GAAkB7S,EAAkB8S,EAAwB,CACrD1D,GAAsB,SAAU,WAAW,EAAE,KAAKqB,IAAO,EAElD,KAEtBhD,GAAKsF,GAAsB,CACvB,MAAM1D,EAAS0D,EAAM,OACf,GAAI1D,GAAA,YAAAA,EAAQ,WAAY,IAAMA,EAASA,GAAA,YAAAA,EAAQ,QAAQ,KAC7D,GAAI,CAAC,EAAG,OAAO,KACf,MAAM2D,EAAO,EAAE,aAAa,MAAM,EAElC,MADI,CAACA,GACD,CAACA,EAAK,WAAW,GAAG,GAAK,CAACA,EAAK,WAAW,GAAG,EAAU,KACpDA,CACX,CAAC,EAEDhD,GAAQ2C,GAAuBA,IAAQ,IAAI,EAE3C3C,GAAQ2C,GAAQA,IAAQ,OAAO,SAAS,QAAQ,EAEhDzC,GAAA,EAEAF,GAAQ2C,GAAQ,CACZ,MAAMjT,EAAWiT,EAAI,MAAM,GAAG,EAAE,CAAC,EAC3BM,EAAS,MACThT,EAAQD,EAAO,QACjBqC,EAAE,OAAO,YAAA,IAAkB4Q,GAC3BH,EAAS,KAAK5Q,GAAKA,EAAE,OAAOxC,CAAQ,GAAKwC,EAAE,UAAYG,EAAE,IAAI,CAAA,EAEjE,GAAI,CAACpC,EAAO,MAAO,GACnB,MAAMiC,EAAI4Q,EAAS,KAAK5Q,GAAKA,EAAE,OAAOxC,CAAQ,GAAKwC,EAAE,UAAYjC,EAAM,IAAI,EAE3E,MAAO,CAAC,CADciT,EAAAA,IAAId,CAAc,EACRlQ,GAAA,YAAAA,EAAG,OAAiB,CACxD,CAAC,EAED2P,GAAWc,GAAQ,CAEf,MAAMQ,EAAWX,EAAM,IAAIG,CAAG,EAC9B,GAAIQ,GAAY,KAAK,IAAA,EAAQA,EAAS,UAAYV,EAC9C,MAAO,CAAA,EAGX,MAAMW,EAAkB,IAAI,gBACtBC,EAAY,IAAIzJ,GAAwB,CAAC,EAEzCgJ,EAAuB,CACzB,UAAAS,EACA,UAAW,KAAK,IAAA,EAChB,gBAAAD,CAAA,EAEJZ,EAAM,IAAIG,EAAKC,CAAK,EAEpB,MAAMU,EAAoB,CACtB,OAAQ,MACR,QAAS,CACL,eAAgB,mBAChB,OAAU,kBAAA,EAEd,OAAQF,EAAgB,MAAA,EAE5B,OAAAE,EAAaC,EAAiB,EAAI,GAE3B7Q,GACH,MAAMiQ,EAAKW,CAAY,EAAE,KACpBE,IACGH,EAAU,KAAKG,CAAQ,EACvBH,EAAU,SAAA,EACHV,GAEVpQ,IACG8Q,EAAU,MAAM9Q,CAAK,EACrBiQ,EAAM,OAAOG,CAAG,EACT,KACX,CACJ,EACF,KACEV,GAAI,CACA,YAAa,IAAM,CAEfmB,EAAgB,MAAA,EAChBZ,EAAM,OAAOG,CAAG,CACpB,CAAA,CACH,CAAA,CAET,CAAC,CAAA,EAGE,UAAA,EAGP,YAAY,IAAM,CACd,MAAMtI,EAAM,KAAK,IAAA,EACjB,SAAW,CAACsI,EAAKC,CAAK,IAAKJ,EACnBnI,EAAMuI,EAAM,UAAYH,IACxBG,EAAM,gBAAgB,MAAA,EACtBJ,EAAM,OAAOG,CAAG,EAG5B,EAAGF,CAAe,CACtB,CC7IA,IAAIgB,GAA6BC,IAC/BA,EAAUA,EAAU,MAAW,CAAC,EAAI,QACpCA,EAAUA,EAAU,MAAW,CAAC,EAAI,QACpCA,EAAUA,EAAU,KAAU,CAAC,EAAI,OACnCA,EAAUA,EAAU,KAAU,CAAC,EAAI,OACnCA,EAAUA,EAAU,MAAW,CAAC,EAAI,QACpCA,EAAUA,EAAU,MAAW,CAAC,EAAI,QAC7BA,IACND,GAAY,CAAA,CAAE,EACjB,MAAME,GAAgB,CACpB,MAAO,EACP,MAAO,EACP,KAAM,EACN,KAAM,EACN,MAAO,EACP,MAAO,CACT,EACA,SAASC,GAAc9T,EAAO,CAC5B,GAAI,CAACA,EAAO,MAAO,GACnB,MAAM+T,EAAa/T,EAAM,KAAI,EAAG,YAAW,EACrCgU,EAASH,GAAcE,CAAU,EACvC,GAAI,OAAOC,GAAW,SAAU,OAAOA,EACvC,MAAMC,EAAW,OAAOF,CAAU,EAClC,OAAI,OAAO,SAASE,CAAQ,GAAKA,GAAY,GAAKA,GAAY,EACrDA,EAEF,CACT,CACA,SAASC,GAAaC,EAAO,CAC3B,OAAQA,EAAK,CACX,IAAK,GACH,MAAO,QACT,IAAK,GACH,MAAO,QACT,IAAK,GACH,MAAO,OACT,IAAK,GACH,MAAO,OACT,IAAK,GACH,MAAO,QACT,IAAK,GACH,MAAO,QACT,QACE,MAAO,MACb,CACA,CC1BA,SAASC,GAAUC,EAAK,CACtB,GAAIA,IAAQ,OAAQ,MAAO,YAC3B,GAAIA,IAAQ,KAAM,OAAO,KACzB,GAAIA,aAAe,MACjB,MAAO,CAAE,KAAMA,EAAI,KAAM,QAASA,EAAI,QAAS,MAAOA,EAAI,KAAK,EAEjE,OAAQ,OAAOA,EAAG,CAChB,IAAK,SACL,IAAK,SACL,IAAK,UACH,OAAOA,EACT,IAAK,SACH,OAAOA,EAAI,SAAQ,EACrB,IAAK,SACH,OAAO,OAAOA,CAAG,EACnB,IAAK,WACH,MAAO,YAAYA,EAAI,KAAO,KAAKA,EAAI,IAAI,GAAK,EAAE,IACpD,QACE,OAAOA,CACb,CACA,CAMA,MAAMC,EAAe,CACnB,YAAYC,EAAMC,EAASC,EAAa,CACtC,KAAK,KAAOF,EACZ,KAAK,QAAUC,EACf,KAAK,YAAcC,CACrB,CAKA,MAAMF,EAAM,CACV,OAAO,IAAIG,GAAYH,EAAM,KAAK,QAAS,KAAK,WAAW,CAC7D,CAOA,YAAYI,EAAS,CACnB,MAAMC,EAAgB,KAAK,YAAc,CAAE,GAAG,KAAK,YAAa,GAAGD,CAAO,EAAKA,EAC/E,OAAO,IAAID,GAAY,KAAK,KAAM,KAAK,QAASE,CAAa,CAC/D,CACA,MAAMC,KAAY7O,EAAM,CACtB,KAAK,IAAI2N,EAAS,MAAOkB,EAAS7O,CAAI,CACxC,CACA,MAAM6O,KAAY7O,EAAM,CACtB,KAAK,IAAI2N,EAAS,MAAOkB,EAAS7O,CAAI,CACxC,CACA,KAAK6O,KAAY7O,EAAM,CACrB,KAAK,IAAI2N,EAAS,KAAMkB,EAAS7O,CAAI,CACvC,CACA,KAAK6O,KAAY7O,EAAM,CACrB,KAAK,IAAI2N,EAAS,KAAMkB,EAAS7O,CAAI,CACvC,CACA,MAAM6O,KAAY7O,EAAM,CACtB,KAAK,IAAI2N,EAAS,MAAOkB,EAAS7O,CAAI,CACxC,CACA,MAAM6O,KAAY7O,EAAM,CACtB,KAAK,IAAI2N,EAAS,MAAOkB,EAAS7O,CAAI,CACxC,CACA,IAAImO,EAAOU,EAAS7O,EAAM,CACxB,GAAI,CAAC,KAAK,QAAQ,UAAUmO,EAAO,KAAK,IAAI,EAAG,OAC/C,MAAMW,EAA6B,IAAI,KAAI,EAAI,YAAW,EAC1D,IAAIC,EAAc/O,EAAK,OAAS,EAAIA,EAAK,SAAW,EAAIoO,GAAUpO,EAAK,CAAC,CAAC,EAAIA,EAAK,IAAIoO,EAAS,EAAI,OAC/FO,EACA,KAAK,aAAeI,IAAgB,OACtCJ,EAAU,CAAE,GAAG,KAAK,YAAa,KAAMI,CAAW,EACzC,KAAK,YACdJ,EAAU,KAAK,YAEfA,EAAUI,EAEZ,KAAK,QAAQ,IAAI,CACf,UAAAD,EACA,MAAOZ,GAAaC,CAAK,EACzB,OAAQ,KAAK,KACb,QAAAU,EACA,QAAAF,CACN,CAAK,CACH,CACF,CACA,MAAMD,WAAoBJ,EAAe,CACvC,YAAYC,EAAMC,EAASC,EAAa,CACtC,MAAMF,EAAMC,EAASC,CAAW,CAClC,CACF,CC/GA,MAAMO,EAAiB,CACrB,IAAIlC,EAAO,CACT,MAAMmC,EAAanC,EAAM,UAAY,OAAS,IAAI,KAAK,UAAUA,EAAM,OAAO,CAAC,GAAK,GAC9EoC,EAAY,IAAIpC,EAAM,SAAS,MAAMA,EAAM,MAAM,MAAMA,EAAM,KAAK,KAAKA,EAAM,OAAO,GAAGmC,CAAU,GACvG,OAAQnC,EAAM,MAAK,CACjB,IAAK,QACL,IAAK,QACH,QAAQ,MAAMoC,CAAS,EACvB,MACF,IAAK,OACH,QAAQ,KAAKA,CAAS,EACtB,MACF,QACE,QAAQ,IAAIA,CAAS,EACrB,KACR,CACE,CACF,CCfA,MAAMC,GAAiC,OAAO,IAAI,eAAe,EACjE,MAAMC,EAAe,CACnB,aAAc,WACZ,KAAK,WAAa,CAAA,EAClB,KAAK,aAA+B,IAAI,IACxC,MAAMC,EAAc,OAAO,QAAY,KAAc7Q,EAAA,QAAQ,MAAR,YAAAA,EAAa,UAAY,OACxE8Q,EAAiB,OAAO,QAAY,KAAc5Q,EAAA,QAAQ,MAAR,YAAAA,EAAa,aAAe,OAC9E6Q,EAAU,OAAO,QAAY,KAAchM,EAAA,QAAQ,MAAR,YAAAA,EAAa,SAAW,OACzE,KAAK,MAAQuK,GAAcuB,CAAW,EACtC,KAAK,QAAUC,GAAkB,QACjC,KAAK,YAAcC,GAAW,aAChC,CACA,UAAW,CACT,OAAO,KAAK,KACd,CACA,SAASpB,EAAO,CACd,KAAK,MAAQA,CACf,CACA,eAAeI,EAAMJ,EAAO,CAC1B,KAAK,aAAa,IAAII,EAAMJ,CAAK,CACnC,CACA,UAAUA,EAAOqB,EAAY,CAC3B,GAAIA,EAAY,CACd,MAAMC,EAAc,KAAK,aAAa,IAAID,CAAU,EACpD,GAAIC,IAAgB,OAClB,OAAOtB,GAASsB,CAEpB,CACA,OAAOtB,GAAS,KAAK,KACvB,CACA,aAAauB,EAAW,CACtB,KAAK,WAAW,KAAKA,CAAS,CAChC,CACA,cAAcC,EAAY,CACxB,KAAK,WAAa,CAAC,GAAGA,CAAU,CAClC,CACA,iBAAkB,CAChB,KAAK,WAAa,CAAA,CACpB,CACA,eAAepB,EAAM,CACnB,KAAK,QAAUA,CACjB,CACA,IAAIzB,EAAO,CACT,MAAM8C,EAAY,CAChB,GAAG9C,EACH,YAAa,KAAK,YAClB,QAAS,KAAK,OACpB,EACI,UAAW4C,KAAa,KAAK,WAC3BA,EAAU,IAAIE,CAAS,CAE3B,CACA,MAAM,UAAW,CACf,UAAWF,KAAa,KAAK,WACvBA,EAAU,OACZ,MAAMA,EAAU,MAAK,CAG3B,CACA,cAAcvB,EAAOI,EAAMM,EAAS,CAElC,MAAO,IAD4B,IAAI,KAAI,EAAI,YAAW,CACtC,MAAMN,CAAI,MAAML,GAAaC,CAAK,CAAC,KAAKU,CAAO,EACrE,CACF,CACA,SAASgB,IAAa,CACpB,MAAMC,EAAS,WACf,GAAI,CAACA,EAAOX,EAAc,EAAG,CAC3B,MAAMX,EAAU,IAAIY,GACpBZ,EAAQ,aAAa,IAAIQ,EAAkB,EAC3Cc,EAAOX,EAAc,EAAIX,CAC3B,CACA,OAAOsB,EAAOX,EAAc,CAC9B,CCxEA,SAASY,GAAUxB,EAAM,CACvB,OAAO,IAAIG,GAAYH,EAAMsB,IAAY,CAC3C,OCMMG,EAAMD,GAAU,WAAW,EAG3BE,GAAwB,IAGrB,SAAAC,GAAejK,EAAqBkK,EAAYC,EAAmC,CACpF,IAAAC,EAAkD,KAClDC,EAAW,GAET,MAAAC,MAAqB,QAAA,CAAY/U,EAAGP,IAAW,CACjDoV,EAAY,eAAiB,CACzBC,EAAW,GACXN,EAAI,MAAM,sBAAuBG,EAAI,IAAI,EACzCC,EAAA,EACAnV,EAAA,IAAW,MAAA,8BAAoCkV,CAAE,IAAA,CAAA,CACrD,EAAGA,GACHH,EAAI,MAAM,wBAAyBG,EAAI,iBAAkBE,CAAS,CACtE,CAAC,EAEM,OAAA,QAAQ,KAAA,CACXpK,EAAQ,YAAc,CAEdoK,IAAc,OACVC,EACAN,EAAI,KAAK,6CAA6C,GAEtDA,EAAI,MAAM,mBAAoBK,EAAW,gCAAgC,EACzE,aAAaA,CAAS,GAGlC,CAAC,EACDE,GAER,CAeM,MAAAC,OAAkBpN,EAGpB,IAAAqN,EAAsB,EAGtBC,EAAiD,cAG5CC,GAAuB9W,EAAiC,CACzDA,GAAUA,EAAO,eACjBmW,EAAI,MAAM,uBAAwBnW,EAAO,YAAY,EAErD,eAAiB,CACb,OAAO,cAAA,IAAkB,YAAY,iBAAA,CACjC,OAAA,CAAU,KAAMA,EAAO,YAAA,CAAA,CAAA,CAAA,CAE/B,EAAG,GAEX,CAGA2W,GAAY,KACRzE,GAAWkB,GAAUrQ,GACjBsT,GACIU,GAAkB3D,CAAK,EACvBgD,OACM,CACFD,EAAI,MAAM,sBAAsB,EAChCS,IACIC,IACAA,EAAuB,MAAA,EACvBA,EAAyB,KAEjC,CAAA,EACF,MAAO1S,GAAQ,CACbgS,EAAI,MAAM,qBAAsBhS,CAAG,CAEvC,CAAC,KAEP,UAAA,CACE,KAAM2S,GACN,MAAQ3S,GAAQ,CACZgS,EAAI,MAAM,gBAAiBhS,CAAG,CAClC,aAIY6S,GAAW5D,EAAwB,OAC/C+C,EAAI,MAAM,qCAAA,CACN,IAAK/C,EAAM,IACX,oBAAAwD,EACA,kBAAkBjS,EAAAgS,GAAoB,YAApB,YAAAhS,EAA+B,SAAU,IAE/DgS,GAAY,KAAKvD,CAAK,CAC1B,CA0Ba,MAAA6D,EAAOvE,EAAAA,SAAA,CAChB,OAAA,CACI,WACA,KAAM,KACN,SAAU,KACV,eACA,MAAQ,OAAA,GAAY,KAAA,CAAA,CAAA,EACpB,UACA,aACA,UAEJ,MAAO,OACP,aAAc,OACdwE,EAAAA,OAMEC,YAA6C,CAEzC,MAAAC,EAAmB7D,EAAAA,IAAI0D,CAAI,EAAE,gBAE/B,OACMjE,EAAM,OAAO,SAAS,SAAW,OAAO,SAAS,OACjDW,EAAA,CACF,OAAQ,MACR,QAAA,CACI,eAAgB,mBAChB,OAAU,qBAGlBA,EAAaC,EAAiB,EAAI,GAE5B,MAAAC,EAAA,MAAiB,MAAMb,EAAKW,CAAY,MACzCE,EAAS,GAAA,MAAW,SAEnBwD,EAAA,MAAaxD,EAAS,KAAA,EAItB+C,EAAsBrD,EAAAA,IAAI0D,CAAI,EAAE,oBAClCG,IAAqBR,GACrBT,EAAI,MAAM,kCACN,iBAAAiB,EACA,oBAAAR,EAAAA,EAEG,KAIXK,EAAK,OAAOvU,GAAK,OACb,OAAAA,EAAE,OAAO,KAAA,CAAS,SAAQiC,EAAAjC,EAAE,OAAO,OAAT,YAAAiC,EAAe,SAAA,CAAA,EAAc,KAAM0S,EAAK,IAAA,EAC3D3U,CACX,CAAC,EACM,GACX,MAAQ,OACG,EACX,CACJ,EAGAwU,EAAAA,KAAK,OAAOxW,IACPA,EAAU,KAAOyW,GACXzW,EACV,WAEQ4W,KAAWC,EAAO,KACnBvE,EAAOuE,EACV,KAAKC,EAAMhV,IACJA,IAAM,EAAUgV,EAAK,QAAQ,OAAQ,EAAE,EACpCA,EAAK,QAAQ,aAAc,EAAE,CACvC,EACA,KAAK,GAAG,EAEJ,OAAAxE,EAAI,WAAW,GAAG,IACnBA,EAAM,IAAMA,GAETA,EAAI,MAAM,GAAG,EAAE,CAAC,CAC3B,CAEsB,eAAAyE,GAAUC,EAASC,EAAkBrX,EAAesX,EAAqBC,EAAeC,EAAW,IACjH,OAEMC,SAA2BJ,GAAc,UAAYA,EAAU,QAAQ,QAAQ,IAAA,GAE/EK,GAAiB1X,EAAM,YAAc,IAAI2X,GAAU,CACjD,IAAA,EAAIX,EAAQK,EAAUM,CAAM,EAAE,SAAA,EAC9B,OAAAF,IACA,EAAI,EAAE,SAAS,SAAS,EAAI,EAAE,QAAQ,YAAa,KAAK,EAAK,aAAa,KAAK,CAAC,EAAI,EAAI,EAAI,OAEzF,CACX,CAAC,MACGG,EAAYZ,EAAQK,EAAUrX,EAAM,IAAI,EAAE,SAAA,EAC1CyX,IACAG,EAAYA,EAAU,SAAS,SAAS,EAAIA,EAAU,QAAQ,YAAa,KAAK,EAAK,aAAa,KAAKA,CAAS,EAAIA,EAAYA,EAAY,aAI1IC,QAAgB,QAAQ,IAAIH,EAAc,IAAKC,UAChBA,GAAQ,KAAKA,GACnCA,EAAO,OACjB,CACJ,CAAA,EAEIC,EAAU,WAAW,GAAG,IACzBA,EAAY,IAAIA,SAEdE,eAAuCF,GAAW,KAAKE,GAClDA,EAAK,OACf,EAGKC,EAAe,OAAe,kBAAA,CAAsB,UAAY,KAAA,EAAA,EAChEC,EAAA,CACF,QAAAH,EACA,KAAAC,EACA,SAAU9X,EAAM,MAAQ,KACxB,YAAaA,EAAM,QAAA,CAAA,EACnB,KAAM+X,EACN,OAAQT,EACR,UAAAC,EACA,MAAAC,GAIJb,EAAK,OAAOvU,IACRA,EAAE,OAAS4V,EACX5V,EAAE,MAAQ,OACHA,EACV,EAGD6V,WAAQC,GAAA,CACJ,OAAQd,EACR,MAAA,CAAS,KAAMT,CAAA,EAAA,CAEvB,OAASrU,EAAO,CACZuT,EAAI,MAAM,oCAAqCvT,CAAK,CAExD,CACJ,UAKgB6V,EAAYzF,EAAY2E,EAAkBrX,EAAeoY,EAAab,EAAeC,EAAWa,EAAyB,GAAOC,EAAY,GAAM,CAC9J5B,GAAA,CAAa,IAAAhE,EAAK,UAAA2E,EAAW,MAAArX,EAAO,OAAAoY,EAAQ,UAAAb,EAAW,MAAAC,EAAO,eAAAa,EAAgB,UAAAC,GAClF,gBASe7B,GAAkB3D,EAA0D,OAC/E,IAAAJ,EAAK,UAAA2E,EAAW,MAAArX,EAAO,OAAAoY,EAAQ,UAAAb,EAAW,MAAAC,EAAO,eAAAa,EAAgB,UAAAC,GAAcxF,EAIjFyF,IAAiBjC,EAGjBnD,MAAsB,gBAC5BoD,EAAyBpD,EAEzB0C,EAAI,MAAM,sBAAA,CACN,aAAA0C,EACA,IAAA7F,EACA,UAAA4F,EACA,eAAAD,EACA,oBAAA/B,EACA,qBAAsBC,IAI1BI,EAAK,OAAOvU,IACRA,EAAE,MAAQ,UACVA,EAAE,aAAemW,EACVnW,EACV,KAEG,KAEIoW,GAA6C,OAAA,CAAA,EAAY,KAAA,CAAA,CAAA,EAEzD,GAAAH,EAAgB,CAChBxC,EAAI,MAAM,uBAAA,CAA0B,aAAA0C,EAAc,IAAA7F,IAG9C,IAAAa,EAA4B,WAC1BkF,EAAchG,GAAgBC,CAAG,EACnC,GAAA+F,KACI,CACA5C,EAAI,MAAM,gCAAiCnD,CAAG,EAC9Ca,EAAA,MAAiBhG,GAAekL,CAAW,CAC/C,MAAc,CACV5C,EAAI,MAAM,yCAA0CnD,CAAG,EACvDa,EAAW,IACf,CAGC,GAAA,CAAAA,EAAU,OACLF,EAAA,CACF,OAAQrT,EAAM,OACd,QAAA,CACI,eAAgB,mBAChB,OAAU,oBAEd,OAAQmT,EAAgB,QAE5BE,EAAaC,EAAiB,EAAI,GAClCC,EAAA,MAAiB,MAAMb,EAAKW,CAAY,CAC5C,CAYI,GAVJwC,EAAI,MAAM,0BAAA,CACN,aAAA0C,EACA,IAAA7F,EACA,GAAIa,EAAS,GACb,OAAQA,EAAS,OACjB,WAAYA,EAAS,WACrB,oBAAA+C,IAIA/C,EAAS,YAAcA,EAAS,QAAQ,IAAI,kBAAkB,IAAM,OACpEsC,OAAAA,EAAI,MAAM,mBAAmB,EAC7Bc,EAAK,OAAOvU,IAAOA,EAAE,MAAQ,OAAeA,EAAI,GACvC,aAAcmR,EAAS,QAAQ,IAAI,uBAAuB,GAAA,YAGlEA,EAAS,aACA,MAAA,gCAAsCA,EAAS,MAAM,EAAA,EAGnEiF,EAAA,MAAmBjF,EAAS,KAAA,EAC5BsC,EAAI,MAAM,wBAAyB2C,CAAU,CACjD,IAGID,IAAiBjC,EAAqB,CACtCT,EAAI,MAAM,yCAAA,CAA4C,aAAA0C,EAAc,oBAAAjC,UAExE,CAGAT,EAAI,MAAM,qBAAA,CAAwB,aAAA0C,EAAc,KAAMvY,EAAM,KAAM,QAASA,EAAM,MAAA,CAAA,QAC3EyX,SAA2BJ,GAAc,UAAYA,EAAU,QAAQ,QAAQ,IAAA,GAE/EqB,GAAe1Y,EAAM,YAAc,IAAI2X,GAAU,CAC/C,IAAAvX,EAAI4W,EAAQK,EAAWM,CAAM,EAAE,SAAA,EAC/B,OAAAF,IACArX,EAAIA,EAAE,SAAS,SAAS,EAAIA,EAAE,QAAQ,YAAa,KAAK,EAAK,aAAa,KAAKA,CAAC,EAAIA,EAAIA,EAAI,OAEzFA,CACX,CAAC,MAEGuY,EAAW3B,EAAQK,EAAWrX,EAAM,IAAI,EAAE,SAAA,EAC1CyX,IACAkB,EAAWA,EAAS,SAAS,SAAS,EAAIA,EAAS,QAAQ,YAAa,KAAK,EAAK,aAAa,KAAKA,CAAQ,EAAIA,EAAWA,EAAW,OAErIA,EAAS,WAAW,GAAG,IACxBA,EAAW,IAAMA,SAGfd,EAAA,MAAgB,QAAQ,IAC1Ba,EAAY,IAAIE,GAAA,OAAkCA,GAAM,KAAK3W,GAAKA,EAAE,OAAO,CAAA,CAAA,EAEzE6V,eAAuCa,GAAU,KAAK,GAAK,EAAE,OAAO,KAE1E9C,EAAI,MAAM,oBAAA,CACN,aAAA0C,EACA,oBAAAjC,EACA,aAAcuB,EAAQ,OACtB,aAAcC,IAIdS,IAAiBjC,EAAqB,CACtCT,EAAI,MAAM,kDAAA,CAAqD,aAAA0C,EAAc,oBAAAjC,UAEjF,OAGMuC,EAAA,CACF,QAAAhB,EACA,KAAAC,EACA,SAAU9X,EAAM,MAAQ,KACxB,YAAaA,EAAM,QAAA,CAAA,EACnB,KAAMwY,EACN,OAAAJ,EACA,UAAAb,EACA,MAAAC,GAGJ3B,EAAI,MAAM,uBAAA,CACN,aAAA0C,EACA,oBAAAjC,EACA,aAAcuC,EAAS,QAAQ,OAC/B,QAAA,CAAA,CAAWA,EAAS,KACpB,SAAU,OAAO,KAAKA,EAAS,MAAA,CAAA,CAAA,IAOnClC,EAAK,OAAOvU,IACRA,EAAE,OAASyW,EACXzW,EAAE,MAAQ,OAEVyT,EAAI,MAAM,sBAAA,CACN,aAAA0C,EACA,aAAcnW,EAAE,OAAO,QAAQ,OAC/B,QAAA,CAAA,CAAWA,EAAE,OAAO,KACpB,SAAU,OAAO,KAAKA,EAAE,OAAO,MAAA,EAAA,EAC/B,WAAY,OAAO,KAAKA,EAAE,OAAO,QAAA,CAAA,CAAA,IAG9BA,EACV,SAGU,OAAW,KAClB,OAAO,OAAO,EAAG,CAAC,EAIlBkW,IACAzC,EAAI,MAAM,wBAA0B,IAAAnD,CAAA,CAAA,EACpC,OAAO,QAAQ,UAAA,CAAA,EAAc,GAAIA,CAAG,GAGxCmD,EAAI,MAAM,sBAAA,CAAyB,aAAA0C,EAAc,IAAA7F,GAErD,OAASpQ,EAAO,CAeP,GAdLuT,EAAI,MAAM,oBAAA,CACN,aAAA0C,EACA,oBAAAjC,EACA,IAAA5D,EACA,MAAOpQ,aAAiB,MAAQA,EAAM,QAAU,OAAOA,CAAK,IAIhEqU,EAAK,OAAOvU,IACRA,EAAE,MAAQ,OACHA,EACV,EAGIE,EAAc,OAAS,aAAc,CACtCuT,EAAI,MAAM,oBAAoB,QAElC,OAEMvT,CACV,CACJ,CCjfA,MAAMuT,EAAMD,GAAU,cAAc,EAa7B,SAASkD,GAAiBzB,EAAiBtX,EAAiB8S,EAAwB,CACvF,GAAG,CAAC,SAAS,CACTgD,EAAI,MAAM,oBAAoB,EAC9B,MACJ,CAGA,SAAS,iBAAiB,QAAU/C,GAAc,SAC9C,MAAMiG,EAAa,OAAO,SAAS,SAC7B/V,IAAIqB,EAAAyO,EAAM,SAAN,YAAAzO,EAAc,WAAY,IAAMyO,EAAM,QAASvO,EAAAuO,EAAM,SAAN,YAAAvO,EAAc,QAAQ,KAE/E,GAAIvB,EAAG,CACH,IAAI0P,EAAM1P,EAAE,aAAa,MAAM,EAC/B,GAAI+V,IAAerG,EAAK,CACpBI,EAAM,eAAA,EACN,MACJ,CACA,GAAIJ,GAAOA,EAAI,WAAW,GAAG,GAAKA,EAAI,WAAW,GAAG,EAAG,CACnD,MAAMjT,EAAWiT,EAAI,MAAM,GAAG,EAAE,CAAC,EAC3BM,EAAShQ,EAAE,aAAa,QAAQ,GAAK,MACrChD,EAAQD,EAAO,KAAKqC,GAAKA,EAAE,OAAO,YAAA,IAAkB4Q,GAAUH,EAAS,KAAK5Q,GAAKA,EAAE,OAAOxC,CAAQ,GAAKwC,EAAE,UAAYG,EAAE,IAAI,CAAC,EAClI,GAAIpC,EAAO,CACP8S,EAAM,eAAA,EACN,MAAM7Q,EAAI4Q,EAAS,KAAK5Q,GAAKA,EAAE,OAAOxC,CAAQ,GAAKwC,EAAE,UAAYjC,EAAM,IAAI,EACrEoY,GAASnW,GAAA,YAAAA,EAAG,OAAOxC,KAAa,CAAA,EAEhC8X,EAAY,IAAI,gBAAgB7E,EAAI,MAAM,GAAG,EAAE,CAAC,GAAK,EAAE,EACvDsG,EAAc,OAAO,YAAYzB,EAAU,QAAA,CAAS,GAAK,CAAA,EACzDD,EAAiB,CAAE,GAAGc,EAAQ,GAAGY,CAAA,EAEjCC,EADgBhG,EAAAA,IAAId,CAAc,EACGlQ,GAAA,YAAAA,EAAG,OAAiB,EAG/D2U,OAAK,OAAOxW,IACRA,EAAE,IAAMsS,EACRtS,EAAE,SAAWX,EACbW,EAAE,OAASgY,EACXhY,EAAE,MAAQ4Y,EACH5Y,EACV,EAEDyV,EAAI,MAAM,sBAAuBnD,CAAG,EACpCyF,EAAYzF,EAAK2E,EAAWrX,EAAOsX,EAAgBc,EAAQY,EAAaC,EAAsB,EAAI,CACtG,MACIpD,EAAI,KAAK,0BAA2BnD,EAAK,6BAA6B,CAG9E,CACJ,CACJ,CAAC,EAID,OAAO,iBAAiB,WAAarR,GAAM,CACvC,MAAMuX,EAAO,OAAO,SAAS,SACvBM,EAAU,OAAO,SAAS,SAAW,OAAO,SAAS,OAErDlG,EAAS,MACThT,EAAQD,EAAO,KAAKqC,GAAKA,EAAE,OAAO,YAAA,IAAkB4Q,GAAUH,EAAS,KAAK5Q,GAAKA,EAAE,OAAO2W,CAAI,GAAK3W,EAAE,UAAYG,EAAE,IAAI,CAAC,EAC9H,GAAIpC,EAAO,CACP,MAAMiC,EAAI4Q,EAAS,KAAK5Q,GAAKA,EAAE,OAAO2W,CAAI,GAAK3W,EAAE,UAAYjC,EAAM,IAAI,EACjEoY,GAASnW,GAAA,YAAAA,EAAG,OAAO2W,KAAS,CAAA,EAE5BrB,EAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACtDyB,EAAc,OAAO,YAAYzB,EAAU,QAAA,CAAS,GAAK,CAAA,EAG/DX,OAAK,OAAOxW,IACRA,EAAE,IAAM8Y,EACR9Y,EAAE,SAAW,OAAO,SAAS,SAC7BA,EAAE,OAASgY,EACXhY,EAAE,MAAQ4Y,EACH5Y,EACV,EAED,MAAMkX,EAAiB,CAAE,GAAGc,EAAQ,GAAGY,CAAA,EAEjCC,EADgBhG,EAAAA,IAAId,CAAc,EACGlQ,GAAA,YAAAA,EAAG,OAAiB,EAE/D4T,EAAI,MAAM,yBAA0BqD,CAAO,EAE3Cf,EAAYe,EAAS7B,EAAWrX,EAAOsX,EAAgBc,EAAQY,EAAaC,EAAsB,EAAK,CAC3G,MACIpD,EAAI,KAAK,0BAA2B+C,EAAM,6BAA6B,EAEvE,OAAO,SAAS,KAAOA,CAE/B,CAAC,EAKD,OAAO,iBAAiB,kBAAoB9F,GAAyC,CACjF,MAAMqG,EAAWrG,EAAM,OAAO,KACxB8F,EAAOO,EAAS,MAAM,GAAG,EAAE,CAAC,EAElCtD,EAAI,MAAM,8BAA+BsD,CAAQ,EAEjD,MAAMnG,EAAS,MACThT,EAAQD,EAAO,KAAKqC,GAAKA,EAAE,OAAO,YAAA,IAAkB4Q,GAAUH,EAAS,KAAK5Q,GAAKA,EAAE,OAAO2W,CAAI,GAAK3W,EAAE,UAAYG,EAAE,IAAI,CAAC,EAC9H,GAAIpC,EAAO,CACP,MAAMiC,EAAI4Q,EAAS,KAAK5Q,GAAKA,EAAE,OAAO2W,CAAI,GAAK3W,EAAE,UAAYjC,EAAM,IAAI,EACjEoY,GAASnW,GAAA,YAAAA,EAAG,OAAO2W,KAAS,CAAA,EAE5BrB,EAAY,IAAI,gBAAgB4B,EAAS,MAAM,GAAG,EAAE,CAAC,GAAK,EAAE,EAC5DH,EAAc,OAAO,YAAYzB,EAAU,QAAA,CAAS,GAAK,CAAA,EACzDD,EAAiB,CAAE,GAAGc,EAAQ,GAAGY,CAAA,EAEjCC,EADgBhG,EAAAA,IAAId,CAAc,EACGlQ,GAAA,YAAAA,EAAG,OAAiB,EAG/D2U,OAAK,OAAOxW,IACRA,EAAE,IAAM+Y,EACR/Y,EAAE,SAAWwY,EACbxY,EAAE,OAASgY,EACXhY,EAAE,MAAQ4Y,EACH5Y,EACV,EAGD+X,EAAYgB,EAAU9B,EAAWrX,EAAOsX,EAAgBc,EAAQY,EAAaC,EAAsB,EAAI,CAC3G,MACIpD,EAAI,KAAK,0BAA2B+C,EAAM,6BAA6B,EAEvE,OAAO,SAAS,KAAOA,CAE/B,EAAA,EAGAhG,GAAkB7S,EAAQ8S,CAAQ,CACtC,CCzIA,MAAMgD,EAAMD,GAAU,cAAc,EAGvBtC,GAAoB,OAAO,qBAAqB,EAG7D,IAAI8F,EAAsC,CAAA,EACtCC,GAA4C,KAGhD,SAASC,GAAgB5G,EAAsB,CAC7C,GAAI,CACF,MAAM6G,EAAS,IAAI,IAAI7G,EAAK,OAAO,SAAS,MAAM,EAClD,OAAO6G,EAAO,SAAW,OAAO,SAAS,QAAU,CAACA,EAAO,SAAS,WAAW,OAAO,CACxF,MAAQ,CAEN,MAAO,CAAC7G,EAAI,WAAW,OAAO,CAChC,CACF,CAGA,SAAS8G,IAAwB,CAC3B,OAAO,OAAW,KAAe,CAACH,KACpCA,GAAgB,OAAO,MAEvB,OAAO,MAAQ,eAAehS,EAA0BiB,EAAoB,CAAA,EAAuB,CAEjG,IAAImR,EAA2B,CAAE,GAAGnR,CAAA,EAGpC,UAAWoR,KAAcN,EACvB,GAAI,CACF,GAAIM,EAAW,SAAW,EAAG,CAG3B,MAAMC,EAAU,IAAI,QAAQF,EAAY,OAAO,EACzCG,EAA+B,OAAO,YAAYD,EAAQ,SAAS,EAEzE,MAAM,IAAI,QAAc,CAAC9Y,EAASC,IAAW,CAC3C,GAAI,CACD4Y,EAAmBE,EAAgBtX,GAAgB,CAClD,GAAIA,EACFxB,EAAOwB,CAAK,MACP,CAEL,MAAMuX,EAAe,IAAI,QACzB,OAAO,QAAQD,CAAa,EAAE,QAAQ,CAAC,CAACha,EAAKC,CAAK,IAAM,CAClDA,IAAU,QACZga,EAAa,IAAIja,EAAKC,CAAK,CAE/B,CAAC,EACD4Z,EAAY,QAAUI,EACtBhZ,EAAA,CACF,CACF,CAAC,CACH,OAASyB,EAAO,CACdxB,EAAOwB,CAAK,CACd,CACF,CAAC,CACH,KAAO,CAEL,MAAM5C,EAAS,MAAOga,EAAmBD,EAAapS,CAAK,EAEvD3H,GAAU,OAAOA,GAAW,WAE9B+Z,EAAc/Z,EAElB,CACF,OAAS4C,EAAO,CACd,MAAAuT,EAAI,MAAM,mBAAoBvT,CAAK,EAC7BA,CACR,CAIF,MAAMwX,EAAkBL,GAAA,YAAAA,EAAsBnG,IAE9CuC,EAAI,MAAM,yBAA0B,CAClC,IAAKxO,EACL,eAAAyS,EACA,QAASL,GAAA,YAAAA,EAAa,OAAA,CACvB,EAGD,MAAMlG,EAAW,MAAM8F,GAAehS,EAAOoS,CAAW,EAcxD,GAZA5D,EAAI,MAAM,0BAA2B,CACnC,IAAKxO,EACL,YAAakM,EAAS,IACtB,WAAYA,EAAS,WACrB,OAAQA,EAAS,OACjB,KAAMA,EAAS,KACf,eAAAuG,CAAA,CACD,EAKGA,GAAkBvG,EAAS,WAAY,CACzC,MAAMwG,EAAe,OAAO1S,GAAU,SAAWA,EAAQA,EAAM,IACzD2S,EAAWzG,EAAS,IAS1B,GAPAsC,EAAI,MAAM,oBAAqB,CAC7B,UAAWkE,EACX,MAAOC,EACP,WAAYzG,EAAS,UAAA,CACtB,EAGG+F,GAAgBU,CAAQ,EAAG,CAE7B,MAAMtH,EAAM,IAAI,IAAIsH,CAAQ,EACtBC,EAAevH,EAAI,SAAWA,EAAI,OAIxC,OAAAmD,EAAI,MAAM,wBAAyBoE,EAAc,iDAAiD,EAK3F,IAAI,SAAS,KAAK,UAAU,CAAE,OAAQ,GAAI,KAAM,CAAA,CAAC,CAAG,EAAG,CAC5D,OAAQ,IACR,QAAS,CACP,eAAgB,mBAChB,mBAAoB,OACpB,wBAAyBA,CAAA,CAC3B,CACD,CACH,CACF,CAEA,OAAO1G,CACT,EAEJ,CAGAiG,GAAA,EAGO,MAAMU,GAA+D,CAI1E,aAAaR,EAAmC,CAC9C,GAAI,OAAOA,GAAe,WACxB,MAAM,IAAI,MAAM,+BAA+B,EAEjDN,EAAY,KAAKM,CAAU,CAC7B,EAKA,OAAc,CACZN,EAAY,OAAS,CACvB,EAKA,oBAA6B,CAC3B,OAAOA,EAAY,MACrB,CACF,EAEA,IAAIe,GAEJ,eAAsBC,GAClBhD,EACA9H,EACa,CAGb,IAAI+H,EAAY,OAAO,mBAAwB/H,EAAQ,cAEvD,GAAG,CAAC+H,GAAa,OAAOA,GAAc,SAClC,MAAM,IAAI,MAAM,iCAAiC,EAErD,IAAItX,EAAS,OAAO,YAGpB,GAFAoa,GAAUra,GAA0BC,CAAM,EAEtC,QAAU,OAAO,SAAU,CAC3B,MAAMsa,GAAmB,OAAO,SAAS,UAAY,KAAK,MAAM,GAAG,EAAE,CAAC,EAChEC,EAASH,GAAQ,QAAU/X,EAAE,OAAOiY,CAAe,CAAC,EAC1D,IAAIra,EAAQsa,EAASva,EAAO,QAAUqC,EAAE,OAASkY,EAAO,OAAO,EAAI,KACnE,GAAIA,GAAUta,EAAO,CACjB,MAAMoY,EAASkC,EAAO,OAAOD,CAAe,GAAI,CAAA,EAE1C9C,EAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACtDyB,EAAc,OAAO,YAAYzB,EAAU,QAAA,CAAS,GAAK,CAAA,EACzDD,EAAiB,CAAE,GAAGc,EAAQ,GAAGY,CAAA,EACvC3G,GAAA,EACA8E,GAAUC,EAAMC,EAAWrX,EAAOsX,EAAec,EAAQY,CAAW,EACpEF,GAAiBzB,EAAWtX,EAAQoa,EAAO,CAC/C,MACItE,EAAI,KAAK,oBAAqBwE,CAAe,CAKrD,CACJ","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,57,58,59,60,61]}