@monei-js/components 1.7.9 → 2.0.0
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.
- package/README.md +72 -9
- package/dist/chunk.js +13 -0
- package/dist/index.cjs +1623 -0
- package/dist/index.d.cts +510 -0
- package/dist/index.d.ts +508 -14
- package/dist/index.js +1596 -7
- package/dist/monei.umd.production.min.js +64 -0
- package/dist/monei.umd.production.min.js.map +1 -0
- package/package.json +41 -65
- package/src/bridge/types.ts +102 -0
- package/dist/api.d.ts +0 -13
- package/dist/bizum/container.d.ts +0 -4
- package/dist/bizum/index.d.ts +0 -5
- package/dist/bizum/modal.d.ts +0 -3
- package/dist/bizum/types.d.ts +0 -30
- package/dist/cardInput/index.d.ts +0 -8
- package/dist/cardInput/types.d.ts +0 -51
- package/dist/click2pay/container.d.ts +0 -4
- package/dist/click2pay/index.d.ts +0 -5
- package/dist/click2pay/modal.d.ts +0 -3
- package/dist/click2pay/types.d.ts +0 -23
- package/dist/cofidis/container.d.ts +0 -4
- package/dist/cofidis/index.d.ts +0 -6
- package/dist/cofidis/modal.d.ts +0 -3
- package/dist/cofidis/types.d.ts +0 -45
- package/dist/cofidis/widget.d.ts +0 -3
- package/dist/cofidisLoan/container.d.ts +0 -4
- package/dist/cofidisLoan/index.d.ts +0 -7
- package/dist/cofidisLoan/modal.d.ts +0 -4
- package/dist/cofidisLoan/types.d.ts +0 -45
- package/dist/cofidisLoan/widget.d.ts +0 -4
- package/dist/components.cjs.development.js +0 -18927
- package/dist/components.cjs.development.js.map +0 -1
- package/dist/components.cjs.production.min.js +0 -2
- package/dist/components.cjs.production.min.js.map +0 -1
- package/dist/components.esm.js +0 -18909
- package/dist/components.esm.js.map +0 -1
- package/dist/config.d.ts +0 -28
- package/dist/container.d.ts +0 -1
- package/dist/enums.d.ts +0 -4
- package/dist/googlePay/index.d.ts +0 -4
- package/dist/googlePay/types.d.ts +0 -21
- package/dist/paymentModal/container.d.ts +0 -4
- package/dist/paymentModal/index.d.ts +0 -6
- package/dist/paymentModal/types.d.ts +0 -28
- package/dist/paymentRequest/index.d.ts +0 -4
- package/dist/paymentRequest/types.d.ts +0 -22
- package/dist/paypal/index.d.ts +0 -4
- package/dist/paypal/types.d.ts +0 -27
- package/dist/types.d.ts +0 -194
- package/dist/utils.d.ts +0 -11
- package/types/belter.d.ts +0 -1
- package/types/component.d.ts +0 -196
- package/types/css.d.ts +0 -9
- package/types/global.d.ts +0 -3
- package/types/post-robot.d.ts +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.esm.js","sources":["../../node_modules/regenerator-runtime/runtime.js","../src/utils.ts","../src/config.ts","../src/api.ts","../../node_modules/post-robot/dist/post-robot.js","../../node_modules/post-robot/index.js","../../node_modules/@krakenjs/zoid/dist/zoid.frameworks.js","../../node_modules/belter/dist/belter.js","../../node_modules/belter/index.js","../src/enums.ts","../src/container.ts","../src/cardInput/index.ts","../src/paymentModal/index.ts","../src/paypal/index.ts","../src/bizum/container.ts","../src/bizum/modal.ts","../src/bizum/index.ts","../src/cofidis/container.ts","../src/cofidis/modal.ts","../src/cofidis/widget.ts","../src/cofidis/index.ts","../src/cofidisLoan/container.ts","../src/cofidisLoan/modal.ts","../src/cofidisLoan/widget.ts","../src/cofidisLoan/index.ts","../src/googlePay/index.ts","../src/paymentRequest/index.ts","../src/types.ts","../src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import {Thumbmark} from '@thumbmarkjs/thumbmarkjs';\nimport {CSSObject} from '../types/css';\nimport {GetPaymentMethodsResponse} from './types';\n\nexport const transformStyle = (style: CSSObject) => {\n return Object.keys(style).reduce<any>((result, prop) => {\n if (typeof style[prop] === 'string') {\n result[prop] = style[prop];\n } else {\n result[prop] = `${style[prop]}px`;\n }\n return result;\n }, {});\n};\n\nexport const loadScript = (\n src: string,\n nonce?: string,\n dataset?: Record<string, string | undefined>,\n forceReload?: boolean\n): Promise<HTMLScriptElement> => {\n return new Promise((resolve, reject) => {\n const existingScript = Array.from(document.scripts).find((s) => s.src === src);\n if (existingScript) {\n if (forceReload) {\n existingScript.remove();\n } else {\n resolve(existingScript);\n return;\n }\n }\n const script = document.createElement('script');\n script.src = src;\n script.onload = () => resolve(script);\n script.onerror = (error) => reject(error);\n if (nonce) {\n script.setAttribute('nonce', nonce);\n }\n if (dataset) {\n Object.keys(dataset).forEach((key) => {\n if (dataset[key]) {\n script.dataset[key] = dataset[key];\n }\n });\n }\n document.head.appendChild(script);\n });\n};\n\nexport const stringify = (obj: Record<string, any>) => {\n return Object.keys(obj)\n .reduce<string[]>((result, key) => {\n if (obj[key] !== undefined) {\n result.push(`${key}=${obj[key]}`);\n }\n return result;\n }, [])\n .join('&');\n};\n\nexport const fixLocalstorage = () => {\n let localStorage: Storage;\n try {\n localStorage = window.localStorage;\n } catch (error) {\n const localStorageMock = (() => {\n let store = new Map();\n return {\n getItem(key: string): string {\n return store.get(key);\n },\n\n setItem: function (key: string, value: string) {\n store.set(key, value);\n },\n\n clear: function () {\n store = new Map();\n },\n\n removeItem: function (key: string) {\n store.delete(key);\n }\n };\n })();\n\n Object.defineProperty(window, 'localStorage', {value: localStorageMock});\n localStorage = localStorageMock as Storage;\n }\n return localStorage;\n};\n\nconst getLanguage = () => {\n let lang;\n const localStorage = fixLocalstorage();\n try {\n lang = localStorage.getItem('i18nextLng');\n } catch (error) {}\n if (lang) {\n return lang.split('-')[0];\n }\n return '';\n};\n\nconst safe = (fn: () => unknown): string => {\n try {\n return String(fn() ?? '');\n } catch {\n return '';\n }\n};\n\nexport const getClientEnv = () => {\n const env = [\n window.screen.colorDepth,\n window.screen.height,\n window.screen.width,\n new Date().getTimezoneOffset(),\n getLanguage(),\n safe(() => Intl.DateTimeFormat().resolvedOptions().timeZone),\n safe(() => window.devicePixelRatio),\n safe(() => navigator.hardwareConcurrency),\n safe(() => (navigator as any).deviceMemory),\n safe(() => navigator.maxTouchPoints),\n safe(() => navigator.platform),\n safe(() => navigator.languages?.join(','))\n ].join('|');\n return window.btoa(env);\n};\n\nconst thumbmark = new Thumbmark({stabilize: []});\n\nexport const getClientFingerprint = async (): Promise<string> => {\n const [, result] = await withError(thumbmark.get());\n return result?.thumbmark ?? '';\n};\n\nexport const withError = async <T>(p: Promise<T>): Promise<[Error | undefined, T | undefined]> => {\n try {\n return [undefined, await p];\n } catch (err) {\n return [err as Error, undefined];\n }\n};\n\nexport const isMethodSupported = (config: GetPaymentMethodsResponse, paymentMethod: string) => {\n return config.paymentMethods && config.paymentMethods.includes(paymentMethod);\n};\n\nexport const validateComponentProps = (props: any) => {\n if (props.paymentId) return;\n if (props.accountId && props.amount && props.currency) return;\n throw new Error('You need to provide paymentId or accountId amount and currency');\n};\n","type Stage = 'local' | 'dev' | 'prod';\n\nconst stage = (process.env.STAGE as Stage) || 'local';\nconst domain = process.env.DOMAIN || 'http://localhost:3001';\nconst version = process.env.VERSION || 'v1';\n\ntype Config = {\n version: string;\n domain: string;\n stage: string;\n rootDomain: string;\n isProduction: boolean;\n paymentPageUrl: string;\n posPaymentPageUrl: string;\n cardInputUrl: string;\n paymentModalUrl: string;\n bizumUrl: string;\n bizumButtonUrl: string;\n cofidisUrl: string;\n cofidisButtonUrl: string;\n cofidisWidgetUrl: string;\n cofidisLoanUrl: string;\n cofidisLoanButtonUrl: string;\n cofidisLoanWidgetUrl: string;\n paypalUrl: string;\n apiUrl: string;\n googlePayUrl: string;\n paymentRequestUrl: string;\n secureDomain: string;\n click2PayUrl: string;\n click2PayButtonUrl: string;\n};\n\nconst globalConfig = {\n domain,\n version,\n stage,\n isProduction: stage === 'prod',\n paymentPageUrl: `${domain}/${version}/payment-page/`,\n posPaymentPageUrl: `${domain}/${version}/pos-payment-page/`,\n cardInputUrl: `${domain}/${version}/inner-card-input/`,\n paymentModalUrl: `${domain}/${version}/inner-payment-modal/`,\n paypalUrl: `${domain}/${version}/inner-paypal/`,\n bizumUrl: `${domain}/${version}/inner-bizum/`,\n bizumButtonUrl: `${domain}/${version}/inner-bizum-button/`,\n cofidisUrl: `${domain}/${version}/inner-cofidis/`,\n cofidisButtonUrl: `${domain}/${version}/inner-cofidis-button/`,\n cofidisWidgetUrl: `${domain}/${version}/inner-cofidis-widget/`,\n cofidisLoanUrl: `${domain}/${version}/inner-cofidis-loan/`,\n cofidisLoanButtonUrl: `${domain}/${version}/inner-cofidis-loan-button/`,\n cofidisLoanWidgetUrl: `${domain}/${version}/inner-cofidis-loan-widget/`,\n googlePayUrl: `${domain}/${version}/inner-google-pay/`,\n paymentRequestUrl: `${domain}/${version}/inner-payment-request/`,\n click2PayUrl: `${domain}/${version}/inner-click2pay/`,\n click2PayButtonUrl: `${domain}/${version}/inner-click2pay-button/`\n};\n\nconst stageConfig = {\n local: {\n paymentPageUrl: `http://localhost:8080/`,\n posPaymentPageUrl: `http://localhost:8080/`,\n cardInputUrl: `http://localhost:3001/${version}/inner-card-input/`,\n paymentModalUrl: `http://localhost:3002/${version}/inner-payment-modal/`,\n paypalUrl: `http://localhost:3003/${version}/inner-paypal/`,\n bizumUrl: `http://localhost:3004/${version}/inner-bizum/`,\n bizumButtonUrl: `http://localhost:3005/${version}/inner-bizum-button/`,\n googlePayUrl: `http://localhost:3006/${version}/inner-google-pay/`,\n paymentRequestUrl: `https://monei-local.ngrok.io/${version}/inner-payment-request/`,\n click2PayUrl: `http://localhost:3008/inner-click2pay/`,\n click2PayButtonUrl: `http://localhost:3009/inner-click2pay-button/`,\n cofidisUrl: `http://localhost:3010/${version}/inner-cofidis/`,\n cofidisButtonUrl: `http://localhost:3011/${version}/inner-cofidis-button/`,\n cofidisWidgetUrl: `http://localhost:3012/${version}/inner-cofidis-widget/`,\n cofidisLoanUrl: `http://localhost:3013/${version}/inner-cofidis-loan/`,\n cofidisLoanButtonUrl: `http://localhost:3014/${version}/inner-cofidis-loan-button/`,\n cofidisLoanWidgetUrl: `http://localhost:3015/${version}/inner-cofidis-loan-widget/`,\n apiUrl: 'https://api.monei-dev.com/v1',\n secureDomain: 'https://secure.monei-dev.com',\n rootDomain: 'monei-dev.com'\n },\n dev: {\n apiUrl: 'https://api.monei-dev.com/v1',\n secureDomain: 'https://secure.monei-dev.com',\n rootDomain: 'monei-dev.com'\n },\n prod: {\n apiUrl: 'https://api.monei.com/v1',\n secureDomain: 'https://secure.monei.com',\n rootDomain: 'monei.com'\n }\n};\n\nexport const config = {...globalConfig, ...stageConfig[stage]} as Config;\n","import {config} from './config';\nimport {ConfirmPaymentParams} from './paymentModal';\nimport {\n CalculateFinancingRequest,\n CalculateFinancingResponse,\n CreateApplePaySessionRequest,\n CreatePaymentRequest,\n CreateTokenRequest,\n CreateTokenResponse,\n GetPaymentMethodsRequest,\n GetPaymentMethodsResponse,\n PaymentResult,\n SendPaymentReceiptRequest,\n ValidateBizumPhoneRequest\n} from './types';\nimport {getClientEnv, getClientFingerprint, stringify, withError} from './utils';\n\ntype RequestParams = {\n method?: string;\n headers?: any;\n body?: any;\n};\nconst request = async (url: string, {method = 'GET', headers, body}: RequestParams = {}) => {\n if (method === 'POST') headers = {'Content-Type': 'application/json', ...headers};\n const res = await fetch(`${config.apiUrl}${url}`, {\n method,\n headers,\n body: body ? JSON.stringify(body) : undefined\n });\n const [, result] = await withError(res.json());\n if (!res.ok) throw result || new Error(res.statusText);\n return result;\n};\n\nconst pmCache: Record<string, Promise<GetPaymentMethodsResponse>> = {};\n\nexport const getPaymentMethods = async ({\n accountId,\n paymentId\n}: GetPaymentMethodsRequest): Promise<GetPaymentMethodsResponse> => {\n let params: GetPaymentMethodsRequest;\n if (paymentId) params = {paymentId};\n else if (accountId) params = {accountId};\n else throw new Error('You need to provide paymentId or accountId');\n const query = stringify(params);\n if (query in pmCache) return pmCache[query];\n const promise = request(`/payment-methods?${query}`);\n pmCache[query] = promise;\n return promise;\n};\n\nexport const createToken = async ({\n paymentMethod,\n paymentId,\n sessionId,\n amount,\n currency,\n accountId,\n transactionType\n}: CreateTokenRequest): Promise<CreateTokenResponse> => {\n let body: CreateTokenRequest;\n if (paymentId) {\n body = {paymentId, paymentMethod};\n } else if (accountId) {\n body = {accountId, paymentMethod, sessionId, amount, currency, transactionType};\n } else throw new Error('You need to provide paymentId or accountId');\n return request('/tokens', {\n method: 'POST',\n headers: {'X-Client-Env': getClientEnv(), 'X-Client-Fingerprint': await getClientFingerprint()},\n body: body\n });\n};\n\nexport const getPayment = async (paymentId: string): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-get`);\n};\n\nexport const confirmPayment = async ({paymentId, ...body}: ConfirmPaymentParams): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-confirm`, {\n method: 'POST',\n headers: {'X-Client-Env': getClientEnv(), 'X-Client-Fingerprint': await getClientFingerprint()},\n body\n });\n};\n\nexport const createPayment = async ({signature, ...body}: CreatePaymentRequest): Promise<PaymentResult> => {\n return request('/client-payments', {\n method: 'POST',\n headers: {\n 'X-Client-Env': getClientEnv(),\n 'X-Client-Fingerprint': await getClientFingerprint(),\n 'Client-Signature': signature\n },\n body\n });\n};\n\nexport const sendPaymentReceipt = async ({\n paymentId,\n customerEmail,\n signature,\n language\n}: SendPaymentReceiptRequest): Promise<PaymentResult> => {\n return request(`/payments/${paymentId}/client-receipt`, {\n method: 'POST',\n body: {customerEmail, signature, language}\n });\n};\n\nexport const createApplePaySession = async (body: CreateApplePaySessionRequest) => {\n return request(`/apple-pay/sessions`, {method: 'POST', body});\n};\n\nexport const calculateFinancing = async (req: CalculateFinancingRequest): Promise<CalculateFinancingResponse> => {\n return request(`/cofidis/calculate-financing`, {method: 'POST', body: req});\n};\n\nexport const validateBizumPhone = async (req: ValidateBizumPhoneRequest): Promise<{isValid: boolean}> => {\n return request(`/bizum/validate-phone`, {method: 'POST', body: req});\n};\n","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"postRobot\", [], factory) : \"object\" == typeof exports ? exports.postRobot = factory() : root.postRobot = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"Promise\", (function() {\n return promise_ZalgoPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return src_types_TYPES_0;\n }));\n __webpack_require__.d(__webpack_exports__, \"ProxyWindow\", (function() {\n return window_ProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setup\", (function() {\n return setup;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializeMessage\", (function() {\n return setup_serializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializeMessage\", (function() {\n return setup_deserializeMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"createProxyWindow\", (function() {\n return createProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"toProxyWindow\", (function() {\n return setup_toProxyWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"on\", (function() {\n return on_on;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return on_once;\n }));\n __webpack_require__.d(__webpack_exports__, \"send\", (function() {\n return send_send;\n }));\n __webpack_require__.d(__webpack_exports__, \"markWindowKnown\", (function() {\n return markWindowKnown;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanUpWindow\", (function() {\n return cleanUpWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"bridge\", (function() {}));\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || getParent(win) || void 0;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function closeWindow(win) {\n try {\n win.close();\n } catch (err) {}\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + function(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function src_util_noop() {}\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n Error;\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i20 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i20 < _Array$prototype$slic2.length; _i20++) {\n var script = _Array$prototype$slic2[_i20];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_10_0_42__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER);\n var defaultDeserializers = {};\n new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? \"popup\" : \"iframe\";\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n },\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href) {\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n var sameDomain = isSameDomain(win);\n var frame = function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return \"popup\" === type;\n }));\n };\n _proto.setLocation = function(href) {\n var _this = this;\n return this.serializedWindow.setLocation(href).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name);\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return (item = args, [].slice.call(item)).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n var item;\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_10_0_42__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function handleRequest(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n return promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Request origin \" + origin + \" does not match domain \" + options.domain.toString());\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }\n function handleAck(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }\n function handleResponse(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_10_0_42__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n for (var _i2 = 0; _i2 < messages.length; _i2++) {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return;\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return;\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? handleRequest(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? handleResponse(source, origin, message) : \"postrobot_message_ack\" === message.type && handleAck(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n }\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n (options = options || {}).name = name;\n options.handler = handler || options.handler;\n var win = options.window;\n var domain = options.domain;\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, win = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n domain = domain || \"*\";\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var nameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var domainListeners = util_getOrSet(nameListeners, name, (function() {\n return {};\n }));\n var strDomain = domain.toString();\n var regexListeners;\n var regexListener;\n util_isRegex(domain) ? (regexListeners = util_getOrSet(domainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(regexListener = {\n regex: domain,\n listener: listener\n }) : domainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete domainListeners[strDomain];\n if (regexListener) {\n regexListeners.splice(regexListeners.indexOf(regexListener, 1));\n regexListeners.length || delete domainListeners.__domain_regex__;\n }\n Object.keys(domainListeners).length || delete nameListeners[name];\n win && !Object.keys(nameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: win,\n domain: domain\n }, {\n handler: options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n },\n window: win,\n domain: domain || \"*\",\n name: name\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n function on_once(name, options, handler) {\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n var promise = new promise_ZalgoPromise;\n var listener;\n options.errorHandler = function(err) {\n listener.cancel();\n promise.reject(err);\n };\n listener = on_on(name, options, (function(event) {\n listener.cancel();\n promise.resolve(event);\n if (handler) return handler(event);\n }));\n promise.cancel = listener.cancel;\n return promise;\n }\n var send_send = function send(win, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (function(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (getParent(frame) === frame) return frame;\n }\n }(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return function(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = function(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n !function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout && promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }();\n loop();\n }), 500);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }();\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n };\n function setup_serializeMessage(destination, domain, obj) {\n return serializeMessage(destination, domain, obj, {\n on: on_on,\n send: send_send\n });\n }\n function setup_deserializeMessage(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }\n function createProxyWindow(win) {\n return new window_ProxyWindow({\n send: send_send,\n win: win\n });\n }\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function setup() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return function(obj, event, handler) {\n obj.addEventListener(\"message\", handler);\n return {\n cancel: function() {\n obj.removeEventListener(\"message\", handler);\n }\n };\n }(window, 0, (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }\n function destroy() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_10_0_42__;\n }\n var src_types_TYPES_0 = !0;\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n setup();\n } ]);\n}));","/* @flow */\n\n// $FlowFixMe\nmodule.exports = require('./dist/post-robot'); // eslint-disable-line import/no-commonjs\n\n// $FlowFixMe\nmodule.exports.default = module.exports; // eslint-disable-line import/no-commonjs\n","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"zoid\", [], factory) : \"object\" == typeof exports ? exports.zoid = factory() : root.zoid = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"PopupOpenError\", (function() {\n return dom_PopupOpenError;\n }));\n __webpack_require__.d(__webpack_exports__, \"create\", (function() {\n return component_create;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroy\", (function() {\n return component_destroy;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyComponents\", (function() {\n return destroyComponents;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyAll\", (function() {\n return destroyAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"PROP_TYPE\", (function() {\n return PROP_TYPE;\n }));\n __webpack_require__.d(__webpack_exports__, \"PROP_SERIALIZATION\", (function() {\n return PROP_SERIALIZATION;\n }));\n __webpack_require__.d(__webpack_exports__, \"CONTEXT\", (function() {\n return CONTEXT;\n }));\n __webpack_require__.d(__webpack_exports__, \"EVENT\", (function() {\n return EVENT;\n }));\n function _setPrototypeOf(o, p) {\n return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {\n o.__proto__ = p;\n return o;\n })(o, p);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _extends() {\n return (_extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }).apply(this, arguments);\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n var promiseResult = _result2;\n promiseResult.resolved ? promise.resolve(promiseResult.value) : promise.reject(promiseResult.error);\n promiseResult.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n _proto.lazy = function() {\n this.errorHandled = !0;\n return this;\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [].slice();\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n function isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var WINDOW_TYPE = {\n IFRAME: \"iframe\",\n POPUP: \"popup\"\n };\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function getActualProtocol(win) {\n void 0 === win && (win = window);\n return win.location.protocol;\n }\n function getProtocol(win) {\n void 0 === win && (win = window);\n if (win.mockDomain) {\n var protocol = win.mockDomain.split(\"//\")[0];\n if (protocol) return protocol;\n }\n return getActualProtocol(win);\n }\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === getProtocol(win);\n }\n function utils_getParent(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }\n function getOpener(win) {\n void 0 === win && (win = window);\n if (win && !utils_getParent(win)) try {\n return win.opener;\n } catch (err) {}\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = getActualProtocol(win);\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = utils_getParent(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (function(win) {\n void 0 === win && (win = window);\n return \"mock:\" === getProtocol(win);\n }(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n function assertSameDomain(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }\n function isAncestorParent(parent, child) {\n if (!parent || !child) return !1;\n var childParent = utils_getParent(child);\n return childParent ? childParent === parent : -1 !== function(win) {\n var result = [];\n try {\n for (;win.parent !== win; ) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {}\n return result;\n }(child).indexOf(parent);\n }\n function getFrames(win) {\n var result = [];\n var frames;\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n var len;\n try {\n len = frames.length;\n } catch (err) {}\n if (0 === len) return result;\n if (len) {\n for (var i = 0; i < len; i++) {\n var frame = void 0;\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n result.push(frame);\n }\n return result;\n }\n for (var _i = 0; _i < 100; _i++) {\n var _frame = void 0;\n try {\n _frame = frames[_i];\n } catch (err) {\n return result;\n }\n if (!_frame) return result;\n result.push(_frame);\n }\n return result;\n }\n function getAllChildFrames(win) {\n var result = [];\n for (var _i3 = 0, _getFrames2 = getFrames(win); _i3 < _getFrames2.length; _i3++) {\n var frame = _getFrames2[_i3];\n result.push(frame);\n for (var _i5 = 0, _getAllChildFrames2 = getAllChildFrames(frame); _i5 < _getAllChildFrames2.length; _i5++) result.push(_getAllChildFrames2[_i5]);\n }\n return result;\n }\n function getTop(win) {\n void 0 === win && (win = window);\n try {\n if (win.top) return win.top;\n } catch (err) {}\n if (utils_getParent(win) === win) return win;\n try {\n if (isAncestorParent(window, win) && window.top) return window.top;\n } catch (err) {}\n try {\n if (isAncestorParent(win, window) && window.top) return window.top;\n } catch (err) {}\n for (var _i7 = 0, _getAllChildFrames4 = getAllChildFrames(win); _i7 < _getAllChildFrames4.length; _i7++) {\n var frame = _getAllChildFrames4[_i7];\n try {\n if (frame.top) return frame.top;\n } catch (err) {}\n if (utils_getParent(frame) === frame) return frame;\n }\n }\n function getAllFramesInWindow(win) {\n var top = getTop(win);\n if (!top) throw new Error(\"Can not determine top window\");\n var result = [].concat(getAllChildFrames(top), [ top ]);\n -1 === result.indexOf(win) && (result = [].concat(result, [ win ], getAllChildFrames(win)));\n return result;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function utils_getUserAgent(win) {\n return (win = win || window).navigator.mockUserAgent || win.navigator.userAgent;\n }\n function getFrameByName(win, name) {\n var winFrames = getFrames(win);\n for (var _i9 = 0; _i9 < winFrames.length; _i9++) {\n var childFrame = winFrames[_i9];\n try {\n if (isSameDomain(childFrame) && childFrame.name === name && -1 !== winFrames.indexOf(childFrame)) return childFrame;\n } catch (err) {}\n }\n try {\n if (-1 !== winFrames.indexOf(win.frames[name])) return win.frames[name];\n } catch (err) {}\n try {\n if (-1 !== winFrames.indexOf(win[name])) return win[name];\n } catch (err) {}\n }\n function isOpener(parent, child) {\n return parent === getOpener(child);\n }\n function getAncestor(win) {\n void 0 === win && (win = window);\n return getOpener(win = win || window) || utils_getParent(win) || void 0;\n }\n function anyMatch(collection1, collection2) {\n for (var _i17 = 0; _i17 < collection1.length; _i17++) {\n var item1 = collection1[_i17];\n for (var _i19 = 0; _i19 < collection2.length; _i19++) if (item1 === collection2[_i19]) return !0;\n }\n return !1;\n }\n function getDistanceFromTop(win) {\n void 0 === win && (win = window);\n var distance = 0;\n var parent = win;\n for (;parent; ) (parent = utils_getParent(parent)) && (distance += 1);\n return distance;\n }\n function isSameTopWindow(win1, win2) {\n var top1 = getTop(win1) || win1;\n var top2 = getTop(win2) || win2;\n try {\n if (top1 && top2) return top1 === top2;\n } catch (err) {}\n var allFrames1 = getAllFramesInWindow(win1);\n var allFrames2 = getAllFramesInWindow(win2);\n if (anyMatch(allFrames1, allFrames2)) return !0;\n var opener1 = getOpener(top1);\n var opener2 = getOpener(top2);\n return opener1 && anyMatch(getAllFramesInWindow(opener1), allFrames2) || opener2 && anyMatch(getAllFramesInWindow(opener2), allFrames1), \n !1;\n }\n function matchDomain(pattern, origin) {\n if (\"string\" == typeof pattern) {\n if (\"string\" == typeof origin) return \"*\" === pattern || origin === pattern;\n if (isRegex(origin)) return !1;\n if (Array.isArray(origin)) return !1;\n }\n return isRegex(pattern) ? isRegex(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !isRegex(origin) && pattern.some((function(subpattern) {\n return matchDomain(subpattern, origin);\n })));\n }\n function getDomainFromUrl(url) {\n return url.match(/^(https?|mock|file):\\/\\//) ? url.split(\"/\").slice(0, 3).join(\"/\") : getDomain();\n }\n function onCloseWindow(win, callback, delay, maxtime) {\n void 0 === delay && (delay = 1e3);\n void 0 === maxtime && (maxtime = 1 / 0);\n var timeout;\n !function check() {\n if (isWindowClosed(win)) {\n timeout && clearTimeout(timeout);\n return callback();\n }\n if (maxtime <= 0) clearTimeout(timeout); else {\n maxtime -= delay;\n timeout = setTimeout(check, delay);\n }\n }();\n return {\n cancel: function() {\n timeout && clearTimeout(timeout);\n }\n };\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function normalizeMockUrl(url) {\n if (!(domain = getDomainFromUrl(url), 0 === domain.indexOf(\"mock:\"))) return url;\n var domain;\n throw new Error(\"Mock urls not supported out of test mode\");\n }\n function getFrameForWindow(win) {\n if (isSameDomain(win)) return assertSameDomain(win).frameElement;\n for (var _i21 = 0, _document$querySelect2 = document.querySelectorAll(\"iframe\"); _i21 < _document$querySelect2.length; _i21++) {\n var frame = _document$querySelect2[_i21];\n if (frame && frame.contentWindow && frame.contentWindow === win) return frame;\n }\n }\n function closeWindow(win) {\n if (function(win) {\n void 0 === win && (win = window);\n return Boolean(utils_getParent(win));\n }(win)) {\n var frame = getFrameForWindow(win);\n if (frame && frame.parentElement) {\n frame.parentElement.removeChild(frame);\n return;\n }\n }\n try {\n win.close();\n } catch (err) {}\n }\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function _getPrototypeOf(o) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n })(o);\n }\n function _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], (function() {})));\n return !0;\n } catch (e) {\n return !1;\n }\n }\n function construct_construct(Parent, args, Class) {\n return (construct_construct = _isNativeReflectConstruct() ? Reflect.construct : function(Parent, args, Class) {\n var a = [ null ];\n a.push.apply(a, args);\n var instance = new (Function.bind.apply(Parent, a));\n Class && _setPrototypeOf(instance, Class.prototype);\n return instance;\n }).apply(null, arguments);\n }\n function wrapNativeSuper_wrapNativeSuper(Class) {\n var _cache = \"function\" == typeof Map ? new Map : void 0;\n return (wrapNativeSuper_wrapNativeSuper = function(Class) {\n if (null === Class || !(fn = Class, -1 !== Function.toString.call(fn).indexOf(\"[native code]\"))) return Class;\n var fn;\n if (\"function\" != typeof Class) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== _cache) {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n })(Class);\n }\n function isElement(element) {\n var passed = !1;\n try {\n (element instanceof window.Element || null !== element && \"object\" == typeof element && 1 === element.nodeType && \"object\" == typeof element.style && \"object\" == typeof element.ownerDocument) && (passed = !0);\n } catch (_) {}\n return passed;\n }\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function base64encode(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n }))).replace(/[=]/g, \"\");\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\").replace(/[=]/g, \"\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"uid_\" + \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + base64encode((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n var objectIDs;\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + function(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }(val) + \"]\" : isElement(val) ? {} : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey;\n try {\n cacheKey = serializeArgs(args);\n } catch (_unused) {\n return method.apply(this, arguments);\n }\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function src_util_noop() {}\n function once(method) {\n var called = !1;\n return setFunctionName((function() {\n if (!called) {\n called = !0;\n return method.apply(this, arguments);\n }\n }), getFunctionName(method) + \"::once\");\n }\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n function extend(obj, source) {\n if (!source) return obj;\n if (Object.assign) return Object.assign(obj, source);\n for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);\n return obj;\n }\n memoize((function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n }));\n function identity(item) {\n return item;\n }\n function safeInterval(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n method();\n loop();\n }), time);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }\n function dasherizeToCamel(string) {\n return string.replace(/-([a-z])/g, (function(g) {\n return g[1].toUpperCase();\n }));\n }\n function defineLazyProp(obj, key, getter) {\n if (Array.isArray(obj)) {\n if (\"number\" != typeof key) throw new TypeError(\"Array key must be number\");\n } else if (\"object\" == typeof obj && null !== obj && \"string\" != typeof key) throw new TypeError(\"Object key must be string\");\n Object.defineProperty(obj, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n delete obj[key];\n var value = getter();\n obj[key] = value;\n return value;\n },\n set: function(value) {\n delete obj[key];\n obj[key] = value;\n }\n });\n }\n function arrayFrom(item) {\n return [].slice.call(item);\n }\n function isObjectObject(obj) {\n return \"object\" == typeof (item = obj) && null !== item && \"[object Object]\" === {}.toString.call(obj);\n var item;\n }\n function isPlainObject(obj) {\n if (!isObjectObject(obj)) return !1;\n var constructor = obj.constructor;\n if (\"function\" != typeof constructor) return !1;\n var prototype = constructor.prototype;\n return !!isObjectObject(prototype) && !!prototype.hasOwnProperty(\"isPrototypeOf\");\n }\n function replaceObject(item, replacer, fullKey) {\n void 0 === fullKey && (fullKey = \"\");\n if (Array.isArray(item)) {\n var length = item.length;\n var result = [];\n var _loop2 = function(i) {\n defineLazyProp(result, i, (function() {\n var itemKey = fullKey ? fullKey + \".\" + i : \"\" + i;\n var child = replacer(item[i], i, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var i = 0; i < length; i++) _loop2(i);\n return result;\n }\n if (isPlainObject(item)) {\n var _result = {};\n var _loop3 = function(key) {\n if (!item.hasOwnProperty(key)) return 1;\n defineLazyProp(_result, key, (function() {\n var itemKey = fullKey ? fullKey + \".\" + key : \"\" + key;\n var child = replacer(item[key], key, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var key in item) _loop3(key);\n return _result;\n }\n throw new Error(\"Pass an object or array\");\n }\n function isDefined(value) {\n return null != value;\n }\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n function util_getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n function cleanup(obj) {\n var tasks = [];\n var cleaned = !1;\n var cleanErr;\n var cleaner = {\n set: function(name, item) {\n if (!cleaned) {\n obj[name] = item;\n cleaner.register((function() {\n delete obj[name];\n }));\n }\n return item;\n },\n register: function(method) {\n var task = once((function() {\n return method(cleanErr);\n }));\n cleaned ? method(cleanErr) : tasks.push(task);\n return {\n cancel: function() {\n var index = tasks.indexOf(task);\n -1 !== index && tasks.splice(index, 1);\n }\n };\n },\n all: function(err) {\n cleanErr = err;\n var results = [];\n cleaned = !0;\n for (;tasks.length; ) {\n var task = tasks.shift();\n results.push(task());\n }\n return promise_ZalgoPromise.all(results).then(src_util_noop);\n }\n };\n return cleaner;\n }\n function assertExists(name, thing) {\n if (null == thing) throw new Error(\"Expected \" + name + \" to be present\");\n return thing;\n }\n var util_ExtendableError = function(_Error) {\n _inheritsLoose(ExtendableError, _Error);\n function ExtendableError(message) {\n var _this6;\n (_this6 = _Error.call(this, message) || this).name = _this6.constructor.name;\n \"function\" == typeof Error.captureStackTrace ? Error.captureStackTrace(function(self) {\n if (void 0 === self) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }(_this6), _this6.constructor) : _this6.stack = new Error(message).stack;\n return _this6;\n }\n return ExtendableError;\n }(wrapNativeSuper_wrapNativeSuper(Error));\n function getBody() {\n var body = document.body;\n if (!body) throw new Error(\"Body element not found\");\n return body;\n }\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n function urlEncode(str) {\n return encodeURIComponent(str);\n }\n memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n function parseQuery(queryString) {\n return function(method, logic, args) {\n void 0 === args && (args = []);\n var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n var key = serializeArgs(args);\n return cache.hasOwnProperty(key) ? cache[key] : cache[key] = function() {\n var params = {};\n if (!queryString) return params;\n if (-1 === queryString.indexOf(\"=\")) return params;\n for (var _i2 = 0, _queryString$split2 = queryString.split(\"&\"); _i2 < _queryString$split2.length; _i2++) {\n var pair = _queryString$split2[_i2];\n (pair = pair.split(\"=\"))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));\n }\n return params;\n }.apply(void 0, args);\n }(parseQuery, 0, [ queryString ]);\n }\n function extendQuery(originalQuery, props) {\n void 0 === props && (props = {});\n return props && Object.keys(props).length ? function(obj) {\n void 0 === obj && (obj = {});\n return Object.keys(obj).filter((function(key) {\n return \"string\" == typeof obj[key] || \"boolean\" == typeof obj[key];\n })).map((function(key) {\n var val = obj[key];\n if (\"string\" != typeof val && \"boolean\" != typeof val) throw new TypeError(\"Invalid type for query\");\n return urlEncode(key) + \"=\" + urlEncode(val.toString());\n })).join(\"&\");\n }(_extends({}, parseQuery(originalQuery), props)) : originalQuery;\n }\n function appendChild(container, child) {\n container.appendChild(child);\n }\n function getElementSafe(id, doc) {\n void 0 === doc && (doc = document);\n return isElement(id) ? id : \"string\" == typeof id ? doc.querySelector(id) : void 0;\n }\n function elementReady(id) {\n return new promise_ZalgoPromise((function(resolve, reject) {\n var name = stringify(id);\n var el = getElementSafe(id);\n if (el) return resolve(el);\n if (isDocumentReady()) return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n var interval = setInterval((function() {\n if (el = getElementSafe(id)) {\n resolve(el);\n clearInterval(interval);\n } else if (isDocumentReady()) {\n clearInterval(interval);\n return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n }\n }), 10);\n }));\n }\n var dom_PopupOpenError = function(_ExtendableError) {\n _inheritsLoose(PopupOpenError, _ExtendableError);\n function PopupOpenError() {\n return _ExtendableError.apply(this, arguments) || this;\n }\n return PopupOpenError;\n }(util_ExtendableError);\n var awaitFrameLoadPromises;\n function awaitFrameLoad(frame) {\n if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new weakmap_CrossDomainSafeWeakMap).has(frame)) {\n var _promise = awaitFrameLoadPromises.get(frame);\n if (_promise) return _promise;\n }\n var promise = new promise_ZalgoPromise((function(resolve, reject) {\n frame.addEventListener(\"load\", (function() {\n !function(frame) {\n !function() {\n for (var i = 0; i < iframeWindows.length; i++) {\n var closed = !1;\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {}\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n }();\n if (frame && frame.contentWindow) try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {}\n }(frame);\n resolve(frame);\n }));\n frame.addEventListener(\"error\", (function(err) {\n frame.contentWindow ? resolve(frame) : reject(err);\n }));\n }));\n awaitFrameLoadPromises.set(frame, promise);\n return promise;\n }\n function awaitFrameWindow(frame) {\n return awaitFrameLoad(frame).then((function(loadedFrame) {\n if (!loadedFrame.contentWindow) throw new Error(\"Could not find window in iframe\");\n return loadedFrame.contentWindow;\n }));\n }\n function dom_iframe(options, container) {\n void 0 === options && (options = {});\n var style = options.style || {};\n var frame = function(tag, options, container) {\n void 0 === tag && (tag = \"div\");\n void 0 === options && (options = {});\n tag = tag.toLowerCase();\n var element = document.createElement(tag);\n options.style && extend(element.style, options.style);\n options.class && (element.className = options.class.join(\" \"));\n options.id && element.setAttribute(\"id\", options.id);\n if (options.attributes) for (var _i10 = 0, _Object$keys2 = Object.keys(options.attributes); _i10 < _Object$keys2.length; _i10++) {\n var key = _Object$keys2[_i10];\n element.setAttribute(key, options.attributes[key]);\n }\n options.styleSheet && function(el, styleText, doc) {\n void 0 === doc && (doc = window.document);\n el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));\n }(element, options.styleSheet);\n if (options.html) {\n if (\"iframe\" === tag) throw new Error(\"Iframe html can not be written unless container provided and iframe in DOM\");\n element.innerHTML = options.html;\n }\n return element;\n }(\"iframe\", {\n attributes: _extends({\n allowTransparency: \"true\"\n }, options.attributes || {}),\n style: _extends({\n backgroundColor: \"transparent\",\n border: \"none\"\n }, style),\n html: options.html,\n class: options.class\n });\n var isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n frame.hasAttribute(\"id\") || frame.setAttribute(\"id\", uniqueID());\n awaitFrameLoad(frame);\n container && function(id, doc) {\n void 0 === doc && (doc = document);\n var element = getElementSafe(id, doc);\n if (element) return element;\n throw new Error(\"Can not find element: \" + stringify(id));\n }(container).appendChild(frame);\n (options.url || isIE) && frame.setAttribute(\"src\", options.url || \"about:blank\");\n return frame;\n }\n function addEventListener(obj, event, handler) {\n obj.addEventListener(event, handler);\n return {\n cancel: function() {\n obj.removeEventListener(event, handler);\n }\n };\n }\n function showElement(element) {\n element.style.setProperty(\"display\", \"\");\n }\n function hideElement(element) {\n element.style.setProperty(\"display\", \"none\", \"important\");\n }\n function destroyElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n function isElementClosed(el) {\n return !(el && el.parentNode && el.ownerDocument && el.ownerDocument.documentElement && el.ownerDocument.documentElement.contains(el));\n }\n function onResize(el, handler, _temp) {\n var _ref2 = void 0 === _temp ? {} : _temp, _ref2$width = _ref2.width, width = void 0 === _ref2$width || _ref2$width, _ref2$height = _ref2.height, height = void 0 === _ref2$height || _ref2$height, _ref2$interval = _ref2.interval, interval = void 0 === _ref2$interval ? 100 : _ref2$interval, _ref2$win = _ref2.win, win = void 0 === _ref2$win ? window : _ref2$win;\n var currentWidth = el.offsetWidth;\n var currentHeight = el.offsetHeight;\n var canceled = !1;\n handler({\n width: currentWidth,\n height: currentHeight\n });\n var check = function() {\n if (!canceled && function(el) {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n }(el)) {\n var newWidth = el.offsetWidth;\n var newHeight = el.offsetHeight;\n (width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({\n width: newWidth,\n height: newHeight\n });\n currentWidth = newWidth;\n currentHeight = newHeight;\n }\n };\n var observer;\n var timeout;\n win.addEventListener(\"resize\", check);\n if (void 0 !== win.ResizeObserver) {\n (observer = new win.ResizeObserver(check)).observe(el);\n timeout = safeInterval(check, 10 * interval);\n } else if (void 0 !== win.MutationObserver) {\n (observer = new win.MutationObserver(check)).observe(el, {\n attributes: !0,\n childList: !0,\n subtree: !0,\n characterData: !1\n });\n timeout = safeInterval(check, 10 * interval);\n } else timeout = safeInterval(check, interval);\n return {\n cancel: function() {\n canceled = !0;\n observer.disconnect();\n window.removeEventListener(\"resize\", check);\n timeout.cancel();\n }\n };\n }\n function isShadowElement(element) {\n for (;element.parentNode; ) element = element.parentNode;\n return \"[object ShadowRoot]\" === element.toString();\n }\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = function() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(\"data-uid\");\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(\"data-uid-auto\")) && \"string\" == typeof uid) return uid;\n if (script.src) {\n var hashedString = function(str) {\n var hash = \"\";\n for (var i = 0; i < str.length; i++) {\n var total = str[i].charCodeAt(0) * i;\n str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));\n hash += String.fromCharCode(97 + Math.abs(total) % 26);\n }\n return hash;\n }(JSON.stringify({\n src: script.src,\n dataset: script.dataset\n }));\n uid = \"uid_\" + hashedString.slice(hashedString.length - 30);\n } else uid = uniqueID();\n script.setAttribute(\"data-uid-auto\", uid);\n return uid;\n }));\n function isPerc(str) {\n return \"string\" == typeof str && /^[0-9]+%$/.test(str);\n }\n function toNum(val) {\n if (\"number\" == typeof val) return val;\n var match = val.match(/^([0-9]+)(px|%)$/);\n if (!match) throw new Error(\"Could not match css value from \" + val);\n return parseInt(match[1], 10);\n }\n function toPx(val) {\n return toNum(val) + \"px\";\n }\n function toCSS(val) {\n return \"number\" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);\n }\n function normalizeDimension(dim, max) {\n if (\"number\" == typeof dim) return dim;\n if (isPerc(dim)) return parseInt(max * toNum(dim) / 100, 10);\n if (\"string\" == typeof (str = dim) && /^[0-9]+px$/.test(str)) return toNum(dim);\n var str;\n throw new Error(\"Can not normalize dimension: \" + dim);\n }\n function global_getGlobal(win) {\n void 0 === win && (win = window);\n var globalKey = \"__post_robot_11_0_0__\";\n return win !== window ? win[globalKey] : win[globalKey] = win[globalKey] || {};\n }\n var getObj = function() {\n return {};\n };\n function globalStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return util_getOrSet(global_getGlobal(), key, (function() {\n var store = defStore();\n return {\n has: function(storeKey) {\n return store.hasOwnProperty(storeKey);\n },\n get: function(storeKey, defVal) {\n return store.hasOwnProperty(storeKey) ? store[storeKey] : defVal;\n },\n set: function(storeKey, val) {\n store[storeKey] = val;\n return val;\n },\n del: function(storeKey) {\n delete store[storeKey];\n },\n getOrSet: function(storeKey, getter) {\n return util_getOrSet(store, storeKey, getter);\n },\n reset: function() {\n store = defStore();\n },\n keys: function() {\n return Object.keys(store);\n }\n };\n }));\n }\n var WildCard = function() {};\n function getWildcard() {\n var global = global_getGlobal();\n global.WINDOW_WILDCARD = global.WINDOW_WILDCARD || new WildCard;\n return global.WINDOW_WILDCARD;\n }\n function windowStore(key, defStore) {\n void 0 === key && (key = \"store\");\n void 0 === defStore && (defStore = getObj);\n return globalStore(\"windowStore\").getOrSet(key, (function() {\n var winStore = new weakmap_CrossDomainSafeWeakMap;\n var getStore = function(win) {\n return winStore.getOrSet(win, defStore);\n };\n return {\n has: function(win) {\n return getStore(win).hasOwnProperty(key);\n },\n get: function(win, defVal) {\n var store = getStore(win);\n return store.hasOwnProperty(key) ? store[key] : defVal;\n },\n set: function(win, val) {\n getStore(win)[key] = val;\n return val;\n },\n del: function(win) {\n delete getStore(win)[key];\n },\n getOrSet: function(win, getter) {\n return util_getOrSet(getStore(win), key, getter);\n }\n };\n }));\n }\n function getInstanceID() {\n return globalStore(\"instance\").getOrSet(\"instanceID\", uniqueID);\n }\n function resolveHelloPromise(win, _ref) {\n var domain = _ref.domain;\n var helloPromises = windowStore(\"helloPromises\");\n var existingPromise = helloPromises.get(win);\n existingPromise && existingPromise.resolve({\n domain: domain\n });\n var newPromise = promise_ZalgoPromise.resolve({\n domain: domain\n });\n helloPromises.set(win, newPromise);\n return newPromise;\n }\n function sayHello(win, _ref4) {\n return (0, _ref4.send)(win, \"postrobot_hello\", {\n instanceID: getInstanceID()\n }, {\n domain: \"*\",\n timeout: -1\n }).then((function(_ref5) {\n var origin = _ref5.origin, instanceID = _ref5.data.instanceID;\n resolveHelloPromise(win, {\n domain: origin\n });\n return {\n win: win,\n domain: origin,\n instanceID: instanceID\n };\n }));\n }\n function getWindowInstanceID(win, _ref6) {\n var send = _ref6.send;\n return windowStore(\"windowInstanceIDPromises\").getOrSet(win, (function() {\n return sayHello(win, {\n send: send\n }).then((function(_ref7) {\n return _ref7.instanceID;\n }));\n }));\n }\n function awaitWindowHello(win, timeout, name) {\n void 0 === timeout && (timeout = 5e3);\n void 0 === name && (name = \"Window\");\n var promise = function(win) {\n return windowStore(\"helloPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }(win);\n -1 !== timeout && (promise = promise.timeout(timeout, new Error(name + \" did not load after \" + timeout + \"ms\")));\n return promise;\n }\n function markWindowKnown(win) {\n windowStore(\"knownWindows\").set(win, !0);\n }\n function isSerializedType(item) {\n return \"object\" == typeof item && null !== item && \"string\" == typeof item.__type__;\n }\n function determineType(val) {\n return void 0 === val ? \"undefined\" : null === val ? \"null\" : Array.isArray(val) ? \"array\" : \"function\" == typeof val ? \"function\" : \"object\" == typeof val ? val instanceof Error ? \"error\" : \"function\" == typeof val.then ? \"promise\" : \"[object RegExp]\" === {}.toString.call(val) ? \"regex\" : \"[object Date]\" === {}.toString.call(val) ? \"date\" : \"object\" : \"string\" == typeof val ? \"string\" : \"number\" == typeof val ? \"number\" : \"boolean\" == typeof val ? \"boolean\" : void 0;\n }\n function serializeType(type, val) {\n return {\n __type__: type,\n __val__: val\n };\n }\n var _SERIALIZER;\n var SERIALIZER = ((_SERIALIZER = {}).function = function() {}, _SERIALIZER.error = function(_ref) {\n return serializeType(\"error\", {\n message: _ref.message,\n stack: _ref.stack,\n code: _ref.code,\n data: _ref.data\n });\n }, _SERIALIZER.promise = function() {}, _SERIALIZER.regex = function(val) {\n return serializeType(\"regex\", val.source);\n }, _SERIALIZER.date = function(val) {\n return serializeType(\"date\", val.toJSON());\n }, _SERIALIZER.array = function(val) {\n return val;\n }, _SERIALIZER.object = function(val) {\n return val;\n }, _SERIALIZER.string = function(val) {\n return val;\n }, _SERIALIZER.number = function(val) {\n return val;\n }, _SERIALIZER.boolean = function(val) {\n return val;\n }, _SERIALIZER.null = function(val) {\n return val;\n }, _SERIALIZER[void 0] = function(val) {\n return serializeType(\"undefined\", val);\n }, _SERIALIZER);\n var defaultSerializers = {};\n var _DESERIALIZER;\n var DESERIALIZER = ((_DESERIALIZER = {}).function = function() {\n throw new Error(\"Function serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.error = function(_ref2) {\n var stack = _ref2.stack, code = _ref2.code, data = _ref2.data;\n var error = new Error(_ref2.message);\n error.code = code;\n data && (error.data = data);\n error.stack = stack + \"\\n\\n\" + error.stack;\n return error;\n }, _DESERIALIZER.promise = function() {\n throw new Error(\"Promise serialization is not implemented; nothing to deserialize\");\n }, _DESERIALIZER.regex = function(val) {\n return new RegExp(val);\n }, _DESERIALIZER.date = function(val) {\n return new Date(val);\n }, _DESERIALIZER.array = function(val) {\n return val;\n }, _DESERIALIZER.object = function(val) {\n return val;\n }, _DESERIALIZER.string = function(val) {\n return val;\n }, _DESERIALIZER.number = function(val) {\n return val;\n }, _DESERIALIZER.boolean = function(val) {\n return val;\n }, _DESERIALIZER.null = function(val) {\n return val;\n }, _DESERIALIZER[void 0] = function() {}, _DESERIALIZER);\n var defaultDeserializers = {};\n function needsBridgeForBrowser() {\n return !!utils_getUserAgent(window).match(/MSIE|trident|edge\\/12|edge\\/13/i);\n }\n function needsBridgeForWin(win) {\n return !isSameTopWindow(window, win);\n }\n function needsBridgeForDomain(domain, win) {\n if (domain) {\n if (getDomain() !== getDomainFromUrl(domain)) return !0;\n } else if (win && !isSameDomain(win)) return !0;\n return !1;\n }\n function needsBridge(_ref) {\n var win = _ref.win, domain = _ref.domain;\n return !(!needsBridgeForBrowser() || domain && !needsBridgeForDomain(domain, win) || win && !needsBridgeForWin(win));\n }\n function getBridgeName(domain) {\n return \"__postrobot_bridge___\" + (domain = domain || getDomainFromUrl(domain)).replace(/[^a-zA-Z0-9]+/g, \"_\");\n }\n function isBridge() {\n return Boolean(window.name && window.name === getBridgeName(getDomain()));\n }\n var documentBodyReady = new promise_ZalgoPromise((function(resolve) {\n if (window.document && window.document.body) return resolve(window.document.body);\n var interval = setInterval((function() {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }), 10);\n }));\n function registerRemoteWindow(win) {\n windowStore(\"remoteWindowPromises\").getOrSet(win, (function() {\n return new promise_ZalgoPromise;\n }));\n }\n function findRemoteWindow(win) {\n var remoteWinPromise = windowStore(\"remoteWindowPromises\").get(win);\n if (!remoteWinPromise) throw new Error(\"Remote window promise not found\");\n return remoteWinPromise;\n }\n function registerRemoteSendMessage(win, domain, sendMessage) {\n findRemoteWindow(win).resolve((function(remoteWin, remoteDomain, message) {\n if (remoteWin !== win) throw new Error(\"Remote window does not match window\");\n if (!matchDomain(remoteDomain, domain)) throw new Error(\"Remote domain \" + remoteDomain + \" does not match domain \" + domain);\n sendMessage.fireAndForget(message);\n }));\n }\n function rejectRemoteSendMessage(win, err) {\n findRemoteWindow(win).reject(err).catch(src_util_noop);\n }\n function linkWindow(_ref3) {\n var win = _ref3.win, name = _ref3.name, domain = _ref3.domain;\n var popupWindowsByName = globalStore(\"popupWindowsByName\");\n var popupWindowsByWin = windowStore(\"popupWindowsByWin\");\n for (var _i2 = 0, _popupWindowsByName$k2 = popupWindowsByName.keys(); _i2 < _popupWindowsByName$k2.length; _i2++) {\n var winName = _popupWindowsByName$k2[_i2];\n var _details = popupWindowsByName.get(winName);\n _details && !isWindowClosed(_details.win) || popupWindowsByName.del(winName);\n }\n if (isWindowClosed(win)) return {\n win: win,\n name: name,\n domain: domain\n };\n var details = popupWindowsByWin.getOrSet(win, (function() {\n return name ? popupWindowsByName.getOrSet(name, (function() {\n return {\n win: win,\n name: name\n };\n })) : {\n win: win\n };\n }));\n if (details.win && details.win !== win) throw new Error(\"Different window already linked for window: \" + (name || \"undefined\"));\n if (name) {\n details.name = name;\n popupWindowsByName.set(name, details);\n }\n if (domain) {\n details.domain = domain;\n registerRemoteWindow(win);\n }\n popupWindowsByWin.set(win, details);\n return details;\n }\n function setupBridge(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n windowOpen = window.open, window.open = function(url, name, options, last) {\n var win = windowOpen.call(this, normalizeMockUrl(url), name, options, last);\n if (!win) return win;\n linkWindow({\n win: win,\n name: name,\n domain: url ? getDomainFromUrl(url) : null\n });\n return win;\n };\n var windowOpen;\n !function(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n var popupWindowsByName = globalStore(\"popupWindowsByName\");\n on(\"postrobot_open_tunnel\", (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var bridgePromise = globalStore(\"bridges\").get(origin);\n if (!bridgePromise) throw new Error(\"Can not find bridge promise for domain \" + origin);\n return bridgePromise.then((function(bridge) {\n if (source !== bridge) throw new Error(\"Message source does not matched registered bridge for domain \" + origin);\n if (!data.name) throw new Error(\"Register window expected to be passed window name\");\n if (!data.sendMessage) throw new Error(\"Register window expected to be passed sendMessage method\");\n if (!popupWindowsByName.has(data.name)) throw new Error(\"Window with name \" + data.name + \" does not exist, or was not opened by this window\");\n var getWindowDetails = function() {\n return popupWindowsByName.get(data.name);\n };\n if (!getWindowDetails().domain) throw new Error(\"We do not have a registered domain for window \" + data.name);\n if (getWindowDetails().domain !== origin) throw new Error(\"Message origin \" + origin + \" does not matched registered window origin \" + (getWindowDetails().domain || \"unknown\"));\n registerRemoteSendMessage(getWindowDetails().win, origin, data.sendMessage);\n return {\n sendMessage: function(message) {\n if (window && !window.closed && getWindowDetails()) {\n var domain = getWindowDetails().domain;\n if (domain) try {\n receiveMessage({\n data: message,\n origin: domain,\n source: getWindowDetails().win\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n promise_ZalgoPromise.reject(err);\n }\n }\n }\n };\n }));\n }));\n }({\n on: on,\n send: send,\n receiveMessage: receiveMessage\n });\n !function(_ref2) {\n var send = _ref2.send;\n global_getGlobal(window).openTunnelToParent = function(_ref3) {\n var name = _ref3.name, source = _ref3.source, canary = _ref3.canary, sendMessage = _ref3.sendMessage;\n var tunnelWindows = globalStore(\"tunnelWindows\");\n var parentWindow = utils_getParent(window);\n if (!parentWindow) throw new Error(\"No parent window found to open tunnel to\");\n var id = function(_ref) {\n var name = _ref.name, source = _ref.source, canary = _ref.canary, sendMessage = _ref.sendMessage;\n !function() {\n var tunnelWindows = globalStore(\"tunnelWindows\");\n for (var _i2 = 0, _tunnelWindows$keys2 = tunnelWindows.keys(); _i2 < _tunnelWindows$keys2.length; _i2++) {\n var key = _tunnelWindows$keys2[_i2];\n isWindowClosed(tunnelWindows[key].source) && tunnelWindows.del(key);\n }\n }();\n var id = uniqueID();\n globalStore(\"tunnelWindows\").set(id, {\n name: name,\n source: source,\n canary: canary,\n sendMessage: sendMessage\n });\n return id;\n }({\n name: name,\n source: source,\n canary: canary,\n sendMessage: sendMessage\n });\n return send(parentWindow, \"postrobot_open_tunnel\", {\n name: name,\n sendMessage: function() {\n var tunnelWindow = tunnelWindows.get(id);\n if (tunnelWindow && tunnelWindow.source && !isWindowClosed(tunnelWindow.source)) {\n try {\n tunnelWindow.canary();\n } catch (err) {\n return;\n }\n tunnelWindow.sendMessage.apply(this, arguments);\n }\n }\n }, {\n domain: \"*\"\n });\n };\n }({\n send: send\n });\n !function(_ref) {\n var on = _ref.on, send = _ref.send, receiveMessage = _ref.receiveMessage;\n promise_ZalgoPromise.try((function() {\n var opener = getOpener(window);\n if (opener && needsBridge({\n win: opener\n })) {\n registerRemoteWindow(opener);\n return (win = opener, windowStore(\"remoteBridgeAwaiters\").getOrSet(win, (function() {\n return promise_ZalgoPromise.try((function() {\n var frame = getFrameByName(win, getBridgeName(getDomain()));\n if (frame) return isSameDomain(frame) && global_getGlobal(assertSameDomain(frame)) ? frame : new promise_ZalgoPromise((function(resolve) {\n var interval;\n var timeout;\n interval = setInterval((function() {\n if (frame && isSameDomain(frame) && global_getGlobal(assertSameDomain(frame))) {\n clearInterval(interval);\n clearTimeout(timeout);\n return resolve(frame);\n }\n }), 100);\n timeout = setTimeout((function() {\n clearInterval(interval);\n return resolve();\n }), 2e3);\n }));\n }));\n }))).then((function(bridge) {\n return bridge ? window.name ? global_getGlobal(assertSameDomain(bridge)).openTunnelToParent({\n name: window.name,\n source: window,\n canary: function() {},\n sendMessage: function(message) {\n try {\n window;\n } catch (err) {\n return;\n }\n if (window && !window.closed) try {\n receiveMessage({\n data: message,\n origin: this.origin,\n source: this.source\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n promise_ZalgoPromise.reject(err);\n }\n }\n }).then((function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n if (source !== opener) throw new Error(\"Source does not match opener\");\n registerRemoteSendMessage(source, origin, data.sendMessage);\n })).catch((function(err) {\n rejectRemoteSendMessage(opener, err);\n throw err;\n })) : rejectRemoteSendMessage(opener, new Error(\"Can not register with opener: window does not have a name\")) : rejectRemoteSendMessage(opener, new Error(\"Can not register with opener: no bridge found in opener\"));\n }));\n var win;\n }\n }));\n }({\n on: on,\n send: send,\n receiveMessage: receiveMessage\n });\n }\n function cleanupProxyWindows() {\n var idToProxyWindow = globalStore(\"idToProxyWindow\");\n for (var _i2 = 0, _idToProxyWindow$keys2 = idToProxyWindow.keys(); _i2 < _idToProxyWindow$keys2.length; _i2++) {\n var id = _idToProxyWindow$keys2[_i2];\n idToProxyWindow.get(id).shouldClean() && idToProxyWindow.del(id);\n }\n }\n function getSerializedWindow(winPromise, _ref) {\n var send = _ref.send, _ref$id = _ref.id, id = void 0 === _ref$id ? uniqueID() : _ref$id;\n var windowNamePromise = winPromise.then((function(win) {\n if (isSameDomain(win)) return assertSameDomain(win).name;\n }));\n var windowTypePromise = winPromise.then((function(window) {\n if (isWindowClosed(window)) throw new Error(\"Window is closed, can not determine type\");\n return getOpener(window) ? WINDOW_TYPE.POPUP : WINDOW_TYPE.IFRAME;\n }));\n windowNamePromise.catch(src_util_noop);\n windowTypePromise.catch(src_util_noop);\n var getName = function() {\n return winPromise.then((function(win) {\n if (!isWindowClosed(win)) return isSameDomain(win) ? assertSameDomain(win).name : windowNamePromise;\n }));\n };\n return {\n id: id,\n getType: function() {\n return windowTypePromise;\n },\n getInstanceID: memoizePromise((function() {\n return winPromise.then((function(win) {\n return getWindowInstanceID(win, {\n send: send\n });\n }));\n })),\n close: function() {\n return winPromise.then(closeWindow);\n },\n getName: getName,\n focus: function() {\n return winPromise.then((function(win) {\n win.focus();\n }));\n },\n isClosed: function() {\n return winPromise.then((function(win) {\n return isWindowClosed(win);\n }));\n },\n setLocation: function(href, opts) {\n void 0 === opts && (opts = {});\n return winPromise.then((function(win) {\n var domain = window.location.protocol + \"//\" + window.location.host;\n var _opts$method = opts.method, method = void 0 === _opts$method ? \"get\" : _opts$method, body = opts.body;\n if (0 === href.indexOf(\"/\")) href = \"\" + domain + href; else if (!href.match(/^https?:\\/\\//) && 0 !== href.indexOf(domain)) throw new Error(\"Expected url to be http or https url, or absolute path, got \" + JSON.stringify(href));\n if (\"post\" === method) return getName().then((function(name) {\n if (!name) throw new Error(\"Can not post to window without target name\");\n !function(_ref3) {\n var url = _ref3.url, target = _ref3.target, body = _ref3.body, _ref3$method = _ref3.method, method = void 0 === _ref3$method ? \"post\" : _ref3$method;\n var form = document.createElement(\"form\");\n form.setAttribute(\"target\", target);\n form.setAttribute(\"method\", method);\n form.setAttribute(\"action\", url);\n form.style.display = \"none\";\n if (body) for (var _i24 = 0, _Object$keys4 = Object.keys(body); _i24 < _Object$keys4.length; _i24++) {\n var _body$key;\n var key = _Object$keys4[_i24];\n var input = document.createElement(\"input\");\n input.setAttribute(\"name\", key);\n input.setAttribute(\"value\", null == (_body$key = body[key]) ? void 0 : _body$key.toString());\n form.appendChild(input);\n }\n getBody().appendChild(form);\n form.submit();\n getBody().removeChild(form);\n }({\n url: href,\n target: name,\n method: method,\n body: body\n });\n }));\n if (\"get\" !== method) throw new Error(\"Unsupported method: \" + method);\n if (isSameDomain(win)) try {\n if (win.location && \"function\" == typeof win.location.replace) {\n win.location.replace(href);\n return;\n }\n } catch (err) {}\n win.location = href;\n }));\n },\n setName: function(name) {\n return winPromise.then((function(win) {\n linkWindow({\n win: win,\n name: name\n });\n var sameDomain = isSameDomain(win);\n var frame = getFrameForWindow(win);\n if (!sameDomain) throw new Error(\"Can not set name for cross-domain window: \" + name);\n assertSameDomain(win).name = name;\n frame && frame.setAttribute(\"name\", name);\n windowNamePromise = promise_ZalgoPromise.resolve(name);\n }));\n }\n };\n }\n var window_ProxyWindow = function() {\n function ProxyWindow(_ref2) {\n var send = _ref2.send, win = _ref2.win, serializedWindow = _ref2.serializedWindow;\n this.id = void 0;\n this.isProxyWindow = !0;\n this.serializedWindow = void 0;\n this.actualWindow = void 0;\n this.actualWindowPromise = void 0;\n this.send = void 0;\n this.name = void 0;\n this.actualWindowPromise = new promise_ZalgoPromise;\n this.serializedWindow = serializedWindow || getSerializedWindow(this.actualWindowPromise, {\n send: send\n });\n globalStore(\"idToProxyWindow\").set(this.getID(), this);\n win && this.setWindow(win, {\n send: send\n });\n }\n var _proto = ProxyWindow.prototype;\n _proto.getID = function() {\n return this.serializedWindow.id;\n };\n _proto.getType = function() {\n return this.serializedWindow.getType();\n };\n _proto.isPopup = function() {\n return this.getType().then((function(type) {\n return type === WINDOW_TYPE.POPUP;\n }));\n };\n _proto.setLocation = function(href, opts) {\n var _this = this;\n return this.serializedWindow.setLocation(href, opts).then((function() {\n return _this;\n }));\n };\n _proto.getName = function() {\n return this.serializedWindow.getName();\n };\n _proto.setName = function(name) {\n var _this2 = this;\n return this.serializedWindow.setName(name).then((function() {\n return _this2;\n }));\n };\n _proto.close = function() {\n var _this3 = this;\n return this.serializedWindow.close().then((function() {\n return _this3;\n }));\n };\n _proto.focus = function() {\n var _this4 = this;\n var isPopupPromise = this.isPopup();\n var getNamePromise = this.getName();\n var reopenPromise = promise_ZalgoPromise.hash({\n isPopup: isPopupPromise,\n name: getNamePromise\n }).then((function(_ref3) {\n var name = _ref3.name;\n _ref3.isPopup && name && window.open(\"\", name, \"noopener\");\n }));\n var focusPromise = this.serializedWindow.focus();\n return promise_ZalgoPromise.all([ reopenPromise, focusPromise ]).then((function() {\n return _this4;\n }));\n };\n _proto.isClosed = function() {\n return this.serializedWindow.isClosed();\n };\n _proto.getWindow = function() {\n return this.actualWindow;\n };\n _proto.setWindow = function(win, _ref4) {\n var send = _ref4.send;\n this.actualWindow = win;\n this.actualWindowPromise.resolve(this.actualWindow);\n this.serializedWindow = getSerializedWindow(this.actualWindowPromise, {\n send: send,\n id: this.getID()\n });\n windowStore(\"winToProxyWindow\").set(win, this);\n };\n _proto.awaitWindow = function() {\n return this.actualWindowPromise;\n };\n _proto.matchWindow = function(win, _ref5) {\n var _this5 = this;\n var send = _ref5.send;\n return promise_ZalgoPromise.try((function() {\n return _this5.actualWindow ? win === _this5.actualWindow : promise_ZalgoPromise.hash({\n proxyInstanceID: _this5.getInstanceID(),\n knownWindowInstanceID: getWindowInstanceID(win, {\n send: send\n })\n }).then((function(_ref6) {\n var match = _ref6.proxyInstanceID === _ref6.knownWindowInstanceID;\n match && _this5.setWindow(win, {\n send: send\n });\n return match;\n }));\n }));\n };\n _proto.unwrap = function() {\n return this.actualWindow || this;\n };\n _proto.getInstanceID = function() {\n return this.serializedWindow.getInstanceID();\n };\n _proto.shouldClean = function() {\n return Boolean(this.actualWindow && isWindowClosed(this.actualWindow));\n };\n _proto.serialize = function() {\n return this.serializedWindow;\n };\n ProxyWindow.unwrap = function(win) {\n return ProxyWindow.isProxyWindow(win) ? win.unwrap() : win;\n };\n ProxyWindow.serialize = function(win, _ref7) {\n var send = _ref7.send;\n cleanupProxyWindows();\n return ProxyWindow.toProxyWindow(win, {\n send: send\n }).serialize();\n };\n ProxyWindow.deserialize = function(serializedWindow, _ref8) {\n var send = _ref8.send;\n cleanupProxyWindows();\n return globalStore(\"idToProxyWindow\").get(serializedWindow.id) || new ProxyWindow({\n serializedWindow: serializedWindow,\n send: send\n });\n };\n ProxyWindow.isProxyWindow = function(obj) {\n return Boolean(obj && !isWindow(obj) && obj.isProxyWindow);\n };\n ProxyWindow.toProxyWindow = function(win, _ref9) {\n var send = _ref9.send;\n cleanupProxyWindows();\n if (ProxyWindow.isProxyWindow(win)) return win;\n var actualWindow = win;\n return windowStore(\"winToProxyWindow\").get(actualWindow) || new ProxyWindow({\n win: actualWindow,\n send: send\n });\n };\n return ProxyWindow;\n }();\n function addMethod(id, val, name, source, domain) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n if (window_ProxyWindow.isProxyWindow(source)) proxyWindowMethods.set(id, {\n val: val,\n name: name,\n domain: domain,\n source: source\n }); else {\n proxyWindowMethods.del(id);\n methodStore.getOrSet(source, (function() {\n return {};\n }))[id] = {\n domain: domain,\n name: name,\n val: val,\n source: source\n };\n }\n }\n function lookupMethod(source, id) {\n var methodStore = windowStore(\"methodStore\");\n var proxyWindowMethods = globalStore(\"proxyWindowMethods\");\n return methodStore.getOrSet(source, (function() {\n return {};\n }))[id] || proxyWindowMethods.get(id);\n }\n function function_serializeFunction(destination, domain, val, key, _ref3) {\n on = (_ref = {\n on: _ref3.on,\n send: _ref3.send\n }).on, send = _ref.send, globalStore(\"builtinListeners\").getOrSet(\"functionCalls\", (function() {\n return on(\"postrobot_method\", {\n domain: \"*\"\n }, (function(_ref2) {\n var source = _ref2.source, origin = _ref2.origin, data = _ref2.data;\n var id = data.id, name = data.name;\n var meth = lookupMethod(source, id);\n if (!meth) throw new Error(\"Could not find method '\" + name + \"' with id: \" + data.id + \" in \" + getDomain(window));\n var methodSource = meth.source, domain = meth.domain, val = meth.val;\n return promise_ZalgoPromise.try((function() {\n if (!matchDomain(domain, origin)) throw new Error(\"Method '\" + data.name + \"' domain \" + JSON.stringify(util_isRegex(meth.domain) ? meth.domain.source : meth.domain) + \" does not match origin \" + origin + \" in \" + getDomain(window));\n if (window_ProxyWindow.isProxyWindow(methodSource)) return methodSource.matchWindow(source, {\n send: send\n }).then((function(match) {\n if (!match) throw new Error(\"Method call '\" + data.name + \"' failed - proxy window does not match source in \" + getDomain(window));\n }));\n })).then((function() {\n return val.apply({\n source: source,\n origin: origin\n }, data.args);\n }), (function(err) {\n return promise_ZalgoPromise.try((function() {\n if (val.onError) return val.onError(err);\n })).then((function() {\n err.stack && (err.stack = \"Remote call to \" + name + \"(\" + function(args) {\n void 0 === args && (args = []);\n return arrayFrom(args).map((function(arg) {\n return \"string\" == typeof arg ? \"'\" + arg + \"'\" : void 0 === arg ? \"undefined\" : null === arg ? \"null\" : \"boolean\" == typeof arg ? arg.toString() : Array.isArray(arg) ? \"[ ... ]\" : \"object\" == typeof arg ? \"{ ... }\" : \"function\" == typeof arg ? \"() => { ... }\" : \"<\" + typeof arg + \">\";\n })).join(\", \");\n }(data.args) + \") failed\\n\\n\" + err.stack);\n throw err;\n }));\n })).then((function(result) {\n return {\n result: result,\n id: id,\n name: name\n };\n }));\n }));\n }));\n var _ref, on, send;\n var id = val.__id__ || uniqueID();\n destination = window_ProxyWindow.unwrap(destination);\n var name = val.__name__ || val.name || key;\n \"string\" == typeof name && \"function\" == typeof name.indexOf && 0 === name.indexOf(\"anonymous::\") && (name = name.replace(\"anonymous::\", key + \"::\"));\n if (window_ProxyWindow.isProxyWindow(destination)) {\n addMethod(id, val, name, destination, domain);\n destination.awaitWindow().then((function(win) {\n addMethod(id, val, name, win, domain);\n }));\n } else addMethod(id, val, name, destination, domain);\n return serializeType(\"cross_domain_function\", {\n id: id,\n name: name\n });\n }\n function serializeMessage(destination, domain, obj, _ref) {\n var _serialize;\n var on = _ref.on, send = _ref.send;\n return function(obj, serializers) {\n void 0 === serializers && (serializers = defaultSerializers);\n var result = JSON.stringify(obj, (function(key) {\n var val = this[key];\n if (isSerializedType(this)) return val;\n var type = determineType(val);\n if (!type) return val;\n var serializer = serializers[type] || SERIALIZER[type];\n return serializer ? serializer(val, key) : val;\n }));\n return void 0 === result ? \"undefined\" : result;\n }(obj, ((_serialize = {}).promise = function(val, key) {\n return function(destination, domain, val, key, _ref) {\n return serializeType(\"cross_domain_zalgo_promise\", {\n then: function_serializeFunction(destination, domain, (function(resolve, reject) {\n return val.then(resolve, reject);\n }), key, {\n on: _ref.on,\n send: _ref.send\n })\n });\n }(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.function = function(val, key) {\n return function_serializeFunction(destination, domain, val, key, {\n on: on,\n send: send\n });\n }, _serialize.object = function(val) {\n return isWindow(val) || window_ProxyWindow.isProxyWindow(val) ? serializeType(\"cross_domain_window\", window_ProxyWindow.serialize(val, {\n send: send\n })) : val;\n }, _serialize));\n }\n function deserializeMessage(source, origin, message, _ref2) {\n var _deserialize;\n var send = _ref2.send;\n return function(str, deserializers) {\n void 0 === deserializers && (deserializers = defaultDeserializers);\n if (\"undefined\" !== str) return JSON.parse(str, (function(key, val) {\n if (isSerializedType(this)) return val;\n var type;\n var value;\n if (isSerializedType(val)) {\n type = val.__type__;\n value = val.__val__;\n } else {\n type = determineType(val);\n value = val;\n }\n if (!type) return value;\n var deserializer = deserializers[type] || DESERIALIZER[type];\n return deserializer ? deserializer(value, key) : value;\n }));\n }(message, ((_deserialize = {}).cross_domain_zalgo_promise = function(serializedPromise) {\n return function(source, origin, _ref2) {\n return new promise_ZalgoPromise(_ref2.then);\n }(0, 0, serializedPromise);\n }, _deserialize.cross_domain_function = function(serializedFunction) {\n return function(source, origin, _ref4, _ref5) {\n var id = _ref4.id, name = _ref4.name;\n var send = _ref5.send;\n var getDeserializedFunction = function(opts) {\n void 0 === opts && (opts = {});\n function crossDomainFunctionWrapper() {\n var _arguments = arguments;\n return window_ProxyWindow.toProxyWindow(source, {\n send: send\n }).awaitWindow().then((function(win) {\n var meth = lookupMethod(win, id);\n if (meth && meth.val !== crossDomainFunctionWrapper) return meth.val.apply({\n source: window,\n origin: getDomain()\n }, _arguments);\n var _args = [].slice.call(_arguments);\n return opts.fireAndForget ? send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !0\n }) : send(win, \"postrobot_method\", {\n id: id,\n name: name,\n args: _args\n }, {\n domain: origin,\n fireAndForget: !1\n }).then((function(res) {\n return res.data.result;\n }));\n })).catch((function(err) {\n throw err;\n }));\n }\n crossDomainFunctionWrapper.__name__ = name;\n crossDomainFunctionWrapper.__origin__ = origin;\n crossDomainFunctionWrapper.__source__ = source;\n crossDomainFunctionWrapper.__id__ = id;\n crossDomainFunctionWrapper.origin = origin;\n return crossDomainFunctionWrapper;\n };\n var crossDomainFunctionWrapper = getDeserializedFunction();\n crossDomainFunctionWrapper.fireAndForget = getDeserializedFunction({\n fireAndForget: !0\n });\n return crossDomainFunctionWrapper;\n }(source, origin, serializedFunction, {\n send: send\n });\n }, _deserialize.cross_domain_window = function(serializedWindow) {\n return window_ProxyWindow.deserialize(serializedWindow, {\n send: send\n });\n }, _deserialize));\n }\n var SEND_MESSAGE_STRATEGIES = {};\n SEND_MESSAGE_STRATEGIES.postrobot_post_message = function(win, serializedMessage, domain) {\n 0 === domain.indexOf(\"file:\") && (domain = \"*\");\n win.postMessage(serializedMessage, domain);\n };\n SEND_MESSAGE_STRATEGIES.postrobot_bridge = function(win, serializedMessage, domain) {\n if (!needsBridgeForBrowser() && !isBridge()) throw new Error(\"Bridge not needed for browser\");\n if (isSameDomain(win)) throw new Error(\"Post message through bridge disabled between same domain windows\");\n if (!1 !== isSameTopWindow(window, win)) throw new Error(\"Can only use bridge to communicate between two different windows, not between frames\");\n !function(win, domain, message) {\n var messagingChild = isOpener(window, win);\n var messagingParent = isOpener(win, window);\n if (!messagingChild && !messagingParent) throw new Error(\"Can only send messages to and from parent and popup windows\");\n findRemoteWindow(win).then((function(sendMessage) {\n return sendMessage(win, domain, message);\n }));\n }(win, domain, serializedMessage);\n };\n SEND_MESSAGE_STRATEGIES.postrobot_global = function(win, serializedMessage) {\n if (!utils_getUserAgent(window).match(/MSIE|rv:11|trident|edge\\/12|edge\\/13/i)) throw new Error(\"Global messaging not needed for browser\");\n if (!isSameDomain(win)) throw new Error(\"Post message through global disabled between different domain windows\");\n if (!1 !== isSameTopWindow(window, win)) throw new Error(\"Can only use global to communicate between two different windows, not between frames\");\n var foreignGlobal = global_getGlobal(win);\n if (!foreignGlobal) throw new Error(\"Can not find postRobot global on foreign window\");\n foreignGlobal.receiveMessage({\n source: window,\n origin: getDomain(),\n data: serializedMessage\n });\n };\n function send_sendMessage(win, domain, message, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n return promise_ZalgoPromise.try((function() {\n var domainBuffer = windowStore().getOrSet(win, (function() {\n return {};\n }));\n domainBuffer.buffer = domainBuffer.buffer || [];\n domainBuffer.buffer.push(message);\n domainBuffer.flush = domainBuffer.flush || promise_ZalgoPromise.flush().then((function() {\n if (isWindowClosed(win)) throw new Error(\"Window is closed\");\n var serializedMessage = serializeMessage(win, domain, ((_ref = {}).__post_robot_11_0_0__ = domainBuffer.buffer || [], \n _ref), {\n on: on,\n send: send\n });\n var _ref;\n delete domainBuffer.buffer;\n var strategies = Object.keys(SEND_MESSAGE_STRATEGIES);\n var errors = [];\n for (var _i2 = 0; _i2 < strategies.length; _i2++) {\n var strategyName = strategies[_i2];\n try {\n SEND_MESSAGE_STRATEGIES[strategyName](win, serializedMessage, domain);\n } catch (err) {\n errors.push(err);\n }\n }\n if (errors.length === strategies.length) throw new Error(\"All post-robot messaging strategies failed:\\n\\n\" + errors.map((function(err, i) {\n return i + \". \" + stringifyError(err);\n })).join(\"\\n\\n\"));\n }));\n return domainBuffer.flush.then((function() {\n delete domainBuffer.flush;\n }));\n })).then(src_util_noop);\n }\n function getResponseListener(hash) {\n return globalStore(\"responseListeners\").get(hash);\n }\n function deleteResponseListener(hash) {\n globalStore(\"responseListeners\").del(hash);\n }\n function isResponseListenerErrored(hash) {\n return globalStore(\"erroredResponseListeners\").has(hash);\n }\n function getRequestListener(_ref) {\n var name = _ref.name, win = _ref.win, domain = _ref.domain;\n var requestListeners = windowStore(\"requestListeners\");\n \"*\" === win && (win = null);\n \"*\" === domain && (domain = null);\n if (!name) throw new Error(\"Name required to get request listener\");\n for (var _i4 = 0, _ref3 = [ win, getWildcard() ]; _i4 < _ref3.length; _i4++) {\n var winQualifier = _ref3[_i4];\n if (winQualifier) {\n var nameListeners = requestListeners.get(winQualifier);\n if (nameListeners) {\n var domainListeners = nameListeners[name];\n if (domainListeners) {\n if (domain && \"string\" == typeof domain) {\n if (domainListeners[domain]) return domainListeners[domain];\n if (domainListeners.__domain_regex__) for (var _i6 = 0, _domainListeners$__DO2 = domainListeners.__domain_regex__; _i6 < _domainListeners$__DO2.length; _i6++) {\n var _domainListeners$__DO3 = _domainListeners$__DO2[_i6], listener = _domainListeners$__DO3.listener;\n if (matchDomain(_domainListeners$__DO3.regex, domain)) return listener;\n }\n }\n if (domainListeners[\"*\"]) return domainListeners[\"*\"];\n }\n }\n }\n }\n }\n function receive_receiveMessage(event, _ref2) {\n var on = _ref2.on, send = _ref2.send;\n var receivedMessages = globalStore(\"receivedMessages\");\n try {\n if (!window || window.closed || !event.source) return;\n } catch (err) {\n return;\n }\n var source = event.source, origin = event.origin;\n var messages = function(message, source, origin, _ref) {\n var on = _ref.on, send = _ref.send;\n var parsedMessage;\n try {\n parsedMessage = deserializeMessage(source, origin, message, {\n on: on,\n send: send\n });\n } catch (err) {\n return;\n }\n if (parsedMessage && \"object\" == typeof parsedMessage && null !== parsedMessage) {\n var parseMessages = parsedMessage.__post_robot_11_0_0__;\n if (Array.isArray(parseMessages)) return parseMessages;\n }\n }(event.data, source, origin, {\n on: on,\n send: send\n });\n if (messages) {\n markWindowKnown(source);\n var _ret, _loop = function() {\n var message = messages[_i2];\n if (receivedMessages.has(message.id)) return {\n v: void 0\n };\n receivedMessages.set(message.id, !0);\n if (isWindowClosed(source) && !message.fireAndForget) return {\n v: void 0\n };\n 0 === message.origin.indexOf(\"file:\") && (origin = \"file://\");\n try {\n \"postrobot_message_request\" === message.type ? function(source, origin, message, _ref) {\n var on = _ref.on, send = _ref.send;\n var options = getRequestListener({\n name: message.name,\n win: source,\n domain: origin\n });\n var logName = \"postrobot_method\" === message.name && message.data && \"string\" == typeof message.data.name ? message.data.name + \"()\" : message.name;\n function sendResponse(ack, data, error) {\n return promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_response\",\n hash: message.hash,\n name: message.name,\n ack: ack,\n data: data,\n error: error\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send response message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n }));\n }\n promise_ZalgoPromise.all([ promise_ZalgoPromise.flush().then((function() {\n if (!message.fireAndForget && !isWindowClosed(source)) try {\n return send_sendMessage(source, origin, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_ack\",\n hash: message.hash,\n name: message.name\n }, {\n on: on,\n send: send\n });\n } catch (err) {\n throw new Error(\"Send ack message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }\n })), promise_ZalgoPromise.try((function() {\n if (!options) throw new Error(\"No handler found for post message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n return options.handler({\n source: source,\n origin: origin,\n data: message.data\n });\n })).then((function(data) {\n return sendResponse(\"success\", data);\n }), (function(error) {\n return sendResponse(\"error\", null, error);\n })) ]).then(src_util_noop).catch((function(err) {\n if (options && options.handleError) return options.handleError(err);\n throw err;\n }));\n }(source, origin, message, {\n on: on,\n send: send\n }) : \"postrobot_message_response\" === message.type ? function(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message response for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n if (!matchDomain(options.domain, origin)) throw new Error(\"Response origin \" + origin + \" does not match domain \" + (pattern = options.domain, \n Array.isArray(pattern) ? \"(\" + pattern.join(\" | \") + \")\" : isRegex(pattern) ? \"RegExp(\" + pattern.toString() + \")\" : pattern.toString()));\n var pattern;\n if (source !== options.win) throw new Error(\"Response source does not match registered window\");\n deleteResponseListener(message.hash);\n \"error\" === message.ack ? options.promise.reject(message.error) : \"success\" === message.ack && options.promise.resolve({\n source: source,\n origin: origin,\n data: message.data\n });\n }\n }(source, origin, message) : \"postrobot_message_ack\" === message.type && function(source, origin, message) {\n if (!isResponseListenerErrored(message.hash)) {\n var options = getResponseListener(message.hash);\n if (!options) throw new Error(\"No handler found for post message ack for message: \" + message.name + \" from \" + origin + \" in \" + window.location.protocol + \"//\" + window.location.host + window.location.pathname);\n try {\n if (!matchDomain(options.domain, origin)) throw new Error(\"Ack origin \" + origin + \" does not match domain \" + options.domain.toString());\n if (source !== options.win) throw new Error(\"Ack source does not match registered window\");\n } catch (err) {\n options.promise.reject(err);\n }\n options.ack = !0;\n }\n }(source, origin, message);\n } catch (err) {\n setTimeout((function() {\n throw err;\n }), 0);\n }\n };\n for (var _i2 = 0; _i2 < messages.length; _i2++) if (_ret = _loop()) return _ret.v;\n }\n }\n function on_on(name, options, handler) {\n if (!name) throw new Error(\"Expected name\");\n if (\"function\" == typeof (options = options || {})) {\n handler = options;\n options = {};\n }\n if (!handler) throw new Error(\"Expected handler\");\n var requestListener = function addRequestListener(_ref4, listener) {\n var name = _ref4.name, winCandidate = _ref4.win, domain = _ref4.domain;\n var requestListeners = windowStore(\"requestListeners\");\n if (!name || \"string\" != typeof name) throw new Error(\"Name required to add request listener\");\n if (winCandidate && \"*\" !== winCandidate && window_ProxyWindow.isProxyWindow(winCandidate)) {\n var requestListenerPromise = winCandidate.awaitWindow().then((function(actualWin) {\n return addRequestListener({\n name: name,\n win: actualWin,\n domain: domain\n }, listener);\n }));\n return {\n cancel: function() {\n requestListenerPromise.then((function(requestListener) {\n return requestListener.cancel();\n }), src_util_noop);\n }\n };\n }\n var win = winCandidate;\n if (Array.isArray(win)) {\n var listenersCollection = [];\n for (var _i8 = 0, _win2 = win; _i8 < _win2.length; _i8++) listenersCollection.push(addRequestListener({\n name: name,\n domain: domain,\n win: _win2[_i8]\n }, listener));\n return {\n cancel: function() {\n for (var _i10 = 0; _i10 < listenersCollection.length; _i10++) listenersCollection[_i10].cancel();\n }\n };\n }\n if (Array.isArray(domain)) {\n var _listenersCollection = [];\n for (var _i12 = 0, _domain2 = domain; _i12 < _domain2.length; _i12++) _listenersCollection.push(addRequestListener({\n name: name,\n win: win,\n domain: _domain2[_i12]\n }, listener));\n return {\n cancel: function() {\n for (var _i14 = 0; _i14 < _listenersCollection.length; _i14++) _listenersCollection[_i14].cancel();\n }\n };\n }\n var existingListener = getRequestListener({\n name: name,\n win: win,\n domain: domain\n });\n win && \"*\" !== win || (win = getWildcard());\n var strDomain = (domain = domain || \"*\").toString();\n if (existingListener) throw win && domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString() + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : win ? new Error(\"Request listener already exists for \" + name + \" for \" + (win === getWildcard() ? \"wildcard\" : \"specified\") + \" window\") : domain ? new Error(\"Request listener already exists for \" + name + \" on domain \" + domain.toString()) : new Error(\"Request listener already exists for \" + name);\n var winNameListeners = requestListeners.getOrSet(win, (function() {\n return {};\n }));\n var winNameDomainListeners = util_getOrSet(winNameListeners, name, (function() {\n return {};\n }));\n var winNameDomainRegexListeners;\n var winNameDomainRegexListener;\n util_isRegex(domain) ? (winNameDomainRegexListeners = util_getOrSet(winNameDomainListeners, \"__domain_regex__\", (function() {\n return [];\n }))).push(winNameDomainRegexListener = {\n regex: domain,\n listener: listener\n }) : winNameDomainListeners[strDomain] = listener;\n return {\n cancel: function() {\n delete winNameDomainListeners[strDomain];\n if (winNameDomainRegexListener) {\n winNameDomainRegexListeners.splice(winNameDomainRegexListeners.indexOf(winNameDomainRegexListener, 1));\n winNameDomainRegexListeners.length || delete winNameDomainListeners.__domain_regex__;\n }\n Object.keys(winNameDomainListeners).length || delete winNameListeners[name];\n win && !Object.keys(winNameListeners).length && requestListeners.del(win);\n }\n };\n }({\n name: name,\n win: options.window,\n domain: options.domain || \"*\"\n }, {\n handler: handler || options.handler,\n handleError: options.errorHandler || function(err) {\n throw err;\n }\n });\n return {\n cancel: function() {\n requestListener.cancel();\n }\n };\n }\n var send_send = function send(winOrProxyWin, name, data, options) {\n var domainMatcher = (options = options || {}).domain || \"*\";\n var responseTimeout = options.timeout || -1;\n var childTimeout = options.timeout || 5e3;\n var fireAndForget = options.fireAndForget || !1;\n return window_ProxyWindow.toProxyWindow(winOrProxyWin, {\n send: send\n }).awaitWindow().then((function(win) {\n return promise_ZalgoPromise.try((function() {\n !function(name, win, domain) {\n if (!name) throw new Error(\"Expected name\");\n if (domain && \"string\" != typeof domain && !Array.isArray(domain) && !util_isRegex(domain)) throw new TypeError(\"Can not send \" + name + \". Expected domain \" + JSON.stringify(domain) + \" to be a string, array, or regex\");\n if (isWindowClosed(win)) throw new Error(\"Can not send \" + name + \". Target window is closed\");\n }(name, win, domainMatcher);\n if (function(parent, child) {\n var actualParent = getAncestor(child);\n if (actualParent) return actualParent === parent;\n if (child === parent) return !1;\n if (getTop(child) === child) return !1;\n for (var _i15 = 0, _getFrames8 = getFrames(parent); _i15 < _getFrames8.length; _i15++) if (_getFrames8[_i15] === child) return !0;\n return !1;\n }(window, win)) return awaitWindowHello(win, childTimeout);\n })).then((function(_temp) {\n return function(win, targetDomain, actualDomain, _ref) {\n var send = _ref.send;\n return promise_ZalgoPromise.try((function() {\n return \"string\" == typeof targetDomain ? targetDomain : promise_ZalgoPromise.try((function() {\n return actualDomain || sayHello(win, {\n send: send\n }).then((function(_ref2) {\n return _ref2.domain;\n }));\n })).then((function(normalizedDomain) {\n if (!matchDomain(targetDomain, targetDomain)) throw new Error(\"Domain \" + stringify(targetDomain) + \" does not match \" + stringify(targetDomain));\n return normalizedDomain;\n }));\n }));\n }(win, domainMatcher, (void 0 === _temp ? {} : _temp).domain, {\n send: send\n });\n })).then((function(targetDomain) {\n var domain = targetDomain;\n var logName = \"postrobot_method\" === name && data && \"string\" == typeof data.name ? data.name + \"()\" : name;\n var promise = new promise_ZalgoPromise;\n var hash = name + \"_\" + uniqueID();\n if (!fireAndForget) {\n var responseListener = {\n name: name,\n win: win,\n domain: domain,\n promise: promise\n };\n !function(hash, listener) {\n globalStore(\"responseListeners\").set(hash, listener);\n }(hash, responseListener);\n var reqPromises = windowStore(\"requestPromises\").getOrSet(win, (function() {\n return [];\n }));\n reqPromises.push(promise);\n promise.catch((function() {\n !function(hash) {\n globalStore(\"erroredResponseListeners\").set(hash, !0);\n }(hash);\n deleteResponseListener(hash);\n }));\n var totalAckTimeout = function(win) {\n return windowStore(\"knownWindows\").get(win, !1);\n }(win) ? 1e4 : 2e3;\n var totalResTimeout = responseTimeout;\n var ackTimeout = totalAckTimeout;\n var resTimeout = totalResTimeout;\n var interval = safeInterval((function() {\n if (isWindowClosed(win)) return promise.reject(new Error(\"Window closed for \" + name + \" before \" + (responseListener.ack ? \"response\" : \"ack\")));\n if (responseListener.cancelled) return promise.reject(new Error(\"Response listener was cancelled for \" + name));\n ackTimeout = Math.max(ackTimeout - 500, 0);\n -1 !== resTimeout && (resTimeout = Math.max(resTimeout - 500, 0));\n return responseListener.ack || 0 !== ackTimeout ? 0 === resTimeout ? promise.reject(new Error(\"No response for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalResTimeout + \"ms\")) : void 0 : promise.reject(new Error(\"No ack for postMessage \" + logName + \" in \" + getDomain() + \" in \" + totalAckTimeout + \"ms\"));\n }), 500);\n promise.finally((function() {\n interval.cancel();\n reqPromises.splice(reqPromises.indexOf(promise, 1));\n })).catch(src_util_noop);\n }\n return send_sendMessage(win, domain, {\n id: uniqueID(),\n origin: getDomain(window),\n type: \"postrobot_message_request\",\n hash: hash,\n name: name,\n data: data,\n fireAndForget: fireAndForget\n }, {\n on: on_on,\n send: send\n }).then((function() {\n return fireAndForget ? promise.resolve() : promise;\n }), (function(err) {\n throw new Error(\"Send request message failed for \" + logName + \" in \" + getDomain() + \"\\n\\n\" + stringifyError(err));\n }));\n }));\n }));\n };\n function setup_toProxyWindow(win) {\n return window_ProxyWindow.toProxyWindow(win, {\n send: send_send\n });\n }\n function cleanUpWindow(win) {\n for (var _i2 = 0, _requestPromises$get2 = windowStore(\"requestPromises\").get(win, []); _i2 < _requestPromises$get2.length; _i2++) _requestPromises$get2[_i2].reject(new Error(\"Window \" + (isWindowClosed(win) ? \"closed\" : \"cleaned up\") + \" before response\")).catch(src_util_noop);\n }\n var src_bridge;\n src_bridge = {\n setupBridge: setupBridge,\n openBridge: function(url, domain) {\n var bridges = globalStore(\"bridges\");\n var bridgeFrames = globalStore(\"bridgeFrames\");\n domain = domain || getDomainFromUrl(url);\n return bridges.getOrSet(domain, (function() {\n return promise_ZalgoPromise.try((function() {\n if (getDomain() === domain) throw new Error(\"Can not open bridge on the same domain as current domain: \" + domain);\n var name = getBridgeName(domain);\n if (getFrameByName(window, name)) throw new Error(\"Frame with name \" + name + \" already exists on page\");\n var iframe = function(name, url) {\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"name\", name);\n iframe.setAttribute(\"id\", name);\n iframe.setAttribute(\"style\", \"display: none; margin: 0; padding: 0; border: 0px none; overflow: hidden;\");\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"border\", \"0\");\n iframe.setAttribute(\"scrolling\", \"no\");\n iframe.setAttribute(\"allowTransparency\", \"true\");\n iframe.setAttribute(\"tabindex\", \"-1\");\n iframe.setAttribute(\"hidden\", \"true\");\n iframe.setAttribute(\"title\", \"\");\n iframe.setAttribute(\"role\", \"presentation\");\n iframe.src = url;\n return iframe;\n }(name, url);\n bridgeFrames.set(domain, iframe);\n return documentBodyReady.then((function(body) {\n body.appendChild(iframe);\n var bridge = iframe.contentWindow;\n return new promise_ZalgoPromise((function(resolve, reject) {\n iframe.addEventListener(\"load\", resolve);\n iframe.addEventListener(\"error\", reject);\n })).then((function() {\n return awaitWindowHello(bridge, 5e3, \"Bridge \" + url);\n })).then((function() {\n return bridge;\n }));\n }));\n }));\n }));\n },\n linkWindow: linkWindow,\n linkUrl: function(win, url) {\n linkWindow({\n win: win,\n domain: getDomainFromUrl(url)\n });\n },\n isBridge: isBridge,\n needsBridge: needsBridge,\n needsBridgeForBrowser: needsBridgeForBrowser,\n hasBridge: function(url, domain) {\n return globalStore(\"bridges\").has(domain || getDomainFromUrl(url));\n },\n needsBridgeForWin: needsBridgeForWin,\n needsBridgeForDomain: needsBridgeForDomain,\n destroyBridges: function() {\n var bridges = globalStore(\"bridges\");\n var bridgeFrames = globalStore(\"bridgeFrames\");\n for (var _i4 = 0, _bridgeFrames$keys2 = bridgeFrames.keys(); _i4 < _bridgeFrames$keys2.length; _i4++) {\n var frame = bridgeFrames.get(_bridgeFrames$keys2[_i4]);\n frame && frame.parentNode && frame.parentNode.removeChild(frame);\n }\n bridgeFrames.reset();\n bridges.reset();\n }\n };\n function lib_global_getGlobal(win) {\n if (!isSameDomain(win)) throw new Error(\"Can not get global for window on different domain\");\n win.__zoid_10_3_3__ || (win.__zoid_10_3_3__ = {});\n return win.__zoid_10_3_3__;\n }\n function tryGlobal(win, handler) {\n try {\n return handler(lib_global_getGlobal(win));\n } catch (err) {}\n }\n function getProxyObject(obj) {\n return {\n get: function() {\n var _this = this;\n return promise_ZalgoPromise.try((function() {\n if (_this.source && _this.source !== window) throw new Error(\"Can not call get on proxy object from a remote window\");\n return obj;\n }));\n }\n };\n }\n function basicSerialize(data) {\n return base64encode(JSON.stringify(data));\n }\n function getUIDRefStore(win) {\n var global = lib_global_getGlobal(win);\n global.references = global.references || {};\n return global.references;\n }\n function crossDomainSerialize(_ref) {\n var data = _ref.data, metaData = _ref.metaData, sender = _ref.sender, receiver = _ref.receiver, _ref$passByReference = _ref.passByReference, passByReference = void 0 !== _ref$passByReference && _ref$passByReference, _ref$basic = _ref.basic, basic = void 0 !== _ref$basic && _ref$basic;\n var proxyWin = setup_toProxyWindow(receiver.win);\n var serializedMessage = basic ? JSON.stringify(data) : serializeMessage(proxyWin, receiver.domain, data, {\n on: on_on,\n send: send_send\n });\n var reference = passByReference ? function(val) {\n var uid = uniqueID();\n getUIDRefStore(window)[uid] = val;\n return {\n type: \"uid\",\n uid: uid\n };\n }(serializedMessage) : {\n type: \"raw\",\n val: serializedMessage\n };\n return {\n serializedData: basicSerialize({\n sender: {\n domain: sender.domain\n },\n metaData: metaData,\n reference: reference\n }),\n cleanReference: function() {\n win = window, \"uid\" === (ref = reference).type && delete getUIDRefStore(win)[ref.uid];\n var win, ref;\n }\n };\n }\n function crossDomainDeserialize(_ref2) {\n var sender = _ref2.sender, _ref2$basic = _ref2.basic, basic = void 0 !== _ref2$basic && _ref2$basic;\n var message = function(serializedData) {\n return JSON.parse(function(str) {\n if (\"function\" == typeof atob) return decodeURIComponent([].map.call(atob(str), (function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })).join(\"\"));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"base64\").toString(\"utf8\");\n throw new Error(\"Can not find window.atob or Buffer\");\n }(serializedData));\n }(_ref2.data);\n var reference = message.reference, metaData = message.metaData;\n var win;\n win = \"function\" == typeof sender.win ? sender.win({\n metaData: metaData\n }) : sender.win;\n var domain;\n domain = \"function\" == typeof sender.domain ? sender.domain({\n metaData: metaData\n }) : \"string\" == typeof sender.domain ? sender.domain : message.sender.domain;\n var serializedData = function(win, ref) {\n if (\"raw\" === ref.type) return ref.val;\n if (\"uid\" === ref.type) return getUIDRefStore(win)[ref.uid];\n throw new Error(\"Unsupported ref type: \" + ref.type);\n }(win, reference);\n return {\n data: basic ? JSON.parse(serializedData) : function(source, origin, message) {\n return deserializeMessage(source, origin, message, {\n on: on_on,\n send: send_send\n });\n }(win, domain, serializedData),\n metaData: metaData,\n sender: {\n win: win,\n domain: domain\n },\n reference: reference\n };\n }\n var PROP_TYPE = {\n STRING: \"string\",\n OBJECT: \"object\",\n FUNCTION: \"function\",\n BOOLEAN: \"boolean\",\n NUMBER: \"number\",\n ARRAY: \"array\"\n };\n var PROP_SERIALIZATION = {\n JSON: \"json\",\n DOTIFY: \"dotify\",\n BASE64: \"base64\"\n };\n var CONTEXT = WINDOW_TYPE;\n var EVENT = {\n RENDER: \"zoid-render\",\n RENDERED: \"zoid-rendered\",\n PRERENDER: \"zoid-prerender\",\n PRERENDERED: \"zoid-prerendered\",\n DISPLAY: \"zoid-display\",\n ERROR: \"zoid-error\",\n CLOSE: \"zoid-close\",\n DESTROY: \"zoid-destroy\",\n PROPS: \"zoid-props\",\n RESIZE: \"zoid-resize\",\n FOCUS: \"zoid-focus\"\n };\n function buildChildWindowName(_ref) {\n return \"__zoid__\" + _ref.name + \"__\" + _ref.serializedPayload + \"__\";\n }\n function parseWindowName(windowName) {\n if (!windowName) throw new Error(\"No window name\");\n var _windowName$split = windowName.split(\"__\"), zoidcomp = _windowName$split[1], name = _windowName$split[2], serializedInitialPayload = _windowName$split[3];\n if (\"zoid\" !== zoidcomp) throw new Error(\"Window not rendered by zoid - got \" + zoidcomp);\n if (!name) throw new Error(\"Expected component name\");\n if (!serializedInitialPayload) throw new Error(\"Expected serialized payload ref\");\n return {\n name: name,\n serializedInitialPayload: serializedInitialPayload\n };\n }\n var parseInitialParentPayload = memoize((function(windowName) {\n var _crossDomainDeseriali = crossDomainDeserialize({\n data: parseWindowName(windowName).serializedInitialPayload,\n sender: {\n win: function(_ref2) {\n return function(windowRef) {\n if (\"opener\" === windowRef.type) return assertExists(\"opener\", getOpener(window));\n if (\"parent\" === windowRef.type && \"number\" == typeof windowRef.distance) return assertExists(\"parent\", function(win, n) {\n void 0 === n && (n = 1);\n return function(win, n) {\n void 0 === n && (n = 1);\n var parent = win;\n for (var i = 0; i < n; i++) {\n if (!parent) return;\n parent = utils_getParent(parent);\n }\n return parent;\n }(win, getDistanceFromTop(win) - n);\n }(window, windowRef.distance));\n if (\"global\" === windowRef.type && windowRef.uid && \"string\" == typeof windowRef.uid) {\n var uid = windowRef.uid;\n var ancestor = getAncestor(window);\n if (!ancestor) throw new Error(\"Can not find ancestor window\");\n for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(ancestor); _i2 < _getAllFramesInWindow2.length; _i2++) {\n var frame = _getAllFramesInWindow2[_i2];\n if (isSameDomain(frame)) {\n var win = tryGlobal(frame, (function(global) {\n return global.windows && global.windows[uid];\n }));\n if (win) return win;\n }\n }\n } else if (\"name\" === windowRef.type) {\n var name = windowRef.name;\n return assertExists(\"namedWindow\", function(win, name) {\n return getFrameByName(win, name) || function findChildFrameByName(win, name) {\n var frame = getFrameByName(win, name);\n if (frame) return frame;\n for (var _i11 = 0, _getFrames4 = getFrames(win); _i11 < _getFrames4.length; _i11++) {\n var namedFrame = findChildFrameByName(_getFrames4[_i11], name);\n if (namedFrame) return namedFrame;\n }\n }(getTop(win) || win, name);\n }(assertExists(\"ancestor\", getAncestor(window)), name));\n }\n throw new Error(\"Unable to find \" + windowRef.type + \" parent component window\");\n }(_ref2.metaData.windowRef);\n }\n }\n });\n return {\n parent: _crossDomainDeseriali.sender,\n payload: _crossDomainDeseriali.data,\n reference: _crossDomainDeseriali.reference\n };\n }));\n function getInitialParentPayload() {\n return parseInitialParentPayload(window.name);\n }\n function window_getWindowRef(targetWindow, currentWindow) {\n void 0 === currentWindow && (currentWindow = window);\n if (targetWindow === utils_getParent(currentWindow)) return {\n type: \"parent\",\n distance: getDistanceFromTop(targetWindow)\n };\n if (targetWindow === getOpener(currentWindow)) return {\n type: \"opener\"\n };\n if (isSameDomain(targetWindow) && !(win = targetWindow, win === getTop(win))) {\n var windowName = assertSameDomain(targetWindow).name;\n if (windowName) return {\n type: \"name\",\n name: windowName\n };\n }\n var win;\n }\n function normalizeChildProp(propsDef, props, key, value, helpers) {\n if (!propsDef.hasOwnProperty(key)) return value;\n var prop = propsDef[key];\n return \"function\" == typeof prop.childDecorate ? prop.childDecorate({\n value: value,\n uid: helpers.uid,\n tag: helpers.tag,\n close: helpers.close,\n focus: helpers.focus,\n onError: helpers.onError,\n onProps: helpers.onProps,\n resize: helpers.resize,\n getParent: helpers.getParent,\n getParentDomain: helpers.getParentDomain,\n show: helpers.show,\n hide: helpers.hide,\n export: helpers.export,\n getSiblings: helpers.getSiblings\n }) : value;\n }\n function child_focus() {\n return promise_ZalgoPromise.try((function() {\n window.focus();\n }));\n }\n function child_destroy() {\n return promise_ZalgoPromise.try((function() {\n window.close();\n }));\n }\n var props_defaultNoop = function() {\n return src_util_noop;\n };\n var props_decorateOnce = function(_ref) {\n return once(_ref.value);\n };\n function eachProp(props, propsDef, handler) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(_extends({}, props, propsDef)); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n handler(key, propsDef[key], props[key]);\n }\n }\n function serializeProps(propsDef, props, method) {\n var params = {};\n return promise_ZalgoPromise.all(function(props, propsDef, handler) {\n var results = [];\n eachProp(props, propsDef, (function(key, propDef, value) {\n var result = function(key, propDef, value) {\n return promise_ZalgoPromise.resolve().then((function() {\n var _METHOD$GET$METHOD$PO, _METHOD$GET$METHOD$PO2;\n if (null != value && propDef) {\n var getParam = (_METHOD$GET$METHOD$PO = {}, _METHOD$GET$METHOD$PO.get = propDef.queryParam, \n _METHOD$GET$METHOD$PO.post = propDef.bodyParam, _METHOD$GET$METHOD$PO)[method];\n var getValue = (_METHOD$GET$METHOD$PO2 = {}, _METHOD$GET$METHOD$PO2.get = propDef.queryValue, \n _METHOD$GET$METHOD$PO2.post = propDef.bodyValue, _METHOD$GET$METHOD$PO2)[method];\n if (getParam) return promise_ZalgoPromise.hash({\n finalParam: promise_ZalgoPromise.try((function() {\n return \"function\" == typeof getParam ? getParam({\n value: value\n }) : \"string\" == typeof getParam ? getParam : key;\n })),\n finalValue: promise_ZalgoPromise.try((function() {\n return \"function\" == typeof getValue && isDefined(value) ? getValue({\n value: value\n }) : value;\n }))\n }).then((function(_ref) {\n var finalParam = _ref.finalParam, finalValue = _ref.finalValue;\n var result;\n if (\"boolean\" == typeof finalValue) result = finalValue.toString(); else if (\"string\" == typeof finalValue) result = finalValue.toString(); else if (\"object\" == typeof finalValue && null !== finalValue) {\n if (propDef.serialization === PROP_SERIALIZATION.JSON) result = JSON.stringify(finalValue); else if (propDef.serialization === PROP_SERIALIZATION.BASE64) result = base64encode(JSON.stringify(finalValue)); else if (propDef.serialization === PROP_SERIALIZATION.DOTIFY || !propDef.serialization) {\n result = function dotify(obj, prefix, newobj) {\n void 0 === prefix && (prefix = \"\");\n void 0 === newobj && (newobj = {});\n prefix = prefix ? prefix + \".\" : prefix;\n for (var key in obj) obj.hasOwnProperty(key) && null != obj[key] && \"function\" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every((function(val) {\n return \"object\" != typeof val;\n })) ? newobj[\"\" + prefix + key + \"[]\"] = obj[key].join(\",\") : obj[key] && \"object\" == typeof obj[key] ? newobj = dotify(obj[key], \"\" + prefix + key, newobj) : newobj[\"\" + prefix + key] = obj[key].toString());\n return newobj;\n }(finalValue, key);\n for (var _i2 = 0, _Object$keys2 = Object.keys(result); _i2 < _Object$keys2.length; _i2++) {\n var dotkey = _Object$keys2[_i2];\n params[dotkey] = result[dotkey];\n }\n return;\n }\n } else \"number\" == typeof finalValue && (result = finalValue.toString());\n params[finalParam] = result;\n }));\n }\n }));\n }(key, propDef, value);\n results.push(result);\n }));\n return results;\n }(props, propsDef)).then((function() {\n return params;\n }));\n }\n function parentComponent(_ref) {\n var uid = _ref.uid, options = _ref.options, _ref$overrides = _ref.overrides, overrides = void 0 === _ref$overrides ? {} : _ref$overrides, _ref$parentWin = _ref.parentWin, parentWin = void 0 === _ref$parentWin ? window : _ref$parentWin;\n var propsDef = options.propsDef, containerTemplate = options.containerTemplate, prerenderTemplate = options.prerenderTemplate, tag = options.tag, name = options.name, attributes = options.attributes, dimensions = options.dimensions, autoResize = options.autoResize, url = options.url, domainMatch = options.domain, xports = options.exports;\n var initPromise = new promise_ZalgoPromise;\n var handledErrors = [];\n var clean = cleanup();\n var state = {};\n var inputProps = {};\n var internalState = {\n visible: !0\n };\n var event = overrides.event ? overrides.event : (triggered = {}, handlers = {}, \n emitter = {\n on: function(eventName, handler) {\n var handlerList = handlers[eventName] = handlers[eventName] || [];\n handlerList.push(handler);\n var cancelled = !1;\n return {\n cancel: function() {\n if (!cancelled) {\n cancelled = !0;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n }\n };\n },\n once: function(eventName, handler) {\n var listener = emitter.on(eventName, (function() {\n listener.cancel();\n handler();\n }));\n return listener;\n },\n trigger: function(eventName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n var handlerList = handlers[eventName];\n var promises = [];\n if (handlerList) {\n var _loop = function() {\n var handler = handlerList[_i2];\n promises.push(promise_ZalgoPromise.try((function() {\n return handler.apply(void 0, args);\n })));\n };\n for (var _i2 = 0; _i2 < handlerList.length; _i2++) _loop();\n }\n return promise_ZalgoPromise.all(promises).then(src_util_noop);\n },\n triggerOnce: function(eventName) {\n if (triggered[eventName]) return promise_ZalgoPromise.resolve();\n triggered[eventName] = !0;\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) args[_key4 - 1] = arguments[_key4];\n return emitter.trigger.apply(emitter, [ eventName ].concat(args));\n },\n reset: function() {\n handlers = {};\n }\n });\n var triggered, handlers, emitter;\n var props = overrides.props ? overrides.props : {};\n var currentProxyWin;\n var currentProxyContainer;\n var childComponent;\n var currentChildDomain;\n var currentContainer;\n var isRenderFinished = !1;\n var onErrorOverride = overrides.onError;\n var getProxyContainerOverride = overrides.getProxyContainer;\n var showOverride = overrides.show;\n var hideOverride = overrides.hide;\n var closeOverride = overrides.close;\n var renderContainerOverride = overrides.renderContainer;\n var getProxyWindowOverride = overrides.getProxyWindow;\n var setProxyWinOverride = overrides.setProxyWin;\n var openFrameOverride = overrides.openFrame;\n var openPrerenderFrameOverride = overrides.openPrerenderFrame;\n var prerenderOverride = overrides.prerender;\n var openOverride = overrides.open;\n var openPrerenderOverride = overrides.openPrerender;\n var watchForUnloadOverride = overrides.watchForUnload;\n var getInternalStateOverride = overrides.getInternalState;\n var setInternalStateOverride = overrides.setInternalState;\n var getDimensions = function() {\n return \"function\" == typeof dimensions ? dimensions({\n props: props\n }) : dimensions;\n };\n var resolveInitPromise = function() {\n return promise_ZalgoPromise.try((function() {\n return overrides.resolveInitPromise ? overrides.resolveInitPromise() : initPromise.resolve();\n }));\n };\n var rejectInitPromise = function(err) {\n return promise_ZalgoPromise.try((function() {\n return overrides.rejectInitPromise ? overrides.rejectInitPromise(err) : initPromise.reject(err);\n }));\n };\n var getPropsForChild = function(initialChildDomain) {\n var result = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var prop = propsDef[key];\n if (!prop || !1 !== prop.sendToChild) {\n var trustedChild = prop && prop.trustedDomains && prop.trustedDomains.length > 0 ? prop.trustedDomains.reduce((function(acc, val) {\n return acc || matchDomain(val, initialChildDomain);\n }), !1) : matchDomain(initialChildDomain, getDomain(window));\n prop && prop.sameDomain && !trustedChild || prop && prop.trustedDomains && !trustedChild || (result[key] = props[key]);\n }\n }\n return promise_ZalgoPromise.hash(result);\n };\n var getInternalState = function() {\n return promise_ZalgoPromise.try((function() {\n return getInternalStateOverride ? getInternalStateOverride() : internalState;\n }));\n };\n var setInternalState = function(newInternalState) {\n return promise_ZalgoPromise.try((function() {\n return setInternalStateOverride ? setInternalStateOverride(newInternalState) : internalState = _extends({}, internalState, newInternalState);\n }));\n };\n var getProxyWindow = function() {\n return getProxyWindowOverride ? getProxyWindowOverride() : promise_ZalgoPromise.try((function() {\n var windowProp = props.window;\n if (windowProp) {\n var _proxyWin = setup_toProxyWindow(windowProp);\n clean.register((function() {\n return windowProp.close();\n }));\n return _proxyWin;\n }\n return new window_ProxyWindow({\n send: send_send\n });\n }));\n };\n var setProxyWin = function(proxyWin) {\n return setProxyWinOverride ? setProxyWinOverride(proxyWin) : promise_ZalgoPromise.try((function() {\n currentProxyWin = proxyWin;\n }));\n };\n var show = function() {\n return showOverride ? showOverride() : promise_ZalgoPromise.hash({\n setState: setInternalState({\n visible: !0\n }),\n showElement: currentProxyContainer ? currentProxyContainer.get().then(showElement) : null\n }).then(src_util_noop);\n };\n var hide = function() {\n return hideOverride ? hideOverride() : promise_ZalgoPromise.hash({\n setState: setInternalState({\n visible: !1\n }),\n showElement: currentProxyContainer ? currentProxyContainer.get().then(hideElement) : null\n }).then(src_util_noop);\n };\n var getUrl = function() {\n return \"function\" == typeof url ? url({\n props: props\n }) : url;\n };\n var getAttributes = function() {\n return \"function\" == typeof attributes ? attributes({\n props: props\n }) : attributes;\n };\n var getInitialChildDomain = function() {\n return getDomainFromUrl(getUrl());\n };\n var openFrame = function(context, _ref2) {\n var windowName = _ref2.windowName;\n return openFrameOverride ? openFrameOverride(context, {\n windowName: windowName\n }) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) return getProxyObject(dom_iframe({\n attributes: _extends({\n name: windowName,\n title: name\n }, getAttributes().iframe)\n }));\n }));\n };\n var openPrerenderFrame = function(context) {\n return openPrerenderFrameOverride ? openPrerenderFrameOverride(context) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) return getProxyObject(dom_iframe({\n attributes: _extends({\n name: \"__zoid_prerender_frame__\" + name + \"_\" + uniqueID() + \"__\",\n title: \"prerender__\" + name\n }, getAttributes().iframe)\n }));\n }));\n };\n var openPrerender = function(context, proxyWin, proxyPrerenderFrame) {\n return openPrerenderOverride ? openPrerenderOverride(context, proxyWin, proxyPrerenderFrame) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) {\n if (!proxyPrerenderFrame) throw new Error(\"Expected proxy frame to be passed\");\n return proxyPrerenderFrame.get().then((function(prerenderFrame) {\n clean.register((function() {\n return destroyElement(prerenderFrame);\n }));\n return awaitFrameWindow(prerenderFrame).then((function(prerenderFrameWindow) {\n return assertSameDomain(prerenderFrameWindow);\n })).then((function(win) {\n return setup_toProxyWindow(win);\n }));\n }));\n }\n if (context === CONTEXT.POPUP) return proxyWin;\n throw new Error(\"No render context available for \" + context);\n }));\n };\n var focus = function() {\n return promise_ZalgoPromise.try((function() {\n if (currentProxyWin) return promise_ZalgoPromise.all([ event.trigger(EVENT.FOCUS), currentProxyWin.focus() ]).then(src_util_noop);\n }));\n };\n var getCurrentWindowReferenceUID = function() {\n var global = lib_global_getGlobal(window);\n global.windows = global.windows || {};\n global.windows[uid] = window;\n clean.register((function() {\n delete global.windows[uid];\n }));\n return uid;\n };\n var getWindowRef = function(target, initialChildDomain, context, proxyWin) {\n if (initialChildDomain === getDomain(window)) return {\n type: \"global\",\n uid: getCurrentWindowReferenceUID()\n };\n if (target !== window) throw new Error(\"Can not construct cross-domain window reference for different target window\");\n if (props.window) {\n var actualComponentWindow = proxyWin.getWindow();\n if (!actualComponentWindow) throw new Error(\"Can not construct cross-domain window reference for lazy window prop\");\n if (getAncestor(actualComponentWindow) !== window) throw new Error(\"Can not construct cross-domain window reference for window prop with different ancestor\");\n }\n if (context === CONTEXT.POPUP) return {\n type: \"opener\"\n };\n if (context === CONTEXT.IFRAME) return {\n type: \"parent\",\n distance: getDistanceFromTop(window)\n };\n throw new Error(\"Can not construct window reference for child\");\n };\n var initChild = function(childDomain, childExports) {\n return promise_ZalgoPromise.try((function() {\n var _currentProxyWin;\n currentChildDomain = childDomain;\n childComponent = childExports;\n null == (_currentProxyWin = currentProxyWin) || _currentProxyWin.isPopup().then((function(isPopup) {\n if (\"\" !== (null == childExports ? void 0 : childExports.name) && isPopup) {\n var _currentProxyWin2;\n null == (_currentProxyWin2 = currentProxyWin) || _currentProxyWin2.setName(null == childExports ? void 0 : childExports.name);\n }\n })).finally((function() {\n resolveInitPromise();\n clean.register((function() {\n return childExports.close.fireAndForget().catch(src_util_noop);\n }));\n }));\n }));\n };\n var resize = function(_ref3) {\n var width = _ref3.width, height = _ref3.height;\n return promise_ZalgoPromise.try((function() {\n event.trigger(EVENT.RESIZE, {\n width: width,\n height: height\n });\n }));\n };\n var destroy = function(err) {\n return promise_ZalgoPromise.try((function() {\n return event.trigger(EVENT.DESTROY);\n })).catch(src_util_noop).then((function() {\n return clean.all(err);\n })).then((function() {\n var error = err || new Error(\"Component destroyed\");\n currentContainer && isElementClosed(currentContainer) || \"Window navigated away\" === error.message ? initPromise.resolve() : initPromise.asyncReject(error);\n }));\n };\n var close = memoize((function(err) {\n return promise_ZalgoPromise.try((function() {\n if (closeOverride) {\n if (isWindowClosed(closeOverride.__source__)) return;\n return closeOverride();\n }\n return promise_ZalgoPromise.try((function() {\n return event.trigger(EVENT.CLOSE);\n })).then((function() {\n return destroy(err || new Error(\"Component closed\"));\n }));\n }));\n }));\n var open = function(context, _ref4) {\n var proxyWin = _ref4.proxyWin, proxyFrame = _ref4.proxyFrame, windowName = _ref4.windowName;\n return openOverride ? openOverride(context, {\n proxyWin: proxyWin,\n proxyFrame: proxyFrame,\n windowName: windowName\n }) : promise_ZalgoPromise.try((function() {\n if (context === CONTEXT.IFRAME) {\n if (!proxyFrame) throw new Error(\"Expected proxy frame to be passed\");\n return proxyFrame.get().then((function(frame) {\n return awaitFrameWindow(frame).then((function(win) {\n clean.register((function() {\n return destroyElement(frame);\n }));\n clean.register((function() {\n return cleanUpWindow(win);\n }));\n return win;\n }));\n }));\n }\n if (context === CONTEXT.POPUP) {\n var _getDimensions = getDimensions(), _getDimensions$width = _getDimensions.width, width = void 0 === _getDimensions$width ? \"300px\" : _getDimensions$width, _getDimensions$height = _getDimensions.height, height = void 0 === _getDimensions$height ? \"150px\" : _getDimensions$height;\n width = normalizeDimension(width, window.outerWidth);\n height = normalizeDimension(height, window.outerWidth);\n var win = function(url, options) {\n var _options$closeOnUnloa = (options = options || {}).closeOnUnload, closeOnUnload = void 0 === _options$closeOnUnloa ? 1 : _options$closeOnUnloa, _options$name = options.name, name = void 0 === _options$name ? \"\" : _options$name, width = options.width, height = options.height;\n var top = 0;\n var left = 0;\n width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));\n height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));\n delete options.closeOnUnload;\n delete options.name;\n width && height && (options = _extends({\n top: top,\n left: left,\n width: width,\n height: height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1\n }, options));\n var params = Object.keys(options).map((function(key) {\n if (null != options[key]) return key + \"=\" + stringify(options[key]);\n })).filter(Boolean).join(\",\");\n var win;\n try {\n win = window.open(\"\", name, params);\n } catch (err) {\n throw new dom_PopupOpenError(\"Can not open popup window - \" + (err.stack || err.message));\n }\n if (isWindowClosed(win)) {\n var err;\n throw new dom_PopupOpenError(\"Can not open popup window - blocked\");\n }\n closeOnUnload && window.addEventListener(\"unload\", (function() {\n return win.close();\n }));\n return win;\n }(0, _extends({\n name: windowName,\n width: width,\n height: height\n }, getAttributes().popup));\n clean.register((function() {\n return closeWindow(win);\n }));\n clean.register((function() {\n return cleanUpWindow(win);\n }));\n return win;\n }\n throw new Error(\"No render context available for \" + context);\n })).then((function(win) {\n proxyWin.setWindow(win, {\n send: send_send\n });\n return proxyWin.setName(windowName).then((function() {\n return proxyWin;\n }));\n }));\n };\n var watchForUnload = function() {\n return promise_ZalgoPromise.try((function() {\n var unloadWindowListener = addEventListener(window, \"unload\", once((function() {\n destroy(new Error(\"Window navigated away\"));\n })));\n var closeParentWindowListener = onCloseWindow(parentWin, destroy, 3e3);\n clean.register(closeParentWindowListener.cancel);\n clean.register(unloadWindowListener.cancel);\n if (watchForUnloadOverride) return watchForUnloadOverride();\n }));\n };\n var checkWindowClose = function(proxyWin) {\n var closed = !1;\n return proxyWin.isClosed().then((function(isClosed) {\n if (isClosed) {\n closed = !0;\n return close(new Error(\"Detected component window close\"));\n }\n return promise_ZalgoPromise.delay(200).then((function() {\n return proxyWin.isClosed();\n })).then((function(secondIsClosed) {\n if (secondIsClosed) {\n closed = !0;\n return close(new Error(\"Detected component window close\"));\n }\n }));\n })).then((function() {\n return closed;\n }));\n };\n var onError = function(err) {\n return onErrorOverride ? onErrorOverride(err) : promise_ZalgoPromise.try((function() {\n if (-1 === handledErrors.indexOf(err)) {\n handledErrors.push(err);\n initPromise.asyncReject(err);\n return event.trigger(EVENT.ERROR, err);\n }\n }));\n };\n var exportsPromise = new promise_ZalgoPromise;\n var xport = function(actualExports) {\n return promise_ZalgoPromise.try((function() {\n exportsPromise.resolve(actualExports);\n }));\n };\n initChild.onError = onError;\n var renderTemplate = function(renderer, _ref8) {\n return renderer({\n uid: uid,\n container: _ref8.container,\n context: _ref8.context,\n doc: _ref8.doc,\n frame: _ref8.frame,\n prerenderFrame: _ref8.prerenderFrame,\n focus: focus,\n close: close,\n state: state,\n props: props,\n tag: tag,\n dimensions: getDimensions(),\n event: event\n });\n };\n var prerender = function(proxyPrerenderWin, _ref9) {\n var context = _ref9.context;\n return prerenderOverride ? prerenderOverride(proxyPrerenderWin, {\n context: context\n }) : promise_ZalgoPromise.try((function() {\n if (prerenderTemplate) {\n event.trigger(EVENT.PRERENDER);\n var prerenderWindow = proxyPrerenderWin.getWindow();\n if (prerenderWindow && isSameDomain(prerenderWindow) && function(win) {\n try {\n if (!win.location.href) return !0;\n if (\"about:blank\" === win.location.href) return !0;\n } catch (err) {}\n return !1;\n }(prerenderWindow)) {\n var doc = (prerenderWindow = assertSameDomain(prerenderWindow)).document;\n var el = renderTemplate(prerenderTemplate, {\n context: context,\n doc: doc\n });\n if (el) {\n if (el.ownerDocument !== doc) throw new Error(\"Expected prerender template to have been created with document from child window\");\n !function(win, el) {\n var tag = el.tagName.toLowerCase();\n if (\"html\" !== tag) throw new Error(\"Expected element to be html, got \" + tag);\n var documentElement = win.document.documentElement;\n for (var _i6 = 0, _arrayFrom2 = arrayFrom(documentElement.children); _i6 < _arrayFrom2.length; _i6++) documentElement.removeChild(_arrayFrom2[_i6]);\n for (var _i8 = 0, _arrayFrom4 = arrayFrom(el.children); _i8 < _arrayFrom4.length; _i8++) documentElement.appendChild(_arrayFrom4[_i8]);\n }(prerenderWindow, el);\n var _autoResize$width = autoResize.width, width = void 0 !== _autoResize$width && _autoResize$width, _autoResize$height = autoResize.height, height = void 0 !== _autoResize$height && _autoResize$height, _autoResize$element = autoResize.element, element = void 0 === _autoResize$element ? \"body\" : _autoResize$element;\n if ((element = getElementSafe(element, doc)) && (width || height)) {\n var prerenderResizeListener = onResize(element, (function(_ref10) {\n resize({\n width: width ? _ref10.width : void 0,\n height: height ? _ref10.height : void 0\n });\n }), {\n width: width,\n height: height,\n win: prerenderWindow\n });\n event.on(EVENT.RENDERED, prerenderResizeListener.cancel);\n }\n event.trigger(EVENT.PRERENDERED);\n }\n }\n }\n }));\n };\n var renderContainer = function(proxyContainer, _ref11) {\n var proxyFrame = _ref11.proxyFrame, proxyPrerenderFrame = _ref11.proxyPrerenderFrame, context = _ref11.context, rerender = _ref11.rerender;\n return renderContainerOverride ? renderContainerOverride(proxyContainer, {\n proxyFrame: proxyFrame,\n proxyPrerenderFrame: proxyPrerenderFrame,\n context: context,\n rerender: rerender\n }) : promise_ZalgoPromise.hash({\n container: proxyContainer.get(),\n frame: proxyFrame ? proxyFrame.get() : null,\n prerenderFrame: proxyPrerenderFrame ? proxyPrerenderFrame.get() : null,\n internalState: getInternalState()\n }).then((function(_ref12) {\n var container = _ref12.container, visible = _ref12.internalState.visible;\n var innerContainer = renderTemplate(containerTemplate, {\n context: context,\n container: container,\n frame: _ref12.frame,\n prerenderFrame: _ref12.prerenderFrame,\n doc: document\n });\n if (innerContainer) {\n visible || hideElement(innerContainer);\n appendChild(container, innerContainer);\n var containerWatcher = function(element, handler) {\n handler = once(handler);\n var cancelled = !1;\n var mutationObservers = [];\n var interval;\n var sacrificialFrame;\n var sacrificialFrameWin;\n var cancel = function() {\n cancelled = !0;\n for (var _i18 = 0; _i18 < mutationObservers.length; _i18++) mutationObservers[_i18].disconnect();\n interval && interval.cancel();\n sacrificialFrameWin && sacrificialFrameWin.removeEventListener(\"unload\", elementClosed);\n sacrificialFrame && destroyElement(sacrificialFrame);\n };\n var elementClosed = function() {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n if (isElementClosed(element)) {\n elementClosed();\n return {\n cancel: cancel\n };\n }\n if (window.MutationObserver) {\n var mutationElement = element.parentElement;\n for (;mutationElement; ) {\n var mutationObserver = new window.MutationObserver((function() {\n isElementClosed(element) && elementClosed();\n }));\n mutationObserver.observe(mutationElement, {\n childList: !0\n });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n (sacrificialFrame = document.createElement(\"iframe\")).setAttribute(\"name\", \"__detect_close_\" + uniqueID() + \"__\");\n sacrificialFrame.style.display = \"none\";\n awaitFrameWindow(sacrificialFrame).then((function(frameWin) {\n (sacrificialFrameWin = assertSameDomain(frameWin)).addEventListener(\"unload\", elementClosed);\n }));\n element.appendChild(sacrificialFrame);\n interval = safeInterval((function() {\n isElementClosed(element) && elementClosed();\n }), 1e3);\n return {\n cancel: cancel\n };\n }(innerContainer, (function() {\n var removeError = new Error(\"Detected container element removed from DOM\");\n return promise_ZalgoPromise.delay(1).then((function() {\n if (!isElementClosed(innerContainer)) {\n clean.all(removeError);\n return rerender().then(resolveInitPromise, rejectInitPromise);\n }\n close(removeError);\n }));\n }));\n clean.register((function() {\n return containerWatcher.cancel();\n }));\n clean.register((function() {\n return destroyElement(innerContainer);\n }));\n return currentProxyContainer = getProxyObject(innerContainer);\n }\n }));\n };\n var getHelpers = function() {\n return {\n state: state,\n event: event,\n close: close,\n focus: focus,\n resize: resize,\n onError: onError,\n updateProps: updateProps,\n show: show,\n hide: hide\n };\n };\n var setProps = function(newInputProps) {\n void 0 === newInputProps && (newInputProps = {});\n var container = currentContainer;\n var helpers = getHelpers();\n extend(inputProps, newInputProps);\n !function(propsDef, existingProps, inputProps, helpers, container) {\n var state = helpers.state, close = helpers.close, focus = helpers.focus, event = helpers.event, onError = helpers.onError;\n eachProp(inputProps, propsDef, (function(key, propDef, val) {\n var valueDetermined = !1;\n var value = val;\n Object.defineProperty(existingProps, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n if (valueDetermined) return value;\n valueDetermined = !0;\n return function() {\n if (!propDef) return value;\n var alias = propDef.alias;\n alias && !isDefined(val) && isDefined(inputProps[alias]) && (value = inputProps[alias]);\n propDef.value && (value = propDef.value({\n props: existingProps,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError,\n container: container\n }));\n !propDef.default || isDefined(value) || isDefined(inputProps[key]) || (value = propDef.default({\n props: existingProps,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError,\n container: container\n }));\n if (isDefined(value)) {\n if (propDef.type === PROP_TYPE.ARRAY ? !Array.isArray(value) : typeof value !== propDef.type) throw new TypeError(\"Prop is not of type \" + propDef.type + \": \" + key);\n } else if (!1 !== propDef.required && !isDefined(inputProps[key])) throw new Error('Expected prop \"' + key + '\" to be defined');\n isDefined(value) && propDef.decorate && (value = propDef.decorate({\n value: value,\n props: existingProps,\n state: state,\n close: close,\n focus: focus,\n event: event,\n onError: onError,\n container: container\n }));\n return value;\n }();\n }\n });\n }));\n eachProp(existingProps, propsDef, src_util_noop);\n }(propsDef, props, inputProps, helpers, container);\n };\n var updateProps = function(newProps) {\n setProps(newProps);\n return initPromise.then((function() {\n var child = childComponent;\n var proxyWin = currentProxyWin;\n if (child && proxyWin && currentChildDomain) return getPropsForChild(currentChildDomain).then((function(childProps) {\n return child.updateProps(childProps).catch((function(err) {\n return checkWindowClose(proxyWin).then((function(closed) {\n if (!closed) throw err;\n }));\n }));\n }));\n }));\n };\n var getProxyContainer = function(container) {\n return getProxyContainerOverride ? getProxyContainerOverride(container) : promise_ZalgoPromise.try((function() {\n return elementReady(container);\n })).then((function(containerElement) {\n isShadowElement(containerElement) && (containerElement = function insertShadowSlot(element) {\n var shadowHost = function(element) {\n var shadowRoot = function(element) {\n for (;element.parentNode; ) element = element.parentNode;\n if (isShadowElement(element)) return element;\n }(element);\n if (shadowRoot && shadowRoot.host) return shadowRoot.host;\n }(element);\n if (!shadowHost) throw new Error(\"Element is not in shadow dom\");\n var slotName = \"shadow-slot-\" + uniqueID();\n var slot = document.createElement(\"slot\");\n slot.setAttribute(\"name\", slotName);\n element.appendChild(slot);\n var slotProvider = document.createElement(\"div\");\n slotProvider.setAttribute(\"slot\", slotName);\n shadowHost.appendChild(slotProvider);\n return isShadowElement(shadowHost) ? insertShadowSlot(slotProvider) : slotProvider;\n }(containerElement));\n currentContainer = containerElement;\n return getProxyObject(containerElement);\n }));\n };\n return {\n init: function() {\n !function() {\n event.on(EVENT.RENDER, (function() {\n return props.onRender();\n }));\n event.on(EVENT.PRERENDER, (function() {\n return props.onPrerender();\n }));\n event.on(EVENT.DISPLAY, (function() {\n return props.onDisplay();\n }));\n event.on(EVENT.RENDERED, (function() {\n return props.onRendered();\n }));\n event.on(EVENT.PRERENDERED, (function() {\n return props.onPrerendered();\n }));\n event.on(EVENT.CLOSE, (function() {\n return props.onClose();\n }));\n event.on(EVENT.DESTROY, (function() {\n return props.onDestroy();\n }));\n event.on(EVENT.RESIZE, (function() {\n return props.onResize();\n }));\n event.on(EVENT.FOCUS, (function() {\n return props.onFocus();\n }));\n event.on(EVENT.PROPS, (function(newProps) {\n return props.onProps(newProps);\n }));\n event.on(EVENT.ERROR, (function(err) {\n return props && props.onError ? props.onError(err) : rejectInitPromise(err).then((function() {\n setTimeout((function() {\n throw err;\n }), 1);\n }));\n }));\n clean.register(event.reset);\n }();\n },\n render: function(_ref14) {\n var target = _ref14.target, container = _ref14.container, context = _ref14.context, rerender = _ref14.rerender;\n return promise_ZalgoPromise.try((function() {\n var initialChildDomain = getInitialChildDomain();\n var childDomainMatch = domainMatch || getInitialChildDomain();\n !function(target, childDomainMatch, container) {\n if (target !== window) {\n if (!isSameTopWindow(window, target)) throw new Error(\"Can only renderTo an adjacent frame\");\n var origin = getDomain();\n if (!matchDomain(childDomainMatch, origin) && !isSameDomain(target)) throw new Error(\"Can not render remotely to \" + childDomainMatch.toString() + \" - can only render to \" + origin);\n if (container && \"string\" != typeof container) throw new Error(\"Container passed to renderTo must be a string selector, got \" + typeof container + \" }\");\n }\n }(target, childDomainMatch, container);\n var delegatePromise = promise_ZalgoPromise.try((function() {\n if (target !== window) return function(context, target) {\n var delegateProps = {};\n for (var _i4 = 0, _Object$keys4 = Object.keys(props); _i4 < _Object$keys4.length; _i4++) {\n var propName = _Object$keys4[_i4];\n var propDef = propsDef[propName];\n propDef && propDef.allowDelegate && (delegateProps[propName] = props[propName]);\n }\n var childOverridesPromise = send_send(target, \"zoid_delegate_\" + name, {\n uid: uid,\n overrides: {\n props: delegateProps,\n event: event,\n close: close,\n onError: onError,\n getInternalState: getInternalState,\n setInternalState: setInternalState,\n resolveInitPromise: resolveInitPromise,\n rejectInitPromise: rejectInitPromise\n }\n }).then((function(_ref13) {\n var parentComp = _ref13.data.parent;\n clean.register((function(err) {\n if (!isWindowClosed(target)) return parentComp.destroy(err);\n }));\n return parentComp.getDelegateOverrides();\n })).catch((function(err) {\n throw new Error(\"Unable to delegate rendering. Possibly the component is not loaded in the target window.\\n\\n\" + stringifyError(err));\n }));\n getProxyContainerOverride = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.getProxyContainer.apply(childOverrides, args);\n }));\n };\n renderContainerOverride = function() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.renderContainer.apply(childOverrides, args);\n }));\n };\n showOverride = function() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) args[_key3] = arguments[_key3];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.show.apply(childOverrides, args);\n }));\n };\n hideOverride = function() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.hide.apply(childOverrides, args);\n }));\n };\n watchForUnloadOverride = function() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) args[_key5] = arguments[_key5];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.watchForUnload.apply(childOverrides, args);\n }));\n };\n if (context === CONTEXT.IFRAME) {\n getProxyWindowOverride = function() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) args[_key6] = arguments[_key6];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.getProxyWindow.apply(childOverrides, args);\n }));\n };\n openFrameOverride = function() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) args[_key7] = arguments[_key7];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openFrame.apply(childOverrides, args);\n }));\n };\n openPrerenderFrameOverride = function() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) args[_key8] = arguments[_key8];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openPrerenderFrame.apply(childOverrides, args);\n }));\n };\n prerenderOverride = function() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) args[_key9] = arguments[_key9];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.prerender.apply(childOverrides, args);\n }));\n };\n openOverride = function() {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) args[_key10] = arguments[_key10];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.open.apply(childOverrides, args);\n }));\n };\n openPrerenderOverride = function() {\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) args[_key11] = arguments[_key11];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.openPrerender.apply(childOverrides, args);\n }));\n };\n } else context === CONTEXT.POPUP && (setProxyWinOverride = function() {\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) args[_key12] = arguments[_key12];\n return childOverridesPromise.then((function(childOverrides) {\n return childOverrides.setProxyWin.apply(childOverrides, args);\n }));\n });\n return childOverridesPromise;\n }(context, target);\n }));\n var windowProp = props.window;\n var watchForUnloadPromise = watchForUnload();\n var buildBodyPromise = serializeProps(propsDef, props, \"post\");\n var onRenderPromise = event.trigger(EVENT.RENDER);\n var getProxyContainerPromise = getProxyContainer(container);\n var getProxyWindowPromise = getProxyWindow();\n var finalSetPropsPromise = getProxyContainerPromise.then((function() {\n return setProps();\n }));\n var buildUrlPromise = finalSetPropsPromise.then((function() {\n return serializeProps(propsDef, props, \"get\").then((function(query) {\n return function(url, options) {\n var query = options.query || {};\n var hash = options.hash || {};\n var originalUrl;\n var originalHash;\n var _url$split = url.split(\"#\");\n originalHash = _url$split[1];\n var _originalUrl$split = (originalUrl = _url$split[0]).split(\"?\");\n originalUrl = _originalUrl$split[0];\n var queryString = extendQuery(_originalUrl$split[1], query);\n var hashString = extendQuery(originalHash, hash);\n queryString && (originalUrl = originalUrl + \"?\" + queryString);\n hashString && (originalUrl = originalUrl + \"#\" + hashString);\n return originalUrl;\n }(normalizeMockUrl(getUrl()), {\n query: query\n });\n }));\n }));\n var buildWindowNamePromise = getProxyWindowPromise.then((function(proxyWin) {\n return function(_temp2) {\n var _ref6 = void 0 === _temp2 ? {} : _temp2, proxyWin = _ref6.proxyWin, initialChildDomain = _ref6.initialChildDomain, childDomainMatch = _ref6.childDomainMatch, _ref6$target = _ref6.target, target = void 0 === _ref6$target ? window : _ref6$target, context = _ref6.context;\n return function(_temp) {\n var _ref5 = void 0 === _temp ? {} : _temp, proxyWin = _ref5.proxyWin, childDomainMatch = _ref5.childDomainMatch, context = _ref5.context;\n return getPropsForChild(_ref5.initialChildDomain).then((function(childProps) {\n return {\n uid: uid,\n context: context,\n tag: tag,\n childDomainMatch: childDomainMatch,\n version: \"10_3_3\",\n props: childProps,\n exports: (win = proxyWin, {\n init: function(childExports) {\n return initChild(this.origin, childExports);\n },\n close: close,\n checkClose: function() {\n return checkWindowClose(win);\n },\n resize: resize,\n onError: onError,\n show: show,\n hide: hide,\n export: xport\n })\n };\n var win;\n }));\n }({\n proxyWin: proxyWin,\n initialChildDomain: initialChildDomain,\n childDomainMatch: childDomainMatch,\n context: context\n }).then((function(childPayload) {\n var _crossDomainSerialize = crossDomainSerialize({\n data: childPayload,\n metaData: {\n windowRef: getWindowRef(target, initialChildDomain, context, proxyWin)\n },\n sender: {\n domain: getDomain(window)\n },\n receiver: {\n win: proxyWin,\n domain: childDomainMatch\n },\n passByReference: initialChildDomain === getDomain()\n }), serializedData = _crossDomainSerialize.serializedData;\n clean.register(_crossDomainSerialize.cleanReference);\n return serializedData;\n }));\n }({\n proxyWin: (_ref7 = {\n proxyWin: proxyWin,\n initialChildDomain: initialChildDomain,\n childDomainMatch: childDomainMatch,\n target: target,\n context: context\n }).proxyWin,\n initialChildDomain: _ref7.initialChildDomain,\n childDomainMatch: _ref7.childDomainMatch,\n target: _ref7.target,\n context: _ref7.context\n }).then((function(serializedPayload) {\n return buildChildWindowName({\n name: name,\n serializedPayload: serializedPayload\n });\n }));\n var _ref7;\n }));\n var openFramePromise = buildWindowNamePromise.then((function(windowName) {\n return openFrame(context, {\n windowName: windowName\n });\n }));\n var openPrerenderFramePromise = openPrerenderFrame(context);\n var renderContainerPromise = promise_ZalgoPromise.hash({\n proxyContainer: getProxyContainerPromise,\n proxyFrame: openFramePromise,\n proxyPrerenderFrame: openPrerenderFramePromise\n }).then((function(_ref15) {\n return renderContainer(_ref15.proxyContainer, {\n context: context,\n proxyFrame: _ref15.proxyFrame,\n proxyPrerenderFrame: _ref15.proxyPrerenderFrame,\n rerender: rerender\n });\n })).then((function(proxyContainer) {\n return proxyContainer;\n }));\n var openPromise = promise_ZalgoPromise.hash({\n windowName: buildWindowNamePromise,\n proxyFrame: openFramePromise,\n proxyWin: getProxyWindowPromise\n }).then((function(_ref16) {\n var proxyWin = _ref16.proxyWin;\n return windowProp ? proxyWin : open(context, {\n windowName: _ref16.windowName,\n proxyWin: proxyWin,\n proxyFrame: _ref16.proxyFrame\n });\n }));\n var openPrerenderPromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n proxyPrerenderFrame: openPrerenderFramePromise\n }).then((function(_ref17) {\n return openPrerender(context, _ref17.proxyWin, _ref17.proxyPrerenderFrame);\n }));\n var setStatePromise = openPromise.then((function(proxyWin) {\n currentProxyWin = proxyWin;\n return setProxyWin(proxyWin);\n }));\n var prerenderPromise = promise_ZalgoPromise.hash({\n proxyPrerenderWin: openPrerenderPromise,\n state: setStatePromise\n }).then((function(_ref18) {\n return prerender(_ref18.proxyPrerenderWin, {\n context: context\n });\n }));\n var setWindowNamePromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n windowName: buildWindowNamePromise\n }).then((function(_ref19) {\n if (windowProp) return _ref19.proxyWin.setName(_ref19.windowName);\n }));\n var getMethodPromise = promise_ZalgoPromise.hash({\n body: buildBodyPromise\n }).then((function(_ref20) {\n return options.method ? options.method : Object.keys(_ref20.body).length ? \"post\" : \"get\";\n }));\n var loadUrlPromise = promise_ZalgoPromise.hash({\n proxyWin: openPromise,\n windowUrl: buildUrlPromise,\n body: buildBodyPromise,\n method: getMethodPromise,\n windowName: setWindowNamePromise,\n prerender: prerenderPromise\n }).then((function(_ref21) {\n return _ref21.proxyWin.setLocation(_ref21.windowUrl, {\n method: _ref21.method,\n body: _ref21.body\n });\n }));\n var watchForClosePromise = openPromise.then((function(proxyWin) {\n !function watchForClose(proxyWin, context) {\n var cancelled = !1;\n clean.register((function() {\n cancelled = !0;\n }));\n return promise_ZalgoPromise.delay(2e3).then((function() {\n return proxyWin.isClosed();\n })).then((function(isClosed) {\n if (!cancelled) {\n if (context === CONTEXT.POPUP && isClosed) return close(new Error(\"Detected popup close\"));\n var isCurrentContainerClosed = Boolean(currentContainer && isElementClosed(currentContainer));\n return context === CONTEXT.IFRAME && isClosed && (isCurrentContainerClosed || isRenderFinished) ? close(new Error(\"Detected iframe close\")) : watchForClose(proxyWin, context);\n }\n }));\n }(proxyWin, context);\n }));\n var onDisplayPromise = promise_ZalgoPromise.hash({\n container: renderContainerPromise,\n prerender: prerenderPromise\n }).then((function() {\n return event.trigger(EVENT.DISPLAY);\n }));\n var openBridgePromise = openPromise.then((function(proxyWin) {\n return function(proxyWin, initialChildDomain, context) {\n return promise_ZalgoPromise.try((function() {\n return proxyWin.awaitWindow();\n })).then((function(win) {\n if (src_bridge && src_bridge.needsBridge({\n win: win,\n domain: initialChildDomain\n }) && !src_bridge.hasBridge(initialChildDomain, initialChildDomain)) {\n var bridgeUrl = \"function\" == typeof options.bridgeUrl ? options.bridgeUrl({\n props: props\n }) : options.bridgeUrl;\n if (!bridgeUrl) throw new Error(\"Bridge needed to render \" + context);\n var bridgeDomain = getDomainFromUrl(bridgeUrl);\n src_bridge.linkUrl(win, initialChildDomain);\n return src_bridge.openBridge(normalizeMockUrl(bridgeUrl), bridgeDomain);\n }\n }));\n }(proxyWin, initialChildDomain, context);\n }));\n var runTimeoutPromise = loadUrlPromise.then((function() {\n return promise_ZalgoPromise.try((function() {\n var timeout = props.timeout;\n if (timeout) return initPromise.timeout(timeout, new Error(\"Loading component timed out after \" + timeout + \" milliseconds\"));\n }));\n }));\n var onRenderedPromise = initPromise.then((function() {\n isRenderFinished = !0;\n return event.trigger(EVENT.RENDERED);\n }));\n return promise_ZalgoPromise.hash({\n initPromise: initPromise,\n buildUrlPromise: buildUrlPromise,\n onRenderPromise: onRenderPromise,\n getProxyContainerPromise: getProxyContainerPromise,\n openFramePromise: openFramePromise,\n openPrerenderFramePromise: openPrerenderFramePromise,\n renderContainerPromise: renderContainerPromise,\n openPromise: openPromise,\n openPrerenderPromise: openPrerenderPromise,\n setStatePromise: setStatePromise,\n prerenderPromise: prerenderPromise,\n loadUrlPromise: loadUrlPromise,\n buildWindowNamePromise: buildWindowNamePromise,\n setWindowNamePromise: setWindowNamePromise,\n watchForClosePromise: watchForClosePromise,\n onDisplayPromise: onDisplayPromise,\n openBridgePromise: openBridgePromise,\n runTimeoutPromise: runTimeoutPromise,\n onRenderedPromise: onRenderedPromise,\n delegatePromise: delegatePromise,\n watchForUnloadPromise: watchForUnloadPromise,\n finalSetPropsPromise: finalSetPropsPromise\n });\n })).catch((function(err) {\n return promise_ZalgoPromise.all([ onError(err), destroy(err) ]).then((function() {\n throw err;\n }), (function() {\n throw err;\n }));\n })).then(src_util_noop);\n },\n destroy: destroy,\n getProps: function() {\n return props;\n },\n setProps: setProps,\n export: xport,\n getHelpers: getHelpers,\n getDelegateOverrides: function() {\n return promise_ZalgoPromise.try((function() {\n return {\n getProxyContainer: getProxyContainer,\n show: show,\n hide: hide,\n renderContainer: renderContainer,\n getProxyWindow: getProxyWindow,\n watchForUnload: watchForUnload,\n openFrame: openFrame,\n openPrerenderFrame: openPrerenderFrame,\n prerender: prerender,\n open: open,\n openPrerender: openPrerender,\n setProxyWin: setProxyWin\n };\n }));\n },\n getExports: function() {\n return xports({\n getExports: function() {\n return exportsPromise;\n }\n });\n }\n };\n }\n var react = {\n register: function(tag, propsDef, init, _ref) {\n var React = _ref.React, ReactDOM = _ref.ReactDOM;\n return function(_React$Component) {\n _inheritsLoose(_class, _React$Component);\n function _class() {\n return _React$Component.apply(this, arguments) || this;\n }\n var _proto = _class.prototype;\n _proto.render = function() {\n return React.createElement(\"div\", null);\n };\n _proto.componentDidMount = function() {\n var el = ReactDOM.findDOMNode(this);\n var parent = init(extend({}, this.props));\n parent.render(el, CONTEXT.IFRAME);\n this.setState({\n parent: parent\n });\n };\n _proto.componentDidUpdate = function() {\n this.state && this.state.parent && this.state.parent.updateProps(extend({}, this.props)).catch(src_util_noop);\n };\n return _class;\n }(React.Component);\n }\n };\n var vue = {\n register: function(tag, propsDef, init, Vue) {\n return Vue.component(tag, {\n render: function(createElement) {\n return createElement(\"div\");\n },\n inheritAttrs: !1,\n mounted: function() {\n var el = this.$el;\n this.parent = init(_extends({}, (props = this.$attrs, Object.keys(props).reduce((function(acc, key) {\n var value = props[key];\n if (\"style-object\" === key || \"styleObject\" === key) {\n acc.style = value;\n acc.styleObject = value;\n } else key.includes(\"-\") ? acc[dasherizeToCamel(key)] = value : acc[key] = value;\n return acc;\n }), {}))));\n var props;\n this.parent.render(el, CONTEXT.IFRAME);\n },\n watch: {\n $attrs: {\n handler: function() {\n this.parent && this.$attrs && this.parent.updateProps(_extends({}, this.$attrs)).catch(src_util_noop);\n },\n deep: !0\n }\n }\n });\n }\n };\n var vue3 = {\n register: function(tag, propsDef, init) {\n return {\n template: \"<div></div>\",\n inheritAttrs: !1,\n mounted: function() {\n var el = this.$el;\n this.parent = init(_extends({}, (props = this.$attrs, Object.keys(props).reduce((function(acc, key) {\n var value = props[key];\n if (\"style-object\" === key || \"styleObject\" === key) {\n acc.style = value;\n acc.styleObject = value;\n } else key.includes(\"-\") ? acc[dasherizeToCamel(key)] = value : acc[key] = value;\n return acc;\n }), {}))));\n var props;\n this.parent.render(el, CONTEXT.IFRAME);\n },\n watch: {\n $attrs: {\n handler: function() {\n this.parent && this.$attrs && this.parent.updateProps(_extends({}, this.$attrs)).catch(src_util_noop);\n },\n deep: !0\n }\n }\n };\n }\n };\n var angular = {\n register: function(tag, propsDef, init, ng) {\n return ng.module(tag, []).directive(dasherizeToCamel(tag), (function() {\n var scope = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(propsDef); _i2 < _Object$keys2.length; _i2++) scope[_Object$keys2[_i2]] = \"=\";\n scope.props = \"=\";\n return {\n scope: scope,\n restrict: \"E\",\n controller: [ \"$scope\", \"$element\", function($scope, $element) {\n function safeApply() {\n if (\"$apply\" !== $scope.$root.$$phase && \"$digest\" !== $scope.$root.$$phase) try {\n $scope.$apply();\n } catch (err) {}\n }\n var getProps = function() {\n return replaceObject($scope.props, (function(item) {\n return \"function\" == typeof item ? function() {\n var result = item.apply(this, arguments);\n safeApply();\n return result;\n } : item;\n }));\n };\n var instance = init(getProps());\n instance.render($element[0], CONTEXT.IFRAME);\n $scope.$watch((function() {\n instance.updateProps(getProps()).catch(src_util_noop);\n }));\n } ]\n };\n }));\n }\n };\n var angular2 = {\n register: function(tag, propsDef, init, _ref) {\n var AngularComponent = _ref.Component, NgModule = _ref.NgModule, ElementRef = _ref.ElementRef, NgZone = _ref.NgZone, Inject = _ref.Inject;\n var ComponentInstance = function() {\n function ComponentInstance(elementRef, zone) {\n this.elementRef = void 0;\n this.internalProps = void 0;\n this.parent = void 0;\n this.props = void 0;\n this.zone = void 0;\n this._props = void 0;\n this._props = {};\n this.elementRef = elementRef;\n this.zone = zone;\n }\n var _proto = ComponentInstance.prototype;\n _proto.getProps = function() {\n var _this = this;\n return replaceObject(_extends({}, this.internalProps, this.props), (function(item) {\n if (\"function\" == typeof item) {\n var zone = _this.zone;\n return function() {\n var _arguments = arguments, _this2 = this;\n return zone.run((function() {\n return item.apply(_this2, _arguments);\n }));\n };\n }\n return item;\n }));\n };\n _proto.ngOnInit = function() {\n var targetElement = this.elementRef.nativeElement;\n this.parent = init(this.getProps());\n this.parent.render(targetElement, CONTEXT.IFRAME);\n };\n _proto.ngDoCheck = function() {\n if (this.parent && !function(obj1, obj2) {\n var checked = {};\n for (var key in obj1) if (obj1.hasOwnProperty(key)) {\n checked[key] = !0;\n if (obj1[key] !== obj2[key]) return !1;\n }\n for (var _key in obj2) if (!checked[_key]) return !1;\n return !0;\n }(this._props, this.props)) {\n this._props = _extends({}, this.props);\n this.parent.updateProps(this.getProps());\n }\n };\n return ComponentInstance;\n }();\n ComponentInstance.annotations = void 0;\n ComponentInstance.parameters = void 0;\n ComponentInstance.parameters = [ [ new Inject(ElementRef) ], [ new Inject(NgZone) ] ];\n ComponentInstance.annotations = [ new AngularComponent({\n selector: tag,\n template: \"<div></div>\",\n inputs: [ \"props\" ]\n }) ];\n var ModuleInstance = function() {};\n ModuleInstance.annotations = void 0;\n ModuleInstance.annotations = [ new NgModule({\n declarations: [ ComponentInstance ],\n exports: [ ComponentInstance ]\n }) ];\n return ModuleInstance;\n }\n };\n function defaultContainerTemplate(_ref) {\n var uid = _ref.uid, frame = _ref.frame, prerenderFrame = _ref.prerenderFrame, doc = _ref.doc, props = _ref.props, event = _ref.event, dimensions = _ref.dimensions;\n var width = dimensions.width, height = dimensions.height;\n if (frame && prerenderFrame) {\n var div = doc.createElement(\"div\");\n div.setAttribute(\"id\", uid);\n var style = doc.createElement(\"style\");\n props.cspNonce && style.setAttribute(\"nonce\", props.cspNonce);\n style.appendChild(doc.createTextNode(\"\\n #\" + uid + \" {\\n display: inline-block;\\n position: relative;\\n width: \" + width + \";\\n height: \" + height + \";\\n }\\n\\n #\" + uid + \" > iframe {\\n display: inline-block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n transition: opacity .2s ease-in-out;\\n }\\n\\n #\" + uid + \" > iframe.zoid-invisible {\\n opacity: 0;\\n }\\n\\n #\" + uid + \" > iframe.zoid-visible {\\n opacity: 1;\\n }\\n \"));\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n prerenderFrame.classList.add(\"zoid-visible\");\n frame.classList.add(\"zoid-invisible\");\n event.on(EVENT.RENDERED, (function() {\n prerenderFrame.classList.remove(\"zoid-visible\");\n prerenderFrame.classList.add(\"zoid-invisible\");\n frame.classList.remove(\"zoid-invisible\");\n frame.classList.add(\"zoid-visible\");\n setTimeout((function() {\n destroyElement(prerenderFrame);\n }), 1);\n }));\n event.on(EVENT.RESIZE, (function(_ref2) {\n var newWidth = _ref2.width, newHeight = _ref2.height;\n \"number\" == typeof newWidth && (div.style.width = toCSS(newWidth));\n \"number\" == typeof newHeight && (div.style.height = toCSS(newHeight));\n }));\n return div;\n }\n }\n function defaultPrerenderTemplate(_ref) {\n var doc = _ref.doc, props = _ref.props;\n var html = doc.createElement(\"html\");\n var body = doc.createElement(\"body\");\n var style = doc.createElement(\"style\");\n var spinner = doc.createElement(\"div\");\n spinner.classList.add(\"spinner\");\n props.cspNonce && style.setAttribute(\"nonce\", props.cspNonce);\n html.appendChild(body);\n body.appendChild(spinner);\n body.appendChild(style);\n style.appendChild(doc.createTextNode(\"\\n html, body {\\n width: 100%;\\n height: 100%;\\n }\\n\\n .spinner {\\n position: fixed;\\n max-height: 60vmin;\\n max-width: 60vmin;\\n height: 40px;\\n width: 40px;\\n top: 50%;\\n left: 50%;\\n box-sizing: border-box;\\n border: 3px solid rgba(0, 0, 0, .2);\\n border-top-color: rgba(33, 128, 192, 0.8);\\n border-radius: 100%;\\n animation: rotation .7s infinite linear;\\n }\\n\\n @keyframes rotation {\\n from {\\n transform: translateX(-50%) translateY(-50%) rotate(0deg);\\n }\\n to {\\n transform: translateX(-50%) translateY(-50%) rotate(359deg);\\n }\\n }\\n \"));\n return html;\n }\n var cleanInstances = cleanup();\n var cleanZoid = cleanup();\n function component(opts) {\n var options = function(options) {\n var tag = options.tag, url = options.url, domain = options.domain, bridgeUrl = options.bridgeUrl, _options$props = options.props, props = void 0 === _options$props ? {} : _options$props, _options$dimensions = options.dimensions, dimensions = void 0 === _options$dimensions ? {} : _options$dimensions, _options$autoResize = options.autoResize, autoResize = void 0 === _options$autoResize ? {} : _options$autoResize, _options$allowedParen = options.allowedParentDomains, allowedParentDomains = void 0 === _options$allowedParen ? \"*\" : _options$allowedParen, _options$attributes = options.attributes, attributes = void 0 === _options$attributes ? {} : _options$attributes, _options$defaultConte = options.defaultContext, defaultContext = void 0 === _options$defaultConte ? CONTEXT.IFRAME : _options$defaultConte, _options$containerTem = options.containerTemplate, containerTemplate = void 0 === _options$containerTem ? defaultContainerTemplate : _options$containerTem, _options$prerenderTem = options.prerenderTemplate, prerenderTemplate = void 0 === _options$prerenderTem ? defaultPrerenderTemplate : _options$prerenderTem, validate = options.validate, _options$eligible = options.eligible, eligible = void 0 === _options$eligible ? function() {\n return {\n eligible: !0\n };\n } : _options$eligible, _options$logger = options.logger, logger = void 0 === _options$logger ? {\n info: src_util_noop\n } : _options$logger, _options$exports = options.exports, xportsDefinition = void 0 === _options$exports ? src_util_noop : _options$exports, method = options.method, _options$children = options.children, children = void 0 === _options$children ? function() {\n return {};\n } : _options$children;\n var name = tag.replace(/-/g, \"_\");\n var propsDef = _extends({}, {\n window: {\n type: PROP_TYPE.OBJECT,\n sendToChild: !1,\n required: !1,\n allowDelegate: !0,\n validate: function(_ref2) {\n var value = _ref2.value;\n if (!isWindow(value) && !window_ProxyWindow.isProxyWindow(value)) throw new Error(\"Expected Window or ProxyWindow\");\n if (isWindow(value)) {\n if (isWindowClosed(value)) throw new Error(\"Window is closed\");\n if (!isSameDomain(value)) throw new Error(\"Window is not same domain\");\n }\n },\n decorate: function(_ref3) {\n return setup_toProxyWindow(_ref3.value);\n }\n },\n timeout: {\n type: PROP_TYPE.NUMBER,\n required: !1,\n sendToChild: !1\n },\n cspNonce: {\n type: PROP_TYPE.STRING,\n required: !1\n },\n onDisplay: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onRendered: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onRender: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onPrerendered: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onPrerender: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onClose: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onDestroy: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop,\n decorate: props_decorateOnce\n },\n onResize: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop\n },\n onFocus: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n allowDelegate: !0,\n default: props_defaultNoop\n },\n close: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref4) {\n return _ref4.close;\n }\n },\n focus: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref5) {\n return _ref5.focus;\n }\n },\n resize: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref6) {\n return _ref6.resize;\n }\n },\n uid: {\n type: PROP_TYPE.STRING,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref7) {\n return _ref7.uid;\n }\n },\n tag: {\n type: PROP_TYPE.STRING,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref8) {\n return _ref8.tag;\n }\n },\n getParent: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref9) {\n return _ref9.getParent;\n }\n },\n getParentDomain: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref10) {\n return _ref10.getParentDomain;\n }\n },\n show: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref11) {\n return _ref11.show;\n }\n },\n hide: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref12) {\n return _ref12.hide;\n }\n },\n export: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref13) {\n return _ref13.export;\n }\n },\n onError: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref14) {\n return _ref14.onError;\n }\n },\n onProps: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref15) {\n return _ref15.onProps;\n }\n },\n getSiblings: {\n type: PROP_TYPE.FUNCTION,\n required: !1,\n sendToChild: !1,\n childDecorate: function(_ref16) {\n return _ref16.getSiblings;\n }\n }\n }, props);\n if (!containerTemplate) throw new Error(\"Container template required\");\n return {\n name: name,\n tag: tag,\n url: url,\n domain: domain,\n bridgeUrl: bridgeUrl,\n method: method,\n propsDef: propsDef,\n dimensions: dimensions,\n autoResize: autoResize,\n allowedParentDomains: allowedParentDomains,\n attributes: attributes,\n defaultContext: defaultContext,\n containerTemplate: containerTemplate,\n prerenderTemplate: prerenderTemplate,\n validate: validate,\n logger: logger,\n eligible: eligible,\n children: children,\n exports: \"function\" == typeof xportsDefinition ? xportsDefinition : function(_ref) {\n var getExports = _ref.getExports;\n var result = {};\n var _loop = function() {\n var key = _Object$keys2[_i2];\n var type = xportsDefinition[key].type;\n var valuePromise = getExports().then((function(res) {\n return res[key];\n }));\n result[key] = type === PROP_TYPE.FUNCTION ? function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n return valuePromise.then((function(value) {\n return value.apply(void 0, args);\n }));\n } : valuePromise;\n };\n for (var _i2 = 0, _Object$keys2 = Object.keys(xportsDefinition); _i2 < _Object$keys2.length; _i2++) _loop();\n return result;\n }\n };\n }(opts);\n var name = options.name, tag = options.tag, defaultContext = options.defaultContext, propsDef = options.propsDef, eligible = options.eligible, children = options.children;\n var global = lib_global_getGlobal(window);\n var driverCache = {};\n var instances = [];\n var isChild = function() {\n if (function(name) {\n try {\n return parseWindowName(window.name).name === name;\n } catch (err) {}\n return !1;\n }(name)) {\n var _payload = getInitialParentPayload().payload;\n if (_payload.tag === tag && matchDomain(_payload.childDomainMatch, getDomain())) return !0;\n }\n return !1;\n };\n var registerChild = memoize((function() {\n if (isChild()) {\n if (window.xprops) {\n delete global.components[tag];\n throw new Error(\"Can not register \" + name + \" as child - child already registered\");\n }\n var child = function(options) {\n var tag = options.tag, propsDef = options.propsDef, autoResize = options.autoResize, allowedParentDomains = options.allowedParentDomains;\n var onPropHandlers = [];\n var _getInitialParentPayl = getInitialParentPayload(), parent = _getInitialParentPayl.parent, payload = _getInitialParentPayl.payload;\n var parentComponentWindow = parent.win, parentDomain = parent.domain;\n var props;\n var exportsPromise = new promise_ZalgoPromise;\n var version = payload.version, uid = payload.uid, parentExports = payload.exports, context = payload.context, initialProps = payload.props;\n if (!function(version1, version2) {\n if (!/_/.test(version1) || !/_/.test(\"10_3_3\")) throw new Error(\"Versions are in an invalid format (\" + version1 + \", 10_3_3)\");\n return version1.split(\"_\")[0] === \"10_3_3\".split(\"_\")[0];\n }(version)) throw new Error(\"Parent window has zoid version \" + version + \", child window has version 10_3_3\");\n var show = parentExports.show, hide = parentExports.hide, close = parentExports.close, onError = parentExports.onError, checkClose = parentExports.checkClose, parentExport = parentExports.export, parentResize = parentExports.resize, parentInit = parentExports.init;\n var getParent = function() {\n return parentComponentWindow;\n };\n var getParentDomain = function() {\n return parentDomain;\n };\n var onProps = function(handler) {\n onPropHandlers.push(handler);\n return {\n cancel: function() {\n onPropHandlers.splice(onPropHandlers.indexOf(handler), 1);\n }\n };\n };\n var resize = function(_ref) {\n return parentResize.fireAndForget({\n width: _ref.width,\n height: _ref.height\n });\n };\n var xport = function(xports) {\n exportsPromise.resolve(xports);\n return parentExport(xports);\n };\n var getSiblings = function(_temp) {\n var anyParent = (void 0 === _temp ? {} : _temp).anyParent;\n var result = [];\n var currentParent = props.parent;\n void 0 === anyParent && (anyParent = !currentParent);\n if (!anyParent && !currentParent) throw new Error(\"No parent found for \" + tag + \" child\");\n for (var _i2 = 0, _getAllFramesInWindow2 = getAllFramesInWindow(window); _i2 < _getAllFramesInWindow2.length; _i2++) {\n var win = _getAllFramesInWindow2[_i2];\n if (isSameDomain(win)) {\n var xprops = assertSameDomain(win).xprops;\n if (xprops && getParent() === xprops.getParent()) {\n var winParent = xprops.parent;\n if (anyParent || !currentParent || winParent && winParent.uid === currentParent.uid) {\n var xports = tryGlobal(win, (function(global) {\n return global.exports;\n }));\n result.push({\n props: xprops,\n exports: xports\n });\n }\n }\n }\n }\n return result;\n };\n var setProps = function(newProps, origin, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var normalizedProps = function(parentComponentWindow, propsDef, props, origin, helpers, isUpdate) {\n void 0 === isUpdate && (isUpdate = !1);\n var result = {};\n for (var _i2 = 0, _Object$keys2 = Object.keys(props); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var prop = propsDef[key];\n var trustedChild = prop && prop.trustedDomains && prop.trustedDomains.length > 0 ? prop.trustedDomains.reduce((function(acc, val) {\n return acc || matchDomain(val, getDomain(window));\n }), !1) : origin === getDomain(window) || isSameDomain(parentComponentWindow);\n if ((!prop || !prop.sameDomain || trustedChild) && (!prop || !prop.trustedDomains || trustedChild)) {\n var value = normalizeChildProp(propsDef, 0, key, props[key], helpers);\n result[key] = value;\n prop && prop.alias && !result[prop.alias] && (result[prop.alias] = value);\n }\n }\n if (!isUpdate) for (var _i4 = 0, _Object$keys4 = Object.keys(propsDef); _i4 < _Object$keys4.length; _i4++) {\n var _key = _Object$keys4[_i4];\n props.hasOwnProperty(_key) || (result[_key] = normalizeChildProp(propsDef, 0, _key, void 0, helpers));\n }\n return result;\n }(parentComponentWindow, propsDef, newProps, origin, {\n tag: tag,\n show: show,\n hide: hide,\n close: close,\n focus: child_focus,\n onError: onError,\n resize: resize,\n getSiblings: getSiblings,\n onProps: onProps,\n getParent: getParent,\n getParentDomain: getParentDomain,\n uid: uid,\n export: xport\n }, isUpdate);\n props ? extend(props, normalizedProps) : props = normalizedProps;\n for (var _i4 = 0; _i4 < onPropHandlers.length; _i4++) (0, onPropHandlers[_i4])(props);\n };\n var updateProps = function(newProps) {\n return promise_ZalgoPromise.try((function() {\n return setProps(newProps, parentDomain, !0);\n }));\n };\n return {\n init: function() {\n return promise_ZalgoPromise.try((function() {\n var updatedChildName = \"\";\n isSameDomain(parentComponentWindow) && (updatedChildName = function(_ref3) {\n var componentName = _ref3.componentName, parentComponentWindow = _ref3.parentComponentWindow;\n var _crossDomainDeseriali2 = crossDomainDeserialize({\n data: parseWindowName(window.name).serializedInitialPayload,\n sender: {\n win: parentComponentWindow\n },\n basic: !0\n }), sender = _crossDomainDeseriali2.sender;\n if (\"uid\" === _crossDomainDeseriali2.reference.type || \"global\" === _crossDomainDeseriali2.metaData.windowRef.type) {\n var childWindowName = buildChildWindowName({\n name: componentName,\n serializedPayload: crossDomainSerialize({\n data: _crossDomainDeseriali2.data,\n metaData: {\n windowRef: window_getWindowRef(parentComponentWindow)\n },\n sender: {\n domain: sender.domain\n },\n receiver: {\n win: window,\n domain: getDomain()\n },\n basic: !0\n }).serializedData\n });\n window.name = childWindowName;\n return childWindowName;\n }\n }({\n componentName: options.name,\n parentComponentWindow: parentComponentWindow\n }) || \"\");\n lib_global_getGlobal(window).exports = options.exports({\n getExports: function() {\n return exportsPromise;\n }\n });\n !function(allowedParentDomains, domain) {\n if (!matchDomain(allowedParentDomains, domain)) throw new Error(\"Can not be rendered by domain: \" + domain);\n }(allowedParentDomains, parentDomain);\n markWindowKnown(parentComponentWindow);\n !function() {\n window.addEventListener(\"beforeunload\", (function() {\n checkClose.fireAndForget();\n }));\n window.addEventListener(\"unload\", (function() {\n checkClose.fireAndForget();\n }));\n onCloseWindow(parentComponentWindow, (function() {\n child_destroy();\n }));\n }();\n return parentInit({\n name: updatedChildName,\n updateProps: updateProps,\n close: child_destroy\n });\n })).then((function() {\n return (_autoResize$width = autoResize.width, width = void 0 !== _autoResize$width && _autoResize$width, \n _autoResize$height = autoResize.height, height = void 0 !== _autoResize$height && _autoResize$height, \n _autoResize$element = autoResize.element, elementReady(void 0 === _autoResize$element ? \"body\" : _autoResize$element).catch(src_util_noop).then((function(element) {\n return {\n width: width,\n height: height,\n element: element\n };\n }))).then((function(_ref3) {\n var width = _ref3.width, height = _ref3.height, element = _ref3.element;\n element && (width || height) && context !== CONTEXT.POPUP && onResize(element, (function(_ref4) {\n resize({\n width: width ? _ref4.width : void 0,\n height: height ? _ref4.height : void 0\n });\n }), {\n width: width,\n height: height\n });\n }));\n var _autoResize$width, width, _autoResize$height, height, _autoResize$element;\n })).catch((function(err) {\n onError(err);\n }));\n },\n getProps: function() {\n if (props) return props;\n setProps(initialProps, parentDomain);\n return props;\n }\n };\n }(options);\n child.init();\n return child;\n }\n }));\n var init = function init(inputProps) {\n var instance;\n var uid = \"zoid-\" + tag + \"-\" + uniqueID();\n var props = inputProps || {};\n var _eligible = eligible({\n props: props\n }), eligibility = _eligible.eligible, reason = _eligible.reason;\n var onDestroy = props.onDestroy;\n props.onDestroy = function() {\n instance && eligibility && instances.splice(instances.indexOf(instance), 1);\n if (onDestroy) return onDestroy.apply(void 0, arguments);\n };\n var parent = parentComponent({\n uid: uid,\n options: options\n });\n parent.init();\n eligibility ? parent.setProps(props) : props.onDestroy && props.onDestroy();\n cleanInstances.register((function(err) {\n return parent.destroy(err || new Error(\"zoid destroyed all components\"));\n }));\n var clone = function(_temp) {\n var _ref4$decorate = (void 0 === _temp ? {} : _temp).decorate;\n return init((void 0 === _ref4$decorate ? identity : _ref4$decorate)(props));\n };\n var _render = function(target, container, context) {\n return promise_ZalgoPromise.try((function() {\n if (!eligibility) {\n var err = new Error(reason || name + \" component is not eligible\");\n return parent.destroy(err).then((function() {\n throw err;\n }));\n }\n if (!isWindow(target)) throw new Error(\"Must pass window to renderTo\");\n return function(props, context) {\n return promise_ZalgoPromise.try((function() {\n if (props.window) return setup_toProxyWindow(props.window).getType();\n if (context) {\n if (context !== CONTEXT.IFRAME && context !== CONTEXT.POPUP) throw new Error(\"Unrecognized context: \" + context);\n return context;\n }\n return defaultContext;\n }));\n }(props, context);\n })).then((function(finalContext) {\n container = function(context, container) {\n if (container) {\n if (\"string\" != typeof container && !isElement(container)) throw new TypeError(\"Expected string or element selector to be passed\");\n return container;\n }\n if (context === CONTEXT.POPUP) return \"body\";\n throw new Error(\"Expected element to be passed to render iframe\");\n }(finalContext, container);\n if (target !== window && \"string\" != typeof container) throw new Error(\"Must pass string element when rendering to another window\");\n return parent.render({\n target: target,\n container: container,\n context: finalContext,\n rerender: function() {\n var newInstance = clone();\n extend(instance, newInstance);\n return newInstance.renderTo(target, container, context);\n }\n });\n })).catch((function(err) {\n return parent.destroy(err).then((function() {\n throw err;\n }));\n }));\n };\n instance = _extends({}, parent.getExports(), parent.getHelpers(), function() {\n var childComponents = children();\n var result = {};\n var _loop2 = function() {\n var childName = _Object$keys4[_i4];\n var Child = childComponents[childName];\n result[childName] = function(childInputProps) {\n var parentProps = parent.getProps();\n var childProps = _extends({}, childInputProps, {\n parent: {\n uid: uid,\n props: parentProps,\n export: parent.export\n }\n });\n return Child(childProps);\n };\n };\n for (var _i4 = 0, _Object$keys4 = Object.keys(childComponents); _i4 < _Object$keys4.length; _i4++) _loop2();\n return result;\n }(), {\n isEligible: function() {\n return eligibility;\n },\n clone: clone,\n render: function(container, context) {\n return _render(window, container, context);\n },\n renderTo: function(target, container, context) {\n return _render(target, container, context);\n }\n });\n eligibility && instances.push(instance);\n return instance;\n };\n registerChild();\n !function() {\n var allowDelegateListener = on_on(\"zoid_allow_delegate_\" + name, (function() {\n return !0;\n }));\n var delegateListener = on_on(\"zoid_delegate_\" + name, (function(_ref2) {\n var _ref2$data = _ref2.data;\n return {\n parent: parentComponent({\n uid: _ref2$data.uid,\n options: options,\n overrides: _ref2$data.overrides,\n parentWin: _ref2.source\n })\n };\n }));\n cleanZoid.register(allowDelegateListener.cancel);\n cleanZoid.register(delegateListener.cancel);\n }();\n global.components = global.components || {};\n if (global.components[tag]) throw new Error(\"Can not register multiple components with the same tag: \" + tag);\n global.components[tag] = !0;\n return {\n init: init,\n instances: instances,\n driver: function(driverName, dep) {\n var drivers = {\n react: react,\n angular: angular,\n vue: vue,\n vue3: vue3,\n angular2: angular2\n };\n if (!drivers[driverName]) throw new Error(\"Could not find driver for framework: \" + driverName);\n driverCache[driverName] || (driverCache[driverName] = drivers[driverName].register(tag, propsDef, init, dep));\n return driverCache[driverName];\n },\n isChild: isChild,\n canRenderTo: function(win) {\n return send_send(win, \"zoid_allow_delegate_\" + name).then((function(_ref3) {\n return _ref3.data;\n })).catch((function() {\n return !1;\n }));\n },\n registerChild: registerChild\n };\n }\n var component_create = function(options) {\n !function() {\n if (!global_getGlobal().initialized) {\n global_getGlobal().initialized = !0;\n on = (_ref3 = {\n on: on_on,\n send: send_send\n }).on, send = _ref3.send, (global = global_getGlobal()).receiveMessage = global.receiveMessage || function(message) {\n return receive_receiveMessage(message, {\n on: on,\n send: send\n });\n };\n !function(_ref5) {\n var on = _ref5.on, send = _ref5.send;\n globalStore().getOrSet(\"postMessageListener\", (function() {\n return addEventListener(window, \"message\", (function(event) {\n !function(event, _ref4) {\n var on = _ref4.on, send = _ref4.send;\n promise_ZalgoPromise.try((function() {\n var source = event.source || event.sourceElement;\n var origin = event.origin || event.originalEvent && event.originalEvent.origin;\n var data = event.data;\n \"null\" === origin && (origin = \"file://\");\n if (source) {\n if (!origin) throw new Error(\"Post message did not have origin domain\");\n receive_receiveMessage({\n source: source,\n origin: origin,\n data: data\n }, {\n on: on,\n send: send\n });\n }\n }));\n }(event, {\n on: on,\n send: send\n });\n }));\n }));\n }({\n on: on_on,\n send: send_send\n });\n setupBridge({\n on: on_on,\n send: send_send,\n receiveMessage: receive_receiveMessage\n });\n !function(_ref8) {\n var on = _ref8.on, send = _ref8.send;\n globalStore(\"builtinListeners\").getOrSet(\"helloListener\", (function() {\n var listener = on(\"postrobot_hello\", {\n domain: \"*\"\n }, (function(_ref3) {\n resolveHelloPromise(_ref3.source, {\n domain: _ref3.origin\n });\n return {\n instanceID: getInstanceID()\n };\n }));\n var parent = getAncestor();\n parent && sayHello(parent, {\n send: send\n }).catch((function(err) {}));\n return listener;\n }));\n }({\n on: on_on,\n send: send_send\n });\n }\n var _ref3, on, send, global;\n }();\n var comp = component(options);\n var init = function(props) {\n return comp.init(props);\n };\n init.driver = function(name, dep) {\n return comp.driver(name, dep);\n };\n init.isChild = function() {\n return comp.isChild();\n };\n init.canRenderTo = function(win) {\n return comp.canRenderTo(win);\n };\n init.instances = comp.instances;\n var child = comp.registerChild();\n child && (window.xprops = init.xprops = child.getProps());\n return init;\n };\n function destroyComponents(err) {\n src_bridge && src_bridge.destroyBridges();\n var destroyPromise = cleanInstances.all(err);\n cleanInstances = cleanup();\n return destroyPromise;\n }\n var destroyAll = destroyComponents;\n function component_destroy(err) {\n destroyAll();\n delete window.__zoid_10_3_3__;\n !function() {\n !function() {\n var responseListeners = globalStore(\"responseListeners\");\n for (var _i2 = 0, _responseListeners$ke2 = responseListeners.keys(); _i2 < _responseListeners$ke2.length; _i2++) {\n var hash = _responseListeners$ke2[_i2];\n var listener = responseListeners.get(hash);\n listener && (listener.cancelled = !0);\n responseListeners.del(hash);\n }\n }();\n (listener = globalStore().get(\"postMessageListener\")) && listener.cancel();\n var listener;\n delete window.__post_robot_11_0_0__;\n }();\n return cleanZoid.all(err);\n }\n } ]);\n}));","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory() : \"function\" == typeof define && define.amd ? define(\"belter\", [], factory) : \"object\" == typeof exports ? exports.belter = factory() : root.belter = factory();\n}(\"undefined\" != typeof self ? self : this, (function() {\n return function(modules) {\n var installedModules = {};\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n module.l = !0;\n return module.exports;\n }\n __webpack_require__.m = modules;\n __webpack_require__.c = installedModules;\n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n enumerable: !0,\n get: getter\n });\n };\n __webpack_require__.r = function(exports) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {\n value: \"Module\"\n });\n Object.defineProperty(exports, \"__esModule\", {\n value: !0\n });\n };\n __webpack_require__.t = function(value, mode) {\n 1 & mode && (value = __webpack_require__(value));\n if (8 & mode) return value;\n if (4 & mode && \"object\" == typeof value && value && value.__esModule) return value;\n var ns = Object.create(null);\n __webpack_require__.r(ns);\n Object.defineProperty(ns, \"default\", {\n enumerable: !0,\n value: value\n });\n if (2 & mode && \"string\" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {\n return value[key];\n }.bind(null, key));\n return ns;\n };\n __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n __webpack_require__.d(getter, \"a\", getter);\n return getter;\n };\n __webpack_require__.o = function(object, property) {\n return {}.hasOwnProperty.call(object, property);\n };\n __webpack_require__.p = \"\";\n return __webpack_require__(__webpack_require__.s = 0);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n __webpack_require__.r(__webpack_exports__);\n __webpack_require__.d(__webpack_exports__, \"getUserAgent\", (function() {\n return getUserAgent;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDevice\", (function() {\n return isDevice;\n }));\n __webpack_require__.d(__webpack_exports__, \"isWebView\", (function() {\n return isWebView;\n }));\n __webpack_require__.d(__webpack_exports__, \"isStandAlone\", (function() {\n return isStandAlone;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFacebookWebView\", (function() {\n return isFacebookWebView;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFirefoxIOS\", (function() {\n return isFirefoxIOS;\n }));\n __webpack_require__.d(__webpack_exports__, \"isEdgeIOS\", (function() {\n return isEdgeIOS;\n }));\n __webpack_require__.d(__webpack_exports__, \"isOperaMini\", (function() {\n return isOperaMini;\n }));\n __webpack_require__.d(__webpack_exports__, \"isAndroid\", (function() {\n return isAndroid;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIos\", (function() {\n return isIos;\n }));\n __webpack_require__.d(__webpack_exports__, \"isGoogleSearchApp\", (function() {\n return isGoogleSearchApp;\n }));\n __webpack_require__.d(__webpack_exports__, \"isQQBrowser\", (function() {\n return isQQBrowser;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIosWebview\", (function() {\n return isIosWebview;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSFVC\", (function() {\n return isSFVC;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSFVCorSafari\", (function() {\n return isSFVCorSafari;\n }));\n __webpack_require__.d(__webpack_exports__, \"isAndroidWebview\", (function() {\n return isAndroidWebview;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIE\", (function() {\n return device_isIE;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIECompHeader\", (function() {\n return isIECompHeader;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElectron\", (function() {\n return isElectron;\n }));\n __webpack_require__.d(__webpack_exports__, \"isIEIntranet\", (function() {\n return isIEIntranet;\n }));\n __webpack_require__.d(__webpack_exports__, \"isMacOsCna\", (function() {\n return isMacOsCna;\n }));\n __webpack_require__.d(__webpack_exports__, \"supportsPopups\", (function() {\n return supportsPopups;\n }));\n __webpack_require__.d(__webpack_exports__, \"isChrome\", (function() {\n return isChrome;\n }));\n __webpack_require__.d(__webpack_exports__, \"isSafari\", (function() {\n return isSafari;\n }));\n __webpack_require__.d(__webpack_exports__, \"isApplePaySupported\", (function() {\n return isApplePaySupported;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDocumentReady\", (function() {\n return isDocumentReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDocumentInteractive\", (function() {\n return isDocumentInteractive;\n }));\n __webpack_require__.d(__webpack_exports__, \"urlEncode\", (function() {\n return urlEncode;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForWindowReady\", (function() {\n return waitForWindowReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForDocumentReady\", (function() {\n return waitForDocumentReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"waitForDocumentBody\", (function() {\n return waitForDocumentBody;\n }));\n __webpack_require__.d(__webpack_exports__, \"parseQuery\", (function() {\n return parseQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"getQueryParam\", (function() {\n return getQueryParam;\n }));\n __webpack_require__.d(__webpack_exports__, \"urlWillRedirectPage\", (function() {\n return urlWillRedirectPage;\n }));\n __webpack_require__.d(__webpack_exports__, \"formatQuery\", (function() {\n return formatQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"extendQuery\", (function() {\n return extendQuery;\n }));\n __webpack_require__.d(__webpack_exports__, \"extendUrl\", (function() {\n return extendUrl;\n }));\n __webpack_require__.d(__webpack_exports__, \"redirect\", (function() {\n return redirect;\n }));\n __webpack_require__.d(__webpack_exports__, \"hasMetaViewPort\", (function() {\n return hasMetaViewPort;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElementVisible\", (function() {\n return isElementVisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"getPerformance\", (function() {\n return getPerformance;\n }));\n __webpack_require__.d(__webpack_exports__, \"enablePerformance\", (function() {\n return enablePerformance;\n }));\n __webpack_require__.d(__webpack_exports__, \"getPageRenderTime\", (function() {\n return getPageRenderTime;\n }));\n __webpack_require__.d(__webpack_exports__, \"htmlEncode\", (function() {\n return htmlEncode;\n }));\n __webpack_require__.d(__webpack_exports__, \"isBrowser\", (function() {\n return dom_isBrowser;\n }));\n __webpack_require__.d(__webpack_exports__, \"querySelectorAll\", (function() {\n return querySelectorAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"onClick\", (function() {\n return onClick;\n }));\n __webpack_require__.d(__webpack_exports__, \"getScript\", (function() {\n return getScript;\n }));\n __webpack_require__.d(__webpack_exports__, \"isLocalStorageEnabled\", (function() {\n return isLocalStorageEnabled;\n }));\n __webpack_require__.d(__webpack_exports__, \"getBrowserLocales\", (function() {\n return getBrowserLocales;\n }));\n __webpack_require__.d(__webpack_exports__, \"appendChild\", (function() {\n return appendChild;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElement\", (function() {\n return isElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"getElementSafe\", (function() {\n return getElementSafe;\n }));\n __webpack_require__.d(__webpack_exports__, \"getElement\", (function() {\n return getElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"elementReady\", (function() {\n return elementReady;\n }));\n __webpack_require__.d(__webpack_exports__, \"PopupOpenError\", (function() {\n return dom_PopupOpenError;\n }));\n __webpack_require__.d(__webpack_exports__, \"popup\", (function() {\n return popup;\n }));\n __webpack_require__.d(__webpack_exports__, \"writeToWindow\", (function() {\n return writeToWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"writeElementToWindow\", (function() {\n return writeElementToWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"setStyle\", (function() {\n return setStyle;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitFrameLoad\", (function() {\n return awaitFrameLoad;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitFrameWindow\", (function() {\n return awaitFrameWindow;\n }));\n __webpack_require__.d(__webpack_exports__, \"createElement\", (function() {\n return createElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"iframe\", (function() {\n return iframe;\n }));\n __webpack_require__.d(__webpack_exports__, \"addEventListener\", (function() {\n return addEventListener;\n }));\n __webpack_require__.d(__webpack_exports__, \"bindEvents\", (function() {\n return bindEvents;\n }));\n __webpack_require__.d(__webpack_exports__, \"setVendorCSS\", (function() {\n return setVendorCSS;\n }));\n __webpack_require__.d(__webpack_exports__, \"animate\", (function() {\n return animate;\n }));\n __webpack_require__.d(__webpack_exports__, \"makeElementVisible\", (function() {\n return makeElementVisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"makeElementInvisible\", (function() {\n return makeElementInvisible;\n }));\n __webpack_require__.d(__webpack_exports__, \"showElement\", (function() {\n return showElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"hideElement\", (function() {\n return hideElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"destroyElement\", (function() {\n return destroyElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"showAndAnimate\", (function() {\n return showAndAnimate;\n }));\n __webpack_require__.d(__webpack_exports__, \"animateAndHide\", (function() {\n return animateAndHide;\n }));\n __webpack_require__.d(__webpack_exports__, \"addClass\", (function() {\n return addClass;\n }));\n __webpack_require__.d(__webpack_exports__, \"removeClass\", (function() {\n return removeClass;\n }));\n __webpack_require__.d(__webpack_exports__, \"isElementClosed\", (function() {\n return isElementClosed;\n }));\n __webpack_require__.d(__webpack_exports__, \"watchElementForClose\", (function() {\n return watchElementForClose;\n }));\n __webpack_require__.d(__webpack_exports__, \"fixScripts\", (function() {\n return fixScripts;\n }));\n __webpack_require__.d(__webpack_exports__, \"onResize\", (function() {\n return onResize;\n }));\n __webpack_require__.d(__webpack_exports__, \"getResourceLoadTime\", (function() {\n return getResourceLoadTime;\n }));\n __webpack_require__.d(__webpack_exports__, \"isShadowElement\", (function() {\n return isShadowElement;\n }));\n __webpack_require__.d(__webpack_exports__, \"getShadowRoot\", (function() {\n return getShadowRoot;\n }));\n __webpack_require__.d(__webpack_exports__, \"getShadowHost\", (function() {\n return getShadowHost;\n }));\n __webpack_require__.d(__webpack_exports__, \"insertShadowSlot\", (function() {\n return insertShadowSlot;\n }));\n __webpack_require__.d(__webpack_exports__, \"preventClickFocus\", (function() {\n return preventClickFocus;\n }));\n __webpack_require__.d(__webpack_exports__, \"getStackTrace\", (function() {\n return getStackTrace;\n }));\n __webpack_require__.d(__webpack_exports__, \"getCurrentScript\", (function() {\n return getCurrentScript;\n }));\n __webpack_require__.d(__webpack_exports__, \"getCurrentScriptUID\", (function() {\n return getCurrentScriptUID;\n }));\n __webpack_require__.d(__webpack_exports__, \"experiment\", (function() {\n return experiment;\n }));\n __webpack_require__.d(__webpack_exports__, \"getGlobalNameSpace\", (function() {\n return getGlobalNameSpace;\n }));\n __webpack_require__.d(__webpack_exports__, \"getStorage\", (function() {\n return getStorage;\n }));\n __webpack_require__.d(__webpack_exports__, \"getFunctionName\", (function() {\n return getFunctionName;\n }));\n __webpack_require__.d(__webpack_exports__, \"setFunctionName\", (function() {\n return setFunctionName;\n }));\n __webpack_require__.d(__webpack_exports__, \"base64encode\", (function() {\n return base64encode;\n }));\n __webpack_require__.d(__webpack_exports__, \"base64decode\", (function() {\n return base64decode;\n }));\n __webpack_require__.d(__webpack_exports__, \"uniqueID\", (function() {\n return uniqueID;\n }));\n __webpack_require__.d(__webpack_exports__, \"getGlobal\", (function() {\n return getGlobal;\n }));\n __webpack_require__.d(__webpack_exports__, \"getObjectID\", (function() {\n return getObjectID;\n }));\n __webpack_require__.d(__webpack_exports__, \"getEmptyObject\", (function() {\n return getEmptyObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoize\", (function() {\n return memoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"promiseIdentity\", (function() {\n return promiseIdentity;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoizePromise\", (function() {\n return memoizePromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"promisify\", (function() {\n return promisify;\n }));\n __webpack_require__.d(__webpack_exports__, \"inlineMemoize\", (function() {\n return inlineMemoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"noop\", (function() {\n return src_util_noop;\n }));\n __webpack_require__.d(__webpack_exports__, \"once\", (function() {\n return once;\n }));\n __webpack_require__.d(__webpack_exports__, \"hashStr\", (function() {\n return hashStr;\n }));\n __webpack_require__.d(__webpack_exports__, \"strHashStr\", (function() {\n return strHashStr;\n }));\n __webpack_require__.d(__webpack_exports__, \"match\", (function() {\n return match;\n }));\n __webpack_require__.d(__webpack_exports__, \"awaitKey\", (function() {\n return awaitKey;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringifyError\", (function() {\n return stringifyError;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringifyErrorMessage\", (function() {\n return stringifyErrorMessage;\n }));\n __webpack_require__.d(__webpack_exports__, \"stringify\", (function() {\n return stringify;\n }));\n __webpack_require__.d(__webpack_exports__, \"domainMatches\", (function() {\n return domainMatches;\n }));\n __webpack_require__.d(__webpack_exports__, \"patchMethod\", (function() {\n return patchMethod;\n }));\n __webpack_require__.d(__webpack_exports__, \"extend\", (function() {\n return extend;\n }));\n __webpack_require__.d(__webpack_exports__, \"values\", (function() {\n return util_values;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoizedValues\", (function() {\n return memoizedValues;\n }));\n __webpack_require__.d(__webpack_exports__, \"perc\", (function() {\n return perc;\n }));\n __webpack_require__.d(__webpack_exports__, \"min\", (function() {\n return min;\n }));\n __webpack_require__.d(__webpack_exports__, \"max\", (function() {\n return max;\n }));\n __webpack_require__.d(__webpack_exports__, \"roundUp\", (function() {\n return roundUp;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexMap\", (function() {\n return regexMap;\n }));\n __webpack_require__.d(__webpack_exports__, \"svgToBase64\", (function() {\n return svgToBase64;\n }));\n __webpack_require__.d(__webpack_exports__, \"objFilter\", (function() {\n return objFilter;\n }));\n __webpack_require__.d(__webpack_exports__, \"identity\", (function() {\n return identity;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexTokenize\", (function() {\n return regexTokenize;\n }));\n __webpack_require__.d(__webpack_exports__, \"promiseDebounce\", (function() {\n return promiseDebounce;\n }));\n __webpack_require__.d(__webpack_exports__, \"safeInterval\", (function() {\n return safeInterval;\n }));\n __webpack_require__.d(__webpack_exports__, \"isInteger\", (function() {\n return isInteger;\n }));\n __webpack_require__.d(__webpack_exports__, \"isFloat\", (function() {\n return isFloat;\n }));\n __webpack_require__.d(__webpack_exports__, \"serializePrimitive\", (function() {\n return serializePrimitive;\n }));\n __webpack_require__.d(__webpack_exports__, \"deserializePrimitive\", (function() {\n return deserializePrimitive;\n }));\n __webpack_require__.d(__webpack_exports__, \"dotify\", (function() {\n return dotify;\n }));\n __webpack_require__.d(__webpack_exports__, \"undotify\", (function() {\n return undotify;\n }));\n __webpack_require__.d(__webpack_exports__, \"eventEmitter\", (function() {\n return eventEmitter;\n }));\n __webpack_require__.d(__webpack_exports__, \"camelToDasherize\", (function() {\n return camelToDasherize;\n }));\n __webpack_require__.d(__webpack_exports__, \"dasherizeToCamel\", (function() {\n return dasherizeToCamel;\n }));\n __webpack_require__.d(__webpack_exports__, \"capitalizeFirstLetter\", (function() {\n return capitalizeFirstLetter;\n }));\n __webpack_require__.d(__webpack_exports__, \"get\", (function() {\n return util_get;\n }));\n __webpack_require__.d(__webpack_exports__, \"safeTimeout\", (function() {\n return safeTimeout;\n }));\n __webpack_require__.d(__webpack_exports__, \"defineLazyProp\", (function() {\n return defineLazyProp;\n }));\n __webpack_require__.d(__webpack_exports__, \"arrayFrom\", (function() {\n return arrayFrom;\n }));\n __webpack_require__.d(__webpack_exports__, \"isObject\", (function() {\n return isObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"isObjectObject\", (function() {\n return isObjectObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPlainObject\", (function() {\n return isPlainObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"replaceObject\", (function() {\n return replaceObject;\n }));\n __webpack_require__.d(__webpack_exports__, \"copyProp\", (function() {\n return copyProp;\n }));\n __webpack_require__.d(__webpack_exports__, \"regex\", (function() {\n return regex;\n }));\n __webpack_require__.d(__webpack_exports__, \"regexAll\", (function() {\n return regexAll;\n }));\n __webpack_require__.d(__webpack_exports__, \"isDefined\", (function() {\n return isDefined;\n }));\n __webpack_require__.d(__webpack_exports__, \"cycle\", (function() {\n return cycle;\n }));\n __webpack_require__.d(__webpack_exports__, \"debounce\", (function() {\n return debounce;\n }));\n __webpack_require__.d(__webpack_exports__, \"isRegex\", (function() {\n return util_isRegex;\n }));\n __webpack_require__.d(__webpack_exports__, \"weakMapMemoize\", (function() {\n return util_weakMapMemoize;\n }));\n __webpack_require__.d(__webpack_exports__, \"weakMapMemoizePromise\", (function() {\n return util_weakMapMemoizePromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"getOrSet\", (function() {\n return getOrSet;\n }));\n __webpack_require__.d(__webpack_exports__, \"cleanup\", (function() {\n return cleanup;\n }));\n __webpack_require__.d(__webpack_exports__, \"tryCatch\", (function() {\n return tryCatch;\n }));\n __webpack_require__.d(__webpack_exports__, \"removeFromArray\", (function() {\n return removeFromArray;\n }));\n __webpack_require__.d(__webpack_exports__, \"assertExists\", (function() {\n return assertExists;\n }));\n __webpack_require__.d(__webpack_exports__, \"unique\", (function() {\n return unique;\n }));\n __webpack_require__.d(__webpack_exports__, \"constHas\", (function() {\n return constHas;\n }));\n __webpack_require__.d(__webpack_exports__, \"dedupeErrors\", (function() {\n return dedupeErrors;\n }));\n __webpack_require__.d(__webpack_exports__, \"ExtendableError\", (function() {\n return util_ExtendableError;\n }));\n __webpack_require__.d(__webpack_exports__, \"request\", (function() {\n return request;\n }));\n __webpack_require__.d(__webpack_exports__, \"addHeaderBuilder\", (function() {\n return addHeaderBuilder;\n }));\n __webpack_require__.d(__webpack_exports__, \"TYPES\", (function() {\n return types_TYPES;\n }));\n __webpack_require__.d(__webpack_exports__, \"memoized\", (function() {\n return memoized;\n }));\n __webpack_require__.d(__webpack_exports__, \"promise\", (function() {\n return decorators_promise;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPerc\", (function() {\n return isPerc;\n }));\n __webpack_require__.d(__webpack_exports__, \"isPx\", (function() {\n return isPx;\n }));\n __webpack_require__.d(__webpack_exports__, \"toNum\", (function() {\n return toNum;\n }));\n __webpack_require__.d(__webpack_exports__, \"toPx\", (function() {\n return toPx;\n }));\n __webpack_require__.d(__webpack_exports__, \"toCSS\", (function() {\n return toCSS;\n }));\n __webpack_require__.d(__webpack_exports__, \"percOf\", (function() {\n return percOf;\n }));\n __webpack_require__.d(__webpack_exports__, \"normalizeDimension\", (function() {\n return normalizeDimension;\n }));\n __webpack_require__.d(__webpack_exports__, \"wrapPromise\", (function() {\n return wrapPromise;\n }));\n __webpack_require__.d(__webpack_exports__, \"KEY_CODES\", (function() {\n return KEY_CODES;\n }));\n __webpack_require__.d(__webpack_exports__, \"ATTRIBUTES\", (function() {\n return ATTRIBUTES;\n }));\n __webpack_require__.d(__webpack_exports__, \"iPhoneScreenHeightMatrix\", (function() {\n return iPhoneScreenHeightMatrix;\n }));\n var iPhoneScreenHeightMatrix = {\n 926: {\n device: \"iPhone 12 Pro Max\",\n textSizeHeights: [ 752, 748, 744, 738 ],\n zoomHeight: {\n 1.15: [ 752, 747, 744, 738 ],\n 1.25: [ 753, 748, 744, 738 ],\n 1.5: [ 752, 749, 744, 738 ],\n 1.75: [ 753, 747, 744, 739 ],\n 2: [ 752, 748, 744 ],\n 2.5: [ 753, 748 ],\n 3: [ 753, 744 ]\n },\n maybeSafari: {\n 2: [ 738 ],\n 2.5: [ 745, 738 ],\n 3: [ 747, 738 ]\n }\n },\n 896: {\n device: \"iPhone XS Max, iPhone 11 Pro Max, iPhone XR, iPhone 11\",\n textSizeHeights: [ 721, 717, 713, 707 ],\n zoomHeight: {\n 1.15: [ 721, 716, 713, 707 ],\n 1.25: [ 721, 718, 713, 708 ],\n 1.5: [ 722, 717, 713 ],\n 1.75: [ 721, 718, 712, 707 ],\n 2: [ 722, 718, 714, 708 ],\n 2.5: [ 720, 718, 713, 708 ],\n 3: [ 720, 717, 708 ]\n },\n maybeSafari: {\n 1.5: [ 707 ],\n 3: [ 714 ]\n }\n },\n 844: {\n device: \"iPhone 12, iPhone 12 Pro\",\n textSizeHeights: [ 670, 666, 662, 656 ],\n zoomHeight: {\n 1.15: [ 670, 666, 662 ],\n 1.25: [ 670, 666, 663, 656 ],\n 1.5: [ 671, 666, 662 ],\n 1.75: [ 670, 667, 662, 656 ],\n 2: [ 670, 666, 662 ],\n 2.5: [ 670, 663 ],\n 3: [ 669, 666, 663, 657 ]\n },\n maybeSafari: {\n 1.15: [ 656 ],\n 1.5: [ 656 ],\n 2: [ 656 ],\n 2.5: [ 665, 655 ],\n 3: [ 663 ]\n }\n },\n 812: {\n device: \"iPhone X, iPhone XS, iPhone 11 Pro, iPhone 12 Mini\",\n textSizeHeights: [ 641, 637, 633, 627 ],\n zoomHeight: {\n 1.15: [ 641, 637, 633, 627 ],\n 1.25: [ 641, 638, 633, 628 ],\n 1.5: [ 641, 638, 633, 627 ],\n 1.75: [ 641, 637, 634 ],\n 2: [ 642, 638, 634, 628 ],\n 2.5: [ 640, 638, 633, 628 ],\n 3: [ 642, 633 ]\n },\n maybeSafari: {\n 1.75: [ 627 ],\n 3: [ 636, 627 ]\n }\n },\n 736: {\n device: \"iPhone 6 Plus, iPhone 6S Plus, iPhone 7 Plus, iPhone 8 Plus\",\n textSizeHeights: [ 628, 624, 620, 614 ],\n zoomHeight: {\n 1.15: [ 628, 624, 620, 614 ],\n 1.25: [ 628, 624, 620, 614 ],\n 1.5: [ 629, 624, 620 ],\n 1.75: [ 628, 625, 620, 614 ],\n 2: [ 628, 624, 620 ],\n 2.5: [ 628, 625, 620, 615 ],\n 3: [ 627, 624, 615 ]\n },\n maybeSafari: {\n 1.5: [ 614 ],\n 2: [ 614 ],\n 3: [ 621 ]\n }\n },\n 667: {\n device: \"iPhone 6, iPhone 6S, iPhone 7, iPhone 8, iPhone SE2\",\n textSizeHeights: [ 559, 555, 551, 545 ],\n zoomHeight: {\n 1.15: [ 559, 555, 551, 545 ],\n 1.25: [ 559, 555, 551, 545 ],\n 1.5: [ 560, 555, 551 ],\n 1.75: [ 558, 555, 551 ],\n 2: [ 560, 556, 552, 546 ],\n 2.5: [ 560, 555, 550 ],\n 3: [ 558, 555, 546 ]\n },\n maybeSafari: {\n 1.5: [ 545 ],\n 1.75: [ 544 ],\n 2.5: [ 545 ],\n 3: [ 552 ]\n }\n }\n };\n function getUserAgent() {\n return window.navigator.mockUserAgent || window.navigator.userAgent;\n }\n function isDevice(userAgent) {\n void 0 === userAgent && (userAgent = getUserAgent());\n return !!userAgent.match(/Android|webOS|iPhone|iPad|iPod|bada|Symbian|Palm|CriOS|BlackBerry|IEMobile|WindowsMobile|Opera Mini/i);\n }\n function isWebView() {\n var userAgent = getUserAgent();\n return /(iPhone|iPod|iPad|Macintosh).*AppleWebKit(?!.*Safari)|.*WKWebView/i.test(userAgent) || /\\bwv\\b/.test(userAgent) || /Android.*Version\\/(\\d)\\.(\\d)/i.test(userAgent);\n }\n function isStandAlone() {\n return !0 === window.navigator.standalone || window.matchMedia(\"(display-mode: standalone)\").matches;\n }\n function isFacebookWebView(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /FBAN/.test(ua) || /FBAV/.test(ua);\n }\n function isFirefoxIOS(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /FxiOS/i.test(ua);\n }\n function isEdgeIOS(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /EdgiOS/i.test(ua);\n }\n function isOperaMini(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Opera Mini/i.test(ua);\n }\n function isAndroid(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Android/.test(ua);\n }\n function isIos(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /iPhone|iPod|iPad/.test(ua);\n }\n function isGoogleSearchApp(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /\\bGSA\\b/.test(ua);\n }\n function isQQBrowser(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /QQBrowser/.test(ua);\n }\n function isIosWebview(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !!isIos(ua) && (!!isGoogleSearchApp(ua) || /.+AppleWebKit(?!.*Safari)|.*WKWebView/.test(ua));\n }\n function isSFVC(ua) {\n void 0 === ua && (ua = getUserAgent());\n if (isIos(ua)) {\n var device = iPhoneScreenHeightMatrix[window.outerHeight];\n if (!device) return !1;\n var height = window.innerHeight;\n var scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n var computedHeight = Math.round(height * scale);\n return scale > 1 && device.zoomHeight[scale] ? -1 !== device.zoomHeight[scale].indexOf(computedHeight) : -1 !== device.textSizeHeights.indexOf(computedHeight);\n }\n return !1;\n }\n function isSFVCorSafari(ua) {\n void 0 === ua && (ua = getUserAgent());\n if (isIos(ua)) {\n var sfvc = isSFVC(ua);\n var device = iPhoneScreenHeightMatrix[window.outerHeight];\n if (!device) return !1;\n var height = window.innerHeight;\n var scale = Math.round(window.screen.width / window.innerWidth * 100) / 100;\n var computedHeight = Math.round(height * scale);\n var possibleSafariSizes = device.maybeSafari;\n var maybeSafari = !1;\n scale > 1 && possibleSafariSizes[scale] && -1 !== possibleSafariSizes[scale].indexOf(computedHeight) && (maybeSafari = !0);\n return sfvc || maybeSafari;\n }\n return !1;\n }\n function isAndroidWebview(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !!isAndroid(ua) && /Version\\/[\\d.]+/.test(ua) && !isOperaMini(ua);\n }\n function device_isIE() {\n return !!window.document.documentMode || Boolean(window.navigator && window.navigator.userAgent && /Edge|MSIE|rv:11/i.test(window.navigator.userAgent));\n }\n function isIECompHeader() {\n var mHttp = window.document.querySelector('meta[http-equiv=\"X-UA-Compatible\"]');\n var mContent = window.document.querySelector('meta[content=\"IE=edge\"]');\n return !(!mHttp || !mContent);\n }\n function isElectron() {\n return !(\"undefined\" == typeof process || !process.versions || !process.versions.electron);\n }\n function isIEIntranet() {\n if (window.document.documentMode) try {\n var status = window.status;\n window.status = \"testIntranetMode\";\n if (\"testIntranetMode\" === window.status) {\n window.status = status;\n return !0;\n }\n return !1;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n function isMacOsCna() {\n var userAgent = getUserAgent();\n return /Macintosh.*AppleWebKit(?!.*Safari)/i.test(userAgent);\n }\n function supportsPopups(ua) {\n void 0 === ua && (ua = getUserAgent());\n return !(isIosWebview(ua) || isAndroidWebview(ua) || isOperaMini(ua) || isFirefoxIOS(ua) || isEdgeIOS(ua) || isFacebookWebView(ua) || isQQBrowser(ua) || isElectron() || isMacOsCna() || isStandAlone());\n }\n function isChrome(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Chrome|Chromium|CriOS/.test(ua);\n }\n function isSafari(ua) {\n void 0 === ua && (ua = getUserAgent());\n return /Safari/.test(ua) && !isChrome(ua);\n }\n function isApplePaySupported() {\n try {\n if (window.ApplePaySession && window.ApplePaySession.supportsVersion(3) && window.ApplePaySession.canMakePayments()) return !0;\n } catch (e) {\n return !1;\n }\n return !1;\n }\n function _setPrototypeOf(o, p) {\n return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {\n o.__proto__ = p;\n return o;\n })(o, p);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _extends() {\n return (_extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }).apply(this, arguments);\n }\n function utils_isPromise(item) {\n try {\n if (!item) return !1;\n if (\"undefined\" != typeof Promise && item instanceof Promise) return !0;\n if (\"undefined\" != typeof window && \"function\" == typeof window.Window && item instanceof window.Window) return !1;\n if (\"undefined\" != typeof window && \"function\" == typeof window.constructor && item instanceof window.constructor) return !1;\n var _toString = {}.toString;\n if (_toString) {\n var name = _toString.call(item);\n if (\"[object Window]\" === name || \"[object global]\" === name || \"[object DOMWindow]\" === name) return !1;\n }\n if (\"function\" == typeof item.then) return !0;\n } catch (err) {\n return !1;\n }\n return !1;\n }\n var dispatchedErrors = [];\n var possiblyUnhandledPromiseHandlers = [];\n var activeCount = 0;\n var flushPromise;\n function flushActive() {\n if (!activeCount && flushPromise) {\n var promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n }\n function startActive() {\n activeCount += 1;\n }\n function endActive() {\n activeCount -= 1;\n flushActive();\n }\n var promise_ZalgoPromise = function() {\n function ZalgoPromise(handler) {\n var _this = this;\n this.resolved = void 0;\n this.rejected = void 0;\n this.errorHandled = void 0;\n this.value = void 0;\n this.error = void 0;\n this.handlers = void 0;\n this.dispatching = void 0;\n this.stack = void 0;\n this.resolved = !1;\n this.rejected = !1;\n this.errorHandled = !1;\n this.handlers = [];\n if (handler) {\n var _result;\n var _error;\n var resolved = !1;\n var rejected = !1;\n var isAsync = !1;\n startActive();\n try {\n handler((function(res) {\n if (isAsync) _this.resolve(res); else {\n resolved = !0;\n _result = res;\n }\n }), (function(err) {\n if (isAsync) _this.reject(err); else {\n rejected = !0;\n _error = err;\n }\n }));\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n endActive();\n isAsync = !0;\n resolved ? this.resolve(_result) : rejected && this.reject(_error);\n }\n }\n var _proto = ZalgoPromise.prototype;\n _proto.resolve = function(result) {\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(result)) throw new Error(\"Can not resolve promise with another promise\");\n this.resolved = !0;\n this.value = result;\n this.dispatch();\n return this;\n };\n _proto.reject = function(error) {\n var _this2 = this;\n if (this.resolved || this.rejected) return this;\n if (utils_isPromise(error)) throw new Error(\"Can not reject promise with another promise\");\n if (!error) {\n var _err = error && \"function\" == typeof error.toString ? error.toString() : {}.toString.call(error);\n error = new Error(\"Expected reject to be called with Error, got \" + _err);\n }\n this.rejected = !0;\n this.error = error;\n this.errorHandled || setTimeout((function() {\n _this2.errorHandled || function(err, promise) {\n if (-1 === dispatchedErrors.indexOf(err)) {\n dispatchedErrors.push(err);\n setTimeout((function() {\n throw err;\n }), 1);\n for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n }(error, _this2);\n }), 1);\n this.dispatch();\n return this;\n };\n _proto.asyncReject = function(error) {\n this.errorHandled = !0;\n this.reject(error);\n return this;\n };\n _proto.dispatch = function() {\n var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;\n if (!this.dispatching && (resolved || rejected)) {\n this.dispatching = !0;\n startActive();\n var chain = function(firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n secondPromise.resolve(res);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < handlers.length; i++) {\n var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;\n var _result2 = void 0;\n if (resolved) try {\n _result2 = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n } else if (rejected) {\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n try {\n _result2 = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {\n _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error);\n _result2.errorHandled = !0;\n } else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);\n }\n handlers.length = 0;\n this.dispatching = !1;\n endActive();\n }\n };\n _proto.then = function(onSuccess, onError) {\n if (onSuccess && \"function\" != typeof onSuccess && !onSuccess.call) throw new Error(\"Promise.then expected a function for success handler\");\n if (onError && \"function\" != typeof onError && !onError.call) throw new Error(\"Promise.then expected a function for error handler\");\n var promise = new ZalgoPromise;\n this.handlers.push({\n promise: promise,\n onSuccess: onSuccess,\n onError: onError\n });\n this.errorHandled = !0;\n this.dispatch();\n return promise;\n };\n _proto.catch = function(onError) {\n return this.then(void 0, onError);\n };\n _proto.finally = function(onFinally) {\n if (onFinally && \"function\" != typeof onFinally && !onFinally.call) throw new Error(\"Promise.finally expected a function\");\n return this.then((function(result) {\n return ZalgoPromise.try(onFinally).then((function() {\n return result;\n }));\n }), (function(err) {\n return ZalgoPromise.try(onFinally).then((function() {\n throw err;\n }));\n }));\n };\n _proto.timeout = function(time, err) {\n var _this3 = this;\n if (this.resolved || this.rejected) return this;\n var timeout = setTimeout((function() {\n _this3.resolved || _this3.rejected || _this3.reject(err || new Error(\"Promise timed out after \" + time + \"ms\"));\n }), time);\n return this.then((function(result) {\n clearTimeout(timeout);\n return result;\n }));\n };\n _proto.toPromise = function() {\n if (\"undefined\" == typeof Promise) throw new TypeError(\"Could not find Promise\");\n return Promise.resolve(this);\n };\n ZalgoPromise.resolve = function(value) {\n return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {\n return value.then(resolve, reject);\n })) : (new ZalgoPromise).resolve(value);\n };\n ZalgoPromise.reject = function(error) {\n return (new ZalgoPromise).reject(error);\n };\n ZalgoPromise.asyncReject = function(error) {\n return (new ZalgoPromise).asyncReject(error);\n };\n ZalgoPromise.all = function(promises) {\n var promise = new ZalgoPromise;\n var count = promises.length;\n var results = [];\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n var chain = function(i, firstPromise, secondPromise) {\n return firstPromise.then((function(res) {\n results[i] = res;\n 0 == (count -= 1) && promise.resolve(results);\n }), (function(err) {\n secondPromise.reject(err);\n }));\n };\n for (var i = 0; i < promises.length; i++) {\n var prom = promises[i];\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!utils_isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n 0 === count && promise.resolve(results);\n return promise;\n };\n ZalgoPromise.hash = function(promises) {\n var result = {};\n var awaitPromises = [];\n var _loop = function(key) {\n if (promises.hasOwnProperty(key)) {\n var value = promises[key];\n utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {\n result[key] = res;\n }))) : result[key] = value;\n }\n };\n for (var key in promises) _loop(key);\n return ZalgoPromise.all(awaitPromises).then((function() {\n return result;\n }));\n };\n ZalgoPromise.map = function(items, method) {\n return ZalgoPromise.all(items.map(method));\n };\n ZalgoPromise.onPossiblyUnhandledException = function(handler) {\n return function(handler) {\n possiblyUnhandledPromiseHandlers.push(handler);\n return {\n cancel: function() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n }(handler);\n };\n ZalgoPromise.try = function(method, context, args) {\n if (method && \"function\" != typeof method && !method.call) throw new Error(\"Promise.try expected a function\");\n var result;\n startActive();\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n endActive();\n return ZalgoPromise.resolve(result);\n };\n ZalgoPromise.delay = function(_delay) {\n return new ZalgoPromise((function(resolve) {\n setTimeout(resolve, _delay);\n }));\n };\n ZalgoPromise.isPromise = function(value) {\n return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);\n };\n ZalgoPromise.flush = function() {\n return function(Zalgo) {\n var promise = flushPromise = flushPromise || new Zalgo;\n flushActive();\n return promise;\n }(ZalgoPromise);\n };\n return ZalgoPromise;\n }();\n var IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n function isAboutProtocol(win) {\n void 0 === win && (win = window);\n return \"about:\" === win.location.protocol;\n }\n function canReadFromWindow(win) {\n try {\n return !0;\n } catch (err) {}\n return !1;\n }\n function getActualDomain(win) {\n void 0 === win && (win = window);\n var location = win.location;\n if (!location) throw new Error(\"Can not read window location\");\n var protocol = location.protocol;\n if (!protocol) throw new Error(\"Can not read window protocol\");\n if (\"file:\" === protocol) return \"file://\";\n if (\"about:\" === protocol) {\n var parent = function(win) {\n void 0 === win && (win = window);\n if (win) try {\n if (win.parent && win.parent !== win) return win.parent;\n } catch (err) {}\n }(win);\n return parent && canReadFromWindow() ? getActualDomain(parent) : \"about://\";\n }\n var host = location.host;\n if (!host) throw new Error(\"Can not read window host\");\n return protocol + \"//\" + host;\n }\n function getDomain(win) {\n void 0 === win && (win = window);\n var domain = getActualDomain(win);\n return domain && win.mockDomain && 0 === win.mockDomain.indexOf(\"mock:\") ? win.mockDomain : domain;\n }\n function isSameDomain(win) {\n if (!function(win) {\n try {\n if (win === window) return !0;\n } catch (err) {}\n try {\n var desc = Object.getOwnPropertyDescriptor(win, \"location\");\n if (desc && !1 === desc.enumerable) return !1;\n } catch (err) {}\n try {\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n } catch (err) {}\n try {\n if (getActualDomain(win) === getActualDomain(window)) return !0;\n } catch (err) {}\n return !1;\n }(win)) return !1;\n try {\n if (win === window) return !0;\n if (isAboutProtocol(win) && canReadFromWindow()) return !0;\n if (getDomain(window) === getDomain(win)) return !0;\n } catch (err) {}\n return !1;\n }\n var iframeWindows = [];\n var iframeFrames = [];\n function isWindowClosed(win, allowMock) {\n void 0 === allowMock && (allowMock = !0);\n try {\n if (win === window) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (!win) return !0;\n } catch (err) {\n return !0;\n }\n try {\n if (win.closed) return !0;\n } catch (err) {\n return !err || err.message !== IE_WIN_ACCESS_ERROR;\n }\n if (allowMock && isSameDomain(win)) try {\n if (win.mockclosed) return !0;\n } catch (err) {}\n try {\n if (!win.parent || !win.top) return !0;\n } catch (err) {}\n var iframeIndex = function(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }(iframeWindows, win);\n if (-1 !== iframeIndex) {\n var frame = iframeFrames[iframeIndex];\n if (frame && function(frame) {\n if (!frame.contentWindow) return !0;\n if (!frame.parentNode) return !0;\n var doc = frame.ownerDocument;\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n var parent = frame;\n for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;\n if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;\n }\n return !1;\n }(frame)) return !0;\n }\n return !1;\n }\n function isWindow(obj) {\n try {\n if (obj === window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (\"[object Window]\" === {}.toString.call(obj)) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (window.Window && obj instanceof window.Window) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.self === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.parent === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && obj.top === obj) return !0;\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;\n }\n try {\n if (obj && \"__unlikely_value__\" === obj.__cross_domain_utils_window_check__) return !1;\n } catch (err) {\n return !0;\n }\n try {\n if (\"postMessage\" in obj && \"self\" in obj && \"location\" in obj) return !0;\n } catch (err) {}\n return !1;\n }\n function util_safeIndexOf(collection, item) {\n for (var i = 0; i < collection.length; i++) try {\n if (collection[i] === item) return i;\n } catch (err) {}\n return -1;\n }\n var weakmap_CrossDomainSafeWeakMap = function() {\n function CrossDomainSafeWeakMap() {\n this.name = void 0;\n this.weakmap = void 0;\n this.keys = void 0;\n this.values = void 0;\n this.name = \"__weakmap_\" + (1e9 * Math.random() >>> 0) + \"__\";\n if (function() {\n if (\"undefined\" == typeof WeakMap) return !1;\n if (void 0 === Object.freeze) return !1;\n try {\n var testWeakMap = new WeakMap;\n var testKey = {};\n Object.freeze(testKey);\n testWeakMap.set(testKey, \"__testvalue__\");\n return \"__testvalue__\" === testWeakMap.get(testKey);\n } catch (err) {\n return !1;\n }\n }()) try {\n this.weakmap = new WeakMap;\n } catch (err) {}\n this.keys = [];\n this.values = [];\n }\n var _proto = CrossDomainSafeWeakMap.prototype;\n _proto._cleanupClosedWindows = function() {\n var weakmap = this.weakmap;\n var keys = this.keys;\n for (var i = 0; i < keys.length; i++) {\n var value = keys[i];\n if (isWindow(value) && isWindowClosed(value)) {\n if (weakmap) try {\n weakmap.delete(value);\n } catch (err) {}\n keys.splice(i, 1);\n this.values.splice(i, 1);\n i -= 1;\n }\n }\n };\n _proto.isSafeToReadWrite = function(key) {\n return !isWindow(key);\n };\n _proto.set = function(key, value) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var name = this.name;\n var entry = key[name];\n entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: !0\n });\n return;\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var values = this.values;\n var index = util_safeIndexOf(keys, key);\n if (-1 === index) {\n keys.push(key);\n values.push(value);\n } else values[index] = value;\n };\n _proto.get = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return weakmap.get(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return entry && entry[0] === key ? entry[1] : void 0;\n } catch (err) {}\n this._cleanupClosedWindows();\n var index = util_safeIndexOf(this.keys, key);\n if (-1 !== index) return this.values[index];\n };\n _proto.delete = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n entry && entry[0] === key && (entry[0] = entry[1] = void 0);\n } catch (err) {}\n this._cleanupClosedWindows();\n var keys = this.keys;\n var index = util_safeIndexOf(keys, key);\n if (-1 !== index) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n };\n _proto.has = function(key) {\n if (!key) throw new Error(\"WeakMap expected key\");\n var weakmap = this.weakmap;\n if (weakmap) try {\n if (weakmap.has(key)) return !0;\n } catch (err) {\n delete this.weakmap;\n }\n if (this.isSafeToReadWrite(key)) try {\n var entry = key[this.name];\n return !(!entry || entry[0] !== key);\n } catch (err) {}\n this._cleanupClosedWindows();\n return -1 !== util_safeIndexOf(this.keys, key);\n };\n _proto.getOrSet = function(key, getter) {\n if (this.has(key)) return this.get(key);\n var value = getter();\n this.set(key, value);\n return value;\n };\n return CrossDomainSafeWeakMap;\n }();\n function _getPrototypeOf(o) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n })(o);\n }\n function _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], (function() {})));\n return !0;\n } catch (e) {\n return !1;\n }\n }\n function construct_construct(Parent, args, Class) {\n return (construct_construct = _isNativeReflectConstruct() ? Reflect.construct : function(Parent, args, Class) {\n var a = [ null ];\n a.push.apply(a, args);\n var instance = new (Function.bind.apply(Parent, a));\n Class && _setPrototypeOf(instance, Class.prototype);\n return instance;\n }).apply(null, arguments);\n }\n function wrapNativeSuper_wrapNativeSuper(Class) {\n var _cache = \"function\" == typeof Map ? new Map : void 0;\n return (wrapNativeSuper_wrapNativeSuper = function(Class) {\n if (null === Class || !(fn = Class, -1 !== Function.toString.call(fn).indexOf(\"[native code]\"))) return Class;\n var fn;\n if (\"function\" != typeof Class) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== _cache) {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n })(Class);\n }\n function getFunctionName(fn) {\n return fn.name || fn.__name__ || fn.displayName || \"anonymous\";\n }\n function setFunctionName(fn, name) {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {}\n fn.__name__ = fn.displayName = name;\n return fn;\n }\n function base64encode(str) {\n if (\"function\" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n })));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"utf8\").toString(\"base64\");\n throw new Error(\"Can not find window.btoa or Buffer\");\n }\n function base64decode(str) {\n if (\"function\" == typeof atob) return decodeURIComponent([].map.call(atob(str), (function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })).join(\"\"));\n if (\"undefined\" != typeof Buffer) return Buffer.from(str, \"base64\").toString(\"utf8\");\n throw new Error(\"Can not find window.atob or Buffer\");\n }\n function uniqueID() {\n var chars = \"0123456789abcdef\";\n return \"xxxxxxxxxx\".replace(/./g, (function() {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n })) + \"_\" + base64encode((new Date).toISOString().slice(11, 19).replace(\"T\", \".\")).replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n }\n function getGlobal() {\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof global) return global;\n throw new Error(\"No global found\");\n }\n var objectIDs;\n function getObjectID(obj) {\n objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;\n if (null == obj || \"object\" != typeof obj && \"function\" != typeof obj) throw new Error(\"Invalid object\");\n var uid = objectIDs.get(obj);\n if (!uid) {\n uid = typeof obj + \":\" + uniqueID();\n objectIDs.set(obj, uid);\n }\n return uid;\n }\n function serializeArgs(args) {\n try {\n return JSON.stringify([].slice.call(args), (function(subkey, val) {\n return \"function\" == typeof val ? \"memoize[\" + getObjectID(val) + \"]\" : val;\n }));\n } catch (err) {\n throw new Error(\"Arguments not serializable -- can not be used to memoize\");\n }\n }\n function getEmptyObject() {\n return {};\n }\n var memoizeGlobalIndex = 0;\n var memoizeGlobalIndexValidFrom = 0;\n function memoize(method, options) {\n void 0 === options && (options = {});\n var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;\n var simpleCache;\n var thisCache;\n var memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n var memoizedFunction = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n var cache;\n cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};\n var cacheKey = serializeArgs(args);\n var cacheResult = cache[cacheKey];\n if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n if (cacheResult) return cacheResult.value;\n var time = Date.now();\n var value = method.apply(this, arguments);\n cache[cacheKey] = {\n time: time,\n value: value\n };\n return value;\n };\n memoizedFunction.reset = function() {\n simpleCache = null;\n thisCache = null;\n };\n return setFunctionName(memoizedFunction, (options.name || getFunctionName(method)) + \"::memoized\");\n }\n memoize.clear = function() {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n };\n function promiseIdentity(item) {\n return promise_ZalgoPromise.resolve(item);\n }\n function memoizePromise(method) {\n var cache = {};\n function memoizedPromiseFunction() {\n var _arguments = arguments, _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n var key = serializeArgs(args);\n if (cache.hasOwnProperty(key)) return cache[key];\n cache[key] = promise_ZalgoPromise.try((function() {\n return method.apply(_this, _arguments);\n })).finally((function() {\n delete cache[key];\n }));\n return cache[key];\n }\n memoizedPromiseFunction.reset = function() {\n cache = {};\n };\n return setFunctionName(memoizedPromiseFunction, getFunctionName(method) + \"::promiseMemoized\");\n }\n function promisify(method, options) {\n void 0 === options && (options = {});\n function promisifiedFunction() {\n return promise_ZalgoPromise.try(method, this, arguments);\n }\n options.name && (promisifiedFunction.displayName = options.name + \":promisified\");\n return setFunctionName(promisifiedFunction, getFunctionName(method) + \"::promisified\");\n }\n function inlineMemoize(method, logic, args) {\n void 0 === args && (args = []);\n var cache = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n var key = serializeArgs(args);\n return cache.hasOwnProperty(key) ? cache[key] : cache[key] = logic.apply(void 0, args);\n }\n function src_util_noop() {}\n function once(method) {\n var called = !1;\n return setFunctionName((function() {\n if (!called) {\n called = !0;\n return method.apply(this, arguments);\n }\n }), getFunctionName(method) + \"::once\");\n }\n function hashStr(str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) hash += str[i].charCodeAt(0) * Math.pow(i % 10 + 1, 5);\n return Math.floor(Math.pow(Math.sqrt(hash), 5));\n }\n function strHashStr(str) {\n var hash = \"\";\n for (var i = 0; i < str.length; i++) {\n var total = str[i].charCodeAt(0) * i;\n str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));\n hash += String.fromCharCode(97 + Math.abs(total) % 26);\n }\n return hash;\n }\n function match(str, pattern) {\n var regmatch = str.match(pattern);\n if (regmatch) return regmatch[1];\n }\n function awaitKey(obj, key) {\n return new promise_ZalgoPromise((function(resolve) {\n var value = obj[key];\n if (value) return resolve(value);\n delete obj[key];\n Object.defineProperty(obj, key, {\n configurable: !0,\n set: function(item) {\n (value = item) && resolve(value);\n },\n get: function() {\n return value;\n }\n });\n }));\n }\n function stringifyError(err, level) {\n void 0 === level && (level = 1);\n if (level >= 3) return \"stringifyError stack overflow\";\n try {\n if (!err) return \"<unknown error: \" + {}.toString.call(err) + \">\";\n if (\"string\" == typeof err) return err;\n if (err instanceof Error) {\n var stack = err && err.stack;\n var message = err && err.message;\n if (stack && message) return -1 !== stack.indexOf(message) ? stack : message + \"\\n\" + stack;\n if (stack) return stack;\n if (message) return message;\n }\n return err && err.toString && \"function\" == typeof err.toString ? err.toString() : {}.toString.call(err);\n } catch (newErr) {\n return \"Error while stringifying error: \" + stringifyError(newErr, level + 1);\n }\n }\n function stringifyErrorMessage(err) {\n var defaultMessage = \"<unknown error: \" + {}.toString.call(err) + \">\";\n return err ? err instanceof Error ? err.message || defaultMessage : \"string\" == typeof err.message && err.message || defaultMessage : defaultMessage;\n }\n function stringify(item) {\n return \"string\" == typeof item ? item : item && item.toString && \"function\" == typeof item.toString ? item.toString() : {}.toString.call(item);\n }\n function domainMatches(hostname, domain) {\n var index = (hostname = hostname.split(\"://\")[1]).indexOf(domain);\n return -1 !== index && hostname.slice(index) === domain;\n }\n function patchMethod(obj, name, handler) {\n var original = obj[name];\n obj[name] = function() {\n var _arguments2 = arguments, _this2 = this;\n return handler({\n context: this,\n args: [].slice.call(arguments),\n original: original,\n callOriginal: function() {\n return original.apply(_this2, _arguments2);\n }\n });\n };\n }\n function extend(obj, source) {\n if (!source) return obj;\n if (Object.assign) return Object.assign(obj, source);\n for (var key in source) source.hasOwnProperty(key) && (obj[key] = source[key]);\n return obj;\n }\n var util_values = function(obj) {\n if (Object.values) return Object.values(obj);\n var result = [];\n for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);\n return result;\n };\n var memoizedValues = memoize(util_values);\n function perc(pixels, percentage) {\n return Math.round(pixels * percentage / 100);\n }\n function min() {\n return Math.min.apply(Math, arguments);\n }\n function max() {\n return Math.max.apply(Math, arguments);\n }\n function roundUp(num, nearest) {\n var remainder = num % nearest;\n return remainder ? num - remainder + nearest : num;\n }\n function regexMap(str, regexp, handler) {\n var results = [];\n str.replace(regexp, (function(item) {\n results.push(handler ? handler.apply(null, arguments) : item);\n }));\n return results;\n }\n function svgToBase64(svg) {\n return \"data:image/svg+xml;base64,\" + base64encode(svg);\n }\n function objFilter(obj, filter) {\n void 0 === filter && (filter = Boolean);\n var result = {};\n for (var key in obj) obj.hasOwnProperty(key) && filter(obj[key], key) && (result[key] = obj[key]);\n return result;\n }\n function identity(item) {\n return item;\n }\n function regexTokenize(text, regexp) {\n var result = [];\n text.replace(regexp, (function(token) {\n result.push(token);\n return \"\";\n }));\n return result;\n }\n function promiseDebounce(method, delay) {\n void 0 === delay && (delay = 50);\n var promise;\n var timeout;\n return setFunctionName((function() {\n timeout && clearTimeout(timeout);\n var localPromise = promise = promise || new promise_ZalgoPromise;\n timeout = setTimeout((function() {\n promise = null;\n timeout = null;\n promise_ZalgoPromise.try(method).then((function(result) {\n localPromise.resolve(result);\n }), (function(err) {\n localPromise.reject(err);\n }));\n }), delay);\n return localPromise;\n }), getFunctionName(method) + \"::promiseDebounced\");\n }\n function safeInterval(method, time) {\n var timeout;\n !function loop() {\n timeout = setTimeout((function() {\n method();\n loop();\n }), time);\n }();\n return {\n cancel: function() {\n clearTimeout(timeout);\n }\n };\n }\n function isInteger(str) {\n return Boolean(str.match(/^[0-9]+$/));\n }\n function isFloat(str) {\n return Boolean(str.match(/^[0-9]+\\.[0-9]+$/));\n }\n function serializePrimitive(value) {\n return value.toString();\n }\n function deserializePrimitive(value) {\n return \"true\" === value || \"false\" !== value && (isInteger(value) ? parseInt(value, 10) : isFloat(value) ? parseFloat(value) : value);\n }\n function dotify(obj, prefix, newobj) {\n void 0 === prefix && (prefix = \"\");\n void 0 === newobj && (newobj = {});\n prefix = prefix ? prefix + \".\" : prefix;\n for (var key in obj) obj.hasOwnProperty(key) && null != obj[key] && \"function\" != typeof obj[key] && (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every((function(val) {\n return \"object\" != typeof val;\n })) ? newobj[\"\" + prefix + key + \"[]\"] = obj[key].join(\",\") : obj[key] && \"object\" == typeof obj[key] ? newobj = dotify(obj[key], \"\" + prefix + key, newobj) : newobj[\"\" + prefix + key] = serializePrimitive(obj[key]));\n return newobj;\n }\n function undotify(obj) {\n var result = {};\n for (var key in obj) if (obj.hasOwnProperty(key) && \"string\" == typeof obj[key]) {\n var value = obj[key];\n if (key.match(/^.+\\[\\]$/)) {\n key = key.slice(0, -2);\n value = value.split(\",\").map(deserializePrimitive);\n } else value = deserializePrimitive(value);\n var keyResult = result;\n var parts = key.split(\".\");\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n var isLast = i + 1 === parts.length;\n var isIndex = !isLast && isInteger(parts[i + 1]);\n if (\"constructor\" === part || \"prototype\" === part || \"__proto__\" === part) throw new Error(\"Disallowed key: \" + part);\n isLast ? keyResult[part] = value : keyResult = keyResult[part] = keyResult[part] || (isIndex ? [] : {});\n }\n }\n return result;\n }\n function eventEmitter() {\n var triggered = {};\n var handlers = {};\n return {\n on: function(eventName, handler) {\n var handlerList = handlers[eventName] = handlers[eventName] || [];\n handlerList.push(handler);\n var cancelled = !1;\n return {\n cancel: function() {\n if (!cancelled) {\n cancelled = !0;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n }\n };\n },\n once: function(eventName, handler) {\n var listener = this.on(eventName, (function() {\n listener.cancel();\n handler();\n }));\n return listener;\n },\n trigger: function(eventName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];\n var handlerList = handlers[eventName];\n var promises = [];\n if (handlerList) {\n var _loop = function(_i2) {\n var handler = handlerList[_i2];\n promises.push(promise_ZalgoPromise.try((function() {\n return handler.apply(void 0, args);\n })));\n };\n for (var _i2 = 0; _i2 < handlerList.length; _i2++) _loop(_i2);\n }\n return promise_ZalgoPromise.all(promises).then(src_util_noop);\n },\n triggerOnce: function(eventName) {\n if (triggered[eventName]) return promise_ZalgoPromise.resolve();\n triggered[eventName] = !0;\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) args[_key4 - 1] = arguments[_key4];\n return this.trigger.apply(this, [ eventName ].concat(args));\n },\n reset: function() {\n handlers = {};\n }\n };\n }\n function camelToDasherize(string) {\n return string.replace(/([A-Z])/g, (function(g) {\n return \"-\" + g.toLowerCase();\n }));\n }\n function dasherizeToCamel(string) {\n return string.replace(/-([a-z])/g, (function(g) {\n return g[1].toUpperCase();\n }));\n }\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n }\n function util_get(item, path, def) {\n if (!path) return def;\n var pathParts = path.split(\".\");\n for (var i = 0; i < pathParts.length; i++) {\n if (\"object\" != typeof item || null === item) return def;\n item = item[pathParts[i]];\n }\n return void 0 === item ? def : item;\n }\n function safeTimeout(method, time) {\n var interval = safeInterval((function() {\n if ((time -= 100) <= 0) {\n interval.cancel();\n method();\n }\n }), 100);\n }\n function defineLazyProp(obj, key, getter) {\n if (Array.isArray(obj)) {\n if (\"number\" != typeof key) throw new TypeError(\"Array key must be number\");\n } else if (\"object\" == typeof obj && null !== obj && \"string\" != typeof key) throw new TypeError(\"Object key must be string\");\n Object.defineProperty(obj, key, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n delete obj[key];\n var value = getter();\n obj[key] = value;\n return value;\n },\n set: function(value) {\n delete obj[key];\n obj[key] = value;\n }\n });\n }\n function arrayFrom(item) {\n return [].slice.call(item);\n }\n function isObject(item) {\n return \"object\" == typeof item && null !== item;\n }\n function isObjectObject(obj) {\n return isObject(obj) && \"[object Object]\" === {}.toString.call(obj);\n }\n function isPlainObject(obj) {\n if (!isObjectObject(obj)) return !1;\n var constructor = obj.constructor;\n if (\"function\" != typeof constructor) return !1;\n var prototype = constructor.prototype;\n return !!isObjectObject(prototype) && !!prototype.hasOwnProperty(\"isPrototypeOf\");\n }\n function replaceObject(item, replacer, fullKey) {\n void 0 === fullKey && (fullKey = \"\");\n if (Array.isArray(item)) {\n var length = item.length;\n var result = [];\n var _loop2 = function(i) {\n defineLazyProp(result, i, (function() {\n var itemKey = fullKey ? fullKey + \".\" + i : \"\" + i;\n var child = replacer(item[i], i, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var i = 0; i < length; i++) _loop2(i);\n return result;\n }\n if (isPlainObject(item)) {\n var _result = {};\n var _loop3 = function(key) {\n if (!item.hasOwnProperty(key)) return \"continue\";\n defineLazyProp(_result, key, (function() {\n var itemKey = fullKey ? fullKey + \".\" + key : \"\" + key;\n var child = replacer(item[key], key, itemKey);\n (isPlainObject(child) || Array.isArray(child)) && (child = replaceObject(child, replacer, itemKey));\n return child;\n }));\n };\n for (var key in item) _loop3(key);\n return _result;\n }\n throw new Error(\"Pass an object or array\");\n }\n function copyProp(source, target, name, def) {\n if (source.hasOwnProperty(name)) {\n var descriptor = Object.getOwnPropertyDescriptor(source, name);\n Object.defineProperty(target, name, descriptor);\n } else target[name] = def;\n }\n function regex(pattern, string, start) {\n void 0 === start && (start = 0);\n \"string\" == typeof pattern && (pattern = new RegExp(pattern));\n var result = string.slice(start).match(pattern);\n if (result) {\n var index = result.index;\n var regmatch = result[0];\n return {\n text: regmatch,\n groups: result.slice(1),\n start: start + index,\n end: start + index + regmatch.length,\n length: regmatch.length,\n replace: function(text) {\n return regmatch ? \"\" + regmatch.slice(0, start + index) + text + regmatch.slice(index + regmatch.length) : \"\";\n }\n };\n }\n }\n function regexAll(pattern, string) {\n var matches = [];\n var start = 0;\n for (;;) {\n var regmatch = regex(pattern, string, start);\n if (!regmatch) break;\n matches.push(regmatch);\n start = match.end;\n }\n return matches;\n }\n function isDefined(value) {\n return null != value;\n }\n function cycle(method) {\n return promise_ZalgoPromise.try(method).then((function() {\n return cycle(method);\n }));\n }\n function debounce(method, time) {\n void 0 === time && (time = 100);\n var timeout;\n return setFunctionName((function() {\n var _arguments3 = arguments, _this3 = this;\n clearTimeout(timeout);\n timeout = setTimeout((function() {\n return method.apply(_this3, _arguments3);\n }), time);\n }), getFunctionName(method) + \"::debounced\");\n }\n function util_isRegex(item) {\n return \"[object RegExp]\" === {}.toString.call(item);\n }\n var util_weakMapMemoize = function(method) {\n var weakmap = new weakmap_CrossDomainSafeWeakMap;\n return function(arg) {\n var _this4 = this;\n return weakmap.getOrSet(arg, (function() {\n return method.call(_this4, arg);\n }));\n };\n };\n var util_weakMapMemoizePromise = function(method) {\n var weakmap = new weakmap_CrossDomainSafeWeakMap;\n return function(arg) {\n var _this5 = this;\n return weakmap.getOrSet(arg, (function() {\n return method.call(_this5, arg).finally((function() {\n weakmap.delete(arg);\n }));\n }));\n };\n };\n function getOrSet(obj, key, getter) {\n if (obj.hasOwnProperty(key)) return obj[key];\n var val = getter();\n obj[key] = val;\n return val;\n }\n function cleanup(obj) {\n var tasks = [];\n var cleaned = !1;\n var cleanErr;\n return {\n set: function(name, item) {\n if (!cleaned) {\n obj[name] = item;\n this.register((function() {\n delete obj[name];\n }));\n }\n return item;\n },\n register: function(method) {\n cleaned ? method(cleanErr) : tasks.push(once((function() {\n return method(cleanErr);\n })));\n },\n all: function(err) {\n cleanErr = err;\n var results = [];\n cleaned = !0;\n for (;tasks.length; ) {\n var task = tasks.shift();\n results.push(task());\n }\n return promise_ZalgoPromise.all(results).then(src_util_noop);\n }\n };\n }\n function tryCatch(fn) {\n var result;\n var error;\n try {\n result = fn();\n } catch (err) {\n error = err;\n }\n return {\n result: result,\n error: error\n };\n }\n function removeFromArray(arr, item) {\n var index = arr.indexOf(item);\n -1 !== index && arr.splice(index, 1);\n }\n function assertExists(name, thing) {\n if (null == thing) throw new Error(\"Expected \" + name + \" to be present\");\n return thing;\n }\n function unique(arr) {\n var result = {};\n for (var _i4 = 0; _i4 < arr.length; _i4++) result[arr[_i4]] = !0;\n return Object.keys(result);\n }\n var constHas = function(constant, value) {\n return -1 !== memoizedValues(constant).indexOf(value);\n };\n function dedupeErrors(handler) {\n var seenErrors = [];\n var seenStringifiedErrors = {};\n return function(err) {\n if (-1 === seenErrors.indexOf(err)) {\n seenErrors.push(err);\n var stringifiedError = stringifyError(err);\n if (!seenStringifiedErrors[stringifiedError]) {\n seenStringifiedErrors[stringifiedError] = !0;\n return handler(err);\n }\n }\n };\n }\n var util_ExtendableError = function(_Error) {\n _inheritsLoose(ExtendableError, _Error);\n function ExtendableError(message) {\n var _this6;\n (_this6 = _Error.call(this, message) || this).name = _this6.constructor.name;\n \"function\" == typeof Error.captureStackTrace ? Error.captureStackTrace(function(self) {\n if (void 0 === self) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }(_this6), _this6.constructor) : _this6.stack = new Error(message).stack;\n return _this6;\n }\n return ExtendableError;\n }(wrapNativeSuper_wrapNativeSuper(Error));\n var KEY_CODES = {\n ENTER: 13,\n SPACE: 32\n };\n var ATTRIBUTES = {\n UID: \"data-uid\"\n };\n function isDocumentReady() {\n return Boolean(document.body) && \"complete\" === document.readyState;\n }\n function isDocumentInteractive() {\n return Boolean(document.body) && \"interactive\" === document.readyState;\n }\n function urlEncode(str) {\n return encodeURIComponent(str);\n }\n function waitForWindowReady() {\n return inlineMemoize(waitForWindowReady, (function() {\n return new promise_ZalgoPromise((function(resolve) {\n isDocumentReady() && resolve();\n window.addEventListener(\"load\", (function() {\n return resolve();\n }));\n }));\n }));\n }\n var waitForDocumentReady = memoize((function() {\n return new promise_ZalgoPromise((function(resolve) {\n if (isDocumentReady() || isDocumentInteractive()) return resolve();\n var interval = setInterval((function() {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }), 10);\n }));\n }));\n function waitForDocumentBody() {\n return promise_ZalgoPromise.try((function() {\n return document.body ? document.body : waitForDocumentReady().then((function() {\n if (document.body) return document.body;\n throw new Error(\"Document ready but document.body not present\");\n }));\n }));\n }\n function parseQuery(queryString) {\n return inlineMemoize(parseQuery, (function() {\n var params = {};\n if (!queryString) return params;\n if (-1 === queryString.indexOf(\"=\")) return params;\n for (var _i2 = 0, _queryString$split2 = queryString.split(\"&\"); _i2 < _queryString$split2.length; _i2++) {\n var pair = _queryString$split2[_i2];\n (pair = pair.split(\"=\"))[0] && pair[1] && (params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]));\n }\n return params;\n }), [ queryString ]);\n }\n function getQueryParam(name) {\n return parseQuery(window.location.search.slice(1))[name];\n }\n function urlWillRedirectPage(url) {\n return -1 === url.indexOf(\"#\") || 0 !== url.indexOf(\"#\") && url.split(\"#\")[0] !== window.location.href.split(\"#\")[0];\n }\n function formatQuery(obj) {\n void 0 === obj && (obj = {});\n return Object.keys(obj).filter((function(key) {\n return \"string\" == typeof obj[key] || \"boolean\" == typeof obj[key];\n })).map((function(key) {\n var val = obj[key];\n if (\"string\" != typeof val && \"boolean\" != typeof val) throw new TypeError(\"Invalid type for query\");\n return urlEncode(key) + \"=\" + urlEncode(val.toString());\n })).join(\"&\");\n }\n function extendQuery(originalQuery, props) {\n void 0 === props && (props = {});\n return props && Object.keys(props).length ? formatQuery(_extends({}, parseQuery(originalQuery), props)) : originalQuery;\n }\n function extendUrl(url, options) {\n var query = options.query || {};\n var hash = options.hash || {};\n var originalUrl;\n var originalHash;\n var _url$split = url.split(\"#\");\n originalHash = _url$split[1];\n var _originalUrl$split = (originalUrl = _url$split[0]).split(\"?\");\n originalUrl = _originalUrl$split[0];\n var queryString = extendQuery(_originalUrl$split[1], query);\n var hashString = extendQuery(originalHash, hash);\n queryString && (originalUrl = originalUrl + \"?\" + queryString);\n hashString && (originalUrl = originalUrl + \"#\" + hashString);\n return originalUrl;\n }\n function redirect(url, win) {\n void 0 === win && (win = window);\n return new promise_ZalgoPromise((function(resolve) {\n win.location = url;\n urlWillRedirectPage(url) || resolve();\n }));\n }\n function hasMetaViewPort() {\n var meta = document.querySelector(\"meta[name=viewport]\");\n return !(isDevice() && window.screen.width < 660 && !meta);\n }\n function isElementVisible(el) {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n }\n function getPerformance() {\n return inlineMemoize(getPerformance, (function() {\n var performance = window.performance;\n if (performance && performance.now && performance.timing && performance.timing.connectEnd && performance.timing.navigationStart && Math.abs(performance.now() - Date.now()) > 1e3 && performance.now() - (performance.timing.connectEnd - performance.timing.navigationStart) > 0) return performance;\n }));\n }\n function enablePerformance() {\n return Boolean(getPerformance());\n }\n function getPageRenderTime() {\n return waitForDocumentReady().then((function() {\n var performance = getPerformance();\n if (performance) {\n var timing = performance.timing;\n return timing.connectEnd && timing.domInteractive ? timing.domInteractive - timing.connectEnd : void 0;\n }\n }));\n }\n function htmlEncode(html) {\n void 0 === html && (html = \"\");\n return html.toString().replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/\\//g, \"/\");\n }\n function dom_isBrowser() {\n return \"undefined\" != typeof window && void 0 !== window.location;\n }\n function querySelectorAll(selector, doc) {\n void 0 === doc && (doc = window.document);\n return [].slice.call(doc.querySelectorAll(selector));\n }\n function onClick(element, handler) {\n element.addEventListener(\"touchstart\", src_util_noop);\n element.addEventListener(\"click\", handler);\n element.addEventListener(\"keypress\", (function(event) {\n if (event.keyCode === KEY_CODES.ENTER || event.keyCode === KEY_CODES.SPACE) return handler(event);\n }));\n }\n function getScript(_ref) {\n var _ref$host = _ref.host, host = void 0 === _ref$host ? window.location.host : _ref$host, path = _ref.path, _ref$reverse = _ref.reverse, reverse = void 0 !== _ref$reverse && _ref$reverse;\n return inlineMemoize(getScript, (function() {\n var url = \"\" + host + path;\n var scripts = [].slice.call(document.getElementsByTagName(\"script\"));\n reverse && scripts.reverse();\n for (var _i4 = 0; _i4 < scripts.length; _i4++) {\n var script = scripts[_i4];\n if (script.src && script.src.replace(/^https?:\\/\\//, \"\").split(\"?\")[0] === url) return script;\n }\n }), [ path ]);\n }\n function isLocalStorageEnabled() {\n return inlineMemoize(isLocalStorageEnabled, (function() {\n try {\n if (\"undefined\" == typeof window) return !1;\n if (window.localStorage) {\n var value = Math.random().toString();\n window.localStorage.setItem(\"__test__localStorage__\", value);\n var result = window.localStorage.getItem(\"__test__localStorage__\");\n window.localStorage.removeItem(\"__test__localStorage__\");\n if (value === result) return !0;\n }\n } catch (err) {}\n return !1;\n }));\n }\n function getBrowserLocales() {\n var nav = window.navigator;\n var locales = nav.languages ? [].concat(nav.languages) : [];\n nav.language && locales.push(nav.language);\n nav.userLanguage && locales.push(nav.userLanguage);\n return locales.map((function(locale) {\n if (locale && locale.match(/^[a-z]{2}[-_][A-Z]{2}$/)) {\n var _locale$split = locale.split(/[-_]/);\n return {\n country: _locale$split[1],\n lang: _locale$split[0]\n };\n }\n return locale && locale.match(/^[a-z]{2}$/) ? {\n lang: locale\n } : null;\n })).filter(Boolean);\n }\n function appendChild(container, child) {\n container.appendChild(child);\n }\n function isElement(element) {\n return element instanceof window.Element || null !== element && \"object\" == typeof element && 1 === element.nodeType && \"object\" == typeof element.style && \"object\" == typeof element.ownerDocument;\n }\n function getElementSafe(id, doc) {\n void 0 === doc && (doc = document);\n return isElement(id) ? id : \"string\" == typeof id ? doc.querySelector(id) : void 0;\n }\n function getElement(id, doc) {\n void 0 === doc && (doc = document);\n var element = getElementSafe(id, doc);\n if (element) return element;\n throw new Error(\"Can not find element: \" + stringify(id));\n }\n function elementReady(id) {\n return new promise_ZalgoPromise((function(resolve, reject) {\n var name = stringify(id);\n var el = getElementSafe(id);\n if (el) return resolve(el);\n if (isDocumentReady()) return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n var interval = setInterval((function() {\n if (el = getElementSafe(id)) {\n clearInterval(interval);\n return resolve(el);\n }\n if (isDocumentReady()) {\n clearInterval(interval);\n return reject(new Error(\"Document is ready and element \" + name + \" does not exist\"));\n }\n }), 10);\n }));\n }\n var dom_PopupOpenError = function(_ExtendableError) {\n _inheritsLoose(PopupOpenError, _ExtendableError);\n function PopupOpenError() {\n return _ExtendableError.apply(this, arguments) || this;\n }\n return PopupOpenError;\n }(util_ExtendableError);\n function popup(url, options) {\n var width = (options = options || {}).width, height = options.height;\n var top = 0;\n var left = 0;\n width && (window.outerWidth ? left = Math.round((window.outerWidth - width) / 2) + window.screenX : window.screen.width && (left = Math.round((window.screen.width - width) / 2)));\n height && (window.outerHeight ? top = Math.round((window.outerHeight - height) / 2) + window.screenY : window.screen.height && (top = Math.round((window.screen.height - height) / 2)));\n width && height && (options = _extends({\n top: top,\n left: left,\n width: width,\n height: height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1\n }, options));\n var name = options.name || \"\";\n delete options.name;\n var params = Object.keys(options).map((function(key) {\n if (null != options[key]) return key + \"=\" + stringify(options[key]);\n })).filter(Boolean).join(\",\");\n var win;\n try {\n win = window.open(url, name, params);\n } catch (err) {\n throw new dom_PopupOpenError(\"Can not open popup window - \" + (err.stack || err.message));\n }\n if (isWindowClosed(win)) {\n var err;\n throw new dom_PopupOpenError(\"Can not open popup window - blocked\");\n }\n window.addEventListener(\"unload\", (function() {\n return win.close();\n }));\n return win;\n }\n function writeToWindow(win, html) {\n try {\n win.document.open();\n win.document.write(html);\n win.document.close();\n } catch (err) {\n try {\n win.location = \"javascript: document.open(); document.write(\" + JSON.stringify(html) + \"); document.close();\";\n } catch (err2) {}\n }\n }\n function writeElementToWindow(win, el) {\n var tag = el.tagName.toLowerCase();\n if (\"html\" !== tag) throw new Error(\"Expected element to be html, got \" + tag);\n var documentElement = win.document.documentElement;\n for (var _i6 = 0, _arrayFrom2 = arrayFrom(documentElement.children); _i6 < _arrayFrom2.length; _i6++) documentElement.removeChild(_arrayFrom2[_i6]);\n for (var _i8 = 0, _arrayFrom4 = arrayFrom(el.children); _i8 < _arrayFrom4.length; _i8++) documentElement.appendChild(_arrayFrom4[_i8]);\n }\n function setStyle(el, styleText, doc) {\n void 0 === doc && (doc = window.document);\n el.styleSheet ? el.styleSheet.cssText = styleText : el.appendChild(doc.createTextNode(styleText));\n }\n var awaitFrameLoadPromises;\n function awaitFrameLoad(frame) {\n if ((awaitFrameLoadPromises = awaitFrameLoadPromises || new weakmap_CrossDomainSafeWeakMap).has(frame)) {\n var _promise = awaitFrameLoadPromises.get(frame);\n if (_promise) return _promise;\n }\n var promise = new promise_ZalgoPromise((function(resolve, reject) {\n frame.addEventListener(\"load\", (function() {\n !function(frame) {\n !function() {\n for (var i = 0; i < iframeWindows.length; i++) {\n var closed = !1;\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {}\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n }();\n if (frame && frame.contentWindow) try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {}\n }(frame);\n resolve(frame);\n }));\n frame.addEventListener(\"error\", (function(err) {\n frame.contentWindow ? resolve(frame) : reject(err);\n }));\n }));\n awaitFrameLoadPromises.set(frame, promise);\n return promise;\n }\n function awaitFrameWindow(frame) {\n return awaitFrameLoad(frame).then((function(loadedFrame) {\n if (!loadedFrame.contentWindow) throw new Error(\"Could not find window in iframe\");\n return loadedFrame.contentWindow;\n }));\n }\n function createElement(tag, options, container) {\n void 0 === tag && (tag = \"div\");\n void 0 === options && (options = {});\n tag = tag.toLowerCase();\n var element = document.createElement(tag);\n options.style && extend(element.style, options.style);\n options.class && (element.className = options.class.join(\" \"));\n options.id && element.setAttribute(\"id\", options.id);\n if (options.attributes) for (var _i10 = 0, _Object$keys2 = Object.keys(options.attributes); _i10 < _Object$keys2.length; _i10++) {\n var key = _Object$keys2[_i10];\n element.setAttribute(key, options.attributes[key]);\n }\n options.styleSheet && setStyle(element, options.styleSheet);\n container && appendChild(container, element);\n if (options.html) if (\"iframe\" === tag) {\n if (!container || !element.contentWindow) throw new Error(\"Iframe html can not be written unless container provided and iframe in DOM\");\n writeToWindow(element.contentWindow, options.html);\n } else element.innerHTML = options.html;\n return element;\n }\n function iframe(options, container) {\n void 0 === options && (options = {});\n var style = options.style || {};\n var frame = createElement(\"iframe\", {\n attributes: _extends({\n allowTransparency: \"true\"\n }, options.attributes || {}),\n style: _extends({\n backgroundColor: \"transparent\",\n border: \"none\"\n }, style),\n html: options.html,\n class: options.class\n });\n var isIE = window.navigator.userAgent.match(/MSIE|Edge/i);\n frame.hasAttribute(\"id\") || frame.setAttribute(\"id\", uniqueID());\n awaitFrameLoad(frame);\n container && getElement(container).appendChild(frame);\n (options.url || isIE) && frame.setAttribute(\"src\", options.url || \"about:blank\");\n return frame;\n }\n function addEventListener(obj, event, handler) {\n obj.addEventListener(event, handler);\n return {\n cancel: function() {\n obj.removeEventListener(event, handler);\n }\n };\n }\n function bindEvents(element, eventNames, handler) {\n handler = once(handler);\n for (var _i12 = 0; _i12 < eventNames.length; _i12++) element.addEventListener(eventNames[_i12], handler);\n return {\n cancel: once((function() {\n for (var _i14 = 0; _i14 < eventNames.length; _i14++) element.removeEventListener(eventNames[_i14], handler);\n }))\n };\n }\n var VENDOR_PREFIXES = [ \"webkit\", \"moz\", \"ms\", \"o\" ];\n function setVendorCSS(element, name, value) {\n element.style[name] = value;\n var capitalizedName = capitalizeFirstLetter(name);\n for (var _i16 = 0; _i16 < VENDOR_PREFIXES.length; _i16++) element.style[\"\" + VENDOR_PREFIXES[_i16] + capitalizedName] = value;\n }\n var ANIMATION_START_EVENTS = [ \"animationstart\", \"webkitAnimationStart\", \"oAnimationStart\", \"MSAnimationStart\" ];\n var ANIMATION_END_EVENTS = [ \"animationend\", \"webkitAnimationEnd\", \"oAnimationEnd\", \"MSAnimationEnd\" ];\n function animate(element, name, clean, timeout) {\n void 0 === timeout && (timeout = 1e3);\n return new promise_ZalgoPromise((function(resolve, reject) {\n var el = getElement(element);\n if (!el) return resolve();\n var hasStarted = !1;\n var startTimeout;\n var endTimeout;\n var startEvent;\n var endEvent;\n function cleanUp() {\n clearTimeout(startTimeout);\n clearTimeout(endTimeout);\n startEvent.cancel();\n endEvent.cancel();\n }\n startEvent = bindEvents(el, ANIMATION_START_EVENTS, (function(event) {\n if (event.target === el && event.animationName === name) {\n clearTimeout(startTimeout);\n event.stopPropagation();\n startEvent.cancel();\n hasStarted = !0;\n endTimeout = setTimeout((function() {\n cleanUp();\n resolve();\n }), timeout);\n }\n }));\n endEvent = bindEvents(el, ANIMATION_END_EVENTS, (function(event) {\n if (event.target === el && event.animationName === name) {\n cleanUp();\n return \"string\" == typeof event.animationName && event.animationName !== name ? reject(\"Expected animation name to be \" + name + \", found \" + event.animationName) : resolve();\n }\n }));\n setVendorCSS(el, \"animationName\", name);\n startTimeout = setTimeout((function() {\n if (!hasStarted) {\n cleanUp();\n return resolve();\n }\n }), 200);\n clean && clean(cleanUp);\n }));\n }\n function makeElementVisible(element) {\n element.style.setProperty(\"visibility\", \"\");\n }\n function makeElementInvisible(element) {\n element.style.setProperty(\"visibility\", \"hidden\", \"important\");\n }\n function showElement(element) {\n element.style.setProperty(\"display\", \"\");\n }\n function hideElement(element) {\n element.style.setProperty(\"display\", \"none\", \"important\");\n }\n function destroyElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n function showAndAnimate(element, name, clean) {\n var animation = animate(element, name, clean);\n showElement(element);\n return animation;\n }\n function animateAndHide(element, name, clean) {\n return animate(element, name, clean).then((function() {\n hideElement(element);\n }));\n }\n function addClass(element, name) {\n element.classList.add(name);\n }\n function removeClass(element, name) {\n element.classList.remove(name);\n }\n function isElementClosed(el) {\n return !(el && el.parentNode && el.ownerDocument && el.ownerDocument.documentElement && el.ownerDocument.documentElement.contains(el));\n }\n function watchElementForClose(element, handler) {\n handler = once(handler);\n var cancelled = !1;\n var mutationObservers = [];\n var interval;\n var sacrificialFrame;\n var sacrificialFrameWin;\n var cancel = function() {\n cancelled = !0;\n for (var _i18 = 0; _i18 < mutationObservers.length; _i18++) mutationObservers[_i18].disconnect();\n interval && interval.cancel();\n sacrificialFrameWin && sacrificialFrameWin.removeEventListener(\"unload\", elementClosed);\n sacrificialFrame && destroyElement(sacrificialFrame);\n };\n var elementClosed = function() {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n if (isElementClosed(element)) {\n elementClosed();\n return {\n cancel: cancel\n };\n }\n if (window.MutationObserver) {\n var mutationElement = element.parentElement;\n for (;mutationElement; ) {\n var mutationObserver = new window.MutationObserver((function() {\n isElementClosed(element) && elementClosed();\n }));\n mutationObserver.observe(mutationElement, {\n childList: !0\n });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n (sacrificialFrame = document.createElement(\"iframe\")).setAttribute(\"name\", \"__detect_close_\" + uniqueID() + \"__\");\n sacrificialFrame.style.display = \"none\";\n awaitFrameWindow(sacrificialFrame).then((function(frameWin) {\n (sacrificialFrameWin = function(win) {\n if (!isSameDomain(win)) throw new Error(\"Expected window to be same domain\");\n return win;\n }(frameWin)).addEventListener(\"unload\", elementClosed);\n }));\n element.appendChild(sacrificialFrame);\n interval = safeInterval((function() {\n isElementClosed(element) && elementClosed();\n }), 1e3);\n return {\n cancel: cancel\n };\n }\n function fixScripts(el, doc) {\n void 0 === doc && (doc = window.document);\n for (var _i20 = 0, _querySelectorAll2 = querySelectorAll(\"script\", el); _i20 < _querySelectorAll2.length; _i20++) {\n var script = _querySelectorAll2[_i20];\n var parentNode = script.parentNode;\n if (parentNode) {\n var newScript = doc.createElement(\"script\");\n newScript.text = script.textContent;\n parentNode.replaceChild(newScript, script);\n }\n }\n }\n function onResize(el, handler, _temp) {\n var _ref2 = void 0 === _temp ? {} : _temp, _ref2$width = _ref2.width, width = void 0 === _ref2$width || _ref2$width, _ref2$height = _ref2.height, height = void 0 === _ref2$height || _ref2$height, _ref2$interval = _ref2.interval, interval = void 0 === _ref2$interval ? 100 : _ref2$interval, _ref2$win = _ref2.win, win = void 0 === _ref2$win ? window : _ref2$win;\n var currentWidth = el.offsetWidth;\n var currentHeight = el.offsetHeight;\n var canceled = !1;\n handler({\n width: currentWidth,\n height: currentHeight\n });\n var check = function() {\n if (!canceled && isElementVisible(el)) {\n var newWidth = el.offsetWidth;\n var newHeight = el.offsetHeight;\n (width && newWidth !== currentWidth || height && newHeight !== currentHeight) && handler({\n width: newWidth,\n height: newHeight\n });\n currentWidth = newWidth;\n currentHeight = newHeight;\n }\n };\n var observer;\n var timeout;\n win.addEventListener(\"resize\", check);\n if (void 0 !== win.ResizeObserver) {\n (observer = new win.ResizeObserver(check)).observe(el);\n timeout = safeInterval(check, 10 * interval);\n } else if (void 0 !== win.MutationObserver) {\n (observer = new win.MutationObserver(check)).observe(el, {\n attributes: !0,\n childList: !0,\n subtree: !0,\n characterData: !1\n });\n timeout = safeInterval(check, 10 * interval);\n } else timeout = safeInterval(check, interval);\n return {\n cancel: function() {\n canceled = !0;\n observer.disconnect();\n window.removeEventListener(\"resize\", check);\n timeout.cancel();\n }\n };\n }\n function getResourceLoadTime(url) {\n var performance = getPerformance();\n if (performance && \"function\" == typeof performance.getEntries) {\n var entries = performance.getEntries();\n for (var i = 0; i < entries.length; i++) {\n var entry = entries[i];\n if (entry && entry.name && 0 === entry.name.indexOf(url) && \"number\" == typeof entry.duration) return Math.floor(entry.duration);\n }\n }\n }\n function isShadowElement(element) {\n for (;element.parentNode; ) element = element.parentNode;\n return \"[object ShadowRoot]\" === element.toString();\n }\n function getShadowRoot(element) {\n for (;element.parentNode; ) element = element.parentNode;\n if (isShadowElement(element)) return element;\n }\n function getShadowHost(element) {\n var shadowRoot = getShadowRoot(element);\n if (shadowRoot.host) return shadowRoot.host;\n }\n function insertShadowSlot(element) {\n var shadowHost = getShadowHost(element);\n if (!shadowHost) throw new Error(\"Element is not in shadow dom\");\n if (isShadowElement(shadowHost)) throw new Error(\"Host element is also in shadow dom\");\n var slotName = \"shadow-slot-\" + uniqueID();\n var slot = document.createElement(\"slot\");\n slot.setAttribute(\"name\", slotName);\n element.appendChild(slot);\n var slotProvider = document.createElement(\"div\");\n slotProvider.setAttribute(\"slot\", slotName);\n shadowHost.appendChild(slotProvider);\n return slotProvider;\n }\n function preventClickFocus(el) {\n var onFocus = function onFocus(event) {\n el.removeEventListener(\"focus\", onFocus);\n event.preventDefault();\n el.blur();\n return !1;\n };\n el.addEventListener(\"mousedown\", (function() {\n el.addEventListener(\"focus\", onFocus);\n setTimeout((function() {\n el.removeEventListener(\"focus\", onFocus);\n }), 1);\n }));\n }\n function getStackTrace() {\n try {\n throw new Error(\"_\");\n } catch (err) {\n return err.stack || \"\";\n }\n }\n var currentScript = \"undefined\" != typeof document ? document.currentScript : null;\n var getCurrentScript = memoize((function() {\n if (currentScript) return currentScript;\n if (currentScript = function() {\n try {\n var stack = getStackTrace();\n var stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n var scriptLocation = stackDetails && stackDetails[1];\n if (!scriptLocation) return;\n for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName(\"script\")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {\n var script = _Array$prototype$slic2[_i22];\n if (script.src && script.src === scriptLocation) return script;\n }\n } catch (err) {}\n }()) return currentScript;\n throw new Error(\"Can not determine current script\");\n }));\n var currentUID = uniqueID();\n var getCurrentScriptUID = memoize((function() {\n var script;\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n var uid = script.getAttribute(ATTRIBUTES.UID);\n if (uid && \"string\" == typeof uid) return uid;\n if ((uid = script.getAttribute(ATTRIBUTES.UID + \"-auto\")) && \"string\" == typeof uid) return uid;\n uid = uniqueID();\n script.setAttribute(ATTRIBUTES.UID + \"-auto\", uid);\n return uid;\n }));\n function getStorage(_ref) {\n var name = _ref.name, _ref$lifetime = _ref.lifetime, lifetime = void 0 === _ref$lifetime ? 12e5 : _ref$lifetime;\n return inlineMemoize(getStorage, (function() {\n var STORAGE_KEY = \"__\" + name + \"_storage__\";\n var newStateID = uniqueID();\n var accessedStorage;\n function getState(handler) {\n var localStorageEnabled = isLocalStorageEnabled();\n var storage;\n accessedStorage && (storage = accessedStorage);\n if (!storage && localStorageEnabled) {\n var rawStorage = window.localStorage.getItem(STORAGE_KEY);\n rawStorage && (storage = JSON.parse(rawStorage));\n }\n storage || (storage = getGlobal()[STORAGE_KEY]);\n storage || (storage = {\n id: newStateID\n });\n storage.id || (storage.id = newStateID);\n accessedStorage = storage;\n var result = handler(storage);\n localStorageEnabled ? window.localStorage.setItem(STORAGE_KEY, JSON.stringify(storage)) : getGlobal()[STORAGE_KEY] = storage;\n accessedStorage = null;\n return result;\n }\n function getID() {\n return getState((function(storage) {\n return storage.id;\n }));\n }\n function getSession(handler) {\n return getState((function(storage) {\n var session = storage.__session__;\n var now = Date.now();\n session && now - session.created > lifetime && (session = null);\n session || (session = {\n guid: uniqueID(),\n created: now\n });\n storage.__session__ = session;\n return handler(session);\n }));\n }\n return {\n getState: getState,\n getID: getID,\n isStateFresh: function() {\n return getID() === newStateID;\n },\n getSessionState: function(handler) {\n return getSession((function(session) {\n session.state = session.state || {};\n return handler(session.state);\n }));\n },\n getSessionID: function() {\n return getSession((function(session) {\n return session.guid;\n }));\n }\n };\n }), [ {\n name: name,\n lifetime: lifetime\n } ]);\n }\n function getBelterExperimentStorage() {\n return getStorage({\n name: \"belter_experiment\"\n });\n }\n function isEventUnique(name) {\n return getBelterExperimentStorage().getSessionState((function(state) {\n state.loggedBeacons = state.loggedBeacons || [];\n if (-1 === state.loggedBeacons.indexOf(name)) {\n state.loggedBeacons.push(name);\n return !0;\n }\n return !1;\n }));\n }\n function getRandomInteger(range) {\n return Math.floor(Math.random() * range);\n }\n function experiment(_ref) {\n var name = _ref.name, _ref$sample = _ref.sample, sample = void 0 === _ref$sample ? 50 : _ref$sample, _ref$logTreatment = _ref.logTreatment, logTreatment = void 0 === _ref$logTreatment ? src_util_noop : _ref$logTreatment, _ref$logCheckpoint = _ref.logCheckpoint, logCheckpoint = void 0 === _ref$logCheckpoint ? src_util_noop : _ref$logCheckpoint, _ref$sticky = _ref.sticky;\n var throttle = void 0 === _ref$sticky || _ref$sticky ? function(name) {\n return getBelterExperimentStorage().getState((function(state) {\n state.throttlePercentiles = state.throttlePercentiles || {};\n state.throttlePercentiles[name] = state.throttlePercentiles[name] || getRandomInteger(100);\n return state.throttlePercentiles[name];\n }));\n }(name) : getRandomInteger(100);\n var group;\n var treatment = name + \"_\" + (group = throttle < sample ? \"test\" : sample >= 50 || sample <= throttle && throttle < 2 * sample ? \"control\" : \"throttle\");\n var started = !1;\n var forced = !1;\n try {\n window.localStorage && window.localStorage.getItem(name) && (forced = !0);\n } catch (err) {}\n return {\n isEnabled: function() {\n return \"test\" === group || forced;\n },\n isDisabled: function() {\n return \"test\" !== group && !forced;\n },\n getTreatment: function() {\n return treatment;\n },\n log: function(checkpoint, payload) {\n void 0 === payload && (payload = {});\n if (!started) return this;\n isEventUnique(treatment + \"_\" + JSON.stringify(payload)) && logTreatment({\n name: name,\n treatment: treatment,\n payload: payload,\n throttle: throttle\n });\n isEventUnique(treatment + \"_\" + checkpoint + \"_\" + JSON.stringify(payload)) && logCheckpoint({\n name: name,\n treatment: treatment,\n checkpoint: checkpoint,\n payload: payload,\n throttle: throttle\n });\n return this;\n },\n logStart: function(payload) {\n void 0 === payload && (payload = {});\n started = !0;\n return this.log(\"start\", payload);\n },\n logComplete: function(payload) {\n void 0 === payload && (payload = {});\n return this.log(\"complete\", payload);\n }\n };\n }\n function getGlobalNameSpace(_ref) {\n var name = _ref.name, _ref$version = _ref.version, version = void 0 === _ref$version ? \"latest\" : _ref$version;\n var global = getGlobal();\n var globalKey = \"__\" + name + \"__\" + version + \"_global__\";\n var namespace = global[globalKey] = global[globalKey] || {};\n return {\n get: function(key, defValue) {\n defValue = defValue || {};\n return namespace[key] = namespace[key] || defValue;\n }\n };\n }\n var headerBuilders = [];\n function request(_ref) {\n var url = _ref.url, _ref$method = _ref.method, method = void 0 === _ref$method ? \"get\" : _ref$method, _ref$headers = _ref.headers, headers = void 0 === _ref$headers ? {} : _ref$headers, json = _ref.json, data = _ref.data, body = _ref.body, _ref$win = _ref.win, win = void 0 === _ref$win ? window : _ref$win, _ref$timeout = _ref.timeout, timeout = void 0 === _ref$timeout ? 0 : _ref$timeout;\n return new promise_ZalgoPromise((function(resolve, reject) {\n if (json && data || json && body || data && json) throw new Error(\"Only options.json or options.data or options.body should be passed\");\n var normalizedHeaders = {};\n for (var _i4 = 0, _Object$keys2 = Object.keys(headers); _i4 < _Object$keys2.length; _i4++) {\n var _key2 = _Object$keys2[_i4];\n normalizedHeaders[_key2.toLowerCase()] = headers[_key2];\n }\n json ? normalizedHeaders[\"content-type\"] = normalizedHeaders[\"content-type\"] || \"application/json\" : (data || body) && (normalizedHeaders[\"content-type\"] = normalizedHeaders[\"content-type\"] || \"application/x-www-form-urlencoded; charset=utf-8\");\n normalizedHeaders.accept = normalizedHeaders.accept || \"application/json\";\n for (var _i6 = 0; _i6 < headerBuilders.length; _i6++) {\n var builtHeaders = (0, headerBuilders[_i6])();\n for (var _i8 = 0, _Object$keys4 = Object.keys(builtHeaders); _i8 < _Object$keys4.length; _i8++) {\n var _key3 = _Object$keys4[_i8];\n normalizedHeaders[_key3.toLowerCase()] = builtHeaders[_key3];\n }\n }\n var xhr = new win.XMLHttpRequest;\n xhr.addEventListener(\"load\", (function() {\n var responseHeaders = function(rawHeaders) {\n void 0 === rawHeaders && (rawHeaders = \"\");\n var result = {};\n for (var _i2 = 0, _rawHeaders$trim$spli2 = rawHeaders.trim().split(\"\\n\"); _i2 < _rawHeaders$trim$spli2.length; _i2++) {\n var _line$split = _rawHeaders$trim$spli2[_i2].split(\":\"), _key = _line$split[0], values = _line$split.slice(1);\n result[_key.toLowerCase()] = values.join(\":\").trim();\n }\n return result;\n }(this.getAllResponseHeaders());\n if (!this.status) return reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" failed: no response status code.\"));\n var contentType = responseHeaders[\"content-type\"];\n var isJSON = contentType && (0 === contentType.indexOf(\"application/json\") || 0 === contentType.indexOf(\"text/json\"));\n var responseBody = this.responseText;\n try {\n responseBody = JSON.parse(responseBody);\n } catch (err) {\n if (isJSON) return reject(new Error(\"Invalid json: \" + this.responseText + \".\"));\n }\n return resolve({\n status: this.status,\n headers: responseHeaders,\n body: responseBody\n });\n }), !1);\n xhr.addEventListener(\"error\", (function(evt) {\n reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" failed: \" + evt.toString() + \".\"));\n }), !1);\n xhr.open(method, url, !0);\n for (var _key4 in normalizedHeaders) normalizedHeaders.hasOwnProperty(_key4) && xhr.setRequestHeader(_key4, normalizedHeaders[_key4]);\n json ? body = JSON.stringify(json) : data && (body = Object.keys(data).map((function(key) {\n return encodeURIComponent(key) + \"=\" + (data ? encodeURIComponent(data[key]) : \"\");\n })).join(\"&\"));\n xhr.timeout = timeout;\n xhr.ontimeout = function() {\n reject(new Error(\"Request to \" + method.toLowerCase() + \" \" + url + \" has timed out\"));\n };\n xhr.send(body);\n }));\n }\n function addHeaderBuilder(method) {\n headerBuilders.push(method);\n }\n var types_TYPES = !0;\n function memoized(target, name, descriptor) {\n descriptor.value = memoize(descriptor.value, {\n name: name,\n thisNamespace: !0\n });\n }\n function decorators_promise(target, name, descriptor) {\n descriptor.value = promisify(descriptor.value, {\n name: name\n });\n }\n function isPerc(str) {\n return \"string\" == typeof str && /^[0-9]+%$/.test(str);\n }\n function isPx(str) {\n return \"string\" == typeof str && /^[0-9]+px$/.test(str);\n }\n function toNum(val) {\n if (\"number\" == typeof val) return val;\n var match = val.match(/^([0-9]+)(px|%)$/);\n if (!match) throw new Error(\"Could not match css value from \" + val);\n return parseInt(match[1], 10);\n }\n function toPx(val) {\n return toNum(val) + \"px\";\n }\n function toCSS(val) {\n return \"number\" == typeof val ? toPx(val) : isPerc(val) ? val : toPx(val);\n }\n function percOf(num, perc) {\n return parseInt(num * toNum(perc) / 100, 10);\n }\n function normalizeDimension(dim, max) {\n if (\"number\" == typeof dim) return dim;\n if (isPerc(dim)) return percOf(max, dim);\n if (isPx(dim)) return toNum(dim);\n throw new Error(\"Can not normalize dimension: \" + dim);\n }\n function wrapPromise(method, _temp) {\n var _ref$timeout = (void 0 === _temp ? {} : _temp).timeout;\n var expected = [];\n var promises = [];\n var timer = setTimeout((function() {\n expected.length && promises.push(promise_ZalgoPromise.asyncReject(new Error(\"Expected \" + expected[0] + \" to be called\")));\n }), void 0 === _ref$timeout ? 5e3 : _ref$timeout);\n var expect = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n expected.push(name);\n return function() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n removeFromArray(expected, name);\n var _tryCatch = tryCatch((function() {\n var _fn;\n return (_fn = fn).call.apply(_fn, [ _this ].concat(args));\n })), result = _tryCatch.result, error = _tryCatch.error;\n if (error) {\n promises.push(promise_ZalgoPromise.asyncReject(error));\n throw error;\n }\n promises.push(promise_ZalgoPromise.resolve(result));\n return result;\n };\n };\n var avoid = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n return function() {\n var _fn2;\n promises.push(promise_ZalgoPromise.asyncReject(new Error(\"Expected \" + name + \" to not be called\")));\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) args[_key2] = arguments[_key2];\n return (_fn2 = fn).call.apply(_fn2, [ this ].concat(args));\n };\n };\n var expectError = function(name, fn) {\n void 0 === fn && (fn = src_util_noop);\n expected.push(name);\n return function() {\n var _this2 = this;\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) args[_key3] = arguments[_key3];\n removeFromArray(expected, name);\n var _tryCatch2 = tryCatch((function() {\n var _fn3;\n return (_fn3 = fn).call.apply(_fn3, [ _this2 ].concat(args));\n })), result = _tryCatch2.result, error = _tryCatch2.error;\n if (error) throw error;\n promises.push(promise_ZalgoPromise.resolve(result).then((function() {\n throw new Error(\"Expected \" + name + \" to throw an error\");\n }), src_util_noop));\n return result;\n };\n };\n var wait = function wait() {\n return promise_ZalgoPromise.try((function() {\n if (promises.length) return promises.pop();\n })).then((function() {\n return promises.length ? wait() : expected.length ? promise_ZalgoPromise.delay(10).then(wait) : void 0;\n }));\n };\n promises.push(promise_ZalgoPromise.try((function() {\n return method({\n expect: expect,\n avoid: avoid,\n expectError: expectError,\n error: avoid,\n wait: wait\n });\n })));\n return wait().then((function() {\n clearTimeout(timer);\n }));\n }\n } ]);\n}));","/* @flow */\n\n// $FlowFixMe\nmodule.exports = require('./dist/belter'); // eslint-disable-line import/no-commonjs\n","export enum CLASS {\n VISIBLE = 'is-visible',\n INVISIBLE = 'is-invisible'\n}\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CLASS} from './enums';\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n div.setAttribute('id', uid);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n display: block;\n position: relative;\n width: ${width};\n height: ${height};\n }\n #${uid} > iframe {\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n frame.allowPaymentRequest = 'true';\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","import postRobot from 'post-robot';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {containerTemplate} from '../container';\nimport {CardInputProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {transformStyle, validateComponentProps} from '../utils';\nimport {config} from '../config';\nimport {getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst CREATE_TOKEN_EVENT = 'CREATE_TOKEN';\n\nconst getCreateTokenFunction = (ref: any) => {\n if (ref.state?.__createToken) {\n return ref.state.__createToken;\n }\n if (ref.parent?.state?.__createToken) {\n return ref.parent.state.__createToken;\n }\n if (ref.state?.parent?.state?.__createToken) {\n return ref.state.parent.state.__createToken;\n }\n throw new Error('Index is not registered');\n};\n\nexport const createToken = async (\n component?: MoneiComponent<CardInputProps>,\n options?: any\n): Promise<{token?: string; error?: string}> => {\n const {data} = await getCreateTokenFunction(component)(options);\n return data;\n};\n\nconst options: ComponentOptionsType<CardInputProps> = {\n tag: 'monei-card-input',\n url: config.cardInputUrl,\n dimensions: {\n width: '100%',\n height: 'auto'\n },\n autoResize: {\n width: false,\n height: true\n },\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n alias: 'orderId'\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onBlur: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onEnter: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onChange: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onFocus: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n placeholders: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n errorMessages: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n }\n },\n validate: validateComponentProps,\n containerTemplate: (params) => {\n params.state.__createToken = (data: any = {}) => {\n if (!params.frame) {\n throw new Error('CardInput instance is not registered');\n }\n return postRobot.send(params.frame.contentWindow, CREATE_TOKEN_EVENT, data, {\n domain: config.domain\n });\n };\n return containerTemplate(params);\n },\n prerenderTemplate: ({doc, props}) => {\n const html = doc.createElement('html');\n const body = doc.createElement('body');\n body.style.margin = '0';\n const div = doc.createElement('div');\n div.style.height = '36px';\n div.style.boxSizing = 'border-box';\n const style = props.style || props.innerStyle;\n if (style?.base) {\n Object.assign(div.style, transformStyle(style.base));\n }\n if (style?.loading) {\n Object.assign(div.style, transformStyle(style.loading));\n }\n body.appendChild(div);\n html.appendChild(body);\n return html;\n }\n};\n\nexport const CardInput: MoneiComponent<CardInputProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {ConfirmPaymentParams, PaymentModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {PaymentResult} from '../types';\nimport {containerTemplate} from '../container';\n\nexport * from './types';\n\nconst options: ComponentOptionsType<PaymentModalProps> = {\n tag: 'monei-payment-modal',\n url: config.paymentModalUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n isOpen: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: true\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n generatePaymentToken: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n fullscreen: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n customer: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n paymentMethod: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n allowedPaymentMethods: {\n type: zoid.PROP_TYPE.ARRAY,\n required: false\n },\n customDomain: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n billingDetails: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n shippingDetails: {\n type: zoid.PROP_TYPE.OBJECT,\n required: false\n },\n onResult: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n }\n }\n};\n\nexport const PaymentModal: MoneiComponent<PaymentModalProps> = zoid.create(options);\n\nexport const confirmPayment = async (params: ConfirmPaymentParams) => {\n const rootNode = document.createElement('div');\n const bodyOverflow = document.body.style.overflow;\n document.body.appendChild(rootNode);\n return new Promise<PaymentResult>(async (resolve, reject) => {\n const modal = new PaymentModal({\n ...params,\n isOpen: true,\n onOpen: () => {\n Object.assign(document.body.style, {overflow: 'hidden'});\n Object.assign(rootNode.style, {\n position: 'fixed',\n overflow: 'hidden',\n display: 'block',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: '100%',\n height: '100%',\n zIndex: 99999\n });\n },\n onResult: (result: any) => {\n resolve(result);\n Object.assign(document.body.style, {overflow: bodyOverflow});\n document.body.removeChild(rootNode);\n },\n onError: (error: any) => {\n reject(error);\n Object.assign(document.body.style, {overflow: bodyOverflow});\n document.body.removeChild(rootNode);\n }\n });\n await modal.render(rootNode);\n });\n};\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {createToken, getPaymentMethods} from '../api';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {loadScript} from '../utils';\nimport {PayPalProps} from './types';\n\nexport * from './types';\n\nconst namespace = 'monei-paypal';\n\nconst onLoadPaypal = async (props: PayPalProps, state: any, src: string) => {\n const script = await loadScript(src, props.cspNonce, {namespace, cspNonce: props.cspNonce}, true);\n state.__scriptId = script.dataset.uidAuto;\n const defaultStyle = {\n layout: 'horizontal',\n tagline: false\n };\n const style = {...defaultStyle, ...props.style};\n if (typeof style.height === 'string') {\n style.height = parseInt(style.height.replace('px', ''));\n }\n props.onLoad?.(true);\n let token: string | undefined;\n await window[namespace]\n .Buttons({\n createOrder: async () => {\n try {\n const result = await createToken({\n paymentId: props.paymentId,\n accountId: props.accountId,\n sessionId: props.sessionId,\n amount: props.amount,\n currency: props.currency,\n transactionType: props.transactionType,\n paymentMethod: {\n paypal: {}\n }\n });\n token = result.paymentToken;\n return result.paypal?.orderId;\n } catch (error) {\n props.onError?.(error);\n return;\n }\n },\n onApprove: function (data: any) {\n if (data.orderID) {\n props.onSubmit({token});\n } else {\n props.onError?.(data);\n }\n },\n onClick: function (_data: any, actions: any) {\n let shouldOpen = true;\n if (props.onBeforeOpen) {\n shouldOpen = props.onBeforeOpen();\n }\n if (!shouldOpen) return actions.reject();\n },\n style\n })\n .render(state.__container);\n};\n\nconst options: ComponentOptionsType<PayPalProps> = {\n tag: namespace,\n url: config.paypalUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: (params) => {\n params.state.__container = params.container;\n if (!params.props.accountId && !params.props.paymentId) {\n throw new Error('You need to provide paymentId or accountId');\n }\n const container = containerTemplate(params);\n params.event.on(zoid.EVENT.DESTROY, () => {\n window[namespace].Buttons.instances.forEach((instance: any) => {\n instance.close();\n });\n const scriptId = params.state.__scriptId;\n if (scriptId) {\n const script = document.querySelector(`script[data-uid-auto=\"${scriptId}\"]`);\n if (script) {\n script.remove();\n }\n }\n });\n return container;\n },\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n transactionType: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n cspNonce: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onLoadPayPal: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value({props, state}: {props: PayPalProps; state: any}) {\n return onLoadPaypal.bind(null, props, state);\n }\n }\n }\n};\n\nexport const PayPal: MoneiComponent<PayPalProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n\n if (props.isHidden) {\n div.setAttribute('id', uid);\n div.style.display = 'none';\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n return div;\n }\n\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {BizumModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<BizumModalProps> = {\n tag: 'monei-bizum',\n url: config.bizumUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n transactionType: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n phoneNumber: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n isHidden: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n },\n exports: {\n setPhoneNumber: {\n type: 'function'\n },\n getPhoneNumber: {\n type: 'function'\n }\n }\n};\n\nexport const BizumModal: MoneiComponent<BizumModalProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {GetPaymentMethodsResponse} from '..';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {getPaymentMethods} from '../api';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {BizumModal} from './modal';\nimport {BizumProps} from './types';\n\nexport * from './modal';\nexport * from './types';\n\nconst options: ComponentOptionsType<BizumProps> = {\n tag: 'monei-bizum-button',\n url: config.bizumButtonUrl,\n dimensions: {\n width: '100%',\n height: 'auto'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n transactionType: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n phoneNumber: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props, state}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency}: GetPaymentMethodsResponse) => {\n if (state.isOpen) return;\n let shouldOpen = true;\n if (props.onBeforeOpen) {\n shouldOpen = props.onBeforeOpen();\n }\n if (!shouldOpen) return;\n state.isOpen = true;\n const bizumModal = new BizumModal({\n amount,\n currency,\n ...props,\n onClose: () => {\n state.isOpen = false;\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => bizumModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return bizumModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const Bizum: MoneiComponent<BizumProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<CofidisModalProps> = {\n tag: 'monei-cofidis',\n url: config.cofidisUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const CofidisModal: MoneiComponent<CofidisModalProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisWidgetProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\n\nconst options: ComponentOptionsType<CofidisWidgetProps> = {\n tag: 'monei-cofidis-widget',\n url: config.cofidisWidgetUrl,\n dimensions: {\n width: '100%',\n height: '46px'\n },\n autoResize: {\n width: false,\n height: true\n },\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n amountInt: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n default: () => 'es'\n },\n showLogo: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n }\n }\n};\n\nexport const CofidisWidget: MoneiComponent<CofidisWidgetProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {CofidisModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '../types';\n\nexport * from './types';\nexport * from './modal';\nexport * from './widget';\n\nconst options: ComponentOptionsType<CofidisProps> = {\n tag: 'monei-cofidis-button',\n url: config.cofidisButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n hint: {\n type: zoid.PROP_TYPE.BOOLEAN,\n default: () => true,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onHintClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency, accountId}: GetPaymentMethodsResponse) => {\n let shouldOpen = true;\n if (props.onBeforeOpen) {\n shouldOpen = props.onBeforeOpen();\n }\n if (!shouldOpen) return;\n const cofidisModal = new CofidisModal({\n ...props,\n amount,\n currency,\n accountId,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => cofidisModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return cofidisModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const Cofidis: MoneiComponent<CofidisProps> = zoid.create(options);\n","import belter from 'belter';\n// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CLASS} from '../enums';\n\nexport enum EVENT {\n BEFORE_CLOSE = 'BEFORE_CLOSE'\n}\n\nexport function containerTemplate({\n uid,\n frame,\n prerenderFrame,\n doc,\n props,\n event,\n dimensions: {width, height}\n}: Record<any, any>): HTMLElement | undefined {\n if (!frame || !prerenderFrame) {\n return;\n }\n\n const div = doc.createElement('div');\n const backdrop = doc.createElement('div');\n div.setAttribute('id', uid);\n backdrop.classList.add('backdrop');\n div.appendChild(backdrop);\n const style = doc.createElement('style');\n if (props.cspNonce) {\n style.setAttribute('nonce', props.cspNonce);\n }\n\n style.appendChild(\n doc.createTextNode(`\n #${uid} {\n position: fixed;\n overflow: hidden;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: ${width};\n height: ${height};\n z-index: 99999;\n }\n #${uid} > .backdrop {\n position: fixed;\n display: block;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(40, 40, 40, 0.7);\n transition: opacity 0.35s ease-in-out;\n opacity: 0;\n will-change: opacity;\n }\n #${uid} > .backdrop.${CLASS.VISIBLE} {\n opacity: 1;\n }\n #${uid} > iframe {\n display: inline-block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transition: all .2s ease-in-out;\n }\n #${uid} > iframe.${CLASS.INVISIBLE} {\n opacity: 0;\n }\n #${uid} > iframe.${CLASS.VISIBLE} {\n opacity: 1;\n }\n `)\n );\n\n div.appendChild(frame);\n div.appendChild(prerenderFrame);\n div.appendChild(style);\n\n prerenderFrame.classList.add(CLASS.VISIBLE);\n frame.classList.add(CLASS.INVISIBLE);\n\n setTimeout(() => {\n backdrop.classList.add(CLASS.VISIBLE);\n }, 1);\n\n event.on(zoid.EVENT.RENDERED, () => {\n prerenderFrame.classList.remove(CLASS.VISIBLE);\n prerenderFrame.classList.add(CLASS.INVISIBLE);\n\n frame.classList.remove(CLASS.INVISIBLE);\n frame.classList.add(CLASS.VISIBLE);\n\n setTimeout(() => {\n belter.destroyElement(prerenderFrame);\n }, 1);\n });\n\n event.on(EVENT.BEFORE_CLOSE, () => {\n backdrop.classList.remove(CLASS.VISIBLE);\n });\n\n event.on(zoid.EVENT.RESIZE, ({width: newWidth, height: newHeight}: Record<any, any>) => {\n if (typeof newWidth === 'number') {\n div.style.width = belter.toCSS(newWidth);\n }\n\n if (typeof newHeight === 'number') {\n div.style.height = belter.toCSS(newHeight);\n }\n });\n\n return div;\n}\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisLoanModalProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate, EVENT} from './container';\n\nconst options: ComponentOptionsType<CofidisLoanModalProps> = {\n tag: 'monei-cofidis-loan',\n url: config.cofidisLoanUrl,\n dimensions: {\n width: '100%',\n height: '100%'\n },\n autoResize: {\n width: false,\n height: false\n },\n prerenderTemplate: () => undefined,\n containerTemplate: containerTemplate,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeClose: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n default: ({event}: any) => {\n return () => {\n event.trigger(EVENT.BEFORE_CLOSE);\n };\n }\n }\n }\n};\n\nexport const CofidisLoanModal: MoneiComponent<CofidisLoanModalProps> = zoid.create(options);\nexport const CofidisPayModal = CofidisLoanModal;\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisLoanWidgetProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\n\nconst options: ComponentOptionsType<CofidisLoanWidgetProps> = {\n tag: 'monei-cofidis-loan-widget',\n url: config.cofidisLoanWidgetUrl,\n dimensions: {\n width: '100%',\n height: '46px'\n },\n autoResize: {\n width: false,\n height: true\n },\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: true\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n amountInt: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false,\n default: () => 'es'\n },\n showLogo: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n }\n }\n};\n\nexport const CofidisLoanWidget: MoneiComponent<CofidisLoanWidgetProps> = zoid.create(options);\nexport const CofidisPayWidget = CofidisLoanWidget;\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {CofidisLoanProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {CofidisLoanModal} from './modal';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\nimport {GetPaymentMethodsResponse} from '../types';\n\nexport * from './types';\nexport * from './modal';\nexport * from './widget';\n\nconst options: ComponentOptionsType<CofidisLoanProps> = {\n tag: 'monei-cofidis-loan-button',\n url: config.cofidisLoanButtonUrl,\n dimensions: {\n width: '100%',\n height: '45px'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n hint: {\n type: zoid.PROP_TYPE.BOOLEAN,\n default: () => true,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __onHintClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: () => {\n return (url: string) => {\n window.open(url, '_blank');\n };\n }\n },\n __onClick: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n const rootNode = document.createElement('div');\n document.body.appendChild(rootNode);\n return ({amount, currency, accountId}: GetPaymentMethodsResponse) => {\n let shouldOpen = true;\n if (props.onBeforeOpen) {\n shouldOpen = props.onBeforeOpen();\n }\n if (!shouldOpen) return;\n const cofidisModal = new CofidisLoanModal({\n ...props,\n amount,\n currency,\n accountId,\n onClose: () => {\n window.onpopstate = null;\n document.body.style.overflow = '';\n },\n isOpen: true\n });\n window.history.pushState(null, '', window.location.href);\n window.onpopstate = () => cofidisModal.updateProps({isOpen: false});\n Object.assign(document.body.style, {overflow: 'hidden'});\n return cofidisModal.render(rootNode);\n };\n }\n }\n }\n};\n\nexport const CofidisLoan: MoneiComponent<CofidisLoanProps> = zoid.create(options);\nexport const CofidisPay = CofidisLoan;\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {GooglePayProps} from './types';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {getPaymentMethods} from '../api';\n\nexport * from './types';\n\nconst options: ComponentOptionsType<GooglePayProps> = {\n tag: 'monei-google-pay',\n url: config.googlePayUrl,\n dimensions: {\n width: '100%',\n height: '0'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n }\n }\n};\n\nexport const GooglePay: MoneiComponent<GooglePayProps> = zoid.create(options);\n","// @ts-ignore\nimport zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport {ComponentOptionsType, MoneiComponent} from '../../types/component';\nimport {createApplePaySession, createToken, getPaymentMethods} from '../api';\nimport {config} from '../config';\nimport {containerTemplate} from '../container';\nimport {validateComponentProps} from '../utils';\nimport {PaymentRequestProps} from './types';\n\nexport * from './types';\n\ntype Context = {\n accountId: string;\n domainName: string;\n displayName: string;\n};\n\nconst onApplePayButtonClicked = async (props: PaymentRequestProps, request: any, context: Context) => {\n const session = new window.ApplePaySession(3, request);\n session.onvalidatemerchant = async (event: any) => {\n try {\n const merchantSession = await createApplePaySession({\n ...context,\n validationUrl: event.validationURL\n });\n session.completeMerchantValidation(merchantSession);\n } catch (error) {\n session.abort();\n }\n };\n\n session.onpaymentauthorized = async (event: any) => {\n const paymentToken = JSON.stringify(event.payment.token);\n const token = window.btoa(paymentToken);\n try {\n const result = await createToken({\n accountId: props.accountId,\n paymentId: props.paymentId,\n sessionId: props.sessionId,\n paymentMethod: {\n applePay: {token}\n }\n });\n props.onSubmit({token: result.paymentToken, error: result.error});\n session.completePayment({\n status: window.ApplePaySession.STATUS_SUCCESS\n });\n } catch (error) {\n props.onError?.(error);\n session.completePayment({\n status: window.ApplePaySession.STATUS_FAILURE\n });\n }\n };\n session.begin();\n};\n\nconst options: ComponentOptionsType<PaymentRequestProps> = {\n tag: 'monei-payment-request',\n url: config.paymentRequestUrl,\n dimensions: {\n width: '100%',\n height: 'auto'\n },\n autoResize: {\n width: false,\n height: true\n },\n validate: validateComponentProps,\n containerTemplate,\n prerenderTemplate: () => undefined,\n props: {\n accountId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n sessionId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n paymentId: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n amount: {\n type: zoid.PROP_TYPE.NUMBER,\n required: false\n },\n currency: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n language: {\n type: zoid.PROP_TYPE.STRING,\n required: false\n },\n onError: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onLoad: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeOpen: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n onBeforeSubmit: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false\n },\n style: {\n type: zoid.PROP_TYPE.OBJECT,\n alias: 'innerStyle',\n required: false\n },\n __getConfig: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value: ({props}: any) => {\n return getPaymentMethods.bind(null, props);\n }\n },\n __isApplePaySupported: {\n type: zoid.PROP_TYPE.BOOLEAN,\n required: false,\n value: () => {\n try {\n return window.ApplePaySession?.canMakePayments();\n } catch (error) {\n return false;\n }\n }\n },\n __onApplePayButtonClicked: {\n type: zoid.PROP_TYPE.FUNCTION,\n required: false,\n value({props}: {props: PaymentRequestProps}) {\n return onApplePayButtonClicked.bind(null, props);\n }\n }\n }\n};\n\nexport const PaymentRequest: MoneiComponent<PaymentRequestProps> = zoid.create(options);\n","export enum NextActionType {\n CONFIRM = 'CONFIRM',\n FRICTIONLESS_CHALLENGE = 'FRICTIONLESS_CHALLENGE',\n BIZUM_CHALLENGE = 'BIZUM_CHALLENGE',\n CHALLENGE = 'CHALLENGE',\n COMPLETE = 'COMPLETE'\n}\n\nexport enum CardBrand {\n Visa = 'visa',\n Mastercard = 'mastercard',\n Amex = 'amex',\n Discover = 'discover',\n Diners = 'diners',\n JCB = 'jcb',\n Maestro = 'maestro',\n UnionPay = 'unionpay',\n Elo = 'elo',\n Hipercard = 'hipercard'\n}\n\nexport enum TransactionType {\n AUTH = 'AUTH',\n SALE = 'SALE',\n PAYOUT = 'PAYOUT',\n VERIF = 'VERIF'\n}\n\nexport interface PaymentResult {\n id: string;\n status: string;\n orderId?: string;\n amount?: number;\n currency?: string;\n accountId?: string;\n statusCode?: string;\n statusMessage?: string;\n nextAction?: {\n type: NextActionType;\n mustRedirect: boolean;\n redirectUrl: string;\n };\n}\n\nexport interface Customer {\n email?: string;\n name?: string;\n phone?: string;\n}\n\nexport interface Address {\n country?: string;\n city?: string;\n line1?: string;\n line2?: string;\n zip?: string;\n state?: string;\n}\n\nexport interface BillingDetails {\n name?: string;\n email?: string;\n phone?: string;\n company?: string;\n address?: Address;\n}\n\nexport interface PaymentMethod {\n card?: {\n cardholderName?: string;\n cardholderEmail?: string;\n };\n}\n\nexport type GetPaymentMethodsRequest = {\n accountId?: string;\n paymentId?: string;\n t?: number;\n};\n\nexport type GetPaymentMethodsResponse = {\n paymentMethods: string[];\n livemode: boolean;\n accountId: string;\n amount?: number;\n currency?: string;\n merchantName?: string;\n merchantUrl?: string;\n countryCode?: string;\n metadata: {\n card: {\n brands: CardBrand[];\n };\n paypal?: {\n clientId: string;\n merchantId: string;\n };\n googlePay?: {\n merchantId: string;\n cvcRequired?: boolean;\n };\n applePay?: {\n merchantId: string;\n };\n clickToPay?: {\n tokenSupport: boolean;\n preselected: boolean;\n visa: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n mastercard: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n discover: {\n srciDpaId: string;\n srcInitiatorId: string;\n };\n };\n };\n};\n\nexport type CreateTokenRequest = {\n accountId?: string;\n paymentId?: string;\n sessionId?: string;\n amount?: number;\n currency?: string;\n transactionType?: TransactionType;\n paymentMethod: {\n card?: {\n number: string;\n expMonth: string;\n expYear: string;\n cvc: string;\n };\n paypal?: {};\n cofidis?: {};\n googlePay?: {\n token: string;\n };\n applePay?: {\n token: string;\n };\n bizum?: {\n phoneNumber: string;\n remember?: boolean;\n };\n clickToPay?: {\n token: string;\n cardBrand: string;\n };\n };\n};\n\nexport type CreateTokenResponse = {\n paymentToken?: string;\n error?: string;\n paypal?: {\n orderId: string;\n };\n};\n\nexport type CreatePaymentRequest = {\n accountId: string;\n pointOfSaleId: string;\n amount: number;\n currency: string;\n signature: string;\n};\n\nexport type SendPaymentReceiptRequest = {\n paymentId: string;\n signature: string;\n customerEmail?: string;\n language?: string;\n};\n\nexport type CreateApplePaySessionRequest = {\n accountId: string;\n validationUrl: string;\n domainName: string;\n displayName: string;\n};\n\nexport type CalculateFinancingRequest = {\n amount: number;\n accountId: string;\n paymentMethod?: string;\n};\n\nexport type CalculateFinancingResponse = Array<{\n financingAmount: number;\n tin: number;\n interestAmount: number;\n tae: number;\n quote: number;\n installments: number;\n totalAmount: number;\n legalPhrase: string;\n capEuros: number;\n capPercent: number;\n}>;\n\nexport type ValidateBizumPhoneRequest = {\n accountId?: string;\n paymentId?: string;\n amount?: number;\n phoneNumber: string;\n};\n","import * as _utils from './utils';\nimport * as _api from './api';\n\nexport * from './cardInput';\nexport * from './paymentModal';\nexport * from './paypal';\nexport * from './bizum';\nexport * from './cofidis';\nexport * from './cofidisLoan';\nexport * from './googlePay';\nexport * from './paymentRequest';\nexport * from './config';\nexport * from './types';\nexport const api = _api;\nexport const utils = _utils;\n"],"names":["runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","undefined","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","makeInvokeMethod","tryCatch","fn","arg","type","call","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","constructor","displayName","defineIteratorMethods","forEach","method","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","then","unwrapped","error","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","next","done","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","toString","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","keys","object","reverse","length","pop","iterable","iteratorMethod","isNaN","i","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","transformStyle","style","reduce","prop","loadScript","src","nonce","dataset","forceReload","existingScript","Array","from","document","scripts","find","s","remove","script","createElement","onload","onerror","setAttribute","head","appendChild","stringify","join","fixLocalstorage","localStorage","window","localStorageMock","store","Map","getItem","get","setItem","set","clear","removeItem","getLanguage","lang","split","safe","String","getClientEnv","env","screen","colorDepth","height","width","Date","getTimezoneOffset","Intl","DateTimeFormat","resolvedOptions","timeZone","devicePixelRatio","navigator","hardwareConcurrency","deviceMemory","maxTouchPoints","platform","languages","btoa","thumbmark","Thumbmark","stabilize","getClientFingerprint","withError","p","isMethodSupported","config","paymentMethod","paymentMethods","includes","validateComponentProps","props","paymentId","accountId","amount","currency","stage","process","domain","version","globalConfig","isProduction","paymentPageUrl","posPaymentPageUrl","cardInputUrl","paymentModalUrl","paypalUrl","bizumUrl","bizumButtonUrl","cofidisUrl","cofidisButtonUrl","cofidisWidgetUrl","cofidisLoanUrl","cofidisLoanButtonUrl","cofidisLoanWidgetUrl","googlePayUrl","paymentRequestUrl","click2PayUrl","click2PayButtonUrl","stageConfig","local","apiUrl","secureDomain","rootDomain","dev","prod","request","url","headers","body","fetch","JSON","res","json","ok","statusText","pmCache","getPaymentMethods","params","query","promise","createToken","sessionId","transactionType","getPayment","confirmPayment","createPayment","signature","sendPaymentReceipt","customerEmail","language","createApplePaySession","calculateFinancing","req","validateBizumPhone","root","factory","this","modules","installedModules","__webpack_require__","moduleId","l","m","c","d","getter","o","r","t","mode","__esModule","ns","bind","n","property","__webpack_exports__","promise_ZalgoPromise","src_types_TYPES_0","window_ProxyWindow","setup","destroy","setup_serializeMessage","setup_deserializeMessage","createProxyWindow","setup_toProxyWindow","on_on","on_once","send_send","markWindowKnown","cleanUpWindow","isRegex","item","IE_WIN_ACCESS_ERROR","isAboutProtocol","win","location","protocol","getParent","parent","getOpener","opener","canReadFromWindow","getActualDomain","host","getDomain","mockDomain","indexOf","isSameDomain","desc","getOwnPropertyDescriptor","assertSameDomain","isAncestorParent","child","childParent","getFrames","frames","len","frame","_i","_frame","iframeWindows","iframeFrames","isWindowClosed","allowMock","closed","message","mockclosed","top","iframeIndex","collection","contentWindow","parentNode","doc","ownerDocument","documentElement","contains","getAncestor","matchDomain","pattern","origin","isArray","Boolean","match","some","subpattern","isWindow","Window","__cross_domain_utils_window_check__","closeWindow","close","utils_isPromise","_toString","dispatchedErrors","possiblyUnhandledPromiseHandlers","activeCount","flushPromise","flushActive","startActive","endActive","ZalgoPromise","handler","_this","resolved","rejected","errorHandled","handlers","dispatching","stack","_result","_error","isAsync","_proto","dispatch","_this2","_err","setTimeout","j","asyncReject","chain","firstPromise","secondPromise","_handlers$i","onSuccess","onError","_result2","onFinally","timeout","time","_this3","clearTimeout","toPromise","all","promises","count","results","prom","hash","awaitPromises","_loop","map","items","onPossiblyUnhandledException","cancel","splice","args","apply","delay","_delay","isPromise","flush","Zalgo","util_safeIndexOf","weakmap_CrossDomainSafeWeakMap","CrossDomainSafeWeakMap","weakmap","Math","random","WeakMap","freeze","testWeakMap","testKey","_cleanupClosedWindows","isSafeToReadWrite","index","has","getOrSet","getFunctionName","__name__","setFunctionName","uniqueID","chars","replace","floor","str","encodeURIComponent","p1","fromCharCode","parseInt","Buffer","toISOString","toLowerCase","objectIDs","serializeArgs","subkey","val","uid","getEmptyObject","memoizeGlobalIndex","memoizeGlobalIndexValidFrom","memoize","options","_options$thisNamespac","thisNamespace","cacheTime","simpleCache","thisCache","memoizeIndex","memoizedFunction","_len","arguments","_key","cache","cacheKey","cacheResult","now","memoizePromise","memoizedPromiseFunction","_arguments","_len2","_key2","src_util_noop","stringifyError","level","newErr","util_isRegex","util_getOrSet","isDocumentReady","readyState","isDocumentInteractive","interval","setInterval","clearInterval","currentScript","getCurrentScript","stackDetails","exec","scriptLocation","_i20","_Array$prototype$slic2","getElementsByTagName","currentUID","getAttribute","global_getGlobal","globalKey","getObj","globalStore","defStore","storeKey","defVal","del","WildCard","getWildcard","global","WINDOW_WILDCARD","windowStore","winStore","getStore","getInstanceID","resolveHelloPromise","_ref","helloPromises","existingPromise","newPromise","sayHello","_ref4","send","instanceID","_ref5","data","getWindowInstanceID","_ref6","_ref7","isSerializedType","__type__","determineType","serializeType","__val__","_SERIALIZER","SERIALIZER","code","regex","source","date","toJSON","array","string","number","defaultSerializers","_DESERIALIZER","DESERIALIZER","_ref2","RegExp","defaultDeserializers","cleanupProxyWindows","idToProxyWindow","_i2","_idToProxyWindow$keys2","id","shouldClean","getSerializedWindow","winPromise","_ref$id","windowNamePromise","windowTypePromise","getType","getName","focus","isClosed","setLocation","href","setName","sameDomain","frameElement","_i21","_document$querySelect2","querySelectorAll","ProxyWindow","serializedWindow","isProxyWindow","actualWindow","actualWindowPromise","getID","setWindow","isPopup","_this4","isPopupPromise","getNamePromise","reopenPromise","_ref3","open","focusPromise","getWindow","awaitWindow","matchWindow","_this5","proxyInstanceID","knownWindowInstanceID","unwrap","serialize","toProxyWindow","deserialize","_ref8","_ref9","addMethod","methodStore","proxyWindowMethods","lookupMethod","function_serializeFunction","destination","on","meth","methodSource","__id__","serializeMessage","_serialize","serializers","serializer","deserializeMessage","_deserialize","deserializers","parse","deserializer","cross_domain_zalgo_promise","serializedPromise","cross_domain_function","serializedFunction","getDeserializedFunction","opts","crossDomainFunctionWrapper","_args","fireAndForget","__origin__","__source__","cross_domain_window","SEND_MESSAGE_STRATEGIES","postrobot_post_message","serializedMessage","postMessage","send_sendMessage","domainBuffer","buffer","__post_robot_10_0_42__","strategies","errors","strategyName","getResponseListener","deleteResponseListener","isResponseListenerErrored","getRequestListener","requestListeners","_i4","winQualifier","nameListeners","domainListeners","__domain_regex__","_i6","_domainListeners$__DO2","_domainListeners$__DO3","listener","handleRequest","logName","sendResponse","ack","pathname","handleError","handleAck","handleResponse","receive_receiveMessage","event","receivedMessages","messages","parsedMessage","parseMessages","requestListener","addRequestListener","listenersCollection","_i8","_win2","_i10","_listenersCollection","_i12","_domain2","_i14","existingListener","strDomain","regexListeners","regexListener","errorHandler","domainMatcher","responseTimeout","childTimeout","actualParent","_i7","_getAllChildFrames4","getAllChildFrames","_i3","_getFrames2","_i5","_getAllChildFrames2","_i15","_getFrames8","_temp","targetDomain","actualDomain","normalizedDomain","responseListener","reqPromises","totalAckTimeout","totalResTimeout","ackTimeout","resTimeout","loop","cancelled","max","initialized","receiveMessage","addEventListener","removeEventListener","sourceElement","originalEvent","responseListeners","_responseListeners$ke2","_requestPromises$get2","require","dom_PopupOpenError","component_create","component_destroy","destroyComponents","destroyAll","PROP_TYPE","PROP_SERIALIZATION","CONTEXT","EVENT","_setPrototypeOf","_inheritsLoose","subClass","superClass","_extends","assign","target","promiseResult","lazy","WINDOW_TYPE","IFRAME","POPUP","getActualProtocol","getProtocol","utils_getParent","getTop","getAllFramesInWindow","concat","utils_getUserAgent","mockUserAgent","userAgent","getFrameByName","winFrames","_i9","childFrame","isOpener","anyMatch","collection1","collection2","_i17","item1","_i19","getDistanceFromTop","distance","isSameTopWindow","win1","win2","top1","top2","allFrames1","allFrames2","opener1","opener2","getDomainFromUrl","onCloseWindow","callback","maxtime","check","normalizeMockUrl","getFrameForWindow","parentElement","removeChild","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","e","construct_construct","Parent","Class","a","instance","wrapNativeSuper_wrapNativeSuper","_cache","Wrapper","isElement","element","passed","Element","nodeType","_","base64encode","_unused","once","called","extend","identity","safeInterval","dasherizeToCamel","g","toUpperCase","defineLazyProp","arrayFrom","isObjectObject","isPlainObject","replaceObject","replacer","fullKey","_loop2","itemKey","_loop3","isDefined","cleanup","tasks","cleaned","cleanErr","cleaner","register","task","shift","assertExists","thing","util_ExtendableError","_Error","ExtendableError","_this6","captureStackTrace","ReferenceError","getBody","urlEncode","parseQuery","queryString","logic","__inline_memoize_cache__","_queryString$split2","pair","decodeURIComponent","extendQuery","originalQuery","filter","container","getElementSafe","querySelector","elementReady","el","_ExtendableError","PopupOpenError","awaitFrameLoadPromises","awaitFrameLoad","_promise","awaitFrameWindow","loadedFrame","dom_iframe","tag","className","attributes","_Object$keys2","styleSheet","styleText","cssText","createTextNode","html","innerHTML","allowTransparency","backgroundColor","border","isIE","hasAttribute","showElement","setProperty","hideElement","destroyElement","isElementClosed","onResize","_ref2$width","_ref2$height","_ref2$interval","_ref2$win","currentWidth","offsetWidth","currentHeight","offsetHeight","canceled","getClientRects","newWidth","newHeight","observer","ResizeObserver","observe","MutationObserver","childList","subtree","characterData","disconnect","isShadowElement","_i22","hashedString","total","charCodeAt","abs","isPerc","test","toNum","toPx","toCSS","normalizeDimension","dim","awaitWindowHello","needsBridgeForBrowser","needsBridgeForWin","needsBridgeForDomain","needsBridge","getBridgeName","isBridge","documentBodyReady","registerRemoteWindow","findRemoteWindow","remoteWinPromise","registerRemoteSendMessage","sendMessage","remoteWin","remoteDomain","rejectRemoteSendMessage","linkWindow","popupWindowsByName","popupWindowsByWin","_popupWindowsByName$k2","winName","_details","details","setupBridge","windowOpen","last","bridgePromise","bridge","getWindowDetails","openTunnelToParent","canary","tunnelWindows","parentWindow","_tunnelWindows$keys2","tunnelWindow","_opts$method","_ref3$method","form","display","_i24","_Object$keys4","_body$key","input","submit","postrobot_bridge","messagingChild","messagingParent","postrobot_global","foreignGlobal","__post_robot_11_0_0__","_ret","v","winCandidate","requestListenerPromise","actualWin","winNameListeners","winNameDomainListeners","winNameDomainRegexListeners","winNameDomainRegexListener","winOrProxyWin","src_bridge","openBridge","bridges","bridgeFrames","iframe","linkUrl","hasBridge","destroyBridges","_bridgeFrames$keys2","lib_global_getGlobal","__zoid_10_3_3__","tryGlobal","getProxyObject","basicSerialize","getUIDRefStore","references","crossDomainSerialize","metaData","sender","receiver","_ref$passByReference","passByReference","_ref$basic","basic","proxyWin","reference","serializedData","cleanReference","ref","crossDomainDeserialize","_ref2$basic","atob","STRING","OBJECT","FUNCTION","BOOLEAN","NUMBER","ARRAY","DOTIFY","BASE64","RENDER","RENDERED","PRERENDER","PRERENDERED","DISPLAY","ERROR","CLOSE","DESTROY","PROPS","RESIZE","FOCUS","buildChildWindowName","serializedPayload","parseWindowName","windowName","_windowName$split","zoidcomp","serializedInitialPayload","parseInitialParentPayload","_crossDomainDeseriali","windowRef","ancestor","_getAllFramesInWindow2","windows","findChildFrameByName","_i11","_getFrames4","namedFrame","payload","getInitialParentPayload","window_getWindowRef","targetWindow","currentWindow","normalizeChildProp","propsDef","helpers","childDecorate","onProps","resize","getParentDomain","show","hide","getSiblings","child_focus","child_destroy","props_defaultNoop","props_decorateOnce","eachProp","serializeProps","propDef","_METHOD$GET$METHOD$PO","_METHOD$GET$METHOD$PO2","getParam","queryParam","post","bodyParam","getValue","queryValue","bodyValue","finalParam","finalValue","serialization","dotify","prefix","newobj","every","dotkey","parentComponent","_ref$overrides","overrides","_ref$parentWin","parentWin","containerTemplate","prerenderTemplate","dimensions","autoResize","domainMatch","xports","initPromise","handledErrors","clean","inputProps","internalState","visible","triggered","emitter","eventName","handlerList","trigger","_len3","_key3","triggerOnce","_len4","_key4","currentProxyWin","currentProxyContainer","childComponent","currentChildDomain","currentContainer","isRenderFinished","onErrorOverride","getProxyContainerOverride","getProxyContainer","showOverride","hideOverride","closeOverride","renderContainerOverride","renderContainer","getProxyWindowOverride","getProxyWindow","setProxyWinOverride","setProxyWin","openFrameOverride","openFrame","openPrerenderFrameOverride","openPrerenderFrame","prerenderOverride","prerender","openOverride","openPrerenderOverride","openPrerender","watchForUnloadOverride","watchForUnload","getInternalStateOverride","getInternalState","setInternalStateOverride","setInternalState","getDimensions","resolveInitPromise","rejectInitPromise","getPropsForChild","initialChildDomain","sendToChild","trustedChild","trustedDomains","acc","newInternalState","windowProp","_proxyWin","setState","getUrl","getAttributes","getInitialChildDomain","title","proxyPrerenderFrame","prerenderFrame","prerenderFrameWindow","getCurrentWindowReferenceUID","getWindowRef","actualComponentWindow","initChild","childDomain","childExports","_currentProxyWin","_currentProxyWin2","proxyFrame","_getDimensions","_getDimensions$width","_getDimensions$height","outerWidth","_options$closeOnUnloa","closeOnUnload","_options$name","left","round","screenX","outerHeight","screenY","status","toolbar","menubar","resizable","scrollbars","popup","unloadWindowListener","closeParentWindowListener","checkWindowClose","secondIsClosed","exportsPromise","xport","actualExports","renderTemplate","renderer","proxyPrerenderWin","prerenderWindow","tagName","_arrayFrom2","children","_arrayFrom4","_autoResize$width","_autoResize$height","_autoResize$element","prerenderResizeListener","_ref10","proxyContainer","_ref11","rerender","_ref12","innerContainer","containerWatcher","mutationObservers","sacrificialFrame","sacrificialFrameWin","_i18","elementClosed","mutationElement","mutationObserver","frameWin","removeError","getHelpers","updateProps","setProps","newInputProps","existingProps","valueDetermined","alias","required","decorate","newProps","childProps","containerElement","insertShadowSlot","shadowHost","shadowRoot","slotName","slot","slotProvider","init","onRender","onPrerender","onDisplay","onRendered","onPrerendered","onClose","onDestroy","onFocus","render","_ref14","childDomainMatch","delegatePromise","delegateProps","propName","allowDelegate","childOverridesPromise","_ref13","parentComp","getDelegateOverrides","childOverrides","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len10","_key10","_len11","_key11","_len12","_key12","watchForUnloadPromise","buildBodyPromise","onRenderPromise","getProxyContainerPromise","getProxyWindowPromise","finalSetPropsPromise","buildUrlPromise","originalUrl","originalHash","_url$split","_originalUrl$split","hashString","buildWindowNamePromise","_temp2","_ref6$target","checkClose","childPayload","_crossDomainSerialize","openFramePromise","openPrerenderFramePromise","renderContainerPromise","_ref15","openPromise","_ref16","openPrerenderPromise","_ref17","setStatePromise","prerenderPromise","_ref18","setWindowNamePromise","_ref19","getMethodPromise","_ref20","loadUrlPromise","windowUrl","_ref21","watchForClosePromise","watchForClose","isCurrentContainerClosed","onDisplayPromise","openBridgePromise","bridgeUrl","bridgeDomain","runTimeoutPromise","onRenderedPromise","getProps","getExports","react","React","ReactDOM","_React$Component","_class","componentDidMount","findDOMNode","componentDidUpdate","Component","vue","Vue","component","inheritAttrs","mounted","$el","$attrs","styleObject","watch","deep","vue3","template","angular","ng","directive","scope","restrict","controller","$scope","$element","safeApply","$root","$$phase","$apply","$watch","angular2","AngularComponent","NgModule","ElementRef","NgZone","Inject","ComponentInstance","elementRef","zone","internalProps","_props","run","ngOnInit","targetElement","nativeElement","ngDoCheck","obj1","obj2","checked","annotations","parameters","selector","inputs","ModuleInstance","declarations","defaultContainerTemplate","div","cspNonce","classList","add","defaultPrerenderTemplate","spinner","cleanInstances","cleanZoid","_options$props","_options$dimensions","_options$autoResize","_options$allowedParen","allowedParentDomains","_options$attributes","_options$defaultConte","defaultContext","_options$containerTem","_options$prerenderTem","validate","_options$eligible","eligible","_options$logger","logger","_options$exports","xportsDefinition","_options$children","valuePromise","driverCache","instances","isChild","_payload","registerChild","xprops","components","onPropHandlers","_getInitialParentPayl","parentComponentWindow","parentDomain","parentExports","initialProps","version1","version2","parentExport","parentResize","parentInit","anyParent","currentParent","winParent","isUpdate","normalizedProps","updatedChildName","componentName","_crossDomainDeseriali2","childWindowName","_eligible","eligibility","reason","clone","_ref4$decorate","_render","finalContext","newInstance","renderTo","childComponents","childName","Child","childInputProps","parentProps","isEligible","allowDelegateListener","delegateListener","_ref2$data","driver","driverName","dep","drivers","canRenderTo","comp","destroyPromise","getUserAgent","isDevice","isWebView","isStandAlone","isFacebookWebView","isFirefoxIOS","isEdgeIOS","isOperaMini","isAndroid","isIos","isGoogleSearchApp","isQQBrowser","isIosWebview","isSFVC","isSFVCorSafari","isAndroidWebview","device_isIE","isIECompHeader","isElectron","isIEIntranet","isMacOsCna","supportsPopups","isChrome","isSafari","isApplePaySupported","waitForWindowReady","waitForDocumentReady","waitForDocumentBody","getQueryParam","urlWillRedirectPage","formatQuery","extendUrl","redirect","hasMetaViewPort","isElementVisible","getPerformance","enablePerformance","getPageRenderTime","htmlEncode","dom_isBrowser","onClick","getScript","isLocalStorageEnabled","getBrowserLocales","getElement","writeToWindow","writeElementToWindow","setStyle","bindEvents","setVendorCSS","animate","makeElementVisible","makeElementInvisible","showAndAnimate","animateAndHide","addClass","removeClass","watchElementForClose","fixScripts","getResourceLoadTime","getShadowRoot","getShadowHost","preventClickFocus","getStackTrace","getCurrentScriptUID","experiment","getGlobalNameSpace","getStorage","base64decode","getGlobal","getObjectID","promiseIdentity","promisify","inlineMemoize","hashStr","strHashStr","awaitKey","stringifyErrorMessage","domainMatches","patchMethod","util_values","memoizedValues","perc","min","roundUp","regexMap","svgToBase64","objFilter","regexTokenize","promiseDebounce","isInteger","isFloat","serializePrimitive","deserializePrimitive","undotify","eventEmitter","camelToDasherize","capitalizeFirstLetter","util_get","safeTimeout","isObject","copyProp","regexAll","cycle","debounce","util_weakMapMemoize","util_weakMapMemoizePromise","removeFromArray","unique","constHas","dedupeErrors","addHeaderBuilder","types_TYPES","memoized","decorators_promise","isPx","percOf","wrapPromise","KEY_CODES","ATTRIBUTES","iPhoneScreenHeightMatrix","device","textSizeHeights","zoomHeight","maybeSafari","standalone","matchMedia","matches","ua","innerHeight","scale","innerWidth","computedHeight","sfvc","possibleSafariSizes","documentMode","mHttp","mContent","versions","electron","ApplePaySession","supportsVersion","canMakePayments","promisifiedFunction","pow","sqrt","regmatch","defaultMessage","hostname","original","_arguments2","callOriginal","pixels","percentage","num","nearest","remainder","regexp","svg","text","token","localPromise","parseFloat","keyResult","parts","part","isLast","isIndex","path","def","pathParts","descriptor","start","groups","end","_arguments3","arr","constant","seenErrors","seenStringifiedErrors","stringifiedError","ENTER","SPACE","UID","search","meta","performance","timing","connectEnd","navigationStart","domInteractive","keyCode","_ref$host","_ref$reverse","nav","locales","userLanguage","locale","_locale$split","country","write","err2","eventNames","VENDOR_PREFIXES","capitalizedName","_i16","ANIMATION_START_EVENTS","ANIMATION_END_EVENTS","hasStarted","startTimeout","endTimeout","startEvent","endEvent","cleanUp","animationName","stopPropagation","animation","_querySelectorAll2","newScript","textContent","replaceChild","getEntries","entries","duration","preventDefault","blur","_ref$lifetime","lifetime","STORAGE_KEY","newStateID","accessedStorage","getState","localStorageEnabled","storage","rawStorage","getSession","session","__session__","created","guid","isStateFresh","getSessionState","getSessionID","getBelterExperimentStorage","isEventUnique","loggedBeacons","getRandomInteger","range","_ref$sample","sample","_ref$logTreatment","logTreatment","_ref$logCheckpoint","logCheckpoint","_ref$sticky","sticky","throttle","throttlePercentiles","group","treatment","started","forced","isEnabled","isDisabled","getTreatment","log","checkpoint","logStart","logComplete","_ref$version","namespace","defValue","headerBuilders","_ref$method","_ref$headers","_ref$win","_ref$timeout","normalizedHeaders","accept","builtHeaders","xhr","XMLHttpRequest","responseHeaders","rawHeaders","_rawHeaders$trim$spli2","trim","_line$split","getAllResponseHeaders","contentType","isJSON","responseBody","responseText","evt","setRequestHeader","ontimeout","expected","timer","expect","_tryCatch","_fn","avoid","_fn2","expectError","_tryCatch2","_fn3","wait","CLASS","INVISIBLE","VISIBLE","allowPaymentRequest","zoid","belter","CREATE_TOKEN_EVENT","getCreateTokenFunction","__createToken","onBlur","onEnter","onChange","onLoad","placeholders","errorMessages","__getConfig","postRobot","margin","boxSizing","innerStyle","base","loading","CardInput","isOpen","generatePaymentToken","fullscreen","customer","allowedPaymentMethods","customDomain","billingDetails","shippingDetails","onResult","onOpen","PaymentModal","rootNode","bodyOverflow","overflow","modal","position","bottom","right","zIndex","onLoadPaypal","__scriptId","uidAuto","defaultStyle","layout","tagline","Buttons","createOrder","paypal","paymentToken","orderId","onApprove","orderID","onSubmit","_data","actions","shouldOpen","onBeforeOpen","__container","scriptId","__onLoadPayPal","PayPal","isHidden","backdrop","BEFORE_CLOSE","phoneNumber","onBeforeClose","setPhoneNumber","getPhoneNumber","BizumModal","__onClick","bizumModal","onpopstate","history","pushState","Bizum","CofidisModal","amountInt","showLogo","CofidisWidget","hint","__onHintClick","cofidisModal","Cofidis","CofidisLoanModal","CofidisPayModal","CofidisLoanWidget","CofidisPayWidget","CofidisLoan","CofidisPay","onBeforeSubmit","GooglePay","onApplePayButtonClicked","onvalidatemerchant","validationUrl","validationURL","merchantSession","completeMerchantValidation","abort","onpaymentauthorized","payment","applePay","completePayment","STATUS_SUCCESS","STATUS_FAILURE","begin","__isApplePaySupported","__onApplePayButtonClicked","PaymentRequest","NextActionType","CardBrand","TransactionType","api","_api","utils","_utils"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtuBK,IAAMmJ,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD;AAC5B,SAAOjJ,MAAM,CAACgH,IAAP,CAAYiC,KAAZ,EAAmBC,MAAnB,CAA+B,UAACzE,MAAD,EAAS0E,IAAT;AACpC,QAAI,OAAOF,KAAK,CAACE,IAAD,CAAZ,KAAuB,QAA3B,EAAqC;AACnC1E,MAAAA,MAAM,CAAC0E,IAAD,CAAN,GAAeF,KAAK,CAACE,IAAD,CAApB;AACD,KAFD,MAEO;AACL1E,MAAAA,MAAM,CAAC0E,IAAD,CAAN,GAAkBF,KAAK,CAACE,IAAD,CAAvB;AACD;;AACD,WAAO1E,MAAP;AACD,GAPM,EAOJ,EAPI,CAAP;AAQD,CATM;AAWP,AAAO,IAAM2E,UAAU,GAAG,SAAbA,UAAa,CACxBC,GADwB,EAExBC,KAFwB,EAGxBC,OAHwB,EAIxBC,WAJwB;AAMxB,SAAO,IAAIvE,OAAJ,CAAY,UAACX,OAAD,EAAUC,MAAV;AACjB,QAAMkF,cAAc,GAAGC,KAAK,CAACC,IAAN,CAAWC,QAAQ,CAACC,OAApB,EAA6BC,IAA7B,CAAkC,UAACC,CAAD;AAAA,aAAOA,CAAC,CAACV,GAAF,KAAUA,GAAjB;AAAA,KAAlC,CAAvB;;AACA,QAAII,cAAJ,EAAoB;AAClB,UAAID,WAAJ,EAAiB;AACfC,QAAAA,cAAc,CAACO,MAAf;AACD,OAFD,MAEO;AACL1F,QAAAA,OAAO,CAACmF,cAAD,CAAP;AACA;AACD;AACF;;AACD,QAAMQ,MAAM,GAAGL,QAAQ,CAACM,aAAT,CAAuB,QAAvB,CAAf;AACAD,IAAAA,MAAM,CAACZ,GAAP,GAAaA,GAAb;;AACAY,IAAAA,MAAM,CAACE,MAAP,GAAgB;AAAA,aAAM7F,OAAO,CAAC2F,MAAD,CAAb;AAAA,KAAhB;;AACAA,IAAAA,MAAM,CAACG,OAAP,GAAiB,UAACxF,KAAD;AAAA,aAAWL,MAAM,CAACK,KAAD,CAAjB;AAAA,KAAjB;;AACA,QAAI0E,KAAJ,EAAW;AACTW,MAAAA,MAAM,CAACI,YAAP,CAAoB,OAApB,EAA6Bf,KAA7B;AACD;;AACD,QAAIC,OAAJ,EAAa;AACXvJ,MAAAA,MAAM,CAACgH,IAAP,CAAYuC,OAAZ,EAAqB/F,OAArB,CAA6B,UAACzC,GAAD;AAC3B,YAAIwI,OAAO,CAACxI,GAAD,CAAX,EAAkB;AAChBkJ,UAAAA,MAAM,CAACV,OAAP,CAAexI,GAAf,IAAsBwI,OAAO,CAACxI,GAAD,CAA7B;AACD;AACF,OAJD;AAKD;;AACD6I,IAAAA,QAAQ,CAACU,IAAT,CAAcC,WAAd,CAA0BN,MAA1B;AACD,GAzBM,CAAP;AA0BD,CAhCM;AAkCP,AAAO,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAAC1J,GAAD;AACvB,SAAOd,MAAM,CAACgH,IAAP,CAAYlG,GAAZ,EACJoI,MADI,CACa,UAACzE,MAAD,EAAS1D,GAAT;AAChB,QAAID,GAAG,CAACC,GAAD,CAAH,KAAaX,SAAjB,EAA4B;AAC1BqE,MAAAA,MAAM,CAACmC,IAAP,CAAe7F,GAAf,SAAsBD,GAAG,CAACC,GAAD,CAAzB;AACD;;AACD,WAAO0D,MAAP;AACD,GANI,EAMF,EANE,EAOJgG,IAPI,CAOC,GAPD,CAAP;AAQD,CATM;AAWP,AAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;AAC7B,MAAIC,YAAJ;;AACA,MAAI;AACFA,IAAAA,YAAY,GAAGC,MAAM,CAACD,YAAtB;AACD,GAFD,CAEE,OAAO/F,KAAP,EAAc;AACd,QAAMiG,gBAAgB,GAAI;AACxB,UAAIC,KAAK,GAAG,IAAIC,GAAJ,EAAZ;AACA,aAAO;AACLC,QAAAA,OADK,mBACGjK,GADH;AAEH,iBAAO+J,KAAK,CAACG,GAAN,CAAUlK,GAAV,CAAP;AACD,SAHI;AAKLmK,QAAAA,OAAO,EAAE,iBAAUnK,GAAV,EAAuBC,KAAvB;AACP8J,UAAAA,KAAK,CAACK,GAAN,CAAUpK,GAAV,EAAeC,KAAf;AACD,SAPI;AASLoK,QAAAA,KAAK,EAAE;AACLN,UAAAA,KAAK,GAAG,IAAIC,GAAJ,EAAR;AACD,SAXI;AAaLM,QAAAA,UAAU,EAAE,oBAAUtK,GAAV;AACV+J,UAAAA,KAAK,UAAL,CAAa/J,GAAb;AACD;AAfI,OAAP;AAiBD,KAnBwB,EAAzB;;AAqBAf,IAAAA,MAAM,CAACiB,cAAP,CAAsB2J,MAAtB,EAA8B,cAA9B,EAA8C;AAAC5J,MAAAA,KAAK,EAAE6J;AAAR,KAA9C;AACAF,IAAAA,YAAY,GAAGE,gBAAf;AACD;;AACD,SAAOF,YAAP;AACD,CA9BM;;AAgCP,IAAMW,WAAW,GAAG,SAAdA,WAAc;AAClB,MAAIC,IAAJ;AACA,MAAMZ,YAAY,GAAGD,eAAe,EAApC;;AACA,MAAI;AACFa,IAAAA,IAAI,GAAGZ,YAAY,CAACK,OAAb,CAAqB,YAArB,CAAP;AACD,GAFD,CAEE,OAAOpG,KAAP,EAAc;;AAChB,MAAI2G,IAAJ,EAAU;AACR,WAAOA,IAAI,CAACC,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAP;AACD;;AACD,SAAO,EAAP;AACD,CAVD;;AAYA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAACrJ,EAAD;AACX,MAAI;AAAA;;AACF,WAAOsJ,MAAM,QAACtJ,EAAE,EAAH,kBAAS,EAAT,CAAb;AACD,GAFD,CAEE,gBAAM;AACN,WAAO,EAAP;AACD;AACF,CAND;;AAQA,AAAO,IAAMuJ,YAAY,GAAG,SAAfA,YAAe;AAC1B,MAAMC,GAAG,GAAG,CACVhB,MAAM,CAACiB,MAAP,CAAcC,UADJ,EAEVlB,MAAM,CAACiB,MAAP,CAAcE,MAFJ,EAGVnB,MAAM,CAACiB,MAAP,CAAcG,KAHJ,EAIV,IAAIC,IAAJ,GAAWC,iBAAX,EAJU,EAKVZ,WAAW,EALD,EAMVG,IAAI,CAAC;AAAA,WAAMU,IAAI,CAACC,cAAL,GAAsBC,eAAtB,GAAwCC,QAA9C;AAAA,GAAD,CANM,EAOVb,IAAI,CAAC;AAAA,WAAMb,MAAM,CAAC2B,gBAAb;AAAA,GAAD,CAPM,EAQVd,IAAI,CAAC;AAAA,WAAMe,SAAS,CAACC,mBAAhB;AAAA,GAAD,CARM,EASVhB,IAAI,CAAC;AAAA,WAAOe,SAAiB,CAACE,YAAzB;AAAA,GAAD,CATM,EAUVjB,IAAI,CAAC;AAAA,WAAMe,SAAS,CAACG,cAAhB;AAAA,GAAD,CAVM,EAWVlB,IAAI,CAAC;AAAA,WAAMe,SAAS,CAACI,QAAhB;AAAA,GAAD,CAXM,EAYVnB,IAAI,CAAC;AAAA;;AAAA,mCAAMe,SAAS,CAACK,SAAhB,qBAAM,qBAAqBpC,IAArB,CAA0B,GAA1B,CAAN;AAAA,GAAD,CAZM,EAaVA,IAbU,CAaL,GAbK,CAAZ;AAcA,SAAOG,MAAM,CAACkC,IAAP,CAAYlB,GAAZ,CAAP;AACD,CAhBM;AAkBP,IAAMmB,SAAS,gBAAG,IAAIC,EAAJ,CAAc;AAACC,EAAAA,SAAS,EAAE;AAAZ,CAAd,CAAlB;AAEA,AAAO,IAAMC,oBAAoB;AAAA,yEAAG;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACTC,SAAS,CAACJ,SAAS,CAAC9B,GAAV,EAAD,CADA;;AAAA;AAAA;AACzBxG,YAAAA,MADyB;AAAA,kEAE3BA,MAF2B,oBAE3BA,MAAM,CAAEsI,SAFmB,gCAEN,EAFM;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAApBG,oBAAoB;AAAA;AAAA;AAAA,GAA1B;AAKP,AAAO,IAAMC,SAAS;AAAA,0EAAG,kBAAUC,CAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAEbhN,SAFa;AAAA;AAAA,mBAEIgN,CAFJ;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,8CAId,eAAehN,SAAf,CAJc;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAT+M,SAAS;AAAA;AAAA;AAAA,GAAf;AAQP,AAAO,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,MAAD,EAAoCC,aAApC;AAC/B,SAAOD,MAAM,CAACE,cAAP,IAAyBF,MAAM,CAACE,cAAP,CAAsBC,QAAtB,CAA+BF,aAA/B,CAAhC;AACD,CAFM;AAIP,AAAO,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,KAAD;AACpC,MAAIA,KAAK,CAACC,SAAV,EAAqB;AACrB,MAAID,KAAK,CAACE,SAAN,IAAmBF,KAAK,CAACG,MAAzB,IAAmCH,KAAK,CAACI,QAA7C,EAAuD;AACvD,QAAM,IAAIzI,KAAJ,CAAU,gEAAV,CAAN;AACD,CAJM;;;;;;;;;;;;;;;ACnJP,IAAM0I,KAAK,GAAIC,MAAA,CAAf;AACA,IAAMC,MAAM,GAAGD,sBAAA,CAAf;AACA,IAAME,OAAO,GAAGF,IAAA,CAAhB;AA6BA,IAAMG,YAAY,GAAG;AACnBF,EAAAA,MAAM,EAANA,MADmB;AAEnBC,EAAAA,OAAO,EAAPA,OAFmB;AAGnBH,EAAAA,KAAK,EAALA,KAHmB;AAInBK,EAAAA,YAAY,EAAEL,KAAK,KAAK,MAJL;AAKnBM,EAAAA,cAAc,EAAKJ,MAAL,SAAeC,OAAf,mBALK;AAMnBI,EAAAA,iBAAiB,EAAKL,MAAL,SAAeC,OAAf,uBANE;AAOnBK,EAAAA,YAAY,EAAKN,MAAL,SAAeC,OAAf,uBAPO;AAQnBM,EAAAA,eAAe,EAAKP,MAAL,SAAeC,OAAf,0BARI;AASnBO,EAAAA,SAAS,EAAKR,MAAL,SAAeC,OAAf,mBATU;AAUnBQ,EAAAA,QAAQ,EAAKT,MAAL,SAAeC,OAAf,kBAVW;AAWnBS,EAAAA,cAAc,EAAKV,MAAL,SAAeC,OAAf,yBAXK;AAYnBU,EAAAA,UAAU,EAAKX,MAAL,SAAeC,OAAf,oBAZS;AAanBW,EAAAA,gBAAgB,EAAKZ,MAAL,SAAeC,OAAf,2BAbG;AAcnBY,EAAAA,gBAAgB,EAAKb,MAAL,SAAeC,OAAf,2BAdG;AAenBa,EAAAA,cAAc,EAAKd,MAAL,SAAeC,OAAf,yBAfK;AAgBnBc,EAAAA,oBAAoB,EAAKf,MAAL,SAAeC,OAAf,gCAhBD;AAiBnBe,EAAAA,oBAAoB,EAAKhB,MAAL,SAAeC,OAAf,gCAjBD;AAkBnBgB,EAAAA,YAAY,EAAKjB,MAAL,SAAeC,OAAf,uBAlBO;AAmBnBiB,EAAAA,iBAAiB,EAAKlB,MAAL,SAAeC,OAAf,4BAnBE;AAoBnBkB,EAAAA,YAAY,EAAKnB,MAAL,SAAeC,OAAf,sBApBO;AAqBnBmB,EAAAA,kBAAkB,EAAKpB,MAAL,SAAeC,OAAf;AArBC,CAArB;AAwBA,IAAMoB,WAAW,GAAG;AAClBC,EAAAA,KAAK,EAAE;AACLlB,IAAAA,cAAc,0BADT;AAELC,IAAAA,iBAAiB,0BAFZ;AAGLC,IAAAA,YAAY,6BAA2BL,OAA3B,uBAHP;AAILM,IAAAA,eAAe,6BAA2BN,OAA3B,0BAJV;AAKLO,IAAAA,SAAS,6BAA2BP,OAA3B,mBALJ;AAMLQ,IAAAA,QAAQ,6BAA2BR,OAA3B,kBANH;AAOLS,IAAAA,cAAc,6BAA2BT,OAA3B,yBAPT;AAQLgB,IAAAA,YAAY,6BAA2BhB,OAA3B,uBARP;AASLiB,IAAAA,iBAAiB,oCAAkCjB,OAAlC,4BATZ;AAULkB,IAAAA,YAAY,0CAVP;AAWLC,IAAAA,kBAAkB,iDAXb;AAYLT,IAAAA,UAAU,6BAA2BV,OAA3B,oBAZL;AAaLW,IAAAA,gBAAgB,6BAA2BX,OAA3B,2BAbX;AAcLY,IAAAA,gBAAgB,6BAA2BZ,OAA3B,2BAdX;AAeLa,IAAAA,cAAc,6BAA2Bb,OAA3B,yBAfT;AAgBLc,IAAAA,oBAAoB,6BAA2Bd,OAA3B,gCAhBf;AAiBLe,IAAAA,oBAAoB,6BAA2Bf,OAA3B,gCAjBf;AAkBLsB,IAAAA,MAAM,EAAE,8BAlBH;AAmBLC,IAAAA,YAAY,EAAE,8BAnBT;AAoBLC,IAAAA,UAAU,EAAE;AApBP,GADW;AAuBlBC,EAAAA,GAAG,EAAE;AACHH,IAAAA,MAAM,EAAE,8BADL;AAEHC,IAAAA,YAAY,EAAE,8BAFX;AAGHC,IAAAA,UAAU,EAAE;AAHT,GAvBa;AA4BlBE,EAAAA,IAAI,EAAE;AACJJ,IAAAA,MAAM,EAAE,0BADJ;AAEJC,IAAAA,YAAY,EAAE,0BAFV;AAGJC,IAAAA,UAAU,EAAE;AAHR;AA5BY,CAApB;AAmCA,IAAarC,MAAM,6BAAOc,YAAP,EAAwBmB,WAAW,CAACvB,KAAD,CAAnC,CAAZ;;ACtEP,IAAM8B,OAAO;AAAA,yEAAG,iBAAOC,GAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uCAAqE,EAArE,+BAAqBtM,MAArB,EAAqBA,MAArB,6BAA8B,KAA9B,iBAAqCuM,OAArC,SAAqCA,OAArC,EAA8CC,IAA9C,SAA8CA,IAA9C;AACd,gBAAIxM,MAAM,KAAK,MAAf,EAAuBuM,OAAO;AAAI,8BAAgB;AAApB,eAA2CA,OAA3C,CAAP;AADT;AAAA,mBAEIE,KAAK,MAAI5C,MAAM,CAACmC,MAAX,GAAoBM,GAApB,EAA2B;AAChDtM,cAAAA,MAAM,EAANA,MADgD;AAEhDuM,cAAAA,OAAO,EAAPA,OAFgD;AAGhDC,cAAAA,IAAI,EAAEA,IAAI,GAAGE,IAAI,CAAC3F,SAAL,CAAeyF,IAAf,CAAH,GAA0B7P;AAHY,aAA3B,CAFT;;AAAA;AAERgQ,YAAAA,GAFQ;AAAA;AAAA,mBAOWjD,SAAS,CAACiD,GAAG,CAACC,IAAJ,EAAD,CAPpB;;AAAA;AAAA;AAOL5L,YAAAA,MAPK;;AAAA,gBAQT2L,GAAG,CAACE,EARK;AAAA;AAAA;AAAA;;AAAA,kBAQK7L,MAAM,IAAI,IAAIa,KAAJ,CAAU8K,GAAG,CAACG,UAAd,CARf;;AAAA;AAAA,6CASP9L,MATO;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAPqL,OAAO;AAAA;AAAA;AAAA,GAAb;;AAYA,IAAMU,OAAO,GAAuD,EAApE;AAEA,AAAO,IAAMC,iBAAiB;AAAA,0EAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAC/B5C,YAAAA,SAD+B,SAC/BA,SAD+B,EAE/BD,SAF+B,SAE/BA,SAF+B;;AAAA,iBAK3BA,SAL2B;AAAA;AAAA;AAAA;;AAKhB8C,YAAAA,MAAM,GAAG;AAAC9C,cAAAA,SAAS,EAATA;AAAD,aAAT;AALgB;AAAA;;AAAA;AAAA,iBAMtBC,SANsB;AAAA;AAAA;AAAA;;AAMX6C,YAAAA,MAAM,GAAG;AAAC7C,cAAAA,SAAS,EAATA;AAAD,aAAT;AANW;AAAA;;AAAA;AAAA,kBAOpB,IAAIvI,KAAJ,CAAU,4CAAV,CAPoB;;AAAA;AAQzBqL,YAAAA,KARyB,GAQjBnG,SAAS,CAACkG,MAAD,CARQ;;AAAA,kBAS3BC,KAAK,IAAIH,OATkB;AAAA;AAAA;AAAA;;AAAA,8CASFA,OAAO,CAACG,KAAD,CATL;;AAAA;AAUzBC,YAAAA,OAVyB,GAUfd,OAAO,uBAAqBa,KAArB,CAVQ;AAW/BH,YAAAA,OAAO,CAACG,KAAD,CAAP,GAAiBC,OAAjB;AAX+B,8CAYxBA,OAZwB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAjBH,iBAAiB;AAAA;AAAA;AAAA,GAAvB;AAeP,AAAO,IAAMI,WAAW;AAAA,0EAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AACzBtD,YAAAA,aADyB,SACzBA,aADyB,EAEzBK,SAFyB,SAEzBA,SAFyB,EAGzBkD,SAHyB,SAGzBA,SAHyB,EAIzBhD,MAJyB,SAIzBA,MAJyB,EAKzBC,QALyB,SAKzBA,QALyB,EAMzBF,SANyB,SAMzBA,SANyB,EAOzBkD,eAPyB,SAOzBA,eAPyB;;AAAA,iBAUrBnD,SAVqB;AAAA;AAAA;AAAA;;AAWvBqC,YAAAA,IAAI,GAAG;AAACrC,cAAAA,SAAS,EAATA,SAAD;AAAYL,cAAAA,aAAa,EAAbA;AAAZ,aAAP;AAXuB;AAAA;;AAAA;AAAA,iBAYdM,SAZc;AAAA;AAAA;AAAA;;AAavBoC,YAAAA,IAAI,GAAG;AAACpC,cAAAA,SAAS,EAATA,SAAD;AAAYN,cAAAA,aAAa,EAAbA,aAAZ;AAA2BuD,cAAAA,SAAS,EAATA,SAA3B;AAAsChD,cAAAA,MAAM,EAANA,MAAtC;AAA8CC,cAAAA,QAAQ,EAARA,QAA9C;AAAwDgD,cAAAA,eAAe,EAAfA;AAAxD,aAAP;AAbuB;AAAA;;AAAA;AAAA,kBAcZ,IAAIzL,KAAJ,CAAU,4CAAV,CAdY;;AAAA;AAAA,2BAelBwK,OAfkB;AAAA,2BAiBGnE,YAAY,EAjBf;AAAA;AAAA,mBAiBiDuB,oBAAoB,EAjBrE;;AAAA;AAAA;AAAA;AAiBb,4BAjBa;AAiBmB,oCAjBnB;AAAA;AAAA,2BAkBjB+C,IAlBiB;AAAA;AAgBvBxM,cAAAA,MAhBuB,EAgBf,MAhBe;AAiBvBuM,cAAAA,OAjBuB;AAkBvBC,cAAAA,IAlBuB;AAAA;AAAA,gEAeV,SAfU;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAXY,WAAW;AAAA;AAAA;AAAA,GAAjB;AAsBP,AAAO,IAAMG,UAAU;AAAA,0EAAG,kBAAOpD,SAAP;AAAA;AAAA;AAAA;AAAA;AAAA,8CACjBkC,OAAO,gBAAclC,SAAd,iBADU;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAVoD,UAAU;AAAA;AAAA;AAAA,GAAhB;AAIP,AAAO,IAAMC,cAAc;AAAA,0EAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQrD,YAAAA,SAAR,SAAQA,SAAR,EAAsBqC,IAAtB;AAAA,2BACrBH,OADqB;AAAA,0CACAlC,SADA;AAAA,2BAGAjC,YAAY,EAHZ;AAAA;AAAA,mBAG8CuB,oBAAoB,EAHlE;;AAAA;AAAA;AAAA;AAGhB,4BAHgB;AAGgB,oCAHhB;AAAA;AAAA,2BAI1B+C,IAJ0B;AAAA;AAE1BxM,cAAAA,MAF0B,EAElB,MAFkB;AAG1BuM,cAAAA,OAH0B;AAI1BC,cAAAA,IAJ0B;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAdgB,cAAc;AAAA;AAAA;AAAA,GAApB;AAQP,AAAO,IAAMC,aAAa;AAAA,2EAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQC,YAAAA,SAAR,UAAQA,SAAR,EAAsBlB,IAAtB;AAAA,2BACpBH,OADoB;AAAA,2BAIPnE,YAAY,EAJL;AAAA;AAAA,mBAKOuB,oBAAoB,EAL3B;;AAAA;AAAA;AAAA,2BAMHiE,SANG;AAAA;AAIvB,4BAJuB;AAKvB,oCALuB;AAMvB,gCANuB;AAAA;AAAA,2BAQzBlB,IARyB;AAAA;AAEzBxM,cAAAA,MAFyB,EAEjB,MAFiB;AAGzBuM,cAAAA,OAHyB;AAQzBC,cAAAA,IARyB;AAAA;AAAA,gEACZ,kBADY;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAbiB,aAAa;AAAA;AAAA;AAAA,GAAnB;AAYP,AAAO,IAAME,kBAAkB;AAAA,2EAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAChCxD,YAAAA,SADgC,UAChCA,SADgC,EAEhCyD,aAFgC,UAEhCA,aAFgC,EAGhCF,SAHgC,UAGhCA,SAHgC,EAIhCG,QAJgC,UAIhCA,QAJgC;AAAA,8CAMzBxB,OAAO,gBAAclC,SAAd,sBAA0C;AACtDnK,cAAAA,MAAM,EAAE,MAD8C;AAEtDwM,cAAAA,IAAI,EAAE;AAACoB,gBAAAA,aAAa,EAAbA,aAAD;AAAgBF,gBAAAA,SAAS,EAATA,SAAhB;AAA2BG,gBAAAA,QAAQ,EAARA;AAA3B;AAFgD,aAA1C,CANkB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAlBF,kBAAkB;AAAA;AAAA;AAAA,GAAxB;AAYP,AAAO,IAAMG,qBAAqB;AAAA,2EAAG,kBAAOtB,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA,8CAC5BH,OAAO,wBAAwB;AAACrM,cAAAA,MAAM,EAAE,MAAT;AAAiBwM,cAAAA,IAAI,EAAJA;AAAjB,aAAxB,CADqB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAArBsB,qBAAqB;AAAA;AAAA;AAAA,GAA3B;AAIP,AAAO,IAAMC,kBAAkB;AAAA,2EAAG,kBAAOC,GAAP;AAAA;AAAA;AAAA;AAAA;AAAA,8CACzB3B,OAAO,iCAAiC;AAACrM,cAAAA,MAAM,EAAE,MAAT;AAAiBwM,cAAAA,IAAI,EAAEwB;AAAvB,aAAjC,CADkB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAlBD,kBAAkB;AAAA;AAAA;AAAA,GAAxB;AAIP,AAAO,IAAME,kBAAkB;AAAA,2EAAG,mBAAOD,GAAP;AAAA;AAAA;AAAA;AAAA;AAAA,+CACzB3B,OAAO,0BAA0B;AAACrM,cAAAA,MAAM,EAAE,MAAT;AAAiBwM,cAAAA,IAAI,EAAEwB;AAAvB,aAA1B,CADkB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAlBC,kBAAkB;AAAA;AAAA;AAAA,GAAxB;;;;;;;;;;;;;;;;ACrHP,CAAC,UAASC,IAAT,EAAeC,OAAf,EAAwB;AACrB,GAA0DhJ,cAAA,gBAAiBgJ,OAAO,EAAlF,CAAA;AACH,CAFA,CAEC,eAAe,OAAOnQ,IAAtB,GAA6BA,IAA7B,GAAoCoQ,cAFrC,EAE4C,YAAW;AACpD,SAAO,UAASC,OAAT,EAAkB;AACrB,QAAIC,gBAAgB,GAAG,EAAvB;;AACA,aAASC,mBAAT,CAA6BC,QAA7B,EAAuC;AACnC,UAAIF,gBAAgB,CAACE,QAAD,CAApB,EAAgC,OAAOF,gBAAgB,CAACE,QAAD,CAAhB,CAA2BnS,OAAlC;AAChC,UAAI8I,MAAM,GAAGmJ,gBAAgB,CAACE,QAAD,CAAhB,GAA6B;AACtCzK,QAAAA,CAAC,EAAEyK,QADmC;AAEtCC,QAAAA,CAAC,EAAE,CAAC,CAFkC;AAGtCpS,QAAAA,OAAO,EAAE;AAH6B,OAA1C;AAKAgS,MAAAA,OAAO,CAACG,QAAD,CAAP,CAAkB1P,IAAlB,CAAuBqG,MAAM,CAAC9I,OAA9B,EAAuC8I,MAAvC,EAA+CA,MAAM,CAAC9I,OAAtD,EAA+DkS,mBAA/D;AACApJ,MAAAA,MAAM,CAACsJ,CAAP,GAAW,CAAC,CAAZ;AACA,aAAOtJ,MAAM,CAAC9I,OAAd;AACH;;AACDkS,IAAAA,mBAAmB,CAACG,CAApB,GAAwBL,OAAxB;AACAE,IAAAA,mBAAmB,CAACI,CAApB,GAAwBL,gBAAxB;;AACAC,IAAAA,mBAAmB,CAACK,CAApB,GAAwB,UAASvS,OAAT,EAAkB+D,IAAlB,EAAwByO,MAAxB,EAAgC;AACpDN,MAAAA,mBAAmB,CAACO,CAApB,CAAsBzS,OAAtB,EAA+B+D,IAA/B,KAAwC7D,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+B+D,IAA/B,EAAqC;AACzE3C,QAAAA,UAAU,EAAE,CAAC,CAD4D;AAEzE+J,QAAAA,GAAG,EAAEqH;AAFoE,OAArC,CAAxC;AAIH,KALD;;AAMAN,IAAAA,mBAAmB,CAACQ,CAApB,GAAwB,UAAS1S,OAAT,EAAkB;AACtC,qBAAe,OAAOQ,MAAtB,IAAgCA,MAAM,CAACM,WAAvC,IAAsDZ,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+BQ,MAAM,CAACM,WAAtC,EAAmD;AACrGI,QAAAA,KAAK,EAAE;AAD8F,OAAnD,CAAtD;AAGAhB,MAAAA,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+B,YAA/B,EAA6C;AACzCkB,QAAAA,KAAK,EAAE,CAAC;AADiC,OAA7C;AAGH,KAPD;;AAQAgR,IAAAA,mBAAmB,CAACS,CAApB,GAAwB,UAASzR,KAAT,EAAgB0R,IAAhB,EAAsB;AAC1C,UAAIA,IAAJ,KAAa1R,KAAK,GAAGgR,mBAAmB,CAAChR,KAAD,CAAxC;AACA,UAAI,IAAI0R,IAAR,EAAc,OAAO1R,KAAP;AACd,UAAI,IAAI0R,IAAJ,IAAY,YAAY,OAAO1R,KAA/B,IAAwCA,KAAxC,IAAiDA,KAAK,CAAC2R,UAA3D,EAAuE,OAAO3R,KAAP;AACvE,UAAI4R,EAAE,GAAG5S,MAAM,CAAC8B,MAAP,CAAc,IAAd,CAAT;;AACAkQ,MAAAA,mBAAmB,CAACQ,CAApB,CAAsBI,EAAtB;;AACA5S,MAAAA,MAAM,CAACiB,cAAP,CAAsB2R,EAAtB,EAA0B,SAA1B,EAAqC;AACjC1R,QAAAA,UAAU,EAAE,CAAC,CADoB;AAEjCF,QAAAA,KAAK,EAAEA;AAF0B,OAArC;AAIA,UAAI,IAAI0R,IAAJ,IAAY,YAAY,OAAO1R,KAAnC,EAA0C,KAAK,IAAID,GAAT,IAAgBC,KAAhB;AAAuBgR,QAAAA,mBAAmB,CAACK,CAApB,CAAsBO,EAAtB,EAA0B7R,GAA1B,EAA+B,UAASA,GAAT,EAAc;AAC1G,iBAAOC,KAAK,CAACD,GAAD,CAAZ;AACH,SAF+F,CAE9F8R,IAF8F,CAEzF,IAFyF,EAEnF9R,GAFmF,CAA/B;AAAvB;AAG1C,aAAO6R,EAAP;AACH,KAdD;;AAeAZ,IAAAA,mBAAmB,CAACc,CAApB,GAAwB,UAASlK,MAAT,EAAiB;AACrC,UAAI0J,MAAM,GAAG1J,MAAM,IAAIA,MAAM,CAAC+J,UAAjB,GAA8B,YAAW;AAClD,eAAO/J,MAAM,WAAb;AACH,OAFY,GAET,YAAW;AACX,eAAOA,MAAP;AACH,OAJD;;AAKAoJ,MAAAA,mBAAmB,CAACK,CAApB,CAAsBC,MAAtB,EAA8B,GAA9B,EAAmCA,MAAnC;;AACA,aAAOA,MAAP;AACH,KARD;;AASAN,IAAAA,mBAAmB,CAACO,CAApB,GAAwB,UAAStL,MAAT,EAAiB8L,QAAjB,EAA2B;AAC/C,aAAO,GAAG5S,cAAH,CAAkBoC,IAAlB,CAAuB0E,MAAvB,EAA+B8L,QAA/B,CAAP;AACH,KAFD;;AAGAf,IAAAA,mBAAmB,CAAC5E,CAApB,GAAwB,EAAxB;AACA,WAAO4E,mBAAmB,CAACA,mBAAmB,CAACjI,CAApB,GAAwB,CAAzB,CAA1B;AACH,GA1DM,CA0DL,CAAE,UAASnB,MAAT,EAAiBoK,mBAAjB,EAAsChB,mBAAtC,EAA2D;AAC3D;AACAA,IAAAA,mBAAmB,CAACQ,CAApB,CAAsBQ,mBAAtB;;AACAhB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAOC,oBAAP;AACH,KAFD;;AAGAjB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAOE,iBAAP;AACH,KAFD;;AAGAlB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOG,kBAAP;AACH,KAFD;;AAGAnB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAOI,KAAP;AACH,KAFD;;AAGApB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAOK,OAAP;AACH,KAFD;;AAGArB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOM,sBAAP;AACH,KAFD;;AAGAtB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,oBAA3C,EAAkE,YAAW;AACzE,aAAOO,wBAAP;AACH,KAFD;;AAGAvB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,mBAA3C,EAAiE,YAAW;AACxE,aAAOQ,iBAAP;AACH,KAFD;;AAGAxB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAOS,mBAAP;AACH,KAFD;;AAGAzB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,IAA3C,EAAkD,YAAW;AACzD,aAAOU,KAAP;AACH,KAFD;;AAGA1B,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,MAA3C,EAAoD,YAAW;AAC3D,aAAOW,OAAP;AACH,KAFD;;AAGA3B,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,MAA3C,EAAoD,YAAW;AAC3D,aAAOY,SAAP;AACH,KAFD;;AAGA5B,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAOa,eAAP;AACH,KAFD;;AAGA7B,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAOc,aAAP;AACH,KAFD;;AAGA9B,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW,EAAjE;;AACA,aAASe,OAAT,CAAiBC,IAAjB,EAAuB;AACnB,aAAO,sBAAsB,GAAG7N,QAAH,CAAY5D,IAAZ,CAAiByR,IAAjB,CAA7B;AACH;;AACD,QAAIC,mBAAmB,GAAG,kCAA1B;;AACA,aAASC,eAAT,CAAyBC,GAAzB,EAA8B;AAC1B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,aAAO,aAAauJ,GAAG,CAACC,QAAJ,CAAaC,QAAjC;AACH;;AACD,aAASC,SAAT,CAAmBH,GAAnB,EAAwB;AACpB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIuJ,GAAJ,EAAS,IAAI;AACT,YAAIA,GAAG,CAACI,MAAJ,IAAcJ,GAAG,CAACI,MAAJ,KAAeJ,GAAjC,EAAsC,OAAOA,GAAG,CAACI,MAAX;AACzC,OAFQ,CAEP,OAAOlT,GAAP,EAAY;AACjB;;AACD,aAASmT,SAAT,CAAmBL,GAAnB,EAAwB;AACpB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIuJ,GAAG,IAAI,CAACG,SAAS,CAACH,GAAD,CAArB,EAA4B,IAAI;AAC5B,eAAOA,GAAG,CAACM,MAAX;AACH,OAF2B,CAE1B,OAAOpT,GAAP,EAAY;AACjB;;AACD,aAASqT,iBAAT,CAA2BP,GAA3B,EAAgC;AAC5B,UAAI;AACA,eAAO,CAAC,CAAR;AACH,OAFD,CAEE,OAAO9S,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,aAASsT,eAAT,CAAyBR,GAAzB,EAA8B;AAC1B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIwJ,QAAQ,GAAGD,GAAG,CAACC,QAAnB;AACA,UAAI,CAACA,QAAL,EAAe,MAAM,IAAI9O,KAAJ,CAAU,8BAAV,CAAN;AACf,UAAI+O,QAAQ,GAAGD,QAAQ,CAACC,QAAxB;AACA,UAAI,CAACA,QAAL,EAAe,MAAM,IAAI/O,KAAJ,CAAU,8BAAV,CAAN;AACf,UAAI,YAAY+O,QAAhB,EAA0B,OAAO,SAAP;;AAC1B,UAAI,aAAaA,QAAjB,EAA2B;AACvB,YAAIE,MAAM,GAAGD,SAAS,CAACH,GAAD,CAAtB;AACA,eAAOI,MAAM,IAAIG,iBAAiB,EAA3B,GAAgCC,eAAe,CAACJ,MAAD,CAA/C,GAA0D,UAAjE;AACH;;AACD,UAAIK,IAAI,GAAGR,QAAQ,CAACQ,IAApB;AACA,UAAI,CAACA,IAAL,EAAW,MAAM,IAAItP,KAAJ,CAAU,0BAAV,CAAN;AACX,aAAO+O,QAAQ,GAAG,IAAX,GAAkBO,IAAzB;AACH;;AACD,aAASC,SAAT,CAAmBV,GAAnB,EAAwB;AACpB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIsD,MAAM,GAAGyG,eAAe,CAACR,GAAD,CAA5B;AACA,aAAOjG,MAAM,IAAIiG,GAAG,CAACW,UAAd,IAA4B,MAAMX,GAAG,CAACW,UAAJ,CAAeC,OAAf,CAAuB,OAAvB,CAAlC,GAAoEZ,GAAG,CAACW,UAAxE,GAAqF5G,MAA5F;AACH;;AACD,aAAS8G,YAAT,CAAsBb,GAAtB,EAA2B;AACvB,UAAI,CAAC,UAASA,GAAT,EAAc;AACf,YAAI;AACA,cAAIA,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,SAFD,CAEE,OAAOvJ,GAAP,EAAY;;AACd,YAAI;AACA,cAAI4T,IAAI,GAAGjV,MAAM,CAACkV,wBAAP,CAAgCf,GAAhC,EAAqC,UAArC,CAAX;AACA,cAAIc,IAAI,IAAI,CAAC,CAAD,KAAOA,IAAI,CAAC/T,UAAxB,EAAoC,OAAO,CAAC,CAAR;AACvC,SAHD,CAGE,OAAOG,GAAP,EAAY;;AACd,YAAI;AACA,cAAI6S,eAAe,CAACC,GAAD,CAAf,IAAwBO,iBAAiB,EAA7C,EAAiD,OAAO,CAAC,CAAR;AACpD,SAFD,CAEE,OAAOrT,GAAP,EAAY;;AACd,YAAI;AACA,cAAIsT,eAAe,CAACR,GAAD,CAAf,KAAyBQ,eAAe,CAAC/J,MAAD,CAA5C,EAAsD,OAAO,CAAC,CAAR;AACzD,SAFD,CAEE,OAAOvJ,GAAP,EAAY;;AACd,eAAO,CAAC,CAAR;AACH,OAfI,CAeH8S,GAfG,CAAL,EAeQ,OAAO,CAAC,CAAR;;AACR,UAAI;AACA,YAAIA,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACpB,YAAIsJ,eAAe,CAACC,GAAD,CAAf,IAAwBO,iBAAiB,EAA7C,EAAiD,OAAO,CAAC,CAAR;AACjD,YAAIG,SAAS,CAACjK,MAAD,CAAT,KAAsBiK,SAAS,CAACV,GAAD,CAAnC,EAA0C,OAAO,CAAC,CAAR;AAC7C,OAJD,CAIE,OAAO9S,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,aAAS8T,gBAAT,CAA0BhB,GAA1B,EAA+B;AAC3B,UAAI,CAACa,YAAY,CAACb,GAAD,CAAjB,EAAwB,MAAM,IAAI7O,KAAJ,CAAU,mCAAV,CAAN;AACxB,aAAO6O,GAAP;AACH;;AACD,aAASiB,gBAAT,CAA0Bb,MAA1B,EAAkCc,KAAlC,EAAyC;AACrC,UAAI,CAACd,MAAD,IAAW,CAACc,KAAhB,EAAuB,OAAO,CAAC,CAAR;AACvB,UAAIC,WAAW,GAAGhB,SAAS,CAACe,KAAD,CAA3B;AACA,aAAOC,WAAW,GAAGA,WAAW,KAAKf,MAAnB,GAA4B,CAAC,CAAD,KAAO,UAASJ,GAAT,EAAc;AAC/D,YAAI1P,MAAM,GAAG,EAAb;;AACA,YAAI;AACA,iBAAM0P,GAAG,CAACI,MAAJ,KAAeJ,GAArB,GAA4B;AACxB1P,YAAAA,MAAM,CAACmC,IAAP,CAAYuN,GAAG,CAACI,MAAhB;AACAJ,YAAAA,GAAG,GAAGA,GAAG,CAACI,MAAV;AACH;AACJ,SALD,CAKE,OAAOlT,GAAP,EAAY;;AACd,eAAOoD,MAAP;AACH,OAToD,CASnD4Q,KATmD,EAS5CN,OAT4C,CASpCR,MAToC,CAArD;AAUH;;AACD,aAASgB,SAAT,CAAmBpB,GAAnB,EAAwB;AACpB,UAAI1P,MAAM,GAAG,EAAb;AACA,UAAI+Q,MAAJ;;AACA,UAAI;AACAA,QAAAA,MAAM,GAAGrB,GAAG,CAACqB,MAAb;AACH,OAFD,CAEE,OAAOnU,GAAP,EAAY;AACVmU,QAAAA,MAAM,GAAGrB,GAAT;AACH;;AACD,UAAIsB,GAAJ;;AACA,UAAI;AACAA,QAAAA,GAAG,GAAGD,MAAM,CAACrO,MAAb;AACH,OAFD,CAEE,OAAO9F,GAAP,EAAY;;AACd,UAAI,MAAMoU,GAAV,EAAe,OAAOhR,MAAP;;AACf,UAAIgR,GAAJ,EAAS;AACL,aAAK,IAAIjO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiO,GAApB,EAAyBjO,CAAC,EAA1B,EAA8B;AAC1B,cAAIkO,KAAK,GAAG,KAAK,CAAjB;;AACA,cAAI;AACAA,YAAAA,KAAK,GAAGF,MAAM,CAAChO,CAAD,CAAd;AACH,WAFD,CAEE,OAAOnG,GAAP,EAAY;AACV;AACH;;AACDoD,UAAAA,MAAM,CAACmC,IAAP,CAAY8O,KAAZ;AACH;;AACD,eAAOjR,MAAP;AACH;;AACD,WAAK,IAAIkR,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAG,GAAtB,EAA2BA,EAAE,EAA7B,EAAiC;AAC7B,YAAIC,MAAM,GAAG,KAAK,CAAlB;;AACA,YAAI;AACAA,UAAAA,MAAM,GAAGJ,MAAM,CAACG,EAAD,CAAf;AACH,SAFD,CAEE,OAAOtU,GAAP,EAAY;AACV,iBAAOoD,MAAP;AACH;;AACD,YAAI,CAACmR,MAAL,EAAa,OAAOnR,MAAP;AACbA,QAAAA,MAAM,CAACmC,IAAP,CAAYgP,MAAZ;AACH;;AACD,aAAOnR,MAAP;AACH;;AACD,QAAIoR,aAAa,GAAG,EAApB;AACA,QAAIC,YAAY,GAAG,EAAnB;;AACA,aAASC,cAAT,CAAwB5B,GAAxB,EAA6B6B,SAA7B,EAAwC;AACpC,WAAK,CAAL,KAAWA,SAAX,KAAyBA,SAAS,GAAG,CAAC,CAAtC;;AACA,UAAI;AACA,YAAI7B,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFD,CAEE,OAAOvJ,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI,CAAC8S,GAAL,EAAU,OAAO,CAAC,CAAR;AACb,OAFD,CAEE,OAAO9S,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI8S,GAAG,CAAC8B,MAAR,EAAgB,OAAO,CAAC,CAAR;AACnB,OAFD,CAEE,OAAO5U,GAAP,EAAY;AACV,eAAO,CAACA,GAAD,IAAQA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA/B;AACH;;AACD,UAAI+B,SAAS,IAAIhB,YAAY,CAACb,GAAD,CAA7B,EAAoC,IAAI;AACpC,YAAIA,GAAG,CAACgC,UAAR,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFmC,CAElC,OAAO9U,GAAP,EAAY;;AACd,UAAI;AACA,YAAI,CAAC8S,GAAG,CAACI,MAAL,IAAe,CAACJ,GAAG,CAACiC,GAAxB,EAA6B,OAAO,CAAC,CAAR;AAChC,OAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,UAAIgV,WAAW,GAAG,UAASC,UAAT,EAAqBtC,IAArB,EAA2B;AACzC,aAAK,IAAIxM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8O,UAAU,CAACnP,MAA/B,EAAuCK,CAAC,EAAxC;AAA4C,cAAI;AAC5C,gBAAI8O,UAAU,CAAC9O,CAAD,CAAV,KAAkBwM,IAAtB,EAA4B,OAAOxM,CAAP;AAC/B,WAF2C,CAE1C,OAAOnG,GAAP,EAAY;AAFd;;AAGA,eAAO,CAAC,CAAR;AACH,OALiB,CAKhBwU,aALgB,EAKD1B,GALC,CAAlB;;AAMA,UAAI,CAAC,CAAD,KAAOkC,WAAX,EAAwB;AACpB,YAAIX,KAAK,GAAGI,YAAY,CAACO,WAAD,CAAxB;AACA,YAAIX,KAAK,IAAI,UAASA,KAAT,EAAgB;AACzB,cAAI,CAACA,KAAK,CAACa,aAAX,EAA0B,OAAO,CAAC,CAAR;AAC1B,cAAI,CAACb,KAAK,CAACc,UAAX,EAAuB,OAAO,CAAC,CAAR;AACvB,cAAIC,GAAG,GAAGf,KAAK,CAACgB,aAAhB;;AACA,cAAID,GAAG,IAAIA,GAAG,CAACE,eAAX,IAA8B,CAACF,GAAG,CAACE,eAAJ,CAAoBC,QAApB,CAA6BlB,KAA7B,CAAnC,EAAwE;AACpE,gBAAInB,MAAM,GAAGmB,KAAb;;AACA,mBAAMnB,MAAM,CAACiC,UAAP,IAAqBjC,MAAM,CAACiC,UAAP,KAAsBjC,MAAjD;AAA2DA,cAAAA,MAAM,GAAGA,MAAM,CAACiC,UAAhB;AAA3D;;AACA,gBAAI,CAACjC,MAAM,CAACK,IAAR,IAAgB,CAAC6B,GAAG,CAACE,eAAJ,CAAoBC,QAApB,CAA6BrC,MAAM,CAACK,IAApC,CAArB,EAAgE,OAAO,CAAC,CAAR;AACnE;;AACD,iBAAO,CAAC,CAAR;AACH,SAVY,CAUXc,KAVW,CAAb,EAUU,OAAO,CAAC,CAAR;AACb;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAASmB,WAAT,CAAqB1C,GAArB,EAA0B;AACtB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,aAAO4J,SAAS,CAACL,GAAG,GAAGA,GAAG,IAAIvJ,MAAd,CAAT,IAAkC0J,SAAS,CAACH,GAAD,CAA3C,IAAoD,KAAK,CAAhE;AACH;;AACD,aAAS2C,WAAT,CAAqBC,OAArB,EAA8BC,MAA9B,EAAsC;AAClC,UAAI,YAAY,OAAOD,OAAvB,EAAgC;AAC5B,YAAI,YAAY,OAAOC,MAAvB,EAA+B,OAAO,QAAQD,OAAR,IAAmBC,MAAM,KAAKD,OAArC;AAC/B,YAAIhD,OAAO,CAACiD,MAAD,CAAX,EAAqB,OAAO,CAAC,CAAR;AACrB,YAAItN,KAAK,CAACuN,OAAN,CAAcD,MAAd,CAAJ,EAA2B,OAAO,CAAC,CAAR;AAC9B;;AACD,aAAOjD,OAAO,CAACgD,OAAD,CAAP,GAAmBhD,OAAO,CAACiD,MAAD,CAAP,GAAkBD,OAAO,CAAC5Q,QAAR,OAAuB6Q,MAAM,CAAC7Q,QAAP,EAAzC,GAA6D,CAACuD,KAAK,CAACuN,OAAN,CAAcD,MAAd,CAAD,IAA0BE,OAAO,CAACF,MAAM,CAACG,KAAP,CAAaJ,OAAb,CAAD,CAAjH,GAA2I,CAAC,CAACrN,KAAK,CAACuN,OAAN,CAAcF,OAAd,CAAF,KAA6BrN,KAAK,CAACuN,OAAN,CAAcD,MAAd,IAAwB7G,IAAI,CAAC3F,SAAL,CAAeuM,OAAf,MAA4B5G,IAAI,CAAC3F,SAAL,CAAewM,MAAf,CAApD,GAA6E,CAACjD,OAAO,CAACiD,MAAD,CAAR,IAAoBD,OAAO,CAACK,IAAR,CAAc,UAASC,UAAT,EAAqB;AAC/S,eAAOP,WAAW,CAACO,UAAD,EAAaL,MAAb,CAAlB;AACH,OAF+Q,CAA9H,CAAlJ;AAGH;;AACD,aAASM,QAAT,CAAkBxW,GAAlB,EAAuB;AACnB,UAAI;AACA,YAAIA,GAAG,KAAK8J,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFD,CAEE,OAAOvJ,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAI,sBAAsB,GAAG9N,QAAH,CAAY5D,IAAZ,CAAiBzB,GAAjB,CAA1B,EAAiD,OAAO,CAAC,CAAR;AACpD,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAIrJ,MAAM,CAAC2M,MAAP,IAAiBzW,GAAG,YAAY8J,MAAM,CAAC2M,MAA3C,EAAmD,OAAO,CAAC,CAAR;AACtD,OAFD,CAEE,OAAOlW,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACW,IAAJ,KAAaX,GAAxB,EAA6B,OAAO,CAAC,CAAR;AAChC,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACyT,MAAJ,KAAezT,GAA1B,EAA+B,OAAO,CAAC,CAAR;AAClC,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACsV,GAAJ,KAAYtV,GAAvB,EAA4B,OAAO,CAAC,CAAR;AAC/B,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAI,yBAAyBA,GAAG,CAAC0W,mCAAxC,EAA6E,OAAO,CAAC,CAAR;AAChF,OAFD,CAEE,OAAOnW,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI,iBAAiBP,GAAjB,IAAwB,UAAUA,GAAlC,IAAyC,cAAcA,GAA3D,EAAgE,OAAO,CAAC,CAAR;AACnE,OAFD,CAEE,OAAOO,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,aAASoW,WAAT,CAAqBtD,GAArB,EAA0B;AACtB,UAAI;AACAA,QAAAA,GAAG,CAACuD,KAAJ;AACH,OAFD,CAEE,OAAOrW,GAAP,EAAY;AACjB;;AACD,aAASsW,eAAT,CAAyB3D,IAAzB,EAA+B;AAC3B,UAAI;AACA,YAAI,CAACA,IAAL,EAAW,OAAO,CAAC,CAAR;AACX,YAAI,eAAe,OAAO/O,OAAtB,IAAiC+O,IAAI,YAAY/O,OAArD,EAA8D,OAAO,CAAC,CAAR;AAC9D,YAAI,eAAe,OAAO2F,MAAtB,IAAgC,cAAc,OAAOA,MAAM,CAAC2M,MAA5D,IAAsEvD,IAAI,YAAYpJ,MAAM,CAAC2M,MAAjG,EAAyG,OAAO,CAAC,CAAR;AACzG,YAAI,eAAe,OAAO3M,MAAtB,IAAgC,cAAc,OAAOA,MAAM,CAACvH,WAA5D,IAA2E2Q,IAAI,YAAYpJ,MAAM,CAACvH,WAAtG,EAAmH,OAAO,CAAC,CAAR;AACnH,YAAIuU,SAAS,GAAG,GAAGzR,QAAnB;;AACA,YAAIyR,SAAJ,EAAe;AACX,cAAI/T,IAAI,GAAG+T,SAAS,CAACrV,IAAV,CAAeyR,IAAf,CAAX;;AACA,cAAI,sBAAsBnQ,IAAtB,IAA8B,sBAAsBA,IAApD,IAA4D,yBAAyBA,IAAzF,EAA+F,OAAO,CAAC,CAAR;AAClG;;AACD,YAAI,cAAc,OAAOmQ,IAAI,CAACtP,IAA9B,EAAoC,OAAO,CAAC,CAAR;AACvC,OAXD,CAWE,OAAOrD,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,QAAIwW,gBAAgB,GAAG,EAAvB;AACA,QAAIC,gCAAgC,GAAG,EAAvC;AACA,QAAIC,WAAW,GAAG,CAAlB;AACA,QAAIC,YAAJ;;AACA,aAASC,WAAT,GAAuB;AACnB,UAAI,CAACF,WAAD,IAAgBC,YAApB,EAAkC;AAC9B,YAAIpH,OAAO,GAAGoH,YAAd;AACAA,QAAAA,YAAY,GAAG,IAAf;AACApH,QAAAA,OAAO,CAACtM,OAAR;AACH;AACJ;;AACD,aAAS4T,WAAT,GAAuB;AACnBH,MAAAA,WAAW,IAAI,CAAf;AACH;;AACD,aAASI,SAAT,GAAqB;AACjBJ,MAAAA,WAAW,IAAI,CAAf;AACAE,MAAAA,WAAW;AACd;;AACD,QAAIhF,oBAAoB,GAAG,YAAW;AAClC,eAASmF,YAAT,CAAsBC,OAAtB,EAA+B;AAC3B,YAAIC,KAAK,GAAG,IAAZ;;AACA,aAAKC,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,YAAL,GAAoB,KAAK,CAAzB;AACA,aAAKzX,KAAL,GAAa,KAAK,CAAlB;AACA,aAAK4D,KAAL,GAAa,KAAK,CAAlB;AACA,aAAK8T,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,WAAL,GAAmB,KAAK,CAAxB;AACA,aAAKC,KAAL,GAAa,KAAK,CAAlB;AACA,aAAKL,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKC,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKC,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKC,QAAL,GAAgB,EAAhB;;AACA,YAAIL,OAAJ,EAAa;AACT,cAAIQ,OAAJ;;AACA,cAAIC,MAAJ;;AACA,cAAIP,QAAQ,GAAG,CAAC,CAAhB;AACA,cAAIC,QAAQ,GAAG,CAAC,CAAhB;AACA,cAAIO,OAAO,GAAG,CAAC,CAAf;AACAb,UAAAA,WAAW;;AACX,cAAI;AACAG,YAAAA,OAAO,CAAE,UAASjI,GAAT,EAAc;AACnB,kBAAI2I,OAAJ,EAAaT,KAAK,CAAChU,OAAN,CAAc8L,GAAd,EAAb,KAAsC;AAClCmI,gBAAAA,QAAQ,GAAG,CAAC,CAAZ;AACAM,gBAAAA,OAAO,GAAGzI,GAAV;AACH;AACJ,aALM,EAKF,UAAS/O,GAAT,EAAc;AACf,kBAAI0X,OAAJ,EAAaT,KAAK,CAAC/T,MAAN,CAAalD,GAAb,EAAb,KAAqC;AACjCmX,gBAAAA,QAAQ,GAAG,CAAC,CAAZ;AACAM,gBAAAA,MAAM,GAAGzX,GAAT;AACH;AACJ,aAVM,CAAP;AAWH,WAZD,CAYE,OAAOA,GAAP,EAAY;AACV8W,YAAAA,SAAS;AACT,iBAAK5T,MAAL,CAAYlD,GAAZ;AACA;AACH;;AACD8W,UAAAA,SAAS;AACTY,UAAAA,OAAO,GAAG,CAAC,CAAX;AACAR,UAAAA,QAAQ,GAAG,KAAKjU,OAAL,CAAauU,OAAb,CAAH,GAA2BL,QAAQ,IAAI,KAAKjU,MAAL,CAAYuU,MAAZ,CAA/C;AACH;AACJ;;AACD,UAAIE,MAAM,GAAGZ,YAAY,CAACnY,SAA1B;;AACA+Y,MAAAA,MAAM,CAAC1U,OAAP,GAAiB,UAASG,MAAT,EAAiB;AAC9B,YAAI,KAAK8T,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIb,eAAe,CAAClT,MAAD,CAAnB,EAA6B,MAAM,IAAIa,KAAJ,CAAU,8CAAV,CAAN;AAC7B,aAAKiT,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKvX,KAAL,GAAayD,MAAb;AACA,aAAKwU,QAAL;AACA,eAAO,IAAP;AACH,OAPD;;AAQAD,MAAAA,MAAM,CAACzU,MAAP,GAAgB,UAASK,KAAT,EAAgB;AAC5B,YAAIsU,MAAM,GAAG,IAAb;;AACA,YAAI,KAAKX,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIb,eAAe,CAAC/S,KAAD,CAAnB,EAA4B,MAAM,IAAIU,KAAJ,CAAU,6CAAV,CAAN;;AAC5B,YAAI,CAACV,KAAL,EAAY;AACR,cAAIuU,IAAI,GAAGvU,KAAK,IAAI,cAAc,OAAOA,KAAK,CAACuB,QAApC,GAA+CvB,KAAK,CAACuB,QAAN,EAA/C,GAAkE,GAAGA,QAAH,CAAY5D,IAAZ,CAAiBqC,KAAjB,CAA7E;;AACAA,UAAAA,KAAK,GAAG,IAAIU,KAAJ,CAAU,kDAAkD6T,IAA5D,CAAR;AACH;;AACD,aAAKX,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAK5T,KAAL,GAAaA,KAAb;AACA,aAAK6T,YAAL,IAAqBW,UAAU,CAAE,YAAW;AACxCF,UAAAA,MAAM,CAACT,YAAP,IAAuB,UAASpX,GAAT,EAAcuP,OAAd,EAAuB;AAC1C,gBAAI,CAAC,CAAD,KAAOiH,gBAAgB,CAAC9C,OAAjB,CAAyB1T,GAAzB,CAAX,EAA0C;AACtCwW,cAAAA,gBAAgB,CAACjR,IAAjB,CAAsBvF,GAAtB;AACA+X,cAAAA,UAAU,CAAE,YAAW;AACnB,sBAAM/X,GAAN;AACH,eAFS,EAEN,CAFM,CAAV;;AAGA,mBAAK,IAAIgY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGvB,gCAAgC,CAAC3Q,MAArD,EAA6DkS,CAAC,EAA9D;AAAkEvB,gBAAAA,gCAAgC,CAACuB,CAAD,CAAhC,CAAoChY,GAApC,EAAyCuP,OAAzC;AAAlE;AACH;AACJ,WARsB,CAQrBhM,KARqB,EAQdsU,MARc,CAAvB;AASH,SAV8B,EAU3B,CAV2B,CAA/B;AAWA,aAAKD,QAAL;AACA,eAAO,IAAP;AACH,OAvBD;;AAwBAD,MAAAA,MAAM,CAACM,WAAP,GAAqB,UAAS1U,KAAT,EAAgB;AACjC,aAAK6T,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKlU,MAAL,CAAYK,KAAZ;AACA,eAAO,IAAP;AACH,OAJD;;AAKAoU,MAAAA,MAAM,CAACC,QAAP,GAAkB,YAAW;AACzB,YAAIV,QAAQ,GAAG,KAAKA,QAApB;AAAA,YAA8BC,QAAQ,GAAG,KAAKA,QAA9C;AAAA,YAAwDE,QAAQ,GAAG,KAAKA,QAAxE;;AACA,YAAI,CAAC,KAAKC,WAAN,KAAsBJ,QAAQ,IAAIC,QAAlC,CAAJ,EAAiD;AAC7C,eAAKG,WAAL,GAAmB,CAAC,CAApB;AACAT,UAAAA,WAAW;;AACX,cAAIqB,KAAK,GAAG,SAARA,KAAQ,CAASC,YAAT,EAAuBC,aAAvB,EAAsC;AAC9C,mBAAOD,YAAY,CAAC9U,IAAb,CAAmB,UAAS0L,GAAT,EAAc;AACpCqJ,cAAAA,aAAa,CAACnV,OAAd,CAAsB8L,GAAtB;AACH,aAFM,EAEF,UAAS/O,GAAT,EAAc;AACfoY,cAAAA,aAAa,CAAClV,MAAd,CAAqBlD,GAArB;AACH,aAJM,CAAP;AAKH,WAND;;AAOA,eAAK,IAAImG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkR,QAAQ,CAACvR,MAA7B,EAAqCK,CAAC,EAAtC,EAA0C;AACtC,gBAAIkS,WAAW,GAAGhB,QAAQ,CAAClR,CAAD,CAA1B;AAAA,gBAA+BmS,SAAS,GAAGD,WAAW,CAACC,SAAvD;AAAA,gBAAkEC,OAAO,GAAGF,WAAW,CAACE,OAAxF;AAAA,gBAAiGhJ,OAAO,GAAG8I,WAAW,CAAC9I,OAAvH;;AACA,gBAAIiJ,QAAQ,GAAG,KAAK,CAApB;;AACA,gBAAItB,QAAJ,EAAc,IAAI;AACdsB,cAAAA,QAAQ,GAAGF,SAAS,GAAGA,SAAS,CAAC,KAAK3Y,KAAN,CAAZ,GAA2B,KAAKA,KAApD;AACH,aAFa,CAEZ,OAAOK,GAAP,EAAY;AACVuP,cAAAA,OAAO,CAACrM,MAAR,CAAelD,GAAf;AACA;AACH,aALD,MAKO,IAAImX,QAAJ,EAAc;AACjB,kBAAI,CAACoB,OAAL,EAAc;AACVhJ,gBAAAA,OAAO,CAACrM,MAAR,CAAe,KAAKK,KAApB;AACA;AACH;;AACD,kBAAI;AACAiV,gBAAAA,QAAQ,GAAGD,OAAO,CAAC,KAAKhV,KAAN,CAAlB;AACH,eAFD,CAEE,OAAOvD,GAAP,EAAY;AACVuP,gBAAAA,OAAO,CAACrM,MAAR,CAAelD,GAAf;AACA;AACH;AACJ;;AACD,gBAAIwY,QAAQ,YAAYzB,YAApB,KAAqCyB,QAAQ,CAACtB,QAAT,IAAqBsB,QAAQ,CAACrB,QAAnE,CAAJ,EAAkF;AAC9EqB,cAAAA,QAAQ,CAACtB,QAAT,GAAoB3H,OAAO,CAACtM,OAAR,CAAgBuV,QAAQ,CAAC7Y,KAAzB,CAApB,GAAsD4P,OAAO,CAACrM,MAAR,CAAesV,QAAQ,CAACjV,KAAxB,CAAtD;AACAiV,cAAAA,QAAQ,CAACpB,YAAT,GAAwB,CAAC,CAAzB;AACH,aAHD,MAGOd,eAAe,CAACkC,QAAD,CAAf,GAA4BA,QAAQ,YAAYzB,YAApB,KAAqCyB,QAAQ,CAACtB,QAAT,IAAqBsB,QAAQ,CAACrB,QAAnE,IAA+EqB,QAAQ,CAACtB,QAAT,GAAoB3H,OAAO,CAACtM,OAAR,CAAgBuV,QAAQ,CAAC7Y,KAAzB,CAApB,GAAsD4P,OAAO,CAACrM,MAAR,CAAesV,QAAQ,CAACjV,KAAxB,CAArI,GAAsK2U,KAAK,CAACM,QAAD,EAAWjJ,OAAX,CAAvM,GAA6NA,OAAO,CAACtM,OAAR,CAAgBuV,QAAhB,CAA7N;AACV;;AACDnB,UAAAA,QAAQ,CAACvR,MAAT,GAAkB,CAAlB;AACA,eAAKwR,WAAL,GAAmB,CAAC,CAApB;AACAR,UAAAA,SAAS;AACZ;AACJ,OAzCD;;AA0CAa,MAAAA,MAAM,CAACtU,IAAP,GAAc,UAASiV,SAAT,EAAoBC,OAApB,EAA6B;AACvC,YAAID,SAAS,IAAI,cAAc,OAAOA,SAAlC,IAA+C,CAACA,SAAS,CAACpX,IAA9D,EAAoE,MAAM,IAAI+C,KAAJ,CAAU,sDAAV,CAAN;AACpE,YAAIsU,OAAO,IAAI,cAAc,OAAOA,OAAhC,IAA2C,CAACA,OAAO,CAACrX,IAAxD,EAA8D,MAAM,IAAI+C,KAAJ,CAAU,oDAAV,CAAN;AAC9D,YAAIsL,OAAO,GAAG,IAAIwH,YAAJ,EAAd;AACA,aAAKM,QAAL,CAAc9R,IAAd,CAAmB;AACfgK,UAAAA,OAAO,EAAEA,OADM;AAEf+I,UAAAA,SAAS,EAAEA,SAFI;AAGfC,UAAAA,OAAO,EAAEA;AAHM,SAAnB;AAKA,aAAKnB,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKQ,QAAL;AACA,eAAOrI,OAAP;AACH,OAZD;;AAaAoI,MAAAA,MAAM,SAAN,GAAe,UAASY,OAAT,EAAkB;AAC7B,eAAO,KAAKlV,IAAL,CAAU,KAAK,CAAf,EAAkBkV,OAAlB,CAAP;AACH,OAFD;;AAGAZ,MAAAA,MAAM,WAAN,GAAiB,UAASc,SAAT,EAAoB;AACjC,YAAIA,SAAS,IAAI,cAAc,OAAOA,SAAlC,IAA+C,CAACA,SAAS,CAACvX,IAA9D,EAAoE,MAAM,IAAI+C,KAAJ,CAAU,qCAAV,CAAN;AACpE,eAAO,KAAKZ,IAAL,CAAW,UAASD,MAAT,EAAiB;AAC/B,iBAAO2T,YAAY,OAAZ,CAAiB0B,SAAjB,EAA4BpV,IAA5B,CAAkC,YAAW;AAChD,mBAAOD,MAAP;AACH,WAFM,CAAP;AAGH,SAJM,EAIF,UAASpD,GAAT,EAAc;AACf,iBAAO+W,YAAY,OAAZ,CAAiB0B,SAAjB,EAA4BpV,IAA5B,CAAkC,YAAW;AAChD,kBAAMrD,GAAN;AACH,WAFM,CAAP;AAGH,SARM,CAAP;AASH,OAXD;;AAYA2X,MAAAA,MAAM,CAACe,OAAP,GAAiB,UAASC,IAAT,EAAe3Y,GAAf,EAAoB;AACjC,YAAI4Y,MAAM,GAAG,IAAb;;AACA,YAAI,KAAK1B,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIuB,OAAO,GAAGX,UAAU,CAAE,YAAW;AACjCa,UAAAA,MAAM,CAAC1B,QAAP,IAAmB0B,MAAM,CAACzB,QAA1B,IAAsCyB,MAAM,CAAC1V,MAAP,CAAclD,GAAG,IAAI,IAAIiE,KAAJ,CAAU,6BAA6B0U,IAA7B,GAAoC,IAA9C,CAArB,CAAtC;AACH,SAFuB,EAEpBA,IAFoB,CAAxB;AAGA,eAAO,KAAKtV,IAAL,CAAW,UAASD,MAAT,EAAiB;AAC/ByV,UAAAA,YAAY,CAACH,OAAD,CAAZ;AACA,iBAAOtV,MAAP;AACH,SAHM,CAAP;AAIH,OAVD;;AAWAuU,MAAAA,MAAM,CAACmB,SAAP,GAAmB,YAAW;AAC1B,YAAI,eAAe,OAAOlV,OAA1B,EAAmC,MAAM,IAAIc,SAAJ,CAAc,wBAAd,CAAN;AACnC,eAAOd,OAAO,CAACX,OAAR,CAAgB,IAAhB,CAAP;AACH,OAHD;;AAIA8T,MAAAA,YAAY,CAAC9T,OAAb,GAAuB,UAAStD,KAAT,EAAgB;AACnC,eAAOA,KAAK,YAAYoX,YAAjB,GAAgCpX,KAAhC,GAAwC2W,eAAe,CAAC3W,KAAD,CAAf,GAAyB,IAAIoX,YAAJ,CAAkB,UAAS9T,OAAT,EAAkBC,MAAlB,EAA0B;AAChH,iBAAOvD,KAAK,CAAC0D,IAAN,CAAWJ,OAAX,EAAoBC,MAApB,CAAP;AACH,SAFuE,CAAzB,GAExC,IAAI6T,YAAJ,EAAD,CAAmB9T,OAAnB,CAA2BtD,KAA3B,CAFN;AAGH,OAJD;;AAKAoX,MAAAA,YAAY,CAAC7T,MAAb,GAAsB,UAASK,KAAT,EAAgB;AAClC,eAAQ,IAAIwT,YAAJ,EAAD,CAAmB7T,MAAnB,CAA0BK,KAA1B,CAAP;AACH,OAFD;;AAGAwT,MAAAA,YAAY,CAACkB,WAAb,GAA2B,UAAS1U,KAAT,EAAgB;AACvC,eAAQ,IAAIwT,YAAJ,EAAD,CAAmBkB,WAAnB,CAA+B1U,KAA/B,CAAP;AACH,OAFD;;AAGAwT,MAAAA,YAAY,CAACgC,GAAb,GAAmB,UAASC,QAAT,EAAmB;AAClC,YAAIzJ,OAAO,GAAG,IAAIwH,YAAJ,EAAd;AACA,YAAIkC,KAAK,GAAGD,QAAQ,CAAClT,MAArB;AACA,YAAIoT,OAAO,GAAG,EAAd;;AACA,YAAI,CAACD,KAAL,EAAY;AACR1J,UAAAA,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB;AACA,iBAAO3J,OAAP;AACH;;AACD,YAAI2I,KAAK,GAAG,SAARA,KAAQ,CAAS/R,CAAT,EAAYgS,YAAZ,EAA0BC,aAA1B,EAAyC;AACjD,iBAAOD,YAAY,CAAC9U,IAAb,CAAmB,UAAS0L,GAAT,EAAc;AACpCmK,YAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAa4I,GAAb;AACA,kBAAMkK,KAAK,IAAI,CAAf,KAAqB1J,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB,CAArB;AACH,WAHM,EAGF,UAASlZ,GAAT,EAAc;AACfoY,YAAAA,aAAa,CAAClV,MAAd,CAAqBlD,GAArB;AACH,WALM,CAAP;AAMH,SAPD;;AAQA,aAAK,IAAImG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6S,QAAQ,CAAClT,MAA7B,EAAqCK,CAAC,EAAtC,EAA0C;AACtC,cAAIgT,IAAI,GAAGH,QAAQ,CAAC7S,CAAD,CAAnB;;AACA,cAAIgT,IAAI,YAAYpC,YAApB,EAAkC;AAC9B,gBAAIoC,IAAI,CAACjC,QAAT,EAAmB;AACfgC,cAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAagT,IAAI,CAACxZ,KAAlB;AACAsZ,cAAAA,KAAK,IAAI,CAAT;AACA;AACH;AACJ,WAND,MAMO,IAAI,CAAC3C,eAAe,CAAC6C,IAAD,CAApB,EAA4B;AAC/BD,YAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAagT,IAAb;AACAF,YAAAA,KAAK,IAAI,CAAT;AACA;AACH;;AACDf,UAAAA,KAAK,CAAC/R,CAAD,EAAI4Q,YAAY,CAAC9T,OAAb,CAAqBkW,IAArB,CAAJ,EAAgC5J,OAAhC,CAAL;AACH;;AACD,cAAM0J,KAAN,IAAe1J,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB,CAAf;AACA,eAAO3J,OAAP;AACH,OAjCD;;AAkCAwH,MAAAA,YAAY,CAACqC,IAAb,GAAoB,UAASJ,QAAT,EAAmB;AACnC,YAAI5V,MAAM,GAAG,EAAb;AACA,YAAIiW,aAAa,GAAG,EAApB;;AACA,YAAIC,KAAK,GAAG,SAARA,KAAQ,CAAS5Z,GAAT,EAAc;AACtB,cAAIsZ,QAAQ,CAACla,cAAT,CAAwBY,GAAxB,CAAJ,EAAkC;AAC9B,gBAAIC,KAAK,GAAGqZ,QAAQ,CAACtZ,GAAD,CAApB;AACA4W,YAAAA,eAAe,CAAC3W,KAAD,CAAf,GAAyB0Z,aAAa,CAAC9T,IAAd,CAAmB5F,KAAK,CAAC0D,IAAN,CAAY,UAAS0L,GAAT,EAAc;AAClE3L,cAAAA,MAAM,CAAC1D,GAAD,CAAN,GAAcqP,GAAd;AACH,aAF2C,CAAnB,CAAzB,GAEO3L,MAAM,CAAC1D,GAAD,CAAN,GAAcC,KAFrB;AAGH;AACJ,SAPD;;AAQA,aAAK,IAAID,GAAT,IAAgBsZ,QAAhB;AAA0BM,UAAAA,KAAK,CAAC5Z,GAAD,CAAL;AAA1B;;AACA,eAAOqX,YAAY,CAACgC,GAAb,CAAiBM,aAAjB,EAAgChW,IAAhC,CAAsC,YAAW;AACpD,iBAAOD,MAAP;AACH,SAFM,CAAP;AAGH,OAfD;;AAgBA2T,MAAAA,YAAY,CAACwC,GAAb,GAAmB,UAASC,KAAT,EAAgBpX,MAAhB,EAAwB;AACvC,eAAO2U,YAAY,CAACgC,GAAb,CAAiBS,KAAK,CAACD,GAAN,CAAUnX,MAAV,CAAjB,CAAP;AACH,OAFD;;AAGA2U,MAAAA,YAAY,CAAC0C,4BAAb,GAA4C,UAASzC,OAAT,EAAkB;AAC1D,eAAO,UAASA,OAAT,EAAkB;AACrBP,UAAAA,gCAAgC,CAAClR,IAAjC,CAAsCyR,OAAtC;AACA,iBAAO;AACH0C,YAAAA,MAAM,EAAE,kBAAW;AACfjD,cAAAA,gCAAgC,CAACkD,MAAjC,CAAwClD,gCAAgC,CAAC/C,OAAjC,CAAyCsD,OAAzC,CAAxC,EAA2F,CAA3F;AACH;AAHE,WAAP;AAKH,SAPM,CAOLA,OAPK,CAAP;AAQH,OATD;;AAUAD,MAAAA,YAAY,OAAZ,GAAmB,UAAS3U,MAAT,EAAiB1B,OAAjB,EAA0BkZ,IAA1B,EAAgC;AAC/C,YAAIxX,MAAM,IAAI,cAAc,OAAOA,MAA/B,IAAyC,CAACA,MAAM,CAAClB,IAArD,EAA2D,MAAM,IAAI+C,KAAJ,CAAU,iCAAV,CAAN;AAC3D,YAAIb,MAAJ;AACAyT,QAAAA,WAAW;;AACX,YAAI;AACAzT,UAAAA,MAAM,GAAGhB,MAAM,CAACyX,KAAP,CAAanZ,OAAb,EAAsBkZ,IAAI,IAAI,EAA9B,CAAT;AACH,SAFD,CAEE,OAAO5Z,GAAP,EAAY;AACV8W,UAAAA,SAAS;AACT,iBAAOC,YAAY,CAAC7T,MAAb,CAAoBlD,GAApB,CAAP;AACH;;AACD8W,QAAAA,SAAS;AACT,eAAOC,YAAY,CAAC9T,OAAb,CAAqBG,MAArB,CAAP;AACH,OAZD;;AAaA2T,MAAAA,YAAY,CAAC+C,KAAb,GAAqB,UAASC,MAAT,EAAiB;AAClC,eAAO,IAAIhD,YAAJ,CAAkB,UAAS9T,OAAT,EAAkB;AACvC8U,UAAAA,UAAU,CAAC9U,OAAD,EAAU8W,MAAV,CAAV;AACH,SAFM,CAAP;AAGH,OAJD;;AAKAhD,MAAAA,YAAY,CAACiD,SAAb,GAAyB,UAASra,KAAT,EAAgB;AACrC,eAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,YAAYoX,YAA5B,CAAD,IAA8CT,eAAe,CAAC3W,KAAD,CAApE;AACH,OAFD;;AAGAoX,MAAAA,YAAY,CAACkD,KAAb,GAAqB,YAAW;AAC5B,eAAO,UAASC,KAAT,EAAgB;AACnB,cAAI3K,OAAO,GAAGoH,YAAY,GAAGA,YAAY,IAAI,IAAIuD,KAAJ,EAA7C;AACAtD,UAAAA,WAAW;AACX,iBAAOrH,OAAP;AACH,SAJM,CAILwH,YAJK,CAAP;AAKH,OAND;;AAOA,aAAOA,YAAP;AACH,KA9Q0B,EAA3B;;AA+QA,aAASoD,gBAAT,CAA0BlF,UAA1B,EAAsCtC,IAAtC,EAA4C;AACxC,WAAK,IAAIxM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8O,UAAU,CAACnP,MAA/B,EAAuCK,CAAC,EAAxC;AAA4C,YAAI;AAC5C,cAAI8O,UAAU,CAAC9O,CAAD,CAAV,KAAkBwM,IAAtB,EAA4B,OAAOxM,CAAP;AAC/B,SAF2C,CAE1C,OAAOnG,GAAP,EAAY;AAFd;;AAGA,aAAO,CAAC,CAAR;AACH;;AACD,QAAIoa,8BAA8B,GAAG,YAAW;AAC5C,eAASC,sBAAT,GAAkC;AAC9B,aAAK7X,IAAL,GAAY,KAAK,CAAjB;AACA,aAAK8X,OAAL,GAAe,KAAK,CAApB;AACA,aAAK3U,IAAL,GAAY,KAAK,CAAjB;AACA,aAAK7D,MAAL,GAAc,KAAK,CAAnB;AACA,aAAKU,IAAL,GAAY,gBAAgB,MAAM+X,IAAI,CAACC,MAAL,EAAN,KAAwB,CAAxC,IAA6C,IAAzD;AACA,YAAI,YAAW;AACX,cAAI,eAAe,OAAOC,OAA1B,EAAmC,OAAO,CAAC,CAAR;AACnC,cAAI,KAAK,CAAL,KAAW9b,MAAM,CAAC+b,MAAtB,EAA8B,OAAO,CAAC,CAAR;;AAC9B,cAAI;AACA,gBAAIC,WAAW,GAAG,IAAIF,OAAJ,EAAlB;AACA,gBAAIG,OAAO,GAAG,EAAd;AACAjc,YAAAA,MAAM,CAAC+b,MAAP,CAAcE,OAAd;AACAD,YAAAA,WAAW,CAAC7Q,GAAZ,CAAgB8Q,OAAhB,EAAyB,eAAzB;AACA,mBAAO,oBAAoBD,WAAW,CAAC/Q,GAAZ,CAAgBgR,OAAhB,CAA3B;AACH,WAND,CAME,OAAO5a,GAAP,EAAY;AACV,mBAAO,CAAC,CAAR;AACH;AACJ,SAZG,EAAJ,EAYK,IAAI;AACL,eAAKsa,OAAL,GAAe,IAAIG,OAAJ,EAAf;AACH,SAFI,CAEH,OAAOza,GAAP,EAAY;AACd,aAAK2F,IAAL,GAAY,EAAZ;AACA,aAAK7D,MAAL,GAAc,EAAd;AACH;;AACD,UAAI6V,MAAM,GAAG0C,sBAAsB,CAACzb,SAApC;;AACA+Y,MAAAA,MAAM,CAACkD,qBAAP,GAA+B,YAAW;AACtC,YAAIP,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAI3U,IAAI,GAAG,KAAKA,IAAhB;;AACA,aAAK,IAAIQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,IAAI,CAACG,MAAzB,EAAiCK,CAAC,EAAlC,EAAsC;AAClC,cAAIxG,KAAK,GAAGgG,IAAI,CAACQ,CAAD,CAAhB;;AACA,cAAI8P,QAAQ,CAACtW,KAAD,CAAR,IAAmB+U,cAAc,CAAC/U,KAAD,CAArC,EAA8C;AAC1C,gBAAI2a,OAAJ,EAAa,IAAI;AACbA,cAAAA,OAAO,UAAP,CAAe3a,KAAf;AACH,aAFY,CAEX,OAAOK,GAAP,EAAY;AACd2F,YAAAA,IAAI,CAACgU,MAAL,CAAYxT,CAAZ,EAAe,CAAf;AACA,iBAAKrE,MAAL,CAAY6X,MAAZ,CAAmBxT,CAAnB,EAAsB,CAAtB;AACAA,YAAAA,CAAC,IAAI,CAAL;AACH;AACJ;AACJ,OAdD;;AAeAwR,MAAAA,MAAM,CAACmD,iBAAP,GAA2B,UAASpb,GAAT,EAAc;AACrC,eAAO,CAACuW,QAAQ,CAACvW,GAAD,CAAhB;AACH,OAFD;;AAGAiY,MAAAA,MAAM,CAAC7N,GAAP,GAAa,UAASpK,GAAT,EAAcC,KAAd,EAAqB;AAC9B,YAAI,CAACD,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACbA,UAAAA,OAAO,CAACxQ,GAAR,CAAYpK,GAAZ,EAAiBC,KAAjB;AACH,SAFY,CAEX,OAAOK,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAI8C,IAAI,GAAG,KAAKA,IAAhB;AACA,cAAIyC,KAAK,GAAGvF,GAAG,CAAC8C,IAAD,CAAf;AACAyC,UAAAA,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,GAA4BuF,KAAK,CAAC,CAAD,CAAL,GAAWtF,KAAvC,GAA+ChB,MAAM,CAACiB,cAAP,CAAsBF,GAAtB,EAA2B8C,IAA3B,EAAiC;AAC5E7C,YAAAA,KAAK,EAAE,CAAED,GAAF,EAAOC,KAAP,CADqE;AAE5EI,YAAAA,QAAQ,EAAE,CAAC;AAFiE,WAAjC,CAA/C;AAIA;AACH,SARgC,CAQ/B,OAAOC,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIlV,IAAI,GAAG,KAAKA,IAAhB;AACA,YAAI7D,MAAM,GAAG,KAAKA,MAAlB;AACA,YAAIiZ,KAAK,GAAGZ,gBAAgB,CAACxU,IAAD,EAAOjG,GAAP,CAA5B;;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB;AACdpV,UAAAA,IAAI,CAACJ,IAAL,CAAU7F,GAAV;AACAoC,UAAAA,MAAM,CAACyD,IAAP,CAAY5F,KAAZ;AACH,SAHD,MAGOmC,MAAM,CAACiZ,KAAD,CAAN,GAAgBpb,KAAhB;AACV,OAzBD;;AA0BAgY,MAAAA,MAAM,CAAC/N,GAAP,GAAa,UAASlK,GAAT,EAAc;AACvB,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACb,cAAIA,OAAO,CAACU,GAAR,CAAYtb,GAAZ,CAAJ,EAAsB,OAAO4a,OAAO,CAAC1Q,GAAR,CAAYlK,GAAZ,CAAP;AACzB,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACA,iBAAOyC,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,GAA4BuF,KAAK,CAAC,CAAD,CAAjC,GAAuC,KAAK,CAAnD;AACH,SAHgC,CAG/B,OAAOjF,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIE,KAAK,GAAGZ,gBAAgB,CAAC,KAAKxU,IAAN,EAAYjG,GAAZ,CAA5B;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB,OAAO,KAAKjZ,MAAL,CAAYiZ,KAAZ,CAAP;AACrB,OAfD;;AAgBApD,MAAAA,MAAM,UAAN,GAAgB,UAASjY,GAAT,EAAc;AAC1B,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACbA,UAAAA,OAAO,UAAP,CAAe5a,GAAf;AACH,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACAyC,UAAAA,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,KAA8BuF,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAzD;AACH,SAHgC,CAG/B,OAAOjF,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIlV,IAAI,GAAG,KAAKA,IAAhB;AACA,YAAIoV,KAAK,GAAGZ,gBAAgB,CAACxU,IAAD,EAAOjG,GAAP,CAA5B;;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB;AACdpV,UAAAA,IAAI,CAACgU,MAAL,CAAYoB,KAAZ,EAAmB,CAAnB;AACA,eAAKjZ,MAAL,CAAY6X,MAAZ,CAAmBoB,KAAnB,EAA0B,CAA1B;AACH;AACJ,OAnBD;;AAoBApD,MAAAA,MAAM,CAACqD,GAAP,GAAa,UAAStb,GAAT,EAAc;AACvB,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACb,cAAIA,OAAO,CAACU,GAAR,CAAYtb,GAAZ,CAAJ,EAAsB,OAAO,CAAC,CAAR;AACzB,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACA,iBAAO,EAAE,CAACyC,KAAD,IAAUA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAzB,CAAP;AACH,SAHgC,CAG/B,OAAOM,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,eAAO,CAAC,CAAD,KAAOV,gBAAgB,CAAC,KAAKxU,IAAN,EAAYjG,GAAZ,CAA9B;AACH,OAdD;;AAeAiY,MAAAA,MAAM,CAACsD,QAAP,GAAkB,UAASvb,GAAT,EAAcuR,MAAd,EAAsB;AACpC,YAAI,KAAK+J,GAAL,CAAStb,GAAT,CAAJ,EAAmB,OAAO,KAAKkK,GAAL,CAASlK,GAAT,CAAP;AACnB,YAAIC,KAAK,GAAGsR,MAAM,EAAlB;AACA,aAAKnH,GAAL,CAASpK,GAAT,EAAcC,KAAd;AACA,eAAOA,KAAP;AACH,OALD;;AAMA,aAAO0a,sBAAP;AACH,KAhIoC,EAArC;;AAiIA,aAASa,eAAT,CAAyBna,EAAzB,EAA6B;AACzB,aAAOA,EAAE,CAACyB,IAAH,IAAWzB,EAAE,CAACoa,QAAd,IAA0Bpa,EAAE,CAACkB,WAA7B,IAA4C,WAAnD;AACH;;AACD,aAASmZ,eAAT,CAAyBra,EAAzB,EAA6ByB,IAA7B,EAAmC;AAC/B,UAAI;AACA,eAAOzB,EAAE,CAACyB,IAAV;AACAzB,QAAAA,EAAE,CAACyB,IAAH,GAAUA,IAAV;AACH,OAHD,CAGE,OAAOxC,GAAP,EAAY;;AACde,MAAAA,EAAE,CAACoa,QAAH,GAAcpa,EAAE,CAACkB,WAAH,GAAiBO,IAA/B;AACA,aAAOzB,EAAP;AACH;;AACD,aAASsa,QAAT,GAAoB;AAChB,UAAIC,KAAK,GAAG,kBAAZ;AACA,aAAO,aAAaC,OAAb,CAAqB,IAArB,EAA4B,YAAW;AAC1C,eAAOD,KAAK,CAAChV,MAAN,CAAaiU,IAAI,CAACiB,KAAL,CAAWjB,IAAI,CAACC,MAAL,KAAgBc,KAAK,CAACxV,MAAjC,CAAb,CAAP;AACH,OAFM,IAED,GAFC,GAEK,UAAS2V,GAAT,EAAc;AACtB,YAAI,cAAc,OAAOhQ,IAAzB,EAA+B,OAAOA,IAAI,CAACiQ,kBAAkB,CAACD,GAAD,CAAlB,CAAwBF,OAAxB,CAAgC,iBAAhC,EAAoD,UAASzK,CAAT,EAAY6K,EAAZ,EAAgB;AAC3G,iBAAOtR,MAAM,CAACuR,YAAP,CAAoBC,QAAQ,CAACF,EAAD,EAAK,EAAL,CAA5B,CAAP;AACH,SAF0C,CAAD,CAAX;AAG/B,YAAI,eAAe,OAAOG,MAA1B,EAAkC,OAAOA,MAAM,CAACxT,IAAP,CAAYmT,GAAZ,EAAiB,MAAjB,EAAyB3W,QAAzB,CAAkC,QAAlC,CAAP;AAClC,cAAM,IAAIb,KAAJ,CAAU,oCAAV,CAAN;AACH,OANW,CAMT,IAAI2G,IAAJ,EAAD,CAAWmR,WAAX,GAAyBxV,KAAzB,CAA+B,EAA/B,EAAmC,EAAnC,EAAuCgV,OAAvC,CAA+C,GAA/C,EAAoD,GAApD,CANU,EAMgDA,OANhD,CAMwD,eANxD,EAMyE,EANzE,EAM6ES,WAN7E,EAFZ;AASH;;AACD,QAAIC,SAAJ;;AACA,aAASC,aAAT,CAAuBtC,IAAvB,EAA6B;AACzB,UAAI;AACA,eAAO9K,IAAI,CAAC3F,SAAL,CAAe,GAAG5C,KAAH,CAASrF,IAAT,CAAc0Y,IAAd,CAAf,EAAqC,UAASuC,MAAT,EAAiBC,GAAjB,EAAsB;AAC9D,iBAAO,cAAc,OAAOA,GAArB,GAA2B,aAAa,UAAS3c,GAAT,EAAc;AACzDwc,YAAAA,SAAS,GAAGA,SAAS,IAAI,IAAI7B,8BAAJ,EAAzB;AACA,gBAAI,QAAQ3a,GAAR,IAAe,YAAY,OAAOA,GAAnB,IAA0B,cAAc,OAAOA,GAAlE,EAAuE,MAAM,IAAIwE,KAAJ,CAAU,gBAAV,CAAN;AACvE,gBAAIoY,GAAG,GAAGJ,SAAS,CAACrS,GAAV,CAAcnK,GAAd,CAAV;;AACA,gBAAI,CAAC4c,GAAL,EAAU;AACNA,cAAAA,GAAG,GAAG,OAAO5c,GAAP,GAAa,GAAb,GAAmB4b,QAAQ,EAAjC;AACAY,cAAAA,SAAS,CAACnS,GAAV,CAAcrK,GAAd,EAAmB4c,GAAnB;AACH;;AACD,mBAAOA,GAAP;AACH,WAT8C,CAS7CD,GAT6C,CAAb,GASzB,GATF,GASQA,GATf;AAUH,SAXM,CAAP;AAYH,OAbD,CAaE,OAAOpc,GAAP,EAAY;AACV,cAAM,IAAIiE,KAAJ,CAAU,0DAAV,CAAN;AACH;AACJ;;AACD,aAASqY,cAAT,GAA0B;AACtB,aAAO,EAAP;AACH;;AACD,QAAIC,kBAAkB,GAAG,CAAzB;AACA,QAAIC,2BAA2B,GAAG,CAAlC;;AACA,aAASC,OAAT,CAAiBra,MAAjB,EAAyBsa,OAAzB,EAAkC;AAC9B,WAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACA,UAAIC,qBAAqB,GAAGD,OAAO,CAACE,aAApC;AAAA,UAAmDA,aAAa,GAAG,KAAK,CAAL,KAAWD,qBAAX,IAAoCA,qBAAvG;AAAA,UAA8HE,SAAS,GAAGH,OAAO,CAAC/D,IAAlJ;AACA,UAAImE,WAAJ;AACA,UAAIC,SAAJ;AACA,UAAIC,YAAY,GAAGT,kBAAnB;AACAA,MAAAA,kBAAkB,IAAI,CAAtB;;AACA,UAAIU,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAW;AAC9B,aAAK,IAAIC,IAAI,GAAGC,SAAS,CAACrX,MAArB,EAA6B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU6U,IAAV,CAApC,EAAqDE,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGF,IAA3E,EAAiFE,IAAI,EAArF;AAAyFxD,UAAAA,IAAI,CAACwD,IAAD,CAAJ,GAAaD,SAAS,CAACC,IAAD,CAAtB;AAAzF;;AACA,YAAIJ,YAAY,GAAGR,2BAAnB,EAAgD;AAC5CM,UAAAA,WAAW,GAAG,IAAd;AACAC,UAAAA,SAAS,GAAG,IAAZ;AACAC,UAAAA,YAAY,GAAGT,kBAAf;AACAA,UAAAA,kBAAkB,IAAI,CAAtB;AACH;;AACD,YAAIc,KAAJ;AACAA,QAAAA,KAAK,GAAGT,aAAa,GAAG,CAACG,SAAS,GAAGA,SAAS,IAAI,IAAI3C,8BAAJ,EAA1B,EAA8Da,QAA9D,CAAuE,IAAvE,EAA6EqB,cAA7E,CAAH,GAAkGQ,WAAW,GAAGA,WAAW,IAAI,EAApJ;AACA,YAAIQ,QAAQ,GAAGpB,aAAa,CAACtC,IAAD,CAA5B;AACA,YAAI2D,WAAW,GAAGF,KAAK,CAACC,QAAD,CAAvB;;AACA,YAAIC,WAAW,IAAIV,SAAf,IAA4BjS,IAAI,CAAC4S,GAAL,KAAaD,WAAW,CAAC5E,IAAzB,GAAgCkE,SAAhE,EAA2E;AACvE,iBAAOQ,KAAK,CAACC,QAAD,CAAZ;AACAC,UAAAA,WAAW,GAAG,IAAd;AACH;;AACD,YAAIA,WAAJ,EAAiB,OAAOA,WAAW,CAAC5d,KAAnB;AACjB,YAAIgZ,IAAI,GAAG/N,IAAI,CAAC4S,GAAL,EAAX;AACA,YAAI7d,KAAK,GAAGyC,MAAM,CAACyX,KAAP,CAAa,IAAb,EAAmBsD,SAAnB,CAAZ;AACAE,QAAAA,KAAK,CAACC,QAAD,CAAL,GAAkB;AACd3E,UAAAA,IAAI,EAAEA,IADQ;AAEdhZ,UAAAA,KAAK,EAAEA;AAFO,SAAlB;AAIA,eAAOA,KAAP;AACH,OAxBD;;AAyBAsd,MAAAA,gBAAgB,CAACvX,KAAjB,GAAyB,YAAW;AAChCoX,QAAAA,WAAW,GAAG,IAAd;AACAC,QAAAA,SAAS,GAAG,IAAZ;AACH,OAHD;;AAIA,aAAO3B,eAAe,CAAC6B,gBAAD,EAAmB,CAACP,OAAO,CAACla,IAAR,IAAgB0Y,eAAe,CAAC9Y,MAAD,CAAhC,IAA4C,YAA/D,CAAtB;AACH;;AACDqa,IAAAA,OAAO,CAAC1S,KAAR,GAAgB,YAAW;AACvByS,MAAAA,2BAA2B,GAAGD,kBAA9B;AACH,KAFD;;AAGA,aAASkB,cAAT,CAAwBrb,MAAxB,EAAgC;AAC5B,UAAIib,KAAK,GAAG,EAAZ;;AACA,eAASK,uBAAT,GAAmC;AAC/B,YAAIC,UAAU,GAAGR,SAAjB;AAAA,YAA4BlG,KAAK,GAAG,IAApC;;AACA,aAAK,IAAI2G,KAAK,GAAGT,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUuV,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+FjE,UAAAA,IAAI,CAACiE,KAAD,CAAJ,GAAcV,SAAS,CAACU,KAAD,CAAvB;AAA/F;;AACA,YAAIne,GAAG,GAAGwc,aAAa,CAACtC,IAAD,CAAvB;AACA,YAAIyD,KAAK,CAACve,cAAN,CAAqBY,GAArB,CAAJ,EAA+B,OAAO2d,KAAK,CAAC3d,GAAD,CAAZ;AAC/B2d,QAAAA,KAAK,CAAC3d,GAAD,CAAL,GAAakS,oBAAoB,OAApB,CAA0B,YAAW;AAC9C,iBAAOxP,MAAM,CAACyX,KAAP,CAAa5C,KAAb,EAAoB0G,UAApB,CAAP;AACH,SAFY,aAEA,YAAW;AACpB,iBAAON,KAAK,CAAC3d,GAAD,CAAZ;AACH,SAJY,CAAb;AAKA,eAAO2d,KAAK,CAAC3d,GAAD,CAAZ;AACH;;AACDge,MAAAA,uBAAuB,CAAChY,KAAxB,GAAgC,YAAW;AACvC2X,QAAAA,KAAK,GAAG,EAAR;AACH,OAFD;;AAGA,aAAOjC,eAAe,CAACsC,uBAAD,EAA0BxC,eAAe,CAAC9Y,MAAD,CAAf,GAA0B,mBAApD,CAAtB;AACH;;AACD,aAAS0b,aAAT,GAAyB;;AACzB,aAASC,cAAT,CAAwB/d,GAAxB,EAA6Bge,KAA7B,EAAoC;AAChC,WAAK,CAAL,KAAWA,KAAX,KAAqBA,KAAK,GAAG,CAA7B;AACA,UAAIA,KAAK,IAAI,CAAb,EAAgB,OAAO,+BAAP;;AAChB,UAAI;AACA,YAAI,CAAChe,GAAL,EAAU,OAAO,qBAAqB,GAAG8E,QAAH,CAAY5D,IAAZ,CAAiBlB,GAAjB,CAArB,GAA6C,GAApD;AACV,YAAI,YAAY,OAAOA,GAAvB,EAA4B,OAAOA,GAAP;;AAC5B,YAAIA,GAAG,YAAYiE,KAAnB,EAA0B;AACtB,cAAIsT,KAAK,GAAGvX,GAAG,IAAIA,GAAG,CAACuX,KAAvB;AACA,cAAI1C,OAAO,GAAG7U,GAAG,IAAIA,GAAG,CAAC6U,OAAzB;AACA,cAAI0C,KAAK,IAAI1C,OAAb,EAAsB,OAAO,CAAC,CAAD,KAAO0C,KAAK,CAAC7D,OAAN,CAAcmB,OAAd,CAAP,GAAgC0C,KAAhC,GAAwC1C,OAAO,GAAG,IAAV,GAAiB0C,KAAhE;AACtB,cAAIA,KAAJ,EAAW,OAAOA,KAAP;AACX,cAAI1C,OAAJ,EAAa,OAAOA,OAAP;AAChB;;AACD,eAAO7U,GAAG,IAAIA,GAAG,CAAC8E,QAAX,IAAuB,cAAc,OAAO9E,GAAG,CAAC8E,QAAhD,GAA2D9E,GAAG,CAAC8E,QAAJ,EAA3D,GAA4E,GAAGA,QAAH,CAAY5D,IAAZ,CAAiBlB,GAAjB,CAAnF;AACH,OAXD,CAWE,OAAOie,MAAP,EAAe;AACb,eAAO,qCAAqCF,cAAc,CAACE,MAAD,EAASD,KAAK,GAAG,CAAjB,CAA1D;AACH;AACJ;;AACD,aAAS7U,SAAT,CAAmBwJ,IAAnB,EAAyB;AACrB,aAAO,YAAY,OAAOA,IAAnB,GAA0BA,IAA1B,GAAiCA,IAAI,IAAIA,IAAI,CAAC7N,QAAb,IAAyB,cAAc,OAAO6N,IAAI,CAAC7N,QAAnD,GAA8D6N,IAAI,CAAC7N,QAAL,EAA9D,GAAgF,GAAGA,QAAH,CAAY5D,IAAZ,CAAiByR,IAAjB,CAAxH;AACH;;AACD8J,IAAAA,OAAO,CAAE,UAAShd,GAAT,EAAc;AACnB,UAAId,MAAM,CAACmD,MAAX,EAAmB,OAAOnD,MAAM,CAACmD,MAAP,CAAcrC,GAAd,CAAP;AACnB,UAAI2D,MAAM,GAAG,EAAb;;AACA,WAAK,IAAI1D,GAAT,IAAgBD,GAAhB;AAAqBA,QAAAA,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,KAA2B0D,MAAM,CAACmC,IAAP,CAAY9F,GAAG,CAACC,GAAD,CAAf,CAA3B;AAArB;;AACA,aAAO0D,MAAP;AACH,KALM,CAAP;;AAMA,aAAS8a,YAAT,CAAsBvL,IAAtB,EAA4B;AACxB,aAAO,sBAAsB,GAAG7N,QAAH,CAAY5D,IAAZ,CAAiByR,IAAjB,CAA7B;AACH;;AACD,aAASwL,aAAT,CAAuB1e,GAAvB,EAA4BC,GAA5B,EAAiCuR,MAAjC,EAAyC;AACrC,UAAIxR,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,CAAJ,EAA6B,OAAOD,GAAG,CAACC,GAAD,CAAV;AAC7B,UAAI0c,GAAG,GAAGnL,MAAM,EAAhB;AACAxR,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAW0c,GAAX;AACA,aAAOA,GAAP;AACH;;AAED,aAASgC,eAAT,GAA2B;AACvB,aAAOvI,OAAO,CAACtN,QAAQ,CAACqG,IAAV,CAAP,IAA0B,eAAerG,QAAQ,CAAC8V,UAAzD;AACH;;AACD,aAASC,qBAAT,GAAiC;AAC7B,aAAOzI,OAAO,CAACtN,QAAQ,CAACqG,IAAV,CAAP,IAA0B,kBAAkBrG,QAAQ,CAAC8V,UAA5D;AACH;;AACD5B,IAAAA,OAAO,CAAE,YAAW;AAChB,aAAO,IAAI7K,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AAC/C,YAAImb,eAAe,MAAME,qBAAqB,EAA9C,EAAkD,OAAOrb,OAAO,EAAd;AAClD,YAAIsb,QAAQ,GAAGC,WAAW,CAAE,YAAW;AACnC,cAAIJ,eAAe,MAAME,qBAAqB,EAA9C,EAAkD;AAC9CG,YAAAA,aAAa,CAACF,QAAD,CAAb;AACA,mBAAOtb,OAAO,EAAd;AACH;AACJ,SALyB,EAKtB,EALsB,CAA1B;AAMH,OARM,CAAP;AASH,KAVM,CAAP;AAWA,QAAIyb,aAAa,GAAG,eAAe,OAAOnW,QAAtB,GAAiCA,QAAQ,CAACmW,aAA1C,GAA0D,IAA9E;AACA,QAAIC,gBAAgB,GAAGlC,OAAO,CAAE,YAAW;AACvC,UAAIiC,aAAJ,EAAmB,OAAOA,aAAP;AACnB,UAAIA,aAAa,GAAG,YAAW;AAC3B,YAAI;AACA,cAAInH,KAAK,GAAG,YAAW;AACnB,gBAAI;AACA,oBAAM,IAAItT,KAAJ,CAAU,GAAV,CAAN;AACH,aAFD,CAEE,OAAOjE,GAAP,EAAY;AACV,qBAAOA,GAAG,CAACuX,KAAJ,IAAa,EAApB;AACH;AACJ,WANW,EAAZ;;AAOA,cAAIqH,YAAY,GAAG,kCAAkCC,IAAlC,CAAuCtH,KAAvC,CAAnB;AACA,cAAIuH,cAAc,GAAGF,YAAY,IAAIA,YAAY,CAAC,CAAD,CAAjD;AACA,cAAI,CAACE,cAAL,EAAqB;;AACrB,eAAK,IAAIC,IAAI,GAAG,CAAX,EAAcC,sBAAsB,GAAG,GAAGzY,KAAH,CAASrF,IAAT,CAAcqH,QAAQ,CAAC0W,oBAAT,CAA8B,QAA9B,CAAd,EAAuDpZ,OAAvD,EAA5C,EAA8GkZ,IAAI,GAAGC,sBAAsB,CAAClZ,MAA5I,EAAoJiZ,IAAI,EAAxJ,EAA4J;AACxJ,gBAAInW,MAAM,GAAGoW,sBAAsB,CAACD,IAAD,CAAnC;AACA,gBAAInW,MAAM,CAACZ,GAAP,IAAcY,MAAM,CAACZ,GAAP,KAAe8W,cAAjC,EAAiD,OAAOlW,MAAP;AACpD;AACJ,SAfD,CAeE,OAAO5I,GAAP,EAAY;AACjB,OAjBmB,EAApB,EAiBK,OAAO0e,aAAP;AACL,YAAM,IAAIza,KAAJ,CAAU,kCAAV,CAAN;AACH,KArB6B,CAA9B;AAsBA,QAAIib,UAAU,GAAG7D,QAAQ,EAAzB;AACAoB,IAAAA,OAAO,CAAE,YAAW;AAChB,UAAI7T,MAAJ;;AACA,UAAI;AACAA,QAAAA,MAAM,GAAG+V,gBAAgB,EAAzB;AACH,OAFD,CAEE,OAAO3e,GAAP,EAAY;AACV,eAAOkf,UAAP;AACH;;AACD,UAAI7C,GAAG,GAAGzT,MAAM,CAACuW,YAAP,CAAoB,UAApB,CAAV;AACA,UAAI9C,GAAG,IAAI,YAAY,OAAOA,GAA9B,EAAmC,OAAOA,GAAP;AACnC,UAAI,CAACA,GAAG,GAAGzT,MAAM,CAACuW,YAAP,CAAoB,eAApB,CAAP,KAAgD,YAAY,OAAO9C,GAAvE,EAA4E,OAAOA,GAAP;AAC5EA,MAAAA,GAAG,GAAGhB,QAAQ,EAAd;AACAzS,MAAAA,MAAM,CAACI,YAAP,CAAoB,eAApB,EAAqCqT,GAArC;AACA,aAAOA,GAAP;AACH,KAbM,CAAP;;AAcA,aAAS+C,gBAAT,CAA0BtM,GAA1B,EAA+B;AAC3B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAI8V,SAAS,GAAG,wBAAhB;AACA,aAAOvM,GAAG,KAAKvJ,MAAR,GAAiBuJ,GAAG,CAACuM,SAAD,CAApB,GAAkCvM,GAAG,CAACuM,SAAD,CAAH,GAAiBvM,GAAG,CAACuM,SAAD,CAAH,IAAkB,EAA5E;AACH;;AACD,QAAIC,MAAM,GAAG,SAATA,MAAS,GAAW;AACpB,aAAO,EAAP;AACH,KAFD;;AAGA,aAASC,WAAT,CAAqB7f,GAArB,EAA0B8f,QAA1B,EAAoC;AAChC,WAAK,CAAL,KAAW9f,GAAX,KAAmBA,GAAG,GAAG,OAAzB;AACA,WAAK,CAAL,KAAW8f,QAAX,KAAwBA,QAAQ,GAAGF,MAAnC;AACA,aAAOnB,aAAa,CAACiB,gBAAgB,EAAjB,EAAqB1f,GAArB,EAA2B,YAAW;AACtD,YAAI+J,KAAK,GAAG+V,QAAQ,EAApB;AACA,eAAO;AACHxE,UAAAA,GAAG,EAAE,aAASyE,QAAT,EAAmB;AACpB,mBAAOhW,KAAK,CAAC3K,cAAN,CAAqB2gB,QAArB,CAAP;AACH,WAHE;AAIH7V,UAAAA,GAAG,EAAE,aAAS6V,QAAT,EAAmBC,MAAnB,EAA2B;AAC5B,mBAAOjW,KAAK,CAAC3K,cAAN,CAAqB2gB,QAArB,IAAiChW,KAAK,CAACgW,QAAD,CAAtC,GAAmDC,MAA1D;AACH,WANE;AAOH5V,UAAAA,GAAG,EAAE,aAAS2V,QAAT,EAAmBrD,GAAnB,EAAwB;AACzB3S,YAAAA,KAAK,CAACgW,QAAD,CAAL,GAAkBrD,GAAlB;AACA,mBAAOA,GAAP;AACH,WAVE;AAWHuD,UAAAA,GAAG,EAAE,aAASF,QAAT,EAAmB;AACpB,mBAAOhW,KAAK,CAACgW,QAAD,CAAZ;AACH,WAbE;AAcHxE,UAAAA,QAAQ,EAAE,kBAASwE,QAAT,EAAmBxO,MAAnB,EAA2B;AACjC,mBAAOkN,aAAa,CAAC1U,KAAD,EAAQgW,QAAR,EAAkBxO,MAAlB,CAApB;AACH,WAhBE;AAiBHvL,UAAAA,KAAK,EAAE,iBAAW;AACd+D,YAAAA,KAAK,GAAG+V,QAAQ,EAAhB;AACH,WAnBE;AAoBH7Z,UAAAA,IAAI,EAAE,gBAAW;AACb,mBAAOhH,MAAM,CAACgH,IAAP,CAAY8D,KAAZ,CAAP;AACH;AAtBE,SAAP;AAwBH,OA1BmB,CAApB;AA2BH;;AACD,QAAImW,QAAQ,GAAG,SAAXA,QAAW,GAAW,EAA1B;;AACA,aAASC,WAAT,GAAuB;AACnB,UAAIC,MAAM,GAAGV,gBAAgB,EAA7B;AACAU,MAAAA,MAAM,CAACC,eAAP,GAAyBD,MAAM,CAACC,eAAP,IAA0B,IAAIH,QAAJ,EAAnD;AACA,aAAOE,MAAM,CAACC,eAAd;AACH;;AACD,aAASC,WAAT,CAAqBtgB,GAArB,EAA0B8f,QAA1B,EAAoC;AAChC,WAAK,CAAL,KAAW9f,GAAX,KAAmBA,GAAG,GAAG,OAAzB;AACA,WAAK,CAAL,KAAW8f,QAAX,KAAwBA,QAAQ,GAAGF,MAAnC;AACA,aAAOC,WAAW,CAAC,aAAD,CAAX,CAA2BtE,QAA3B,CAAoCvb,GAApC,EAA0C,YAAW;AACxD,YAAIugB,QAAQ,GAAG,IAAI7F,8BAAJ,EAAf;;AACA,YAAI8F,QAAQ,GAAG,SAAXA,QAAW,CAASpN,GAAT,EAAc;AACzB,iBAAOmN,QAAQ,CAAChF,QAAT,CAAkBnI,GAAlB,EAAuB0M,QAAvB,CAAP;AACH,SAFD;;AAGA,eAAO;AACHxE,UAAAA,GAAG,EAAE,aAASlI,GAAT,EAAc;AACf,mBAAOoN,QAAQ,CAACpN,GAAD,CAAR,CAAchU,cAAd,CAA6BY,GAA7B,CAAP;AACH,WAHE;AAIHkK,UAAAA,GAAG,EAAE,aAASkJ,GAAT,EAAc4M,MAAd,EAAsB;AACvB,gBAAIjW,KAAK,GAAGyW,QAAQ,CAACpN,GAAD,CAApB;AACA,mBAAOrJ,KAAK,CAAC3K,cAAN,CAAqBY,GAArB,IAA4B+J,KAAK,CAAC/J,GAAD,CAAjC,GAAyCggB,MAAhD;AACH,WAPE;AAQH5V,UAAAA,GAAG,EAAE,aAASgJ,GAAT,EAAcsJ,GAAd,EAAmB;AACpB8D,YAAAA,QAAQ,CAACpN,GAAD,CAAR,CAAcpT,GAAd,IAAqB0c,GAArB;AACA,mBAAOA,GAAP;AACH,WAXE;AAYHuD,UAAAA,GAAG,EAAE,aAAS7M,GAAT,EAAc;AACf,mBAAOoN,QAAQ,CAACpN,GAAD,CAAR,CAAcpT,GAAd,CAAP;AACH,WAdE;AAeHub,UAAAA,QAAQ,EAAE,kBAASnI,GAAT,EAAc7B,MAAd,EAAsB;AAC5B,mBAAOkN,aAAa,CAAC+B,QAAQ,CAACpN,GAAD,CAAT,EAAgBpT,GAAhB,EAAqBuR,MAArB,CAApB;AACH;AAjBE,SAAP;AAmBH,OAxBM,CAAP;AAyBH;;AACD,aAASkP,aAAT,GAAyB;AACrB,aAAOZ,WAAW,CAAC,UAAD,CAAX,CAAwBtE,QAAxB,CAAiC,YAAjC,EAA+CI,QAA/C,CAAP;AACH;;AACD,aAAS+E,mBAAT,CAA6BtN,GAA7B,EAAkCuN,IAAlC,EAAwC;AACpC,UAAIxT,MAAM,GAAGwT,IAAI,CAACxT,MAAlB;AACA,UAAIyT,aAAa,GAAGN,WAAW,CAAC,eAAD,CAA/B;AACA,UAAIO,eAAe,GAAGD,aAAa,CAAC1W,GAAd,CAAkBkJ,GAAlB,CAAtB;AACAyN,MAAAA,eAAe,IAAIA,eAAe,CAACtd,OAAhB,CAAwB;AACvC4J,QAAAA,MAAM,EAAEA;AAD+B,OAAxB,CAAnB;AAGA,UAAI2T,UAAU,GAAG5O,oBAAoB,CAAC3O,OAArB,CAA6B;AAC1C4J,QAAAA,MAAM,EAAEA;AADkC,OAA7B,CAAjB;AAGAyT,MAAAA,aAAa,CAACxW,GAAd,CAAkBgJ,GAAlB,EAAuB0N,UAAvB;AACA,aAAOA,UAAP;AACH;;AACD,aAASC,QAAT,CAAkB3N,GAAlB,EAAuB4N,KAAvB,EAA8B;AAC1B,aAAO,CAAC,GAAGA,KAAK,CAACC,IAAV,EAAgB7N,GAAhB,EAAqB,iBAArB,EAAwC;AAC3C8N,QAAAA,UAAU,EAAET,aAAa;AADkB,OAAxC,EAEJ;AACCtT,QAAAA,MAAM,EAAE,GADT;AAEC6L,QAAAA,OAAO,EAAE,CAAC;AAFX,OAFI,EAKJrV,IALI,CAKE,UAASwd,KAAT,EAAgB;AACrB,YAAIlL,MAAM,GAAGkL,KAAK,CAAClL,MAAnB;AAAA,YAA2BiL,UAAU,GAAGC,KAAK,CAACC,IAAN,CAAWF,UAAnD;AACAR,QAAAA,mBAAmB,CAACtN,GAAD,EAAM;AACrBjG,UAAAA,MAAM,EAAE8I;AADa,SAAN,CAAnB;AAGA,eAAO;AACH7C,UAAAA,GAAG,EAAEA,GADF;AAEHjG,UAAAA,MAAM,EAAE8I,MAFL;AAGHiL,UAAAA,UAAU,EAAEA;AAHT,SAAP;AAKH,OAfM,CAAP;AAgBH;;AACD,aAASG,mBAAT,CAA6BjO,GAA7B,EAAkCkO,KAAlC,EAAyC;AACrC,UAAIL,IAAI,GAAGK,KAAK,CAACL,IAAjB;AACA,aAAOX,WAAW,CAAC,0BAAD,CAAX,CAAwC/E,QAAxC,CAAiDnI,GAAjD,EAAuD,YAAW;AACrE,eAAO2N,QAAQ,CAAC3N,GAAD,EAAM;AACjB6N,UAAAA,IAAI,EAAEA;AADW,SAAN,CAAR,CAEJtd,IAFI,CAEE,UAAS4d,KAAT,EAAgB;AACrB,iBAAOA,KAAK,CAACL,UAAb;AACH,SAJM,CAAP;AAKH,OANM,CAAP;AAOH;;AACD,aAASpO,eAAT,CAAyBM,GAAzB,EAA8B;AAC1BkN,MAAAA,WAAW,CAAC,cAAD,CAAX,CAA4BlW,GAA5B,CAAgCgJ,GAAhC,EAAqC,CAAC,CAAtC;AACH;;AACD,aAASoO,gBAAT,CAA0BvO,IAA1B,EAAgC;AAC5B,aAAO,YAAY,OAAOA,IAAnB,IAA2B,SAASA,IAApC,IAA4C,YAAY,OAAOA,IAAI,CAACwO,QAA3E;AACH;;AACD,aAASC,aAAT,CAAuBhF,GAAvB,EAA4B;AACxB,aAAO,KAAK,CAAL,KAAWA,GAAX,GAAiB,WAAjB,GAA+B,SAASA,GAAT,GAAe,MAAf,GAAwB/T,KAAK,CAACuN,OAAN,CAAcwG,GAAd,IAAqB,OAArB,GAA+B,cAAc,OAAOA,GAArB,GAA2B,UAA3B,GAAwC,YAAY,OAAOA,GAAnB,GAAyBA,GAAG,YAAYnY,KAAf,GAAuB,OAAvB,GAAiC,cAAc,OAAOmY,GAAG,CAAC/Y,IAAzB,GAAgC,SAAhC,GAA4C,sBAAsB,GAAGyB,QAAH,CAAY5D,IAAZ,CAAiBkb,GAAjB,CAAtB,GAA8C,OAA9C,GAAwD,oBAAoB,GAAGtX,QAAH,CAAY5D,IAAZ,CAAiBkb,GAAjB,CAApB,GAA4C,MAA5C,GAAqD,QAAnN,GAA8N,YAAY,OAAOA,GAAnB,GAAyB,QAAzB,GAAoC,YAAY,OAAOA,GAAnB,GAAyB,QAAzB,GAAoC,aAAa,OAAOA,GAApB,GAA0B,SAA1B,GAAsC,KAAK,CAAtd;AACH;;AACD,aAASiF,aAAT,CAAuBpgB,IAAvB,EAA6Bmb,GAA7B,EAAkC;AAC9B,aAAO;AACH+E,QAAAA,QAAQ,EAAElgB,IADP;AAEHqgB,QAAAA,OAAO,EAAElF;AAFN,OAAP;AAIH;;AACD,QAAImF,WAAJ;;AACA,QAAIC,UAAU,IAAI,CAACD,WAAW,GAAG,EAAf,gBAA8B,YAAW,EAAzC,EAA6CA,WAAW,CAAChe,KAAZ,GAAoB,UAAS8c,IAAT,EAAe;AAC9F,aAAOgB,aAAa,CAAC,OAAD,EAAU;AAC1BxM,QAAAA,OAAO,EAAEwL,IAAI,CAACxL,OADY;AAE1B0C,QAAAA,KAAK,EAAE8I,IAAI,CAAC9I,KAFc;AAG1BkK,QAAAA,IAAI,EAAEpB,IAAI,CAACoB,IAHe;AAI1BX,QAAAA,IAAI,EAAET,IAAI,CAACS;AAJe,OAAV,CAApB;AAMH,KAPiB,EAOfS,WAAW,CAAChS,OAAZ,GAAsB,YAAW,EAPlB,EAOsBgS,WAAW,CAACG,KAAZ,GAAoB,UAAStF,GAAT,EAAc;AACtE,aAAOiF,aAAa,CAAC,OAAD,EAAUjF,GAAG,CAACuF,MAAd,CAApB;AACH,KATiB,EASfJ,WAAW,CAACK,IAAZ,GAAmB,UAASxF,GAAT,EAAc;AAChC,aAAOiF,aAAa,CAAC,MAAD,EAASjF,GAAG,CAACyF,MAAJ,EAAT,CAApB;AACH,KAXiB,EAWfN,WAAW,CAACO,KAAZ,GAAoB,UAAS1F,GAAT,EAAc;AACjC,aAAOA,GAAP;AACH,KAbiB,EAafmF,WAAW,CAAC3b,MAAZ,GAAqB,UAASwW,GAAT,EAAc;AAClC,aAAOA,GAAP;AACH,KAfiB,EAefmF,WAAW,CAACQ,MAAZ,GAAqB,UAAS3F,GAAT,EAAc;AAClC,aAAOA,GAAP;AACH,KAjBiB,EAiBfmF,WAAW,CAACS,MAAZ,GAAqB,UAAS5F,GAAT,EAAc;AAClC,aAAOA,GAAP;AACH,KAnBiB,EAmBfmF,WAAW,WAAX,GAAsB,UAASnF,GAAT,EAAc;AACnC,aAAOA,GAAP;AACH,KArBiB,EAqBfmF,WAAW,QAAX,GAAmB,UAASnF,GAAT,EAAc;AAChC,aAAOA,GAAP;AACH,KAvBiB,EAuBfmF,WAvBW,CAAd;AAwBA,QAAIU,kBAAkB,GAAG,EAAzB;;AACA,QAAIC,aAAJ;;AACA,QAAIC,YAAY,IAAI,CAACD,aAAa,GAAG,EAAjB,gBAAgC,YAAW;AAC3D,YAAM,IAAIje,KAAJ,CAAU,mEAAV,CAAN;AACH,KAFmB,EAEjBie,aAAa,CAAC3e,KAAd,GAAsB,UAAS6e,KAAT,EAAgB;AACrC,UAAI7K,KAAK,GAAG6K,KAAK,CAAC7K,KAAlB;AAAA,UAAyBkK,IAAI,GAAGW,KAAK,CAACX,IAAtC;AAAA,UAA4CX,IAAI,GAAGsB,KAAK,CAACtB,IAAzD;AACA,UAAIvd,KAAK,GAAG,IAAIU,KAAJ,CAAUme,KAAK,CAACvN,OAAhB,CAAZ;AACAtR,MAAAA,KAAK,CAACke,IAAN,GAAaA,IAAb;AACAX,MAAAA,IAAI,KAAKvd,KAAK,CAACud,IAAN,GAAaA,IAAlB,CAAJ;AACAvd,MAAAA,KAAK,CAACgU,KAAN,GAAcA,KAAK,GAAG,MAAR,GAAiBhU,KAAK,CAACgU,KAArC;AACA,aAAOhU,KAAP;AACH,KATmB,EASjB2e,aAAa,CAAC3S,OAAd,GAAwB,YAAW;AAClC,YAAM,IAAItL,KAAJ,CAAU,kEAAV,CAAN;AACH,KAXmB,EAWjBie,aAAa,CAACR,KAAd,GAAsB,UAAStF,GAAT,EAAc;AACnC,aAAO,IAAIiG,MAAJ,CAAWjG,GAAX,CAAP;AACH,KAbmB,EAajB8F,aAAa,CAACN,IAAd,GAAqB,UAASxF,GAAT,EAAc;AAClC,aAAO,IAAIxR,IAAJ,CAASwR,GAAT,CAAP;AACH,KAfmB,EAejB8F,aAAa,CAACJ,KAAd,GAAsB,UAAS1F,GAAT,EAAc;AACnC,aAAOA,GAAP;AACH,KAjBmB,EAiBjB8F,aAAa,CAACtc,MAAd,GAAuB,UAASwW,GAAT,EAAc;AACpC,aAAOA,GAAP;AACH,KAnBmB,EAmBjB8F,aAAa,CAACH,MAAd,GAAuB,UAAS3F,GAAT,EAAc;AACpC,aAAOA,GAAP;AACH,KArBmB,EAqBjB8F,aAAa,CAACF,MAAd,GAAuB,UAAS5F,GAAT,EAAc;AACpC,aAAOA,GAAP;AACH,KAvBmB,EAuBjB8F,aAAa,WAAb,GAAwB,UAAS9F,GAAT,EAAc;AACrC,aAAOA,GAAP;AACH,KAzBmB,EAyBjB8F,aAAa,QAAb,GAAqB,UAAS9F,GAAT,EAAc;AAClC,aAAOA,GAAP;AACH,KA3BmB,EA2BjB8F,aA3Ba,CAAhB;AA4BA,QAAII,oBAAoB,GAAG,EAA3B;AACA,QAAI1Q,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AACxC,UAAIsG,MAAM,CAAChB,QAAP,IAAmBgB,MAAM,CAAChB,QAAP,CAAgBqG,IAAvC,EAA6C,OAAO3L,OAAO,CAACsG,MAAM,CAAChB,QAAP,CAAgBqG,IAAjB,CAAd;AAC7C,UAAI2P,QAAQ,GAAGC,WAAW,CAAE,YAAW;AACnC,YAAIjV,MAAM,CAAChB,QAAP,IAAmBgB,MAAM,CAAChB,QAAP,CAAgBqG,IAAvC,EAA6C;AACzC6P,UAAAA,aAAa,CAACF,QAAD,CAAb;AACA,iBAAOtb,OAAO,CAACsG,MAAM,CAAChB,QAAP,CAAgBqG,IAAjB,CAAd;AACH;AACJ,OALyB,EAKtB,EALsB,CAA1B;AAMH,KARD;;AASA,aAAS2T,mBAAT,GAA+B;AAC3B,UAAIC,eAAe,GAAGjD,WAAW,CAAC,iBAAD,CAAjC;;AACA,WAAK,IAAIkD,GAAG,GAAG,CAAV,EAAaC,sBAAsB,GAAGF,eAAe,CAAC7c,IAAhB,EAA3C,EAAmE8c,GAAG,GAAGC,sBAAsB,CAAC5c,MAAhG,EAAwG2c,GAAG,EAA3G,EAA+G;AAC3G,YAAIE,EAAE,GAAGD,sBAAsB,CAACD,GAAD,CAA/B;AACAD,QAAAA,eAAe,CAAC5Y,GAAhB,CAAoB+Y,EAApB,EAAwBC,WAAxB,MAAyCJ,eAAe,CAAC7C,GAAhB,CAAoBgD,EAApB,CAAzC;AACH;AACJ;;AACD,aAASE,mBAAT,CAA6BC,UAA7B,EAAyCzC,IAAzC,EAA+C;AAC3C,UAAIM,IAAI,GAAGN,IAAI,CAACM,IAAhB;AAAA,UAAsBoC,OAAO,GAAG1C,IAAI,CAACsC,EAArC;AAAA,UAAyCA,EAAE,GAAG,KAAK,CAAL,KAAWI,OAAX,GAAqB1H,QAAQ,EAA7B,GAAkC0H,OAAhF;AACA,UAAIC,iBAAiB,GAAGF,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AACnD,YAAIa,YAAY,CAACb,GAAD,CAAhB,EAAuB,OAAOgB,gBAAgB,CAAChB,GAAD,CAAhB,CAAsBtQ,IAA7B;AAC1B,OAFuB,CAAxB;AAGA,UAAIygB,iBAAiB,GAAGH,UAAU,CAACzf,IAAX,CAAiB,UAASkG,MAAT,EAAiB;AACtD,YAAImL,cAAc,CAACnL,MAAD,CAAlB,EAA4B,MAAM,IAAItF,KAAJ,CAAU,0CAAV,CAAN;AAC5B,eAAOkP,SAAS,CAAC5J,MAAD,CAAT,GAAoB,OAApB,GAA8B,QAArC;AACH,OAHuB,CAAxB;AAIAyZ,MAAAA,iBAAiB,SAAjB,CAAwBlF,aAAxB;AACAmF,MAAAA,iBAAiB,SAAjB,CAAwBnF,aAAxB;AACA,aAAO;AACH6E,QAAAA,EAAE,EAAEA,EADD;AAEHO,QAAAA,OAAO,EAAE,mBAAW;AAChB,iBAAOD,iBAAP;AACH,SAJE;AAKH9C,QAAAA,aAAa,EAAE1C,cAAc,CAAE,YAAW;AACtC,iBAAOqF,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,mBAAOiO,mBAAmB,CAACjO,GAAD,EAAM;AAC5B6N,cAAAA,IAAI,EAAEA;AADsB,aAAN,CAA1B;AAGH,WAJM,CAAP;AAKH,SAN4B,CAL1B;AAYHtK,QAAAA,KAAK,EAAE,iBAAW;AACd,iBAAOyM,UAAU,CAACzf,IAAX,CAAgB+S,WAAhB,CAAP;AACH,SAdE;AAeH+M,QAAAA,OAAO,EAAE,mBAAW;AAChB,iBAAOL,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,gBAAI,CAAC4B,cAAc,CAAC5B,GAAD,CAAnB,EAA0B,OAAOa,YAAY,CAACb,GAAD,CAAZ,GAAoBgB,gBAAgB,CAAChB,GAAD,CAAhB,CAAsBtQ,IAA1C,GAAiDwgB,iBAAxD;AAC7B,WAFM,CAAP;AAGH,SAnBE;AAoBHI,QAAAA,KAAK,EAAE,iBAAW;AACd,iBAAON,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClCA,YAAAA,GAAG,CAACsQ,KAAJ;AACH,WAFM,CAAP;AAGH,SAxBE;AAyBHC,QAAAA,QAAQ,EAAE,oBAAW;AACjB,iBAAOP,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,mBAAO4B,cAAc,CAAC5B,GAAD,CAArB;AACH,WAFM,CAAP;AAGH,SA7BE;AA8BHwQ,QAAAA,WAAW,EAAE,qBAASC,IAAT,EAAe;AACxB,iBAAOT,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,gBAAIjG,MAAM,GAAGtD,MAAM,CAACwJ,QAAP,CAAgBC,QAAhB,GAA2B,IAA3B,GAAkCzJ,MAAM,CAACwJ,QAAP,CAAgBQ,IAA/D;AACA,gBAAI,MAAMgQ,IAAI,CAAC7P,OAAL,CAAa,GAAb,CAAV,EAA6B6P,IAAI,GAAG,KAAK1W,MAAL,GAAc0W,IAArB,CAA7B,KAA6D,IAAI,CAACA,IAAI,CAACzN,KAAL,CAAW,cAAX,CAAD,IAA+B,MAAMyN,IAAI,CAAC7P,OAAL,CAAa7G,MAAb,CAAzC,EAA+D,MAAM,IAAI5I,KAAJ,CAAU,iEAAiE6K,IAAI,CAAC3F,SAAL,CAAeoa,IAAf,CAA3E,CAAN;AAC5H,gBAAI5P,YAAY,CAACb,GAAD,CAAhB,EAAuB,IAAI;AACvB,kBAAIA,GAAG,CAACC,QAAJ,IAAgB,cAAc,OAAOD,GAAG,CAACC,QAAJ,CAAawI,OAAtD,EAA+D;AAC3DzI,gBAAAA,GAAG,CAACC,QAAJ,CAAawI,OAAb,CAAqBgI,IAArB;AACA;AACH;AACJ,aALsB,CAKrB,OAAOvjB,GAAP,EAAY;AACd8S,YAAAA,GAAG,CAACC,QAAJ,GAAewQ,IAAf;AACH,WAVM,CAAP;AAWH,SA1CE;AA2CHC,QAAAA,OAAO,EAAE,iBAAShhB,IAAT,EAAe;AACpB,iBAAOsgB,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,gBAAI2Q,UAAU,GAAG9P,YAAY,CAACb,GAAD,CAA7B;;AACA,gBAAIuB,KAAK,GAAG,UAASvB,GAAT,EAAc;AACtB,kBAAIa,YAAY,CAACb,GAAD,CAAhB,EAAuB,OAAOgB,gBAAgB,CAAChB,GAAD,CAAhB,CAAsB4Q,YAA7B;;AACvB,mBAAK,IAAIC,IAAI,GAAG,CAAX,EAAcC,sBAAsB,GAAGrb,QAAQ,CAACsb,gBAAT,CAA0B,QAA1B,CAA5C,EAAiFF,IAAI,GAAGC,sBAAsB,CAAC9d,MAA/G,EAAuH6d,IAAI,EAA3H,EAA+H;AAC3H,oBAAItP,KAAK,GAAGuP,sBAAsB,CAACD,IAAD,CAAlC;AACA,oBAAItP,KAAK,IAAIA,KAAK,CAACa,aAAf,IAAgCb,KAAK,CAACa,aAAN,KAAwBpC,GAA5D,EAAiE,OAAOuB,KAAP;AACpE;AACJ,aANW,CAMVvB,GANU,CAAZ;;AAOA,gBAAI,CAAC2Q,UAAL,EAAiB,MAAM,IAAIxf,KAAJ,CAAU,+CAA+CzB,IAAzD,CAAN;AACjBsR,YAAAA,gBAAgB,CAAChB,GAAD,CAAhB,CAAsBtQ,IAAtB,GAA6BA,IAA7B;AACA6R,YAAAA,KAAK,IAAIA,KAAK,CAACrL,YAAN,CAAmB,MAAnB,EAA2BxG,IAA3B,CAAT;AACAwgB,YAAAA,iBAAiB,GAAGpR,oBAAoB,CAAC3O,OAArB,CAA6BT,IAA7B,CAApB;AACH,WAbM,CAAP;AAcH;AA1DE,OAAP;AA4DH;;AACD,QAAIsP,kBAAkB,GAAG,YAAW;AAChC,eAASgS,WAAT,CAAqB1B,KAArB,EAA4B;AACxB,YAAIzB,IAAI,GAAGyB,KAAK,CAACzB,IAAjB;AAAA,YAAuB7N,GAAG,GAAGsP,KAAK,CAACtP,GAAnC;AAAA,YAAwCiR,gBAAgB,GAAG3B,KAAK,CAAC2B,gBAAjE;AACA,aAAKpB,EAAL,GAAU,KAAK,CAAf;AACA,aAAKqB,aAAL,GAAqB,CAAC,CAAtB;AACA,aAAKD,gBAAL,GAAwB,KAAK,CAA7B;AACA,aAAKE,YAAL,GAAoB,KAAK,CAAzB;AACA,aAAKC,mBAAL,GAA2B,KAAK,CAAhC;AACA,aAAKvD,IAAL,GAAY,KAAK,CAAjB;AACA,aAAKne,IAAL,GAAY,KAAK,CAAjB;AACA,aAAK0hB,mBAAL,GAA2B,IAAItS,oBAAJ,EAA3B;AACA,aAAKmS,gBAAL,GAAwBA,gBAAgB,IAAIlB,mBAAmB,CAAC,KAAKqB,mBAAN,EAA2B;AACtFvD,UAAAA,IAAI,EAAEA;AADgF,SAA3B,CAA/D;AAGApB,QAAAA,WAAW,CAAC,iBAAD,CAAX,CAA+BzV,GAA/B,CAAmC,KAAKqa,KAAL,EAAnC,EAAiD,IAAjD;AACArR,QAAAA,GAAG,IAAI,KAAKsR,SAAL,CAAetR,GAAf,EAAoB;AACvB6N,UAAAA,IAAI,EAAEA;AADiB,SAApB,CAAP;AAGH;;AACD,UAAIhJ,MAAM,GAAGmM,WAAW,CAACllB,SAAzB;;AACA+Y,MAAAA,MAAM,CAACwM,KAAP,GAAe,YAAW;AACtB,eAAO,KAAKJ,gBAAL,CAAsBpB,EAA7B;AACH,OAFD;;AAGAhL,MAAAA,MAAM,CAACuL,OAAP,GAAiB,YAAW;AACxB,eAAO,KAAKa,gBAAL,CAAsBb,OAAtB,EAAP;AACH,OAFD;;AAGAvL,MAAAA,MAAM,CAAC0M,OAAP,GAAiB,YAAW;AACxB,eAAO,KAAKnB,OAAL,GAAe7f,IAAf,CAAqB,UAASpC,IAAT,EAAe;AACvC,iBAAO,YAAYA,IAAnB;AACH,SAFM,CAAP;AAGH,OAJD;;AAKA0W,MAAAA,MAAM,CAAC2L,WAAP,GAAqB,UAASC,IAAT,EAAe;AAChC,YAAItM,KAAK,GAAG,IAAZ;;AACA,eAAO,KAAK8M,gBAAL,CAAsBT,WAAtB,CAAkCC,IAAlC,EAAwClgB,IAAxC,CAA8C,YAAW;AAC5D,iBAAO4T,KAAP;AACH,SAFM,CAAP;AAGH,OALD;;AAMAU,MAAAA,MAAM,CAACwL,OAAP,GAAiB,YAAW;AACxB,eAAO,KAAKY,gBAAL,CAAsBZ,OAAtB,EAAP;AACH,OAFD;;AAGAxL,MAAAA,MAAM,CAAC6L,OAAP,GAAiB,UAAShhB,IAAT,EAAe;AAC5B,YAAIqV,MAAM,GAAG,IAAb;;AACA,eAAO,KAAKkM,gBAAL,CAAsBP,OAAtB,CAA8BhhB,IAA9B,EAAoCa,IAApC,CAA0C,YAAW;AACxD,iBAAOwU,MAAP;AACH,SAFM,CAAP;AAGH,OALD;;AAMAF,MAAAA,MAAM,CAACtB,KAAP,GAAe,YAAW;AACtB,YAAIuC,MAAM,GAAG,IAAb;;AACA,eAAO,KAAKmL,gBAAL,CAAsB1N,KAAtB,GAA8BhT,IAA9B,CAAoC,YAAW;AAClD,iBAAOuV,MAAP;AACH,SAFM,CAAP;AAGH,OALD;;AAMAjB,MAAAA,MAAM,CAACyL,KAAP,GAAe,YAAW;AACtB,YAAIkB,MAAM,GAAG,IAAb;;AACA,YAAIC,cAAc,GAAG,KAAKF,OAAL,EAArB;AACA,YAAIG,cAAc,GAAG,KAAKrB,OAAL,EAArB;AACA,YAAIsB,aAAa,GAAG7S,oBAAoB,CAACwH,IAArB,CAA0B;AAC1CiL,UAAAA,OAAO,EAAEE,cADiC;AAE1C/hB,UAAAA,IAAI,EAAEgiB;AAFoC,SAA1B,EAGjBnhB,IAHiB,CAGX,UAASqhB,KAAT,EAAgB;AACrB,cAAIliB,IAAI,GAAGkiB,KAAK,CAACliB,IAAjB;AACAkiB,UAAAA,KAAK,CAACL,OAAN,IAAiB7hB,IAAjB,IAAyB+G,MAAM,CAACob,IAAP,CAAY,EAAZ,EAAgBniB,IAAhB,CAAzB;AACH,SANmB,CAApB;AAOA,YAAIoiB,YAAY,GAAG,KAAKb,gBAAL,CAAsBX,KAAtB,EAAnB;AACA,eAAOxR,oBAAoB,CAACmH,GAArB,CAAyB,CAAE0L,aAAF,EAAiBG,YAAjB,CAAzB,EAA0DvhB,IAA1D,CAAgE,YAAW;AAC9E,iBAAOihB,MAAP;AACH,SAFM,CAAP;AAGH,OAfD;;AAgBA3M,MAAAA,MAAM,CAAC0L,QAAP,GAAkB,YAAW;AACzB,eAAO,KAAKU,gBAAL,CAAsBV,QAAtB,EAAP;AACH,OAFD;;AAGA1L,MAAAA,MAAM,CAACkN,SAAP,GAAmB,YAAW;AAC1B,eAAO,KAAKZ,YAAZ;AACH,OAFD;;AAGAtM,MAAAA,MAAM,CAACyM,SAAP,GAAmB,UAAStR,GAAT,EAAc4N,KAAd,EAAqB;AACpC,YAAIC,IAAI,GAAGD,KAAK,CAACC,IAAjB;AACA,aAAKsD,YAAL,GAAoBnR,GAApB;AACA,aAAKoR,mBAAL,CAAyBjhB,OAAzB,CAAiC,KAAKghB,YAAtC;AACA,aAAKF,gBAAL,GAAwBlB,mBAAmB,CAAC,KAAKqB,mBAAN,EAA2B;AAClEvD,UAAAA,IAAI,EAAEA,IAD4D;AAElEgC,UAAAA,EAAE,EAAE,KAAKwB,KAAL;AAF8D,SAA3B,CAA3C;AAIAnE,QAAAA,WAAW,CAAC,kBAAD,CAAX,CAAgClW,GAAhC,CAAoCgJ,GAApC,EAAyC,IAAzC;AACH,OATD;;AAUA6E,MAAAA,MAAM,CAACmN,WAAP,GAAqB,YAAW;AAC5B,eAAO,KAAKZ,mBAAZ;AACH,OAFD;;AAGAvM,MAAAA,MAAM,CAACoN,WAAP,GAAqB,UAASjS,GAAT,EAAc+N,KAAd,EAAqB;AACtC,YAAImE,MAAM,GAAG,IAAb;;AACA,YAAIrE,IAAI,GAAGE,KAAK,CAACF,IAAjB;AACA,eAAO/O,oBAAoB,OAApB,CAA0B,YAAW;AACxC,iBAAOoT,MAAM,CAACf,YAAP,GAAsBnR,GAAG,KAAKkS,MAAM,CAACf,YAArC,GAAoDrS,oBAAoB,CAACwH,IAArB,CAA0B;AACjF6L,YAAAA,eAAe,EAAED,MAAM,CAAC7E,aAAP,EADgE;AAEjF+E,YAAAA,qBAAqB,EAAEnE,mBAAmB,CAACjO,GAAD,EAAM;AAC5C6N,cAAAA,IAAI,EAAEA;AADsC,aAAN;AAFuC,WAA1B,EAKxDtd,IALwD,CAKlD,UAAS2d,KAAT,EAAgB;AACrB,gBAAIlL,KAAK,GAAGkL,KAAK,CAACiE,eAAN,KAA0BjE,KAAK,CAACkE,qBAA5C;AACApP,YAAAA,KAAK,IAAIkP,MAAM,CAACZ,SAAP,CAAiBtR,GAAjB,EAAsB;AAC3B6N,cAAAA,IAAI,EAAEA;AADqB,aAAtB,CAAT;AAGA,mBAAO7K,KAAP;AACH,WAX0D,CAA3D;AAYH,SAbM,CAAP;AAcH,OAjBD;;AAkBA6B,MAAAA,MAAM,CAACwN,MAAP,GAAgB,YAAW;AACvB,eAAO,KAAKlB,YAAL,IAAqB,IAA5B;AACH,OAFD;;AAGAtM,MAAAA,MAAM,CAACwI,aAAP,GAAuB,YAAW;AAC9B,eAAO,KAAK4D,gBAAL,CAAsB5D,aAAtB,EAAP;AACH,OAFD;;AAGAxI,MAAAA,MAAM,CAACiL,WAAP,GAAqB,YAAW;AAC5B,eAAO/M,OAAO,CAAC,KAAKoO,YAAL,IAAqBvP,cAAc,CAAC,KAAKuP,YAAN,CAApC,CAAd;AACH,OAFD;;AAGAtM,MAAAA,MAAM,CAACyN,SAAP,GAAmB,YAAW;AAC1B,eAAO,KAAKrB,gBAAZ;AACH,OAFD;;AAGAD,MAAAA,WAAW,CAACqB,MAAZ,GAAqB,UAASrS,GAAT,EAAc;AAC/B,eAAOgR,WAAW,CAACE,aAAZ,CAA0BlR,GAA1B,IAAiCA,GAAG,CAACqS,MAAJ,EAAjC,GAAgDrS,GAAvD;AACH,OAFD;;AAGAgR,MAAAA,WAAW,CAACsB,SAAZ,GAAwB,UAAStS,GAAT,EAAcmO,KAAd,EAAqB;AACzC,YAAIN,IAAI,GAAGM,KAAK,CAACN,IAAjB;AACA4B,QAAAA,mBAAmB;AACnB,eAAOuB,WAAW,CAACuB,aAAZ,CAA0BvS,GAA1B,EAA+B;AAClC6N,UAAAA,IAAI,EAAEA;AAD4B,SAA/B,EAEJyE,SAFI,EAAP;AAGH,OAND;;AAOAtB,MAAAA,WAAW,CAACwB,WAAZ,GAA0B,UAASvB,gBAAT,EAA2BwB,KAA3B,EAAkC;AACxD,YAAI5E,IAAI,GAAG4E,KAAK,CAAC5E,IAAjB;AACA4B,QAAAA,mBAAmB;AACnB,eAAOhD,WAAW,CAAC,iBAAD,CAAX,CAA+B3V,GAA/B,CAAmCma,gBAAgB,CAACpB,EAApD,KAA2D,IAAImB,WAAJ,CAAgB;AAC9EC,UAAAA,gBAAgB,EAAEA,gBAD4D;AAE9EpD,UAAAA,IAAI,EAAEA;AAFwE,SAAhB,CAAlE;AAIH,OAPD;;AAQAmD,MAAAA,WAAW,CAACE,aAAZ,GAA4B,UAASvkB,GAAT,EAAc;AACtC,eAAOoW,OAAO,CAACpW,GAAG,IAAI,CAACwW,QAAQ,CAACxW,GAAD,CAAhB,IAAyBA,GAAG,CAACukB,aAA9B,CAAd;AACH,OAFD;;AAGAF,MAAAA,WAAW,CAACuB,aAAZ,GAA4B,UAASvS,GAAT,EAAc0S,KAAd,EAAqB;AAC7C,YAAI7E,IAAI,GAAG6E,KAAK,CAAC7E,IAAjB;AACA4B,QAAAA,mBAAmB;AACnB,YAAIuB,WAAW,CAACE,aAAZ,CAA0BlR,GAA1B,CAAJ,EAAoC,OAAOA,GAAP;AACpC,YAAImR,YAAY,GAAGnR,GAAnB;AACA,eAAOkN,WAAW,CAAC,kBAAD,CAAX,CAAgCpW,GAAhC,CAAoCqa,YAApC,KAAqD,IAAIH,WAAJ,CAAgB;AACxEhR,UAAAA,GAAG,EAAEmR,YADmE;AAExEtD,UAAAA,IAAI,EAAEA;AAFkE,SAAhB,CAA5D;AAIH,OATD;;AAUA,aAAOmD,WAAP;AACH,KArJwB,EAAzB;;AAsJA,aAAS2B,SAAT,CAAmB9C,EAAnB,EAAuBvG,GAAvB,EAA4B5Z,IAA5B,EAAkCmf,MAAlC,EAA0C9U,MAA1C,EAAkD;AAC9C,UAAI6Y,WAAW,GAAG1F,WAAW,CAAC,aAAD,CAA7B;AACA,UAAI2F,kBAAkB,GAAGpG,WAAW,CAAC,oBAAD,CAApC;AACA,UAAIzN,kBAAkB,CAACkS,aAAnB,CAAiCrC,MAAjC,CAAJ,EAA8CgE,kBAAkB,CAAC7b,GAAnB,CAAuB6Y,EAAvB,EAA2B;AACrEvG,QAAAA,GAAG,EAAEA,GADgE;AAErE5Z,QAAAA,IAAI,EAAEA,IAF+D;AAGrEqK,QAAAA,MAAM,EAAEA,MAH6D;AAIrE8U,QAAAA,MAAM,EAAEA;AAJ6D,OAA3B,EAA9C,KAKS;AACLgE,QAAAA,kBAAkB,CAAChG,GAAnB,CAAuBgD,EAAvB;AACA+C,QAAAA,WAAW,CAACzK,QAAZ,CAAqB0G,MAArB,EAA8B,YAAW;AACrC,iBAAO,EAAP;AACH,SAFD,EAEIgB,EAFJ,IAEU;AACN9V,UAAAA,MAAM,EAAEA,MADF;AAENrK,UAAAA,IAAI,EAAEA,IAFA;AAGN4Z,UAAAA,GAAG,EAAEA,GAHC;AAINuF,UAAAA,MAAM,EAAEA;AAJF,SAFV;AAQH;AACJ;;AACD,aAASiE,YAAT,CAAsBjE,MAAtB,EAA8BgB,EAA9B,EAAkC;AAC9B,UAAI+C,WAAW,GAAG1F,WAAW,CAAC,aAAD,CAA7B;AACA,UAAI2F,kBAAkB,GAAGpG,WAAW,CAAC,oBAAD,CAApC;AACA,aAAOmG,WAAW,CAACzK,QAAZ,CAAqB0G,MAArB,EAA8B,YAAW;AAC5C,eAAO,EAAP;AACH,OAFM,EAEHgB,EAFG,KAEIgD,kBAAkB,CAAC/b,GAAnB,CAAuB+Y,EAAvB,CAFX;AAGH;;AACD,aAASkD,0BAAT,CAAoCC,WAApC,EAAiDjZ,MAAjD,EAAyDuP,GAAzD,EAA8D1c,GAA9D,EAAmEglB,KAAnE,EAA0E;AACtEqB,MAAAA,EAAE,GAAG,CAAC1F,IAAI,GAAG;AACT0F,QAAAA,EAAE,EAAErB,KAAK,CAACqB,EADD;AAETpF,QAAAA,IAAI,EAAE+D,KAAK,CAAC/D;AAFH,OAAR,EAGFoF,EAHH,EAGOpF,IAAI,GAAGN,IAAI,CAACM,IAHnB,EAGyBpB,WAAW,CAAC,kBAAD,CAAX,CAAgCtE,QAAhC,CAAyC,eAAzC,EAA2D,YAAW;AAC3F,eAAO8K,EAAE,CAAC,kBAAD,EAAqB;AAC1BlZ,UAAAA,MAAM,EAAE;AADkB,SAArB,EAEL,UAASuV,KAAT,EAAgB;AAChB,cAAIT,MAAM,GAAGS,KAAK,CAACT,MAAnB;AAAA,cAA2BhM,MAAM,GAAGyM,KAAK,CAACzM,MAA1C;AAAA,cAAkDmL,IAAI,GAAGsB,KAAK,CAACtB,IAA/D;AACA,cAAI6B,EAAE,GAAG7B,IAAI,CAAC6B,EAAd;AAAA,cAAkBngB,IAAI,GAAGse,IAAI,CAACte,IAA9B;AACA,cAAIwjB,IAAI,GAAGJ,YAAY,CAACjE,MAAD,EAASgB,EAAT,CAAvB;AACA,cAAI,CAACqD,IAAL,EAAW,MAAM,IAAI/hB,KAAJ,CAAU,4BAA4BzB,IAA5B,GAAmC,aAAnC,GAAmDse,IAAI,CAAC6B,EAAxD,GAA6D,MAA7D,GAAsEnP,SAAS,CAACjK,MAAD,CAAzF,CAAN;AACX,cAAI0c,YAAY,GAAGD,IAAI,CAACrE,MAAxB;AAAA,cAAgC9U,MAAM,GAAGmZ,IAAI,CAACnZ,MAA9C;AAAA,cAAsDuP,GAAG,GAAG4J,IAAI,CAAC5J,GAAjE;AACA,iBAAOxK,oBAAoB,OAApB,CAA0B,YAAW;AACxC,gBAAI,CAAC6D,WAAW,CAAC5I,MAAD,EAAS8I,MAAT,CAAhB,EAAkC,MAAM,IAAI1R,KAAJ,CAAU,aAAa6c,IAAI,CAACte,IAAlB,GAAyB,WAAzB,GAAuCsM,IAAI,CAAC3F,SAAL,CAAe+U,YAAY,CAAC8H,IAAI,CAACnZ,MAAN,CAAZ,GAA4BmZ,IAAI,CAACnZ,MAAL,CAAY8U,MAAxC,GAAiDqE,IAAI,CAACnZ,MAArE,CAAvC,GAAsH,yBAAtH,GAAkJ8I,MAAlJ,GAA2J,MAA3J,GAAoKnC,SAAS,CAACjK,MAAD,CAAvL,CAAN;AAClC,gBAAIuI,kBAAkB,CAACkS,aAAnB,CAAiCiC,YAAjC,CAAJ,EAAoD,OAAOA,YAAY,CAAClB,WAAb,CAAyBpD,MAAzB,EAAiC;AACxFhB,cAAAA,IAAI,EAAEA;AADkF,aAAjC,EAExDtd,IAFwD,CAElD,UAASyS,KAAT,EAAgB;AACrB,kBAAI,CAACA,KAAL,EAAY,MAAM,IAAI7R,KAAJ,CAAU,kBAAkB6c,IAAI,CAACte,IAAvB,GAA8B,mDAA9B,GAAoFgR,SAAS,CAACjK,MAAD,CAAvG,CAAN;AACf,aAJ0D,CAAP;AAKvD,WAPM,EAOHlG,IAPG,CAOG,YAAW;AACjB,mBAAO+Y,GAAG,CAACvC,KAAJ,CAAU;AACb8H,cAAAA,MAAM,EAAEA,MADK;AAEbhM,cAAAA,MAAM,EAAEA;AAFK,aAAV,EAGJmL,IAAI,CAAClH,IAHD,CAAP;AAIH,WAZM,EAYF,UAAS5Z,GAAT,EAAc;AACf,mBAAO4R,oBAAoB,OAApB,CAA0B,YAAW;AACxC,kBAAIwK,GAAG,CAAC7D,OAAR,EAAiB,OAAO6D,GAAG,CAAC7D,OAAJ,CAAYvY,GAAZ,CAAP;AACpB,aAFM,EAEHqD,IAFG,CAEG,YAAW;AACjBrD,cAAAA,GAAG,CAACuX,KAAJ,KAAcvX,GAAG,CAACuX,KAAJ,GAAY,oBAAoB/U,IAApB,GAA2B,GAA3B,GAAiC,UAASoX,IAAT,EAAe;AACtE,qBAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,EAA3B;AACA,uBAAO,CAACjH,IAAI,GAAGiH,IAAP,EAAa,GAAGrT,KAAH,CAASrF,IAAT,CAAcyR,IAAd,CAAd,EAAmC4G,GAAnC,CAAwC,UAASvY,GAAT,EAAc;AACzD,yBAAO,YAAY,OAAOA,GAAnB,GAAyB,MAAMA,GAAN,GAAY,GAArC,GAA2C,KAAK,CAAL,KAAWA,GAAX,GAAiB,WAAjB,GAA+B,SAASA,GAAT,GAAe,MAAf,GAAwB,aAAa,OAAOA,GAApB,GAA0BA,GAAG,CAAC8D,QAAJ,EAA1B,GAA2CuD,KAAK,CAACuN,OAAN,CAAc5U,GAAd,IAAqB,SAArB,GAAiC,YAAY,OAAOA,GAAnB,GAAyB,SAAzB,GAAqC,cAAc,OAAOA,GAArB,GAA2B,eAA3B,GAA6C,MAAM,OAAOA,GAAb,GAAmB,GAA1R;AACH,iBAFM,EAEHoI,IAFG,CAEE,IAFF,CAAP;AAGA,oBAAIuJ,IAAJ;AACH,eAN0D,CAMzDmO,IAAI,CAAClH,IANoD,CAAjC,GAMX,cANW,GAMM5Z,GAAG,CAACuX,KANpC;AAOA,oBAAMvX,GAAN;AACH,aAXM,CAAP;AAYH,WAzBM,EAyBHqD,IAzBG,CAyBG,UAASD,MAAT,EAAiB;AACvB,mBAAO;AACHA,cAAAA,MAAM,EAAEA,MADL;AAEHuf,cAAAA,EAAE,EAAEA,EAFD;AAGHngB,cAAAA,IAAI,EAAEA;AAHH,aAAP;AAKH,WA/BM,CAAP;AAgCH,SAxCQ,CAAT;AAyCH,OA1CwB,CAHzB;;AA8CA,UAAI6d,IAAJ,EAAU0F,EAAV,EAAcpF,IAAd;;AACA,UAAIgC,EAAE,GAAGvG,GAAG,CAAC8J,MAAJ,IAAc7K,QAAQ,EAA/B;AACAyK,MAAAA,WAAW,GAAGhU,kBAAkB,CAACqT,MAAnB,CAA0BW,WAA1B,CAAd;AACA,UAAItjB,IAAI,GAAG4Z,GAAG,CAACjB,QAAJ,IAAgBiB,GAAG,CAAC5Z,IAApB,IAA4B9C,GAAvC;AACA,kBAAY,OAAO8C,IAAnB,IAA2B,cAAc,OAAOA,IAAI,CAACkR,OAArD,IAAgE,MAAMlR,IAAI,CAACkR,OAAL,CAAa,aAAb,CAAtE,KAAsGlR,IAAI,GAAGA,IAAI,CAAC+Y,OAAL,CAAa,aAAb,EAA4B7b,GAAG,GAAG,IAAlC,CAA7G;;AACA,UAAIoS,kBAAkB,CAACkS,aAAnB,CAAiC8B,WAAjC,CAAJ,EAAmD;AAC/CL,QAAAA,SAAS,CAAC9C,EAAD,EAAKvG,GAAL,EAAU5Z,IAAV,EAAgBsjB,WAAhB,EAA6BjZ,MAA7B,CAAT;AACAiZ,QAAAA,WAAW,CAAChB,WAAZ,GAA0BzhB,IAA1B,CAAgC,UAASyP,GAAT,EAAc;AAC1C2S,UAAAA,SAAS,CAAC9C,EAAD,EAAKvG,GAAL,EAAU5Z,IAAV,EAAgBsQ,GAAhB,EAAqBjG,MAArB,CAAT;AACH,SAFD;AAGH,OALD,MAKO4Y,SAAS,CAAC9C,EAAD,EAAKvG,GAAL,EAAU5Z,IAAV,EAAgBsjB,WAAhB,EAA6BjZ,MAA7B,CAAT;;AACP,aAAOwU,aAAa,CAAC,uBAAD,EAA0B;AAC1CsB,QAAAA,EAAE,EAAEA,EADsC;AAE1CngB,QAAAA,IAAI,EAAEA;AAFoC,OAA1B,CAApB;AAIH;;AACD,aAAS2jB,gBAAT,CAA0BL,WAA1B,EAAuCjZ,MAAvC,EAA+CpN,GAA/C,EAAoD4gB,IAApD,EAA0D;AACtD,UAAI+F,UAAJ;;AACA,UAAIL,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,UAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AACA,aAAO,UAASlhB,GAAT,EAAc4mB,WAAd,EAA2B;AAC9B,aAAK,CAAL,KAAWA,WAAX,KAA2BA,WAAW,GAAGpE,kBAAzC;AACA,YAAI7e,MAAM,GAAG0L,IAAI,CAAC3F,SAAL,CAAe1J,GAAf,EAAqB,UAASC,GAAT,EAAc;AAC5C,cAAI0c,GAAG,GAAG,KAAK1c,GAAL,CAAV;AACA,cAAIwhB,gBAAgB,CAAC,IAAD,CAApB,EAA4B,OAAO9E,GAAP;AAC5B,cAAInb,IAAI,GAAGmgB,aAAa,CAAChF,GAAD,CAAxB;AACA,cAAI,CAACnb,IAAL,EAAW,OAAOmb,GAAP;AACX,cAAIkK,UAAU,GAAGD,WAAW,CAACplB,IAAD,CAAX,IAAqBugB,UAAU,CAACvgB,IAAD,CAAhD;AACA,iBAAOqlB,UAAU,GAAGA,UAAU,CAAClK,GAAD,EAAM1c,GAAN,CAAb,GAA0B0c,GAA3C;AACH,SAPY,CAAb;AAQA,eAAO,KAAK,CAAL,KAAWhZ,MAAX,GAAoB,WAApB,GAAkCA,MAAzC;AACH,OAXM,CAWL3D,GAXK,GAWC,CAAC2mB,UAAU,GAAG,EAAd,EAAkB7W,OAAlB,GAA4B,UAAS6M,GAAT,EAAc1c,GAAd,EAAmB;AACnD,eAAO,UAASomB,WAAT,EAAsBjZ,MAAtB,EAA8BuP,GAA9B,EAAmC1c,GAAnC,EAAwC2gB,IAAxC,EAA8C;AACjD,iBAAOgB,aAAa,CAAC,4BAAD,EAA+B;AAC/Che,YAAAA,IAAI,EAAEwiB,0BAA0B,CAACC,WAAD,EAAcjZ,MAAd,EAAuB,UAAS5J,OAAT,EAAkBC,MAAlB,EAA0B;AAC7E,qBAAOkZ,GAAG,CAAC/Y,IAAJ,CAASJ,OAAT,EAAkBC,MAAlB,CAAP;AACH,aAF+B,EAE5BxD,GAF4B,EAEvB;AACLqmB,cAAAA,EAAE,EAAE1F,IAAI,CAAC0F,EADJ;AAELpF,cAAAA,IAAI,EAAEN,IAAI,CAACM;AAFN,aAFuB;AADe,WAA/B,CAApB;AAQH,SATM,CASLmF,WATK,EASQjZ,MATR,EASgBuP,GAThB,EASqB1c,GATrB,EAS0B;AAC7BqmB,UAAAA,EAAE,EAAEA,EADyB;AAE7BpF,UAAAA,IAAI,EAAEA;AAFuB,SAT1B,CAAP;AAaH,OAdO,EAcLyF,UAAU,YAAV,GAAsB,UAAShK,GAAT,EAAc1c,GAAd,EAAmB;AACxC,eAAOmmB,0BAA0B,CAACC,WAAD,EAAcjZ,MAAd,EAAsBuP,GAAtB,EAA2B1c,GAA3B,EAAgC;AAC7DqmB,UAAAA,EAAE,EAAEA,EADyD;AAE7DpF,UAAAA,IAAI,EAAEA;AAFuD,SAAhC,CAAjC;AAIH,OAnBO,EAmBLyF,UAAU,CAACxgB,MAAX,GAAoB,UAASwW,GAAT,EAAc;AACjC,eAAOnG,QAAQ,CAACmG,GAAD,CAAR,IAAiBtK,kBAAkB,CAACkS,aAAnB,CAAiC5H,GAAjC,CAAjB,GAAyDiF,aAAa,CAAC,qBAAD,EAAwBvP,kBAAkB,CAACsT,SAAnB,CAA6BhJ,GAA7B,EAAkC;AACnIuE,UAAAA,IAAI,EAAEA;AAD6H,SAAlC,CAAxB,CAAtE,GAEDvE,GAFN;AAGH,OAvBO,EAuBLgK,UAlCI,EAAP;AAmCH;;AACD,aAASG,kBAAT,CAA4B5E,MAA5B,EAAoChM,MAApC,EAA4Cd,OAA5C,EAAqDuN,KAArD,EAA4D;AACxD,UAAIoE,YAAJ;;AACA,UAAI7F,IAAI,GAAGyB,KAAK,CAACzB,IAAjB;AACA,aAAO,UAASlF,GAAT,EAAcgL,aAAd,EAA6B;AAChC,aAAK,CAAL,KAAWA,aAAX,KAA6BA,aAAa,GAAGnE,oBAA7C;AACA,YAAI,gBAAgB7G,GAApB,EAAyB,OAAO3M,IAAI,CAAC4X,KAAL,CAAWjL,GAAX,EAAiB,UAAS/b,GAAT,EAAc0c,GAAd,EAAmB;AAChE,cAAI8E,gBAAgB,CAAC,IAAD,CAApB,EAA4B,OAAO9E,GAAP;AAC5B,cAAInb,IAAJ;AACA,cAAItB,KAAJ;;AACA,cAAIuhB,gBAAgB,CAAC9E,GAAD,CAApB,EAA2B;AACvBnb,YAAAA,IAAI,GAAGmb,GAAG,CAAC+E,QAAX;AACAxhB,YAAAA,KAAK,GAAGyc,GAAG,CAACkF,OAAZ;AACH,WAHD,MAGO;AACHrgB,YAAAA,IAAI,GAAGmgB,aAAa,CAAChF,GAAD,CAApB;AACAzc,YAAAA,KAAK,GAAGyc,GAAR;AACH;;AACD,cAAI,CAACnb,IAAL,EAAW,OAAOtB,KAAP;AACX,cAAIgnB,YAAY,GAAGF,aAAa,CAACxlB,IAAD,CAAb,IAAuBkhB,YAAY,CAAClhB,IAAD,CAAtD;AACA,iBAAO0lB,YAAY,GAAGA,YAAY,CAAChnB,KAAD,EAAQD,GAAR,CAAf,GAA8BC,KAAjD;AACH,SAd+B,CAAP;AAe5B,OAjBM,CAiBLkV,OAjBK,GAiBK,CAAC2R,YAAY,GAAG,EAAhB,EAAoBI,0BAApB,GAAiD,UAASC,iBAAT,EAA4B;AACrF,eAAO,UAASlF,MAAT,EAAiBhM,MAAjB,EAAyByM,KAAzB,EAAgC;AACnC,iBAAO,IAAIxQ,oBAAJ,CAAyBwQ,KAAK,CAAC/e,IAA/B,CAAP;AACH,SAFM,CAEL,CAFK,EAEF,CAFE,EAECwjB,iBAFD,CAAP;AAGH,OAJW,EAITL,YAAY,CAACM,qBAAb,GAAqC,UAASC,kBAAT,EAA6B;AACjE,eAAO,UAASpF,MAAT,EAAiBhM,MAAjB,EAAyB+K,KAAzB,EAAgCG,KAAhC,EAAuC;AAC1C,cAAI8B,EAAE,GAAGjC,KAAK,CAACiC,EAAf;AAAA,cAAmBngB,IAAI,GAAGke,KAAK,CAACle,IAAhC;AACA,cAAIme,IAAI,GAAGE,KAAK,CAACF,IAAjB;;AACA,cAAIqG,uBAAuB,GAAG,SAA1BA,uBAA0B,CAASC,IAAT,EAAe;AACzC,iBAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,EAA3B;;AACA,qBAASC,0BAAT,GAAsC;AAClC,kBAAIvJ,UAAU,GAAGR,SAAjB;AACA,qBAAOrL,kBAAkB,CAACuT,aAAnB,CAAiC1D,MAAjC,EAAyC;AAC5ChB,gBAAAA,IAAI,EAAEA;AADsC,eAAzC,EAEJmE,WAFI,GAEUzhB,IAFV,CAEgB,UAASyP,GAAT,EAAc;AACjC,oBAAIkT,IAAI,GAAGJ,YAAY,CAAC9S,GAAD,EAAM6P,EAAN,CAAvB;AACA,oBAAIqD,IAAI,IAAIA,IAAI,CAAC5J,GAAL,KAAa8K,0BAAzB,EAAqD,OAAOlB,IAAI,CAAC5J,GAAL,CAASvC,KAAT,CAAe;AACvE8H,kBAAAA,MAAM,EAAEpY,MAD+D;AAEvEoM,kBAAAA,MAAM,EAAEnC,SAAS;AAFsD,iBAAf,EAGzDmK,UAHyD,CAAP;;AAIrD,oBAAIwJ,KAAK,GAAG,GAAG5gB,KAAH,CAASrF,IAAT,CAAcyc,UAAd,CAAZ;;AACA,uBAAOsJ,IAAI,CAACG,aAAL,GAAqBzG,IAAI,CAAC7N,GAAD,EAAM,kBAAN,EAA0B;AACtD6P,kBAAAA,EAAE,EAAEA,EADkD;AAEtDngB,kBAAAA,IAAI,EAAEA,IAFgD;AAGtDoX,kBAAAA,IAAI,EAAEuN;AAHgD,iBAA1B,EAI7B;AACCta,kBAAAA,MAAM,EAAE8I,MADT;AAECyR,kBAAAA,aAAa,EAAE,CAAC;AAFjB,iBAJ6B,CAAzB,GAOFzG,IAAI,CAAC7N,GAAD,EAAM,kBAAN,EAA0B;AAC/B6P,kBAAAA,EAAE,EAAEA,EAD2B;AAE/BngB,kBAAAA,IAAI,EAAEA,IAFyB;AAG/BoX,kBAAAA,IAAI,EAAEuN;AAHyB,iBAA1B,EAIN;AACCta,kBAAAA,MAAM,EAAE8I,MADT;AAECyR,kBAAAA,aAAa,EAAE,CAAC;AAFjB,iBAJM,CAAJ,CAOF/jB,IAPE,CAOI,UAAS0L,GAAT,EAAc;AACnB,yBAAOA,GAAG,CAAC+R,IAAJ,CAAS1d,MAAhB;AACH,iBATI,CAPL;AAiBH,eA1BM,WA0BI,UAASpD,GAAT,EAAc;AACrB,sBAAMA,GAAN;AACH,eA5BM,CAAP;AA6BH;;AACDknB,YAAAA,0BAA0B,CAAC/L,QAA3B,GAAsC3Y,IAAtC;AACA0kB,YAAAA,0BAA0B,CAACG,UAA3B,GAAwC1R,MAAxC;AACAuR,YAAAA,0BAA0B,CAACI,UAA3B,GAAwC3F,MAAxC;AACAuF,YAAAA,0BAA0B,CAAChB,MAA3B,GAAoCvD,EAApC;AACAuE,YAAAA,0BAA0B,CAACvR,MAA3B,GAAoCA,MAApC;AACA,mBAAOuR,0BAAP;AACH,WAxCD;;AAyCA,cAAIA,0BAA0B,GAAGF,uBAAuB,EAAxD;AACAE,UAAAA,0BAA0B,CAACE,aAA3B,GAA2CJ,uBAAuB,CAAC;AAC/DI,YAAAA,aAAa,EAAE,CAAC;AAD+C,WAAD,CAAlE;AAGA,iBAAOF,0BAAP;AACH,SAjDM,CAiDLvF,MAjDK,EAiDGhM,MAjDH,EAiDWoR,kBAjDX,EAiD+B;AAClCpG,UAAAA,IAAI,EAAEA;AAD4B,SAjD/B,CAAP;AAoDH,OAzDW,EAyDT6F,YAAY,CAACe,mBAAb,GAAmC,UAASxD,gBAAT,EAA2B;AAC7D,eAAOjS,kBAAkB,CAACwT,WAAnB,CAA+BvB,gBAA/B,EAAiD;AACpDpD,UAAAA,IAAI,EAAEA;AAD8C,SAAjD,CAAP;AAGH,OA7DW,EA6DT6F,YA9EI,EAAP;AA+EH;;AACD,QAAIgB,uBAAuB,GAAG,EAA9B;;AACAA,IAAAA,uBAAuB,CAACC,sBAAxB,GAAiD,UAAS3U,GAAT,EAAc4U,iBAAd,EAAiC7a,MAAjC,EAAyC;AACtF,YAAMA,MAAM,CAAC6G,OAAP,CAAe,OAAf,CAAN,KAAkC7G,MAAM,GAAG,GAA3C;AACAiG,MAAAA,GAAG,CAAC6U,WAAJ,CAAgBD,iBAAhB,EAAmC7a,MAAnC;AACH,KAHD;;AAIA,aAAS+a,gBAAT,CAA0B9U,GAA1B,EAA+BjG,MAA/B,EAAuCgI,OAAvC,EAAgDuN,KAAhD,EAAuD;AACnD,UAAI2D,EAAE,GAAG3D,KAAK,CAAC2D,EAAf;AAAA,UAAmBpF,IAAI,GAAGyB,KAAK,CAACzB,IAAhC;AACA,aAAO/O,oBAAoB,OAApB,CAA0B,YAAW;AACxC,YAAIiW,YAAY,GAAG7H,WAAW,GAAG/E,QAAd,CAAuBnI,GAAvB,EAA6B,YAAW;AACvD,iBAAO,EAAP;AACH,SAFkB,CAAnB;AAGA+U,QAAAA,YAAY,CAACC,MAAb,GAAsBD,YAAY,CAACC,MAAb,IAAuB,EAA7C;AACAD,QAAAA,YAAY,CAACC,MAAb,CAAoBviB,IAApB,CAAyBsP,OAAzB;AACAgT,QAAAA,YAAY,CAAC5N,KAAb,GAAqB4N,YAAY,CAAC5N,KAAb,IAAsBrI,oBAAoB,CAACqI,KAArB,GAA6B5W,IAA7B,CAAmC,YAAW;AACrF,cAAIqR,cAAc,CAAC5B,GAAD,CAAlB,EAAyB,MAAM,IAAI7O,KAAJ,CAAU,kBAAV,CAAN;AACzB,cAAIyjB,iBAAiB,GAAGvB,gBAAgB,CAACrT,GAAD,EAAMjG,MAAN,GAAe,CAACwT,IAAI,GAAG,EAAR,EAAY0H,sBAAZ,GAAqCF,YAAY,CAACC,MAAb,IAAuB,EAA5D,EACvDzH,IADwC,GACjC;AACH0F,YAAAA,EAAE,EAAEA,EADD;AAEHpF,YAAAA,IAAI,EAAEA;AAFH,WADiC,CAAxC;;AAKA,cAAIN,IAAJ;;AACA,iBAAOwH,YAAY,CAACC,MAApB;AACA,cAAIE,UAAU,GAAGrpB,MAAM,CAACgH,IAAP,CAAY6hB,uBAAZ,CAAjB;AACA,cAAIS,MAAM,GAAG,EAAb;;AACA,eAAK,IAAIxF,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGuF,UAAU,CAACliB,MAAnC,EAA2C2c,GAAG,EAA9C,EAAkD;AAC9C,gBAAIyF,YAAY,GAAGF,UAAU,CAACvF,GAAD,CAA7B;;AACA,gBAAI;AACA+E,cAAAA,uBAAuB,CAACU,YAAD,CAAvB,CAAsCpV,GAAtC,EAA2C4U,iBAA3C,EAA8D7a,MAA9D;AACH,aAFD,CAEE,OAAO7M,GAAP,EAAY;AACVioB,cAAAA,MAAM,CAAC1iB,IAAP,CAAYvF,GAAZ;AACH;AACJ;;AACD,cAAIioB,MAAM,CAACniB,MAAP,KAAkBkiB,UAAU,CAACliB,MAAjC,EAAyC,MAAM,IAAI7B,KAAJ,CAAU,oDAAoDgkB,MAAM,CAAC1O,GAAP,CAAY,UAASvZ,GAAT,EAAcmG,CAAd,EAAiB;AACtI,mBAAOA,CAAC,GAAG,IAAJ,GAAW4X,cAAc,CAAC/d,GAAD,CAAhC;AACH,WAF4G,EAEzGoJ,IAFyG,CAEpG,MAFoG,CAA9D,CAAN;AAG5C,SAtB0C,CAA3C;AAuBA,eAAOye,YAAY,CAAC5N,KAAb,CAAmB5W,IAAnB,CAAyB,YAAW;AACvC,iBAAOwkB,YAAY,CAAC5N,KAApB;AACH,SAFM,CAAP;AAGH,OAhCM,EAgCH5W,IAhCG,CAgCEya,aAhCF,CAAP;AAiCH;;AACD,aAASqK,mBAAT,CAA6B/O,IAA7B,EAAmC;AAC/B,aAAOmG,WAAW,CAAC,mBAAD,CAAX,CAAiC3V,GAAjC,CAAqCwP,IAArC,CAAP;AACH;;AACD,aAASgP,sBAAT,CAAgChP,IAAhC,EAAsC;AAClCmG,MAAAA,WAAW,CAAC,mBAAD,CAAX,CAAiCI,GAAjC,CAAqCvG,IAArC;AACH;;AACD,aAASiP,yBAAT,CAAmCjP,IAAnC,EAAyC;AACrC,aAAOmG,WAAW,CAAC,0BAAD,CAAX,CAAwCvE,GAAxC,CAA4C5B,IAA5C,CAAP;AACH;;AACD,aAASkP,kBAAT,CAA4BjI,IAA5B,EAAkC;AAC9B,UAAI7d,IAAI,GAAG6d,IAAI,CAAC7d,IAAhB;AAAA,UAAsBsQ,GAAG,GAAGuN,IAAI,CAACvN,GAAjC;AAAA,UAAsCjG,MAAM,GAAGwT,IAAI,CAACxT,MAApD;AACA,UAAI0b,gBAAgB,GAAGvI,WAAW,CAAC,kBAAD,CAAlC;AACA,cAAQlN,GAAR,KAAgBA,GAAG,GAAG,IAAtB;AACA,cAAQjG,MAAR,KAAmBA,MAAM,GAAG,IAA5B;AACA,UAAI,CAACrK,IAAL,EAAW,MAAM,IAAIyB,KAAJ,CAAU,uCAAV,CAAN;;AACX,WAAK,IAAIukB,GAAG,GAAG,CAAV,EAAa9D,KAAK,GAAG,CAAE5R,GAAF,EAAO+M,WAAW,EAAlB,CAA1B,EAAkD2I,GAAG,GAAG9D,KAAK,CAAC5e,MAA9D,EAAsE0iB,GAAG,EAAzE,EAA6E;AACzE,YAAIC,YAAY,GAAG/D,KAAK,CAAC8D,GAAD,CAAxB;;AACA,YAAIC,YAAJ,EAAkB;AACd,cAAIC,aAAa,GAAGH,gBAAgB,CAAC3e,GAAjB,CAAqB6e,YAArB,CAApB;;AACA,cAAIC,aAAJ,EAAmB;AACf,gBAAIC,eAAe,GAAGD,aAAa,CAAClmB,IAAD,CAAnC;;AACA,gBAAImmB,eAAJ,EAAqB;AACjB,kBAAI9b,MAAM,IAAI,YAAY,OAAOA,MAAjC,EAAyC;AACrC,oBAAI8b,eAAe,CAAC9b,MAAD,CAAnB,EAA6B,OAAO8b,eAAe,CAAC9b,MAAD,CAAtB;AAC7B,oBAAI8b,eAAe,CAACC,gBAApB,EAAsC,KAAK,IAAIC,GAAG,GAAG,CAAV,EAAaC,sBAAsB,GAAGH,eAAe,CAACC,gBAA3D,EAA6EC,GAAG,GAAGC,sBAAsB,CAAChjB,MAA1G,EAAkH+iB,GAAG,EAArH,EAAyH;AAC3J,sBAAIE,sBAAsB,GAAGD,sBAAsB,CAACD,GAAD,CAAnD;AAAA,sBAA0DG,QAAQ,GAAGD,sBAAsB,CAACC,QAA5F;AACA,sBAAIvT,WAAW,CAACsT,sBAAsB,CAACrH,KAAxB,EAA+B7U,MAA/B,CAAf,EAAuD,OAAOmc,QAAP;AAC1D;AACJ;;AACD,kBAAIL,eAAe,CAAC,GAAD,CAAnB,EAA0B,OAAOA,eAAe,CAAC,GAAD,CAAtB;AAC7B;AACJ;AACJ;AACJ;AACJ;;AACD,aAASM,aAAT,CAAuBtH,MAAvB,EAA+BhM,MAA/B,EAAuCd,OAAvC,EAAgDwL,IAAhD,EAAsD;AAClD,UAAI0F,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,UAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AACA,UAAIjE,OAAO,GAAG4L,kBAAkB,CAAC;AAC7B9lB,QAAAA,IAAI,EAAEqS,OAAO,CAACrS,IADe;AAE7BsQ,QAAAA,GAAG,EAAE6O,MAFwB;AAG7B9U,QAAAA,MAAM,EAAE8I;AAHqB,OAAD,CAAhC;AAKA,UAAIuT,OAAO,GAAG,uBAAuBrU,OAAO,CAACrS,IAA/B,IAAuCqS,OAAO,CAACiM,IAA/C,IAAuD,YAAY,OAAOjM,OAAO,CAACiM,IAAR,CAAate,IAAvF,GAA8FqS,OAAO,CAACiM,IAAR,CAAate,IAAb,GAAoB,IAAlH,GAAyHqS,OAAO,CAACrS,IAA/I;;AACA,eAAS2mB,YAAT,CAAsBC,GAAtB,EAA2BtI,IAA3B,EAAiCvd,KAAjC,EAAwC;AACpC,eAAOqO,oBAAoB,CAACqI,KAArB,GAA6B5W,IAA7B,CAAmC,YAAW;AACjD,cAAI,CAACwR,OAAO,CAACuS,aAAT,IAA0B,CAAC1S,cAAc,CAACiN,MAAD,CAA7C,EAAuD,IAAI;AACvD,mBAAOiG,gBAAgB,CAACjG,MAAD,EAAShM,MAAT,EAAiB;AACpCgN,cAAAA,EAAE,EAAEtH,QAAQ,EADwB;AAEpC1F,cAAAA,MAAM,EAAEnC,SAAS,CAACjK,MAAD,CAFmB;AAGpCtI,cAAAA,IAAI,EAAE,4BAH8B;AAIpCmY,cAAAA,IAAI,EAAEvE,OAAO,CAACuE,IAJsB;AAKpC5W,cAAAA,IAAI,EAAEqS,OAAO,CAACrS,IALsB;AAMpC4mB,cAAAA,GAAG,EAAEA,GAN+B;AAOpCtI,cAAAA,IAAI,EAAEA,IAP8B;AAQpCvd,cAAAA,KAAK,EAAEA;AAR6B,aAAjB,EASpB;AACCwiB,cAAAA,EAAE,EAAEA,EADL;AAECpF,cAAAA,IAAI,EAAEA;AAFP,aAToB,CAAvB;AAaH,WAdsD,CAcrD,OAAO3gB,GAAP,EAAY;AACV,kBAAM,IAAIiE,KAAJ,CAAU,sCAAsCilB,OAAtC,GAAgD,MAAhD,GAAyD1V,SAAS,EAAlE,GAAuE,MAAvE,GAAgFuK,cAAc,CAAC/d,GAAD,CAAxG,CAAN;AACH;AACJ,SAlBM,CAAP;AAmBH;;AACD,aAAO4R,oBAAoB,CAACmH,GAArB,CAAyB,CAAEnH,oBAAoB,CAACqI,KAArB,GAA6B5W,IAA7B,CAAmC,YAAW;AAC5E,YAAI,CAACwR,OAAO,CAACuS,aAAT,IAA0B,CAAC1S,cAAc,CAACiN,MAAD,CAA7C,EAAuD,IAAI;AACvD,iBAAOiG,gBAAgB,CAACjG,MAAD,EAAShM,MAAT,EAAiB;AACpCgN,YAAAA,EAAE,EAAEtH,QAAQ,EADwB;AAEpC1F,YAAAA,MAAM,EAAEnC,SAAS,CAACjK,MAAD,CAFmB;AAGpCtI,YAAAA,IAAI,EAAE,uBAH8B;AAIpCmY,YAAAA,IAAI,EAAEvE,OAAO,CAACuE,IAJsB;AAKpC5W,YAAAA,IAAI,EAAEqS,OAAO,CAACrS;AALsB,WAAjB,EAMpB;AACCujB,YAAAA,EAAE,EAAEA,EADL;AAECpF,YAAAA,IAAI,EAAEA;AAFP,WANoB,CAAvB;AAUH,SAXsD,CAWrD,OAAO3gB,GAAP,EAAY;AACV,gBAAM,IAAIiE,KAAJ,CAAU,iCAAiCilB,OAAjC,GAA2C,MAA3C,GAAoD1V,SAAS,EAA7D,GAAkE,MAAlE,GAA2EuK,cAAc,CAAC/d,GAAD,CAAnG,CAAN;AACH;AACJ,OAfiC,CAAF,EAe3B4R,oBAAoB,OAApB,CAA0B,YAAW;AACtC,YAAI,CAAC8K,OAAL,EAAc,MAAM,IAAIzY,KAAJ,CAAU,wCAAwC4Q,OAAO,CAACrS,IAAhD,GAAuD,QAAvD,GAAkEmT,MAAlE,GAA2E,MAA3E,GAAoFpM,MAAM,CAACwJ,QAAP,CAAgBC,QAApG,GAA+G,IAA/G,GAAsHzJ,MAAM,CAACwJ,QAAP,CAAgBQ,IAAtI,GAA6IhK,MAAM,CAACwJ,QAAP,CAAgBsW,QAAvK,CAAN;AACd,YAAI,CAAC5T,WAAW,CAACiH,OAAO,CAAC7P,MAAT,EAAiB8I,MAAjB,CAAhB,EAA0C,MAAM,IAAI1R,KAAJ,CAAU,oBAAoB0R,MAApB,GAA6B,yBAA7B,GAAyD+G,OAAO,CAAC7P,MAAR,CAAe/H,QAAf,EAAnE,CAAN;AAC1C,eAAO4X,OAAO,CAAC1F,OAAR,CAAgB;AACnB2K,UAAAA,MAAM,EAAEA,MADW;AAEnBhM,UAAAA,MAAM,EAAEA,MAFW;AAGnBmL,UAAAA,IAAI,EAAEjM,OAAO,CAACiM;AAHK,SAAhB,CAAP;AAKH,OARI,EAQDzd,IARC,CAQK,UAASyd,IAAT,EAAe;AACrB,eAAOqI,YAAY,CAAC,SAAD,EAAYrI,IAAZ,CAAnB;AACH,OAVI,EAUA,UAASvd,KAAT,EAAgB;AACjB,eAAO4lB,YAAY,CAAC,OAAD,EAAU,IAAV,EAAgB5lB,KAAhB,CAAnB;AACH,OAZI,CAf2B,CAAzB,EA2BAF,IA3BA,CA2BKya,aA3BL,WA2B2B,UAAS9d,GAAT,EAAc;AAC5C,YAAI0c,OAAO,IAAIA,OAAO,CAAC4M,WAAvB,EAAoC,OAAO5M,OAAO,CAAC4M,WAAR,CAAoBtpB,GAApB,CAAP;AACpC,cAAMA,GAAN;AACH,OA9BM,CAAP;AA+BH;;AACD,aAASupB,SAAT,CAAmB5H,MAAnB,EAA2BhM,MAA3B,EAAmCd,OAAnC,EAA4C;AACxC,UAAI,CAACwT,yBAAyB,CAACxT,OAAO,CAACuE,IAAT,CAA9B,EAA8C;AAC1C,YAAIsD,OAAO,GAAGyL,mBAAmB,CAACtT,OAAO,CAACuE,IAAT,CAAjC;AACA,YAAI,CAACsD,OAAL,EAAc,MAAM,IAAIzY,KAAJ,CAAU,wDAAwD4Q,OAAO,CAACrS,IAAhE,GAAuE,QAAvE,GAAkFmT,MAAlF,GAA2F,MAA3F,GAAoGpM,MAAM,CAACwJ,QAAP,CAAgBC,QAApH,GAA+H,IAA/H,GAAsIzJ,MAAM,CAACwJ,QAAP,CAAgBQ,IAAtJ,GAA6JhK,MAAM,CAACwJ,QAAP,CAAgBsW,QAAvL,CAAN;;AACd,YAAI;AACA,cAAI,CAAC5T,WAAW,CAACiH,OAAO,CAAC7P,MAAT,EAAiB8I,MAAjB,CAAhB,EAA0C,MAAM,IAAI1R,KAAJ,CAAU,gBAAgB0R,MAAhB,GAAyB,yBAAzB,GAAqD+G,OAAO,CAAC7P,MAAR,CAAe/H,QAAf,EAA/D,CAAN;AAC1C,cAAI6c,MAAM,KAAKjF,OAAO,CAAC5J,GAAvB,EAA4B,MAAM,IAAI7O,KAAJ,CAAU,6CAAV,CAAN;AAC/B,SAHD,CAGE,OAAOjE,GAAP,EAAY;AACV0c,UAAAA,OAAO,CAACnN,OAAR,CAAgBrM,MAAhB,CAAuBlD,GAAvB;AACH;;AACD0c,QAAAA,OAAO,CAAC0M,GAAR,GAAc,CAAC,CAAf;AACH;AACJ;;AACD,aAASI,cAAT,CAAwB7H,MAAxB,EAAgChM,MAAhC,EAAwCd,OAAxC,EAAiD;AAC7C,UAAI,CAACwT,yBAAyB,CAACxT,OAAO,CAACuE,IAAT,CAA9B,EAA8C;AAC1C,YAAIsD,OAAO,GAAGyL,mBAAmB,CAACtT,OAAO,CAACuE,IAAT,CAAjC;AACA,YAAI,CAACsD,OAAL,EAAc,MAAM,IAAIzY,KAAJ,CAAU,6DAA6D4Q,OAAO,CAACrS,IAArE,GAA4E,QAA5E,GAAuFmT,MAAvF,GAAgG,MAAhG,GAAyGpM,MAAM,CAACwJ,QAAP,CAAgBC,QAAzH,GAAoI,IAApI,GAA2IzJ,MAAM,CAACwJ,QAAP,CAAgBQ,IAA3J,GAAkKhK,MAAM,CAACwJ,QAAP,CAAgBsW,QAA5L,CAAN;AACd,YAAI,CAAC5T,WAAW,CAACiH,OAAO,CAAC7P,MAAT,EAAiB8I,MAAjB,CAAhB,EAA0C,MAAM,IAAI1R,KAAJ,CAAU,qBAAqB0R,MAArB,GAA8B,yBAA9B,IAA2DD,OAAO,GAAGgH,OAAO,CAAC7P,MAAlB,EACrHxE,KAAK,CAACuN,OAAN,CAAcF,OAAd,IAAyB,MAAMA,OAAO,CAACtM,IAAR,CAAa,KAAb,CAAN,GAA4B,GAArD,GAA2DsJ,OAAO,CAACgD,OAAD,CAAP,GAAmB,YAAYA,OAAO,CAAC5Q,QAAR,EAA/B,GAAoD4Q,OAAO,CAAC5Q,QAAR,EADrD,CAAV,CAAN;AAE1C,YAAI4Q,OAAJ;AACA,YAAIiM,MAAM,KAAKjF,OAAO,CAAC5J,GAAvB,EAA4B,MAAM,IAAI7O,KAAJ,CAAU,kDAAV,CAAN;AAC5BmkB,QAAAA,sBAAsB,CAACvT,OAAO,CAACuE,IAAT,CAAtB;AACA,oBAAYvE,OAAO,CAACuU,GAApB,GAA0B1M,OAAO,CAACnN,OAAR,CAAgBrM,MAAhB,CAAuB2R,OAAO,CAACtR,KAA/B,CAA1B,GAAkE,cAAcsR,OAAO,CAACuU,GAAtB,IAA6B1M,OAAO,CAACnN,OAAR,CAAgBtM,OAAhB,CAAwB;AACnH0e,UAAAA,MAAM,EAAEA,MAD2G;AAEnHhM,UAAAA,MAAM,EAAEA,MAF2G;AAGnHmL,UAAAA,IAAI,EAAEjM,OAAO,CAACiM;AAHqG,SAAxB,CAA/F;AAKH;AACJ;;AACD,aAAS2I,sBAAT,CAAgCC,KAAhC,EAAuCtH,KAAvC,EAA8C;AAC1C,UAAI2D,EAAE,GAAG3D,KAAK,CAAC2D,EAAf;AAAA,UAAmBpF,IAAI,GAAGyB,KAAK,CAACzB,IAAhC;AACA,UAAIgJ,gBAAgB,GAAGpK,WAAW,CAAC,kBAAD,CAAlC;;AACA,UAAI;AACA,YAAI,CAAChW,MAAD,IAAWA,MAAM,CAACqL,MAAlB,IAA4B,CAAC8U,KAAK,CAAC/H,MAAvC,EAA+C;AAClD,OAFD,CAEE,OAAO3hB,GAAP,EAAY;AACV;AACH;;AACD,UAAI2hB,MAAM,GAAG+H,KAAK,CAAC/H,MAAnB;AAAA,UAA2BhM,MAAM,GAAG+T,KAAK,CAAC/T,MAA1C;;AACA,UAAIiU,QAAQ,GAAG,UAAS/U,OAAT,EAAkB8M,MAAlB,EAA0BhM,MAA1B,EAAkC0K,IAAlC,EAAwC;AACnD,YAAI0F,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,YAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AACA,YAAIkJ,aAAJ;;AACA,YAAI;AACAA,UAAAA,aAAa,GAAGtD,kBAAkB,CAAC5E,MAAD,EAAShM,MAAT,EAAiBd,OAAjB,EAA0B;AACxDkR,YAAAA,EAAE,EAAEA,EADoD;AAExDpF,YAAAA,IAAI,EAAEA;AAFkD,WAA1B,CAAlC;AAIH,SALD,CAKE,OAAO3gB,GAAP,EAAY;AACV;AACH;;AACD,YAAI6pB,aAAa,IAAI,YAAY,OAAOA,aAApC,IAAqD,SAASA,aAAlE,EAAiF;AAC7E,cAAIC,aAAa,GAAGD,aAAa,CAAC9B,sBAAlC;AACA,cAAI1f,KAAK,CAACuN,OAAN,CAAckU,aAAd,CAAJ,EAAkC,OAAOA,aAAP;AACrC;AACJ,OAfc,CAebJ,KAAK,CAAC5I,IAfO,EAeDa,MAfC,EAeOhM,MAfP,EAee;AAC1BoQ,QAAAA,EAAE,EAAEA,EADsB;AAE1BpF,QAAAA,IAAI,EAAEA;AAFoB,OAff,CAAf;;AAmBA,UAAIiJ,QAAJ,EAAc;AACVpX,QAAAA,eAAe,CAACmP,MAAD,CAAf;;AACA,aAAK,IAAIc,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGmH,QAAQ,CAAC9jB,MAAjC,EAAyC2c,GAAG,EAA5C,EAAgD;AAC5C,cAAI5N,OAAO,GAAG+U,QAAQ,CAACnH,GAAD,CAAtB;AACA,cAAIkH,gBAAgB,CAAC3O,GAAjB,CAAqBnG,OAAO,CAAC8N,EAA7B,CAAJ,EAAsC;AACtCgH,UAAAA,gBAAgB,CAAC7f,GAAjB,CAAqB+K,OAAO,CAAC8N,EAA7B,EAAiC,CAAC,CAAlC;AACA,cAAIjO,cAAc,CAACiN,MAAD,CAAd,IAA0B,CAAC9M,OAAO,CAACuS,aAAvC,EAAsD;AACtD,gBAAMvS,OAAO,CAACc,MAAR,CAAejC,OAAf,CAAuB,OAAvB,CAAN,KAA0CiC,MAAM,GAAG,SAAnD;;AACA,cAAI;AACA,4CAAgCd,OAAO,CAAC5T,IAAxC,GAA+CgoB,aAAa,CAACtH,MAAD,EAAShM,MAAT,EAAiBd,OAAjB,EAA0B;AAClFkR,cAAAA,EAAE,EAAEA,EAD8E;AAElFpF,cAAAA,IAAI,EAAEA;AAF4E,aAA1B,CAA5D,GAGK,iCAAiC9L,OAAO,CAAC5T,IAAzC,GAAgDuoB,cAAc,CAAC7H,MAAD,EAAShM,MAAT,EAAiBd,OAAjB,CAA9D,GAA0F,4BAA4BA,OAAO,CAAC5T,IAApC,IAA4CsoB,SAAS,CAAC5H,MAAD,EAAShM,MAAT,EAAiBd,OAAjB,CAHpJ;AAIH,WALD,CAKE,OAAO7U,GAAP,EAAY;AACV+X,YAAAA,UAAU,CAAE,YAAW;AACnB,oBAAM/X,GAAN;AACH,aAFS,EAEN,CAFM,CAAV;AAGH;AACJ;AACJ;AACJ;;AACD,aAASqS,KAAT,CAAe7P,IAAf,EAAqBka,OAArB,EAA8B1F,OAA9B,EAAuC;AACnC,UAAI,CAACxU,IAAL,EAAW,MAAM,IAAIyB,KAAJ,CAAU,eAAV,CAAN;;AACX,UAAI,cAAc,QAAQyY,OAAO,GAAGA,OAAO,IAAI,EAA7B,CAAlB,EAAoD;AAChD1F,QAAAA,OAAO,GAAG0F,OAAV;AACAA,QAAAA,OAAO,GAAG,EAAV;AACH;;AACD,UAAI,CAAC1F,OAAL,EAAc,MAAM,IAAI/S,KAAJ,CAAU,kBAAV,CAAN;AACd,OAACyY,OAAO,GAAGA,OAAO,IAAI,EAAtB,EAA0Bla,IAA1B,GAAiCA,IAAjC;AACAka,MAAAA,OAAO,CAAC1F,OAAR,GAAkBA,OAAO,IAAI0F,OAAO,CAAC1F,OAArC;AACA,UAAIlE,GAAG,GAAG4J,OAAO,CAACnT,MAAlB;AACA,UAAIsD,MAAM,GAAG6P,OAAO,CAAC7P,MAArB;;AACA,UAAIkd,eAAe,GAAG,SAASC,kBAAT,CAA4BtJ,KAA5B,EAAmCsI,QAAnC,EAA6C;AAC/D,YAAIxmB,IAAI,GAAGke,KAAK,CAACle,IAAjB;AAAA,YAAuBsQ,GAAG,GAAG4N,KAAK,CAAC5N,GAAnC;AAAA,YAAwCjG,MAAM,GAAG6T,KAAK,CAAC7T,MAAvD;AACA,YAAI0b,gBAAgB,GAAGvI,WAAW,CAAC,kBAAD,CAAlC;AACA,YAAI,CAACxd,IAAD,IAAS,YAAY,OAAOA,IAAhC,EAAsC,MAAM,IAAIyB,KAAJ,CAAU,uCAAV,CAAN;;AACtC,YAAIoE,KAAK,CAACuN,OAAN,CAAc9C,GAAd,CAAJ,EAAwB;AACpB,cAAImX,mBAAmB,GAAG,EAA1B;;AACA,eAAK,IAAIC,GAAG,GAAG,CAAV,EAAaC,KAAK,GAAGrX,GAA1B,EAA+BoX,GAAG,GAAGC,KAAK,CAACrkB,MAA3C,EAAmDokB,GAAG,EAAtD;AAA0DD,YAAAA,mBAAmB,CAAC1kB,IAApB,CAAyBykB,kBAAkB,CAAC;AAClGxnB,cAAAA,IAAI,EAAEA,IAD4F;AAElGqK,cAAAA,MAAM,EAAEA,MAF0F;AAGlGiG,cAAAA,GAAG,EAAEqX,KAAK,CAACD,GAAD;AAHwF,aAAD,EAIlGlB,QAJkG,CAA3C;AAA1D;;AAKA,iBAAO;AACHtP,YAAAA,MAAM,EAAE,kBAAW;AACf,mBAAK,IAAI0Q,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGH,mBAAmB,CAACnkB,MAA9C,EAAsDskB,IAAI,EAA1D;AAA8DH,gBAAAA,mBAAmB,CAACG,IAAD,CAAnB,CAA0B1Q,MAA1B;AAA9D;AACH;AAHE,WAAP;AAKH;;AACD,YAAIrR,KAAK,CAACuN,OAAN,CAAc/I,MAAd,CAAJ,EAA2B;AACvB,cAAIwd,oBAAoB,GAAG,EAA3B;;AACA,eAAK,IAAIC,IAAI,GAAG,CAAX,EAAcC,QAAQ,GAAG1d,MAA9B,EAAsCyd,IAAI,GAAGC,QAAQ,CAACzkB,MAAtD,EAA8DwkB,IAAI,EAAlE;AAAsED,YAAAA,oBAAoB,CAAC9kB,IAArB,CAA0BykB,kBAAkB,CAAC;AAC/GxnB,cAAAA,IAAI,EAAEA,IADyG;AAE/GsQ,cAAAA,GAAG,EAAEA,GAF0G;AAG/GjG,cAAAA,MAAM,EAAE0d,QAAQ,CAACD,IAAD;AAH+F,aAAD,EAI/GtB,QAJ+G,CAA5C;AAAtE;;AAKA,iBAAO;AACHtP,YAAAA,MAAM,EAAE,kBAAW;AACf,mBAAK,IAAI8Q,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGH,oBAAoB,CAACvkB,MAA/C,EAAuD0kB,IAAI,EAA3D;AAA+DH,gBAAAA,oBAAoB,CAACG,IAAD,CAApB,CAA2B9Q,MAA3B;AAA/D;AACH;AAHE,WAAP;AAKH;;AACD,YAAI+Q,gBAAgB,GAAGnC,kBAAkB,CAAC;AACtC9lB,UAAAA,IAAI,EAAEA,IADgC;AAEtCsQ,UAAAA,GAAG,EAAEA,GAFiC;AAGtCjG,UAAAA,MAAM,EAAEA;AAH8B,SAAD,CAAzC;AAKAiG,QAAAA,GAAG,IAAI,QAAQA,GAAf,KAAuBA,GAAG,GAAG+M,WAAW,EAAxC;AACAhT,QAAAA,MAAM,GAAGA,MAAM,IAAI,GAAnB;AACA,YAAI4d,gBAAJ,EAAsB,MAAM3X,GAAG,IAAIjG,MAAP,GAAgB,IAAI5I,KAAJ,CAAU,yCAAyCzB,IAAzC,GAAgD,aAAhD,GAAgEqK,MAAM,CAAC/H,QAAP,EAAhE,GAAoF,OAApF,IAA+FgO,GAAG,KAAK+M,WAAW,EAAnB,GAAwB,UAAxB,GAAqC,WAApI,IAAmJ,SAA7J,CAAhB,GAA0L/M,GAAG,GAAG,IAAI7O,KAAJ,CAAU,yCAAyCzB,IAAzC,GAAgD,OAAhD,IAA2DsQ,GAAG,KAAK+M,WAAW,EAAnB,GAAwB,UAAxB,GAAqC,WAAhG,IAA+G,SAAzH,CAAH,GAAyIhT,MAAM,GAAG,IAAI5I,KAAJ,CAAU,yCAAyCzB,IAAzC,GAAgD,aAAhD,GAAgEqK,MAAM,CAAC/H,QAAP,EAA1E,CAAH,GAAkG,IAAIb,KAAJ,CAAU,yCAAyCzB,IAAnD,CAApb;AACtB,YAAIkmB,aAAa,GAAGH,gBAAgB,CAACtN,QAAjB,CAA0BnI,GAA1B,EAAgC,YAAW;AAC3D,iBAAO,EAAP;AACH,SAFmB,CAApB;AAGA,YAAI6V,eAAe,GAAGxK,aAAa,CAACuK,aAAD,EAAgBlmB,IAAhB,EAAuB,YAAW;AACjE,iBAAO,EAAP;AACH,SAFkC,CAAnC;AAGA,YAAIkoB,SAAS,GAAG7d,MAAM,CAAC/H,QAAP,EAAhB;AACA,YAAI6lB,cAAJ;AACA,YAAIC,aAAJ;AACA1M,QAAAA,YAAY,CAACrR,MAAD,CAAZ,GAAuB,CAAC8d,cAAc,GAAGxM,aAAa,CAACwK,eAAD,EAAkB,kBAAlB,EAAuC,YAAW;AACpG,iBAAO,EAAP;AACH,SAFqD,CAA/B,EAElBpjB,IAFkB,CAEbqlB,aAAa,GAAG;AACtBlJ,UAAAA,KAAK,EAAE7U,MADe;AAEtBmc,UAAAA,QAAQ,EAAEA;AAFY,SAFH,CAAvB,GAKKL,eAAe,CAAC+B,SAAD,CAAf,GAA6B1B,QALlC;AAMA,eAAO;AACHtP,UAAAA,MAAM,EAAE,kBAAW;AACf,mBAAOiP,eAAe,CAAC+B,SAAD,CAAtB;;AACA,gBAAIE,aAAJ,EAAmB;AACfD,cAAAA,cAAc,CAAChR,MAAf,CAAsBgR,cAAc,CAACjX,OAAf,CAAuBkX,aAAvB,EAAsC,CAAtC,CAAtB;AACAD,cAAAA,cAAc,CAAC7kB,MAAf,IAAyB,OAAO6iB,eAAe,CAACC,gBAAhD;AACH;;AACDjqB,YAAAA,MAAM,CAACgH,IAAP,CAAYgjB,eAAZ,EAA6B7iB,MAA7B,IAAuC,OAAO4iB,aAAa,CAAClmB,IAAD,CAA3D;AACAsQ,YAAAA,GAAG,IAAI,CAACnU,MAAM,CAACgH,IAAP,CAAY+iB,aAAZ,EAA2B5iB,MAAnC,IAA6CyiB,gBAAgB,CAAC5I,GAAjB,CAAqB7M,GAArB,CAA7C;AACH;AATE,SAAP;AAWH,OAhEqB,CAgEpB;AACEtQ,QAAAA,IAAI,EAAEA,IADR;AAEEsQ,QAAAA,GAAG,EAAEA,GAFP;AAGEjG,QAAAA,MAAM,EAAEA;AAHV,OAhEoB,EAoEnB;AACCmK,QAAAA,OAAO,EAAE0F,OAAO,CAAC1F,OADlB;AAECsS,QAAAA,WAAW,EAAE5M,OAAO,CAACmO,YAAR,IAAwB,UAAS7qB,GAAT,EAAc;AAC/C,gBAAMA,GAAN;AACH,SAJF;AAKCuJ,QAAAA,MAAM,EAAEuJ,GALT;AAMCjG,QAAAA,MAAM,EAAEA,MAAM,IAAI,GANnB;AAOCrK,QAAAA,IAAI,EAAEA;AAPP,OApEmB,CAAtB;;AA6EA,aAAO;AACHkX,QAAAA,MAAM,EAAE,kBAAW;AACfqQ,UAAAA,eAAe,CAACrQ,MAAhB;AACH;AAHE,OAAP;AAKH;;AACD,aAASpH,OAAT,CAAiB9P,IAAjB,EAAuBka,OAAvB,EAAgC1F,OAAhC,EAAyC;AACrC,UAAI,cAAc,QAAQ0F,OAAO,GAAGA,OAAO,IAAI,EAA7B,CAAlB,EAAoD;AAChD1F,QAAAA,OAAO,GAAG0F,OAAV;AACAA,QAAAA,OAAO,GAAG,EAAV;AACH;;AACD,UAAInN,OAAO,GAAG,IAAIqC,oBAAJ,EAAd;AACA,UAAIoX,QAAJ;;AACAtM,MAAAA,OAAO,CAACmO,YAAR,GAAuB,UAAS7qB,GAAT,EAAc;AACjCgpB,QAAAA,QAAQ,CAACtP,MAAT;AACAnK,QAAAA,OAAO,CAACrM,MAAR,CAAelD,GAAf;AACH,OAHD;;AAIAgpB,MAAAA,QAAQ,GAAG3W,KAAK,CAAC7P,IAAD,EAAOka,OAAP,EAAiB,UAASgN,KAAT,EAAgB;AAC7CV,QAAAA,QAAQ,CAACtP,MAAT;AACAnK,QAAAA,OAAO,CAACtM,OAAR,CAAgBymB,KAAhB;AACA,YAAI1S,OAAJ,EAAa,OAAOA,OAAO,CAAC0S,KAAD,CAAd;AAChB,OAJe,CAAhB;AAKAna,MAAAA,OAAO,CAACmK,MAAR,GAAiBsP,QAAQ,CAACtP,MAA1B;AACA,aAAOnK,OAAP;AACH;;AACD,QAAIgD,SAAS,GAAG,SAASoO,IAAT,CAAc7N,GAAd,EAAmBtQ,IAAnB,EAAyBse,IAAzB,EAA+BpE,OAA/B,EAAwC;AACpD,UAAIoO,aAAa,GAAG,CAACpO,OAAO,GAAGA,OAAO,IAAI,EAAtB,EAA0B7P,MAA1B,IAAoC,GAAxD;AACA,UAAIke,eAAe,GAAGrO,OAAO,CAAChE,OAAR,IAAmB,CAAC,CAA1C;AACA,UAAIsS,YAAY,GAAGtO,OAAO,CAAChE,OAAR,IAAmB,GAAtC;AACA,UAAI0O,aAAa,GAAG1K,OAAO,CAAC0K,aAAR,IAAyB,CAAC,CAA9C;AACA,aAAOxV,oBAAoB,OAApB,CAA0B,YAAW;AACxC,SAAC,UAASpP,IAAT,EAAesQ,GAAf,EAAoBjG,MAApB,EAA4B;AACzB,cAAI,CAACrK,IAAL,EAAW,MAAM,IAAIyB,KAAJ,CAAU,eAAV,CAAN;AACX,cAAI4I,MAAM,IAAI,YAAY,OAAOA,MAA7B,IAAuC,CAACxE,KAAK,CAACuN,OAAN,CAAc/I,MAAd,CAAxC,IAAiE,CAACqR,YAAY,CAACrR,MAAD,CAAlF,EAA4F,MAAM,IAAInI,SAAJ,CAAc,kBAAkBlC,IAAlB,GAAyB,oBAAzB,GAAgDsM,IAAI,CAAC3F,SAAL,CAAe0D,MAAf,CAAhD,GAAyE,kCAAvF,CAAN;AAC5F,cAAI6H,cAAc,CAAC5B,GAAD,CAAlB,EAAyB,MAAM,IAAI7O,KAAJ,CAAU,kBAAkBzB,IAAlB,GAAyB,2BAAnC,CAAN;AAC5B,SAJA,CAICA,IAJD,EAIOsQ,GAJP,EAIYgY,aAJZ,CAAD;AAKA,YAAI,UAAS5X,MAAT,EAAiBc,KAAjB,EAAwB;AACxB,cAAIiX,YAAY,GAAGzV,WAAW,CAACxB,KAAD,CAA9B;AACA,cAAIiX,YAAJ,EAAkB,OAAOA,YAAY,KAAK/X,MAAxB;AAClB,cAAIc,KAAK,KAAKd,MAAd,EAAsB,OAAO,CAAC,CAAR;AACtB,cAAI,UAASJ,GAAT,EAAc;AACd,iBAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;;AACA,gBAAI;AACA,kBAAIuJ,GAAG,CAACiC,GAAR,EAAa,OAAOjC,GAAG,CAACiC,GAAX;AAChB,aAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,gBAAIiT,SAAS,CAACH,GAAD,CAAT,KAAmBA,GAAvB,EAA4B,OAAOA,GAAP;;AAC5B,gBAAI;AACA,kBAAIiB,gBAAgB,CAACxK,MAAD,EAASuJ,GAAT,CAAhB,IAAiCvJ,MAAM,CAACwL,GAA5C,EAAiD,OAAOxL,MAAM,CAACwL,GAAd;AACpD,aAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,gBAAI;AACA,kBAAI+T,gBAAgB,CAACjB,GAAD,EAAMvJ,MAAN,CAAhB,IAAiCA,MAAM,CAACwL,GAA5C,EAAiD,OAAOxL,MAAM,CAACwL,GAAd;AACpD,aAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,iBAAK,IAAIkrB,GAAG,GAAG,CAAV,EAAaC,mBAAmB,GAAG,SAASC,iBAAT,CAA2BtY,GAA3B,EAAgC;AACpE,kBAAI1P,MAAM,GAAG,EAAb;;AACA,mBAAK,IAAIioB,GAAG,GAAG,CAAV,EAAaC,WAAW,GAAGpX,SAAS,CAACpB,GAAD,CAAzC,EAAgDuY,GAAG,GAAGC,WAAW,CAACxlB,MAAlE,EAA0EulB,GAAG,EAA7E,EAAiF;AAC7E,oBAAIhX,KAAK,GAAGiX,WAAW,CAACD,GAAD,CAAvB;AACAjoB,gBAAAA,MAAM,CAACmC,IAAP,CAAY8O,KAAZ;;AACA,qBAAK,IAAIkX,GAAG,GAAG,CAAV,EAAaC,mBAAmB,GAAGJ,iBAAiB,CAAC/W,KAAD,CAAzD,EAAkEkX,GAAG,GAAGC,mBAAmB,CAAC1lB,MAA5F,EAAoGylB,GAAG,EAAvG;AAA2GnoB,kBAAAA,MAAM,CAACmC,IAAP,CAAYimB,mBAAmB,CAACD,GAAD,CAA/B;AAA3G;AACH;;AACD,qBAAOnoB,MAAP;AACH,aARuC,CAQtC0P,GARsC,CAAxC,EAQQoY,GAAG,GAAGC,mBAAmB,CAACrlB,MARlC,EAQ0ColB,GAAG,EAR7C,EAQiD;AAC7C,kBAAI7W,KAAK,GAAG8W,mBAAmB,CAACD,GAAD,CAA/B;;AACA,kBAAI;AACA,oBAAI7W,KAAK,CAACU,GAAV,EAAe,OAAOV,KAAK,CAACU,GAAb;AAClB,eAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,kBAAIiT,SAAS,CAACoB,KAAD,CAAT,KAAqBA,KAAzB,EAAgC,OAAOA,KAAP;AACnC;AACJ,WA3BG,CA2BFL,KA3BE,MA2BSA,KA3Bb,EA2BoB,OAAO,CAAC,CAAR;;AACpB,eAAK,IAAIyX,IAAI,GAAG,CAAX,EAAcC,WAAW,GAAGxX,SAAS,CAAChB,MAAD,CAA1C,EAAoDuY,IAAI,GAAGC,WAAW,CAAC5lB,MAAvE,EAA+E2lB,IAAI,EAAnF;AAAuF,gBAAIC,WAAW,CAACD,IAAD,CAAX,KAAsBzX,KAA1B,EAAiC,OAAO,CAAC,CAAR;AAAxH;;AACA,iBAAO,CAAC,CAAR;AACH,SAlCG,CAkCFzK,MAlCE,EAkCMuJ,GAlCN,CAAJ,EAkCgB,OAAO,UAASA,GAAT,EAAc4F,OAAd,EAAuBlW,IAAvB,EAA6B;AAChD,eAAK,CAAL,KAAWkW,OAAX,KAAuBA,OAAO,GAAG,GAAjC;AACA,eAAK,CAAL,KAAWlW,IAAX,KAAoBA,IAAI,GAAG,QAA3B;;AACA,cAAI+M,OAAO,GAAG,UAASuD,GAAT,EAAc;AACxB,mBAAOkN,WAAW,CAAC,eAAD,CAAX,CAA6B/E,QAA7B,CAAsCnI,GAAtC,EAA4C,YAAW;AAC1D,qBAAO,IAAIlB,oBAAJ,EAAP;AACH,aAFM,CAAP;AAGH,WAJa,CAIZkB,GAJY,CAAd;;AAKA,WAAC,CAAD,KAAO4F,OAAP,KAAmBnJ,OAAO,GAAGA,OAAO,CAACmJ,OAAR,CAAgBA,OAAhB,EAAyB,IAAIzU,KAAJ,CAAUzB,IAAI,GAAG,sBAAP,GAAgCkW,OAAhC,GAA0C,IAApD,CAAzB,CAA7B;AACA,iBAAOnJ,OAAP;AACH,SAVsB,CAUrBuD,GAVqB,EAUhBkY,YAVgB,CAAP;AAWnB,OAnDM,EAmDH3nB,IAnDG,CAmDG,UAASsoB,KAAT,EAAgB;AACtB,eAAO,UAAS7Y,GAAT,EAAc8Y,YAAd,EAA4BC,YAA5B,EAA0CxL,IAA1C,EAAgD;AACnD,cAAIM,IAAI,GAAGN,IAAI,CAACM,IAAhB;AACA,iBAAO/O,oBAAoB,OAApB,CAA0B,YAAW;AACxC,mBAAO,YAAY,OAAOga,YAAnB,GAAkCA,YAAlC,GAAiDha,oBAAoB,OAApB,CAA0B,YAAW;AACzF,qBAAOia,YAAY,IAAIpL,QAAQ,CAAC3N,GAAD,EAAM;AACjC6N,gBAAAA,IAAI,EAAEA;AAD2B,eAAN,CAAR,CAEpBtd,IAFoB,CAEd,UAAS+e,KAAT,EAAgB;AACrB,uBAAOA,KAAK,CAACvV,MAAb;AACH,eAJsB,CAAvB;AAKH,aANuD,EAMpDxJ,IANoD,CAM9C,UAASyoB,gBAAT,EAA2B;AACjC,kBAAI,CAACrW,WAAW,CAACmW,YAAD,EAAeA,YAAf,CAAhB,EAA8C,MAAM,IAAI3nB,KAAJ,CAAU,YAAYkF,SAAS,CAACyiB,YAAD,CAArB,GAAsC,kBAAtC,GAA2DziB,SAAS,CAACyiB,YAAD,CAA9E,CAAN;AAC9C,qBAAOE,gBAAP;AACH,aATuD,CAAxD;AAUH,WAXM,CAAP;AAYH,SAdM,CAcLhZ,GAdK,EAcAgY,aAdA,EAce,CAAC,KAAK,CAAL,KAAWa,KAAX,GAAmB,EAAnB,GAAwBA,KAAzB,EAAgC9e,MAd/C,EAcuD;AAC1D8T,UAAAA,IAAI,EAAEA;AADoD,SAdvD,CAAP;AAiBH,OArEM,EAqEHtd,IArEG,CAqEG,UAASuoB,YAAT,EAAuB;AAC7B,YAAI/e,MAAM,GAAG+e,YAAb;AACA,YAAI1C,OAAO,GAAG,uBAAuB1mB,IAAvB,IAA+Bse,IAA/B,IAAuC,YAAY,OAAOA,IAAI,CAACte,IAA/D,GAAsEse,IAAI,CAACte,IAAL,GAAY,IAAlF,GAAyFA,IAAvG;AACA,YAAI+M,OAAO,GAAG,IAAIqC,oBAAJ,EAAd;AACA,YAAIwH,IAAI,GAAG5W,IAAI,GAAG,GAAP,GAAa6Y,QAAQ,EAAhC;;AACA,YAAI,CAAC+L,aAAL,EAAoB;AAChB,cAAI2E,gBAAgB,GAAG;AACnBvpB,YAAAA,IAAI,EAAEA,IADa;AAEnBsQ,YAAAA,GAAG,EAAEA,GAFc;AAGnBjG,YAAAA,MAAM,EAAEA,MAHW;AAInB0C,YAAAA,OAAO,EAAEA;AAJU,WAAvB;AAMA,WAAC,UAAS6J,IAAT,EAAe4P,QAAf,EAAyB;AACtBzJ,YAAAA,WAAW,CAAC,mBAAD,CAAX,CAAiCzV,GAAjC,CAAqCsP,IAArC,EAA2C4P,QAA3C;AACH,WAFA,CAEC5P,IAFD,EAEO2S,gBAFP,CAAD;AAGA,cAAIC,WAAW,GAAGhM,WAAW,CAAC,iBAAD,CAAX,CAA+B/E,QAA/B,CAAwCnI,GAAxC,EAA8C,YAAW;AACvE,mBAAO,EAAP;AACH,WAFiB,CAAlB;AAGAkZ,UAAAA,WAAW,CAACzmB,IAAZ,CAAiBgK,OAAjB;AACAA,UAAAA,OAAO,SAAP,CAAe,YAAW;AACtB,aAAC,UAAS6J,IAAT,EAAe;AACZmG,cAAAA,WAAW,CAAC,0BAAD,CAAX,CAAwCzV,GAAxC,CAA4CsP,IAA5C,EAAkD,CAAC,CAAnD;AACH,aAFA,CAECA,IAFD,CAAD;AAGAgP,YAAAA,sBAAsB,CAAChP,IAAD,CAAtB;AACH,WALD;AAMA,cAAI6S,eAAe,GAAG,UAASnZ,GAAT,EAAc;AAChC,mBAAOkN,WAAW,CAAC,cAAD,CAAX,CAA4BpW,GAA5B,CAAgCkJ,GAAhC,EAAqC,CAAC,CAAtC,CAAP;AACH,WAFqB,CAEpBA,GAFoB,IAEb,GAFa,GAEP,GAFf;AAGA,cAAIoZ,eAAe,GAAGnB,eAAtB;AACA,cAAIoB,UAAU,GAAGF,eAAjB;AACA,cAAIG,UAAU,GAAGF,eAAjB;;AACA,cAAI3N,QAAQ,GAAG,UAASnc,MAAT,EAAiBuW,IAAjB,EAAuB;AAClC,gBAAID,OAAJ;AACA,aAAC,SAAS2T,IAAT,GAAgB;AACb3T,cAAAA,OAAO,GAAGX,UAAU,CAAE,YAAW;AAC7B,iBAAC,YAAW;AACR,sBAAIrD,cAAc,CAAC5B,GAAD,CAAlB,EAAyB,OAAOvD,OAAO,CAACrM,MAAR,CAAe,IAAIe,KAAJ,CAAU,uBAAuBzB,IAAvB,GAA8B,UAA9B,IAA4CupB,gBAAgB,CAAC3C,GAAjB,GAAuB,UAAvB,GAAoC,KAAhF,CAAV,CAAf,CAAP;AACzB,sBAAI2C,gBAAgB,CAACO,SAArB,EAAgC,OAAO/c,OAAO,CAACrM,MAAR,CAAe,IAAIe,KAAJ,CAAU,yCAAyCzB,IAAnD,CAAf,CAAP;AAChC2pB,kBAAAA,UAAU,GAAG5R,IAAI,CAACgS,GAAL,CAASJ,UAAU,GAAG,GAAtB,EAA2B,CAA3B,CAAb;AACA,mBAAC,CAAD,KAAOC,UAAP,KAAsBA,UAAU,GAAG7R,IAAI,CAACgS,GAAL,CAASH,UAAU,GAAG,GAAtB,EAA2B,CAA3B,CAAnC;AACAL,kBAAAA,gBAAgB,CAAC3C,GAAjB,IAAwB,MAAM+C,UAA9B,GAA2C,MAAMC,UAAN,IAAoB7c,OAAO,CAACrM,MAAR,CAAe,IAAIe,KAAJ,CAAU,iCAAiCilB,OAAjC,GAA2C,MAA3C,GAAoD1V,SAAS,EAA7D,GAAkE,MAAlE,GAA2E0Y,eAA3E,GAA6F,IAAvG,CAAf,CAA/D,GAA8L3c,OAAO,CAACrM,MAAR,CAAe,IAAIe,KAAJ,CAAU,4BAA4BilB,OAA5B,GAAsC,MAAtC,GAA+C1V,SAAS,EAAxD,GAA6D,MAA7D,GAAsEyY,eAAtE,GAAwF,IAAlG,CAAf,CAA9L;AACH,iBANA,EAAD;AAOAI,gBAAAA,IAAI;AACP,eATmB,EAShB,GATgB,CAApB;AAUH,aAXA,EAAD;AAYA,mBAAO;AACH3S,cAAAA,MAAM,EAAE,kBAAW;AACfb,gBAAAA,YAAY,CAACH,OAAD,CAAZ;AACH;AAHE,aAAP;AAKH,WAnBc,EAAf;;AAoBAnJ,UAAAA,OAAO,WAAP,CAAiB,YAAW;AACxBgP,YAAAA,QAAQ,CAAC7E,MAAT;AACAsS,YAAAA,WAAW,CAACrS,MAAZ,CAAmBqS,WAAW,CAACtY,OAAZ,CAAoBnE,OAApB,EAA6B,CAA7B,CAAnB;AACH,WAHD,WAGUuO,aAHV;AAIH;;AACD,eAAO8J,gBAAgB,CAAC9U,GAAD,EAAMjG,MAAN,EAAc;AACjC8V,UAAAA,EAAE,EAAEtH,QAAQ,EADqB;AAEjC1F,UAAAA,MAAM,EAAEnC,SAAS,CAACjK,MAAD,CAFgB;AAGjCtI,UAAAA,IAAI,EAAE,2BAH2B;AAIjCmY,UAAAA,IAAI,EAAEA,IAJ2B;AAKjC5W,UAAAA,IAAI,EAAEA,IAL2B;AAMjCse,UAAAA,IAAI,EAAEA,IAN2B;AAOjCsG,UAAAA,aAAa,EAAEA;AAPkB,SAAd,EAQpB;AACCrB,UAAAA,EAAE,EAAE1T,KADL;AAECsO,UAAAA,IAAI,EAAEA;AAFP,SARoB,CAAhB,CAWJtd,IAXI,CAWE,YAAW;AAChB,iBAAO+jB,aAAa,GAAG7X,OAAO,CAACtM,OAAR,EAAH,GAAuBsM,OAA3C;AACH,SAbM,EAaF,UAASvP,GAAT,EAAc;AACf,gBAAM,IAAIiE,KAAJ,CAAU,qCAAqCilB,OAArC,GAA+C,MAA/C,GAAwD1V,SAAS,EAAjE,GAAsE,MAAtE,GAA+EuK,cAAc,CAAC/d,GAAD,CAAvG,CAAN;AACH,SAfM,CAAP;AAgBH,OA7IM,CAAP;AA8IH,KAnJD;;AAoJA,aAASiS,sBAAT,CAAgC6T,WAAhC,EAA6CjZ,MAA7C,EAAqDpN,GAArD,EAA0D;AACtD,aAAO0mB,gBAAgB,CAACL,WAAD,EAAcjZ,MAAd,EAAsBpN,GAAtB,EAA2B;AAC9CsmB,QAAAA,EAAE,EAAE1T,KAD0C;AAE9CsO,QAAAA,IAAI,EAAEpO;AAFwC,OAA3B,CAAvB;AAIH;;AACD,aAASL,wBAAT,CAAkCyP,MAAlC,EAA0ChM,MAA1C,EAAkDd,OAAlD,EAA2D;AACvD,aAAO0R,kBAAkB,CAAC5E,MAAD,EAAShM,MAAT,EAAiBd,OAAjB,EAA0B;AAC/CkR,QAAAA,EAAE,EAAE1T,KAD2C;AAE/CsO,QAAAA,IAAI,EAAEpO;AAFyC,OAA1B,CAAzB;AAIH;;AACD,aAASJ,iBAAT,CAA2BW,GAA3B,EAAgC;AAC5B,aAAO,IAAIhB,kBAAJ,CAAuB;AAC1B6O,QAAAA,IAAI,EAAEpO,SADoB;AAE1BO,QAAAA,GAAG,EAAEA;AAFqB,OAAvB,CAAP;AAIH;;AACD,aAASV,mBAAT,CAA6BU,GAA7B,EAAkC;AAC9B,aAAOhB,kBAAkB,CAACuT,aAAnB,CAAiCvS,GAAjC,EAAsC;AACzC6N,QAAAA,IAAI,EAAEpO;AADmC,OAAtC,CAAP;AAGH;;AACD,aAASR,KAAT,GAAiB;AACb,UAAI,CAACqN,gBAAgB,GAAGoN,WAAxB,EAAqC;AACjCpN,QAAAA,gBAAgB,GAAGoN,WAAnB,GAAiC,CAAC,CAAlC;AACAzG,QAAAA,EAAE,GAAG,CAACrB,KAAK,GAAG;AACVqB,UAAAA,EAAE,EAAE1T,KADM;AAEVsO,UAAAA,IAAI,EAAEpO;AAFI,SAAT,EAGFwT,EAHH,EAGOpF,IAAI,GAAG+D,KAAK,CAAC/D,IAHpB,EAG0B,CAACb,MAAM,GAAGV,gBAAgB,EAA1B,EAA8BqN,cAA9B,GAA+C3M,MAAM,CAAC2M,cAAP,IAAyB,UAAS5X,OAAT,EAAkB;AAChH,iBAAO4U,sBAAsB,CAAC5U,OAAD,EAAU;AACnCkR,YAAAA,EAAE,EAAEA,EAD+B;AAEnCpF,YAAAA,IAAI,EAAEA;AAF6B,WAAV,CAA7B;AAIH,SARD;AASA,SAAC,UAASE,KAAT,EAAgB;AACb,cAAIkF,EAAE,GAAGlF,KAAK,CAACkF,EAAf;AAAA,cAAmBpF,IAAI,GAAGE,KAAK,CAACF,IAAhC;AACApB,UAAAA,WAAW,GAAGtE,QAAd,CAAuB,qBAAvB,EAA+C,YAAW;AACtD,mBAAO,UAASxb,GAAT,EAAciqB,KAAd,EAAqB1S,OAArB,EAA8B;AACjCvX,cAAAA,GAAG,CAACitB,gBAAJ,CAAqB,SAArB,EAAgC1V,OAAhC;AACA,qBAAO;AACH0C,gBAAAA,MAAM,EAAE,kBAAW;AACfja,kBAAAA,GAAG,CAACktB,mBAAJ,CAAwB,SAAxB,EAAmC3V,OAAnC;AACH;AAHE,eAAP;AAKH,aAPM,CAOLzN,MAPK,EAOG,CAPH,EAOO,UAASmgB,KAAT,EAAgB;AAC1B,eAAC,UAASA,KAAT,EAAgBhJ,KAAhB,EAAuB;AACpB,oBAAIqF,EAAE,GAAGrF,KAAK,CAACqF,EAAf;AAAA,oBAAmBpF,IAAI,GAAGD,KAAK,CAACC,IAAhC;AACA/O,gBAAAA,oBAAoB,OAApB,CAA0B,YAAW;AACjC,sBAAI+P,MAAM,GAAG+H,KAAK,CAAC/H,MAAN,IAAgB+H,KAAK,CAACkD,aAAnC;AACA,sBAAIjX,MAAM,GAAG+T,KAAK,CAAC/T,MAAN,IAAgB+T,KAAK,CAACmD,aAAN,IAAuBnD,KAAK,CAACmD,aAAN,CAAoBlX,MAAxE;AACA,sBAAImL,IAAI,GAAG4I,KAAK,CAAC5I,IAAjB;AACA,6BAAWnL,MAAX,KAAsBA,MAAM,GAAG,SAA/B;;AACA,sBAAIgM,MAAJ,EAAY;AACR,wBAAI,CAAChM,MAAL,EAAa,MAAM,IAAI1R,KAAJ,CAAU,yCAAV,CAAN;AACbwlB,oBAAAA,sBAAsB,CAAC;AACnB9H,sBAAAA,MAAM,EAAEA,MADW;AAEnBhM,sBAAAA,MAAM,EAAEA,MAFW;AAGnBmL,sBAAAA,IAAI,EAAEA;AAHa,qBAAD,EAInB;AACCiF,sBAAAA,EAAE,EAAEA,EADL;AAECpF,sBAAAA,IAAI,EAAEA;AAFP,qBAJmB,CAAtB;AAQH;AACJ,iBAhBD;AAiBH,eAnBA,CAmBC+I,KAnBD,EAmBQ;AACL3D,gBAAAA,EAAE,EAAEA,EADC;AAELpF,gBAAAA,IAAI,EAAEA;AAFD,eAnBR,CAAD;AAuBH,aA/BM,CAAP;AAgCH,WAjCD;AAkCH,SApCA,CAoCC;AACEoF,UAAAA,EAAE,EAAE1T,KADN;AAEEsO,UAAAA,IAAI,EAAEpO;AAFR,SApCD,CAAD;AAwCA,SAAC,UAASgT,KAAT,EAAgB;AACb,cAAIQ,EAAE,GAAGR,KAAK,CAACQ,EAAf;AAAA,cAAmBpF,IAAI,GAAG4E,KAAK,CAAC5E,IAAhC;AACApB,UAAAA,WAAW,CAAC,kBAAD,CAAX,CAAgCtE,QAAhC,CAAyC,eAAzC,EAA2D,YAAW;AAClE,gBAAI+N,QAAQ,GAAGjD,EAAE,CAAC,iBAAD,EAAoB;AACjClZ,cAAAA,MAAM,EAAE;AADyB,aAApB,EAEb,UAAS6X,KAAT,EAAgB;AAChBtE,cAAAA,mBAAmB,CAACsE,KAAK,CAAC/C,MAAP,EAAe;AAC9B9U,gBAAAA,MAAM,EAAE6X,KAAK,CAAC/O;AADgB,eAAf,CAAnB;AAGA,qBAAO;AACHiL,gBAAAA,UAAU,EAAET,aAAa;AADtB,eAAP;AAGH,aATgB,CAAjB;AAUA,gBAAIjN,MAAM,GAAGsC,WAAW,EAAxB;AACAtC,YAAAA,MAAM,IAAIuN,QAAQ,CAACvN,MAAD,EAAS;AACvByN,cAAAA,IAAI,EAAEA;AADiB,aAAT,CAAR,UAEA,UAAS3gB,GAAT,EAAc,EAFd,CAAV;AAGA,mBAAOgpB,QAAP;AACH,WAhBD;AAiBH,SAnBA,CAmBC;AACEjD,UAAAA,EAAE,EAAE1T,KADN;AAEEsO,UAAAA,IAAI,EAAEpO;AAFR,SAnBD,CAAD;AAuBH;;AACD,UAAImS,KAAJ,EAAWqB,EAAX,EAAepF,IAAf,EAAqBb,MAArB;AACH;;AACD,aAAS9N,OAAT,GAAmB;AACf,OAAC,YAAW;AACR,YAAI8a,iBAAiB,GAAGvN,WAAW,CAAC,mBAAD,CAAnC;;AACA,aAAK,IAAIkD,GAAG,GAAG,CAAV,EAAasK,sBAAsB,GAAGD,iBAAiB,CAACnnB,IAAlB,EAA3C,EAAqE8c,GAAG,GAAGsK,sBAAsB,CAACjnB,MAAlG,EAA0G2c,GAAG,EAA7G,EAAiH;AAC7G,cAAIrJ,IAAI,GAAG2T,sBAAsB,CAACtK,GAAD,CAAjC;AACA,cAAIuG,QAAQ,GAAG8D,iBAAiB,CAACljB,GAAlB,CAAsBwP,IAAtB,CAAf;AACA4P,UAAAA,QAAQ,KAAKA,QAAQ,CAACsD,SAAT,GAAqB,CAAC,CAA3B,CAAR;AACAQ,UAAAA,iBAAiB,CAACnN,GAAlB,CAAsBvG,IAAtB;AACH;AACJ,OARA,EAAD;AASA,OAAC4P,QAAQ,GAAGzJ,WAAW,GAAG3V,GAAd,CAAkB,qBAAlB,CAAZ,KAAyDof,QAAQ,CAACtP,MAAT,EAAzD;AACA,UAAIsP,QAAJ;AACA,aAAOzf,MAAM,CAACwe,sBAAd;AACH;;AACD,QAAIlW,iBAAiB,GAAG,CAAC,CAAzB;;AACA,aAASY,aAAT,CAAuBK,GAAvB,EAA4B;AACxB,WAAK,IAAI2P,GAAG,GAAG,CAAV,EAAauK,qBAAqB,GAAGhN,WAAW,CAAC,iBAAD,CAAX,CAA+BpW,GAA/B,CAAmCkJ,GAAnC,EAAwC,EAAxC,CAA1C,EAAuF2P,GAAG,GAAGuK,qBAAqB,CAAClnB,MAAnH,EAA2H2c,GAAG,EAA9H;AAAkIuK,QAAAA,qBAAqB,CAACvK,GAAD,CAArB,CAA2Bvf,MAA3B,CAAkC,IAAIe,KAAJ,CAAU,aAAayQ,cAAc,CAAC5B,GAAD,CAAd,GAAsB,QAAtB,GAAiC,YAA9C,IAA8D,kBAAxE,CAAlC,WAAqIgL,aAArI;AAAlI;AACH;;AACD/L,IAAAA,KAAK;AACR,GA1mEC,CA1DK,CAAP;AAqqEH,CAxqEA,CAAD;;;;;;;;;;;;;;ACAA;AAEA;AACAxK,cAAA,gBAAiB0lB,UAAjB;AAEA;;AACA1lB,MAAM,CAAC9I,OAAP,cAAyB8I,MAAM,CAAC9I,OAAhC;;;;ACNA,CAAC,UAAS6R,IAAT,EAAeC,OAAf,EAAwB;AACrB,GAA0DhJ,cAAA,gBAAiBgJ,OAAO,EAAlF,CAAA;AACH,CAFA,CAEC,eAAe,OAAOnQ,IAAtB,GAA6BA,IAA7B,GAAoCoQ,cAFrC,EAE4C,YAAW;AACpD,SAAO,UAASC,OAAT,EAAkB;AACrB,QAAIC,gBAAgB,GAAG,EAAvB;;AACA,aAASC,mBAAT,CAA6BC,QAA7B,EAAuC;AACnC,UAAIF,gBAAgB,CAACE,QAAD,CAApB,EAAgC,OAAOF,gBAAgB,CAACE,QAAD,CAAhB,CAA2BnS,OAAlC;AAChC,UAAI8I,MAAM,GAAGmJ,gBAAgB,CAACE,QAAD,CAAhB,GAA6B;AACtCzK,QAAAA,CAAC,EAAEyK,QADmC;AAEtCC,QAAAA,CAAC,EAAE,CAAC,CAFkC;AAGtCpS,QAAAA,OAAO,EAAE;AAH6B,OAA1C;AAKAgS,MAAAA,OAAO,CAACG,QAAD,CAAP,CAAkB1P,IAAlB,CAAuBqG,MAAM,CAAC9I,OAA9B,EAAuC8I,MAAvC,EAA+CA,MAAM,CAAC9I,OAAtD,EAA+DkS,mBAA/D;AACApJ,MAAAA,MAAM,CAACsJ,CAAP,GAAW,CAAC,CAAZ;AACA,aAAOtJ,MAAM,CAAC9I,OAAd;AACH;;AACDkS,IAAAA,mBAAmB,CAACG,CAApB,GAAwBL,OAAxB;AACAE,IAAAA,mBAAmB,CAACI,CAApB,GAAwBL,gBAAxB;;AACAC,IAAAA,mBAAmB,CAACK,CAApB,GAAwB,UAASvS,OAAT,EAAkB+D,IAAlB,EAAwByO,MAAxB,EAAgC;AACpDN,MAAAA,mBAAmB,CAACO,CAApB,CAAsBzS,OAAtB,EAA+B+D,IAA/B,KAAwC7D,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+B+D,IAA/B,EAAqC;AACzE3C,QAAAA,UAAU,EAAE,CAAC,CAD4D;AAEzE+J,QAAAA,GAAG,EAAEqH;AAFoE,OAArC,CAAxC;AAIH,KALD;;AAMAN,IAAAA,mBAAmB,CAACQ,CAApB,GAAwB,UAAS1S,OAAT,EAAkB;AACtC,qBAAe,OAAOQ,MAAtB,IAAgCA,MAAM,CAACM,WAAvC,IAAsDZ,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+BQ,MAAM,CAACM,WAAtC,EAAmD;AACrGI,QAAAA,KAAK,EAAE;AAD8F,OAAnD,CAAtD;AAGAhB,MAAAA,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+B,YAA/B,EAA6C;AACzCkB,QAAAA,KAAK,EAAE,CAAC;AADiC,OAA7C;AAGH,KAPD;;AAQAgR,IAAAA,mBAAmB,CAACS,CAApB,GAAwB,UAASzR,KAAT,EAAgB0R,IAAhB,EAAsB;AAC1C,UAAIA,IAAJ,KAAa1R,KAAK,GAAGgR,mBAAmB,CAAChR,KAAD,CAAxC;AACA,UAAI,IAAI0R,IAAR,EAAc,OAAO1R,KAAP;AACd,UAAI,IAAI0R,IAAJ,IAAY,YAAY,OAAO1R,KAA/B,IAAwCA,KAAxC,IAAiDA,KAAK,CAAC2R,UAA3D,EAAuE,OAAO3R,KAAP;AACvE,UAAI4R,EAAE,GAAG5S,MAAM,CAAC8B,MAAP,CAAc,IAAd,CAAT;;AACAkQ,MAAAA,mBAAmB,CAACQ,CAApB,CAAsBI,EAAtB;;AACA5S,MAAAA,MAAM,CAACiB,cAAP,CAAsB2R,EAAtB,EAA0B,SAA1B,EAAqC;AACjC1R,QAAAA,UAAU,EAAE,CAAC,CADoB;AAEjCF,QAAAA,KAAK,EAAEA;AAF0B,OAArC;AAIA,UAAI,IAAI0R,IAAJ,IAAY,YAAY,OAAO1R,KAAnC,EAA0C,KAAK,IAAID,GAAT,IAAgBC,KAAhB;AAAuBgR,QAAAA,mBAAmB,CAACK,CAApB,CAAsBO,EAAtB,EAA0B7R,GAA1B,EAA+B,UAASA,GAAT,EAAc;AAC1G,iBAAOC,KAAK,CAACD,GAAD,CAAZ;AACH,SAF+F,CAE9F8R,IAF8F,CAEzF,IAFyF,EAEnF9R,GAFmF,CAA/B;AAAvB;AAG1C,aAAO6R,EAAP;AACH,KAdD;;AAeAZ,IAAAA,mBAAmB,CAACc,CAApB,GAAwB,UAASlK,MAAT,EAAiB;AACrC,UAAI0J,MAAM,GAAG1J,MAAM,IAAIA,MAAM,CAAC+J,UAAjB,GAA8B,YAAW;AAClD,eAAO/J,MAAM,WAAb;AACH,OAFY,GAET,YAAW;AACX,eAAOA,MAAP;AACH,OAJD;;AAKAoJ,MAAAA,mBAAmB,CAACK,CAApB,CAAsBC,MAAtB,EAA8B,GAA9B,EAAmCA,MAAnC;;AACA,aAAOA,MAAP;AACH,KARD;;AASAN,IAAAA,mBAAmB,CAACO,CAApB,GAAwB,UAAStL,MAAT,EAAiB8L,QAAjB,EAA2B;AAC/C,aAAO,GAAG5S,cAAH,CAAkBoC,IAAlB,CAAuB0E,MAAvB,EAA+B8L,QAA/B,CAAP;AACH,KAFD;;AAGAf,IAAAA,mBAAmB,CAAC5E,CAApB,GAAwB,EAAxB;AACA,WAAO4E,mBAAmB,CAACA,mBAAmB,CAACjI,CAApB,GAAwB,CAAzB,CAA1B;AACH,GA1DM,CA0DL,CAAE,UAASnB,MAAT,EAAiBoK,mBAAjB,EAAsChB,mBAAtC,EAA2D;AAC3D;AACAA,IAAAA,mBAAmB,CAACQ,CAApB,CAAsBQ,mBAAtB;;AACAhB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOub,kBAAP;AACH,KAFD;;AAGAvc,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAOwb,gBAAP;AACH,KAFD;;AAGAxc,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAOyb,iBAAP;AACH,KAFD;;AAGAzc,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,mBAA3C,EAAiE,YAAW;AACxE,aAAO0b,iBAAP;AACH,KAFD;;AAGA1c,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAO2b,UAAP;AACH,KAFD;;AAGA3c,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO4b,SAAP;AACH,KAFD;;AAGA5c,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,oBAA3C,EAAkE,YAAW;AACzE,aAAO6b,kBAAP;AACH,KAFD;;AAGA7c,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAO8b,OAAP;AACH,KAFD;;AAGA9c,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAO+b,KAAP;AACH,KAFD;;AAGA,aAASC,eAAT,CAAyBzc,CAAzB,EAA4BnF,CAA5B,EAA+B;AAC3B,aAAO,CAAC4hB,eAAe,GAAGhvB,MAAM,CAAC+D,cAAP,IAAyB,UAASwO,CAAT,EAAYnF,CAAZ,EAAe;AAC9DmF,QAAAA,CAAC,CAACvO,SAAF,GAAcoJ,CAAd;AACA,eAAOmF,CAAP;AACH,OAHM,EAGJA,CAHI,EAGDnF,CAHC,CAAP;AAIH;;AACD,aAAS6hB,cAAT,CAAwBC,QAAxB,EAAkCC,UAAlC,EAA8C;AAC1CD,MAAAA,QAAQ,CAACjvB,SAAT,GAAqBD,MAAM,CAAC8B,MAAP,CAAcqtB,UAAU,CAAClvB,SAAzB,CAArB;AACAivB,MAAAA,QAAQ,CAACjvB,SAAT,CAAmBoD,WAAnB,GAAiC6rB,QAAjC;;AACAF,MAAAA,eAAe,CAACE,QAAD,EAAWC,UAAX,CAAf;AACH;;AACD,aAASC,QAAT,GAAoB;AAChB,aAAO,CAACA,QAAQ,GAAGpvB,MAAM,CAACqvB,MAAP,IAAiB,UAASC,MAAT,EAAiB;AACjD,aAAK,IAAI9nB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgX,SAAS,CAACrX,MAA9B,EAAsCK,CAAC,EAAvC,EAA2C;AACvC,cAAIwb,MAAM,GAAGxE,SAAS,CAAChX,CAAD,CAAtB;;AACA,eAAK,IAAIzG,GAAT,IAAgBiiB,MAAhB;AAAwB,aAAC,EAAD,EAAK7iB,cAAL,CAAoBoC,IAApB,CAAyBygB,MAAzB,EAAiCjiB,GAAjC,MAA0CuuB,MAAM,CAACvuB,GAAD,CAAN,GAAciiB,MAAM,CAACjiB,GAAD,CAA9D;AAAxB;AACH;;AACD,eAAOuuB,MAAP;AACH,OANM,EAMJpU,KANI,CAME,IANF,EAMQsD,SANR,CAAP;AAOH;;AACD,aAAS7G,eAAT,CAAyB3D,IAAzB,EAA+B;AAC3B,UAAI;AACA,YAAI,CAACA,IAAL,EAAW,OAAO,CAAC,CAAR;AACX,YAAI,eAAe,OAAO/O,OAAtB,IAAiC+O,IAAI,YAAY/O,OAArD,EAA8D,OAAO,CAAC,CAAR;AAC9D,YAAI,eAAe,OAAO2F,MAAtB,IAAgC,cAAc,OAAOA,MAAM,CAAC2M,MAA5D,IAAsEvD,IAAI,YAAYpJ,MAAM,CAAC2M,MAAjG,EAAyG,OAAO,CAAC,CAAR;AACzG,YAAI,eAAe,OAAO3M,MAAtB,IAAgC,cAAc,OAAOA,MAAM,CAACvH,WAA5D,IAA2E2Q,IAAI,YAAYpJ,MAAM,CAACvH,WAAtG,EAAmH,OAAO,CAAC,CAAR;AACnH,YAAIuU,SAAS,GAAG,GAAGzR,QAAnB;;AACA,YAAIyR,SAAJ,EAAe;AACX,cAAI/T,IAAI,GAAG+T,SAAS,CAACrV,IAAV,CAAeyR,IAAf,CAAX;;AACA,cAAI,sBAAsBnQ,IAAtB,IAA8B,sBAAsBA,IAApD,IAA4D,yBAAyBA,IAAzF,EAA+F,OAAO,CAAC,CAAR;AAClG;;AACD,YAAI,cAAc,OAAOmQ,IAAI,CAACtP,IAA9B,EAAoC,OAAO,CAAC,CAAR;AACvC,OAXD,CAWE,OAAOrD,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,QAAIwW,gBAAgB,GAAG,EAAvB;AACA,QAAIC,gCAAgC,GAAG,EAAvC;AACA,QAAIC,WAAW,GAAG,CAAlB;AACA,QAAIC,YAAJ;;AACA,aAASC,WAAT,GAAuB;AACnB,UAAI,CAACF,WAAD,IAAgBC,YAApB,EAAkC;AAC9B,YAAIpH,OAAO,GAAGoH,YAAd;AACAA,QAAAA,YAAY,GAAG,IAAf;AACApH,QAAAA,OAAO,CAACtM,OAAR;AACH;AACJ;;AACD,aAAS4T,WAAT,GAAuB;AACnBH,MAAAA,WAAW,IAAI,CAAf;AACH;;AACD,aAASI,SAAT,GAAqB;AACjBJ,MAAAA,WAAW,IAAI,CAAf;AACAE,MAAAA,WAAW;AACd;;AACD,QAAIhF,oBAAoB,GAAG,YAAW;AAClC,eAASmF,YAAT,CAAsBC,OAAtB,EAA+B;AAC3B,YAAIC,KAAK,GAAG,IAAZ;;AACA,aAAKC,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,YAAL,GAAoB,KAAK,CAAzB;AACA,aAAKzX,KAAL,GAAa,KAAK,CAAlB;AACA,aAAK4D,KAAL,GAAa,KAAK,CAAlB;AACA,aAAK8T,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,WAAL,GAAmB,KAAK,CAAxB;AACA,aAAKC,KAAL,GAAa,KAAK,CAAlB;AACA,aAAKL,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKC,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKC,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKC,QAAL,GAAgB,EAAhB;;AACA,YAAIL,OAAJ,EAAa;AACT,cAAIQ,OAAJ;;AACA,cAAIC,MAAJ;;AACA,cAAIP,QAAQ,GAAG,CAAC,CAAhB;AACA,cAAIC,QAAQ,GAAG,CAAC,CAAhB;AACA,cAAIO,OAAO,GAAG,CAAC,CAAf;AACAb,UAAAA,WAAW;;AACX,cAAI;AACAG,YAAAA,OAAO,CAAE,UAASjI,GAAT,EAAc;AACnB,kBAAI2I,OAAJ,EAAaT,KAAK,CAAChU,OAAN,CAAc8L,GAAd,EAAb,KAAsC;AAClCmI,gBAAAA,QAAQ,GAAG,CAAC,CAAZ;AACAM,gBAAAA,OAAO,GAAGzI,GAAV;AACH;AACJ,aALM,EAKF,UAAS/O,GAAT,EAAc;AACf,kBAAI0X,OAAJ,EAAaT,KAAK,CAAC/T,MAAN,CAAalD,GAAb,EAAb,KAAqC;AACjCmX,gBAAAA,QAAQ,GAAG,CAAC,CAAZ;AACAM,gBAAAA,MAAM,GAAGzX,GAAT;AACH;AACJ,aAVM,CAAP;AAWH,WAZD,CAYE,OAAOA,GAAP,EAAY;AACV8W,YAAAA,SAAS;AACT,iBAAK5T,MAAL,CAAYlD,GAAZ;AACA;AACH;;AACD8W,UAAAA,SAAS;AACTY,UAAAA,OAAO,GAAG,CAAC,CAAX;AACAR,UAAAA,QAAQ,GAAG,KAAKjU,OAAL,CAAauU,OAAb,CAAH,GAA2BL,QAAQ,IAAI,KAAKjU,MAAL,CAAYuU,MAAZ,CAA/C;AACH;AACJ;;AACD,UAAIE,MAAM,GAAGZ,YAAY,CAACnY,SAA1B;;AACA+Y,MAAAA,MAAM,CAAC1U,OAAP,GAAiB,UAASG,MAAT,EAAiB;AAC9B,YAAI,KAAK8T,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIb,eAAe,CAAClT,MAAD,CAAnB,EAA6B,MAAM,IAAIa,KAAJ,CAAU,8CAAV,CAAN;AAC7B,aAAKiT,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKvX,KAAL,GAAayD,MAAb;AACA,aAAKwU,QAAL;AACA,eAAO,IAAP;AACH,OAPD;;AAQAD,MAAAA,MAAM,CAACzU,MAAP,GAAgB,UAASK,KAAT,EAAgB;AAC5B,YAAIsU,MAAM,GAAG,IAAb;;AACA,YAAI,KAAKX,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIb,eAAe,CAAC/S,KAAD,CAAnB,EAA4B,MAAM,IAAIU,KAAJ,CAAU,6CAAV,CAAN;;AAC5B,YAAI,CAACV,KAAL,EAAY;AACR,cAAIuU,IAAI,GAAGvU,KAAK,IAAI,cAAc,OAAOA,KAAK,CAACuB,QAApC,GAA+CvB,KAAK,CAACuB,QAAN,EAA/C,GAAkE,GAAGA,QAAH,CAAY5D,IAAZ,CAAiBqC,KAAjB,CAA7E;;AACAA,UAAAA,KAAK,GAAG,IAAIU,KAAJ,CAAU,kDAAkD6T,IAA5D,CAAR;AACH;;AACD,aAAKX,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAK5T,KAAL,GAAaA,KAAb;AACA,aAAK6T,YAAL,IAAqBW,UAAU,CAAE,YAAW;AACxCF,UAAAA,MAAM,CAACT,YAAP,IAAuB,UAASpX,GAAT,EAAcuP,OAAd,EAAuB;AAC1C,gBAAI,CAAC,CAAD,KAAOiH,gBAAgB,CAAC9C,OAAjB,CAAyB1T,GAAzB,CAAX,EAA0C;AACtCwW,cAAAA,gBAAgB,CAACjR,IAAjB,CAAsBvF,GAAtB;AACA+X,cAAAA,UAAU,CAAE,YAAW;AACnB,sBAAM/X,GAAN;AACH,eAFS,EAEN,CAFM,CAAV;;AAGA,mBAAK,IAAIgY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGvB,gCAAgC,CAAC3Q,MAArD,EAA6DkS,CAAC,EAA9D;AAAkEvB,gBAAAA,gCAAgC,CAACuB,CAAD,CAAhC,CAAoChY,GAApC,EAAyCuP,OAAzC;AAAlE;AACH;AACJ,WARsB,CAQrBhM,KARqB,EAQdsU,MARc,CAAvB;AASH,SAV8B,EAU3B,CAV2B,CAA/B;AAWA,aAAKD,QAAL;AACA,eAAO,IAAP;AACH,OAvBD;;AAwBAD,MAAAA,MAAM,CAACM,WAAP,GAAqB,UAAS1U,KAAT,EAAgB;AACjC,aAAK6T,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKlU,MAAL,CAAYK,KAAZ;AACA,eAAO,IAAP;AACH,OAJD;;AAKAoU,MAAAA,MAAM,CAACC,QAAP,GAAkB,YAAW;AACzB,YAAIV,QAAQ,GAAG,KAAKA,QAApB;AAAA,YAA8BC,QAAQ,GAAG,KAAKA,QAA9C;AAAA,YAAwDE,QAAQ,GAAG,KAAKA,QAAxE;;AACA,YAAI,CAAC,KAAKC,WAAN,KAAsBJ,QAAQ,IAAIC,QAAlC,CAAJ,EAAiD;AAC7C,eAAKG,WAAL,GAAmB,CAAC,CAApB;AACAT,UAAAA,WAAW;;AACX,cAAIqB,KAAK,GAAG,SAARA,KAAQ,CAASC,YAAT,EAAuBC,aAAvB,EAAsC;AAC9C,mBAAOD,YAAY,CAAC9U,IAAb,CAAmB,UAAS0L,GAAT,EAAc;AACpCqJ,cAAAA,aAAa,CAACnV,OAAd,CAAsB8L,GAAtB;AACH,aAFM,EAEF,UAAS/O,GAAT,EAAc;AACfoY,cAAAA,aAAa,CAAClV,MAAd,CAAqBlD,GAArB;AACH,aAJM,CAAP;AAKH,WAND;;AAOA,eAAK,IAAImG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkR,QAAQ,CAACvR,MAA7B,EAAqCK,CAAC,EAAtC,EAA0C;AACtC,gBAAIkS,WAAW,GAAGhB,QAAQ,CAAClR,CAAD,CAA1B;AAAA,gBAA+BmS,SAAS,GAAGD,WAAW,CAACC,SAAvD;AAAA,gBAAkEC,OAAO,GAAGF,WAAW,CAACE,OAAxF;AAAA,gBAAiGhJ,OAAO,GAAG8I,WAAW,CAAC9I,OAAvH;;AACA,gBAAIiJ,QAAQ,GAAG,KAAK,CAApB;;AACA,gBAAItB,QAAJ,EAAc,IAAI;AACdsB,cAAAA,QAAQ,GAAGF,SAAS,GAAGA,SAAS,CAAC,KAAK3Y,KAAN,CAAZ,GAA2B,KAAKA,KAApD;AACH,aAFa,CAEZ,OAAOK,GAAP,EAAY;AACVuP,cAAAA,OAAO,CAACrM,MAAR,CAAelD,GAAf;AACA;AACH,aALD,MAKO,IAAImX,QAAJ,EAAc;AACjB,kBAAI,CAACoB,OAAL,EAAc;AACVhJ,gBAAAA,OAAO,CAACrM,MAAR,CAAe,KAAKK,KAApB;AACA;AACH;;AACD,kBAAI;AACAiV,gBAAAA,QAAQ,GAAGD,OAAO,CAAC,KAAKhV,KAAN,CAAlB;AACH,eAFD,CAEE,OAAOvD,GAAP,EAAY;AACVuP,gBAAAA,OAAO,CAACrM,MAAR,CAAelD,GAAf;AACA;AACH;AACJ;;AACD,gBAAIwY,QAAQ,YAAYzB,YAApB,KAAqCyB,QAAQ,CAACtB,QAAT,IAAqBsB,QAAQ,CAACrB,QAAnE,CAAJ,EAAkF;AAC9E,kBAAI+W,aAAa,GAAG1V,QAApB;AACA0V,cAAAA,aAAa,CAAChX,QAAd,GAAyB3H,OAAO,CAACtM,OAAR,CAAgBirB,aAAa,CAACvuB,KAA9B,CAAzB,GAAgE4P,OAAO,CAACrM,MAAR,CAAegrB,aAAa,CAAC3qB,KAA7B,CAAhE;AACA2qB,cAAAA,aAAa,CAAC9W,YAAd,GAA6B,CAAC,CAA9B;AACH,aAJD,MAIOd,eAAe,CAACkC,QAAD,CAAf,GAA4BA,QAAQ,YAAYzB,YAApB,KAAqCyB,QAAQ,CAACtB,QAAT,IAAqBsB,QAAQ,CAACrB,QAAnE,IAA+EqB,QAAQ,CAACtB,QAAT,GAAoB3H,OAAO,CAACtM,OAAR,CAAgBuV,QAAQ,CAAC7Y,KAAzB,CAApB,GAAsD4P,OAAO,CAACrM,MAAR,CAAesV,QAAQ,CAACjV,KAAxB,CAArI,GAAsK2U,KAAK,CAACM,QAAD,EAAWjJ,OAAX,CAAvM,GAA6NA,OAAO,CAACtM,OAAR,CAAgBuV,QAAhB,CAA7N;AACV;;AACDnB,UAAAA,QAAQ,CAACvR,MAAT,GAAkB,CAAlB;AACA,eAAKwR,WAAL,GAAmB,CAAC,CAApB;AACAR,UAAAA,SAAS;AACZ;AACJ,OA1CD;;AA2CAa,MAAAA,MAAM,CAACtU,IAAP,GAAc,UAASiV,SAAT,EAAoBC,OAApB,EAA6B;AACvC,YAAID,SAAS,IAAI,cAAc,OAAOA,SAAlC,IAA+C,CAACA,SAAS,CAACpX,IAA9D,EAAoE,MAAM,IAAI+C,KAAJ,CAAU,sDAAV,CAAN;AACpE,YAAIsU,OAAO,IAAI,cAAc,OAAOA,OAAhC,IAA2C,CAACA,OAAO,CAACrX,IAAxD,EAA8D,MAAM,IAAI+C,KAAJ,CAAU,oDAAV,CAAN;AAC9D,YAAIsL,OAAO,GAAG,IAAIwH,YAAJ,EAAd;AACA,aAAKM,QAAL,CAAc9R,IAAd,CAAmB;AACfgK,UAAAA,OAAO,EAAEA,OADM;AAEf+I,UAAAA,SAAS,EAAEA,SAFI;AAGfC,UAAAA,OAAO,EAAEA;AAHM,SAAnB;AAKA,aAAKnB,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKQ,QAAL;AACA,eAAOrI,OAAP;AACH,OAZD;;AAaAoI,MAAAA,MAAM,SAAN,GAAe,UAASY,OAAT,EAAkB;AAC7B,eAAO,KAAKlV,IAAL,CAAU,KAAK,CAAf,EAAkBkV,OAAlB,CAAP;AACH,OAFD;;AAGAZ,MAAAA,MAAM,WAAN,GAAiB,UAASc,SAAT,EAAoB;AACjC,YAAIA,SAAS,IAAI,cAAc,OAAOA,SAAlC,IAA+C,CAACA,SAAS,CAACvX,IAA9D,EAAoE,MAAM,IAAI+C,KAAJ,CAAU,qCAAV,CAAN;AACpE,eAAO,KAAKZ,IAAL,CAAW,UAASD,MAAT,EAAiB;AAC/B,iBAAO2T,YAAY,OAAZ,CAAiB0B,SAAjB,EAA4BpV,IAA5B,CAAkC,YAAW;AAChD,mBAAOD,MAAP;AACH,WAFM,CAAP;AAGH,SAJM,EAIF,UAASpD,GAAT,EAAc;AACf,iBAAO+W,YAAY,OAAZ,CAAiB0B,SAAjB,EAA4BpV,IAA5B,CAAkC,YAAW;AAChD,kBAAMrD,GAAN;AACH,WAFM,CAAP;AAGH,SARM,CAAP;AASH,OAXD;;AAYA2X,MAAAA,MAAM,CAACe,OAAP,GAAiB,UAASC,IAAT,EAAe3Y,GAAf,EAAoB;AACjC,YAAI4Y,MAAM,GAAG,IAAb;;AACA,YAAI,KAAK1B,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIuB,OAAO,GAAGX,UAAU,CAAE,YAAW;AACjCa,UAAAA,MAAM,CAAC1B,QAAP,IAAmB0B,MAAM,CAACzB,QAA1B,IAAsCyB,MAAM,CAAC1V,MAAP,CAAclD,GAAG,IAAI,IAAIiE,KAAJ,CAAU,6BAA6B0U,IAA7B,GAAoC,IAA9C,CAArB,CAAtC;AACH,SAFuB,EAEpBA,IAFoB,CAAxB;AAGA,eAAO,KAAKtV,IAAL,CAAW,UAASD,MAAT,EAAiB;AAC/ByV,UAAAA,YAAY,CAACH,OAAD,CAAZ;AACA,iBAAOtV,MAAP;AACH,SAHM,CAAP;AAIH,OAVD;;AAWAuU,MAAAA,MAAM,CAACmB,SAAP,GAAmB,YAAW;AAC1B,YAAI,eAAe,OAAOlV,OAA1B,EAAmC,MAAM,IAAIc,SAAJ,CAAc,wBAAd,CAAN;AACnC,eAAOd,OAAO,CAACX,OAAR,CAAgB,IAAhB,CAAP;AACH,OAHD;;AAIA0U,MAAAA,MAAM,CAACwW,IAAP,GAAc,YAAW;AACrB,aAAK/W,YAAL,GAAoB,CAAC,CAArB;AACA,eAAO,IAAP;AACH,OAHD;;AAIAL,MAAAA,YAAY,CAAC9T,OAAb,GAAuB,UAAStD,KAAT,EAAgB;AACnC,eAAOA,KAAK,YAAYoX,YAAjB,GAAgCpX,KAAhC,GAAwC2W,eAAe,CAAC3W,KAAD,CAAf,GAAyB,IAAIoX,YAAJ,CAAkB,UAAS9T,OAAT,EAAkBC,MAAlB,EAA0B;AAChH,iBAAOvD,KAAK,CAAC0D,IAAN,CAAWJ,OAAX,EAAoBC,MAApB,CAAP;AACH,SAFuE,CAAzB,GAExC,IAAI6T,YAAJ,EAAD,CAAmB9T,OAAnB,CAA2BtD,KAA3B,CAFN;AAGH,OAJD;;AAKAoX,MAAAA,YAAY,CAAC7T,MAAb,GAAsB,UAASK,KAAT,EAAgB;AAClC,eAAQ,IAAIwT,YAAJ,EAAD,CAAmB7T,MAAnB,CAA0BK,KAA1B,CAAP;AACH,OAFD;;AAGAwT,MAAAA,YAAY,CAACkB,WAAb,GAA2B,UAAS1U,KAAT,EAAgB;AACvC,eAAQ,IAAIwT,YAAJ,EAAD,CAAmBkB,WAAnB,CAA+B1U,KAA/B,CAAP;AACH,OAFD;;AAGAwT,MAAAA,YAAY,CAACgC,GAAb,GAAmB,UAASC,QAAT,EAAmB;AAClC,YAAIzJ,OAAO,GAAG,IAAIwH,YAAJ,EAAd;AACA,YAAIkC,KAAK,GAAGD,QAAQ,CAAClT,MAArB;AACA,YAAIoT,OAAO,GAAG,GAAG3S,KAAH,EAAd;;AACA,YAAI,CAAC0S,KAAL,EAAY;AACR1J,UAAAA,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB;AACA,iBAAO3J,OAAP;AACH;;AACD,YAAI2I,KAAK,GAAG,SAARA,KAAQ,CAAS/R,CAAT,EAAYgS,YAAZ,EAA0BC,aAA1B,EAAyC;AACjD,iBAAOD,YAAY,CAAC9U,IAAb,CAAmB,UAAS0L,GAAT,EAAc;AACpCmK,YAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAa4I,GAAb;AACA,kBAAMkK,KAAK,IAAI,CAAf,KAAqB1J,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB,CAArB;AACH,WAHM,EAGF,UAASlZ,GAAT,EAAc;AACfoY,YAAAA,aAAa,CAAClV,MAAd,CAAqBlD,GAArB;AACH,WALM,CAAP;AAMH,SAPD;;AAQA,aAAK,IAAImG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6S,QAAQ,CAAClT,MAA7B,EAAqCK,CAAC,EAAtC,EAA0C;AACtC,cAAIgT,IAAI,GAAGH,QAAQ,CAAC7S,CAAD,CAAnB;;AACA,cAAIgT,IAAI,YAAYpC,YAApB,EAAkC;AAC9B,gBAAIoC,IAAI,CAACjC,QAAT,EAAmB;AACfgC,cAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAagT,IAAI,CAACxZ,KAAlB;AACAsZ,cAAAA,KAAK,IAAI,CAAT;AACA;AACH;AACJ,WAND,MAMO,IAAI,CAAC3C,eAAe,CAAC6C,IAAD,CAApB,EAA4B;AAC/BD,YAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAagT,IAAb;AACAF,YAAAA,KAAK,IAAI,CAAT;AACA;AACH;;AACDf,UAAAA,KAAK,CAAC/R,CAAD,EAAI4Q,YAAY,CAAC9T,OAAb,CAAqBkW,IAArB,CAAJ,EAAgC5J,OAAhC,CAAL;AACH;;AACD,cAAM0J,KAAN,IAAe1J,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB,CAAf;AACA,eAAO3J,OAAP;AACH,OAjCD;;AAkCAwH,MAAAA,YAAY,CAACqC,IAAb,GAAoB,UAASJ,QAAT,EAAmB;AACnC,YAAI5V,MAAM,GAAG,EAAb;AACA,YAAIiW,aAAa,GAAG,EAApB;;AACA,YAAIC,KAAK,GAAG,SAARA,KAAQ,CAAS5Z,GAAT,EAAc;AACtB,cAAIsZ,QAAQ,CAACla,cAAT,CAAwBY,GAAxB,CAAJ,EAAkC;AAC9B,gBAAIC,KAAK,GAAGqZ,QAAQ,CAACtZ,GAAD,CAApB;AACA4W,YAAAA,eAAe,CAAC3W,KAAD,CAAf,GAAyB0Z,aAAa,CAAC9T,IAAd,CAAmB5F,KAAK,CAAC0D,IAAN,CAAY,UAAS0L,GAAT,EAAc;AAClE3L,cAAAA,MAAM,CAAC1D,GAAD,CAAN,GAAcqP,GAAd;AACH,aAF2C,CAAnB,CAAzB,GAEO3L,MAAM,CAAC1D,GAAD,CAAN,GAAcC,KAFrB;AAGH;AACJ,SAPD;;AAQA,aAAK,IAAID,GAAT,IAAgBsZ,QAAhB;AAA0BM,UAAAA,KAAK,CAAC5Z,GAAD,CAAL;AAA1B;;AACA,eAAOqX,YAAY,CAACgC,GAAb,CAAiBM,aAAjB,EAAgChW,IAAhC,CAAsC,YAAW;AACpD,iBAAOD,MAAP;AACH,SAFM,CAAP;AAGH,OAfD;;AAgBA2T,MAAAA,YAAY,CAACwC,GAAb,GAAmB,UAASC,KAAT,EAAgBpX,MAAhB,EAAwB;AACvC,eAAO2U,YAAY,CAACgC,GAAb,CAAiBS,KAAK,CAACD,GAAN,CAAUnX,MAAV,CAAjB,CAAP;AACH,OAFD;;AAGA2U,MAAAA,YAAY,CAAC0C,4BAAb,GAA4C,UAASzC,OAAT,EAAkB;AAC1D,eAAO,UAASA,OAAT,EAAkB;AACrBP,UAAAA,gCAAgC,CAAClR,IAAjC,CAAsCyR,OAAtC;AACA,iBAAO;AACH0C,YAAAA,MAAM,EAAE,kBAAW;AACfjD,cAAAA,gCAAgC,CAACkD,MAAjC,CAAwClD,gCAAgC,CAAC/C,OAAjC,CAAyCsD,OAAzC,CAAxC,EAA2F,CAA3F;AACH;AAHE,WAAP;AAKH,SAPM,CAOLA,OAPK,CAAP;AAQH,OATD;;AAUAD,MAAAA,YAAY,OAAZ,GAAmB,UAAS3U,MAAT,EAAiB1B,OAAjB,EAA0BkZ,IAA1B,EAAgC;AAC/C,YAAIxX,MAAM,IAAI,cAAc,OAAOA,MAA/B,IAAyC,CAACA,MAAM,CAAClB,IAArD,EAA2D,MAAM,IAAI+C,KAAJ,CAAU,iCAAV,CAAN;AAC3D,YAAIb,MAAJ;AACAyT,QAAAA,WAAW;;AACX,YAAI;AACAzT,UAAAA,MAAM,GAAGhB,MAAM,CAACyX,KAAP,CAAanZ,OAAb,EAAsBkZ,IAAI,IAAI,EAA9B,CAAT;AACH,SAFD,CAEE,OAAO5Z,GAAP,EAAY;AACV8W,UAAAA,SAAS;AACT,iBAAOC,YAAY,CAAC7T,MAAb,CAAoBlD,GAApB,CAAP;AACH;;AACD8W,QAAAA,SAAS;AACT,eAAOC,YAAY,CAAC9T,OAAb,CAAqBG,MAArB,CAAP;AACH,OAZD;;AAaA2T,MAAAA,YAAY,CAAC+C,KAAb,GAAqB,UAASC,MAAT,EAAiB;AAClC,eAAO,IAAIhD,YAAJ,CAAkB,UAAS9T,OAAT,EAAkB;AACvC8U,UAAAA,UAAU,CAAC9U,OAAD,EAAU8W,MAAV,CAAV;AACH,SAFM,CAAP;AAGH,OAJD;;AAKAhD,MAAAA,YAAY,CAACiD,SAAb,GAAyB,UAASra,KAAT,EAAgB;AACrC,eAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,YAAYoX,YAA5B,CAAD,IAA8CT,eAAe,CAAC3W,KAAD,CAApE;AACH,OAFD;;AAGAoX,MAAAA,YAAY,CAACkD,KAAb,GAAqB,YAAW;AAC5B,eAAO,UAASC,KAAT,EAAgB;AACnB,cAAI3K,OAAO,GAAGoH,YAAY,GAAGA,YAAY,IAAI,IAAIuD,KAAJ,EAA7C;AACAtD,UAAAA,WAAW;AACX,iBAAOrH,OAAP;AACH,SAJM,CAILwH,YAJK,CAAP;AAKH,OAND;;AAOA,aAAOA,YAAP;AACH,KAnR0B,EAA3B;;AAoRA,aAASrE,OAAT,CAAiBC,IAAjB,EAAuB;AACnB,aAAO,sBAAsB,GAAG7N,QAAH,CAAY5D,IAAZ,CAAiByR,IAAjB,CAA7B;AACH;;AACD,QAAIyb,WAAW,GAAG;AACdC,MAAAA,MAAM,EAAE,QADM;AAEdC,MAAAA,KAAK,EAAE;AAFO,KAAlB;AAIA,QAAI1b,mBAAmB,GAAG,kCAA1B;;AACA,aAAS2b,iBAAT,CAA2Bzb,GAA3B,EAAgC;AAC5B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,aAAOuJ,GAAG,CAACC,QAAJ,CAAaC,QAApB;AACH;;AACD,aAASwb,WAAT,CAAqB1b,GAArB,EAA0B;AACtB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;;AACA,UAAIuJ,GAAG,CAACW,UAAR,EAAoB;AAChB,YAAIT,QAAQ,GAAGF,GAAG,CAACW,UAAJ,CAAetJ,KAAf,CAAqB,IAArB,EAA2B,CAA3B,CAAf;AACA,YAAI6I,QAAJ,EAAc,OAAOA,QAAP;AACjB;;AACD,aAAOub,iBAAiB,CAACzb,GAAD,CAAxB;AACH;;AACD,aAASD,eAAT,CAAyBC,GAAzB,EAA8B;AAC1B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,aAAO,aAAailB,WAAW,CAAC1b,GAAD,CAA/B;AACH;;AACD,aAAS2b,eAAT,CAAyB3b,GAAzB,EAA8B;AAC1B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIuJ,GAAJ,EAAS,IAAI;AACT,YAAIA,GAAG,CAACI,MAAJ,IAAcJ,GAAG,CAACI,MAAJ,KAAeJ,GAAjC,EAAsC,OAAOA,GAAG,CAACI,MAAX;AACzC,OAFQ,CAEP,OAAOlT,GAAP,EAAY;AACjB;;AACD,aAASmT,SAAT,CAAmBL,GAAnB,EAAwB;AACpB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIuJ,GAAG,IAAI,CAAC2b,eAAe,CAAC3b,GAAD,CAA3B,EAAkC,IAAI;AAClC,eAAOA,GAAG,CAACM,MAAX;AACH,OAFiC,CAEhC,OAAOpT,GAAP,EAAY;AACjB;;AACD,aAASqT,iBAAT,CAA2BP,GAA3B,EAAgC;AAC5B,UAAI;AACA,eAAO,CAAC,CAAR;AACH,OAFD,CAEE,OAAO9S,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,aAASsT,eAAT,CAAyBR,GAAzB,EAA8B;AAC1B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIwJ,QAAQ,GAAGD,GAAG,CAACC,QAAnB;AACA,UAAI,CAACA,QAAL,EAAe,MAAM,IAAI9O,KAAJ,CAAU,8BAAV,CAAN;AACf,UAAI+O,QAAQ,GAAGub,iBAAiB,CAACzb,GAAD,CAAhC;AACA,UAAI,CAACE,QAAL,EAAe,MAAM,IAAI/O,KAAJ,CAAU,8BAAV,CAAN;AACf,UAAI,YAAY+O,QAAhB,EAA0B,OAAO,SAAP;;AAC1B,UAAI,aAAaA,QAAjB,EAA2B;AACvB,YAAIE,MAAM,GAAGub,eAAe,CAAC3b,GAAD,CAA5B;AACA,eAAOI,MAAM,IAAIG,iBAAiB,EAA3B,GAAgCC,eAAe,CAACJ,MAAD,CAA/C,GAA0D,UAAjE;AACH;;AACD,UAAIK,IAAI,GAAGR,QAAQ,CAACQ,IAApB;AACA,UAAI,CAACA,IAAL,EAAW,MAAM,IAAItP,KAAJ,CAAU,0BAAV,CAAN;AACX,aAAO+O,QAAQ,GAAG,IAAX,GAAkBO,IAAzB;AACH;;AACD,aAASC,SAAT,CAAmBV,GAAnB,EAAwB;AACpB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIsD,MAAM,GAAGyG,eAAe,CAACR,GAAD,CAA5B;AACA,aAAOjG,MAAM,IAAIiG,GAAG,CAACW,UAAd,IAA4B,MAAMX,GAAG,CAACW,UAAJ,CAAeC,OAAf,CAAuB,OAAvB,CAAlC,GAAoEZ,GAAG,CAACW,UAAxE,GAAqF5G,MAA5F;AACH;;AACD,aAAS8G,YAAT,CAAsBb,GAAtB,EAA2B;AACvB,UAAI,CAAC,UAASA,GAAT,EAAc;AACf,YAAI;AACA,cAAIA,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,SAFD,CAEE,OAAOvJ,GAAP,EAAY;;AACd,YAAI;AACA,cAAI4T,IAAI,GAAGjV,MAAM,CAACkV,wBAAP,CAAgCf,GAAhC,EAAqC,UAArC,CAAX;AACA,cAAIc,IAAI,IAAI,CAAC,CAAD,KAAOA,IAAI,CAAC/T,UAAxB,EAAoC,OAAO,CAAC,CAAR;AACvC,SAHD,CAGE,OAAOG,GAAP,EAAY;;AACd,YAAI;AACA,cAAI6S,eAAe,CAACC,GAAD,CAAf,IAAwBO,iBAAiB,EAA7C,EAAiD,OAAO,CAAC,CAAR;AACpD,SAFD,CAEE,OAAOrT,GAAP,EAAY;;AACd,YAAI;AACA,cAAI,UAAS8S,GAAT,EAAc;AACd,iBAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,mBAAO,YAAYilB,WAAW,CAAC1b,GAAD,CAA9B;AACH,WAHG,CAGFA,GAHE,KAGMO,iBAAiB,EAH3B,EAG+B,OAAO,CAAC,CAAR;AAClC,SALD,CAKE,OAAOrT,GAAP,EAAY;;AACd,YAAI;AACA,cAAIsT,eAAe,CAACR,GAAD,CAAf,KAAyBQ,eAAe,CAAC/J,MAAD,CAA5C,EAAsD,OAAO,CAAC,CAAR;AACzD,SAFD,CAEE,OAAOvJ,GAAP,EAAY;;AACd,eAAO,CAAC,CAAR;AACH,OArBI,CAqBH8S,GArBG,CAAL,EAqBQ,OAAO,CAAC,CAAR;;AACR,UAAI;AACA,YAAIA,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACpB,YAAIsJ,eAAe,CAACC,GAAD,CAAf,IAAwBO,iBAAiB,EAA7C,EAAiD,OAAO,CAAC,CAAR;AACjD,YAAIG,SAAS,CAACjK,MAAD,CAAT,KAAsBiK,SAAS,CAACV,GAAD,CAAnC,EAA0C,OAAO,CAAC,CAAR;AAC7C,OAJD,CAIE,OAAO9S,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,aAAS8T,gBAAT,CAA0BhB,GAA1B,EAA+B;AAC3B,UAAI,CAACa,YAAY,CAACb,GAAD,CAAjB,EAAwB,MAAM,IAAI7O,KAAJ,CAAU,mCAAV,CAAN;AACxB,aAAO6O,GAAP;AACH;;AACD,aAASiB,gBAAT,CAA0Bb,MAA1B,EAAkCc,KAAlC,EAAyC;AACrC,UAAI,CAACd,MAAD,IAAW,CAACc,KAAhB,EAAuB,OAAO,CAAC,CAAR;AACvB,UAAIC,WAAW,GAAGwa,eAAe,CAACza,KAAD,CAAjC;AACA,aAAOC,WAAW,GAAGA,WAAW,KAAKf,MAAnB,GAA4B,CAAC,CAAD,KAAO,UAASJ,GAAT,EAAc;AAC/D,YAAI1P,MAAM,GAAG,EAAb;;AACA,YAAI;AACA,iBAAM0P,GAAG,CAACI,MAAJ,KAAeJ,GAArB,GAA4B;AACxB1P,YAAAA,MAAM,CAACmC,IAAP,CAAYuN,GAAG,CAACI,MAAhB;AACAJ,YAAAA,GAAG,GAAGA,GAAG,CAACI,MAAV;AACH;AACJ,SALD,CAKE,OAAOlT,GAAP,EAAY;;AACd,eAAOoD,MAAP;AACH,OAToD,CASnD4Q,KATmD,EAS5CN,OAT4C,CASpCR,MAToC,CAArD;AAUH;;AACD,aAASgB,SAAT,CAAmBpB,GAAnB,EAAwB;AACpB,UAAI1P,MAAM,GAAG,EAAb;AACA,UAAI+Q,MAAJ;;AACA,UAAI;AACAA,QAAAA,MAAM,GAAGrB,GAAG,CAACqB,MAAb;AACH,OAFD,CAEE,OAAOnU,GAAP,EAAY;AACVmU,QAAAA,MAAM,GAAGrB,GAAT;AACH;;AACD,UAAIsB,GAAJ;;AACA,UAAI;AACAA,QAAAA,GAAG,GAAGD,MAAM,CAACrO,MAAb;AACH,OAFD,CAEE,OAAO9F,GAAP,EAAY;;AACd,UAAI,MAAMoU,GAAV,EAAe,OAAOhR,MAAP;;AACf,UAAIgR,GAAJ,EAAS;AACL,aAAK,IAAIjO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiO,GAApB,EAAyBjO,CAAC,EAA1B,EAA8B;AAC1B,cAAIkO,KAAK,GAAG,KAAK,CAAjB;;AACA,cAAI;AACAA,YAAAA,KAAK,GAAGF,MAAM,CAAChO,CAAD,CAAd;AACH,WAFD,CAEE,OAAOnG,GAAP,EAAY;AACV;AACH;;AACDoD,UAAAA,MAAM,CAACmC,IAAP,CAAY8O,KAAZ;AACH;;AACD,eAAOjR,MAAP;AACH;;AACD,WAAK,IAAIkR,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAG,GAAtB,EAA2BA,EAAE,EAA7B,EAAiC;AAC7B,YAAIC,MAAM,GAAG,KAAK,CAAlB;;AACA,YAAI;AACAA,UAAAA,MAAM,GAAGJ,MAAM,CAACG,EAAD,CAAf;AACH,SAFD,CAEE,OAAOtU,GAAP,EAAY;AACV,iBAAOoD,MAAP;AACH;;AACD,YAAI,CAACmR,MAAL,EAAa,OAAOnR,MAAP;AACbA,QAAAA,MAAM,CAACmC,IAAP,CAAYgP,MAAZ;AACH;;AACD,aAAOnR,MAAP;AACH;;AACD,aAASgoB,iBAAT,CAA2BtY,GAA3B,EAAgC;AAC5B,UAAI1P,MAAM,GAAG,EAAb;;AACA,WAAK,IAAIioB,GAAG,GAAG,CAAV,EAAaC,WAAW,GAAGpX,SAAS,CAACpB,GAAD,CAAzC,EAAgDuY,GAAG,GAAGC,WAAW,CAACxlB,MAAlE,EAA0EulB,GAAG,EAA7E,EAAiF;AAC7E,YAAIhX,KAAK,GAAGiX,WAAW,CAACD,GAAD,CAAvB;AACAjoB,QAAAA,MAAM,CAACmC,IAAP,CAAY8O,KAAZ;;AACA,aAAK,IAAIkX,GAAG,GAAG,CAAV,EAAaC,mBAAmB,GAAGJ,iBAAiB,CAAC/W,KAAD,CAAzD,EAAkEkX,GAAG,GAAGC,mBAAmB,CAAC1lB,MAA5F,EAAoGylB,GAAG,EAAvG;AAA2GnoB,UAAAA,MAAM,CAACmC,IAAP,CAAYimB,mBAAmB,CAACD,GAAD,CAA/B;AAA3G;AACH;;AACD,aAAOnoB,MAAP;AACH;;AACD,aAASsrB,MAAT,CAAgB5b,GAAhB,EAAqB;AACjB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;;AACA,UAAI;AACA,YAAIuJ,GAAG,CAACiC,GAAR,EAAa,OAAOjC,GAAG,CAACiC,GAAX;AAChB,OAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,UAAIyuB,eAAe,CAAC3b,GAAD,CAAf,KAAyBA,GAA7B,EAAkC,OAAOA,GAAP;;AAClC,UAAI;AACA,YAAIiB,gBAAgB,CAACxK,MAAD,EAASuJ,GAAT,CAAhB,IAAiCvJ,MAAM,CAACwL,GAA5C,EAAiD,OAAOxL,MAAM,CAACwL,GAAd;AACpD,OAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,UAAI;AACA,YAAI+T,gBAAgB,CAACjB,GAAD,EAAMvJ,MAAN,CAAhB,IAAiCA,MAAM,CAACwL,GAA5C,EAAiD,OAAOxL,MAAM,CAACwL,GAAd;AACpD,OAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,WAAK,IAAIkrB,GAAG,GAAG,CAAV,EAAaC,mBAAmB,GAAGC,iBAAiB,CAACtY,GAAD,CAAzD,EAAgEoY,GAAG,GAAGC,mBAAmB,CAACrlB,MAA1F,EAAkGolB,GAAG,EAArG,EAAyG;AACrG,YAAI7W,KAAK,GAAG8W,mBAAmB,CAACD,GAAD,CAA/B;;AACA,YAAI;AACA,cAAI7W,KAAK,CAACU,GAAV,EAAe,OAAOV,KAAK,CAACU,GAAb;AAClB,SAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,YAAIyuB,eAAe,CAACpa,KAAD,CAAf,KAA2BA,KAA/B,EAAsC,OAAOA,KAAP;AACzC;AACJ;;AACD,aAASsa,oBAAT,CAA8B7b,GAA9B,EAAmC;AAC/B,UAAIiC,GAAG,GAAG2Z,MAAM,CAAC5b,GAAD,CAAhB;AACA,UAAI,CAACiC,GAAL,EAAU,MAAM,IAAI9Q,KAAJ,CAAU,8BAAV,CAAN;AACV,UAAIb,MAAM,GAAG,GAAGwrB,MAAH,CAAUxD,iBAAiB,CAACrW,GAAD,CAA3B,EAAkC,CAAEA,GAAF,CAAlC,CAAb;AACA,OAAC,CAAD,KAAO3R,MAAM,CAACsQ,OAAP,CAAeZ,GAAf,CAAP,KAA+B1P,MAAM,GAAG,GAAGwrB,MAAH,CAAUxrB,MAAV,EAAkB,CAAE0P,GAAF,CAAlB,EAA2BsY,iBAAiB,CAACtY,GAAD,CAA5C,CAAxC;AACA,aAAO1P,MAAP;AACH;;AACD,QAAIoR,aAAa,GAAG,EAApB;AACA,QAAIC,YAAY,GAAG,EAAnB;;AACA,aAASC,cAAT,CAAwB5B,GAAxB,EAA6B6B,SAA7B,EAAwC;AACpC,WAAK,CAAL,KAAWA,SAAX,KAAyBA,SAAS,GAAG,CAAC,CAAtC;;AACA,UAAI;AACA,YAAI7B,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFD,CAEE,OAAOvJ,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI,CAAC8S,GAAL,EAAU,OAAO,CAAC,CAAR;AACb,OAFD,CAEE,OAAO9S,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI8S,GAAG,CAAC8B,MAAR,EAAgB,OAAO,CAAC,CAAR;AACnB,OAFD,CAEE,OAAO5U,GAAP,EAAY;AACV,eAAO,CAACA,GAAD,IAAQA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA/B;AACH;;AACD,UAAI+B,SAAS,IAAIhB,YAAY,CAACb,GAAD,CAA7B,EAAoC,IAAI;AACpC,YAAIA,GAAG,CAACgC,UAAR,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFmC,CAElC,OAAO9U,GAAP,EAAY;;AACd,UAAI;AACA,YAAI,CAAC8S,GAAG,CAACI,MAAL,IAAe,CAACJ,GAAG,CAACiC,GAAxB,EAA6B,OAAO,CAAC,CAAR;AAChC,OAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,UAAIgV,WAAW,GAAG,UAASC,UAAT,EAAqBtC,IAArB,EAA2B;AACzC,aAAK,IAAIxM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8O,UAAU,CAACnP,MAA/B,EAAuCK,CAAC,EAAxC;AAA4C,cAAI;AAC5C,gBAAI8O,UAAU,CAAC9O,CAAD,CAAV,KAAkBwM,IAAtB,EAA4B,OAAOxM,CAAP;AAC/B,WAF2C,CAE1C,OAAOnG,GAAP,EAAY;AAFd;;AAGA,eAAO,CAAC,CAAR;AACH,OALiB,CAKhBwU,aALgB,EAKD1B,GALC,CAAlB;;AAMA,UAAI,CAAC,CAAD,KAAOkC,WAAX,EAAwB;AACpB,YAAIX,KAAK,GAAGI,YAAY,CAACO,WAAD,CAAxB;AACA,YAAIX,KAAK,IAAI,UAASA,KAAT,EAAgB;AACzB,cAAI,CAACA,KAAK,CAACa,aAAX,EAA0B,OAAO,CAAC,CAAR;AAC1B,cAAI,CAACb,KAAK,CAACc,UAAX,EAAuB,OAAO,CAAC,CAAR;AACvB,cAAIC,GAAG,GAAGf,KAAK,CAACgB,aAAhB;;AACA,cAAID,GAAG,IAAIA,GAAG,CAACE,eAAX,IAA8B,CAACF,GAAG,CAACE,eAAJ,CAAoBC,QAApB,CAA6BlB,KAA7B,CAAnC,EAAwE;AACpE,gBAAInB,MAAM,GAAGmB,KAAb;;AACA,mBAAMnB,MAAM,CAACiC,UAAP,IAAqBjC,MAAM,CAACiC,UAAP,KAAsBjC,MAAjD;AAA2DA,cAAAA,MAAM,GAAGA,MAAM,CAACiC,UAAhB;AAA3D;;AACA,gBAAI,CAACjC,MAAM,CAACK,IAAR,IAAgB,CAAC6B,GAAG,CAACE,eAAJ,CAAoBC,QAApB,CAA6BrC,MAAM,CAACK,IAApC,CAArB,EAAgE,OAAO,CAAC,CAAR;AACnE;;AACD,iBAAO,CAAC,CAAR;AACH,SAVY,CAUXc,KAVW,CAAb,EAUU,OAAO,CAAC,CAAR;AACb;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAASwa,kBAAT,CAA4B/b,GAA5B,EAAiC;AAC7B,aAAO,CAACA,GAAG,GAAGA,GAAG,IAAIvJ,MAAd,EAAsB4B,SAAtB,CAAgC2jB,aAAhC,IAAiDhc,GAAG,CAAC3H,SAAJ,CAAc4jB,SAAtE;AACH;;AACD,aAASC,cAAT,CAAwBlc,GAAxB,EAA6BtQ,IAA7B,EAAmC;AAC/B,UAAIysB,SAAS,GAAG/a,SAAS,CAACpB,GAAD,CAAzB;;AACA,WAAK,IAAIoc,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGD,SAAS,CAACnpB,MAAlC,EAA0CopB,GAAG,EAA7C,EAAiD;AAC7C,YAAIC,UAAU,GAAGF,SAAS,CAACC,GAAD,CAA1B;;AACA,YAAI;AACA,cAAIvb,YAAY,CAACwb,UAAD,CAAZ,IAA4BA,UAAU,CAAC3sB,IAAX,KAAoBA,IAAhD,IAAwD,CAAC,CAAD,KAAOysB,SAAS,CAACvb,OAAV,CAAkByb,UAAlB,CAAnE,EAAkG,OAAOA,UAAP;AACrG,SAFD,CAEE,OAAOnvB,GAAP,EAAY;AACjB;;AACD,UAAI;AACA,YAAI,CAAC,CAAD,KAAOivB,SAAS,CAACvb,OAAV,CAAkBZ,GAAG,CAACqB,MAAJ,CAAW3R,IAAX,CAAlB,CAAX,EAAgD,OAAOsQ,GAAG,CAACqB,MAAJ,CAAW3R,IAAX,CAAP;AACnD,OAFD,CAEE,OAAOxC,GAAP,EAAY;;AACd,UAAI;AACA,YAAI,CAAC,CAAD,KAAOivB,SAAS,CAACvb,OAAV,CAAkBZ,GAAG,CAACtQ,IAAD,CAArB,CAAX,EAAyC,OAAOsQ,GAAG,CAACtQ,IAAD,CAAV;AAC5C,OAFD,CAEE,OAAOxC,GAAP,EAAY;AACjB;;AACD,aAASovB,QAAT,CAAkBlc,MAAlB,EAA0Bc,KAA1B,EAAiC;AAC7B,aAAOd,MAAM,KAAKC,SAAS,CAACa,KAAD,CAA3B;AACH;;AACD,aAASwB,WAAT,CAAqB1C,GAArB,EAA0B;AACtB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,aAAO4J,SAAS,CAACL,GAAG,GAAGA,GAAG,IAAIvJ,MAAd,CAAT,IAAkCklB,eAAe,CAAC3b,GAAD,CAAjD,IAA0D,KAAK,CAAtE;AACH;;AACD,aAASuc,QAAT,CAAkBC,WAAlB,EAA+BC,WAA/B,EAA4C;AACxC,WAAK,IAAIC,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGF,WAAW,CAACxpB,MAAtC,EAA8C0pB,IAAI,EAAlD,EAAsD;AAClD,YAAIC,KAAK,GAAGH,WAAW,CAACE,IAAD,CAAvB;;AACA,aAAK,IAAIE,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGH,WAAW,CAACzpB,MAAtC,EAA8C4pB,IAAI,EAAlD;AAAsD,cAAID,KAAK,KAAKF,WAAW,CAACG,IAAD,CAAzB,EAAiC,OAAO,CAAC,CAAR;AAAvF;AACH;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAASC,kBAAT,CAA4B7c,GAA5B,EAAiC;AAC7B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIqmB,QAAQ,GAAG,CAAf;AACA,UAAI1c,MAAM,GAAGJ,GAAb;;AACA,aAAMI,MAAN;AAAgB,SAACA,MAAM,GAAGub,eAAe,CAACvb,MAAD,CAAzB,MAAuC0c,QAAQ,IAAI,CAAnD;AAAhB;;AACA,aAAOA,QAAP;AACH;;AACD,aAASC,eAAT,CAAyBC,IAAzB,EAA+BC,IAA/B,EAAqC;AACjC,UAAIC,IAAI,GAAGtB,MAAM,CAACoB,IAAD,CAAN,IAAgBA,IAA3B;AACA,UAAIG,IAAI,GAAGvB,MAAM,CAACqB,IAAD,CAAN,IAAgBA,IAA3B;;AACA,UAAI;AACA,YAAIC,IAAI,IAAIC,IAAZ,EAAkB,OAAOD,IAAI,KAAKC,IAAhB;AACrB,OAFD,CAEE,OAAOjwB,GAAP,EAAY;;AACd,UAAIkwB,UAAU,GAAGvB,oBAAoB,CAACmB,IAAD,CAArC;AACA,UAAIK,UAAU,GAAGxB,oBAAoB,CAACoB,IAAD,CAArC;AACA,UAAIV,QAAQ,CAACa,UAAD,EAAaC,UAAb,CAAZ,EAAsC,OAAO,CAAC,CAAR;AACtC,UAAIC,OAAO,GAAGjd,SAAS,CAAC6c,IAAD,CAAvB;AACA,UAAIK,OAAO,GAAGld,SAAS,CAAC8c,IAAD,CAAvB;AACA,aAAOG,OAAO,IAAIf,QAAQ,CAACV,oBAAoB,CAACyB,OAAD,CAArB,EAAgCD,UAAhC,CAAnB,IAAkEE,OAAO,IAAIhB,QAAQ,CAACV,oBAAoB,CAAC0B,OAAD,CAArB,EAAgCH,UAAhC,CAArF,EACP,CAAC,CADD;AAEH;;AACD,aAASza,WAAT,CAAqBC,OAArB,EAA8BC,MAA9B,EAAsC;AAClC,UAAI,YAAY,OAAOD,OAAvB,EAAgC;AAC5B,YAAI,YAAY,OAAOC,MAAvB,EAA+B,OAAO,QAAQD,OAAR,IAAmBC,MAAM,KAAKD,OAArC;AAC/B,YAAIhD,OAAO,CAACiD,MAAD,CAAX,EAAqB,OAAO,CAAC,CAAR;AACrB,YAAItN,KAAK,CAACuN,OAAN,CAAcD,MAAd,CAAJ,EAA2B,OAAO,CAAC,CAAR;AAC9B;;AACD,aAAOjD,OAAO,CAACgD,OAAD,CAAP,GAAmBhD,OAAO,CAACiD,MAAD,CAAP,GAAkBD,OAAO,CAAC5Q,QAAR,OAAuB6Q,MAAM,CAAC7Q,QAAP,EAAzC,GAA6D,CAACuD,KAAK,CAACuN,OAAN,CAAcD,MAAd,CAAD,IAA0BE,OAAO,CAACF,MAAM,CAACG,KAAP,CAAaJ,OAAb,CAAD,CAAjH,GAA2I,CAAC,CAACrN,KAAK,CAACuN,OAAN,CAAcF,OAAd,CAAF,KAA6BrN,KAAK,CAACuN,OAAN,CAAcD,MAAd,IAAwB7G,IAAI,CAAC3F,SAAL,CAAeuM,OAAf,MAA4B5G,IAAI,CAAC3F,SAAL,CAAewM,MAAf,CAApD,GAA6E,CAACjD,OAAO,CAACiD,MAAD,CAAR,IAAoBD,OAAO,CAACK,IAAR,CAAc,UAASC,UAAT,EAAqB;AAC/S,eAAOP,WAAW,CAACO,UAAD,EAAaL,MAAb,CAAlB;AACH,OAF+Q,CAA9H,CAAlJ;AAGH;;AACD,aAAS2a,gBAAT,CAA0B5hB,GAA1B,EAA+B;AAC3B,aAAOA,GAAG,CAACoH,KAAJ,CAAU,0BAAV,IAAwCpH,GAAG,CAACvE,KAAJ,CAAU,GAAV,EAAe5D,KAAf,CAAqB,CAArB,EAAwB,CAAxB,EAA2B6C,IAA3B,CAAgC,GAAhC,CAAxC,GAA+EoK,SAAS,EAA/F;AACH;;AACD,aAAS+c,aAAT,CAAuBzd,GAAvB,EAA4B0d,QAA5B,EAAsC1W,KAAtC,EAA6C2W,OAA7C,EAAsD;AAClD,WAAK,CAAL,KAAW3W,KAAX,KAAqBA,KAAK,GAAG,GAA7B;AACA,WAAK,CAAL,KAAW2W,OAAX,KAAuBA,OAAO,GAAG,IAAI,CAArC;AACA,UAAI/X,OAAJ;AACA,OAAC,SAASgY,KAAT,GAAiB;AACd,YAAIhc,cAAc,CAAC5B,GAAD,CAAlB,EAAyB;AACrB4F,UAAAA,OAAO,IAAIG,YAAY,CAACH,OAAD,CAAvB;AACA,iBAAO8X,QAAQ,EAAf;AACH;;AACD,YAAIC,OAAO,IAAI,CAAf,EAAkB5X,YAAY,CAACH,OAAD,CAAZ,CAAlB,KAA8C;AAC1C+X,UAAAA,OAAO,IAAI3W,KAAX;AACApB,UAAAA,OAAO,GAAGX,UAAU,CAAC2Y,KAAD,EAAQ5W,KAAR,CAApB;AACH;AACJ,OATA,EAAD;AAUA,aAAO;AACHJ,QAAAA,MAAM,EAAE,kBAAW;AACfhB,UAAAA,OAAO,IAAIG,YAAY,CAACH,OAAD,CAAvB;AACH;AAHE,OAAP;AAKH;;AACD,aAASzC,QAAT,CAAkBxW,GAAlB,EAAuB;AACnB,UAAI;AACA,YAAIA,GAAG,KAAK8J,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFD,CAEE,OAAOvJ,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAI,sBAAsB,GAAG9N,QAAH,CAAY5D,IAAZ,CAAiBzB,GAAjB,CAA1B,EAAiD,OAAO,CAAC,CAAR;AACpD,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAIrJ,MAAM,CAAC2M,MAAP,IAAiBzW,GAAG,YAAY8J,MAAM,CAAC2M,MAA3C,EAAmD,OAAO,CAAC,CAAR;AACtD,OAFD,CAEE,OAAOlW,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACW,IAAJ,KAAaX,GAAxB,EAA6B,OAAO,CAAC,CAAR;AAChC,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACyT,MAAJ,KAAezT,GAA1B,EAA+B,OAAO,CAAC,CAAR;AAClC,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACsV,GAAJ,KAAYtV,GAAvB,EAA4B,OAAO,CAAC,CAAR;AAC/B,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAI,yBAAyBA,GAAG,CAAC0W,mCAAxC,EAA6E,OAAO,CAAC,CAAR;AAChF,OAFD,CAEE,OAAOnW,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI,iBAAiBP,GAAjB,IAAwB,UAAUA,GAAlC,IAAyC,cAAcA,GAA3D,EAAgE,OAAO,CAAC,CAAR;AACnE,OAFD,CAEE,OAAOO,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,aAAS2wB,gBAAT,CAA0BjiB,GAA1B,EAA+B;AAC3B,UAAI,EAAE7B,MAAM,GAAGyjB,gBAAgB,CAAC5hB,GAAD,CAAzB,EAAgC,MAAM7B,MAAM,CAAC6G,OAAP,CAAe,OAAf,CAAxC,CAAJ,EAAsE,OAAOhF,GAAP;AACtE,UAAI7B,MAAJ;AACA,YAAM,IAAI5I,KAAJ,CAAU,0CAAV,CAAN;AACH;;AACD,aAAS2sB,iBAAT,CAA2B9d,GAA3B,EAAgC;AAC5B,UAAIa,YAAY,CAACb,GAAD,CAAhB,EAAuB,OAAOgB,gBAAgB,CAAChB,GAAD,CAAhB,CAAsB4Q,YAA7B;;AACvB,WAAK,IAAIC,IAAI,GAAG,CAAX,EAAcC,sBAAsB,GAAGrb,QAAQ,CAACsb,gBAAT,CAA0B,QAA1B,CAA5C,EAAiFF,IAAI,GAAGC,sBAAsB,CAAC9d,MAA/G,EAAuH6d,IAAI,EAA3H,EAA+H;AAC3H,YAAItP,KAAK,GAAGuP,sBAAsB,CAACD,IAAD,CAAlC;AACA,YAAItP,KAAK,IAAIA,KAAK,CAACa,aAAf,IAAgCb,KAAK,CAACa,aAAN,KAAwBpC,GAA5D,EAAiE,OAAOuB,KAAP;AACpE;AACJ;;AACD,aAAS+B,WAAT,CAAqBtD,GAArB,EAA0B;AACtB,UAAI,UAASA,GAAT,EAAc;AACd,aAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,eAAOsM,OAAO,CAAC4Y,eAAe,CAAC3b,GAAD,CAAhB,CAAd;AACH,OAHG,CAGFA,GAHE,CAAJ,EAGQ;AACJ,YAAIuB,KAAK,GAAGuc,iBAAiB,CAAC9d,GAAD,CAA7B;;AACA,YAAIuB,KAAK,IAAIA,KAAK,CAACwc,aAAnB,EAAkC;AAC9Bxc,UAAAA,KAAK,CAACwc,aAAN,CAAoBC,WAApB,CAAgCzc,KAAhC;AACA;AACH;AACJ;;AACD,UAAI;AACAvB,QAAAA,GAAG,CAACuD,KAAJ;AACH,OAFD,CAEE,OAAOrW,GAAP,EAAY;AACjB;;AACD,aAASma,gBAAT,CAA0BlF,UAA1B,EAAsCtC,IAAtC,EAA4C;AACxC,WAAK,IAAIxM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8O,UAAU,CAACnP,MAA/B,EAAuCK,CAAC,EAAxC;AAA4C,YAAI;AAC5C,cAAI8O,UAAU,CAAC9O,CAAD,CAAV,KAAkBwM,IAAtB,EAA4B,OAAOxM,CAAP;AAC/B,SAF2C,CAE1C,OAAOnG,GAAP,EAAY;AAFd;;AAGA,aAAO,CAAC,CAAR;AACH;;AACD,QAAIoa,8BAA8B,GAAG,YAAW;AAC5C,eAASC,sBAAT,GAAkC;AAC9B,aAAK7X,IAAL,GAAY,KAAK,CAAjB;AACA,aAAK8X,OAAL,GAAe,KAAK,CAApB;AACA,aAAK3U,IAAL,GAAY,KAAK,CAAjB;AACA,aAAK7D,MAAL,GAAc,KAAK,CAAnB;AACA,aAAKU,IAAL,GAAY,gBAAgB,MAAM+X,IAAI,CAACC,MAAL,EAAN,KAAwB,CAAxC,IAA6C,IAAzD;AACA,YAAI,YAAW;AACX,cAAI,eAAe,OAAOC,OAA1B,EAAmC,OAAO,CAAC,CAAR;AACnC,cAAI,KAAK,CAAL,KAAW9b,MAAM,CAAC+b,MAAtB,EAA8B,OAAO,CAAC,CAAR;;AAC9B,cAAI;AACA,gBAAIC,WAAW,GAAG,IAAIF,OAAJ,EAAlB;AACA,gBAAIG,OAAO,GAAG,EAAd;AACAjc,YAAAA,MAAM,CAAC+b,MAAP,CAAcE,OAAd;AACAD,YAAAA,WAAW,CAAC7Q,GAAZ,CAAgB8Q,OAAhB,EAAyB,eAAzB;AACA,mBAAO,oBAAoBD,WAAW,CAAC/Q,GAAZ,CAAgBgR,OAAhB,CAA3B;AACH,WAND,CAME,OAAO5a,GAAP,EAAY;AACV,mBAAO,CAAC,CAAR;AACH;AACJ,SAZG,EAAJ,EAYK,IAAI;AACL,eAAKsa,OAAL,GAAe,IAAIG,OAAJ,EAAf;AACH,SAFI,CAEH,OAAOza,GAAP,EAAY;AACd,aAAK2F,IAAL,GAAY,EAAZ;AACA,aAAK7D,MAAL,GAAc,EAAd;AACH;;AACD,UAAI6V,MAAM,GAAG0C,sBAAsB,CAACzb,SAApC;;AACA+Y,MAAAA,MAAM,CAACkD,qBAAP,GAA+B,YAAW;AACtC,YAAIP,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAI3U,IAAI,GAAG,KAAKA,IAAhB;;AACA,aAAK,IAAIQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,IAAI,CAACG,MAAzB,EAAiCK,CAAC,EAAlC,EAAsC;AAClC,cAAIxG,KAAK,GAAGgG,IAAI,CAACQ,CAAD,CAAhB;;AACA,cAAI8P,QAAQ,CAACtW,KAAD,CAAR,IAAmB+U,cAAc,CAAC/U,KAAD,CAArC,EAA8C;AAC1C,gBAAI2a,OAAJ,EAAa,IAAI;AACbA,cAAAA,OAAO,UAAP,CAAe3a,KAAf;AACH,aAFY,CAEX,OAAOK,GAAP,EAAY;AACd2F,YAAAA,IAAI,CAACgU,MAAL,CAAYxT,CAAZ,EAAe,CAAf;AACA,iBAAKrE,MAAL,CAAY6X,MAAZ,CAAmBxT,CAAnB,EAAsB,CAAtB;AACAA,YAAAA,CAAC,IAAI,CAAL;AACH;AACJ;AACJ,OAdD;;AAeAwR,MAAAA,MAAM,CAACmD,iBAAP,GAA2B,UAASpb,GAAT,EAAc;AACrC,eAAO,CAACuW,QAAQ,CAACvW,GAAD,CAAhB;AACH,OAFD;;AAGAiY,MAAAA,MAAM,CAAC7N,GAAP,GAAa,UAASpK,GAAT,EAAcC,KAAd,EAAqB;AAC9B,YAAI,CAACD,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACbA,UAAAA,OAAO,CAACxQ,GAAR,CAAYpK,GAAZ,EAAiBC,KAAjB;AACH,SAFY,CAEX,OAAOK,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAI8C,IAAI,GAAG,KAAKA,IAAhB;AACA,cAAIyC,KAAK,GAAGvF,GAAG,CAAC8C,IAAD,CAAf;AACAyC,UAAAA,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,GAA4BuF,KAAK,CAAC,CAAD,CAAL,GAAWtF,KAAvC,GAA+ChB,MAAM,CAACiB,cAAP,CAAsBF,GAAtB,EAA2B8C,IAA3B,EAAiC;AAC5E7C,YAAAA,KAAK,EAAE,CAAED,GAAF,EAAOC,KAAP,CADqE;AAE5EI,YAAAA,QAAQ,EAAE,CAAC;AAFiE,WAAjC,CAA/C;AAIA;AACH,SARgC,CAQ/B,OAAOC,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIlV,IAAI,GAAG,KAAKA,IAAhB;AACA,YAAI7D,MAAM,GAAG,KAAKA,MAAlB;AACA,YAAIiZ,KAAK,GAAGZ,gBAAgB,CAACxU,IAAD,EAAOjG,GAAP,CAA5B;;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB;AACdpV,UAAAA,IAAI,CAACJ,IAAL,CAAU7F,GAAV;AACAoC,UAAAA,MAAM,CAACyD,IAAP,CAAY5F,KAAZ;AACH,SAHD,MAGOmC,MAAM,CAACiZ,KAAD,CAAN,GAAgBpb,KAAhB;AACV,OAzBD;;AA0BAgY,MAAAA,MAAM,CAAC/N,GAAP,GAAa,UAASlK,GAAT,EAAc;AACvB,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACb,cAAIA,OAAO,CAACU,GAAR,CAAYtb,GAAZ,CAAJ,EAAsB,OAAO4a,OAAO,CAAC1Q,GAAR,CAAYlK,GAAZ,CAAP;AACzB,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACA,iBAAOyC,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,GAA4BuF,KAAK,CAAC,CAAD,CAAjC,GAAuC,KAAK,CAAnD;AACH,SAHgC,CAG/B,OAAOjF,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIE,KAAK,GAAGZ,gBAAgB,CAAC,KAAKxU,IAAN,EAAYjG,GAAZ,CAA5B;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB,OAAO,KAAKjZ,MAAL,CAAYiZ,KAAZ,CAAP;AACrB,OAfD;;AAgBApD,MAAAA,MAAM,UAAN,GAAgB,UAASjY,GAAT,EAAc;AAC1B,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACbA,UAAAA,OAAO,UAAP,CAAe5a,GAAf;AACH,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACAyC,UAAAA,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,KAA8BuF,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAzD;AACH,SAHgC,CAG/B,OAAOjF,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIlV,IAAI,GAAG,KAAKA,IAAhB;AACA,YAAIoV,KAAK,GAAGZ,gBAAgB,CAACxU,IAAD,EAAOjG,GAAP,CAA5B;;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB;AACdpV,UAAAA,IAAI,CAACgU,MAAL,CAAYoB,KAAZ,EAAmB,CAAnB;AACA,eAAKjZ,MAAL,CAAY6X,MAAZ,CAAmBoB,KAAnB,EAA0B,CAA1B;AACH;AACJ,OAnBD;;AAoBApD,MAAAA,MAAM,CAACqD,GAAP,GAAa,UAAStb,GAAT,EAAc;AACvB,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACb,cAAIA,OAAO,CAACU,GAAR,CAAYtb,GAAZ,CAAJ,EAAsB,OAAO,CAAC,CAAR;AACzB,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACA,iBAAO,EAAE,CAACyC,KAAD,IAAUA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAzB,CAAP;AACH,SAHgC,CAG/B,OAAOM,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,eAAO,CAAC,CAAD,KAAOV,gBAAgB,CAAC,KAAKxU,IAAN,EAAYjG,GAAZ,CAA9B;AACH,OAdD;;AAeAiY,MAAAA,MAAM,CAACsD,QAAP,GAAkB,UAASvb,GAAT,EAAcuR,MAAd,EAAsB;AACpC,YAAI,KAAK+J,GAAL,CAAStb,GAAT,CAAJ,EAAmB,OAAO,KAAKkK,GAAL,CAASlK,GAAT,CAAP;AACnB,YAAIC,KAAK,GAAGsR,MAAM,EAAlB;AACA,aAAKnH,GAAL,CAASpK,GAAT,EAAcC,KAAd;AACA,eAAOA,KAAP;AACH,OALD;;AAMA,aAAO0a,sBAAP;AACH,KAhIoC,EAArC;;AAiIA,aAAS0W,eAAT,CAAyB7f,CAAzB,EAA4B;AACxB,aAAO,CAAC6f,eAAe,GAAGpyB,MAAM,CAAC+D,cAAP,GAAwB/D,MAAM,CAACiD,cAA/B,GAAgD,UAASsP,CAAT,EAAY;AAClF,eAAOA,CAAC,CAACvO,SAAF,IAAehE,MAAM,CAACiD,cAAP,CAAsBsP,CAAtB,CAAtB;AACH,OAFM,EAEJA,CAFI,CAAP;AAGH;;AACD,aAAS8f,yBAAT,GAAqC;AACjC,UAAI,eAAe,OAAOC,OAAtB,IAAiC,CAACA,OAAO,CAACC,SAA9C,EAAyD,OAAO,CAAC,CAAR;AACzD,UAAID,OAAO,CAACC,SAAR,CAAkBC,IAAtB,EAA4B,OAAO,CAAC,CAAR;AAC5B,UAAI,cAAc,OAAOC,KAAzB,EAAgC,OAAO,CAAC,CAAR;;AAChC,UAAI;AACAxmB,QAAAA,IAAI,CAAChM,SAAL,CAAekG,QAAf,CAAwB5D,IAAxB,CAA6B+vB,OAAO,CAACC,SAAR,CAAkBtmB,IAAlB,EAAwB,EAAxB,EAA6B,YAAW,EAAxC,CAA7B;AACA,eAAO,CAAC,CAAR;AACH,OAHD,CAGE,OAAOymB,CAAP,EAAU;AACR,eAAO,CAAC,CAAR;AACH;AACJ;;AACD,aAASC,mBAAT,CAA6BC,MAA7B,EAAqC3X,IAArC,EAA2C4X,KAA3C,EAAkD;AAC9C,aAAO,CAACF,mBAAmB,GAAGN,yBAAyB,KAAKC,OAAO,CAACC,SAAb,GAAyB,UAASK,MAAT,EAAiB3X,IAAjB,EAAuB4X,KAAvB,EAA8B;AAC1G,YAAIC,CAAC,GAAG,CAAE,IAAF,CAAR;AACAA,QAAAA,CAAC,CAAClsB,IAAF,CAAOsU,KAAP,CAAa4X,CAAb,EAAgB7X,IAAhB;AACA,YAAI8X,QAAQ,GAAG,KAAKhqB,QAAQ,CAAC8J,IAAT,CAAcqI,KAAd,CAAoB0X,MAApB,EAA4BE,CAA5B,CAAL,GAAf;AACAD,QAAAA,KAAK,IAAI7D,eAAe,CAAC+D,QAAD,EAAWF,KAAK,CAAC5yB,SAAjB,CAAxB;AACA,eAAO8yB,QAAP;AACH,OANM,EAMJ7X,KANI,CAME,IANF,EAMQsD,SANR,CAAP;AAOH;;AACD,aAASwU,+BAAT,CAAyCH,KAAzC,EAAgD;AAC5C,UAAII,MAAM,GAAG,cAAc,OAAOloB,GAArB,GAA2B,IAAIA,GAAJ,EAA3B,GAAqC,KAAK,CAAvD;;AACA,aAAO,CAACioB,+BAA+B,GAAG,yCAASH,KAAT,EAAgB;AACtD,YAAI,SAASA,KAAT,IAAkB,EAAEzwB,EAAE,GAAGywB,KAAL,EAAY,CAAC,CAAD,KAAO9pB,QAAQ,CAAC5C,QAAT,CAAkB5D,IAAlB,CAAuBH,EAAvB,EAA2B2S,OAA3B,CAAmC,eAAnC,CAArB,CAAtB,EAAiG,OAAO8d,KAAP;AACjG,YAAIzwB,EAAJ;AACA,YAAI,cAAc,OAAOywB,KAAzB,EAAgC,MAAM,IAAI9sB,SAAJ,CAAc,oDAAd,CAAN;;AAChC,YAAI,KAAK,CAAL,KAAWktB,MAAf,EAAuB;AACnB,cAAIA,MAAM,CAAC5W,GAAP,CAAWwW,KAAX,CAAJ,EAAuB,OAAOI,MAAM,CAAChoB,GAAP,CAAW4nB,KAAX,CAAP;;AACvBI,UAAAA,MAAM,CAAC9nB,GAAP,CAAW0nB,KAAX,EAAkBK,OAAlB;AACH;;AACD,iBAASA,OAAT,GAAmB;AACf,iBAAOP,mBAAmB,CAACE,KAAD,EAAQrU,SAAR,EAAmB4T,eAAe,CAAC,IAAD,CAAf,CAAsB/uB,WAAzC,CAA1B;AACH;;AACD6vB,QAAAA,OAAO,CAACjzB,SAAR,GAAoBD,MAAM,CAAC8B,MAAP,CAAc+wB,KAAK,CAAC5yB,SAApB,EAA+B;AAC/CoD,UAAAA,WAAW,EAAE;AACTrC,YAAAA,KAAK,EAAEkyB,OADE;AAEThyB,YAAAA,UAAU,EAAE,CAAC,CAFJ;AAGTE,YAAAA,QAAQ,EAAE,CAAC,CAHF;AAITD,YAAAA,YAAY,EAAE,CAAC;AAJN;AADkC,SAA/B,CAApB;AAQA,eAAO6tB,eAAe,CAACkE,OAAD,EAAUL,KAAV,CAAtB;AACH,OApBM,EAoBJA,KApBI,CAAP;AAqBH;;AACD,aAASM,SAAT,CAAmBC,OAAnB,EAA4B;AACxB,UAAIC,MAAM,GAAG,CAAC,CAAd;;AACA,UAAI;AACA,SAACD,OAAO,YAAYxoB,MAAM,CAAC0oB,OAA1B,IAAqC,SAASF,OAAT,IAAoB,YAAY,OAAOA,OAAvC,IAAkD,MAAMA,OAAO,CAACG,QAAhE,IAA4E,YAAY,OAAOH,OAAO,CAACnqB,KAAvG,IAAgH,YAAY,OAAOmqB,OAAO,CAAC1c,aAAjL,MAAoM2c,MAAM,GAAG,CAAC,CAA9M;AACH,OAFD,CAEE,OAAOG,CAAP,EAAU;;AACZ,aAAOH,MAAP;AACH;;AACD,aAAS9W,eAAT,CAAyBna,EAAzB,EAA6B;AACzB,aAAOA,EAAE,CAACyB,IAAH,IAAWzB,EAAE,CAACoa,QAAd,IAA0Bpa,EAAE,CAACkB,WAA7B,IAA4C,WAAnD;AACH;;AACD,aAASmZ,eAAT,CAAyBra,EAAzB,EAA6ByB,IAA7B,EAAmC;AAC/B,UAAI;AACA,eAAOzB,EAAE,CAACyB,IAAV;AACAzB,QAAAA,EAAE,CAACyB,IAAH,GAAUA,IAAV;AACH,OAHD,CAGE,OAAOxC,GAAP,EAAY;;AACde,MAAAA,EAAE,CAACoa,QAAH,GAAcpa,EAAE,CAACkB,WAAH,GAAiBO,IAA/B;AACA,aAAOzB,EAAP;AACH;;AACD,aAASqxB,YAAT,CAAsB3W,GAAtB,EAA2B;AACvB,UAAI,cAAc,OAAOhQ,IAAzB,EAA+B,OAAOA,IAAI,CAACiQ,kBAAkB,CAACD,GAAD,CAAlB,CAAwBF,OAAxB,CAAgC,iBAAhC,EAAoD,UAASzK,CAAT,EAAY6K,EAAZ,EAAgB;AAC3G,eAAOtR,MAAM,CAACuR,YAAP,CAAoBC,QAAQ,CAACF,EAAD,EAAK,EAAL,CAA5B,CAAP;AACH,OAF0C,CAAD,CAAJ,CAEjCJ,OAFiC,CAEzB,MAFyB,EAEjB,EAFiB,CAAP;AAG/B,UAAI,eAAe,OAAOO,MAA1B,EAAkC,OAAOA,MAAM,CAACxT,IAAP,CAAYmT,GAAZ,EAAiB,MAAjB,EAAyB3W,QAAzB,CAAkC,QAAlC,EAA4CyW,OAA5C,CAAoD,MAApD,EAA4D,EAA5D,CAAP;AAClC,YAAM,IAAItX,KAAJ,CAAU,oCAAV,CAAN;AACH;;AACD,aAASoX,QAAT,GAAoB;AAChB,UAAIC,KAAK,GAAG,kBAAZ;AACA,aAAO,SAAS,aAAaC,OAAb,CAAqB,IAArB,EAA4B,YAAW;AACnD,eAAOD,KAAK,CAAChV,MAAN,CAAaiU,IAAI,CAACiB,KAAL,CAAWjB,IAAI,CAACC,MAAL,KAAgBc,KAAK,CAACxV,MAAjC,CAAb,CAAP;AACH,OAFe,CAAT,GAED,GAFC,GAEKssB,YAAY,CAAE,IAAIxnB,IAAJ,EAAD,CAAWmR,WAAX,GAAyBxV,KAAzB,CAA+B,EAA/B,EAAmC,EAAnC,EAAuCgV,OAAvC,CAA+C,GAA/C,EAAoD,GAApD,CAAD,CAAZ,CAAuEA,OAAvE,CAA+E,eAA/E,EAAgG,EAAhG,EAAoGS,WAApG,EAFZ;AAGH;;AACD,QAAIC,SAAJ;;AACA,aAASC,aAAT,CAAuBtC,IAAvB,EAA6B;AACzB,UAAI;AACA,eAAO9K,IAAI,CAAC3F,SAAL,CAAe,GAAG5C,KAAH,CAASrF,IAAT,CAAc0Y,IAAd,CAAf,EAAqC,UAASuC,MAAT,EAAiBC,GAAjB,EAAsB;AAC9D,iBAAO,cAAc,OAAOA,GAArB,GAA2B,aAAa,UAAS3c,GAAT,EAAc;AACzDwc,YAAAA,SAAS,GAAGA,SAAS,IAAI,IAAI7B,8BAAJ,EAAzB;AACA,gBAAI,QAAQ3a,GAAR,IAAe,YAAY,OAAOA,GAAnB,IAA0B,cAAc,OAAOA,GAAlE,EAAuE,MAAM,IAAIwE,KAAJ,CAAU,gBAAV,CAAN;AACvE,gBAAIoY,GAAG,GAAGJ,SAAS,CAACrS,GAAV,CAAcnK,GAAd,CAAV;;AACA,gBAAI,CAAC4c,GAAL,EAAU;AACNA,cAAAA,GAAG,GAAG,OAAO5c,GAAP,GAAa,GAAb,GAAmB4b,QAAQ,EAAjC;AACAY,cAAAA,SAAS,CAACnS,GAAV,CAAcrK,GAAd,EAAmB4c,GAAnB;AACH;;AACD,mBAAOA,GAAP;AACH,WAT8C,CAS7CD,GAT6C,CAAb,GASzB,GATF,GASQ0V,SAAS,CAAC1V,GAAD,CAAT,GAAiB,EAAjB,GAAsBA,GATrC;AAUH,SAXM,CAAP;AAYH,OAbD,CAaE,OAAOpc,GAAP,EAAY;AACV,cAAM,IAAIiE,KAAJ,CAAU,0DAAV,CAAN;AACH;AACJ;;AACD,aAASqY,cAAT,GAA0B;AACtB,aAAO,EAAP;AACH;;AACD,QAAIC,kBAAkB,GAAG,CAAzB;AACA,QAAIC,2BAA2B,GAAG,CAAlC;;AACA,aAASC,OAAT,CAAiBra,MAAjB,EAAyBsa,OAAzB,EAAkC;AAC9B,WAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACA,UAAIC,qBAAqB,GAAGD,OAAO,CAACE,aAApC;AAAA,UAAmDA,aAAa,GAAG,KAAK,CAAL,KAAWD,qBAAX,IAAoCA,qBAAvG;AAAA,UAA8HE,SAAS,GAAGH,OAAO,CAAC/D,IAAlJ;AACA,UAAImE,WAAJ;AACA,UAAIC,SAAJ;AACA,UAAIC,YAAY,GAAGT,kBAAnB;AACAA,MAAAA,kBAAkB,IAAI,CAAtB;;AACA,UAAIU,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAW;AAC9B,aAAK,IAAIC,IAAI,GAAGC,SAAS,CAACrX,MAArB,EAA6B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU6U,IAAV,CAApC,EAAqDE,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGF,IAA3E,EAAiFE,IAAI,EAArF;AAAyFxD,UAAAA,IAAI,CAACwD,IAAD,CAAJ,GAAaD,SAAS,CAACC,IAAD,CAAtB;AAAzF;;AACA,YAAIJ,YAAY,GAAGR,2BAAnB,EAAgD;AAC5CM,UAAAA,WAAW,GAAG,IAAd;AACAC,UAAAA,SAAS,GAAG,IAAZ;AACAC,UAAAA,YAAY,GAAGT,kBAAf;AACAA,UAAAA,kBAAkB,IAAI,CAAtB;AACH;;AACD,YAAIc,KAAJ;AACAA,QAAAA,KAAK,GAAGT,aAAa,GAAG,CAACG,SAAS,GAAGA,SAAS,IAAI,IAAI3C,8BAAJ,EAA1B,EAA8Da,QAA9D,CAAuE,IAAvE,EAA6EqB,cAA7E,CAAH,GAAkGQ,WAAW,GAAGA,WAAW,IAAI,EAApJ;AACA,YAAIQ,QAAJ;;AACA,YAAI;AACAA,UAAAA,QAAQ,GAAGpB,aAAa,CAACtC,IAAD,CAAxB;AACH,SAFD,CAEE,OAAOyY,OAAP,EAAgB;AACd,iBAAOjwB,MAAM,CAACyX,KAAP,CAAa,IAAb,EAAmBsD,SAAnB,CAAP;AACH;;AACD,YAAII,WAAW,GAAGF,KAAK,CAACC,QAAD,CAAvB;;AACA,YAAIC,WAAW,IAAIV,SAAf,IAA4BjS,IAAI,CAAC4S,GAAL,KAAaD,WAAW,CAAC5E,IAAzB,GAAgCkE,SAAhE,EAA2E;AACvE,iBAAOQ,KAAK,CAACC,QAAD,CAAZ;AACAC,UAAAA,WAAW,GAAG,IAAd;AACH;;AACD,YAAIA,WAAJ,EAAiB,OAAOA,WAAW,CAAC5d,KAAnB;AACjB,YAAIgZ,IAAI,GAAG/N,IAAI,CAAC4S,GAAL,EAAX;AACA,YAAI7d,KAAK,GAAGyC,MAAM,CAACyX,KAAP,CAAa,IAAb,EAAmBsD,SAAnB,CAAZ;AACAE,QAAAA,KAAK,CAACC,QAAD,CAAL,GAAkB;AACd3E,UAAAA,IAAI,EAAEA,IADQ;AAEdhZ,UAAAA,KAAK,EAAEA;AAFO,SAAlB;AAIA,eAAOA,KAAP;AACH,OA7BD;;AA8BAsd,MAAAA,gBAAgB,CAACvX,KAAjB,GAAyB,YAAW;AAChCoX,QAAAA,WAAW,GAAG,IAAd;AACAC,QAAAA,SAAS,GAAG,IAAZ;AACH,OAHD;;AAIA,aAAO3B,eAAe,CAAC6B,gBAAD,EAAmB,CAACP,OAAO,CAACla,IAAR,IAAgB0Y,eAAe,CAAC9Y,MAAD,CAAhC,IAA4C,YAA/D,CAAtB;AACH;;AACDqa,IAAAA,OAAO,CAAC1S,KAAR,GAAgB,YAAW;AACvByS,MAAAA,2BAA2B,GAAGD,kBAA9B;AACH,KAFD;;AAGA,aAASkB,cAAT,CAAwBrb,MAAxB,EAAgC;AAC5B,UAAIib,KAAK,GAAG,EAAZ;;AACA,eAASK,uBAAT,GAAmC;AAC/B,YAAIC,UAAU,GAAGR,SAAjB;AAAA,YAA4BlG,KAAK,GAAG,IAApC;;AACA,aAAK,IAAI2G,KAAK,GAAGT,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUuV,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+FjE,UAAAA,IAAI,CAACiE,KAAD,CAAJ,GAAcV,SAAS,CAACU,KAAD,CAAvB;AAA/F;;AACA,YAAIne,GAAG,GAAGwc,aAAa,CAACtC,IAAD,CAAvB;AACA,YAAIyD,KAAK,CAACve,cAAN,CAAqBY,GAArB,CAAJ,EAA+B,OAAO2d,KAAK,CAAC3d,GAAD,CAAZ;AAC/B2d,QAAAA,KAAK,CAAC3d,GAAD,CAAL,GAAakS,oBAAoB,OAApB,CAA0B,YAAW;AAC9C,iBAAOxP,MAAM,CAACyX,KAAP,CAAa5C,KAAb,EAAoB0G,UAApB,CAAP;AACH,SAFY,aAEA,YAAW;AACpB,iBAAON,KAAK,CAAC3d,GAAD,CAAZ;AACH,SAJY,CAAb;AAKA,eAAO2d,KAAK,CAAC3d,GAAD,CAAZ;AACH;;AACDge,MAAAA,uBAAuB,CAAChY,KAAxB,GAAgC,YAAW;AACvC2X,QAAAA,KAAK,GAAG,EAAR;AACH,OAFD;;AAGA,aAAOjC,eAAe,CAACsC,uBAAD,EAA0BxC,eAAe,CAAC9Y,MAAD,CAAf,GAA0B,mBAApD,CAAtB;AACH;;AACD,aAAS0b,aAAT,GAAyB;;AACzB,aAASwU,IAAT,CAAclwB,MAAd,EAAsB;AAClB,UAAImwB,MAAM,GAAG,CAAC,CAAd;AACA,aAAOnX,eAAe,CAAE,YAAW;AAC/B,YAAI,CAACmX,MAAL,EAAa;AACTA,UAAAA,MAAM,GAAG,CAAC,CAAV;AACA,iBAAOnwB,MAAM,CAACyX,KAAP,CAAa,IAAb,EAAmBsD,SAAnB,CAAP;AACH;AACJ,OALqB,EAKlBjC,eAAe,CAAC9Y,MAAD,CAAf,GAA0B,QALR,CAAtB;AAMH;;AACD,aAAS2b,cAAT,CAAwB/d,GAAxB,EAA6Bge,KAA7B,EAAoC;AAChC,WAAK,CAAL,KAAWA,KAAX,KAAqBA,KAAK,GAAG,CAA7B;AACA,UAAIA,KAAK,IAAI,CAAb,EAAgB,OAAO,+BAAP;;AAChB,UAAI;AACA,YAAI,CAAChe,GAAL,EAAU,OAAO,qBAAqB,GAAG8E,QAAH,CAAY5D,IAAZ,CAAiBlB,GAAjB,CAArB,GAA6C,GAApD;AACV,YAAI,YAAY,OAAOA,GAAvB,EAA4B,OAAOA,GAAP;;AAC5B,YAAIA,GAAG,YAAYiE,KAAnB,EAA0B;AACtB,cAAIsT,KAAK,GAAGvX,GAAG,IAAIA,GAAG,CAACuX,KAAvB;AACA,cAAI1C,OAAO,GAAG7U,GAAG,IAAIA,GAAG,CAAC6U,OAAzB;AACA,cAAI0C,KAAK,IAAI1C,OAAb,EAAsB,OAAO,CAAC,CAAD,KAAO0C,KAAK,CAAC7D,OAAN,CAAcmB,OAAd,CAAP,GAAgC0C,KAAhC,GAAwC1C,OAAO,GAAG,IAAV,GAAiB0C,KAAhE;AACtB,cAAIA,KAAJ,EAAW,OAAOA,KAAP;AACX,cAAI1C,OAAJ,EAAa,OAAOA,OAAP;AAChB;;AACD,eAAO7U,GAAG,IAAIA,GAAG,CAAC8E,QAAX,IAAuB,cAAc,OAAO9E,GAAG,CAAC8E,QAAhD,GAA2D9E,GAAG,CAAC8E,QAAJ,EAA3D,GAA4E,GAAGA,QAAH,CAAY5D,IAAZ,CAAiBlB,GAAjB,CAAnF;AACH,OAXD,CAWE,OAAOie,MAAP,EAAe;AACb,eAAO,qCAAqCF,cAAc,CAACE,MAAD,EAASD,KAAK,GAAG,CAAjB,CAA1D;AACH;AACJ;;AACD,aAAS7U,SAAT,CAAmBwJ,IAAnB,EAAyB;AACrB,aAAO,YAAY,OAAOA,IAAnB,GAA0BA,IAA1B,GAAiCA,IAAI,IAAIA,IAAI,CAAC7N,QAAb,IAAyB,cAAc,OAAO6N,IAAI,CAAC7N,QAAnD,GAA8D6N,IAAI,CAAC7N,QAAL,EAA9D,GAAgF,GAAGA,QAAH,CAAY5D,IAAZ,CAAiByR,IAAjB,CAAxH;AACH;;AACD,aAAS6f,MAAT,CAAgB/yB,GAAhB,EAAqBkiB,MAArB,EAA6B;AACzB,UAAI,CAACA,MAAL,EAAa,OAAOliB,GAAP;AACb,UAAId,MAAM,CAACqvB,MAAX,EAAmB,OAAOrvB,MAAM,CAACqvB,MAAP,CAAcvuB,GAAd,EAAmBkiB,MAAnB,CAAP;;AACnB,WAAK,IAAIjiB,GAAT,IAAgBiiB,MAAhB;AAAwBA,QAAAA,MAAM,CAAC7iB,cAAP,CAAsBY,GAAtB,MAA+BD,GAAG,CAACC,GAAD,CAAH,GAAWiiB,MAAM,CAACjiB,GAAD,CAAhD;AAAxB;;AACA,aAAOD,GAAP;AACH;;AACDgd,IAAAA,OAAO,CAAE,UAAShd,GAAT,EAAc;AACnB,UAAId,MAAM,CAACmD,MAAX,EAAmB,OAAOnD,MAAM,CAACmD,MAAP,CAAcrC,GAAd,CAAP;AACnB,UAAI2D,MAAM,GAAG,EAAb;;AACA,WAAK,IAAI1D,GAAT,IAAgBD,GAAhB;AAAqBA,QAAAA,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,KAA2B0D,MAAM,CAACmC,IAAP,CAAY9F,GAAG,CAACC,GAAD,CAAf,CAA3B;AAArB;;AACA,aAAO0D,MAAP;AACH,KALM,CAAP;;AAMA,aAASqvB,QAAT,CAAkB9f,IAAlB,EAAwB;AACpB,aAAOA,IAAP;AACH;;AACD,aAAS+f,YAAT,CAAsBtwB,MAAtB,EAA8BuW,IAA9B,EAAoC;AAChC,UAAID,OAAJ;AACA,OAAC,SAAS2T,IAAT,GAAgB;AACb3T,QAAAA,OAAO,GAAGX,UAAU,CAAE,YAAW;AAC7B3V,UAAAA,MAAM;AACNiqB,UAAAA,IAAI;AACP,SAHmB,EAGhB1T,IAHgB,CAApB;AAIH,OALA,EAAD;AAMA,aAAO;AACHe,QAAAA,MAAM,EAAE,kBAAW;AACfb,UAAAA,YAAY,CAACH,OAAD,CAAZ;AACH;AAHE,OAAP;AAKH;;AACD,aAASia,gBAAT,CAA0B5Q,MAA1B,EAAkC;AAC9B,aAAOA,MAAM,CAACxG,OAAP,CAAe,WAAf,EAA6B,UAASqX,CAAT,EAAY;AAC5C,eAAOA,CAAC,CAAC,CAAD,CAAD,CAAKC,WAAL,EAAP;AACH,OAFM,CAAP;AAGH;;AACD,aAASC,cAAT,CAAwBrzB,GAAxB,EAA6BC,GAA7B,EAAkCuR,MAAlC,EAA0C;AACtC,UAAI5I,KAAK,CAACuN,OAAN,CAAcnW,GAAd,CAAJ,EAAwB;AACpB,YAAI,YAAY,OAAOC,GAAvB,EAA4B,MAAM,IAAIgF,SAAJ,CAAc,0BAAd,CAAN;AAC/B,OAFD,MAEO,IAAI,YAAY,OAAOjF,GAAnB,IAA0B,SAASA,GAAnC,IAA0C,YAAY,OAAOC,GAAjE,EAAsE,MAAM,IAAIgF,SAAJ,CAAc,2BAAd,CAAN;;AAC7E/F,MAAAA,MAAM,CAACiB,cAAP,CAAsBH,GAAtB,EAA2BC,GAA3B,EAAgC;AAC5BI,QAAAA,YAAY,EAAE,CAAC,CADa;AAE5BD,QAAAA,UAAU,EAAE,CAAC,CAFe;AAG5B+J,QAAAA,GAAG,EAAE,eAAW;AACZ,iBAAOnK,GAAG,CAACC,GAAD,CAAV;AACA,cAAIC,KAAK,GAAGsR,MAAM,EAAlB;AACAxR,UAAAA,GAAG,CAACC,GAAD,CAAH,GAAWC,KAAX;AACA,iBAAOA,KAAP;AACH,SAR2B;AAS5BmK,QAAAA,GAAG,EAAE,aAASnK,KAAT,EAAgB;AACjB,iBAAOF,GAAG,CAACC,GAAD,CAAV;AACAD,UAAAA,GAAG,CAACC,GAAD,CAAH,GAAWC,KAAX;AACH;AAZ2B,OAAhC;AAcH;;AACD,aAASozB,SAAT,CAAmBpgB,IAAnB,EAAyB;AACrB,aAAO,GAAGpM,KAAH,CAASrF,IAAT,CAAcyR,IAAd,CAAP;AACH;;AACD,aAASqgB,cAAT,CAAwBvzB,GAAxB,EAA6B;AACzB,aAAO,YAAY,QAAQkT,IAAI,GAAGlT,GAAf,CAAZ,IAAmC,SAASkT,IAA5C,IAAoD,sBAAsB,GAAG7N,QAAH,CAAY5D,IAAZ,CAAiBzB,GAAjB,CAAjF;AACA,UAAIkT,IAAJ;AACH;;AACD,aAASsgB,aAAT,CAAuBxzB,GAAvB,EAA4B;AACxB,UAAI,CAACuzB,cAAc,CAACvzB,GAAD,CAAnB,EAA0B,OAAO,CAAC,CAAR;AAC1B,UAAIuC,WAAW,GAAGvC,GAAG,CAACuC,WAAtB;AACA,UAAI,cAAc,OAAOA,WAAzB,EAAsC,OAAO,CAAC,CAAR;AACtC,UAAIpD,SAAS,GAAGoD,WAAW,CAACpD,SAA5B;AACA,aAAO,CAAC,CAACo0B,cAAc,CAACp0B,SAAD,CAAhB,IAA+B,CAAC,CAACA,SAAS,CAACE,cAAV,CAAyB,eAAzB,CAAxC;AACH;;AACD,aAASo0B,aAAT,CAAuBvgB,IAAvB,EAA6BwgB,QAA7B,EAAuCC,OAAvC,EAAgD;AAC5C,WAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;;AACA,UAAI/qB,KAAK,CAACuN,OAAN,CAAcjD,IAAd,CAAJ,EAAyB;AACrB,YAAI7M,MAAM,GAAG6M,IAAI,CAAC7M,MAAlB;AACA,YAAI1C,MAAM,GAAG,EAAb;;AACA,YAAIiwB,MAAM,GAAG,SAATA,MAAS,CAASltB,CAAT,EAAY;AACrB2sB,UAAAA,cAAc,CAAC1vB,MAAD,EAAS+C,CAAT,EAAa,YAAW;AAClC,gBAAImtB,OAAO,GAAGF,OAAO,GAAGA,OAAO,GAAG,GAAV,GAAgBjtB,CAAnB,GAAuB,KAAKA,CAAjD;AACA,gBAAI6N,KAAK,GAAGmf,QAAQ,CAACxgB,IAAI,CAACxM,CAAD,CAAL,EAAUA,CAAV,EAAamtB,OAAb,CAApB;AACA,aAACL,aAAa,CAACjf,KAAD,CAAb,IAAwB3L,KAAK,CAACuN,OAAN,CAAc5B,KAAd,CAAzB,MAAmDA,KAAK,GAAGkf,aAAa,CAAClf,KAAD,EAAQmf,QAAR,EAAkBG,OAAlB,CAAxE;AACA,mBAAOtf,KAAP;AACH,WALa,CAAd;AAMH,SAPD;;AAQA,aAAK,IAAI7N,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,MAApB,EAA4BK,CAAC,EAA7B;AAAiCktB,UAAAA,MAAM,CAACltB,CAAD,CAAN;AAAjC;;AACA,eAAO/C,MAAP;AACH;;AACD,UAAI6vB,aAAa,CAACtgB,IAAD,CAAjB,EAAyB;AACrB,YAAI6E,OAAO,GAAG,EAAd;;AACA,YAAI+b,MAAM,GAAG,SAATA,MAAS,CAAS7zB,GAAT,EAAc;AACvB,cAAI,CAACiT,IAAI,CAAC7T,cAAL,CAAoBY,GAApB,CAAL,EAA+B,OAAO,CAAP;AAC/BozB,UAAAA,cAAc,CAACtb,OAAD,EAAU9X,GAAV,EAAgB,YAAW;AACrC,gBAAI4zB,OAAO,GAAGF,OAAO,GAAGA,OAAO,GAAG,GAAV,GAAgB1zB,GAAnB,GAAyB,KAAKA,GAAnD;AACA,gBAAIsU,KAAK,GAAGmf,QAAQ,CAACxgB,IAAI,CAACjT,GAAD,CAAL,EAAYA,GAAZ,EAAiB4zB,OAAjB,CAApB;AACA,aAACL,aAAa,CAACjf,KAAD,CAAb,IAAwB3L,KAAK,CAACuN,OAAN,CAAc5B,KAAd,CAAzB,MAAmDA,KAAK,GAAGkf,aAAa,CAAClf,KAAD,EAAQmf,QAAR,EAAkBG,OAAlB,CAAxE;AACA,mBAAOtf,KAAP;AACH,WALa,CAAd;AAMH,SARD;;AASA,aAAK,IAAItU,GAAT,IAAgBiT,IAAhB;AAAsB4gB,UAAAA,MAAM,CAAC7zB,GAAD,CAAN;AAAtB;;AACA,eAAO8X,OAAP;AACH;;AACD,YAAM,IAAIvT,KAAJ,CAAU,yBAAV,CAAN;AACH;;AACD,aAASuvB,SAAT,CAAmB7zB,KAAnB,EAA0B;AACtB,aAAO,QAAQA,KAAf;AACH;;AACD,aAASue,YAAT,CAAsBvL,IAAtB,EAA4B;AACxB,aAAO,sBAAsB,GAAG7N,QAAH,CAAY5D,IAAZ,CAAiByR,IAAjB,CAA7B;AACH;;AACD,aAASwL,aAAT,CAAuB1e,GAAvB,EAA4BC,GAA5B,EAAiCuR,MAAjC,EAAyC;AACrC,UAAIxR,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,CAAJ,EAA6B,OAAOD,GAAG,CAACC,GAAD,CAAV;AAC7B,UAAI0c,GAAG,GAAGnL,MAAM,EAAhB;AACAxR,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAW0c,GAAX;AACA,aAAOA,GAAP;AACH;;AACD,aAASqX,OAAT,CAAiBh0B,GAAjB,EAAsB;AAClB,UAAIi0B,KAAK,GAAG,EAAZ;AACA,UAAIC,OAAO,GAAG,CAAC,CAAf;AACA,UAAIC,QAAJ;AACA,UAAIC,OAAO,GAAG;AACV/pB,QAAAA,GAAG,EAAE,aAAStH,IAAT,EAAemQ,IAAf,EAAqB;AACtB,cAAI,CAACghB,OAAL,EAAc;AACVl0B,YAAAA,GAAG,CAAC+C,IAAD,CAAH,GAAYmQ,IAAZ;AACAkhB,YAAAA,OAAO,CAACC,QAAR,CAAkB,YAAW;AACzB,qBAAOr0B,GAAG,CAAC+C,IAAD,CAAV;AACH,aAFD;AAGH;;AACD,iBAAOmQ,IAAP;AACH,SATS;AAUVmhB,QAAAA,QAAQ,EAAE,kBAAS1xB,MAAT,EAAiB;AACvB,cAAI2xB,IAAI,GAAGzB,IAAI,CAAE,YAAW;AACxB,mBAAOlwB,MAAM,CAACwxB,QAAD,CAAb;AACH,WAFc,CAAf;AAGAD,UAAAA,OAAO,GAAGvxB,MAAM,CAACwxB,QAAD,CAAT,GAAsBF,KAAK,CAACnuB,IAAN,CAAWwuB,IAAX,CAA7B;AACA,iBAAO;AACHra,YAAAA,MAAM,EAAE,kBAAW;AACf,kBAAIqB,KAAK,GAAG2Y,KAAK,CAAChgB,OAAN,CAAcqgB,IAAd,CAAZ;AACA,eAAC,CAAD,KAAOhZ,KAAP,IAAgB2Y,KAAK,CAAC/Z,MAAN,CAAaoB,KAAb,EAAoB,CAApB,CAAhB;AACH;AAJE,WAAP;AAMH,SArBS;AAsBVhC,QAAAA,GAAG,EAAE,aAAS/Y,GAAT,EAAc;AACf4zB,UAAAA,QAAQ,GAAG5zB,GAAX;AACA,cAAIkZ,OAAO,GAAG,EAAd;AACAya,UAAAA,OAAO,GAAG,CAAC,CAAX;;AACA,iBAAMD,KAAK,CAAC5tB,MAAZ,GAAsB;AAClB,gBAAIiuB,IAAI,GAAGL,KAAK,CAACM,KAAN,EAAX;AACA9a,YAAAA,OAAO,CAAC3T,IAAR,CAAawuB,IAAI,EAAjB;AACH;;AACD,iBAAOniB,oBAAoB,CAACmH,GAArB,CAAyBG,OAAzB,EAAkC7V,IAAlC,CAAuCya,aAAvC,CAAP;AACH;AA/BS,OAAd;AAiCA,aAAO+V,OAAP;AACH;;AACD,aAASI,YAAT,CAAsBzxB,IAAtB,EAA4B0xB,KAA5B,EAAmC;AAC/B,UAAI,QAAQA,KAAZ,EAAmB,MAAM,IAAIjwB,KAAJ,CAAU,cAAczB,IAAd,GAAqB,gBAA/B,CAAN;AACnB,aAAO0xB,KAAP;AACH;;AACD,QAAIC,oBAAoB,GAAG,UAASC,MAAT,EAAiB;AACxCxG,MAAAA,cAAc,CAACyG,eAAD,EAAkBD,MAAlB,CAAd;;AACA,eAASC,eAAT,CAAyBxf,OAAzB,EAAkC;AAC9B,YAAIyf,MAAJ;;AACA,SAACA,MAAM,GAAGF,MAAM,CAAClzB,IAAP,CAAY,IAAZ,EAAkB2T,OAAlB,KAA8B,IAAxC,EAA8CrS,IAA9C,GAAqD8xB,MAAM,CAACtyB,WAAP,CAAmBQ,IAAxE;AACA,sBAAc,OAAOyB,KAAK,CAACswB,iBAA3B,GAA+CtwB,KAAK,CAACswB,iBAAN,CAAwB,UAASn0B,IAAT,EAAe;AAClF,cAAI,KAAK,CAAL,KAAWA,IAAf,EAAqB,MAAM,IAAIo0B,cAAJ,CAAmB,2DAAnB,CAAN;AACrB,iBAAOp0B,IAAP;AACH,SAHsE,CAGrEk0B,MAHqE,CAAxB,EAGpCA,MAAM,CAACtyB,WAH6B,CAA/C,GAGiCsyB,MAAM,CAAC/c,KAAP,GAAe,IAAItT,KAAJ,CAAU4Q,OAAV,EAAmB0C,KAHnE;AAIA,eAAO+c,MAAP;AACH;;AACD,aAAOD,eAAP;AACH,KAZ0B,CAYzB1C,+BAA+B,CAAC1tB,KAAD,CAZN,CAA3B;;AAaA,aAASwwB,OAAT,GAAmB;AACf,UAAI7lB,IAAI,GAAGrG,QAAQ,CAACqG,IAApB;AACA,UAAI,CAACA,IAAL,EAAW,MAAM,IAAI3K,KAAJ,CAAU,wBAAV,CAAN;AACX,aAAO2K,IAAP;AACH;;AACD,aAASwP,eAAT,GAA2B;AACvB,aAAOvI,OAAO,CAACtN,QAAQ,CAACqG,IAAV,CAAP,IAA0B,eAAerG,QAAQ,CAAC8V,UAAzD;AACH;;AACD,aAASC,qBAAT,GAAiC;AAC7B,aAAOzI,OAAO,CAACtN,QAAQ,CAACqG,IAAV,CAAP,IAA0B,kBAAkBrG,QAAQ,CAAC8V,UAA5D;AACH;;AACD,aAASqW,SAAT,CAAmBjZ,GAAnB,EAAwB;AACpB,aAAOC,kBAAkB,CAACD,GAAD,CAAzB;AACH;;AACDgB,IAAAA,OAAO,CAAE,YAAW;AAChB,aAAO,IAAI7K,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AAC/C,YAAImb,eAAe,MAAME,qBAAqB,EAA9C,EAAkD,OAAOrb,OAAO,EAAd;AAClD,YAAIsb,QAAQ,GAAGC,WAAW,CAAE,YAAW;AACnC,cAAIJ,eAAe,MAAME,qBAAqB,EAA9C,EAAkD;AAC9CG,YAAAA,aAAa,CAACF,QAAD,CAAb;AACA,mBAAOtb,OAAO,EAAd;AACH;AACJ,SALyB,EAKtB,EALsB,CAA1B;AAMH,OARM,CAAP;AASH,KAVM,CAAP;;AAWA,aAAS0xB,UAAT,CAAoBC,WAApB,EAAiC;AAC7B,aAAO,UAASxyB,MAAT,EAAiByyB,KAAjB,EAAwBjb,IAAxB,EAA8B;AACjC,aAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,EAA3B;AACA,YAAIyD,KAAK,GAAGjb,MAAM,CAAC0yB,wBAAP,GAAkC1yB,MAAM,CAAC0yB,wBAAP,IAAmC,EAAjF;AACA,YAAIp1B,GAAG,GAAGwc,aAAa,CAACtC,IAAD,CAAvB;AACA,eAAOyD,KAAK,CAACve,cAAN,CAAqBY,GAArB,IAA4B2d,KAAK,CAAC3d,GAAD,CAAjC,GAAyC2d,KAAK,CAAC3d,GAAD,CAAL,GAAa,YAAW;AACpE,cAAI2P,MAAM,GAAG,EAAb;AACA,cAAI,CAACulB,WAAL,EAAkB,OAAOvlB,MAAP;AAClB,cAAI,CAAC,CAAD,KAAOulB,WAAW,CAAClhB,OAAZ,CAAoB,GAApB,CAAX,EAAqC,OAAOrE,MAAP;;AACrC,eAAK,IAAIoT,GAAG,GAAG,CAAV,EAAasS,mBAAmB,GAAGH,WAAW,CAACzqB,KAAZ,CAAkB,GAAlB,CAAxC,EAAgEsY,GAAG,GAAGsS,mBAAmB,CAACjvB,MAA1F,EAAkG2c,GAAG,EAArG,EAAyG;AACrG,gBAAIuS,IAAI,GAAGD,mBAAmB,CAACtS,GAAD,CAA9B;AACA,aAACuS,IAAI,GAAGA,IAAI,CAAC7qB,KAAL,CAAW,GAAX,CAAR,EAAyB,CAAzB,KAA+B6qB,IAAI,CAAC,CAAD,CAAnC,KAA2C3lB,MAAM,CAAC4lB,kBAAkB,CAACD,IAAI,CAAC,CAAD,CAAL,CAAnB,CAAN,GAAsCC,kBAAkB,CAACD,IAAI,CAAC,CAAD,CAAL,CAAnG;AACH;;AACD,iBAAO3lB,MAAP;AACH,SAT4D,CAS3DwK,KAT2D,CASrD,KAAK,CATgD,EAS7CD,IAT6C,CAA7D;AAUH,OAdM,CAcL+a,UAdK,EAcO,CAdP,EAcU,CAAEC,WAAF,CAdV,CAAP;AAeH;;AACD,aAASM,WAAT,CAAqBC,aAArB,EAAoC7oB,KAApC,EAA2C;AACvC,WAAK,CAAL,KAAWA,KAAX,KAAqBA,KAAK,GAAG,EAA7B;AACA,aAAOA,KAAK,IAAI3N,MAAM,CAACgH,IAAP,CAAY2G,KAAZ,EAAmBxG,MAA5B,GAAqC,UAASrG,GAAT,EAAc;AACtD,aAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG,EAAzB;AACA,eAAOd,MAAM,CAACgH,IAAP,CAAYlG,GAAZ,EAAiB21B,MAAjB,CAAyB,UAAS11B,GAAT,EAAc;AAC1C,iBAAO,YAAY,OAAOD,GAAG,CAACC,GAAD,CAAtB,IAA+B,aAAa,OAAOD,GAAG,CAACC,GAAD,CAA7D;AACH,SAFM,EAEH6Z,GAFG,CAEE,UAAS7Z,GAAT,EAAc;AACnB,cAAI0c,GAAG,GAAG3c,GAAG,CAACC,GAAD,CAAb;AACA,cAAI,YAAY,OAAO0c,GAAnB,IAA0B,aAAa,OAAOA,GAAlD,EAAuD,MAAM,IAAI1X,SAAJ,CAAc,wBAAd,CAAN;AACvD,iBAAOgwB,SAAS,CAACh1B,GAAD,CAAT,GAAiB,GAAjB,GAAuBg1B,SAAS,CAACtY,GAAG,CAACtX,QAAJ,EAAD,CAAvC;AACH,SANM,EAMHsE,IANG,CAME,GANF,CAAP;AAOH,OAT2C,CAS1C2kB,QAAQ,CAAC,EAAD,EAAK4G,UAAU,CAACQ,aAAD,CAAf,EAAgC7oB,KAAhC,CATkC,CAArC,GAS6C6oB,aATpD;AAUH;;AACD,aAASjsB,WAAT,CAAqBmsB,SAArB,EAAgCrhB,KAAhC,EAAuC;AACnCqhB,MAAAA,SAAS,CAACnsB,WAAV,CAAsB8K,KAAtB;AACH;;AACD,aAASshB,cAAT,CAAwB3S,EAAxB,EAA4BvN,GAA5B,EAAiC;AAC7B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG7M,QAAzB;AACA,aAAOupB,SAAS,CAACnP,EAAD,CAAT,GAAgBA,EAAhB,GAAqB,YAAY,OAAOA,EAAnB,GAAwBvN,GAAG,CAACmgB,aAAJ,CAAkB5S,EAAlB,CAAxB,GAAgD,KAAK,CAAjF;AACH;;AACD,aAAS6S,YAAT,CAAsB7S,EAAtB,EAA0B;AACtB,aAAO,IAAI/Q,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkBC,MAAlB,EAA0B;AACvD,YAAIV,IAAI,GAAG2G,SAAS,CAACwZ,EAAD,CAApB;AACA,YAAI8S,EAAE,GAAGH,cAAc,CAAC3S,EAAD,CAAvB;AACA,YAAI8S,EAAJ,EAAQ,OAAOxyB,OAAO,CAACwyB,EAAD,CAAd;AACR,YAAIrX,eAAe,EAAnB,EAAuB,OAAOlb,MAAM,CAAC,IAAIe,KAAJ,CAAU,mCAAmCzB,IAAnC,GAA0C,iBAApD,CAAD,CAAb;AACvB,YAAI+b,QAAQ,GAAGC,WAAW,CAAE,YAAW;AACnC,cAAIiX,EAAE,GAAGH,cAAc,CAAC3S,EAAD,CAAvB,EAA6B;AACzB1f,YAAAA,OAAO,CAACwyB,EAAD,CAAP;AACAhX,YAAAA,aAAa,CAACF,QAAD,CAAb;AACH,WAHD,MAGO,IAAIH,eAAe,EAAnB,EAAuB;AAC1BK,YAAAA,aAAa,CAACF,QAAD,CAAb;AACA,mBAAOrb,MAAM,CAAC,IAAIe,KAAJ,CAAU,mCAAmCzB,IAAnC,GAA0C,iBAApD,CAAD,CAAb;AACH;AACJ,SARyB,EAQtB,EARsB,CAA1B;AASH,OAdM,CAAP;AAeH;;AACD,QAAI0qB,kBAAkB,GAAG,UAASwI,gBAAT,EAA2B;AAChD9H,MAAAA,cAAc,CAAC+H,cAAD,EAAiBD,gBAAjB,CAAd;;AACA,eAASC,cAAT,GAA0B;AACtB,eAAOD,gBAAgB,CAAC7b,KAAjB,CAAuB,IAAvB,EAA6BsD,SAA7B,KAA2C,IAAlD;AACH;;AACD,aAAOwY,cAAP;AACH,KANwB,CAMvBxB,oBANuB,CAAzB;;AAOA,QAAIyB,sBAAJ;;AACA,aAASC,cAAT,CAAwBxhB,KAAxB,EAA+B;AAC3B,UAAI,CAACuhB,sBAAsB,GAAGA,sBAAsB,IAAI,IAAIxb,8BAAJ,EAApD,EAAwFY,GAAxF,CAA4F3G,KAA5F,CAAJ,EAAwG;AACpG,YAAIyhB,QAAQ,GAAGF,sBAAsB,CAAChsB,GAAvB,CAA2ByK,KAA3B,CAAf;;AACA,YAAIyhB,QAAJ,EAAc,OAAOA,QAAP;AACjB;;AACD,UAAIvmB,OAAO,GAAG,IAAIqC,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkBC,MAAlB,EAA0B;AAC9DmR,QAAAA,KAAK,CAACqY,gBAAN,CAAuB,MAAvB,EAAgC,YAAW;AACvC,WAAC,UAASrY,KAAT,EAAgB;AACb,aAAC,YAAW;AACR,mBAAK,IAAIlO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqO,aAAa,CAAC1O,MAAlC,EAA0CK,CAAC,EAA3C,EAA+C;AAC3C,oBAAIyO,MAAM,GAAG,CAAC,CAAd;;AACA,oBAAI;AACAA,kBAAAA,MAAM,GAAGJ,aAAa,CAACrO,CAAD,CAAb,CAAiByO,MAA1B;AACH,iBAFD,CAEE,OAAO5U,GAAP,EAAY;;AACd,oBAAI4U,MAAJ,EAAY;AACRH,kBAAAA,YAAY,CAACkF,MAAb,CAAoBxT,CAApB,EAAuB,CAAvB;AACAqO,kBAAAA,aAAa,CAACmF,MAAd,CAAqBxT,CAArB,EAAwB,CAAxB;AACH;AACJ;AACJ,aAXA,EAAD;AAYA,gBAAIkO,KAAK,IAAIA,KAAK,CAACa,aAAnB,EAAkC,IAAI;AAClCV,cAAAA,aAAa,CAACjP,IAAd,CAAmB8O,KAAK,CAACa,aAAzB;AACAT,cAAAA,YAAY,CAAClP,IAAb,CAAkB8O,KAAlB;AACH,aAHiC,CAGhC,OAAOrU,GAAP,EAAY;AACjB,WAjBA,CAiBCqU,KAjBD,CAAD;AAkBApR,UAAAA,OAAO,CAACoR,KAAD,CAAP;AACH,SApBD;AAqBAA,QAAAA,KAAK,CAACqY,gBAAN,CAAuB,OAAvB,EAAiC,UAAS1sB,GAAT,EAAc;AAC3CqU,UAAAA,KAAK,CAACa,aAAN,GAAsBjS,OAAO,CAACoR,KAAD,CAA7B,GAAuCnR,MAAM,CAAClD,GAAD,CAA7C;AACH,SAFD;AAGH,OAzBa,CAAd;AA0BA41B,MAAAA,sBAAsB,CAAC9rB,GAAvB,CAA2BuK,KAA3B,EAAkC9E,OAAlC;AACA,aAAOA,OAAP;AACH;;AACD,aAASwmB,gBAAT,CAA0B1hB,KAA1B,EAAiC;AAC7B,aAAOwhB,cAAc,CAACxhB,KAAD,CAAd,CAAsBhR,IAAtB,CAA4B,UAAS2yB,WAAT,EAAsB;AACrD,YAAI,CAACA,WAAW,CAAC9gB,aAAjB,EAAgC,MAAM,IAAIjR,KAAJ,CAAU,iCAAV,CAAN;AAChC,eAAO+xB,WAAW,CAAC9gB,aAAnB;AACH,OAHM,CAAP;AAIH;;AACD,aAAS+gB,UAAT,CAAoBvZ,OAApB,EAA6B2Y,SAA7B,EAAwC;AACpC,WAAK,CAAL,KAAW3Y,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACA,UAAI9U,KAAK,GAAG8U,OAAO,CAAC9U,KAAR,IAAiB,EAA7B;;AACA,UAAIyM,KAAK,GAAG,UAAS6hB,GAAT,EAAcxZ,OAAd,EAAuB2Y,SAAvB,EAAkC;AAC1C,aAAK,CAAL,KAAWa,GAAX,KAAmBA,GAAG,GAAG,KAAzB;AACA,aAAK,CAAL,KAAWxZ,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACAwZ,QAAAA,GAAG,GAAGA,GAAG,CAACla,WAAJ,EAAN;AACA,YAAI+V,OAAO,GAAGxpB,QAAQ,CAACM,aAAT,CAAuBqtB,GAAvB,CAAd;AACAxZ,QAAAA,OAAO,CAAC9U,KAAR,IAAiB4qB,MAAM,CAACT,OAAO,CAACnqB,KAAT,EAAgB8U,OAAO,CAAC9U,KAAxB,CAAvB;AACA8U,QAAAA,OAAO,SAAP,KAAkBqV,OAAO,CAACoE,SAAR,GAAoBzZ,OAAO,SAAP,CAActT,IAAd,CAAmB,GAAnB,CAAtC;AACAsT,QAAAA,OAAO,CAACiG,EAAR,IAAcoP,OAAO,CAAC/oB,YAAR,CAAqB,IAArB,EAA2B0T,OAAO,CAACiG,EAAnC,CAAd;AACA,YAAIjG,OAAO,CAAC0Z,UAAZ,EAAwB,KAAK,IAAIhM,IAAI,GAAG,CAAX,EAAciM,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAY+W,OAAO,CAAC0Z,UAApB,CAAnC,EAAoEhM,IAAI,GAAGiM,aAAa,CAACvwB,MAAzF,EAAiGskB,IAAI,EAArG,EAAyG;AAC7H,cAAI1qB,GAAG,GAAG22B,aAAa,CAACjM,IAAD,CAAvB;AACA2H,UAAAA,OAAO,CAAC/oB,YAAR,CAAqBtJ,GAArB,EAA0Bgd,OAAO,CAAC0Z,UAAR,CAAmB12B,GAAnB,CAA1B;AACH;AACDgd,QAAAA,OAAO,CAAC4Z,UAAR,IAAsB,UAASb,EAAT,EAAac,SAAb,EAAwBnhB,GAAxB,EAA6B;AAC/C,eAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG7L,MAAM,CAAChB,QAAhC;AACAktB,UAAAA,EAAE,CAACa,UAAH,GAAgBb,EAAE,CAACa,UAAH,CAAcE,OAAd,GAAwBD,SAAxC,GAAoDd,EAAE,CAACvsB,WAAH,CAAekM,GAAG,CAACqhB,cAAJ,CAAmBF,SAAnB,CAAf,CAApD;AACH,SAHqB,CAGpBxE,OAHoB,EAGXrV,OAAO,CAAC4Z,UAHG,CAAtB;;AAIA,YAAI5Z,OAAO,CAACga,IAAZ,EAAkB;AACd,cAAI,aAAaR,GAAjB,EAAsB,MAAM,IAAIjyB,KAAJ,CAAU,4EAAV,CAAN;AACtB8tB,UAAAA,OAAO,CAAC4E,SAAR,GAAoBja,OAAO,CAACga,IAA5B;AACH;;AACD,eAAO3E,OAAP;AACH,OArBW,CAqBV,QArBU,EAqBA;AACRqE,QAAAA,UAAU,EAAErI,QAAQ,CAAC;AACjB6I,UAAAA,iBAAiB,EAAE;AADF,SAAD,EAEjBla,OAAO,CAAC0Z,UAAR,IAAsB,EAFL,CADZ;AAIRxuB,QAAAA,KAAK,EAAEmmB,QAAQ,CAAC;AACZ8I,UAAAA,eAAe,EAAE,aADL;AAEZC,UAAAA,MAAM,EAAE;AAFI,SAAD,EAGZlvB,KAHY,CAJP;AAQR8uB,QAAAA,IAAI,EAAEha,OAAO,CAACga,IARN;AASR,iBAAOha,OAAO;AATN,OArBA,CAAZ;;AAgCA,UAAIqa,IAAI,GAAGxtB,MAAM,CAAC4B,SAAP,CAAiB4jB,SAAjB,CAA2BjZ,KAA3B,CAAiC,YAAjC,CAAX;AACAzB,MAAAA,KAAK,CAAC2iB,YAAN,CAAmB,IAAnB,KAA4B3iB,KAAK,CAACrL,YAAN,CAAmB,IAAnB,EAAyBqS,QAAQ,EAAjC,CAA5B;AACAwa,MAAAA,cAAc,CAACxhB,KAAD,CAAd;AACAghB,MAAAA,SAAS,IAAI,UAAS1S,EAAT,EAAavN,GAAb,EAAkB;AAC3B,aAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG7M,QAAzB;AACA,YAAIwpB,OAAO,GAAGuD,cAAc,CAAC3S,EAAD,EAAKvN,GAAL,CAA5B;AACA,YAAI2c,OAAJ,EAAa,OAAOA,OAAP;AACb,cAAM,IAAI9tB,KAAJ,CAAU,2BAA2BkF,SAAS,CAACwZ,EAAD,CAA9C,CAAN;AACH,OALY,CAKX0S,SALW,EAKAnsB,WALA,CAKYmL,KALZ,CAAb;AAMA,OAACqI,OAAO,CAAChO,GAAR,IAAeqoB,IAAhB,KAAyB1iB,KAAK,CAACrL,YAAN,CAAmB,KAAnB,EAA0B0T,OAAO,CAAChO,GAAR,IAAe,aAAzC,CAAzB;AACA,aAAO2F,KAAP;AACH;;AACD,aAASqY,gBAAT,CAA0BjtB,GAA1B,EAA+BiqB,KAA/B,EAAsC1S,OAAtC,EAA+C;AAC3CvX,MAAAA,GAAG,CAACitB,gBAAJ,CAAqBhD,KAArB,EAA4B1S,OAA5B;AACA,aAAO;AACH0C,QAAAA,MAAM,EAAE,kBAAW;AACfja,UAAAA,GAAG,CAACktB,mBAAJ,CAAwBjD,KAAxB,EAA+B1S,OAA/B;AACH;AAHE,OAAP;AAKH;;AACD,aAASigB,WAAT,CAAqBlF,OAArB,EAA8B;AAC1BA,MAAAA,OAAO,CAACnqB,KAAR,CAAcsvB,WAAd,CAA0B,SAA1B,EAAqC,EAArC;AACH;;AACD,aAASC,WAAT,CAAqBpF,OAArB,EAA8B;AAC1BA,MAAAA,OAAO,CAACnqB,KAAR,CAAcsvB,WAAd,CAA0B,SAA1B,EAAqC,MAArC,EAA6C,WAA7C;AACH;;AACD,aAASE,cAAT,CAAwBrF,OAAxB,EAAiC;AAC7BA,MAAAA,OAAO,IAAIA,OAAO,CAAC5c,UAAnB,IAAiC4c,OAAO,CAAC5c,UAAR,CAAmB2b,WAAnB,CAA+BiB,OAA/B,CAAjC;AACH;;AACD,aAASsF,eAAT,CAAyB5B,EAAzB,EAA6B;AACzB,aAAO,EAAEA,EAAE,IAAIA,EAAE,CAACtgB,UAAT,IAAuBsgB,EAAE,CAACpgB,aAA1B,IAA2CogB,EAAE,CAACpgB,aAAH,CAAiBC,eAA5D,IAA+EmgB,EAAE,CAACpgB,aAAH,CAAiBC,eAAjB,CAAiCC,QAAjC,CAA0CkgB,EAA1C,CAAjF,CAAP;AACH;;AACD,aAAS6B,QAAT,CAAkB7B,EAAlB,EAAsBze,OAAtB,EAA+B2U,KAA/B,EAAsC;AAClC,UAAIvJ,KAAK,GAAG,KAAK,CAAL,KAAWuJ,KAAX,GAAmB,EAAnB,GAAwBA,KAApC;AAAA,UAA2C4L,WAAW,GAAGnV,KAAK,CAACzX,KAA/D;AAAA,UAAsEA,KAAK,GAAG,KAAK,CAAL,KAAW4sB,WAAX,IAA0BA,WAAxG;AAAA,UAAqHC,YAAY,GAAGpV,KAAK,CAAC1X,MAA1I;AAAA,UAAkJA,MAAM,GAAG,KAAK,CAAL,KAAW8sB,YAAX,IAA2BA,YAAtL;AAAA,UAAoMC,cAAc,GAAGrV,KAAK,CAAC7D,QAA3N;AAAA,UAAqOA,QAAQ,GAAG,KAAK,CAAL,KAAWkZ,cAAX,GAA4B,GAA5B,GAAkCA,cAAlR;AAAA,UAAkSC,SAAS,GAAGtV,KAAK,CAACtP,GAApT;AAAA,UAAyTA,GAAG,GAAG,KAAK,CAAL,KAAW4kB,SAAX,GAAuBnuB,MAAvB,GAAgCmuB,SAA/V;;AACA,UAAIC,YAAY,GAAGlC,EAAE,CAACmC,WAAtB;AACA,UAAIC,aAAa,GAAGpC,EAAE,CAACqC,YAAvB;AACA,UAAIC,QAAQ,GAAG,CAAC,CAAhB;AACA/gB,MAAAA,OAAO,CAAC;AACJrM,QAAAA,KAAK,EAAEgtB,YADH;AAEJjtB,QAAAA,MAAM,EAAEmtB;AAFJ,OAAD,CAAP;;AAIA,UAAInH,KAAK,GAAG,SAARA,KAAQ,GAAW;AACnB,YAAI,CAACqH,QAAD,IAAa,UAAStC,EAAT,EAAa;AAC1B,iBAAO5f,OAAO,CAAC4f,EAAE,CAACmC,WAAH,IAAkBnC,EAAE,CAACqC,YAArB,IAAqCrC,EAAE,CAACuC,cAAH,GAAoBlyB,MAA1D,CAAd;AACH,SAFgB,CAEf2vB,EAFe,CAAjB,EAEO;AACH,cAAIwC,QAAQ,GAAGxC,EAAE,CAACmC,WAAlB;AACA,cAAIM,SAAS,GAAGzC,EAAE,CAACqC,YAAnB;AACA,WAACntB,KAAK,IAAIstB,QAAQ,KAAKN,YAAtB,IAAsCjtB,MAAM,IAAIwtB,SAAS,KAAKL,aAA/D,KAAiF7gB,OAAO,CAAC;AACrFrM,YAAAA,KAAK,EAAEstB,QAD8E;AAErFvtB,YAAAA,MAAM,EAAEwtB;AAF6E,WAAD,CAAxF;AAIAP,UAAAA,YAAY,GAAGM,QAAf;AACAJ,UAAAA,aAAa,GAAGK,SAAhB;AACH;AACJ,OAbD;;AAcA,UAAIC,QAAJ;AACA,UAAIzf,OAAJ;AACA5F,MAAAA,GAAG,CAAC4Z,gBAAJ,CAAqB,QAArB,EAA+BgE,KAA/B;;AACA,UAAI,KAAK,CAAL,KAAW5d,GAAG,CAACslB,cAAnB,EAAmC;AAC/B,SAACD,QAAQ,GAAG,IAAIrlB,GAAG,CAACslB,cAAR,CAAuB1H,KAAvB,CAAZ,EAA2C2H,OAA3C,CAAmD5C,EAAnD;AACA/c,QAAAA,OAAO,GAAGga,YAAY,CAAChC,KAAD,EAAQ,KAAKnS,QAAb,CAAtB;AACH,OAHD,MAGO,IAAI,KAAK,CAAL,KAAWzL,GAAG,CAACwlB,gBAAnB,EAAqC;AACxC,SAACH,QAAQ,GAAG,IAAIrlB,GAAG,CAACwlB,gBAAR,CAAyB5H,KAAzB,CAAZ,EAA6C2H,OAA7C,CAAqD5C,EAArD,EAAyD;AACrDW,UAAAA,UAAU,EAAE,CAAC,CADwC;AAErDmC,UAAAA,SAAS,EAAE,CAAC,CAFyC;AAGrDC,UAAAA,OAAO,EAAE,CAAC,CAH2C;AAIrDC,UAAAA,aAAa,EAAE,CAAC;AAJqC,SAAzD;AAMA/f,QAAAA,OAAO,GAAGga,YAAY,CAAChC,KAAD,EAAQ,KAAKnS,QAAb,CAAtB;AACH,OARM,MAQA7F,OAAO,GAAGga,YAAY,CAAChC,KAAD,EAAQnS,QAAR,CAAtB;;AACP,aAAO;AACH7E,QAAAA,MAAM,EAAE,kBAAW;AACfqe,UAAAA,QAAQ,GAAG,CAAC,CAAZ;AACAI,UAAAA,QAAQ,CAACO,UAAT;AACAnvB,UAAAA,MAAM,CAACojB,mBAAP,CAA2B,QAA3B,EAAqC+D,KAArC;AACAhY,UAAAA,OAAO,CAACgB,MAAR;AACH;AANE,OAAP;AAQH;;AACD,aAASif,eAAT,CAAyB5G,OAAzB,EAAkC;AAC9B,aAAMA,OAAO,CAAC5c,UAAd;AAA4B4c,QAAAA,OAAO,GAAGA,OAAO,CAAC5c,UAAlB;AAA5B;;AACA,aAAO,0BAA0B4c,OAAO,CAACjtB,QAAR,EAAjC;AACH;;AACD,QAAI4Z,aAAa,GAAG,eAAe,OAAOnW,QAAtB,GAAiCA,QAAQ,CAACmW,aAA1C,GAA0D,IAA9E;AACA,QAAIC,gBAAgB,GAAGlC,OAAO,CAAE,YAAW;AACvC,UAAIiC,aAAJ,EAAmB,OAAOA,aAAP;AACnB,UAAIA,aAAa,GAAG,YAAW;AAC3B,YAAI;AACA,cAAInH,KAAK,GAAG,YAAW;AACnB,gBAAI;AACA,oBAAM,IAAItT,KAAJ,CAAU,GAAV,CAAN;AACH,aAFD,CAEE,OAAOjE,GAAP,EAAY;AACV,qBAAOA,GAAG,CAACuX,KAAJ,IAAa,EAApB;AACH;AACJ,WANW,EAAZ;;AAOA,cAAIqH,YAAY,GAAG,kCAAkCC,IAAlC,CAAuCtH,KAAvC,CAAnB;AACA,cAAIuH,cAAc,GAAGF,YAAY,IAAIA,YAAY,CAAC,CAAD,CAAjD;AACA,cAAI,CAACE,cAAL,EAAqB;;AACrB,eAAK,IAAI8Z,IAAI,GAAG,CAAX,EAAc5Z,sBAAsB,GAAG,GAAGzY,KAAH,CAASrF,IAAT,CAAcqH,QAAQ,CAAC0W,oBAAT,CAA8B,QAA9B,CAAd,EAAuDpZ,OAAvD,EAA5C,EAA8G+yB,IAAI,GAAG5Z,sBAAsB,CAAClZ,MAA5I,EAAoJ8yB,IAAI,EAAxJ,EAA4J;AACxJ,gBAAIhwB,MAAM,GAAGoW,sBAAsB,CAAC4Z,IAAD,CAAnC;AACA,gBAAIhwB,MAAM,CAACZ,GAAP,IAAcY,MAAM,CAACZ,GAAP,KAAe8W,cAAjC,EAAiD,OAAOlW,MAAP;AACpD;AACJ,SAfD,CAeE,OAAO5I,GAAP,EAAY;AACjB,OAjBmB,EAApB,EAiBK,OAAO0e,aAAP;AACL,YAAM,IAAIza,KAAJ,CAAU,kCAAV,CAAN;AACH,KArB6B,CAA9B;AAsBA,QAAIib,UAAU,GAAG7D,QAAQ,EAAzB;AACAoB,IAAAA,OAAO,CAAE,YAAW;AAChB,UAAI7T,MAAJ;;AACA,UAAI;AACAA,QAAAA,MAAM,GAAG+V,gBAAgB,EAAzB;AACH,OAFD,CAEE,OAAO3e,GAAP,EAAY;AACV,eAAOkf,UAAP;AACH;;AACD,UAAI7C,GAAG,GAAGzT,MAAM,CAACuW,YAAP,CAAoB,UAApB,CAAV;AACA,UAAI9C,GAAG,IAAI,YAAY,OAAOA,GAA9B,EAAmC,OAAOA,GAAP;AACnC,UAAI,CAACA,GAAG,GAAGzT,MAAM,CAACuW,YAAP,CAAoB,eAApB,CAAP,KAAgD,YAAY,OAAO9C,GAAvE,EAA4E,OAAOA,GAAP;;AAC5E,UAAIzT,MAAM,CAACZ,GAAX,EAAgB;AACZ,YAAI6wB,YAAY,GAAG,UAASpd,GAAT,EAAc;AAC7B,cAAIrC,IAAI,GAAG,EAAX;;AACA,eAAK,IAAIjT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsV,GAAG,CAAC3V,MAAxB,EAAgCK,CAAC,EAAjC,EAAqC;AACjC,gBAAI2yB,KAAK,GAAGrd,GAAG,CAACtV,CAAD,CAAH,CAAO4yB,UAAP,CAAkB,CAAlB,IAAuB5yB,CAAnC;AACAsV,YAAAA,GAAG,CAACtV,CAAC,GAAG,CAAL,CAAH,KAAe2yB,KAAK,IAAIrd,GAAG,CAACtV,CAAC,GAAG,CAAL,CAAH,CAAW4yB,UAAX,CAAsB,CAAtB,KAA4B5yB,CAAC,GAAG,CAAhC,CAAxB;AACAiT,YAAAA,IAAI,IAAI/O,MAAM,CAACuR,YAAP,CAAoB,KAAKrB,IAAI,CAACye,GAAL,CAASF,KAAT,IAAkB,EAA3C,CAAR;AACH;;AACD,iBAAO1f,IAAP;AACH,SARkB,CAQjBtK,IAAI,CAAC3F,SAAL,CAAe;AACbnB,UAAAA,GAAG,EAAEY,MAAM,CAACZ,GADC;AAEbE,UAAAA,OAAO,EAAEU,MAAM,CAACV;AAFH,SAAf,CARiB,CAAnB;;AAYAmU,QAAAA,GAAG,GAAG,SAASwc,YAAY,CAACtyB,KAAb,CAAmBsyB,YAAY,CAAC/yB,MAAb,GAAsB,EAAzC,CAAf;AACH,OAdD,MAcOuW,GAAG,GAAGhB,QAAQ,EAAd;;AACPzS,MAAAA,MAAM,CAACI,YAAP,CAAoB,eAApB,EAAqCqT,GAArC;AACA,aAAOA,GAAP;AACH,KA3BM,CAAP;;AA4BA,aAAS4c,MAAT,CAAgBxd,GAAhB,EAAqB;AACjB,aAAO,YAAY,OAAOA,GAAnB,IAA0B,YAAYyd,IAAZ,CAAiBzd,GAAjB,CAAjC;AACH;;AACD,aAAS0d,KAAT,CAAe/c,GAAf,EAAoB;AAChB,UAAI,YAAY,OAAOA,GAAvB,EAA4B,OAAOA,GAAP;AAC5B,UAAItG,KAAK,GAAGsG,GAAG,CAACtG,KAAJ,CAAU,kBAAV,CAAZ;AACA,UAAI,CAACA,KAAL,EAAY,MAAM,IAAI7R,KAAJ,CAAU,oCAAoCmY,GAA9C,CAAN;AACZ,aAAOP,QAAQ,CAAC/F,KAAK,CAAC,CAAD,CAAN,EAAW,EAAX,CAAf;AACH;;AACD,aAASsjB,IAAT,CAAchd,GAAd,EAAmB;AACf,aAAO+c,KAAK,CAAC/c,GAAD,CAAL,GAAa,IAApB;AACH;;AACD,aAASid,KAAT,CAAejd,GAAf,EAAoB;AAChB,aAAO,YAAY,OAAOA,GAAnB,GAAyBgd,IAAI,CAAChd,GAAD,CAA7B,GAAqC6c,MAAM,CAAC7c,GAAD,CAAN,GAAcA,GAAd,GAAoBgd,IAAI,CAAChd,GAAD,CAApE;AACH;;AACD,aAASkd,kBAAT,CAA4BC,GAA5B,EAAiChN,GAAjC,EAAsC;AAClC,UAAI,YAAY,OAAOgN,GAAvB,EAA4B,OAAOA,GAAP;AAC5B,UAAIN,MAAM,CAACM,GAAD,CAAV,EAAiB,OAAO1d,QAAQ,CAAC0Q,GAAG,GAAG4M,KAAK,CAACI,GAAD,CAAX,GAAmB,GAApB,EAAyB,EAAzB,CAAf;AACjB,UAAI,YAAY,QAAQ9d,GAAG,GAAG8d,GAAd,CAAZ,IAAkC,aAAaL,IAAb,CAAkBzd,GAAlB,CAAtC,EAA8D,OAAO0d,KAAK,CAACI,GAAD,CAAZ;AAC9D,UAAI9d,GAAJ;AACA,YAAM,IAAIxX,KAAJ,CAAU,kCAAkCs1B,GAA5C,CAAN;AACH;;AACD,aAASna,gBAAT,CAA0BtM,GAA1B,EAA+B;AAC3B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAI8V,SAAS,GAAG,uBAAhB;AACA,aAAOvM,GAAG,KAAKvJ,MAAR,GAAiBuJ,GAAG,CAACuM,SAAD,CAApB,GAAkCvM,GAAG,CAACuM,SAAD,CAAH,GAAiBvM,GAAG,CAACuM,SAAD,CAAH,IAAkB,EAA5E;AACH;;AACD,QAAIC,MAAM,GAAG,SAATA,MAAS,GAAW;AACpB,aAAO,EAAP;AACH,KAFD;;AAGA,aAASC,WAAT,CAAqB7f,GAArB,EAA0B8f,QAA1B,EAAoC;AAChC,WAAK,CAAL,KAAW9f,GAAX,KAAmBA,GAAG,GAAG,OAAzB;AACA,WAAK,CAAL,KAAW8f,QAAX,KAAwBA,QAAQ,GAAGF,MAAnC;AACA,aAAOnB,aAAa,CAACiB,gBAAgB,EAAjB,EAAqB1f,GAArB,EAA2B,YAAW;AACtD,YAAI+J,KAAK,GAAG+V,QAAQ,EAApB;AACA,eAAO;AACHxE,UAAAA,GAAG,EAAE,aAASyE,QAAT,EAAmB;AACpB,mBAAOhW,KAAK,CAAC3K,cAAN,CAAqB2gB,QAArB,CAAP;AACH,WAHE;AAIH7V,UAAAA,GAAG,EAAE,aAAS6V,QAAT,EAAmBC,MAAnB,EAA2B;AAC5B,mBAAOjW,KAAK,CAAC3K,cAAN,CAAqB2gB,QAArB,IAAiChW,KAAK,CAACgW,QAAD,CAAtC,GAAmDC,MAA1D;AACH,WANE;AAOH5V,UAAAA,GAAG,EAAE,aAAS2V,QAAT,EAAmBrD,GAAnB,EAAwB;AACzB3S,YAAAA,KAAK,CAACgW,QAAD,CAAL,GAAkBrD,GAAlB;AACA,mBAAOA,GAAP;AACH,WAVE;AAWHuD,UAAAA,GAAG,EAAE,aAASF,QAAT,EAAmB;AACpB,mBAAOhW,KAAK,CAACgW,QAAD,CAAZ;AACH,WAbE;AAcHxE,UAAAA,QAAQ,EAAE,kBAASwE,QAAT,EAAmBxO,MAAnB,EAA2B;AACjC,mBAAOkN,aAAa,CAAC1U,KAAD,EAAQgW,QAAR,EAAkBxO,MAAlB,CAApB;AACH,WAhBE;AAiBHvL,UAAAA,KAAK,EAAE,iBAAW;AACd+D,YAAAA,KAAK,GAAG+V,QAAQ,EAAhB;AACH,WAnBE;AAoBH7Z,UAAAA,IAAI,EAAE,gBAAW;AACb,mBAAOhH,MAAM,CAACgH,IAAP,CAAY8D,KAAZ,CAAP;AACH;AAtBE,SAAP;AAwBH,OA1BmB,CAApB;AA2BH;;AACD,QAAImW,QAAQ,GAAG,SAAXA,QAAW,GAAW,EAA1B;;AACA,aAASC,WAAT,GAAuB;AACnB,UAAIC,MAAM,GAAGV,gBAAgB,EAA7B;AACAU,MAAAA,MAAM,CAACC,eAAP,GAAyBD,MAAM,CAACC,eAAP,IAA0B,IAAIH,QAAJ,EAAnD;AACA,aAAOE,MAAM,CAACC,eAAd;AACH;;AACD,aAASC,WAAT,CAAqBtgB,GAArB,EAA0B8f,QAA1B,EAAoC;AAChC,WAAK,CAAL,KAAW9f,GAAX,KAAmBA,GAAG,GAAG,OAAzB;AACA,WAAK,CAAL,KAAW8f,QAAX,KAAwBA,QAAQ,GAAGF,MAAnC;AACA,aAAOC,WAAW,CAAC,aAAD,CAAX,CAA2BtE,QAA3B,CAAoCvb,GAApC,EAA0C,YAAW;AACxD,YAAIugB,QAAQ,GAAG,IAAI7F,8BAAJ,EAAf;;AACA,YAAI8F,QAAQ,GAAG,SAAXA,QAAW,CAASpN,GAAT,EAAc;AACzB,iBAAOmN,QAAQ,CAAChF,QAAT,CAAkBnI,GAAlB,EAAuB0M,QAAvB,CAAP;AACH,SAFD;;AAGA,eAAO;AACHxE,UAAAA,GAAG,EAAE,aAASlI,GAAT,EAAc;AACf,mBAAOoN,QAAQ,CAACpN,GAAD,CAAR,CAAchU,cAAd,CAA6BY,GAA7B,CAAP;AACH,WAHE;AAIHkK,UAAAA,GAAG,EAAE,aAASkJ,GAAT,EAAc4M,MAAd,EAAsB;AACvB,gBAAIjW,KAAK,GAAGyW,QAAQ,CAACpN,GAAD,CAApB;AACA,mBAAOrJ,KAAK,CAAC3K,cAAN,CAAqBY,GAArB,IAA4B+J,KAAK,CAAC/J,GAAD,CAAjC,GAAyCggB,MAAhD;AACH,WAPE;AAQH5V,UAAAA,GAAG,EAAE,aAASgJ,GAAT,EAAcsJ,GAAd,EAAmB;AACpB8D,YAAAA,QAAQ,CAACpN,GAAD,CAAR,CAAcpT,GAAd,IAAqB0c,GAArB;AACA,mBAAOA,GAAP;AACH,WAXE;AAYHuD,UAAAA,GAAG,EAAE,aAAS7M,GAAT,EAAc;AACf,mBAAOoN,QAAQ,CAACpN,GAAD,CAAR,CAAcpT,GAAd,CAAP;AACH,WAdE;AAeHub,UAAAA,QAAQ,EAAE,kBAASnI,GAAT,EAAc7B,MAAd,EAAsB;AAC5B,mBAAOkN,aAAa,CAAC+B,QAAQ,CAACpN,GAAD,CAAT,EAAgBpT,GAAhB,EAAqBuR,MAArB,CAApB;AACH;AAjBE,SAAP;AAmBH,OAxBM,CAAP;AAyBH;;AACD,aAASkP,aAAT,GAAyB;AACrB,aAAOZ,WAAW,CAAC,UAAD,CAAX,CAAwBtE,QAAxB,CAAiC,YAAjC,EAA+CI,QAA/C,CAAP;AACH;;AACD,aAAS+E,mBAAT,CAA6BtN,GAA7B,EAAkCuN,IAAlC,EAAwC;AACpC,UAAIxT,MAAM,GAAGwT,IAAI,CAACxT,MAAlB;AACA,UAAIyT,aAAa,GAAGN,WAAW,CAAC,eAAD,CAA/B;AACA,UAAIO,eAAe,GAAGD,aAAa,CAAC1W,GAAd,CAAkBkJ,GAAlB,CAAtB;AACAyN,MAAAA,eAAe,IAAIA,eAAe,CAACtd,OAAhB,CAAwB;AACvC4J,QAAAA,MAAM,EAAEA;AAD+B,OAAxB,CAAnB;AAGA,UAAI2T,UAAU,GAAG5O,oBAAoB,CAAC3O,OAArB,CAA6B;AAC1C4J,QAAAA,MAAM,EAAEA;AADkC,OAA7B,CAAjB;AAGAyT,MAAAA,aAAa,CAACxW,GAAd,CAAkBgJ,GAAlB,EAAuB0N,UAAvB;AACA,aAAOA,UAAP;AACH;;AACD,aAASC,QAAT,CAAkB3N,GAAlB,EAAuB4N,KAAvB,EAA8B;AAC1B,aAAO,CAAC,GAAGA,KAAK,CAACC,IAAV,EAAgB7N,GAAhB,EAAqB,iBAArB,EAAwC;AAC3C8N,QAAAA,UAAU,EAAET,aAAa;AADkB,OAAxC,EAEJ;AACCtT,QAAAA,MAAM,EAAE,GADT;AAEC6L,QAAAA,OAAO,EAAE,CAAC;AAFX,OAFI,EAKJrV,IALI,CAKE,UAASwd,KAAT,EAAgB;AACrB,YAAIlL,MAAM,GAAGkL,KAAK,CAAClL,MAAnB;AAAA,YAA2BiL,UAAU,GAAGC,KAAK,CAACC,IAAN,CAAWF,UAAnD;AACAR,QAAAA,mBAAmB,CAACtN,GAAD,EAAM;AACrBjG,UAAAA,MAAM,EAAE8I;AADa,SAAN,CAAnB;AAGA,eAAO;AACH7C,UAAAA,GAAG,EAAEA,GADF;AAEHjG,UAAAA,MAAM,EAAE8I,MAFL;AAGHiL,UAAAA,UAAU,EAAEA;AAHT,SAAP;AAKH,OAfM,CAAP;AAgBH;;AACD,aAASG,mBAAT,CAA6BjO,GAA7B,EAAkCkO,KAAlC,EAAyC;AACrC,UAAIL,IAAI,GAAGK,KAAK,CAACL,IAAjB;AACA,aAAOX,WAAW,CAAC,0BAAD,CAAX,CAAwC/E,QAAxC,CAAiDnI,GAAjD,EAAuD,YAAW;AACrE,eAAO2N,QAAQ,CAAC3N,GAAD,EAAM;AACjB6N,UAAAA,IAAI,EAAEA;AADW,SAAN,CAAR,CAEJtd,IAFI,CAEE,UAAS4d,KAAT,EAAgB;AACrB,iBAAOA,KAAK,CAACL,UAAb;AACH,SAJM,CAAP;AAKH,OANM,CAAP;AAOH;;AACD,aAAS4Y,gBAAT,CAA0B1mB,GAA1B,EAA+B4F,OAA/B,EAAwClW,IAAxC,EAA8C;AAC1C,WAAK,CAAL,KAAWkW,OAAX,KAAuBA,OAAO,GAAG,GAAjC;AACA,WAAK,CAAL,KAAWlW,IAAX,KAAoBA,IAAI,GAAG,QAA3B;;AACA,UAAI+M,OAAO,GAAG,UAASuD,GAAT,EAAc;AACxB,eAAOkN,WAAW,CAAC,eAAD,CAAX,CAA6B/E,QAA7B,CAAsCnI,GAAtC,EAA4C,YAAW;AAC1D,iBAAO,IAAIlB,oBAAJ,EAAP;AACH,SAFM,CAAP;AAGH,OAJa,CAIZkB,GAJY,CAAd;;AAKA,OAAC,CAAD,KAAO4F,OAAP,KAAmBnJ,OAAO,GAAGA,OAAO,CAACmJ,OAAR,CAAgBA,OAAhB,EAAyB,IAAIzU,KAAJ,CAAUzB,IAAI,GAAG,sBAAP,GAAgCkW,OAAhC,GAA0C,IAApD,CAAzB,CAA7B;AACA,aAAOnJ,OAAP;AACH;;AACD,aAASiD,eAAT,CAAyBM,GAAzB,EAA8B;AAC1BkN,MAAAA,WAAW,CAAC,cAAD,CAAX,CAA4BlW,GAA5B,CAAgCgJ,GAAhC,EAAqC,CAAC,CAAtC;AACH;;AACD,aAASoO,gBAAT,CAA0BvO,IAA1B,EAAgC;AAC5B,aAAO,YAAY,OAAOA,IAAnB,IAA2B,SAASA,IAApC,IAA4C,YAAY,OAAOA,IAAI,CAACwO,QAA3E;AACH;;AACD,aAASC,aAAT,CAAuBhF,GAAvB,EAA4B;AACxB,aAAO,KAAK,CAAL,KAAWA,GAAX,GAAiB,WAAjB,GAA+B,SAASA,GAAT,GAAe,MAAf,GAAwB/T,KAAK,CAACuN,OAAN,CAAcwG,GAAd,IAAqB,OAArB,GAA+B,cAAc,OAAOA,GAArB,GAA2B,UAA3B,GAAwC,YAAY,OAAOA,GAAnB,GAAyBA,GAAG,YAAYnY,KAAf,GAAuB,OAAvB,GAAiC,cAAc,OAAOmY,GAAG,CAAC/Y,IAAzB,GAAgC,SAAhC,GAA4C,sBAAsB,GAAGyB,QAAH,CAAY5D,IAAZ,CAAiBkb,GAAjB,CAAtB,GAA8C,OAA9C,GAAwD,oBAAoB,GAAGtX,QAAH,CAAY5D,IAAZ,CAAiBkb,GAAjB,CAApB,GAA4C,MAA5C,GAAqD,QAAnN,GAA8N,YAAY,OAAOA,GAAnB,GAAyB,QAAzB,GAAoC,YAAY,OAAOA,GAAnB,GAAyB,QAAzB,GAAoC,aAAa,OAAOA,GAApB,GAA0B,SAA1B,GAAsC,KAAK,CAAtd;AACH;;AACD,aAASiF,aAAT,CAAuBpgB,IAAvB,EAA6Bmb,GAA7B,EAAkC;AAC9B,aAAO;AACH+E,QAAAA,QAAQ,EAAElgB,IADP;AAEHqgB,QAAAA,OAAO,EAAElF;AAFN,OAAP;AAIH;;AACD,QAAImF,WAAJ;;AACA,QAAIC,UAAU,IAAI,CAACD,WAAW,GAAG,EAAf,gBAA8B,YAAW,EAAzC,EAA6CA,WAAW,CAAChe,KAAZ,GAAoB,UAAS8c,IAAT,EAAe;AAC9F,aAAOgB,aAAa,CAAC,OAAD,EAAU;AAC1BxM,QAAAA,OAAO,EAAEwL,IAAI,CAACxL,OADY;AAE1B0C,QAAAA,KAAK,EAAE8I,IAAI,CAAC9I,KAFc;AAG1BkK,QAAAA,IAAI,EAAEpB,IAAI,CAACoB,IAHe;AAI1BX,QAAAA,IAAI,EAAET,IAAI,CAACS;AAJe,OAAV,CAApB;AAMH,KAPiB,EAOfS,WAAW,CAAChS,OAAZ,GAAsB,YAAW,EAPlB,EAOsBgS,WAAW,CAACG,KAAZ,GAAoB,UAAStF,GAAT,EAAc;AACtE,aAAOiF,aAAa,CAAC,OAAD,EAAUjF,GAAG,CAACuF,MAAd,CAApB;AACH,KATiB,EASfJ,WAAW,CAACK,IAAZ,GAAmB,UAASxF,GAAT,EAAc;AAChC,aAAOiF,aAAa,CAAC,MAAD,EAASjF,GAAG,CAACyF,MAAJ,EAAT,CAApB;AACH,KAXiB,EAWfN,WAAW,CAACO,KAAZ,GAAoB,UAAS1F,GAAT,EAAc;AACjC,aAAOA,GAAP;AACH,KAbiB,EAafmF,WAAW,CAAC3b,MAAZ,GAAqB,UAASwW,GAAT,EAAc;AAClC,aAAOA,GAAP;AACH,KAfiB,EAefmF,WAAW,CAACQ,MAAZ,GAAqB,UAAS3F,GAAT,EAAc;AAClC,aAAOA,GAAP;AACH,KAjBiB,EAiBfmF,WAAW,CAACS,MAAZ,GAAqB,UAAS5F,GAAT,EAAc;AAClC,aAAOA,GAAP;AACH,KAnBiB,EAmBfmF,WAAW,WAAX,GAAsB,UAASnF,GAAT,EAAc;AACnC,aAAOA,GAAP;AACH,KArBiB,EAqBfmF,WAAW,QAAX,GAAmB,UAASnF,GAAT,EAAc;AAChC,aAAOA,GAAP;AACH,KAvBiB,EAuBfmF,WAAW,CAAC,KAAK,CAAN,CAAX,GAAsB,UAASnF,GAAT,EAAc;AACnC,aAAOiF,aAAa,CAAC,WAAD,EAAcjF,GAAd,CAApB;AACH,KAzBiB,EAyBfmF,WAzBW,CAAd;AA0BA,QAAIU,kBAAkB,GAAG,EAAzB;;AACA,QAAIC,aAAJ;;AACA,QAAIC,YAAY,IAAI,CAACD,aAAa,GAAG,EAAjB,gBAAgC,YAAW;AAC3D,YAAM,IAAIje,KAAJ,CAAU,mEAAV,CAAN;AACH,KAFmB,EAEjBie,aAAa,CAAC3e,KAAd,GAAsB,UAAS6e,KAAT,EAAgB;AACrC,UAAI7K,KAAK,GAAG6K,KAAK,CAAC7K,KAAlB;AAAA,UAAyBkK,IAAI,GAAGW,KAAK,CAACX,IAAtC;AAAA,UAA4CX,IAAI,GAAGsB,KAAK,CAACtB,IAAzD;AACA,UAAIvd,KAAK,GAAG,IAAIU,KAAJ,CAAUme,KAAK,CAACvN,OAAhB,CAAZ;AACAtR,MAAAA,KAAK,CAACke,IAAN,GAAaA,IAAb;AACAX,MAAAA,IAAI,KAAKvd,KAAK,CAACud,IAAN,GAAaA,IAAlB,CAAJ;AACAvd,MAAAA,KAAK,CAACgU,KAAN,GAAcA,KAAK,GAAG,MAAR,GAAiBhU,KAAK,CAACgU,KAArC;AACA,aAAOhU,KAAP;AACH,KATmB,EASjB2e,aAAa,CAAC3S,OAAd,GAAwB,YAAW;AAClC,YAAM,IAAItL,KAAJ,CAAU,kEAAV,CAAN;AACH,KAXmB,EAWjBie,aAAa,CAACR,KAAd,GAAsB,UAAStF,GAAT,EAAc;AACnC,aAAO,IAAIiG,MAAJ,CAAWjG,GAAX,CAAP;AACH,KAbmB,EAajB8F,aAAa,CAACN,IAAd,GAAqB,UAASxF,GAAT,EAAc;AAClC,aAAO,IAAIxR,IAAJ,CAASwR,GAAT,CAAP;AACH,KAfmB,EAejB8F,aAAa,CAACJ,KAAd,GAAsB,UAAS1F,GAAT,EAAc;AACnC,aAAOA,GAAP;AACH,KAjBmB,EAiBjB8F,aAAa,CAACtc,MAAd,GAAuB,UAASwW,GAAT,EAAc;AACpC,aAAOA,GAAP;AACH,KAnBmB,EAmBjB8F,aAAa,CAACH,MAAd,GAAuB,UAAS3F,GAAT,EAAc;AACpC,aAAOA,GAAP;AACH,KArBmB,EAqBjB8F,aAAa,CAACF,MAAd,GAAuB,UAAS5F,GAAT,EAAc;AACpC,aAAOA,GAAP;AACH,KAvBmB,EAuBjB8F,aAAa,WAAb,GAAwB,UAAS9F,GAAT,EAAc;AACrC,aAAOA,GAAP;AACH,KAzBmB,EAyBjB8F,aAAa,QAAb,GAAqB,UAAS9F,GAAT,EAAc;AAClC,aAAOA,GAAP;AACH,KA3BmB,EA2BjB8F,aAAa,CAAC,KAAK,CAAN,CAAb,GAAwB,YAAW,EA3BlB,EA2BsBA,aA3B1B,CAAhB;AA4BA,QAAII,oBAAoB,GAAG,EAA3B;;AACA,aAASmX,qBAAT,GAAiC;AAC7B,aAAO,CAAC,CAAC5K,kBAAkB,CAACtlB,MAAD,CAAlB,CAA2BuM,KAA3B,CAAiC,iCAAjC,CAAT;AACH;;AACD,aAAS4jB,iBAAT,CAA2B5mB,GAA3B,EAAgC;AAC5B,aAAO,CAAC+c,eAAe,CAACtmB,MAAD,EAASuJ,GAAT,CAAvB;AACH;;AACD,aAAS6mB,oBAAT,CAA8B9sB,MAA9B,EAAsCiG,GAAtC,EAA2C;AACvC,UAAIjG,MAAJ,EAAY;AACR,YAAI2G,SAAS,OAAO8c,gBAAgB,CAACzjB,MAAD,CAApC,EAA8C,OAAO,CAAC,CAAR;AACjD,OAFD,MAEO,IAAIiG,GAAG,IAAI,CAACa,YAAY,CAACb,GAAD,CAAxB,EAA+B,OAAO,CAAC,CAAR;;AACtC,aAAO,CAAC,CAAR;AACH;;AACD,aAAS8mB,WAAT,CAAqBvZ,IAArB,EAA2B;AACvB,UAAIvN,GAAG,GAAGuN,IAAI,CAACvN,GAAf;AAAA,UAAoBjG,MAAM,GAAGwT,IAAI,CAACxT,MAAlC;AACA,aAAO,EAAE,CAAC4sB,qBAAqB,EAAtB,IAA4B5sB,MAAM,IAAI,CAAC8sB,oBAAoB,CAAC9sB,MAAD,EAASiG,GAAT,CAA3D,IAA4EA,GAAG,IAAI,CAAC4mB,iBAAiB,CAAC5mB,GAAD,CAAvG,CAAP;AACH;;AACD,aAAS+mB,aAAT,CAAuBhtB,MAAvB,EAA+B;AAC3B,aAAO,0BAA0B,CAACA,MAAM,GAAGA,MAAM,IAAIyjB,gBAAgB,CAACzjB,MAAD,CAApC,EAA8C0O,OAA9C,CAAsD,gBAAtD,EAAwE,GAAxE,CAAjC;AACH;;AACD,aAASue,QAAT,GAAoB;AAChB,aAAOjkB,OAAO,CAACtM,MAAM,CAAC/G,IAAP,IAAe+G,MAAM,CAAC/G,IAAP,KAAgBq3B,aAAa,CAACrmB,SAAS,EAAV,CAA7C,CAAd;AACH;;AACD,QAAIumB,iBAAiB,GAAG,IAAInoB,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AAChE,UAAIsG,MAAM,CAAChB,QAAP,IAAmBgB,MAAM,CAAChB,QAAP,CAAgBqG,IAAvC,EAA6C,OAAO3L,OAAO,CAACsG,MAAM,CAAChB,QAAP,CAAgBqG,IAAjB,CAAd;AAC7C,UAAI2P,QAAQ,GAAGC,WAAW,CAAE,YAAW;AACnC,YAAIjV,MAAM,CAAChB,QAAP,IAAmBgB,MAAM,CAAChB,QAAP,CAAgBqG,IAAvC,EAA6C;AACzC6P,UAAAA,aAAa,CAACF,QAAD,CAAb;AACA,iBAAOtb,OAAO,CAACsG,MAAM,CAAChB,QAAP,CAAgBqG,IAAjB,CAAd;AACH;AACJ,OALyB,EAKtB,EALsB,CAA1B;AAMH,KARuB,CAAxB;;AASA,aAASorB,oBAAT,CAA8BlnB,GAA9B,EAAmC;AAC/BkN,MAAAA,WAAW,CAAC,sBAAD,CAAX,CAAoC/E,QAApC,CAA6CnI,GAA7C,EAAmD,YAAW;AAC1D,eAAO,IAAIlB,oBAAJ,EAAP;AACH,OAFD;AAGH;;AACD,aAASqoB,gBAAT,CAA0BnnB,GAA1B,EAA+B;AAC3B,UAAIonB,gBAAgB,GAAGla,WAAW,CAAC,sBAAD,CAAX,CAAoCpW,GAApC,CAAwCkJ,GAAxC,CAAvB;AACA,UAAI,CAAConB,gBAAL,EAAuB,MAAM,IAAIj2B,KAAJ,CAAU,iCAAV,CAAN;AACvB,aAAOi2B,gBAAP;AACH;;AACD,aAASC,yBAAT,CAAmCrnB,GAAnC,EAAwCjG,MAAxC,EAAgDutB,WAAhD,EAA6D;AACzDH,MAAAA,gBAAgB,CAACnnB,GAAD,CAAhB,CAAsB7P,OAAtB,CAA+B,UAASo3B,SAAT,EAAoBC,YAApB,EAAkCzlB,OAAlC,EAA2C;AACtE,YAAIwlB,SAAS,KAAKvnB,GAAlB,EAAuB,MAAM,IAAI7O,KAAJ,CAAU,qCAAV,CAAN;AACvB,YAAI,CAACwR,WAAW,CAAC6kB,YAAD,EAAeztB,MAAf,CAAhB,EAAwC,MAAM,IAAI5I,KAAJ,CAAU,mBAAmBq2B,YAAnB,GAAkC,yBAAlC,GAA8DztB,MAAxE,CAAN;AACxCutB,QAAAA,WAAW,CAAChT,aAAZ,CAA0BvS,OAA1B;AACH,OAJD;AAKH;;AACD,aAAS0lB,uBAAT,CAAiCznB,GAAjC,EAAsC9S,GAAtC,EAA2C;AACvCi6B,MAAAA,gBAAgB,CAACnnB,GAAD,CAAhB,CAAsB5P,MAAtB,CAA6BlD,GAA7B,WAAwC8d,aAAxC;AACH;;AACD,aAAS0c,UAAT,CAAoB9V,KAApB,EAA2B;AACvB,UAAI5R,GAAG,GAAG4R,KAAK,CAAC5R,GAAhB;AAAA,UAAqBtQ,IAAI,GAAGkiB,KAAK,CAACliB,IAAlC;AAAA,UAAwCqK,MAAM,GAAG6X,KAAK,CAAC7X,MAAvD;AACA,UAAI4tB,kBAAkB,GAAGlb,WAAW,CAAC,oBAAD,CAApC;AACA,UAAImb,iBAAiB,GAAG1a,WAAW,CAAC,mBAAD,CAAnC;;AACA,WAAK,IAAIyC,GAAG,GAAG,CAAV,EAAakY,sBAAsB,GAAGF,kBAAkB,CAAC90B,IAAnB,EAA3C,EAAsE8c,GAAG,GAAGkY,sBAAsB,CAAC70B,MAAnG,EAA2G2c,GAAG,EAA9G,EAAkH;AAC9G,YAAImY,OAAO,GAAGD,sBAAsB,CAAClY,GAAD,CAApC;;AACA,YAAIoY,QAAQ,GAAGJ,kBAAkB,CAAC7wB,GAAnB,CAAuBgxB,OAAvB,CAAf;;AACAC,QAAAA,QAAQ,IAAI,CAACnmB,cAAc,CAACmmB,QAAQ,CAAC/nB,GAAV,CAA3B,IAA6C2nB,kBAAkB,CAAC9a,GAAnB,CAAuBib,OAAvB,CAA7C;AACH;;AACD,UAAIlmB,cAAc,CAAC5B,GAAD,CAAlB,EAAyB,OAAO;AAC5BA,QAAAA,GAAG,EAAEA,GADuB;AAE5BtQ,QAAAA,IAAI,EAAEA,IAFsB;AAG5BqK,QAAAA,MAAM,EAAEA;AAHoB,OAAP;AAKzB,UAAIiuB,OAAO,GAAGJ,iBAAiB,CAACzf,QAAlB,CAA2BnI,GAA3B,EAAiC,YAAW;AACtD,eAAOtQ,IAAI,GAAGi4B,kBAAkB,CAACxf,QAAnB,CAA4BzY,IAA5B,EAAmC,YAAW;AACxD,iBAAO;AACHsQ,YAAAA,GAAG,EAAEA,GADF;AAEHtQ,YAAAA,IAAI,EAAEA;AAFH,WAAP;AAIH,SALa,CAAH,GAKL;AACFsQ,UAAAA,GAAG,EAAEA;AADH,SALN;AAQH,OATa,CAAd;AAUA,UAAIgoB,OAAO,CAAChoB,GAAR,IAAegoB,OAAO,CAAChoB,GAAR,KAAgBA,GAAnC,EAAwC,MAAM,IAAI7O,KAAJ,CAAU,kDAAkDzB,IAAI,IAAI,WAA1D,CAAV,CAAN;;AACxC,UAAIA,IAAJ,EAAU;AACNs4B,QAAAA,OAAO,CAACt4B,IAAR,GAAeA,IAAf;AACAi4B,QAAAA,kBAAkB,CAAC3wB,GAAnB,CAAuBtH,IAAvB,EAA6Bs4B,OAA7B;AACH;;AACD,UAAIjuB,MAAJ,EAAY;AACRiuB,QAAAA,OAAO,CAACjuB,MAAR,GAAiBA,MAAjB;AACAmtB,QAAAA,oBAAoB,CAAClnB,GAAD,CAApB;AACH;;AACD4nB,MAAAA,iBAAiB,CAAC5wB,GAAlB,CAAsBgJ,GAAtB,EAA2BgoB,OAA3B;AACA,aAAOA,OAAP;AACH;;AACD,aAASC,WAAT,CAAqB1a,IAArB,EAA2B;AACvB,UAAI0F,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,UAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AAAA,UAAoC8L,cAAc,GAAGpM,IAAI,CAACoM,cAA1D;AACAuO,MAAAA,UAAU,GAAGzxB,MAAM,CAACob,IAApB,EAA0Bpb,MAAM,CAACob,IAAP,GAAc,UAASjW,GAAT,EAAclM,IAAd,EAAoBka,OAApB,EAA6Bue,IAA7B,EAAmC;AACvE,YAAInoB,GAAG,GAAGkoB,UAAU,CAAC95B,IAAX,CAAgB,IAAhB,EAAsByvB,gBAAgB,CAACjiB,GAAD,CAAtC,EAA6ClM,IAA7C,EAAmDka,OAAnD,EAA4Due,IAA5D,CAAV;AACA,YAAI,CAACnoB,GAAL,EAAU,OAAOA,GAAP;AACV0nB,QAAAA,UAAU,CAAC;AACP1nB,UAAAA,GAAG,EAAEA,GADE;AAEPtQ,UAAAA,IAAI,EAAEA,IAFC;AAGPqK,UAAAA,MAAM,EAAE6B,GAAG,GAAG4hB,gBAAgB,CAAC5hB,GAAD,CAAnB,GAA2B;AAH/B,SAAD,CAAV;AAKA,eAAOoE,GAAP;AACH,OATD;AAUA,UAAIkoB,UAAJ;AACA,OAAC,UAAS3a,IAAT,EAAe;AACZ,YAAI0F,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,YAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AAAA,YAAoC8L,cAAc,GAAGpM,IAAI,CAACoM,cAA1D;AACA,YAAIgO,kBAAkB,GAAGlb,WAAW,CAAC,oBAAD,CAApC;AACAwG,QAAAA,EAAE,CAAC,uBAAD,EAA2B,UAAS3D,KAAT,EAAgB;AACzC,cAAIT,MAAM,GAAGS,KAAK,CAACT,MAAnB;AAAA,cAA2BhM,MAAM,GAAGyM,KAAK,CAACzM,MAA1C;AAAA,cAAkDmL,IAAI,GAAGsB,KAAK,CAACtB,IAA/D;AACA,cAAIoa,aAAa,GAAG3b,WAAW,CAAC,SAAD,CAAX,CAAuB3V,GAAvB,CAA2B+L,MAA3B,CAApB;AACA,cAAI,CAACulB,aAAL,EAAoB,MAAM,IAAIj3B,KAAJ,CAAU,4CAA4C0R,MAAtD,CAAN;AACpB,iBAAOulB,aAAa,CAAC73B,IAAd,CAAoB,UAAS83B,MAAT,EAAiB;AACxC,gBAAIxZ,MAAM,KAAKwZ,MAAf,EAAuB,MAAM,IAAIl3B,KAAJ,CAAU,kEAAkE0R,MAA5E,CAAN;AACvB,gBAAI,CAACmL,IAAI,CAACte,IAAV,EAAgB,MAAM,IAAIyB,KAAJ,CAAU,mDAAV,CAAN;AAChB,gBAAI,CAAC6c,IAAI,CAACsZ,WAAV,EAAuB,MAAM,IAAIn2B,KAAJ,CAAU,0DAAV,CAAN;AACvB,gBAAI,CAACw2B,kBAAkB,CAACzf,GAAnB,CAAuB8F,IAAI,CAACte,IAA5B,CAAL,EAAwC,MAAM,IAAIyB,KAAJ,CAAU,sBAAsB6c,IAAI,CAACte,IAA3B,GAAkC,mDAA5C,CAAN;;AACxC,gBAAI44B,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAW;AAC9B,qBAAOX,kBAAkB,CAAC7wB,GAAnB,CAAuBkX,IAAI,CAACte,IAA5B,CAAP;AACH,aAFD;;AAGA,gBAAI,CAAC44B,gBAAgB,GAAGvuB,MAAxB,EAAgC,MAAM,IAAI5I,KAAJ,CAAU,mDAAmD6c,IAAI,CAACte,IAAlE,CAAN;AAChC,gBAAI44B,gBAAgB,GAAGvuB,MAAnB,KAA8B8I,MAAlC,EAA0C,MAAM,IAAI1R,KAAJ,CAAU,oBAAoB0R,MAApB,GAA6B,6CAA7B,IAA8EylB,gBAAgB,GAAGvuB,MAAnB,IAA6B,SAA3G,CAAV,CAAN;AAC1CstB,YAAAA,yBAAyB,CAACiB,gBAAgB,GAAGtoB,GAApB,EAAyB6C,MAAzB,EAAiCmL,IAAI,CAACsZ,WAAtC,CAAzB;AACA,mBAAO;AACHA,cAAAA,WAAW,EAAE,qBAASvlB,OAAT,EAAkB;AAC3B,oBAAItL,MAAM,IAAI,CAACA,MAAM,CAACqL,MAAlB,IAA4BwmB,gBAAgB,EAAhD,EAAoD;AAChD,sBAAIvuB,MAAM,GAAGuuB,gBAAgB,GAAGvuB,MAAhC;AACA,sBAAIA,MAAJ,EAAY,IAAI;AACZ4f,oBAAAA,cAAc,CAAC;AACX3L,sBAAAA,IAAI,EAAEjM,OADK;AAEXc,sBAAAA,MAAM,EAAE9I,MAFG;AAGX8U,sBAAAA,MAAM,EAAEyZ,gBAAgB,GAAGtoB;AAHhB,qBAAD,EAIX;AACCiT,sBAAAA,EAAE,EAAEA,EADL;AAECpF,sBAAAA,IAAI,EAAEA;AAFP,qBAJW,CAAd;AAQH,mBATW,CASV,OAAO3gB,GAAP,EAAY;AACV4R,oBAAAA,oBAAoB,CAAC1O,MAArB,CAA4BlD,GAA5B;AACH;AACJ;AACJ;AAjBE,aAAP;AAmBH,WA9BM,CAAP;AA+BH,SAnCC,CAAF;AAoCH,OAvCA,CAuCC;AACE+lB,QAAAA,EAAE,EAAEA,EADN;AAEEpF,QAAAA,IAAI,EAAEA,IAFR;AAGE8L,QAAAA,cAAc,EAAEA;AAHlB,OAvCD,CAAD;AA4CA,OAAC,UAASrK,KAAT,EAAgB;AACb,YAAIzB,IAAI,GAAGyB,KAAK,CAACzB,IAAjB;;AACAvB,QAAAA,gBAAgB,CAAC7V,MAAD,CAAhB,CAAyB8xB,kBAAzB,GAA8C,UAAS3W,KAAT,EAAgB;AAC1D,cAAIliB,IAAI,GAAGkiB,KAAK,CAACliB,IAAjB;AAAA,cAAuBmf,MAAM,GAAG+C,KAAK,CAAC/C,MAAtC;AAAA,cAA8C2Z,MAAM,GAAG5W,KAAK,CAAC4W,MAA7D;AAAA,cAAqElB,WAAW,GAAG1V,KAAK,CAAC0V,WAAzF;AACA,cAAImB,aAAa,GAAGhc,WAAW,CAAC,eAAD,CAA/B;AACA,cAAIic,YAAY,GAAG/M,eAAe,CAACllB,MAAD,CAAlC;AACA,cAAI,CAACiyB,YAAL,EAAmB,MAAM,IAAIv3B,KAAJ,CAAU,0CAAV,CAAN;;AACnB,cAAI0e,EAAE,GAAG,UAAStC,IAAT,EAAe;AACpB,gBAAI7d,IAAI,GAAG6d,IAAI,CAAC7d,IAAhB;AAAA,gBAAsBmf,MAAM,GAAGtB,IAAI,CAACsB,MAApC;AAAA,gBAA4C2Z,MAAM,GAAGjb,IAAI,CAACib,MAA1D;AAAA,gBAAkElB,WAAW,GAAG/Z,IAAI,CAAC+Z,WAArF;AACA,aAAC,YAAW;AACR,kBAAImB,aAAa,GAAGhc,WAAW,CAAC,eAAD,CAA/B;;AACA,mBAAK,IAAIkD,GAAG,GAAG,CAAV,EAAagZ,oBAAoB,GAAGF,aAAa,CAAC51B,IAAd,EAAzC,EAA+D8c,GAAG,GAAGgZ,oBAAoB,CAAC31B,MAA1F,EAAkG2c,GAAG,EAArG,EAAyG;AACrG,oBAAI/iB,GAAG,GAAG+7B,oBAAoB,CAAChZ,GAAD,CAA9B;AACA/N,gBAAAA,cAAc,CAAC6mB,aAAa,CAAC77B,GAAD,CAAb,CAAmBiiB,MAApB,CAAd,IAA6C4Z,aAAa,CAAC5b,GAAd,CAAkBjgB,GAAlB,CAA7C;AACH;AACJ,aANA,EAAD;AAOA,gBAAIijB,EAAE,GAAGtH,QAAQ,EAAjB;AACAkE,YAAAA,WAAW,CAAC,eAAD,CAAX,CAA6BzV,GAA7B,CAAiC6Y,EAAjC,EAAqC;AACjCngB,cAAAA,IAAI,EAAEA,IAD2B;AAEjCmf,cAAAA,MAAM,EAAEA,MAFyB;AAGjC2Z,cAAAA,MAAM,EAAEA,MAHyB;AAIjClB,cAAAA,WAAW,EAAEA;AAJoB,aAArC;AAMA,mBAAOzX,EAAP;AACH,WAjBQ,CAiBP;AACEngB,YAAAA,IAAI,EAAEA,IADR;AAEEmf,YAAAA,MAAM,EAAEA,MAFV;AAGE2Z,YAAAA,MAAM,EAAEA,MAHV;AAIElB,YAAAA,WAAW,EAAEA;AAJf,WAjBO,CAAT;;AAuBA,iBAAOzZ,IAAI,CAAC6a,YAAD,EAAe,uBAAf,EAAwC;AAC/Ch5B,YAAAA,IAAI,EAAEA,IADyC;AAE/C43B,YAAAA,WAAW,EAAE,uBAAW;AACpB,kBAAIsB,YAAY,GAAGH,aAAa,CAAC3xB,GAAd,CAAkB+Y,EAAlB,CAAnB;;AACA,kBAAI+Y,YAAY,IAAIA,YAAY,CAAC/Z,MAA7B,IAAuC,CAACjN,cAAc,CAACgnB,YAAY,CAAC/Z,MAAd,CAA1D,EAAiF;AAC7E,oBAAI;AACA+Z,kBAAAA,YAAY,CAACJ,MAAb;AACH,iBAFD,CAEE,OAAOt7B,GAAP,EAAY;AACV;AACH;;AACD07B,gBAAAA,YAAY,CAACtB,WAAb,CAAyBvgB,KAAzB,CAA+B,IAA/B,EAAqCsD,SAArC;AACH;AACJ;AAZ8C,WAAxC,EAaR;AACCtQ,YAAAA,MAAM,EAAE;AADT,WAbQ,CAAX;AAgBH,SA5CD;AA6CH,OA/CA,CA+CC;AACE8T,QAAAA,IAAI,EAAEA;AADR,OA/CD,CAAD;AAkDA,OAAC,UAASN,IAAT,EAAe;AACZ,YAAI0F,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,YAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AAAA,YAAoC8L,cAAc,GAAGpM,IAAI,CAACoM,cAA1D;AACA7a,QAAAA,oBAAoB,OAApB,CAA0B,YAAW;AACjC,cAAIwB,MAAM,GAAGD,SAAS,CAAC5J,MAAD,CAAtB;;AACA,cAAI6J,MAAM,IAAIwmB,WAAW,CAAC;AACtB9mB,YAAAA,GAAG,EAAEM;AADiB,WAAD,CAAzB,EAEI;AACA4mB,YAAAA,oBAAoB,CAAC5mB,MAAD,CAApB;AACA,mBAAO,CAACN,GAAG,GAAGM,MAAN,EAAc4M,WAAW,CAAC,sBAAD,CAAX,CAAoC/E,QAApC,CAA6CnI,GAA7C,EAAmD,YAAW;AAChF,qBAAOlB,oBAAoB,OAApB,CAA0B,YAAW;AACxC,oBAAIyC,KAAK,GAAG2a,cAAc,CAAClc,GAAD,EAAM+mB,aAAa,CAACrmB,SAAS,EAAV,CAAnB,CAA1B;AACA,oBAAIa,KAAJ,EAAW,OAAOV,YAAY,CAACU,KAAD,CAAZ,IAAuB+K,gBAAgB,CAACtL,gBAAgB,CAACO,KAAD,CAAjB,CAAvC,GAAmEA,KAAnE,GAA2E,IAAIzC,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AACrI,sBAAIsb,QAAJ;AACA,sBAAI7F,OAAJ;AACA6F,kBAAAA,QAAQ,GAAGC,WAAW,CAAE,YAAW;AAC/B,wBAAInK,KAAK,IAAIV,YAAY,CAACU,KAAD,CAArB,IAAgC+K,gBAAgB,CAACtL,gBAAgB,CAACO,KAAD,CAAjB,CAApD,EAA+E;AAC3EoK,sBAAAA,aAAa,CAACF,QAAD,CAAb;AACA1F,sBAAAA,YAAY,CAACH,OAAD,CAAZ;AACA,6BAAOzV,OAAO,CAACoR,KAAD,CAAd;AACH;AACJ,mBANqB,EAMlB,GANkB,CAAtB;AAOAqE,kBAAAA,OAAO,GAAGX,UAAU,CAAE,YAAW;AAC7B0G,oBAAAA,aAAa,CAACF,QAAD,CAAb;AACA,2BAAOtb,OAAO,EAAd;AACH,mBAHmB,EAGhB,GAHgB,CAApB;AAIH,iBAd4F,CAAlF;AAed,eAjBM,CAAP;AAkBH,aAnBqB,CAAf,EAmBFI,IAnBE,CAmBI,UAAS83B,MAAT,EAAiB;AACxB,qBAAOA,MAAM,GAAG5xB,MAAM,CAAC/G,IAAP,GAAc4c,gBAAgB,CAACtL,gBAAgB,CAACqnB,MAAD,CAAjB,CAAhB,CAA2CE,kBAA3C,CAA8D;AACxF74B,gBAAAA,IAAI,EAAE+G,MAAM,CAAC/G,IAD2E;AAExFmf,gBAAAA,MAAM,EAAEpY,MAFgF;AAGxF+xB,gBAAAA,MAAM,EAAE,kBAAW,EAHqE;AAIxFlB,gBAAAA,WAAW,EAAE,qBAASvlB,OAAT,EAAkB;AAC3B,sBAAI;AACAtL,oBAAAA,MAAM;AACT,mBAFD,CAEE,OAAOvJ,GAAP,EAAY;AACV;AACH;;AACD,sBAAIuJ,MAAM,IAAI,CAACA,MAAM,CAACqL,MAAtB,EAA8B,IAAI;AAC9B6X,oBAAAA,cAAc,CAAC;AACX3L,sBAAAA,IAAI,EAAEjM,OADK;AAEXc,sBAAAA,MAAM,EAAE,KAAKA,MAFF;AAGXgM,sBAAAA,MAAM,EAAE,KAAKA;AAHF,qBAAD,EAIX;AACCoE,sBAAAA,EAAE,EAAEA,EADL;AAECpF,sBAAAA,IAAI,EAAEA;AAFP,qBAJW,CAAd;AAQH,mBAT6B,CAS5B,OAAO3gB,GAAP,EAAY;AACV4R,oBAAAA,oBAAoB,CAAC1O,MAArB,CAA4BlD,GAA5B;AACH;AACJ;AAtBuF,eAA9D,EAuB3BqD,IAvB2B,CAuBrB,UAAS+e,KAAT,EAAgB;AACrB,oBAAIT,MAAM,GAAGS,KAAK,CAACT,MAAnB;AAAA,oBAA2BhM,MAAM,GAAGyM,KAAK,CAACzM,MAA1C;AAAA,oBAAkDmL,IAAI,GAAGsB,KAAK,CAACtB,IAA/D;AACA,oBAAIa,MAAM,KAAKvO,MAAf,EAAuB,MAAM,IAAInP,KAAJ,CAAU,8BAAV,CAAN;AACvBk2B,gBAAAA,yBAAyB,CAACxY,MAAD,EAAShM,MAAT,EAAiBmL,IAAI,CAACsZ,WAAtB,CAAzB;AACH,eA3B6B,WA2BnB,UAASp6B,GAAT,EAAc;AACrBu6B,gBAAAA,uBAAuB,CAACnnB,MAAD,EAASpT,GAAT,CAAvB;AACA,sBAAMA,GAAN;AACH,eA9B6B,CAAd,GA8BVu6B,uBAAuB,CAACnnB,MAAD,EAAS,IAAInP,KAAJ,CAAU,2DAAV,CAAT,CA9BhB,GA8BmGs2B,uBAAuB,CAACnnB,MAAD,EAAS,IAAInP,KAAJ,CAAU,yDAAV,CAAT,CA9BvI;AA+BH,aAnDM,CAAP;AAoDA,gBAAI6O,GAAJ;AACH;AACJ,SA5DD;AA6DH,OA/DA,CA+DC;AACEiT,QAAAA,EAAE,EAAEA,EADN;AAEEpF,QAAAA,IAAI,EAAEA,IAFR;AAGE8L,QAAAA,cAAc,EAAEA;AAHlB,OA/DD,CAAD;AAoEH;;AACD,aAASlK,mBAAT,GAA+B;AAC3B,UAAIC,eAAe,GAAGjD,WAAW,CAAC,iBAAD,CAAjC;;AACA,WAAK,IAAIkD,GAAG,GAAG,CAAV,EAAaC,sBAAsB,GAAGF,eAAe,CAAC7c,IAAhB,EAA3C,EAAmE8c,GAAG,GAAGC,sBAAsB,CAAC5c,MAAhG,EAAwG2c,GAAG,EAA3G,EAA+G;AAC3G,YAAIE,EAAE,GAAGD,sBAAsB,CAACD,GAAD,CAA/B;AACAD,QAAAA,eAAe,CAAC5Y,GAAhB,CAAoB+Y,EAApB,EAAwBC,WAAxB,MAAyCJ,eAAe,CAAC7C,GAAhB,CAAoBgD,EAApB,CAAzC;AACH;AACJ;;AACD,aAASE,mBAAT,CAA6BC,UAA7B,EAAyCzC,IAAzC,EAA+C;AAC3C,UAAIM,IAAI,GAAGN,IAAI,CAACM,IAAhB;AAAA,UAAsBoC,OAAO,GAAG1C,IAAI,CAACsC,EAArC;AAAA,UAAyCA,EAAE,GAAG,KAAK,CAAL,KAAWI,OAAX,GAAqB1H,QAAQ,EAA7B,GAAkC0H,OAAhF;AACA,UAAIC,iBAAiB,GAAGF,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AACnD,YAAIa,YAAY,CAACb,GAAD,CAAhB,EAAuB,OAAOgB,gBAAgB,CAAChB,GAAD,CAAhB,CAAsBtQ,IAA7B;AAC1B,OAFuB,CAAxB;AAGA,UAAIygB,iBAAiB,GAAGH,UAAU,CAACzf,IAAX,CAAiB,UAASkG,MAAT,EAAiB;AACtD,YAAImL,cAAc,CAACnL,MAAD,CAAlB,EAA4B,MAAM,IAAItF,KAAJ,CAAU,0CAAV,CAAN;AAC5B,eAAOkP,SAAS,CAAC5J,MAAD,CAAT,GAAoB6kB,WAAW,CAACE,KAAhC,GAAwCF,WAAW,CAACC,MAA3D;AACH,OAHuB,CAAxB;AAIArL,MAAAA,iBAAiB,SAAjB,CAAwBlF,aAAxB;AACAmF,MAAAA,iBAAiB,SAAjB,CAAwBnF,aAAxB;;AACA,UAAIqF,OAAO,GAAG,SAAVA,OAAU,GAAW;AACrB,eAAOL,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,cAAI,CAAC4B,cAAc,CAAC5B,GAAD,CAAnB,EAA0B,OAAOa,YAAY,CAACb,GAAD,CAAZ,GAAoBgB,gBAAgB,CAAChB,GAAD,CAAhB,CAAsBtQ,IAA1C,GAAiDwgB,iBAAxD;AAC7B,SAFM,CAAP;AAGH,OAJD;;AAKA,aAAO;AACHL,QAAAA,EAAE,EAAEA,EADD;AAEHO,QAAAA,OAAO,EAAE,mBAAW;AAChB,iBAAOD,iBAAP;AACH,SAJE;AAKH9C,QAAAA,aAAa,EAAE1C,cAAc,CAAE,YAAW;AACtC,iBAAOqF,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,mBAAOiO,mBAAmB,CAACjO,GAAD,EAAM;AAC5B6N,cAAAA,IAAI,EAAEA;AADsB,aAAN,CAA1B;AAGH,WAJM,CAAP;AAKH,SAN4B,CAL1B;AAYHtK,QAAAA,KAAK,EAAE,iBAAW;AACd,iBAAOyM,UAAU,CAACzf,IAAX,CAAgB+S,WAAhB,CAAP;AACH,SAdE;AAeH+M,QAAAA,OAAO,EAAEA,OAfN;AAgBHC,QAAAA,KAAK,EAAE,iBAAW;AACd,iBAAON,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClCA,YAAAA,GAAG,CAACsQ,KAAJ;AACH,WAFM,CAAP;AAGH,SApBE;AAqBHC,QAAAA,QAAQ,EAAE,oBAAW;AACjB,iBAAOP,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,mBAAO4B,cAAc,CAAC5B,GAAD,CAArB;AACH,WAFM,CAAP;AAGH,SAzBE;AA0BHwQ,QAAAA,WAAW,EAAE,qBAASC,IAAT,EAAe0D,IAAf,EAAqB;AAC9B,eAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,EAA3B;AACA,iBAAOnE,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC,gBAAIjG,MAAM,GAAGtD,MAAM,CAACwJ,QAAP,CAAgBC,QAAhB,GAA2B,IAA3B,GAAkCzJ,MAAM,CAACwJ,QAAP,CAAgBQ,IAA/D;AACA,gBAAIooB,YAAY,GAAG1U,IAAI,CAAC7kB,MAAxB;AAAA,gBAAgCA,MAAM,GAAG,KAAK,CAAL,KAAWu5B,YAAX,GAA0B,KAA1B,GAAkCA,YAA3E;AAAA,gBAAyF/sB,IAAI,GAAGqY,IAAI,CAACrY,IAArG;AACA,gBAAI,MAAM2U,IAAI,CAAC7P,OAAL,CAAa,GAAb,CAAV,EAA6B6P,IAAI,GAAG,KAAK1W,MAAL,GAAc0W,IAArB,CAA7B,KAA6D,IAAI,CAACA,IAAI,CAACzN,KAAL,CAAW,cAAX,CAAD,IAA+B,MAAMyN,IAAI,CAAC7P,OAAL,CAAa7G,MAAb,CAAzC,EAA+D,MAAM,IAAI5I,KAAJ,CAAU,iEAAiE6K,IAAI,CAAC3F,SAAL,CAAeoa,IAAf,CAA3E,CAAN;AAC5H,gBAAI,WAAWnhB,MAAf,EAAuB,OAAO+gB,OAAO,GAAG9f,IAAV,CAAgB,UAASb,IAAT,EAAe;AACzD,kBAAI,CAACA,IAAL,EAAW,MAAM,IAAIyB,KAAJ,CAAU,4CAAV,CAAN;AACX,eAAC,UAASygB,KAAT,EAAgB;AACb,oBAAIhW,GAAG,GAAGgW,KAAK,CAAChW,GAAhB;AAAA,oBAAqBuf,MAAM,GAAGvJ,KAAK,CAACuJ,MAApC;AAAA,oBAA4Crf,IAAI,GAAG8V,KAAK,CAAC9V,IAAzD;AAAA,oBAA+DgtB,YAAY,GAAGlX,KAAK,CAACtiB,MAApF;AAAA,oBAA4FA,MAAM,GAAG,KAAK,CAAL,KAAWw5B,YAAX,GAA0B,MAA1B,GAAmCA,YAAxI;AACA,oBAAIC,IAAI,GAAGtzB,QAAQ,CAACM,aAAT,CAAuB,MAAvB,CAAX;AACAgzB,gBAAAA,IAAI,CAAC7yB,YAAL,CAAkB,QAAlB,EAA4BilB,MAA5B;AACA4N,gBAAAA,IAAI,CAAC7yB,YAAL,CAAkB,QAAlB,EAA4B5G,MAA5B;AACAy5B,gBAAAA,IAAI,CAAC7yB,YAAL,CAAkB,QAAlB,EAA4B0F,GAA5B;AACAmtB,gBAAAA,IAAI,CAACj0B,KAAL,CAAWk0B,OAAX,GAAqB,MAArB;AACA,oBAAIltB,IAAJ,EAAU,KAAK,IAAImtB,IAAI,GAAG,CAAX,EAAcC,aAAa,GAAGr9B,MAAM,CAACgH,IAAP,CAAYiJ,IAAZ,CAAnC,EAAsDmtB,IAAI,GAAGC,aAAa,CAACl2B,MAA3E,EAAmFi2B,IAAI,EAAvF,EAA2F;AACjG,sBAAIE,SAAJ;;AACA,sBAAIv8B,GAAG,GAAGs8B,aAAa,CAACD,IAAD,CAAvB;AACA,sBAAIG,KAAK,GAAG3zB,QAAQ,CAACM,aAAT,CAAuB,OAAvB,CAAZ;AACAqzB,kBAAAA,KAAK,CAAClzB,YAAN,CAAmB,MAAnB,EAA2BtJ,GAA3B;AACAw8B,kBAAAA,KAAK,CAAClzB,YAAN,CAAmB,OAAnB,EAA4B,SAASizB,SAAS,GAAGrtB,IAAI,CAAClP,GAAD,CAAzB,IAAkC,KAAK,CAAvC,GAA2Cu8B,SAAS,CAACn3B,QAAV,EAAvE;AACA+2B,kBAAAA,IAAI,CAAC3yB,WAAL,CAAiBgzB,KAAjB;AACH;AACDzH,gBAAAA,OAAO,GAAGvrB,WAAV,CAAsB2yB,IAAtB;AACAA,gBAAAA,IAAI,CAACM,MAAL;AACA1H,gBAAAA,OAAO,GAAG3D,WAAV,CAAsB+K,IAAtB;AACH,eAlBA,CAkBC;AACEntB,gBAAAA,GAAG,EAAE6U,IADP;AAEE0K,gBAAAA,MAAM,EAAEzrB,IAFV;AAGEJ,gBAAAA,MAAM,EAAEA,MAHV;AAIEwM,gBAAAA,IAAI,EAAEA;AAJR,eAlBD,CAAD;AAwBH,aA1B6B,CAAP;AA2BvB,gBAAI,UAAUxM,MAAd,EAAsB,MAAM,IAAI6B,KAAJ,CAAU,yBAAyB7B,MAAnC,CAAN;AACtB,gBAAIuR,YAAY,CAACb,GAAD,CAAhB,EAAuB,IAAI;AACvB,kBAAIA,GAAG,CAACC,QAAJ,IAAgB,cAAc,OAAOD,GAAG,CAACC,QAAJ,CAAawI,OAAtD,EAA+D;AAC3DzI,gBAAAA,GAAG,CAACC,QAAJ,CAAawI,OAAb,CAAqBgI,IAArB;AACA;AACH;AACJ,aALsB,CAKrB,OAAOvjB,GAAP,EAAY;AACd8S,YAAAA,GAAG,CAACC,QAAJ,GAAewQ,IAAf;AACH,WAvCM,CAAP;AAwCH,SApEE;AAqEHC,QAAAA,OAAO,EAAE,iBAAShhB,IAAT,EAAe;AACpB,iBAAOsgB,UAAU,CAACzf,IAAX,CAAiB,UAASyP,GAAT,EAAc;AAClC0nB,YAAAA,UAAU,CAAC;AACP1nB,cAAAA,GAAG,EAAEA,GADE;AAEPtQ,cAAAA,IAAI,EAAEA;AAFC,aAAD,CAAV;AAIA,gBAAIihB,UAAU,GAAG9P,YAAY,CAACb,GAAD,CAA7B;AACA,gBAAIuB,KAAK,GAAGuc,iBAAiB,CAAC9d,GAAD,CAA7B;AACA,gBAAI,CAAC2Q,UAAL,EAAiB,MAAM,IAAIxf,KAAJ,CAAU,+CAA+CzB,IAAzD,CAAN;AACjBsR,YAAAA,gBAAgB,CAAChB,GAAD,CAAhB,CAAsBtQ,IAAtB,GAA6BA,IAA7B;AACA6R,YAAAA,KAAK,IAAIA,KAAK,CAACrL,YAAN,CAAmB,MAAnB,EAA2BxG,IAA3B,CAAT;AACAwgB,YAAAA,iBAAiB,GAAGpR,oBAAoB,CAAC3O,OAArB,CAA6BT,IAA7B,CAApB;AACH,WAXM,CAAP;AAYH;AAlFE,OAAP;AAoFH;;AACD,QAAIsP,kBAAkB,GAAG,YAAW;AAChC,eAASgS,WAAT,CAAqB1B,KAArB,EAA4B;AACxB,YAAIzB,IAAI,GAAGyB,KAAK,CAACzB,IAAjB;AAAA,YAAuB7N,GAAG,GAAGsP,KAAK,CAACtP,GAAnC;AAAA,YAAwCiR,gBAAgB,GAAG3B,KAAK,CAAC2B,gBAAjE;AACA,aAAKpB,EAAL,GAAU,KAAK,CAAf;AACA,aAAKqB,aAAL,GAAqB,CAAC,CAAtB;AACA,aAAKD,gBAAL,GAAwB,KAAK,CAA7B;AACA,aAAKE,YAAL,GAAoB,KAAK,CAAzB;AACA,aAAKC,mBAAL,GAA2B,KAAK,CAAhC;AACA,aAAKvD,IAAL,GAAY,KAAK,CAAjB;AACA,aAAKne,IAAL,GAAY,KAAK,CAAjB;AACA,aAAK0hB,mBAAL,GAA2B,IAAItS,oBAAJ,EAA3B;AACA,aAAKmS,gBAAL,GAAwBA,gBAAgB,IAAIlB,mBAAmB,CAAC,KAAKqB,mBAAN,EAA2B;AACtFvD,UAAAA,IAAI,EAAEA;AADgF,SAA3B,CAA/D;AAGApB,QAAAA,WAAW,CAAC,iBAAD,CAAX,CAA+BzV,GAA/B,CAAmC,KAAKqa,KAAL,EAAnC,EAAiD,IAAjD;AACArR,QAAAA,GAAG,IAAI,KAAKsR,SAAL,CAAetR,GAAf,EAAoB;AACvB6N,UAAAA,IAAI,EAAEA;AADiB,SAApB,CAAP;AAGH;;AACD,UAAIhJ,MAAM,GAAGmM,WAAW,CAACllB,SAAzB;;AACA+Y,MAAAA,MAAM,CAACwM,KAAP,GAAe,YAAW;AACtB,eAAO,KAAKJ,gBAAL,CAAsBpB,EAA7B;AACH,OAFD;;AAGAhL,MAAAA,MAAM,CAACuL,OAAP,GAAiB,YAAW;AACxB,eAAO,KAAKa,gBAAL,CAAsBb,OAAtB,EAAP;AACH,OAFD;;AAGAvL,MAAAA,MAAM,CAAC0M,OAAP,GAAiB,YAAW;AACxB,eAAO,KAAKnB,OAAL,GAAe7f,IAAf,CAAqB,UAASpC,IAAT,EAAe;AACvC,iBAAOA,IAAI,KAAKmtB,WAAW,CAACE,KAA5B;AACH,SAFM,CAAP;AAGH,OAJD;;AAKA3W,MAAAA,MAAM,CAAC2L,WAAP,GAAqB,UAASC,IAAT,EAAe0D,IAAf,EAAqB;AACtC,YAAIhQ,KAAK,GAAG,IAAZ;;AACA,eAAO,KAAK8M,gBAAL,CAAsBT,WAAtB,CAAkCC,IAAlC,EAAwC0D,IAAxC,EAA8C5jB,IAA9C,CAAoD,YAAW;AAClE,iBAAO4T,KAAP;AACH,SAFM,CAAP;AAGH,OALD;;AAMAU,MAAAA,MAAM,CAACwL,OAAP,GAAiB,YAAW;AACxB,eAAO,KAAKY,gBAAL,CAAsBZ,OAAtB,EAAP;AACH,OAFD;;AAGAxL,MAAAA,MAAM,CAAC6L,OAAP,GAAiB,UAAShhB,IAAT,EAAe;AAC5B,YAAIqV,MAAM,GAAG,IAAb;;AACA,eAAO,KAAKkM,gBAAL,CAAsBP,OAAtB,CAA8BhhB,IAA9B,EAAoCa,IAApC,CAA0C,YAAW;AACxD,iBAAOwU,MAAP;AACH,SAFM,CAAP;AAGH,OALD;;AAMAF,MAAAA,MAAM,CAACtB,KAAP,GAAe,YAAW;AACtB,YAAIuC,MAAM,GAAG,IAAb;;AACA,eAAO,KAAKmL,gBAAL,CAAsB1N,KAAtB,GAA8BhT,IAA9B,CAAoC,YAAW;AAClD,iBAAOuV,MAAP;AACH,SAFM,CAAP;AAGH,OALD;;AAMAjB,MAAAA,MAAM,CAACyL,KAAP,GAAe,YAAW;AACtB,YAAIkB,MAAM,GAAG,IAAb;;AACA,YAAIC,cAAc,GAAG,KAAKF,OAAL,EAArB;AACA,YAAIG,cAAc,GAAG,KAAKrB,OAAL,EAArB;AACA,YAAIsB,aAAa,GAAG7S,oBAAoB,CAACwH,IAArB,CAA0B;AAC1CiL,UAAAA,OAAO,EAAEE,cADiC;AAE1C/hB,UAAAA,IAAI,EAAEgiB;AAFoC,SAA1B,EAGjBnhB,IAHiB,CAGX,UAASqhB,KAAT,EAAgB;AACrB,cAAIliB,IAAI,GAAGkiB,KAAK,CAACliB,IAAjB;AACAkiB,UAAAA,KAAK,CAACL,OAAN,IAAiB7hB,IAAjB,IAAyB+G,MAAM,CAACob,IAAP,CAAY,EAAZ,EAAgBniB,IAAhB,EAAsB,UAAtB,CAAzB;AACH,SANmB,CAApB;AAOA,YAAIoiB,YAAY,GAAG,KAAKb,gBAAL,CAAsBX,KAAtB,EAAnB;AACA,eAAOxR,oBAAoB,CAACmH,GAArB,CAAyB,CAAE0L,aAAF,EAAiBG,YAAjB,CAAzB,EAA0DvhB,IAA1D,CAAgE,YAAW;AAC9E,iBAAOihB,MAAP;AACH,SAFM,CAAP;AAGH,OAfD;;AAgBA3M,MAAAA,MAAM,CAAC0L,QAAP,GAAkB,YAAW;AACzB,eAAO,KAAKU,gBAAL,CAAsBV,QAAtB,EAAP;AACH,OAFD;;AAGA1L,MAAAA,MAAM,CAACkN,SAAP,GAAmB,YAAW;AAC1B,eAAO,KAAKZ,YAAZ;AACH,OAFD;;AAGAtM,MAAAA,MAAM,CAACyM,SAAP,GAAmB,UAAStR,GAAT,EAAc4N,KAAd,EAAqB;AACpC,YAAIC,IAAI,GAAGD,KAAK,CAACC,IAAjB;AACA,aAAKsD,YAAL,GAAoBnR,GAApB;AACA,aAAKoR,mBAAL,CAAyBjhB,OAAzB,CAAiC,KAAKghB,YAAtC;AACA,aAAKF,gBAAL,GAAwBlB,mBAAmB,CAAC,KAAKqB,mBAAN,EAA2B;AAClEvD,UAAAA,IAAI,EAAEA,IAD4D;AAElEgC,UAAAA,EAAE,EAAE,KAAKwB,KAAL;AAF8D,SAA3B,CAA3C;AAIAnE,QAAAA,WAAW,CAAC,kBAAD,CAAX,CAAgClW,GAAhC,CAAoCgJ,GAApC,EAAyC,IAAzC;AACH,OATD;;AAUA6E,MAAAA,MAAM,CAACmN,WAAP,GAAqB,YAAW;AAC5B,eAAO,KAAKZ,mBAAZ;AACH,OAFD;;AAGAvM,MAAAA,MAAM,CAACoN,WAAP,GAAqB,UAASjS,GAAT,EAAc+N,KAAd,EAAqB;AACtC,YAAImE,MAAM,GAAG,IAAb;;AACA,YAAIrE,IAAI,GAAGE,KAAK,CAACF,IAAjB;AACA,eAAO/O,oBAAoB,OAApB,CAA0B,YAAW;AACxC,iBAAOoT,MAAM,CAACf,YAAP,GAAsBnR,GAAG,KAAKkS,MAAM,CAACf,YAArC,GAAoDrS,oBAAoB,CAACwH,IAArB,CAA0B;AACjF6L,YAAAA,eAAe,EAAED,MAAM,CAAC7E,aAAP,EADgE;AAEjF+E,YAAAA,qBAAqB,EAAEnE,mBAAmB,CAACjO,GAAD,EAAM;AAC5C6N,cAAAA,IAAI,EAAEA;AADsC,aAAN;AAFuC,WAA1B,EAKxDtd,IALwD,CAKlD,UAAS2d,KAAT,EAAgB;AACrB,gBAAIlL,KAAK,GAAGkL,KAAK,CAACiE,eAAN,KAA0BjE,KAAK,CAACkE,qBAA5C;AACApP,YAAAA,KAAK,IAAIkP,MAAM,CAACZ,SAAP,CAAiBtR,GAAjB,EAAsB;AAC3B6N,cAAAA,IAAI,EAAEA;AADqB,aAAtB,CAAT;AAGA,mBAAO7K,KAAP;AACH,WAX0D,CAA3D;AAYH,SAbM,CAAP;AAcH,OAjBD;;AAkBA6B,MAAAA,MAAM,CAACwN,MAAP,GAAgB,YAAW;AACvB,eAAO,KAAKlB,YAAL,IAAqB,IAA5B;AACH,OAFD;;AAGAtM,MAAAA,MAAM,CAACwI,aAAP,GAAuB,YAAW;AAC9B,eAAO,KAAK4D,gBAAL,CAAsB5D,aAAtB,EAAP;AACH,OAFD;;AAGAxI,MAAAA,MAAM,CAACiL,WAAP,GAAqB,YAAW;AAC5B,eAAO/M,OAAO,CAAC,KAAKoO,YAAL,IAAqBvP,cAAc,CAAC,KAAKuP,YAAN,CAApC,CAAd;AACH,OAFD;;AAGAtM,MAAAA,MAAM,CAACyN,SAAP,GAAmB,YAAW;AAC1B,eAAO,KAAKrB,gBAAZ;AACH,OAFD;;AAGAD,MAAAA,WAAW,CAACqB,MAAZ,GAAqB,UAASrS,GAAT,EAAc;AAC/B,eAAOgR,WAAW,CAACE,aAAZ,CAA0BlR,GAA1B,IAAiCA,GAAG,CAACqS,MAAJ,EAAjC,GAAgDrS,GAAvD;AACH,OAFD;;AAGAgR,MAAAA,WAAW,CAACsB,SAAZ,GAAwB,UAAStS,GAAT,EAAcmO,KAAd,EAAqB;AACzC,YAAIN,IAAI,GAAGM,KAAK,CAACN,IAAjB;AACA4B,QAAAA,mBAAmB;AACnB,eAAOuB,WAAW,CAACuB,aAAZ,CAA0BvS,GAA1B,EAA+B;AAClC6N,UAAAA,IAAI,EAAEA;AAD4B,SAA/B,EAEJyE,SAFI,EAAP;AAGH,OAND;;AAOAtB,MAAAA,WAAW,CAACwB,WAAZ,GAA0B,UAASvB,gBAAT,EAA2BwB,KAA3B,EAAkC;AACxD,YAAI5E,IAAI,GAAG4E,KAAK,CAAC5E,IAAjB;AACA4B,QAAAA,mBAAmB;AACnB,eAAOhD,WAAW,CAAC,iBAAD,CAAX,CAA+B3V,GAA/B,CAAmCma,gBAAgB,CAACpB,EAApD,KAA2D,IAAImB,WAAJ,CAAgB;AAC9EC,UAAAA,gBAAgB,EAAEA,gBAD4D;AAE9EpD,UAAAA,IAAI,EAAEA;AAFwE,SAAhB,CAAlE;AAIH,OAPD;;AAQAmD,MAAAA,WAAW,CAACE,aAAZ,GAA4B,UAASvkB,GAAT,EAAc;AACtC,eAAOoW,OAAO,CAACpW,GAAG,IAAI,CAACwW,QAAQ,CAACxW,GAAD,CAAhB,IAAyBA,GAAG,CAACukB,aAA9B,CAAd;AACH,OAFD;;AAGAF,MAAAA,WAAW,CAACuB,aAAZ,GAA4B,UAASvS,GAAT,EAAc0S,KAAd,EAAqB;AAC7C,YAAI7E,IAAI,GAAG6E,KAAK,CAAC7E,IAAjB;AACA4B,QAAAA,mBAAmB;AACnB,YAAIuB,WAAW,CAACE,aAAZ,CAA0BlR,GAA1B,CAAJ,EAAoC,OAAOA,GAAP;AACpC,YAAImR,YAAY,GAAGnR,GAAnB;AACA,eAAOkN,WAAW,CAAC,kBAAD,CAAX,CAAgCpW,GAAhC,CAAoCqa,YAApC,KAAqD,IAAIH,WAAJ,CAAgB;AACxEhR,UAAAA,GAAG,EAAEmR,YADmE;AAExEtD,UAAAA,IAAI,EAAEA;AAFkE,SAAhB,CAA5D;AAIH,OATD;;AAUA,aAAOmD,WAAP;AACH,KArJwB,EAAzB;;AAsJA,aAAS2B,SAAT,CAAmB9C,EAAnB,EAAuBvG,GAAvB,EAA4B5Z,IAA5B,EAAkCmf,MAAlC,EAA0C9U,MAA1C,EAAkD;AAC9C,UAAI6Y,WAAW,GAAG1F,WAAW,CAAC,aAAD,CAA7B;AACA,UAAI2F,kBAAkB,GAAGpG,WAAW,CAAC,oBAAD,CAApC;AACA,UAAIzN,kBAAkB,CAACkS,aAAnB,CAAiCrC,MAAjC,CAAJ,EAA8CgE,kBAAkB,CAAC7b,GAAnB,CAAuB6Y,EAAvB,EAA2B;AACrEvG,QAAAA,GAAG,EAAEA,GADgE;AAErE5Z,QAAAA,IAAI,EAAEA,IAF+D;AAGrEqK,QAAAA,MAAM,EAAEA,MAH6D;AAIrE8U,QAAAA,MAAM,EAAEA;AAJ6D,OAA3B,EAA9C,KAKS;AACLgE,QAAAA,kBAAkB,CAAChG,GAAnB,CAAuBgD,EAAvB;AACA+C,QAAAA,WAAW,CAACzK,QAAZ,CAAqB0G,MAArB,EAA8B,YAAW;AACrC,iBAAO,EAAP;AACH,SAFD,EAEIgB,EAFJ,IAEU;AACN9V,UAAAA,MAAM,EAAEA,MADF;AAENrK,UAAAA,IAAI,EAAEA,IAFA;AAGN4Z,UAAAA,GAAG,EAAEA,GAHC;AAINuF,UAAAA,MAAM,EAAEA;AAJF,SAFV;AAQH;AACJ;;AACD,aAASiE,YAAT,CAAsBjE,MAAtB,EAA8BgB,EAA9B,EAAkC;AAC9B,UAAI+C,WAAW,GAAG1F,WAAW,CAAC,aAAD,CAA7B;AACA,UAAI2F,kBAAkB,GAAGpG,WAAW,CAAC,oBAAD,CAApC;AACA,aAAOmG,WAAW,CAACzK,QAAZ,CAAqB0G,MAArB,EAA8B,YAAW;AAC5C,eAAO,EAAP;AACH,OAFM,EAEHgB,EAFG,KAEIgD,kBAAkB,CAAC/b,GAAnB,CAAuB+Y,EAAvB,CAFX;AAGH;;AACD,aAASkD,0BAAT,CAAoCC,WAApC,EAAiDjZ,MAAjD,EAAyDuP,GAAzD,EAA8D1c,GAA9D,EAAmEglB,KAAnE,EAA0E;AACtEqB,MAAAA,EAAE,GAAG,CAAC1F,IAAI,GAAG;AACT0F,QAAAA,EAAE,EAAErB,KAAK,CAACqB,EADD;AAETpF,QAAAA,IAAI,EAAE+D,KAAK,CAAC/D;AAFH,OAAR,EAGFoF,EAHH,EAGOpF,IAAI,GAAGN,IAAI,CAACM,IAHnB,EAGyBpB,WAAW,CAAC,kBAAD,CAAX,CAAgCtE,QAAhC,CAAyC,eAAzC,EAA2D,YAAW;AAC3F,eAAO8K,EAAE,CAAC,kBAAD,EAAqB;AAC1BlZ,UAAAA,MAAM,EAAE;AADkB,SAArB,EAEL,UAASuV,KAAT,EAAgB;AAChB,cAAIT,MAAM,GAAGS,KAAK,CAACT,MAAnB;AAAA,cAA2BhM,MAAM,GAAGyM,KAAK,CAACzM,MAA1C;AAAA,cAAkDmL,IAAI,GAAGsB,KAAK,CAACtB,IAA/D;AACA,cAAI6B,EAAE,GAAG7B,IAAI,CAAC6B,EAAd;AAAA,cAAkBngB,IAAI,GAAGse,IAAI,CAACte,IAA9B;AACA,cAAIwjB,IAAI,GAAGJ,YAAY,CAACjE,MAAD,EAASgB,EAAT,CAAvB;AACA,cAAI,CAACqD,IAAL,EAAW,MAAM,IAAI/hB,KAAJ,CAAU,4BAA4BzB,IAA5B,GAAmC,aAAnC,GAAmDse,IAAI,CAAC6B,EAAxD,GAA6D,MAA7D,GAAsEnP,SAAS,CAACjK,MAAD,CAAzF,CAAN;AACX,cAAI0c,YAAY,GAAGD,IAAI,CAACrE,MAAxB;AAAA,cAAgC9U,MAAM,GAAGmZ,IAAI,CAACnZ,MAA9C;AAAA,cAAsDuP,GAAG,GAAG4J,IAAI,CAAC5J,GAAjE;AACA,iBAAOxK,oBAAoB,OAApB,CAA0B,YAAW;AACxC,gBAAI,CAAC6D,WAAW,CAAC5I,MAAD,EAAS8I,MAAT,CAAhB,EAAkC,MAAM,IAAI1R,KAAJ,CAAU,aAAa6c,IAAI,CAACte,IAAlB,GAAyB,WAAzB,GAAuCsM,IAAI,CAAC3F,SAAL,CAAe+U,YAAY,CAAC8H,IAAI,CAACnZ,MAAN,CAAZ,GAA4BmZ,IAAI,CAACnZ,MAAL,CAAY8U,MAAxC,GAAiDqE,IAAI,CAACnZ,MAArE,CAAvC,GAAsH,yBAAtH,GAAkJ8I,MAAlJ,GAA2J,MAA3J,GAAoKnC,SAAS,CAACjK,MAAD,CAAvL,CAAN;AAClC,gBAAIuI,kBAAkB,CAACkS,aAAnB,CAAiCiC,YAAjC,CAAJ,EAAoD,OAAOA,YAAY,CAAClB,WAAb,CAAyBpD,MAAzB,EAAiC;AACxFhB,cAAAA,IAAI,EAAEA;AADkF,aAAjC,EAExDtd,IAFwD,CAElD,UAASyS,KAAT,EAAgB;AACrB,kBAAI,CAACA,KAAL,EAAY,MAAM,IAAI7R,KAAJ,CAAU,kBAAkB6c,IAAI,CAACte,IAAvB,GAA8B,mDAA9B,GAAoFgR,SAAS,CAACjK,MAAD,CAAvG,CAAN;AACf,aAJ0D,CAAP;AAKvD,WAPM,EAOHlG,IAPG,CAOG,YAAW;AACjB,mBAAO+Y,GAAG,CAACvC,KAAJ,CAAU;AACb8H,cAAAA,MAAM,EAAEA,MADK;AAEbhM,cAAAA,MAAM,EAAEA;AAFK,aAAV,EAGJmL,IAAI,CAAClH,IAHD,CAAP;AAIH,WAZM,EAYF,UAAS5Z,GAAT,EAAc;AACf,mBAAO4R,oBAAoB,OAApB,CAA0B,YAAW;AACxC,kBAAIwK,GAAG,CAAC7D,OAAR,EAAiB,OAAO6D,GAAG,CAAC7D,OAAJ,CAAYvY,GAAZ,CAAP;AACpB,aAFM,EAEHqD,IAFG,CAEG,YAAW;AACjBrD,cAAAA,GAAG,CAACuX,KAAJ,KAAcvX,GAAG,CAACuX,KAAJ,GAAY,oBAAoB/U,IAApB,GAA2B,GAA3B,GAAiC,UAASoX,IAAT,EAAe;AACtE,qBAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,EAA3B;AACA,uBAAOmZ,SAAS,CAACnZ,IAAD,CAAT,CAAgBL,GAAhB,CAAqB,UAASvY,GAAT,EAAc;AACtC,yBAAO,YAAY,OAAOA,GAAnB,GAAyB,MAAMA,GAAN,GAAY,GAArC,GAA2C,KAAK,CAAL,KAAWA,GAAX,GAAiB,WAAjB,GAA+B,SAASA,GAAT,GAAe,MAAf,GAAwB,aAAa,OAAOA,GAApB,GAA0BA,GAAG,CAAC8D,QAAJ,EAA1B,GAA2CuD,KAAK,CAACuN,OAAN,CAAc5U,GAAd,IAAqB,SAArB,GAAiC,YAAY,OAAOA,GAAnB,GAAyB,SAAzB,GAAqC,cAAc,OAAOA,GAArB,GAA2B,eAA3B,GAA6C,MAAM,OAAOA,GAAb,GAAmB,GAA1R;AACH,iBAFM,EAEHoI,IAFG,CAEE,IAFF,CAAP;AAGH,eAL0D,CAKzD0X,IAAI,CAAClH,IALoD,CAAjC,GAKX,cALW,GAKM5Z,GAAG,CAACuX,KALpC;AAMA,oBAAMvX,GAAN;AACH,aAVM,CAAP;AAWH,WAxBM,EAwBHqD,IAxBG,CAwBG,UAASD,MAAT,EAAiB;AACvB,mBAAO;AACHA,cAAAA,MAAM,EAAEA,MADL;AAEHuf,cAAAA,EAAE,EAAEA,EAFD;AAGHngB,cAAAA,IAAI,EAAEA;AAHH,aAAP;AAKH,WA9BM,CAAP;AA+BH,SAvCQ,CAAT;AAwCH,OAzCwB,CAHzB;;AA6CA,UAAI6d,IAAJ,EAAU0F,EAAV,EAAcpF,IAAd;;AACA,UAAIgC,EAAE,GAAGvG,GAAG,CAAC8J,MAAJ,IAAc7K,QAAQ,EAA/B;AACAyK,MAAAA,WAAW,GAAGhU,kBAAkB,CAACqT,MAAnB,CAA0BW,WAA1B,CAAd;AACA,UAAItjB,IAAI,GAAG4Z,GAAG,CAACjB,QAAJ,IAAgBiB,GAAG,CAAC5Z,IAApB,IAA4B9C,GAAvC;AACA,kBAAY,OAAO8C,IAAnB,IAA2B,cAAc,OAAOA,IAAI,CAACkR,OAArD,IAAgE,MAAMlR,IAAI,CAACkR,OAAL,CAAa,aAAb,CAAtE,KAAsGlR,IAAI,GAAGA,IAAI,CAAC+Y,OAAL,CAAa,aAAb,EAA4B7b,GAAG,GAAG,IAAlC,CAA7G;;AACA,UAAIoS,kBAAkB,CAACkS,aAAnB,CAAiC8B,WAAjC,CAAJ,EAAmD;AAC/CL,QAAAA,SAAS,CAAC9C,EAAD,EAAKvG,GAAL,EAAU5Z,IAAV,EAAgBsjB,WAAhB,EAA6BjZ,MAA7B,CAAT;AACAiZ,QAAAA,WAAW,CAAChB,WAAZ,GAA0BzhB,IAA1B,CAAgC,UAASyP,GAAT,EAAc;AAC1C2S,UAAAA,SAAS,CAAC9C,EAAD,EAAKvG,GAAL,EAAU5Z,IAAV,EAAgBsQ,GAAhB,EAAqBjG,MAArB,CAAT;AACH,SAFD;AAGH,OALD,MAKO4Y,SAAS,CAAC9C,EAAD,EAAKvG,GAAL,EAAU5Z,IAAV,EAAgBsjB,WAAhB,EAA6BjZ,MAA7B,CAAT;;AACP,aAAOwU,aAAa,CAAC,uBAAD,EAA0B;AAC1CsB,QAAAA,EAAE,EAAEA,EADsC;AAE1CngB,QAAAA,IAAI,EAAEA;AAFoC,OAA1B,CAApB;AAIH;;AACD,aAAS2jB,gBAAT,CAA0BL,WAA1B,EAAuCjZ,MAAvC,EAA+CpN,GAA/C,EAAoD4gB,IAApD,EAA0D;AACtD,UAAI+F,UAAJ;;AACA,UAAIL,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,UAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AACA,aAAO,UAASlhB,GAAT,EAAc4mB,WAAd,EAA2B;AAC9B,aAAK,CAAL,KAAWA,WAAX,KAA2BA,WAAW,GAAGpE,kBAAzC;AACA,YAAI7e,MAAM,GAAG0L,IAAI,CAAC3F,SAAL,CAAe1J,GAAf,EAAqB,UAASC,GAAT,EAAc;AAC5C,cAAI0c,GAAG,GAAG,KAAK1c,GAAL,CAAV;AACA,cAAIwhB,gBAAgB,CAAC,IAAD,CAApB,EAA4B,OAAO9E,GAAP;AAC5B,cAAInb,IAAI,GAAGmgB,aAAa,CAAChF,GAAD,CAAxB;AACA,cAAI,CAACnb,IAAL,EAAW,OAAOmb,GAAP;AACX,cAAIkK,UAAU,GAAGD,WAAW,CAACplB,IAAD,CAAX,IAAqBugB,UAAU,CAACvgB,IAAD,CAAhD;AACA,iBAAOqlB,UAAU,GAAGA,UAAU,CAAClK,GAAD,EAAM1c,GAAN,CAAb,GAA0B0c,GAA3C;AACH,SAPY,CAAb;AAQA,eAAO,KAAK,CAAL,KAAWhZ,MAAX,GAAoB,WAApB,GAAkCA,MAAzC;AACH,OAXM,CAWL3D,GAXK,GAWC,CAAC2mB,UAAU,GAAG,EAAd,EAAkB7W,OAAlB,GAA4B,UAAS6M,GAAT,EAAc1c,GAAd,EAAmB;AACnD,eAAO,UAASomB,WAAT,EAAsBjZ,MAAtB,EAA8BuP,GAA9B,EAAmC1c,GAAnC,EAAwC2gB,IAAxC,EAA8C;AACjD,iBAAOgB,aAAa,CAAC,4BAAD,EAA+B;AAC/Che,YAAAA,IAAI,EAAEwiB,0BAA0B,CAACC,WAAD,EAAcjZ,MAAd,EAAuB,UAAS5J,OAAT,EAAkBC,MAAlB,EAA0B;AAC7E,qBAAOkZ,GAAG,CAAC/Y,IAAJ,CAASJ,OAAT,EAAkBC,MAAlB,CAAP;AACH,aAF+B,EAE5BxD,GAF4B,EAEvB;AACLqmB,cAAAA,EAAE,EAAE1F,IAAI,CAAC0F,EADJ;AAELpF,cAAAA,IAAI,EAAEN,IAAI,CAACM;AAFN,aAFuB;AADe,WAA/B,CAApB;AAQH,SATM,CASLmF,WATK,EASQjZ,MATR,EASgBuP,GAThB,EASqB1c,GATrB,EAS0B;AAC7BqmB,UAAAA,EAAE,EAAEA,EADyB;AAE7BpF,UAAAA,IAAI,EAAEA;AAFuB,SAT1B,CAAP;AAaH,OAdO,EAcLyF,UAAU,YAAV,GAAsB,UAAShK,GAAT,EAAc1c,GAAd,EAAmB;AACxC,eAAOmmB,0BAA0B,CAACC,WAAD,EAAcjZ,MAAd,EAAsBuP,GAAtB,EAA2B1c,GAA3B,EAAgC;AAC7DqmB,UAAAA,EAAE,EAAEA,EADyD;AAE7DpF,UAAAA,IAAI,EAAEA;AAFuD,SAAhC,CAAjC;AAIH,OAnBO,EAmBLyF,UAAU,CAACxgB,MAAX,GAAoB,UAASwW,GAAT,EAAc;AACjC,eAAOnG,QAAQ,CAACmG,GAAD,CAAR,IAAiBtK,kBAAkB,CAACkS,aAAnB,CAAiC5H,GAAjC,CAAjB,GAAyDiF,aAAa,CAAC,qBAAD,EAAwBvP,kBAAkB,CAACsT,SAAnB,CAA6BhJ,GAA7B,EAAkC;AACnIuE,UAAAA,IAAI,EAAEA;AAD6H,SAAlC,CAAxB,CAAtE,GAEDvE,GAFN;AAGH,OAvBO,EAuBLgK,UAlCI,EAAP;AAmCH;;AACD,aAASG,kBAAT,CAA4B5E,MAA5B,EAAoChM,MAApC,EAA4Cd,OAA5C,EAAqDuN,KAArD,EAA4D;AACxD,UAAIoE,YAAJ;;AACA,UAAI7F,IAAI,GAAGyB,KAAK,CAACzB,IAAjB;AACA,aAAO,UAASlF,GAAT,EAAcgL,aAAd,EAA6B;AAChC,aAAK,CAAL,KAAWA,aAAX,KAA6BA,aAAa,GAAGnE,oBAA7C;AACA,YAAI,gBAAgB7G,GAApB,EAAyB,OAAO3M,IAAI,CAAC4X,KAAL,CAAWjL,GAAX,EAAiB,UAAS/b,GAAT,EAAc0c,GAAd,EAAmB;AAChE,cAAI8E,gBAAgB,CAAC,IAAD,CAApB,EAA4B,OAAO9E,GAAP;AAC5B,cAAInb,IAAJ;AACA,cAAItB,KAAJ;;AACA,cAAIuhB,gBAAgB,CAAC9E,GAAD,CAApB,EAA2B;AACvBnb,YAAAA,IAAI,GAAGmb,GAAG,CAAC+E,QAAX;AACAxhB,YAAAA,KAAK,GAAGyc,GAAG,CAACkF,OAAZ;AACH,WAHD,MAGO;AACHrgB,YAAAA,IAAI,GAAGmgB,aAAa,CAAChF,GAAD,CAApB;AACAzc,YAAAA,KAAK,GAAGyc,GAAR;AACH;;AACD,cAAI,CAACnb,IAAL,EAAW,OAAOtB,KAAP;AACX,cAAIgnB,YAAY,GAAGF,aAAa,CAACxlB,IAAD,CAAb,IAAuBkhB,YAAY,CAAClhB,IAAD,CAAtD;AACA,iBAAO0lB,YAAY,GAAGA,YAAY,CAAChnB,KAAD,EAAQD,GAAR,CAAf,GAA8BC,KAAjD;AACH,SAd+B,CAAP;AAe5B,OAjBM,CAiBLkV,OAjBK,GAiBK,CAAC2R,YAAY,GAAG,EAAhB,EAAoBI,0BAApB,GAAiD,UAASC,iBAAT,EAA4B;AACrF,eAAO,UAASlF,MAAT,EAAiBhM,MAAjB,EAAyByM,KAAzB,EAAgC;AACnC,iBAAO,IAAIxQ,oBAAJ,CAAyBwQ,KAAK,CAAC/e,IAA/B,CAAP;AACH,SAFM,CAEL,CAFK,EAEF,CAFE,EAECwjB,iBAFD,CAAP;AAGH,OAJW,EAITL,YAAY,CAACM,qBAAb,GAAqC,UAASC,kBAAT,EAA6B;AACjE,eAAO,UAASpF,MAAT,EAAiBhM,MAAjB,EAAyB+K,KAAzB,EAAgCG,KAAhC,EAAuC;AAC1C,cAAI8B,EAAE,GAAGjC,KAAK,CAACiC,EAAf;AAAA,cAAmBngB,IAAI,GAAGke,KAAK,CAACle,IAAhC;AACA,cAAIme,IAAI,GAAGE,KAAK,CAACF,IAAjB;;AACA,cAAIqG,uBAAuB,GAAG,SAA1BA,uBAA0B,CAASC,IAAT,EAAe;AACzC,iBAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,EAA3B;;AACA,qBAASC,0BAAT,GAAsC;AAClC,kBAAIvJ,UAAU,GAAGR,SAAjB;AACA,qBAAOrL,kBAAkB,CAACuT,aAAnB,CAAiC1D,MAAjC,EAAyC;AAC5ChB,gBAAAA,IAAI,EAAEA;AADsC,eAAzC,EAEJmE,WAFI,GAEUzhB,IAFV,CAEgB,UAASyP,GAAT,EAAc;AACjC,oBAAIkT,IAAI,GAAGJ,YAAY,CAAC9S,GAAD,EAAM6P,EAAN,CAAvB;AACA,oBAAIqD,IAAI,IAAIA,IAAI,CAAC5J,GAAL,KAAa8K,0BAAzB,EAAqD,OAAOlB,IAAI,CAAC5J,GAAL,CAASvC,KAAT,CAAe;AACvE8H,kBAAAA,MAAM,EAAEpY,MAD+D;AAEvEoM,kBAAAA,MAAM,EAAEnC,SAAS;AAFsD,iBAAf,EAGzDmK,UAHyD,CAAP;;AAIrD,oBAAIwJ,KAAK,GAAG,GAAG5gB,KAAH,CAASrF,IAAT,CAAcyc,UAAd,CAAZ;;AACA,uBAAOsJ,IAAI,CAACG,aAAL,GAAqBzG,IAAI,CAAC7N,GAAD,EAAM,kBAAN,EAA0B;AACtD6P,kBAAAA,EAAE,EAAEA,EADkD;AAEtDngB,kBAAAA,IAAI,EAAEA,IAFgD;AAGtDoX,kBAAAA,IAAI,EAAEuN;AAHgD,iBAA1B,EAI7B;AACCta,kBAAAA,MAAM,EAAE8I,MADT;AAECyR,kBAAAA,aAAa,EAAE,CAAC;AAFjB,iBAJ6B,CAAzB,GAOFzG,IAAI,CAAC7N,GAAD,EAAM,kBAAN,EAA0B;AAC/B6P,kBAAAA,EAAE,EAAEA,EAD2B;AAE/BngB,kBAAAA,IAAI,EAAEA,IAFyB;AAG/BoX,kBAAAA,IAAI,EAAEuN;AAHyB,iBAA1B,EAIN;AACCta,kBAAAA,MAAM,EAAE8I,MADT;AAECyR,kBAAAA,aAAa,EAAE,CAAC;AAFjB,iBAJM,CAAJ,CAOF/jB,IAPE,CAOI,UAAS0L,GAAT,EAAc;AACnB,yBAAOA,GAAG,CAAC+R,IAAJ,CAAS1d,MAAhB;AACH,iBATI,CAPL;AAiBH,eA1BM,WA0BI,UAASpD,GAAT,EAAc;AACrB,sBAAMA,GAAN;AACH,eA5BM,CAAP;AA6BH;;AACDknB,YAAAA,0BAA0B,CAAC/L,QAA3B,GAAsC3Y,IAAtC;AACA0kB,YAAAA,0BAA0B,CAACG,UAA3B,GAAwC1R,MAAxC;AACAuR,YAAAA,0BAA0B,CAACI,UAA3B,GAAwC3F,MAAxC;AACAuF,YAAAA,0BAA0B,CAAChB,MAA3B,GAAoCvD,EAApC;AACAuE,YAAAA,0BAA0B,CAACvR,MAA3B,GAAoCA,MAApC;AACA,mBAAOuR,0BAAP;AACH,WAxCD;;AAyCA,cAAIA,0BAA0B,GAAGF,uBAAuB,EAAxD;AACAE,UAAAA,0BAA0B,CAACE,aAA3B,GAA2CJ,uBAAuB,CAAC;AAC/DI,YAAAA,aAAa,EAAE,CAAC;AAD+C,WAAD,CAAlE;AAGA,iBAAOF,0BAAP;AACH,SAjDM,CAiDLvF,MAjDK,EAiDGhM,MAjDH,EAiDWoR,kBAjDX,EAiD+B;AAClCpG,UAAAA,IAAI,EAAEA;AAD4B,SAjD/B,CAAP;AAoDH,OAzDW,EAyDT6F,YAAY,CAACe,mBAAb,GAAmC,UAASxD,gBAAT,EAA2B;AAC7D,eAAOjS,kBAAkB,CAACwT,WAAnB,CAA+BvB,gBAA/B,EAAiD;AACpDpD,UAAAA,IAAI,EAAEA;AAD8C,SAAjD,CAAP;AAGH,OA7DW,EA6DT6F,YA9EI,EAAP;AA+EH;;AACD,QAAIgB,uBAAuB,GAAG,EAA9B;;AACAA,IAAAA,uBAAuB,CAACC,sBAAxB,GAAiD,UAAS3U,GAAT,EAAc4U,iBAAd,EAAiC7a,MAAjC,EAAyC;AACtF,YAAMA,MAAM,CAAC6G,OAAP,CAAe,OAAf,CAAN,KAAkC7G,MAAM,GAAG,GAA3C;AACAiG,MAAAA,GAAG,CAAC6U,WAAJ,CAAgBD,iBAAhB,EAAmC7a,MAAnC;AACH,KAHD;;AAIA2a,IAAAA,uBAAuB,CAAC4U,gBAAxB,GAA2C,UAAStpB,GAAT,EAAc4U,iBAAd,EAAiC7a,MAAjC,EAAyC;AAChF,UAAI,CAAC4sB,qBAAqB,EAAtB,IAA4B,CAACK,QAAQ,EAAzC,EAA6C,MAAM,IAAI71B,KAAJ,CAAU,+BAAV,CAAN;AAC7C,UAAI0P,YAAY,CAACb,GAAD,CAAhB,EAAuB,MAAM,IAAI7O,KAAJ,CAAU,kEAAV,CAAN;AACvB,UAAI,CAAC,CAAD,KAAO4rB,eAAe,CAACtmB,MAAD,EAASuJ,GAAT,CAA1B,EAAyC,MAAM,IAAI7O,KAAJ,CAAU,sFAAV,CAAN;AACzC,OAAC,UAAS6O,GAAT,EAAcjG,MAAd,EAAsBgI,OAAtB,EAA+B;AAC5B,YAAIwnB,cAAc,GAAGjN,QAAQ,CAAC7lB,MAAD,EAASuJ,GAAT,CAA7B;AACA,YAAIwpB,eAAe,GAAGlN,QAAQ,CAACtc,GAAD,EAAMvJ,MAAN,CAA9B;AACA,YAAI,CAAC8yB,cAAD,IAAmB,CAACC,eAAxB,EAAyC,MAAM,IAAIr4B,KAAJ,CAAU,6DAAV,CAAN;AACzCg2B,QAAAA,gBAAgB,CAACnnB,GAAD,CAAhB,CAAsBzP,IAAtB,CAA4B,UAAS+2B,WAAT,EAAsB;AAC9C,iBAAOA,WAAW,CAACtnB,GAAD,EAAMjG,MAAN,EAAcgI,OAAd,CAAlB;AACH,SAFD;AAGH,OAPA,CAOC/B,GAPD,EAOMjG,MAPN,EAOc6a,iBAPd,CAAD;AAQH,KAZD;;AAaAF,IAAAA,uBAAuB,CAAC+U,gBAAxB,GAA2C,UAASzpB,GAAT,EAAc4U,iBAAd,EAAiC;AACxE,UAAI,CAACmH,kBAAkB,CAACtlB,MAAD,CAAlB,CAA2BuM,KAA3B,CAAiC,uCAAjC,CAAL,EAAgF,MAAM,IAAI7R,KAAJ,CAAU,yCAAV,CAAN;AAChF,UAAI,CAAC0P,YAAY,CAACb,GAAD,CAAjB,EAAwB,MAAM,IAAI7O,KAAJ,CAAU,uEAAV,CAAN;AACxB,UAAI,CAAC,CAAD,KAAO4rB,eAAe,CAACtmB,MAAD,EAASuJ,GAAT,CAA1B,EAAyC,MAAM,IAAI7O,KAAJ,CAAU,sFAAV,CAAN;AACzC,UAAIu4B,aAAa,GAAGpd,gBAAgB,CAACtM,GAAD,CAApC;AACA,UAAI,CAAC0pB,aAAL,EAAoB,MAAM,IAAIv4B,KAAJ,CAAU,iDAAV,CAAN;AACpBu4B,MAAAA,aAAa,CAAC/P,cAAd,CAA6B;AACzB9K,QAAAA,MAAM,EAAEpY,MADiB;AAEzBoM,QAAAA,MAAM,EAAEnC,SAAS,EAFQ;AAGzBsN,QAAAA,IAAI,EAAE4G;AAHmB,OAA7B;AAKH,KAXD;;AAYA,aAASE,gBAAT,CAA0B9U,GAA1B,EAA+BjG,MAA/B,EAAuCgI,OAAvC,EAAgDuN,KAAhD,EAAuD;AACnD,UAAI2D,EAAE,GAAG3D,KAAK,CAAC2D,EAAf;AAAA,UAAmBpF,IAAI,GAAGyB,KAAK,CAACzB,IAAhC;AACA,aAAO/O,oBAAoB,OAApB,CAA0B,YAAW;AACxC,YAAIiW,YAAY,GAAG7H,WAAW,GAAG/E,QAAd,CAAuBnI,GAAvB,EAA6B,YAAW;AACvD,iBAAO,EAAP;AACH,SAFkB,CAAnB;AAGA+U,QAAAA,YAAY,CAACC,MAAb,GAAsBD,YAAY,CAACC,MAAb,IAAuB,EAA7C;AACAD,QAAAA,YAAY,CAACC,MAAb,CAAoBviB,IAApB,CAAyBsP,OAAzB;AACAgT,QAAAA,YAAY,CAAC5N,KAAb,GAAqB4N,YAAY,CAAC5N,KAAb,IAAsBrI,oBAAoB,CAACqI,KAArB,GAA6B5W,IAA7B,CAAmC,YAAW;AACrF,cAAIqR,cAAc,CAAC5B,GAAD,CAAlB,EAAyB,MAAM,IAAI7O,KAAJ,CAAU,kBAAV,CAAN;AACzB,cAAIyjB,iBAAiB,GAAGvB,gBAAgB,CAACrT,GAAD,EAAMjG,MAAN,GAAe,CAACwT,IAAI,GAAG,EAAR,EAAYoc,qBAAZ,GAAoC5U,YAAY,CAACC,MAAb,IAAuB,EAA3D,EACvDzH,IADwC,GACjC;AACH0F,YAAAA,EAAE,EAAEA,EADD;AAEHpF,YAAAA,IAAI,EAAEA;AAFH,WADiC,CAAxC;;AAKA,cAAIN,IAAJ;;AACA,iBAAOwH,YAAY,CAACC,MAApB;AACA,cAAIE,UAAU,GAAGrpB,MAAM,CAACgH,IAAP,CAAY6hB,uBAAZ,CAAjB;AACA,cAAIS,MAAM,GAAG,EAAb;;AACA,eAAK,IAAIxF,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGuF,UAAU,CAACliB,MAAnC,EAA2C2c,GAAG,EAA9C,EAAkD;AAC9C,gBAAIyF,YAAY,GAAGF,UAAU,CAACvF,GAAD,CAA7B;;AACA,gBAAI;AACA+E,cAAAA,uBAAuB,CAACU,YAAD,CAAvB,CAAsCpV,GAAtC,EAA2C4U,iBAA3C,EAA8D7a,MAA9D;AACH,aAFD,CAEE,OAAO7M,GAAP,EAAY;AACVioB,cAAAA,MAAM,CAAC1iB,IAAP,CAAYvF,GAAZ;AACH;AACJ;;AACD,cAAIioB,MAAM,CAACniB,MAAP,KAAkBkiB,UAAU,CAACliB,MAAjC,EAAyC,MAAM,IAAI7B,KAAJ,CAAU,oDAAoDgkB,MAAM,CAAC1O,GAAP,CAAY,UAASvZ,GAAT,EAAcmG,CAAd,EAAiB;AACtI,mBAAOA,CAAC,GAAG,IAAJ,GAAW4X,cAAc,CAAC/d,GAAD,CAAhC;AACH,WAF4G,EAEzGoJ,IAFyG,CAEpG,MAFoG,CAA9D,CAAN;AAG5C,SAtB0C,CAA3C;AAuBA,eAAOye,YAAY,CAAC5N,KAAb,CAAmB5W,IAAnB,CAAyB,YAAW;AACvC,iBAAOwkB,YAAY,CAAC5N,KAApB;AACH,SAFM,CAAP;AAGH,OAhCM,EAgCH5W,IAhCG,CAgCEya,aAhCF,CAAP;AAiCH;;AACD,aAASqK,mBAAT,CAA6B/O,IAA7B,EAAmC;AAC/B,aAAOmG,WAAW,CAAC,mBAAD,CAAX,CAAiC3V,GAAjC,CAAqCwP,IAArC,CAAP;AACH;;AACD,aAASgP,sBAAT,CAAgChP,IAAhC,EAAsC;AAClCmG,MAAAA,WAAW,CAAC,mBAAD,CAAX,CAAiCI,GAAjC,CAAqCvG,IAArC;AACH;;AACD,aAASiP,yBAAT,CAAmCjP,IAAnC,EAAyC;AACrC,aAAOmG,WAAW,CAAC,0BAAD,CAAX,CAAwCvE,GAAxC,CAA4C5B,IAA5C,CAAP;AACH;;AACD,aAASkP,kBAAT,CAA4BjI,IAA5B,EAAkC;AAC9B,UAAI7d,IAAI,GAAG6d,IAAI,CAAC7d,IAAhB;AAAA,UAAsBsQ,GAAG,GAAGuN,IAAI,CAACvN,GAAjC;AAAA,UAAsCjG,MAAM,GAAGwT,IAAI,CAACxT,MAApD;AACA,UAAI0b,gBAAgB,GAAGvI,WAAW,CAAC,kBAAD,CAAlC;AACA,cAAQlN,GAAR,KAAgBA,GAAG,GAAG,IAAtB;AACA,cAAQjG,MAAR,KAAmBA,MAAM,GAAG,IAA5B;AACA,UAAI,CAACrK,IAAL,EAAW,MAAM,IAAIyB,KAAJ,CAAU,uCAAV,CAAN;;AACX,WAAK,IAAIukB,GAAG,GAAG,CAAV,EAAa9D,KAAK,GAAG,CAAE5R,GAAF,EAAO+M,WAAW,EAAlB,CAA1B,EAAkD2I,GAAG,GAAG9D,KAAK,CAAC5e,MAA9D,EAAsE0iB,GAAG,EAAzE,EAA6E;AACzE,YAAIC,YAAY,GAAG/D,KAAK,CAAC8D,GAAD,CAAxB;;AACA,YAAIC,YAAJ,EAAkB;AACd,cAAIC,aAAa,GAAGH,gBAAgB,CAAC3e,GAAjB,CAAqB6e,YAArB,CAApB;;AACA,cAAIC,aAAJ,EAAmB;AACf,gBAAIC,eAAe,GAAGD,aAAa,CAAClmB,IAAD,CAAnC;;AACA,gBAAImmB,eAAJ,EAAqB;AACjB,kBAAI9b,MAAM,IAAI,YAAY,OAAOA,MAAjC,EAAyC;AACrC,oBAAI8b,eAAe,CAAC9b,MAAD,CAAnB,EAA6B,OAAO8b,eAAe,CAAC9b,MAAD,CAAtB;AAC7B,oBAAI8b,eAAe,CAACC,gBAApB,EAAsC,KAAK,IAAIC,GAAG,GAAG,CAAV,EAAaC,sBAAsB,GAAGH,eAAe,CAACC,gBAA3D,EAA6EC,GAAG,GAAGC,sBAAsB,CAAChjB,MAA1G,EAAkH+iB,GAAG,EAArH,EAAyH;AAC3J,sBAAIE,sBAAsB,GAAGD,sBAAsB,CAACD,GAAD,CAAnD;AAAA,sBAA0DG,QAAQ,GAAGD,sBAAsB,CAACC,QAA5F;AACA,sBAAIvT,WAAW,CAACsT,sBAAsB,CAACrH,KAAxB,EAA+B7U,MAA/B,CAAf,EAAuD,OAAOmc,QAAP;AAC1D;AACJ;;AACD,kBAAIL,eAAe,CAAC,GAAD,CAAnB,EAA0B,OAAOA,eAAe,CAAC,GAAD,CAAtB;AAC7B;AACJ;AACJ;AACJ;AACJ;;AACD,aAASc,sBAAT,CAAgCC,KAAhC,EAAuCtH,KAAvC,EAA8C;AAC1C,UAAI2D,EAAE,GAAG3D,KAAK,CAAC2D,EAAf;AAAA,UAAmBpF,IAAI,GAAGyB,KAAK,CAACzB,IAAhC;AACA,UAAIgJ,gBAAgB,GAAGpK,WAAW,CAAC,kBAAD,CAAlC;;AACA,UAAI;AACA,YAAI,CAAChW,MAAD,IAAWA,MAAM,CAACqL,MAAlB,IAA4B,CAAC8U,KAAK,CAAC/H,MAAvC,EAA+C;AAClD,OAFD,CAEE,OAAO3hB,GAAP,EAAY;AACV;AACH;;AACD,UAAI2hB,MAAM,GAAG+H,KAAK,CAAC/H,MAAnB;AAAA,UAA2BhM,MAAM,GAAG+T,KAAK,CAAC/T,MAA1C;;AACA,UAAIiU,QAAQ,GAAG,UAAS/U,OAAT,EAAkB8M,MAAlB,EAA0BhM,MAA1B,EAAkC0K,IAAlC,EAAwC;AACnD,YAAI0F,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,YAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AACA,YAAIkJ,aAAJ;;AACA,YAAI;AACAA,UAAAA,aAAa,GAAGtD,kBAAkB,CAAC5E,MAAD,EAAShM,MAAT,EAAiBd,OAAjB,EAA0B;AACxDkR,YAAAA,EAAE,EAAEA,EADoD;AAExDpF,YAAAA,IAAI,EAAEA;AAFkD,WAA1B,CAAlC;AAIH,SALD,CAKE,OAAO3gB,GAAP,EAAY;AACV;AACH;;AACD,YAAI6pB,aAAa,IAAI,YAAY,OAAOA,aAApC,IAAqD,SAASA,aAAlE,EAAiF;AAC7E,cAAIC,aAAa,GAAGD,aAAa,CAAC4S,qBAAlC;AACA,cAAIp0B,KAAK,CAACuN,OAAN,CAAckU,aAAd,CAAJ,EAAkC,OAAOA,aAAP;AACrC;AACJ,OAfc,CAebJ,KAAK,CAAC5I,IAfO,EAeDa,MAfC,EAeOhM,MAfP,EAee;AAC1BoQ,QAAAA,EAAE,EAAEA,EADsB;AAE1BpF,QAAAA,IAAI,EAAEA;AAFoB,OAff,CAAf;;AAmBA,UAAIiJ,QAAJ,EAAc;AACVpX,QAAAA,eAAe,CAACmP,MAAD,CAAf;;AACA,YAAI+a,IAAJ;AAAA,YAAUpjB,KAAK,GAAG,SAARA,KAAQ,GAAW;AACzB,cAAIzE,OAAO,GAAG+U,QAAQ,CAACnH,GAAD,CAAtB;AACA,cAAIkH,gBAAgB,CAAC3O,GAAjB,CAAqBnG,OAAO,CAAC8N,EAA7B,CAAJ,EAAsC,OAAO;AACzCga,YAAAA,CAAC,EAAE,KAAK;AADiC,WAAP;AAGtChT,UAAAA,gBAAgB,CAAC7f,GAAjB,CAAqB+K,OAAO,CAAC8N,EAA7B,EAAiC,CAAC,CAAlC;AACA,cAAIjO,cAAc,CAACiN,MAAD,CAAd,IAA0B,CAAC9M,OAAO,CAACuS,aAAvC,EAAsD,OAAO;AACzDuV,YAAAA,CAAC,EAAE,KAAK;AADiD,WAAP;AAGtD,gBAAM9nB,OAAO,CAACc,MAAR,CAAejC,OAAf,CAAuB,OAAvB,CAAN,KAA0CiC,MAAM,GAAG,SAAnD;;AACA,cAAI;AACA,4CAAgCd,OAAO,CAAC5T,IAAxC,GAA+C,UAAS0gB,MAAT,EAAiBhM,MAAjB,EAAyBd,OAAzB,EAAkCwL,IAAlC,EAAwC;AACnF,kBAAI0F,EAAE,GAAG1F,IAAI,CAAC0F,EAAd;AAAA,kBAAkBpF,IAAI,GAAGN,IAAI,CAACM,IAA9B;AACA,kBAAIjE,OAAO,GAAG4L,kBAAkB,CAAC;AAC7B9lB,gBAAAA,IAAI,EAAEqS,OAAO,CAACrS,IADe;AAE7BsQ,gBAAAA,GAAG,EAAE6O,MAFwB;AAG7B9U,gBAAAA,MAAM,EAAE8I;AAHqB,eAAD,CAAhC;AAKA,kBAAIuT,OAAO,GAAG,uBAAuBrU,OAAO,CAACrS,IAA/B,IAAuCqS,OAAO,CAACiM,IAA/C,IAAuD,YAAY,OAAOjM,OAAO,CAACiM,IAAR,CAAate,IAAvF,GAA8FqS,OAAO,CAACiM,IAAR,CAAate,IAAb,GAAoB,IAAlH,GAAyHqS,OAAO,CAACrS,IAA/I;;AACA,uBAAS2mB,YAAT,CAAsBC,GAAtB,EAA2BtI,IAA3B,EAAiCvd,KAAjC,EAAwC;AACpC,uBAAOqO,oBAAoB,CAACqI,KAArB,GAA6B5W,IAA7B,CAAmC,YAAW;AACjD,sBAAI,CAACwR,OAAO,CAACuS,aAAT,IAA0B,CAAC1S,cAAc,CAACiN,MAAD,CAA7C,EAAuD,IAAI;AACvD,2BAAOiG,gBAAgB,CAACjG,MAAD,EAAShM,MAAT,EAAiB;AACpCgN,sBAAAA,EAAE,EAAEtH,QAAQ,EADwB;AAEpC1F,sBAAAA,MAAM,EAAEnC,SAAS,CAACjK,MAAD,CAFmB;AAGpCtI,sBAAAA,IAAI,EAAE,4BAH8B;AAIpCmY,sBAAAA,IAAI,EAAEvE,OAAO,CAACuE,IAJsB;AAKpC5W,sBAAAA,IAAI,EAAEqS,OAAO,CAACrS,IALsB;AAMpC4mB,sBAAAA,GAAG,EAAEA,GAN+B;AAOpCtI,sBAAAA,IAAI,EAAEA,IAP8B;AAQpCvd,sBAAAA,KAAK,EAAEA;AAR6B,qBAAjB,EASpB;AACCwiB,sBAAAA,EAAE,EAAEA,EADL;AAECpF,sBAAAA,IAAI,EAAEA;AAFP,qBAToB,CAAvB;AAaH,mBAdsD,CAcrD,OAAO3gB,GAAP,EAAY;AACV,0BAAM,IAAIiE,KAAJ,CAAU,sCAAsCilB,OAAtC,GAAgD,MAAhD,GAAyD1V,SAAS,EAAlE,GAAuE,MAAvE,GAAgFuK,cAAc,CAAC/d,GAAD,CAAxG,CAAN;AACH;AACJ,iBAlBM,CAAP;AAmBH;;AACD4R,cAAAA,oBAAoB,CAACmH,GAArB,CAAyB,CAAEnH,oBAAoB,CAACqI,KAArB,GAA6B5W,IAA7B,CAAmC,YAAW;AACrE,oBAAI,CAACwR,OAAO,CAACuS,aAAT,IAA0B,CAAC1S,cAAc,CAACiN,MAAD,CAA7C,EAAuD,IAAI;AACvD,yBAAOiG,gBAAgB,CAACjG,MAAD,EAAShM,MAAT,EAAiB;AACpCgN,oBAAAA,EAAE,EAAEtH,QAAQ,EADwB;AAEpC1F,oBAAAA,MAAM,EAAEnC,SAAS,CAACjK,MAAD,CAFmB;AAGpCtI,oBAAAA,IAAI,EAAE,uBAH8B;AAIpCmY,oBAAAA,IAAI,EAAEvE,OAAO,CAACuE,IAJsB;AAKpC5W,oBAAAA,IAAI,EAAEqS,OAAO,CAACrS;AALsB,mBAAjB,EAMpB;AACCujB,oBAAAA,EAAE,EAAEA,EADL;AAECpF,oBAAAA,IAAI,EAAEA;AAFP,mBANoB,CAAvB;AAUH,iBAXsD,CAWrD,OAAO3gB,GAAP,EAAY;AACV,wBAAM,IAAIiE,KAAJ,CAAU,iCAAiCilB,OAAjC,GAA2C,MAA3C,GAAoD1V,SAAS,EAA7D,GAAkE,MAAlE,GAA2EuK,cAAc,CAAC/d,GAAD,CAAnG,CAAN;AACH;AACJ,eAf0B,CAAF,EAepB4R,oBAAoB,OAApB,CAA0B,YAAW;AACtC,oBAAI,CAAC8K,OAAL,EAAc,MAAM,IAAIzY,KAAJ,CAAU,wCAAwC4Q,OAAO,CAACrS,IAAhD,GAAuD,QAAvD,GAAkEmT,MAAlE,GAA2E,MAA3E,GAAoFpM,MAAM,CAACwJ,QAAP,CAAgBC,QAApG,GAA+G,IAA/G,GAAsHzJ,MAAM,CAACwJ,QAAP,CAAgBQ,IAAtI,GAA6IhK,MAAM,CAACwJ,QAAP,CAAgBsW,QAAvK,CAAN;AACd,uBAAO3M,OAAO,CAAC1F,OAAR,CAAgB;AACnB2K,kBAAAA,MAAM,EAAEA,MADW;AAEnBhM,kBAAAA,MAAM,EAAEA,MAFW;AAGnBmL,kBAAAA,IAAI,EAAEjM,OAAO,CAACiM;AAHK,iBAAhB,CAAP;AAKH,eAPI,EAODzd,IAPC,CAOK,UAASyd,IAAT,EAAe;AACrB,uBAAOqI,YAAY,CAAC,SAAD,EAAYrI,IAAZ,CAAnB;AACH,eATI,EASA,UAASvd,KAAT,EAAgB;AACjB,uBAAO4lB,YAAY,CAAC,OAAD,EAAU,IAAV,EAAgB5lB,KAAhB,CAAnB;AACH,eAXI,CAfoB,CAAzB,EA0BOF,IA1BP,CA0BYya,aA1BZ,WA0BkC,UAAS9d,GAAT,EAAc;AAC5C,oBAAI0c,OAAO,IAAIA,OAAO,CAAC4M,WAAvB,EAAoC,OAAO5M,OAAO,CAAC4M,WAAR,CAAoBtpB,GAApB,CAAP;AACpC,sBAAMA,GAAN;AACH,eA7BD;AA8BH,aA3D8C,CA2D7C2hB,MA3D6C,EA2DrChM,MA3DqC,EA2D7Bd,OA3D6B,EA2DpB;AACvBkR,cAAAA,EAAE,EAAEA,EADmB;AAEvBpF,cAAAA,IAAI,EAAEA;AAFiB,aA3DoB,CAA/C,GA8DK,iCAAiC9L,OAAO,CAAC5T,IAAzC,GAAgD,UAAS0gB,MAAT,EAAiBhM,MAAjB,EAAyBd,OAAzB,EAAkC;AACnF,kBAAI,CAACwT,yBAAyB,CAACxT,OAAO,CAACuE,IAAT,CAA9B,EAA8C;AAC1C,oBAAIsD,OAAO,GAAGyL,mBAAmB,CAACtT,OAAO,CAACuE,IAAT,CAAjC;AACA,oBAAI,CAACsD,OAAL,EAAc,MAAM,IAAIzY,KAAJ,CAAU,6DAA6D4Q,OAAO,CAACrS,IAArE,GAA4E,QAA5E,GAAuFmT,MAAvF,GAAgG,MAAhG,GAAyGpM,MAAM,CAACwJ,QAAP,CAAgBC,QAAzH,GAAoI,IAApI,GAA2IzJ,MAAM,CAACwJ,QAAP,CAAgBQ,IAA3J,GAAkKhK,MAAM,CAACwJ,QAAP,CAAgBsW,QAA5L,CAAN;AACd,oBAAI,CAAC5T,WAAW,CAACiH,OAAO,CAAC7P,MAAT,EAAiB8I,MAAjB,CAAhB,EAA0C,MAAM,IAAI1R,KAAJ,CAAU,qBAAqB0R,MAArB,GAA8B,yBAA9B,IAA2DD,OAAO,GAAGgH,OAAO,CAAC7P,MAAlB,EACrHxE,KAAK,CAACuN,OAAN,CAAcF,OAAd,IAAyB,MAAMA,OAAO,CAACtM,IAAR,CAAa,KAAb,CAAN,GAA4B,GAArD,GAA2DsJ,OAAO,CAACgD,OAAD,CAAP,GAAmB,YAAYA,OAAO,CAAC5Q,QAAR,EAAZ,GAAiC,GAApD,GAA0D4Q,OAAO,CAAC5Q,QAAR,EAD3D,CAAV,CAAN;AAE1C,oBAAI4Q,OAAJ;AACA,oBAAIiM,MAAM,KAAKjF,OAAO,CAAC5J,GAAvB,EAA4B,MAAM,IAAI7O,KAAJ,CAAU,kDAAV,CAAN;AAC5BmkB,gBAAAA,sBAAsB,CAACvT,OAAO,CAACuE,IAAT,CAAtB;AACA,4BAAYvE,OAAO,CAACuU,GAApB,GAA0B1M,OAAO,CAACnN,OAAR,CAAgBrM,MAAhB,CAAuB2R,OAAO,CAACtR,KAA/B,CAA1B,GAAkE,cAAcsR,OAAO,CAACuU,GAAtB,IAA6B1M,OAAO,CAACnN,OAAR,CAAgBtM,OAAhB,CAAwB;AACnH0e,kBAAAA,MAAM,EAAEA,MAD2G;AAEnHhM,kBAAAA,MAAM,EAAEA,MAF2G;AAGnHmL,kBAAAA,IAAI,EAAEjM,OAAO,CAACiM;AAHqG,iBAAxB,CAA/F;AAKH;AACJ,aAfoD,CAenDa,MAfmD,EAe3ChM,MAf2C,EAenCd,OAfmC,CAAhD,GAewB,4BAA4BA,OAAO,CAAC5T,IAApC,IAA4C,UAAS0gB,MAAT,EAAiBhM,MAAjB,EAAyBd,OAAzB,EAAkC;AACvG,kBAAI,CAACwT,yBAAyB,CAACxT,OAAO,CAACuE,IAAT,CAA9B,EAA8C;AAC1C,oBAAIsD,OAAO,GAAGyL,mBAAmB,CAACtT,OAAO,CAACuE,IAAT,CAAjC;AACA,oBAAI,CAACsD,OAAL,EAAc,MAAM,IAAIzY,KAAJ,CAAU,wDAAwD4Q,OAAO,CAACrS,IAAhE,GAAuE,QAAvE,GAAkFmT,MAAlF,GAA2F,MAA3F,GAAoGpM,MAAM,CAACwJ,QAAP,CAAgBC,QAApH,GAA+H,IAA/H,GAAsIzJ,MAAM,CAACwJ,QAAP,CAAgBQ,IAAtJ,GAA6JhK,MAAM,CAACwJ,QAAP,CAAgBsW,QAAvL,CAAN;;AACd,oBAAI;AACA,sBAAI,CAAC5T,WAAW,CAACiH,OAAO,CAAC7P,MAAT,EAAiB8I,MAAjB,CAAhB,EAA0C,MAAM,IAAI1R,KAAJ,CAAU,gBAAgB0R,MAAhB,GAAyB,yBAAzB,GAAqD+G,OAAO,CAAC7P,MAAR,CAAe/H,QAAf,EAA/D,CAAN;AAC1C,sBAAI6c,MAAM,KAAKjF,OAAO,CAAC5J,GAAvB,EAA4B,MAAM,IAAI7O,KAAJ,CAAU,6CAAV,CAAN;AAC/B,iBAHD,CAGE,OAAOjE,GAAP,EAAY;AACV0c,kBAAAA,OAAO,CAACnN,OAAR,CAAgBrM,MAAhB,CAAuBlD,GAAvB;AACH;;AACD0c,gBAAAA,OAAO,CAAC0M,GAAR,GAAc,CAAC,CAAf;AACH;AACJ,aAZwE,CAYvEzH,MAZuE,EAY/DhM,MAZ+D,EAYvDd,OAZuD,CA7EzE;AA0FH,WA3FD,CA2FE,OAAO7U,GAAP,EAAY;AACV+X,YAAAA,UAAU,CAAE,YAAW;AACnB,oBAAM/X,GAAN;AACH,aAFS,EAEN,CAFM,CAAV;AAGH;AACJ,SA1GD;;AA2GA,aAAK,IAAIyiB,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGmH,QAAQ,CAAC9jB,MAAjC,EAAyC2c,GAAG,EAA5C;AAAgD,cAAIia,IAAI,GAAGpjB,KAAK,EAAhB,EAAoB,OAAOojB,IAAI,CAACC,CAAZ;AAApE;AACH;AACJ;;AACD,aAAStqB,KAAT,CAAe7P,IAAf,EAAqBka,OAArB,EAA8B1F,OAA9B,EAAuC;AACnC,UAAI,CAACxU,IAAL,EAAW,MAAM,IAAIyB,KAAJ,CAAU,eAAV,CAAN;;AACX,UAAI,cAAc,QAAQyY,OAAO,GAAGA,OAAO,IAAI,EAA7B,CAAlB,EAAoD;AAChD1F,QAAAA,OAAO,GAAG0F,OAAV;AACAA,QAAAA,OAAO,GAAG,EAAV;AACH;;AACD,UAAI,CAAC1F,OAAL,EAAc,MAAM,IAAI/S,KAAJ,CAAU,kBAAV,CAAN;;AACd,UAAI8lB,eAAe,GAAG,SAASC,kBAAT,CAA4BtJ,KAA5B,EAAmCsI,QAAnC,EAA6C;AAC/D,YAAIxmB,IAAI,GAAGke,KAAK,CAACle,IAAjB;AAAA,YAAuBo6B,YAAY,GAAGlc,KAAK,CAAC5N,GAA5C;AAAA,YAAiDjG,MAAM,GAAG6T,KAAK,CAAC7T,MAAhE;AACA,YAAI0b,gBAAgB,GAAGvI,WAAW,CAAC,kBAAD,CAAlC;AACA,YAAI,CAACxd,IAAD,IAAS,YAAY,OAAOA,IAAhC,EAAsC,MAAM,IAAIyB,KAAJ,CAAU,uCAAV,CAAN;;AACtC,YAAI24B,YAAY,IAAI,QAAQA,YAAxB,IAAwC9qB,kBAAkB,CAACkS,aAAnB,CAAiC4Y,YAAjC,CAA5C,EAA4F;AACxF,cAAIC,sBAAsB,GAAGD,YAAY,CAAC9X,WAAb,GAA2BzhB,IAA3B,CAAiC,UAASy5B,SAAT,EAAoB;AAC9E,mBAAO9S,kBAAkB,CAAC;AACtBxnB,cAAAA,IAAI,EAAEA,IADgB;AAEtBsQ,cAAAA,GAAG,EAAEgqB,SAFiB;AAGtBjwB,cAAAA,MAAM,EAAEA;AAHc,aAAD,EAItBmc,QAJsB,CAAzB;AAKH,WAN4B,CAA7B;AAOA,iBAAO;AACHtP,YAAAA,MAAM,EAAE,kBAAW;AACfmjB,cAAAA,sBAAsB,CAACx5B,IAAvB,CAA6B,UAAS0mB,eAAT,EAA0B;AACnD,uBAAOA,eAAe,CAACrQ,MAAhB,EAAP;AACH,eAFD,EAEIoE,aAFJ;AAGH;AALE,WAAP;AAOH;;AACD,YAAIhL,GAAG,GAAG8pB,YAAV;;AACA,YAAIv0B,KAAK,CAACuN,OAAN,CAAc9C,GAAd,CAAJ,EAAwB;AACpB,cAAImX,mBAAmB,GAAG,EAA1B;;AACA,eAAK,IAAIC,GAAG,GAAG,CAAV,EAAaC,KAAK,GAAGrX,GAA1B,EAA+BoX,GAAG,GAAGC,KAAK,CAACrkB,MAA3C,EAAmDokB,GAAG,EAAtD;AAA0DD,YAAAA,mBAAmB,CAAC1kB,IAApB,CAAyBykB,kBAAkB,CAAC;AAClGxnB,cAAAA,IAAI,EAAEA,IAD4F;AAElGqK,cAAAA,MAAM,EAAEA,MAF0F;AAGlGiG,cAAAA,GAAG,EAAEqX,KAAK,CAACD,GAAD;AAHwF,aAAD,EAIlGlB,QAJkG,CAA3C;AAA1D;;AAKA,iBAAO;AACHtP,YAAAA,MAAM,EAAE,kBAAW;AACf,mBAAK,IAAI0Q,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGH,mBAAmB,CAACnkB,MAA9C,EAAsDskB,IAAI,EAA1D;AAA8DH,gBAAAA,mBAAmB,CAACG,IAAD,CAAnB,CAA0B1Q,MAA1B;AAA9D;AACH;AAHE,WAAP;AAKH;;AACD,YAAIrR,KAAK,CAACuN,OAAN,CAAc/I,MAAd,CAAJ,EAA2B;AACvB,cAAIwd,oBAAoB,GAAG,EAA3B;;AACA,eAAK,IAAIC,IAAI,GAAG,CAAX,EAAcC,QAAQ,GAAG1d,MAA9B,EAAsCyd,IAAI,GAAGC,QAAQ,CAACzkB,MAAtD,EAA8DwkB,IAAI,EAAlE;AAAsED,YAAAA,oBAAoB,CAAC9kB,IAArB,CAA0BykB,kBAAkB,CAAC;AAC/GxnB,cAAAA,IAAI,EAAEA,IADyG;AAE/GsQ,cAAAA,GAAG,EAAEA,GAF0G;AAG/GjG,cAAAA,MAAM,EAAE0d,QAAQ,CAACD,IAAD;AAH+F,aAAD,EAI/GtB,QAJ+G,CAA5C;AAAtE;;AAKA,iBAAO;AACHtP,YAAAA,MAAM,EAAE,kBAAW;AACf,mBAAK,IAAI8Q,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGH,oBAAoB,CAACvkB,MAA/C,EAAuD0kB,IAAI,EAA3D;AAA+DH,gBAAAA,oBAAoB,CAACG,IAAD,CAApB,CAA2B9Q,MAA3B;AAA/D;AACH;AAHE,WAAP;AAKH;;AACD,YAAI+Q,gBAAgB,GAAGnC,kBAAkB,CAAC;AACtC9lB,UAAAA,IAAI,EAAEA,IADgC;AAEtCsQ,UAAAA,GAAG,EAAEA,GAFiC;AAGtCjG,UAAAA,MAAM,EAAEA;AAH8B,SAAD,CAAzC;AAKAiG,QAAAA,GAAG,IAAI,QAAQA,GAAf,KAAuBA,GAAG,GAAG+M,WAAW,EAAxC;AACA,YAAI6K,SAAS,GAAG,CAAC7d,MAAM,GAAGA,MAAM,IAAI,GAApB,EAAyB/H,QAAzB,EAAhB;AACA,YAAI2lB,gBAAJ,EAAsB,MAAM3X,GAAG,IAAIjG,MAAP,GAAgB,IAAI5I,KAAJ,CAAU,yCAAyCzB,IAAzC,GAAgD,aAAhD,GAAgEqK,MAAM,CAAC/H,QAAP,EAAhE,GAAoF,OAApF,IAA+FgO,GAAG,KAAK+M,WAAW,EAAnB,GAAwB,UAAxB,GAAqC,WAApI,IAAmJ,SAA7J,CAAhB,GAA0L/M,GAAG,GAAG,IAAI7O,KAAJ,CAAU,yCAAyCzB,IAAzC,GAAgD,OAAhD,IAA2DsQ,GAAG,KAAK+M,WAAW,EAAnB,GAAwB,UAAxB,GAAqC,WAAhG,IAA+G,SAAzH,CAAH,GAAyIhT,MAAM,GAAG,IAAI5I,KAAJ,CAAU,yCAAyCzB,IAAzC,GAAgD,aAAhD,GAAgEqK,MAAM,CAAC/H,QAAP,EAA1E,CAAH,GAAkG,IAAIb,KAAJ,CAAU,yCAAyCzB,IAAnD,CAApb;AACtB,YAAIu6B,gBAAgB,GAAGxU,gBAAgB,CAACtN,QAAjB,CAA0BnI,GAA1B,EAAgC,YAAW;AAC9D,iBAAO,EAAP;AACH,SAFsB,CAAvB;AAGA,YAAIkqB,sBAAsB,GAAG7e,aAAa,CAAC4e,gBAAD,EAAmBv6B,IAAnB,EAA0B,YAAW;AAC3E,iBAAO,EAAP;AACH,SAFyC,CAA1C;AAGA,YAAIy6B,2BAAJ;AACA,YAAIC,0BAAJ;AACAhf,QAAAA,YAAY,CAACrR,MAAD,CAAZ,GAAuB,CAACowB,2BAA2B,GAAG9e,aAAa,CAAC6e,sBAAD,EAAyB,kBAAzB,EAA8C,YAAW;AACxH,iBAAO,EAAP;AACH,SAFkE,CAA5C,EAElBz3B,IAFkB,CAEb23B,0BAA0B,GAAG;AACnCxb,UAAAA,KAAK,EAAE7U,MAD4B;AAEnCmc,UAAAA,QAAQ,EAAEA;AAFyB,SAFhB,CAAvB,GAKKgU,sBAAsB,CAACtS,SAAD,CAAtB,GAAoC1B,QALzC;AAMA,eAAO;AACHtP,UAAAA,MAAM,EAAE,kBAAW;AACf,mBAAOsjB,sBAAsB,CAACtS,SAAD,CAA7B;;AACA,gBAAIwS,0BAAJ,EAAgC;AAC5BD,cAAAA,2BAA2B,CAACtjB,MAA5B,CAAmCsjB,2BAA2B,CAACvpB,OAA5B,CAAoCwpB,0BAApC,EAAgE,CAAhE,CAAnC;AACAD,cAAAA,2BAA2B,CAACn3B,MAA5B,IAAsC,OAAOk3B,sBAAsB,CAACpU,gBAApE;AACH;;AACDjqB,YAAAA,MAAM,CAACgH,IAAP,CAAYq3B,sBAAZ,EAAoCl3B,MAApC,IAA8C,OAAOi3B,gBAAgB,CAACv6B,IAAD,CAArE;AACAsQ,YAAAA,GAAG,IAAI,CAACnU,MAAM,CAACgH,IAAP,CAAYo3B,gBAAZ,EAA8Bj3B,MAAtC,IAAgDyiB,gBAAgB,CAAC5I,GAAjB,CAAqB7M,GAArB,CAAhD;AACH;AATE,SAAP;AAWH,OAhFqB,CAgFpB;AACEtQ,QAAAA,IAAI,EAAEA,IADR;AAEEsQ,QAAAA,GAAG,EAAE4J,OAAO,CAACnT,MAFf;AAGEsD,QAAAA,MAAM,EAAE6P,OAAO,CAAC7P,MAAR,IAAkB;AAH5B,OAhFoB,EAoFnB;AACCmK,QAAAA,OAAO,EAAEA,OAAO,IAAI0F,OAAO,CAAC1F,OAD7B;AAECsS,QAAAA,WAAW,EAAE5M,OAAO,CAACmO,YAAR,IAAwB,UAAS7qB,GAAT,EAAc;AAC/C,gBAAMA,GAAN;AACH;AAJF,OApFmB,CAAtB;;AA0FA,aAAO;AACH0Z,QAAAA,MAAM,EAAE,kBAAW;AACfqQ,UAAAA,eAAe,CAACrQ,MAAhB;AACH;AAHE,OAAP;AAKH;;AACD,QAAInH,SAAS,GAAG,SAASoO,IAAT,CAAcwc,aAAd,EAA6B36B,IAA7B,EAAmCse,IAAnC,EAAyCpE,OAAzC,EAAkD;AAC9D,UAAIoO,aAAa,GAAG,CAACpO,OAAO,GAAGA,OAAO,IAAI,EAAtB,EAA0B7P,MAA1B,IAAoC,GAAxD;AACA,UAAIke,eAAe,GAAGrO,OAAO,CAAChE,OAAR,IAAmB,CAAC,CAA1C;AACA,UAAIsS,YAAY,GAAGtO,OAAO,CAAChE,OAAR,IAAmB,GAAtC;AACA,UAAI0O,aAAa,GAAG1K,OAAO,CAAC0K,aAAR,IAAyB,CAAC,CAA9C;AACA,aAAOtV,kBAAkB,CAACuT,aAAnB,CAAiC8X,aAAjC,EAAgD;AACnDxc,QAAAA,IAAI,EAAEA;AAD6C,OAAhD,EAEJmE,WAFI,GAEUzhB,IAFV,CAEgB,UAASyP,GAAT,EAAc;AACjC,eAAOlB,oBAAoB,OAApB,CAA0B,YAAW;AACxC,WAAC,UAASpP,IAAT,EAAesQ,GAAf,EAAoBjG,MAApB,EAA4B;AACzB,gBAAI,CAACrK,IAAL,EAAW,MAAM,IAAIyB,KAAJ,CAAU,eAAV,CAAN;AACX,gBAAI4I,MAAM,IAAI,YAAY,OAAOA,MAA7B,IAAuC,CAACxE,KAAK,CAACuN,OAAN,CAAc/I,MAAd,CAAxC,IAAiE,CAACqR,YAAY,CAACrR,MAAD,CAAlF,EAA4F,MAAM,IAAInI,SAAJ,CAAc,kBAAkBlC,IAAlB,GAAyB,oBAAzB,GAAgDsM,IAAI,CAAC3F,SAAL,CAAe0D,MAAf,CAAhD,GAAyE,kCAAvF,CAAN;AAC5F,gBAAI6H,cAAc,CAAC5B,GAAD,CAAlB,EAAyB,MAAM,IAAI7O,KAAJ,CAAU,kBAAkBzB,IAAlB,GAAyB,2BAAnC,CAAN;AAC5B,WAJA,CAICA,IAJD,EAIOsQ,GAJP,EAIYgY,aAJZ,CAAD;AAKA,cAAI,UAAS5X,MAAT,EAAiBc,KAAjB,EAAwB;AACxB,gBAAIiX,YAAY,GAAGzV,WAAW,CAACxB,KAAD,CAA9B;AACA,gBAAIiX,YAAJ,EAAkB,OAAOA,YAAY,KAAK/X,MAAxB;AAClB,gBAAIc,KAAK,KAAKd,MAAd,EAAsB,OAAO,CAAC,CAAR;AACtB,gBAAIwb,MAAM,CAAC1a,KAAD,CAAN,KAAkBA,KAAtB,EAA6B,OAAO,CAAC,CAAR;;AAC7B,iBAAK,IAAIyX,IAAI,GAAG,CAAX,EAAcC,WAAW,GAAGxX,SAAS,CAAChB,MAAD,CAA1C,EAAoDuY,IAAI,GAAGC,WAAW,CAAC5lB,MAAvE,EAA+E2lB,IAAI,EAAnF;AAAuF,kBAAIC,WAAW,CAACD,IAAD,CAAX,KAAsBzX,KAA1B,EAAiC,OAAO,CAAC,CAAR;AAAxH;;AACA,mBAAO,CAAC,CAAR;AACH,WAPG,CAOFzK,MAPE,EAOMuJ,GAPN,CAAJ,EAOgB,OAAO0mB,gBAAgB,CAAC1mB,GAAD,EAAMkY,YAAN,CAAvB;AACnB,SAdM,EAcH3nB,IAdG,CAcG,UAASsoB,KAAT,EAAgB;AACtB,iBAAO,UAAS7Y,GAAT,EAAc8Y,YAAd,EAA4BC,YAA5B,EAA0CxL,IAA1C,EAAgD;AACnD,gBAAIM,IAAI,GAAGN,IAAI,CAACM,IAAhB;AACA,mBAAO/O,oBAAoB,OAApB,CAA0B,YAAW;AACxC,qBAAO,YAAY,OAAOga,YAAnB,GAAkCA,YAAlC,GAAiDha,oBAAoB,OAApB,CAA0B,YAAW;AACzF,uBAAOia,YAAY,IAAIpL,QAAQ,CAAC3N,GAAD,EAAM;AACjC6N,kBAAAA,IAAI,EAAEA;AAD2B,iBAAN,CAAR,CAEpBtd,IAFoB,CAEd,UAAS+e,KAAT,EAAgB;AACrB,yBAAOA,KAAK,CAACvV,MAAb;AACH,iBAJsB,CAAvB;AAKH,eANuD,EAMpDxJ,IANoD,CAM9C,UAASyoB,gBAAT,EAA2B;AACjC,oBAAI,CAACrW,WAAW,CAACmW,YAAD,EAAeA,YAAf,CAAhB,EAA8C,MAAM,IAAI3nB,KAAJ,CAAU,YAAYkF,SAAS,CAACyiB,YAAD,CAArB,GAAsC,kBAAtC,GAA2DziB,SAAS,CAACyiB,YAAD,CAA9E,CAAN;AAC9C,uBAAOE,gBAAP;AACH,eATuD,CAAxD;AAUH,aAXM,CAAP;AAYH,WAdM,CAcLhZ,GAdK,EAcAgY,aAdA,EAce,CAAC,KAAK,CAAL,KAAWa,KAAX,GAAmB,EAAnB,GAAwBA,KAAzB,EAAgC9e,MAd/C,EAcuD;AAC1D8T,YAAAA,IAAI,EAAEA;AADoD,WAdvD,CAAP;AAiBH,SAhCM,EAgCHtd,IAhCG,CAgCG,UAASuoB,YAAT,EAAuB;AAC7B,cAAI/e,MAAM,GAAG+e,YAAb;AACA,cAAI1C,OAAO,GAAG,uBAAuB1mB,IAAvB,IAA+Bse,IAA/B,IAAuC,YAAY,OAAOA,IAAI,CAACte,IAA/D,GAAsEse,IAAI,CAACte,IAAL,GAAY,IAAlF,GAAyFA,IAAvG;AACA,cAAI+M,OAAO,GAAG,IAAIqC,oBAAJ,EAAd;AACA,cAAIwH,IAAI,GAAG5W,IAAI,GAAG,GAAP,GAAa6Y,QAAQ,EAAhC;;AACA,cAAI,CAAC+L,aAAL,EAAoB;AAChB,gBAAI2E,gBAAgB,GAAG;AACnBvpB,cAAAA,IAAI,EAAEA,IADa;AAEnBsQ,cAAAA,GAAG,EAAEA,GAFc;AAGnBjG,cAAAA,MAAM,EAAEA,MAHW;AAInB0C,cAAAA,OAAO,EAAEA;AAJU,aAAvB;AAMA,aAAC,UAAS6J,IAAT,EAAe4P,QAAf,EAAyB;AACtBzJ,cAAAA,WAAW,CAAC,mBAAD,CAAX,CAAiCzV,GAAjC,CAAqCsP,IAArC,EAA2C4P,QAA3C;AACH,aAFA,CAEC5P,IAFD,EAEO2S,gBAFP,CAAD;AAGA,gBAAIC,WAAW,GAAGhM,WAAW,CAAC,iBAAD,CAAX,CAA+B/E,QAA/B,CAAwCnI,GAAxC,EAA8C,YAAW;AACvE,qBAAO,EAAP;AACH,aAFiB,CAAlB;AAGAkZ,YAAAA,WAAW,CAACzmB,IAAZ,CAAiBgK,OAAjB;AACAA,YAAAA,OAAO,SAAP,CAAe,YAAW;AACtB,eAAC,UAAS6J,IAAT,EAAe;AACZmG,gBAAAA,WAAW,CAAC,0BAAD,CAAX,CAAwCzV,GAAxC,CAA4CsP,IAA5C,EAAkD,CAAC,CAAnD;AACH,eAFA,CAECA,IAFD,CAAD;AAGAgP,cAAAA,sBAAsB,CAAChP,IAAD,CAAtB;AACH,aALD;AAMA,gBAAI6S,eAAe,GAAG,UAASnZ,GAAT,EAAc;AAChC,qBAAOkN,WAAW,CAAC,cAAD,CAAX,CAA4BpW,GAA5B,CAAgCkJ,GAAhC,EAAqC,CAAC,CAAtC,CAAP;AACH,aAFqB,CAEpBA,GAFoB,IAEb,GAFa,GAEP,GAFf;AAGA,gBAAIoZ,eAAe,GAAGnB,eAAtB;AACA,gBAAIoB,UAAU,GAAGF,eAAjB;AACA,gBAAIG,UAAU,GAAGF,eAAjB;AACA,gBAAI3N,QAAQ,GAAGmU,YAAY,CAAE,YAAW;AACpC,kBAAIhe,cAAc,CAAC5B,GAAD,CAAlB,EAAyB,OAAOvD,OAAO,CAACrM,MAAR,CAAe,IAAIe,KAAJ,CAAU,uBAAuBzB,IAAvB,GAA8B,UAA9B,IAA4CupB,gBAAgB,CAAC3C,GAAjB,GAAuB,UAAvB,GAAoC,KAAhF,CAAV,CAAf,CAAP;AACzB,kBAAI2C,gBAAgB,CAACO,SAArB,EAAgC,OAAO/c,OAAO,CAACrM,MAAR,CAAe,IAAIe,KAAJ,CAAU,yCAAyCzB,IAAnD,CAAf,CAAP;AAChC2pB,cAAAA,UAAU,GAAG5R,IAAI,CAACgS,GAAL,CAASJ,UAAU,GAAG,GAAtB,EAA2B,CAA3B,CAAb;AACA,eAAC,CAAD,KAAOC,UAAP,KAAsBA,UAAU,GAAG7R,IAAI,CAACgS,GAAL,CAASH,UAAU,GAAG,GAAtB,EAA2B,CAA3B,CAAnC;AACA,qBAAOL,gBAAgB,CAAC3C,GAAjB,IAAwB,MAAM+C,UAA9B,GAA2C,MAAMC,UAAN,GAAmB7c,OAAO,CAACrM,MAAR,CAAe,IAAIe,KAAJ,CAAU,iCAAiCilB,OAAjC,GAA2C,MAA3C,GAAoD1V,SAAS,EAA7D,GAAkE,MAAlE,GAA2E0Y,eAA3E,GAA6F,IAAvG,CAAf,CAAnB,GAAkJ,KAAK,CAAlM,GAAsM3c,OAAO,CAACrM,MAAR,CAAe,IAAIe,KAAJ,CAAU,4BAA4BilB,OAA5B,GAAsC,MAAtC,GAA+C1V,SAAS,EAAxD,GAA6D,MAA7D,GAAsEyY,eAAtE,GAAwF,IAAlG,CAAf,CAA7M;AACH,aAN0B,EAMvB,GANuB,CAA3B;AAOA1c,YAAAA,OAAO,WAAP,CAAiB,YAAW;AACxBgP,cAAAA,QAAQ,CAAC7E,MAAT;AACAsS,cAAAA,WAAW,CAACrS,MAAZ,CAAmBqS,WAAW,CAACtY,OAAZ,CAAoBnE,OAApB,EAA6B,CAA7B,CAAnB;AACH,aAHD,WAGUuO,aAHV;AAIH;;AACD,iBAAO8J,gBAAgB,CAAC9U,GAAD,EAAMjG,MAAN,EAAc;AACjC8V,YAAAA,EAAE,EAAEtH,QAAQ,EADqB;AAEjC1F,YAAAA,MAAM,EAAEnC,SAAS,CAACjK,MAAD,CAFgB;AAGjCtI,YAAAA,IAAI,EAAE,2BAH2B;AAIjCmY,YAAAA,IAAI,EAAEA,IAJ2B;AAKjC5W,YAAAA,IAAI,EAAEA,IAL2B;AAMjCse,YAAAA,IAAI,EAAEA,IAN2B;AAOjCsG,YAAAA,aAAa,EAAEA;AAPkB,WAAd,EAQpB;AACCrB,YAAAA,EAAE,EAAE1T,KADL;AAECsO,YAAAA,IAAI,EAAEA;AAFP,WARoB,CAAhB,CAWJtd,IAXI,CAWE,YAAW;AAChB,mBAAO+jB,aAAa,GAAG7X,OAAO,CAACtM,OAAR,EAAH,GAAuBsM,OAA3C;AACH,WAbM,EAaF,UAASvP,GAAT,EAAc;AACf,kBAAM,IAAIiE,KAAJ,CAAU,qCAAqCilB,OAArC,GAA+C,MAA/C,GAAwD1V,SAAS,EAAjE,GAAsE,MAAtE,GAA+EuK,cAAc,CAAC/d,GAAD,CAAvG,CAAN;AACH,WAfM,CAAP;AAgBH,SA3FM,CAAP;AA4FH,OA/FM,CAAP;AAgGH,KArGD;;AAsGA,aAASoS,mBAAT,CAA6BU,GAA7B,EAAkC;AAC9B,aAAOhB,kBAAkB,CAACuT,aAAnB,CAAiCvS,GAAjC,EAAsC;AACzC6N,QAAAA,IAAI,EAAEpO;AADmC,OAAtC,CAAP;AAGH;;AACD,aAASE,aAAT,CAAuBK,GAAvB,EAA4B;AACxB,WAAK,IAAI2P,GAAG,GAAG,CAAV,EAAauK,qBAAqB,GAAGhN,WAAW,CAAC,iBAAD,CAAX,CAA+BpW,GAA/B,CAAmCkJ,GAAnC,EAAwC,EAAxC,CAA1C,EAAuF2P,GAAG,GAAGuK,qBAAqB,CAAClnB,MAAnH,EAA2H2c,GAAG,EAA9H;AAAkIuK,QAAAA,qBAAqB,CAACvK,GAAD,CAArB,CAA2Bvf,MAA3B,CAAkC,IAAIe,KAAJ,CAAU,aAAayQ,cAAc,CAAC5B,GAAD,CAAd,GAAsB,QAAtB,GAAiC,YAA9C,IAA8D,kBAAxE,CAAlC,WAAqIgL,aAArI;AAAlI;AACH;;AACD,QAAIsf,UAAJ;AACAA,IAAAA,UAAU,GAAG;AACTrC,MAAAA,WAAW,EAAEA,WADJ;AAETsC,MAAAA,UAAU,EAAE,oBAAS3uB,GAAT,EAAc7B,MAAd,EAAsB;AAC9B,YAAIywB,OAAO,GAAG/d,WAAW,CAAC,SAAD,CAAzB;AACA,YAAIge,YAAY,GAAGhe,WAAW,CAAC,cAAD,CAA9B;AACA1S,QAAAA,MAAM,GAAGA,MAAM,IAAIyjB,gBAAgB,CAAC5hB,GAAD,CAAnC;AACA,eAAO4uB,OAAO,CAACriB,QAAR,CAAiBpO,MAAjB,EAA0B,YAAW;AACxC,iBAAO+E,oBAAoB,OAApB,CAA0B,YAAW;AACxC,gBAAI4B,SAAS,OAAO3G,MAApB,EAA4B,MAAM,IAAI5I,KAAJ,CAAU,+DAA+D4I,MAAzE,CAAN;AAC5B,gBAAIrK,IAAI,GAAGq3B,aAAa,CAAChtB,MAAD,CAAxB;AACA,gBAAImiB,cAAc,CAACzlB,MAAD,EAAS/G,IAAT,CAAlB,EAAkC,MAAM,IAAIyB,KAAJ,CAAU,qBAAqBzB,IAArB,GAA4B,yBAAtC,CAAN;;AAClC,gBAAIg7B,MAAM,GAAG,UAASh7B,IAAT,EAAekM,GAAf,EAAoB;AAC7B,kBAAI8uB,MAAM,GAAGj1B,QAAQ,CAACM,aAAT,CAAuB,QAAvB,CAAb;AACA20B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,MAApB,EAA4BxG,IAA5B;AACAg7B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,IAApB,EAA0BxG,IAA1B;AACAg7B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,OAApB,EAA6B,2EAA7B;AACAw0B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,aAApB,EAAmC,GAAnC;AACAw0B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,QAApB,EAA8B,GAA9B;AACAw0B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,WAApB,EAAiC,IAAjC;AACAw0B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,mBAApB,EAAyC,MAAzC;AACAw0B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,UAApB,EAAgC,IAAhC;AACAw0B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,QAApB,EAA8B,MAA9B;AACAw0B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,OAApB,EAA6B,EAA7B;AACAw0B,cAAAA,MAAM,CAACx0B,YAAP,CAAoB,MAApB,EAA4B,cAA5B;AACAw0B,cAAAA,MAAM,CAACx1B,GAAP,GAAa0G,GAAb;AACA,qBAAO8uB,MAAP;AACH,aAfY,CAeXh7B,IAfW,EAeLkM,GAfK,CAAb;;AAgBA6uB,YAAAA,YAAY,CAACzzB,GAAb,CAAiB+C,MAAjB,EAAyB2wB,MAAzB;AACA,mBAAOzD,iBAAiB,CAAC12B,IAAlB,CAAwB,UAASuL,IAAT,EAAe;AAC1CA,cAAAA,IAAI,CAAC1F,WAAL,CAAiBs0B,MAAjB;AACA,kBAAIrC,MAAM,GAAGqC,MAAM,CAACtoB,aAApB;AACA,qBAAO,IAAItD,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkBC,MAAlB,EAA0B;AACvDs6B,gBAAAA,MAAM,CAAC9Q,gBAAP,CAAwB,MAAxB,EAAgCzpB,OAAhC;AACAu6B,gBAAAA,MAAM,CAAC9Q,gBAAP,CAAwB,OAAxB,EAAiCxpB,MAAjC;AACH,eAHM,EAGHG,IAHG,CAGG,YAAW;AACjB,uBAAOm2B,gBAAgB,CAAC2B,MAAD,EAAS,GAAT,EAAc,YAAYzsB,GAA1B,CAAvB;AACH,eALM,EAKHrL,IALG,CAKG,YAAW;AACjB,uBAAO83B,MAAP;AACH,eAPM,CAAP;AAQH,aAXM,CAAP;AAYH,WAjCM,CAAP;AAkCH,SAnCM,CAAP;AAoCH,OA1CQ;AA2CTX,MAAAA,UAAU,EAAEA,UA3CH;AA4CTiD,MAAAA,OAAO,EAAE,iBAAS3qB,GAAT,EAAcpE,GAAd,EAAmB;AACxB8rB,QAAAA,UAAU,CAAC;AACP1nB,UAAAA,GAAG,EAAEA,GADE;AAEPjG,UAAAA,MAAM,EAAEyjB,gBAAgB,CAAC5hB,GAAD;AAFjB,SAAD,CAAV;AAIH,OAjDQ;AAkDTorB,MAAAA,QAAQ,EAAEA,QAlDD;AAmDTF,MAAAA,WAAW,EAAEA,WAnDJ;AAoDTH,MAAAA,qBAAqB,EAAEA,qBApDd;AAqDTiE,MAAAA,SAAS,EAAE,mBAAShvB,GAAT,EAAc7B,MAAd,EAAsB;AAC7B,eAAO0S,WAAW,CAAC,SAAD,CAAX,CAAuBvE,GAAvB,CAA2BnO,MAAM,IAAIyjB,gBAAgB,CAAC5hB,GAAD,CAArD,CAAP;AACH,OAvDQ;AAwDTgrB,MAAAA,iBAAiB,EAAEA,iBAxDV;AAyDTC,MAAAA,oBAAoB,EAAEA,oBAzDb;AA0DTgE,MAAAA,cAAc,EAAE,0BAAW;AACvB,YAAIL,OAAO,GAAG/d,WAAW,CAAC,SAAD,CAAzB;AACA,YAAIge,YAAY,GAAGhe,WAAW,CAAC,cAAD,CAA9B;;AACA,aAAK,IAAIiJ,GAAG,GAAG,CAAV,EAAaoV,mBAAmB,GAAGL,YAAY,CAAC53B,IAAb,EAAxC,EAA6D6iB,GAAG,GAAGoV,mBAAmB,CAAC93B,MAAvF,EAA+F0iB,GAAG,EAAlG,EAAsG;AAClG,cAAInU,KAAK,GAAGkpB,YAAY,CAAC3zB,GAAb,CAAiBg0B,mBAAmB,CAACpV,GAAD,CAApC,CAAZ;AACAnU,UAAAA,KAAK,IAAIA,KAAK,CAACc,UAAf,IAA6Bd,KAAK,CAACc,UAAN,CAAiB2b,WAAjB,CAA6Bzc,KAA7B,CAA7B;AACH;;AACDkpB,QAAAA,YAAY,CAAC73B,KAAb;AACA43B,QAAAA,OAAO,CAAC53B,KAAR;AACH;AAnEQ,KAAb;;AAqEA,aAASm4B,oBAAT,CAA8B/qB,GAA9B,EAAmC;AAC/B,UAAI,CAACa,YAAY,CAACb,GAAD,CAAjB,EAAwB,MAAM,IAAI7O,KAAJ,CAAU,mDAAV,CAAN;AACxB6O,MAAAA,GAAG,CAACgrB,eAAJ,KAAwBhrB,GAAG,CAACgrB,eAAJ,GAAsB,EAA9C;AACA,aAAOhrB,GAAG,CAACgrB,eAAX;AACH;;AACD,aAASC,SAAT,CAAmBjrB,GAAnB,EAAwBkE,OAAxB,EAAiC;AAC7B,UAAI;AACA,eAAOA,OAAO,CAAC6mB,oBAAoB,CAAC/qB,GAAD,CAArB,CAAd;AACH,OAFD,CAEE,OAAO9S,GAAP,EAAY;AACjB;;AACD,aAASg+B,cAAT,CAAwBv+B,GAAxB,EAA6B;AACzB,aAAO;AACHmK,QAAAA,GAAG,EAAE,eAAW;AACZ,cAAIqN,KAAK,GAAG,IAAZ;;AACA,iBAAOrF,oBAAoB,OAApB,CAA0B,YAAW;AACxC,gBAAIqF,KAAK,CAAC0K,MAAN,IAAgB1K,KAAK,CAAC0K,MAAN,KAAiBpY,MAArC,EAA6C,MAAM,IAAItF,KAAJ,CAAU,uDAAV,CAAN;AAC7C,mBAAOxE,GAAP;AACH,WAHM,CAAP;AAIH;AAPE,OAAP;AASH;;AACD,aAASw+B,cAAT,CAAwBnd,IAAxB,EAA8B;AAC1B,aAAOsR,YAAY,CAACtjB,IAAI,CAAC3F,SAAL,CAAe2X,IAAf,CAAD,CAAnB;AACH;;AACD,aAASod,cAAT,CAAwBprB,GAAxB,EAA6B;AACzB,UAAIgN,MAAM,GAAG+d,oBAAoB,CAAC/qB,GAAD,CAAjC;AACAgN,MAAAA,MAAM,CAACqe,UAAP,GAAoBre,MAAM,CAACqe,UAAP,IAAqB,EAAzC;AACA,aAAOre,MAAM,CAACqe,UAAd;AACH;;AACD,aAASC,oBAAT,CAA8B/d,IAA9B,EAAoC;AAChC,UAAIS,IAAI,GAAGT,IAAI,CAACS,IAAhB;AAAA,UAAsBud,QAAQ,GAAGhe,IAAI,CAACge,QAAtC;AAAA,UAAgDC,MAAM,GAAGje,IAAI,CAACie,MAA9D;AAAA,UAAsEC,QAAQ,GAAGle,IAAI,CAACke,QAAtF;AAAA,UAAgGC,oBAAoB,GAAGne,IAAI,CAACoe,eAA5H;AAAA,UAA6IA,eAAe,GAAG,KAAK,CAAL,KAAWD,oBAAX,IAAmCA,oBAAlM;AAAA,UAAwNE,UAAU,GAAGre,IAAI,CAACse,KAA1O;AAAA,UAAiPA,KAAK,GAAG,KAAK,CAAL,KAAWD,UAAX,IAAyBA,UAAlR;AACA,UAAIE,QAAQ,GAAGxsB,mBAAmB,CAACmsB,QAAQ,CAACzrB,GAAV,CAAlC;AACA,UAAI4U,iBAAiB,GAAGiX,KAAK,GAAG7vB,IAAI,CAAC3F,SAAL,CAAe2X,IAAf,CAAH,GAA0BqF,gBAAgB,CAACyY,QAAD,EAAWL,QAAQ,CAAC1xB,MAApB,EAA4BiU,IAA5B,EAAkC;AACrGiF,QAAAA,EAAE,EAAE1T,KADiG;AAErGsO,QAAAA,IAAI,EAAEpO;AAF+F,OAAlC,CAAvE;AAIA,UAAIssB,SAAS,GAAGJ,eAAe,GAAG,UAASriB,GAAT,EAAc;AAC5C,YAAIC,GAAG,GAAGhB,QAAQ,EAAlB;AACA6iB,QAAAA,cAAc,CAAC30B,MAAD,CAAd,CAAuB8S,GAAvB,IAA8BD,GAA9B;AACA,eAAO;AACHnb,UAAAA,IAAI,EAAE,KADH;AAEHob,UAAAA,GAAG,EAAEA;AAFF,SAAP;AAIH,OAPiC,CAOhCqL,iBAPgC,CAAH,GAOR;AACnBzmB,QAAAA,IAAI,EAAE,KADa;AAEnBmb,QAAAA,GAAG,EAAEsL;AAFc,OAPvB;AAWA,aAAO;AACHoX,QAAAA,cAAc,EAAEb,cAAc,CAAC;AAC3BK,UAAAA,MAAM,EAAE;AACJzxB,YAAAA,MAAM,EAAEyxB,MAAM,CAACzxB;AADX,WADmB;AAI3BwxB,UAAAA,QAAQ,EAAEA,QAJiB;AAK3BQ,UAAAA,SAAS,EAAEA;AALgB,SAAD,CAD3B;AAQHE,QAAAA,cAAc,EAAE,0BAAW;AACvBjsB,UAAAA,GAAG,GAAGvJ,MAAN,EAAc,UAAU,CAACy1B,GAAG,GAAGH,SAAP,EAAkB59B,IAA5B,IAAoC,OAAOi9B,cAAc,CAACprB,GAAD,CAAd,CAAoBksB,GAAG,CAAC3iB,GAAxB,CAAzD;AACA,cAAIvJ,GAAJ,EAASksB,GAAT;AACH;AAXE,OAAP;AAaH;;AACD,aAASC,sBAAT,CAAgC7c,KAAhC,EAAuC;AACnC,UAAIkc,MAAM,GAAGlc,KAAK,CAACkc,MAAnB;AAAA,UAA2BY,WAAW,GAAG9c,KAAK,CAACuc,KAA/C;AAAA,UAAsDA,KAAK,GAAG,KAAK,CAAL,KAAWO,WAAX,IAA0BA,WAAxF;;AACA,UAAIrqB,OAAO,GAAG,UAASiqB,cAAT,EAAyB;AACnC,eAAOhwB,IAAI,CAAC4X,KAAL,CAAW,UAASjL,GAAT,EAAc;AAC5B,cAAI,cAAc,OAAO0jB,IAAzB,EAA+B,OAAOlK,kBAAkB,CAAC,GAAG1b,GAAH,CAAOrY,IAAP,CAAYi+B,IAAI,CAAC1jB,GAAD,CAAhB,EAAwB,UAAS1K,CAAT,EAAY;AACzF,mBAAO,MAAM,CAAC,OAAOA,CAAC,CAACgoB,UAAF,CAAa,CAAb,EAAgBj0B,QAAhB,CAAyB,EAAzB,CAAR,EAAsCyB,KAAtC,CAA4C,CAAC,CAA7C,CAAb;AACH,WAFwD,EAErD6C,IAFqD,CAEhD,EAFgD,CAAD,CAAzB;AAG/B,cAAI,eAAe,OAAO0S,MAA1B,EAAkC,OAAOA,MAAM,CAACxT,IAAP,CAAYmT,GAAZ,EAAiB,QAAjB,EAA2B3W,QAA3B,CAAoC,MAApC,CAAP;AAClC,gBAAM,IAAIb,KAAJ,CAAU,oCAAV,CAAN;AACH,SANiB,CAMhB66B,cANgB,CAAX,CAAP;AAOH,OARa,CAQZ1c,KAAK,CAACtB,IARM,CAAd;;AASA,UAAI+d,SAAS,GAAGhqB,OAAO,CAACgqB,SAAxB;AAAA,UAAmCR,QAAQ,GAAGxpB,OAAO,CAACwpB,QAAtD;AACA,UAAIvrB,GAAJ;AACAA,MAAAA,GAAG,GAAG,cAAc,OAAOwrB,MAAM,CAACxrB,GAA5B,GAAkCwrB,MAAM,CAACxrB,GAAP,CAAW;AAC/CurB,QAAAA,QAAQ,EAAEA;AADqC,OAAX,CAAlC,GAEDC,MAAM,CAACxrB,GAFZ;AAGA,UAAIjG,MAAJ;AACAA,MAAAA,MAAM,GAAG,cAAc,OAAOyxB,MAAM,CAACzxB,MAA5B,GAAqCyxB,MAAM,CAACzxB,MAAP,CAAc;AACxDwxB,QAAAA,QAAQ,EAAEA;AAD8C,OAAd,CAArC,GAEJ,YAAY,OAAOC,MAAM,CAACzxB,MAA1B,GAAmCyxB,MAAM,CAACzxB,MAA1C,GAAmDgI,OAAO,CAACypB,MAAR,CAAezxB,MAFvE;;AAGA,UAAIiyB,cAAc,GAAG,UAAShsB,GAAT,EAAcksB,GAAd,EAAmB;AACpC,YAAI,UAAUA,GAAG,CAAC/9B,IAAlB,EAAwB,OAAO+9B,GAAG,CAAC5iB,GAAX;AACxB,YAAI,UAAU4iB,GAAG,CAAC/9B,IAAlB,EAAwB,OAAOi9B,cAAc,CAACprB,GAAD,CAAd,CAAoBksB,GAAG,CAAC3iB,GAAxB,CAAP;AACxB,cAAM,IAAIpY,KAAJ,CAAU,2BAA2B+6B,GAAG,CAAC/9B,IAAzC,CAAN;AACH,OAJoB,CAInB6R,GAJmB,EAId+rB,SAJc,CAArB;;AAKA,aAAO;AACH/d,QAAAA,IAAI,EAAE6d,KAAK,GAAG7vB,IAAI,CAAC4X,KAAL,CAAWoY,cAAX,CAAH,GAAgC,UAASnd,MAAT,EAAiBhM,MAAjB,EAAyBd,OAAzB,EAAkC;AACzE,iBAAO0R,kBAAkB,CAAC5E,MAAD,EAAShM,MAAT,EAAiBd,OAAjB,EAA0B;AAC/CkR,YAAAA,EAAE,EAAE1T,KAD2C;AAE/CsO,YAAAA,IAAI,EAAEpO;AAFyC,WAA1B,CAAzB;AAIH,SAL0C,CAKzCO,GALyC,EAKpCjG,MALoC,EAK5BiyB,cAL4B,CADxC;AAOHT,QAAAA,QAAQ,EAAEA,QAPP;AAQHC,QAAAA,MAAM,EAAE;AACJxrB,UAAAA,GAAG,EAAEA,GADD;AAEJjG,UAAAA,MAAM,EAAEA;AAFJ,SARL;AAYHgyB,QAAAA,SAAS,EAAEA;AAZR,OAAP;AAcH;;AACD,QAAItR,SAAS,GAAG;AACZ6R,MAAAA,MAAM,EAAE,QADI;AAEZC,MAAAA,MAAM,EAAE,QAFI;AAGZC,MAAAA,QAAQ,EAAE,UAHE;AAIZC,MAAAA,OAAO,EAAE,SAJG;AAKZC,MAAAA,MAAM,EAAE,QALI;AAMZC,MAAAA,KAAK,EAAE;AANK,KAAhB;AAQA,QAAIjS,kBAAkB,GAAG;AACrB1e,MAAAA,IAAI,EAAE,MADe;AAErB4wB,MAAAA,MAAM,EAAE,QAFa;AAGrBC,MAAAA,MAAM,EAAE;AAHa,KAAzB;AAKA,QAAIlS,OAAO,GAAGW,WAAd;AACA,QAAIV,KAAK,GAAG;AACRkS,MAAAA,MAAM,EAAE,aADA;AAERC,MAAAA,QAAQ,EAAE,eAFF;AAGRC,MAAAA,SAAS,EAAE,gBAHH;AAIRC,MAAAA,WAAW,EAAE,kBAJL;AAKRC,MAAAA,OAAO,EAAE,cALD;AAMRC,MAAAA,KAAK,EAAE,YANC;AAORC,MAAAA,KAAK,EAAE,YAPC;AAQRC,MAAAA,OAAO,EAAE,cARD;AASRC,MAAAA,KAAK,EAAE,YATC;AAURC,MAAAA,MAAM,EAAE,aAVA;AAWRC,MAAAA,KAAK,EAAE;AAXC,KAAZ;;AAaA,aAASC,oBAAT,CAA8BlgB,IAA9B,EAAoC;AAChC,aAAO,aAAaA,IAAI,CAAC7d,IAAlB,GAAyB,IAAzB,GAAgC6d,IAAI,CAACmgB,iBAArC,GAAyD,IAAhE;AACH;;AACD,aAASC,eAAT,CAAyBC,UAAzB,EAAqC;AACjC,UAAI,CAACA,UAAL,EAAiB,MAAM,IAAIz8B,KAAJ,CAAU,gBAAV,CAAN;;AACjB,UAAI08B,iBAAiB,GAAGD,UAAU,CAACv2B,KAAX,CAAiB,IAAjB,CAAxB;AAAA,UAAgDy2B,QAAQ,GAAGD,iBAAiB,CAAC,CAAD,CAA5E;AAAA,UAAiFn+B,IAAI,GAAGm+B,iBAAiB,CAAC,CAAD,CAAzG;AAAA,UAA8GE,wBAAwB,GAAGF,iBAAiB,CAAC,CAAD,CAA1J;;AACA,UAAI,WAAWC,QAAf,EAAyB,MAAM,IAAI38B,KAAJ,CAAU,uCAAuC28B,QAAjD,CAAN;AACzB,UAAI,CAACp+B,IAAL,EAAW,MAAM,IAAIyB,KAAJ,CAAU,yBAAV,CAAN;AACX,UAAI,CAAC48B,wBAAL,EAA+B,MAAM,IAAI58B,KAAJ,CAAU,iCAAV,CAAN;AAC/B,aAAO;AACHzB,QAAAA,IAAI,EAAEA,IADH;AAEHq+B,QAAAA,wBAAwB,EAAEA;AAFvB,OAAP;AAIH;;AACD,QAAIC,yBAAyB,GAAGrkB,OAAO,CAAE,UAASikB,UAAT,EAAqB;AAC1D,UAAIK,qBAAqB,GAAG9B,sBAAsB,CAAC;AAC/Cne,QAAAA,IAAI,EAAE2f,eAAe,CAACC,UAAD,CAAf,CAA4BG,wBADa;AAE/CvC,QAAAA,MAAM,EAAE;AACJxrB,UAAAA,GAAG,EAAE,aAASsP,KAAT,EAAgB;AACjB,mBAAO,UAAS4e,SAAT,EAAoB;AACvB,kBAAI,aAAaA,SAAS,CAAC//B,IAA3B,EAAiC,OAAOgzB,YAAY,CAAC,QAAD,EAAW9gB,SAAS,CAAC5J,MAAD,CAApB,CAAnB;AACjC,kBAAI,aAAay3B,SAAS,CAAC//B,IAAvB,IAA+B,YAAY,OAAO+/B,SAAS,CAACpR,QAAhE,EAA0E,OAAOqE,YAAY,CAAC,QAAD,EAAW,UAASnhB,GAAT,EAAcrB,CAAd,EAAiB;AACrH,qBAAK,CAAL,KAAWA,CAAX,KAAiBA,CAAC,GAAG,CAArB;AACA,uBAAO,UAASqB,GAAT,EAAcrB,CAAd,EAAiB;AACpB,uBAAK,CAAL,KAAWA,CAAX,KAAiBA,CAAC,GAAG,CAArB;AACA,sBAAIyB,MAAM,GAAGJ,GAAb;;AACA,uBAAK,IAAI3M,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsL,CAApB,EAAuBtL,CAAC,EAAxB,EAA4B;AACxB,wBAAI,CAAC+M,MAAL,EAAa;AACbA,oBAAAA,MAAM,GAAGub,eAAe,CAACvb,MAAD,CAAxB;AACH;;AACD,yBAAOA,MAAP;AACH,iBARM,CAQLJ,GARK,EAQA6c,kBAAkB,CAAC7c,GAAD,CAAlB,GAA0BrB,CAR1B,CAAP;AASH,eAXuG,CAWtGlI,MAXsG,EAW9Fy3B,SAAS,CAACpR,QAXoF,CAAX,CAAnB;;AAY1E,kBAAI,aAAaoR,SAAS,CAAC//B,IAAvB,IAA+B+/B,SAAS,CAAC3kB,GAAzC,IAAgD,YAAY,OAAO2kB,SAAS,CAAC3kB,GAAjF,EAAsF;AAClF,oBAAIA,GAAG,GAAG2kB,SAAS,CAAC3kB,GAApB;AACA,oBAAI4kB,QAAQ,GAAGzrB,WAAW,CAACjM,MAAD,CAA1B;AACA,oBAAI,CAAC03B,QAAL,EAAe,MAAM,IAAIh9B,KAAJ,CAAU,8BAAV,CAAN;;AACf,qBAAK,IAAIwe,GAAG,GAAG,CAAV,EAAaye,sBAAsB,GAAGvS,oBAAoB,CAACsS,QAAD,CAA/D,EAA2Exe,GAAG,GAAGye,sBAAsB,CAACp7B,MAAxG,EAAgH2c,GAAG,EAAnH,EAAuH;AACnH,sBAAIpO,KAAK,GAAG6sB,sBAAsB,CAACze,GAAD,CAAlC;;AACA,sBAAI9O,YAAY,CAACU,KAAD,CAAhB,EAAyB;AACrB,wBAAIvB,GAAG,GAAGirB,SAAS,CAAC1pB,KAAD,EAAS,UAASyL,MAAT,EAAiB;AACzC,6BAAOA,MAAM,CAACqhB,OAAP,IAAkBrhB,MAAM,CAACqhB,OAAP,CAAe9kB,GAAf,CAAzB;AACH,qBAFkB,CAAnB;AAGA,wBAAIvJ,GAAJ,EAAS,OAAOA,GAAP;AACZ;AACJ;AACJ,eAbD,MAaO,IAAI,WAAWkuB,SAAS,CAAC//B,IAAzB,EAA+B;AAClC,oBAAIuB,IAAI,GAAGw+B,SAAS,CAACx+B,IAArB;AACA,uBAAOyxB,YAAY,CAAC,aAAD,EAAgB,UAASnhB,GAAT,EAActQ,IAAd,EAAoB;AACnD,yBAAOwsB,cAAc,CAAClc,GAAD,EAAMtQ,IAAN,CAAd,IAA6B,SAAS4+B,oBAAT,CAA8BtuB,GAA9B,EAAmCtQ,IAAnC,EAAyC;AACzE,wBAAI6R,KAAK,GAAG2a,cAAc,CAAClc,GAAD,EAAMtQ,IAAN,CAA1B;AACA,wBAAI6R,KAAJ,EAAW,OAAOA,KAAP;;AACX,yBAAK,IAAIgtB,IAAI,GAAG,CAAX,EAAcC,WAAW,GAAGptB,SAAS,CAACpB,GAAD,CAA1C,EAAiDuuB,IAAI,GAAGC,WAAW,CAACx7B,MAApE,EAA4Eu7B,IAAI,EAAhF,EAAoF;AAChF,0BAAIE,UAAU,GAAGH,oBAAoB,CAACE,WAAW,CAACD,IAAD,CAAZ,EAAoB7+B,IAApB,CAArC;AACA,0BAAI++B,UAAJ,EAAgB,OAAOA,UAAP;AACnB;AACJ,mBAPmC,CAOlC7S,MAAM,CAAC5b,GAAD,CAAN,IAAeA,GAPmB,EAOdtQ,IAPc,CAApC;AAQH,iBATkC,CASjCyxB,YAAY,CAAC,UAAD,EAAaze,WAAW,CAACjM,MAAD,CAAxB,CATqB,EASc/G,IATd,CAAhB,CAAnB;AAUH;;AACD,oBAAM,IAAIyB,KAAJ,CAAU,oBAAoB+8B,SAAS,CAAC//B,IAA9B,GAAqC,0BAA/C,CAAN;AACH,aAzCM,CAyCLmhB,KAAK,CAACic,QAAN,CAAe2C,SAzCV,CAAP;AA0CH;AA5CG;AAFuC,OAAD,CAAlD;;AAiDA,aAAO;AACH9tB,QAAAA,MAAM,EAAE6tB,qBAAqB,CAACzC,MAD3B;AAEHkD,QAAAA,OAAO,EAAET,qBAAqB,CAACjgB,IAF5B;AAGH+d,QAAAA,SAAS,EAAEkC,qBAAqB,CAAClC;AAH9B,OAAP;AAKH,KAvDsC,CAAvC;;AAwDA,aAAS4C,uBAAT,GAAmC;AAC/B,aAAOX,yBAAyB,CAACv3B,MAAM,CAAC/G,IAAR,CAAhC;AACH;;AACD,aAASk/B,mBAAT,CAA6BC,YAA7B,EAA2CC,aAA3C,EAA0D;AACtD,WAAK,CAAL,KAAWA,aAAX,KAA6BA,aAAa,GAAGr4B,MAA7C;AACA,UAAIo4B,YAAY,KAAKlT,eAAe,CAACmT,aAAD,CAApC,EAAqD,OAAO;AACxD3gC,QAAAA,IAAI,EAAE,QADkD;AAExD2uB,QAAAA,QAAQ,EAAED,kBAAkB,CAACgS,YAAD;AAF4B,OAAP;AAIrD,UAAIA,YAAY,KAAKxuB,SAAS,CAACyuB,aAAD,CAA9B,EAA+C,OAAO;AAClD3gC,QAAAA,IAAI,EAAE;AAD4C,OAAP;;AAG/C,UAAI0S,YAAY,CAACguB,YAAD,CAAZ,IAA8B,EAAE7uB,GAAG,GAAG6uB,YAAN,EAAoB7uB,GAAG,KAAK4b,MAAM,CAAC5b,GAAD,CAApC,CAAlC,EAA8E;AAC1E,YAAI4tB,UAAU,GAAG5sB,gBAAgB,CAAC6tB,YAAD,CAAhB,CAA+Bn/B,IAAhD;AACA,YAAIk+B,UAAJ,EAAgB,OAAO;AACnBz/B,UAAAA,IAAI,EAAE,MADa;AAEnBuB,UAAAA,IAAI,EAAEk+B;AAFa,SAAP;AAInB;;AACD,UAAI5tB,GAAJ;AACH;;AACD,aAAS+uB,kBAAT,CAA4BC,QAA5B,EAAsCx1B,KAAtC,EAA6C5M,GAA7C,EAAkDC,KAAlD,EAAyDoiC,OAAzD,EAAkE;AAC9D,UAAI,CAACD,QAAQ,CAAChjC,cAAT,CAAwBY,GAAxB,CAAL,EAAmC,OAAOC,KAAP;AACnC,UAAImI,IAAI,GAAGg6B,QAAQ,CAACpiC,GAAD,CAAnB;AACA,aAAO,cAAc,OAAOoI,IAAI,CAACk6B,aAA1B,GAA0Cl6B,IAAI,CAACk6B,aAAL,CAAmB;AAChEriC,QAAAA,KAAK,EAAEA,KADyD;AAEhE0c,QAAAA,GAAG,EAAE0lB,OAAO,CAAC1lB,GAFmD;AAGhE6Z,QAAAA,GAAG,EAAE6L,OAAO,CAAC7L,GAHmD;AAIhE7f,QAAAA,KAAK,EAAE0rB,OAAO,CAAC1rB,KAJiD;AAKhE+M,QAAAA,KAAK,EAAE2e,OAAO,CAAC3e,KALiD;AAMhE7K,QAAAA,OAAO,EAAEwpB,OAAO,CAACxpB,OAN+C;AAOhE0pB,QAAAA,OAAO,EAAEF,OAAO,CAACE,OAP+C;AAQhEC,QAAAA,MAAM,EAAEH,OAAO,CAACG,MARgD;AAShEjvB,QAAAA,SAAS,EAAE8uB,OAAO,CAAC9uB,SAT6C;AAUhEkvB,QAAAA,eAAe,EAAEJ,OAAO,CAACI,eAVuC;AAWhEC,QAAAA,IAAI,EAAEL,OAAO,CAACK,IAXkD;AAYhEC,QAAAA,IAAI,EAAEN,OAAO,CAACM,IAZkD;AAahE,kBAAQN,OAAO,UAbiD;AAchEO,QAAAA,WAAW,EAAEP,OAAO,CAACO;AAd2C,OAAnB,CAA1C,GAeF3iC,KAfL;AAgBH;;AACD,aAAS4iC,WAAT,GAAuB;AACnB,aAAO3wB,oBAAoB,OAApB,CAA0B,YAAW;AACxCrI,QAAAA,MAAM,CAAC6Z,KAAP;AACH,OAFM,CAAP;AAGH;;AACD,aAASof,aAAT,GAAyB;AACrB,aAAO5wB,oBAAoB,OAApB,CAA0B,YAAW;AACxCrI,QAAAA,MAAM,CAAC8M,KAAP;AACH,OAFM,CAAP;AAGH;;AACD,QAAIosB,iBAAiB,GAAG,SAApBA,iBAAoB,GAAW;AAC/B,aAAO3kB,aAAP;AACH,KAFD;;AAGA,QAAI4kB,kBAAkB,GAAG,SAArBA,kBAAqB,CAASriB,IAAT,EAAe;AACpC,aAAOiS,IAAI,CAACjS,IAAI,CAAC1gB,KAAN,CAAX;AACH,KAFD;;AAGA,aAASgjC,QAAT,CAAkBr2B,KAAlB,EAAyBw1B,QAAzB,EAAmC9qB,OAAnC,EAA4C;AACxC,WAAK,IAAIyL,GAAG,GAAG,CAAV,EAAa4T,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAYooB,QAAQ,CAAC,EAAD,EAAKzhB,KAAL,EAAYw1B,QAAZ,CAApB,CAAlC,EAA8Erf,GAAG,GAAG4T,aAAa,CAACvwB,MAAlG,EAA0G2c,GAAG,EAA7G,EAAiH;AAC7G,YAAI/iB,GAAG,GAAG22B,aAAa,CAAC5T,GAAD,CAAvB;AACAzL,QAAAA,OAAO,CAACtX,GAAD,EAAMoiC,QAAQ,CAACpiC,GAAD,CAAd,EAAqB4M,KAAK,CAAC5M,GAAD,CAA1B,CAAP;AACH;AACJ;;AACD,aAASkjC,cAAT,CAAwBd,QAAxB,EAAkCx1B,KAAlC,EAAyClK,MAAzC,EAAiD;AAC7C,UAAIiN,MAAM,GAAG,EAAb;AACA,aAAOuC,oBAAoB,CAACmH,GAArB,CAAyB,UAASzM,KAAT,EAAgBw1B,QAAhB,EAA0B9qB,OAA1B,EAAmC;AAC/D,YAAIkC,OAAO,GAAG,EAAd;AACAypB,QAAAA,QAAQ,CAACr2B,KAAD,EAAQw1B,QAAR,EAAmB,UAASpiC,GAAT,EAAcmjC,OAAd,EAAuBljC,KAAvB,EAA8B;AACrD,cAAIyD,MAAM,GAAG,UAAS1D,GAAT,EAAcmjC,OAAd,EAAuBljC,KAAvB,EAA8B;AACvC,mBAAOiS,oBAAoB,CAAC3O,OAArB,GAA+BI,IAA/B,CAAqC,YAAW;AACnD,kBAAIy/B,qBAAJ,EAA2BC,sBAA3B;;AACA,kBAAI,QAAQpjC,KAAR,IAAiBkjC,OAArB,EAA8B;AAC1B,oBAAIG,QAAQ,GAAG,CAACF,qBAAqB,GAAG,EAAxB,EAA4BA,qBAAqB,CAACl5B,GAAtB,GAA4Bi5B,OAAO,CAACI,UAAhE,EAChBH,qBAAqB,CAACI,IAAtB,GAA6BL,OAAO,CAACM,SADrB,EACgCL,qBADjC,EACwD1gC,MADxD,CAAf;AAEA,oBAAIghC,QAAQ,GAAG,CAACL,sBAAsB,GAAG,EAAzB,EAA6BA,sBAAsB,CAACn5B,GAAvB,GAA6Bi5B,OAAO,CAACQ,UAAlE,EAChBN,sBAAsB,CAACG,IAAvB,GAA8BL,OAAO,CAACS,SADtB,EACiCP,sBADlC,EAC0D3gC,MAD1D,CAAf;AAEA,oBAAI4gC,QAAJ,EAAc,OAAOpxB,oBAAoB,CAACwH,IAArB,CAA0B;AAC3CmqB,kBAAAA,UAAU,EAAE3xB,oBAAoB,OAApB,CAA0B,YAAW;AAC7C,2BAAO,cAAc,OAAOoxB,QAArB,GAAgCA,QAAQ,CAAC;AAC5CrjC,sBAAAA,KAAK,EAAEA;AADqC,qBAAD,CAAxC,GAEF,YAAY,OAAOqjC,QAAnB,GAA8BA,QAA9B,GAAyCtjC,GAF9C;AAGH,mBAJW,CAD+B;AAM3C8jC,kBAAAA,UAAU,EAAE5xB,oBAAoB,OAApB,CAA0B,YAAW;AAC7C,2BAAO,cAAc,OAAOwxB,QAArB,IAAiC5P,SAAS,CAAC7zB,KAAD,CAA1C,GAAoDyjC,QAAQ,CAAC;AAChEzjC,sBAAAA,KAAK,EAAEA;AADyD,qBAAD,CAA5D,GAEFA,KAFL;AAGH,mBAJW;AAN+B,iBAA1B,EAWlB0D,IAXkB,CAWZ,UAASgd,IAAT,EAAe;AACpB,sBAAIkjB,UAAU,GAAGljB,IAAI,CAACkjB,UAAtB;AAAA,sBAAkCC,UAAU,GAAGnjB,IAAI,CAACmjB,UAApD;AACA,sBAAIpgC,MAAJ;AACA,sBAAI,aAAa,OAAOogC,UAAxB,EAAoCpgC,MAAM,GAAGogC,UAAU,CAAC1+B,QAAX,EAAT,CAApC,KAAyE,IAAI,YAAY,OAAO0+B,UAAvB,EAAmCpgC,MAAM,GAAGogC,UAAU,CAAC1+B,QAAX,EAAT,CAAnC,KAAwE,IAAI,YAAY,OAAO0+B,UAAnB,IAAiC,SAASA,UAA9C,EAA0D;AACvM,wBAAIX,OAAO,CAACY,aAAR,KAA0BjW,kBAAkB,CAAC1e,IAAjD,EAAuD1L,MAAM,GAAG0L,IAAI,CAAC3F,SAAL,CAAeq6B,UAAf,CAAT,CAAvD,KAAiG,IAAIX,OAAO,CAACY,aAAR,KAA0BjW,kBAAkB,CAACmS,MAAjD,EAAyDv8B,MAAM,GAAGgvB,YAAY,CAACtjB,IAAI,CAAC3F,SAAL,CAAeq6B,UAAf,CAAD,CAArB,CAAzD,KAAiH,IAAIX,OAAO,CAACY,aAAR,KAA0BjW,kBAAkB,CAACkS,MAA7C,IAAuD,CAACmD,OAAO,CAACY,aAApE,EAAmF;AACjSrgC,sBAAAA,MAAM,GAAG,SAASsgC,MAAT,CAAgBjkC,GAAhB,EAAqBkkC,MAArB,EAA6BC,MAA7B,EAAqC;AAC1C,6BAAK,CAAL,KAAWD,MAAX,KAAsBA,MAAM,GAAG,EAA/B;AACA,6BAAK,CAAL,KAAWC,MAAX,KAAsBA,MAAM,GAAG,EAA/B;AACAD,wBAAAA,MAAM,GAAGA,MAAM,GAAGA,MAAM,GAAG,GAAZ,GAAkBA,MAAjC;;AACA,6BAAK,IAAIjkC,GAAT,IAAgBD,GAAhB;AAAqBA,0BAAAA,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,KAA2B,QAAQD,GAAG,CAACC,GAAD,CAAtC,IAA+C,cAAc,OAAOD,GAAG,CAACC,GAAD,CAAvE,KAAiFD,GAAG,CAACC,GAAD,CAAH,IAAY2I,KAAK,CAACuN,OAAN,CAAcnW,GAAG,CAACC,GAAD,CAAjB,CAAZ,IAAuCD,GAAG,CAACC,GAAD,CAAH,CAASoG,MAAhD,IAA0DrG,GAAG,CAACC,GAAD,CAAH,CAASmkC,KAAT,CAAgB,UAASznB,GAAT,EAAc;AAC1L,mCAAO,YAAY,OAAOA,GAA1B;AACH,2BAF+J,CAA1D,GAEhGwnB,MAAM,CAAC,KAAKD,MAAL,GAAcjkC,GAAd,GAAoB,IAArB,CAAN,GAAmCD,GAAG,CAACC,GAAD,CAAH,CAAS0J,IAAT,CAAc,GAAd,CAF6D,GAExC3J,GAAG,CAACC,GAAD,CAAH,IAAY,YAAY,OAAOD,GAAG,CAACC,GAAD,CAAlC,GAA0CkkC,MAAM,GAAGF,MAAM,CAACjkC,GAAG,CAACC,GAAD,CAAJ,EAAW,KAAKikC,MAAL,GAAcjkC,GAAzB,EAA8BkkC,MAA9B,CAAzD,GAAiGA,MAAM,CAAC,KAAKD,MAAL,GAAcjkC,GAAf,CAAN,GAA4BD,GAAG,CAACC,GAAD,CAAH,CAASoF,QAAT,EAFtK;AAArB;;AAGA,+BAAO8+B,MAAP;AACH,uBARQ,CAQPJ,UARO,EAQK9jC,GARL,CAAT;;AASA,2BAAK,IAAI+iB,GAAG,GAAG,CAAV,EAAa4T,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAYvC,MAAZ,CAAlC,EAAuDqf,GAAG,GAAG4T,aAAa,CAACvwB,MAA3E,EAAmF2c,GAAG,EAAtF,EAA0F;AACtF,4BAAIqhB,MAAM,GAAGzN,aAAa,CAAC5T,GAAD,CAA1B;AACApT,wBAAAA,MAAM,CAACy0B,MAAD,CAAN,GAAiB1gC,MAAM,CAAC0gC,MAAD,CAAvB;AACH;;AACD;AACH;AACJ,mBAjBgJ,MAiB1I,YAAY,OAAON,UAAnB,KAAkCpgC,MAAM,GAAGogC,UAAU,CAAC1+B,QAAX,EAA3C;AACPuK,kBAAAA,MAAM,CAACk0B,UAAD,CAAN,GAAqBngC,MAArB;AACH,iBAjCoB,CAAP;AAkCjB;AACJ,aA1CM,CAAP;AA2CH,WA5CY,CA4CX1D,GA5CW,EA4CNmjC,OA5CM,EA4CGljC,KA5CH,CAAb;;AA6CAuZ,UAAAA,OAAO,CAAC3T,IAAR,CAAanC,MAAb;AACH,SA/CO,CAAR;AAgDA,eAAO8V,OAAP;AACH,OAnD+B,CAmD9B5M,KAnD8B,EAmDvBw1B,QAnDuB,CAAzB,EAmDaz+B,IAnDb,CAmDmB,YAAW;AACjC,eAAOgM,MAAP;AACH,OArDM,CAAP;AAsDH;;AACD,aAAS00B,eAAT,CAAyB1jB,IAAzB,EAA+B;AAC3B,UAAIhE,GAAG,GAAGgE,IAAI,CAAChE,GAAf;AAAA,UAAoBK,OAAO,GAAG2D,IAAI,CAAC3D,OAAnC;AAAA,UAA4CsnB,cAAc,GAAG3jB,IAAI,CAAC4jB,SAAlE;AAAA,UAA6EA,SAAS,GAAG,KAAK,CAAL,KAAWD,cAAX,GAA4B,EAA5B,GAAiCA,cAA1H;AAAA,UAA0IE,cAAc,GAAG7jB,IAAI,CAAC8jB,SAAhK;AAAA,UAA2KA,SAAS,GAAG,KAAK,CAAL,KAAWD,cAAX,GAA4B36B,MAA5B,GAAqC26B,cAA5N;AACA,UAAIpC,QAAQ,GAAGplB,OAAO,CAAColB,QAAvB;AAAA,UAAiCsC,iBAAiB,GAAG1nB,OAAO,CAAC0nB,iBAA7D;AAAA,UAAgFC,iBAAiB,GAAG3nB,OAAO,CAAC2nB,iBAA5G;AAAA,UAA+HnO,GAAG,GAAGxZ,OAAO,CAACwZ,GAA7I;AAAA,UAAkJ1zB,IAAI,GAAGka,OAAO,CAACla,IAAjK;AAAA,UAAuK4zB,UAAU,GAAG1Z,OAAO,CAAC0Z,UAA5L;AAAA,UAAwMkO,UAAU,GAAG5nB,OAAO,CAAC4nB,UAA7N;AAAA,UAAyOC,UAAU,GAAG7nB,OAAO,CAAC6nB,UAA9P;AAAA,UAA0Q71B,GAAG,GAAGgO,OAAO,CAAChO,GAAxR;AAAA,UAA6R81B,WAAW,GAAG9nB,OAAO,CAAC7P,MAAnT;AAAA,UAA2T43B,MAAM,GAAG/nB,OAAO,CAACje,OAA5U;AACA,UAAIimC,WAAW,GAAG,IAAI9yB,oBAAJ,EAAlB;AACA,UAAI+yB,aAAa,GAAG,EAApB;AACA,UAAIC,KAAK,GAAGnR,OAAO,EAAnB;AACA,UAAIzvB,KAAK,GAAG,EAAZ;AACA,UAAI6gC,UAAU,GAAG,EAAjB;AACA,UAAIC,aAAa,GAAG;AAChBC,QAAAA,OAAO,EAAE,CAAC;AADM,OAApB;AAGA,UAAIrb,KAAK,GAAGua,SAAS,CAACva,KAAV,GAAkBua,SAAS,CAACva,KAA5B,IAAqCsb,SAAS,GAAG,EAAZ,EAAgB3tB,QAAQ,GAAG,EAA3B,EACjD4tB,OAAO,GAAG;AACNlf,QAAAA,EAAE,EAAE,YAASmf,SAAT,EAAoBluB,OAApB,EAA6B;AAC7B,cAAImuB,WAAW,GAAG9tB,QAAQ,CAAC6tB,SAAD,CAAR,GAAsB7tB,QAAQ,CAAC6tB,SAAD,CAAR,IAAuB,EAA/D;AACAC,UAAAA,WAAW,CAAC5/B,IAAZ,CAAiByR,OAAjB;AACA,cAAIsV,SAAS,GAAG,CAAC,CAAjB;AACA,iBAAO;AACH5S,YAAAA,MAAM,EAAE,kBAAW;AACf,kBAAI,CAAC4S,SAAL,EAAgB;AACZA,gBAAAA,SAAS,GAAG,CAAC,CAAb;AACA6Y,gBAAAA,WAAW,CAACxrB,MAAZ,CAAmBwrB,WAAW,CAACzxB,OAAZ,CAAoBsD,OAApB,CAAnB,EAAiD,CAAjD;AACH;AACJ;AANE,WAAP;AAQH,SAbK;AAcNsb,QAAAA,IAAI,EAAE,cAAS4S,SAAT,EAAoBluB,OAApB,EAA6B;AAC/B,cAAIgS,QAAQ,GAAGic,OAAO,CAAClf,EAAR,CAAWmf,SAAX,EAAuB,YAAW;AAC7Clc,YAAAA,QAAQ,CAACtP,MAAT;AACA1C,YAAAA,OAAO;AACV,WAHc,CAAf;AAIA,iBAAOgS,QAAP;AACH,SApBK;AAqBNoc,QAAAA,OAAO,EAAE,iBAASF,SAAT,EAAoB;AACzB,eAAK,IAAIG,KAAK,GAAGloB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUg9B,KAAK,GAAG,CAAR,GAAYA,KAAK,GAAG,CAApB,GAAwB,CAAlC,CAArC,EAA2EC,KAAK,GAAG,CAAxF,EAA2FA,KAAK,GAAGD,KAAnG,EAA0GC,KAAK,EAA/G;AAAmH1rB,YAAAA,IAAI,CAAC0rB,KAAK,GAAG,CAAT,CAAJ,GAAkBnoB,SAAS,CAACmoB,KAAD,CAA3B;AAAnH;;AACA,cAAIH,WAAW,GAAG9tB,QAAQ,CAAC6tB,SAAD,CAA1B;AACA,cAAIlsB,QAAQ,GAAG,EAAf;;AACA,cAAImsB,WAAJ,EAAiB;AACb,gBAAI7rB,KAAK,GAAG,SAARA,KAAQ,GAAW;AACnB,kBAAItC,OAAO,GAAGmuB,WAAW,CAAC1iB,GAAD,CAAzB;AACAzJ,cAAAA,QAAQ,CAACzT,IAAT,CAAcqM,oBAAoB,OAApB,CAA0B,YAAW;AAC/C,uBAAOoF,OAAO,CAAC6C,KAAR,CAAc,KAAK,CAAnB,EAAsBD,IAAtB,CAAP;AACH,eAFa,CAAd;AAGH,aALD;;AAMA,iBAAK,IAAI6I,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAG0iB,WAAW,CAACr/B,MAApC,EAA4C2c,GAAG,EAA/C;AAAmDnJ,cAAAA,KAAK;AAAxD;AACH;;AACD,iBAAO1H,oBAAoB,CAACmH,GAArB,CAAyBC,QAAzB,EAAmC3V,IAAnC,CAAwCya,aAAxC,CAAP;AACH,SAnCK;AAoCNynB,QAAAA,WAAW,EAAE,qBAASL,SAAT,EAAoB;AAC7B,cAAIF,SAAS,CAACE,SAAD,CAAb,EAA0B,OAAOtzB,oBAAoB,CAAC3O,OAArB,EAAP;AAC1B+hC,UAAAA,SAAS,CAACE,SAAD,CAAT,GAAuB,CAAC,CAAxB;;AACA,eAAK,IAAIM,KAAK,GAAGroB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUm9B,KAAK,GAAG,CAAR,GAAYA,KAAK,GAAG,CAApB,GAAwB,CAAlC,CAArC,EAA2EC,KAAK,GAAG,CAAxF,EAA2FA,KAAK,GAAGD,KAAnG,EAA0GC,KAAK,EAA/G;AAAmH7rB,YAAAA,IAAI,CAAC6rB,KAAK,GAAG,CAAT,CAAJ,GAAkBtoB,SAAS,CAACsoB,KAAD,CAA3B;AAAnH;;AACA,iBAAOR,OAAO,CAACG,OAAR,CAAgBvrB,KAAhB,CAAsBorB,OAAtB,EAA+B,CAAEC,SAAF,EAActW,MAAd,CAAqBhV,IAArB,CAA/B,CAAP;AACH,SAzCK;AA0CNlU,QAAAA,KAAK,EAAE,iBAAW;AACd2R,UAAAA,QAAQ,GAAG,EAAX;AACH;AA5CK,OADE,CAAZ;AA+CA,UAAI2tB,SAAJ,EAAe3tB,QAAf,EAAyB4tB,OAAzB;AACA,UAAI34B,KAAK,GAAG23B,SAAS,CAAC33B,KAAV,GAAkB23B,SAAS,CAAC33B,KAA5B,GAAoC,EAAhD;AACA,UAAIo5B,eAAJ;AACA,UAAIC,qBAAJ;AACA,UAAIC,cAAJ;AACA,UAAIC,kBAAJ;AACA,UAAIC,gBAAJ;AACA,UAAIC,gBAAgB,GAAG,CAAC,CAAxB;AACA,UAAIC,eAAe,GAAG/B,SAAS,CAAC1rB,OAAhC;AACA,UAAI0tB,yBAAyB,GAAGhC,SAAS,CAACiC,iBAA1C;AACA,UAAIC,YAAY,GAAGlC,SAAS,CAAC7B,IAA7B;AACA,UAAIgE,YAAY,GAAGnC,SAAS,CAAC5B,IAA7B;AACA,UAAIgE,aAAa,GAAGpC,SAAS,CAAC5tB,KAA9B;AACA,UAAIiwB,uBAAuB,GAAGrC,SAAS,CAACsC,eAAxC;AACA,UAAIC,sBAAsB,GAAGvC,SAAS,CAACwC,cAAvC;AACA,UAAIC,mBAAmB,GAAGzC,SAAS,CAAC0C,WAApC;AACA,UAAIC,iBAAiB,GAAG3C,SAAS,CAAC4C,SAAlC;AACA,UAAIC,0BAA0B,GAAG7C,SAAS,CAAC8C,kBAA3C;AACA,UAAIC,iBAAiB,GAAG/C,SAAS,CAACgD,SAAlC;AACA,UAAIC,YAAY,GAAGjD,SAAS,CAACtf,IAA7B;AACA,UAAIwiB,qBAAqB,GAAGlD,SAAS,CAACmD,aAAtC;AACA,UAAIC,sBAAsB,GAAGpD,SAAS,CAACqD,cAAvC;AACA,UAAIC,wBAAwB,GAAGtD,SAAS,CAACuD,gBAAzC;AACA,UAAIC,wBAAwB,GAAGxD,SAAS,CAACyD,gBAAzC;;AACA,UAAIC,aAAa,GAAG,SAAhBA,aAAgB,GAAW;AAC3B,eAAO,cAAc,OAAOrD,UAArB,GAAkCA,UAAU,CAAC;AAChDh4B,UAAAA,KAAK,EAAEA;AADyC,SAAD,CAA5C,GAEFg4B,UAFL;AAGH,OAJD;;AAKA,UAAIsD,kBAAkB,GAAG,SAArBA,kBAAqB,GAAW;AAChC,eAAOh2B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,iBAAOqyB,SAAS,CAAC2D,kBAAV,GAA+B3D,SAAS,CAAC2D,kBAAV,EAA/B,GAAgElD,WAAW,CAACzhC,OAAZ,EAAvE;AACH,SAFM,CAAP;AAGH,OAJD;;AAKA,UAAI4kC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAS7nC,GAAT,EAAc;AAClC,eAAO4R,oBAAoB,OAApB,CAA0B,YAAW;AACxC,iBAAOqyB,SAAS,CAAC4D,iBAAV,GAA8B5D,SAAS,CAAC4D,iBAAV,CAA4B7nC,GAA5B,CAA9B,GAAiE0kC,WAAW,CAACxhC,MAAZ,CAAmBlD,GAAnB,CAAxE;AACH,SAFM,CAAP;AAGH,OAJD;;AAKA,UAAI8nC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAASC,kBAAT,EAA6B;AAChD,YAAI3kC,MAAM,GAAG,EAAb;;AACA,aAAK,IAAIqf,GAAG,GAAG,CAAV,EAAa4T,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAY2G,KAAZ,CAAlC,EAAsDmW,GAAG,GAAG4T,aAAa,CAACvwB,MAA1E,EAAkF2c,GAAG,EAArF,EAAyF;AACrF,cAAI/iB,GAAG,GAAG22B,aAAa,CAAC5T,GAAD,CAAvB;AACA,cAAI3a,IAAI,GAAGg6B,QAAQ,CAACpiC,GAAD,CAAnB;;AACA,cAAI,CAACoI,IAAD,IAAS,CAAC,CAAD,KAAOA,IAAI,CAACkgC,WAAzB,EAAsC;AAClC,gBAAIC,YAAY,GAAGngC,IAAI,IAAIA,IAAI,CAACogC,cAAb,IAA+BpgC,IAAI,CAACogC,cAAL,CAAoBpiC,MAApB,GAA6B,CAA5D,GAAgEgC,IAAI,CAACogC,cAAL,CAAoBrgC,MAApB,CAA4B,UAASsgC,GAAT,EAAc/rB,GAAd,EAAmB;AAC9H,qBAAO+rB,GAAG,IAAI1yB,WAAW,CAAC2G,GAAD,EAAM2rB,kBAAN,CAAzB;AACH,aAFkF,EAE/E,CAAC,CAF8E,CAAhE,GAETtyB,WAAW,CAACsyB,kBAAD,EAAqBv0B,SAAS,CAACjK,MAAD,CAA9B,CAFrB;AAGAzB,YAAAA,IAAI,IAAIA,IAAI,CAAC2b,UAAb,IAA2B,CAACwkB,YAA5B,IAA4CngC,IAAI,IAAIA,IAAI,CAACogC,cAAb,IAA+B,CAACD,YAA5E,KAA6F7kC,MAAM,CAAC1D,GAAD,CAAN,GAAc4M,KAAK,CAAC5M,GAAD,CAAhH;AACH;AACJ;;AACD,eAAOkS,oBAAoB,CAACwH,IAArB,CAA0BhW,MAA1B,CAAP;AACH,OAbD;;AAcA,UAAIokC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAW;AAC9B,eAAO51B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,iBAAO21B,wBAAwB,GAAGA,wBAAwB,EAA3B,GAAgCzC,aAA/D;AACH,SAFM,CAAP;AAGH,OAJD;;AAKA,UAAI4C,gBAAgB,GAAG,SAAnBA,gBAAmB,CAASU,gBAAT,EAA2B;AAC9C,eAAOx2B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,iBAAO61B,wBAAwB,GAAGA,wBAAwB,CAACW,gBAAD,CAA3B,GAAgDtD,aAAa,GAAG/W,QAAQ,CAAC,EAAD,EAAK+W,aAAL,EAAoBsD,gBAApB,CAAvG;AACH,SAFM,CAAP;AAGH,OAJD;;AAKA,UAAI3B,cAAc,GAAG,SAAjBA,cAAiB,GAAW;AAC5B,eAAOD,sBAAsB,GAAGA,sBAAsB,EAAzB,GAA8B50B,oBAAoB,OAApB,CAA0B,YAAW;AAC5F,cAAIy2B,UAAU,GAAG/7B,KAAK,CAAC/C,MAAvB;;AACA,cAAI8+B,UAAJ,EAAgB;AACZ,gBAAIC,SAAS,GAAGl2B,mBAAmB,CAACi2B,UAAD,CAAnC;;AACAzD,YAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,qBAAOuU,UAAU,CAAChyB,KAAX,EAAP;AACH,aAFD;AAGA,mBAAOiyB,SAAP;AACH;;AACD,iBAAO,IAAIx2B,kBAAJ,CAAuB;AAC1B6O,YAAAA,IAAI,EAAEpO;AADoB,WAAvB,CAAP;AAGH,SAZ0D,CAA3D;AAaH,OAdD;;AAeA,UAAIo0B,WAAW,GAAG,SAAdA,WAAc,CAAS/H,QAAT,EAAmB;AACjC,eAAO8H,mBAAmB,GAAGA,mBAAmB,CAAC9H,QAAD,CAAtB,GAAmChtB,oBAAoB,OAApB,CAA0B,YAAW;AAC9F8zB,UAAAA,eAAe,GAAG9G,QAAlB;AACH,SAF4D,CAA7D;AAGH,OAJD;;AAKA,UAAIwD,IAAI,GAAG,SAAPA,IAAO,GAAW;AAClB,eAAO+D,YAAY,GAAGA,YAAY,EAAf,GAAoBv0B,oBAAoB,CAACwH,IAArB,CAA0B;AAC7DmvB,UAAAA,QAAQ,EAAEb,gBAAgB,CAAC;AACvB3C,YAAAA,OAAO,EAAE,CAAC;AADa,WAAD,CADmC;AAI7D9N,UAAAA,WAAW,EAAE0O,qBAAqB,GAAGA,qBAAqB,CAAC/7B,GAAtB,GAA4BvG,IAA5B,CAAiC4zB,WAAjC,CAAH,GAAmD;AAJxB,SAA1B,EAKpC5zB,IALoC,CAK/Bya,aAL+B,CAAvC;AAMH,OAPD;;AAQA,UAAIukB,IAAI,GAAG,SAAPA,IAAO,GAAW;AAClB,eAAO+D,YAAY,GAAGA,YAAY,EAAf,GAAoBx0B,oBAAoB,CAACwH,IAArB,CAA0B;AAC7DmvB,UAAAA,QAAQ,EAAEb,gBAAgB,CAAC;AACvB3C,YAAAA,OAAO,EAAE,CAAC;AADa,WAAD,CADmC;AAI7D9N,UAAAA,WAAW,EAAE0O,qBAAqB,GAAGA,qBAAqB,CAAC/7B,GAAtB,GAA4BvG,IAA5B,CAAiC8zB,WAAjC,CAAH,GAAmD;AAJxB,SAA1B,EAKpC9zB,IALoC,CAK/Bya,aAL+B,CAAvC;AAMH,OAPD;;AAQA,UAAI0qB,MAAM,GAAG,SAATA,MAAS,GAAW;AACpB,eAAO,cAAc,OAAO95B,GAArB,GAA2BA,GAAG,CAAC;AAClCpC,UAAAA,KAAK,EAAEA;AAD2B,SAAD,CAA9B,GAEFoC,GAFL;AAGH,OAJD;;AAKA,UAAI+5B,aAAa,GAAG,SAAhBA,aAAgB,GAAW;AAC3B,eAAO,cAAc,OAAOrS,UAArB,GAAkCA,UAAU,CAAC;AAChD9pB,UAAAA,KAAK,EAAEA;AADyC,SAAD,CAA5C,GAEF8pB,UAFL;AAGH,OAJD;;AAKA,UAAIsS,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAW;AACnC,eAAOpY,gBAAgB,CAACkY,MAAM,EAAP,CAAvB;AACH,OAFD;;AAGA,UAAI3B,SAAS,GAAG,SAAZA,SAAY,CAASnmC,OAAT,EAAkB0hB,KAAlB,EAAyB;AACrC,YAAIse,UAAU,GAAGte,KAAK,CAACse,UAAvB;AACA,eAAOkG,iBAAiB,GAAGA,iBAAiB,CAAClmC,OAAD,EAAU;AAClDggC,UAAAA,UAAU,EAAEA;AADsC,SAAV,CAApB,GAEnB9uB,oBAAoB,OAApB,CAA0B,YAAW;AACtC,cAAIlR,OAAO,KAAK+sB,OAAO,CAACY,MAAxB,EAAgC,OAAO2P,cAAc,CAAC/H,UAAU,CAAC;AAC7DG,YAAAA,UAAU,EAAErI,QAAQ,CAAC;AACjBvrB,cAAAA,IAAI,EAAEk+B,UADW;AAEjBiI,cAAAA,KAAK,EAAEnmC;AAFU,aAAD,EAGjBimC,aAAa,GAAGjL,MAHC;AADyC,WAAD,CAAX,CAArB;AAMnC,SAPI,CAFL;AAUH,OAZD;;AAaA,UAAIuJ,kBAAkB,GAAG,SAArBA,kBAAqB,CAASrmC,OAAT,EAAkB;AACvC,eAAOomC,0BAA0B,GAAGA,0BAA0B,CAACpmC,OAAD,CAA7B,GAAyCkR,oBAAoB,OAApB,CAA0B,YAAW;AAC3G,cAAIlR,OAAO,KAAK+sB,OAAO,CAACY,MAAxB,EAAgC,OAAO2P,cAAc,CAAC/H,UAAU,CAAC;AAC7DG,YAAAA,UAAU,EAAErI,QAAQ,CAAC;AACjBvrB,cAAAA,IAAI,EAAE,6BAA6BA,IAA7B,GAAoC,GAApC,GAA0C6Y,QAAQ,EAAlD,GAAuD,IAD5C;AAEjBstB,cAAAA,KAAK,EAAE,gBAAgBnmC;AAFN,aAAD,EAGjBimC,aAAa,GAAGjL,MAHC;AADyC,WAAD,CAAX,CAArB;AAMnC,SAPyE,CAA1E;AAQH,OATD;;AAUA,UAAI4J,aAAa,GAAG,SAAhBA,aAAgB,CAAS1mC,OAAT,EAAkBk+B,QAAlB,EAA4BgK,mBAA5B,EAAiD;AACjE,eAAOzB,qBAAqB,GAAGA,qBAAqB,CAACzmC,OAAD,EAAUk+B,QAAV,EAAoBgK,mBAApB,CAAxB,GAAmEh3B,oBAAoB,OAApB,CAA0B,YAAW;AAChI,cAAIlR,OAAO,KAAK+sB,OAAO,CAACY,MAAxB,EAAgC;AAC5B,gBAAI,CAACua,mBAAL,EAA0B,MAAM,IAAI3kC,KAAJ,CAAU,mCAAV,CAAN;AAC1B,mBAAO2kC,mBAAmB,CAACh/B,GAApB,GAA0BvG,IAA1B,CAAgC,UAASwlC,cAAT,EAAyB;AAC5DjE,cAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,uBAAOsD,cAAc,CAACyR,cAAD,CAArB;AACH,eAFD;AAGA,qBAAO9S,gBAAgB,CAAC8S,cAAD,CAAhB,CAAiCxlC,IAAjC,CAAuC,UAASylC,oBAAT,EAA+B;AACzE,uBAAOh1B,gBAAgB,CAACg1B,oBAAD,CAAvB;AACH,eAFM,EAEHzlC,IAFG,CAEG,UAASyP,GAAT,EAAc;AACpB,uBAAOV,mBAAmB,CAACU,GAAD,CAA1B;AACH,eAJM,CAAP;AAKH,aATM,CAAP;AAUH;;AACD,cAAIpS,OAAO,KAAK+sB,OAAO,CAACa,KAAxB,EAA+B,OAAOsQ,QAAP;AAC/B,gBAAM,IAAI36B,KAAJ,CAAU,qCAAqCvD,OAA/C,CAAN;AACH,SAhB8F,CAA/F;AAiBH,OAlBD;;AAmBA,UAAI0iB,KAAK,GAAG,SAARA,KAAQ,GAAW;AACnB,eAAOxR,oBAAoB,OAApB,CAA0B,YAAW;AACxC,cAAI8zB,eAAJ,EAAqB,OAAO9zB,oBAAoB,CAACmH,GAArB,CAAyB,CAAE2Q,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAAC4S,KAApB,CAAF,EAA8BoF,eAAe,CAACtiB,KAAhB,EAA9B,CAAzB,EAAkF/f,IAAlF,CAAuFya,aAAvF,CAAP;AACxB,SAFM,CAAP;AAGH,OAJD;;AAKA,UAAIirB,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAW;AAC1C,YAAIjpB,MAAM,GAAG+d,oBAAoB,CAACt0B,MAAD,CAAjC;AACAuW,QAAAA,MAAM,CAACqhB,OAAP,GAAiBrhB,MAAM,CAACqhB,OAAP,IAAkB,EAAnC;AACArhB,QAAAA,MAAM,CAACqhB,OAAP,CAAe9kB,GAAf,IAAsB9S,MAAtB;AACAq7B,QAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,iBAAOhU,MAAM,CAACqhB,OAAP,CAAe9kB,GAAf,CAAP;AACH,SAFD;AAGA,eAAOA,GAAP;AACH,OARD;;AASA,UAAI2sB,YAAY,GAAG,SAAfA,YAAe,CAAS/a,MAAT,EAAiB8Z,kBAAjB,EAAqCrnC,OAArC,EAA8Ck+B,QAA9C,EAAwD;AACvE,YAAImJ,kBAAkB,KAAKv0B,SAAS,CAACjK,MAAD,CAApC,EAA8C,OAAO;AACjDtI,UAAAA,IAAI,EAAE,QAD2C;AAEjDob,UAAAA,GAAG,EAAE0sB,4BAA4B;AAFgB,SAAP;AAI9C,YAAI9a,MAAM,KAAK1kB,MAAf,EAAuB,MAAM,IAAItF,KAAJ,CAAU,6EAAV,CAAN;;AACvB,YAAIqI,KAAK,CAAC/C,MAAV,EAAkB;AACd,cAAI0/B,qBAAqB,GAAGrK,QAAQ,CAAC/Z,SAAT,EAA5B;AACA,cAAI,CAACokB,qBAAL,EAA4B,MAAM,IAAIhlC,KAAJ,CAAU,sEAAV,CAAN;AAC5B,cAAIuR,WAAW,CAACyzB,qBAAD,CAAX,KAAuC1/B,MAA3C,EAAmD,MAAM,IAAItF,KAAJ,CAAU,yFAAV,CAAN;AACtD;;AACD,YAAIvD,OAAO,KAAK+sB,OAAO,CAACa,KAAxB,EAA+B,OAAO;AAClCrtB,UAAAA,IAAI,EAAE;AAD4B,SAAP;AAG/B,YAAIP,OAAO,KAAK+sB,OAAO,CAACY,MAAxB,EAAgC,OAAO;AACnCptB,UAAAA,IAAI,EAAE,QAD6B;AAEnC2uB,UAAAA,QAAQ,EAAED,kBAAkB,CAACpmB,MAAD;AAFO,SAAP;AAIhC,cAAM,IAAItF,KAAJ,CAAU,8CAAV,CAAN;AACH,OAnBD;;AAoBA,UAAIilC,SAAS,GAAG,SAAZA,SAAY,CAASC,WAAT,EAAsBC,YAAtB,EAAoC;AAChD,eAAOx3B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,cAAIy3B,gBAAJ;;AACAxD,UAAAA,kBAAkB,GAAGsD,WAArB;AACAvD,UAAAA,cAAc,GAAGwD,YAAjB;AACA,mBAASC,gBAAgB,GAAG3D,eAA5B,KAAgD2D,gBAAgB,CAAChlB,OAAjB,GAA2BhhB,IAA3B,CAAiC,UAASghB,OAAT,EAAkB;AAC/F,gBAAI,QAAQ,QAAQ+kB,YAAR,GAAuB,KAAK,CAA5B,GAAgCA,YAAY,CAAC5mC,IAArD,KAA8D6hB,OAAlE,EAA2E;AACvE,kBAAIilB,iBAAJ;;AACA,uBAASA,iBAAiB,GAAG5D,eAA7B,KAAiD4D,iBAAiB,CAAC9lB,OAAlB,CAA0B,QAAQ4lB,YAAR,GAAuB,KAAK,CAA5B,GAAgCA,YAAY,CAAC5mC,IAAvE,CAAjD;AACH;AACJ,WAL+C,aAKnC,YAAW;AACpBolC,YAAAA,kBAAkB;AAClBhD,YAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,qBAAOsV,YAAY,CAAC/yB,KAAb,CAAmB+Q,aAAnB,YAAyCtJ,aAAzC,CAAP;AACH,aAFD;AAGH,WAV+C,CAAhD;AAWH,SAfM,CAAP;AAgBH,OAjBD;;AAkBA,UAAIokB,MAAM,GAAG,SAATA,MAAS,CAASxd,KAAT,EAAgB;AACzB,YAAI/Z,KAAK,GAAG+Z,KAAK,CAAC/Z,KAAlB;AAAA,YAAyBD,MAAM,GAAGga,KAAK,CAACha,MAAxC;AACA,eAAOkH,oBAAoB,OAApB,CAA0B,YAAW;AACxC8X,UAAAA,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAAC2S,MAApB,EAA4B;AACxB11B,YAAAA,KAAK,EAAEA,KADiB;AAExBD,YAAAA,MAAM,EAAEA;AAFgB,WAA5B;AAIH,SALM,CAAP;AAMH,OARD;;AASA,UAAIsH,OAAO,GAAG,SAAVA,OAAU,CAAShS,GAAT,EAAc;AACxB,eAAO4R,oBAAoB,OAApB,CAA0B,YAAW;AACxC,iBAAO8X,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACyS,OAApB,CAAP;AACH,SAFM,WAEGriB,aAFH,EAEkBza,IAFlB,CAEwB,YAAW;AACtC,iBAAOuhC,KAAK,CAAC7rB,GAAN,CAAU/Y,GAAV,CAAP;AACH,SAJM,EAIHqD,IAJG,CAIG,YAAW;AACjB,cAAIE,KAAK,GAAGvD,GAAG,IAAI,IAAIiE,KAAJ,CAAU,qBAAV,CAAnB;AACA6hC,UAAAA,gBAAgB,IAAIzO,eAAe,CAACyO,gBAAD,CAAnC,IAAyD,4BAA4BviC,KAAK,CAACsR,OAA3F,GAAqG6vB,WAAW,CAACzhC,OAAZ,EAArG,GAA6HyhC,WAAW,CAACzsB,WAAZ,CAAwB1U,KAAxB,CAA7H;AACH,SAPM,CAAP;AAQH,OATD;;AAUA,UAAI8S,KAAK,GAAGoG,OAAO,CAAE,UAASzc,GAAT,EAAc;AAC/B,eAAO4R,oBAAoB,OAApB,CAA0B,YAAW;AACxC,cAAIy0B,aAAJ,EAAmB;AACf,gBAAI3xB,cAAc,CAAC2xB,aAAa,CAAC/e,UAAf,CAAlB,EAA8C;AAC9C,mBAAO+e,aAAa,EAApB;AACH;;AACD,iBAAOz0B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,mBAAO8X,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACwS,KAApB,CAAP;AACH,WAFM,EAEH78B,IAFG,CAEG,YAAW;AACjB,mBAAO2O,OAAO,CAAChS,GAAG,IAAI,IAAIiE,KAAJ,CAAU,kBAAV,CAAR,CAAd;AACH,WAJM,CAAP;AAKH,SAVM,CAAP;AAWH,OAZkB,CAAnB;;AAaA,UAAI0gB,IAAI,GAAG,SAAPA,IAAO,CAASjkB,OAAT,EAAkBggB,KAAlB,EAAyB;AAChC,YAAIke,QAAQ,GAAGle,KAAK,CAACke,QAArB;AAAA,YAA+B2K,UAAU,GAAG7oB,KAAK,CAAC6oB,UAAlD;AAAA,YAA8D7I,UAAU,GAAGhgB,KAAK,CAACggB,UAAjF;AACA,eAAOwG,YAAY,GAAGA,YAAY,CAACxmC,OAAD,EAAU;AACxCk+B,UAAAA,QAAQ,EAAEA,QAD8B;AAExC2K,UAAAA,UAAU,EAAEA,UAF4B;AAGxC7I,UAAAA,UAAU,EAAEA;AAH4B,SAAV,CAAf,GAId9uB,oBAAoB,OAApB,CAA0B,YAAW;AACtC,cAAIlR,OAAO,KAAK+sB,OAAO,CAACY,MAAxB,EAAgC;AAC5B,gBAAI,CAACkb,UAAL,EAAiB,MAAM,IAAItlC,KAAJ,CAAU,mCAAV,CAAN;AACjB,mBAAOslC,UAAU,CAAC3/B,GAAX,GAAiBvG,IAAjB,CAAuB,UAASgR,KAAT,EAAgB;AAC1C,qBAAO0hB,gBAAgB,CAAC1hB,KAAD,CAAhB,CAAwBhR,IAAxB,CAA8B,UAASyP,GAAT,EAAc;AAC/C8xB,gBAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,yBAAOsD,cAAc,CAAC/iB,KAAD,CAArB;AACH,iBAFD;AAGAuwB,gBAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,yBAAOrhB,aAAa,CAACK,GAAD,CAApB;AACH,iBAFD;AAGA,uBAAOA,GAAP;AACH,eARM,CAAP;AASH,aAVM,CAAP;AAWH;;AACD,cAAIpS,OAAO,KAAK+sB,OAAO,CAACa,KAAxB,EAA+B;AAC3B,gBAAIkb,cAAc,GAAG7B,aAAa,EAAlC;AAAA,gBAAsC8B,oBAAoB,GAAGD,cAAc,CAAC7+B,KAA5E;AAAA,gBAAmFA,KAAK,GAAG,KAAK,CAAL,KAAW8+B,oBAAX,GAAkC,OAAlC,GAA4CA,oBAAvI;AAAA,gBAA6JC,qBAAqB,GAAGF,cAAc,CAAC9+B,MAApM;AAAA,gBAA4MA,MAAM,GAAG,KAAK,CAAL,KAAWg/B,qBAAX,GAAmC,OAAnC,GAA6CA,qBAAlQ;;AACA/+B,YAAAA,KAAK,GAAG2uB,kBAAkB,CAAC3uB,KAAD,EAAQpB,MAAM,CAACogC,UAAf,CAA1B;AACAj/B,YAAAA,MAAM,GAAG4uB,kBAAkB,CAAC5uB,MAAD,EAASnB,MAAM,CAACogC,UAAhB,CAA3B;;AACA,gBAAI72B,GAAG,GAAG,UAASpE,GAAT,EAAcgO,OAAd,EAAuB;AAC7B,kBAAIktB,qBAAqB,GAAG,CAACltB,OAAO,GAAGA,OAAO,IAAI,EAAtB,EAA0BmtB,aAAtD;AAAA,kBAAqEA,aAAa,GAAG,KAAK,CAAL,KAAWD,qBAAX,GAAmC,CAAnC,GAAuCA,qBAA5H;AAAA,kBAAmJE,aAAa,GAAGptB,OAAO,CAACla,IAA3K;AAAA,kBAAiLA,IAAI,GAAG,KAAK,CAAL,KAAWsnC,aAAX,GAA2B,EAA3B,GAAgCA,aAAxN;AAAA,kBAAuOn/B,KAAK,GAAG+R,OAAO,CAAC/R,KAAvP;AAAA,kBAA8PD,MAAM,GAAGgS,OAAO,CAAChS,MAA/Q;AACA,kBAAIqK,GAAG,GAAG,CAAV;AACA,kBAAIg1B,IAAI,GAAG,CAAX;AACAp/B,cAAAA,KAAK,KAAKpB,MAAM,CAACogC,UAAP,GAAoBI,IAAI,GAAGxvB,IAAI,CAACyvB,KAAL,CAAW,CAACzgC,MAAM,CAACogC,UAAP,GAAoBh/B,KAArB,IAA8B,CAAzC,IAA8CpB,MAAM,CAAC0gC,OAAhF,GAA0F1gC,MAAM,CAACiB,MAAP,CAAcG,KAAd,KAAwBo/B,IAAI,GAAGxvB,IAAI,CAACyvB,KAAL,CAAW,CAACzgC,MAAM,CAACiB,MAAP,CAAcG,KAAd,GAAsBA,KAAvB,IAAgC,CAA3C,CAA/B,CAA/F,CAAL;AACAD,cAAAA,MAAM,KAAKnB,MAAM,CAAC2gC,WAAP,GAAqBn1B,GAAG,GAAGwF,IAAI,CAACyvB,KAAL,CAAW,CAACzgC,MAAM,CAAC2gC,WAAP,GAAqBx/B,MAAtB,IAAgC,CAA3C,IAAgDnB,MAAM,CAAC4gC,OAAlF,GAA4F5gC,MAAM,CAACiB,MAAP,CAAcE,MAAd,KAAyBqK,GAAG,GAAGwF,IAAI,CAACyvB,KAAL,CAAW,CAACzgC,MAAM,CAACiB,MAAP,CAAcE,MAAd,GAAuBA,MAAxB,IAAkC,CAA7C,CAA/B,CAAjG,CAAN;AACA,qBAAOgS,OAAO,CAACmtB,aAAf;AACA,qBAAOntB,OAAO,CAACla,IAAf;AACAmI,cAAAA,KAAK,IAAID,MAAT,KAAoBgS,OAAO,GAAGqR,QAAQ,CAAC;AACnChZ,gBAAAA,GAAG,EAAEA,GAD8B;AAEnCg1B,gBAAAA,IAAI,EAAEA,IAF6B;AAGnCp/B,gBAAAA,KAAK,EAAEA,KAH4B;AAInCD,gBAAAA,MAAM,EAAEA,MAJ2B;AAKnC0/B,gBAAAA,MAAM,EAAE,CAL2B;AAMnCC,gBAAAA,OAAO,EAAE,CAN0B;AAOnCC,gBAAAA,OAAO,EAAE,CAP0B;AAQnCC,gBAAAA,SAAS,EAAE,CARwB;AASnCC,gBAAAA,UAAU,EAAE;AATuB,eAAD,EAUnC9tB,OAVmC,CAAtC;AAWA,kBAAIrN,MAAM,GAAG1Q,MAAM,CAACgH,IAAP,CAAY+W,OAAZ,EAAqBnD,GAArB,CAA0B,UAAS7Z,GAAT,EAAc;AACjD,oBAAI,QAAQgd,OAAO,CAAChd,GAAD,CAAnB,EAA0B,OAAOA,GAAG,GAAG,GAAN,GAAYyJ,SAAS,CAACuT,OAAO,CAAChd,GAAD,CAAR,CAA5B;AAC7B,eAFY,EAET01B,MAFS,CAEFvf,OAFE,EAEOzM,IAFP,CAEY,GAFZ,CAAb;AAGA,kBAAI0J,GAAJ;;AACA,kBAAI;AACAA,gBAAAA,GAAG,GAAGvJ,MAAM,CAACob,IAAP,CAAY,EAAZ,EAAgBniB,IAAhB,EAAsB6M,MAAtB,CAAN;AACH,eAFD,CAEE,OAAOrP,GAAP,EAAY;AACV,sBAAM,IAAIktB,kBAAJ,CAAuB,kCAAkCltB,GAAG,CAACuX,KAAJ,IAAavX,GAAG,CAAC6U,OAAnD,CAAvB,CAAN;AACH;;AACD,kBAAIH,cAAc,CAAC5B,GAAD,CAAlB,EAAyB;AACrB,AACA,sBAAM,IAAIoa,kBAAJ,CAAuB,qCAAvB,CAAN;AACH;;AACD2c,cAAAA,aAAa,IAAItgC,MAAM,CAACmjB,gBAAP,CAAwB,QAAxB,EAAmC,YAAW;AAC3D,uBAAO5Z,GAAG,CAACuD,KAAJ,EAAP;AACH,eAFgB,CAAjB;AAGA,qBAAOvD,GAAP;AACH,aApCS,CAoCR,CApCQ,EAoCLib,QAAQ,CAAC;AACVvrB,cAAAA,IAAI,EAAEk+B,UADI;AAEV/1B,cAAAA,KAAK,EAAEA,KAFG;AAGVD,cAAAA,MAAM,EAAEA;AAHE,aAAD,EAIV+9B,aAAa,GAAGgC,KAJN,CApCH,CAAV;;AAyCA7F,YAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,qBAAO1d,WAAW,CAACtD,GAAD,CAAlB;AACH,aAFD;AAGA8xB,YAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,qBAAOrhB,aAAa,CAACK,GAAD,CAApB;AACH,aAFD;AAGA,mBAAOA,GAAP;AACH;;AACD,gBAAM,IAAI7O,KAAJ,CAAU,qCAAqCvD,OAA/C,CAAN;AACH,SArEI,EAqED2C,IArEC,CAqEK,UAASyP,GAAT,EAAc;AACpB8rB,UAAAA,QAAQ,CAACxa,SAAT,CAAmBtR,GAAnB,EAAwB;AACpB6N,YAAAA,IAAI,EAAEpO;AADc,WAAxB;AAGA,iBAAOqsB,QAAQ,CAACpb,OAAT,CAAiBkd,UAAjB,EAA6Br9B,IAA7B,CAAmC,YAAW;AACjD,mBAAOu7B,QAAP;AACH,WAFM,CAAP;AAGH,SA5EI,CAJL;AAiFH,OAnFD;;AAoFA,UAAI0I,cAAc,GAAG,SAAjBA,cAAiB,GAAW;AAC5B,eAAO11B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,cAAI84B,oBAAoB,GAAGhe,gBAAgB,CAACnjB,MAAD,EAAS,QAAT,EAAmB+oB,IAAI,CAAE,YAAW;AAC3EtgB,YAAAA,OAAO,CAAC,IAAI/N,KAAJ,CAAU,uBAAV,CAAD,CAAP;AACH,WAFiE,CAAvB,CAA3C;AAGA,cAAI0mC,yBAAyB,GAAGpa,aAAa,CAAC4T,SAAD,EAAYnyB,OAAZ,EAAqB,GAArB,CAA7C;AACA4yB,UAAAA,KAAK,CAAC9Q,QAAN,CAAe6W,yBAAyB,CAACjxB,MAAzC;AACAkrB,UAAAA,KAAK,CAAC9Q,QAAN,CAAe4W,oBAAoB,CAAChxB,MAApC;AACA,cAAI2tB,sBAAJ,EAA4B,OAAOA,sBAAsB,EAA7B;AAC/B,SARM,CAAP;AASH,OAVD;;AAWA,UAAIuD,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAShM,QAAT,EAAmB;AACtC,YAAIhqB,MAAM,GAAG,CAAC,CAAd;AACA,eAAOgqB,QAAQ,CAACvb,QAAT,GAAoBhgB,IAApB,CAA0B,UAASggB,QAAT,EAAmB;AAChD,cAAIA,QAAJ,EAAc;AACVzO,YAAAA,MAAM,GAAG,CAAC,CAAV;AACA,mBAAOyB,KAAK,CAAC,IAAIpS,KAAJ,CAAU,iCAAV,CAAD,CAAZ;AACH;;AACD,iBAAO2N,oBAAoB,CAACkI,KAArB,CAA2B,GAA3B,EAAgCzW,IAAhC,CAAsC,YAAW;AACpD,mBAAOu7B,QAAQ,CAACvb,QAAT,EAAP;AACH,WAFM,EAEHhgB,IAFG,CAEG,UAASwnC,cAAT,EAAyB;AAC/B,gBAAIA,cAAJ,EAAoB;AAChBj2B,cAAAA,MAAM,GAAG,CAAC,CAAV;AACA,qBAAOyB,KAAK,CAAC,IAAIpS,KAAJ,CAAU,iCAAV,CAAD,CAAZ;AACH;AACJ,WAPM,CAAP;AAQH,SAbM,EAaHZ,IAbG,CAaG,YAAW;AACjB,iBAAOuR,MAAP;AACH,SAfM,CAAP;AAgBH,OAlBD;;AAmBA,UAAI2D,OAAO,GAAG,SAAVA,OAAU,CAASvY,GAAT,EAAc;AACxB,eAAOgmC,eAAe,GAAGA,eAAe,CAAChmC,GAAD,CAAlB,GAA0B4R,oBAAoB,OAApB,CAA0B,YAAW;AACjF,cAAI,CAAC,CAAD,KAAO+yB,aAAa,CAACjxB,OAAd,CAAsB1T,GAAtB,CAAX,EAAuC;AACnC2kC,YAAAA,aAAa,CAACp/B,IAAd,CAAmBvF,GAAnB;AACA0kC,YAAAA,WAAW,CAACzsB,WAAZ,CAAwBjY,GAAxB;AACA,mBAAO0pB,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACuS,KAApB,EAA2BjgC,GAA3B,CAAP;AACH;AACJ,SAN+C,CAAhD;AAOH,OARD;;AASA,UAAI8qC,cAAc,GAAG,IAAIl5B,oBAAJ,EAArB;;AACA,UAAIm5B,KAAK,GAAG,SAARA,KAAQ,CAASC,aAAT,EAAwB;AAChC,eAAOp5B,oBAAoB,OAApB,CAA0B,YAAW;AACxCk5B,UAAAA,cAAc,CAAC7nC,OAAf,CAAuB+nC,aAAvB;AACH,SAFM,CAAP;AAGH,OAJD;;AAKA9B,MAAAA,SAAS,CAAC3wB,OAAV,GAAoBA,OAApB;;AACA,UAAI0yB,cAAc,GAAG,SAAjBA,cAAiB,CAASC,QAAT,EAAmB3lB,KAAnB,EAA0B;AAC3C,eAAO2lB,QAAQ,CAAC;AACZ7uB,UAAAA,GAAG,EAAEA,GADO;AAEZgZ,UAAAA,SAAS,EAAE9P,KAAK,CAAC8P,SAFL;AAGZ30B,UAAAA,OAAO,EAAE6kB,KAAK,CAAC7kB,OAHH;AAIZ0U,UAAAA,GAAG,EAAEmQ,KAAK,CAACnQ,GAJC;AAKZf,UAAAA,KAAK,EAAEkR,KAAK,CAAClR,KALD;AAMZw0B,UAAAA,cAAc,EAAEtjB,KAAK,CAACsjB,cANV;AAOZzlB,UAAAA,KAAK,EAAEA,KAPK;AAQZ/M,UAAAA,KAAK,EAAEA,KARK;AASZrS,UAAAA,KAAK,EAAEA,KATK;AAUZsI,UAAAA,KAAK,EAAEA,KAVK;AAWZ4pB,UAAAA,GAAG,EAAEA,GAXO;AAYZoO,UAAAA,UAAU,EAAEqD,aAAa,EAZb;AAaZje,UAAAA,KAAK,EAAEA;AAbK,SAAD,CAAf;AAeH,OAhBD;;AAiBA,UAAIud,SAAS,GAAG,SAAZA,SAAY,CAASkE,iBAAT,EAA4B3lB,KAA5B,EAAmC;AAC/C,YAAI9kB,OAAO,GAAG8kB,KAAK,CAAC9kB,OAApB;AACA,eAAOsmC,iBAAiB,GAAGA,iBAAiB,CAACmE,iBAAD,EAAoB;AAC5DzqC,UAAAA,OAAO,EAAEA;AADmD,SAApB,CAApB,GAEnBkR,oBAAoB,OAApB,CAA0B,YAAW;AACtC,cAAIyyB,iBAAJ,EAAuB;AACnB3a,YAAAA,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACoS,SAApB;AACA,gBAAIsL,eAAe,GAAGD,iBAAiB,CAACtmB,SAAlB,EAAtB;;AACA,gBAAIumB,eAAe,IAAIz3B,YAAY,CAACy3B,eAAD,CAA/B,IAAoD,UAASt4B,GAAT,EAAc;AAClE,kBAAI;AACA,oBAAI,CAACA,GAAG,CAACC,QAAJ,CAAawQ,IAAlB,EAAwB,OAAO,CAAC,CAAR;AACxB,oBAAI,kBAAkBzQ,GAAG,CAACC,QAAJ,CAAawQ,IAAnC,EAAyC,OAAO,CAAC,CAAR;AAC5C,eAHD,CAGE,OAAOvjB,GAAP,EAAY;;AACd,qBAAO,CAAC,CAAR;AACH,aANuD,CAMtDorC,eANsD,CAAxD,EAMoB;AAChB,kBAAIh2B,GAAG,GAAG,CAACg2B,eAAe,GAAGt3B,gBAAgB,CAACs3B,eAAD,CAAnC,EAAsD7iC,QAAhE;AACA,kBAAIktB,EAAE,GAAGwV,cAAc,CAAC5G,iBAAD,EAAoB;AACvC3jC,gBAAAA,OAAO,EAAEA,OAD8B;AAEvC0U,gBAAAA,GAAG,EAAEA;AAFkC,eAApB,CAAvB;;AAIA,kBAAIqgB,EAAJ,EAAQ;AACJ,oBAAIA,EAAE,CAACpgB,aAAH,KAAqBD,GAAzB,EAA8B,MAAM,IAAInR,KAAJ,CAAU,kFAAV,CAAN;AAC9B,iBAAC,UAAS6O,GAAT,EAAc2iB,EAAd,EAAkB;AACf,sBAAIS,GAAG,GAAGT,EAAE,CAAC4V,OAAH,CAAWrvB,WAAX,EAAV;AACA,sBAAI,WAAWka,GAAf,EAAoB,MAAM,IAAIjyB,KAAJ,CAAU,sCAAsCiyB,GAAhD,CAAN;AACpB,sBAAI5gB,eAAe,GAAGxC,GAAG,CAACvK,QAAJ,CAAa+M,eAAnC;;AACA,uBAAK,IAAIuT,GAAG,GAAG,CAAV,EAAayiB,WAAW,GAAGvY,SAAS,CAACzd,eAAe,CAACi2B,QAAjB,CAAzC,EAAqE1iB,GAAG,GAAGyiB,WAAW,CAACxlC,MAAvF,EAA+F+iB,GAAG,EAAlG;AAAsGvT,oBAAAA,eAAe,CAACwb,WAAhB,CAA4Bwa,WAAW,CAACziB,GAAD,CAAvC;AAAtG;;AACA,uBAAK,IAAIqB,GAAG,GAAG,CAAV,EAAashB,WAAW,GAAGzY,SAAS,CAAC0C,EAAE,CAAC8V,QAAJ,CAAzC,EAAwDrhB,GAAG,GAAGshB,WAAW,CAAC1lC,MAA1E,EAAkFokB,GAAG,EAArF;AAAyF5U,oBAAAA,eAAe,CAACpM,WAAhB,CAA4BsiC,WAAW,CAACthB,GAAD,CAAvC;AAAzF;AACH,iBANA,CAMCkhB,eAND,EAMkB3V,EANlB,CAAD;AAOA,oBAAIgW,iBAAiB,GAAGlH,UAAU,CAAC55B,KAAnC;AAAA,oBAA0CA,KAAK,GAAG,KAAK,CAAL,KAAW8gC,iBAAX,IAAgCA,iBAAlF;AAAA,oBAAqGC,kBAAkB,GAAGnH,UAAU,CAAC75B,MAArI;AAAA,oBAA6IA,MAAM,GAAG,KAAK,CAAL,KAAWghC,kBAAX,IAAiCA,kBAAvL;AAAA,oBAA2MC,mBAAmB,GAAGpH,UAAU,CAACxS,OAA5O;AAAA,oBAAqPA,OAAO,GAAG,KAAK,CAAL,KAAW4Z,mBAAX,GAAiC,MAAjC,GAA0CA,mBAAzS;;AACA,oBAAI,CAAC5Z,OAAO,GAAGuD,cAAc,CAACvD,OAAD,EAAU3c,GAAV,CAAzB,MAA6CzK,KAAK,IAAID,MAAtD,CAAJ,EAAmE;AAC/D,sBAAIkhC,uBAAuB,GAAGtU,QAAQ,CAACvF,OAAD,EAAW,UAAS8Z,MAAT,EAAiB;AAC9D3J,oBAAAA,MAAM,CAAC;AACHv3B,sBAAAA,KAAK,EAAEA,KAAK,GAAGkhC,MAAM,CAAClhC,KAAV,GAAkB,KAAK,CADhC;AAEHD,sBAAAA,MAAM,EAAEA,MAAM,GAAGmhC,MAAM,CAACnhC,MAAV,GAAmB,KAAK;AAFnC,qBAAD,CAAN;AAIH,mBALqC,EAKlC;AACAC,oBAAAA,KAAK,EAAEA,KADP;AAEAD,oBAAAA,MAAM,EAAEA,MAFR;AAGAoI,oBAAAA,GAAG,EAAEs4B;AAHL,mBALkC,CAAtC;AAUA1hB,kBAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACmS,QAAf,EAAyB+L,uBAAuB,CAAClyB,MAAjD;AACH;;AACDgQ,gBAAAA,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACqS,WAApB;AACH;AACJ;AACJ;AACJ,SA3CI,CAFL;AA8CH,OAhDD;;AAiDA,UAAIwG,eAAe,GAAG,SAAlBA,eAAkB,CAASuF,cAAT,EAAyBC,MAAzB,EAAiC;AACnD,YAAIxC,UAAU,GAAGwC,MAAM,CAACxC,UAAxB;AAAA,YAAoCX,mBAAmB,GAAGmD,MAAM,CAACnD,mBAAjE;AAAA,YAAsFloC,OAAO,GAAGqrC,MAAM,CAACrrC,OAAvG;AAAA,YAAgHsrC,QAAQ,GAAGD,MAAM,CAACC,QAAlI;AACA,eAAO1F,uBAAuB,GAAGA,uBAAuB,CAACwF,cAAD,EAAiB;AACrEvC,UAAAA,UAAU,EAAEA,UADyD;AAErEX,UAAAA,mBAAmB,EAAEA,mBAFgD;AAGrEloC,UAAAA,OAAO,EAAEA,OAH4D;AAIrEsrC,UAAAA,QAAQ,EAAEA;AAJ2D,SAAjB,CAA1B,GAKzBp6B,oBAAoB,CAACwH,IAArB,CAA0B;AAC3Bic,UAAAA,SAAS,EAAEyW,cAAc,CAACliC,GAAf,EADgB;AAE3ByK,UAAAA,KAAK,EAAEk1B,UAAU,GAAGA,UAAU,CAAC3/B,GAAX,EAAH,GAAsB,IAFZ;AAG3Bi/B,UAAAA,cAAc,EAAED,mBAAmB,GAAGA,mBAAmB,CAACh/B,GAApB,EAAH,GAA+B,IAHvC;AAI3Bk7B,UAAAA,aAAa,EAAE0C,gBAAgB;AAJJ,SAA1B,EAKFnkC,IALE,CAKI,UAAS4oC,MAAT,EAAiB;AACtB,cAAI5W,SAAS,GAAG4W,MAAM,CAAC5W,SAAvB;AAAA,cAAkC0P,OAAO,GAAGkH,MAAM,CAACnH,aAAP,CAAqBC,OAAjE;AACA,cAAImH,cAAc,GAAGjB,cAAc,CAAC7G,iBAAD,EAAoB;AACnD1jC,YAAAA,OAAO,EAAEA,OAD0C;AAEnD20B,YAAAA,SAAS,EAAEA,SAFwC;AAGnDhhB,YAAAA,KAAK,EAAE43B,MAAM,CAAC53B,KAHqC;AAInDw0B,YAAAA,cAAc,EAAEoD,MAAM,CAACpD,cAJ4B;AAKnDzzB,YAAAA,GAAG,EAAE7M;AAL8C,WAApB,CAAnC;;AAOA,cAAI2jC,cAAJ,EAAoB;AAChBnH,YAAAA,OAAO,IAAI5N,WAAW,CAAC+U,cAAD,CAAtB;AACAhjC,YAAAA,WAAW,CAACmsB,SAAD,EAAY6W,cAAZ,CAAX;;AACA,gBAAIC,gBAAgB,GAAG,UAASpa,OAAT,EAAkB/a,OAAlB,EAA2B;AAC9CA,cAAAA,OAAO,GAAGsb,IAAI,CAACtb,OAAD,CAAd;AACA,kBAAIsV,SAAS,GAAG,CAAC,CAAjB;AACA,kBAAI8f,iBAAiB,GAAG,EAAxB;AACA,kBAAI7tB,QAAJ;AACA,kBAAI8tB,gBAAJ;AACA,kBAAIC,mBAAJ;;AACA,kBAAI5yB,MAAM,GAAG,SAATA,MAAS,GAAW;AACpB4S,gBAAAA,SAAS,GAAG,CAAC,CAAb;;AACA,qBAAK,IAAIigB,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGH,iBAAiB,CAACtmC,MAA5C,EAAoDymC,IAAI,EAAxD;AAA4DH,kBAAAA,iBAAiB,CAACG,IAAD,CAAjB,CAAwB7T,UAAxB;AAA5D;;AACAna,gBAAAA,QAAQ,IAAIA,QAAQ,CAAC7E,MAAT,EAAZ;AACA4yB,gBAAAA,mBAAmB,IAAIA,mBAAmB,CAAC3f,mBAApB,CAAwC,QAAxC,EAAkD6f,aAAlD,CAAvB;AACAH,gBAAAA,gBAAgB,IAAIjV,cAAc,CAACiV,gBAAD,CAAlC;AACH,eAND;;AAOA,kBAAIG,aAAa,GAAG,SAAhBA,aAAgB,GAAW;AAC3B,oBAAI,CAAClgB,SAAL,EAAgB;AACZtV,kBAAAA,OAAO;AACP0C,kBAAAA,MAAM;AACT;AACJ,eALD;;AAMA,kBAAI2d,eAAe,CAACtF,OAAD,CAAnB,EAA8B;AAC1Bya,gBAAAA,aAAa;AACb,uBAAO;AACH9yB,kBAAAA,MAAM,EAAEA;AADL,iBAAP;AAGH;;AACD,kBAAInQ,MAAM,CAAC+uB,gBAAX,EAA6B;AACzB,oBAAImU,eAAe,GAAG1a,OAAO,CAAClB,aAA9B;;AACA,uBAAM4b,eAAN,GAAyB;AACrB,sBAAIC,gBAAgB,GAAG,IAAInjC,MAAM,CAAC+uB,gBAAX,CAA6B,YAAW;AAC3DjB,oBAAAA,eAAe,CAACtF,OAAD,CAAf,IAA4Bya,aAAa,EAAzC;AACH,mBAFsB,CAAvB;AAGAE,kBAAAA,gBAAgB,CAACrU,OAAjB,CAAyBoU,eAAzB,EAA0C;AACtClU,oBAAAA,SAAS,EAAE,CAAC;AAD0B,mBAA1C;AAGA6T,kBAAAA,iBAAiB,CAAC7mC,IAAlB,CAAuBmnC,gBAAvB;AACAD,kBAAAA,eAAe,GAAGA,eAAe,CAAC5b,aAAlC;AACH;AACJ;;AACD,eAACwb,gBAAgB,GAAG9jC,QAAQ,CAACM,aAAT,CAAuB,QAAvB,CAApB,EAAsDG,YAAtD,CAAmE,MAAnE,EAA2E,oBAAoBqS,QAAQ,EAA5B,GAAiC,IAA5G;AACAgxB,cAAAA,gBAAgB,CAACzkC,KAAjB,CAAuBk0B,OAAvB,GAAiC,MAAjC;AACA/F,cAAAA,gBAAgB,CAACsW,gBAAD,CAAhB,CAAmChpC,IAAnC,CAAyC,UAASspC,QAAT,EAAmB;AACxD,iBAACL,mBAAmB,GAAGx4B,gBAAgB,CAAC64B,QAAD,CAAvC,EAAmDjgB,gBAAnD,CAAoE,QAApE,EAA8E8f,aAA9E;AACH,eAFD;AAGAza,cAAAA,OAAO,CAAC7oB,WAAR,CAAoBmjC,gBAApB;AACA9tB,cAAAA,QAAQ,GAAGmU,YAAY,CAAE,YAAW;AAChC2E,gBAAAA,eAAe,CAACtF,OAAD,CAAf,IAA4Bya,aAAa,EAAzC;AACH,eAFsB,EAEnB,GAFmB,CAAvB;AAGA,qBAAO;AACH9yB,gBAAAA,MAAM,EAAEA;AADL,eAAP;AAGH,aAnDsB,CAmDrBwyB,cAnDqB,EAmDJ,YAAW;AAC1B,kBAAIU,WAAW,GAAG,IAAI3oC,KAAJ,CAAU,6CAAV,CAAlB;AACA,qBAAO2N,oBAAoB,CAACkI,KAArB,CAA2B,CAA3B,EAA8BzW,IAA9B,CAAoC,YAAW;AAClD,oBAAI,CAACg0B,eAAe,CAAC6U,cAAD,CAApB,EAAsC;AAClCtH,kBAAAA,KAAK,CAAC7rB,GAAN,CAAU6zB,WAAV;AACA,yBAAOZ,QAAQ,GAAG3oC,IAAX,CAAgBukC,kBAAhB,EAAoCC,iBAApC,CAAP;AACH;;AACDxxB,gBAAAA,KAAK,CAACu2B,WAAD,CAAL;AACH,eANM,CAAP;AAOH,aA5DsB,CAAvB;;AA6DAhI,YAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,qBAAOqY,gBAAgB,CAACzyB,MAAjB,EAAP;AACH,aAFD;AAGAkrB,YAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvB,qBAAOsD,cAAc,CAAC8U,cAAD,CAArB;AACH,aAFD;AAGA,mBAAOvG,qBAAqB,GAAG3H,cAAc,CAACkO,cAAD,CAA7C;AACH;AACJ,SAtFI,CALL;AA4FH,OA9FD;;AA+FA,UAAIW,UAAU,GAAG,SAAbA,UAAa,GAAW;AACxB,eAAO;AACH7oC,UAAAA,KAAK,EAAEA,KADJ;AAEH0lB,UAAAA,KAAK,EAAEA,KAFJ;AAGHrT,UAAAA,KAAK,EAAEA,KAHJ;AAIH+M,UAAAA,KAAK,EAAEA,KAJJ;AAKH8e,UAAAA,MAAM,EAAEA,MALL;AAMH3pB,UAAAA,OAAO,EAAEA,OANN;AAOHu0B,UAAAA,WAAW,EAAEA,WAPV;AAQH1K,UAAAA,IAAI,EAAEA,IARH;AASHC,UAAAA,IAAI,EAAEA;AATH,SAAP;AAWH,OAZD;;AAaA,UAAI0K,QAAQ,GAAG,SAAXA,QAAW,CAASC,aAAT,EAAwB;AACnC,aAAK,CAAL,KAAWA,aAAX,KAA6BA,aAAa,GAAG,EAA7C;AACA,YAAI3X,SAAS,GAAGyQ,gBAAhB;AACA,YAAI/D,OAAO,GAAG8K,UAAU,EAAxB;AACAra,QAAAA,MAAM,CAACqS,UAAD,EAAamI,aAAb,CAAN;AACA,SAAC,UAASlL,QAAT,EAAmBmL,aAAnB,EAAkCpI,UAAlC,EAA8C9C,OAA9C,EAAuD1M,SAAvD,EAAkE;AAC/D,cAAIrxB,KAAK,GAAG+9B,OAAO,CAAC/9B,KAApB;AAAA,cAA2BqS,KAAK,GAAG0rB,OAAO,CAAC1rB,KAA3C;AAAA,cAAkD+M,KAAK,GAAG2e,OAAO,CAAC3e,KAAlE;AAAA,cAAyEsG,KAAK,GAAGqY,OAAO,CAACrY,KAAzF;AAAA,cAAgGnR,OAAO,GAAGwpB,OAAO,CAACxpB,OAAlH;AACAoqB,UAAAA,QAAQ,CAACkC,UAAD,EAAa/C,QAAb,EAAwB,UAASpiC,GAAT,EAAcmjC,OAAd,EAAuBzmB,GAAvB,EAA4B;AACxD,gBAAI8wB,eAAe,GAAG,CAAC,CAAvB;AACA,gBAAIvtC,KAAK,GAAGyc,GAAZ;AACAzd,YAAAA,MAAM,CAACiB,cAAP,CAAsBqtC,aAAtB,EAAqCvtC,GAArC,EAA0C;AACtCI,cAAAA,YAAY,EAAE,CAAC,CADuB;AAEtCD,cAAAA,UAAU,EAAE,CAAC,CAFyB;AAGtC+J,cAAAA,GAAG,EAAE,eAAW;AACZ,oBAAIsjC,eAAJ,EAAqB,OAAOvtC,KAAP;AACrButC,gBAAAA,eAAe,GAAG,CAAC,CAAnB;AACA,uBAAO,YAAW;AACd,sBAAI,CAACrK,OAAL,EAAc,OAAOljC,KAAP;AACd,sBAAIwtC,KAAK,GAAGtK,OAAO,CAACsK,KAApB;AACAA,kBAAAA,KAAK,IAAI,CAAC3Z,SAAS,CAACpX,GAAD,CAAnB,IAA4BoX,SAAS,CAACqR,UAAU,CAACsI,KAAD,CAAX,CAArC,KAA6DxtC,KAAK,GAAGklC,UAAU,CAACsI,KAAD,CAA/E;AACAtK,kBAAAA,OAAO,CAACljC,KAAR,KAAkBA,KAAK,GAAGkjC,OAAO,CAACljC,KAAR,CAAc;AACpC2M,oBAAAA,KAAK,EAAE2gC,aAD6B;AAEpCjpC,oBAAAA,KAAK,EAAEA,KAF6B;AAGpCqS,oBAAAA,KAAK,EAAEA,KAH6B;AAIpC+M,oBAAAA,KAAK,EAAEA,KAJ6B;AAKpCsG,oBAAAA,KAAK,EAAEA,KAL6B;AAMpCnR,oBAAAA,OAAO,EAAEA,OAN2B;AAOpC8c,oBAAAA,SAAS,EAAEA;AAPyB,mBAAd,CAA1B;AASA,mBAACwN,OAAO,WAAR,IAAoBrP,SAAS,CAAC7zB,KAAD,CAA7B,IAAwC6zB,SAAS,CAACqR,UAAU,CAACnlC,GAAD,CAAX,CAAjD,KAAuEC,KAAK,GAAGkjC,OAAO,WAAP,CAAgB;AAC3Fv2B,oBAAAA,KAAK,EAAE2gC,aADoF;AAE3FjpC,oBAAAA,KAAK,EAAEA,KAFoF;AAG3FqS,oBAAAA,KAAK,EAAEA,KAHoF;AAI3F+M,oBAAAA,KAAK,EAAEA,KAJoF;AAK3FsG,oBAAAA,KAAK,EAAEA,KALoF;AAM3FnR,oBAAAA,OAAO,EAAEA,OANkF;AAO3F8c,oBAAAA,SAAS,EAAEA;AAPgF,mBAAhB,CAA/E;;AASA,sBAAI7B,SAAS,CAAC7zB,KAAD,CAAb,EAAsB;AAClB,wBAAIkjC,OAAO,CAAC5hC,IAAR,KAAiBssB,SAAS,CAACkS,KAA3B,GAAmC,CAACp3B,KAAK,CAACuN,OAAN,CAAcjW,KAAd,CAApC,GAA2D,OAAOA,KAAP,KAAiBkjC,OAAO,CAAC5hC,IAAxF,EAA8F,MAAM,IAAIyD,SAAJ,CAAc,yBAAyBm+B,OAAO,CAAC5hC,IAAjC,GAAwC,IAAxC,GAA+CvB,GAA7D,CAAN;AACjG,mBAFD,MAEO,IAAI,CAAC,CAAD,KAAOmjC,OAAO,CAACuK,QAAf,IAA2B,CAAC5Z,SAAS,CAACqR,UAAU,CAACnlC,GAAD,CAAX,CAAzC,EAA4D,MAAM,IAAIuE,KAAJ,CAAU,oBAAoBvE,GAApB,GAA0B,iBAApC,CAAN;;AACnE8zB,kBAAAA,SAAS,CAAC7zB,KAAD,CAAT,IAAoBkjC,OAAO,CAACwK,QAA5B,KAAyC1tC,KAAK,GAAGkjC,OAAO,CAACwK,QAAR,CAAiB;AAC9D1tC,oBAAAA,KAAK,EAAEA,KADuD;AAE9D2M,oBAAAA,KAAK,EAAE2gC,aAFuD;AAG9DjpC,oBAAAA,KAAK,EAAEA,KAHuD;AAI9DqS,oBAAAA,KAAK,EAAEA,KAJuD;AAK9D+M,oBAAAA,KAAK,EAAEA,KALuD;AAM9DsG,oBAAAA,KAAK,EAAEA,KANuD;AAO9DnR,oBAAAA,OAAO,EAAEA,OAPqD;AAQ9D8c,oBAAAA,SAAS,EAAEA;AARmD,mBAAjB,CAAjD;AAUA,yBAAO11B,KAAP;AACH,iBApCM,EAAP;AAqCH;AA3CqC,aAA1C;AA6CH,WAhDO,CAAR;AAiDAgjC,UAAAA,QAAQ,CAACsK,aAAD,EAAgBnL,QAAhB,EAA0BhkB,aAA1B,CAAR;AACH,SApDA,CAoDCgkB,QApDD,EAoDWx1B,KApDX,EAoDkBu4B,UApDlB,EAoD8B9C,OApD9B,EAoDuC1M,SApDvC,CAAD;AAqDH,OA1DD;;AA2DA,UAAIyX,WAAW,GAAG,SAAdA,WAAc,CAASQ,QAAT,EAAmB;AACjCP,QAAAA,QAAQ,CAACO,QAAD,CAAR;AACA,eAAO5I,WAAW,CAACrhC,IAAZ,CAAkB,YAAW;AAChC,cAAI2Q,KAAK,GAAG4xB,cAAZ;AACA,cAAIhH,QAAQ,GAAG8G,eAAf;AACA,cAAI1xB,KAAK,IAAI4qB,QAAT,IAAqBiH,kBAAzB,EAA6C,OAAOiC,gBAAgB,CAACjC,kBAAD,CAAhB,CAAqCxiC,IAArC,CAA2C,UAASkqC,UAAT,EAAqB;AAChH,mBAAOv5B,KAAK,CAAC84B,WAAN,CAAkBS,UAAlB,WAAqC,UAASvtC,GAAT,EAAc;AACtD,qBAAO4qC,gBAAgB,CAAChM,QAAD,CAAhB,CAA2Bv7B,IAA3B,CAAiC,UAASuR,MAAT,EAAiB;AACrD,oBAAI,CAACA,MAAL,EAAa,MAAM5U,GAAN;AAChB,eAFM,CAAP;AAGH,aAJM,CAAP;AAKH,WANmD,CAAP;AAOhD,SAVM,CAAP;AAWH,OAbD;;AAcA,UAAIkmC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAS7Q,SAAT,EAAoB;AACxC,eAAO4Q,yBAAyB,GAAGA,yBAAyB,CAAC5Q,SAAD,CAA5B,GAA0CzjB,oBAAoB,OAApB,CAA0B,YAAW;AAC3G,iBAAO4jB,YAAY,CAACH,SAAD,CAAnB;AACH,SAFyE,EAEtEhyB,IAFsE,CAEhE,UAASmqC,gBAAT,EAA2B;AACjC7U,UAAAA,eAAe,CAAC6U,gBAAD,CAAf,KAAsCA,gBAAgB,GAAG,SAASC,gBAAT,CAA0B1b,OAA1B,EAAmC;AACxF,gBAAI2b,UAAU,GAAG,UAAS3b,OAAT,EAAkB;AAC/B,kBAAI4b,UAAU,GAAG,UAAS5b,OAAT,EAAkB;AAC/B,uBAAMA,OAAO,CAAC5c,UAAd;AAA4B4c,kBAAAA,OAAO,GAAGA,OAAO,CAAC5c,UAAlB;AAA5B;;AACA,oBAAIwjB,eAAe,CAAC5G,OAAD,CAAnB,EAA8B,OAAOA,OAAP;AACjC,eAHgB,CAGfA,OAHe,CAAjB;;AAIA,kBAAI4b,UAAU,IAAIA,UAAU,CAACp6B,IAA7B,EAAmC,OAAOo6B,UAAU,CAACp6B,IAAlB;AACtC,aANgB,CAMfwe,OANe,CAAjB;;AAOA,gBAAI,CAAC2b,UAAL,EAAiB,MAAM,IAAIzpC,KAAJ,CAAU,8BAAV,CAAN;AACjB,gBAAI2pC,QAAQ,GAAG,iBAAiBvyB,QAAQ,EAAxC;AACA,gBAAIwyB,IAAI,GAAGtlC,QAAQ,CAACM,aAAT,CAAuB,MAAvB,CAAX;AACAglC,YAAAA,IAAI,CAAC7kC,YAAL,CAAkB,MAAlB,EAA0B4kC,QAA1B;AACA7b,YAAAA,OAAO,CAAC7oB,WAAR,CAAoB2kC,IAApB;AACA,gBAAIC,YAAY,GAAGvlC,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CAAnB;AACAilC,YAAAA,YAAY,CAAC9kC,YAAb,CAA0B,MAA1B,EAAkC4kC,QAAlC;AACAF,YAAAA,UAAU,CAACxkC,WAAX,CAAuB4kC,YAAvB;AACA,mBAAOnV,eAAe,CAAC+U,UAAD,CAAf,GAA8BD,gBAAgB,CAACK,YAAD,CAA9C,GAA+DA,YAAtE;AACH,WAjBwD,CAiBvDN,gBAjBuD,CAAzD;AAkBA1H,UAAAA,gBAAgB,GAAG0H,gBAAnB;AACA,iBAAOxP,cAAc,CAACwP,gBAAD,CAArB;AACH,SAvByE,CAA1E;AAwBH,OAzBD;;AA0BA,aAAO;AACHO,QAAAA,IAAI,EAAE,gBAAW;AACb,WAAC,YAAW;AACRrkB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACkS,MAAf,EAAwB,YAAW;AAC/B,qBAAOtzB,KAAK,CAAC0hC,QAAN,EAAP;AACH,aAFD;AAGAtkB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACoS,SAAf,EAA2B,YAAW;AAClC,qBAAOxzB,KAAK,CAAC2hC,WAAN,EAAP;AACH,aAFD;AAGAvkB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACsS,OAAf,EAAyB,YAAW;AAChC,qBAAO1zB,KAAK,CAAC4hC,SAAN,EAAP;AACH,aAFD;AAGAxkB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACmS,QAAf,EAA0B,YAAW;AACjC,qBAAOvzB,KAAK,CAAC6hC,UAAN,EAAP;AACH,aAFD;AAGAzkB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACqS,WAAf,EAA6B,YAAW;AACpC,qBAAOzzB,KAAK,CAAC8hC,aAAN,EAAP;AACH,aAFD;AAGA1kB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACwS,KAAf,EAAuB,YAAW;AAC9B,qBAAO5zB,KAAK,CAAC+hC,OAAN,EAAP;AACH,aAFD;AAGA3kB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACyS,OAAf,EAAyB,YAAW;AAChC,qBAAO7zB,KAAK,CAACgiC,SAAN,EAAP;AACH,aAFD;AAGA5kB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAAC2S,MAAf,EAAwB,YAAW;AAC/B,qBAAO/zB,KAAK,CAACgrB,QAAN,EAAP;AACH,aAFD;AAGA5N,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAAC4S,KAAf,EAAuB,YAAW;AAC9B,qBAAOh0B,KAAK,CAACiiC,OAAN,EAAP;AACH,aAFD;AAGA7kB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAAC0S,KAAf,EAAuB,UAASkN,QAAT,EAAmB;AACtC,qBAAOhhC,KAAK,CAAC21B,OAAN,CAAcqL,QAAd,CAAP;AACH,aAFD;AAGA5jB,YAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACuS,KAAf,EAAuB,UAASjgC,GAAT,EAAc;AACjC,qBAAOsM,KAAK,IAAIA,KAAK,CAACiM,OAAf,GAAyBjM,KAAK,CAACiM,OAAN,CAAcvY,GAAd,CAAzB,GAA8C6nC,iBAAiB,CAAC7nC,GAAD,CAAjB,CAAuBqD,IAAvB,CAA6B,YAAW;AACzF0U,gBAAAA,UAAU,CAAE,YAAW;AACnB,wBAAM/X,GAAN;AACH,iBAFS,EAEN,CAFM,CAAV;AAGH,eAJoD,CAArD;AAKH,aAND;AAOA4kC,YAAAA,KAAK,CAAC9Q,QAAN,CAAepK,KAAK,CAAChkB,KAArB;AACH,WAvCA,EAAD;AAwCH,SA1CE;AA2CH8oC,QAAAA,MAAM,EAAE,gBAASC,MAAT,EAAiB;AACrB,cAAIxgB,MAAM,GAAGwgB,MAAM,CAACxgB,MAApB;AAAA,cAA4BoH,SAAS,GAAGoZ,MAAM,CAACpZ,SAA/C;AAAA,cAA0D30B,OAAO,GAAG+tC,MAAM,CAAC/tC,OAA3E;AAAA,cAAoFsrC,QAAQ,GAAGyC,MAAM,CAACzC,QAAtG;AACA,iBAAOp6B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,gBAAIm2B,kBAAkB,GAAGW,qBAAqB,EAA9C;AACA,gBAAIgG,gBAAgB,GAAGlK,WAAW,IAAIkE,qBAAqB,EAA3D;AACA,aAAC,UAASza,MAAT,EAAiBygB,gBAAjB,EAAmCrZ,SAAnC,EAA8C;AAC3C,kBAAIpH,MAAM,KAAK1kB,MAAf,EAAuB;AACnB,oBAAI,CAACsmB,eAAe,CAACtmB,MAAD,EAAS0kB,MAAT,CAApB,EAAsC,MAAM,IAAIhqB,KAAJ,CAAU,qCAAV,CAAN;AACtC,oBAAI0R,MAAM,GAAGnC,SAAS,EAAtB;AACA,oBAAI,CAACiC,WAAW,CAACi5B,gBAAD,EAAmB/4B,MAAnB,CAAZ,IAA0C,CAAChC,YAAY,CAACsa,MAAD,CAA3D,EAAqE,MAAM,IAAIhqB,KAAJ,CAAU,gCAAgCyqC,gBAAgB,CAAC5pC,QAAjB,EAAhC,GAA8D,wBAA9D,GAAyF6Q,MAAnG,CAAN;AACrE,oBAAI0f,SAAS,IAAI,YAAY,OAAOA,SAApC,EAA+C,MAAM,IAAIpxB,KAAJ,CAAU,iEAAiE,OAAOoxB,SAAxE,GAAoF,IAA9F,CAAN;AAClD;AACJ,aAPA,CAOCpH,MAPD,EAOSygB,gBAPT,EAO2BrZ,SAP3B,CAAD;AAQA,gBAAIsZ,eAAe,GAAG/8B,oBAAoB,OAApB,CAA0B,YAAW;AACvD,kBAAIqc,MAAM,KAAK1kB,MAAf,EAAuB,OAAO,UAAS7I,OAAT,EAAkButB,MAAlB,EAA0B;AACpD,oBAAI2gB,aAAa,GAAG,EAApB;;AACA,qBAAK,IAAIpmB,GAAG,GAAG,CAAV,EAAawT,aAAa,GAAGr9B,MAAM,CAACgH,IAAP,CAAY2G,KAAZ,CAAlC,EAAsDkc,GAAG,GAAGwT,aAAa,CAACl2B,MAA1E,EAAkF0iB,GAAG,EAArF,EAAyF;AACrF,sBAAIqmB,QAAQ,GAAG7S,aAAa,CAACxT,GAAD,CAA5B;AACA,sBAAIqa,OAAO,GAAGf,QAAQ,CAAC+M,QAAD,CAAtB;AACAhM,kBAAAA,OAAO,IAAIA,OAAO,CAACiM,aAAnB,KAAqCF,aAAa,CAACC,QAAD,CAAb,GAA0BviC,KAAK,CAACuiC,QAAD,CAApE;AACH;;AACD,oBAAIE,qBAAqB,GAAGx8B,SAAS,CAAC0b,MAAD,EAAS,mBAAmBzrB,IAA5B,EAAkC;AACnE6Z,kBAAAA,GAAG,EAAEA,GAD8D;AAEnE4nB,kBAAAA,SAAS,EAAE;AACP33B,oBAAAA,KAAK,EAAEsiC,aADA;AAEPllB,oBAAAA,KAAK,EAAEA,KAFA;AAGPrT,oBAAAA,KAAK,EAAEA,KAHA;AAIPkC,oBAAAA,OAAO,EAAEA,OAJF;AAKPivB,oBAAAA,gBAAgB,EAAEA,gBALX;AAMPE,oBAAAA,gBAAgB,EAAEA,gBANX;AAOPE,oBAAAA,kBAAkB,EAAEA,kBAPb;AAQPC,oBAAAA,iBAAiB,EAAEA;AARZ;AAFwD,iBAAlC,CAAT,CAYzBxkC,IAZyB,CAYnB,UAAS2rC,MAAT,EAAiB;AACtB,sBAAIC,UAAU,GAAGD,MAAM,CAACluB,IAAP,CAAY5N,MAA7B;AACA0xB,kBAAAA,KAAK,CAAC9Q,QAAN,CAAgB,UAAS9zB,GAAT,EAAc;AAC1B,wBAAI,CAAC0U,cAAc,CAACuZ,MAAD,CAAnB,EAA6B,OAAOghB,UAAU,CAACj9B,OAAX,CAAmBhS,GAAnB,CAAP;AAChC,mBAFD;AAGA,yBAAOivC,UAAU,CAACC,oBAAX,EAAP;AACH,iBAlB2B,WAkBjB,UAASlvC,GAAT,EAAc;AACrB,wBAAM,IAAIiE,KAAJ,CAAU,iGAAiG8Z,cAAc,CAAC/d,GAAD,CAAzH,CAAN;AACH,iBApB2B,CAA5B;;AAqBAimC,gBAAAA,yBAAyB,GAAG,qCAAW;AACnC,uBAAK,IAAI/oB,IAAI,GAAGC,SAAS,CAACrX,MAArB,EAA6B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU6U,IAAV,CAApC,EAAqDE,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGF,IAA3E,EAAiFE,IAAI,EAArF;AAAyFxD,oBAAAA,IAAI,CAACwD,IAAD,CAAJ,GAAaD,SAAS,CAACC,IAAD,CAAtB;AAAzF;;AACA,yBAAO2xB,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,2BAAOA,cAAc,CAACjJ,iBAAf,CAAiCrsB,KAAjC,CAAuCs1B,cAAvC,EAAuDv1B,IAAvD,CAAP;AACH,mBAFM,CAAP;AAGH,iBALD;;AAMA0sB,gBAAAA,uBAAuB,GAAG,mCAAW;AACjC,uBAAK,IAAI1oB,KAAK,GAAGT,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUuV,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+FjE,oBAAAA,IAAI,CAACiE,KAAD,CAAJ,GAAcV,SAAS,CAACU,KAAD,CAAvB;AAA/F;;AACA,yBAAOkxB,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,2BAAOA,cAAc,CAAC5I,eAAf,CAA+B1sB,KAA/B,CAAqCs1B,cAArC,EAAqDv1B,IAArD,CAAP;AACH,mBAFM,CAAP;AAGH,iBALD;;AAMAusB,gBAAAA,YAAY,GAAG,wBAAW;AACtB,uBAAK,IAAId,KAAK,GAAGloB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUg9B,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+F1rB,oBAAAA,IAAI,CAAC0rB,KAAD,CAAJ,GAAcnoB,SAAS,CAACmoB,KAAD,CAAvB;AAA/F;;AACA,yBAAOyJ,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,2BAAOA,cAAc,CAAC/M,IAAf,CAAoBvoB,KAApB,CAA0Bs1B,cAA1B,EAA0Cv1B,IAA1C,CAAP;AACH,mBAFM,CAAP;AAGH,iBALD;;AAMAwsB,gBAAAA,YAAY,GAAG,wBAAW;AACtB,uBAAK,IAAIZ,KAAK,GAAGroB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUm9B,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+F7rB,oBAAAA,IAAI,CAAC6rB,KAAD,CAAJ,GAActoB,SAAS,CAACsoB,KAAD,CAAvB;AAA/F;;AACA,yBAAOsJ,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,2BAAOA,cAAc,CAAC9M,IAAf,CAAoBxoB,KAApB,CAA0Bs1B,cAA1B,EAA0Cv1B,IAA1C,CAAP;AACH,mBAFM,CAAP;AAGH,iBALD;;AAMAytB,gBAAAA,sBAAsB,GAAG,kCAAW;AAChC,uBAAK,IAAI+H,KAAK,GAAGjyB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU+mC,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+Fz1B,oBAAAA,IAAI,CAACy1B,KAAD,CAAJ,GAAclyB,SAAS,CAACkyB,KAAD,CAAvB;AAA/F;;AACA,yBAAON,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,2BAAOA,cAAc,CAAC7H,cAAf,CAA8BztB,KAA9B,CAAoCs1B,cAApC,EAAoDv1B,IAApD,CAAP;AACH,mBAFM,CAAP;AAGH,iBALD;;AAMA,oBAAIlZ,OAAO,KAAK+sB,OAAO,CAACY,MAAxB,EAAgC;AAC5BmY,kBAAAA,sBAAsB,GAAG,kCAAW;AAChC,yBAAK,IAAI8I,KAAK,GAAGnyB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUinC,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+F31B,sBAAAA,IAAI,CAAC21B,KAAD,CAAJ,GAAcpyB,SAAS,CAACoyB,KAAD,CAAvB;AAA/F;;AACA,2BAAOR,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,6BAAOA,cAAc,CAAC1I,cAAf,CAA8B5sB,KAA9B,CAAoCs1B,cAApC,EAAoDv1B,IAApD,CAAP;AACH,qBAFM,CAAP;AAGH,mBALD;;AAMAgtB,kBAAAA,iBAAiB,GAAG,6BAAW;AAC3B,yBAAK,IAAI4I,KAAK,GAAGryB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUmnC,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+F71B,sBAAAA,IAAI,CAAC61B,KAAD,CAAJ,GAActyB,SAAS,CAACsyB,KAAD,CAAvB;AAA/F;;AACA,2BAAOV,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,6BAAOA,cAAc,CAACtI,SAAf,CAAyBhtB,KAAzB,CAA+Bs1B,cAA/B,EAA+Cv1B,IAA/C,CAAP;AACH,qBAFM,CAAP;AAGH,mBALD;;AAMAktB,kBAAAA,0BAA0B,GAAG,sCAAW;AACpC,yBAAK,IAAI4I,KAAK,GAAGvyB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUqnC,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+F/1B,sBAAAA,IAAI,CAAC+1B,KAAD,CAAJ,GAAcxyB,SAAS,CAACwyB,KAAD,CAAvB;AAA/F;;AACA,2BAAOZ,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,6BAAOA,cAAc,CAACpI,kBAAf,CAAkCltB,KAAlC,CAAwCs1B,cAAxC,EAAwDv1B,IAAxD,CAAP;AACH,qBAFM,CAAP;AAGH,mBALD;;AAMAotB,kBAAAA,iBAAiB,GAAG,6BAAW;AAC3B,yBAAK,IAAI4I,KAAK,GAAGzyB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUunC,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+Fj2B,sBAAAA,IAAI,CAACi2B,KAAD,CAAJ,GAAc1yB,SAAS,CAAC0yB,KAAD,CAAvB;AAA/F;;AACA,2BAAOd,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,6BAAOA,cAAc,CAAClI,SAAf,CAAyBptB,KAAzB,CAA+Bs1B,cAA/B,EAA+Cv1B,IAA/C,CAAP;AACH,qBAFM,CAAP;AAGH,mBALD;;AAMAstB,kBAAAA,YAAY,GAAG,wBAAW;AACtB,yBAAK,IAAI4I,MAAM,GAAG3yB,SAAS,CAACrX,MAAvB,EAA+B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUynC,MAAV,CAAtC,EAAyDC,MAAM,GAAG,CAAvE,EAA0EA,MAAM,GAAGD,MAAnF,EAA2FC,MAAM,EAAjG;AAAqGn2B,sBAAAA,IAAI,CAACm2B,MAAD,CAAJ,GAAe5yB,SAAS,CAAC4yB,MAAD,CAAxB;AAArG;;AACA,2BAAOhB,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,6BAAOA,cAAc,CAACxqB,IAAf,CAAoB9K,KAApB,CAA0Bs1B,cAA1B,EAA0Cv1B,IAA1C,CAAP;AACH,qBAFM,CAAP;AAGH,mBALD;;AAMAutB,kBAAAA,qBAAqB,GAAG,iCAAW;AAC/B,yBAAK,IAAI6I,MAAM,GAAG7yB,SAAS,CAACrX,MAAvB,EAA+B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU2nC,MAAV,CAAtC,EAAyDC,MAAM,GAAG,CAAvE,EAA0EA,MAAM,GAAGD,MAAnF,EAA2FC,MAAM,EAAjG;AAAqGr2B,sBAAAA,IAAI,CAACq2B,MAAD,CAAJ,GAAe9yB,SAAS,CAAC8yB,MAAD,CAAxB;AAArG;;AACA,2BAAOlB,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,6BAAOA,cAAc,CAAC/H,aAAf,CAA6BvtB,KAA7B,CAAmCs1B,cAAnC,EAAmDv1B,IAAnD,CAAP;AACH,qBAFM,CAAP;AAGH,mBALD;AAMH,iBArCD,MAqCOlZ,OAAO,KAAK+sB,OAAO,CAACa,KAApB,KAA8BoY,mBAAmB,GAAG,+BAAW;AAClE,uBAAK,IAAIwJ,MAAM,GAAG/yB,SAAS,CAACrX,MAAvB,EAA+B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU6nC,MAAV,CAAtC,EAAyDC,MAAM,GAAG,CAAvE,EAA0EA,MAAM,GAAGD,MAAnF,EAA2FC,MAAM,EAAjG;AAAqGv2B,oBAAAA,IAAI,CAACu2B,MAAD,CAAJ,GAAehzB,SAAS,CAACgzB,MAAD,CAAxB;AAArG;;AACA,yBAAOpB,qBAAqB,CAAC1rC,IAAtB,CAA4B,UAAS8rC,cAAT,EAAyB;AACxD,2BAAOA,cAAc,CAACxI,WAAf,CAA2B9sB,KAA3B,CAAiCs1B,cAAjC,EAAiDv1B,IAAjD,CAAP;AACH,mBAFM,CAAP;AAGH,iBALM;;AAMP,uBAAOm1B,qBAAP;AACH,eAtG6B,CAsG5BruC,OAtG4B,EAsGnButB,MAtGmB,CAAP;AAuG1B,aAxGqB,CAAtB;AAyGA,gBAAIoa,UAAU,GAAG/7B,KAAK,CAAC/C,MAAvB;AACA,gBAAI6mC,qBAAqB,GAAG9I,cAAc,EAA1C;AACA,gBAAI+I,gBAAgB,GAAGzN,cAAc,CAACd,QAAD,EAAWx1B,KAAX,EAAkB,MAAlB,CAArC;AACA,gBAAIgkC,eAAe,GAAG5mB,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACkS,MAApB,CAAtB;AACA,gBAAI2Q,wBAAwB,GAAGrK,iBAAiB,CAAC7Q,SAAD,CAAhD;AACA,gBAAImb,qBAAqB,GAAG/J,cAAc,EAA1C;AACA,gBAAIgK,oBAAoB,GAAGF,wBAAwB,CAACltC,IAAzB,CAA+B,YAAW;AACjE,qBAAO0pC,QAAQ,EAAf;AACH,aAF0B,CAA3B;AAGA,gBAAI2D,eAAe,GAAGD,oBAAoB,CAACptC,IAArB,CAA2B,YAAW;AACxD,qBAAOu/B,cAAc,CAACd,QAAD,EAAWx1B,KAAX,EAAkB,KAAlB,CAAd,CAAuCjJ,IAAvC,CAA6C,UAASiM,KAAT,EAAgB;AAChE,uBAAO,UAASZ,GAAT,EAAcgO,OAAd,EAAuB;AAC1B,sBAAIpN,KAAK,GAAGoN,OAAO,CAACpN,KAAR,IAAiB,EAA7B;AACA,sBAAI8J,IAAI,GAAGsD,OAAO,CAACtD,IAAR,IAAgB,EAA3B;AACA,sBAAIu3B,WAAJ;AACA,sBAAIC,YAAJ;;AACA,sBAAIC,UAAU,GAAGniC,GAAG,CAACvE,KAAJ,CAAU,GAAV,CAAjB;;AACAymC,kBAAAA,YAAY,GAAGC,UAAU,CAAC,CAAD,CAAzB;;AACA,sBAAIC,kBAAkB,GAAG,CAACH,WAAW,GAAGE,UAAU,CAAC,CAAD,CAAzB,EAA8B1mC,KAA9B,CAAoC,GAApC,CAAzB;;AACAwmC,kBAAAA,WAAW,GAAGG,kBAAkB,CAAC,CAAD,CAAhC;AACA,sBAAIlc,WAAW,GAAGM,WAAW,CAAC4b,kBAAkB,CAAC,CAAD,CAAnB,EAAwBxhC,KAAxB,CAA7B;AACA,sBAAIyhC,UAAU,GAAG7b,WAAW,CAAC0b,YAAD,EAAex3B,IAAf,CAA5B;AACAwb,kBAAAA,WAAW,KAAK+b,WAAW,GAAGA,WAAW,GAAG,GAAd,GAAoB/b,WAAvC,CAAX;AACAmc,kBAAAA,UAAU,KAAKJ,WAAW,GAAGA,WAAW,GAAG,GAAd,GAAoBI,UAAvC,CAAV;AACA,yBAAOJ,WAAP;AACH,iBAdM,CAcLhgB,gBAAgB,CAAC6X,MAAM,EAAP,CAdX,EAcuB;AAC1Bl5B,kBAAAA,KAAK,EAAEA;AADmB,iBAdvB,CAAP;AAiBH,eAlBM,CAAP;AAmBH,aApBqB,CAAtB;AAqBA,gBAAI0hC,sBAAsB,GAAGR,qBAAqB,CAACntC,IAAtB,CAA4B,UAASu7B,QAAT,EAAmB;AACxE,qBAAO,UAASqS,MAAT,EAAiB;AACpB,oBAAIjwB,KAAK,GAAG,KAAK,CAAL,KAAWiwB,MAAX,GAAoB,EAApB,GAAyBA,MAArC;AAAA,oBAA6CrS,QAAQ,GAAG5d,KAAK,CAAC4d,QAA9D;AAAA,oBAAwEmJ,kBAAkB,GAAG/mB,KAAK,CAAC+mB,kBAAnG;AAAA,oBAAuH2G,gBAAgB,GAAG1tB,KAAK,CAAC0tB,gBAAhJ;AAAA,oBAAkKwC,YAAY,GAAGlwB,KAAK,CAACiN,MAAvL;AAAA,oBAA+LA,MAAM,GAAG,KAAK,CAAL,KAAWijB,YAAX,GAA0B3nC,MAA1B,GAAmC2nC,YAA3O;AAAA,oBAAyPxwC,OAAO,GAAGsgB,KAAK,CAACtgB,OAAzQ;;AACA,uBAAO,UAASirB,KAAT,EAAgB;AACnB,sBAAI9K,KAAK,GAAG,KAAK,CAAL,KAAW8K,KAAX,GAAmB,EAAnB,GAAwBA,KAApC;AAAA,sBAA2CiT,QAAQ,GAAG/d,KAAK,CAAC+d,QAA5D;AAAA,sBAAsE8P,gBAAgB,GAAG7tB,KAAK,CAAC6tB,gBAA/F;AAAA,sBAAiHhuC,OAAO,GAAGmgB,KAAK,CAACngB,OAAjI;;AACA,yBAAOonC,gBAAgB,CAACjnB,KAAK,CAACknB,kBAAP,CAAhB,CAA2C1kC,IAA3C,CAAiD,UAASkqC,UAAT,EAAqB;AACzE,2BAAO;AACHlxB,sBAAAA,GAAG,EAAEA,GADF;AAEH3b,sBAAAA,OAAO,EAAEA,OAFN;AAGHw1B,sBAAAA,GAAG,EAAEA,GAHF;AAIHwY,sBAAAA,gBAAgB,EAAEA,gBAJf;AAKH5hC,sBAAAA,OAAO,EAAE,QALN;AAMHR,sBAAAA,KAAK,EAAEihC,UANJ;AAOH9uC,sBAAAA,OAAO,GAAGqU,GAAG,GAAG8rB,QAAN,EAAgB;AACtBmP,wBAAAA,IAAI,EAAE,cAAS3E,YAAT,EAAuB;AACzB,iCAAOF,SAAS,CAAC,KAAKvzB,MAAN,EAAcyzB,YAAd,CAAhB;AACH,yBAHqB;AAItB/yB,wBAAAA,KAAK,EAAEA,KAJe;AAKtB86B,wBAAAA,UAAU,EAAE,sBAAW;AACnB,iCAAOvG,gBAAgB,CAAC93B,GAAD,CAAvB;AACH,yBAPqB;AAQtBovB,wBAAAA,MAAM,EAAEA,MARc;AAStB3pB,wBAAAA,OAAO,EAAEA,OATa;AAUtB6pB,wBAAAA,IAAI,EAAEA,IAVgB;AAWtBC,wBAAAA,IAAI,EAAEA,IAXgB;AAYtB,kCAAQ0I;AAZc,uBAAnB;AAPJ,qBAAP;AAsBA,wBAAIj4B,GAAJ;AACH,mBAxBM,CAAP;AAyBH,iBA3BM,CA2BL;AACE8rB,kBAAAA,QAAQ,EAAEA,QADZ;AAEEmJ,kBAAAA,kBAAkB,EAAEA,kBAFtB;AAGE2G,kBAAAA,gBAAgB,EAAEA,gBAHpB;AAIEhuC,kBAAAA,OAAO,EAAEA;AAJX,iBA3BK,EAgCJ2C,IAhCI,CAgCE,UAAS+tC,YAAT,EAAuB;AAC5B,sBAAIC,qBAAqB,GAAGjT,oBAAoB,CAAC;AAC7Ctd,oBAAAA,IAAI,EAAEswB,YADuC;AAE7C/S,oBAAAA,QAAQ,EAAE;AACN2C,sBAAAA,SAAS,EAAEgI,YAAY,CAAC/a,MAAD,EAAS8Z,kBAAT,EAA6BrnC,OAA7B,EAAsCk+B,QAAtC;AADjB,qBAFmC;AAK7CN,oBAAAA,MAAM,EAAE;AACJzxB,sBAAAA,MAAM,EAAE2G,SAAS,CAACjK,MAAD;AADb,qBALqC;AAQ7Cg1B,oBAAAA,QAAQ,EAAE;AACNzrB,sBAAAA,GAAG,EAAE8rB,QADC;AAEN/xB,sBAAAA,MAAM,EAAE6hC;AAFF,qBARmC;AAY7CjQ,oBAAAA,eAAe,EAAEsJ,kBAAkB,KAAKv0B,SAAS;AAZJ,mBAAD,CAAhD;AAAA,sBAaIsrB,cAAc,GAAGuS,qBAAqB,CAACvS,cAb3C;;AAcA8F,kBAAAA,KAAK,CAAC9Q,QAAN,CAAeud,qBAAqB,CAACtS,cAArC;AACA,yBAAOD,cAAP;AACH,iBAjDM,CAAP;AAkDH,eApDM,CAoDL;AACEF,gBAAAA,QAAQ,EAAE,CAAC3d,KAAK,GAAG;AACf2d,kBAAAA,QAAQ,EAAEA,QADK;AAEfmJ,kBAAAA,kBAAkB,EAAEA,kBAFL;AAGf2G,kBAAAA,gBAAgB,EAAEA,gBAHH;AAIfzgB,kBAAAA,MAAM,EAAEA,MAJO;AAKfvtB,kBAAAA,OAAO,EAAEA;AALM,iBAAT,EAMPk+B,QAPL;AAQEmJ,gBAAAA,kBAAkB,EAAE9mB,KAAK,CAAC8mB,kBAR5B;AASE2G,gBAAAA,gBAAgB,EAAEztB,KAAK,CAACytB,gBAT1B;AAUEzgB,gBAAAA,MAAM,EAAEhN,KAAK,CAACgN,MAVhB;AAWEvtB,gBAAAA,OAAO,EAAEugB,KAAK,CAACvgB;AAXjB,eApDK,EAgEJ2C,IAhEI,CAgEE,UAASm9B,iBAAT,EAA4B;AACjC,uBAAOD,oBAAoB,CAAC;AACxB/9B,kBAAAA,IAAI,EAAEA,IADkB;AAExBg+B,kBAAAA,iBAAiB,EAAEA;AAFK,iBAAD,CAA3B;AAIH,eArEM,CAAP;;AAsEA,kBAAIvf,KAAJ;AACH,aAxE4B,CAA7B;AAyEA,gBAAIqwB,gBAAgB,GAAGN,sBAAsB,CAAC3tC,IAAvB,CAA6B,UAASq9B,UAAT,EAAqB;AACrE,qBAAOmG,SAAS,CAACnmC,OAAD,EAAU;AACtBggC,gBAAAA,UAAU,EAAEA;AADU,eAAV,CAAhB;AAGH,aAJsB,CAAvB;AAKA,gBAAI6Q,yBAAyB,GAAGxK,kBAAkB,CAACrmC,OAAD,CAAlD;AACA,gBAAI8wC,sBAAsB,GAAG5/B,oBAAoB,CAACwH,IAArB,CAA0B;AACnD0yB,cAAAA,cAAc,EAAEyE,wBADmC;AAEnDhH,cAAAA,UAAU,EAAE+H,gBAFuC;AAGnD1I,cAAAA,mBAAmB,EAAE2I;AAH8B,aAA1B,EAI1BluC,IAJ0B,CAIpB,UAASouC,MAAT,EAAiB;AACtB,qBAAOlL,eAAe,CAACkL,MAAM,CAAC3F,cAAR,EAAwB;AAC1CprC,gBAAAA,OAAO,EAAEA,OADiC;AAE1C6oC,gBAAAA,UAAU,EAAEkI,MAAM,CAAClI,UAFuB;AAG1CX,gBAAAA,mBAAmB,EAAE6I,MAAM,CAAC7I,mBAHc;AAI1CoD,gBAAAA,QAAQ,EAAEA;AAJgC,eAAxB,CAAtB;AAMH,aAX4B,EAWzB3oC,IAXyB,CAWnB,UAASyoC,cAAT,EAAyB;AAC/B,qBAAOA,cAAP;AACH,aAb4B,CAA7B;AAcA,gBAAI4F,WAAW,GAAG9/B,oBAAoB,CAACwH,IAArB,CAA0B;AACxCsnB,cAAAA,UAAU,EAAEsQ,sBAD4B;AAExCzH,cAAAA,UAAU,EAAE+H,gBAF4B;AAGxC1S,cAAAA,QAAQ,EAAE4R;AAH8B,aAA1B,EAIfntC,IAJe,CAIT,UAASsuC,MAAT,EAAiB;AACtB,kBAAI/S,QAAQ,GAAG+S,MAAM,CAAC/S,QAAtB;AACA,qBAAOyJ,UAAU,GAAGzJ,QAAH,GAAcja,IAAI,CAACjkB,OAAD,EAAU;AACzCggC,gBAAAA,UAAU,EAAEiR,MAAM,CAACjR,UADsB;AAEzC9B,gBAAAA,QAAQ,EAAEA,QAF+B;AAGzC2K,gBAAAA,UAAU,EAAEoI,MAAM,CAACpI;AAHsB,eAAV,CAAnC;AAKH,aAXiB,CAAlB;AAYA,gBAAIqI,oBAAoB,GAAGhgC,oBAAoB,CAACwH,IAArB,CAA0B;AACjDwlB,cAAAA,QAAQ,EAAE8S,WADuC;AAEjD9I,cAAAA,mBAAmB,EAAE2I;AAF4B,aAA1B,EAGxBluC,IAHwB,CAGlB,UAASwuC,MAAT,EAAiB;AACtB,qBAAOzK,aAAa,CAAC1mC,OAAD,EAAUmxC,MAAM,CAACjT,QAAjB,EAA2BiT,MAAM,CAACjJ,mBAAlC,CAApB;AACH,aAL0B,CAA3B;AAMA,gBAAIkJ,eAAe,GAAGJ,WAAW,CAACruC,IAAZ,CAAkB,UAASu7B,QAAT,EAAmB;AACvD8G,cAAAA,eAAe,GAAG9G,QAAlB;AACA,qBAAO+H,WAAW,CAAC/H,QAAD,CAAlB;AACH,aAHqB,CAAtB;AAIA,gBAAImT,gBAAgB,GAAGngC,oBAAoB,CAACwH,IAArB,CAA0B;AAC7C+xB,cAAAA,iBAAiB,EAAEyG,oBAD0B;AAE7C5tC,cAAAA,KAAK,EAAE8tC;AAFsC,aAA1B,EAGpBzuC,IAHoB,CAGd,UAAS2uC,MAAT,EAAiB;AACtB,qBAAO/K,SAAS,CAAC+K,MAAM,CAAC7G,iBAAR,EAA2B;AACvCzqC,gBAAAA,OAAO,EAAEA;AAD8B,eAA3B,CAAhB;AAGH,aAPsB,CAAvB;AAQA,gBAAIuxC,oBAAoB,GAAGrgC,oBAAoB,CAACwH,IAArB,CAA0B;AACjDwlB,cAAAA,QAAQ,EAAE8S,WADuC;AAEjDhR,cAAAA,UAAU,EAAEsQ;AAFqC,aAA1B,EAGxB3tC,IAHwB,CAGlB,UAAS6uC,MAAT,EAAiB;AACtB,kBAAI7J,UAAJ,EAAgB,OAAO6J,MAAM,CAACtT,QAAP,CAAgBpb,OAAhB,CAAwB0uB,MAAM,CAACxR,UAA/B,CAAP;AACnB,aAL0B,CAA3B;AAMA,gBAAIyR,gBAAgB,GAAGvgC,oBAAoB,CAACwH,IAArB,CAA0B;AAC7CxK,cAAAA,IAAI,EAAEyhC;AADuC,aAA1B,EAEpBhtC,IAFoB,CAEd,UAAS+uC,MAAT,EAAiB;AACtB,qBAAO11B,OAAO,CAACta,MAAR,GAAiBsa,OAAO,CAACta,MAAzB,GAAkCzD,MAAM,CAACgH,IAAP,CAAYysC,MAAM,CAACxjC,IAAnB,EAAyB9I,MAAzB,GAAkC,MAAlC,GAA2C,KAApF;AACH,aAJsB,CAAvB;AAKA,gBAAIusC,cAAc,GAAGzgC,oBAAoB,CAACwH,IAArB,CAA0B;AAC3CwlB,cAAAA,QAAQ,EAAE8S,WADiC;AAE3CY,cAAAA,SAAS,EAAE5B,eAFgC;AAG3C9hC,cAAAA,IAAI,EAAEyhC,gBAHqC;AAI3CjuC,cAAAA,MAAM,EAAE+vC,gBAJmC;AAK3CzR,cAAAA,UAAU,EAAEuR,oBAL+B;AAM3ChL,cAAAA,SAAS,EAAE8K;AANgC,aAA1B,EAOlB1uC,IAPkB,CAOZ,UAASkvC,MAAT,EAAiB;AACtB,qBAAOA,MAAM,CAAC3T,QAAP,CAAgBtb,WAAhB,CAA4BivB,MAAM,CAACD,SAAnC,EAA8C;AACjDlwC,gBAAAA,MAAM,EAAEmwC,MAAM,CAACnwC,MADkC;AAEjDwM,gBAAAA,IAAI,EAAE2jC,MAAM,CAAC3jC;AAFoC,eAA9C,CAAP;AAIH,aAZoB,CAArB;AAaA,gBAAI4jC,oBAAoB,GAAGd,WAAW,CAACruC,IAAZ,CAAkB,UAASu7B,QAAT,EAAmB;AAC5D,eAAC,SAAS6T,aAAT,CAAuB7T,QAAvB,EAAiCl+B,OAAjC,EAA0C;AACvC,oBAAI4rB,SAAS,GAAG,CAAC,CAAjB;AACAsY,gBAAAA,KAAK,CAAC9Q,QAAN,CAAgB,YAAW;AACvBxH,kBAAAA,SAAS,GAAG,CAAC,CAAb;AACH,iBAFD;AAGA,uBAAO1a,oBAAoB,CAACkI,KAArB,CAA2B,GAA3B,EAAgCzW,IAAhC,CAAsC,YAAW;AACpD,yBAAOu7B,QAAQ,CAACvb,QAAT,EAAP;AACH,iBAFM,EAEHhgB,IAFG,CAEG,UAASggB,QAAT,EAAmB;AACzB,sBAAI,CAACiJ,SAAL,EAAgB;AACZ,wBAAI5rB,OAAO,KAAK+sB,OAAO,CAACa,KAApB,IAA6BjL,QAAjC,EAA2C,OAAOhN,KAAK,CAAC,IAAIpS,KAAJ,CAAU,sBAAV,CAAD,CAAZ;AAC3C,wBAAIyuC,wBAAwB,GAAG78B,OAAO,CAACiwB,gBAAgB,IAAIzO,eAAe,CAACyO,gBAAD,CAApC,CAAtC;AACA,2BAAOplC,OAAO,KAAK+sB,OAAO,CAACY,MAApB,IAA8BhL,QAA9B,KAA2CqvB,wBAAwB,IAAI3M,gBAAvE,IAA2F1vB,KAAK,CAAC,IAAIpS,KAAJ,CAAU,uBAAV,CAAD,CAAhG,GAAuIwuC,aAAa,CAAC7T,QAAD,EAAWl+B,OAAX,CAA3J;AACH;AACJ,iBARM,CAAP;AASH,eAdA,CAcCk+B,QAdD,EAcWl+B,OAdX,CAAD;AAeH,aAhB0B,CAA3B;AAiBA,gBAAIiyC,gBAAgB,GAAG/gC,oBAAoB,CAACwH,IAArB,CAA0B;AAC7Cic,cAAAA,SAAS,EAAEmc,sBADkC;AAE7CvK,cAAAA,SAAS,EAAE8K;AAFkC,aAA1B,EAGpB1uC,IAHoB,CAGd,YAAW;AAChB,qBAAOqmB,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACsS,OAApB,CAAP;AACH,aALsB,CAAvB;AAMA,gBAAI4S,iBAAiB,GAAGlB,WAAW,CAACruC,IAAZ,CAAkB,UAASu7B,QAAT,EAAmB;AACzD,qBAAO,UAASA,QAAT,EAAmBmJ,kBAAnB,EAAuCrnC,OAAvC,EAAgD;AACnD,uBAAOkR,oBAAoB,OAApB,CAA0B,YAAW;AACxC,yBAAOgtB,QAAQ,CAAC9Z,WAAT,EAAP;AACH,iBAFM,EAEHzhB,IAFG,CAEG,UAASyP,GAAT,EAAc;AACpB,sBAAIsqB,UAAU,IAAIA,UAAU,CAACxD,WAAX,CAAuB;AACrC9mB,oBAAAA,GAAG,EAAEA,GADgC;AAErCjG,oBAAAA,MAAM,EAAEk7B;AAF6B,mBAAvB,CAAd,IAGE,CAAC3K,UAAU,CAACM,SAAX,CAAqBqK,kBAArB,EAAyCA,kBAAzC,CAHP,EAGqE;AACjE,wBAAI8K,SAAS,GAAG,cAAc,OAAOn2B,OAAO,CAACm2B,SAA7B,GAAyCn2B,OAAO,CAACm2B,SAAR,CAAkB;AACvEvmC,sBAAAA,KAAK,EAAEA;AADgE,qBAAlB,CAAzC,GAEXoQ,OAAO,CAACm2B,SAFb;AAGA,wBAAI,CAACA,SAAL,EAAgB,MAAM,IAAI5uC,KAAJ,CAAU,6BAA6BvD,OAAvC,CAAN;AAChB,wBAAIoyC,YAAY,GAAGxiB,gBAAgB,CAACuiB,SAAD,CAAnC;AACAzV,oBAAAA,UAAU,CAACK,OAAX,CAAmB3qB,GAAnB,EAAwBi1B,kBAAxB;AACA,2BAAO3K,UAAU,CAACC,UAAX,CAAsB1M,gBAAgB,CAACkiB,SAAD,CAAtC,EAAmDC,YAAnD,CAAP;AACH;AACJ,iBAfM,CAAP;AAgBH,eAjBM,CAiBLlU,QAjBK,EAiBKmJ,kBAjBL,EAiByBrnC,OAjBzB,CAAP;AAkBH,aAnBuB,CAAxB;AAoBA,gBAAIqyC,iBAAiB,GAAGV,cAAc,CAAChvC,IAAf,CAAqB,YAAW;AACpD,qBAAOuO,oBAAoB,OAApB,CAA0B,YAAW;AACxC,oBAAI8G,OAAO,GAAGpM,KAAK,CAACoM,OAApB;AACA,oBAAIA,OAAJ,EAAa,OAAOgsB,WAAW,CAAChsB,OAAZ,CAAoBA,OAApB,EAA6B,IAAIzU,KAAJ,CAAU,uCAAuCyU,OAAvC,GAAiD,eAA3D,CAA7B,CAAP;AAChB,eAHM,CAAP;AAIH,aALuB,CAAxB;AAMA,gBAAIs6B,iBAAiB,GAAGtO,WAAW,CAACrhC,IAAZ,CAAkB,YAAW;AACjD0iC,cAAAA,gBAAgB,GAAG,CAAC,CAApB;AACA,qBAAOrc,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACmS,QAApB,CAAP;AACH,aAHuB,CAAxB;AAIA,mBAAOjuB,oBAAoB,CAACwH,IAArB,CAA0B;AAC7BsrB,cAAAA,WAAW,EAAEA,WADgB;AAE7BgM,cAAAA,eAAe,EAAEA,eAFY;AAG7BJ,cAAAA,eAAe,EAAEA,eAHY;AAI7BC,cAAAA,wBAAwB,EAAEA,wBAJG;AAK7Be,cAAAA,gBAAgB,EAAEA,gBALW;AAM7BC,cAAAA,yBAAyB,EAAEA,yBANE;AAO7BC,cAAAA,sBAAsB,EAAEA,sBAPK;AAQ7BE,cAAAA,WAAW,EAAEA,WARgB;AAS7BE,cAAAA,oBAAoB,EAAEA,oBATO;AAU7BE,cAAAA,eAAe,EAAEA,eAVY;AAW7BC,cAAAA,gBAAgB,EAAEA,gBAXW;AAY7BM,cAAAA,cAAc,EAAEA,cAZa;AAa7BrB,cAAAA,sBAAsB,EAAEA,sBAbK;AAc7BiB,cAAAA,oBAAoB,EAAEA,oBAdO;AAe7BO,cAAAA,oBAAoB,EAAEA,oBAfO;AAgB7BG,cAAAA,gBAAgB,EAAEA,gBAhBW;AAiB7BC,cAAAA,iBAAiB,EAAEA,iBAjBU;AAkB7BG,cAAAA,iBAAiB,EAAEA,iBAlBU;AAmB7BC,cAAAA,iBAAiB,EAAEA,iBAnBU;AAoB7BrE,cAAAA,eAAe,EAAEA,eApBY;AAqB7ByB,cAAAA,qBAAqB,EAAEA,qBArBM;AAsB7BK,cAAAA,oBAAoB,EAAEA;AAtBO,aAA1B,CAAP;AAwBH,WAlXM,WAkXI,UAASzwC,GAAT,EAAc;AACrB,mBAAO4R,oBAAoB,CAACmH,GAArB,CAAyB,CAAER,OAAO,CAACvY,GAAD,CAAT,EAAgBgS,OAAO,CAAChS,GAAD,CAAvB,CAAzB,EAAyDqD,IAAzD,CAA+D,YAAW;AAC7E,oBAAMrD,GAAN;AACH,aAFM,EAEF,YAAW;AACZ,oBAAMA,GAAN;AACH,aAJM,CAAP;AAKH,WAxXM,EAwXHqD,IAxXG,CAwXEya,aAxXF,CAAP;AAyXH,SAtaE;AAuaH9L,QAAAA,OAAO,EAAEA,OAvaN;AAwaHihC,QAAAA,QAAQ,EAAE,oBAAW;AACjB,iBAAO3mC,KAAP;AACH,SA1aE;AA2aHygC,QAAAA,QAAQ,EAAEA,QA3aP;AA4aH,kBAAQhC,KA5aL;AA6aH8B,QAAAA,UAAU,EAAEA,UA7aT;AA8aHqC,QAAAA,oBAAoB,EAAE,gCAAW;AAC7B,iBAAOt9B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,mBAAO;AACHs0B,cAAAA,iBAAiB,EAAEA,iBADhB;AAEH9D,cAAAA,IAAI,EAAEA,IAFH;AAGHC,cAAAA,IAAI,EAAEA,IAHH;AAIHkE,cAAAA,eAAe,EAAEA,eAJd;AAKHE,cAAAA,cAAc,EAAEA,cALb;AAMHa,cAAAA,cAAc,EAAEA,cANb;AAOHT,cAAAA,SAAS,EAAEA,SAPR;AAQHE,cAAAA,kBAAkB,EAAEA,kBARjB;AASHE,cAAAA,SAAS,EAAEA,SATR;AAUHtiB,cAAAA,IAAI,EAAEA,IAVH;AAWHyiB,cAAAA,aAAa,EAAEA,aAXZ;AAYHT,cAAAA,WAAW,EAAEA;AAZV,aAAP;AAcH,WAfM,CAAP;AAgBH,SA/bE;AAgcHuM,QAAAA,UAAU,EAAE,sBAAW;AACnB,iBAAOzO,MAAM,CAAC;AACVyO,YAAAA,UAAU,EAAE,sBAAW;AACnB,qBAAOpI,cAAP;AACH;AAHS,WAAD,CAAb;AAKH;AAtcE,OAAP;AAwcH;;AACD,QAAIqI,KAAK,GAAG;AACRrf,MAAAA,QAAQ,EAAE,kBAASoC,GAAT,EAAc4L,QAAd,EAAwBiM,IAAxB,EAA8B1tB,IAA9B,EAAoC;AAC1C,YAAI+yB,KAAK,GAAG/yB,IAAI,CAAC+yB,KAAjB;AAAA,YAAwBC,QAAQ,GAAGhzB,IAAI,CAACgzB,QAAxC;AACA,eAAO,UAASC,gBAAT,EAA2B;AAC9B1lB,UAAAA,cAAc,CAAC2lB,MAAD,EAASD,gBAAT,CAAd;;AACA,mBAASC,MAAT,GAAkB;AACd,mBAAOD,gBAAgB,CAACz5B,KAAjB,CAAuB,IAAvB,EAA6BsD,SAA7B,KAA2C,IAAlD;AACH;;AACD,cAAIxF,MAAM,GAAG47B,MAAM,CAAC30C,SAApB;;AACA+Y,UAAAA,MAAM,CAAC62B,MAAP,GAAgB,YAAW;AACvB,mBAAO4E,KAAK,CAACvqC,aAAN,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACH,WAFD;;AAGA8O,UAAAA,MAAM,CAAC67B,iBAAP,GAA2B,YAAW;AAClC,gBAAI/d,EAAE,GAAG4d,QAAQ,CAACI,WAAT,CAAqB,IAArB,CAAT;AACA,gBAAIvgC,MAAM,GAAG66B,IAAI,CAACvb,MAAM,CAAC,EAAD,EAAK,KAAKlmB,KAAV,CAAP,CAAjB;AACA4G,YAAAA,MAAM,CAACs7B,MAAP,CAAc/Y,EAAd,EAAkBhI,OAAO,CAACY,MAA1B;AACA,iBAAKka,QAAL,CAAc;AACVr1B,cAAAA,MAAM,EAAEA;AADE,aAAd;AAGH,WAPD;;AAQAyE,UAAAA,MAAM,CAAC+7B,kBAAP,GAA4B,YAAW;AACnC,iBAAK1vC,KAAL,IAAc,KAAKA,KAAL,CAAWkP,MAAzB,IAAmC,KAAKlP,KAAL,CAAWkP,MAAX,CAAkB45B,WAAlB,CAA8Bta,MAAM,CAAC,EAAD,EAAK,KAAKlmB,KAAV,CAApC,WAA4DwR,aAA5D,CAAnC;AACH,WAFD;;AAGA,iBAAOy1B,MAAP;AACH,SArBM,CAqBLH,KAAK,CAACO,SArBD,CAAP;AAsBH;AAzBO,KAAZ;AA2BA,QAAIC,GAAG,GAAG;AACN9f,MAAAA,QAAQ,EAAE,kBAASoC,GAAT,EAAc4L,QAAd,EAAwBiM,IAAxB,EAA8B8F,GAA9B,EAAmC;AACzC,eAAOA,GAAG,CAACC,SAAJ,CAAc5d,GAAd,EAAmB;AACtBsY,UAAAA,MAAM,EAAE,gBAAS3lC,aAAT,EAAwB;AAC5B,mBAAOA,aAAa,CAAC,KAAD,CAApB;AACH,WAHqB;AAItBkrC,UAAAA,YAAY,EAAE,CAAC,CAJO;AAKtBC,UAAAA,OAAO,EAAE,mBAAW;AAChB,gBAAIve,EAAE,GAAG,KAAKwe,GAAd;AACA,iBAAK/gC,MAAL,GAAc66B,IAAI,CAAChgB,QAAQ,CAAC,EAAD,GAAMzhB,KAAK,GAAG,KAAK4nC,MAAb,EAAqBv1C,MAAM,CAACgH,IAAP,CAAY2G,KAAZ,EAAmBzE,MAAnB,CAA2B,UAASsgC,GAAT,EAAczoC,GAAd,EAAmB;AAChG,kBAAIC,KAAK,GAAG2M,KAAK,CAAC5M,GAAD,CAAjB;;AACA,kBAAI,mBAAmBA,GAAnB,IAA0B,kBAAkBA,GAAhD,EAAqD;AACjDyoC,gBAAAA,GAAG,CAACvgC,KAAJ,GAAYjI,KAAZ;AACAwoC,gBAAAA,GAAG,CAACgM,WAAJ,GAAkBx0C,KAAlB;AACH,eAHD,MAGOD,GAAG,CAAC0M,QAAJ,CAAa,GAAb,IAAoB+7B,GAAG,CAACxV,gBAAgB,CAACjzB,GAAD,CAAjB,CAAH,GAA6BC,KAAjD,GAAyDwoC,GAAG,CAACzoC,GAAD,CAAH,GAAWC,KAApE;;AACP,qBAAOwoC,GAAP;AACH,aAPqD,EAOlD,EAPkD,CAA3B,EAAT,CAAlB;AAQA,gBAAI77B,KAAJ;AACA,iBAAK4G,MAAL,CAAYs7B,MAAZ,CAAmB/Y,EAAnB,EAAuBhI,OAAO,CAACY,MAA/B;AACH,WAjBqB;AAkBtB+lB,UAAAA,KAAK,EAAE;AACHF,YAAAA,MAAM,EAAE;AACJl9B,cAAAA,OAAO,EAAE,mBAAW;AAChB,qBAAK9D,MAAL,IAAe,KAAKghC,MAApB,IAA8B,KAAKhhC,MAAL,CAAY45B,WAAZ,CAAwB/e,QAAQ,CAAC,EAAD,EAAK,KAAKmmB,MAAV,CAAhC,WAAyDp2B,aAAzD,CAA9B;AACH,eAHG;AAIJu2B,cAAAA,IAAI,EAAE,CAAC;AAJH;AADL;AAlBe,SAAnB,CAAP;AA2BH;AA7BK,KAAV;AA+BA,QAAIC,IAAI,GAAG;AACPxgB,MAAAA,QAAQ,EAAE,kBAASoC,GAAT,EAAc4L,QAAd,EAAwBiM,IAAxB,EAA8B;AACpC,eAAO;AACHwG,UAAAA,QAAQ,EAAE,aADP;AAEHR,UAAAA,YAAY,EAAE,CAAC,CAFZ;AAGHC,UAAAA,OAAO,EAAE,mBAAW;AAChB,gBAAIve,EAAE,GAAG,KAAKwe,GAAd;AACA,iBAAK/gC,MAAL,GAAc66B,IAAI,CAAChgB,QAAQ,CAAC,EAAD,GAAMzhB,KAAK,GAAG,KAAK4nC,MAAb,EAAqBv1C,MAAM,CAACgH,IAAP,CAAY2G,KAAZ,EAAmBzE,MAAnB,CAA2B,UAASsgC,GAAT,EAAczoC,GAAd,EAAmB;AAChG,kBAAIC,KAAK,GAAG2M,KAAK,CAAC5M,GAAD,CAAjB;;AACA,kBAAI,mBAAmBA,GAAnB,IAA0B,kBAAkBA,GAAhD,EAAqD;AACjDyoC,gBAAAA,GAAG,CAACvgC,KAAJ,GAAYjI,KAAZ;AACAwoC,gBAAAA,GAAG,CAACgM,WAAJ,GAAkBx0C,KAAlB;AACH,eAHD,MAGOD,GAAG,CAAC0M,QAAJ,CAAa,GAAb,IAAoB+7B,GAAG,CAACxV,gBAAgB,CAACjzB,GAAD,CAAjB,CAAH,GAA6BC,KAAjD,GAAyDwoC,GAAG,CAACzoC,GAAD,CAAH,GAAWC,KAApE;;AACP,qBAAOwoC,GAAP;AACH,aAPqD,EAOlD,EAPkD,CAA3B,EAAT,CAAlB;AAQA,gBAAI77B,KAAJ;AACA,iBAAK4G,MAAL,CAAYs7B,MAAZ,CAAmB/Y,EAAnB,EAAuBhI,OAAO,CAACY,MAA/B;AACH,WAfE;AAgBH+lB,UAAAA,KAAK,EAAE;AACHF,YAAAA,MAAM,EAAE;AACJl9B,cAAAA,OAAO,EAAE,mBAAW;AAChB,qBAAK9D,MAAL,IAAe,KAAKghC,MAApB,IAA8B,KAAKhhC,MAAL,CAAY45B,WAAZ,CAAwB/e,QAAQ,CAAC,EAAD,EAAK,KAAKmmB,MAAV,CAAhC,WAAyDp2B,aAAzD,CAA9B;AACH,eAHG;AAIJu2B,cAAAA,IAAI,EAAE,CAAC;AAJH;AADL;AAhBJ,SAAP;AAyBH;AA3BM,KAAX;AA6BA,QAAIG,OAAO,GAAG;AACV1gB,MAAAA,QAAQ,EAAE,kBAASoC,GAAT,EAAc4L,QAAd,EAAwBiM,IAAxB,EAA8B0G,EAA9B,EAAkC;AACxC,eAAOA,EAAE,CAACltC,MAAH,CAAU2uB,GAAV,EAAe,EAAf,EAAmBwe,SAAnB,CAA6B/hB,gBAAgB,CAACuD,GAAD,CAA7C,EAAqD,YAAW;AACnE,cAAIye,KAAK,GAAG,EAAZ;;AACA,eAAK,IAAIlyB,GAAG,GAAG,CAAV,EAAa4T,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAYm8B,QAAZ,CAAlC,EAAyDrf,GAAG,GAAG4T,aAAa,CAACvwB,MAA7E,EAAqF2c,GAAG,EAAxF;AAA4FkyB,YAAAA,KAAK,CAACte,aAAa,CAAC5T,GAAD,CAAd,CAAL,GAA4B,GAA5B;AAA5F;;AACAkyB,UAAAA,KAAK,CAACroC,KAAN,GAAc,GAAd;AACA,iBAAO;AACHqoC,YAAAA,KAAK,EAAEA,KADJ;AAEHC,YAAAA,QAAQ,EAAE,GAFP;AAGHC,YAAAA,UAAU,EAAE,CAAE,QAAF,EAAY,UAAZ,EAAwB,UAASC,MAAT,EAAiBC,QAAjB,EAA2B;AAC3D,uBAASC,SAAT,GAAqB;AACjB,oBAAI,aAAaF,MAAM,CAACG,KAAP,CAAaC,OAA1B,IAAqC,cAAcJ,MAAM,CAACG,KAAP,CAAaC,OAApE,EAA6E,IAAI;AAC7EJ,kBAAAA,MAAM,CAACK,MAAP;AACH,iBAF4E,CAE3E,OAAOn1C,GAAP,EAAY;AACjB;;AACD,kBAAIizC,QAAQ,GAAG,SAAXA,QAAW,GAAW;AACtB,uBAAO/f,aAAa,CAAC4hB,MAAM,CAACxoC,KAAR,EAAgB,UAASqG,IAAT,EAAe;AAC/C,yBAAO,cAAc,OAAOA,IAArB,GAA4B,YAAW;AAC1C,wBAAIvP,MAAM,GAAGuP,IAAI,CAACkH,KAAL,CAAW,IAAX,EAAiBsD,SAAjB,CAAb;AACA63B,oBAAAA,SAAS;AACT,2BAAO5xC,MAAP;AACH,mBAJM,GAIHuP,IAJJ;AAKH,iBANmB,CAApB;AAOH,eARD;;AASA,kBAAI+e,QAAQ,GAAGqc,IAAI,CAACkF,QAAQ,EAAT,CAAnB;AACAvhB,cAAAA,QAAQ,CAAC8c,MAAT,CAAgBuG,QAAQ,CAAC,CAAD,CAAxB,EAA6BtnB,OAAO,CAACY,MAArC;AACAymB,cAAAA,MAAM,CAACM,MAAP,CAAe,YAAW;AACtB1jB,gBAAAA,QAAQ,CAACob,WAAT,CAAqBmG,QAAQ,EAA7B,WAAuCn1B,aAAvC;AACH,eAFD;AAGH,aApBW;AAHT,WAAP;AAyBH,SA7BM,CAAP;AA8BH;AAhCS,KAAd;AAkCA,QAAIu3B,QAAQ,GAAG;AACXvhB,MAAAA,QAAQ,EAAE,kBAASoC,GAAT,EAAc4L,QAAd,EAAwBiM,IAAxB,EAA8B1tB,IAA9B,EAAoC;AAC1C,YAAIi1B,gBAAgB,GAAGj1B,IAAI,CAACszB,SAA5B;AAAA,YAAuC4B,QAAQ,GAAGl1B,IAAI,CAACk1B,QAAvD;AAAA,YAAiEC,UAAU,GAAGn1B,IAAI,CAACm1B,UAAnF;AAAA,YAA+FC,MAAM,GAAGp1B,IAAI,CAACo1B,MAA7G;AAAA,YAAqHC,MAAM,GAAGr1B,IAAI,CAACq1B,MAAnI;;AACA,YAAIC,iBAAiB,GAAG,YAAW;AAC/B,mBAASA,iBAAT,CAA2BC,UAA3B,EAAuCC,IAAvC,EAA6C;AACzC,iBAAKD,UAAL,GAAkB,KAAK,CAAvB;AACA,iBAAKE,aAAL,GAAqB,KAAK,CAA1B;AACA,iBAAK5iC,MAAL,GAAc,KAAK,CAAnB;AACA,iBAAK5G,KAAL,GAAa,KAAK,CAAlB;AACA,iBAAKupC,IAAL,GAAY,KAAK,CAAjB;AACA,iBAAKE,MAAL,GAAc,KAAK,CAAnB;AACA,iBAAKA,MAAL,GAAc,EAAd;AACA,iBAAKH,UAAL,GAAkBA,UAAlB;AACA,iBAAKC,IAAL,GAAYA,IAAZ;AACH;;AACD,cAAIl+B,MAAM,GAAGg+B,iBAAiB,CAAC/2C,SAA/B;;AACA+Y,UAAAA,MAAM,CAACs7B,QAAP,GAAkB,YAAW;AACzB,gBAAIh8B,KAAK,GAAG,IAAZ;;AACA,mBAAOic,aAAa,CAACnF,QAAQ,CAAC,EAAD,EAAK,KAAK+nB,aAAV,EAAyB,KAAKxpC,KAA9B,CAAT,EAAgD,UAASqG,IAAT,EAAe;AAC/E,kBAAI,cAAc,OAAOA,IAAzB,EAA+B;AAC3B,oBAAIkjC,IAAI,GAAG5+B,KAAK,CAAC4+B,IAAjB;AACA,uBAAO,YAAW;AACd,sBAAIl4B,UAAU,GAAGR,SAAjB;AAAA,sBAA4BtF,MAAM,GAAG,IAArC;;AACA,yBAAOg+B,IAAI,CAACG,GAAL,CAAU,YAAW;AACxB,2BAAOrjC,IAAI,CAACkH,KAAL,CAAWhC,MAAX,EAAmB8F,UAAnB,CAAP;AACH,mBAFM,CAAP;AAGH,iBALD;AAMH;;AACD,qBAAOhL,IAAP;AACH,aAXmB,CAApB;AAYH,WAdD;;AAeAgF,UAAAA,MAAM,CAACs+B,QAAP,GAAkB,YAAW;AACzB,gBAAIC,aAAa,GAAG,KAAKN,UAAL,CAAgBO,aAApC;AACA,iBAAKjjC,MAAL,GAAc66B,IAAI,CAAC,KAAKkF,QAAL,EAAD,CAAlB;AACA,iBAAK//B,MAAL,CAAYs7B,MAAZ,CAAmB0H,aAAnB,EAAkCzoB,OAAO,CAACY,MAA1C;AACH,WAJD;;AAKA1W,UAAAA,MAAM,CAACy+B,SAAP,GAAmB,YAAW;AAC1B,gBAAI,KAAKljC,MAAL,IAAe,CAAC,UAASmjC,IAAT,EAAeC,IAAf,EAAqB;AACrC,kBAAIC,OAAO,GAAG,EAAd;;AACA,mBAAK,IAAI72C,GAAT,IAAgB22C,IAAhB;AAAsB,oBAAIA,IAAI,CAACv3C,cAAL,CAAoBY,GAApB,CAAJ,EAA8B;AAChD62C,kBAAAA,OAAO,CAAC72C,GAAD,CAAP,GAAe,CAAC,CAAhB;AACA,sBAAI22C,IAAI,CAAC32C,GAAD,CAAJ,KAAc42C,IAAI,CAAC52C,GAAD,CAAtB,EAA6B,OAAO,CAAC,CAAR;AAChC;AAHD;;AAIA,mBAAK,IAAI0d,IAAT,IAAiBk5B,IAAjB;AAAuB,oBAAI,CAACC,OAAO,CAACn5B,IAAD,CAAZ,EAAoB,OAAO,CAAC,CAAR;AAA3C;;AACA,qBAAO,CAAC,CAAR;AACH,aARmB,CAQlB,KAAK24B,MARa,EAQL,KAAKzpC,KARA,CAApB,EAQ4B;AACxB,mBAAKypC,MAAL,GAAchoB,QAAQ,CAAC,EAAD,EAAK,KAAKzhB,KAAV,CAAtB;AACA,mBAAK4G,MAAL,CAAY45B,WAAZ,CAAwB,KAAKmG,QAAL,EAAxB;AACH;AACJ,WAbD;;AAcA,iBAAO0C,iBAAP;AACH,SAhDuB,EAAxB;;AAiDAA,QAAAA,iBAAiB,CAACa,WAAlB,GAAgC,KAAK,CAArC;AACAb,QAAAA,iBAAiB,CAACc,UAAlB,GAA+B,KAAK,CAApC;AACAd,QAAAA,iBAAiB,CAACc,UAAlB,GAA+B,CAAE,CAAE,IAAIf,MAAJ,CAAWF,UAAX,CAAF,CAAF,EAA8B,CAAE,IAAIE,MAAJ,CAAWD,MAAX,CAAF,CAA9B,CAA/B;AACAE,QAAAA,iBAAiB,CAACa,WAAlB,GAAgC,CAAE,IAAIlB,gBAAJ,CAAqB;AACnDoB,UAAAA,QAAQ,EAAExgB,GADyC;AAEnDqe,UAAAA,QAAQ,EAAE,aAFyC;AAGnDoC,UAAAA,MAAM,EAAE,CAAE,OAAF;AAH2C,SAArB,CAAF,CAAhC;;AAKA,YAAIC,cAAc,GAAG,SAAjBA,cAAiB,GAAW,EAAhC;;AACAA,QAAAA,cAAc,CAACJ,WAAf,GAA6B,KAAK,CAAlC;AACAI,QAAAA,cAAc,CAACJ,WAAf,GAA6B,CAAE,IAAIjB,QAAJ,CAAa;AACxCsB,UAAAA,YAAY,EAAE,CAAElB,iBAAF,CAD0B;AAExCl3C,UAAAA,OAAO,EAAE,CAAEk3C,iBAAF;AAF+B,SAAb,CAAF,CAA7B;AAIA,eAAOiB,cAAP;AACH;AAnEU,KAAf;;AAqEA,aAASE,wBAAT,CAAkCz2B,IAAlC,EAAwC;AACpC,UAAIhE,GAAG,GAAGgE,IAAI,CAAChE,GAAf;AAAA,UAAoBhI,KAAK,GAAGgM,IAAI,CAAChM,KAAjC;AAAA,UAAwCw0B,cAAc,GAAGxoB,IAAI,CAACwoB,cAA9D;AAAA,UAA8EzzB,GAAG,GAAGiL,IAAI,CAACjL,GAAzF;AAAA,UAA8F9I,KAAK,GAAG+T,IAAI,CAAC/T,KAA3G;AAAA,UAAkHod,KAAK,GAAGrJ,IAAI,CAACqJ,KAA/H;AAAA,UAAsI4a,UAAU,GAAGjkB,IAAI,CAACikB,UAAxJ;AACA,UAAI35B,KAAK,GAAG25B,UAAU,CAAC35B,KAAvB;AAAA,UAA8BD,MAAM,GAAG45B,UAAU,CAAC55B,MAAlD;;AACA,UAAI2J,KAAK,IAAIw0B,cAAb,EAA6B;AACzB,YAAIkO,GAAG,GAAG3hC,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAV;AACAkuC,QAAAA,GAAG,CAAC/tC,YAAJ,CAAiB,IAAjB,EAAuBqT,GAAvB;AACA,YAAIzU,KAAK,GAAGwN,GAAG,CAACvM,aAAJ,CAAkB,OAAlB,CAAZ;AACAyD,QAAAA,KAAK,CAAC0qC,QAAN,IAAkBpvC,KAAK,CAACoB,YAAN,CAAmB,OAAnB,EAA4BsD,KAAK,CAAC0qC,QAAlC,CAAlB;AACApvC,QAAAA,KAAK,CAACsB,WAAN,CAAkBkM,GAAG,CAACqhB,cAAJ,CAAmB,oBAAoBpa,GAApB,GAA0B,0GAA1B,GAAuI1R,KAAvI,GAA+I,6BAA/I,GAA+KD,MAA/K,GAAwL,mCAAxL,GAA8N2R,GAA9N,GAAoO,gSAApO,GAAugBA,GAAvgB,GAA6gB,yFAA7gB,GAAymBA,GAAzmB,GAA+mB,4EAAloB,CAAlB;AACA06B,QAAAA,GAAG,CAAC7tC,WAAJ,CAAgBmL,KAAhB;AACA0iC,QAAAA,GAAG,CAAC7tC,WAAJ,CAAgB2/B,cAAhB;AACAkO,QAAAA,GAAG,CAAC7tC,WAAJ,CAAgBtB,KAAhB;AACAihC,QAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B,cAA7B;AACA7iC,QAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB,gBAApB;AACAxtB,QAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACmS,QAAf,EAA0B,YAAW;AACjCgJ,UAAAA,cAAc,CAACoO,SAAf,CAAyBtuC,MAAzB,CAAgC,cAAhC;AACAkgC,UAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B,gBAA7B;AACA7iC,UAAAA,KAAK,CAAC4iC,SAAN,CAAgBtuC,MAAhB,CAAuB,gBAAvB;AACA0L,UAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB,cAApB;AACAn/B,UAAAA,UAAU,CAAE,YAAW;AACnBqf,YAAAA,cAAc,CAACyR,cAAD,CAAd;AACH,WAFS,EAEN,CAFM,CAAV;AAGH,SARD;AASAnf,QAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAAC2S,MAAf,EAAwB,UAASje,KAAT,EAAgB;AACpC,cAAI6V,QAAQ,GAAG7V,KAAK,CAACzX,KAArB;AAAA,cAA4ButB,SAAS,GAAG9V,KAAK,CAAC1X,MAA9C;AACA,sBAAY,OAAOutB,QAAnB,KAAgC8e,GAAG,CAACnvC,KAAJ,CAAU+C,KAAV,GAAkB0uB,KAAK,CAACpB,QAAD,CAAvD;AACA,sBAAY,OAAOC,SAAnB,KAAiC6e,GAAG,CAACnvC,KAAJ,CAAU8C,MAAV,GAAmB2uB,KAAK,CAACnB,SAAD,CAAzD;AACH,SAJD;AAKA,eAAO6e,GAAP;AACH;AACJ;;AACD,aAASI,wBAAT,CAAkC92B,IAAlC,EAAwC;AACpC,UAAIjL,GAAG,GAAGiL,IAAI,CAACjL,GAAf;AAAA,UAAoB9I,KAAK,GAAG+T,IAAI,CAAC/T,KAAjC;AACA,UAAIoqB,IAAI,GAAGthB,GAAG,CAACvM,aAAJ,CAAkB,MAAlB,CAAX;AACA,UAAI+F,IAAI,GAAGwG,GAAG,CAACvM,aAAJ,CAAkB,MAAlB,CAAX;AACA,UAAIjB,KAAK,GAAGwN,GAAG,CAACvM,aAAJ,CAAkB,OAAlB,CAAZ;AACA,UAAIuuC,OAAO,GAAGhiC,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAd;AACAuuC,MAAAA,OAAO,CAACH,SAAR,CAAkBC,GAAlB,CAAsB,SAAtB;AACA5qC,MAAAA,KAAK,CAAC0qC,QAAN,IAAkBpvC,KAAK,CAACoB,YAAN,CAAmB,OAAnB,EAA4BsD,KAAK,CAAC0qC,QAAlC,CAAlB;AACAtgB,MAAAA,IAAI,CAACxtB,WAAL,CAAiB0F,IAAjB;AACAA,MAAAA,IAAI,CAAC1F,WAAL,CAAiBkuC,OAAjB;AACAxoC,MAAAA,IAAI,CAAC1F,WAAL,CAAiBtB,KAAjB;AACAA,MAAAA,KAAK,CAACsB,WAAN,CAAkBkM,GAAG,CAACqhB,cAAJ,CAAmB,+5BAAnB,CAAlB;AACA,aAAOC,IAAP;AACH;;AACD,QAAI2gB,cAAc,GAAG5jB,OAAO,EAA5B;AACA,QAAI6jB,SAAS,GAAG7jB,OAAO,EAAvB;;AACA,aAASqgB,SAAT,CAAmB7sB,IAAnB,EAAyB;AACrB,UAAIvK,OAAO,GAAG,UAASA,OAAT,EAAkB;AAC5B,YAAIwZ,GAAG,GAAGxZ,OAAO,CAACwZ,GAAlB;AAAA,YAAuBxnB,GAAG,GAAGgO,OAAO,CAAChO,GAArC;AAAA,YAA0C7B,MAAM,GAAG6P,OAAO,CAAC7P,MAA3D;AAAA,YAAmEgmC,SAAS,GAAGn2B,OAAO,CAACm2B,SAAvF;AAAA,YAAkG0E,cAAc,GAAG76B,OAAO,CAACpQ,KAA3H;AAAA,YAAkIA,KAAK,GAAG,KAAK,CAAL,KAAWirC,cAAX,GAA4B,EAA5B,GAAiCA,cAA3K;AAAA,YAA2LC,mBAAmB,GAAG96B,OAAO,CAAC4nB,UAAzN;AAAA,YAAqOA,UAAU,GAAG,KAAK,CAAL,KAAWkT,mBAAX,GAAiC,EAAjC,GAAsCA,mBAAxR;AAAA,YAA6SC,mBAAmB,GAAG/6B,OAAO,CAAC6nB,UAA3U;AAAA,YAAuVA,UAAU,GAAG,KAAK,CAAL,KAAWkT,mBAAX,GAAiC,EAAjC,GAAsCA,mBAA1Y;AAAA,YAA+ZC,qBAAqB,GAAGh7B,OAAO,CAACi7B,oBAA/b;AAAA,YAAqdA,oBAAoB,GAAG,KAAK,CAAL,KAAWD,qBAAX,GAAmC,GAAnC,GAAyCA,qBAArhB;AAAA,YAA4iBE,mBAAmB,GAAGl7B,OAAO,CAAC0Z,UAA1kB;AAAA,YAAslBA,UAAU,GAAG,KAAK,CAAL,KAAWwhB,mBAAX,GAAiC,EAAjC,GAAsCA,mBAAzoB;AAAA,YAA8pBC,qBAAqB,GAAGn7B,OAAO,CAACo7B,cAA9rB;AAAA,YAA8sBA,cAAc,GAAG,KAAK,CAAL,KAAWD,qBAAX,GAAmCpqB,OAAO,CAACY,MAA3C,GAAoDwpB,qBAAnxB;AAAA,YAA0yBE,qBAAqB,GAAGr7B,OAAO,CAAC0nB,iBAA10B;AAAA,YAA61BA,iBAAiB,GAAG,KAAK,CAAL,KAAW2T,qBAAX,GAAmCjB,wBAAnC,GAA8DiB,qBAA/6B;AAAA,YAAs8BC,qBAAqB,GAAGt7B,OAAO,CAAC2nB,iBAAt+B;AAAA,YAAy/BA,iBAAiB,GAAG,KAAK,CAAL,KAAW2T,qBAAX,GAAmCb,wBAAnC,GAA8Da,qBAA3kC;AAAA,YAAkmCC,QAAQ,GAAGv7B,OAAO,CAACu7B,QAArnC;AAAA,YAA+nCC,iBAAiB,GAAGx7B,OAAO,CAACy7B,QAA3pC;AAAA,YAAqqCA,QAAQ,GAAG,KAAK,CAAL,KAAWD,iBAAX,GAA+B,YAAW;AACttC,iBAAO;AACHC,YAAAA,QAAQ,EAAE,CAAC;AADR,WAAP;AAGH,SAJ+qC,GAI5qCD,iBAJJ;AAAA,YAIuBE,eAAe,GAAG17B,OAAO,CAAC27B,MAJjD;AAAA,YAIyDA,MAAM,GAAG,KAAK,CAAL,KAAWD,eAAX,GAA6B;AAC3FzzC,UAAAA,IAAI,EAAEmZ;AADqF,SAA7B,GAE9Ds6B,eANJ;AAAA,YAMqBE,gBAAgB,GAAG57B,OAAO,CAACje,OANhD;AAAA,YAMyD85C,gBAAgB,GAAG,KAAK,CAAL,KAAWD,gBAAX,GAA8Bx6B,aAA9B,GAA8Cw6B,gBAN1H;AAAA,YAM4Il2C,MAAM,GAAGsa,OAAO,CAACta,MAN7J;AAAA,YAMqKo2C,iBAAiB,GAAG97B,OAAO,CAAC6uB,QANjM;AAAA,YAM2MA,QAAQ,GAAG,KAAK,CAAL,KAAWiN,iBAAX,GAA+B,YAAW;AAC5P,iBAAO,EAAP;AACH,SAFqN,GAElNA,iBARJ;AASA,YAAIh2C,IAAI,GAAG0zB,GAAG,CAAC3a,OAAJ,CAAY,IAAZ,EAAkB,GAAlB,CAAX;;AACA,YAAIumB,QAAQ,GAAG/T,QAAQ,CAAC,EAAD,EAAK;AACxBxkB,UAAAA,MAAM,EAAE;AACJtI,YAAAA,IAAI,EAAEssB,SAAS,CAAC8R,MADZ;AAEJ2I,YAAAA,WAAW,EAAE,CAAC,CAFV;AAGJoF,YAAAA,QAAQ,EAAE,CAAC,CAHP;AAIJ0B,YAAAA,aAAa,EAAE,CAAC,CAJZ;AAKJmJ,YAAAA,QAAQ,EAAE,kBAAS71B,KAAT,EAAgB;AACtB,kBAAIziB,KAAK,GAAGyiB,KAAK,CAACziB,KAAlB;AACA,kBAAI,CAACsW,QAAQ,CAACtW,KAAD,CAAT,IAAoB,CAACmS,kBAAkB,CAACkS,aAAnB,CAAiCrkB,KAAjC,CAAzB,EAAkE,MAAM,IAAIsE,KAAJ,CAAU,gCAAV,CAAN;;AAClE,kBAAIgS,QAAQ,CAACtW,KAAD,CAAZ,EAAqB;AACjB,oBAAI+U,cAAc,CAAC/U,KAAD,CAAlB,EAA2B,MAAM,IAAIsE,KAAJ,CAAU,kBAAV,CAAN;AAC3B,oBAAI,CAAC0P,YAAY,CAAChU,KAAD,CAAjB,EAA0B,MAAM,IAAIsE,KAAJ,CAAU,2BAAV,CAAN;AAC7B;AACJ,aAZG;AAaJopC,YAAAA,QAAQ,EAAE,kBAAS3oB,KAAT,EAAgB;AACtB,qBAAOtS,mBAAmB,CAACsS,KAAK,CAAC/kB,KAAP,CAA1B;AACH;AAfG,WADgB;AAkBxB+Y,UAAAA,OAAO,EAAE;AACLzX,YAAAA,IAAI,EAAEssB,SAAS,CAACiS,MADX;AAEL4N,YAAAA,QAAQ,EAAE,CAAC,CAFN;AAGLpF,YAAAA,WAAW,EAAE,CAAC;AAHT,WAlBe;AAuBxBgP,UAAAA,QAAQ,EAAE;AACN/1C,YAAAA,IAAI,EAAEssB,SAAS,CAAC6R,MADV;AAENgO,YAAAA,QAAQ,EAAE,CAAC;AAFL,WAvBc;AA2BxBc,UAAAA,SAAS,EAAE;AACPjtC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADT;AAEP8N,YAAAA,QAAQ,EAAE,CAAC,CAFJ;AAGPpF,YAAAA,WAAW,EAAE,CAAC,CAHP;AAIP8G,YAAAA,aAAa,EAAE,CAAC,CAJT;AAKP,uBAASrM,iBALF;AAMP4K,YAAAA,QAAQ,EAAE3K;AANH,WA3Ba;AAmCxByL,UAAAA,UAAU,EAAE;AACRltC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADR;AAER8N,YAAAA,QAAQ,EAAE,CAAC,CAFH;AAGRpF,YAAAA,WAAW,EAAE,CAAC,CAHN;AAIR,uBAASvF,iBAJD;AAKR4K,YAAAA,QAAQ,EAAE3K;AALF,WAnCY;AA0CxBsL,UAAAA,QAAQ,EAAE;AACN/sC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADV;AAEN8N,YAAAA,QAAQ,EAAE,CAAC,CAFL;AAGNpF,YAAAA,WAAW,EAAE,CAAC,CAHR;AAIN,uBAASvF,iBAJH;AAKN4K,YAAAA,QAAQ,EAAE3K;AALJ,WA1Cc;AAiDxB0L,UAAAA,aAAa,EAAE;AACXntC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADL;AAEX8N,YAAAA,QAAQ,EAAE,CAAC,CAFA;AAGXpF,YAAAA,WAAW,EAAE,CAAC,CAHH;AAIX,uBAASvF,iBAJE;AAKX4K,YAAAA,QAAQ,EAAE3K;AALC,WAjDS;AAwDxBuL,UAAAA,WAAW,EAAE;AACThtC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADP;AAET8N,YAAAA,QAAQ,EAAE,CAAC,CAFF;AAGTpF,YAAAA,WAAW,EAAE,CAAC,CAHL;AAIT,uBAASvF,iBAJA;AAKT4K,YAAAA,QAAQ,EAAE3K;AALD,WAxDW;AA+DxB2L,UAAAA,OAAO,EAAE;AACLptC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADX;AAEL8N,YAAAA,QAAQ,EAAE,CAAC,CAFN;AAGLpF,YAAAA,WAAW,EAAE,CAAC,CAHT;AAIL8G,YAAAA,aAAa,EAAE,CAAC,CAJX;AAKL,uBAASrM,iBALJ;AAML4K,YAAAA,QAAQ,EAAE3K;AANL,WA/De;AAuExB4L,UAAAA,SAAS,EAAE;AACPrtC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADT;AAEP8N,YAAAA,QAAQ,EAAE,CAAC,CAFJ;AAGPpF,YAAAA,WAAW,EAAE,CAAC,CAHP;AAIP8G,YAAAA,aAAa,EAAE,CAAC,CAJT;AAKP,uBAASrM,iBALF;AAMP4K,YAAAA,QAAQ,EAAE3K;AANH,WAvEa;AA+ExBpL,UAAAA,QAAQ,EAAE;AACNr2B,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADV;AAEN8N,YAAAA,QAAQ,EAAE,CAAC,CAFL;AAGNpF,YAAAA,WAAW,EAAE,CAAC,CAHR;AAIN8G,YAAAA,aAAa,EAAE,CAAC,CAJV;AAKN,uBAASrM;AALH,WA/Ec;AAsFxB8L,UAAAA,OAAO,EAAE;AACLttC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADX;AAEL8N,YAAAA,QAAQ,EAAE,CAAC,CAFN;AAGLpF,YAAAA,WAAW,EAAE,CAAC,CAHT;AAIL8G,YAAAA,aAAa,EAAE,CAAC,CAJX;AAKL,uBAASrM;AALJ,WAtFe;AA6FxBpsB,UAAAA,KAAK,EAAE;AACHpV,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADb;AAEH8N,YAAAA,QAAQ,EAAE,CAAC,CAFR;AAGHpF,YAAAA,WAAW,EAAE,CAAC,CAHX;AAIHhG,YAAAA,aAAa,EAAE,uBAASthB,KAAT,EAAgB;AAC3B,qBAAOA,KAAK,CAACrK,KAAb;AACH;AANE,WA7FiB;AAqGxB+M,UAAAA,KAAK,EAAE;AACHniB,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADb;AAEH8N,YAAAA,QAAQ,EAAE,CAAC,CAFR;AAGHpF,YAAAA,WAAW,EAAE,CAAC,CAHX;AAIHhG,YAAAA,aAAa,EAAE,uBAASnhB,KAAT,EAAgB;AAC3B,qBAAOA,KAAK,CAACuC,KAAb;AACH;AANE,WArGiB;AA6GxB8e,UAAAA,MAAM,EAAE;AACJjhC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADZ;AAEJ8N,YAAAA,QAAQ,EAAE,CAAC,CAFP;AAGJpF,YAAAA,WAAW,EAAE,CAAC,CAHV;AAIJhG,YAAAA,aAAa,EAAE,uBAAShhB,KAAT,EAAgB;AAC3B,qBAAOA,KAAK,CAACkhB,MAAb;AACH;AANG,WA7GgB;AAqHxB7lB,UAAAA,GAAG,EAAE;AACDpb,YAAAA,IAAI,EAAEssB,SAAS,CAAC6R,MADf;AAEDgO,YAAAA,QAAQ,EAAE,CAAC,CAFV;AAGDpF,YAAAA,WAAW,EAAE,CAAC,CAHb;AAIDhG,YAAAA,aAAa,EAAE,uBAAS/gB,KAAT,EAAgB;AAC3B,qBAAOA,KAAK,CAAC5E,GAAb;AACH;AANA,WArHmB;AA6HxB6Z,UAAAA,GAAG,EAAE;AACDj1B,YAAAA,IAAI,EAAEssB,SAAS,CAAC6R,MADf;AAEDgO,YAAAA,QAAQ,EAAE,CAAC,CAFV;AAGDpF,YAAAA,WAAW,EAAE,CAAC,CAHb;AAIDhG,YAAAA,aAAa,EAAE,uBAASzc,KAAT,EAAgB;AAC3B,qBAAOA,KAAK,CAAC2Q,GAAb;AACH;AANA,WA7HmB;AAqIxBjjB,UAAAA,SAAS,EAAE;AACPhS,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADT;AAEP8N,YAAAA,QAAQ,EAAE,CAAC,CAFJ;AAGPpF,YAAAA,WAAW,EAAE,CAAC,CAHP;AAIPhG,YAAAA,aAAa,EAAE,uBAASxc,KAAT,EAAgB;AAC3B,qBAAOA,KAAK,CAACvS,SAAb;AACH;AANM,WArIa;AA6IxBkvB,UAAAA,eAAe,EAAE;AACblhC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADH;AAEb8N,YAAAA,QAAQ,EAAE,CAAC,CAFE;AAGbpF,YAAAA,WAAW,EAAE,CAAC,CAHD;AAIbhG,YAAAA,aAAa,EAAE,uBAAS6J,MAAT,EAAiB;AAC5B,qBAAOA,MAAM,CAAC1J,eAAd;AACH;AANY,WA7IO;AAqJxBC,UAAAA,IAAI,EAAE;AACFnhC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADd;AAEF8N,YAAAA,QAAQ,EAAE,CAAC,CAFT;AAGFpF,YAAAA,WAAW,EAAE,CAAC,CAHZ;AAIFhG,YAAAA,aAAa,EAAE,uBAAS+J,MAAT,EAAiB;AAC5B,qBAAOA,MAAM,CAAC3J,IAAd;AACH;AANC,WArJkB;AA6JxBC,UAAAA,IAAI,EAAE;AACFphC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADd;AAEF8N,YAAAA,QAAQ,EAAE,CAAC,CAFT;AAGFpF,YAAAA,WAAW,EAAE,CAAC,CAHZ;AAIFhG,YAAAA,aAAa,EAAE,uBAASiK,MAAT,EAAiB;AAC5B,qBAAOA,MAAM,CAAC5J,IAAd;AACH;AANC,WA7JkB;AAqKxB,oBAAQ;AACJphC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADZ;AAEJ8N,YAAAA,QAAQ,EAAE,CAAC,CAFP;AAGJpF,YAAAA,WAAW,EAAE,CAAC,CAHV;AAIJhG,YAAAA,aAAa,EAAE,uBAASgN,MAAT,EAAiB;AAC5B,qBAAOA,MAAM,UAAb;AACH;AANG,WArKgB;AA6KxBz2B,UAAAA,OAAO,EAAE;AACLtX,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADX;AAEL8N,YAAAA,QAAQ,EAAE,CAAC,CAFN;AAGLpF,YAAAA,WAAW,EAAE,CAAC,CAHT;AAILhG,YAAAA,aAAa,EAAE,uBAASyM,MAAT,EAAiB;AAC5B,qBAAOA,MAAM,CAACl2B,OAAd;AACH;AANI,WA7Ke;AAqLxB0pB,UAAAA,OAAO,EAAE;AACLhhC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADX;AAEL8N,YAAAA,QAAQ,EAAE,CAAC,CAFN;AAGLpF,YAAAA,WAAW,EAAE,CAAC,CAHT;AAILhG,YAAAA,aAAa,EAAE,uBAASyP,MAAT,EAAiB;AAC5B,qBAAOA,MAAM,CAACxP,OAAd;AACH;AANI,WArLe;AA6LxBK,UAAAA,WAAW,EAAE;AACTrhC,YAAAA,IAAI,EAAEssB,SAAS,CAAC+R,QADP;AAET8N,YAAAA,QAAQ,EAAE,CAAC,CAFF;AAGTpF,YAAAA,WAAW,EAAE,CAAC,CAHL;AAIThG,YAAAA,aAAa,EAAE,uBAAS2P,MAAT,EAAiB;AAC5B,qBAAOA,MAAM,CAACrP,WAAd;AACH;AANQ;AA7LW,SAAL,EAqMpBh2B,KArMoB,CAAvB;;AAsMA,YAAI,CAAC83B,iBAAL,EAAwB,MAAM,IAAIngC,KAAJ,CAAU,6BAAV,CAAN;AACxB,eAAO;AACHzB,UAAAA,IAAI,EAAEA,IADH;AAEH0zB,UAAAA,GAAG,EAAEA,GAFF;AAGHxnB,UAAAA,GAAG,EAAEA,GAHF;AAIH7B,UAAAA,MAAM,EAAEA,MAJL;AAKHgmC,UAAAA,SAAS,EAAEA,SALR;AAMHzwC,UAAAA,MAAM,EAAEA,MANL;AAOH0/B,UAAAA,QAAQ,EAAEA,QAPP;AAQHwC,UAAAA,UAAU,EAAEA,UART;AASHC,UAAAA,UAAU,EAAEA,UATT;AAUHoT,UAAAA,oBAAoB,EAAEA,oBAVnB;AAWHvhB,UAAAA,UAAU,EAAEA,UAXT;AAYH0hB,UAAAA,cAAc,EAAEA,cAZb;AAaH1T,UAAAA,iBAAiB,EAAEA,iBAbhB;AAcHC,UAAAA,iBAAiB,EAAEA,iBAdhB;AAeH4T,UAAAA,QAAQ,EAAEA,QAfP;AAgBHI,UAAAA,MAAM,EAAEA,MAhBL;AAiBHF,UAAAA,QAAQ,EAAEA,QAjBP;AAkBH5M,UAAAA,QAAQ,EAAEA,QAlBP;AAmBH9sC,UAAAA,OAAO,EAAE,cAAc,OAAO85C,gBAArB,GAAwCA,gBAAxC,GAA2D,UAASl4B,IAAT,EAAe;AAC/E,gBAAI6yB,UAAU,GAAG7yB,IAAI,CAAC6yB,UAAtB;AACA,gBAAI9vC,MAAM,GAAG,EAAb;;AACA,gBAAIkW,KAAK,GAAG,SAARA,KAAQ,GAAW;AACnB,kBAAI5Z,GAAG,GAAG22B,aAAa,CAAC5T,GAAD,CAAvB;AACA,kBAAIxhB,IAAI,GAAGs3C,gBAAgB,CAAC74C,GAAD,CAAhB,CAAsBuB,IAAjC;AACA,kBAAIw3C,YAAY,GAAGvF,UAAU,GAAG7vC,IAAb,CAAmB,UAAS0L,GAAT,EAAc;AAChD,uBAAOA,GAAG,CAACrP,GAAD,CAAV;AACH,eAFkB,CAAnB;AAGA0D,cAAAA,MAAM,CAAC1D,GAAD,CAAN,GAAcuB,IAAI,KAAKssB,SAAS,CAAC+R,QAAnB,GAA8B,YAAW;AACnD,qBAAK,IAAIpiB,IAAI,GAAGC,SAAS,CAACrX,MAArB,EAA6B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU6U,IAAV,CAApC,EAAqDE,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGF,IAA3E,EAAiFE,IAAI,EAArF;AAAyFxD,kBAAAA,IAAI,CAACwD,IAAD,CAAJ,GAAaD,SAAS,CAACC,IAAD,CAAtB;AAAzF;;AACA,uBAAOq7B,YAAY,CAACp1C,IAAb,CAAmB,UAAS1D,KAAT,EAAgB;AACtC,yBAAOA,KAAK,CAACka,KAAN,CAAY,KAAK,CAAjB,EAAoBD,IAApB,CAAP;AACH,iBAFM,CAAP;AAGH,eALa,GAKV6+B,YALJ;AAMH,aAZD;;AAaA,iBAAK,IAAIh2B,GAAG,GAAG,CAAV,EAAa4T,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAY4yC,gBAAZ,CAAlC,EAAiE91B,GAAG,GAAG4T,aAAa,CAACvwB,MAArF,EAA6F2c,GAAG,EAAhG;AAAoGnJ,cAAAA,KAAK;AAAzG;;AACA,mBAAOlW,MAAP;AACH;AArCE,SAAP;AAuCH,OAzPa,CAyPZ6jB,IAzPY,CAAd;;AA0PA,UAAIzkB,IAAI,GAAGka,OAAO,CAACla,IAAnB;AAAA,UAAyB0zB,GAAG,GAAGxZ,OAAO,CAACwZ,GAAvC;AAAA,UAA4C4hB,cAAc,GAAGp7B,OAAO,CAACo7B,cAArE;AAAA,UAAqFhW,QAAQ,GAAGplB,OAAO,CAAColB,QAAxG;AAAA,UAAkHqW,QAAQ,GAAGz7B,OAAO,CAACy7B,QAArI;AAAA,UAA+I5M,QAAQ,GAAG7uB,OAAO,CAAC6uB,QAAlK;AACA,UAAIzrB,MAAM,GAAG+d,oBAAoB,CAACt0B,MAAD,CAAjC;AACA,UAAImvC,WAAW,GAAG,EAAlB;AACA,UAAIC,SAAS,GAAG,EAAhB;;AACA,UAAIC,OAAO,GAAG,SAAVA,OAAU,GAAW;AACrB,YAAI,UAASp2C,IAAT,EAAe;AACf,cAAI;AACA,mBAAOi+B,eAAe,CAACl3B,MAAM,CAAC/G,IAAR,CAAf,CAA6BA,IAA7B,KAAsCA,IAA7C;AACH,WAFD,CAEE,OAAOxC,GAAP,EAAY;;AACd,iBAAO,CAAC,CAAR;AACH,SALG,CAKFwC,IALE,CAAJ,EAKS;AACL,cAAIq2C,QAAQ,GAAGpX,uBAAuB,GAAGD,OAAzC;AACA,cAAIqX,QAAQ,CAAC3iB,GAAT,KAAiBA,GAAjB,IAAwBzgB,WAAW,CAACojC,QAAQ,CAACnK,gBAAV,EAA4Bl7B,SAAS,EAArC,CAAvC,EAAiF,OAAO,CAAC,CAAR;AACpF;;AACD,eAAO,CAAC,CAAR;AACH,OAXD;;AAYA,UAAIslC,aAAa,GAAGr8B,OAAO,CAAE,YAAW;AACpC,YAAIm8B,OAAO,EAAX,EAAe;AACX,cAAIrvC,MAAM,CAACwvC,MAAX,EAAmB;AACf,mBAAOj5B,MAAM,CAACk5B,UAAP,CAAkB9iB,GAAlB,CAAP;AACA,kBAAM,IAAIjyB,KAAJ,CAAU,sBAAsBzB,IAAtB,GAA6B,sCAAvC,CAAN;AACH;;AACD,cAAIwR,KAAK,GAAG,UAAS0I,OAAT,EAAkB;AAC1B,gBAAIwZ,GAAG,GAAGxZ,OAAO,CAACwZ,GAAlB;AAAA,gBAAuB4L,QAAQ,GAAGplB,OAAO,CAAColB,QAA1C;AAAA,gBAAoDyC,UAAU,GAAG7nB,OAAO,CAAC6nB,UAAzE;AAAA,gBAAqFoT,oBAAoB,GAAGj7B,OAAO,CAACi7B,oBAApH;AACA,gBAAIsB,cAAc,GAAG,EAArB;;AACA,gBAAIC,qBAAqB,GAAGzX,uBAAuB,EAAnD;AAAA,gBAAuDvuB,MAAM,GAAGgmC,qBAAqB,CAAChmC,MAAtF;AAAA,gBAA8FsuB,OAAO,GAAG0X,qBAAqB,CAAC1X,OAA9H;;AACA,gBAAI2X,qBAAqB,GAAGjmC,MAAM,CAACJ,GAAnC;AAAA,gBAAwCsmC,YAAY,GAAGlmC,MAAM,CAACrG,MAA9D;AACA,gBAAIP,KAAJ;AACA,gBAAIw+B,cAAc,GAAG,IAAIl5B,oBAAJ,EAArB;AACA,gBAAI9E,OAAO,GAAG00B,OAAO,CAAC10B,OAAtB;AAAA,gBAA+BuP,GAAG,GAAGmlB,OAAO,CAACnlB,GAA7C;AAAA,gBAAkDg9B,aAAa,GAAG7X,OAAO,CAAC/iC,OAA1E;AAAA,gBAAmFiC,OAAO,GAAG8gC,OAAO,CAAC9gC,OAArG;AAAA,gBAA8G44C,YAAY,GAAG9X,OAAO,CAACl1B,KAArI;AACA,gBAAI,CAAC,UAASitC,QAAT,EAAmBC,QAAnB,EAA6B;AAC9B,kBAAI,CAAC,IAAItgB,IAAJ,CAASqgB,QAAT,CAAD,IAAuB,CAAC,IAAIrgB,IAAJ,CAAS,QAAT,CAA5B,EAAgD,MAAM,IAAIj1B,KAAJ,CAAU,wCAAwCs1C,QAAxC,GAAmD,WAA7D,CAAN;AAChD,qBAAOA,QAAQ,CAACpvC,KAAT,CAAe,GAAf,EAAoB,CAApB,MAA2B,SAASA,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAlC;AACH,aAHI,CAGH2C,OAHG,CAAL,EAGY,MAAM,IAAI7I,KAAJ,CAAU,oCAAoC6I,OAApC,GAA8C,mCAAxD,CAAN;AACZ,gBAAIs1B,IAAI,GAAGiX,aAAa,CAACjX,IAAzB;AAAA,gBAA+BC,IAAI,GAAGgX,aAAa,CAAChX,IAApD;AAAA,gBAA0DhsB,KAAK,GAAGgjC,aAAa,CAAChjC,KAAhF;AAAA,gBAAuFkC,OAAO,GAAG8gC,aAAa,CAAC9gC,OAA/G;AAAA,gBAAwH44B,UAAU,GAAGkI,aAAa,CAAClI,UAAnJ;AAAA,gBAA+JsI,YAAY,GAAGJ,aAAa,UAA3L;AAAA,gBAAoMK,YAAY,GAAGL,aAAa,CAACnX,MAAjO;AAAA,gBAAyOyX,UAAU,GAAGN,aAAa,CAACtL,IAApQ;;AACA,gBAAI96B,SAAS,GAAG,SAAZA,SAAY,GAAW;AACvB,qBAAOkmC,qBAAP;AACH,aAFD;;AAGA,gBAAIhX,eAAe,GAAG,SAAlBA,eAAkB,GAAW;AAC7B,qBAAOiX,YAAP;AACH,aAFD;;AAGA,gBAAInX,OAAO,GAAG,SAAVA,OAAU,CAASjrB,OAAT,EAAkB;AAC5BiiC,cAAAA,cAAc,CAAC1zC,IAAf,CAAoByR,OAApB;AACA,qBAAO;AACH0C,gBAAAA,MAAM,EAAE,kBAAW;AACfu/B,kBAAAA,cAAc,CAACt/B,MAAf,CAAsBs/B,cAAc,CAACvlC,OAAf,CAAuBsD,OAAvB,CAAtB,EAAuD,CAAvD;AACH;AAHE,eAAP;AAKH,aAPD;;AAQA,gBAAIkrB,MAAM,GAAG,SAATA,MAAS,CAAS7hB,IAAT,EAAe;AACxB,qBAAOq5B,YAAY,CAACtyB,aAAb,CAA2B;AAC9Bzc,gBAAAA,KAAK,EAAE0V,IAAI,CAAC1V,KADkB;AAE9BD,gBAAAA,MAAM,EAAE2V,IAAI,CAAC3V;AAFiB,eAA3B,CAAP;AAIH,aALD;;AAMA,gBAAIqgC,KAAK,GAAG,SAARA,KAAQ,CAAStG,MAAT,EAAiB;AACzBqG,cAAAA,cAAc,CAAC7nC,OAAf,CAAuBwhC,MAAvB;AACA,qBAAOgV,YAAY,CAAChV,MAAD,CAAnB;AACH,aAHD;;AAIA,gBAAInC,WAAW,GAAG,SAAdA,WAAc,CAAS3W,KAAT,EAAgB;AAC9B,kBAAIiuB,SAAS,GAAG,CAAC,KAAK,CAAL,KAAWjuB,KAAX,GAAmB,EAAnB,GAAwBA,KAAzB,EAAgCiuB,SAAhD;AACA,kBAAIx2C,MAAM,GAAG,EAAb;AACA,kBAAIy2C,aAAa,GAAGvtC,KAAK,CAAC4G,MAA1B;AACA,mBAAK,CAAL,KAAW0mC,SAAX,KAAyBA,SAAS,GAAG,CAACC,aAAtC;AACA,kBAAI,CAACD,SAAD,IAAc,CAACC,aAAnB,EAAkC,MAAM,IAAI51C,KAAJ,CAAU,yBAAyBiyB,GAAzB,GAA+B,QAAzC,CAAN;;AAClC,mBAAK,IAAIzT,GAAG,GAAG,CAAV,EAAaye,sBAAsB,GAAGvS,oBAAoB,CAACplB,MAAD,CAA/D,EAAyEkZ,GAAG,GAAGye,sBAAsB,CAACp7B,MAAtG,EAA8G2c,GAAG,EAAjH,EAAqH;AACjH,oBAAI3P,GAAG,GAAGouB,sBAAsB,CAACze,GAAD,CAAhC;;AACA,oBAAI9O,YAAY,CAACb,GAAD,CAAhB,EAAuB;AACnB,sBAAIimC,MAAM,GAAGjlC,gBAAgB,CAAChB,GAAD,CAAhB,CAAsBimC,MAAnC;;AACA,sBAAIA,MAAM,IAAI9lC,SAAS,OAAO8lC,MAAM,CAAC9lC,SAAP,EAA9B,EAAkD;AAC9C,wBAAI6mC,SAAS,GAAGf,MAAM,CAAC7lC,MAAvB;;AACA,wBAAI0mC,SAAS,IAAI,CAACC,aAAd,IAA+BC,SAAS,IAAIA,SAAS,CAACz9B,GAAV,KAAkBw9B,aAAa,CAACx9B,GAAhF,EAAqF;AACjF,0BAAIooB,MAAM,GAAG1G,SAAS,CAACjrB,GAAD,EAAO,UAASgN,MAAT,EAAiB;AAC1C,+BAAOA,MAAM,CAACrhB,OAAd;AACH,uBAFqB,CAAtB;AAGA2E,sBAAAA,MAAM,CAACmC,IAAP,CAAY;AACR+G,wBAAAA,KAAK,EAAEysC,MADC;AAERt6C,wBAAAA,OAAO,EAAEgmC;AAFD,uBAAZ;AAIH;AACJ;AACJ;AACJ;;AACD,qBAAOrhC,MAAP;AACH,aAzBD;;AA0BA,gBAAI2pC,QAAQ,GAAG,SAAXA,QAAW,CAASO,QAAT,EAAmB33B,MAAnB,EAA2BokC,QAA3B,EAAqC;AAChD,mBAAK,CAAL,KAAWA,QAAX,KAAwBA,QAAQ,GAAG,CAAC,CAApC;;AACA,kBAAIC,eAAe,GAAG,UAASb,qBAAT,EAAgCrX,QAAhC,EAA0Cx1B,KAA1C,EAAiDqJ,MAAjD,EAAyDosB,OAAzD,EAAkEgY,QAAlE,EAA4E;AAC9F,qBAAK,CAAL,KAAWA,QAAX,KAAwBA,QAAQ,GAAG,CAAC,CAApC;AACA,oBAAI32C,MAAM,GAAG,EAAb;;AACA,qBAAK,IAAIqf,GAAG,GAAG,CAAV,EAAa4T,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAY2G,KAAZ,CAAlC,EAAsDmW,GAAG,GAAG4T,aAAa,CAACvwB,MAA1E,EAAkF2c,GAAG,EAArF,EAAyF;AACrF,sBAAI/iB,GAAG,GAAG22B,aAAa,CAAC5T,GAAD,CAAvB;AACA,sBAAI3a,IAAI,GAAGg6B,QAAQ,CAACpiC,GAAD,CAAnB;AACA,sBAAIuoC,YAAY,GAAGngC,IAAI,IAAIA,IAAI,CAACogC,cAAb,IAA+BpgC,IAAI,CAACogC,cAAL,CAAoBpiC,MAApB,GAA6B,CAA5D,GAAgEgC,IAAI,CAACogC,cAAL,CAAoBrgC,MAApB,CAA4B,UAASsgC,GAAT,EAAc/rB,GAAd,EAAmB;AAC9H,2BAAO+rB,GAAG,IAAI1yB,WAAW,CAAC2G,GAAD,EAAM5I,SAAS,CAACjK,MAAD,CAAf,CAAzB;AACH,mBAFkF,EAE/E,CAAC,CAF8E,CAAhE,GAEToM,MAAM,KAAKnC,SAAS,CAACjK,MAAD,CAApB,IAAgCoK,YAAY,CAACwlC,qBAAD,CAFtD;;AAGA,sBAAI,CAAC,CAACrxC,IAAD,IAAS,CAACA,IAAI,CAAC2b,UAAf,IAA6BwkB,YAA9B,MAAgD,CAACngC,IAAD,IAAS,CAACA,IAAI,CAACogC,cAAf,IAAiCD,YAAjF,CAAJ,EAAoG;AAChG,wBAAItoC,KAAK,GAAGkiC,kBAAkB,CAACC,QAAD,EAAW,CAAX,EAAcpiC,GAAd,EAAmB4M,KAAK,CAAC5M,GAAD,CAAxB,EAA+BqiC,OAA/B,CAA9B;AACA3+B,oBAAAA,MAAM,CAAC1D,GAAD,CAAN,GAAcC,KAAd;AACAmI,oBAAAA,IAAI,IAAIA,IAAI,CAACqlC,KAAb,IAAsB,CAAC/pC,MAAM,CAAC0E,IAAI,CAACqlC,KAAN,CAA7B,KAA8C/pC,MAAM,CAAC0E,IAAI,CAACqlC,KAAN,CAAN,GAAqBxtC,KAAnE;AACH;AACJ;;AACD,oBAAI,CAACo6C,QAAL,EAAe,KAAK,IAAIvxB,GAAG,GAAG,CAAV,EAAawT,aAAa,GAAGr9B,MAAM,CAACgH,IAAP,CAAYm8B,QAAZ,CAAlC,EAAyDtZ,GAAG,GAAGwT,aAAa,CAACl2B,MAA7E,EAAqF0iB,GAAG,EAAxF,EAA4F;AACvG,sBAAIpL,IAAI,GAAG4e,aAAa,CAACxT,GAAD,CAAxB;AACAlc,kBAAAA,KAAK,CAACxN,cAAN,CAAqBse,IAArB,MAA+Bha,MAAM,CAACga,IAAD,CAAN,GAAeykB,kBAAkB,CAACC,QAAD,EAAW,CAAX,EAAc1kB,IAAd,EAAoB,KAAK,CAAzB,EAA4B2kB,OAA5B,CAAhE;AACH;AACD,uBAAO3+B,MAAP;AACH,eApBqB,CAoBpB+1C,qBApBoB,EAoBGrX,QApBH,EAoBawL,QApBb,EAoBuB33B,MApBvB,EAoB+B;AACjDugB,gBAAAA,GAAG,EAAEA,GAD4C;AAEjDkM,gBAAAA,IAAI,EAAEA,IAF2C;AAGjDC,gBAAAA,IAAI,EAAEA,IAH2C;AAIjDhsB,gBAAAA,KAAK,EAAEA,KAJ0C;AAKjD+M,gBAAAA,KAAK,EAAEmf,WAL0C;AAMjDhqB,gBAAAA,OAAO,EAAEA,OANwC;AAOjD2pB,gBAAAA,MAAM,EAAEA,MAPyC;AAQjDI,gBAAAA,WAAW,EAAEA,WARoC;AASjDL,gBAAAA,OAAO,EAAEA,OATwC;AAUjDhvB,gBAAAA,SAAS,EAAEA,SAVsC;AAWjDkvB,gBAAAA,eAAe,EAAEA,eAXgC;AAYjD9lB,gBAAAA,GAAG,EAAEA,GAZ4C;AAajD,0BAAQ0uB;AAbyC,eApB/B,EAkCnBgP,QAlCmB,CAAtB;;AAmCAztC,cAAAA,KAAK,GAAGkmB,MAAM,CAAClmB,KAAD,EAAQ0tC,eAAR,CAAT,GAAoC1tC,KAAK,GAAG0tC,eAAjD;;AACA,mBAAK,IAAIxxB,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGywB,cAAc,CAACnzC,MAAvC,EAA+C0iB,GAAG,EAAlD;AAAsD,iBAAC,GAAGywB,cAAc,CAACzwB,GAAD,CAAlB,EAAyBlc,KAAzB;AAAtD;AACH,aAvCD;;AAwCA,gBAAIwgC,WAAW,GAAG,SAAdA,WAAc,CAASQ,QAAT,EAAmB;AACjC,qBAAO17B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,uBAAOm7B,QAAQ,CAACO,QAAD,EAAW8L,YAAX,EAAyB,CAAC,CAA1B,CAAf;AACH,eAFM,CAAP;AAGH,aAJD;;AAKA,mBAAO;AACHrL,cAAAA,IAAI,EAAE,gBAAW;AACb,uBAAOn8B,oBAAoB,OAApB,CAA0B,YAAW;AACxC,sBAAIqoC,gBAAgB,GAAG,EAAvB;AACAtmC,kBAAAA,YAAY,CAACwlC,qBAAD,CAAZ,KAAwCc,gBAAgB,GAAG,UAASv1B,KAAT,EAAgB;AACvE,wBAAIw1B,aAAa,GAAGx1B,KAAK,CAACw1B,aAA1B;AAAA,wBAAyCf,qBAAqB,GAAGz0B,KAAK,CAACy0B,qBAAvE;;AACA,wBAAIgB,sBAAsB,GAAGlb,sBAAsB,CAAC;AAChDne,sBAAAA,IAAI,EAAE2f,eAAe,CAACl3B,MAAM,CAAC/G,IAAR,CAAf,CAA6Bq+B,wBADa;AAEhDvC,sBAAAA,MAAM,EAAE;AACJxrB,wBAAAA,GAAG,EAAEqmC;AADD,uBAFwC;AAKhDxa,sBAAAA,KAAK,EAAE,CAAC;AALwC,qBAAD,CAAnD;AAAA,wBAMIL,MAAM,GAAG6b,sBAAsB,CAAC7b,MANpC;;AAOA,wBAAI,UAAU6b,sBAAsB,CAACtb,SAAvB,CAAiC59B,IAA3C,IAAmD,aAAak5C,sBAAsB,CAAC9b,QAAvB,CAAgC2C,SAAhC,CAA0C//B,IAA9G,EAAoH;AAChH,0BAAIm5C,eAAe,GAAG7Z,oBAAoB,CAAC;AACvC/9B,wBAAAA,IAAI,EAAE03C,aADiC;AAEvC1Z,wBAAAA,iBAAiB,EAAEpC,oBAAoB,CAAC;AACpCtd,0BAAAA,IAAI,EAAEq5B,sBAAsB,CAACr5B,IADO;AAEpCud,0BAAAA,QAAQ,EAAE;AACN2C,4BAAAA,SAAS,EAAEU,mBAAmB,CAACyX,qBAAD;AADxB,2BAF0B;AAKpC7a,0BAAAA,MAAM,EAAE;AACJzxB,4BAAAA,MAAM,EAAEyxB,MAAM,CAACzxB;AADX,2BAL4B;AAQpC0xB,0BAAAA,QAAQ,EAAE;AACNzrB,4BAAAA,GAAG,EAAEvJ,MADC;AAENsD,4BAAAA,MAAM,EAAE2G,SAAS;AAFX,2BAR0B;AAYpCmrB,0BAAAA,KAAK,EAAE,CAAC;AAZ4B,yBAAD,CAApB,CAahBG;AAfoC,uBAAD,CAA1C;AAiBAv1B,sBAAAA,MAAM,CAAC/G,IAAP,GAAc43C,eAAd;AACA,6BAAOA,eAAP;AACH;AACJ,mBA9B0D,CA8BzD;AACEF,oBAAAA,aAAa,EAAEx9B,OAAO,CAACla,IADzB;AAEE22C,oBAAAA,qBAAqB,EAAEA;AAFzB,mBA9ByD,KAiCrD,EAjCN;AAkCAtb,kBAAAA,oBAAoB,CAACt0B,MAAD,CAApB,CAA6B9K,OAA7B,GAAuCie,OAAO,CAACje,OAAR,CAAgB;AACnDy0C,oBAAAA,UAAU,EAAE,sBAAW;AACnB,6BAAOpI,cAAP;AACH;AAHkD,mBAAhB,CAAvC;AAKA,mBAAC,UAAS6M,oBAAT,EAA+B9qC,MAA/B,EAAuC;AACpC,wBAAI,CAAC4I,WAAW,CAACkiC,oBAAD,EAAuB9qC,MAAvB,CAAhB,EAAgD,MAAM,IAAI5I,KAAJ,CAAU,oCAAoC4I,MAA9C,CAAN;AACnD,mBAFA,CAEC8qC,oBAFD,EAEuByB,YAFvB,CAAD;AAGA5mC,kBAAAA,eAAe,CAAC2mC,qBAAD,CAAf;AACA,mBAAC,YAAW;AACR5vC,oBAAAA,MAAM,CAACmjB,gBAAP,CAAwB,cAAxB,EAAyC,YAAW;AAChDykB,sBAAAA,UAAU,CAAC/pB,aAAX;AACH,qBAFD;AAGA7d,oBAAAA,MAAM,CAACmjB,gBAAP,CAAwB,QAAxB,EAAmC,YAAW;AAC1CykB,sBAAAA,UAAU,CAAC/pB,aAAX;AACH,qBAFD;AAGAmJ,oBAAAA,aAAa,CAAC4oB,qBAAD,EAAyB,YAAW;AAC7C3W,sBAAAA,aAAa;AAChB,qBAFY,CAAb;AAGH,mBAVA,EAAD;AAWA,yBAAOmX,UAAU,CAAC;AACdn3C,oBAAAA,IAAI,EAAEy3C,gBADQ;AAEdnN,oBAAAA,WAAW,EAAEA,WAFC;AAGdz2B,oBAAAA,KAAK,EAAEmsB;AAHO,mBAAD,CAAjB;AAKH,iBA7DM,EA6DHn/B,IA7DG,CA6DG,YAAW;AACjB,yBAAO,CAACooC,iBAAiB,GAAGlH,UAAU,CAAC55B,KAA/B,EAAsCA,KAAK,GAAG,KAAK,CAAL,KAAW8gC,iBAAX,IAAgCA,iBAA9E,EACRC,kBAAkB,GAAGnH,UAAU,CAAC75B,MADxB,EACgCA,MAAM,GAAG,KAAK,CAAL,KAAWghC,kBAAX,IAAiCA,kBAD1E,EAERC,mBAAmB,GAAGpH,UAAU,CAACxS,OAFzB,EAEkCyD,YAAY,CAAC,KAAK,CAAL,KAAWmW,mBAAX,GAAiC,MAAjC,GAA0CA,mBAA3C,CAAZ,UAAkF7tB,aAAlF,EAAiGza,IAAjG,CAAuG,UAAS0uB,OAAT,EAAkB;AAC/J,2BAAO;AACHpnB,sBAAAA,KAAK,EAAEA,KADJ;AAEHD,sBAAAA,MAAM,EAAEA,MAFL;AAGHqnB,sBAAAA,OAAO,EAAEA;AAHN,qBAAP;AAKH,mBANyC,CAFnC,EAQF1uB,IARE,CAQI,UAASqhB,KAAT,EAAgB;AACvB,wBAAI/Z,KAAK,GAAG+Z,KAAK,CAAC/Z,KAAlB;AAAA,wBAAyBD,MAAM,GAAGga,KAAK,CAACha,MAAxC;AAAA,wBAAgDqnB,OAAO,GAAGrN,KAAK,CAACqN,OAAhE;AACAA,oBAAAA,OAAO,KAAKpnB,KAAK,IAAID,MAAd,CAAP,IAAgChK,OAAO,KAAK+sB,OAAO,CAACa,KAApD,IAA6DgJ,QAAQ,CAACvF,OAAD,EAAW,UAASrR,KAAT,EAAgB;AAC5FwhB,sBAAAA,MAAM,CAAC;AACHv3B,wBAAAA,KAAK,EAAEA,KAAK,GAAG+V,KAAK,CAAC/V,KAAT,GAAiB,KAAK,CAD/B;AAEHD,wBAAAA,MAAM,EAAEA,MAAM,GAAGgW,KAAK,CAAChW,MAAT,GAAkB,KAAK;AAFlC,uBAAD,CAAN;AAIH,qBALoE,EAKjE;AACAC,sBAAAA,KAAK,EAAEA,KADP;AAEAD,sBAAAA,MAAM,EAAEA;AAFR,qBALiE,CAArE;AASH,mBAnBM,CAAP;;AAoBA,sBAAI+gC,iBAAJ,EAAuB9gC,KAAvB,EAA8B+gC,kBAA9B,EAAkDhhC,MAAlD,EAA0DihC,mBAA1D;AACH,iBAnFM,WAmFI,UAAS3rC,GAAT,EAAc;AACrBuY,kBAAAA,OAAO,CAACvY,GAAD,CAAP;AACH,iBArFM,CAAP;AAsFH,eAxFE;AAyFHizC,cAAAA,QAAQ,EAAE,oBAAW;AACjB,oBAAI3mC,KAAJ,EAAW,OAAOA,KAAP;AACXygC,gBAAAA,QAAQ,CAACuM,YAAD,EAAeF,YAAf,CAAR;AACA,uBAAO9sC,KAAP;AACH;AA7FE,aAAP;AA+FH,WA3MW,CA2MVoQ,OA3MU,CAAZ;;AA4MA1I,UAAAA,KAAK,CAAC+5B,IAAN;AACA,iBAAO/5B,KAAP;AACH;AACJ,OArN0B,CAA3B;;AAsNA,UAAI+5B,IAAI,GAAG,SAASA,IAAT,CAAclJ,UAAd,EAA0B;AACjC,YAAInT,QAAJ;AACA,YAAIrV,GAAG,GAAG,UAAU6Z,GAAV,GAAgB,GAAhB,GAAsB7a,QAAQ,EAAxC;AACA,YAAI/O,KAAK,GAAGu4B,UAAU,IAAI,EAA1B;;AACA,YAAIwV,SAAS,GAAGlC,QAAQ,CAAC;AACrB7rC,UAAAA,KAAK,EAAEA;AADc,SAAD,CAAxB;AAAA,YAEIguC,WAAW,GAAGD,SAAS,CAAClC,QAF5B;AAAA,YAEsCoC,MAAM,GAAGF,SAAS,CAACE,MAFzD;;AAGA,YAAIjM,SAAS,GAAGhiC,KAAK,CAACgiC,SAAtB;;AACAhiC,QAAAA,KAAK,CAACgiC,SAAN,GAAkB,YAAW;AACzB5c,UAAAA,QAAQ,IAAI4oB,WAAZ,IAA2B3B,SAAS,CAACh/B,MAAV,CAAiBg/B,SAAS,CAACjlC,OAAV,CAAkBge,QAAlB,CAAjB,EAA8C,CAA9C,CAA3B;AACA,cAAI4c,SAAJ,EAAe,OAAOA,SAAS,CAACz0B,KAAV,CAAgB,KAAK,CAArB,EAAwBsD,SAAxB,CAAP;AAClB,SAHD;;AAIA,YAAIjK,MAAM,GAAG6wB,eAAe,CAAC;AACzB1nB,UAAAA,GAAG,EAAEA,GADoB;AAEzBK,UAAAA,OAAO,EAAEA;AAFgB,SAAD,CAA5B;AAIAxJ,QAAAA,MAAM,CAAC66B,IAAP;AACAuM,QAAAA,WAAW,GAAGpnC,MAAM,CAAC65B,QAAP,CAAgBzgC,KAAhB,CAAH,GAA4BA,KAAK,CAACgiC,SAAN,IAAmBhiC,KAAK,CAACgiC,SAAN,EAA1D;AACA+I,QAAAA,cAAc,CAACvjB,QAAf,CAAyB,UAAS9zB,GAAT,EAAc;AACnC,iBAAOkT,MAAM,CAAClB,OAAP,CAAehS,GAAG,IAAI,IAAIiE,KAAJ,CAAU,+BAAV,CAAtB,CAAP;AACH,SAFD;;AAGA,YAAIu2C,KAAK,GAAG,SAARA,KAAQ,CAAS7uB,KAAT,EAAgB;AACxB,cAAI8uB,cAAc,GAAG,CAAC,KAAK,CAAL,KAAW9uB,KAAX,GAAmB,EAAnB,GAAwBA,KAAzB,EAAgC0hB,QAArD;AACA,iBAAOU,IAAI,CAAC,CAAC,KAAK,CAAL,KAAW0M,cAAX,GAA4BhoB,QAA5B,GAAuCgoB,cAAxC,EAAwDnuC,KAAxD,CAAD,CAAX;AACH,SAHD;;AAIA,YAAIouC,OAAO,GAAG,SAAVA,OAAU,CAASzsB,MAAT,EAAiBoH,SAAjB,EAA4B30B,OAA5B,EAAqC;AAC/C,iBAAOkR,oBAAoB,OAApB,CAA0B,YAAW;AACxC,gBAAI,CAAC0oC,WAAL,EAAkB;AACd,kBAAIt6C,GAAG,GAAG,IAAIiE,KAAJ,CAAUs2C,MAAM,IAAI/3C,IAAI,GAAG,4BAA3B,CAAV;AACA,qBAAO0Q,MAAM,CAAClB,OAAP,CAAehS,GAAf,EAAoBqD,IAApB,CAA0B,YAAW;AACxC,sBAAMrD,GAAN;AACH,eAFM,CAAP;AAGH;;AACD,gBAAI,CAACiW,QAAQ,CAACgY,MAAD,CAAb,EAAuB,MAAM,IAAIhqB,KAAJ,CAAU,8BAAV,CAAN;AACvB,mBAAO,UAASqI,KAAT,EAAgB5L,OAAhB,EAAyB;AAC5B,qBAAOkR,oBAAoB,OAApB,CAA0B,YAAW;AACxC,oBAAItF,KAAK,CAAC/C,MAAV,EAAkB,OAAO6I,mBAAmB,CAAC9F,KAAK,CAAC/C,MAAP,CAAnB,CAAkC2Z,OAAlC,EAAP;;AAClB,oBAAIxiB,OAAJ,EAAa;AACT,sBAAIA,OAAO,KAAK+sB,OAAO,CAACY,MAApB,IAA8B3tB,OAAO,KAAK+sB,OAAO,CAACa,KAAtD,EAA6D,MAAM,IAAIrqB,KAAJ,CAAU,2BAA2BvD,OAArC,CAAN;AAC7D,yBAAOA,OAAP;AACH;;AACD,uBAAOo3C,cAAP;AACH,eAPM,CAAP;AAQH,aATM,CASLxrC,KATK,EASE5L,OATF,CAAP;AAUH,WAlBM,EAkBH2C,IAlBG,CAkBG,UAASs3C,YAAT,EAAuB;AAC7BtlB,YAAAA,SAAS,GAAG,UAAS30B,OAAT,EAAkB20B,SAAlB,EAA6B;AACrC,kBAAIA,SAAJ,EAAe;AACX,oBAAI,YAAY,OAAOA,SAAnB,IAAgC,CAACvD,SAAS,CAACuD,SAAD,CAA9C,EAA2D,MAAM,IAAI3wB,SAAJ,CAAc,kDAAd,CAAN;AAC3D,uBAAO2wB,SAAP;AACH;;AACD,kBAAI30B,OAAO,KAAK+sB,OAAO,CAACa,KAAxB,EAA+B,OAAO,MAAP;AAC/B,oBAAM,IAAIrqB,KAAJ,CAAU,gDAAV,CAAN;AACH,aAPW,CAOV02C,YAPU,EAOItlB,SAPJ,CAAZ;;AAQA,gBAAIpH,MAAM,KAAK1kB,MAAX,IAAqB,YAAY,OAAO8rB,SAA5C,EAAuD,MAAM,IAAIpxB,KAAJ,CAAU,2DAAV,CAAN;AACvD,mBAAOiP,MAAM,CAACs7B,MAAP,CAAc;AACjBvgB,cAAAA,MAAM,EAAEA,MADS;AAEjBoH,cAAAA,SAAS,EAAEA,SAFM;AAGjB30B,cAAAA,OAAO,EAAEi6C,YAHQ;AAIjB3O,cAAAA,QAAQ,EAAE,oBAAW;AACjB,oBAAI4O,WAAW,GAAGJ,KAAK,EAAvB;AACAhoB,gBAAAA,MAAM,CAACd,QAAD,EAAWkpB,WAAX,CAAN;AACA,uBAAOA,WAAW,CAACC,QAAZ,CAAqB5sB,MAArB,EAA6BoH,SAA7B,EAAwC30B,OAAxC,CAAP;AACH;AARgB,aAAd,CAAP;AAUH,WAtCM,WAsCI,UAASV,GAAT,EAAc;AACrB,mBAAOkT,MAAM,CAAClB,OAAP,CAAehS,GAAf,EAAoBqD,IAApB,CAA0B,YAAW;AACxC,oBAAMrD,GAAN;AACH,aAFM,CAAP;AAGH,WA1CM,CAAP;AA2CH,SA5CD;;AA6CA0xB,QAAAA,QAAQ,GAAG3D,QAAQ,CAAC,EAAD,EAAK7a,MAAM,CAACggC,UAAP,EAAL,EAA0BhgC,MAAM,CAAC25B,UAAP,EAA1B,EAA+C,YAAW;AACzE,cAAIiO,eAAe,GAAGvP,QAAQ,EAA9B;AACA,cAAInoC,MAAM,GAAG,EAAb;;AACA,cAAIiwB,MAAM,GAAG,SAATA,MAAS,GAAW;AACpB,gBAAI0nB,SAAS,GAAG/e,aAAa,CAACxT,GAAD,CAA7B;AACA,gBAAIwyB,KAAK,GAAGF,eAAe,CAACC,SAAD,CAA3B;;AACA33C,YAAAA,MAAM,CAAC23C,SAAD,CAAN,GAAoB,UAASE,eAAT,EAA0B;AAC1C,kBAAIC,WAAW,GAAGhoC,MAAM,CAAC+/B,QAAP,EAAlB;;AACA,kBAAI1F,UAAU,GAAGxf,QAAQ,CAAC,EAAD,EAAKktB,eAAL,EAAsB;AAC3C/nC,gBAAAA,MAAM,EAAE;AACJmJ,kBAAAA,GAAG,EAAEA,GADD;AAEJ/P,kBAAAA,KAAK,EAAE4uC,WAFH;AAGJ,4BAAQhoC,MAAM;AAHV;AADmC,eAAtB,CAAzB;;AAOA,qBAAO8nC,KAAK,CAACzN,UAAD,CAAZ;AACH,aAVD;AAWH,WAdD;;AAeA,eAAK,IAAI/kB,GAAG,GAAG,CAAV,EAAawT,aAAa,GAAGr9B,MAAM,CAACgH,IAAP,CAAYm1C,eAAZ,CAAlC,EAAgEtyB,GAAG,GAAGwT,aAAa,CAACl2B,MAApF,EAA4F0iB,GAAG,EAA/F;AAAmG6K,YAAAA,MAAM;AAAzG;;AACA,iBAAOjwB,MAAP;AACH,SApBiE,EAA/C,EAoBd;AACD+3C,UAAAA,UAAU,EAAE,sBAAW;AACnB,mBAAOb,WAAP;AACH,WAHA;AAIDE,UAAAA,KAAK,EAAEA,KAJN;AAKDhM,UAAAA,MAAM,EAAE,gBAASnZ,SAAT,EAAoB30B,OAApB,EAA6B;AACjC,mBAAOg6C,OAAO,CAACnxC,MAAD,EAAS8rB,SAAT,EAAoB30B,OAApB,CAAd;AACH,WAPA;AAQDm6C,UAAAA,QAAQ,EAAE,kBAAS5sB,MAAT,EAAiBoH,SAAjB,EAA4B30B,OAA5B,EAAqC;AAC3C,mBAAOg6C,OAAO,CAACzsB,MAAD,EAASoH,SAAT,EAAoB30B,OAApB,CAAd;AACH;AAVA,SApBc,CAAnB;AAgCA45C,QAAAA,WAAW,IAAI3B,SAAS,CAACpzC,IAAV,CAAemsB,QAAf,CAAf;AACA,eAAOA,QAAP;AACH,OAxGD;;AAyGAonB,MAAAA,aAAa;AACb,OAAC,YAAW;AACR,YAAIsC,qBAAqB,GAAG/oC,KAAK,CAAC,yBAAyB7P,IAA1B,EAAiC,YAAW;AACzE,iBAAO,CAAC,CAAR;AACH,SAFgC,CAAjC;AAGA,YAAI64C,gBAAgB,GAAGhpC,KAAK,CAAC,mBAAmB7P,IAApB,EAA2B,UAAS4f,KAAT,EAAgB;AACnE,cAAIk5B,UAAU,GAAGl5B,KAAK,CAACtB,IAAvB;AACA,iBAAO;AACH5N,YAAAA,MAAM,EAAE6wB,eAAe,CAAC;AACpB1nB,cAAAA,GAAG,EAAEi/B,UAAU,CAACj/B,GADI;AAEpBK,cAAAA,OAAO,EAAEA,OAFW;AAGpBunB,cAAAA,SAAS,EAAEqX,UAAU,CAACrX,SAHF;AAIpBE,cAAAA,SAAS,EAAE/hB,KAAK,CAACT;AAJG,aAAD;AADpB,WAAP;AAQH,SAV2B,CAA5B;AAWA21B,QAAAA,SAAS,CAACxjB,QAAV,CAAmBsnB,qBAAqB,CAAC1hC,MAAzC;AACA49B,QAAAA,SAAS,CAACxjB,QAAV,CAAmBunB,gBAAgB,CAAC3hC,MAApC;AACH,OAjBA,EAAD;AAkBAoG,MAAAA,MAAM,CAACk5B,UAAP,GAAoBl5B,MAAM,CAACk5B,UAAP,IAAqB,EAAzC;AACA,UAAIl5B,MAAM,CAACk5B,UAAP,CAAkB9iB,GAAlB,CAAJ,EAA4B,MAAM,IAAIjyB,KAAJ,CAAU,6DAA6DiyB,GAAvE,CAAN;AAC5BpW,MAAAA,MAAM,CAACk5B,UAAP,CAAkB9iB,GAAlB,IAAyB,CAAC,CAA1B;AACA,aAAO;AACH6X,QAAAA,IAAI,EAAEA,IADH;AAEH4K,QAAAA,SAAS,EAAEA,SAFR;AAGH4C,QAAAA,MAAM,EAAE,gBAASC,UAAT,EAAqBC,GAArB,EAA0B;AAC9B,cAAIC,OAAO,GAAG;AACVvI,YAAAA,KAAK,EAAEA,KADG;AAEVqB,YAAAA,OAAO,EAAEA,OAFC;AAGVZ,YAAAA,GAAG,EAAEA,GAHK;AAIVU,YAAAA,IAAI,EAAEA,IAJI;AAKVe,YAAAA,QAAQ,EAAEA;AALA,WAAd;AAOA,cAAI,CAACqG,OAAO,CAACF,UAAD,CAAZ,EAA0B,MAAM,IAAIv3C,KAAJ,CAAU,0CAA0Cu3C,UAApD,CAAN;AAC1B9C,UAAAA,WAAW,CAAC8C,UAAD,CAAX,KAA4B9C,WAAW,CAAC8C,UAAD,CAAX,GAA0BE,OAAO,CAACF,UAAD,CAAP,CAAoB1nB,QAApB,CAA6BoC,GAA7B,EAAkC4L,QAAlC,EAA4CiM,IAA5C,EAAkD0N,GAAlD,CAAtD;AACA,iBAAO/C,WAAW,CAAC8C,UAAD,CAAlB;AACH,SAdE;AAeH5C,QAAAA,OAAO,EAAEA,OAfN;AAgBH+C,QAAAA,WAAW,EAAE,qBAAS7oC,GAAT,EAAc;AACvB,iBAAOP,SAAS,CAACO,GAAD,EAAM,yBAAyBtQ,IAA/B,CAAT,CAA8Ca,IAA9C,CAAoD,UAASqhB,KAAT,EAAgB;AACvE,mBAAOA,KAAK,CAAC5D,IAAb;AACH,WAFM,WAEI,YAAW;AAClB,mBAAO,CAAC,CAAR;AACH,WAJM,CAAP;AAKH,SAtBE;AAuBHg4B,QAAAA,aAAa,EAAEA;AAvBZ,OAAP;AAyBH;;AACD,QAAI3rB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAASzQ,OAAT,EAAkB;AACrC,OAAC,YAAW;AACR,YAAI,CAAC0C,gBAAgB,GAAGoN,WAAxB,EAAqC;AACjCpN,UAAAA,gBAAgB,GAAGoN,WAAnB,GAAiC,CAAC,CAAlC;AACAzG,UAAAA,EAAE,GAAG,CAACrB,KAAK,GAAG;AACVqB,YAAAA,EAAE,EAAE1T,KADM;AAEVsO,YAAAA,IAAI,EAAEpO;AAFI,WAAT,EAGFwT,EAHH,EAGOpF,IAAI,GAAG+D,KAAK,CAAC/D,IAHpB,EAG0B,CAACb,MAAM,GAAGV,gBAAgB,EAA1B,EAA8BqN,cAA9B,GAA+C3M,MAAM,CAAC2M,cAAP,IAAyB,UAAS5X,OAAT,EAAkB;AAChH,mBAAO4U,sBAAsB,CAAC5U,OAAD,EAAU;AACnCkR,cAAAA,EAAE,EAAEA,EAD+B;AAEnCpF,cAAAA,IAAI,EAAEA;AAF6B,aAAV,CAA7B;AAIH,WARD;AASA,WAAC,UAASE,KAAT,EAAgB;AACb,gBAAIkF,EAAE,GAAGlF,KAAK,CAACkF,EAAf;AAAA,gBAAmBpF,IAAI,GAAGE,KAAK,CAACF,IAAhC;AACApB,YAAAA,WAAW,GAAGtE,QAAd,CAAuB,qBAAvB,EAA+C,YAAW;AACtD,qBAAOyR,gBAAgB,CAACnjB,MAAD,EAAS,SAAT,EAAqB,UAASmgB,KAAT,EAAgB;AACxD,iBAAC,UAASA,KAAT,EAAgBhJ,KAAhB,EAAuB;AACpB,sBAAIqF,EAAE,GAAGrF,KAAK,CAACqF,EAAf;AAAA,sBAAmBpF,IAAI,GAAGD,KAAK,CAACC,IAAhC;AACA/O,kBAAAA,oBAAoB,OAApB,CAA0B,YAAW;AACjC,wBAAI+P,MAAM,GAAG+H,KAAK,CAAC/H,MAAN,IAAgB+H,KAAK,CAACkD,aAAnC;AACA,wBAAIjX,MAAM,GAAG+T,KAAK,CAAC/T,MAAN,IAAgB+T,KAAK,CAACmD,aAAN,IAAuBnD,KAAK,CAACmD,aAAN,CAAoBlX,MAAxE;AACA,wBAAImL,IAAI,GAAG4I,KAAK,CAAC5I,IAAjB;AACA,+BAAWnL,MAAX,KAAsBA,MAAM,GAAG,SAA/B;;AACA,wBAAIgM,MAAJ,EAAY;AACR,0BAAI,CAAChM,MAAL,EAAa,MAAM,IAAI1R,KAAJ,CAAU,yCAAV,CAAN;AACbwlB,sBAAAA,sBAAsB,CAAC;AACnB9H,wBAAAA,MAAM,EAAEA,MADW;AAEnBhM,wBAAAA,MAAM,EAAEA,MAFW;AAGnBmL,wBAAAA,IAAI,EAAEA;AAHa,uBAAD,EAInB;AACCiF,wBAAAA,EAAE,EAAEA,EADL;AAECpF,wBAAAA,IAAI,EAAEA;AAFP,uBAJmB,CAAtB;AAQH;AACJ,mBAhBD;AAiBH,iBAnBA,CAmBC+I,KAnBD,EAmBQ;AACL3D,kBAAAA,EAAE,EAAEA,EADC;AAELpF,kBAAAA,IAAI,EAAEA;AAFD,iBAnBR,CAAD;AAuBH,eAxBsB,CAAvB;AAyBH,aA1BD;AA2BH,WA7BA,CA6BC;AACEoF,YAAAA,EAAE,EAAE1T,KADN;AAEEsO,YAAAA,IAAI,EAAEpO;AAFR,WA7BD,CAAD;AAiCAwoB,UAAAA,WAAW,CAAC;AACRhV,YAAAA,EAAE,EAAE1T,KADI;AAERsO,YAAAA,IAAI,EAAEpO,SAFE;AAGRka,YAAAA,cAAc,EAAEhD;AAHR,WAAD,CAAX;AAKA,WAAC,UAASlE,KAAT,EAAgB;AACb,gBAAIQ,EAAE,GAAGR,KAAK,CAACQ,EAAf;AAAA,gBAAmBpF,IAAI,GAAG4E,KAAK,CAAC5E,IAAhC;AACApB,YAAAA,WAAW,CAAC,kBAAD,CAAX,CAAgCtE,QAAhC,CAAyC,eAAzC,EAA2D,YAAW;AAClE,kBAAI+N,QAAQ,GAAGjD,EAAE,CAAC,iBAAD,EAAoB;AACjClZ,gBAAAA,MAAM,EAAE;AADyB,eAApB,EAEb,UAAS6X,KAAT,EAAgB;AAChBtE,gBAAAA,mBAAmB,CAACsE,KAAK,CAAC/C,MAAP,EAAe;AAC9B9U,kBAAAA,MAAM,EAAE6X,KAAK,CAAC/O;AADgB,iBAAf,CAAnB;AAGA,uBAAO;AACHiL,kBAAAA,UAAU,EAAET,aAAa;AADtB,iBAAP;AAGH,eATgB,CAAjB;AAUA,kBAAIjN,MAAM,GAAGsC,WAAW,EAAxB;AACAtC,cAAAA,MAAM,IAAIuN,QAAQ,CAACvN,MAAD,EAAS;AACvByN,gBAAAA,IAAI,EAAEA;AADiB,eAAT,CAAR,UAEA,UAAS3gB,GAAT,EAAc,EAFd,CAAV;AAGA,qBAAOgpB,QAAP;AACH,aAhBD;AAiBH,WAnBA,CAmBC;AACEjD,YAAAA,EAAE,EAAE1T,KADN;AAEEsO,YAAAA,IAAI,EAAEpO;AAFR,WAnBD,CAAD;AAuBH;;AACD,YAAImS,KAAJ,EAAWqB,EAAX,EAAepF,IAAf,EAAqBb,MAArB;AACH,OA3EA,EAAD;AA4EA,UAAI87B,IAAI,GAAG9H,SAAS,CAACp3B,OAAD,CAApB;;AACA,UAAIqxB,IAAI,GAAG,SAAPA,IAAO,CAASzhC,KAAT,EAAgB;AACvB,eAAOsvC,IAAI,CAAC7N,IAAL,CAAUzhC,KAAV,CAAP;AACH,OAFD;;AAGAyhC,MAAAA,IAAI,CAACwN,MAAL,GAAc,UAAS/4C,IAAT,EAAei5C,GAAf,EAAoB;AAC9B,eAAOG,IAAI,CAACL,MAAL,CAAY/4C,IAAZ,EAAkBi5C,GAAlB,CAAP;AACH,OAFD;;AAGA1N,MAAAA,IAAI,CAAC6K,OAAL,GAAe,YAAW;AACtB,eAAOgD,IAAI,CAAChD,OAAL,EAAP;AACH,OAFD;;AAGA7K,MAAAA,IAAI,CAAC4N,WAAL,GAAmB,UAAS7oC,GAAT,EAAc;AAC7B,eAAO8oC,IAAI,CAACD,WAAL,CAAiB7oC,GAAjB,CAAP;AACH,OAFD;;AAGAi7B,MAAAA,IAAI,CAAC4K,SAAL,GAAiBiD,IAAI,CAACjD,SAAtB;AACA,UAAI3kC,KAAK,GAAG4nC,IAAI,CAAC9C,aAAL,EAAZ;AACA9kC,MAAAA,KAAK,KAAKzK,MAAM,CAACwvC,MAAP,GAAgBhL,IAAI,CAACgL,MAAL,GAAc/kC,KAAK,CAACi/B,QAAN,EAAnC,CAAL;AACA,aAAOlF,IAAP;AACH,KA9FD;;AA+FA,aAAS1gB,iBAAT,CAA2BrtB,GAA3B,EAAgC;AAC5Bo9B,MAAAA,UAAU,IAAIA,UAAU,CAACO,cAAX,EAAd;AACA,UAAIke,cAAc,GAAGxE,cAAc,CAACt+B,GAAf,CAAmB/Y,GAAnB,CAArB;AACAq3C,MAAAA,cAAc,GAAG5jB,OAAO,EAAxB;AACA,aAAOooB,cAAP;AACH;;AACD,QAAIvuB,UAAU,GAAGD,iBAAjB;;AACA,aAASD,iBAAT,CAA2BptB,GAA3B,EAAgC;AAC5BstB,MAAAA,UAAU;AACV,aAAO/jB,MAAM,CAACu0B,eAAd;AACA,OAAC,YAAW;AACR,SAAC,YAAW;AACR,cAAIhR,iBAAiB,GAAGvN,WAAW,CAAC,mBAAD,CAAnC;;AACA,eAAK,IAAIkD,GAAG,GAAG,CAAV,EAAasK,sBAAsB,GAAGD,iBAAiB,CAACnnB,IAAlB,EAA3C,EAAqE8c,GAAG,GAAGsK,sBAAsB,CAACjnB,MAAlG,EAA0G2c,GAAG,EAA7G,EAAiH;AAC7G,gBAAIrJ,IAAI,GAAG2T,sBAAsB,CAACtK,GAAD,CAAjC;AACA,gBAAIuG,QAAQ,GAAG8D,iBAAiB,CAACljB,GAAlB,CAAsBwP,IAAtB,CAAf;AACA4P,YAAAA,QAAQ,KAAKA,QAAQ,CAACsD,SAAT,GAAqB,CAAC,CAA3B,CAAR;AACAQ,YAAAA,iBAAiB,CAACnN,GAAlB,CAAsBvG,IAAtB;AACH;AACJ,SARA,EAAD;AASA,SAAC4P,QAAQ,GAAGzJ,WAAW,GAAG3V,GAAd,CAAkB,qBAAlB,CAAZ,KAAyDof,QAAQ,CAACtP,MAAT,EAAzD;AACA,YAAIsP,QAAJ;AACA,eAAOzf,MAAM,CAACkzB,qBAAd;AACH,OAbA,EAAD;AAcA,aAAO6a,SAAS,CAACv+B,GAAV,CAAc/Y,GAAd,CAAP;AACH;AACJ,GAl3KC,CA1DK,CAAP;AA66KH,CAh7KA,CAAD;;;;;;ACAA,CAAC,UAASsQ,IAAT,EAAeC,OAAf,EAAwB;AACrB,GAA0DhJ,cAAA,gBAAiBgJ,OAAO,EAAlF,CAAA;AACH,CAFA,CAEC,eAAe,OAAOnQ,IAAtB,GAA6BA,IAA7B,GAAoCoQ,cAFrC,EAE4C,YAAW;AACpD,SAAO,UAASC,OAAT,EAAkB;AACrB,QAAIC,gBAAgB,GAAG,EAAvB;;AACA,aAASC,mBAAT,CAA6BC,QAA7B,EAAuC;AACnC,UAAIF,gBAAgB,CAACE,QAAD,CAApB,EAAgC,OAAOF,gBAAgB,CAACE,QAAD,CAAhB,CAA2BnS,OAAlC;AAChC,UAAI8I,MAAM,GAAGmJ,gBAAgB,CAACE,QAAD,CAAhB,GAA6B;AACtCzK,QAAAA,CAAC,EAAEyK,QADmC;AAEtCC,QAAAA,CAAC,EAAE,CAAC,CAFkC;AAGtCpS,QAAAA,OAAO,EAAE;AAH6B,OAA1C;AAKAgS,MAAAA,OAAO,CAACG,QAAD,CAAP,CAAkB1P,IAAlB,CAAuBqG,MAAM,CAAC9I,OAA9B,EAAuC8I,MAAvC,EAA+CA,MAAM,CAAC9I,OAAtD,EAA+DkS,mBAA/D;AACApJ,MAAAA,MAAM,CAACsJ,CAAP,GAAW,CAAC,CAAZ;AACA,aAAOtJ,MAAM,CAAC9I,OAAd;AACH;;AACDkS,IAAAA,mBAAmB,CAACG,CAApB,GAAwBL,OAAxB;AACAE,IAAAA,mBAAmB,CAACI,CAApB,GAAwBL,gBAAxB;;AACAC,IAAAA,mBAAmB,CAACK,CAApB,GAAwB,UAASvS,OAAT,EAAkB+D,IAAlB,EAAwByO,MAAxB,EAAgC;AACpDN,MAAAA,mBAAmB,CAACO,CAApB,CAAsBzS,OAAtB,EAA+B+D,IAA/B,KAAwC7D,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+B+D,IAA/B,EAAqC;AACzE3C,QAAAA,UAAU,EAAE,CAAC,CAD4D;AAEzE+J,QAAAA,GAAG,EAAEqH;AAFoE,OAArC,CAAxC;AAIH,KALD;;AAMAN,IAAAA,mBAAmB,CAACQ,CAApB,GAAwB,UAAS1S,OAAT,EAAkB;AACtC,qBAAe,OAAOQ,MAAtB,IAAgCA,MAAM,CAACM,WAAvC,IAAsDZ,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+BQ,MAAM,CAACM,WAAtC,EAAmD;AACrGI,QAAAA,KAAK,EAAE;AAD8F,OAAnD,CAAtD;AAGAhB,MAAAA,MAAM,CAACiB,cAAP,CAAsBnB,OAAtB,EAA+B,YAA/B,EAA6C;AACzCkB,QAAAA,KAAK,EAAE,CAAC;AADiC,OAA7C;AAGH,KAPD;;AAQAgR,IAAAA,mBAAmB,CAACS,CAApB,GAAwB,UAASzR,KAAT,EAAgB0R,IAAhB,EAAsB;AAC1C,UAAIA,IAAJ,KAAa1R,KAAK,GAAGgR,mBAAmB,CAAChR,KAAD,CAAxC;AACA,UAAI,IAAI0R,IAAR,EAAc,OAAO1R,KAAP;AACd,UAAI,IAAI0R,IAAJ,IAAY,YAAY,OAAO1R,KAA/B,IAAwCA,KAAxC,IAAiDA,KAAK,CAAC2R,UAA3D,EAAuE,OAAO3R,KAAP;AACvE,UAAI4R,EAAE,GAAG5S,MAAM,CAAC8B,MAAP,CAAc,IAAd,CAAT;;AACAkQ,MAAAA,mBAAmB,CAACQ,CAApB,CAAsBI,EAAtB;;AACA5S,MAAAA,MAAM,CAACiB,cAAP,CAAsB2R,EAAtB,EAA0B,SAA1B,EAAqC;AACjC1R,QAAAA,UAAU,EAAE,CAAC,CADoB;AAEjCF,QAAAA,KAAK,EAAEA;AAF0B,OAArC;AAIA,UAAI,IAAI0R,IAAJ,IAAY,YAAY,OAAO1R,KAAnC,EAA0C,KAAK,IAAID,GAAT,IAAgBC,KAAhB;AAAuBgR,QAAAA,mBAAmB,CAACK,CAApB,CAAsBO,EAAtB,EAA0B7R,GAA1B,EAA+B,UAASA,GAAT,EAAc;AAC1G,iBAAOC,KAAK,CAACD,GAAD,CAAZ;AACH,SAF+F,CAE9F8R,IAF8F,CAEzF,IAFyF,EAEnF9R,GAFmF,CAA/B;AAAvB;AAG1C,aAAO6R,EAAP;AACH,KAdD;;AAeAZ,IAAAA,mBAAmB,CAACc,CAApB,GAAwB,UAASlK,MAAT,EAAiB;AACrC,UAAI0J,MAAM,GAAG1J,MAAM,IAAIA,MAAM,CAAC+J,UAAjB,GAA8B,YAAW;AAClD,eAAO/J,MAAM,WAAb;AACH,OAFY,GAET,YAAW;AACX,eAAOA,MAAP;AACH,OAJD;;AAKAoJ,MAAAA,mBAAmB,CAACK,CAApB,CAAsBC,MAAtB,EAA8B,GAA9B,EAAmCA,MAAnC;;AACA,aAAOA,MAAP;AACH,KARD;;AASAN,IAAAA,mBAAmB,CAACO,CAApB,GAAwB,UAAStL,MAAT,EAAiB8L,QAAjB,EAA2B;AAC/C,aAAO,GAAG5S,cAAH,CAAkBoC,IAAlB,CAAuB0E,MAAvB,EAA+B8L,QAA/B,CAAP;AACH,KAFD;;AAGAf,IAAAA,mBAAmB,CAAC5E,CAApB,GAAwB,EAAxB;AACA,WAAO4E,mBAAmB,CAACA,mBAAmB,CAACjI,CAApB,GAAwB,CAAzB,CAA1B;AACH,GA1DM,CA0DL,CAAE,UAASnB,MAAT,EAAiBoK,mBAAjB,EAAsChB,mBAAtC,EAA2D;AAC3D;AACAA,IAAAA,mBAAmB,CAACQ,CAApB,CAAsBQ,mBAAtB;;AACAhB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOmqC,YAAP;AACH,KAFD;;AAGAnrC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOoqC,QAAP;AACH,KAFD;;AAGAprC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAOqqC,SAAP;AACH,KAFD;;AAGArrC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOsqC,YAAP;AACH,KAFD;;AAGAtrC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,mBAA3C,EAAiE,YAAW;AACxE,aAAOuqC,iBAAP;AACH,KAFD;;AAGAvrC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOwqC,YAAP;AACH,KAFD;;AAGAxrC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAOyqC,SAAP;AACH,KAFD;;AAGAzrC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAO0qC,WAAP;AACH,KAFD;;AAGA1rC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO2qC,SAAP;AACH,KAFD;;AAGA3rC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAO4qC,KAAP;AACH,KAFD;;AAGA5rC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,mBAA3C,EAAiE,YAAW;AACxE,aAAO6qC,iBAAP;AACH,KAFD;;AAGA7rC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAO8qC,WAAP;AACH,KAFD;;AAGA9rC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAO+qC,YAAP;AACH,KAFD;;AAGA/rC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAOgrC,MAAP;AACH,KAFD;;AAGAhsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOirC,cAAP;AACH,KAFD;;AAGAjsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOkrC,gBAAP;AACH,KAFD;;AAGAlsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,MAA3C,EAAoD,YAAW;AAC3D,aAAOmrC,WAAP;AACH,KAFD;;AAGAnsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOorC,cAAP;AACH,KAFD;;AAGApsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAOqrC,UAAP;AACH,KAFD;;AAGArsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOsrC,YAAP;AACH,KAFD;;AAGAtsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAOurC,UAAP;AACH,KAFD;;AAGAvsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOwrC,cAAP;AACH,KAFD;;AAGAxsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOyrC,QAAP;AACH,KAFD;;AAGAzsC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAO0rC,QAAP;AACH,KAFD;;AAGA1sC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,qBAA3C,EAAmE,YAAW;AAC1E,aAAO2rC,mBAAP;AACH,KAFD;;AAGA3sC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAOyM,eAAP;AACH,KAFD;;AAGAzN,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,uBAA3C,EAAqE,YAAW;AAC5E,aAAO2M,qBAAP;AACH,KAFD;;AAGA3N,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO+iB,SAAP;AACH,KAFD;;AAGA/jB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,oBAA3C,EAAkE,YAAW;AACzE,aAAO4rC,kBAAP;AACH,KAFD;;AAGA5sC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,sBAA3C,EAAoE,YAAW;AAC3E,aAAO6rC,oBAAP;AACH,KAFD;;AAGA7sC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,qBAA3C,EAAmE,YAAW;AAC1E,aAAO8rC,mBAAP;AACH,KAFD;;AAGA9sC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAOgjB,UAAP;AACH,KAFD;;AAGAhkB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAO+rC,aAAP;AACH,KAFD;;AAGA/sC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,qBAA3C,EAAmE,YAAW;AAC1E,aAAOgsC,mBAAP;AACH,KAFD;;AAGAhtC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOisC,WAAP;AACH,KAFD;;AAGAjtC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOujB,WAAP;AACH,KAFD;;AAGAvkB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAOksC,SAAP;AACH,KAFD;;AAGAltC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOmsC,QAAP;AACH,KAFD;;AAGAntC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAOosC,eAAP;AACH,KAFD;;AAGAptC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOqsC,gBAAP;AACH,KAFD;;AAGArtC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOssC,cAAP;AACH,KAFD;;AAGAttC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,mBAA3C,EAAiE,YAAW;AACxE,aAAOusC,iBAAP;AACH,KAFD;;AAGAvtC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,mBAA3C,EAAiE,YAAW;AACxE,aAAOwsC,iBAAP;AACH,KAFD;;AAGAxtC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAOysC,UAAP;AACH,KAFD;;AAGAztC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO0sC,aAAP;AACH,KAFD;;AAGA1tC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOkS,gBAAP;AACH,KAFD;;AAGAlT,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAO2sC,OAAP;AACH,KAFD;;AAGA3tC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO4sC,SAAP;AACH,KAFD;;AAGA5tC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,uBAA3C,EAAqE,YAAW;AAC5E,aAAO6sC,qBAAP;AACH,KAFD;;AAGA7tC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,mBAA3C,EAAiE,YAAW;AACxE,aAAO8sC,iBAAP;AACH,KAFD;;AAGA9tC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOzI,WAAP;AACH,KAFD;;AAGAyH,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAOmgB,SAAP;AACH,KAFD;;AAGAnhB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAO2jB,cAAP;AACH,KAFD;;AAGA3kB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAO+sC,UAAP;AACH,KAFD;;AAGA/tC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAO6jB,YAAP;AACH,KAFD;;AAGA7kB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOub,kBAAP;AACH,KAFD;;AAGAvc,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAO84B,KAAP;AACH,KAFD;;AAGA95B,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAOgtC,aAAP;AACH,KAFD;;AAGAhuC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,sBAA3C,EAAoE,YAAW;AAC3E,aAAOitC,oBAAP;AACH,KAFD;;AAGAjuC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOktC,QAAP;AACH,KAFD;;AAGAluC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOkkB,cAAP;AACH,KAFD;;AAGAllB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOokB,gBAAP;AACH,KAFD;;AAGAplB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAO9I,aAAP;AACH,KAFD;;AAGA8H,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAO6rB,MAAP;AACH,KAFD;;AAGA7sB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAO+a,gBAAP;AACH,KAFD;;AAGA/b,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAOmtC,UAAP;AACH,KAFD;;AAGAnuC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOotC,YAAP;AACH,KAFD;;AAGApuC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAOqtC,OAAP;AACH,KAFD;;AAGAruC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,oBAA3C,EAAkE,YAAW;AACzE,aAAOstC,kBAAP;AACH,KAFD;;AAGAtuC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,sBAA3C,EAAoE,YAAW;AAC3E,aAAOutC,oBAAP;AACH,KAFD;;AAGAvuC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOslB,WAAP;AACH,KAFD;;AAGAtmB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOwlB,WAAP;AACH,KAFD;;AAGAxmB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOylB,cAAP;AACH,KAFD;;AAGAzmB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOwtC,cAAP;AACH,KAFD;;AAGAxuC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOytC,cAAP;AACH,KAFD;;AAGAzuC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAO0tC,QAAP;AACH,KAFD;;AAGA1uC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAO2tC,WAAP;AACH,KAFD;;AAGA3uC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAO0lB,eAAP;AACH,KAFD;;AAGA1mB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,sBAA3C,EAAoE,YAAW;AAC3E,aAAO4tC,oBAAP;AACH,KAFD;;AAGA5uC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAO6tC,UAAP;AACH,KAFD;;AAGA7uC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAO2lB,QAAP;AACH,KAFD;;AAGA3mB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,qBAA3C,EAAmE,YAAW;AAC1E,aAAO8tC,mBAAP;AACH,KAFD;;AAGA9uC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAOgnB,eAAP;AACH,KAFD;;AAGAhoB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAO+tC,aAAP;AACH,KAFD;;AAGA/uC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAOguC,aAAP;AACH,KAFD;;AAGAhvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAO87B,gBAAP;AACH,KAFD;;AAGA98B,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,mBAA3C,EAAiE,YAAW;AACxE,aAAOiuC,iBAAP;AACH,KAFD;;AAGAjvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAOkuC,aAAP;AACH,KAFD;;AAGAlvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOgN,gBAAP;AACH,KAFD;;AAGAhO,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,qBAA3C,EAAmE,YAAW;AAC1E,aAAOmuC,mBAAP;AACH,KAFD;;AAGAnvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAOouC,UAAP;AACH,KAFD;;AAGApvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,oBAA3C,EAAkE,YAAW;AACzE,aAAOquC,kBAAP;AACH,KAFD;;AAGArvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAOsuC,UAAP;AACH,KAFD;;AAGAtvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAOuJ,eAAP;AACH,KAFD;;AAGAvK,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAOyJ,eAAP;AACH,KAFD;;AAGAzK,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOygB,YAAP;AACH,KAFD;;AAGAzhB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOuuC,YAAP;AACH,KAFD;;AAGAvvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAO0J,QAAP;AACH,KAFD;;AAGA1K,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAOwuC,SAAP;AACH,KAFD;;AAGAxvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOyuC,WAAP;AACH,KAFD;;AAGAzvC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAO2K,cAAP;AACH,KAFD;;AAGA3L,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAO8K,OAAP;AACH,KAFD;;AAGA9L,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAO0uC,eAAP;AACH,KAFD;;AAGA1vC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAO8L,cAAP;AACH,KAFD;;AAGA9M,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO2uC,SAAP;AACH,KAFD;;AAGA3vC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAO4uC,aAAP;AACH,KAFD;;AAGA5vC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,MAA3C,EAAoD,YAAW;AAC3D,aAAOmM,aAAP;AACH,KAFD;;AAGAnN,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,MAA3C,EAAoD,YAAW;AAC3D,aAAO2gB,IAAP;AACH,KAFD;;AAGA3hB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAO6uC,OAAP;AACH,KAFD;;AAGA7vC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAO8uC,UAAP;AACH,KAFD;;AAGA9vC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAOmE,KAAP;AACH,KAFD;;AAGAnF,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAO+uC,QAAP;AACH,KAFD;;AAGA/vC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOoM,cAAP;AACH,KAFD;;AAGApN,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,uBAA3C,EAAqE,YAAW;AAC5E,aAAOgvC,qBAAP;AACH,KAFD;;AAGAhwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAOxI,SAAP;AACH,KAFD;;AAGAwH,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAOivC,aAAP;AACH,KAFD;;AAGAjwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOkvC,WAAP;AACH,KAFD;;AAGAlwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAO6gB,MAAP;AACH,KAFD;;AAGA7hB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAOmvC,WAAP;AACH,KAFD;;AAGAnwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOovC,cAAP;AACH,KAFD;;AAGApwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,MAA3C,EAAoD,YAAW;AAC3D,aAAOqvC,IAAP;AACH,KAFD;;AAGArwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,KAA3C,EAAmD,YAAW;AAC1D,aAAOsvC,GAAP;AACH,KAFD;;AAGAtwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,KAA3C,EAAmD,YAAW;AAC1D,aAAO4a,GAAP;AACH,KAFD;;AAGA5b,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAOuvC,OAAP;AACH,KAFD;;AAGAvwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOwvC,QAAP;AACH,KAFD;;AAGAxwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOyvC,WAAP;AACH,KAFD;;AAGAzwC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO0vC,SAAP;AACH,KAFD;;AAGA1wC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAO8gB,QAAP;AACH,KAFD;;AAGA9hB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAO2vC,aAAP;AACH,KAFD;;AAGA3wC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAO4vC,eAAP;AACH,KAFD;;AAGA5wC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAO+gB,YAAP;AACH,KAFD;;AAGA/hB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO6vC,SAAP;AACH,KAFD;;AAGA7wC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAO8vC,OAAP;AACH,KAFD;;AAGA9wC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,oBAA3C,EAAkE,YAAW;AACzE,aAAO+vC,kBAAP;AACH,KAFD;;AAGA/wC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,sBAA3C,EAAoE,YAAW;AAC3E,aAAOgwC,oBAAP;AACH,KAFD;;AAGAhxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAO+xB,MAAP;AACH,KAFD;;AAGA/yB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOiwC,QAAP;AACH,KAFD;;AAGAjxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOkwC,YAAP;AACH,KAFD;;AAGAlxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOmwC,gBAAP;AACH,KAFD;;AAGAnxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOghB,gBAAP;AACH,KAFD;;AAGAhiB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,uBAA3C,EAAqE,YAAW;AAC5E,aAAOowC,qBAAP;AACH,KAFD;;AAGApxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,KAA3C,EAAmD,YAAW;AAC1D,aAAOqwC,QAAP;AACH,KAFD;;AAGArxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOswC,WAAP;AACH,KAFD;;AAGAtxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOmhB,cAAP;AACH,KAFD;;AAGAniB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAOohB,SAAP;AACH,KAFD;;AAGApiB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOuwC,QAAP;AACH,KAFD;;AAGAvxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAOqhB,cAAP;AACH,KAFD;;AAGAriB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAOshB,aAAP;AACH,KAFD;;AAGAtiB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,eAA3C,EAA6D,YAAW;AACpE,aAAOuhB,aAAP;AACH,KAFD;;AAGAviB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOwwC,QAAP;AACH,KAFD;;AAGAxxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAO+P,KAAP;AACH,KAFD;;AAGA/Q,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOywC,QAAP;AACH,KAFD;;AAGAzxC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAO6hB,SAAP;AACH,KAFD;;AAGA7iB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAO0wC,KAAP;AACH,KAFD;;AAGA1xC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAO2wC,QAAP;AACH,KAFD;;AAGA3xC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAOuM,YAAP;AACH,KAFD;;AAGAvN,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,gBAA3C,EAA8D,YAAW;AACrE,aAAO4wC,mBAAP;AACH,KAFD;;AAGA5xC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,uBAA3C,EAAqE,YAAW;AAC5E,aAAO6wC,0BAAP;AACH,KAFD;;AAGA7xC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOsJ,QAAP;AACH,KAFD;;AAGAtK,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAO8hB,OAAP;AACH,KAFD;;AAGA9iB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAO7Q,QAAP;AACH,KAFD;;AAGA6P,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAO8wC,eAAP;AACH,KAFD;;AAGA9xC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOsiB,YAAP;AACH,KAFD;;AAGAtjB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAO+wC,MAAP;AACH,KAFD;;AAGA/xC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOgxC,QAAP;AACH,KAFD;;AAGAhyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,cAA3C,EAA4D,YAAW;AACnE,aAAOixC,YAAP;AACH,KAFD;;AAGAjyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,iBAA3C,EAA+D,YAAW;AACtE,aAAOwiB,oBAAP;AACH,KAFD;;AAGAxjB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAOlD,OAAP;AACH,KAFD;;AAGAkC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,kBAA3C,EAAgE,YAAW;AACvE,aAAOkxC,gBAAP;AACH,KAFD;;AAGAlyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAOmxC,WAAP;AACH,KAFD;;AAGAnyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,UAA3C,EAAwD,YAAW;AAC/D,aAAOoxC,QAAP;AACH,KAFD;;AAGApyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,SAA3C,EAAuD,YAAW;AAC9D,aAAOqxC,kBAAP;AACH,KAFD;;AAGAryC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAOsnB,MAAP;AACH,KAFD;;AAGAtoB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,MAA3C,EAAoD,YAAW;AAC3D,aAAOsxC,IAAP;AACH,KAFD;;AAGAtyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAOwnB,KAAP;AACH,KAFD;;AAGAxoB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,MAA3C,EAAoD,YAAW;AAC3D,aAAOynB,IAAP;AACH,KAFD;;AAGAzoB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,OAA3C,EAAqD,YAAW;AAC5D,aAAO0nB,KAAP;AACH,KAFD;;AAGA1oB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,QAA3C,EAAsD,YAAW;AAC7D,aAAOuxC,MAAP;AACH,KAFD;;AAGAvyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,oBAA3C,EAAkE,YAAW;AACzE,aAAO2nB,kBAAP;AACH,KAFD;;AAGA3oB,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,aAA3C,EAA2D,YAAW;AAClE,aAAOwxC,WAAP;AACH,KAFD;;AAGAxyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,WAA3C,EAAyD,YAAW;AAChE,aAAOyxC,SAAP;AACH,KAFD;;AAGAzyC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,YAA3C,EAA0D,YAAW;AACjE,aAAO0xC,UAAP;AACH,KAFD;;AAGA1yC,IAAAA,mBAAmB,CAACK,CAApB,CAAsBW,mBAAtB,EAA2C,0BAA3C,EAAwE,YAAW;AAC/E,aAAO2xC,wBAAP;AACH,KAFD;;AAGA,QAAIA,wBAAwB,GAAG;AAC3B,WAAK;AACDC,QAAAA,MAAM,EAAE,mBADP;AAEDC,QAAAA,eAAe,EAAE,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFhB;AAGDC,QAAAA,UAAU,EAAE;AACR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CADE;AAER,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFE;AAGR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAHG;AAIR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAJE;AAKR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CALK;AAMR,eAAK,CAAE,GAAF,EAAO,GAAP,CANG;AAOR,aAAG,CAAE,GAAF,EAAO,GAAP;AAPK,SAHX;AAYDC,QAAAA,WAAW,EAAE;AACT,aAAG,CAAE,GAAF,CADM;AAET,eAAK,CAAE,GAAF,EAAO,GAAP,CAFI;AAGT,aAAG,CAAE,GAAF,EAAO,GAAP;AAHM;AAZZ,OADsB;AAmB3B,WAAK;AACDH,QAAAA,MAAM,EAAE,wDADP;AAEDC,QAAAA,eAAe,EAAE,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFhB;AAGDC,QAAAA,UAAU,EAAE;AACR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CADE;AAER,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFE;AAGR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CAHG;AAIR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAJE;AAKR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CALK;AAMR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CANG;AAOR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ;AAPK,SAHX;AAYDC,QAAAA,WAAW,EAAE;AACT,eAAK,CAAE,GAAF,CADI;AAET,aAAG,CAAE,GAAF;AAFM;AAZZ,OAnBsB;AAoC3B,WAAK;AACDH,QAAAA,MAAM,EAAE,0BADP;AAEDC,QAAAA,eAAe,EAAE,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFhB;AAGDC,QAAAA,UAAU,EAAE;AACR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CADE;AAER,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFE;AAGR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CAHG;AAIR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAJE;AAKR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CALK;AAMR,eAAK,CAAE,GAAF,EAAO,GAAP,CANG;AAOR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB;AAPK,SAHX;AAYDC,QAAAA,WAAW,EAAE;AACT,gBAAM,CAAE,GAAF,CADG;AAET,eAAK,CAAE,GAAF,CAFI;AAGT,aAAG,CAAE,GAAF,CAHM;AAIT,eAAK,CAAE,GAAF,EAAO,GAAP,CAJI;AAKT,aAAG,CAAE,GAAF;AALM;AAZZ,OApCsB;AAwD3B,WAAK;AACDH,QAAAA,MAAM,EAAE,oDADP;AAEDC,QAAAA,eAAe,EAAE,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFhB;AAGDC,QAAAA,UAAU,EAAE;AACR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CADE;AAER,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFE;AAGR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAHG;AAIR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CAJE;AAKR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CALK;AAMR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CANG;AAOR,aAAG,CAAE,GAAF,EAAO,GAAP;AAPK,SAHX;AAYDC,QAAAA,WAAW,EAAE;AACT,gBAAM,CAAE,GAAF,CADG;AAET,aAAG,CAAE,GAAF,EAAO,GAAP;AAFM;AAZZ,OAxDsB;AAyE3B,WAAK;AACDH,QAAAA,MAAM,EAAE,6DADP;AAEDC,QAAAA,eAAe,EAAE,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFhB;AAGDC,QAAAA,UAAU,EAAE;AACR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CADE;AAER,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFE;AAGR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CAHG;AAIR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAJE;AAKR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CALK;AAMR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CANG;AAOR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ;AAPK,SAHX;AAYDC,QAAAA,WAAW,EAAE;AACT,eAAK,CAAE,GAAF,CADI;AAET,aAAG,CAAE,GAAF,CAFM;AAGT,aAAG,CAAE,GAAF;AAHM;AAZZ,OAzEsB;AA2F3B,WAAK;AACDH,QAAAA,MAAM,EAAE,sDADP;AAEDC,QAAAA,eAAe,EAAE,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFhB;AAGDC,QAAAA,UAAU,EAAE;AACR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CADE;AAER,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAFE;AAGR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CAHG;AAIR,gBAAM,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CAJE;AAKR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CALK;AAMR,eAAK,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,CANG;AAOR,aAAG,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ;AAPK,SAHX;AAYDC,QAAAA,WAAW,EAAE;AACT,eAAK,CAAE,GAAF,CADI;AAET,gBAAM,CAAE,GAAF,CAFG;AAGT,eAAK,CAAE,GAAF,CAHI;AAIT,aAAG,CAAE,GAAF;AAJM;AAZZ;AA3FsB,KAA/B;;AA+GA,aAAS5H,YAAT,GAAwB;AACpB,aAAOvyC,MAAM,CAAC4B,SAAP,CAAiB2jB,aAAjB,IAAkCvlB,MAAM,CAAC4B,SAAP,CAAiB4jB,SAA1D;AACH;;AACD,aAASgtB,QAAT,CAAkBhtB,SAAlB,EAA6B;AACzB,WAAK,CAAL,KAAWA,SAAX,KAAyBA,SAAS,GAAG+sB,YAAY,EAAjD;AACA,aAAO,CAAC,CAAC/sB,SAAS,CAACjZ,KAAV,CAAgB,sGAAhB,CAAT;AACH;;AACD,aAASkmC,SAAT,GAAqB;AACjB,UAAIjtB,SAAS,GAAG+sB,YAAY,EAA5B;AACA,aAAO,qEAAqE5iB,IAArE,CAA0EnK,SAA1E,KAAwF,SAASmK,IAAT,CAAcnK,SAAd,CAAxF,IAAoH,gCAAgCmK,IAAhC,CAAqCnK,SAArC,CAA3H;AACH;;AACD,aAASktB,YAAT,GAAwB;AACpB,aAAO,CAAC,CAAD,KAAO1yC,MAAM,CAAC4B,SAAP,CAAiBw4C,UAAxB,IAAsCp6C,MAAM,CAACq6C,UAAP,CAAkB,4BAAlB,EAAgDC,OAA7F;AACH;;AACD,aAAS3H,iBAAT,CAA2B4H,EAA3B,EAA+B;AAC3B,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,OAAO5iB,IAAP,CAAY4qB,EAAZ,KAAmB,OAAO5qB,IAAP,CAAY4qB,EAAZ,CAA1B;AACH;;AACD,aAAS3H,YAAT,CAAsB2H,EAAtB,EAA0B;AACtB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,SAAS5iB,IAAT,CAAc4qB,EAAd,CAAP;AACH;;AACD,aAAS1H,SAAT,CAAmB0H,EAAnB,EAAuB;AACnB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,UAAU5iB,IAAV,CAAe4qB,EAAf,CAAP;AACH;;AACD,aAASzH,WAAT,CAAqByH,EAArB,EAAyB;AACrB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,cAAc5iB,IAAd,CAAmB4qB,EAAnB,CAAP;AACH;;AACD,aAASxH,SAAT,CAAmBwH,EAAnB,EAAuB;AACnB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,UAAU5iB,IAAV,CAAe4qB,EAAf,CAAP;AACH;;AACD,aAASvH,KAAT,CAAeuH,EAAf,EAAmB;AACf,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,mBAAmB5iB,IAAnB,CAAwB4qB,EAAxB,CAAP;AACH;;AACD,aAAStH,iBAAT,CAA2BsH,EAA3B,EAA+B;AAC3B,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,UAAU5iB,IAAV,CAAe4qB,EAAf,CAAP;AACH;;AACD,aAASrH,WAAT,CAAqBqH,EAArB,EAAyB;AACrB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,YAAY5iB,IAAZ,CAAiB4qB,EAAjB,CAAP;AACH;;AACD,aAASpH,YAAT,CAAsBoH,EAAtB,EAA0B;AACtB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,CAAC,CAACS,KAAK,CAACuH,EAAD,CAAP,KAAgB,CAAC,CAACtH,iBAAiB,CAACsH,EAAD,CAAnB,IAA2B,wCAAwC5qB,IAAxC,CAA6C4qB,EAA7C,CAA3C,CAAP;AACH;;AACD,aAASnH,MAAT,CAAgBmH,EAAhB,EAAoB;AAChB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;;AACA,UAAIS,KAAK,CAACuH,EAAD,CAAT,EAAe;AACX,YAAIP,MAAM,GAAGD,wBAAwB,CAAC/5C,MAAM,CAAC2gC,WAAR,CAArC;AACA,YAAI,CAACqZ,MAAL,EAAa,OAAO,CAAC,CAAR;AACb,YAAI74C,MAAM,GAAGnB,MAAM,CAACw6C,WAApB;AACA,YAAIC,KAAK,GAAGzpC,IAAI,CAACyvB,KAAL,CAAWzgC,MAAM,CAACiB,MAAP,CAAcG,KAAd,GAAsBpB,MAAM,CAAC06C,UAA7B,GAA0C,GAArD,IAA4D,GAAxE;AACA,YAAIC,cAAc,GAAG3pC,IAAI,CAACyvB,KAAL,CAAWt/B,MAAM,GAAGs5C,KAApB,CAArB;AACA,eAAOA,KAAK,GAAG,CAAR,IAAaT,MAAM,CAACE,UAAP,CAAkBO,KAAlB,CAAb,GAAwC,CAAC,CAAD,KAAOT,MAAM,CAACE,UAAP,CAAkBO,KAAlB,EAAyBtwC,OAAzB,CAAiCwwC,cAAjC,CAA/C,GAAkG,CAAC,CAAD,KAAOX,MAAM,CAACC,eAAP,CAAuB9vC,OAAvB,CAA+BwwC,cAA/B,CAAhH;AACH;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAAStH,cAAT,CAAwBkH,EAAxB,EAA4B;AACxB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;;AACA,UAAIS,KAAK,CAACuH,EAAD,CAAT,EAAe;AACX,YAAIK,IAAI,GAAGxH,MAAM,CAACmH,EAAD,CAAjB;AACA,YAAIP,MAAM,GAAGD,wBAAwB,CAAC/5C,MAAM,CAAC2gC,WAAR,CAArC;AACA,YAAI,CAACqZ,MAAL,EAAa,OAAO,CAAC,CAAR;AACb,YAAI74C,MAAM,GAAGnB,MAAM,CAACw6C,WAApB;AACA,YAAIC,KAAK,GAAGzpC,IAAI,CAACyvB,KAAL,CAAWzgC,MAAM,CAACiB,MAAP,CAAcG,KAAd,GAAsBpB,MAAM,CAAC06C,UAA7B,GAA0C,GAArD,IAA4D,GAAxE;AACA,YAAIC,cAAc,GAAG3pC,IAAI,CAACyvB,KAAL,CAAWt/B,MAAM,GAAGs5C,KAApB,CAArB;AACA,YAAII,mBAAmB,GAAGb,MAAM,CAACG,WAAjC;AACA,YAAIA,WAAW,GAAG,CAAC,CAAnB;AACAM,QAAAA,KAAK,GAAG,CAAR,IAAaI,mBAAmB,CAACJ,KAAD,CAAhC,IAA2C,CAAC,CAAD,KAAOI,mBAAmB,CAACJ,KAAD,CAAnB,CAA2BtwC,OAA3B,CAAmCwwC,cAAnC,CAAlD,KAAyGR,WAAW,GAAG,CAAC,CAAxH;AACA,eAAOS,IAAI,IAAIT,WAAf;AACH;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAAS7G,gBAAT,CAA0BiH,EAA1B,EAA8B;AAC1B,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,CAAC,CAACQ,SAAS,CAACwH,EAAD,CAAX,IAAmB,kBAAkB5qB,IAAlB,CAAuB4qB,EAAvB,CAAnB,IAAiD,CAACzH,WAAW,CAACyH,EAAD,CAApE;AACH;;AACD,aAAShH,WAAT,GAAuB;AACnB,aAAO,CAAC,CAACvzC,MAAM,CAAChB,QAAP,CAAgB87C,YAAlB,IAAkCxuC,OAAO,CAACtM,MAAM,CAAC4B,SAAP,IAAoB5B,MAAM,CAAC4B,SAAP,CAAiB4jB,SAArC,IAAkD,mBAAmBmK,IAAnB,CAAwB3vB,MAAM,CAAC4B,SAAP,CAAiB4jB,SAAzC,CAAnD,CAAhD;AACH;;AACD,aAASguB,cAAT,GAA0B;AACtB,UAAIuH,KAAK,GAAG/6C,MAAM,CAAChB,QAAP,CAAgBgtB,aAAhB,CAA8B,oCAA9B,CAAZ;AACA,UAAIgvB,QAAQ,GAAGh7C,MAAM,CAAChB,QAAP,CAAgBgtB,aAAhB,CAA8B,yBAA9B,CAAf;AACA,aAAO,EAAE,CAAC+uB,KAAD,IAAU,CAACC,QAAb,CAAP;AACH;;AACD,aAASvH,UAAT,GAAsB;AAClB,aAAO,EAAE,eAAe,OAAOpwC,OAAtB,IAAiC,CAACA,OAAO,CAAC43C,QAA1C,IAAsD,CAAC53C,OAAO,CAAC43C,QAAR,CAAiBC,QAA1E,CAAP;AACH;;AACD,aAASxH,YAAT,GAAwB;AACpB,UAAI1zC,MAAM,CAAChB,QAAP,CAAgB87C,YAApB,EAAkC,IAAI;AAClC,YAAIja,MAAM,GAAG7gC,MAAM,CAAC6gC,MAApB;AACA7gC,QAAAA,MAAM,CAAC6gC,MAAP,GAAgB,kBAAhB;;AACA,YAAI,uBAAuB7gC,MAAM,CAAC6gC,MAAlC,EAA0C;AACtC7gC,UAAAA,MAAM,CAAC6gC,MAAP,GAAgBA,MAAhB;AACA,iBAAO,CAAC,CAAR;AACH;;AACD,eAAO,CAAC,CAAR;AACH,OARiC,CAQhC,OAAOpqC,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAASk9C,UAAT,GAAsB;AAClB,UAAInuB,SAAS,GAAG+sB,YAAY,EAA5B;AACA,aAAO,sCAAsC5iB,IAAtC,CAA2CnK,SAA3C,CAAP;AACH;;AACD,aAASouB,cAAT,CAAwB2G,EAAxB,EAA4B;AACxB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,EAAEY,YAAY,CAACoH,EAAD,CAAZ,IAAoBjH,gBAAgB,CAACiH,EAAD,CAApC,IAA4CzH,WAAW,CAACyH,EAAD,CAAvD,IAA+D3H,YAAY,CAAC2H,EAAD,CAA3E,IAAmF1H,SAAS,CAAC0H,EAAD,CAA5F,IAAoG5H,iBAAiB,CAAC4H,EAAD,CAArH,IAA6HrH,WAAW,CAACqH,EAAD,CAAxI,IAAgJ9G,UAAU,EAA1J,IAAgKE,UAAU,EAA1K,IAAgLjB,YAAY,EAA9L,CAAP;AACH;;AACD,aAASmB,QAAT,CAAkB0G,EAAlB,EAAsB;AAClB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,wBAAwB5iB,IAAxB,CAA6B4qB,EAA7B,CAAP;AACH;;AACD,aAASzG,QAAT,CAAkByG,EAAlB,EAAsB;AAClB,WAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAGhI,YAAY,EAAnC;AACA,aAAO,SAAS5iB,IAAT,CAAc4qB,EAAd,KAAqB,CAAC1G,QAAQ,CAAC0G,EAAD,CAArC;AACH;;AACD,aAASxG,mBAAT,GAA+B;AAC3B,UAAI;AACA,YAAI/zC,MAAM,CAACm7C,eAAP,IAA0Bn7C,MAAM,CAACm7C,eAAP,CAAuBC,eAAvB,CAAuC,CAAvC,CAA1B,IAAuEp7C,MAAM,CAACm7C,eAAP,CAAuBE,eAAvB,EAA3E,EAAqH,OAAO,CAAC,CAAR;AACxH,OAFD,CAEE,OAAOvzB,CAAP,EAAU;AACR,eAAO,CAAC,CAAR;AACH;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAAS1D,eAAT,CAAyBzc,CAAzB,EAA4BnF,CAA5B,EAA+B;AAC3B,aAAO,CAAC4hB,eAAe,GAAGhvB,MAAM,CAAC+D,cAAP,IAAyB,UAASwO,CAAT,EAAYnF,CAAZ,EAAe;AAC9DmF,QAAAA,CAAC,CAACvO,SAAF,GAAcoJ,CAAd;AACA,eAAOmF,CAAP;AACH,OAHM,EAGJA,CAHI,EAGDnF,CAHC,CAAP;AAIH;;AACD,aAAS6hB,cAAT,CAAwBC,QAAxB,EAAkCC,UAAlC,EAA8C;AAC1CD,MAAAA,QAAQ,CAACjvB,SAAT,GAAqBD,MAAM,CAAC8B,MAAP,CAAcqtB,UAAU,CAAClvB,SAAzB,CAArB;AACAivB,MAAAA,QAAQ,CAACjvB,SAAT,CAAmBoD,WAAnB,GAAiC6rB,QAAjC;;AACAF,MAAAA,eAAe,CAACE,QAAD,EAAWC,UAAX,CAAf;AACH;;AACD,aAASC,QAAT,GAAoB;AAChB,aAAO,CAACA,QAAQ,GAAGpvB,MAAM,CAACqvB,MAAP,IAAiB,UAASC,MAAT,EAAiB;AACjD,aAAK,IAAI9nB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgX,SAAS,CAACrX,MAA9B,EAAsCK,CAAC,EAAvC,EAA2C;AACvC,cAAIwb,MAAM,GAAGxE,SAAS,CAAChX,CAAD,CAAtB;;AACA,eAAK,IAAIzG,GAAT,IAAgBiiB,MAAhB;AAAwB,aAAC,EAAD,EAAK7iB,cAAL,CAAoBoC,IAApB,CAAyBygB,MAAzB,EAAiCjiB,GAAjC,MAA0CuuB,MAAM,CAACvuB,GAAD,CAAN,GAAciiB,MAAM,CAACjiB,GAAD,CAA9D;AAAxB;AACH;;AACD,eAAOuuB,MAAP;AACH,OANM,EAMJpU,KANI,CAME,IANF,EAMQsD,SANR,CAAP;AAOH;;AACD,aAAS7G,eAAT,CAAyB3D,IAAzB,EAA+B;AAC3B,UAAI;AACA,YAAI,CAACA,IAAL,EAAW,OAAO,CAAC,CAAR;AACX,YAAI,eAAe,OAAO/O,OAAtB,IAAiC+O,IAAI,YAAY/O,OAArD,EAA8D,OAAO,CAAC,CAAR;AAC9D,YAAI,eAAe,OAAO2F,MAAtB,IAAgC,cAAc,OAAOA,MAAM,CAAC2M,MAA5D,IAAsEvD,IAAI,YAAYpJ,MAAM,CAAC2M,MAAjG,EAAyG,OAAO,CAAC,CAAR;AACzG,YAAI,eAAe,OAAO3M,MAAtB,IAAgC,cAAc,OAAOA,MAAM,CAACvH,WAA5D,IAA2E2Q,IAAI,YAAYpJ,MAAM,CAACvH,WAAtG,EAAmH,OAAO,CAAC,CAAR;AACnH,YAAIuU,SAAS,GAAG,GAAGzR,QAAnB;;AACA,YAAIyR,SAAJ,EAAe;AACX,cAAI/T,IAAI,GAAG+T,SAAS,CAACrV,IAAV,CAAeyR,IAAf,CAAX;;AACA,cAAI,sBAAsBnQ,IAAtB,IAA8B,sBAAsBA,IAApD,IAA4D,yBAAyBA,IAAzF,EAA+F,OAAO,CAAC,CAAR;AAClG;;AACD,YAAI,cAAc,OAAOmQ,IAAI,CAACtP,IAA9B,EAAoC,OAAO,CAAC,CAAR;AACvC,OAXD,CAWE,OAAOrD,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,QAAIwW,gBAAgB,GAAG,EAAvB;AACA,QAAIC,gCAAgC,GAAG,EAAvC;AACA,QAAIC,WAAW,GAAG,CAAlB;AACA,QAAIC,YAAJ;;AACA,aAASC,WAAT,GAAuB;AACnB,UAAI,CAACF,WAAD,IAAgBC,YAApB,EAAkC;AAC9B,YAAIpH,OAAO,GAAGoH,YAAd;AACAA,QAAAA,YAAY,GAAG,IAAf;AACApH,QAAAA,OAAO,CAACtM,OAAR;AACH;AACJ;;AACD,aAAS4T,WAAT,GAAuB;AACnBH,MAAAA,WAAW,IAAI,CAAf;AACH;;AACD,aAASI,SAAT,GAAqB;AACjBJ,MAAAA,WAAW,IAAI,CAAf;AACAE,MAAAA,WAAW;AACd;;AACD,QAAIhF,oBAAoB,GAAG,YAAW;AAClC,eAASmF,YAAT,CAAsBC,OAAtB,EAA+B;AAC3B,YAAIC,KAAK,GAAG,IAAZ;;AACA,aAAKC,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,YAAL,GAAoB,KAAK,CAAzB;AACA,aAAKzX,KAAL,GAAa,KAAK,CAAlB;AACA,aAAK4D,KAAL,GAAa,KAAK,CAAlB;AACA,aAAK8T,QAAL,GAAgB,KAAK,CAArB;AACA,aAAKC,WAAL,GAAmB,KAAK,CAAxB;AACA,aAAKC,KAAL,GAAa,KAAK,CAAlB;AACA,aAAKL,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKC,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKC,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKC,QAAL,GAAgB,EAAhB;;AACA,YAAIL,OAAJ,EAAa;AACT,cAAIQ,OAAJ;;AACA,cAAIC,MAAJ;;AACA,cAAIP,QAAQ,GAAG,CAAC,CAAhB;AACA,cAAIC,QAAQ,GAAG,CAAC,CAAhB;AACA,cAAIO,OAAO,GAAG,CAAC,CAAf;AACAb,UAAAA,WAAW;;AACX,cAAI;AACAG,YAAAA,OAAO,CAAE,UAASjI,GAAT,EAAc;AACnB,kBAAI2I,OAAJ,EAAaT,KAAK,CAAChU,OAAN,CAAc8L,GAAd,EAAb,KAAsC;AAClCmI,gBAAAA,QAAQ,GAAG,CAAC,CAAZ;AACAM,gBAAAA,OAAO,GAAGzI,GAAV;AACH;AACJ,aALM,EAKF,UAAS/O,GAAT,EAAc;AACf,kBAAI0X,OAAJ,EAAaT,KAAK,CAAC/T,MAAN,CAAalD,GAAb,EAAb,KAAqC;AACjCmX,gBAAAA,QAAQ,GAAG,CAAC,CAAZ;AACAM,gBAAAA,MAAM,GAAGzX,GAAT;AACH;AACJ,aAVM,CAAP;AAWH,WAZD,CAYE,OAAOA,GAAP,EAAY;AACV8W,YAAAA,SAAS;AACT,iBAAK5T,MAAL,CAAYlD,GAAZ;AACA;AACH;;AACD8W,UAAAA,SAAS;AACTY,UAAAA,OAAO,GAAG,CAAC,CAAX;AACAR,UAAAA,QAAQ,GAAG,KAAKjU,OAAL,CAAauU,OAAb,CAAH,GAA2BL,QAAQ,IAAI,KAAKjU,MAAL,CAAYuU,MAAZ,CAA/C;AACH;AACJ;;AACD,UAAIE,MAAM,GAAGZ,YAAY,CAACnY,SAA1B;;AACA+Y,MAAAA,MAAM,CAAC1U,OAAP,GAAiB,UAASG,MAAT,EAAiB;AAC9B,YAAI,KAAK8T,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIb,eAAe,CAAClT,MAAD,CAAnB,EAA6B,MAAM,IAAIa,KAAJ,CAAU,8CAAV,CAAN;AAC7B,aAAKiT,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAKvX,KAAL,GAAayD,MAAb;AACA,aAAKwU,QAAL;AACA,eAAO,IAAP;AACH,OAPD;;AAQAD,MAAAA,MAAM,CAACzU,MAAP,GAAgB,UAASK,KAAT,EAAgB;AAC5B,YAAIsU,MAAM,GAAG,IAAb;;AACA,YAAI,KAAKX,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIb,eAAe,CAAC/S,KAAD,CAAnB,EAA4B,MAAM,IAAIU,KAAJ,CAAU,6CAAV,CAAN;;AAC5B,YAAI,CAACV,KAAL,EAAY;AACR,cAAIuU,IAAI,GAAGvU,KAAK,IAAI,cAAc,OAAOA,KAAK,CAACuB,QAApC,GAA+CvB,KAAK,CAACuB,QAAN,EAA/C,GAAkE,GAAGA,QAAH,CAAY5D,IAAZ,CAAiBqC,KAAjB,CAA7E;;AACAA,UAAAA,KAAK,GAAG,IAAIU,KAAJ,CAAU,kDAAkD6T,IAA5D,CAAR;AACH;;AACD,aAAKX,QAAL,GAAgB,CAAC,CAAjB;AACA,aAAK5T,KAAL,GAAaA,KAAb;AACA,aAAK6T,YAAL,IAAqBW,UAAU,CAAE,YAAW;AACxCF,UAAAA,MAAM,CAACT,YAAP,IAAuB,UAASpX,GAAT,EAAcuP,OAAd,EAAuB;AAC1C,gBAAI,CAAC,CAAD,KAAOiH,gBAAgB,CAAC9C,OAAjB,CAAyB1T,GAAzB,CAAX,EAA0C;AACtCwW,cAAAA,gBAAgB,CAACjR,IAAjB,CAAsBvF,GAAtB;AACA+X,cAAAA,UAAU,CAAE,YAAW;AACnB,sBAAM/X,GAAN;AACH,eAFS,EAEN,CAFM,CAAV;;AAGA,mBAAK,IAAIgY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGvB,gCAAgC,CAAC3Q,MAArD,EAA6DkS,CAAC,EAA9D;AAAkEvB,gBAAAA,gCAAgC,CAACuB,CAAD,CAAhC,CAAoChY,GAApC,EAAyCuP,OAAzC;AAAlE;AACH;AACJ,WARsB,CAQrBhM,KARqB,EAQdsU,MARc,CAAvB;AASH,SAV8B,EAU3B,CAV2B,CAA/B;AAWA,aAAKD,QAAL;AACA,eAAO,IAAP;AACH,OAvBD;;AAwBAD,MAAAA,MAAM,CAACM,WAAP,GAAqB,UAAS1U,KAAT,EAAgB;AACjC,aAAK6T,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKlU,MAAL,CAAYK,KAAZ;AACA,eAAO,IAAP;AACH,OAJD;;AAKAoU,MAAAA,MAAM,CAACC,QAAP,GAAkB,YAAW;AACzB,YAAIV,QAAQ,GAAG,KAAKA,QAApB;AAAA,YAA8BC,QAAQ,GAAG,KAAKA,QAA9C;AAAA,YAAwDE,QAAQ,GAAG,KAAKA,QAAxE;;AACA,YAAI,CAAC,KAAKC,WAAN,KAAsBJ,QAAQ,IAAIC,QAAlC,CAAJ,EAAiD;AAC7C,eAAKG,WAAL,GAAmB,CAAC,CAApB;AACAT,UAAAA,WAAW;;AACX,cAAIqB,KAAK,GAAG,SAARA,KAAQ,CAASC,YAAT,EAAuBC,aAAvB,EAAsC;AAC9C,mBAAOD,YAAY,CAAC9U,IAAb,CAAmB,UAAS0L,GAAT,EAAc;AACpCqJ,cAAAA,aAAa,CAACnV,OAAd,CAAsB8L,GAAtB;AACH,aAFM,EAEF,UAAS/O,GAAT,EAAc;AACfoY,cAAAA,aAAa,CAAClV,MAAd,CAAqBlD,GAArB;AACH,aAJM,CAAP;AAKH,WAND;;AAOA,eAAK,IAAImG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkR,QAAQ,CAACvR,MAA7B,EAAqCK,CAAC,EAAtC,EAA0C;AACtC,gBAAIkS,WAAW,GAAGhB,QAAQ,CAAClR,CAAD,CAA1B;AAAA,gBAA+BmS,SAAS,GAAGD,WAAW,CAACC,SAAvD;AAAA,gBAAkEC,OAAO,GAAGF,WAAW,CAACE,OAAxF;AAAA,gBAAiGhJ,OAAO,GAAG8I,WAAW,CAAC9I,OAAvH;;AACA,gBAAIiJ,QAAQ,GAAG,KAAK,CAApB;;AACA,gBAAItB,QAAJ,EAAc,IAAI;AACdsB,cAAAA,QAAQ,GAAGF,SAAS,GAAGA,SAAS,CAAC,KAAK3Y,KAAN,CAAZ,GAA2B,KAAKA,KAApD;AACH,aAFa,CAEZ,OAAOK,GAAP,EAAY;AACVuP,cAAAA,OAAO,CAACrM,MAAR,CAAelD,GAAf;AACA;AACH,aALD,MAKO,IAAImX,QAAJ,EAAc;AACjB,kBAAI,CAACoB,OAAL,EAAc;AACVhJ,gBAAAA,OAAO,CAACrM,MAAR,CAAe,KAAKK,KAApB;AACA;AACH;;AACD,kBAAI;AACAiV,gBAAAA,QAAQ,GAAGD,OAAO,CAAC,KAAKhV,KAAN,CAAlB;AACH,eAFD,CAEE,OAAOvD,GAAP,EAAY;AACVuP,gBAAAA,OAAO,CAACrM,MAAR,CAAelD,GAAf;AACA;AACH;AACJ;;AACD,gBAAIwY,QAAQ,YAAYzB,YAApB,KAAqCyB,QAAQ,CAACtB,QAAT,IAAqBsB,QAAQ,CAACrB,QAAnE,CAAJ,EAAkF;AAC9EqB,cAAAA,QAAQ,CAACtB,QAAT,GAAoB3H,OAAO,CAACtM,OAAR,CAAgBuV,QAAQ,CAAC7Y,KAAzB,CAApB,GAAsD4P,OAAO,CAACrM,MAAR,CAAesV,QAAQ,CAACjV,KAAxB,CAAtD;AACAiV,cAAAA,QAAQ,CAACpB,YAAT,GAAwB,CAAC,CAAzB;AACH,aAHD,MAGOd,eAAe,CAACkC,QAAD,CAAf,GAA4BA,QAAQ,YAAYzB,YAApB,KAAqCyB,QAAQ,CAACtB,QAAT,IAAqBsB,QAAQ,CAACrB,QAAnE,IAA+EqB,QAAQ,CAACtB,QAAT,GAAoB3H,OAAO,CAACtM,OAAR,CAAgBuV,QAAQ,CAAC7Y,KAAzB,CAApB,GAAsD4P,OAAO,CAACrM,MAAR,CAAesV,QAAQ,CAACjV,KAAxB,CAArI,GAAsK2U,KAAK,CAACM,QAAD,EAAWjJ,OAAX,CAAvM,GAA6NA,OAAO,CAACtM,OAAR,CAAgBuV,QAAhB,CAA7N;AACV;;AACDnB,UAAAA,QAAQ,CAACvR,MAAT,GAAkB,CAAlB;AACA,eAAKwR,WAAL,GAAmB,CAAC,CAApB;AACAR,UAAAA,SAAS;AACZ;AACJ,OAzCD;;AA0CAa,MAAAA,MAAM,CAACtU,IAAP,GAAc,UAASiV,SAAT,EAAoBC,OAApB,EAA6B;AACvC,YAAID,SAAS,IAAI,cAAc,OAAOA,SAAlC,IAA+C,CAACA,SAAS,CAACpX,IAA9D,EAAoE,MAAM,IAAI+C,KAAJ,CAAU,sDAAV,CAAN;AACpE,YAAIsU,OAAO,IAAI,cAAc,OAAOA,OAAhC,IAA2C,CAACA,OAAO,CAACrX,IAAxD,EAA8D,MAAM,IAAI+C,KAAJ,CAAU,oDAAV,CAAN;AAC9D,YAAIsL,OAAO,GAAG,IAAIwH,YAAJ,EAAd;AACA,aAAKM,QAAL,CAAc9R,IAAd,CAAmB;AACfgK,UAAAA,OAAO,EAAEA,OADM;AAEf+I,UAAAA,SAAS,EAAEA,SAFI;AAGfC,UAAAA,OAAO,EAAEA;AAHM,SAAnB;AAKA,aAAKnB,YAAL,GAAoB,CAAC,CAArB;AACA,aAAKQ,QAAL;AACA,eAAOrI,OAAP;AACH,OAZD;;AAaAoI,MAAAA,MAAM,SAAN,GAAe,UAASY,OAAT,EAAkB;AAC7B,eAAO,KAAKlV,IAAL,CAAU,KAAK,CAAf,EAAkBkV,OAAlB,CAAP;AACH,OAFD;;AAGAZ,MAAAA,MAAM,WAAN,GAAiB,UAASc,SAAT,EAAoB;AACjC,YAAIA,SAAS,IAAI,cAAc,OAAOA,SAAlC,IAA+C,CAACA,SAAS,CAACvX,IAA9D,EAAoE,MAAM,IAAI+C,KAAJ,CAAU,qCAAV,CAAN;AACpE,eAAO,KAAKZ,IAAL,CAAW,UAASD,MAAT,EAAiB;AAC/B,iBAAO2T,YAAY,OAAZ,CAAiB0B,SAAjB,EAA4BpV,IAA5B,CAAkC,YAAW;AAChD,mBAAOD,MAAP;AACH,WAFM,CAAP;AAGH,SAJM,EAIF,UAASpD,GAAT,EAAc;AACf,iBAAO+W,YAAY,OAAZ,CAAiB0B,SAAjB,EAA4BpV,IAA5B,CAAkC,YAAW;AAChD,kBAAMrD,GAAN;AACH,WAFM,CAAP;AAGH,SARM,CAAP;AASH,OAXD;;AAYA2X,MAAAA,MAAM,CAACe,OAAP,GAAiB,UAASC,IAAT,EAAe3Y,GAAf,EAAoB;AACjC,YAAI4Y,MAAM,GAAG,IAAb;;AACA,YAAI,KAAK1B,QAAL,IAAiB,KAAKC,QAA1B,EAAoC,OAAO,IAAP;AACpC,YAAIuB,OAAO,GAAGX,UAAU,CAAE,YAAW;AACjCa,UAAAA,MAAM,CAAC1B,QAAP,IAAmB0B,MAAM,CAACzB,QAA1B,IAAsCyB,MAAM,CAAC1V,MAAP,CAAclD,GAAG,IAAI,IAAIiE,KAAJ,CAAU,6BAA6B0U,IAA7B,GAAoC,IAA9C,CAArB,CAAtC;AACH,SAFuB,EAEpBA,IAFoB,CAAxB;AAGA,eAAO,KAAKtV,IAAL,CAAW,UAASD,MAAT,EAAiB;AAC/ByV,UAAAA,YAAY,CAACH,OAAD,CAAZ;AACA,iBAAOtV,MAAP;AACH,SAHM,CAAP;AAIH,OAVD;;AAWAuU,MAAAA,MAAM,CAACmB,SAAP,GAAmB,YAAW;AAC1B,YAAI,eAAe,OAAOlV,OAA1B,EAAmC,MAAM,IAAIc,SAAJ,CAAc,wBAAd,CAAN;AACnC,eAAOd,OAAO,CAACX,OAAR,CAAgB,IAAhB,CAAP;AACH,OAHD;;AAIA8T,MAAAA,YAAY,CAAC9T,OAAb,GAAuB,UAAStD,KAAT,EAAgB;AACnC,eAAOA,KAAK,YAAYoX,YAAjB,GAAgCpX,KAAhC,GAAwC2W,eAAe,CAAC3W,KAAD,CAAf,GAAyB,IAAIoX,YAAJ,CAAkB,UAAS9T,OAAT,EAAkBC,MAAlB,EAA0B;AAChH,iBAAOvD,KAAK,CAAC0D,IAAN,CAAWJ,OAAX,EAAoBC,MAApB,CAAP;AACH,SAFuE,CAAzB,GAExC,IAAI6T,YAAJ,EAAD,CAAmB9T,OAAnB,CAA2BtD,KAA3B,CAFN;AAGH,OAJD;;AAKAoX,MAAAA,YAAY,CAAC7T,MAAb,GAAsB,UAASK,KAAT,EAAgB;AAClC,eAAQ,IAAIwT,YAAJ,EAAD,CAAmB7T,MAAnB,CAA0BK,KAA1B,CAAP;AACH,OAFD;;AAGAwT,MAAAA,YAAY,CAACkB,WAAb,GAA2B,UAAS1U,KAAT,EAAgB;AACvC,eAAQ,IAAIwT,YAAJ,EAAD,CAAmBkB,WAAnB,CAA+B1U,KAA/B,CAAP;AACH,OAFD;;AAGAwT,MAAAA,YAAY,CAACgC,GAAb,GAAmB,UAASC,QAAT,EAAmB;AAClC,YAAIzJ,OAAO,GAAG,IAAIwH,YAAJ,EAAd;AACA,YAAIkC,KAAK,GAAGD,QAAQ,CAAClT,MAArB;AACA,YAAIoT,OAAO,GAAG,EAAd;;AACA,YAAI,CAACD,KAAL,EAAY;AACR1J,UAAAA,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB;AACA,iBAAO3J,OAAP;AACH;;AACD,YAAI2I,KAAK,GAAG,SAARA,KAAQ,CAAS/R,CAAT,EAAYgS,YAAZ,EAA0BC,aAA1B,EAAyC;AACjD,iBAAOD,YAAY,CAAC9U,IAAb,CAAmB,UAAS0L,GAAT,EAAc;AACpCmK,YAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAa4I,GAAb;AACA,kBAAMkK,KAAK,IAAI,CAAf,KAAqB1J,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB,CAArB;AACH,WAHM,EAGF,UAASlZ,GAAT,EAAc;AACfoY,YAAAA,aAAa,CAAClV,MAAd,CAAqBlD,GAArB;AACH,WALM,CAAP;AAMH,SAPD;;AAQA,aAAK,IAAImG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6S,QAAQ,CAAClT,MAA7B,EAAqCK,CAAC,EAAtC,EAA0C;AACtC,cAAIgT,IAAI,GAAGH,QAAQ,CAAC7S,CAAD,CAAnB;;AACA,cAAIgT,IAAI,YAAYpC,YAApB,EAAkC;AAC9B,gBAAIoC,IAAI,CAACjC,QAAT,EAAmB;AACfgC,cAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAagT,IAAI,CAACxZ,KAAlB;AACAsZ,cAAAA,KAAK,IAAI,CAAT;AACA;AACH;AACJ,WAND,MAMO,IAAI,CAAC3C,eAAe,CAAC6C,IAAD,CAApB,EAA4B;AAC/BD,YAAAA,OAAO,CAAC/S,CAAD,CAAP,GAAagT,IAAb;AACAF,YAAAA,KAAK,IAAI,CAAT;AACA;AACH;;AACDf,UAAAA,KAAK,CAAC/R,CAAD,EAAI4Q,YAAY,CAAC9T,OAAb,CAAqBkW,IAArB,CAAJ,EAAgC5J,OAAhC,CAAL;AACH;;AACD,cAAM0J,KAAN,IAAe1J,OAAO,CAACtM,OAAR,CAAgBiW,OAAhB,CAAf;AACA,eAAO3J,OAAP;AACH,OAjCD;;AAkCAwH,MAAAA,YAAY,CAACqC,IAAb,GAAoB,UAASJ,QAAT,EAAmB;AACnC,YAAI5V,MAAM,GAAG,EAAb;AACA,YAAIiW,aAAa,GAAG,EAApB;;AACA,YAAIC,KAAK,GAAG,SAARA,KAAQ,CAAS5Z,GAAT,EAAc;AACtB,cAAIsZ,QAAQ,CAACla,cAAT,CAAwBY,GAAxB,CAAJ,EAAkC;AAC9B,gBAAIC,KAAK,GAAGqZ,QAAQ,CAACtZ,GAAD,CAApB;AACA4W,YAAAA,eAAe,CAAC3W,KAAD,CAAf,GAAyB0Z,aAAa,CAAC9T,IAAd,CAAmB5F,KAAK,CAAC0D,IAAN,CAAY,UAAS0L,GAAT,EAAc;AAClE3L,cAAAA,MAAM,CAAC1D,GAAD,CAAN,GAAcqP,GAAd;AACH,aAF2C,CAAnB,CAAzB,GAEO3L,MAAM,CAAC1D,GAAD,CAAN,GAAcC,KAFrB;AAGH;AACJ,SAPD;;AAQA,aAAK,IAAID,GAAT,IAAgBsZ,QAAhB;AAA0BM,UAAAA,KAAK,CAAC5Z,GAAD,CAAL;AAA1B;;AACA,eAAOqX,YAAY,CAACgC,GAAb,CAAiBM,aAAjB,EAAgChW,IAAhC,CAAsC,YAAW;AACpD,iBAAOD,MAAP;AACH,SAFM,CAAP;AAGH,OAfD;;AAgBA2T,MAAAA,YAAY,CAACwC,GAAb,GAAmB,UAASC,KAAT,EAAgBpX,MAAhB,EAAwB;AACvC,eAAO2U,YAAY,CAACgC,GAAb,CAAiBS,KAAK,CAACD,GAAN,CAAUnX,MAAV,CAAjB,CAAP;AACH,OAFD;;AAGA2U,MAAAA,YAAY,CAAC0C,4BAAb,GAA4C,UAASzC,OAAT,EAAkB;AAC1D,eAAO,UAASA,OAAT,EAAkB;AACrBP,UAAAA,gCAAgC,CAAClR,IAAjC,CAAsCyR,OAAtC;AACA,iBAAO;AACH0C,YAAAA,MAAM,EAAE,kBAAW;AACfjD,cAAAA,gCAAgC,CAACkD,MAAjC,CAAwClD,gCAAgC,CAAC/C,OAAjC,CAAyCsD,OAAzC,CAAxC,EAA2F,CAA3F;AACH;AAHE,WAAP;AAKH,SAPM,CAOLA,OAPK,CAAP;AAQH,OATD;;AAUAD,MAAAA,YAAY,OAAZ,GAAmB,UAAS3U,MAAT,EAAiB1B,OAAjB,EAA0BkZ,IAA1B,EAAgC;AAC/C,YAAIxX,MAAM,IAAI,cAAc,OAAOA,MAA/B,IAAyC,CAACA,MAAM,CAAClB,IAArD,EAA2D,MAAM,IAAI+C,KAAJ,CAAU,iCAAV,CAAN;AAC3D,YAAIb,MAAJ;AACAyT,QAAAA,WAAW;;AACX,YAAI;AACAzT,UAAAA,MAAM,GAAGhB,MAAM,CAACyX,KAAP,CAAanZ,OAAb,EAAsBkZ,IAAI,IAAI,EAA9B,CAAT;AACH,SAFD,CAEE,OAAO5Z,GAAP,EAAY;AACV8W,UAAAA,SAAS;AACT,iBAAOC,YAAY,CAAC7T,MAAb,CAAoBlD,GAApB,CAAP;AACH;;AACD8W,QAAAA,SAAS;AACT,eAAOC,YAAY,CAAC9T,OAAb,CAAqBG,MAArB,CAAP;AACH,OAZD;;AAaA2T,MAAAA,YAAY,CAAC+C,KAAb,GAAqB,UAASC,MAAT,EAAiB;AAClC,eAAO,IAAIhD,YAAJ,CAAkB,UAAS9T,OAAT,EAAkB;AACvC8U,UAAAA,UAAU,CAAC9U,OAAD,EAAU8W,MAAV,CAAV;AACH,SAFM,CAAP;AAGH,OAJD;;AAKAhD,MAAAA,YAAY,CAACiD,SAAb,GAAyB,UAASra,KAAT,EAAgB;AACrC,eAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,YAAYoX,YAA5B,CAAD,IAA8CT,eAAe,CAAC3W,KAAD,CAApE;AACH,OAFD;;AAGAoX,MAAAA,YAAY,CAACkD,KAAb,GAAqB,YAAW;AAC5B,eAAO,UAASC,KAAT,EAAgB;AACnB,cAAI3K,OAAO,GAAGoH,YAAY,GAAGA,YAAY,IAAI,IAAIuD,KAAJ,EAA7C;AACAtD,UAAAA,WAAW;AACX,iBAAOrH,OAAP;AACH,SAJM,CAILwH,YAJK,CAAP;AAKH,OAND;;AAOA,aAAOA,YAAP;AACH,KA9Q0B,EAA3B;;AA+QA,QAAInE,mBAAmB,GAAG,kCAA1B;;AACA,aAASC,eAAT,CAAyBC,GAAzB,EAA8B;AAC1B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,aAAO,aAAauJ,GAAG,CAACC,QAAJ,CAAaC,QAAjC;AACH;;AACD,aAASK,iBAAT,CAA2BP,GAA3B,EAAgC;AAC5B,UAAI;AACA,eAAO,CAAC,CAAR;AACH,OAFD,CAEE,OAAO9S,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,aAASsT,eAAT,CAAyBR,GAAzB,EAA8B;AAC1B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIwJ,QAAQ,GAAGD,GAAG,CAACC,QAAnB;AACA,UAAI,CAACA,QAAL,EAAe,MAAM,IAAI9O,KAAJ,CAAU,8BAAV,CAAN;AACf,UAAI+O,QAAQ,GAAGD,QAAQ,CAACC,QAAxB;AACA,UAAI,CAACA,QAAL,EAAe,MAAM,IAAI/O,KAAJ,CAAU,8BAAV,CAAN;AACf,UAAI,YAAY+O,QAAhB,EAA0B,OAAO,SAAP;;AAC1B,UAAI,aAAaA,QAAjB,EAA2B;AACvB,YAAIE,MAAM,GAAG,UAASJ,GAAT,EAAc;AACvB,eAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,cAAIuJ,GAAJ,EAAS,IAAI;AACT,gBAAIA,GAAG,CAACI,MAAJ,IAAcJ,GAAG,CAACI,MAAJ,KAAeJ,GAAjC,EAAsC,OAAOA,GAAG,CAACI,MAAX;AACzC,WAFQ,CAEP,OAAOlT,GAAP,EAAY;AACjB,SALY,CAKX8S,GALW,CAAb;;AAMA,eAAOI,MAAM,IAAIG,iBAAiB,EAA3B,GAAgCC,eAAe,CAACJ,MAAD,CAA/C,GAA0D,UAAjE;AACH;;AACD,UAAIK,IAAI,GAAGR,QAAQ,CAACQ,IAApB;AACA,UAAI,CAACA,IAAL,EAAW,MAAM,IAAItP,KAAJ,CAAU,0BAAV,CAAN;AACX,aAAO+O,QAAQ,GAAG,IAAX,GAAkBO,IAAzB;AACH;;AACD,aAASC,SAAT,CAAmBV,GAAnB,EAAwB;AACpB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,UAAIsD,MAAM,GAAGyG,eAAe,CAACR,GAAD,CAA5B;AACA,aAAOjG,MAAM,IAAIiG,GAAG,CAACW,UAAd,IAA4B,MAAMX,GAAG,CAACW,UAAJ,CAAeC,OAAf,CAAuB,OAAvB,CAAlC,GAAoEZ,GAAG,CAACW,UAAxE,GAAqF5G,MAA5F;AACH;;AACD,aAAS8G,YAAT,CAAsBb,GAAtB,EAA2B;AACvB,UAAI,CAAC,UAASA,GAAT,EAAc;AACf,YAAI;AACA,cAAIA,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,SAFD,CAEE,OAAOvJ,GAAP,EAAY;;AACd,YAAI;AACA,cAAI4T,IAAI,GAAGjV,MAAM,CAACkV,wBAAP,CAAgCf,GAAhC,EAAqC,UAArC,CAAX;AACA,cAAIc,IAAI,IAAI,CAAC,CAAD,KAAOA,IAAI,CAAC/T,UAAxB,EAAoC,OAAO,CAAC,CAAR;AACvC,SAHD,CAGE,OAAOG,GAAP,EAAY;;AACd,YAAI;AACA,cAAI6S,eAAe,CAACC,GAAD,CAAf,IAAwBO,iBAAiB,EAA7C,EAAiD,OAAO,CAAC,CAAR;AACpD,SAFD,CAEE,OAAOrT,GAAP,EAAY;;AACd,YAAI;AACA,cAAIsT,eAAe,CAACR,GAAD,CAAf,KAAyBQ,eAAe,CAAC/J,MAAD,CAA5C,EAAsD,OAAO,CAAC,CAAR;AACzD,SAFD,CAEE,OAAOvJ,GAAP,EAAY;;AACd,eAAO,CAAC,CAAR;AACH,OAfI,CAeH8S,GAfG,CAAL,EAeQ,OAAO,CAAC,CAAR;;AACR,UAAI;AACA,YAAIA,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACpB,YAAIsJ,eAAe,CAACC,GAAD,CAAf,IAAwBO,iBAAiB,EAA7C,EAAiD,OAAO,CAAC,CAAR;AACjD,YAAIG,SAAS,CAACjK,MAAD,CAAT,KAAsBiK,SAAS,CAACV,GAAD,CAAnC,EAA0C,OAAO,CAAC,CAAR;AAC7C,OAJD,CAIE,OAAO9S,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,QAAIwU,aAAa,GAAG,EAApB;AACA,QAAIC,YAAY,GAAG,EAAnB;;AACA,aAASC,cAAT,CAAwB5B,GAAxB,EAA6B6B,SAA7B,EAAwC;AACpC,WAAK,CAAL,KAAWA,SAAX,KAAyBA,SAAS,GAAG,CAAC,CAAtC;;AACA,UAAI;AACA,YAAI7B,GAAG,KAAKvJ,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFD,CAEE,OAAOvJ,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI,CAAC8S,GAAL,EAAU,OAAO,CAAC,CAAR;AACb,OAFD,CAEE,OAAO9S,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI8S,GAAG,CAAC8B,MAAR,EAAgB,OAAO,CAAC,CAAR;AACnB,OAFD,CAEE,OAAO5U,GAAP,EAAY;AACV,eAAO,CAACA,GAAD,IAAQA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA/B;AACH;;AACD,UAAI+B,SAAS,IAAIhB,YAAY,CAACb,GAAD,CAA7B,EAAoC,IAAI;AACpC,YAAIA,GAAG,CAACgC,UAAR,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFmC,CAElC,OAAO9U,GAAP,EAAY;;AACd,UAAI;AACA,YAAI,CAAC8S,GAAG,CAACI,MAAL,IAAe,CAACJ,GAAG,CAACiC,GAAxB,EAA6B,OAAO,CAAC,CAAR;AAChC,OAFD,CAEE,OAAO/U,GAAP,EAAY;;AACd,UAAIgV,WAAW,GAAG,UAASC,UAAT,EAAqBtC,IAArB,EAA2B;AACzC,aAAK,IAAIxM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8O,UAAU,CAACnP,MAA/B,EAAuCK,CAAC,EAAxC;AAA4C,cAAI;AAC5C,gBAAI8O,UAAU,CAAC9O,CAAD,CAAV,KAAkBwM,IAAtB,EAA4B,OAAOxM,CAAP;AAC/B,WAF2C,CAE1C,OAAOnG,GAAP,EAAY;AAFd;;AAGA,eAAO,CAAC,CAAR;AACH,OALiB,CAKhBwU,aALgB,EAKD1B,GALC,CAAlB;;AAMA,UAAI,CAAC,CAAD,KAAOkC,WAAX,EAAwB;AACpB,YAAIX,KAAK,GAAGI,YAAY,CAACO,WAAD,CAAxB;AACA,YAAIX,KAAK,IAAI,UAASA,KAAT,EAAgB;AACzB,cAAI,CAACA,KAAK,CAACa,aAAX,EAA0B,OAAO,CAAC,CAAR;AAC1B,cAAI,CAACb,KAAK,CAACc,UAAX,EAAuB,OAAO,CAAC,CAAR;AACvB,cAAIC,GAAG,GAAGf,KAAK,CAACgB,aAAhB;;AACA,cAAID,GAAG,IAAIA,GAAG,CAACE,eAAX,IAA8B,CAACF,GAAG,CAACE,eAAJ,CAAoBC,QAApB,CAA6BlB,KAA7B,CAAnC,EAAwE;AACpE,gBAAInB,MAAM,GAAGmB,KAAb;;AACA,mBAAMnB,MAAM,CAACiC,UAAP,IAAqBjC,MAAM,CAACiC,UAAP,KAAsBjC,MAAjD;AAA2DA,cAAAA,MAAM,GAAGA,MAAM,CAACiC,UAAhB;AAA3D;;AACA,gBAAI,CAACjC,MAAM,CAACK,IAAR,IAAgB,CAAC6B,GAAG,CAACE,eAAJ,CAAoBC,QAApB,CAA6BrC,MAAM,CAACK,IAApC,CAArB,EAAgE,OAAO,CAAC,CAAR;AACnE;;AACD,iBAAO,CAAC,CAAR;AACH,SAVY,CAUXc,KAVW,CAAb,EAUU,OAAO,CAAC,CAAR;AACb;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAAS4B,QAAT,CAAkBxW,GAAlB,EAAuB;AACnB,UAAI;AACA,YAAIA,GAAG,KAAK8J,MAAZ,EAAoB,OAAO,CAAC,CAAR;AACvB,OAFD,CAEE,OAAOvJ,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAI,sBAAsB,GAAG9N,QAAH,CAAY5D,IAAZ,CAAiBzB,GAAjB,CAA1B,EAAiD,OAAO,CAAC,CAAR;AACpD,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAIrJ,MAAM,CAAC2M,MAAP,IAAiBzW,GAAG,YAAY8J,MAAM,CAAC2M,MAA3C,EAAmD,OAAO,CAAC,CAAR;AACtD,OAFD,CAEE,OAAOlW,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACW,IAAJ,KAAaX,GAAxB,EAA6B,OAAO,CAAC,CAAR;AAChC,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACyT,MAAJ,KAAezT,GAA1B,EAA+B,OAAO,CAAC,CAAR;AAClC,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAIA,GAAG,CAACsV,GAAJ,KAAYtV,GAAvB,EAA4B,OAAO,CAAC,CAAR;AAC/B,OAFD,CAEE,OAAOO,GAAP,EAAY;AACV,YAAIA,GAAG,IAAIA,GAAG,CAAC6U,OAAJ,KAAgBjC,mBAA3B,EAAgD,OAAO,CAAC,CAAR;AACnD;;AACD,UAAI;AACA,YAAInT,GAAG,IAAI,yBAAyBA,GAAG,CAAC0W,mCAAxC,EAA6E,OAAO,CAAC,CAAR;AAChF,OAFD,CAEE,OAAOnW,GAAP,EAAY;AACV,eAAO,CAAC,CAAR;AACH;;AACD,UAAI;AACA,YAAI,iBAAiBP,GAAjB,IAAwB,UAAUA,GAAlC,IAAyC,cAAcA,GAA3D,EAAgE,OAAO,CAAC,CAAR;AACnE,OAFD,CAEE,OAAOO,GAAP,EAAY;;AACd,aAAO,CAAC,CAAR;AACH;;AACD,aAASma,gBAAT,CAA0BlF,UAA1B,EAAsCtC,IAAtC,EAA4C;AACxC,WAAK,IAAIxM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8O,UAAU,CAACnP,MAA/B,EAAuCK,CAAC,EAAxC;AAA4C,YAAI;AAC5C,cAAI8O,UAAU,CAAC9O,CAAD,CAAV,KAAkBwM,IAAtB,EAA4B,OAAOxM,CAAP;AAC/B,SAF2C,CAE1C,OAAOnG,GAAP,EAAY;AAFd;;AAGA,aAAO,CAAC,CAAR;AACH;;AACD,QAAIoa,8BAA8B,GAAG,YAAW;AAC5C,eAASC,sBAAT,GAAkC;AAC9B,aAAK7X,IAAL,GAAY,KAAK,CAAjB;AACA,aAAK8X,OAAL,GAAe,KAAK,CAApB;AACA,aAAK3U,IAAL,GAAY,KAAK,CAAjB;AACA,aAAK7D,MAAL,GAAc,KAAK,CAAnB;AACA,aAAKU,IAAL,GAAY,gBAAgB,MAAM+X,IAAI,CAACC,MAAL,EAAN,KAAwB,CAAxC,IAA6C,IAAzD;AACA,YAAI,YAAW;AACX,cAAI,eAAe,OAAOC,OAA1B,EAAmC,OAAO,CAAC,CAAR;AACnC,cAAI,KAAK,CAAL,KAAW9b,MAAM,CAAC+b,MAAtB,EAA8B,OAAO,CAAC,CAAR;;AAC9B,cAAI;AACA,gBAAIC,WAAW,GAAG,IAAIF,OAAJ,EAAlB;AACA,gBAAIG,OAAO,GAAG,EAAd;AACAjc,YAAAA,MAAM,CAAC+b,MAAP,CAAcE,OAAd;AACAD,YAAAA,WAAW,CAAC7Q,GAAZ,CAAgB8Q,OAAhB,EAAyB,eAAzB;AACA,mBAAO,oBAAoBD,WAAW,CAAC/Q,GAAZ,CAAgBgR,OAAhB,CAA3B;AACH,WAND,CAME,OAAO5a,GAAP,EAAY;AACV,mBAAO,CAAC,CAAR;AACH;AACJ,SAZG,EAAJ,EAYK,IAAI;AACL,eAAKsa,OAAL,GAAe,IAAIG,OAAJ,EAAf;AACH,SAFI,CAEH,OAAOza,GAAP,EAAY;AACd,aAAK2F,IAAL,GAAY,EAAZ;AACA,aAAK7D,MAAL,GAAc,EAAd;AACH;;AACD,UAAI6V,MAAM,GAAG0C,sBAAsB,CAACzb,SAApC;;AACA+Y,MAAAA,MAAM,CAACkD,qBAAP,GAA+B,YAAW;AACtC,YAAIP,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAI3U,IAAI,GAAG,KAAKA,IAAhB;;AACA,aAAK,IAAIQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,IAAI,CAACG,MAAzB,EAAiCK,CAAC,EAAlC,EAAsC;AAClC,cAAIxG,KAAK,GAAGgG,IAAI,CAACQ,CAAD,CAAhB;;AACA,cAAI8P,QAAQ,CAACtW,KAAD,CAAR,IAAmB+U,cAAc,CAAC/U,KAAD,CAArC,EAA8C;AAC1C,gBAAI2a,OAAJ,EAAa,IAAI;AACbA,cAAAA,OAAO,UAAP,CAAe3a,KAAf;AACH,aAFY,CAEX,OAAOK,GAAP,EAAY;AACd2F,YAAAA,IAAI,CAACgU,MAAL,CAAYxT,CAAZ,EAAe,CAAf;AACA,iBAAKrE,MAAL,CAAY6X,MAAZ,CAAmBxT,CAAnB,EAAsB,CAAtB;AACAA,YAAAA,CAAC,IAAI,CAAL;AACH;AACJ;AACJ,OAdD;;AAeAwR,MAAAA,MAAM,CAACmD,iBAAP,GAA2B,UAASpb,GAAT,EAAc;AACrC,eAAO,CAACuW,QAAQ,CAACvW,GAAD,CAAhB;AACH,OAFD;;AAGAiY,MAAAA,MAAM,CAAC7N,GAAP,GAAa,UAASpK,GAAT,EAAcC,KAAd,EAAqB;AAC9B,YAAI,CAACD,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACbA,UAAAA,OAAO,CAACxQ,GAAR,CAAYpK,GAAZ,EAAiBC,KAAjB;AACH,SAFY,CAEX,OAAOK,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAI8C,IAAI,GAAG,KAAKA,IAAhB;AACA,cAAIyC,KAAK,GAAGvF,GAAG,CAAC8C,IAAD,CAAf;AACAyC,UAAAA,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,GAA4BuF,KAAK,CAAC,CAAD,CAAL,GAAWtF,KAAvC,GAA+ChB,MAAM,CAACiB,cAAP,CAAsBF,GAAtB,EAA2B8C,IAA3B,EAAiC;AAC5E7C,YAAAA,KAAK,EAAE,CAAED,GAAF,EAAOC,KAAP,CADqE;AAE5EI,YAAAA,QAAQ,EAAE,CAAC;AAFiE,WAAjC,CAA/C;AAIA;AACH,SARgC,CAQ/B,OAAOC,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIlV,IAAI,GAAG,KAAKA,IAAhB;AACA,YAAI7D,MAAM,GAAG,KAAKA,MAAlB;AACA,YAAIiZ,KAAK,GAAGZ,gBAAgB,CAACxU,IAAD,EAAOjG,GAAP,CAA5B;;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB;AACdpV,UAAAA,IAAI,CAACJ,IAAL,CAAU7F,GAAV;AACAoC,UAAAA,MAAM,CAACyD,IAAP,CAAY5F,KAAZ;AACH,SAHD,MAGOmC,MAAM,CAACiZ,KAAD,CAAN,GAAgBpb,KAAhB;AACV,OAzBD;;AA0BAgY,MAAAA,MAAM,CAAC/N,GAAP,GAAa,UAASlK,GAAT,EAAc;AACvB,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACb,cAAIA,OAAO,CAACU,GAAR,CAAYtb,GAAZ,CAAJ,EAAsB,OAAO4a,OAAO,CAAC1Q,GAAR,CAAYlK,GAAZ,CAAP;AACzB,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACA,iBAAOyC,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,GAA4BuF,KAAK,CAAC,CAAD,CAAjC,GAAuC,KAAK,CAAnD;AACH,SAHgC,CAG/B,OAAOjF,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIE,KAAK,GAAGZ,gBAAgB,CAAC,KAAKxU,IAAN,EAAYjG,GAAZ,CAA5B;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB,OAAO,KAAKjZ,MAAL,CAAYiZ,KAAZ,CAAP;AACrB,OAfD;;AAgBApD,MAAAA,MAAM,UAAN,GAAgB,UAASjY,GAAT,EAAc;AAC1B,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACbA,UAAAA,OAAO,UAAP,CAAe5a,GAAf;AACH,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACAyC,UAAAA,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAtB,KAA8BuF,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAzD;AACH,SAHgC,CAG/B,OAAOjF,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,YAAIlV,IAAI,GAAG,KAAKA,IAAhB;AACA,YAAIoV,KAAK,GAAGZ,gBAAgB,CAACxU,IAAD,EAAOjG,GAAP,CAA5B;;AACA,YAAI,CAAC,CAAD,KAAOqb,KAAX,EAAkB;AACdpV,UAAAA,IAAI,CAACgU,MAAL,CAAYoB,KAAZ,EAAmB,CAAnB;AACA,eAAKjZ,MAAL,CAAY6X,MAAZ,CAAmBoB,KAAnB,EAA0B,CAA1B;AACH;AACJ,OAnBD;;AAoBApD,MAAAA,MAAM,CAACqD,GAAP,GAAa,UAAStb,GAAT,EAAc;AACvB,YAAI,CAACA,GAAL,EAAU,MAAM,IAAIuE,KAAJ,CAAU,sBAAV,CAAN;AACV,YAAIqW,OAAO,GAAG,KAAKA,OAAnB;AACA,YAAIA,OAAJ,EAAa,IAAI;AACb,cAAIA,OAAO,CAACU,GAAR,CAAYtb,GAAZ,CAAJ,EAAsB,OAAO,CAAC,CAAR;AACzB,SAFY,CAEX,OAAOM,GAAP,EAAY;AACV,iBAAO,KAAKsa,OAAZ;AACH;AACD,YAAI,KAAKQ,iBAAL,CAAuBpb,GAAvB,CAAJ,EAAiC,IAAI;AACjC,cAAIuF,KAAK,GAAGvF,GAAG,CAAC,KAAK8C,IAAN,CAAf;AACA,iBAAO,EAAE,CAACyC,KAAD,IAAUA,KAAK,CAAC,CAAD,CAAL,KAAavF,GAAzB,CAAP;AACH,SAHgC,CAG/B,OAAOM,GAAP,EAAY;;AACd,aAAK6a,qBAAL;;AACA,eAAO,CAAC,CAAD,KAAOV,gBAAgB,CAAC,KAAKxU,IAAN,EAAYjG,GAAZ,CAA9B;AACH,OAdD;;AAeAiY,MAAAA,MAAM,CAACsD,QAAP,GAAkB,UAASvb,GAAT,EAAcuR,MAAd,EAAsB;AACpC,YAAI,KAAK+J,GAAL,CAAStb,GAAT,CAAJ,EAAmB,OAAO,KAAKkK,GAAL,CAASlK,GAAT,CAAP;AACnB,YAAIC,KAAK,GAAGsR,MAAM,EAAlB;AACA,aAAKnH,GAAL,CAASpK,GAAT,EAAcC,KAAd;AACA,eAAOA,KAAP;AACH,OALD;;AAMA,aAAO0a,sBAAP;AACH,KAhIoC,EAArC;;AAiIA,aAAS0W,eAAT,CAAyB7f,CAAzB,EAA4B;AACxB,aAAO,CAAC6f,eAAe,GAAGpyB,MAAM,CAAC+D,cAAP,GAAwB/D,MAAM,CAACiD,cAA/B,GAAgD,UAASsP,CAAT,EAAY;AAClF,eAAOA,CAAC,CAACvO,SAAF,IAAehE,MAAM,CAACiD,cAAP,CAAsBsP,CAAtB,CAAtB;AACH,OAFM,EAEJA,CAFI,CAAP;AAGH;;AACD,aAAS8f,yBAAT,GAAqC;AACjC,UAAI,eAAe,OAAOC,OAAtB,IAAiC,CAACA,OAAO,CAACC,SAA9C,EAAyD,OAAO,CAAC,CAAR;AACzD,UAAID,OAAO,CAACC,SAAR,CAAkBC,IAAtB,EAA4B,OAAO,CAAC,CAAR;AAC5B,UAAI,cAAc,OAAOC,KAAzB,EAAgC,OAAO,CAAC,CAAR;;AAChC,UAAI;AACAxmB,QAAAA,IAAI,CAAChM,SAAL,CAAekG,QAAf,CAAwB5D,IAAxB,CAA6B+vB,OAAO,CAACC,SAAR,CAAkBtmB,IAAlB,EAAwB,EAAxB,EAA6B,YAAW,EAAxC,CAA7B;AACA,eAAO,CAAC,CAAR;AACH,OAHD,CAGE,OAAOymB,CAAP,EAAU;AACR,eAAO,CAAC,CAAR;AACH;AACJ;;AACD,aAASC,mBAAT,CAA6BC,MAA7B,EAAqC3X,IAArC,EAA2C4X,KAA3C,EAAkD;AAC9C,aAAO,CAACF,mBAAmB,GAAGN,yBAAyB,KAAKC,OAAO,CAACC,SAAb,GAAyB,UAASK,MAAT,EAAiB3X,IAAjB,EAAuB4X,KAAvB,EAA8B;AAC1G,YAAIC,CAAC,GAAG,CAAE,IAAF,CAAR;AACAA,QAAAA,CAAC,CAAClsB,IAAF,CAAOsU,KAAP,CAAa4X,CAAb,EAAgB7X,IAAhB;AACA,YAAI8X,QAAQ,GAAG,KAAKhqB,QAAQ,CAAC8J,IAAT,CAAcqI,KAAd,CAAoB0X,MAApB,EAA4BE,CAA5B,CAAL,GAAf;AACAD,QAAAA,KAAK,IAAI7D,eAAe,CAAC+D,QAAD,EAAWF,KAAK,CAAC5yB,SAAjB,CAAxB;AACA,eAAO8yB,QAAP;AACH,OANM,EAMJ7X,KANI,CAME,IANF,EAMQsD,SANR,CAAP;AAOH;;AACD,aAASwU,+BAAT,CAAyCH,KAAzC,EAAgD;AAC5C,UAAII,MAAM,GAAG,cAAc,OAAOloB,GAArB,GAA2B,IAAIA,GAAJ,EAA3B,GAAqC,KAAK,CAAvD;;AACA,aAAO,CAACioB,+BAA+B,GAAG,yCAASH,KAAT,EAAgB;AACtD,YAAI,SAASA,KAAT,IAAkB,EAAEzwB,EAAE,GAAGywB,KAAL,EAAY,CAAC,CAAD,KAAO9pB,QAAQ,CAAC5C,QAAT,CAAkB5D,IAAlB,CAAuBH,EAAvB,EAA2B2S,OAA3B,CAAmC,eAAnC,CAArB,CAAtB,EAAiG,OAAO8d,KAAP;AACjG,YAAIzwB,EAAJ;AACA,YAAI,cAAc,OAAOywB,KAAzB,EAAgC,MAAM,IAAI9sB,SAAJ,CAAc,oDAAd,CAAN;;AAChC,YAAI,KAAK,CAAL,KAAWktB,MAAf,EAAuB;AACnB,cAAIA,MAAM,CAAC5W,GAAP,CAAWwW,KAAX,CAAJ,EAAuB,OAAOI,MAAM,CAAChoB,GAAP,CAAW4nB,KAAX,CAAP;;AACvBI,UAAAA,MAAM,CAAC9nB,GAAP,CAAW0nB,KAAX,EAAkBK,OAAlB;AACH;;AACD,iBAASA,OAAT,GAAmB;AACf,iBAAOP,mBAAmB,CAACE,KAAD,EAAQrU,SAAR,EAAmB4T,eAAe,CAAC,IAAD,CAAf,CAAsB/uB,WAAzC,CAA1B;AACH;;AACD6vB,QAAAA,OAAO,CAACjzB,SAAR,GAAoBD,MAAM,CAAC8B,MAAP,CAAc+wB,KAAK,CAAC5yB,SAApB,EAA+B;AAC/CoD,UAAAA,WAAW,EAAE;AACTrC,YAAAA,KAAK,EAAEkyB,OADE;AAEThyB,YAAAA,UAAU,EAAE,CAAC,CAFJ;AAGTE,YAAAA,QAAQ,EAAE,CAAC,CAHF;AAITD,YAAAA,YAAY,EAAE,CAAC;AAJN;AADkC,SAA/B,CAApB;AAQA,eAAO6tB,eAAe,CAACkE,OAAD,EAAUL,KAAV,CAAtB;AACH,OApBM,EAoBJA,KApBI,CAAP;AAqBH;;AACD,aAAStW,eAAT,CAAyBna,EAAzB,EAA6B;AACzB,aAAOA,EAAE,CAACyB,IAAH,IAAWzB,EAAE,CAACoa,QAAd,IAA0Bpa,EAAE,CAACkB,WAA7B,IAA4C,WAAnD;AACH;;AACD,aAASmZ,eAAT,CAAyBra,EAAzB,EAA6ByB,IAA7B,EAAmC;AAC/B,UAAI;AACA,eAAOzB,EAAE,CAACyB,IAAV;AACAzB,QAAAA,EAAE,CAACyB,IAAH,GAAUA,IAAV;AACH,OAHD,CAGE,OAAOxC,GAAP,EAAY;;AACde,MAAAA,EAAE,CAACoa,QAAH,GAAcpa,EAAE,CAACkB,WAAH,GAAiBO,IAA/B;AACA,aAAOzB,EAAP;AACH;;AACD,aAASqxB,YAAT,CAAsB3W,GAAtB,EAA2B;AACvB,UAAI,cAAc,OAAOhQ,IAAzB,EAA+B,OAAOA,IAAI,CAACiQ,kBAAkB,CAACD,GAAD,CAAlB,CAAwBF,OAAxB,CAAgC,iBAAhC,EAAoD,UAASzK,CAAT,EAAY6K,EAAZ,EAAgB;AAC3G,eAAOtR,MAAM,CAACuR,YAAP,CAAoBC,QAAQ,CAACF,EAAD,EAAK,EAAL,CAA5B,CAAP;AACH,OAF0C,CAAD,CAAX;AAG/B,UAAI,eAAe,OAAOG,MAA1B,EAAkC,OAAOA,MAAM,CAACxT,IAAP,CAAYmT,GAAZ,EAAiB,MAAjB,EAAyB3W,QAAzB,CAAkC,QAAlC,CAAP;AAClC,YAAM,IAAIb,KAAJ,CAAU,oCAAV,CAAN;AACH;;AACD,aAASi8C,YAAT,CAAsBzkC,GAAtB,EAA2B;AACvB,UAAI,cAAc,OAAO0jB,IAAzB,EAA+B,OAAOlK,kBAAkB,CAAC,GAAG1b,GAAH,CAAOrY,IAAP,CAAYi+B,IAAI,CAAC1jB,GAAD,CAAhB,EAAwB,UAAS1K,CAAT,EAAY;AACzF,eAAO,MAAM,CAAC,OAAOA,CAAC,CAACgoB,UAAF,CAAa,CAAb,EAAgBj0B,QAAhB,CAAyB,EAAzB,CAAR,EAAsCyB,KAAtC,CAA4C,CAAC,CAA7C,CAAb;AACH,OAFwD,EAErD6C,IAFqD,CAEhD,EAFgD,CAAD,CAAzB;AAG/B,UAAI,eAAe,OAAO0S,MAA1B,EAAkC,OAAOA,MAAM,CAACxT,IAAP,CAAYmT,GAAZ,EAAiB,QAAjB,EAA2B3W,QAA3B,CAAoC,MAApC,CAAP;AAClC,YAAM,IAAIb,KAAJ,CAAU,oCAAV,CAAN;AACH;;AACD,aAASoX,QAAT,GAAoB;AAChB,UAAIC,KAAK,GAAG,kBAAZ;AACA,aAAO,aAAaC,OAAb,CAAqB,IAArB,EAA4B,YAAW;AAC1C,eAAOD,KAAK,CAAChV,MAAN,CAAaiU,IAAI,CAACiB,KAAL,CAAWjB,IAAI,CAACC,MAAL,KAAgBc,KAAK,CAACxV,MAAjC,CAAb,CAAP;AACH,OAFM,IAED,GAFC,GAEKssB,YAAY,CAAE,IAAIxnB,IAAJ,EAAD,CAAWmR,WAAX,GAAyBxV,KAAzB,CAA+B,EAA/B,EAAmC,EAAnC,EAAuCgV,OAAvC,CAA+C,GAA/C,EAAoD,GAApD,CAAD,CAAZ,CAAuEA,OAAvE,CAA+E,eAA/E,EAAgG,EAAhG,EAAoGS,WAApG,EAFZ;AAGH;;AACD,aAASmkC,SAAT,GAAqB;AACjB,UAAI,eAAe,OAAO52C,MAA1B,EAAkC,OAAOA,MAAP;AAClC,UAAI,eAAe,OAAOA,MAA1B,EAAkC,OAAOA,MAAP;AAClC,UAAI,eAAe,OAAOuW,cAA1B,EAAkC,OAAOA,cAAP;AAClC,YAAM,IAAI7b,KAAJ,CAAU,iBAAV,CAAN;AACH;;AACD,QAAIgY,SAAJ;;AACA,aAASmkC,WAAT,CAAqB3gD,GAArB,EAA0B;AACtBwc,MAAAA,SAAS,GAAGA,SAAS,IAAI,IAAI7B,8BAAJ,EAAzB;AACA,UAAI,QAAQ3a,GAAR,IAAe,YAAY,OAAOA,GAAnB,IAA0B,cAAc,OAAOA,GAAlE,EAAuE,MAAM,IAAIwE,KAAJ,CAAU,gBAAV,CAAN;AACvE,UAAIoY,GAAG,GAAGJ,SAAS,CAACrS,GAAV,CAAcnK,GAAd,CAAV;;AACA,UAAI,CAAC4c,GAAL,EAAU;AACNA,QAAAA,GAAG,GAAG,OAAO5c,GAAP,GAAa,GAAb,GAAmB4b,QAAQ,EAAjC;AACAY,QAAAA,SAAS,CAACnS,GAAV,CAAcrK,GAAd,EAAmB4c,GAAnB;AACH;;AACD,aAAOA,GAAP;AACH;;AACD,aAASH,aAAT,CAAuBtC,IAAvB,EAA6B;AACzB,UAAI;AACA,eAAO9K,IAAI,CAAC3F,SAAL,CAAe,GAAG5C,KAAH,CAASrF,IAAT,CAAc0Y,IAAd,CAAf,EAAqC,UAASuC,MAAT,EAAiBC,GAAjB,EAAsB;AAC9D,iBAAO,cAAc,OAAOA,GAArB,GAA2B,aAAagkC,WAAW,CAAChkC,GAAD,CAAxB,GAAgC,GAA3D,GAAiEA,GAAxE;AACH,SAFM,CAAP;AAGH,OAJD,CAIE,OAAOpc,GAAP,EAAY;AACV,cAAM,IAAIiE,KAAJ,CAAU,0DAAV,CAAN;AACH;AACJ;;AACD,aAASqY,cAAT,GAA0B;AACtB,aAAO,EAAP;AACH;;AACD,QAAIC,kBAAkB,GAAG,CAAzB;AACA,QAAIC,2BAA2B,GAAG,CAAlC;;AACA,aAASC,OAAT,CAAiBra,MAAjB,EAAyBsa,OAAzB,EAAkC;AAC9B,WAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACA,UAAIC,qBAAqB,GAAGD,OAAO,CAACE,aAApC;AAAA,UAAmDA,aAAa,GAAG,KAAK,CAAL,KAAWD,qBAAX,IAAoCA,qBAAvG;AAAA,UAA8HE,SAAS,GAAGH,OAAO,CAAC/D,IAAlJ;AACA,UAAImE,WAAJ;AACA,UAAIC,SAAJ;AACA,UAAIC,YAAY,GAAGT,kBAAnB;AACAA,MAAAA,kBAAkB,IAAI,CAAtB;;AACA,UAAIU,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAW;AAC9B,aAAK,IAAIC,IAAI,GAAGC,SAAS,CAACrX,MAArB,EAA6B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU6U,IAAV,CAApC,EAAqDE,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGF,IAA3E,EAAiFE,IAAI,EAArF;AAAyFxD,UAAAA,IAAI,CAACwD,IAAD,CAAJ,GAAaD,SAAS,CAACC,IAAD,CAAtB;AAAzF;;AACA,YAAIJ,YAAY,GAAGR,2BAAnB,EAAgD;AAC5CM,UAAAA,WAAW,GAAG,IAAd;AACAC,UAAAA,SAAS,GAAG,IAAZ;AACAC,UAAAA,YAAY,GAAGT,kBAAf;AACAA,UAAAA,kBAAkB,IAAI,CAAtB;AACH;;AACD,YAAIc,KAAJ;AACAA,QAAAA,KAAK,GAAGT,aAAa,GAAG,CAACG,SAAS,GAAGA,SAAS,IAAI,IAAI3C,8BAAJ,EAA1B,EAA8Da,QAA9D,CAAuE,IAAvE,EAA6EqB,cAA7E,CAAH,GAAkGQ,WAAW,GAAGA,WAAW,IAAI,EAApJ;AACA,YAAIQ,QAAQ,GAAGpB,aAAa,CAACtC,IAAD,CAA5B;AACA,YAAI2D,WAAW,GAAGF,KAAK,CAACC,QAAD,CAAvB;;AACA,YAAIC,WAAW,IAAIV,SAAf,IAA4BjS,IAAI,CAAC4S,GAAL,KAAaD,WAAW,CAAC5E,IAAzB,GAAgCkE,SAAhE,EAA2E;AACvE,iBAAOQ,KAAK,CAACC,QAAD,CAAZ;AACAC,UAAAA,WAAW,GAAG,IAAd;AACH;;AACD,YAAIA,WAAJ,EAAiB,OAAOA,WAAW,CAAC5d,KAAnB;AACjB,YAAIgZ,IAAI,GAAG/N,IAAI,CAAC4S,GAAL,EAAX;AACA,YAAI7d,KAAK,GAAGyC,MAAM,CAACyX,KAAP,CAAa,IAAb,EAAmBsD,SAAnB,CAAZ;AACAE,QAAAA,KAAK,CAACC,QAAD,CAAL,GAAkB;AACd3E,UAAAA,IAAI,EAAEA,IADQ;AAEdhZ,UAAAA,KAAK,EAAEA;AAFO,SAAlB;AAIA,eAAOA,KAAP;AACH,OAxBD;;AAyBAsd,MAAAA,gBAAgB,CAACvX,KAAjB,GAAyB,YAAW;AAChCoX,QAAAA,WAAW,GAAG,IAAd;AACAC,QAAAA,SAAS,GAAG,IAAZ;AACH,OAHD;;AAIA,aAAO3B,eAAe,CAAC6B,gBAAD,EAAmB,CAACP,OAAO,CAACla,IAAR,IAAgB0Y,eAAe,CAAC9Y,MAAD,CAAhC,IAA4C,YAA/D,CAAtB;AACH;;AACDqa,IAAAA,OAAO,CAAC1S,KAAR,GAAgB,YAAW;AACvByS,MAAAA,2BAA2B,GAAGD,kBAA9B;AACH,KAFD;;AAGA,aAAS8jC,eAAT,CAAyB1tC,IAAzB,EAA+B;AAC3B,aAAOf,oBAAoB,CAAC3O,OAArB,CAA6B0P,IAA7B,CAAP;AACH;;AACD,aAAS8K,cAAT,CAAwBrb,MAAxB,EAAgC;AAC5B,UAAIib,KAAK,GAAG,EAAZ;;AACA,eAASK,uBAAT,GAAmC;AAC/B,YAAIC,UAAU,GAAGR,SAAjB;AAAA,YAA4BlG,KAAK,GAAG,IAApC;;AACA,aAAK,IAAI2G,KAAK,GAAGT,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUuV,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+FjE,UAAAA,IAAI,CAACiE,KAAD,CAAJ,GAAcV,SAAS,CAACU,KAAD,CAAvB;AAA/F;;AACA,YAAIne,GAAG,GAAGwc,aAAa,CAACtC,IAAD,CAAvB;AACA,YAAIyD,KAAK,CAACve,cAAN,CAAqBY,GAArB,CAAJ,EAA+B,OAAO2d,KAAK,CAAC3d,GAAD,CAAZ;AAC/B2d,QAAAA,KAAK,CAAC3d,GAAD,CAAL,GAAakS,oBAAoB,OAApB,CAA0B,YAAW;AAC9C,iBAAOxP,MAAM,CAACyX,KAAP,CAAa5C,KAAb,EAAoB0G,UAApB,CAAP;AACH,SAFY,aAEA,YAAW;AACpB,iBAAON,KAAK,CAAC3d,GAAD,CAAZ;AACH,SAJY,CAAb;AAKA,eAAO2d,KAAK,CAAC3d,GAAD,CAAZ;AACH;;AACDge,MAAAA,uBAAuB,CAAChY,KAAxB,GAAgC,YAAW;AACvC2X,QAAAA,KAAK,GAAG,EAAR;AACH,OAFD;;AAGA,aAAOjC,eAAe,CAACsC,uBAAD,EAA0BxC,eAAe,CAAC9Y,MAAD,CAAf,GAA0B,mBAApD,CAAtB;AACH;;AACD,aAASk+C,SAAT,CAAmBl+C,MAAnB,EAA2Bsa,OAA3B,EAAoC;AAChC,WAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;;AACA,eAASmoC,mBAAT,GAA+B;AAC3B,eAAOjzC,oBAAoB,OAApB,CAAyBxP,MAAzB,EAAiC,IAAjC,EAAuC+a,SAAvC,CAAP;AACH;;AACDT,MAAAA,OAAO,CAACla,IAAR,KAAiBqiD,mBAAmB,CAAC5iD,WAApB,GAAkCya,OAAO,CAACla,IAAR,GAAe,cAAlE;AACA,aAAO4Y,eAAe,CAACypC,mBAAD,EAAsB3pC,eAAe,CAAC9Y,MAAD,CAAf,GAA0B,eAAhD,CAAtB;AACH;;AACD,aAASm+C,aAAT,CAAuBn+C,MAAvB,EAA+ByyB,KAA/B,EAAsCjb,IAAtC,EAA4C;AACxC,WAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,EAA3B;AACA,UAAIyD,KAAK,GAAGjb,MAAM,CAAC0yB,wBAAP,GAAkC1yB,MAAM,CAAC0yB,wBAAP,IAAmC,EAAjF;AACA,UAAIp1B,GAAG,GAAGwc,aAAa,CAACtC,IAAD,CAAvB;AACA,aAAOyD,KAAK,CAACve,cAAN,CAAqBY,GAArB,IAA4B2d,KAAK,CAAC3d,GAAD,CAAjC,GAAyC2d,KAAK,CAAC3d,GAAD,CAAL,GAAam1B,KAAK,CAAChb,KAAN,CAAY,KAAK,CAAjB,EAAoBD,IAApB,CAA7D;AACH;;AACD,aAASkE,aAAT,GAAyB;;AACzB,aAASwU,IAAT,CAAclwB,MAAd,EAAsB;AAClB,UAAImwB,MAAM,GAAG,CAAC,CAAd;AACA,aAAOnX,eAAe,CAAE,YAAW;AAC/B,YAAI,CAACmX,MAAL,EAAa;AACTA,UAAAA,MAAM,GAAG,CAAC,CAAV;AACA,iBAAOnwB,MAAM,CAACyX,KAAP,CAAa,IAAb,EAAmBsD,SAAnB,CAAP;AACH;AACJ,OALqB,EAKlBjC,eAAe,CAAC9Y,MAAD,CAAf,GAA0B,QALR,CAAtB;AAMH;;AACD,aAASo+C,OAAT,CAAiB/kC,GAAjB,EAAsB;AAClB,UAAIrC,IAAI,GAAG,CAAX;;AACA,WAAK,IAAIjT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsV,GAAG,CAAC3V,MAAxB,EAAgCK,CAAC,EAAjC;AAAqCiT,QAAAA,IAAI,IAAIqC,GAAG,CAACtV,CAAD,CAAH,CAAO4yB,UAAP,CAAkB,CAAlB,IAAuBxe,IAAI,CAACuqC,GAAL,CAAS3+C,CAAC,GAAG,EAAJ,GAAS,CAAlB,EAAqB,CAArB,CAA/B;AAArC;;AACA,aAAOoU,IAAI,CAACiB,KAAL,CAAWjB,IAAI,CAACuqC,GAAL,CAASvqC,IAAI,CAACwqC,IAAL,CAAU3rC,IAAV,CAAT,EAA0B,CAA1B,CAAX,CAAP;AACH;;AACD,aAASqnC,UAAT,CAAoBhlC,GAApB,EAAyB;AACrB,UAAIrC,IAAI,GAAG,EAAX;;AACA,WAAK,IAAIjT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsV,GAAG,CAAC3V,MAAxB,EAAgCK,CAAC,EAAjC,EAAqC;AACjC,YAAI2yB,KAAK,GAAGrd,GAAG,CAACtV,CAAD,CAAH,CAAO4yB,UAAP,CAAkB,CAAlB,IAAuB5yB,CAAnC;AACAsV,QAAAA,GAAG,CAACtV,CAAC,GAAG,CAAL,CAAH,KAAe2yB,KAAK,IAAIrd,GAAG,CAACtV,CAAC,GAAG,CAAL,CAAH,CAAW4yB,UAAX,CAAsB,CAAtB,KAA4B5yB,CAAC,GAAG,CAAhC,CAAxB;AACAiT,QAAAA,IAAI,IAAI/O,MAAM,CAACuR,YAAP,CAAoB,KAAKrB,IAAI,CAACye,GAAL,CAASF,KAAT,IAAkB,EAA3C,CAAR;AACH;;AACD,aAAO1f,IAAP;AACH;;AACD,aAAStD,KAAT,CAAe2F,GAAf,EAAoB/F,OAApB,EAA6B;AACzB,UAAIsvC,QAAQ,GAAGvpC,GAAG,CAAC3F,KAAJ,CAAUJ,OAAV,CAAf;AACA,UAAIsvC,QAAJ,EAAc,OAAOA,QAAQ,CAAC,CAAD,CAAf;AACjB;;AACD,aAAStE,QAAT,CAAkBjhD,GAAlB,EAAuBC,GAAvB,EAA4B;AACxB,aAAO,IAAIkS,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AAC/C,YAAItD,KAAK,GAAGF,GAAG,CAACC,GAAD,CAAf;AACA,YAAIC,KAAJ,EAAW,OAAOsD,OAAO,CAACtD,KAAD,CAAd;AACX,eAAOF,GAAG,CAACC,GAAD,CAAV;AACAf,QAAAA,MAAM,CAACiB,cAAP,CAAsBH,GAAtB,EAA2BC,GAA3B,EAAgC;AAC5BI,UAAAA,YAAY,EAAE,CAAC,CADa;AAE5BgK,UAAAA,GAAG,EAAE,aAAS6I,IAAT,EAAe;AAChB,aAAChT,KAAK,GAAGgT,IAAT,KAAkB1P,OAAO,CAACtD,KAAD,CAAzB;AACH,WAJ2B;AAK5BiK,UAAAA,GAAG,EAAE,eAAW;AACZ,mBAAOjK,KAAP;AACH;AAP2B,SAAhC;AASH,OAbM,CAAP;AAcH;;AACD,aAASoe,cAAT,CAAwB/d,GAAxB,EAA6Bge,KAA7B,EAAoC;AAChC,WAAK,CAAL,KAAWA,KAAX,KAAqBA,KAAK,GAAG,CAA7B;AACA,UAAIA,KAAK,IAAI,CAAb,EAAgB,OAAO,+BAAP;;AAChB,UAAI;AACA,YAAI,CAAChe,GAAL,EAAU,OAAO,qBAAqB,GAAG8E,QAAH,CAAY5D,IAAZ,CAAiBlB,GAAjB,CAArB,GAA6C,GAApD;AACV,YAAI,YAAY,OAAOA,GAAvB,EAA4B,OAAOA,GAAP;;AAC5B,YAAIA,GAAG,YAAYiE,KAAnB,EAA0B;AACtB,cAAIsT,KAAK,GAAGvX,GAAG,IAAIA,GAAG,CAACuX,KAAvB;AACA,cAAI1C,OAAO,GAAG7U,GAAG,IAAIA,GAAG,CAAC6U,OAAzB;AACA,cAAI0C,KAAK,IAAI1C,OAAb,EAAsB,OAAO,CAAC,CAAD,KAAO0C,KAAK,CAAC7D,OAAN,CAAcmB,OAAd,CAAP,GAAgC0C,KAAhC,GAAwC1C,OAAO,GAAG,IAAV,GAAiB0C,KAAhE;AACtB,cAAIA,KAAJ,EAAW,OAAOA,KAAP;AACX,cAAI1C,OAAJ,EAAa,OAAOA,OAAP;AAChB;;AACD,eAAO7U,GAAG,IAAIA,GAAG,CAAC8E,QAAX,IAAuB,cAAc,OAAO9E,GAAG,CAAC8E,QAAhD,GAA2D9E,GAAG,CAAC8E,QAAJ,EAA3D,GAA4E,GAAGA,QAAH,CAAY5D,IAAZ,CAAiBlB,GAAjB,CAAnF;AACH,OAXD,CAWE,OAAOie,MAAP,EAAe;AACb,eAAO,qCAAqCF,cAAc,CAACE,MAAD,EAASD,KAAK,GAAG,CAAjB,CAA1D;AACH;AACJ;;AACD,aAAS2iC,qBAAT,CAA+B3gD,GAA/B,EAAoC;AAChC,UAAIilD,cAAc,GAAG,qBAAqB,GAAGngD,QAAH,CAAY5D,IAAZ,CAAiBlB,GAAjB,CAArB,GAA6C,GAAlE;AACA,aAAOA,GAAG,GAAGA,GAAG,YAAYiE,KAAf,GAAuBjE,GAAG,CAAC6U,OAAJ,IAAeowC,cAAtC,GAAuD,YAAY,OAAOjlD,GAAG,CAAC6U,OAAvB,IAAkC7U,GAAG,CAAC6U,OAAtC,IAAiDowC,cAA3G,GAA4HA,cAAtI;AACH;;AACD,aAAS97C,SAAT,CAAmBwJ,IAAnB,EAAyB;AACrB,aAAO,YAAY,OAAOA,IAAnB,GAA0BA,IAA1B,GAAiCA,IAAI,IAAIA,IAAI,CAAC7N,QAAb,IAAyB,cAAc,OAAO6N,IAAI,CAAC7N,QAAnD,GAA8D6N,IAAI,CAAC7N,QAAL,EAA9D,GAAgF,GAAGA,QAAH,CAAY5D,IAAZ,CAAiByR,IAAjB,CAAxH;AACH;;AACD,aAASiuC,aAAT,CAAuBsE,QAAvB,EAAiCr4C,MAAjC,EAAyC;AACrC,UAAIkO,KAAK,GAAG,CAACmqC,QAAQ,GAAGA,QAAQ,CAAC/6C,KAAT,CAAe,KAAf,EAAsB,CAAtB,CAAZ,EAAsCuJ,OAAtC,CAA8C7G,MAA9C,CAAZ;AACA,aAAO,CAAC,CAAD,KAAOkO,KAAP,IAAgBmqC,QAAQ,CAAC3+C,KAAT,CAAewU,KAAf,MAA0BlO,MAAjD;AACH;;AACD,aAASg0C,WAAT,CAAqBphD,GAArB,EAA0B+C,IAA1B,EAAgCwU,OAAhC,EAAyC;AACrC,UAAImuC,QAAQ,GAAG1lD,GAAG,CAAC+C,IAAD,CAAlB;;AACA/C,MAAAA,GAAG,CAAC+C,IAAD,CAAH,GAAY,YAAW;AACnB,YAAI4iD,WAAW,GAAGjoC,SAAlB;AAAA,YAA6BtF,MAAM,GAAG,IAAtC;;AACA,eAAOb,OAAO,CAAC;AACXtW,UAAAA,OAAO,EAAE,IADE;AAEXkZ,UAAAA,IAAI,EAAE,GAAGrT,KAAH,CAASrF,IAAT,CAAcic,SAAd,CAFK;AAGXgoC,UAAAA,QAAQ,EAAEA,QAHC;AAIXE,UAAAA,YAAY,EAAE,wBAAW;AACrB,mBAAOF,QAAQ,CAACtrC,KAAT,CAAehC,MAAf,EAAuButC,WAAvB,CAAP;AACH;AANU,SAAD,CAAd;AAQH,OAVD;AAWH;;AACD,aAAS5yB,MAAT,CAAgB/yB,GAAhB,EAAqBkiB,MAArB,EAA6B;AACzB,UAAI,CAACA,MAAL,EAAa,OAAOliB,GAAP;AACb,UAAId,MAAM,CAACqvB,MAAX,EAAmB,OAAOrvB,MAAM,CAACqvB,MAAP,CAAcvuB,GAAd,EAAmBkiB,MAAnB,CAAP;;AACnB,WAAK,IAAIjiB,GAAT,IAAgBiiB,MAAhB;AAAwBA,QAAAA,MAAM,CAAC7iB,cAAP,CAAsBY,GAAtB,MAA+BD,GAAG,CAACC,GAAD,CAAH,GAAWiiB,MAAM,CAACjiB,GAAD,CAAhD;AAAxB;;AACA,aAAOD,GAAP;AACH;;AACD,QAAIqhD,WAAW,GAAG,SAAdA,WAAc,CAASrhD,GAAT,EAAc;AAC5B,UAAId,MAAM,CAACmD,MAAX,EAAmB,OAAOnD,MAAM,CAACmD,MAAP,CAAcrC,GAAd,CAAP;AACnB,UAAI2D,MAAM,GAAG,EAAb;;AACA,WAAK,IAAI1D,GAAT,IAAgBD,GAAhB;AAAqBA,QAAAA,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,KAA2B0D,MAAM,CAACmC,IAAP,CAAY9F,GAAG,CAACC,GAAD,CAAf,CAA3B;AAArB;;AACA,aAAO0D,MAAP;AACH,KALD;;AAMA,QAAI29C,cAAc,GAAGtkC,OAAO,CAACqkC,WAAD,CAA5B;;AACA,aAASE,IAAT,CAAcsE,MAAd,EAAsBC,UAAtB,EAAkC;AAC9B,aAAOhrC,IAAI,CAACyvB,KAAL,CAAWsb,MAAM,GAAGC,UAAT,GAAsB,GAAjC,CAAP;AACH;;AACD,aAAStE,GAAT,GAAe;AACX,aAAO1mC,IAAI,CAAC0mC,GAAL,CAASpnC,KAAT,CAAeU,IAAf,EAAqB4C,SAArB,CAAP;AACH;;AACD,aAASoP,GAAT,GAAe;AACX,aAAOhS,IAAI,CAACgS,GAAL,CAAS1S,KAAT,CAAeU,IAAf,EAAqB4C,SAArB,CAAP;AACH;;AACD,aAAS+jC,OAAT,CAAiBsE,GAAjB,EAAsBC,OAAtB,EAA+B;AAC3B,UAAIC,SAAS,GAAGF,GAAG,GAAGC,OAAtB;AACA,aAAOC,SAAS,GAAGF,GAAG,GAAGE,SAAN,GAAkBD,OAArB,GAA+BD,GAA/C;AACH;;AACD,aAASrE,QAAT,CAAkB1lC,GAAlB,EAAuBkqC,MAAvB,EAA+B3uC,OAA/B,EAAwC;AACpC,UAAIkC,OAAO,GAAG,EAAd;AACAuC,MAAAA,GAAG,CAACF,OAAJ,CAAYoqC,MAAZ,EAAqB,UAAShzC,IAAT,EAAe;AAChCuG,QAAAA,OAAO,CAAC3T,IAAR,CAAayR,OAAO,GAAGA,OAAO,CAAC6C,KAAR,CAAc,IAAd,EAAoBsD,SAApB,CAAH,GAAoCxK,IAAxD;AACH,OAFD;AAGA,aAAOuG,OAAP;AACH;;AACD,aAASkoC,WAAT,CAAqBwE,GAArB,EAA0B;AACtB,aAAO,+BAA+BxzB,YAAY,CAACwzB,GAAD,CAAlD;AACH;;AACD,aAASvE,SAAT,CAAmB5hD,GAAnB,EAAwB21B,MAAxB,EAAgC;AAC5B,WAAK,CAAL,KAAWA,MAAX,KAAsBA,MAAM,GAAGvf,OAA/B;AACA,UAAIzS,MAAM,GAAG,EAAb;;AACA,WAAK,IAAI1D,GAAT,IAAgBD,GAAhB;AAAqBA,QAAAA,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,KAA2B01B,MAAM,CAAC31B,GAAG,CAACC,GAAD,CAAJ,EAAWA,GAAX,CAAjC,KAAqD0D,MAAM,CAAC1D,GAAD,CAAN,GAAcD,GAAG,CAACC,GAAD,CAAtE;AAArB;;AACA,aAAO0D,MAAP;AACH;;AACD,aAASqvB,QAAT,CAAkB9f,IAAlB,EAAwB;AACpB,aAAOA,IAAP;AACH;;AACD,aAAS2uC,aAAT,CAAuBuE,IAAvB,EAA6BF,MAA7B,EAAqC;AACjC,UAAIviD,MAAM,GAAG,EAAb;AACAyiD,MAAAA,IAAI,CAACtqC,OAAL,CAAaoqC,MAAb,EAAsB,UAASG,KAAT,EAAgB;AAClC1iD,QAAAA,MAAM,CAACmC,IAAP,CAAYugD,KAAZ;AACA,eAAO,EAAP;AACH,OAHD;AAIA,aAAO1iD,MAAP;AACH;;AACD,aAASm+C,eAAT,CAAyBn/C,MAAzB,EAAiC0X,KAAjC,EAAwC;AACpC,WAAK,CAAL,KAAWA,KAAX,KAAqBA,KAAK,GAAG,EAA7B;AACA,UAAIvK,OAAJ;AACA,UAAImJ,OAAJ;AACA,aAAO0C,eAAe,CAAE,YAAW;AAC/B1C,QAAAA,OAAO,IAAIG,YAAY,CAACH,OAAD,CAAvB;AACA,YAAIqtC,YAAY,GAAGx2C,OAAO,GAAGA,OAAO,IAAI,IAAIqC,oBAAJ,EAAxC;AACA8G,QAAAA,OAAO,GAAGX,UAAU,CAAE,YAAW;AAC7BxI,UAAAA,OAAO,GAAG,IAAV;AACAmJ,UAAAA,OAAO,GAAG,IAAV;AACA9G,UAAAA,oBAAoB,OAApB,CAAyBxP,MAAzB,EAAiCiB,IAAjC,CAAuC,UAASD,MAAT,EAAiB;AACpD2iD,YAAAA,YAAY,CAAC9iD,OAAb,CAAqBG,MAArB;AACH,WAFD,EAEK,UAASpD,GAAT,EAAc;AACf+lD,YAAAA,YAAY,CAAC7iD,MAAb,CAAoBlD,GAApB;AACH,WAJD;AAKH,SARmB,EAQhB8Z,KARgB,CAApB;AASA,eAAOisC,YAAP;AACH,OAbqB,EAalB7qC,eAAe,CAAC9Y,MAAD,CAAf,GAA0B,oBAbR,CAAtB;AAcH;;AACD,aAASswB,YAAT,CAAsBtwB,MAAtB,EAA8BuW,IAA9B,EAAoC;AAChC,UAAID,OAAJ;AACA,OAAC,SAAS2T,IAAT,GAAgB;AACb3T,QAAAA,OAAO,GAAGX,UAAU,CAAE,YAAW;AAC7B3V,UAAAA,MAAM;AACNiqB,UAAAA,IAAI;AACP,SAHmB,EAGhB1T,IAHgB,CAApB;AAIH,OALA,EAAD;AAMA,aAAO;AACHe,QAAAA,MAAM,EAAE,kBAAW;AACfb,UAAAA,YAAY,CAACH,OAAD,CAAZ;AACH;AAHE,OAAP;AAKH;;AACD,aAAS8oC,SAAT,CAAmB/lC,GAAnB,EAAwB;AACpB,aAAO5F,OAAO,CAAC4F,GAAG,CAAC3F,KAAJ,CAAU,UAAV,CAAD,CAAd;AACH;;AACD,aAAS2rC,OAAT,CAAiBhmC,GAAjB,EAAsB;AAClB,aAAO5F,OAAO,CAAC4F,GAAG,CAAC3F,KAAJ,CAAU,kBAAV,CAAD,CAAd;AACH;;AACD,aAAS4rC,kBAAT,CAA4B/hD,KAA5B,EAAmC;AAC/B,aAAOA,KAAK,CAACmF,QAAN,EAAP;AACH;;AACD,aAAS68C,oBAAT,CAA8BhiD,KAA9B,EAAqC;AACjC,aAAO,WAAWA,KAAX,IAAoB,YAAYA,KAAZ,KAAsB6hD,SAAS,CAAC7hD,KAAD,CAAT,GAAmBkc,QAAQ,CAAClc,KAAD,EAAQ,EAAR,CAA3B,GAAyC8hD,OAAO,CAAC9hD,KAAD,CAAP,GAAiBqmD,UAAU,CAACrmD,KAAD,CAA3B,GAAqCA,KAApG,CAA3B;AACH;;AACD,aAAS+jC,MAAT,CAAgBjkC,GAAhB,EAAqBkkC,MAArB,EAA6BC,MAA7B,EAAqC;AACjC,WAAK,CAAL,KAAWD,MAAX,KAAsBA,MAAM,GAAG,EAA/B;AACA,WAAK,CAAL,KAAWC,MAAX,KAAsBA,MAAM,GAAG,EAA/B;AACAD,MAAAA,MAAM,GAAGA,MAAM,GAAGA,MAAM,GAAG,GAAZ,GAAkBA,MAAjC;;AACA,WAAK,IAAIjkC,GAAT,IAAgBD,GAAhB;AAAqBA,QAAAA,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,KAA2B,QAAQD,GAAG,CAACC,GAAD,CAAtC,IAA+C,cAAc,OAAOD,GAAG,CAACC,GAAD,CAAvE,KAAiFD,GAAG,CAACC,GAAD,CAAH,IAAY2I,KAAK,CAACuN,OAAN,CAAcnW,GAAG,CAACC,GAAD,CAAjB,CAAZ,IAAuCD,GAAG,CAACC,GAAD,CAAH,CAASoG,MAAhD,IAA0DrG,GAAG,CAACC,GAAD,CAAH,CAASmkC,KAAT,CAAgB,UAASznB,GAAT,EAAc;AAC1L,iBAAO,YAAY,OAAOA,GAA1B;AACH,SAF+J,CAA1D,GAEhGwnB,MAAM,CAAC,KAAKD,MAAL,GAAcjkC,GAAd,GAAoB,IAArB,CAAN,GAAmCD,GAAG,CAACC,GAAD,CAAH,CAAS0J,IAAT,CAAc,GAAd,CAF6D,GAExC3J,GAAG,CAACC,GAAD,CAAH,IAAY,YAAY,OAAOD,GAAG,CAACC,GAAD,CAAlC,GAA0CkkC,MAAM,GAAGF,MAAM,CAACjkC,GAAG,CAACC,GAAD,CAAJ,EAAW,KAAKikC,MAAL,GAAcjkC,GAAzB,EAA8BkkC,MAA9B,CAAzD,GAAiGA,MAAM,CAAC,KAAKD,MAAL,GAAcjkC,GAAf,CAAN,GAA4BgiD,kBAAkB,CAACjiD,GAAG,CAACC,GAAD,CAAJ,CAFxL;AAArB;;AAGA,aAAOkkC,MAAP;AACH;;AACD,aAASge,QAAT,CAAkBniD,GAAlB,EAAuB;AACnB,UAAI2D,MAAM,GAAG,EAAb;;AACA,WAAK,IAAI1D,GAAT,IAAgBD,GAAhB;AAAqB,YAAIA,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,KAA2B,YAAY,OAAOD,GAAG,CAACC,GAAD,CAArD,EAA4D;AAC7E,cAAIC,KAAK,GAAGF,GAAG,CAACC,GAAD,CAAf;;AACA,cAAIA,GAAG,CAACoW,KAAJ,CAAU,UAAV,CAAJ,EAA2B;AACvBpW,YAAAA,GAAG,GAAGA,GAAG,CAAC6G,KAAJ,CAAU,CAAV,EAAa,CAAC,CAAd,CAAN;AACA5G,YAAAA,KAAK,GAAGA,KAAK,CAACwK,KAAN,CAAY,GAAZ,EAAiBoP,GAAjB,CAAqBooC,oBAArB,CAAR;AACH,WAHD,MAGOhiD,KAAK,GAAGgiD,oBAAoB,CAAChiD,KAAD,CAA5B;;AACP,cAAIsmD,SAAS,GAAG7iD,MAAhB;AACA,cAAI8iD,KAAK,GAAGxmD,GAAG,CAACyK,KAAJ,CAAU,GAAV,CAAZ;;AACA,eAAK,IAAIhE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+/C,KAAK,CAACpgD,MAA1B,EAAkCK,CAAC,EAAnC,EAAuC;AACnC,gBAAIggD,IAAI,GAAGD,KAAK,CAAC//C,CAAD,CAAhB;AACA,gBAAIigD,MAAM,GAAGjgD,CAAC,GAAG,CAAJ,KAAU+/C,KAAK,CAACpgD,MAA7B;AACA,gBAAIugD,OAAO,GAAG,CAACD,MAAD,IAAW5E,SAAS,CAAC0E,KAAK,CAAC//C,CAAC,GAAG,CAAL,CAAN,CAAlC;AACA,gBAAI,kBAAkBggD,IAAlB,IAA0B,gBAAgBA,IAA1C,IAAkD,gBAAgBA,IAAtE,EAA4E,MAAM,IAAIliD,KAAJ,CAAU,qBAAqBkiD,IAA/B,CAAN;AAC5EC,YAAAA,MAAM,GAAGH,SAAS,CAACE,IAAD,CAAT,GAAkBxmD,KAArB,GAA6BsmD,SAAS,GAAGA,SAAS,CAACE,IAAD,CAAT,GAAkBF,SAAS,CAACE,IAAD,CAAT,KAAoBE,OAAO,GAAG,EAAH,GAAQ,EAAnC,CAAjE;AACH;AACJ;AAfD;;AAgBA,aAAOjjD,MAAP;AACH;;AACD,aAASy+C,YAAT,GAAwB;AACpB,UAAI7c,SAAS,GAAG,EAAhB;AACA,UAAI3tB,QAAQ,GAAG,EAAf;AACA,aAAO;AACH0O,QAAAA,EAAE,EAAE,YAASmf,SAAT,EAAoBluB,OAApB,EAA6B;AAC7B,cAAImuB,WAAW,GAAG9tB,QAAQ,CAAC6tB,SAAD,CAAR,GAAsB7tB,QAAQ,CAAC6tB,SAAD,CAAR,IAAuB,EAA/D;AACAC,UAAAA,WAAW,CAAC5/B,IAAZ,CAAiByR,OAAjB;AACA,cAAIsV,SAAS,GAAG,CAAC,CAAjB;AACA,iBAAO;AACH5S,YAAAA,MAAM,EAAE,kBAAW;AACf,kBAAI,CAAC4S,SAAL,EAAgB;AACZA,gBAAAA,SAAS,GAAG,CAAC,CAAb;AACA6Y,gBAAAA,WAAW,CAACxrB,MAAZ,CAAmBwrB,WAAW,CAACzxB,OAAZ,CAAoBsD,OAApB,CAAnB,EAAiD,CAAjD;AACH;AACJ;AANE,WAAP;AAQH,SAbE;AAcHsb,QAAAA,IAAI,EAAE,cAAS4S,SAAT,EAAoBluB,OAApB,EAA6B;AAC/B,cAAIgS,QAAQ,GAAG,KAAKjD,EAAL,CAAQmf,SAAR,EAAoB,YAAW;AAC1Clc,YAAAA,QAAQ,CAACtP,MAAT;AACA1C,YAAAA,OAAO;AACV,WAHc,CAAf;AAIA,iBAAOgS,QAAP;AACH,SApBE;AAqBHoc,QAAAA,OAAO,EAAE,iBAASF,SAAT,EAAoB;AACzB,eAAK,IAAIG,KAAK,GAAGloB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUg9B,KAAK,GAAG,CAAR,GAAYA,KAAK,GAAG,CAApB,GAAwB,CAAlC,CAArC,EAA2EC,KAAK,GAAG,CAAxF,EAA2FA,KAAK,GAAGD,KAAnG,EAA0GC,KAAK,EAA/G;AAAmH1rB,YAAAA,IAAI,CAAC0rB,KAAK,GAAG,CAAT,CAAJ,GAAkBnoB,SAAS,CAACmoB,KAAD,CAA3B;AAAnH;;AACA,cAAIH,WAAW,GAAG9tB,QAAQ,CAAC6tB,SAAD,CAA1B;AACA,cAAIlsB,QAAQ,GAAG,EAAf;;AACA,cAAImsB,WAAJ,EAAiB;AACb,gBAAI7rB,KAAK,GAAG,SAARA,KAAQ,CAASmJ,GAAT,EAAc;AACtB,kBAAIzL,OAAO,GAAGmuB,WAAW,CAAC1iB,GAAD,CAAzB;AACAzJ,cAAAA,QAAQ,CAACzT,IAAT,CAAcqM,oBAAoB,OAApB,CAA0B,YAAW;AAC/C,uBAAOoF,OAAO,CAAC6C,KAAR,CAAc,KAAK,CAAnB,EAAsBD,IAAtB,CAAP;AACH,eAFa,CAAd;AAGH,aALD;;AAMA,iBAAK,IAAI6I,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAG0iB,WAAW,CAACr/B,MAApC,EAA4C2c,GAAG,EAA/C;AAAmDnJ,cAAAA,KAAK,CAACmJ,GAAD,CAAL;AAAnD;AACH;;AACD,iBAAO7Q,oBAAoB,CAACmH,GAArB,CAAyBC,QAAzB,EAAmC3V,IAAnC,CAAwCya,aAAxC,CAAP;AACH,SAnCE;AAoCHynB,QAAAA,WAAW,EAAE,qBAASL,SAAT,EAAoB;AAC7B,cAAIF,SAAS,CAACE,SAAD,CAAb,EAA0B,OAAOtzB,oBAAoB,CAAC3O,OAArB,EAAP;AAC1B+hC,UAAAA,SAAS,CAACE,SAAD,CAAT,GAAuB,CAAC,CAAxB;;AACA,eAAK,IAAIM,KAAK,GAAGroB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUm9B,KAAK,GAAG,CAAR,GAAYA,KAAK,GAAG,CAApB,GAAwB,CAAlC,CAArC,EAA2EC,KAAK,GAAG,CAAxF,EAA2FA,KAAK,GAAGD,KAAnG,EAA0GC,KAAK,EAA/G;AAAmH7rB,YAAAA,IAAI,CAAC6rB,KAAK,GAAG,CAAT,CAAJ,GAAkBtoB,SAAS,CAACsoB,KAAD,CAA3B;AAAnH;;AACA,iBAAO,KAAKL,OAAL,CAAavrB,KAAb,CAAmB,IAAnB,EAAyB,CAAEqrB,SAAF,EAActW,MAAd,CAAqBhV,IAArB,CAAzB,CAAP;AACH,SAzCE;AA0CHlU,QAAAA,KAAK,EAAE,iBAAW;AACd2R,UAAAA,QAAQ,GAAG,EAAX;AACH;AA5CE,OAAP;AA8CH;;AACD,aAASyqC,gBAAT,CAA0B//B,MAA1B,EAAkC;AAC9B,aAAOA,MAAM,CAACxG,OAAP,CAAe,UAAf,EAA4B,UAASqX,CAAT,EAAY;AAC3C,eAAO,MAAMA,CAAC,CAAC5W,WAAF,EAAb;AACH,OAFM,CAAP;AAGH;;AACD,aAAS2W,gBAAT,CAA0B5Q,MAA1B,EAAkC;AAC9B,aAAOA,MAAM,CAACxG,OAAP,CAAe,WAAf,EAA6B,UAASqX,CAAT,EAAY;AAC5C,eAAOA,CAAC,CAAC,CAAD,CAAD,CAAKC,WAAL,EAAP;AACH,OAFM,CAAP;AAGH;;AACD,aAASkvB,qBAAT,CAA+BhgC,MAA/B,EAAuC;AACnC,aAAOA,MAAM,CAACzb,MAAP,CAAc,CAAd,EAAiBusB,WAAjB,KAAiC9Q,MAAM,CAACxb,KAAP,CAAa,CAAb,EAAgByV,WAAhB,EAAxC;AACH;;AACD,aAASgmC,QAAT,CAAkBrvC,IAAlB,EAAwB2zC,IAAxB,EAA8BC,GAA9B,EAAmC;AAC/B,UAAI,CAACD,IAAL,EAAW,OAAOC,GAAP;AACX,UAAIC,SAAS,GAAGF,IAAI,CAACn8C,KAAL,CAAW,GAAX,CAAhB;;AACA,WAAK,IAAIhE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqgD,SAAS,CAAC1gD,MAA9B,EAAsCK,CAAC,EAAvC,EAA2C;AACvC,YAAI,YAAY,OAAOwM,IAAnB,IAA2B,SAASA,IAAxC,EAA8C,OAAO4zC,GAAP;AAC9C5zC,QAAAA,IAAI,GAAGA,IAAI,CAAC6zC,SAAS,CAACrgD,CAAD,CAAV,CAAX;AACH;;AACD,aAAO,KAAK,CAAL,KAAWwM,IAAX,GAAkB4zC,GAAlB,GAAwB5zC,IAA/B;AACH;;AACD,aAASsvC,WAAT,CAAqB7/C,MAArB,EAA6BuW,IAA7B,EAAmC;AAC/B,UAAI4F,QAAQ,GAAGmU,YAAY,CAAE,YAAW;AACpC,YAAI,CAAC/Z,IAAI,IAAI,GAAT,KAAiB,CAArB,EAAwB;AACpB4F,UAAAA,QAAQ,CAAC7E,MAAT;AACAtX,UAAAA,MAAM;AACT;AACJ,OAL0B,EAKvB,GALuB,CAA3B;AAMH;;AACD,aAAS0wB,cAAT,CAAwBrzB,GAAxB,EAA6BC,GAA7B,EAAkCuR,MAAlC,EAA0C;AACtC,UAAI5I,KAAK,CAACuN,OAAN,CAAcnW,GAAd,CAAJ,EAAwB;AACpB,YAAI,YAAY,OAAOC,GAAvB,EAA4B,MAAM,IAAIgF,SAAJ,CAAc,0BAAd,CAAN;AAC/B,OAFD,MAEO,IAAI,YAAY,OAAOjF,GAAnB,IAA0B,SAASA,GAAnC,IAA0C,YAAY,OAAOC,GAAjE,EAAsE,MAAM,IAAIgF,SAAJ,CAAc,2BAAd,CAAN;;AAC7E/F,MAAAA,MAAM,CAACiB,cAAP,CAAsBH,GAAtB,EAA2BC,GAA3B,EAAgC;AAC5BI,QAAAA,YAAY,EAAE,CAAC,CADa;AAE5BD,QAAAA,UAAU,EAAE,CAAC,CAFe;AAG5B+J,QAAAA,GAAG,EAAE,eAAW;AACZ,iBAAOnK,GAAG,CAACC,GAAD,CAAV;AACA,cAAIC,KAAK,GAAGsR,MAAM,EAAlB;AACAxR,UAAAA,GAAG,CAACC,GAAD,CAAH,GAAWC,KAAX;AACA,iBAAOA,KAAP;AACH,SAR2B;AAS5BmK,QAAAA,GAAG,EAAE,aAASnK,KAAT,EAAgB;AACjB,iBAAOF,GAAG,CAACC,GAAD,CAAV;AACAD,UAAAA,GAAG,CAACC,GAAD,CAAH,GAAWC,KAAX;AACH;AAZ2B,OAAhC;AAcH;;AACD,aAASozB,SAAT,CAAmBpgB,IAAnB,EAAyB;AACrB,aAAO,GAAGpM,KAAH,CAASrF,IAAT,CAAcyR,IAAd,CAAP;AACH;;AACD,aAASuvC,QAAT,CAAkBvvC,IAAlB,EAAwB;AACpB,aAAO,YAAY,OAAOA,IAAnB,IAA2B,SAASA,IAA3C;AACH;;AACD,aAASqgB,cAAT,CAAwBvzB,GAAxB,EAA6B;AACzB,aAAOyiD,QAAQ,CAACziD,GAAD,CAAR,IAAiB,sBAAsB,GAAGqF,QAAH,CAAY5D,IAAZ,CAAiBzB,GAAjB,CAA9C;AACH;;AACD,aAASwzB,aAAT,CAAuBxzB,GAAvB,EAA4B;AACxB,UAAI,CAACuzB,cAAc,CAACvzB,GAAD,CAAnB,EAA0B,OAAO,CAAC,CAAR;AAC1B,UAAIuC,WAAW,GAAGvC,GAAG,CAACuC,WAAtB;AACA,UAAI,cAAc,OAAOA,WAAzB,EAAsC,OAAO,CAAC,CAAR;AACtC,UAAIpD,SAAS,GAAGoD,WAAW,CAACpD,SAA5B;AACA,aAAO,CAAC,CAACo0B,cAAc,CAACp0B,SAAD,CAAhB,IAA+B,CAAC,CAACA,SAAS,CAACE,cAAV,CAAyB,eAAzB,CAAxC;AACH;;AACD,aAASo0B,aAAT,CAAuBvgB,IAAvB,EAA6BwgB,QAA7B,EAAuCC,OAAvC,EAAgD;AAC5C,WAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;;AACA,UAAI/qB,KAAK,CAACuN,OAAN,CAAcjD,IAAd,CAAJ,EAAyB;AACrB,YAAI7M,MAAM,GAAG6M,IAAI,CAAC7M,MAAlB;AACA,YAAI1C,MAAM,GAAG,EAAb;;AACA,YAAIiwB,MAAM,GAAG,SAATA,MAAS,CAASltB,CAAT,EAAY;AACrB2sB,UAAAA,cAAc,CAAC1vB,MAAD,EAAS+C,CAAT,EAAa,YAAW;AAClC,gBAAImtB,OAAO,GAAGF,OAAO,GAAGA,OAAO,GAAG,GAAV,GAAgBjtB,CAAnB,GAAuB,KAAKA,CAAjD;AACA,gBAAI6N,KAAK,GAAGmf,QAAQ,CAACxgB,IAAI,CAACxM,CAAD,CAAL,EAAUA,CAAV,EAAamtB,OAAb,CAApB;AACA,aAACL,aAAa,CAACjf,KAAD,CAAb,IAAwB3L,KAAK,CAACuN,OAAN,CAAc5B,KAAd,CAAzB,MAAmDA,KAAK,GAAGkf,aAAa,CAAClf,KAAD,EAAQmf,QAAR,EAAkBG,OAAlB,CAAxE;AACA,mBAAOtf,KAAP;AACH,WALa,CAAd;AAMH,SAPD;;AAQA,aAAK,IAAI7N,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,MAApB,EAA4BK,CAAC,EAA7B;AAAiCktB,UAAAA,MAAM,CAACltB,CAAD,CAAN;AAAjC;;AACA,eAAO/C,MAAP;AACH;;AACD,UAAI6vB,aAAa,CAACtgB,IAAD,CAAjB,EAAyB;AACrB,YAAI6E,OAAO,GAAG,EAAd;;AACA,YAAI+b,MAAM,GAAG,SAATA,MAAS,CAAS7zB,GAAT,EAAc;AACvB,cAAI,CAACiT,IAAI,CAAC7T,cAAL,CAAoBY,GAApB,CAAL,EAA+B,OAAO,UAAP;AAC/BozB,UAAAA,cAAc,CAACtb,OAAD,EAAU9X,GAAV,EAAgB,YAAW;AACrC,gBAAI4zB,OAAO,GAAGF,OAAO,GAAGA,OAAO,GAAG,GAAV,GAAgB1zB,GAAnB,GAAyB,KAAKA,GAAnD;AACA,gBAAIsU,KAAK,GAAGmf,QAAQ,CAACxgB,IAAI,CAACjT,GAAD,CAAL,EAAYA,GAAZ,EAAiB4zB,OAAjB,CAApB;AACA,aAACL,aAAa,CAACjf,KAAD,CAAb,IAAwB3L,KAAK,CAACuN,OAAN,CAAc5B,KAAd,CAAzB,MAAmDA,KAAK,GAAGkf,aAAa,CAAClf,KAAD,EAAQmf,QAAR,EAAkBG,OAAlB,CAAxE;AACA,mBAAOtf,KAAP;AACH,WALa,CAAd;AAMH,SARD;;AASA,aAAK,IAAItU,GAAT,IAAgBiT,IAAhB;AAAsB4gB,UAAAA,MAAM,CAAC7zB,GAAD,CAAN;AAAtB;;AACA,eAAO8X,OAAP;AACH;;AACD,YAAM,IAAIvT,KAAJ,CAAU,yBAAV,CAAN;AACH;;AACD,aAASk+C,QAAT,CAAkBxgC,MAAlB,EAA0BsM,MAA1B,EAAkCzrB,IAAlC,EAAwC+jD,GAAxC,EAA6C;AACzC,UAAI5kC,MAAM,CAAC7iB,cAAP,CAAsB0D,IAAtB,CAAJ,EAAiC;AAC7B,YAAIikD,UAAU,GAAG9nD,MAAM,CAACkV,wBAAP,CAAgC8N,MAAhC,EAAwCnf,IAAxC,CAAjB;AACA7D,QAAAA,MAAM,CAACiB,cAAP,CAAsBquB,MAAtB,EAA8BzrB,IAA9B,EAAoCikD,UAApC;AACH,OAHD,MAGOx4B,MAAM,CAACzrB,IAAD,CAAN,GAAe+jD,GAAf;AACV;;AACD,aAAS7kC,KAAT,CAAehM,OAAf,EAAwBqM,MAAxB,EAAgC2kC,KAAhC,EAAuC;AACnC,WAAK,CAAL,KAAWA,KAAX,KAAqBA,KAAK,GAAG,CAA7B;AACA,kBAAY,OAAOhxC,OAAnB,KAA+BA,OAAO,GAAG,IAAI2M,MAAJ,CAAW3M,OAAX,CAAzC;AACA,UAAItS,MAAM,GAAG2e,MAAM,CAACxb,KAAP,CAAamgD,KAAb,EAAoB5wC,KAApB,CAA0BJ,OAA1B,CAAb;;AACA,UAAItS,MAAJ,EAAY;AACR,YAAI2X,KAAK,GAAG3X,MAAM,CAAC2X,KAAnB;AACA,YAAIiqC,QAAQ,GAAG5hD,MAAM,CAAC,CAAD,CAArB;AACA,eAAO;AACHyiD,UAAAA,IAAI,EAAEb,QADH;AAEH2B,UAAAA,MAAM,EAAEvjD,MAAM,CAACmD,KAAP,CAAa,CAAb,CAFL;AAGHmgD,UAAAA,KAAK,EAAEA,KAAK,GAAG3rC,KAHZ;AAIH6rC,UAAAA,GAAG,EAAEF,KAAK,GAAG3rC,KAAR,GAAgBiqC,QAAQ,CAACl/C,MAJ3B;AAKHA,UAAAA,MAAM,EAAEk/C,QAAQ,CAACl/C,MALd;AAMHyV,UAAAA,OAAO,EAAE,iBAASsqC,IAAT,EAAe;AACpB,mBAAOb,QAAQ,GAAG,KAAKA,QAAQ,CAACz+C,KAAT,CAAe,CAAf,EAAkBmgD,KAAK,GAAG3rC,KAA1B,CAAL,GAAwC8qC,IAAxC,GAA+Cb,QAAQ,CAACz+C,KAAT,CAAewU,KAAK,GAAGiqC,QAAQ,CAACl/C,MAAhC,CAAlD,GAA4F,EAA3G;AACH;AARE,SAAP;AAUH;AACJ;;AACD,aAASs8C,QAAT,CAAkB1sC,OAAlB,EAA2BqM,MAA3B,EAAmC;AAC/B,UAAI8hC,OAAO,GAAG,EAAd;AACA,UAAI6C,KAAK,GAAG,CAAZ;;AACA,eAAS;AACL,YAAI1B,QAAQ,GAAGtjC,KAAK,CAAChM,OAAD,EAAUqM,MAAV,EAAkB2kC,KAAlB,CAApB;AACA,YAAI,CAAC1B,QAAL,EAAe;AACfnB,QAAAA,OAAO,CAACt+C,IAAR,CAAay/C,QAAb;AACA0B,QAAAA,KAAK,GAAG5wC,KAAK,CAAC8wC,GAAd;AACH;;AACD,aAAO/C,OAAP;AACH;;AACD,aAASrwB,SAAT,CAAmB7zB,KAAnB,EAA0B;AACtB,aAAO,QAAQA,KAAf;AACH;;AACD,aAAS0iD,KAAT,CAAejgD,MAAf,EAAuB;AACnB,aAAOwP,oBAAoB,OAApB,CAAyBxP,MAAzB,EAAiCiB,IAAjC,CAAuC,YAAW;AACrD,eAAOg/C,KAAK,CAACjgD,MAAD,CAAZ;AACH,OAFM,CAAP;AAGH;;AACD,aAASkgD,QAAT,CAAkBlgD,MAAlB,EAA0BuW,IAA1B,EAAgC;AAC5B,WAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,GAA3B;AACA,UAAID,OAAJ;AACA,aAAO0C,eAAe,CAAE,YAAW;AAC/B,YAAIyrC,WAAW,GAAG1pC,SAAlB;AAAA,YAA6BvE,MAAM,GAAG,IAAtC;;AACAC,QAAAA,YAAY,CAACH,OAAD,CAAZ;AACAA,QAAAA,OAAO,GAAGX,UAAU,CAAE,YAAW;AAC7B,iBAAO3V,MAAM,CAACyX,KAAP,CAAajB,MAAb,EAAqBiuC,WAArB,CAAP;AACH,SAFmB,EAEhBluC,IAFgB,CAApB;AAGH,OANqB,EAMlBuC,eAAe,CAAC9Y,MAAD,CAAf,GAA0B,aANR,CAAtB;AAOH;;AACD,aAAS8b,YAAT,CAAsBvL,IAAtB,EAA4B;AACxB,aAAO,sBAAsB,GAAG7N,QAAH,CAAY5D,IAAZ,CAAiByR,IAAjB,CAA7B;AACH;;AACD,QAAI4vC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAASngD,MAAT,EAAiB;AACvC,UAAIkY,OAAO,GAAG,IAAIF,8BAAJ,EAAd;AACA,aAAO,UAASpZ,GAAT,EAAc;AACjB,YAAIsjB,MAAM,GAAG,IAAb;;AACA,eAAOhK,OAAO,CAACW,QAAR,CAAiBja,GAAjB,EAAuB,YAAW;AACrC,iBAAOoB,MAAM,CAAClB,IAAP,CAAYojB,MAAZ,EAAoBtjB,GAApB,CAAP;AACH,SAFM,CAAP;AAGH,OALD;AAMH,KARD;;AASA,QAAIwhD,0BAA0B,GAAG,SAA7BA,0BAA6B,CAASpgD,MAAT,EAAiB;AAC9C,UAAIkY,OAAO,GAAG,IAAIF,8BAAJ,EAAd;AACA,aAAO,UAASpZ,GAAT,EAAc;AACjB,YAAIgkB,MAAM,GAAG,IAAb;;AACA,eAAO1K,OAAO,CAACW,QAAR,CAAiBja,GAAjB,EAAuB,YAAW;AACrC,iBAAOoB,MAAM,CAAClB,IAAP,CAAY8jB,MAAZ,EAAoBhkB,GAApB,aAAkC,YAAW;AAChDsZ,YAAAA,OAAO,UAAP,CAAetZ,GAAf;AACH,WAFM,CAAP;AAGH,SAJM,CAAP;AAKH,OAPD;AAQH,KAVD;;AAWA,aAASia,QAAT,CAAkBxb,GAAlB,EAAuBC,GAAvB,EAA4BuR,MAA5B,EAAoC;AAChC,UAAIxR,GAAG,CAACX,cAAJ,CAAmBY,GAAnB,CAAJ,EAA6B,OAAOD,GAAG,CAACC,GAAD,CAAV;AAC7B,UAAI0c,GAAG,GAAGnL,MAAM,EAAhB;AACAxR,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAW0c,GAAX;AACA,aAAOA,GAAP;AACH;;AACD,aAASqX,OAAT,CAAiBh0B,GAAjB,EAAsB;AAClB,UAAIi0B,KAAK,GAAG,EAAZ;AACA,UAAIC,OAAO,GAAG,CAAC,CAAf;AACA,UAAIC,QAAJ;AACA,aAAO;AACH9pB,QAAAA,GAAG,EAAE,aAAStH,IAAT,EAAemQ,IAAf,EAAqB;AACtB,cAAI,CAACghB,OAAL,EAAc;AACVl0B,YAAAA,GAAG,CAAC+C,IAAD,CAAH,GAAYmQ,IAAZ;AACA,iBAAKmhB,QAAL,CAAe,YAAW;AACtB,qBAAOr0B,GAAG,CAAC+C,IAAD,CAAV;AACH,aAFD;AAGH;;AACD,iBAAOmQ,IAAP;AACH,SATE;AAUHmhB,QAAAA,QAAQ,EAAE,kBAAS1xB,MAAT,EAAiB;AACvBuxB,UAAAA,OAAO,GAAGvxB,MAAM,CAACwxB,QAAD,CAAT,GAAsBF,KAAK,CAACnuB,IAAN,CAAW+sB,IAAI,CAAE,YAAW;AACrD,mBAAOlwB,MAAM,CAACwxB,QAAD,CAAb;AACH,WAF2C,CAAf,CAA7B;AAGH,SAdE;AAeH7a,QAAAA,GAAG,EAAE,aAAS/Y,GAAT,EAAc;AACf4zB,UAAAA,QAAQ,GAAG5zB,GAAX;AACA,cAAIkZ,OAAO,GAAG,EAAd;AACAya,UAAAA,OAAO,GAAG,CAAC,CAAX;;AACA,iBAAMD,KAAK,CAAC5tB,MAAZ,GAAsB;AAClB,gBAAIiuB,IAAI,GAAGL,KAAK,CAACM,KAAN,EAAX;AACA9a,YAAAA,OAAO,CAAC3T,IAAR,CAAawuB,IAAI,EAAjB;AACH;;AACD,iBAAOniB,oBAAoB,CAACmH,GAArB,CAAyBG,OAAzB,EAAkC7V,IAAlC,CAAuCya,aAAvC,CAAP;AACH;AAxBE,OAAP;AA0BH;;AACD,aAAShd,QAAT,CAAkBC,EAAlB,EAAsB;AAClB,UAAIqC,MAAJ;AACA,UAAIG,KAAJ;;AACA,UAAI;AACAH,QAAAA,MAAM,GAAGrC,EAAE,EAAX;AACH,OAFD,CAEE,OAAOf,GAAP,EAAY;AACVuD,QAAAA,KAAK,GAAGvD,GAAR;AACH;;AACD,aAAO;AACHoD,QAAAA,MAAM,EAAEA,MADL;AAEHG,QAAAA,KAAK,EAAEA;AAFJ,OAAP;AAIH;;AACD,aAASk/C,eAAT,CAAyBqE,GAAzB,EAA8Bn0C,IAA9B,EAAoC;AAChC,UAAIoI,KAAK,GAAG+rC,GAAG,CAACpzC,OAAJ,CAAYf,IAAZ,CAAZ;AACA,OAAC,CAAD,KAAOoI,KAAP,IAAgB+rC,GAAG,CAACntC,MAAJ,CAAWoB,KAAX,EAAkB,CAAlB,CAAhB;AACH;;AACD,aAASkZ,YAAT,CAAsBzxB,IAAtB,EAA4B0xB,KAA5B,EAAmC;AAC/B,UAAI,QAAQA,KAAZ,EAAmB,MAAM,IAAIjwB,KAAJ,CAAU,cAAczB,IAAd,GAAqB,gBAA/B,CAAN;AACnB,aAAO0xB,KAAP;AACH;;AACD,aAASwuB,MAAT,CAAgBoE,GAAhB,EAAqB;AACjB,UAAI1jD,MAAM,GAAG,EAAb;;AACA,WAAK,IAAIolB,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGs+B,GAAG,CAAChhD,MAA5B,EAAoC0iB,GAAG,EAAvC;AAA2CplB,QAAAA,MAAM,CAAC0jD,GAAG,CAACt+B,GAAD,CAAJ,CAAN,GAAmB,CAAC,CAApB;AAA3C;;AACA,aAAO7pB,MAAM,CAACgH,IAAP,CAAYvC,MAAZ,CAAP;AACH;;AACD,QAAIu/C,QAAQ,GAAG,SAAXA,QAAW,CAASoE,QAAT,EAAmBpnD,KAAnB,EAA0B;AACrC,aAAO,CAAC,CAAD,KAAOohD,cAAc,CAACgG,QAAD,CAAd,CAAyBrzC,OAAzB,CAAiC/T,KAAjC,CAAd;AACH,KAFD;;AAGA,aAASijD,YAAT,CAAsB5rC,OAAtB,EAA+B;AAC3B,UAAIgwC,UAAU,GAAG,EAAjB;AACA,UAAIC,qBAAqB,GAAG,EAA5B;AACA,aAAO,UAASjnD,GAAT,EAAc;AACjB,YAAI,CAAC,CAAD,KAAOgnD,UAAU,CAACtzC,OAAX,CAAmB1T,GAAnB,CAAX,EAAoC;AAChCgnD,UAAAA,UAAU,CAACzhD,IAAX,CAAgBvF,GAAhB;AACA,cAAIknD,gBAAgB,GAAGnpC,cAAc,CAAC/d,GAAD,CAArC;;AACA,cAAI,CAACinD,qBAAqB,CAACC,gBAAD,CAA1B,EAA8C;AAC1CD,YAAAA,qBAAqB,CAACC,gBAAD,CAArB,GAA0C,CAAC,CAA3C;AACA,mBAAOlwC,OAAO,CAAChX,GAAD,CAAd;AACH;AACJ;AACJ,OATD;AAUH;;AACD,QAAIm0B,oBAAoB,GAAG,UAASC,MAAT,EAAiB;AACxCxG,MAAAA,cAAc,CAACyG,eAAD,EAAkBD,MAAlB,CAAd;;AACA,eAASC,eAAT,CAAyBxf,OAAzB,EAAkC;AAC9B,YAAIyf,MAAJ;;AACA,SAACA,MAAM,GAAGF,MAAM,CAAClzB,IAAP,CAAY,IAAZ,EAAkB2T,OAAlB,KAA8B,IAAxC,EAA8CrS,IAA9C,GAAqD8xB,MAAM,CAACtyB,WAAP,CAAmBQ,IAAxE;AACA,sBAAc,OAAOyB,KAAK,CAACswB,iBAA3B,GAA+CtwB,KAAK,CAACswB,iBAAN,CAAwB,UAASn0B,IAAT,EAAe;AAClF,cAAI,KAAK,CAAL,KAAWA,IAAf,EAAqB,MAAM,IAAIo0B,cAAJ,CAAmB,2DAAnB,CAAN;AACrB,iBAAOp0B,IAAP;AACH,SAHsE,CAGrEk0B,MAHqE,CAAxB,EAGpCA,MAAM,CAACtyB,WAH6B,CAA/C,GAGiCsyB,MAAM,CAAC/c,KAAP,GAAe,IAAItT,KAAJ,CAAU4Q,OAAV,EAAmB0C,KAHnE;AAIA,eAAO+c,MAAP;AACH;;AACD,aAAOD,eAAP;AACH,KAZ0B,CAYzB1C,+BAA+B,CAAC1tB,KAAD,CAZN,CAA3B;;AAaA,QAAIm/C,SAAS,GAAG;AACZ+D,MAAAA,KAAK,EAAE,EADK;AAEZC,MAAAA,KAAK,EAAE;AAFK,KAAhB;AAIA,QAAI/D,UAAU,GAAG;AACbgE,MAAAA,GAAG,EAAE;AADQ,KAAjB;;AAGA,aAASjpC,eAAT,GAA2B;AACvB,aAAOvI,OAAO,CAACtN,QAAQ,CAACqG,IAAV,CAAP,IAA0B,eAAerG,QAAQ,CAAC8V,UAAzD;AACH;;AACD,aAASC,qBAAT,GAAiC;AAC7B,aAAOzI,OAAO,CAACtN,QAAQ,CAACqG,IAAV,CAAP,IAA0B,kBAAkBrG,QAAQ,CAAC8V,UAA5D;AACH;;AACD,aAASqW,SAAT,CAAmBjZ,GAAnB,EAAwB;AACpB,aAAOC,kBAAkB,CAACD,GAAD,CAAzB;AACH;;AACD,aAAS8hC,kBAAT,GAA8B;AAC1B,aAAOgD,aAAa,CAAChD,kBAAD,EAAsB,YAAW;AACjD,eAAO,IAAI3rC,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AAC/Cmb,UAAAA,eAAe,MAAMnb,OAAO,EAA5B;AACAsG,UAAAA,MAAM,CAACmjB,gBAAP,CAAwB,MAAxB,EAAiC,YAAW;AACxC,mBAAOzpB,OAAO,EAAd;AACH,WAFD;AAGH,SALM,CAAP;AAMH,OAPmB,CAApB;AAQH;;AACD,QAAIu6C,oBAAoB,GAAG/gC,OAAO,CAAE,YAAW;AAC3C,aAAO,IAAI7K,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AAC/C,YAAImb,eAAe,MAAME,qBAAqB,EAA9C,EAAkD,OAAOrb,OAAO,EAAd;AAClD,YAAIsb,QAAQ,GAAGC,WAAW,CAAE,YAAW;AACnC,cAAIJ,eAAe,MAAME,qBAAqB,EAA9C,EAAkD;AAC9CG,YAAAA,aAAa,CAACF,QAAD,CAAb;AACA,mBAAOtb,OAAO,EAAd;AACH;AACJ,SALyB,EAKtB,EALsB,CAA1B;AAMH,OARM,CAAP;AASH,KAViC,CAAlC;;AAWA,aAASw6C,mBAAT,GAA+B;AAC3B,aAAO7rC,oBAAoB,OAApB,CAA0B,YAAW;AACxC,eAAOrJ,QAAQ,CAACqG,IAAT,GAAgBrG,QAAQ,CAACqG,IAAzB,GAAgC4uC,oBAAoB,GAAGn6C,IAAvB,CAA6B,YAAW;AAC3E,cAAIkF,QAAQ,CAACqG,IAAb,EAAmB,OAAOrG,QAAQ,CAACqG,IAAhB;AACnB,gBAAM,IAAI3K,KAAJ,CAAU,8CAAV,CAAN;AACH,SAHsC,CAAvC;AAIH,OALM,CAAP;AAMH;;AACD,aAAS0wB,UAAT,CAAoBC,WAApB,EAAiC;AAC7B,aAAO2rB,aAAa,CAAC5rB,UAAD,EAAc,YAAW;AACzC,YAAItlB,MAAM,GAAG,EAAb;AACA,YAAI,CAACulB,WAAL,EAAkB,OAAOvlB,MAAP;AAClB,YAAI,CAAC,CAAD,KAAOulB,WAAW,CAAClhB,OAAZ,CAAoB,GAApB,CAAX,EAAqC,OAAOrE,MAAP;;AACrC,aAAK,IAAIoT,GAAG,GAAG,CAAV,EAAasS,mBAAmB,GAAGH,WAAW,CAACzqB,KAAZ,CAAkB,GAAlB,CAAxC,EAAgEsY,GAAG,GAAGsS,mBAAmB,CAACjvB,MAA1F,EAAkG2c,GAAG,EAArG,EAAyG;AACrG,cAAIuS,IAAI,GAAGD,mBAAmB,CAACtS,GAAD,CAA9B;AACA,WAACuS,IAAI,GAAGA,IAAI,CAAC7qB,KAAL,CAAW,GAAX,CAAR,EAAyB,CAAzB,KAA+B6qB,IAAI,CAAC,CAAD,CAAnC,KAA2C3lB,MAAM,CAAC4lB,kBAAkB,CAACD,IAAI,CAAC,CAAD,CAAL,CAAnB,CAAN,GAAsCC,kBAAkB,CAACD,IAAI,CAAC,CAAD,CAAL,CAAnG;AACH;;AACD,eAAO3lB,MAAP;AACH,OATmB,EAShB,CAAEulB,WAAF,CATgB,CAApB;AAUH;;AACD,aAAS8oB,aAAT,CAAuBl7C,IAAvB,EAA6B;AACzB,aAAOmyB,UAAU,CAACprB,MAAM,CAACwJ,QAAP,CAAgBu0C,MAAhB,CAAuB/gD,KAAvB,CAA6B,CAA7B,CAAD,CAAV,CAA4C/D,IAA5C,CAAP;AACH;;AACD,aAASm7C,mBAAT,CAA6BjvC,GAA7B,EAAkC;AAC9B,aAAO,CAAC,CAAD,KAAOA,GAAG,CAACgF,OAAJ,CAAY,GAAZ,CAAP,IAA2B,MAAMhF,GAAG,CAACgF,OAAJ,CAAY,GAAZ,CAAN,IAA0BhF,GAAG,CAACvE,KAAJ,CAAU,GAAV,EAAe,CAAf,MAAsBZ,MAAM,CAACwJ,QAAP,CAAgBwQ,IAAhB,CAAqBpZ,KAArB,CAA2B,GAA3B,EAAgC,CAAhC,CAAlF;AACH;;AACD,aAASyzC,WAAT,CAAqBn+C,GAArB,EAA0B;AACtB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG,EAAzB;AACA,aAAOd,MAAM,CAACgH,IAAP,CAAYlG,GAAZ,EAAiB21B,MAAjB,CAAyB,UAAS11B,GAAT,EAAc;AAC1C,eAAO,YAAY,OAAOD,GAAG,CAACC,GAAD,CAAtB,IAA+B,aAAa,OAAOD,GAAG,CAACC,GAAD,CAA7D;AACH,OAFM,EAEH6Z,GAFG,CAEE,UAAS7Z,GAAT,EAAc;AACnB,YAAI0c,GAAG,GAAG3c,GAAG,CAACC,GAAD,CAAb;AACA,YAAI,YAAY,OAAO0c,GAAnB,IAA0B,aAAa,OAAOA,GAAlD,EAAuD,MAAM,IAAI1X,SAAJ,CAAc,wBAAd,CAAN;AACvD,eAAOgwB,SAAS,CAACh1B,GAAD,CAAT,GAAiB,GAAjB,GAAuBg1B,SAAS,CAACtY,GAAG,CAACtX,QAAJ,EAAD,CAAvC;AACH,OANM,EAMHsE,IANG,CAME,GANF,CAAP;AAOH;;AACD,aAAS8rB,WAAT,CAAqBC,aAArB,EAAoC7oB,KAApC,EAA2C;AACvC,WAAK,CAAL,KAAWA,KAAX,KAAqBA,KAAK,GAAG,EAA7B;AACA,aAAOA,KAAK,IAAI3N,MAAM,CAACgH,IAAP,CAAY2G,KAAZ,EAAmBxG,MAA5B,GAAqC83C,WAAW,CAAC7vB,QAAQ,CAAC,EAAD,EAAK4G,UAAU,CAACQ,aAAD,CAAf,EAAgC7oB,KAAhC,CAAT,CAAhD,GAAmG6oB,aAA1G;AACH;;AACD,aAAS0oB,SAAT,CAAmBnvC,GAAnB,EAAwBgO,OAAxB,EAAiC;AAC7B,UAAIpN,KAAK,GAAGoN,OAAO,CAACpN,KAAR,IAAiB,EAA7B;AACA,UAAI8J,IAAI,GAAGsD,OAAO,CAACtD,IAAR,IAAgB,EAA3B;AACA,UAAIu3B,WAAJ;AACA,UAAIC,YAAJ;;AACA,UAAIC,UAAU,GAAGniC,GAAG,CAACvE,KAAJ,CAAU,GAAV,CAAjB;;AACAymC,MAAAA,YAAY,GAAGC,UAAU,CAAC,CAAD,CAAzB;;AACA,UAAIC,kBAAkB,GAAG,CAACH,WAAW,GAAGE,UAAU,CAAC,CAAD,CAAzB,EAA8B1mC,KAA9B,CAAoC,GAApC,CAAzB;;AACAwmC,MAAAA,WAAW,GAAGG,kBAAkB,CAAC,CAAD,CAAhC;AACA,UAAIlc,WAAW,GAAGM,WAAW,CAAC4b,kBAAkB,CAAC,CAAD,CAAnB,EAAwBxhC,KAAxB,CAA7B;AACA,UAAIyhC,UAAU,GAAG7b,WAAW,CAAC0b,YAAD,EAAex3B,IAAf,CAA5B;AACAwb,MAAAA,WAAW,KAAK+b,WAAW,GAAGA,WAAW,GAAG,GAAd,GAAoB/b,WAAvC,CAAX;AACAmc,MAAAA,UAAU,KAAKJ,WAAW,GAAGA,WAAW,GAAG,GAAd,GAAoBI,UAAvC,CAAV;AACA,aAAOJ,WAAP;AACH;;AACD,aAASmN,QAAT,CAAkBpvC,GAAlB,EAAuBoE,GAAvB,EAA4B;AACxB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAGvJ,MAAzB;AACA,aAAO,IAAIqI,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkB;AAC/C6P,QAAAA,GAAG,CAACC,QAAJ,GAAerE,GAAf;AACAivC,QAAAA,mBAAmB,CAACjvC,GAAD,CAAnB,IAA4BzL,OAAO,EAAnC;AACH,OAHM,CAAP;AAIH;;AACD,aAAS86C,eAAT,GAA2B;AACvB,UAAIwJ,IAAI,GAAGh/C,QAAQ,CAACgtB,aAAT,CAAuB,qBAAvB,CAAX;AACA,aAAO,EAAEwmB,QAAQ,MAAMxyC,MAAM,CAACiB,MAAP,CAAcG,KAAd,GAAsB,GAApC,IAA2C,CAAC48C,IAA9C,CAAP;AACH;;AACD,aAASvJ,gBAAT,CAA0BvoB,EAA1B,EAA8B;AAC1B,aAAO5f,OAAO,CAAC4f,EAAE,CAACmC,WAAH,IAAkBnC,EAAE,CAACqC,YAArB,IAAqCrC,EAAE,CAACuC,cAAH,GAAoBlyB,MAA1D,CAAd;AACH;;AACD,aAASm4C,cAAT,GAA0B;AACtB,aAAOsC,aAAa,CAACtC,cAAD,EAAkB,YAAW;AAC7C,YAAIuJ,WAAW,GAAGj+C,MAAM,CAACi+C,WAAzB;AACA,YAAIA,WAAW,IAAIA,WAAW,CAAChqC,GAA3B,IAAkCgqC,WAAW,CAACC,MAA9C,IAAwDD,WAAW,CAACC,MAAZ,CAAmBC,UAA3E,IAAyFF,WAAW,CAACC,MAAZ,CAAmBE,eAA5G,IAA+HptC,IAAI,CAACye,GAAL,CAASwuB,WAAW,CAAChqC,GAAZ,KAAoB5S,IAAI,CAAC4S,GAAL,EAA7B,IAA2C,GAA1K,IAAiLgqC,WAAW,CAAChqC,GAAZ,MAAqBgqC,WAAW,CAACC,MAAZ,CAAmBC,UAAnB,GAAgCF,WAAW,CAACC,MAAZ,CAAmBE,eAAxE,IAA2F,CAAhR,EAAmR,OAAOH,WAAP;AACtR,OAHmB,CAApB;AAIH;;AACD,aAAStJ,iBAAT,GAA6B;AACzB,aAAOroC,OAAO,CAACooC,cAAc,EAAf,CAAd;AACH;;AACD,aAASE,iBAAT,GAA6B;AACzB,aAAOX,oBAAoB,GAAGn6C,IAAvB,CAA6B,YAAW;AAC3C,YAAImkD,WAAW,GAAGvJ,cAAc,EAAhC;;AACA,YAAIuJ,WAAJ,EAAiB;AACb,cAAIC,MAAM,GAAGD,WAAW,CAACC,MAAzB;AACA,iBAAOA,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACG,cAA5B,GAA6CH,MAAM,CAACG,cAAP,GAAwBH,MAAM,CAACC,UAA5E,GAAyF,KAAK,CAArG;AACH;AACJ,OANM,CAAP;AAOH;;AACD,aAAStJ,UAAT,CAAoB1nB,IAApB,EAA0B;AACtB,WAAK,CAAL,KAAWA,IAAX,KAAoBA,IAAI,GAAG,EAA3B;AACA,aAAOA,IAAI,CAAC5xB,QAAL,GAAgByW,OAAhB,CAAwB,IAAxB,EAA8B,OAA9B,EAAuCA,OAAvC,CAA+C,IAA/C,EAAqD,MAArD,EAA6DA,OAA7D,CAAqE,IAArE,EAA2E,MAA3E,EAAmFA,OAAnF,CAA2F,IAA3F,EAAiG,QAAjG,EAA2GA,OAA3G,CAAmH,IAAnH,EAAyH,OAAzH,EAAkIA,OAAlI,CAA0I,KAA1I,EAAiJ,QAAjJ,CAAP;AACH;;AACD,aAAS8iC,aAAT,GAAyB;AACrB,aAAO,eAAe,OAAO90C,MAAtB,IAAgC,KAAK,CAAL,KAAWA,MAAM,CAACwJ,QAAzD;AACH;;AACD,aAAS8Q,gBAAT,CAA0B6yB,QAA1B,EAAoCthC,GAApC,EAAyC;AACrC,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG7L,MAAM,CAAChB,QAAhC;AACA,aAAO,GAAGhC,KAAH,CAASrF,IAAT,CAAckU,GAAG,CAACyO,gBAAJ,CAAqB6yB,QAArB,CAAd,CAAP;AACH;;AACD,aAAS4H,OAAT,CAAiBvsB,OAAjB,EAA0B/a,OAA1B,EAAmC;AAC/B+a,MAAAA,OAAO,CAACrF,gBAAR,CAAyB,YAAzB,EAAuC5O,aAAvC;AACAiU,MAAAA,OAAO,CAACrF,gBAAR,CAAyB,OAAzB,EAAkC1V,OAAlC;AACA+a,MAAAA,OAAO,CAACrF,gBAAR,CAAyB,UAAzB,EAAsC,UAAShD,KAAT,EAAgB;AAClD,YAAIA,KAAK,CAACm+B,OAAN,KAAkBzE,SAAS,CAAC+D,KAA5B,IAAqCz9B,KAAK,CAACm+B,OAAN,KAAkBzE,SAAS,CAACgE,KAArE,EAA4E,OAAOpwC,OAAO,CAAC0S,KAAD,CAAd;AAC/E,OAFD;AAGH;;AACD,aAAS60B,SAAT,CAAmBl+B,IAAnB,EAAyB;AACrB,UAAIynC,SAAS,GAAGznC,IAAI,CAAC9M,IAArB;AAAA,UAA2BA,IAAI,GAAG,KAAK,CAAL,KAAWu0C,SAAX,GAAuBv+C,MAAM,CAACwJ,QAAP,CAAgBQ,IAAvC,GAA8Cu0C,SAAhF;AAAA,UAA2FxB,IAAI,GAAGjmC,IAAI,CAACimC,IAAvG;AAAA,UAA6GyB,YAAY,GAAG1nC,IAAI,CAACxa,OAAjI;AAAA,UAA0IA,OAAO,GAAG,KAAK,CAAL,KAAWkiD,YAAX,IAA2BA,YAA/K;AACA,aAAOxH,aAAa,CAAChC,SAAD,EAAa,YAAW;AACxC,YAAI7vC,GAAG,GAAG,KAAK6E,IAAL,GAAY+yC,IAAtB;AACA,YAAI99C,OAAO,GAAG,GAAGjC,KAAH,CAASrF,IAAT,CAAcqH,QAAQ,CAAC0W,oBAAT,CAA8B,QAA9B,CAAd,CAAd;AACApZ,QAAAA,OAAO,IAAI2C,OAAO,CAAC3C,OAAR,EAAX;;AACA,aAAK,IAAI2iB,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGhgB,OAAO,CAAC1C,MAAhC,EAAwC0iB,GAAG,EAA3C,EAA+C;AAC3C,cAAI5f,MAAM,GAAGJ,OAAO,CAACggB,GAAD,CAApB;AACA,cAAI5f,MAAM,CAACZ,GAAP,IAAcY,MAAM,CAACZ,GAAP,CAAWuT,OAAX,CAAmB,cAAnB,EAAmC,EAAnC,EAAuCpR,KAAvC,CAA6C,GAA7C,EAAkD,CAAlD,MAAyDuE,GAA3E,EAAgF,OAAO9F,MAAP;AACnF;AACJ,OARmB,EAQhB,CAAE09C,IAAF,CARgB,CAApB;AASH;;AACD,aAAS9H,qBAAT,GAAiC;AAC7B,aAAO+B,aAAa,CAAC/B,qBAAD,EAAyB,YAAW;AACpD,YAAI;AACA,cAAI,eAAe,OAAOj1C,MAA1B,EAAkC,OAAO,CAAC,CAAR;;AAClC,cAAIA,MAAM,CAACD,YAAX,EAAyB;AACrB,gBAAI3J,KAAK,GAAG4a,IAAI,CAACC,MAAL,GAAc1V,QAAd,EAAZ;AACAyE,YAAAA,MAAM,CAACD,YAAP,CAAoBO,OAApB,CAA4B,wBAA5B,EAAsDlK,KAAtD;AACA,gBAAIyD,MAAM,GAAGmG,MAAM,CAACD,YAAP,CAAoBK,OAApB,CAA4B,wBAA5B,CAAb;AACAJ,YAAAA,MAAM,CAACD,YAAP,CAAoBU,UAApB,CAA+B,wBAA/B;AACA,gBAAIrK,KAAK,KAAKyD,MAAd,EAAsB,OAAO,CAAC,CAAR;AACzB;AACJ,SATD,CASE,OAAOpD,GAAP,EAAY;;AACd,eAAO,CAAC,CAAR;AACH,OAZmB,CAApB;AAaH;;AACD,aAASy+C,iBAAT,GAA6B;AACzB,UAAIuJ,GAAG,GAAGz+C,MAAM,CAAC4B,SAAjB;AACA,UAAI88C,OAAO,GAAGD,GAAG,CAACx8C,SAAJ,GAAgB,GAAGojB,MAAH,CAAUo5B,GAAG,CAACx8C,SAAd,CAAhB,GAA2C,EAAzD;AACAw8C,MAAAA,GAAG,CAAC/3C,QAAJ,IAAgBg4C,OAAO,CAAC1iD,IAAR,CAAayiD,GAAG,CAAC/3C,QAAjB,CAAhB;AACA+3C,MAAAA,GAAG,CAACE,YAAJ,IAAoBD,OAAO,CAAC1iD,IAAR,CAAayiD,GAAG,CAACE,YAAjB,CAApB;AACA,aAAOD,OAAO,CAAC1uC,GAAR,CAAa,UAAS4uC,MAAT,EAAiB;AACjC,YAAIA,MAAM,IAAIA,MAAM,CAACryC,KAAP,CAAa,wBAAb,CAAd,EAAsD;AAClD,cAAIsyC,aAAa,GAAGD,MAAM,CAACh+C,KAAP,CAAa,MAAb,CAApB;;AACA,iBAAO;AACHk+C,YAAAA,OAAO,EAAED,aAAa,CAAC,CAAD,CADnB;AAEHl+C,YAAAA,IAAI,EAAEk+C,aAAa,CAAC,CAAD;AAFhB,WAAP;AAIH;;AACD,eAAOD,MAAM,IAAIA,MAAM,CAACryC,KAAP,CAAa,YAAb,CAAV,GAAuC;AAC1C5L,UAAAA,IAAI,EAAEi+C;AADoC,SAAvC,GAEH,IAFJ;AAGH,OAXM,EAWH/yB,MAXG,CAWIvf,OAXJ,CAAP;AAYH;;AACD,aAAS3M,WAAT,CAAqBmsB,SAArB,EAAgCrhB,KAAhC,EAAuC;AACnCqhB,MAAAA,SAAS,CAACnsB,WAAV,CAAsB8K,KAAtB;AACH;;AACD,aAAS8d,SAAT,CAAmBC,OAAnB,EAA4B;AACxB,aAAOA,OAAO,YAAYxoB,MAAM,CAAC0oB,OAA1B,IAAqC,SAASF,OAAT,IAAoB,YAAY,OAAOA,OAAvC,IAAkD,MAAMA,OAAO,CAACG,QAAhE,IAA4E,YAAY,OAAOH,OAAO,CAACnqB,KAAvG,IAAgH,YAAY,OAAOmqB,OAAO,CAAC1c,aAAvL;AACH;;AACD,aAASigB,cAAT,CAAwB3S,EAAxB,EAA4BvN,GAA5B,EAAiC;AAC7B,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG7M,QAAzB;AACA,aAAOupB,SAAS,CAACnP,EAAD,CAAT,GAAgBA,EAAhB,GAAqB,YAAY,OAAOA,EAAnB,GAAwBvN,GAAG,CAACmgB,aAAJ,CAAkB5S,EAAlB,CAAxB,GAAgD,KAAK,CAAjF;AACH;;AACD,aAAS+7B,UAAT,CAAoB/7B,EAApB,EAAwBvN,GAAxB,EAA6B;AACzB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG7M,QAAzB;AACA,UAAIwpB,OAAO,GAAGuD,cAAc,CAAC3S,EAAD,EAAKvN,GAAL,CAA5B;AACA,UAAI2c,OAAJ,EAAa,OAAOA,OAAP;AACb,YAAM,IAAI9tB,KAAJ,CAAU,2BAA2BkF,SAAS,CAACwZ,EAAD,CAA9C,CAAN;AACH;;AACD,aAAS6S,YAAT,CAAsB7S,EAAtB,EAA0B;AACtB,aAAO,IAAI/Q,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkBC,MAAlB,EAA0B;AACvD,YAAIV,IAAI,GAAG2G,SAAS,CAACwZ,EAAD,CAApB;AACA,YAAI8S,EAAE,GAAGH,cAAc,CAAC3S,EAAD,CAAvB;AACA,YAAI8S,EAAJ,EAAQ,OAAOxyB,OAAO,CAACwyB,EAAD,CAAd;AACR,YAAIrX,eAAe,EAAnB,EAAuB,OAAOlb,MAAM,CAAC,IAAIe,KAAJ,CAAU,mCAAmCzB,IAAnC,GAA0C,iBAApD,CAAD,CAAb;AACvB,YAAI+b,QAAQ,GAAGC,WAAW,CAAE,YAAW;AACnC,cAAIiX,EAAE,GAAGH,cAAc,CAAC3S,EAAD,CAAvB,EAA6B;AACzBlE,YAAAA,aAAa,CAACF,QAAD,CAAb;AACA,mBAAOtb,OAAO,CAACwyB,EAAD,CAAd;AACH;;AACD,cAAIrX,eAAe,EAAnB,EAAuB;AACnBK,YAAAA,aAAa,CAACF,QAAD,CAAb;AACA,mBAAOrb,MAAM,CAAC,IAAIe,KAAJ,CAAU,mCAAmCzB,IAAnC,GAA0C,iBAApD,CAAD,CAAb;AACH;AACJ,SATyB,EAStB,EATsB,CAA1B;AAUH,OAfM,CAAP;AAgBH;;AACD,QAAI0qB,kBAAkB,GAAG,UAASwI,gBAAT,EAA2B;AAChD9H,MAAAA,cAAc,CAAC+H,cAAD,EAAiBD,gBAAjB,CAAd;;AACA,eAASC,cAAT,GAA0B;AACtB,eAAOD,gBAAgB,CAAC7b,KAAjB,CAAuB,IAAvB,EAA6BsD,SAA7B,KAA2C,IAAlD;AACH;;AACD,aAAOwY,cAAP;AACH,KANwB,CAMvBxB,oBANuB,CAAzB;;AAOA,aAASsW,KAAT,CAAe/7B,GAAf,EAAoBgO,OAApB,EAA6B;AACzB,UAAI/R,KAAK,GAAG,CAAC+R,OAAO,GAAGA,OAAO,IAAI,EAAtB,EAA0B/R,KAAtC;AAAA,UAA6CD,MAAM,GAAGgS,OAAO,CAAChS,MAA9D;AACA,UAAIqK,GAAG,GAAG,CAAV;AACA,UAAIg1B,IAAI,GAAG,CAAX;AACAp/B,MAAAA,KAAK,KAAKpB,MAAM,CAACogC,UAAP,GAAoBI,IAAI,GAAGxvB,IAAI,CAACyvB,KAAL,CAAW,CAACzgC,MAAM,CAACogC,UAAP,GAAoBh/B,KAArB,IAA8B,CAAzC,IAA8CpB,MAAM,CAAC0gC,OAAhF,GAA0F1gC,MAAM,CAACiB,MAAP,CAAcG,KAAd,KAAwBo/B,IAAI,GAAGxvB,IAAI,CAACyvB,KAAL,CAAW,CAACzgC,MAAM,CAACiB,MAAP,CAAcG,KAAd,GAAsBA,KAAvB,IAAgC,CAA3C,CAA/B,CAA/F,CAAL;AACAD,MAAAA,MAAM,KAAKnB,MAAM,CAAC2gC,WAAP,GAAqBn1B,GAAG,GAAGwF,IAAI,CAACyvB,KAAL,CAAW,CAACzgC,MAAM,CAAC2gC,WAAP,GAAqBx/B,MAAtB,IAAgC,CAA3C,IAAgDnB,MAAM,CAAC4gC,OAAlF,GAA4F5gC,MAAM,CAACiB,MAAP,CAAcE,MAAd,KAAyBqK,GAAG,GAAGwF,IAAI,CAACyvB,KAAL,CAAW,CAACzgC,MAAM,CAACiB,MAAP,CAAcE,MAAd,GAAuBA,MAAxB,IAAkC,CAA7C,CAA/B,CAAjG,CAAN;AACAC,MAAAA,KAAK,IAAID,MAAT,KAAoBgS,OAAO,GAAGqR,QAAQ,CAAC;AACnChZ,QAAAA,GAAG,EAAEA,GAD8B;AAEnCg1B,QAAAA,IAAI,EAAEA,IAF6B;AAGnCp/B,QAAAA,KAAK,EAAEA,KAH4B;AAInCD,QAAAA,MAAM,EAAEA,MAJ2B;AAKnC0/B,QAAAA,MAAM,EAAE,CAL2B;AAMnCC,QAAAA,OAAO,EAAE,CAN0B;AAOnCC,QAAAA,OAAO,EAAE,CAP0B;AAQnCC,QAAAA,SAAS,EAAE,CARwB;AASnCC,QAAAA,UAAU,EAAE;AATuB,OAAD,EAUnC9tB,OAVmC,CAAtC;AAWA,UAAIla,IAAI,GAAGka,OAAO,CAACla,IAAR,IAAgB,EAA3B;AACA,aAAOka,OAAO,CAACla,IAAf;AACA,UAAI6M,MAAM,GAAG1Q,MAAM,CAACgH,IAAP,CAAY+W,OAAZ,EAAqBnD,GAArB,CAA0B,UAAS7Z,GAAT,EAAc;AACjD,YAAI,QAAQgd,OAAO,CAAChd,GAAD,CAAnB,EAA0B,OAAOA,GAAG,GAAG,GAAN,GAAYyJ,SAAS,CAACuT,OAAO,CAAChd,GAAD,CAAR,CAA5B;AAC7B,OAFY,EAET01B,MAFS,CAEFvf,OAFE,EAEOzM,IAFP,CAEY,GAFZ,CAAb;AAGA,UAAI0J,GAAJ;;AACA,UAAI;AACAA,QAAAA,GAAG,GAAGvJ,MAAM,CAACob,IAAP,CAAYjW,GAAZ,EAAiBlM,IAAjB,EAAuB6M,MAAvB,CAAN;AACH,OAFD,CAEE,OAAOrP,GAAP,EAAY;AACV,cAAM,IAAIktB,kBAAJ,CAAuB,kCAAkCltB,GAAG,CAACuX,KAAJ,IAAavX,GAAG,CAAC6U,OAAnD,CAAvB,CAAN;AACH;;AACD,UAAIH,cAAc,CAAC5B,GAAD,CAAlB,EAAyB;AACrB,AACA,cAAM,IAAIoa,kBAAJ,CAAuB,qCAAvB,CAAN;AACH;;AACD3jB,MAAAA,MAAM,CAACmjB,gBAAP,CAAwB,QAAxB,EAAmC,YAAW;AAC1C,eAAO5Z,GAAG,CAACuD,KAAJ,EAAP;AACH,OAFD;AAGA,aAAOvD,GAAP;AACH;;AACD,aAAS6rC,aAAT,CAAuB7rC,GAAvB,EAA4B4jB,IAA5B,EAAkC;AAC9B,UAAI;AACA5jB,QAAAA,GAAG,CAACvK,QAAJ,CAAaoc,IAAb;AACA7R,QAAAA,GAAG,CAACvK,QAAJ,CAAa+/C,KAAb,CAAmB5xB,IAAnB;AACA5jB,QAAAA,GAAG,CAACvK,QAAJ,CAAa8N,KAAb;AACH,OAJD,CAIE,OAAOrW,GAAP,EAAY;AACV,YAAI;AACA8S,UAAAA,GAAG,CAACC,QAAJ,GAAe,iDAAiDjE,IAAI,CAAC3F,SAAL,CAAeutB,IAAf,CAAjD,GAAwE,sBAAvF;AACH,SAFD,CAEE,OAAO6xB,IAAP,EAAa;AAClB;AACJ;;AACD,aAAS3J,oBAAT,CAA8B9rC,GAA9B,EAAmC2iB,EAAnC,EAAuC;AACnC,UAAIS,GAAG,GAAGT,EAAE,CAAC4V,OAAH,CAAWrvB,WAAX,EAAV;AACA,UAAI,WAAWka,GAAf,EAAoB,MAAM,IAAIjyB,KAAJ,CAAU,sCAAsCiyB,GAAhD,CAAN;AACpB,UAAI5gB,eAAe,GAAGxC,GAAG,CAACvK,QAAJ,CAAa+M,eAAnC;;AACA,WAAK,IAAIuT,GAAG,GAAG,CAAV,EAAayiB,WAAW,GAAGvY,SAAS,CAACzd,eAAe,CAACi2B,QAAjB,CAAzC,EAAqE1iB,GAAG,GAAGyiB,WAAW,CAACxlC,MAAvF,EAA+F+iB,GAAG,EAAlG;AAAsGvT,QAAAA,eAAe,CAACwb,WAAhB,CAA4Bwa,WAAW,CAACziB,GAAD,CAAvC;AAAtG;;AACA,WAAK,IAAIqB,GAAG,GAAG,CAAV,EAAashB,WAAW,GAAGzY,SAAS,CAAC0C,EAAE,CAAC8V,QAAJ,CAAzC,EAAwDrhB,GAAG,GAAGshB,WAAW,CAAC1lC,MAA1E,EAAkFokB,GAAG,EAArF;AAAyF5U,QAAAA,eAAe,CAACpM,WAAhB,CAA4BsiC,WAAW,CAACthB,GAAD,CAAvC;AAAzF;AACH;;AACD,aAAS20B,QAAT,CAAkBppB,EAAlB,EAAsBc,SAAtB,EAAiCnhB,GAAjC,EAAsC;AAClC,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG7L,MAAM,CAAChB,QAAhC;AACAktB,MAAAA,EAAE,CAACa,UAAH,GAAgBb,EAAE,CAACa,UAAH,CAAcE,OAAd,GAAwBD,SAAxC,GAAoDd,EAAE,CAACvsB,WAAH,CAAekM,GAAG,CAACqhB,cAAJ,CAAmBF,SAAnB,CAAf,CAApD;AACH;;AACD,QAAIX,sBAAJ;;AACA,aAASC,cAAT,CAAwBxhB,KAAxB,EAA+B;AAC3B,UAAI,CAACuhB,sBAAsB,GAAGA,sBAAsB,IAAI,IAAIxb,8BAAJ,EAApD,EAAwFY,GAAxF,CAA4F3G,KAA5F,CAAJ,EAAwG;AACpG,YAAIyhB,QAAQ,GAAGF,sBAAsB,CAAChsB,GAAvB,CAA2ByK,KAA3B,CAAf;;AACA,YAAIyhB,QAAJ,EAAc,OAAOA,QAAP;AACjB;;AACD,UAAIvmB,OAAO,GAAG,IAAIqC,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkBC,MAAlB,EAA0B;AAC9DmR,QAAAA,KAAK,CAACqY,gBAAN,CAAuB,MAAvB,EAAgC,YAAW;AACvC,WAAC,UAASrY,KAAT,EAAgB;AACb,aAAC,YAAW;AACR,mBAAK,IAAIlO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqO,aAAa,CAAC1O,MAAlC,EAA0CK,CAAC,EAA3C,EAA+C;AAC3C,oBAAIyO,MAAM,GAAG,CAAC,CAAd;;AACA,oBAAI;AACAA,kBAAAA,MAAM,GAAGJ,aAAa,CAACrO,CAAD,CAAb,CAAiByO,MAA1B;AACH,iBAFD,CAEE,OAAO5U,GAAP,EAAY;;AACd,oBAAI4U,MAAJ,EAAY;AACRH,kBAAAA,YAAY,CAACkF,MAAb,CAAoBxT,CAApB,EAAuB,CAAvB;AACAqO,kBAAAA,aAAa,CAACmF,MAAd,CAAqBxT,CAArB,EAAwB,CAAxB;AACH;AACJ;AACJ,aAXA,EAAD;AAYA,gBAAIkO,KAAK,IAAIA,KAAK,CAACa,aAAnB,EAAkC,IAAI;AAClCV,cAAAA,aAAa,CAACjP,IAAd,CAAmB8O,KAAK,CAACa,aAAzB;AACAT,cAAAA,YAAY,CAAClP,IAAb,CAAkB8O,KAAlB;AACH,aAHiC,CAGhC,OAAOrU,GAAP,EAAY;AACjB,WAjBA,CAiBCqU,KAjBD,CAAD;AAkBApR,UAAAA,OAAO,CAACoR,KAAD,CAAP;AACH,SApBD;AAqBAA,QAAAA,KAAK,CAACqY,gBAAN,CAAuB,OAAvB,EAAiC,UAAS1sB,GAAT,EAAc;AAC3CqU,UAAAA,KAAK,CAACa,aAAN,GAAsBjS,OAAO,CAACoR,KAAD,CAA7B,GAAuCnR,MAAM,CAAClD,GAAD,CAA7C;AACH,SAFD;AAGH,OAzBa,CAAd;AA0BA41B,MAAAA,sBAAsB,CAAC9rB,GAAvB,CAA2BuK,KAA3B,EAAkC9E,OAAlC;AACA,aAAOA,OAAP;AACH;;AACD,aAASwmB,gBAAT,CAA0B1hB,KAA1B,EAAiC;AAC7B,aAAOwhB,cAAc,CAACxhB,KAAD,CAAd,CAAsBhR,IAAtB,CAA4B,UAAS2yB,WAAT,EAAsB;AACrD,YAAI,CAACA,WAAW,CAAC9gB,aAAjB,EAAgC,MAAM,IAAIjR,KAAJ,CAAU,iCAAV,CAAN;AAChC,eAAO+xB,WAAW,CAAC9gB,aAAnB;AACH,OAHM,CAAP;AAIH;;AACD,aAASrM,aAAT,CAAuBqtB,GAAvB,EAA4BxZ,OAA5B,EAAqC2Y,SAArC,EAAgD;AAC5C,WAAK,CAAL,KAAWa,GAAX,KAAmBA,GAAG,GAAG,KAAzB;AACA,WAAK,CAAL,KAAWxZ,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACAwZ,MAAAA,GAAG,GAAGA,GAAG,CAACla,WAAJ,EAAN;AACA,UAAI+V,OAAO,GAAGxpB,QAAQ,CAACM,aAAT,CAAuBqtB,GAAvB,CAAd;AACAxZ,MAAAA,OAAO,CAAC9U,KAAR,IAAiB4qB,MAAM,CAACT,OAAO,CAACnqB,KAAT,EAAgB8U,OAAO,CAAC9U,KAAxB,CAAvB;AACA8U,MAAAA,OAAO,SAAP,KAAkBqV,OAAO,CAACoE,SAAR,GAAoBzZ,OAAO,SAAP,CAActT,IAAd,CAAmB,GAAnB,CAAtC;AACAsT,MAAAA,OAAO,CAACiG,EAAR,IAAcoP,OAAO,CAAC/oB,YAAR,CAAqB,IAArB,EAA2B0T,OAAO,CAACiG,EAAnC,CAAd;AACA,UAAIjG,OAAO,CAAC0Z,UAAZ,EAAwB,KAAK,IAAIhM,IAAI,GAAG,CAAX,EAAciM,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAY+W,OAAO,CAAC0Z,UAApB,CAAnC,EAAoEhM,IAAI,GAAGiM,aAAa,CAACvwB,MAAzF,EAAiGskB,IAAI,EAArG,EAAyG;AAC7H,YAAI1qB,GAAG,GAAG22B,aAAa,CAACjM,IAAD,CAAvB;AACA2H,QAAAA,OAAO,CAAC/oB,YAAR,CAAqBtJ,GAArB,EAA0Bgd,OAAO,CAAC0Z,UAAR,CAAmB12B,GAAnB,CAA1B;AACH;AACDgd,MAAAA,OAAO,CAAC4Z,UAAR,IAAsBuoB,QAAQ,CAAC9sB,OAAD,EAAUrV,OAAO,CAAC4Z,UAAlB,CAA9B;AACAjB,MAAAA,SAAS,IAAInsB,WAAW,CAACmsB,SAAD,EAAYtD,OAAZ,CAAxB;AACA,UAAIrV,OAAO,CAACga,IAAZ,EAAkB,IAAI,aAAaR,GAAjB,EAAsB;AACpC,YAAI,CAACb,SAAD,IAAc,CAACtD,OAAO,CAAC7c,aAA3B,EAA0C,MAAM,IAAIjR,KAAJ,CAAU,4EAAV,CAAN;AAC1C06C,QAAAA,aAAa,CAAC5sB,OAAO,CAAC7c,aAAT,EAAwBwH,OAAO,CAACga,IAAhC,CAAb;AACH,OAHiB,MAGX3E,OAAO,CAAC4E,SAAR,GAAoBja,OAAO,CAACga,IAA5B;AACP,aAAO3E,OAAP;AACH;;AACD,aAASyL,MAAT,CAAgB9gB,OAAhB,EAAyB2Y,SAAzB,EAAoC;AAChC,WAAK,CAAL,KAAW3Y,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACA,UAAI9U,KAAK,GAAG8U,OAAO,CAAC9U,KAAR,IAAiB,EAA7B;AACA,UAAIyM,KAAK,GAAGxL,aAAa,CAAC,QAAD,EAAW;AAChCutB,QAAAA,UAAU,EAAErI,QAAQ,CAAC;AACjB6I,UAAAA,iBAAiB,EAAE;AADF,SAAD,EAEjBla,OAAO,CAAC0Z,UAAR,IAAsB,EAFL,CADY;AAIhCxuB,QAAAA,KAAK,EAAEmmB,QAAQ,CAAC;AACZ8I,UAAAA,eAAe,EAAE,aADL;AAEZC,UAAAA,MAAM,EAAE;AAFI,SAAD,EAGZlvB,KAHY,CAJiB;AAQhC8uB,QAAAA,IAAI,EAAEha,OAAO,CAACga,IARkB;AAShC,iBAAOha,OAAO;AATkB,OAAX,CAAzB;AAWA,UAAIqa,IAAI,GAAGxtB,MAAM,CAAC4B,SAAP,CAAiB4jB,SAAjB,CAA2BjZ,KAA3B,CAAiC,YAAjC,CAAX;AACAzB,MAAAA,KAAK,CAAC2iB,YAAN,CAAmB,IAAnB,KAA4B3iB,KAAK,CAACrL,YAAN,CAAmB,IAAnB,EAAyBqS,QAAQ,EAAjC,CAA5B;AACAwa,MAAAA,cAAc,CAACxhB,KAAD,CAAd;AACAghB,MAAAA,SAAS,IAAIqpB,UAAU,CAACrpB,SAAD,CAAV,CAAsBnsB,WAAtB,CAAkCmL,KAAlC,CAAb;AACA,OAACqI,OAAO,CAAChO,GAAR,IAAeqoB,IAAhB,KAAyB1iB,KAAK,CAACrL,YAAN,CAAmB,KAAnB,EAA0B0T,OAAO,CAAChO,GAAR,IAAe,aAAzC,CAAzB;AACA,aAAO2F,KAAP;AACH;;AACD,aAASqY,gBAAT,CAA0BjtB,GAA1B,EAA+BiqB,KAA/B,EAAsC1S,OAAtC,EAA+C;AAC3CvX,MAAAA,GAAG,CAACitB,gBAAJ,CAAqBhD,KAArB,EAA4B1S,OAA5B;AACA,aAAO;AACH0C,QAAAA,MAAM,EAAE,kBAAW;AACfja,UAAAA,GAAG,CAACktB,mBAAJ,CAAwBjD,KAAxB,EAA+B1S,OAA/B;AACH;AAHE,OAAP;AAKH;;AACD,aAAS8nC,UAAT,CAAoB/sB,OAApB,EAA6By2B,UAA7B,EAAyCxxC,OAAzC,EAAkD;AAC9CA,MAAAA,OAAO,GAAGsb,IAAI,CAACtb,OAAD,CAAd;;AACA,WAAK,IAAIsT,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGk+B,UAAU,CAAC1iD,MAArC,EAA6CwkB,IAAI,EAAjD;AAAqDyH,QAAAA,OAAO,CAACrF,gBAAR,CAAyB87B,UAAU,CAACl+B,IAAD,CAAnC,EAA2CtT,OAA3C;AAArD;;AACA,aAAO;AACH0C,QAAAA,MAAM,EAAE4Y,IAAI,CAAE,YAAW;AACrB,eAAK,IAAI9H,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGg+B,UAAU,CAAC1iD,MAArC,EAA6C0kB,IAAI,EAAjD;AAAqDuH,YAAAA,OAAO,CAACpF,mBAAR,CAA4B67B,UAAU,CAACh+B,IAAD,CAAtC,EAA8CxT,OAA9C;AAArD;AACH,SAFW;AADT,OAAP;AAKH;;AACD,QAAIyxC,eAAe,GAAG,CAAE,QAAF,EAAY,KAAZ,EAAmB,IAAnB,EAAyB,GAAzB,CAAtB;;AACA,aAAS1J,YAAT,CAAsBhtB,OAAtB,EAA+BvvB,IAA/B,EAAqC7C,KAArC,EAA4C;AACxCoyB,MAAAA,OAAO,CAACnqB,KAAR,CAAcpF,IAAd,IAAsB7C,KAAtB;AACA,UAAI+oD,eAAe,GAAG3G,qBAAqB,CAACv/C,IAAD,CAA3C;;AACA,WAAK,IAAImmD,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGF,eAAe,CAAC3iD,MAA1C,EAAkD6iD,IAAI,EAAtD;AAA0D52B,QAAAA,OAAO,CAACnqB,KAAR,CAAc,KAAK6gD,eAAe,CAACE,IAAD,CAApB,GAA6BD,eAA3C,IAA8D/oD,KAA9D;AAA1D;AACH;;AACD,QAAIipD,sBAAsB,GAAG,CAAE,gBAAF,EAAoB,sBAApB,EAA4C,iBAA5C,EAA+D,kBAA/D,CAA7B;AACA,QAAIC,oBAAoB,GAAG,CAAE,cAAF,EAAkB,oBAAlB,EAAwC,eAAxC,EAAyD,gBAAzD,CAA3B;;AACA,aAAS7J,OAAT,CAAiBjtB,OAAjB,EAA0BvvB,IAA1B,EAAgCoiC,KAAhC,EAAuClsB,OAAvC,EAAgD;AAC5C,WAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,GAAjC;AACA,aAAO,IAAI9G,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkBC,MAAlB,EAA0B;AACvD,YAAIuyB,EAAE,GAAGipB,UAAU,CAAC3sB,OAAD,CAAnB;AACA,YAAI,CAAC0D,EAAL,EAAS,OAAOxyB,OAAO,EAAd;AACT,YAAI6lD,UAAU,GAAG,CAAC,CAAlB;AACA,YAAIC,YAAJ;AACA,YAAIC,UAAJ;AACA,YAAIC,UAAJ;AACA,YAAIC,QAAJ;;AACA,iBAASC,OAAT,GAAmB;AACftwC,UAAAA,YAAY,CAACkwC,YAAD,CAAZ;AACAlwC,UAAAA,YAAY,CAACmwC,UAAD,CAAZ;AACAC,UAAAA,UAAU,CAACvvC,MAAX;AACAwvC,UAAAA,QAAQ,CAACxvC,MAAT;AACH;;AACDuvC,QAAAA,UAAU,GAAGnK,UAAU,CAACrpB,EAAD,EAAKmzB,sBAAL,EAA8B,UAASl/B,KAAT,EAAgB;AACjE,cAAIA,KAAK,CAACuE,MAAN,KAAiBwH,EAAjB,IAAuB/L,KAAK,CAAC0/B,aAAN,KAAwB5mD,IAAnD,EAAyD;AACrDqW,YAAAA,YAAY,CAACkwC,YAAD,CAAZ;AACAr/B,YAAAA,KAAK,CAAC2/B,eAAN;AACAJ,YAAAA,UAAU,CAACvvC,MAAX;AACAovC,YAAAA,UAAU,GAAG,CAAC,CAAd;AACAE,YAAAA,UAAU,GAAGjxC,UAAU,CAAE,YAAW;AAChCoxC,cAAAA,OAAO;AACPlmD,cAAAA,OAAO;AACV,aAHsB,EAGnByV,OAHmB,CAAvB;AAIH;AACJ,SAXsB,CAAvB;AAYAwwC,QAAAA,QAAQ,GAAGpK,UAAU,CAACrpB,EAAD,EAAKozB,oBAAL,EAA4B,UAASn/B,KAAT,EAAgB;AAC7D,cAAIA,KAAK,CAACuE,MAAN,KAAiBwH,EAAjB,IAAuB/L,KAAK,CAAC0/B,aAAN,KAAwB5mD,IAAnD,EAAyD;AACrD2mD,YAAAA,OAAO;AACP,mBAAO,YAAY,OAAOz/B,KAAK,CAAC0/B,aAAzB,IAA0C1/B,KAAK,CAAC0/B,aAAN,KAAwB5mD,IAAlE,GAAyEU,MAAM,CAAC,mCAAmCV,IAAnC,GAA0C,UAA1C,GAAuDknB,KAAK,CAAC0/B,aAA9D,CAA/E,GAA8JnmD,OAAO,EAA5K;AACH;AACJ,SALoB,CAArB;AAMA87C,QAAAA,YAAY,CAACtpB,EAAD,EAAK,eAAL,EAAsBjzB,IAAtB,CAAZ;AACAumD,QAAAA,YAAY,GAAGhxC,UAAU,CAAE,YAAW;AAClC,cAAI,CAAC+wC,UAAL,EAAiB;AACbK,YAAAA,OAAO;AACP,mBAAOlmD,OAAO,EAAd;AACH;AACJ,SALwB,EAKrB,GALqB,CAAzB;AAMA2hC,QAAAA,KAAK,IAAIA,KAAK,CAACukB,OAAD,CAAd;AACH,OAxCM,CAAP;AAyCH;;AACD,aAASlK,kBAAT,CAA4BltB,OAA5B,EAAqC;AACjCA,MAAAA,OAAO,CAACnqB,KAAR,CAAcsvB,WAAd,CAA0B,YAA1B,EAAwC,EAAxC;AACH;;AACD,aAASgoB,oBAAT,CAA8BntB,OAA9B,EAAuC;AACnCA,MAAAA,OAAO,CAACnqB,KAAR,CAAcsvB,WAAd,CAA0B,YAA1B,EAAwC,QAAxC,EAAkD,WAAlD;AACH;;AACD,aAASD,WAAT,CAAqBlF,OAArB,EAA8B;AAC1BA,MAAAA,OAAO,CAACnqB,KAAR,CAAcsvB,WAAd,CAA0B,SAA1B,EAAqC,EAArC;AACH;;AACD,aAASC,WAAT,CAAqBpF,OAArB,EAA8B;AAC1BA,MAAAA,OAAO,CAACnqB,KAAR,CAAcsvB,WAAd,CAA0B,SAA1B,EAAqC,MAArC,EAA6C,WAA7C;AACH;;AACD,aAASE,cAAT,CAAwBrF,OAAxB,EAAiC;AAC7BA,MAAAA,OAAO,IAAIA,OAAO,CAAC5c,UAAnB,IAAiC4c,OAAO,CAAC5c,UAAR,CAAmB2b,WAAnB,CAA+BiB,OAA/B,CAAjC;AACH;;AACD,aAASotB,cAAT,CAAwBptB,OAAxB,EAAiCvvB,IAAjC,EAAuCoiC,KAAvC,EAA8C;AAC1C,UAAI0kB,SAAS,GAAGtK,OAAO,CAACjtB,OAAD,EAAUvvB,IAAV,EAAgBoiC,KAAhB,CAAvB;AACA3N,MAAAA,WAAW,CAAClF,OAAD,CAAX;AACA,aAAOu3B,SAAP;AACH;;AACD,aAASlK,cAAT,CAAwBrtB,OAAxB,EAAiCvvB,IAAjC,EAAuCoiC,KAAvC,EAA8C;AAC1C,aAAOoa,OAAO,CAACjtB,OAAD,EAAUvvB,IAAV,EAAgBoiC,KAAhB,CAAP,CAA8BvhC,IAA9B,CAAoC,YAAW;AAClD8zB,QAAAA,WAAW,CAACpF,OAAD,CAAX;AACH,OAFM,CAAP;AAGH;;AACD,aAASstB,QAAT,CAAkBttB,OAAlB,EAA2BvvB,IAA3B,EAAiC;AAC7BuvB,MAAAA,OAAO,CAACklB,SAAR,CAAkBC,GAAlB,CAAsB10C,IAAtB;AACH;;AACD,aAAS88C,WAAT,CAAqBvtB,OAArB,EAA8BvvB,IAA9B,EAAoC;AAChCuvB,MAAAA,OAAO,CAACklB,SAAR,CAAkBtuC,MAAlB,CAAyBnG,IAAzB;AACH;;AACD,aAAS60B,eAAT,CAAyB5B,EAAzB,EAA6B;AACzB,aAAO,EAAEA,EAAE,IAAIA,EAAE,CAACtgB,UAAT,IAAuBsgB,EAAE,CAACpgB,aAA1B,IAA2CogB,EAAE,CAACpgB,aAAH,CAAiBC,eAA5D,IAA+EmgB,EAAE,CAACpgB,aAAH,CAAiBC,eAAjB,CAAiCC,QAAjC,CAA0CkgB,EAA1C,CAAjF,CAAP;AACH;;AACD,aAAS8pB,oBAAT,CAA8BxtB,OAA9B,EAAuC/a,OAAvC,EAAgD;AAC5CA,MAAAA,OAAO,GAAGsb,IAAI,CAACtb,OAAD,CAAd;AACA,UAAIsV,SAAS,GAAG,CAAC,CAAjB;AACA,UAAI8f,iBAAiB,GAAG,EAAxB;AACA,UAAI7tB,QAAJ;AACA,UAAI8tB,gBAAJ;AACA,UAAIC,mBAAJ;;AACA,UAAI5yB,MAAM,GAAG,SAATA,MAAS,GAAW;AACpB4S,QAAAA,SAAS,GAAG,CAAC,CAAb;;AACA,aAAK,IAAIigB,IAAI,GAAG,CAAhB,EAAmBA,IAAI,GAAGH,iBAAiB,CAACtmC,MAA5C,EAAoDymC,IAAI,EAAxD;AAA4DH,UAAAA,iBAAiB,CAACG,IAAD,CAAjB,CAAwB7T,UAAxB;AAA5D;;AACAna,QAAAA,QAAQ,IAAIA,QAAQ,CAAC7E,MAAT,EAAZ;AACA4yB,QAAAA,mBAAmB,IAAIA,mBAAmB,CAAC3f,mBAApB,CAAwC,QAAxC,EAAkD6f,aAAlD,CAAvB;AACAH,QAAAA,gBAAgB,IAAIjV,cAAc,CAACiV,gBAAD,CAAlC;AACH,OAND;;AAOA,UAAIG,aAAa,GAAG,SAAhBA,aAAgB,GAAW;AAC3B,YAAI,CAAClgB,SAAL,EAAgB;AACZtV,UAAAA,OAAO;AACP0C,UAAAA,MAAM;AACT;AACJ,OALD;;AAMA,UAAI2d,eAAe,CAACtF,OAAD,CAAnB,EAA8B;AAC1Bya,QAAAA,aAAa;AACb,eAAO;AACH9yB,UAAAA,MAAM,EAAEA;AADL,SAAP;AAGH;;AACD,UAAInQ,MAAM,CAAC+uB,gBAAX,EAA6B;AACzB,YAAImU,eAAe,GAAG1a,OAAO,CAAClB,aAA9B;;AACA,eAAM4b,eAAN,GAAyB;AACrB,cAAIC,gBAAgB,GAAG,IAAInjC,MAAM,CAAC+uB,gBAAX,CAA6B,YAAW;AAC3DjB,YAAAA,eAAe,CAACtF,OAAD,CAAf,IAA4Bya,aAAa,EAAzC;AACH,WAFsB,CAAvB;AAGAE,UAAAA,gBAAgB,CAACrU,OAAjB,CAAyBoU,eAAzB,EAA0C;AACtClU,YAAAA,SAAS,EAAE,CAAC;AAD0B,WAA1C;AAGA6T,UAAAA,iBAAiB,CAAC7mC,IAAlB,CAAuBmnC,gBAAvB;AACAD,UAAAA,eAAe,GAAGA,eAAe,CAAC5b,aAAlC;AACH;AACJ;;AACD,OAACwb,gBAAgB,GAAG9jC,QAAQ,CAACM,aAAT,CAAuB,QAAvB,CAApB,EAAsDG,YAAtD,CAAmE,MAAnE,EAA2E,oBAAoBqS,QAAQ,EAA5B,GAAiC,IAA5G;AACAgxB,MAAAA,gBAAgB,CAACzkC,KAAjB,CAAuBk0B,OAAvB,GAAiC,MAAjC;AACA/F,MAAAA,gBAAgB,CAACsW,gBAAD,CAAhB,CAAmChpC,IAAnC,CAAyC,UAASspC,QAAT,EAAmB;AACxD,SAACL,mBAAmB,GAAG,UAASx5B,GAAT,EAAc;AACjC,cAAI,CAACa,YAAY,CAACb,GAAD,CAAjB,EAAwB,MAAM,IAAI7O,KAAJ,CAAU,mCAAV,CAAN;AACxB,iBAAO6O,GAAP;AACH,SAHsB,CAGrB65B,QAHqB,CAAvB,EAGajgB,gBAHb,CAG8B,QAH9B,EAGwC8f,aAHxC;AAIH,OALD;AAMAza,MAAAA,OAAO,CAAC7oB,WAAR,CAAoBmjC,gBAApB;AACA9tB,MAAAA,QAAQ,GAAGmU,YAAY,CAAE,YAAW;AAChC2E,QAAAA,eAAe,CAACtF,OAAD,CAAf,IAA4Bya,aAAa,EAAzC;AACH,OAFsB,EAEnB,GAFmB,CAAvB;AAGA,aAAO;AACH9yB,QAAAA,MAAM,EAAEA;AADL,OAAP;AAGH;;AACD,aAAS8lC,UAAT,CAAoB/pB,EAApB,EAAwBrgB,GAAxB,EAA6B;AACzB,WAAK,CAAL,KAAWA,GAAX,KAAmBA,GAAG,GAAG7L,MAAM,CAAChB,QAAhC;;AACA,WAAK,IAAIwW,IAAI,GAAG,CAAX,EAAcwqC,kBAAkB,GAAG1lC,gBAAgB,CAAC,QAAD,EAAW4R,EAAX,CAAxD,EAAwE1W,IAAI,GAAGwqC,kBAAkB,CAACzjD,MAAlG,EAA0GiZ,IAAI,EAA9G,EAAkH;AAC9G,YAAInW,MAAM,GAAG2gD,kBAAkB,CAACxqC,IAAD,CAA/B;AACA,YAAI5J,UAAU,GAAGvM,MAAM,CAACuM,UAAxB;;AACA,YAAIA,UAAJ,EAAgB;AACZ,cAAIq0C,SAAS,GAAGp0C,GAAG,CAACvM,aAAJ,CAAkB,QAAlB,CAAhB;AACA2gD,UAAAA,SAAS,CAAC3D,IAAV,GAAiBj9C,MAAM,CAAC6gD,WAAxB;AACAt0C,UAAAA,UAAU,CAACu0C,YAAX,CAAwBF,SAAxB,EAAmC5gD,MAAnC;AACH;AACJ;AACJ;;AACD,aAAS0uB,QAAT,CAAkB7B,EAAlB,EAAsBze,OAAtB,EAA+B2U,KAA/B,EAAsC;AAClC,UAAIvJ,KAAK,GAAG,KAAK,CAAL,KAAWuJ,KAAX,GAAmB,EAAnB,GAAwBA,KAApC;AAAA,UAA2C4L,WAAW,GAAGnV,KAAK,CAACzX,KAA/D;AAAA,UAAsEA,KAAK,GAAG,KAAK,CAAL,KAAW4sB,WAAX,IAA0BA,WAAxG;AAAA,UAAqHC,YAAY,GAAGpV,KAAK,CAAC1X,MAA1I;AAAA,UAAkJA,MAAM,GAAG,KAAK,CAAL,KAAW8sB,YAAX,IAA2BA,YAAtL;AAAA,UAAoMC,cAAc,GAAGrV,KAAK,CAAC7D,QAA3N;AAAA,UAAqOA,QAAQ,GAAG,KAAK,CAAL,KAAWkZ,cAAX,GAA4B,GAA5B,GAAkCA,cAAlR;AAAA,UAAkSC,SAAS,GAAGtV,KAAK,CAACtP,GAApT;AAAA,UAAyTA,GAAG,GAAG,KAAK,CAAL,KAAW4kB,SAAX,GAAuBnuB,MAAvB,GAAgCmuB,SAA/V;;AACA,UAAIC,YAAY,GAAGlC,EAAE,CAACmC,WAAtB;AACA,UAAIC,aAAa,GAAGpC,EAAE,CAACqC,YAAvB;AACA,UAAIC,QAAQ,GAAG,CAAC,CAAhB;AACA/gB,MAAAA,OAAO,CAAC;AACJrM,QAAAA,KAAK,EAAEgtB,YADH;AAEJjtB,QAAAA,MAAM,EAAEmtB;AAFJ,OAAD,CAAP;;AAIA,UAAInH,KAAK,GAAG,SAARA,KAAQ,GAAW;AACnB,YAAI,CAACqH,QAAD,IAAaimB,gBAAgB,CAACvoB,EAAD,CAAjC,EAAuC;AACnC,cAAIwC,QAAQ,GAAGxC,EAAE,CAACmC,WAAlB;AACA,cAAIM,SAAS,GAAGzC,EAAE,CAACqC,YAAnB;AACA,WAACntB,KAAK,IAAIstB,QAAQ,KAAKN,YAAtB,IAAsCjtB,MAAM,IAAIwtB,SAAS,KAAKL,aAA/D,KAAiF7gB,OAAO,CAAC;AACrFrM,YAAAA,KAAK,EAAEstB,QAD8E;AAErFvtB,YAAAA,MAAM,EAAEwtB;AAF6E,WAAD,CAAxF;AAIAP,UAAAA,YAAY,GAAGM,QAAf;AACAJ,UAAAA,aAAa,GAAGK,SAAhB;AACH;AACJ,OAXD;;AAYA,UAAIC,QAAJ;AACA,UAAIzf,OAAJ;AACA5F,MAAAA,GAAG,CAAC4Z,gBAAJ,CAAqB,QAArB,EAA+BgE,KAA/B;;AACA,UAAI,KAAK,CAAL,KAAW5d,GAAG,CAACslB,cAAnB,EAAmC;AAC/B,SAACD,QAAQ,GAAG,IAAIrlB,GAAG,CAACslB,cAAR,CAAuB1H,KAAvB,CAAZ,EAA2C2H,OAA3C,CAAmD5C,EAAnD;AACA/c,QAAAA,OAAO,GAAGga,YAAY,CAAChC,KAAD,EAAQ,KAAKnS,QAAb,CAAtB;AACH,OAHD,MAGO,IAAI,KAAK,CAAL,KAAWzL,GAAG,CAACwlB,gBAAnB,EAAqC;AACxC,SAACH,QAAQ,GAAG,IAAIrlB,GAAG,CAACwlB,gBAAR,CAAyB5H,KAAzB,CAAZ,EAA6C2H,OAA7C,CAAqD5C,EAArD,EAAyD;AACrDW,UAAAA,UAAU,EAAE,CAAC,CADwC;AAErDmC,UAAAA,SAAS,EAAE,CAAC,CAFyC;AAGrDC,UAAAA,OAAO,EAAE,CAAC,CAH2C;AAIrDC,UAAAA,aAAa,EAAE,CAAC;AAJqC,SAAzD;AAMA/f,QAAAA,OAAO,GAAGga,YAAY,CAAChC,KAAD,EAAQ,KAAKnS,QAAb,CAAtB;AACH,OARM,MAQA7F,OAAO,GAAGga,YAAY,CAAChC,KAAD,EAAQnS,QAAR,CAAtB;;AACP,aAAO;AACH7E,QAAAA,MAAM,EAAE,kBAAW;AACfqe,UAAAA,QAAQ,GAAG,CAAC,CAAZ;AACAI,UAAAA,QAAQ,CAACO,UAAT;AACAnvB,UAAAA,MAAM,CAACojB,mBAAP,CAA2B,QAA3B,EAAqC+D,KAArC;AACAhY,UAAAA,OAAO,CAACgB,MAAR;AACH;AANE,OAAP;AAQH;;AACD,aAAS+lC,mBAAT,CAA6B/wC,GAA7B,EAAkC;AAC9B,UAAI84C,WAAW,GAAGvJ,cAAc,EAAhC;;AACA,UAAIuJ,WAAW,IAAI,cAAc,OAAOA,WAAW,CAACmC,UAApD,EAAgE;AAC5D,YAAIC,OAAO,GAAGpC,WAAW,CAACmC,UAAZ,EAAd;;AACA,aAAK,IAAIxjD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyjD,OAAO,CAAC9jD,MAA5B,EAAoCK,CAAC,EAArC,EAAyC;AACrC,cAAIlB,KAAK,GAAG2kD,OAAO,CAACzjD,CAAD,CAAnB;AACA,cAAIlB,KAAK,IAAIA,KAAK,CAACzC,IAAf,IAAuB,MAAMyC,KAAK,CAACzC,IAAN,CAAWkR,OAAX,CAAmBhF,GAAnB,CAA7B,IAAwD,YAAY,OAAOzJ,KAAK,CAAC4kD,QAArF,EAA+F,OAAOtvC,IAAI,CAACiB,KAAL,CAAWvW,KAAK,CAAC4kD,QAAjB,CAAP;AAClG;AACJ;AACJ;;AACD,aAASlxB,eAAT,CAAyB5G,OAAzB,EAAkC;AAC9B,aAAMA,OAAO,CAAC5c,UAAd;AAA4B4c,QAAAA,OAAO,GAAGA,OAAO,CAAC5c,UAAlB;AAA5B;;AACA,aAAO,0BAA0B4c,OAAO,CAACjtB,QAAR,EAAjC;AACH;;AACD,aAAS46C,aAAT,CAAuB3tB,OAAvB,EAAgC;AAC5B,aAAMA,OAAO,CAAC5c,UAAd;AAA4B4c,QAAAA,OAAO,GAAGA,OAAO,CAAC5c,UAAlB;AAA5B;;AACA,UAAIwjB,eAAe,CAAC5G,OAAD,CAAnB,EAA8B,OAAOA,OAAP;AACjC;;AACD,aAAS4tB,aAAT,CAAuB5tB,OAAvB,EAAgC;AAC5B,UAAI4b,UAAU,GAAG+R,aAAa,CAAC3tB,OAAD,CAA9B;AACA,UAAI4b,UAAU,CAACp6B,IAAf,EAAqB,OAAOo6B,UAAU,CAACp6B,IAAlB;AACxB;;AACD,aAASk6B,gBAAT,CAA0B1b,OAA1B,EAAmC;AAC/B,UAAI2b,UAAU,GAAGiS,aAAa,CAAC5tB,OAAD,CAA9B;AACA,UAAI,CAAC2b,UAAL,EAAiB,MAAM,IAAIzpC,KAAJ,CAAU,8BAAV,CAAN;AACjB,UAAI00B,eAAe,CAAC+U,UAAD,CAAnB,EAAiC,MAAM,IAAIzpC,KAAJ,CAAU,oCAAV,CAAN;AACjC,UAAI2pC,QAAQ,GAAG,iBAAiBvyB,QAAQ,EAAxC;AACA,UAAIwyB,IAAI,GAAGtlC,QAAQ,CAACM,aAAT,CAAuB,MAAvB,CAAX;AACAglC,MAAAA,IAAI,CAAC7kC,YAAL,CAAkB,MAAlB,EAA0B4kC,QAA1B;AACA7b,MAAAA,OAAO,CAAC7oB,WAAR,CAAoB2kC,IAApB;AACA,UAAIC,YAAY,GAAGvlC,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CAAnB;AACAilC,MAAAA,YAAY,CAAC9kC,YAAb,CAA0B,MAA1B,EAAkC4kC,QAAlC;AACAF,MAAAA,UAAU,CAACxkC,WAAX,CAAuB4kC,YAAvB;AACA,aAAOA,YAAP;AACH;;AACD,aAAS8R,iBAAT,CAA2BnqB,EAA3B,EAA+B;AAC3B,UAAI8Y,OAAO,GAAG,SAASA,OAAT,CAAiB7kB,KAAjB,EAAwB;AAClC+L,QAAAA,EAAE,CAAC9I,mBAAH,CAAuB,OAAvB,EAAgC4hB,OAAhC;AACA7kB,QAAAA,KAAK,CAACogC,cAAN;AACAr0B,QAAAA,EAAE,CAACs0B,IAAH;AACA,eAAO,CAAC,CAAR;AACH,OALD;;AAMAt0B,MAAAA,EAAE,CAAC/I,gBAAH,CAAoB,WAApB,EAAkC,YAAW;AACzC+I,QAAAA,EAAE,CAAC/I,gBAAH,CAAoB,OAApB,EAA6B6hB,OAA7B;AACAx2B,QAAAA,UAAU,CAAE,YAAW;AACnB0d,UAAAA,EAAE,CAAC9I,mBAAH,CAAuB,OAAvB,EAAgC4hB,OAAhC;AACH,SAFS,EAEN,CAFM,CAAV;AAGH,OALD;AAMH;;AACD,aAASsR,aAAT,GAAyB;AACrB,UAAI;AACA,cAAM,IAAI57C,KAAJ,CAAU,GAAV,CAAN;AACH,OAFD,CAEE,OAAOjE,GAAP,EAAY;AACV,eAAOA,GAAG,CAACuX,KAAJ,IAAa,EAApB;AACH;AACJ;;AACD,QAAImH,aAAa,GAAG,eAAe,OAAOnW,QAAtB,GAAiCA,QAAQ,CAACmW,aAA1C,GAA0D,IAA9E;AACA,QAAIC,gBAAgB,GAAGlC,OAAO,CAAE,YAAW;AACvC,UAAIiC,aAAJ,EAAmB,OAAOA,aAAP;AACnB,UAAIA,aAAa,GAAG,YAAW;AAC3B,YAAI;AACA,cAAInH,KAAK,GAAGsoC,aAAa,EAAzB;AACA,cAAIjhC,YAAY,GAAG,kCAAkCC,IAAlC,CAAuCtH,KAAvC,CAAnB;AACA,cAAIuH,cAAc,GAAGF,YAAY,IAAIA,YAAY,CAAC,CAAD,CAAjD;AACA,cAAI,CAACE,cAAL,EAAqB;;AACrB,eAAK,IAAI8Z,IAAI,GAAG,CAAX,EAAc5Z,sBAAsB,GAAG,GAAGzY,KAAH,CAASrF,IAAT,CAAcqH,QAAQ,CAAC0W,oBAAT,CAA8B,QAA9B,CAAd,EAAuDpZ,OAAvD,EAA5C,EAA8G+yB,IAAI,GAAG5Z,sBAAsB,CAAClZ,MAA5I,EAAoJ8yB,IAAI,EAAxJ,EAA4J;AACxJ,gBAAIhwB,MAAM,GAAGoW,sBAAsB,CAAC4Z,IAAD,CAAnC;AACA,gBAAIhwB,MAAM,CAACZ,GAAP,IAAcY,MAAM,CAACZ,GAAP,KAAe8W,cAAjC,EAAiD,OAAOlW,MAAP;AACpD;AACJ,SATD,CASE,OAAO5I,GAAP,EAAY;AACjB,OAXmB,EAApB,EAWK,OAAO0e,aAAP;AACL,YAAM,IAAIza,KAAJ,CAAU,kCAAV,CAAN;AACH,KAf6B,CAA9B;AAgBA,QAAIib,UAAU,GAAG7D,QAAQ,EAAzB;AACA,QAAIykC,mBAAmB,GAAGrjC,OAAO,CAAE,YAAW;AAC1C,UAAI7T,MAAJ;;AACA,UAAI;AACAA,QAAAA,MAAM,GAAG+V,gBAAgB,EAAzB;AACH,OAFD,CAEE,OAAO3e,GAAP,EAAY;AACV,eAAOkf,UAAP;AACH;;AACD,UAAI7C,GAAG,GAAGzT,MAAM,CAACuW,YAAP,CAAoBkkC,UAAU,CAACgE,GAA/B,CAAV;AACA,UAAIhrC,GAAG,IAAI,YAAY,OAAOA,GAA9B,EAAmC,OAAOA,GAAP;AACnC,UAAI,CAACA,GAAG,GAAGzT,MAAM,CAACuW,YAAP,CAAoBkkC,UAAU,CAACgE,GAAX,GAAiB,OAArC,CAAP,KAAyD,YAAY,OAAOhrC,GAAhF,EAAqF,OAAOA,GAAP;AACrFA,MAAAA,GAAG,GAAGhB,QAAQ,EAAd;AACAzS,MAAAA,MAAM,CAACI,YAAP,CAAoBq6C,UAAU,CAACgE,GAAX,GAAiB,OAArC,EAA8ChrC,GAA9C;AACA,aAAOA,GAAP;AACH,KAbgC,CAAjC;;AAcA,aAAS4jC,UAAT,CAAoB5/B,IAApB,EAA0B;AACtB,UAAI7d,IAAI,GAAG6d,IAAI,CAAC7d,IAAhB;AAAA,UAAsBwnD,aAAa,GAAG3pC,IAAI,CAAC4pC,QAA3C;AAAA,UAAqDA,QAAQ,GAAG,KAAK,CAAL,KAAWD,aAAX,GAA2B,IAA3B,GAAkCA,aAAlG;AACA,aAAOzJ,aAAa,CAACN,UAAD,EAAc,YAAW;AACzC,YAAIiK,WAAW,GAAG,OAAO1nD,IAAP,GAAc,YAAhC;AACA,YAAI2nD,UAAU,GAAG9uC,QAAQ,EAAzB;AACA,YAAI+uC,eAAJ;;AACA,iBAASC,QAAT,CAAkBrzC,OAAlB,EAA2B;AACvB,cAAIszC,mBAAmB,GAAG9L,qBAAqB,EAA/C;AACA,cAAI+L,OAAJ;AACAH,UAAAA,eAAe,KAAKG,OAAO,GAAGH,eAAf,CAAf;;AACA,cAAI,CAACG,OAAD,IAAYD,mBAAhB,EAAqC;AACjC,gBAAIE,UAAU,GAAGjhD,MAAM,CAACD,YAAP,CAAoBK,OAApB,CAA4BugD,WAA5B,CAAjB;AACAM,YAAAA,UAAU,KAAKD,OAAO,GAAGz7C,IAAI,CAAC4X,KAAL,CAAW8jC,UAAX,CAAf,CAAV;AACH;;AACDD,UAAAA,OAAO,KAAKA,OAAO,GAAGpK,SAAS,GAAG+J,WAAH,CAAxB,CAAP;AACAK,UAAAA,OAAO,KAAKA,OAAO,GAAG;AAClB5nC,YAAAA,EAAE,EAAEwnC;AADc,WAAf,CAAP;AAGAI,UAAAA,OAAO,CAAC5nC,EAAR,KAAe4nC,OAAO,CAAC5nC,EAAR,GAAawnC,UAA5B;AACAC,UAAAA,eAAe,GAAGG,OAAlB;AACA,cAAInnD,MAAM,GAAG4T,OAAO,CAACuzC,OAAD,CAApB;AACAD,UAAAA,mBAAmB,GAAG/gD,MAAM,CAACD,YAAP,CAAoBO,OAApB,CAA4BqgD,WAA5B,EAAyCp7C,IAAI,CAAC3F,SAAL,CAAeohD,OAAf,CAAzC,CAAH,GAAuEpK,SAAS,GAAG+J,WAAH,CAAT,GAA2BK,OAArH;AACAH,UAAAA,eAAe,GAAG,IAAlB;AACA,iBAAOhnD,MAAP;AACH;;AACD,iBAAS+gB,KAAT,GAAiB;AACb,iBAAOkmC,QAAQ,CAAE,UAASE,OAAT,EAAkB;AAC/B,mBAAOA,OAAO,CAAC5nC,EAAf;AACH,WAFc,CAAf;AAGH;;AACD,iBAAS8nC,UAAT,CAAoBzzC,OAApB,EAA6B;AACzB,iBAAOqzC,QAAQ,CAAE,UAASE,OAAT,EAAkB;AAC/B,gBAAIG,OAAO,GAAGH,OAAO,CAACI,WAAtB;AACA,gBAAIntC,GAAG,GAAG5S,IAAI,CAAC4S,GAAL,EAAV;AACAktC,YAAAA,OAAO,IAAIltC,GAAG,GAAGktC,OAAO,CAACE,OAAd,GAAwBX,QAAnC,KAAgDS,OAAO,GAAG,IAA1D;AACAA,YAAAA,OAAO,KAAKA,OAAO,GAAG;AAClBG,cAAAA,IAAI,EAAExvC,QAAQ,EADI;AAElBuvC,cAAAA,OAAO,EAAEptC;AAFS,aAAf,CAAP;AAIA+sC,YAAAA,OAAO,CAACI,WAAR,GAAsBD,OAAtB;AACA,mBAAO1zC,OAAO,CAAC0zC,OAAD,CAAd;AACH,WAVc,CAAf;AAWH;;AACD,eAAO;AACHL,UAAAA,QAAQ,EAAEA,QADP;AAEHlmC,UAAAA,KAAK,EAAEA,KAFJ;AAGH2mC,UAAAA,YAAY,EAAE,wBAAW;AACrB,mBAAO3mC,KAAK,OAAOgmC,UAAnB;AACH,WALE;AAMHY,UAAAA,eAAe,EAAE,yBAAS/zC,OAAT,EAAkB;AAC/B,mBAAOyzC,UAAU,CAAE,UAASC,OAAT,EAAkB;AACjCA,cAAAA,OAAO,CAAC1mD,KAAR,GAAgB0mD,OAAO,CAAC1mD,KAAR,IAAiB,EAAjC;AACA,qBAAOgT,OAAO,CAAC0zC,OAAO,CAAC1mD,KAAT,CAAd;AACH,aAHgB,CAAjB;AAIH,WAXE;AAYHgnD,UAAAA,YAAY,EAAE,wBAAW;AACrB,mBAAOP,UAAU,CAAE,UAASC,OAAT,EAAkB;AACjC,qBAAOA,OAAO,CAACG,IAAf;AACH,aAFgB,CAAjB;AAGH;AAhBE,SAAP;AAkBH,OA3DmB,EA2DhB,CAAE;AACFroD,QAAAA,IAAI,EAAEA,IADJ;AAEFynD,QAAAA,QAAQ,EAAEA;AAFR,OAAF,CA3DgB,CAApB;AA+DH;;AACD,aAASgB,0BAAT,GAAsC;AAClC,aAAOhL,UAAU,CAAC;AACdz9C,QAAAA,IAAI,EAAE;AADQ,OAAD,CAAjB;AAGH;;AACD,aAAS0oD,aAAT,CAAuB1oD,IAAvB,EAA6B;AACzB,aAAOyoD,0BAA0B,GAAGF,eAA7B,CAA8C,UAAS/mD,KAAT,EAAgB;AACjEA,QAAAA,KAAK,CAACmnD,aAAN,GAAsBnnD,KAAK,CAACmnD,aAAN,IAAuB,EAA7C;;AACA,YAAI,CAAC,CAAD,KAAOnnD,KAAK,CAACmnD,aAAN,CAAoBz3C,OAApB,CAA4BlR,IAA5B,CAAX,EAA8C;AAC1CwB,UAAAA,KAAK,CAACmnD,aAAN,CAAoB5lD,IAApB,CAAyB/C,IAAzB;AACA,iBAAO,CAAC,CAAR;AACH;;AACD,eAAO,CAAC,CAAR;AACH,OAPM,CAAP;AAQH;;AACD,aAAS4oD,gBAAT,CAA0BC,KAA1B,EAAiC;AAC7B,aAAO9wC,IAAI,CAACiB,KAAL,CAAWjB,IAAI,CAACC,MAAL,KAAgB6wC,KAA3B,CAAP;AACH;;AACD,aAAStL,UAAT,CAAoB1/B,IAApB,EAA0B;AACtB,UAAI7d,IAAI,GAAG6d,IAAI,CAAC7d,IAAhB;AAAA,UAAsB8oD,WAAW,GAAGjrC,IAAI,CAACkrC,MAAzC;AAAA,UAAiDA,MAAM,GAAG,KAAK,CAAL,KAAWD,WAAX,GAAyB,EAAzB,GAA8BA,WAAxF;AAAA,UAAqGE,iBAAiB,GAAGnrC,IAAI,CAACorC,YAA9H;AAAA,UAA4IA,YAAY,GAAG,KAAK,CAAL,KAAWD,iBAAX,GAA+B1tC,aAA/B,GAA+C0tC,iBAA1M;AAAA,UAA6NE,kBAAkB,GAAGrrC,IAAI,CAACsrC,aAAvP;AAAA,UAAsQA,aAAa,GAAG,KAAK,CAAL,KAAWD,kBAAX,GAAgC5tC,aAAhC,GAAgD4tC,kBAAtU;AAAA,UAA0VE,WAAW,GAAGvrC,IAAI,CAACwrC,MAA7W;AACA,UAAIC,QAAQ,GAAG,KAAK,CAAL,KAAWF,WAAX,IAA0BA,WAA1B,GAAwC,UAASppD,IAAT,EAAe;AAClE,eAAOyoD,0BAA0B,GAAGZ,QAA7B,CAAuC,UAASrmD,KAAT,EAAgB;AAC1DA,UAAAA,KAAK,CAAC+nD,mBAAN,GAA4B/nD,KAAK,CAAC+nD,mBAAN,IAA6B,EAAzD;AACA/nD,UAAAA,KAAK,CAAC+nD,mBAAN,CAA0BvpD,IAA1B,IAAkCwB,KAAK,CAAC+nD,mBAAN,CAA0BvpD,IAA1B,KAAmC4oD,gBAAgB,CAAC,GAAD,CAArF;AACA,iBAAOpnD,KAAK,CAAC+nD,mBAAN,CAA0BvpD,IAA1B,CAAP;AACH,SAJM,CAAP;AAKH,OANsD,CAMrDA,IANqD,CAAxC,GAML4oD,gBAAgB,CAAC,GAAD,CAN1B;AAOA,UAAIY,KAAJ;AACA,UAAIC,SAAS,GAAGzpD,IAAI,GAAG,GAAP,IAAcwpD,KAAK,GAAGF,QAAQ,GAAGP,MAAX,GAAoB,MAApB,GAA6BA,MAAM,IAAI,EAAV,IAAgBA,MAAM,IAAIO,QAAV,IAAsBA,QAAQ,GAAG,IAAIP,MAArD,GAA8D,SAA9D,GAA0E,UAA7H,CAAhB;AACA,UAAIW,OAAO,GAAG,CAAC,CAAf;AACA,UAAIC,MAAM,GAAG,CAAC,CAAd;;AACA,UAAI;AACA5iD,QAAAA,MAAM,CAACD,YAAP,IAAuBC,MAAM,CAACD,YAAP,CAAoBK,OAApB,CAA4BnH,IAA5B,CAAvB,KAA6D2pD,MAAM,GAAG,CAAC,CAAvE;AACH,OAFD,CAEE,OAAOnsD,GAAP,EAAY;;AACd,aAAO;AACHosD,QAAAA,SAAS,EAAE,qBAAW;AAClB,iBAAO,WAAWJ,KAAX,IAAoBG,MAA3B;AACH,SAHE;AAIHE,QAAAA,UAAU,EAAE,sBAAW;AACnB,iBAAO,WAAWL,KAAX,IAAoB,CAACG,MAA5B;AACH,SANE;AAOHG,QAAAA,YAAY,EAAE,wBAAW;AACrB,iBAAOL,SAAP;AACH,SATE;AAUHM,QAAAA,GAAG,EAAE,aAASC,UAAT,EAAqBhrB,OAArB,EAA8B;AAC/B,eAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACA,cAAI,CAAC0qB,OAAL,EAAc,OAAO,IAAP;AACdhB,UAAAA,aAAa,CAACe,SAAS,GAAG,GAAZ,GAAkBn9C,IAAI,CAAC3F,SAAL,CAAeq4B,OAAf,CAAnB,CAAb,IAA4DiqB,YAAY,CAAC;AACrEjpD,YAAAA,IAAI,EAAEA,IAD+D;AAErEypD,YAAAA,SAAS,EAAEA,SAF0D;AAGrEzqB,YAAAA,OAAO,EAAEA,OAH4D;AAIrEsqB,YAAAA,QAAQ,EAAEA;AAJ2D,WAAD,CAAxE;AAMAZ,UAAAA,aAAa,CAACe,SAAS,GAAG,GAAZ,GAAkBO,UAAlB,GAA+B,GAA/B,GAAqC19C,IAAI,CAAC3F,SAAL,CAAeq4B,OAAf,CAAtC,CAAb,IAA+EmqB,aAAa,CAAC;AACzFnpD,YAAAA,IAAI,EAAEA,IADmF;AAEzFypD,YAAAA,SAAS,EAAEA,SAF8E;AAGzFO,YAAAA,UAAU,EAAEA,UAH6E;AAIzFhrB,YAAAA,OAAO,EAAEA,OAJgF;AAKzFsqB,YAAAA,QAAQ,EAAEA;AAL+E,WAAD,CAA5F;AAOA,iBAAO,IAAP;AACH,SA3BE;AA4BHW,QAAAA,QAAQ,EAAE,kBAASjrB,OAAT,EAAkB;AACxB,eAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACA0qB,UAAAA,OAAO,GAAG,CAAC,CAAX;AACA,iBAAO,KAAKK,GAAL,CAAS,OAAT,EAAkB/qB,OAAlB,CAAP;AACH,SAhCE;AAiCHkrB,QAAAA,WAAW,EAAE,qBAASlrB,OAAT,EAAkB;AAC3B,eAAK,CAAL,KAAWA,OAAX,KAAuBA,OAAO,GAAG,EAAjC;AACA,iBAAO,KAAK+qB,GAAL,CAAS,UAAT,EAAqB/qB,OAArB,CAAP;AACH;AApCE,OAAP;AAsCH;;AACD,aAASwe,kBAAT,CAA4B3/B,IAA5B,EAAkC;AAC9B,UAAI7d,IAAI,GAAG6d,IAAI,CAAC7d,IAAhB;AAAA,UAAsBmqD,YAAY,GAAGtsC,IAAI,CAACvT,OAA1C;AAAA,UAAmDA,OAAO,GAAG,KAAK,CAAL,KAAW6/C,YAAX,GAA0B,QAA1B,GAAqCA,YAAlG;AACA,UAAI7sC,MAAM,GAAGqgC,SAAS,EAAtB;AACA,UAAI9gC,SAAS,GAAG,OAAO7c,IAAP,GAAc,IAAd,GAAqBsK,OAArB,GAA+B,WAA/C;AACA,UAAI8/C,SAAS,GAAG9sC,MAAM,CAACT,SAAD,CAAN,GAAoBS,MAAM,CAACT,SAAD,CAAN,IAAqB,EAAzD;AACA,aAAO;AACHzV,QAAAA,GAAG,EAAE,aAASlK,GAAT,EAAcmtD,QAAd,EAAwB;AACzBA,UAAAA,QAAQ,GAAGA,QAAQ,IAAI,EAAvB;AACA,iBAAOD,SAAS,CAACltD,GAAD,CAAT,GAAiBktD,SAAS,CAACltD,GAAD,CAAT,IAAkBmtD,QAA1C;AACH;AAJE,OAAP;AAMH;;AACD,QAAIC,cAAc,GAAG,EAArB;;AACA,aAASr+C,OAAT,CAAiB4R,IAAjB,EAAuB;AACnB,UAAI3R,GAAG,GAAG2R,IAAI,CAAC3R,GAAf;AAAA,UAAoBq+C,WAAW,GAAG1sC,IAAI,CAACje,MAAvC;AAAA,UAA+CA,MAAM,GAAG,KAAK,CAAL,KAAW2qD,WAAX,GAAyB,KAAzB,GAAiCA,WAAzF;AAAA,UAAsGC,YAAY,GAAG3sC,IAAI,CAAC1R,OAA1H;AAAA,UAAmIA,OAAO,GAAG,KAAK,CAAL,KAAWq+C,YAAX,GAA0B,EAA1B,GAA+BA,YAA5K;AAAA,UAA0Lh+C,IAAI,GAAGqR,IAAI,CAACrR,IAAtM;AAAA,UAA4M8R,IAAI,GAAGT,IAAI,CAACS,IAAxN;AAAA,UAA8NlS,IAAI,GAAGyR,IAAI,CAACzR,IAA1O;AAAA,UAAgPq+C,QAAQ,GAAG5sC,IAAI,CAACvN,GAAhQ;AAAA,UAAqQA,GAAG,GAAG,KAAK,CAAL,KAAWm6C,QAAX,GAAsB1jD,MAAtB,GAA+B0jD,QAA1S;AAAA,UAAoTC,YAAY,GAAG7sC,IAAI,CAAC3H,OAAxU;AAAA,UAAiVA,OAAO,GAAG,KAAK,CAAL,KAAWw0C,YAAX,GAA0B,CAA1B,GAA8BA,YAAzX;AACA,aAAO,IAAIt7C,oBAAJ,CAA0B,UAAS3O,OAAT,EAAkBC,MAAlB,EAA0B;AACvD,YAAI8L,IAAI,IAAI8R,IAAR,IAAgB9R,IAAI,IAAIJ,IAAxB,IAAgCkS,IAAI,IAAI9R,IAA5C,EAAkD,MAAM,IAAI/K,KAAJ,CAAU,oEAAV,CAAN;AAClD,YAAIkpD,iBAAiB,GAAG,EAAxB;;AACA,aAAK,IAAI3kC,GAAG,GAAG,CAAV,EAAa6N,aAAa,GAAG13B,MAAM,CAACgH,IAAP,CAAYgJ,OAAZ,CAAlC,EAAwD6Z,GAAG,GAAG6N,aAAa,CAACvwB,MAA5E,EAAoF0iB,GAAG,EAAvF,EAA2F;AACvF,cAAI3K,KAAK,GAAGwY,aAAa,CAAC7N,GAAD,CAAzB;AACA2kC,UAAAA,iBAAiB,CAACtvC,KAAK,CAAC7B,WAAN,EAAD,CAAjB,GAAyCrN,OAAO,CAACkP,KAAD,CAAhD;AACH;;AACD7O,QAAAA,IAAI,GAAGm+C,iBAAiB,CAAC,cAAD,CAAjB,GAAoCA,iBAAiB,CAAC,cAAD,CAAjB,IAAqC,kBAA5E,GAAiG,CAACrsC,IAAI,IAAIlS,IAAT,MAAmBu+C,iBAAiB,CAAC,cAAD,CAAjB,GAAoCA,iBAAiB,CAAC,cAAD,CAAjB,IAAqC,kDAA5F,CAArG;AACAA,QAAAA,iBAAiB,CAACC,MAAlB,GAA2BD,iBAAiB,CAACC,MAAlB,IAA4B,kBAAvD;;AACA,aAAK,IAAIvkC,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGikC,cAAc,CAAChnD,MAAvC,EAA+C+iB,GAAG,EAAlD,EAAsD;AAClD,cAAIwkC,YAAY,GAAG,CAAC,GAAGP,cAAc,CAACjkC,GAAD,CAAlB,GAAnB;;AACA,eAAK,IAAIqB,GAAG,GAAG,CAAV,EAAa8R,aAAa,GAAGr9B,MAAM,CAACgH,IAAP,CAAY0nD,YAAZ,CAAlC,EAA6DnjC,GAAG,GAAG8R,aAAa,CAACl2B,MAAjF,EAAyFokB,GAAG,EAA5F,EAAgG;AAC5F,gBAAIob,KAAK,GAAGtJ,aAAa,CAAC9R,GAAD,CAAzB;AACAijC,YAAAA,iBAAiB,CAAC7nB,KAAK,CAACtpB,WAAN,EAAD,CAAjB,GAAyCqxC,YAAY,CAAC/nB,KAAD,CAArD;AACH;AACJ;;AACD,YAAIgoB,GAAG,GAAG,IAAIx6C,GAAG,CAACy6C,cAAR,EAAV;AACAD,QAAAA,GAAG,CAAC5gC,gBAAJ,CAAqB,MAArB,EAA8B,YAAW;AACrC,cAAI8gC,eAAe,GAAG,UAASC,UAAT,EAAqB;AACvC,iBAAK,CAAL,KAAWA,UAAX,KAA0BA,UAAU,GAAG,EAAvC;AACA,gBAAIrqD,MAAM,GAAG,EAAb;;AACA,iBAAK,IAAIqf,GAAG,GAAG,CAAV,EAAairC,sBAAsB,GAAGD,UAAU,CAACE,IAAX,GAAkBxjD,KAAlB,CAAwB,IAAxB,CAA3C,EAA0EsY,GAAG,GAAGirC,sBAAsB,CAAC5nD,MAAvG,EAA+G2c,GAAG,EAAlH,EAAsH;AAClH,kBAAImrC,WAAW,GAAGF,sBAAsB,CAACjrC,GAAD,CAAtB,CAA4BtY,KAA5B,CAAkC,GAAlC,CAAlB;AAAA,kBAA0DiT,IAAI,GAAGwwC,WAAW,CAAC,CAAD,CAA5E;AAAA,kBAAiF9rD,MAAM,GAAG8rD,WAAW,CAACrnD,KAAZ,CAAkB,CAAlB,CAA1F;;AACAnD,cAAAA,MAAM,CAACga,IAAI,CAACpB,WAAL,EAAD,CAAN,GAA6Bla,MAAM,CAACsH,IAAP,CAAY,GAAZ,EAAiBukD,IAAjB,EAA7B;AACH;;AACD,mBAAOvqD,MAAP;AACH,WARqB,CAQpB,KAAKyqD,qBAAL,EARoB,CAAtB;;AASA,cAAI,CAAC,KAAKzjB,MAAV,EAAkB,OAAOlnC,MAAM,CAAC,IAAIe,KAAJ,CAAU,gBAAgB7B,MAAM,CAAC4Z,WAAP,EAAhB,GAAuC,GAAvC,GAA6CtN,GAA7C,GAAmD,mCAA7D,CAAD,CAAb;AAClB,cAAIo/C,WAAW,GAAGN,eAAe,CAAC,cAAD,CAAjC;AACA,cAAIO,MAAM,GAAGD,WAAW,KAAK,MAAMA,WAAW,CAACp6C,OAAZ,CAAoB,kBAApB,CAAN,IAAiD,MAAMo6C,WAAW,CAACp6C,OAAZ,CAAoB,WAApB,CAA5D,CAAxB;AACA,cAAIs6C,YAAY,GAAG,KAAKC,YAAxB;;AACA,cAAI;AACAD,YAAAA,YAAY,GAAGl/C,IAAI,CAAC4X,KAAL,CAAWsnC,YAAX,CAAf;AACH,WAFD,CAEE,OAAOhuD,GAAP,EAAY;AACV,gBAAI+tD,MAAJ,EAAY,OAAO7qD,MAAM,CAAC,IAAIe,KAAJ,CAAU,mBAAmB,KAAKgqD,YAAxB,GAAuC,GAAjD,CAAD,CAAb;AACf;;AACD,iBAAOhrD,OAAO,CAAC;AACXmnC,YAAAA,MAAM,EAAE,KAAKA,MADF;AAEXz7B,YAAAA,OAAO,EAAE6+C,eAFE;AAGX5+C,YAAAA,IAAI,EAAEo/C;AAHK,WAAD,CAAd;AAKH,SAxBD,EAwBI,CAAC,CAxBL;AAyBAV,QAAAA,GAAG,CAAC5gC,gBAAJ,CAAqB,OAArB,EAA+B,UAASwhC,GAAT,EAAc;AACzChrD,UAAAA,MAAM,CAAC,IAAIe,KAAJ,CAAU,gBAAgB7B,MAAM,CAAC4Z,WAAP,EAAhB,GAAuC,GAAvC,GAA6CtN,GAA7C,GAAmD,WAAnD,GAAiEw/C,GAAG,CAACppD,QAAJ,EAAjE,GAAkF,GAA5F,CAAD,CAAN;AACH,SAFD,EAEI,CAAC,CAFL;AAGAwoD,QAAAA,GAAG,CAAC3oC,IAAJ,CAASviB,MAAT,EAAiBsM,GAAjB,EAAsB,CAAC,CAAvB;;AACA,aAAK,IAAI+2B,KAAT,IAAkB0nB,iBAAlB;AAAqCA,UAAAA,iBAAiB,CAACruD,cAAlB,CAAiC2mC,KAAjC,KAA2C6nB,GAAG,CAACa,gBAAJ,CAAqB1oB,KAArB,EAA4B0nB,iBAAiB,CAAC1nB,KAAD,CAA7C,CAA3C;AAArC;;AACAz2B,QAAAA,IAAI,GAAGJ,IAAI,GAAGE,IAAI,CAAC3F,SAAL,CAAe6F,IAAf,CAAV,GAAiC8R,IAAI,KAAKlS,IAAI,GAAGjQ,MAAM,CAACgH,IAAP,CAAYmb,IAAZ,EAAkBvH,GAAlB,CAAuB,UAAS7Z,GAAT,EAAc;AACtF,iBAAOgc,kBAAkB,CAAChc,GAAD,CAAlB,GAA0B,GAA1B,IAAiCohB,IAAI,GAAGpF,kBAAkB,CAACoF,IAAI,CAACphB,GAAD,CAAL,CAArB,GAAmC,EAAxE,CAAP;AACH,SAFoD,EAEjD0J,IAFiD,CAE5C,GAF4C,CAAZ,CAAzC;AAGAkkD,QAAAA,GAAG,CAAC50C,OAAJ,GAAcA,OAAd;;AACA40C,QAAAA,GAAG,CAACc,SAAJ,GAAgB,YAAW;AACvBlrD,UAAAA,MAAM,CAAC,IAAIe,KAAJ,CAAU,gBAAgB7B,MAAM,CAAC4Z,WAAP,EAAhB,GAAuC,GAAvC,GAA6CtN,GAA7C,GAAmD,gBAA7D,CAAD,CAAN;AACH,SAFD;;AAGA4+C,QAAAA,GAAG,CAAC3sC,IAAJ,CAAS/R,IAAT;AACH,OAvDM,CAAP;AAwDH;;AACD,aAASi0C,gBAAT,CAA0BzgD,MAA1B,EAAkC;AAC9B0qD,MAAAA,cAAc,CAACvnD,IAAf,CAAoBnD,MAApB;AACH;;AACD,QAAI0gD,WAAW,GAAG,CAAC,CAAnB;;AACA,aAASC,QAAT,CAAkB90B,MAAlB,EAA0BzrB,IAA1B,EAAgCikD,UAAhC,EAA4C;AACxCA,MAAAA,UAAU,CAAC9mD,KAAX,GAAmB8c,OAAO,CAACgqC,UAAU,CAAC9mD,KAAZ,EAAmB;AACzC6C,QAAAA,IAAI,EAAEA,IADmC;AAEzCoa,QAAAA,aAAa,EAAE,CAAC;AAFyB,OAAnB,CAA1B;AAIH;;AACD,aAASomC,kBAAT,CAA4B/0B,MAA5B,EAAoCzrB,IAApC,EAA0CikD,UAA1C,EAAsD;AAClDA,MAAAA,UAAU,CAAC9mD,KAAX,GAAmB2gD,SAAS,CAACmG,UAAU,CAAC9mD,KAAZ,EAAmB;AAC3C6C,QAAAA,IAAI,EAAEA;AADqC,OAAnB,CAA5B;AAGH;;AACD,aAASy2B,MAAT,CAAgBxd,GAAhB,EAAqB;AACjB,aAAO,YAAY,OAAOA,GAAnB,IAA0B,YAAYyd,IAAZ,CAAiBzd,GAAjB,CAAjC;AACH;;AACD,aAASwnC,IAAT,CAAcxnC,GAAd,EAAmB;AACf,aAAO,YAAY,OAAOA,GAAnB,IAA0B,aAAayd,IAAb,CAAkBzd,GAAlB,CAAjC;AACH;;AACD,aAAS0d,KAAT,CAAe/c,GAAf,EAAoB;AAChB,UAAI,YAAY,OAAOA,GAAvB,EAA4B,OAAOA,GAAP;AAC5B,UAAItG,KAAK,GAAGsG,GAAG,CAACtG,KAAJ,CAAU,kBAAV,CAAZ;AACA,UAAI,CAACA,KAAL,EAAY,MAAM,IAAI7R,KAAJ,CAAU,oCAAoCmY,GAA9C,CAAN;AACZ,aAAOP,QAAQ,CAAC/F,KAAK,CAAC,CAAD,CAAN,EAAW,EAAX,CAAf;AACH;;AACD,aAASsjB,IAAT,CAAchd,GAAd,EAAmB;AACf,aAAO+c,KAAK,CAAC/c,GAAD,CAAL,GAAa,IAApB;AACH;;AACD,aAASid,KAAT,CAAejd,GAAf,EAAoB;AAChB,aAAO,YAAY,OAAOA,GAAnB,GAAyBgd,IAAI,CAAChd,GAAD,CAA7B,GAAqC6c,MAAM,CAAC7c,GAAD,CAAN,GAAcA,GAAd,GAAoBgd,IAAI,CAAChd,GAAD,CAApE;AACH;;AACD,aAAS8mC,MAAT,CAAgBsC,GAAhB,EAAqBxE,IAArB,EAA2B;AACvB,aAAOnlC,QAAQ,CAAC2pC,GAAG,GAAGrsB,KAAK,CAAC6nB,IAAD,CAAX,GAAoB,GAArB,EAA0B,EAA1B,CAAf;AACH;;AACD,aAAS1nB,kBAAT,CAA4BC,GAA5B,EAAiChN,GAAjC,EAAsC;AAClC,UAAI,YAAY,OAAOgN,GAAvB,EAA4B,OAAOA,GAAP;AAC5B,UAAIN,MAAM,CAACM,GAAD,CAAV,EAAiB,OAAO2pB,MAAM,CAAC32B,GAAD,EAAMgN,GAAN,CAAb;AACjB,UAAI0pB,IAAI,CAAC1pB,GAAD,CAAR,EAAe,OAAOJ,KAAK,CAACI,GAAD,CAAZ;AACf,YAAM,IAAIt1B,KAAJ,CAAU,kCAAkCs1B,GAA5C,CAAN;AACH;;AACD,aAAS4pB,WAAT,CAAqB/gD,MAArB,EAA6BupB,KAA7B,EAAoC;AAChC,UAAIuhC,YAAY,GAAG,CAAC,KAAK,CAAL,KAAWvhC,KAAX,GAAmB,EAAnB,GAAwBA,KAAzB,EAAgCjT,OAAnD;AACA,UAAI21C,QAAQ,GAAG,EAAf;AACA,UAAIr1C,QAAQ,GAAG,EAAf;AACA,UAAIs1C,KAAK,GAAGv2C,UAAU,CAAE,YAAW;AAC/Bs2C,QAAAA,QAAQ,CAACvoD,MAAT,IAAmBkT,QAAQ,CAACzT,IAAT,CAAcqM,oBAAoB,CAACqG,WAArB,CAAiC,IAAIhU,KAAJ,CAAU,cAAcoqD,QAAQ,CAAC,CAAD,CAAtB,GAA4B,eAAtC,CAAjC,CAAd,CAAnB;AACH,OAFqB,EAElB,KAAK,CAAL,KAAWnB,YAAX,GAA0B,GAA1B,GAAgCA,YAFd,CAAtB;;AAGA,UAAIqB,MAAM,GAAG,SAATA,MAAS,CAAS/rD,IAAT,EAAezB,EAAf,EAAmB;AAC5B,aAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAG+c,aAAvB;AACAuwC,QAAAA,QAAQ,CAAC9oD,IAAT,CAAc/C,IAAd;AACA,eAAO,YAAW;AACd,cAAIyU,KAAK,GAAG,IAAZ;;AACA,eAAK,IAAIiG,IAAI,GAAGC,SAAS,CAACrX,MAArB,EAA6B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAU6U,IAAV,CAApC,EAAqDE,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGF,IAA3E,EAAiFE,IAAI,EAArF;AAAyFxD,YAAAA,IAAI,CAACwD,IAAD,CAAJ,GAAaD,SAAS,CAACC,IAAD,CAAtB;AAAzF;;AACAqlC,UAAAA,eAAe,CAAC4L,QAAD,EAAW7rD,IAAX,CAAf;;AACA,cAAIgsD,SAAS,GAAG1tD,QAAQ,CAAE,YAAW;AACjC,gBAAI2tD,GAAJ;;AACA,mBAAO,CAACA,GAAG,GAAG1tD,EAAP,EAAWG,IAAX,CAAgB2Y,KAAhB,CAAsB40C,GAAtB,EAA2B,CAAEx3C,KAAF,EAAU2X,MAAV,CAAiBhV,IAAjB,CAA3B,CAAP;AACH,WAHuB,CAAxB;AAAA,cAGKxW,MAAM,GAAGorD,SAAS,CAACprD,MAHxB;AAAA,cAGgCG,KAAK,GAAGirD,SAAS,CAACjrD,KAHlD;;AAIA,cAAIA,KAAJ,EAAW;AACPyV,YAAAA,QAAQ,CAACzT,IAAT,CAAcqM,oBAAoB,CAACqG,WAArB,CAAiC1U,KAAjC,CAAd;AACA,kBAAMA,KAAN;AACH;;AACDyV,UAAAA,QAAQ,CAACzT,IAAT,CAAcqM,oBAAoB,CAAC3O,OAArB,CAA6BG,MAA7B,CAAd;AACA,iBAAOA,MAAP;AACH,SAdD;AAeH,OAlBD;;AAmBA,UAAIsrD,KAAK,GAAG,SAARA,KAAQ,CAASlsD,IAAT,EAAezB,EAAf,EAAmB;AAC3B,aAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAG+c,aAAvB;AACA,eAAO,YAAW;AACd,cAAI6wC,IAAJ;;AACA31C,UAAAA,QAAQ,CAACzT,IAAT,CAAcqM,oBAAoB,CAACqG,WAArB,CAAiC,IAAIhU,KAAJ,CAAU,cAAczB,IAAd,GAAqB,mBAA/B,CAAjC,CAAd;;AACA,eAAK,IAAIob,KAAK,GAAGT,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUuV,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+FjE,YAAAA,IAAI,CAACiE,KAAD,CAAJ,GAAcV,SAAS,CAACU,KAAD,CAAvB;AAA/F;;AACA,iBAAO,CAAC8wC,IAAI,GAAG5tD,EAAR,EAAYG,IAAZ,CAAiB2Y,KAAjB,CAAuB80C,IAAvB,EAA6B,CAAE,IAAF,EAAS//B,MAAT,CAAgBhV,IAAhB,CAA7B,CAAP;AACH,SALD;AAMH,OARD;;AASA,UAAIg1C,WAAW,GAAG,SAAdA,WAAc,CAASpsD,IAAT,EAAezB,EAAf,EAAmB;AACjC,aAAK,CAAL,KAAWA,EAAX,KAAkBA,EAAE,GAAG+c,aAAvB;AACAuwC,QAAAA,QAAQ,CAAC9oD,IAAT,CAAc/C,IAAd;AACA,eAAO,YAAW;AACd,cAAIqV,MAAM,GAAG,IAAb;;AACA,eAAK,IAAIwtB,KAAK,GAAGloB,SAAS,CAACrX,MAAtB,EAA8B8T,IAAI,GAAG,IAAIvR,KAAJ,CAAUg9B,KAAV,CAArC,EAAuDC,KAAK,GAAG,CAApE,EAAuEA,KAAK,GAAGD,KAA/E,EAAsFC,KAAK,EAA3F;AAA+F1rB,YAAAA,IAAI,CAAC0rB,KAAD,CAAJ,GAAcnoB,SAAS,CAACmoB,KAAD,CAAvB;AAA/F;;AACAmd,UAAAA,eAAe,CAAC4L,QAAD,EAAW7rD,IAAX,CAAf;;AACA,cAAIqsD,UAAU,GAAG/tD,QAAQ,CAAE,YAAW;AAClC,gBAAIguD,IAAJ;;AACA,mBAAO,CAACA,IAAI,GAAG/tD,EAAR,EAAYG,IAAZ,CAAiB2Y,KAAjB,CAAuBi1C,IAAvB,EAA6B,CAAEj3C,MAAF,EAAW+W,MAAX,CAAkBhV,IAAlB,CAA7B,CAAP;AACH,WAHwB,CAAzB;AAAA,cAGKxW,MAAM,GAAGyrD,UAAU,CAACzrD,MAHzB;AAAA,cAGiCG,KAAK,GAAGsrD,UAAU,CAACtrD,KAHpD;;AAIA,cAAIA,KAAJ,EAAW,MAAMA,KAAN;AACXyV,UAAAA,QAAQ,CAACzT,IAAT,CAAcqM,oBAAoB,CAAC3O,OAArB,CAA6BG,MAA7B,EAAqCC,IAArC,CAA2C,YAAW;AAChE,kBAAM,IAAIY,KAAJ,CAAU,cAAczB,IAAd,GAAqB,oBAA/B,CAAN;AACH,WAFa,EAEVsb,aAFU,CAAd;AAGA,iBAAO1a,MAAP;AACH,SAbD;AAcH,OAjBD;;AAkBA,UAAI2rD,IAAI,GAAG,SAASA,IAAT,GAAgB;AACvB,eAAOn9C,oBAAoB,OAApB,CAA0B,YAAW;AACxC,cAAIoH,QAAQ,CAAClT,MAAb,EAAqB,OAAOkT,QAAQ,CAACjT,GAAT,EAAP;AACxB,SAFM,EAEH1C,IAFG,CAEG,YAAW;AACjB,iBAAO2V,QAAQ,CAAClT,MAAT,GAAkBipD,IAAI,EAAtB,GAA2BV,QAAQ,CAACvoD,MAAT,GAAkB8L,oBAAoB,CAACkI,KAArB,CAA2B,EAA3B,EAA+BzW,IAA/B,CAAoC0rD,IAApC,CAAlB,GAA8D,KAAK,CAArG;AACH,SAJM,CAAP;AAKH,OAND;;AAOA/1C,MAAAA,QAAQ,CAACzT,IAAT,CAAcqM,oBAAoB,OAApB,CAA0B,YAAW;AAC/C,eAAOxP,MAAM,CAAC;AACVmsD,UAAAA,MAAM,EAAEA,MADE;AAEVG,UAAAA,KAAK,EAAEA,KAFG;AAGVE,UAAAA,WAAW,EAAEA,WAHH;AAIVrrD,UAAAA,KAAK,EAAEmrD,KAJG;AAKVK,UAAAA,IAAI,EAAEA;AALI,SAAD,CAAb;AAOH,OARa,CAAd;AASA,aAAOA,IAAI,GAAG1rD,IAAP,CAAa,YAAW;AAC3BwV,QAAAA,YAAY,CAACy1C,KAAD,CAAZ;AACH,OAFM,CAAP;AAGH;AACJ,GAjjGC,CA1DK,CAAP;AA4mGH,CA/mGA,CAAD;;;;;;;;;;;;;ACAA;AAEA;AACA/mD,YAAA,gBAAiB0lB,YAAjB;;ACHA,IAAY+hC,KAAZ;;AAAA,WAAYA;AACVA,EAAAA,gBAAA,eAAA;AACAA,EAAAA,kBAAA,iBAAA;AACD,CAHD,EAAYA,KAAK,KAALA,KAAK,KAAA,CAAjB;;SCKgB5qB;MACd/nB,WAAAA;MACAhI,aAAAA;MACAw0B,sBAAAA;MACAzzB,WAAAA;MACA9I,aAAAA;MACAod,aAAAA;6BACA4a;MAAa35B,wBAAAA;MAAOD,yBAAAA;;AAEpB,MAAI,CAAC2J,KAAD,IAAU,CAACw0B,cAAf,EAA+B;AAC7B;AACD;;AAED,MAAMkO,GAAG,GAAG3hC,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAZ;AACAkuC,EAAAA,GAAG,CAAC/tC,YAAJ,CAAiB,IAAjB,EAAuBqT,GAAvB;AACA,MAAMzU,KAAK,GAAGwN,GAAG,CAACvM,aAAJ,CAAkB,OAAlB,CAAd;;AACA,MAAIyD,KAAK,CAAC0qC,QAAV,EAAoB;AAClBpvC,IAAAA,KAAK,CAACoB,YAAN,CAAmB,OAAnB,EAA4BsD,KAAK,CAAC0qC,QAAlC;AACD;;AAEDpvC,EAAAA,KAAK,CAACsB,WAAN,CACEkM,GAAG,CAACqhB,cAAJ,eACKpa,GADL,uFAIe1R,KAJf,6BAKgBD,MALhB,2BAOK2R,GAPL,mOAgBKA,GAhBL,kBAgBqB2yC,KAAK,CAACC,SAhB3B,mDAmBK5yC,GAnBL,kBAmBqB2yC,KAAK,CAACE,OAnB3B,8CADF;AA0BA76C,EAAAA,KAAK,CAAC86C,mBAAN,GAA4B,MAA5B;AAEApY,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgBmL,KAAhB;AACA0iC,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgB2/B,cAAhB;AACAkO,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgBtB,KAAhB;AAEAihC,EAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B8X,KAAK,CAACE,OAAnC;AACA76C,EAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB8X,KAAK,CAACC,SAA1B;AAEAvlC,EAAAA,KAAK,CAAC3D,EAAN,CAASqpC,IAAI,CAAC1hC,KAAL,CAAWmS,QAApB,EAA8B;AAC5BgJ,IAAAA,cAAc,CAACoO,SAAf,CAAyBtuC,MAAzB,CAAgCqmD,KAAK,CAACE,OAAtC;AACArmB,IAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B8X,KAAK,CAACC,SAAnC;AAEA56C,IAAAA,KAAK,CAAC4iC,SAAN,CAAgBtuC,MAAhB,CAAuBqmD,KAAK,CAACC,SAA7B;AACA56C,IAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB8X,KAAK,CAACE,OAA1B;AAEAn3C,IAAAA,UAAU,CAAC;AACTs3C,MAAAA,QAAM,CAACj4B,cAAP,CAAsByR,cAAtB;AACD,KAFS,EAEP,CAFO,CAAV;AAGD,GAVD;AAYAnf,EAAAA,KAAK,CAAC3D,EAAN,CAASqpC,IAAI,CAAC1hC,KAAL,CAAW2S,MAApB,EAA4B;QAASpI,iBAAPttB;QAAyButB,kBAARxtB;;AAC7C,QAAI,OAAOutB,QAAP,KAAoB,QAAxB,EAAkC;AAChC8e,MAAAA,GAAG,CAACnvC,KAAJ,CAAU+C,KAAV,GAAkB0kD,QAAM,CAACh2B,KAAP,CAAapB,QAAb,CAAlB;AACD;;AAED,QAAI,OAAOC,SAAP,KAAqB,QAAzB,EAAmC;AACjC6e,MAAAA,GAAG,CAACnvC,KAAJ,CAAU8C,MAAV,GAAmB2kD,QAAM,CAACh2B,KAAP,CAAanB,SAAb,CAAnB;AACD;AACF,GARD;AAUA,SAAO6e,GAAP;AACD;;ACvED,IAAMuY,kBAAkB,GAAG,cAA3B;;AAEA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACvwB,GAAD;;;AAC7B,oBAAIA,GAAG,CAACh7B,KAAR,aAAI,WAAWwrD,aAAf,EAA8B;AAC5B,WAAOxwB,GAAG,CAACh7B,KAAJ,CAAUwrD,aAAjB;AACD;;AACD,qBAAIxwB,GAAG,CAAC9rB,MAAR,kCAAI,YAAYlP,KAAhB,aAAI,kBAAmBwrD,aAAvB,EAAsC;AACpC,WAAOxwB,GAAG,CAAC9rB,MAAJ,CAAWlP,KAAX,CAAiBwrD,aAAxB;AACD;;AACD,qBAAIxwB,GAAG,CAACh7B,KAAR,mCAAI,YAAWkP,MAAf,sCAAI,mBAAmBlP,KAAvB,aAAI,sBAA0BwrD,aAA9B,EAA6C;AAC3C,WAAOxwB,GAAG,CAACh7B,KAAJ,CAAUkP,MAAV,CAAiBlP,KAAjB,CAAuBwrD,aAA9B;AACD;;AACD,QAAM,IAAIvrD,KAAJ,CAAU,yBAAV,CAAN;AACD,CAXD;;AAaA,IAAauL,aAAW;AAAA,yEAAG,iBACzBskC,SADyB,EAEzBp3B,OAFyB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAIJ6yC,sBAAsB,CAACzb,SAAD,CAAtB,CAAkCp3B,OAAlC,CAJI;;AAAA;AAAA;AAIlBoE,YAAAA,IAJkB,yBAIlBA,IAJkB;AAAA,6CAKlBA,IALkB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAXtR,WAAW;AAAA;AAAA;AAAA,GAAjB;AAQP,IAAMkN,OAAO,GAAyC;AACpDwZ,EAAAA,GAAG,EAAE,kBAD+C;AAEpDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAACkB,YAFwC;AAGpDm3B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAHwC;AAOpD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAPwC;AAWpD4B,EAAAA,KAAK,EAAE;AACLE,IAAAA,SAAS,EAAE;AACTvL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL39B,IAAAA,SAAS,EAAE;AACTxO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE,KAFD;AAGTD,MAAAA,KAAK,EAAE;AAHE,KALN;AAUL5gC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KAVN;AAcLqiB,IAAAA,MAAM,EAAE;AACNxuD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KAdH;AAkBLsiB,IAAAA,OAAO,EAAE;AACPzuD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAlBJ;AAsBLuiB,IAAAA,QAAQ,EAAE;AACR1uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KAtBL;AA0BLmB,IAAAA,OAAO,EAAE;AACPttC,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KA1BJ;AA8BL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KA9BJ;AAkCLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KAlCH;AAsCLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAtCL;AA0CLyiB,IAAAA,YAAY,EAAE;AACZ5uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADT;AAEZ+N,MAAAA,QAAQ,EAAE;AAFE,KA1CT;AA8CL0iB,IAAAA,aAAa,EAAE;AACb7uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADR;AAEb+N,MAAAA,QAAQ,EAAE;AAFG,KA9CV;AAkDLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KAlDF;AAuDL2iB,IAAAA,WAAW,EAAE;AACX9uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADV;AAEX8N,MAAAA,QAAQ,EAAE,KAFC;AAGXztC,MAAAA,KAAK,EAAE;YAAE2M,cAAAA;AACP,eAAO8C,iBAAiB,CAACoC,IAAlB,CAAuB,IAAvB,EAA6BlF,KAA7B,CAAP;AACD;AALU;AAvDR,GAX6C;AA0EpD2rC,EAAAA,QAAQ,EAAE5rC,sBA1E0C;AA2EpD+3B,EAAAA,iBAAiB,EAAE,6BAAC/0B,MAAD;AACjBA,IAAAA,MAAM,CAACrL,KAAP,CAAawrD,aAAb,GAA6B,UAAC1uC,IAAD;UAACA;AAAAA,QAAAA,OAAY;;;AACxC,UAAI,CAACzR,MAAM,CAACgF,KAAZ,EAAmB;AACjB,cAAM,IAAIpQ,KAAJ,CAAU,sCAAV,CAAN;AACD;;AACD,aAAO+rD,WAAS,CAACrvC,IAAV,CAAetR,MAAM,CAACgF,KAAP,CAAaa,aAA5B,EAA2Co6C,kBAA3C,EAA+DxuC,IAA/D,EAAqE;AAC1EjU,QAAAA,MAAM,EAAEZ,MAAM,CAACY;AAD2D,OAArE,CAAP;AAGD,KAPD;;AAQA,WAAOu3B,iBAAiB,CAAC/0B,MAAD,CAAxB;AACD,GArFmD;AAsFpDg1B,EAAAA,iBAAiB,EAAE;QAAEjvB,YAAAA;QAAK9I,cAAAA;AACxB,QAAMoqB,IAAI,GAAGthB,GAAG,CAACvM,aAAJ,CAAkB,MAAlB,CAAb;AACA,QAAM+F,IAAI,GAAGwG,GAAG,CAACvM,aAAJ,CAAkB,MAAlB,CAAb;AACA+F,IAAAA,IAAI,CAAChH,KAAL,CAAWqoD,MAAX,GAAoB,GAApB;AACA,QAAMlZ,GAAG,GAAG3hC,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAZ;AACAkuC,IAAAA,GAAG,CAACnvC,KAAJ,CAAU8C,MAAV,GAAmB,MAAnB;AACAqsC,IAAAA,GAAG,CAACnvC,KAAJ,CAAUsoD,SAAV,GAAsB,YAAtB;AACA,QAAMtoD,KAAK,GAAG0E,KAAK,CAAC1E,KAAN,IAAe0E,KAAK,CAAC6jD,UAAnC;;AACA,QAAIvoD,KAAJ,YAAIA,KAAK,CAAEwoD,IAAX,EAAiB;AACfzxD,MAAAA,MAAM,CAACqvB,MAAP,CAAc+oB,GAAG,CAACnvC,KAAlB,EAAyBD,cAAc,CAACC,KAAK,CAACwoD,IAAP,CAAvC;AACD;;AACD,QAAIxoD,KAAJ,YAAIA,KAAK,CAAEyoD,OAAX,EAAoB;AAClB1xD,MAAAA,MAAM,CAACqvB,MAAP,CAAc+oB,GAAG,CAACnvC,KAAlB,EAAyBD,cAAc,CAACC,KAAK,CAACyoD,OAAP,CAAvC;AACD;;AACDzhD,IAAAA,IAAI,CAAC1F,WAAL,CAAiB6tC,GAAjB;AACArgB,IAAAA,IAAI,CAACxtB,WAAL,CAAiB0F,IAAjB;AACA,WAAO8nB,IAAP;AACD;AAvGmD,CAAtD;AA0GA,IAAa45B,SAAS,gBAAmClB,IAAI,CAAC3uD,MAAL,CAAYic,OAAZ,CAAlD;;ACnIP,IAAMA,SAAO,GAA4C;AACvDwZ,EAAAA,GAAG,EAAE,qBADkD;AAEvDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAACmB,eAF2C;AAGvDk3B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAH2C;AAOvD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAP2C;AAWvD05B,EAAAA,iBAAiB,EAAjBA,iBAXuD;AAYvDC,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAZoC;AAavDuN,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKLmjB,IAAAA,MAAM,EAAE;AACNtvD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADf;AAEN6N,MAAAA,QAAQ,EAAE;AAFJ,KALH;AASLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KATL;AAaLojB,IAAAA,oBAAoB,EAAE;AACpBvvD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADD;AAEpB6N,MAAAA,QAAQ,EAAE;AAFU,KAbjB;AAiBLqjB,IAAAA,UAAU,EAAE;AACVxvD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADX;AAEV6N,MAAAA,QAAQ,EAAE;AAFA,KAjBP;AAqBLsjB,IAAAA,QAAQ,EAAE;AACRzvD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADb;AAER+N,MAAAA,QAAQ,EAAE;AAFF,KArBL;AAyBLlhC,IAAAA,aAAa,EAAE;AACbjL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADR;AAEb+N,MAAAA,QAAQ,EAAE;AAFG,KAzBV;AA6BLujB,IAAAA,qBAAqB,EAAE;AACrB1vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAekS,KADA;AAErB2N,MAAAA,QAAQ,EAAE;AAFW,KA7BlB;AAiCLwjB,IAAAA,YAAY,EAAE;AACZ3vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADT;AAEZgO,MAAAA,QAAQ,EAAE;AAFE,KAjCT;AAqCLyjB,IAAAA,cAAc,EAAE;AACd5vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADP;AAEd+N,MAAAA,QAAQ,EAAE;AAFI,KArCX;AAyCL0jB,IAAAA,eAAe,EAAE;AACf7vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADN;AAEf+N,MAAAA,QAAQ,EAAE;AAFK,KAzCZ;AA6CL2jB,IAAAA,QAAQ,EAAE;AACR9vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KA7CL;AAiDL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAjDJ;AAqDLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KArDH;AAyDL4jB,IAAAA,MAAM,EAAE;AACN/vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KAzDH;AA6DLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL;AA7DF;AAbgD,CAAzD;AAkFA,IAAa6jB,YAAY,gBAAsC7B,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAAxD;AAEP,IAAa9M,gBAAc;AAAA,yEAAG,kBAAOP,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACtB6hD,YAAAA,QADsB,GACX3oD,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CADW;AAEtBsoD,YAAAA,YAFsB,GAEP5oD,QAAQ,CAACqG,IAAT,CAAchH,KAAd,CAAoBwpD,QAFb;AAG5B7oD,YAAAA,QAAQ,CAACqG,IAAT,CAAc1F,WAAd,CAA0BgoD,QAA1B;AAH4B,8CAIrB,IAAIttD,OAAJ;AAAA,yEAA2B,iBAAOX,OAAP,EAAgBC,MAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAC1BmuD,wBAAAA,KAD0B,GAClB,IAAIJ,YAAJ,cACT5hD,MADS;AAEZkhD,0BAAAA,MAAM,EAAE,IAFI;AAGZS,0BAAAA,MAAM,EAAE;AACNryD,4BAAAA,MAAM,CAACqvB,MAAP,CAAczlB,QAAQ,CAACqG,IAAT,CAAchH,KAA5B,EAAmC;AAACwpD,8BAAAA,QAAQ,EAAE;AAAX,6BAAnC;AACAzyD,4BAAAA,MAAM,CAACqvB,MAAP,CAAckjC,QAAQ,CAACtpD,KAAvB,EAA8B;AAC5B0pD,8BAAAA,QAAQ,EAAE,OADkB;AAE5BF,8BAAAA,QAAQ,EAAE,QAFkB;AAG5Bt1B,8BAAAA,OAAO,EAAE,OAHmB;AAI5B/mB,8BAAAA,GAAG,EAAE,CAJuB;AAK5Bw8C,8BAAAA,MAAM,EAAE,CALoB;AAM5BxnB,8BAAAA,IAAI,EAAE,CANsB;AAO5BynB,8BAAAA,KAAK,EAAE,CAPqB;AAQ5B7mD,8BAAAA,KAAK,EAAE,MARqB;AAS5BD,8BAAAA,MAAM,EAAE,MAToB;AAU5B+mD,8BAAAA,MAAM,EAAE;AAVoB,6BAA9B;AAYD,2BAjBW;AAkBZV,0BAAAA,QAAQ,EAAE,kBAAC3tD,MAAD;AACRH,4BAAAA,OAAO,CAACG,MAAD,CAAP;AACAzE,4BAAAA,MAAM,CAACqvB,MAAP,CAAczlB,QAAQ,CAACqG,IAAT,CAAchH,KAA5B,EAAmC;AAACwpD,8BAAAA,QAAQ,EAAED;AAAX,6BAAnC;AACA5oD,4BAAAA,QAAQ,CAACqG,IAAT,CAAckiB,WAAd,CAA0BogC,QAA1B;AACD,2BAtBW;AAuBZ34C,0BAAAA,OAAO,EAAE,iBAAChV,KAAD;AACPL,4BAAAA,MAAM,CAACK,KAAD,CAAN;AACA5E,4BAAAA,MAAM,CAACqvB,MAAP,CAAczlB,QAAQ,CAACqG,IAAT,CAAchH,KAA5B,EAAmC;AAACwpD,8BAAAA,QAAQ,EAAED;AAAX,6BAAnC;AACA5oD,4BAAAA,QAAQ,CAACqG,IAAT,CAAckiB,WAAd,CAA0BogC,QAA1B;AACD;AA3BW,2BADkB;AAAA;AAAA,+BA8B1BG,KAAK,CAAC7iB,MAAN,CAAa0iB,QAAb,CA9B0B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA3B;;AAAA;AAAA;AAAA;AAAA,gBAJqB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAdthD,cAAc;AAAA;AAAA;AAAA,GAApB;;ACnFP,IAAMg9C,SAAS,GAAG,cAAlB;;AAEA,IAAM8E,YAAY;AAAA,yEAAG,kBAAOplD,KAAP,EAA2BtI,KAA3B,EAAuCgE,GAAvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACED,UAAU,CAACC,GAAD,EAAMsE,KAAK,CAAC0qC,QAAZ,EAAsB;AAAC4V,cAAAA,SAAS,EAATA,SAAD;AAAY5V,cAAAA,QAAQ,EAAE1qC,KAAK,CAAC0qC;AAA5B,aAAtB,EAA6D,IAA7D,CADZ;;AAAA;AACbpuC,YAAAA,MADa;AAEnB5E,YAAAA,KAAK,CAAC2tD,UAAN,GAAmB/oD,MAAM,CAACV,OAAP,CAAe0pD,OAAlC;AACMC,YAAAA,YAHa,GAGE;AACnBC,cAAAA,MAAM,EAAE,YADW;AAEnBC,cAAAA,OAAO,EAAE;AAFU,aAHF;AAObnqD,YAAAA,KAPa,gBAODiqD,YAPC,EAOgBvlD,KAAK,CAAC1E,KAPtB;;AAQnB,gBAAI,OAAOA,KAAK,CAAC8C,MAAb,KAAwB,QAA5B,EAAsC;AACpC9C,cAAAA,KAAK,CAAC8C,MAAN,GAAemR,QAAQ,CAACjU,KAAK,CAAC8C,MAAN,CAAa6Q,OAAb,CAAqB,IAArB,EAA2B,EAA3B,CAAD,CAAvB;AACD;;AACDjP,YAAAA,KAAK,CAACsjD,MAAN,oBAAAtjD,KAAK,CAACsjD,MAAN,CAAe,IAAf;AAXmB;AAAA,mBAabrmD,MAAM,CAACqjD,SAAD,CAAN,CACHoF,OADG,CACK;AACPC,cAAAA,WAAW;AAAA,kFAAE;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCAEYziD,WAAW,CAAC;AAC/BjD,4BAAAA,SAAS,EAAED,KAAK,CAACC,SADc;AAE/BC,4BAAAA,SAAS,EAAEF,KAAK,CAACE,SAFc;AAG/BiD,4BAAAA,SAAS,EAAEnD,KAAK,CAACmD,SAHc;AAI/BhD,4BAAAA,MAAM,EAAEH,KAAK,CAACG,MAJiB;AAK/BC,4BAAAA,QAAQ,EAAEJ,KAAK,CAACI,QALe;AAM/BgD,4BAAAA,eAAe,EAAEpD,KAAK,CAACoD,eANQ;AAO/BxD,4BAAAA,aAAa,EAAE;AACbgmD,8BAAAA,MAAM,EAAE;AADK;AAPgB,2BAAD,CAFvB;;AAAA;AAEH9uD,0BAAAA,MAFG;AAaT0iD,0BAAAA,KAAK,GAAG1iD,MAAM,CAAC+uD,YAAf;AAbS,6EAcF/uD,MAAM,CAAC8uD,MAdL,qBAcF,eAAeE,OAdb;;AAAA;AAAA;AAAA;AAgBT9lD,0BAAAA,KAAK,CAACiM,OAAN,oBAAAjM,KAAK,CAACiM,OAAN;AAhBS;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,iBADJ;AAqBP85C,cAAAA,SAAS,EAAE,mBAAUvxC,IAAV;AACT,oBAAIA,IAAI,CAACwxC,OAAT,EAAkB;AAChBhmD,kBAAAA,KAAK,CAACimD,QAAN,CAAe;AAACzM,oBAAAA,KAAK,EAALA;AAAD,mBAAf;AACD,iBAFD,MAEO;AACLx5C,kBAAAA,KAAK,CAACiM,OAAN,oBAAAjM,KAAK,CAACiM,OAAN,CAAgBuI,IAAhB;AACD;AACF,eA3BM;AA4BPw9B,cAAAA,OAAO,EAAE,iBAAUkU,KAAV,EAAsBC,OAAtB;AACP,oBAAIC,UAAU,GAAG,IAAjB;;AACA,oBAAIpmD,KAAK,CAACqmD,YAAV,EAAwB;AACtBD,kBAAAA,UAAU,GAAGpmD,KAAK,CAACqmD,YAAN,EAAb;AACD;;AACD,oBAAI,CAACD,UAAL,EAAiB,OAAOD,OAAO,CAACvvD,MAAR,EAAP;AAClB,eAlCM;AAmCP0E,cAAAA,KAAK,EAALA;AAnCO,aADL,EAsCH4mC,MAtCG,CAsCIxqC,KAAK,CAAC4uD,WAtCV,CAba;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAZlB,YAAY;AAAA;AAAA;AAAA,GAAlB;;AAsDA,IAAMh1C,SAAO,GAAsC;AACjDwZ,EAAAA,GAAG,EAAE02B,SAD4C;AAEjDl+C,EAAAA,GAAG,EAAEzC,MAAM,CAACoB,SAFqC;AAGjDi3B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAHqC;AAOjD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAPqC;AAWjD25B,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAX8B;AAYjDqlC,EAAAA,iBAAiB,EAAE,6BAAC/0B,MAAD;AACjBA,IAAAA,MAAM,CAACrL,KAAP,CAAa4uD,WAAb,GAA2BvjD,MAAM,CAACgmB,SAAlC;;AACA,QAAI,CAAChmB,MAAM,CAAC/C,KAAP,CAAaE,SAAd,IAA2B,CAAC6C,MAAM,CAAC/C,KAAP,CAAaC,SAA7C,EAAwD;AACtD,YAAM,IAAItI,KAAJ,CAAU,4CAAV,CAAN;AACD;;AACD,QAAMoxB,SAAS,GAAG+O,iBAAiB,CAAC/0B,MAAD,CAAnC;;AACAA,IAAAA,MAAM,CAACqa,KAAP,CAAa3D,EAAb,CAAgBqpC,IAAI,CAAC1hC,KAAL,CAAWyS,OAA3B,EAAoC;AAClC52B,MAAAA,MAAM,CAACqjD,SAAD,CAAN,CAAkBoF,OAAlB,CAA0BrZ,SAA1B,CAAoCx2C,OAApC,CAA4C,UAACuvB,QAAD;AAC1CA,QAAAA,QAAQ,CAACrb,KAAT;AACD,OAFD;AAGA,UAAMw8C,QAAQ,GAAGxjD,MAAM,CAACrL,KAAP,CAAa2tD,UAA9B;;AACA,UAAIkB,QAAJ,EAAc;AACZ,YAAMjqD,MAAM,GAAGL,QAAQ,CAACgtB,aAAT,6BAAgDs9B,QAAhD,SAAf;;AACA,YAAIjqD,MAAJ,EAAY;AACVA,UAAAA,MAAM,CAACD,MAAP;AACD;AACF;AACF,KAXD;AAYA,WAAO0sB,SAAP;AACD,GA/BgD;AAgCjD/oB,EAAAA,KAAK,EAAE;AACLE,IAAAA,SAAS,EAAE;AACTvL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL39B,IAAAA,SAAS,EAAE;AACTxO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KALN;AASL7gC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KATN;AAaL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KAbH;AAiBL1gC,IAAAA,QAAQ,EAAE;AACRzL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAjBL;AAqBL19B,IAAAA,eAAe,EAAE;AACfzO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADN;AAEfgO,MAAAA,QAAQ,EAAE;AAFK,KArBZ;AAyBLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAzBL;AA6BL4J,IAAAA,QAAQ,EAAE;AACR/1C,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KA7BL;AAiCL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAjCJ;AAqCLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KArCH;AAyCLulB,IAAAA,YAAY,EAAE;AACZ1xD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADT;AAEZ8N,MAAAA,QAAQ,EAAE;AAFE,KAzCT;AA6CLmlB,IAAAA,QAAQ,EAAE;AACRtxD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KA7CL;AAiDLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KAjDF;AAsDL2iB,IAAAA,WAAW,EAAE;AACX9uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADV;AAEX8N,MAAAA,QAAQ,EAAE,KAFC;AAGXztC,MAAAA,KAAK,EAAE;YAAE2M,cAAAA;AACP,eAAO8C,iBAAiB,CAACoC,IAAlB,CAAuB,IAAvB,EAA6BlF,KAA7B,CAAP;AACD;AALU,KAtDR;AA6DLwmD,IAAAA,cAAc,EAAE;AACd7xD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADP;AAEd8N,MAAAA,QAAQ,EAAE,KAFI;AAGdztC,MAAAA,KAHc;YAGP2M,cAAAA;YAAOtI,cAAAA;AACZ,eAAO0tD,YAAY,CAAClgD,IAAb,CAAkB,IAAlB,EAAwBlF,KAAxB,EAA+BtI,KAA/B,CAAP;AACD;AALa;AA7DX;AAhC0C,CAAnD;AAuGA,IAAa+uD,MAAM,gBAAgC3D,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAA5C;;ACrKP,IAAYgR,KAAZ;;AAAA,WAAYA;AACVA,EAAAA,qBAAA,iBAAA;AACD,CAFD,EAAYA,KAAK,KAALA,KAAK,KAAA,CAAjB;;AAIA,SAAgB0W;MACd/nB,WAAAA;MACAhI,aAAAA;MACAw0B,sBAAAA;MACAzzB,WAAAA;MACA9I,aAAAA;MACAod,aAAAA;6BACA4a;MAAa35B,wBAAAA;MAAOD,yBAAAA;;AAEpB,MAAI,CAAC2J,KAAD,IAAU,CAACw0B,cAAf,EAA+B;AAC7B;AACD;;AAED,MAAMkO,GAAG,GAAG3hC,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAZ;;AAEA,MAAIyD,KAAK,CAAC0mD,QAAV,EAAoB;AAClBjc,IAAAA,GAAG,CAAC/tC,YAAJ,CAAiB,IAAjB,EAAuBqT,GAAvB;AACA06B,IAAAA,GAAG,CAACnvC,KAAJ,CAAUk0B,OAAV,GAAoB,MAApB;AACAib,IAAAA,GAAG,CAAC7tC,WAAJ,CAAgBmL,KAAhB;AACA0iC,IAAAA,GAAG,CAAC7tC,WAAJ,CAAgB2/B,cAAhB;AACA,WAAOkO,GAAP;AACD;;AAED,MAAMkc,QAAQ,GAAG79C,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAjB;AACAkuC,EAAAA,GAAG,CAAC/tC,YAAJ,CAAiB,IAAjB,EAAuBqT,GAAvB;AACA42C,EAAAA,QAAQ,CAAChc,SAAT,CAAmBC,GAAnB,CAAuB,UAAvB;AACAH,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgB+pD,QAAhB;AACA,MAAMrrD,KAAK,GAAGwN,GAAG,CAACvM,aAAJ,CAAkB,OAAlB,CAAd;;AACA,MAAIyD,KAAK,CAAC0qC,QAAV,EAAoB;AAClBpvC,IAAAA,KAAK,CAACoB,YAAN,CAAmB,OAAnB,EAA4BsD,KAAK,CAAC0qC,QAAlC;AACD;;AAEDpvC,EAAAA,KAAK,CAACsB,WAAN,CACEkM,GAAG,CAACqhB,cAAJ,eACKpa,GADL,mMASe1R,KATf,6BAUgBD,MAVhB,sDAaK2R,GAbL,gYA2BKA,GA3BL,qBA2BwB2yC,KAAK,CAACE,OA3B9B,mDA8BK7yC,GA9BL,0OAuCKA,GAvCL,kBAuCqB2yC,KAAK,CAACC,SAvC3B,mDA0CK5yC,GA1CL,kBA0CqB2yC,KAAK,CAACE,OA1C3B,8CADF;AAiDAnY,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgBmL,KAAhB;AACA0iC,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgB2/B,cAAhB;AACAkO,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgBtB,KAAhB;AAEAihC,EAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B8X,KAAK,CAACE,OAAnC;AACA76C,EAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB8X,KAAK,CAACC,SAA1B;AAEAl3C,EAAAA,UAAU,CAAC;AACTk7C,IAAAA,QAAQ,CAAChc,SAAT,CAAmBC,GAAnB,CAAuB8X,KAAK,CAACE,OAA7B;AACD,GAFS,EAEP,CAFO,CAAV;AAIAxlC,EAAAA,KAAK,CAAC3D,EAAN,CAASqpC,IAAI,CAAC1hC,KAAL,CAAWmS,QAApB,EAA8B;AAC5BgJ,IAAAA,cAAc,CAACoO,SAAf,CAAyBtuC,MAAzB,CAAgCqmD,KAAK,CAACE,OAAtC;AACArmB,IAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B8X,KAAK,CAACC,SAAnC;AAEA56C,IAAAA,KAAK,CAAC4iC,SAAN,CAAgBtuC,MAAhB,CAAuBqmD,KAAK,CAACC,SAA7B;AACA56C,IAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB8X,KAAK,CAACE,OAA1B;AAEAn3C,IAAAA,UAAU,CAAC;AACTs3C,MAAAA,QAAM,CAACj4B,cAAP,CAAsByR,cAAtB;AACD,KAFS,EAEP,CAFO,CAAV;AAGD,GAVD;AAYAnf,EAAAA,KAAK,CAAC3D,EAAN,CAAS2H,KAAK,CAACwlC,YAAf,EAA6B;AAC3BD,IAAAA,QAAQ,CAAChc,SAAT,CAAmBtuC,MAAnB,CAA0BqmD,KAAK,CAACE,OAAhC;AACD,GAFD;AAIAxlC,EAAAA,KAAK,CAAC3D,EAAN,CAASqpC,IAAI,CAAC1hC,KAAL,CAAW2S,MAApB,EAA4B;QAASpI,iBAAPttB;QAAyButB,kBAARxtB;;AAC7C,QAAI,OAAOutB,QAAP,KAAoB,QAAxB,EAAkC;AAChC8e,MAAAA,GAAG,CAACnvC,KAAJ,CAAU+C,KAAV,GAAkB0kD,QAAM,CAACh2B,KAAP,CAAapB,QAAb,CAAlB;AACD;;AAED,QAAI,OAAOC,SAAP,KAAqB,QAAzB,EAAmC;AACjC6e,MAAAA,GAAG,CAACnvC,KAAJ,CAAU8C,MAAV,GAAmB2kD,QAAM,CAACh2B,KAAP,CAAanB,SAAb,CAAnB;AACD;AACF,GARD;AAUA,SAAO6e,GAAP;AACD;;AChID;AACA,AAMA,IAAMr6B,SAAO,GAA0C;AACrDwZ,EAAAA,GAAG,EAAE,aADgD;AAErDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAACqB,QAFyC;AAGrDg3B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAHyC;AAOrD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAPyC;AAWrD25B,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAXkC;AAYrDqlC,EAAAA,iBAAiB,EAAEA,mBAZkC;AAarD93B,EAAAA,KAAK,EAAE;AACLE,IAAAA,SAAS,EAAE;AACTvL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL39B,IAAAA,SAAS,EAAE;AACTxO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KALN;AASL7gC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KATN;AAaL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KAbH;AAiBL1gC,IAAAA,QAAQ,EAAE;AACRzL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAjBL;AAqBL19B,IAAAA,eAAe,EAAE;AACfzO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADN;AAEfgO,MAAAA,QAAQ,EAAE;AAFK,KArBZ;AAyBLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAzBL;AA6BL+lB,IAAAA,WAAW,EAAE;AACXlyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADV;AAEXgO,MAAAA,QAAQ,EAAE;AAFC,KA7BR;AAiCL4lB,IAAAA,QAAQ,EAAE;AACR/xD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADb;AAER6N,MAAAA,QAAQ,EAAE;AAFF,KAjCL;AAqCL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KArCJ;AAyCLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KAzCH;AA6CLmlB,IAAAA,QAAQ,EAAE;AACRtxD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KA7CL;AAiDL4jB,IAAAA,MAAM,EAAE;AACN/vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KAjDH;AAqDLgmB,IAAAA,aAAa,EAAE;AACbnyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADR;AAEb8N,MAAAA,QAAQ,EAAE,KAFG;AAGb,iBAAS;YAAE1jB,aAAAA;AACT,eAAO;AACLA,UAAAA,KAAK,CAAC0b,OAAN,CAAc1X,KAAK,CAACwlC,YAApB;AACD,SAFD;AAGD;AAPY;AArDV,GAb8C;AA4ErDz0D,EAAAA,OAAO,EAAE;AACP40D,IAAAA,cAAc,EAAE;AACdpyD,MAAAA,IAAI,EAAE;AADQ,KADT;AAIPqyD,IAAAA,cAAc,EAAE;AACdryD,MAAAA,IAAI,EAAE;AADQ;AAJT;AA5E4C,CAAvD;AAsFA,IAAasyD,UAAU,gBAAoCnE,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAApD;;AC/EP,IAAMA,SAAO,GAAqC;AAChDwZ,EAAAA,GAAG,EAAE,oBAD2C;AAEhDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAACsB,cAFoC;AAGhD+2B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAHoC;AAOhD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAPoC;AAWhDutC,EAAAA,QAAQ,EAAE5rC,sBAXsC;AAYhD+3B,EAAAA,iBAAiB,EAAjBA,iBAZgD;AAahDC,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAb6B;AAchDuN,EAAAA,KAAK,EAAE;AACLE,IAAAA,SAAS,EAAE;AACTvL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL39B,IAAAA,SAAS,EAAE;AACTxO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KALN;AASL7gC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KATN;AAaL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KAbH;AAiBL1gC,IAAAA,QAAQ,EAAE;AACRzL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAjBL;AAqBL19B,IAAAA,eAAe,EAAE;AACfzO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADN;AAEfgO,MAAAA,QAAQ,EAAE;AAFK,KArBZ;AAyBLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAzBL;AA6BL+lB,IAAAA,WAAW,EAAE;AACXlyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADV;AAEXgO,MAAAA,QAAQ,EAAE;AAFC,KA7BR;AAiCL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAjCJ;AAqCLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KArCH;AAyCLulB,IAAAA,YAAY,EAAE;AACZ1xD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADT;AAEZ8N,MAAAA,QAAQ,EAAE;AAFE,KAzCT;AA6CLmlB,IAAAA,QAAQ,EAAE;AACRtxD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KA7CL;AAiDL4jB,IAAAA,MAAM,EAAE;AACN/vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KAjDH;AAqDLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KArDF;AA0DL2iB,IAAAA,WAAW,EAAE;AACX9uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADV;AAEX8N,MAAAA,QAAQ,EAAE,KAFC;AAGXztC,MAAAA,KAAK,EAAE;YAAE2M,aAAAA;AACP,eAAO8C,iBAAiB,CAACoC,IAAlB,CAAuB,IAAvB,EAA6BlF,KAA7B,CAAP;AACD;AALU,KA1DR;AAiELknD,IAAAA,SAAS,EAAE;AACTvyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADZ;AAET8N,MAAAA,QAAQ,EAAE,KAFD;AAGTztC,MAAAA,KAAK,EAAE;YAAE2M,cAAAA;YAAOtI,cAAAA;AACd,YAAMktD,QAAQ,GAAG3oD,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CAAjB;AACAN,QAAAA,QAAQ,CAACqG,IAAT,CAAc1F,WAAd,CAA0BgoD,QAA1B;AACA,eAAO;cAAEzkD,eAAAA;cAAQC,iBAAAA;AACf,cAAI1I,KAAK,CAACusD,MAAV,EAAkB;AAClB,cAAImC,UAAU,GAAG,IAAjB;;AACA,cAAIpmD,KAAK,CAACqmD,YAAV,EAAwB;AACtBD,YAAAA,UAAU,GAAGpmD,KAAK,CAACqmD,YAAN,EAAb;AACD;;AACD,cAAI,CAACD,UAAL,EAAiB;AACjB1uD,UAAAA,KAAK,CAACusD,MAAN,GAAe,IAAf;AACA,cAAMkD,UAAU,GAAG,IAAIF,UAAJ;AACjB9mD,YAAAA,MAAM,EAANA,MADiB;AAEjBC,YAAAA,QAAQ,EAARA;AAFiB,aAGdJ,KAHc;AAIjB+hC,YAAAA,OAAO,EAAE;AACPrqC,cAAAA,KAAK,CAACusD,MAAN,GAAe,KAAf;AACAhnD,cAAAA,MAAM,CAACmqD,UAAP,GAAoB,IAApB;AACAnrD,cAAAA,QAAQ,CAACqG,IAAT,CAAchH,KAAd,CAAoBwpD,QAApB,GAA+B,EAA/B;AACD,aARgB;AASjBb,YAAAA,MAAM,EAAE;AATS,aAAnB;AAWAhnD,UAAAA,MAAM,CAACoqD,OAAP,CAAeC,SAAf,CAAyB,IAAzB,EAA+B,EAA/B,EAAmCrqD,MAAM,CAACwJ,QAAP,CAAgBwQ,IAAnD;;AACAha,UAAAA,MAAM,CAACmqD,UAAP,GAAoB;AAAA,mBAAMD,UAAU,CAAC3mB,WAAX,CAAuB;AAACyjB,cAAAA,MAAM,EAAE;AAAT,aAAvB,CAAN;AAAA,WAApB;;AACA5xD,UAAAA,MAAM,CAACqvB,MAAP,CAAczlB,QAAQ,CAACqG,IAAT,CAAchH,KAA5B,EAAmC;AAACwpD,YAAAA,QAAQ,EAAE;AAAX,WAAnC;AACA,iBAAOqC,UAAU,CAACjlB,MAAX,CAAkB0iB,QAAlB,CAAP;AACD,SAvBD;AAwBD;AA9BQ;AAjEN;AAdyC,CAAlD;AAkHA,IAAa2C,KAAK,gBAA+BzE,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAA1C;;AC3HP,IAAYgR,OAAZ;;AAAA,WAAYA;AACVA,EAAAA,qBAAA,iBAAA;AACD,CAFD,EAAYA,OAAK,KAALA,OAAK,KAAA,CAAjB;;AAIA,SAAgB0W;MACd/nB,WAAAA;MACAhI,aAAAA;MACAw0B,sBAAAA;MACAzzB,WAAAA;MACA9I,aAAAA;MACAod,aAAAA;6BACA4a;MAAa35B,wBAAAA;MAAOD,yBAAAA;;AAEpB,MAAI,CAAC2J,KAAD,IAAU,CAACw0B,cAAf,EAA+B;AAC7B;AACD;;AAED,MAAMkO,GAAG,GAAG3hC,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAZ;AACA,MAAMoqD,QAAQ,GAAG79C,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAjB;AACAkuC,EAAAA,GAAG,CAAC/tC,YAAJ,CAAiB,IAAjB,EAAuBqT,GAAvB;AACA42C,EAAAA,QAAQ,CAAChc,SAAT,CAAmBC,GAAnB,CAAuB,UAAvB;AACAH,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgB+pD,QAAhB;AACA,MAAMrrD,KAAK,GAAGwN,GAAG,CAACvM,aAAJ,CAAkB,OAAlB,CAAd;;AACA,MAAIyD,KAAK,CAAC0qC,QAAV,EAAoB;AAClBpvC,IAAAA,KAAK,CAACoB,YAAN,CAAmB,OAAnB,EAA4BsD,KAAK,CAAC0qC,QAAlC;AACD;;AAEDpvC,EAAAA,KAAK,CAACsB,WAAN,CACEkM,GAAG,CAACqhB,cAAJ,eACKpa,GADL,mMASe1R,KATf,6BAUgBD,MAVhB,sDAaK2R,GAbL,gYA2BKA,GA3BL,qBA2BwB2yC,KAAK,CAACE,OA3B9B,mDA8BK7yC,GA9BL,0OAuCKA,GAvCL,kBAuCqB2yC,KAAK,CAACC,SAvC3B,mDA0CK5yC,GA1CL,kBA0CqB2yC,KAAK,CAACE,OA1C3B,8CADF;AAiDAnY,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgBmL,KAAhB;AACA0iC,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgB2/B,cAAhB;AACAkO,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgBtB,KAAhB;AAEAihC,EAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B8X,KAAK,CAACE,OAAnC;AACA76C,EAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB8X,KAAK,CAACC,SAA1B;AAEAl3C,EAAAA,UAAU,CAAC;AACTk7C,IAAAA,QAAQ,CAAChc,SAAT,CAAmBC,GAAnB,CAAuB8X,KAAK,CAACE,OAA7B;AACD,GAFS,EAEP,CAFO,CAAV;AAIAxlC,EAAAA,KAAK,CAAC3D,EAAN,CAASqpC,IAAI,CAAC1hC,KAAL,CAAWmS,QAApB,EAA8B;AAC5BgJ,IAAAA,cAAc,CAACoO,SAAf,CAAyBtuC,MAAzB,CAAgCqmD,KAAK,CAACE,OAAtC;AACArmB,IAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B8X,KAAK,CAACC,SAAnC;AAEA56C,IAAAA,KAAK,CAAC4iC,SAAN,CAAgBtuC,MAAhB,CAAuBqmD,KAAK,CAACC,SAA7B;AACA56C,IAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB8X,KAAK,CAACE,OAA1B;AAEAn3C,IAAAA,UAAU,CAAC;AACTs3C,MAAAA,QAAM,CAACj4B,cAAP,CAAsByR,cAAtB;AACD,KAFS,EAEP,CAFO,CAAV;AAGD,GAVD;AAYAnf,EAAAA,KAAK,CAAC3D,EAAN,CAAS2H,OAAK,CAACwlC,YAAf,EAA6B;AAC3BD,IAAAA,QAAQ,CAAChc,SAAT,CAAmBtuC,MAAnB,CAA0BqmD,KAAK,CAACE,OAAhC;AACD,GAFD;AAIAxlC,EAAAA,KAAK,CAAC3D,EAAN,CAASqpC,IAAI,CAAC1hC,KAAL,CAAW2S,MAApB,EAA4B;QAASpI,iBAAPttB;QAAyButB,kBAARxtB;;AAC7C,QAAI,OAAOutB,QAAP,KAAoB,QAAxB,EAAkC;AAChC8e,MAAAA,GAAG,CAACnvC,KAAJ,CAAU+C,KAAV,GAAkB0kD,QAAM,CAACh2B,KAAP,CAAapB,QAAb,CAAlB;AACD;;AAED,QAAI,OAAOC,SAAP,KAAqB,QAAzB,EAAmC;AACjC6e,MAAAA,GAAG,CAACnvC,KAAJ,CAAU8C,MAAV,GAAmB2kD,QAAM,CAACh2B,KAAP,CAAanB,SAAb,CAAnB;AACD;AACF,GARD;AAUA,SAAO6e,GAAP;AACD;;ACvHD;AACA,AAMA,IAAMr6B,SAAO,GAA4C;AACvDwZ,EAAAA,GAAG,EAAE,eADkD;AAEvDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAACuB,UAF2C;AAGvD82B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAH2C;AAOvD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAP2C;AAWvD25B,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAXoC;AAYvDqlC,EAAAA,iBAAiB,EAAEA,mBAZoC;AAavD93B,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KALH;AASL1gC,IAAAA,QAAQ,EAAE;AACRzL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KATL;AAaLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAbL;AAiBL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAjBJ;AAqBLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KArBH;AAyBLmlB,IAAAA,QAAQ,EAAE;AACRtxD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KAzBL;AA6BL4jB,IAAAA,MAAM,EAAE;AACN/vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KA7BH;AAiCLgmB,IAAAA,aAAa,EAAE;AACbnyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADR;AAEb8N,MAAAA,QAAQ,EAAE,KAFG;AAGb,iBAAS;YAAE1jB,aAAAA;AACT,eAAO;AACLA,UAAAA,KAAK,CAAC0b,OAAN,CAAc1X,OAAK,CAACwlC,YAApB;AACD,SAFD;AAGD;AAPY;AAjCV;AAbgD,CAAzD;AA0DA,IAAaY,YAAY,gBAAsC1E,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAAxD;;ACjEP;AACA,AAKA,IAAMA,SAAO,GAA6C;AACxDwZ,EAAAA,GAAG,EAAE,sBADmD;AAExDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAACyB,gBAF4C;AAGxD42B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAH4C;AAOxD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAP4C;AAWxD25B,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAXqC;AAYxDuN,EAAAA,KAAK,EAAE;AACLE,IAAAA,SAAS,EAAE;AACTvL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KALH;AASL2mB,IAAAA,SAAS,EAAE;AACT9yD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADZ;AAET4N,MAAAA,QAAQ,EAAE;AAFD,KATN;AAaLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE,KAFF;AAGR,iBAAS;AAAA,eAAM,IAAN;AAAA;AAHD,KAbL;AAkBL4mB,IAAAA,QAAQ,EAAE;AACR/yD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADb;AAER6N,MAAAA,QAAQ,EAAE;AAFF,KAlBL;AAsBLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KAtBF;AA2BL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KA3BJ;AA+BLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KA/BH;AAmCLomB,IAAAA,SAAS,EAAE;AACTvyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADZ;AAET8N,MAAAA,QAAQ,EAAE,KAFD;AAGTztC,MAAAA,KAAK,EAAE;AACL,eAAO,UAAC+O,GAAD;AACLnF,UAAAA,MAAM,CAACob,IAAP,CAAYjW,GAAZ,EAAiB,QAAjB;AACD,SAFD;AAGD;AAPQ;AAnCN;AAZiD,CAA1D;AA2DA,IAAaulD,aAAa,gBAAuC7E,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAA1D;;AClDP,IAAMA,SAAO,GAAuC;AAClDwZ,EAAAA,GAAG,EAAE,sBAD6C;AAElDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAACwB,gBAFsC;AAGlD62B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAHsC;AAOlD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAPsC;AAWlDutC,EAAAA,QAAQ,EAAE5rC,sBAXwC;AAYlD+3B,EAAAA,iBAAiB,EAAjBA,iBAZkD;AAalDC,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAb+B;AAclDuN,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KALL;AASL8mB,IAAAA,IAAI,EAAE;AACJjzD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADjB;AAEJ,iBAAS;AAAA,eAAM,IAAN;AAAA,OAFL;AAGJ6N,MAAAA,QAAQ,EAAE;AAHN,KATD;AAcL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAdJ;AAkBLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KAlBH;AAsBLulB,IAAAA,YAAY,EAAE;AACZ1xD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADT;AAEZ8N,MAAAA,QAAQ,EAAE;AAFE,KAtBT;AA0BL4jB,IAAAA,MAAM,EAAE;AACN/vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KA1BH;AA8BLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KA9BF;AAmCL2iB,IAAAA,WAAW,EAAE;AACX9uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADV;AAEX8N,MAAAA,QAAQ,EAAE,KAFC;AAGXztC,MAAAA,KAAK,EAAE;YAAE2M,aAAAA;AACP,eAAO8C,iBAAiB,CAACoC,IAAlB,CAAuB,IAAvB,EAA6BlF,KAA7B,CAAP;AACD;AALU,KAnCR;AA0CL6nD,IAAAA,aAAa,EAAE;AACblzD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADR;AAEb8N,MAAAA,QAAQ,EAAE,KAFG;AAGbztC,MAAAA,KAAK,EAAE;AACL,eAAO,UAAC+O,GAAD;AACLnF,UAAAA,MAAM,CAACob,IAAP,CAAYjW,GAAZ,EAAiB,QAAjB;AACD,SAFD;AAGD;AAPY,KA1CV;AAmDL8kD,IAAAA,SAAS,EAAE;AACTvyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADZ;AAET8N,MAAAA,QAAQ,EAAE,KAFD;AAGTztC,MAAAA,KAAK,EAAE;YAAE2M,cAAAA;AACP,YAAM4kD,QAAQ,GAAG3oD,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CAAjB;AACAN,QAAAA,QAAQ,CAACqG,IAAT,CAAc1F,WAAd,CAA0BgoD,QAA1B;AACA,eAAO;cAAEzkD,eAAAA;cAAQC,iBAAAA;cAAUF,kBAAAA;AACzB,cAAIkmD,UAAU,GAAG,IAAjB;;AACA,cAAIpmD,KAAK,CAACqmD,YAAV,EAAwB;AACtBD,YAAAA,UAAU,GAAGpmD,KAAK,CAACqmD,YAAN,EAAb;AACD;;AACD,cAAI,CAACD,UAAL,EAAiB;AACjB,cAAM0B,YAAY,GAAG,IAAIN,YAAJ,cAChBxnD,KADgB;AAEnBG,YAAAA,MAAM,EAANA,MAFmB;AAGnBC,YAAAA,QAAQ,EAARA,QAHmB;AAInBF,YAAAA,SAAS,EAATA,SAJmB;AAKnB6hC,YAAAA,OAAO,EAAE;AACP9kC,cAAAA,MAAM,CAACmqD,UAAP,GAAoB,IAApB;AACAnrD,cAAAA,QAAQ,CAACqG,IAAT,CAAchH,KAAd,CAAoBwpD,QAApB,GAA+B,EAA/B;AACD,aARkB;AASnBb,YAAAA,MAAM,EAAE;AATW,aAArB;AAWAhnD,UAAAA,MAAM,CAACoqD,OAAP,CAAeC,SAAf,CAAyB,IAAzB,EAA+B,EAA/B,EAAmCrqD,MAAM,CAACwJ,QAAP,CAAgBwQ,IAAnD;;AACAha,UAAAA,MAAM,CAACmqD,UAAP,GAAoB;AAAA,mBAAMU,YAAY,CAACtnB,WAAb,CAAyB;AAACyjB,cAAAA,MAAM,EAAE;AAAT,aAAzB,CAAN;AAAA,WAApB;;AACA5xD,UAAAA,MAAM,CAACqvB,MAAP,CAAczlB,QAAQ,CAACqG,IAAT,CAAchH,KAA5B,EAAmC;AAACwpD,YAAAA,QAAQ,EAAE;AAAX,WAAnC;AACA,iBAAOgD,YAAY,CAAC5lB,MAAb,CAAoB0iB,QAApB,CAAP;AACD,SArBD;AAsBD;AA5BQ;AAnDN;AAd2C,CAApD;AAkGA,IAAamD,OAAO,gBAAiCjF,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAA9C;;AC5GP,IAAYgR,OAAZ;;AAAA,WAAYA;AACVA,EAAAA,qBAAA,iBAAA;AACD,CAFD,EAAYA,OAAK,KAALA,OAAK,KAAA,CAAjB;;AAIA,SAAgB0W;MACd/nB,WAAAA;MACAhI,aAAAA;MACAw0B,sBAAAA;MACAzzB,WAAAA;MACA9I,aAAAA;MACAod,aAAAA;6BACA4a;MAAa35B,wBAAAA;MAAOD,yBAAAA;;AAEpB,MAAI,CAAC2J,KAAD,IAAU,CAACw0B,cAAf,EAA+B;AAC7B;AACD;;AAED,MAAMkO,GAAG,GAAG3hC,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAZ;AACA,MAAMoqD,QAAQ,GAAG79C,GAAG,CAACvM,aAAJ,CAAkB,KAAlB,CAAjB;AACAkuC,EAAAA,GAAG,CAAC/tC,YAAJ,CAAiB,IAAjB,EAAuBqT,GAAvB;AACA42C,EAAAA,QAAQ,CAAChc,SAAT,CAAmBC,GAAnB,CAAuB,UAAvB;AACAH,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgB+pD,QAAhB;AACA,MAAMrrD,KAAK,GAAGwN,GAAG,CAACvM,aAAJ,CAAkB,OAAlB,CAAd;;AACA,MAAIyD,KAAK,CAAC0qC,QAAV,EAAoB;AAClBpvC,IAAAA,KAAK,CAACoB,YAAN,CAAmB,OAAnB,EAA4BsD,KAAK,CAAC0qC,QAAlC;AACD;;AAEDpvC,EAAAA,KAAK,CAACsB,WAAN,CACEkM,GAAG,CAACqhB,cAAJ,eACKpa,GADL,mMASe1R,KATf,6BAUgBD,MAVhB,sDAaK2R,GAbL,gYA2BKA,GA3BL,qBA2BwB2yC,KAAK,CAACE,OA3B9B,mDA8BK7yC,GA9BL,0OAuCKA,GAvCL,kBAuCqB2yC,KAAK,CAACC,SAvC3B,mDA0CK5yC,GA1CL,kBA0CqB2yC,KAAK,CAACE,OA1C3B,8CADF;AAiDAnY,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgBmL,KAAhB;AACA0iC,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgB2/B,cAAhB;AACAkO,EAAAA,GAAG,CAAC7tC,WAAJ,CAAgBtB,KAAhB;AAEAihC,EAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B8X,KAAK,CAACE,OAAnC;AACA76C,EAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB8X,KAAK,CAACC,SAA1B;AAEAl3C,EAAAA,UAAU,CAAC;AACTk7C,IAAAA,QAAQ,CAAChc,SAAT,CAAmBC,GAAnB,CAAuB8X,KAAK,CAACE,OAA7B;AACD,GAFS,EAEP,CAFO,CAAV;AAIAxlC,EAAAA,KAAK,CAAC3D,EAAN,CAASqpC,IAAI,CAAC1hC,KAAL,CAAWmS,QAApB,EAA8B;AAC5BgJ,IAAAA,cAAc,CAACoO,SAAf,CAAyBtuC,MAAzB,CAAgCqmD,KAAK,CAACE,OAAtC;AACArmB,IAAAA,cAAc,CAACoO,SAAf,CAAyBC,GAAzB,CAA6B8X,KAAK,CAACC,SAAnC;AAEA56C,IAAAA,KAAK,CAAC4iC,SAAN,CAAgBtuC,MAAhB,CAAuBqmD,KAAK,CAACC,SAA7B;AACA56C,IAAAA,KAAK,CAAC4iC,SAAN,CAAgBC,GAAhB,CAAoB8X,KAAK,CAACE,OAA1B;AAEAn3C,IAAAA,UAAU,CAAC;AACTs3C,MAAAA,QAAM,CAACj4B,cAAP,CAAsByR,cAAtB;AACD,KAFS,EAEP,CAFO,CAAV;AAGD,GAVD;AAYAnf,EAAAA,KAAK,CAAC3D,EAAN,CAAS2H,OAAK,CAACwlC,YAAf,EAA6B;AAC3BD,IAAAA,QAAQ,CAAChc,SAAT,CAAmBtuC,MAAnB,CAA0BqmD,KAAK,CAACE,OAAhC;AACD,GAFD;AAIAxlC,EAAAA,KAAK,CAAC3D,EAAN,CAASqpC,IAAI,CAAC1hC,KAAL,CAAW2S,MAApB,EAA4B;QAASpI,iBAAPttB;QAAyButB,kBAARxtB;;AAC7C,QAAI,OAAOutB,QAAP,KAAoB,QAAxB,EAAkC;AAChC8e,MAAAA,GAAG,CAACnvC,KAAJ,CAAU+C,KAAV,GAAkB0kD,QAAM,CAACh2B,KAAP,CAAapB,QAAb,CAAlB;AACD;;AAED,QAAI,OAAOC,SAAP,KAAqB,QAAzB,EAAmC;AACjC6e,MAAAA,GAAG,CAACnvC,KAAJ,CAAU8C,MAAV,GAAmB2kD,QAAM,CAACh2B,KAAP,CAAanB,SAAb,CAAnB;AACD;AACF,GARD;AAUA,SAAO6e,GAAP;AACD;;ACvHD;AACA,AAMA,IAAMr6B,SAAO,GAAgD;AAC3DwZ,EAAAA,GAAG,EAAE,oBADsD;AAE3DxnB,EAAAA,GAAG,EAAEzC,MAAM,CAAC0B,cAF+C;AAG3D22B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAH+C;AAO3D65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAP+C;AAW3D25B,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAXwC;AAY3DqlC,EAAAA,iBAAiB,EAAEA,mBAZwC;AAa3D93B,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KALH;AASL1gC,IAAAA,QAAQ,EAAE;AACRzL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KATL;AAaLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAbL;AAiBL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAjBJ;AAqBLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KArBH;AAyBLmlB,IAAAA,QAAQ,EAAE;AACRtxD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KAzBL;AA6BL4jB,IAAAA,MAAM,EAAE;AACN/vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KA7BH;AAiCLgmB,IAAAA,aAAa,EAAE;AACbnyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADR;AAEb8N,MAAAA,QAAQ,EAAE,KAFG;AAGb,iBAAS;YAAE1jB,aAAAA;AACT,eAAO;AACLA,UAAAA,KAAK,CAAC0b,OAAN,CAAc1X,OAAK,CAACwlC,YAApB;AACD,SAFD;AAGD;AAPY;AAjCV;AAboD,CAA7D;AA0DA,IAAaoB,gBAAgB,gBAA0ClF,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAAhE;AACP,IAAa63C,eAAe,GAAGD,gBAAxB;;AClEP;AACA,AAKA,IAAM53C,SAAO,GAAiD;AAC5DwZ,EAAAA,GAAG,EAAE,2BADuD;AAE5DxnB,EAAAA,GAAG,EAAEzC,MAAM,CAAC4B,oBAFgD;AAG5Dy2B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAHgD;AAO5D65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAPgD;AAW5D25B,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAXyC;AAY5DuN,EAAAA,KAAK,EAAE;AACLE,IAAAA,SAAS,EAAE;AACTvL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KALH;AASL2mB,IAAAA,SAAS,EAAE;AACT9yD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADZ;AAET4N,MAAAA,QAAQ,EAAE;AAFD,KATN;AAaLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE,KAFF;AAGR,iBAAS;AAAA,eAAM,IAAN;AAAA;AAHD,KAbL;AAkBL4mB,IAAAA,QAAQ,EAAE;AACR/yD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADb;AAER6N,MAAAA,QAAQ,EAAE;AAFF,KAlBL;AAsBLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KAtBF;AA2BL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KA3BJ;AA+BLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KA/BH;AAmCLomB,IAAAA,SAAS,EAAE;AACTvyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADZ;AAET8N,MAAAA,QAAQ,EAAE,KAFD;AAGTztC,MAAAA,KAAK,EAAE;AACL,eAAO,UAAC+O,GAAD;AACLnF,UAAAA,MAAM,CAACob,IAAP,CAAYjW,GAAZ,EAAiB,QAAjB;AACD,SAFD;AAGD;AAPQ;AAnCN;AAZqD,CAA9D;AA2DA,IAAa8lD,iBAAiB,gBAA2CpF,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAAlE;AACP,IAAa+3C,gBAAgB,GAAGD,iBAAzB;;ACnDP,IAAM93C,SAAO,GAA2C;AACtDwZ,EAAAA,GAAG,EAAE,2BADiD;AAEtDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAAC2B,oBAF0C;AAGtD02B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAH0C;AAOtD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAP0C;AAWtDutC,EAAAA,QAAQ,EAAE5rC,sBAX4C;AAYtD+3B,EAAAA,iBAAiB,EAAjBA,iBAZsD;AAatDC,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAbmC;AActDuN,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KALL;AASL8mB,IAAAA,IAAI,EAAE;AACJjzD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADjB;AAEJ,iBAAS;AAAA,eAAM,IAAN;AAAA,OAFL;AAGJ6N,MAAAA,QAAQ,EAAE;AAHN,KATD;AAcL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAdJ;AAkBLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KAlBH;AAsBLulB,IAAAA,YAAY,EAAE;AACZ1xD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADT;AAEZ8N,MAAAA,QAAQ,EAAE;AAFE,KAtBT;AA0BL4jB,IAAAA,MAAM,EAAE;AACN/vD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KA1BH;AA8BLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KA9BF;AAmCL2iB,IAAAA,WAAW,EAAE;AACX9uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADV;AAEX8N,MAAAA,QAAQ,EAAE,KAFC;AAGXztC,MAAAA,KAAK,EAAE;YAAE2M,aAAAA;AACP,eAAO8C,iBAAiB,CAACoC,IAAlB,CAAuB,IAAvB,EAA6BlF,KAA7B,CAAP;AACD;AALU,KAnCR;AA0CL6nD,IAAAA,aAAa,EAAE;AACblzD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADR;AAEb8N,MAAAA,QAAQ,EAAE,KAFG;AAGbztC,MAAAA,KAAK,EAAE;AACL,eAAO,UAAC+O,GAAD;AACLnF,UAAAA,MAAM,CAACob,IAAP,CAAYjW,GAAZ,EAAiB,QAAjB;AACD,SAFD;AAGD;AAPY,KA1CV;AAmDL8kD,IAAAA,SAAS,EAAE;AACTvyD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADZ;AAET8N,MAAAA,QAAQ,EAAE,KAFD;AAGTztC,MAAAA,KAAK,EAAE;YAAE2M,cAAAA;AACP,YAAM4kD,QAAQ,GAAG3oD,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CAAjB;AACAN,QAAAA,QAAQ,CAACqG,IAAT,CAAc1F,WAAd,CAA0BgoD,QAA1B;AACA,eAAO;cAAEzkD,eAAAA;cAAQC,iBAAAA;cAAUF,kBAAAA;AACzB,cAAIkmD,UAAU,GAAG,IAAjB;;AACA,cAAIpmD,KAAK,CAACqmD,YAAV,EAAwB;AACtBD,YAAAA,UAAU,GAAGpmD,KAAK,CAACqmD,YAAN,EAAb;AACD;;AACD,cAAI,CAACD,UAAL,EAAiB;AACjB,cAAM0B,YAAY,GAAG,IAAIE,gBAAJ,cAChBhoD,KADgB;AAEnBG,YAAAA,MAAM,EAANA,MAFmB;AAGnBC,YAAAA,QAAQ,EAARA,QAHmB;AAInBF,YAAAA,SAAS,EAATA,SAJmB;AAKnB6hC,YAAAA,OAAO,EAAE;AACP9kC,cAAAA,MAAM,CAACmqD,UAAP,GAAoB,IAApB;AACAnrD,cAAAA,QAAQ,CAACqG,IAAT,CAAchH,KAAd,CAAoBwpD,QAApB,GAA+B,EAA/B;AACD,aARkB;AASnBb,YAAAA,MAAM,EAAE;AATW,aAArB;AAWAhnD,UAAAA,MAAM,CAACoqD,OAAP,CAAeC,SAAf,CAAyB,IAAzB,EAA+B,EAA/B,EAAmCrqD,MAAM,CAACwJ,QAAP,CAAgBwQ,IAAnD;;AACAha,UAAAA,MAAM,CAACmqD,UAAP,GAAoB;AAAA,mBAAMU,YAAY,CAACtnB,WAAb,CAAyB;AAACyjB,cAAAA,MAAM,EAAE;AAAT,aAAzB,CAAN;AAAA,WAApB;;AACA5xD,UAAAA,MAAM,CAACqvB,MAAP,CAAczlB,QAAQ,CAACqG,IAAT,CAAchH,KAA5B,EAAmC;AAACwpD,YAAAA,QAAQ,EAAE;AAAX,WAAnC;AACA,iBAAOgD,YAAY,CAAC5lB,MAAb,CAAoB0iB,QAApB,CAAP;AACD,SArBD;AAsBD;AA5BQ;AAnDN;AAd+C,CAAxD;AAkGA,IAAawD,WAAW,gBAAqCtF,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAAtD;AACP,IAAai4C,UAAU,GAAGD,WAAnB;;AClHP;AACA,AAUA,IAAMh4C,SAAO,GAAyC;AACpDwZ,EAAAA,GAAG,EAAE,kBAD+C;AAEpDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAAC6B,YAFwC;AAGpDw2B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAHwC;AAOpD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAPwC;AAWpDutC,EAAAA,QAAQ,EAAE5rC,sBAX0C;AAYpD+3B,EAAAA,iBAAiB,EAAjBA,iBAZoD;AAapDC,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAbiC;AAcpDuN,EAAAA,KAAK,EAAE;AACLE,IAAAA,SAAS,EAAE;AACTvL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL39B,IAAAA,SAAS,EAAE;AACTxO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KALN;AASL7gC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KATN;AAaL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KAbH;AAiBL1gC,IAAAA,QAAQ,EAAE;AACRzL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAjBL;AAqBLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KArBL;AAyBL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAzBJ;AA6BLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KA7BH;AAiCLmlB,IAAAA,QAAQ,EAAE;AACRtxD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KAjCL;AAqCLwnB,IAAAA,cAAc,EAAE;AACd3zD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADP;AAEd8N,MAAAA,QAAQ,EAAE;AAFI,KArCX;AAyCLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KAzCF;AA8CL2iB,IAAAA,WAAW,EAAE;AACX9uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADV;AAEX8N,MAAAA,QAAQ,EAAE,KAFC;AAGXztC,MAAAA,KAAK,EAAE;YAAE2M,aAAAA;AACP,eAAO8C,iBAAiB,CAACoC,IAAlB,CAAuB,IAAvB,EAA6BlF,KAA7B,CAAP;AACD;AALU;AA9CR;AAd6C,CAAtD;AAsEA,IAAauoD,SAAS,gBAAmCzF,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAAlD;;AChEP,IAAMo4C,uBAAuB;AAAA,yEAAG,kBAAOxoD,KAAP,EAAmCmC,OAAnC,EAAiD/N,OAAjD;AAAA;AAAA;AAAA;AAAA;AAAA;AACxBgqD,YAAAA,OADwB,GACd,IAAInhD,MAAM,CAACm7C,eAAX,CAA2B,CAA3B,EAA8Bj2C,OAA9B,CADc;;AAE9Bi8C,YAAAA,OAAO,CAACqK,kBAAR;AAAA,yEAA6B,iBAAOrrC,KAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAEKxZ,qBAAqB,cAC9CxP,OAD8C;AAEjDs0D,0BAAAA,aAAa,EAAEtrC,KAAK,CAACurC;AAF4B,2BAF1B;;AAAA;AAEnBC,wBAAAA,eAFmB;AAMzBxK,wBAAAA,OAAO,CAACyK,0BAAR,CAAmCD,eAAnC;AANyB;AAAA;;AAAA;AAAA;AAAA;AAQzBxK,wBAAAA,OAAO,CAAC0K,KAAR;;AARyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA7B;;AAAA;AAAA;AAAA;AAAA;;AAYA1K,YAAAA,OAAO,CAAC2K,mBAAR;AAAA,yEAA8B,kBAAO3rC,KAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACtByoC,wBAAAA,YADsB,GACPrjD,IAAI,CAAC3F,SAAL,CAAeugB,KAAK,CAAC4rC,OAAN,CAAcxP,KAA7B,CADO;AAEtBA,wBAAAA,KAFsB,GAEdv8C,MAAM,CAACkC,IAAP,CAAY0mD,YAAZ,CAFc;AAAA;AAAA;AAAA,+BAIL3iD,WAAW,CAAC;AAC/BhD,0BAAAA,SAAS,EAAEF,KAAK,CAACE,SADc;AAE/BD,0BAAAA,SAAS,EAAED,KAAK,CAACC,SAFc;AAG/BkD,0BAAAA,SAAS,EAAEnD,KAAK,CAACmD,SAHc;AAI/BvD,0BAAAA,aAAa,EAAE;AACbqpD,4BAAAA,QAAQ,EAAE;AAACzP,8BAAAA,KAAK,EAALA;AAAD;AADG;AAJgB,yBAAD,CAJN;;AAAA;AAIpB1iD,wBAAAA,MAJoB;AAY1BkJ,wBAAAA,KAAK,CAACimD,QAAN,CAAe;AAACzM,0BAAAA,KAAK,EAAE1iD,MAAM,CAAC+uD,YAAf;AAA6B5uD,0BAAAA,KAAK,EAAEH,MAAM,CAACG;AAA3C,yBAAf;AACAmnD,wBAAAA,OAAO,CAAC8K,eAAR,CAAwB;AACtBprB,0BAAAA,MAAM,EAAE7gC,MAAM,CAACm7C,eAAP,CAAuB+Q;AADT,yBAAxB;AAb0B;AAAA;;AAAA;AAAA;AAAA;AAiB1BnpD,wBAAAA,KAAK,CAACiM,OAAN,oBAAAjM,KAAK,CAACiM,OAAN;AACAmyC,wBAAAA,OAAO,CAAC8K,eAAR,CAAwB;AACtBprB,0BAAAA,MAAM,EAAE7gC,MAAM,CAACm7C,eAAP,CAAuBgR;AADT,yBAAxB;;AAlB0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA9B;;AAAA;AAAA;AAAA;AAAA;;AAuBAhL,YAAAA,OAAO,CAACiL,KAAR;;AArC8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAvBb,uBAAuB;AAAA;AAAA;AAAA,GAA7B;;AAwCA,IAAMp4C,SAAO,GAA8C;AACzDwZ,EAAAA,GAAG,EAAE,uBADoD;AAEzDxnB,EAAAA,GAAG,EAAEzC,MAAM,CAAC8B,iBAF6C;AAGzDu2B,EAAAA,UAAU,EAAE;AACV35B,IAAAA,KAAK,EAAE,MADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAH6C;AAOzD65B,EAAAA,UAAU,EAAE;AACV55B,IAAAA,KAAK,EAAE,KADG;AAEVD,IAAAA,MAAM,EAAE;AAFE,GAP6C;AAWzDutC,EAAAA,QAAQ,EAAE5rC,sBAX+C;AAYzD+3B,EAAAA,iBAAiB,EAAjBA,iBAZyD;AAazDC,EAAAA,iBAAiB,EAAE;AAAA,WAAMtlC,SAAN;AAAA,GAbsC;AAczDuN,EAAAA,KAAK,EAAE;AACLE,IAAAA,SAAS,EAAE;AACTvL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KADN;AAKL39B,IAAAA,SAAS,EAAE;AACTxO,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KALN;AASL7gC,IAAAA,SAAS,EAAE;AACTtL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADZ;AAETgO,MAAAA,QAAQ,EAAE;AAFD,KATN;AAaL3gC,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAeiS,MADf;AAEN4N,MAAAA,QAAQ,EAAE;AAFJ,KAbH;AAiBL1gC,IAAAA,QAAQ,EAAE;AACRzL,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KAjBL;AAqBLn9B,IAAAA,QAAQ,EAAE;AACRhP,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe6R,MADb;AAERgO,MAAAA,QAAQ,EAAE;AAFF,KArBL;AAyBL70B,IAAAA,OAAO,EAAE;AACPtX,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADd;AAEP8N,MAAAA,QAAQ,EAAE;AAFH,KAzBJ;AA6BLwiB,IAAAA,MAAM,EAAE;AACN3uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADf;AAEN8N,MAAAA,QAAQ,EAAE;AAFJ,KA7BH;AAiCLulB,IAAAA,YAAY,EAAE;AACZ1xD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADT;AAEZ8N,MAAAA,QAAQ,EAAE;AAFE,KAjCT;AAqCLmlB,IAAAA,QAAQ,EAAE;AACRtxD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADb;AAER8N,MAAAA,QAAQ,EAAE;AAFF,KArCL;AAyCLwnB,IAAAA,cAAc,EAAE;AACd3zD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADP;AAEd8N,MAAAA,QAAQ,EAAE;AAFI,KAzCX;AA6CLxlC,IAAAA,KAAK,EAAE;AACL3G,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe8R,MADhB;AAEL8N,MAAAA,KAAK,EAAE,YAFF;AAGLC,MAAAA,QAAQ,EAAE;AAHL,KA7CF;AAkDL2iB,IAAAA,WAAW,EAAE;AACX9uD,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADV;AAEX8N,MAAAA,QAAQ,EAAE,KAFC;AAGXztC,MAAAA,KAAK,EAAE;YAAE2M,cAAAA;AACP,eAAO8C,iBAAiB,CAACoC,IAAlB,CAAuB,IAAvB,EAA6BlF,KAA7B,CAAP;AACD;AALU,KAlDR;AAyDLspD,IAAAA,qBAAqB,EAAE;AACrB30D,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAegS,OADA;AAErB6N,MAAAA,QAAQ,EAAE,KAFW;AAGrBztC,MAAAA,KAAK,EAAE;AACL,YAAI;AAAA;;AACF,0CAAO4J,MAAM,CAACm7C,eAAd,qBAAO,sBAAwBE,eAAxB,EAAP;AACD,SAFD,CAEE,OAAOrhD,KAAP,EAAc;AACd,iBAAO,KAAP;AACD;AACF;AAToB,KAzDlB;AAoELsyD,IAAAA,yBAAyB,EAAE;AACzB50D,MAAAA,IAAI,EAAEmuD,IAAI,CAAC7hC,SAAL,CAAe+R,QADI;AAEzB8N,MAAAA,QAAQ,EAAE,KAFe;AAGzBztC,MAAAA,KAHyB;YAGlB2M,cAAAA;AACL,eAAOwoD,uBAAuB,CAACtjD,IAAxB,CAA6B,IAA7B,EAAmClF,KAAnC,CAAP;AACD;AALwB;AApEtB;AAdkD,CAA3D;AA4FA,IAAawpD,cAAc,gBAAwC1G,IAAI,CAAC3uD,MAAL,CAAYic,SAAZ,CAA5D;;ICrJKq5C,cAAZ;;AAAA,WAAYA;AACVA,EAAAA,yBAAA,YAAA;AACAA,EAAAA,wCAAA,2BAAA;AACAA,EAAAA,iCAAA,oBAAA;AACAA,EAAAA,2BAAA,cAAA;AACAA,EAAAA,0BAAA,aAAA;AACD,CAND,EAAYA,cAAc,KAAdA,cAAc,KAAA,CAA1B;;AAQA,IAAYC,SAAZ;;AAAA,WAAYA;AACVA,EAAAA,iBAAA,SAAA;AACAA,EAAAA,uBAAA,eAAA;AACAA,EAAAA,iBAAA,SAAA;AACAA,EAAAA,qBAAA,aAAA;AACAA,EAAAA,mBAAA,WAAA;AACAA,EAAAA,gBAAA,QAAA;AACAA,EAAAA,oBAAA,YAAA;AACAA,EAAAA,qBAAA,aAAA;AACAA,EAAAA,gBAAA,QAAA;AACAA,EAAAA,sBAAA,cAAA;AACD,CAXD,EAAYA,SAAS,KAATA,SAAS,KAAA,CAArB;;AAaA,IAAYC,eAAZ;;AAAA,WAAYA;AACVA,EAAAA,uBAAA,SAAA;AACAA,EAAAA,uBAAA,SAAA;AACAA,EAAAA,yBAAA,WAAA;AACAA,EAAAA,wBAAA,UAAA;AACD,CALD,EAAYA,eAAe,KAAfA,eAAe,KAAA,CAA3B;;ICRaC,GAAG,GAAGC,IAAZ;AACP,IAAaC,KAAK,GAAGC,MAAd;;;;"}
|