{"version":3,"file":"index.mjs","sources":["../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/global-this.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/fails.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/descriptors.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/function-bind-native.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/function-call.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-property-is-enumerable.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/create-property-descriptor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/function-uncurry-this.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/classof-raw.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/indexed-object.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-null-or-undefined.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/require-object-coercible.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-indexed-object.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-callable.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-object.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/get-built-in.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-is-prototype-of.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/environment-v8-version.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/environment-user-agent.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/symbol-constructor-detection.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/use-symbol-as-uid.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-symbol.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/try-to-string.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/a-callable.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/get-method.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/ordinary-to-primitive.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-pure.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/define-global-property.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/shared-store.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/shared.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-object.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/has-own-property.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/uid.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/well-known-symbol.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-primitive.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-property-key.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/document-create-element.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/ie8-dom-define.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/v8-prototype-define-bug.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/an-object.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-define-property.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/create-non-enumerable-property.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/function-name.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/inspect-source.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/weak-map-basic-detection.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/shared-key.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/hidden-keys.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/internal-state.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/make-built-in.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/define-built-in.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-integer-or-infinity.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/math-trunc.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-absolute-index.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-length.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/length-of-array-like.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-includes.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-keys-internal.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/enum-bug-keys.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-get-own-property-names.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-get-own-property-symbols.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/own-keys.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/copy-constructor-properties.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-forced.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/export.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/function-uncurry-this-clause.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/function-bind-context.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-array.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-string-tag-support.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/classof.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-constructor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-species-constructor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-species-create.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-iteration.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-method-has-species-support.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.array.filter.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/iterator-close.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/iterators.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-array-iterator-method.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/create-property.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/get-iterator-method.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/get-iterator.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/check-correctness-of-iteration.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.array.from.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-from.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-keys.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-define-properties.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/html.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-create.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/add-to-unscopables.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-get-prototype-of.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/correct-prototype-getter.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/iterators-core.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/set-to-string-tag.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-possible-prototype.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/a-possible-prototype.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-set-prototype-of.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/function-uncurry-this-accessor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/iterator-define.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/iterator-create-constructor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/create-iter-result-object.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.array.iterator.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/iterate.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.object.from-entries.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.object.to-string.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-to-string.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-slice.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-get-own-property-names-external.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-is-extensible.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-buffer-non-extensible.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/freezing.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/internal-metadata.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/an-instance.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/inherit-if-required.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/collection.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/define-built-in-accessor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/define-built-ins.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/set-species.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.set.constructor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/collection-strong.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/to-string.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.string.iterator.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/string-multibyte.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.string.anchor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/create-html.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/string-html-forced.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/collection-weak.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.weak-map.constructor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.weak-map.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/dom-iterables.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/dom-token-list-prototype.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/web.dom-collections.for-each.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-for-each.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/array-method-is-strict.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/web.dom-collections.iterator.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/does-not-exceed-safe-integer.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.array.concat.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.array.map.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.array.slice.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.object.assign.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-assign.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.object.entries.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/object-to-array.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/regexp-get-flags.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/regexp-flags-detection.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/regexp-flags.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.regexp.to-string.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/not-a-regexp.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/is-regexp.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.string.starts-with.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/correct-is-regexp-logic.js","../src/utils/object.ts","../src/utils/delta.ts","../src/utils/location.ts","../src/utils/yjs.ts","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.array.includes.js","../src/utils/position.ts","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/well-known-symbol-wrapped.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/path.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.symbol.constructor.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/well-known-symbol-define.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/symbol-define-to-primitive.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/symbol-registry-detection.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.json.stringify.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/function-apply.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/internals/get-json-replacer-function.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.symbol.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.symbol.for.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.symbol.key-for.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.object.get-own-property-symbols.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.symbol.description.js","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.weak-set.constructor.js","../src/utils/slate.ts","../src/utils/convert.ts","../src/applyToSlate/textEvent.ts","../src/applyToSlate/index.ts","../src/utils/clone.ts","../../../node_modules/.pnpm/core-js@3.45.0/node_modules/core-js/modules/es.object.keys.js","../src/applyToYjs/node/index.ts","../src/applyToYjs/node/insertNode.ts","../src/applyToYjs/node/removeNode.ts","../src/applyToYjs/node/setNode.ts","../src/applyToYjs/node/mergeNode.ts","../src/applyToYjs/node/moveNode.ts","../src/applyToYjs/node/splitNode.ts","../src/applyToYjs/text/index.ts","../src/applyToYjs/index.ts","../src/applyToYjs/text/insertText.ts","../src/applyToYjs/text/removeText.ts","../src/plugins/withYjs.ts","../src/plugins/withCursors.ts","../src/plugins/withYHistory.ts"],"sourcesContent":["'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = (function () { /* empty */ }).bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n  return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.45.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',\n  license: 'https://github.com/zloirock/core-js/blob/v3.45.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n  EXISTS: EXISTS,\n  PROPER: PROPER,\n  CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  /* eslint-disable no-self-assign -- prototype methods protection */\n  store.get = store.get;\n  store.has = store.has;\n  store.set = store.set;\n  /* eslint-enable no-self-assign -- prototype methods protection */\n  set = function (it, metadata) {\n    if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    store.set(it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return store.get(it) || {};\n  };\n  has = function (it) {\n    return store.has(it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n  return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n  if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n    name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n  }\n  if (options && options.getter) name = 'get ' + name;\n  if (options && options.setter) name = 'set ' + name;\n  if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n    if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n    else value.name = name;\n  }\n  if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n    defineProperty(value, 'length', { value: options.arity });\n  }\n  try {\n    if (options && hasOwn(options, 'constructor') && options.constructor) {\n      if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n    // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n    } else if (value.prototype) value.prototype = undefined;\n  } catch (error) { /* empty */ }\n  var state = enforceInternalState(value);\n  if (!hasOwn(state, 'source')) {\n    state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n  } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n  return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n  if (!options) options = {};\n  var simple = options.enumerable;\n  var name = options.name !== undefined ? options.name : key;\n  if (isCallable(value)) makeBuiltIn(value, name, options);\n  if (options.global) {\n    if (simple) O[key] = value;\n    else defineGlobalProperty(key, value);\n  } else {\n    try {\n      if (!options.unsafe) delete O[key];\n      else if (O[key]) simple = true;\n    } catch (error) { /* empty */ }\n    if (simple) O[key] = value;\n    else definePropertyModule.f(O, key, {\n      value: value,\n      enumerable: false,\n      configurable: !options.nonConfigurable,\n      writable: !options.nonWritable\n    });\n  } return O;\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    if (length === 0) return !IS_INCLUDES && -1;\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el !== el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value !== value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n      defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n    }\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = globalThis;\n  } else if (STATIC) {\n    target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n  } else {\n    target = globalThis[TARGET] && globalThis[TARGET].prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty == typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    defineBuiltIn(target, key, sourceProperty, options);\n  }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n  return classof(argument) === 'Array';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, [], argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n  var IS_MAP = TYPE === 1;\n  var IS_FILTER = TYPE === 2;\n  var IS_SOME = TYPE === 3;\n  var IS_EVERY = TYPE === 4;\n  var IS_FIND_INDEX = TYPE === 6;\n  var IS_FILTER_REJECT = TYPE === 7;\n  var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n  return function ($this, callbackfn, that, specificCreate) {\n    var O = toObject($this);\n    var self = IndexedObject(O);\n    var length = lengthOfArrayLike(self);\n    var boundFunction = bind(callbackfn, that);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n    var value, result;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      value = self[index];\n      result = boundFunction(value, index, O);\n      if (TYPE) {\n        if (IS_MAP) target[index] = result; // map\n        else if (result) switch (TYPE) {\n          case 3: return true;              // some\n          case 5: return value;             // find\n          case 6: return index;             // findIndex\n          case 2: push(target, value);      // filter\n        } else switch (TYPE) {\n          case 4: return false;             // every\n          case 7: push(target, value);      // filterReject\n        }\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.forEach` method\n  // https://tc39.es/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.es/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.es/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.es/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.es/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.es/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6),\n  // `Array.prototype.filterReject` method\n  // https://github.com/tc39/proposal-array-filtering\n  filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return V8_VERSION >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n  var innerResult, innerError;\n  anObject(iterator);\n  try {\n    innerResult = getMethod(iterator, 'return');\n    if (!innerResult) {\n      if (kind === 'throw') throw value;\n      return value;\n    }\n    innerResult = call(innerResult, iterator);\n  } catch (error) {\n    innerError = true;\n    innerResult = error;\n  }\n  if (kind === 'throw') throw value;\n  if (innerError) throw innerResult;\n  anObject(innerResult);\n  return value;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n  try {\n    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n  } catch (error) {\n    iteratorClose(iterator, 'throw', error);\n  }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n  else object[key] = value;\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n    || getMethod(it, '@@iterator')\n    || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n  throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  try {\n    if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n  // eslint-disable-next-line es/no-array-from -- required for testing\n  Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n  from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n  var O = toObject(arrayLike);\n  var IS_CONSTRUCTOR = isConstructor(this);\n  var argumentsLength = arguments.length;\n  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n  var mapping = mapfn !== undefined;\n  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n  var iteratorMethod = getIteratorMethod(O);\n  var index = 0;\n  var length, result, step, iterator, next, value;\n  // if the target is not iterable or it's an array with the default iterator - use a simple case\n  if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n    result = IS_CONSTRUCTOR ? new this() : [];\n    iterator = getIterator(O, iteratorMethod);\n    next = iterator.next;\n    for (;!(step = call(next, iterator)).done; index++) {\n      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n      createProperty(result, index, value);\n    }\n  } else {\n    length = lengthOfArrayLike(O);\n    result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n    for (;length > index; index++) {\n      value = mapping ? mapfn(O[index], index) : O[index];\n      createProperty(result, index, value);\n    }\n  }\n  result.length = index;\n  return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var props = toIndexedObject(Properties);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n  return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n  activeXDocument = null;\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n  defineProperty(ArrayPrototype, UNSCOPABLES, {\n    configurable: true,\n    value: create(null)\n  });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n  ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n  var object = toObject(O);\n  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n  var constructor = object.constructor;\n  if (isCallable(constructor) && object instanceof constructor) {\n    return constructor.prototype;\n  } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n  var test = {};\n  // FF44- legacy iterators case\n  return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n  defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n    return this;\n  });\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n  if (target && !STATIC) target = target.prototype;\n  if (target && !hasOwn(target, TO_STRING_TAG)) {\n    defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n  }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n  return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (isPossiblePrototype(argument)) return argument;\n  throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    requireObjectCoercible(O);\n    aPossiblePrototype(proto);\n    if (!isObject(O)) return O;\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    }\n\n    return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n          defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n    }\n  }\n\n  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n  if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n    } else {\n      INCORRECT_VALUES_NAME = true;\n      defaultIterator = function values() { return call(nativeIterator, this); };\n    }\n  }\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n  }\n  Iterators[NAME] = defaultIterator;\n\n  return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n  Iterators[TO_STRING_TAG] = returnThis;\n  return IteratorConstructor;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n  return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState(this);\n  var target = state.target;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = null;\n    return createIterResultObject(undefined, true);\n  }\n  switch (state.kind) {\n    case 'keys': return createIterResultObject(index, false);\n    case 'values': return createIterResultObject(target[index], false);\n  } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n  defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_RECORD = !!(options && options.IS_RECORD);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = bind(unboundFunction, that);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    if (iterator) iteratorClose(iterator, 'normal');\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_RECORD) {\n    iterator = iterable.iterator;\n  } else if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && isPrototypeOf(ResultPrototype, result)) return result;\n      } return new Result(false);\n    }\n    iterator = getIterator(iterable, iterFn);\n  }\n\n  next = IS_RECORD ? iterable.next : iterator.next;\n  while (!(step = call(next, iterator)).done) {\n    try {\n      result = callFn(step.value);\n    } catch (error) {\n      iteratorClose(iterator, 'throw', error);\n    }\n    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n  } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://tc39.es/ecma262/#sec-object.fromentries\n$({ target: 'Object', stat: true }, {\n  fromEntries: function fromEntries(iterable) {\n    var obj = {};\n    iterate(iterable, function (k, v) {\n      createProperty(obj, k, v);\n    }, { AS_ENTRIES: true });\n    return obj;\n  }\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n  defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return $getOwnPropertyNames(it);\n  } catch (error) {\n    return arraySlice(windowNames);\n  }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && classof(it) === 'Window'\n    ? getWindowNames(it)\n    : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n  if (!isObject(it)) return false;\n  if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n  return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n  if (typeof ArrayBuffer == 'function') {\n    var buffer = new ArrayBuffer(8);\n    // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n    if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n  }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n  return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n  defineProperty(it, METADATA, { value: {\n    objectID: 'O' + id++, // object ID\n    weakData: {}          // weak collections IDs\n  } });\n};\n\nvar fastKey = function (it, create) {\n  // return a primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!hasOwn(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMetadata(it);\n  // return object ID\n  } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n  if (!hasOwn(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMetadata(it);\n  // return the store of weak collections IDs\n  } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n  return it;\n};\n\nvar enable = function () {\n  meta.enable = function () { /* empty */ };\n  REQUIRED = true;\n  var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n  var splice = uncurryThis([].splice);\n  var test = {};\n  test[METADATA] = 1;\n\n  // prevent exposing of metadata key\n  if (getOwnPropertyNames(test).length) {\n    getOwnPropertyNamesModule.f = function (it) {\n      var result = getOwnPropertyNames(it);\n      for (var i = 0, length = result.length; i < length; i++) {\n        if (result[i] === METADATA) {\n          splice(result, i, 1);\n          break;\n        }\n      } return result;\n    };\n\n    $({ target: 'Object', stat: true, forced: true }, {\n      getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n    });\n  }\n};\n\nvar meta = module.exports = {\n  enable: enable,\n  fastKey: fastKey,\n  getWeakData: getWeakData,\n  onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n  var NewTarget, NewTargetPrototype;\n  if (\n    // it can work only with native `setPrototypeOf`\n    setPrototypeOf &&\n    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n    isCallable(NewTarget = dummy.constructor) &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) setPrototypeOf($this, NewTargetPrototype);\n  return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var NativeConstructor = globalThis[CONSTRUCTOR_NAME];\n  var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n  var Constructor = NativeConstructor;\n  var exported = {};\n\n  var fixMethod = function (KEY) {\n    var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n    defineBuiltIn(NativePrototype, KEY,\n      KEY === 'add' ? function add(value) {\n        uncurriedNativeMethod(this, value === 0 ? 0 : value);\n        return this;\n      } : KEY === 'delete' ? function (key) {\n        return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : KEY === 'get' ? function get(key) {\n        return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : KEY === 'has' ? function has(key) {\n        return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : function set(key, value) {\n        uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n        return this;\n      }\n    );\n  };\n\n  var REPLACE = isForced(\n    CONSTRUCTOR_NAME,\n    !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n      new NativeConstructor().entries().next();\n    }))\n  );\n\n  if (REPLACE) {\n    // create collection constructor\n    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n    InternalMetadataModule.enable();\n  } else if (isForced(CONSTRUCTOR_NAME, true)) {\n    var instance = new Constructor();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    // eslint-disable-next-line no-new -- required for testing\n    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new NativeConstructor();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n\n    if (!ACCEPT_ITERABLES) {\n      Constructor = wrapper(function (dummy, iterable) {\n        anInstance(dummy, NativePrototype);\n        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n        if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n        return that;\n      });\n      Constructor.prototype = NativePrototype;\n      NativePrototype.constructor = Constructor;\n    }\n\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n    // weak collections should not contains .clear method\n    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n  }\n\n  exported[CONSTRUCTOR_NAME] = Constructor;\n  $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n  setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n  return Constructor;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n  if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n  return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n  for (var key in src) defineBuiltIn(target, key, src[key], options);\n  return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineBuiltInAccessor(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n  return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var Constructor = wrapper(function (that, iterable) {\n      anInstance(that, Prototype);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        index: create(null),\n        first: null,\n        last: null,\n        size: 0\n      });\n      if (!DESCRIPTORS) that.size = 0;\n      if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n    });\n\n    var Prototype = Constructor.prototype;\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var entry = getEntry(that, key);\n      var previous, index;\n      // change existing entry\n      if (entry) {\n        entry.value = value;\n      // create new entry\n      } else {\n        state.last = entry = {\n          index: index = fastKey(key, true),\n          key: key,\n          value: value,\n          previous: previous = state.last,\n          next: null,\n          removed: false\n        };\n        if (!state.first) state.first = entry;\n        if (previous) previous.next = entry;\n        if (DESCRIPTORS) state.size++;\n        else that.size++;\n        // add to index\n        if (index !== 'F') state.index[index] = entry;\n      } return that;\n    };\n\n    var getEntry = function (that, key) {\n      var state = getInternalState(that);\n      // fast case\n      var index = fastKey(key);\n      var entry;\n      if (index !== 'F') return state.index[index];\n      // frozen object case\n      for (entry = state.first; entry; entry = entry.next) {\n        if (entry.key === key) return entry;\n      }\n    };\n\n    defineBuiltIns(Prototype, {\n      // `{ Map, Set }.prototype.clear()` methods\n      // https://tc39.es/ecma262/#sec-map.prototype.clear\n      // https://tc39.es/ecma262/#sec-set.prototype.clear\n      clear: function clear() {\n        var that = this;\n        var state = getInternalState(that);\n        var entry = state.first;\n        while (entry) {\n          entry.removed = true;\n          if (entry.previous) entry.previous = entry.previous.next = null;\n          entry = entry.next;\n        }\n        state.first = state.last = null;\n        state.index = create(null);\n        if (DESCRIPTORS) state.size = 0;\n        else that.size = 0;\n      },\n      // `{ Map, Set }.prototype.delete(key)` methods\n      // https://tc39.es/ecma262/#sec-map.prototype.delete\n      // https://tc39.es/ecma262/#sec-set.prototype.delete\n      'delete': function (key) {\n        var that = this;\n        var state = getInternalState(that);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.next;\n          var prev = entry.previous;\n          delete state.index[entry.index];\n          entry.removed = true;\n          if (prev) prev.next = next;\n          if (next) next.previous = prev;\n          if (state.first === entry) state.first = next;\n          if (state.last === entry) state.last = prev;\n          if (DESCRIPTORS) state.size--;\n          else that.size--;\n        } return !!entry;\n      },\n      // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n      // https://tc39.es/ecma262/#sec-map.prototype.foreach\n      // https://tc39.es/ecma262/#sec-set.prototype.foreach\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        var state = getInternalState(this);\n        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n        var entry;\n        while (entry = entry ? entry.next : state.first) {\n          boundFunction(entry.value, entry.key, this);\n          // revert to the last existing entry\n          while (entry && entry.removed) entry = entry.previous;\n        }\n      },\n      // `{ Map, Set}.prototype.has(key)` methods\n      // https://tc39.es/ecma262/#sec-map.prototype.has\n      // https://tc39.es/ecma262/#sec-set.prototype.has\n      has: function has(key) {\n        return !!getEntry(this, key);\n      }\n    });\n\n    defineBuiltIns(Prototype, IS_MAP ? {\n      // `Map.prototype.get(key)` method\n      // https://tc39.es/ecma262/#sec-map.prototype.get\n      get: function get(key) {\n        var entry = getEntry(this, key);\n        return entry && entry.value;\n      },\n      // `Map.prototype.set(key, value)` method\n      // https://tc39.es/ecma262/#sec-map.prototype.set\n      set: function set(key, value) {\n        return define(this, key === 0 ? 0 : key, value);\n      }\n    } : {\n      // `Set.prototype.add(value)` method\n      // https://tc39.es/ecma262/#sec-set.prototype.add\n      add: function add(value) {\n        return define(this, value = value === 0 ? 0 : value, value);\n      }\n    });\n    if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n      configurable: true,\n      get: function () {\n        return getInternalState(this).size;\n      }\n    });\n    return Constructor;\n  },\n  setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n    // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n    // https://tc39.es/ecma262/#sec-map.prototype.entries\n    // https://tc39.es/ecma262/#sec-map.prototype.keys\n    // https://tc39.es/ecma262/#sec-map.prototype.values\n    // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n    // https://tc39.es/ecma262/#sec-set.prototype.entries\n    // https://tc39.es/ecma262/#sec-set.prototype.keys\n    // https://tc39.es/ecma262/#sec-set.prototype.values\n    // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n    defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n      setInternalState(this, {\n        type: ITERATOR_NAME,\n        target: iterated,\n        state: getInternalCollectionState(iterated),\n        kind: kind,\n        last: null\n      });\n    }, function () {\n      var state = getInternalIteratorState(this);\n      var kind = state.kind;\n      var entry = state.last;\n      // revert to the last existing entry\n      while (entry && entry.removed) entry = entry.previous;\n      // get next entry\n      if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n        // or finish the iteration\n        state.target = null;\n        return createIterResultObject(undefined, true);\n      }\n      // return step by kind\n      if (kind === 'keys') return createIterResultObject(entry.key, false);\n      if (kind === 'values') return createIterResultObject(entry.value, false);\n      return createIterResultObject([entry.key, entry.value], false);\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // `{ Map, Set }.prototype[@@species]` accessors\n    // https://tc39.es/ecma262/#sec-get-map-@@species\n    // https://tc39.es/ecma262/#sec-get-set-@@species\n    setSpecies(CONSTRUCTOR_NAME);\n  }\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n  if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n  return $String(argument);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: toString(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n  var state = getInternalState(this);\n  var string = state.string;\n  var index = state.index;\n  var point;\n  if (index >= string.length) return createIterResultObject(undefined, true);\n  point = charAt(string, index);\n  state.index += point.length;\n  return createIterResultObject(point, false);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = toString(requireObjectCoercible($this));\n    var position = toIntegerOrInfinity(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = charCodeAt(S, position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING\n          ? charAt(S, position)\n          : first\n        : CONVERT_TO_STRING\n          ? stringSlice(S, position, position + 2)\n          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.anchor` method\n// https://tc39.es/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n  anchor: function anchor(name) {\n    return createHTML(this, 'a', 'name', name);\n  }\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n  var S = toString(requireObjectCoercible(string));\n  var p1 = '<' + tag;\n  if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    var test = ''[METHOD_NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n  return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n  this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n  return find(store.entries, function (it) {\n    return it[0] === key;\n  });\n};\n\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.entries.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = findIndex(this.entries, function (it) {\n      return it[0] === key;\n    });\n    if (~index) splice(this.entries, index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var Constructor = wrapper(function (that, iterable) {\n      anInstance(that, Prototype);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        id: id++,\n        frozen: null\n      });\n      if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n    });\n\n    var Prototype = Constructor.prototype;\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var data = getWeakData(anObject(key), true);\n      if (data === true) uncaughtFrozenStore(state).set(key, value);\n      else data[state.id] = value;\n      return that;\n    };\n\n    defineBuiltIns(Prototype, {\n      // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n      // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n      // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n      'delete': function (key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n        return data && hasOwn(data, state.id) && delete data[state.id];\n      },\n      // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n      // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n      // https://tc39.es/ecma262/#sec-weakset.prototype.has\n      has: function has(key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state).has(key);\n        return data && hasOwn(data, state.id);\n      }\n    });\n\n    defineBuiltIns(Prototype, IS_MAP ? {\n      // `WeakMap.prototype.get(key)` method\n      // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n      get: function get(key) {\n        var state = getInternalState(this);\n        if (isObject(key)) {\n          var data = getWeakData(key);\n          if (data === true) return uncaughtFrozenStore(state).get(key);\n          if (data) return data[state.id];\n        }\n      },\n      // `WeakMap.prototype.set(key, value)` method\n      // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n      set: function set(key, value) {\n        return define(this, key, value);\n      }\n    } : {\n      // `WeakSet.prototype.add(value)` method\n      // https://tc39.es/ecma262/#sec-weakset.prototype.add\n      add: function add(value) {\n        return define(this, value, true);\n      }\n    });\n\n    return Constructor;\n  }\n};\n","'use strict';\nvar FREEZING = require('../internals/freezing');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar fails = require('../internals/fails');\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\n\nvar $Object = Object;\n// eslint-disable-next-line es/no-array-isarray -- safe\nvar isArray = Array.isArray;\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = $Object.isExtensible;\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar isFrozen = $Object.isFrozen;\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar isSealed = $Object.isSealed;\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar freeze = $Object.freeze;\n// eslint-disable-next-line es/no-object-seal -- safe\nvar seal = $Object.seal;\n\nvar IS_IE11 = !globalThis.ActiveXObject && 'ActiveXObject' in globalThis;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n  return function WeakMap() {\n    return init(this, arguments.length ? arguments[0] : undefined);\n  };\n};\n\n// `WeakMap` constructor\n// https://tc39.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = collection('WeakMap', wrapper, collectionWeak);\nvar WeakMapPrototype = $WeakMap.prototype;\nvar nativeSet = uncurryThis(WeakMapPrototype.set);\n\n// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them\nvar hasMSEdgeFreezingBug = function () {\n  return FREEZING && fails(function () {\n    var frozenArray = freeze([]);\n    nativeSet(new $WeakMap(), frozenArray, 1);\n    return !isFrozen(frozenArray);\n  });\n};\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP) if (IS_IE11) {\n  InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n  InternalMetadataModule.enable();\n  var nativeDelete = uncurryThis(WeakMapPrototype['delete']);\n  var nativeHas = uncurryThis(WeakMapPrototype.has);\n  var nativeGet = uncurryThis(WeakMapPrototype.get);\n  defineBuiltIns(WeakMapPrototype, {\n    'delete': function (key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceInternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeDelete(this, key) || state.frozen['delete'](key);\n      } return nativeDelete(this, key);\n    },\n    has: function has(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceInternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas(this, key) || state.frozen.has(key);\n      } return nativeHas(this, key);\n    },\n    get: function get(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceInternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);\n      } return nativeGet(this, key);\n    },\n    set: function set(key, value) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceInternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);\n      } else nativeSet(this, key, value);\n      return this;\n    }\n  });\n// Chakra Edge frozen keys fix\n} else if (hasMSEdgeFreezingBug()) {\n  defineBuiltIns(WeakMapPrototype, {\n    set: function set(key, value) {\n      var arrayIntegrityLevel;\n      if (isArray(key)) {\n        if (isFrozen(key)) arrayIntegrityLevel = freeze;\n        else if (isSealed(key)) arrayIntegrityLevel = seal;\n      }\n      nativeSet(this, key, value);\n      if (arrayIntegrityLevel) arrayIntegrityLevel(key);\n      return this;\n    }\n  });\n}\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.weak-map.constructor');\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n  // some Chrome versions have non-configurable methods on DOMTokenList\n  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n  } catch (error) {\n    CollectionPrototype.forEach = forEach;\n  }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  if (DOMIterables[COLLECTION_NAME]) {\n    handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype);\n  }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n  var method = [][METHOD_NAME];\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call -- required for testing\n    method.call(null, argument || function () { return 1; }, 1);\n  });\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n  if (CollectionPrototype) {\n    // some Chrome versions have non-configurable methods on DOMTokenList\n    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n    } catch (error) {\n      CollectionPrototype[ITERATOR] = ArrayValues;\n    }\n    setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n      // some Chrome versions have non-configurable methods on DOMTokenList\n      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n      } catch (error) {\n        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n      }\n    }\n  }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n  if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n  return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  concat: function concat(arg) {\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = lengthOfArrayLike(E);\n        doesNotExceedSafeInteger(n + len);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        doesNotExceedSafeInteger(n + 1);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  slice: function slice(start, end) {\n    var O = toIndexedObject(this);\n    var length = lengthOfArrayLike(O);\n    var k = toAbsoluteIndex(start, length);\n    var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n    var Constructor, result, n;\n    if (isArray(O)) {\n      Constructor = O.constructor;\n      // cross-realm fallback\n      if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n        Constructor = undefined;\n      } else if (isObject(Constructor)) {\n        Constructor = Constructor[SPECIES];\n        if (Constructor === null) Constructor = undefined;\n      }\n      if (Constructor === $Array || Constructor === undefined) {\n        return nativeSlice(O, k, fin);\n      }\n    }\n    result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n    result.length = n;\n    return result;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n  assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n    enumerable: true,\n    get: function () {\n      defineProperty(this, 'b', {\n        value: 3,\n        enumerable: false\n      });\n    }\n  }), { b: 2 })).b !== 1) return true;\n  // should work with symbols and should have deterministic property order (V8 bug)\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line es/no-symbol -- safe\n  var symbol = Symbol('assign detection');\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  // eslint-disable-next-line es/no-array-prototype-foreach -- safe\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n  var T = toObject(target);\n  var argumentsLength = arguments.length;\n  var index = 1;\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  var propertyIsEnumerable = propertyIsEnumerableModule.f;\n  while (argumentsLength > index) {\n    var S = IndexedObject(arguments[index++]);\n    var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n  entries: function entries(O) {\n    return $entries(O);\n  }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-create -- safe\n  var O = Object.create(null);\n  O[2] = 2;\n  return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n  return function (it) {\n    var O = toIndexedObject(it);\n    var keys = objectKeys(O);\n    var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n        push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n\nmodule.exports = {\n  // `Object.entries` method\n  // https://tc39.es/ecma262/#sec-object.entries\n  entries: createMethod(true),\n  // `Object.values` method\n  // https://tc39.es/ecma262/#sec-object.values\n  values: createMethod(false)\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlagsDetection = require('../internals/regexp-flags-detection');\nvar regExpFlagsGetterImplementation = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = regExpFlagsDetection.correct ? function (it) {\n  return it.flags;\n} : function (it) {\n  return (!regExpFlagsDetection.correct && isPrototypeOf(RegExpPrototype, it) && !hasOwn(it, 'flags'))\n    ? call(regExpFlagsGetterImplementation, it)\n    : it.flags;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = globalThis.RegExp;\n\nvar FLAGS_GETTER_IS_CORRECT = !fails(function () {\n  var INDICES_SUPPORT = true;\n  try {\n    RegExp('.', 'd');\n  } catch (error) {\n    INDICES_SUPPORT = false;\n  }\n\n  var O = {};\n  // modern V8 bug\n  var calls = '';\n  var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n  var addGetter = function (key, chr) {\n    // eslint-disable-next-line es/no-object-defineproperty -- safe\n    Object.defineProperty(O, key, { get: function () {\n      calls += chr;\n      return true;\n    } });\n  };\n\n  var pairs = {\n    dotAll: 's',\n    global: 'g',\n    ignoreCase: 'i',\n    multiline: 'm',\n    sticky: 'y'\n  };\n\n  if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n  for (var key in pairs) addGetter(key, pairs[key]);\n\n  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n  var result = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get.call(O);\n\n  return result !== expected || calls !== expected;\n});\n\nmodule.exports = { correct: FLAGS_GETTER_IS_CORRECT };\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.hasIndices) result += 'd';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.dotAll) result += 's';\n  if (that.unicode) result += 'u';\n  if (that.unicodeSets) result += 'v';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n  defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {\n    var R = anObject(this);\n    var pattern = $toString(R.source);\n    var flags = $toString(getRegExpFlags(R));\n    return '/' + pattern + '/' + flags;\n  }, { unsafe: true });\n}\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n  if (isRegExp(it)) {\n    throw new $TypeError(\"The method doesn't accept regular expressions\");\n  } return it;\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = toString(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = toString(searchString);\n    return stringSlice(that, index, index + search.length) === search;\n  }\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n  var regexp = /./;\n  try {\n    '/./'[METHOD_NAME](regexp);\n  } catch (error1) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (error2) { /* empty */ }\n  } return false;\n};\n","type InspectableObject = Record<string | number | symbol, unknown>\n\nfunction isObject(o: unknown): o is InspectableObject {\n  return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isPlainObject(o: unknown): o is InspectableObject {\n  if (!isObject(o)) {\n    return false\n  }\n\n  // If has modified constructor\n  const ctor = o.constructor\n\n  if (ctor === undefined) {\n    return true\n  }\n\n  // If has modified prototype\n  const prot = ctor.prototype\n\n  if (isObject(prot) === false) {\n    return false\n  }\n\n  // If constructor does not have an Object-specific method\n\n  if (Object.prototype.hasOwnProperty.call(prot, 'isPrototypeOfOf')) {\n    return false\n  }\n\n  // Most likely a plain Object\n  return true\n}\n\n// Slates deep equality function: https://github.com/ianstormtaylor/slate/blob/68aff89e892fe15a16314398ff052ade6068900b/packages/slate/src/utils/deep-equal.ts#L13\n// We have to match slates deepEquals behavior to merge insert deltas in the same way slate does.\nexport function deepEquals(node: InspectableObject, another: InspectableObject): boolean {\n  // eslint-disable-next-line guard-for-in\n  for (const key in node) {\n    const a = node[key]\n    const b = another[key]\n\n    if (isPlainObject(a) && isPlainObject(b)) {\n      if (!deepEquals(a, b)) {\n        return false\n      }\n    } else if (Array.isArray(a) && Array.isArray(b)) {\n      if (a.length !== b.length) { return false }\n      for (let i = 0; i < a.length; i += 1) {\n        if (a[i] !== b[i]) {\n          return false\n        }\n      }\n    } else if (a !== b) {\n      return false\n    }\n  }\n\n  for (const key in another) {\n    if (node[key] === undefined && another[key] !== undefined) {\n      return false\n    }\n  }\n\n  return true\n}\n\nexport function pick<TObj extends Object, TKeys extends keyof TObj>(\n  obj: TObj,\n  ...keys: TKeys[]\n): Pick<TObj, TKeys> {\n  return Object.fromEntries(\n    Object.entries(obj).filter(([key]) => keys.includes(key as TKeys)),\n  ) as Pick<TObj, TKeys>\n}\n\nexport function omit<TObj extends Object, TKeys extends keyof TObj>(\n  obj: TObj,\n  ...keys: TKeys[]\n): Omit<TObj, TKeys> {\n  return Object.fromEntries(\n    Object.entries(obj).filter(([key]) => !keys.includes(key as TKeys)),\n  ) as Omit<TObj, TKeys>\n}\n\nexport function omitNullEntries<TObj extends Object>(\n  obj: TObj,\n): {\n  [K in keyof TObj]: TObj[K] extends null ? never : K\n} {\n  return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== null)) as {\n    [K in keyof TObj]: TObj[K] extends null ? never : K\n  }\n}\n","import * as Y from 'yjs'\n\nimport { DeltaInsert, InsertDelta } from '../module/custom-types'\nimport { deepEquals } from './object'\n\nexport function normalizeInsertDelta(delta: InsertDelta): InsertDelta {\n  const normalized: InsertDelta = []\n\n  for (const element of delta) {\n    if (typeof element.insert === 'string' && element.insert.length === 0) {\n      continue\n    }\n\n    const prev = normalized[normalized.length - 1]\n\n    if (!prev || typeof prev.insert !== 'string' || typeof element.insert !== 'string') {\n      normalized.push(element)\n      continue\n    }\n\n    const merge = prev.attributes === element.attributes\n      || (!prev.attributes === !element.attributes\n        && deepEquals(prev.attributes ?? {}, element.attributes ?? {}))\n\n    if (merge) {\n      prev.insert += element.insert\n      continue\n    }\n\n    normalized.push(element)\n  }\n\n  return normalized\n}\n\nexport function yTextToInsertDelta(yText: Y.XmlText): InsertDelta {\n  return normalizeInsertDelta(yText.toDelta())\n}\n\nexport function getInsertLength({ insert }: DeltaInsert): number {\n  return typeof insert === 'string' ? insert.length : 1\n}\n\nexport function getInsertDeltaLength(delta: InsertDelta): number {\n  return delta.reduce((curr, element) => curr + getInsertLength(element), 0)\n}\n\nexport function sliceInsertDelta(delta: InsertDelta, start: number, length: number): InsertDelta {\n  if (length < 1) {\n    return []\n  }\n\n  let currentOffset = 0\n  const sliced: InsertDelta = []\n  const end = start + length\n\n  for (let i = 0; i < delta.length; i += 1) {\n    if (currentOffset >= end) {\n      break\n    }\n\n    const element = delta[i]\n    const elementLength = getInsertLength(element)\n\n    if (currentOffset + elementLength <= start) {\n      currentOffset += elementLength\n      continue\n    }\n\n    if (typeof element.insert !== 'string') {\n      currentOffset += elementLength\n      sliced.push(element)\n      continue\n    }\n\n    const startOffset = Math.max(0, start - currentOffset)\n    const endOffset = Math.min(elementLength, elementLength - (currentOffset + elementLength - end))\n\n    sliced.push({\n      ...element,\n      insert: element.insert.slice(startOffset, endOffset),\n    })\n    currentOffset += elementLength\n  }\n\n  return sliced\n}\n","import {\n  Element, Node, Path, Text,\n} from 'slate'\nimport * as Y from 'yjs'\n\nimport { YTarget } from '../module/custom-types'\nimport { sliceInsertDelta, yTextToInsertDelta } from './delta'\n\nexport function getSlateNodeYLength(node: Node | undefined): number {\n  if (!node) {\n    return 0\n  }\n\n  return Text.isText(node) ? node.text.length : 1\n}\n\nexport function slatePathOffsetToYOffset(element: Element, pathOffset: number) {\n  return element.children\n    .slice(0, pathOffset)\n    .reduce((yOffset, node) => yOffset + getSlateNodeYLength(node), 0)\n}\n\nexport function getYTarget(yRoot: Y.XmlText, slateRoot: Node, path: Path): YTarget {\n  if (path.length === 0) {\n    throw new Error('Path has to a have a length >= 1')\n  }\n\n  if (Text.isText(slateRoot)) {\n    throw new Error('Cannot descent into slate text')\n  }\n\n  const [pathOffset, ...childPath] = path\n\n  const yOffset = slatePathOffsetToYOffset(slateRoot as Element, pathOffset)\n  const targetNode = slateRoot.children[pathOffset]\n\n  const delta = yTextToInsertDelta(yRoot)\n  const targetLength = getSlateNodeYLength(targetNode)\n\n  const targetDelta = sliceInsertDelta(delta, yOffset, targetLength)\n\n  if (targetDelta.length > 1) {\n    throw new Error(\"Path doesn't match yText, yTarget spans multiple nodes\")\n  }\n\n  const yTarget = targetDelta[0]?.insert\n\n  if (childPath.length > 0) {\n    if (!(yTarget instanceof Y.XmlText)) {\n      throw new Error(\"Path doesn't match yText, cannot descent into non-yText\")\n    }\n\n    return getYTarget(yTarget, targetNode, childPath)\n  }\n\n  return {\n    yParent: yRoot,\n    textRange: { start: yOffset, end: yOffset + targetLength },\n    yTarget: yTarget instanceof Y.XmlText ? yTarget : undefined,\n    slateParent: slateRoot,\n    slateTarget: targetNode,\n    targetDelta,\n  }\n}\n\nexport function yOffsetToSlateOffsets(\n  parent: Element,\n  yOffset: number,\n  opts: { assoc?: number; insert?: boolean } = {},\n): [number, number] {\n  const { assoc = 0, insert = false } = opts\n\n  let currentOffset = 0\n  let lastNonEmptyPathOffset = 0\n\n  for (let pathOffset = 0; pathOffset < parent.children.length; pathOffset += 1) {\n    const child = parent.children[pathOffset]\n    const nodeLength = Text.isText(child) ? child.text.length : 1\n\n    if (nodeLength > 0) {\n      lastNonEmptyPathOffset = pathOffset\n    }\n\n    const endOffset = currentOffset + nodeLength\n\n    if (nodeLength > 0 && (assoc >= 0 ? endOffset > yOffset : endOffset >= yOffset)) {\n      return [pathOffset, yOffset - currentOffset]\n    }\n\n    currentOffset += nodeLength\n  }\n\n  if (yOffset > currentOffset + (insert ? 1 : 0)) {\n    throw new Error('yOffset out of bounds')\n  }\n\n  if (insert) {\n    return [parent.children.length, 0]\n  }\n\n  const child = parent.children[lastNonEmptyPathOffset]\n  const textOffset = Text.isText(child) ? child.text.length : 1\n\n  return [lastNonEmptyPathOffset, textOffset]\n}\n\nexport function getSlatePath(sharedRoot: Y.XmlText, slateRoot: Node, yText: Y.XmlText): Path {\n  const yNodePath = [yText]\n\n  while (yNodePath[0] !== sharedRoot) {\n    const { parent: yParent } = yNodePath[0]\n\n    if (!yParent) {\n      throw new Error(\"yText isn't a descendant of root element\")\n    }\n\n    if (!(yParent instanceof Y.XmlText)) {\n      throw new Error('Unexpected y parent type')\n    }\n\n    yNodePath.unshift(yParent)\n  }\n\n  if (yNodePath.length < 2) {\n    return []\n  }\n\n  let slateParent = slateRoot\n\n  return yNodePath.reduce<Path>((path, yParent, idx) => {\n    const yChild = yNodePath[idx + 1]\n\n    if (!yChild) {\n      return path\n    }\n\n    let yOffset = 0\n    const currentDelta = yTextToInsertDelta(yParent)\n\n    for (const element of currentDelta) {\n      if (element.insert === yChild) {\n        break\n      }\n\n      yOffset += typeof element.insert === 'string' ? element.insert.length : 1\n    }\n\n    if (Text.isText(slateParent)) {\n      throw new Error('Cannot descent into slate text')\n    }\n\n    const [pathOffset] = yOffsetToSlateOffsets(slateParent as Element, yOffset)\n\n    slateParent = slateParent.children[pathOffset]\n    return path.concat(pathOffset)\n  }, [])\n}\n","import * as Y from 'yjs'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assertDocumentAttachment<T extends Y.AbstractType<any>>(\n  sharedType: T,\n): asserts sharedType is T & { doc: NonNullable<T['doc']> } {\n  if (!sharedType.doc) {\n    throw new Error(\"shared type isn't attached to a document\")\n  }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n  // eslint-disable-next-line es/no-array-prototype-includes -- detection\n  return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","import {\n  BasePoint, BaseRange, Element, Node, Text,\n} from 'slate'\nimport * as Y from 'yjs'\n\nimport { InsertDelta, RelativeRange, TextRange } from '../module/custom-types'\nimport { getInsertDeltaLength, yTextToInsertDelta } from './delta'\nimport { getSlatePath, getYTarget, yOffsetToSlateOffsets } from './location'\nimport { assertDocumentAttachment } from './yjs'\n\nexport const STORED_POSITION_PREFIX = '__slateYjsStoredPosition_'\n\nexport function slatePointToRelativePosition(\n  sharedRoot: Y.XmlText,\n  slateRoot: Node,\n  point: BasePoint,\n): Y.RelativePosition {\n  const { yTarget, yParent, textRange } = getYTarget(sharedRoot, slateRoot, point.path)\n\n  if (yTarget) {\n    throw new Error('Slate point points to a non-text element inside sharedRoot')\n  }\n\n  const index = textRange.start + point.offset\n\n  return Y.createRelativePositionFromTypeIndex(yParent, index, index === textRange.end ? -1 : 0)\n}\n\nexport function absolutePositionToSlatePoint(\n  sharedRoot: Y.XmlText,\n  slateRoot: Node,\n  { type, index, assoc }: Y.AbsolutePosition,\n): BasePoint | null {\n  if (!(type instanceof Y.XmlText)) {\n    throw new Error('Absolute position points to a non-XMLText')\n  }\n\n  const parentPath = getSlatePath(sharedRoot, slateRoot, type)\n  const parent = Node.get(slateRoot, parentPath)\n\n  if (Text.isText(parent) || !Element.isElement(parent)) {\n    throw new Error(\"Absolute position doesn't match slateRoot, cannot descent into text and EditorRoot\")\n  }\n\n  const [pathOffset, textOffset] = yOffsetToSlateOffsets(parent, index, {\n    assoc,\n  })\n\n  const target = parent.children[pathOffset]\n\n  if (!Text.isText(target)) {\n    return null\n  }\n\n  return { path: [...parentPath, pathOffset], offset: textOffset }\n}\n\nexport function relativePositionToSlatePoint(\n  sharedRoot: Y.XmlText,\n  slateRoot: Node,\n  pos: Y.RelativePosition,\n): BasePoint | null {\n  if (!sharedRoot.doc) {\n    throw new Error(\"sharedRoot isn't attach to a yDoc\")\n  }\n\n  const absPos = Y.createAbsolutePositionFromRelativePosition(pos, sharedRoot.doc)\n\n  return absPos && absolutePositionToSlatePoint(sharedRoot, slateRoot, absPos)\n}\n\nexport function getStoredPosition(sharedRoot: Y.XmlText, key: string): Y.RelativePosition | null {\n  const rawPosition = sharedRoot.getAttribute(STORED_POSITION_PREFIX + key)\n\n  if (!rawPosition) {\n    return null\n  }\n\n  return Y.decodeRelativePosition(rawPosition)\n}\n\nexport function getStoredPositions(sharedRoot: Y.XmlText): Record<string, Y.RelativePosition> {\n  return Object.fromEntries(\n    Object.entries(sharedRoot.getAttributes())\n      .filter(([key]) => key.startsWith(STORED_POSITION_PREFIX))\n      .map(([key, position]) => [\n        key.slice(STORED_POSITION_PREFIX.length),\n        Y.createRelativePositionFromJSON(position),\n      ]),\n  )\n}\n\nfunction getStoredPositionsAbsolute(sharedRoot: Y.XmlText) {\n  assertDocumentAttachment(sharedRoot)\n\n  return Object.fromEntries(\n    Object.entries(sharedRoot.getAttributes())\n      .filter(([key]) => key.startsWith(STORED_POSITION_PREFIX))\n      .map(\n        ([key, position]) => [\n          key.slice(STORED_POSITION_PREFIX.length),\n          Y.createAbsolutePositionFromRelativePosition(\n            Y.decodeRelativePosition(position),\n            sharedRoot.doc,\n          ),\n        ] as const,\n      )\n      .filter(([, position]) => position),\n  ) as Record<string, Y.AbsolutePosition>\n}\n\nexport function removeStoredPosition(sharedRoot: Y.XmlText, key: string) {\n  sharedRoot.removeAttribute(STORED_POSITION_PREFIX + key)\n}\n\nexport function setStoredPosition(\n  sharedRoot: Y.XmlText,\n  key: string,\n  position: Y.RelativePosition,\n) {\n  sharedRoot.setAttribute(STORED_POSITION_PREFIX + key, Y.encodeRelativePosition(position))\n}\n\nfunction getAbsolutePositionsInTextRange(\n  absolutePositions: Record<string, Y.AbsolutePosition>,\n  yTarget: Y.XmlText,\n  textRange?: TextRange,\n) {\n  return Object.fromEntries(\n    Object.entries(absolutePositions).filter(([, position]) => {\n      if (position.type !== yTarget) {\n        return false\n      }\n\n      if (!textRange) {\n        return true\n      }\n\n      return position.assoc >= 0\n        ? position.index >= textRange.start && position.index < textRange.end\n        : position.index > textRange.start && position.index >= textRange.end\n    }),\n  )\n}\n\nfunction getAbsolutePositionsInYText(\n  absolutePositions: Record<string, Y.AbsolutePosition>,\n  yText: Y.XmlText,\n  parentPath = '',\n): Record<string, Record<string, Y.AbsolutePosition>> {\n  const positions = {\n    [parentPath]: getAbsolutePositionsInTextRange(absolutePositions, yText),\n  }\n\n  const insertDelta = yTextToInsertDelta(yText)\n\n  insertDelta.forEach(({ insert }, i) => {\n    if (insert instanceof Y.XmlText) {\n      Object.assign(\n        positions,\n        getAbsolutePositionsInYText(\n          absolutePositions,\n          insert,\n          parentPath ? `${parentPath}.${i}` : i.toString(),\n        ),\n      )\n    }\n  })\n\n  return positions\n}\n\nexport function getStoredPositionsInDeltaAbsolute(\n  sharedRoot: Y.XmlText,\n  yText: Y.XmlText,\n  delta: InsertDelta,\n  deltaOffset = 0,\n) {\n  const absolutePositions = getStoredPositionsAbsolute(sharedRoot)\n\n  const positions = {\n    '': getAbsolutePositionsInTextRange(absolutePositions, yText, {\n      start: deltaOffset,\n      end: deltaOffset + getInsertDeltaLength(delta),\n    }),\n  }\n\n  delta.forEach(({ insert }, i) => {\n    if (insert instanceof Y.XmlText) {\n      Object.assign(positions, getAbsolutePositionsInYText(absolutePositions, insert, i.toString()))\n    }\n  })\n\n  return positions\n}\n\nexport function restoreStoredPositionsWithDeltaAbsolute(\n  sharedRoot: Y.XmlText,\n  yText: Y.XmlText,\n  absolutePositions: Record<string, Record<string, Y.AbsolutePosition>>,\n  delta: InsertDelta,\n  newDeltaOffset = 0,\n  previousDeltaOffset = 0,\n  path = '',\n) {\n  const toRestore = absolutePositions[path]\n\n  if (toRestore) {\n    Object.entries(toRestore).forEach(([key, position]) => {\n      setStoredPosition(\n        sharedRoot,\n        key,\n        Y.createRelativePositionFromTypeIndex(\n          yText,\n          position.index - previousDeltaOffset + newDeltaOffset,\n          position.assoc,\n        ),\n      )\n    })\n  }\n\n  delta.forEach(({ insert }, i) => {\n    if (insert instanceof Y.XmlText) {\n      restoreStoredPositionsWithDeltaAbsolute(\n        sharedRoot,\n        insert,\n        absolutePositions,\n        yTextToInsertDelta(insert),\n        0,\n        0,\n        path ? `${path}.${i}` : i.toString(),\n      )\n    }\n  })\n}\n\nexport function slateRangeToRelativeRange(\n  sharedRoot: Y.XmlText,\n  slateRoot: Node,\n  range: BaseRange,\n): RelativeRange {\n  return {\n    anchor: slatePointToRelativePosition(sharedRoot, slateRoot, range.anchor),\n    focus: slatePointToRelativePosition(sharedRoot, slateRoot, range.focus),\n  }\n}\n\nexport function relativeRangeToSlateRange(\n  sharedRoot: Y.XmlText,\n  slateRoot: Node,\n  range: RelativeRange,\n): BaseRange | null {\n  const anchor = relativePositionToSlatePoint(sharedRoot, slateRoot, range.anchor)\n\n  if (!anchor) {\n    return null\n  }\n\n  const focus = relativePositionToSlatePoint(sharedRoot, slateRoot, range.focus)\n\n  if (!focus) {\n    return null\n  }\n\n  return { anchor, focus }\n}\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis;\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n  nativeDefineProperty(O, P, Attributes);\n  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n  }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n  return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n  })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n  var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n  setInternalState(symbol, {\n    type: SYMBOL,\n    tag: tag,\n    description: description\n  });\n  if (!DESCRIPTORS) symbol.description = description;\n  return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n  anObject(O);\n  var key = toPropertyKey(P);\n  anObject(Attributes);\n  if (hasOwn(AllSymbols, key)) {\n    if (!Attributes.enumerable) {\n      if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n      O[HIDDEN][key] = true;\n    } else {\n      if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n    } return setSymbolDescriptor(O, key, Attributes);\n  } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n  anObject(O);\n  var properties = toIndexedObject(Properties);\n  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n  $forEach(keys, function (key) {\n    if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n  });\n  return O;\n};\n\nvar $create = function create(O, Properties) {\n  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n  var P = toPropertyKey(V);\n  var enumerable = call(nativePropertyIsEnumerable, this, P);\n  if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n  return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n    ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n  var it = toIndexedObject(O);\n  var key = toPropertyKey(P);\n  if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n  var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n  if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n    descriptor.enumerable = true;\n  }\n  return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n  var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n  });\n  return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n      push(result, AllSymbols[key]);\n    }\n  });\n  return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n  $Symbol = function Symbol() {\n    if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n    var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n    var tag = uid(description);\n    var setter = function (value) {\n      var $this = this === undefined ? globalThis : this;\n      if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n      if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n      var descriptor = createPropertyDescriptor(1, value);\n      try {\n        setSymbolDescriptor($this, tag, descriptor);\n      } catch (error) {\n        if (!(error instanceof RangeError)) throw error;\n        fallbackDefineProperty($this, tag, descriptor);\n      }\n    };\n    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n    return wrap(tag, description);\n  };\n\n  SymbolPrototype = $Symbol[PROTOTYPE];\n\n  defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n    return getInternalState(this).tag;\n  });\n\n  defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n    return wrap(uid(description), description);\n  });\n\n  propertyIsEnumerableModule.f = $propertyIsEnumerable;\n  definePropertyModule.f = $defineProperty;\n  definePropertiesModule.f = $defineProperties;\n  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n  wrappedWellKnownSymbolModule.f = function (name) {\n    return wrap(wellKnownSymbol(name), name);\n  };\n\n  if (DESCRIPTORS) {\n    // https://tc39.es/ecma262/#sec-symbol.prototype.description\n    defineBuiltInAccessor(SymbolPrototype, 'description', {\n      configurable: true,\n      get: function description() {\n        return getInternalState(this).description;\n      }\n    });\n    if (!IS_PURE) {\n      defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n    }\n  }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n  Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n  defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n  useSetter: function () { USE_SETTER = true; },\n  useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n  // `Object.create` method\n  // https://tc39.es/ecma262/#sec-object.create\n  create: $create,\n  // `Object.defineProperty` method\n  // https://tc39.es/ecma262/#sec-object.defineproperty\n  defineProperty: $defineProperty,\n  // `Object.defineProperties` method\n  // https://tc39.es/ecma262/#sec-object.defineproperties\n  defineProperties: $defineProperties,\n  // `Object.getOwnPropertyDescriptor` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Object.getOwnPropertyNames` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertynames\n  getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n  var Symbol = path.Symbol || (path.Symbol = {});\n  if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n    value: wrappedWellKnownSymbolModule.f(NAME)\n  });\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n  var Symbol = getBuiltIn('Symbol');\n  var SymbolPrototype = Symbol && Symbol.prototype;\n  var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n  var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n  if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n    // `Symbol.prototype[@@toPrimitive]` method\n    // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n    // eslint-disable-next-line no-unused-vars -- required for .length\n    defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n      return call(valueOf, this);\n    }, { arity: 1 });\n  }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.1.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n  var symbol = getBuiltIn('Symbol')('stringify detection');\n  // MS Edge converts symbol values to JSON as {}\n  return $stringify([symbol]) !== '[null]'\n    // WebKit converts symbol values to JSON as null\n    || $stringify({ a: symbol }) !== '{}'\n    // V8 throws on boxed symbols\n    || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n  return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n    || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n  var args = arraySlice(arguments);\n  var $replacer = getReplacerFunction(replacer);\n  if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n  args[1] = function (key, value) {\n    // some old implementations (like WebKit) could pass numbers as keys\n    if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n    if (!isSymbol(value)) return value;\n  };\n  return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n  var prev = charAt(string, offset - 1);\n  var next = charAt(string, offset + 1);\n  if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n    return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n  } return match;\n};\n\nif ($stringify) {\n  // `JSON.stringify` method\n  // https://tc39.es/ecma262/#sec-json.stringify\n  $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n    // eslint-disable-next-line no-unused-vars -- required for `.length`\n    stringify: function stringify(it, replacer, space) {\n      var args = arraySlice(arguments);\n      var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n      return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n    }\n  });\n}\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n  if (isCallable(replacer)) return replacer;\n  if (!isArray(replacer)) return;\n  var rawLength = replacer.length;\n  var keys = [];\n  for (var i = 0; i < rawLength; i++) {\n    var element = replacer[i];\n    if (typeof element == 'string') push(keys, element);\n    else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n  }\n  var keysLength = keys.length;\n  var root = true;\n  return function (key, value) {\n    if (root) {\n      root = false;\n      return value;\n    }\n    if (isArray(this)) return value;\n    for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n  };\n};\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n  'for': function (key) {\n    var string = toString(key);\n    if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n    var symbol = getBuiltIn('Symbol')(string);\n    StringToSymbolRegistry[string] = symbol;\n    SymbolToStringRegistry[symbol] = string;\n    return symbol;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n    if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n    return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n  }\n});\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = globalThis.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n  // Safari 12 bug\n  NativeSymbol().description !== undefined\n)) {\n  var EmptyStringDescriptionStore = {};\n  // wrap Symbol constructor for correct work with undefined description\n  var SymbolWrapper = function Symbol() {\n    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n    var result = isPrototypeOf(SymbolPrototype, this)\n      // eslint-disable-next-line sonarjs/inconsistent-function-call -- ok\n      ? new NativeSymbol(description)\n      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n      : description === undefined ? NativeSymbol() : NativeSymbol(description);\n    if (description === '') EmptyStringDescriptionStore[result] = true;\n    return result;\n  };\n\n  copyConstructorProperties(SymbolWrapper, NativeSymbol);\n  SymbolWrapper.prototype = SymbolPrototype;\n  SymbolPrototype.constructor = SymbolWrapper;\n\n  var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)';\n  var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf);\n  var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString);\n  var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n  var replace = uncurryThis(''.replace);\n  var stringSlice = uncurryThis(''.slice);\n\n  defineBuiltInAccessor(SymbolPrototype, 'description', {\n    configurable: true,\n    get: function description() {\n      var symbol = thisSymbolValue(this);\n      if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n      var string = symbolDescriptiveString(symbol);\n      var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n      return desc === '' ? undefined : desc;\n    }\n  });\n\n  $({ global: true, constructor: true, forced: true }, {\n    Symbol: SymbolWrapper\n  });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n  return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","import { BaseText, Descendant, Text } from 'slate'\n\nimport { omit } from './object'\n\nexport function getProperties<TNode extends Descendant>(\n  node: TNode,\n): Omit<TNode, TNode extends BaseText ? 'text' : 'children'> {\n  return omit(node, (Text.isText(node) ? 'text' : 'children') as keyof TNode) as Omit<\n    TNode,\n    TNode extends BaseText ? 'text' : 'children'\n  >\n}\n","import { BaseElement } from 'packages/custom-types'\nimport { Element, Node, Text } from 'slate'\nimport * as Y from 'yjs'\n\nimport { DeltaInsert, InsertDelta } from '../module/custom-types'\nimport { yTextToInsertDelta } from './delta'\nimport { getProperties } from './slate'\n\nexport function yTextToSlateElement(yText: Y.XmlText): Element {\n  const delta = yTextToInsertDelta(yText)\n\n  // eslint-disable-next-line @typescript-eslint/no-use-before-define\n  const children = delta.length > 0 ? delta.map(deltaInsertToSlateNode) : [{ text: '' }]\n\n  // @ts-ignore\n  return { ...yText.getAttributes(), children }\n}\n\nexport function deltaInsertToSlateNode(insert: DeltaInsert): Node {\n  if (typeof insert.insert === 'string') {\n    return { ...insert.attributes, text: insert.insert }\n  }\n\n  return yTextToSlateElement(insert.insert)\n}\n\nexport function slateNodesToInsertDelta(nodes: Node[]): InsertDelta {\n  return nodes.map(node => {\n    if (Text.isText(node)) {\n      return { insert: node.text, attributes: getProperties(node) }\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-use-before-define\n    return { insert: slateElementToYText(node as BaseElement) }\n  })\n}\n\nexport function slateElementToYText({ children, ...attributes }: Element): Y.XmlText {\n  const yElement = new Y.XmlText()\n\n  Object.entries(attributes).forEach(([key, value]) => {\n    yElement.setAttribute(key, value)\n  })\n\n  yElement.applyDelta(slateNodesToInsertDelta(children), { sanitize: false })\n  return yElement\n}\n","import {\n  Editor, Element, Node, Operation, Path, Text,\n} from 'slate'\nimport * as Y from 'yjs'\n\nimport { Delta } from '../module/custom-types'\nimport { deltaInsertToSlateNode } from '../utils/convert'\nimport { getSlateNodeYLength, getSlatePath, yOffsetToSlateOffsets } from '../utils/location'\nimport { deepEquals, omitNullEntries, pick } from '../utils/object'\nimport { getProperties } from '../utils/slate'\n\nfunction applyDelta(node: Element, slatePath: Path, delta: Delta): Operation[] {\n  const ops: Operation[] = []\n\n  let yOffset = delta.reduce((length, change) => {\n    if ('retain' in change) {\n      return length + change.retain\n    }\n\n    if ('delete' in change) {\n      return length + change.delete\n    }\n\n    return length\n  }, 0)\n\n  // Apply changes in reverse order to avoid path changes.\n  delta.reverse().forEach(change => {\n    if ('attributes' in change && 'retain' in change) {\n      const [startPathOffset, startTextOffset] = yOffsetToSlateOffsets(\n        node,\n        yOffset - change.retain,\n      )\n      const [endPathOffset, endTextOffset] = yOffsetToSlateOffsets(node, yOffset, { assoc: -1 })\n\n      for (let pathOffset = endPathOffset; pathOffset >= startPathOffset; pathOffset -= 1) {\n        const child = node.children[pathOffset]\n        const childPath = [...slatePath, pathOffset]\n\n        if (!Text.isText(child)) {\n          // Ignore attribute updates on non-text nodes (which are backed by Y.XmlText)\n          // to be consistent with deltaInsertToSlateNode. Y.XmlText attributes don't show\n          // up in deltas but in key changes (YEvent.changes.keys).\n          continue\n        }\n\n        const newProperties = change.attributes\n        const properties = pick(node, ...(Object.keys(change.attributes) as Array<keyof Element>))\n\n        if (pathOffset === startPathOffset || pathOffset === endPathOffset) {\n          const start = pathOffset === startPathOffset ? startTextOffset : 0\n          const end = pathOffset === endPathOffset ? endTextOffset : child.text.length\n\n          if (end !== child.text.length) {\n            ops.push({\n              type: 'split_node',\n              path: childPath,\n              position: end,\n              properties: getProperties(child),\n            })\n          }\n\n          if (start !== 0) {\n            ops.push({\n              type: 'split_node',\n              path: childPath,\n              position: start,\n              properties: omitNullEntries({\n                ...getProperties(child),\n                ...newProperties,\n              }),\n            })\n\n            continue\n          }\n        }\n\n        ops.push({\n          type: 'set_node',\n          newProperties,\n          path: childPath,\n          properties,\n        })\n      }\n    }\n\n    if ('retain' in change) {\n      yOffset -= change.retain\n    }\n\n    if ('delete' in change) {\n      const [startPathOffset, startTextOffset] = yOffsetToSlateOffsets(\n        node,\n        yOffset - change.delete,\n      )\n      const [endPathOffset, endTextOffset] = yOffsetToSlateOffsets(node, yOffset, { assoc: -1 })\n\n      for (\n        let pathOffset = endTextOffset === 0 ? endPathOffset - 1 : endPathOffset;\n        pathOffset >= startPathOffset;\n        pathOffset -= 1\n      ) {\n        const child = node.children[pathOffset]\n        const childPath = [...slatePath, pathOffset]\n\n        if (\n          Text.isText(child)\n          && (pathOffset === startPathOffset || pathOffset === endPathOffset)\n        ) {\n          const start = pathOffset === startPathOffset ? startTextOffset : 0\n          const end = pathOffset === endPathOffset ? endTextOffset : child.text.length\n\n          ops.push({\n            type: 'remove_text',\n            offset: start,\n            text: child.text.slice(start, end),\n            path: childPath,\n          })\n\n          yOffset -= end - start\n          continue\n        }\n\n        ops.push({\n          type: 'remove_node',\n          node: child,\n          path: childPath,\n        })\n        yOffset -= getSlateNodeYLength(child)\n      }\n\n      return\n    }\n\n    if ('insert' in change) {\n      const [pathOffset, textOffset] = yOffsetToSlateOffsets(node, yOffset, {\n        insert: true,\n      })\n      const child = node.children[pathOffset]\n      const childPath = [...slatePath, pathOffset]\n\n      if (Text.isText(child)) {\n        const lastOp = ops[ops.length - 1]\n\n        /**\n         * The props that exist at the current path\n         * Since we're not actually using slate to update the node\n         * this is a simulation\n         */\n        const currentProps = lastOp != null && lastOp.type === 'insert_node' ? lastOp.node : getProperties(child)\n\n        let lastPath: Path = []\n\n        if (\n          lastOp != null\n          && (lastOp.type === 'insert_node'\n            || lastOp.type === 'insert_text'\n            || lastOp.type === 'split_node'\n            || lastOp.type === 'set_node')\n        ) {\n          lastPath = lastOp.path\n        }\n\n        /**\n         * If the insert is a string and the attributes are the same as the\n         * props at the current path, we can just insert a text node\n         */\n        if (\n          typeof change.insert === 'string'\n          && deepEquals(change.attributes ?? {}, currentProps)\n          && Path.equals(childPath, lastPath)\n        ) {\n          return ops.push({\n            type: 'insert_text',\n            offset: textOffset,\n            text: change.insert,\n            path: childPath,\n          })\n        }\n\n        const toInsert = deltaInsertToSlateNode(change)\n\n        if (textOffset === 0) {\n          return ops.push({\n            type: 'insert_node',\n            path: childPath,\n            node: toInsert,\n          })\n        }\n\n        if (textOffset < child.text.length) {\n          ops.push({\n            type: 'split_node',\n            path: childPath,\n            position: textOffset,\n            properties: getProperties(child),\n          })\n        }\n\n        return ops.push({\n          type: 'insert_node',\n          path: Path.next(childPath),\n          node: toInsert,\n        })\n      }\n\n      return ops.push({\n        type: 'insert_node',\n        path: childPath,\n        node: deltaInsertToSlateNode(change),\n      })\n    }\n  })\n\n  return ops\n}\n\nexport function translateYTextEvent(\n  sharedRoot: Y.XmlText,\n  editor: Editor,\n  event: Y.YTextEvent,\n): Operation[] {\n  const { target, changes } = event\n  const delta = event.delta as Delta\n\n  if (!(target instanceof Y.XmlText)) {\n    throw new Error('Unexpected target node type')\n  }\n\n  const ops: Operation[] = []\n  const slatePath = getSlatePath(sharedRoot, editor, target)\n  const targetElement = Node.get(editor, slatePath)\n\n  if (Text.isText(targetElement)) {\n    throw new Error('Cannot apply yTextEvent to text node')\n  }\n\n  const keyChanges = Array.from(changes.keys.entries())\n\n  if (slatePath.length > 0 && keyChanges.length > 0) {\n    const newProperties = Object.fromEntries(\n      keyChanges.map(([key, info]) => [\n        key,\n        info.action === 'delete' ? null : target.getAttribute(key),\n      ]),\n    )\n\n    const properties = Object.fromEntries(keyChanges.map(([key]) => [key, targetElement[key]]))\n\n    ops.push({\n      type: 'set_node', newProperties, properties, path: slatePath,\n    })\n  }\n\n  if (delta.length > 0) {\n    ops.push(...applyDelta(targetElement as Element, slatePath, delta))\n  }\n\n  return ops\n}\n","import { Editor, Operation } from 'slate'\nimport * as Y from 'yjs'\n\nimport { translateYTextEvent } from './textEvent'\n\n/**\n * Translate a yjs event into slate operations. The editor state has to match the\n * yText state before the event occurred.\n *\n * @param sharedType\n * @param op\n */\nexport function translateYjsEvent(\n  sharedRoot: Y.XmlText,\n  editor: Editor,\n  event: Y.YEvent<Y.XmlText>,\n): Operation[] {\n  if (event instanceof Y.YTextEvent) {\n    return translateYTextEvent(sharedRoot, editor, event)\n  }\n\n  throw new Error('Unexpected Y event type')\n}\n\n/**\n * Translates yjs events into slate operations and applies them to the editor. The\n * editor state has to match the yText state before the events occurred.\n *\n * @param sharedRoot\n * @param editor\n * @param events\n */\nexport function applyYjsEvents(\n  sharedRoot: Y.XmlText,\n  editor: Editor,\n  events: Y.YEvent<Y.XmlText>[],\n) {\n  Editor.withoutNormalizing(editor, () => {\n    events.forEach(event => {\n      translateYjsEvent(sharedRoot, editor, event).forEach(op => {\n        editor.apply(op)\n      })\n    })\n  })\n}\n","import * as Y from 'yjs'\n\nimport { InsertDelta } from '../module/custom-types'\nimport { yTextToInsertDelta } from './delta'\n\nexport function cloneInsertDeltaDeep(delta: InsertDelta): InsertDelta {\n  return delta.map(element => {\n    if (typeof element.insert === 'string') {\n      return element\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-use-before-define\n    return { ...element, insert: cloneDeep(element.insert) }\n  })\n}\n\nexport function cloneDeep(yText: Y.XmlText): Y.XmlText {\n  const clone = new Y.XmlText()\n\n  const attributes = yText.getAttributes()\n\n  Object.entries(attributes).forEach(([key, value]) => {\n    clone.setAttribute(key, value)\n  })\n\n  clone.applyDelta(cloneInsertDeltaDeep(yTextToInsertDelta(yText)), {\n    sanitize: false,\n  })\n\n  return clone\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n  keys: function keys(it) {\n    return nativeKeys(toObject(it));\n  }\n});\n","import { NodeOperation } from 'slate'\n\nimport { OpMapper } from '../types'\nimport { insertNode } from './insertNode'\nimport { mergeNode } from './mergeNode'\nimport { moveNode } from './moveNode'\nimport { removeNode } from './removeNode'\nimport { setNode } from './setNode'\nimport { splitNode } from './splitNode'\n\nexport const NODE_MAPPER: OpMapper<NodeOperation> = {\n  insert_node: insertNode,\n  remove_node: removeNode,\n  set_node: setNode,\n  merge_node: mergeNode,\n  move_node: moveNode,\n  split_node: splitNode,\n}\n","import { CustomElement } from 'packages/custom-types'\nimport { InsertNodeOperation, Node, Text } from 'slate'\nimport * as Y from 'yjs'\n\nimport { slateElementToYText } from '../../utils/convert'\nimport { getYTarget } from '../../utils/location'\nimport { getProperties } from '../../utils/slate'\n\nexport function insertNode(sharedRoot: Y.XmlText, slateRoot: Node, op: InsertNodeOperation): void {\n  const { yParent, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n\n  if (Text.isText(op.node)) {\n    return yParent.insert(textRange.start, op.node.text, getProperties(op.node))\n  }\n\n  yParent.insertEmbed(textRange.start, slateElementToYText(op.node as CustomElement))\n}\n","import { Node, RemoveNodeOperation } from 'slate'\nimport * as Y from 'yjs'\n\nimport { getYTarget } from '../../utils/location'\n\nexport function removeNode(sharedRoot: Y.XmlText, slateRoot: Node, op: RemoveNodeOperation): void {\n  const { yParent: parent, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n\n  parent.delete(textRange.start, textRange.end - textRange.start)\n}\n","import { Node, SetNodeOperation } from 'slate'\nimport * as Y from 'yjs'\n\nimport { getYTarget } from '../../utils/location'\n\nexport function setNode(sharedRoot: Y.XmlText, slateRoot: Node, op: SetNodeOperation): void {\n  const { yTarget, textRange, yParent } = getYTarget(sharedRoot, slateRoot, op.path)\n\n  if (yTarget) {\n    Object.entries(op.newProperties).forEach(([key, value]) => {\n      if (value === null) {\n        return yTarget.removeAttribute(key)\n      }\n\n      yTarget.setAttribute(key, value)\n    })\n\n    return Object.entries(op.properties).forEach(([key]) => {\n      if (!Object.prototype.hasOwnProperty.call(op.newProperties, key)) {\n        yTarget.removeAttribute(key)\n      }\n    })\n  }\n\n  const unset = Object.fromEntries(Object.keys(op.properties).map(key => [key, null]))\n  const newProperties = { ...unset, ...op.newProperties }\n\n  yParent.format(textRange.start, textRange.end - textRange.start, newProperties)\n}\n","import { BaseElement } from 'packages/custom-types'\nimport {\n  MergeNodeOperation, Node, Path, Text,\n} from 'slate'\nimport * as Y from 'yjs'\n\nimport { Delta } from '../../module/custom-types'\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { yTextToInsertDelta } from '../../utils/delta'\nimport { getYTarget } from '../../utils/location'\nimport {\n  getStoredPositionsInDeltaAbsolute,\n  restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\nimport { getProperties } from '../../utils/slate'\n\nexport function mergeNode(sharedRoot: Y.XmlText, slateRoot: Node, op: MergeNodeOperation): void {\n  const target = getYTarget(sharedRoot, slateRoot, op.path)\n  const prev = getYTarget(target.yParent, target.slateParent, Path.previous(op.path.slice(-1)))\n\n  if (!target.yTarget !== !prev.yTarget) {\n    throw new Error('Cannot merge y text with y element')\n  }\n\n  if (!prev.yTarget || !target.yTarget) {\n    const { yParent: parent, textRange, slateTarget } = target\n\n    if (!slateTarget) {\n      throw new Error('Expected Slate target node for merge op.')\n    }\n\n    const prevSibling = Node.get(slateRoot, Path.previous(op.path))\n\n    if (!Text.isText(prevSibling)) {\n      throw new Error('Path points to Y.Text but not a Slate text node.')\n    }\n\n    const targetProps = getProperties(slateTarget as BaseElement)\n    const prevSiblingProps = getProperties(prevSibling)\n    const unsetProps = Object.keys(targetProps).reduce((acc, key) => {\n      const prevSiblingHasProp = key in prevSiblingProps\n\n      return prevSiblingHasProp ? acc : { ...acc, [key]: null }\n    }, {})\n\n    return parent.format(textRange.start, textRange.end - textRange.start, {\n      ...unsetProps,\n      ...prevSiblingProps,\n    })\n  }\n\n  const deltaApplyYOffset = prev.yTarget.length\n  const targetDelta = yTextToInsertDelta(target.yTarget)\n  const clonedDelta = cloneInsertDeltaDeep(targetDelta)\n\n  const storedPositions = getStoredPositionsInDeltaAbsolute(\n    sharedRoot,\n    target.yTarget,\n    targetDelta,\n    deltaApplyYOffset,\n  )\n\n  const applyDelta: Delta = [{ retain: deltaApplyYOffset }, ...clonedDelta]\n\n  prev.yTarget.applyDelta(applyDelta, {\n    sanitize: false,\n  })\n\n  target.yParent.delete(target.textRange.start, target.textRange.end - target.textRange.start)\n\n  restoreStoredPositionsWithDeltaAbsolute(\n    sharedRoot,\n    prev.yTarget,\n    storedPositions,\n    clonedDelta,\n    deltaApplyYOffset,\n  )\n}\n","import {\n  MoveNodeOperation, Node, Path, Text,\n} from 'slate'\nimport * as Y from 'yjs'\n\nimport { Delta } from '../../module/custom-types'\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { getInsertDeltaLength, yTextToInsertDelta } from '../../utils/delta'\nimport { getYTarget } from '../../utils/location'\nimport {\n  getStoredPositionsInDeltaAbsolute,\n  restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\n\nexport function moveNode(sharedRoot: Y.XmlText, slateRoot: Node, op: MoveNodeOperation): void {\n  const newParentPath = Path.parent(op.newPath)\n  const newPathOffset = op.newPath[op.newPath.length - 1]\n  const parent = Node.get(slateRoot, newParentPath)\n\n  if (Text.isText(parent)) {\n    throw new Error('Cannot move slate node into text element')\n  }\n  const normalizedNewPath = [...newParentPath, Math.min(newPathOffset, parent.children.length)]\n\n  const origin = getYTarget(sharedRoot, slateRoot, op.path)\n  const target = getYTarget(sharedRoot, slateRoot, normalizedNewPath)\n  const insertDelta = cloneInsertDeltaDeep(origin.targetDelta)\n\n  const storedPositions = getStoredPositionsInDeltaAbsolute(\n    sharedRoot,\n    origin.yParent,\n    origin.targetDelta,\n  )\n\n  origin.yParent.delete(origin.textRange.start, origin.textRange.end - origin.textRange.start)\n\n  const targetLength = getInsertDeltaLength(yTextToInsertDelta(target.yParent))\n  const deltaApplyYOffset = Math.min(target.textRange.start, targetLength)\n  const applyDelta: Delta = [{ retain: deltaApplyYOffset }, ...insertDelta]\n\n  target.yParent.applyDelta(applyDelta, { sanitize: false })\n\n  restoreStoredPositionsWithDeltaAbsolute(\n    sharedRoot,\n    target.yParent,\n    storedPositions,\n    insertDelta,\n    deltaApplyYOffset,\n    origin.textRange.start,\n  )\n}\n","import { Node, SplitNodeOperation, Text } from 'slate'\nimport * as Y from 'yjs'\n\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { sliceInsertDelta, yTextToInsertDelta } from '../../utils/delta'\nimport { getSlateNodeYLength, getYTarget } from '../../utils/location'\nimport {\n  getStoredPositionsInDeltaAbsolute,\n  restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\n\nexport function splitNode(sharedRoot: Y.XmlText, slateRoot: Node, op: SplitNodeOperation): void {\n  const target = getYTarget(sharedRoot, slateRoot, op.path)\n\n  if (!target.slateTarget) {\n    throw new Error('Y target without corresponding slate node')\n  }\n\n  if (!target.yTarget) {\n    if (!Text.isText(target.slateTarget)) {\n      throw new Error('Mismatch node type between y target and slate node')\n    }\n\n    const unset: Record<string, null> = {}\n\n    target.targetDelta.forEach(element => {\n      if (element.attributes) {\n        Object.keys(element.attributes).forEach(key => {\n          unset[key] = null\n        })\n      }\n    })\n\n    return target.yParent.format(\n      target.textRange.start,\n      target.textRange.end - target.textRange.start,\n      { ...unset, ...op.properties },\n    )\n  }\n\n  if (Text.isText(target.slateTarget)) {\n    throw new Error('Mismatch node type between y target and slate node')\n  }\n\n  const splitTarget = getYTarget(target.yTarget, target.slateTarget, [op.position])\n\n  const ySplitOffset = target.slateTarget.children\n    .slice(0, op.position)\n    .reduce((length, child) => length + getSlateNodeYLength(child), 0)\n\n  // @ts-ignore\n  const length = target.slateTarget.children.reduce(\n    (current, child) => current + getSlateNodeYLength(child),\n    0,\n  )\n\n  const splitDelta = sliceInsertDelta(\n    yTextToInsertDelta(target.yTarget),\n    ySplitOffset,\n    length - ySplitOffset,\n  )\n  const clonedDelta = cloneInsertDeltaDeep(splitDelta)\n\n  const storedPositions = getStoredPositionsInDeltaAbsolute(\n    sharedRoot,\n    target.yTarget,\n    splitDelta,\n    ySplitOffset,\n  )\n\n  const toInsert = new Y.XmlText()\n\n  toInsert.applyDelta(clonedDelta, {\n    sanitize: false,\n  })\n\n  Object.entries(op.properties).forEach(([key, value]) => {\n    toInsert.setAttribute(key, value)\n  })\n\n  target.yTarget.delete(\n    splitTarget.textRange.start,\n    target.yTarget.length - splitTarget.textRange.start,\n  )\n\n  target.yParent.insertEmbed(target.textRange.end, toInsert)\n\n  restoreStoredPositionsWithDeltaAbsolute(\n    sharedRoot,\n    toInsert,\n    storedPositions,\n    clonedDelta,\n    0,\n    ySplitOffset,\n  )\n}\n","import { TextOperation } from 'slate'\n\nimport { OpMapper } from '../types'\nimport { insertText } from './insertText'\nimport { removeText } from './removeText'\n\nexport const TEXT_MAPPER: OpMapper<TextOperation> = {\n  insert_text: insertText,\n  remove_text: removeText,\n}\n","import { Node, Operation } from 'slate'\nimport * as Y from 'yjs'\n\nimport { NODE_MAPPER } from './node'\nimport { TEXT_MAPPER } from './text'\nimport { ApplyFunc, OpMapper } from './types'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst NOOP = () => {}\n\nconst opMappers: OpMapper = {\n  ...TEXT_MAPPER,\n  ...NODE_MAPPER,\n\n  set_selection: NOOP,\n}\n\nexport function applySlateOp(sharedRoot: Y.XmlText, slateRoot: Node, op: Operation): void {\n  const apply = opMappers[op.type] as ApplyFunc<typeof op>\n\n  if (!apply) {\n    throw new Error(`Unknown operation: ${op.type}`)\n  }\n\n  apply(sharedRoot, slateRoot, op)\n}\n","import { InsertTextOperation, Node, Text } from 'slate'\nimport * as Y from 'yjs'\n\nimport { getYTarget } from '../../utils/location'\nimport { getProperties } from '../../utils/slate'\n\nexport function insertText(sharedRoot: Y.XmlText, slateRoot: Node, op: InsertTextOperation): void {\n  const { yParent: target, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n\n  const targetNode = Node.get(slateRoot, op.path)\n\n  if (!Text.isText(targetNode)) {\n    throw new Error('Cannot insert text into non-text node')\n  }\n\n  target.insert(textRange.start + op.offset, op.text, getProperties(targetNode))\n}\n","import { Node, RemoveTextOperation } from 'slate'\nimport * as Y from 'yjs'\n\nimport { getYTarget } from '../../utils/location'\n\nexport function removeText(sharedRoot: Y.XmlText, slateRoot: Node, op: RemoveTextOperation): void {\n  const { yParent: target, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n\n  target.delete(textRange.start + op.offset, op.text.length)\n}\n","import {\n  BaseEditor, Descendant, Editor, Operation, Point,\n} from 'slate'\nimport * as Y from 'yjs'\n\nimport { applyYjsEvents } from '../applyToSlate'\nimport { applySlateOp } from '../applyToYjs'\nimport { yTextToSlateElement } from '../utils/convert'\nimport {\n  getStoredPosition,\n  getStoredPositions,\n  relativePositionToSlatePoint,\n  removeStoredPosition,\n  setStoredPosition,\n  slatePointToRelativePosition,\n} from '../utils/position'\nimport { assertDocumentAttachment } from '../utils/yjs'\n\ntype LocalChange = {\n  op: Operation\n  doc: Descendant[]\n  origin: unknown\n}\n\nconst DEFAULT_LOCAL_ORIGIN = Symbol('slate-yjs-operation')\nconst DEFAULT_POSITION_STORAGE_ORIGIN = Symbol('slate-yjs-position-storage')\n\nconst ORIGIN: WeakMap<Editor, unknown> = new WeakMap()\nconst LOCAL_CHANGES: WeakMap<Editor, LocalChange[]> = new WeakMap()\nconst CONNECTED: WeakSet<Editor> = new WeakSet()\n\nexport type YjsEditor = BaseEditor & {\n  sharedRoot: Y.XmlText\n\n  localOrigin: unknown\n  positionStorageOrigin: unknown\n\n  applyRemoteEvents: (events: Y.YEvent<Y.XmlText>[], origin: unknown) => void\n\n  storeLocalChange: (op: Operation) => void\n  flushLocalChanges: () => void\n\n  isLocalOrigin: (origin: unknown) => boolean\n\n  connect: () => void\n  disconnect: () => void\n}\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const YjsEditor = {\n  isYjsEditor(value: unknown): value is YjsEditor {\n    return (\n      Editor.isEditor(value)\n      && (value as YjsEditor).sharedRoot instanceof Y.XmlText\n      && 'localOrigin' in value\n      && 'positionStorageOrigin' in value\n      && typeof (value as YjsEditor).applyRemoteEvents === 'function'\n      && typeof (value as YjsEditor).storeLocalChange === 'function'\n      && typeof (value as YjsEditor).flushLocalChanges === 'function'\n      && typeof (value as YjsEditor).isLocalOrigin === 'function'\n      && typeof (value as YjsEditor).connect === 'function'\n      && typeof (value as YjsEditor).disconnect === 'function'\n    )\n  },\n\n  localChanges(editor: YjsEditor): LocalChange[] {\n    return LOCAL_CHANGES.get(editor) ?? []\n  },\n\n  applyRemoteEvents(editor: YjsEditor, events: Y.YEvent<Y.XmlText>[], origin: unknown): void {\n    editor.applyRemoteEvents(events, origin)\n  },\n\n  storeLocalChange(editor: YjsEditor, op: Operation): void {\n    editor.storeLocalChange(op)\n  },\n\n  flushLocalChanges(editor: YjsEditor): void {\n    editor.flushLocalChanges()\n  },\n\n  connected(editor: YjsEditor): boolean {\n    return CONNECTED.has(editor)\n  },\n\n  connect(editor: YjsEditor): void {\n    editor.connect()\n  },\n\n  disconnect(editor: YjsEditor): void {\n    editor.disconnect()\n  },\n\n  isLocal(editor: YjsEditor): boolean {\n    return editor.isLocalOrigin(YjsEditor.origin(editor))\n  },\n\n  origin(editor: YjsEditor): unknown {\n    const origin = ORIGIN.get(editor)\n\n    return origin !== undefined ? origin : editor.localOrigin\n  },\n\n  withOrigin(editor: YjsEditor, origin: unknown, fn: () => void): void {\n    const prev = YjsEditor.origin(editor)\n\n    ORIGIN.set(editor, origin)\n    fn()\n    ORIGIN.set(editor, prev)\n  },\n\n  storePosition(editor: YjsEditor, key: string, point: Point): void {\n    const { sharedRoot, positionStorageOrigin: locationStorageOrigin } = editor\n\n    assertDocumentAttachment(sharedRoot)\n\n    const position = slatePointToRelativePosition(sharedRoot, editor, point)\n\n    sharedRoot.doc.transact(() => {\n      setStoredPosition(sharedRoot, key, position)\n    }, locationStorageOrigin)\n  },\n\n  removeStoredPosition(editor: YjsEditor, key: string): void {\n    const { sharedRoot, positionStorageOrigin: locationStorageOrigin } = editor\n\n    assertDocumentAttachment(sharedRoot)\n\n    sharedRoot.doc.transact(() => {\n      removeStoredPosition(sharedRoot, key)\n    }, locationStorageOrigin)\n  },\n\n  position(editor: YjsEditor, key: string): Point | null | undefined {\n    const position = getStoredPosition(editor.sharedRoot, key)\n\n    if (!position) {\n      return undefined\n    }\n\n    return relativePositionToSlatePoint(editor.sharedRoot, editor, position)\n  },\n\n  storedPositionsRelative(editor: YjsEditor): Record<string, Y.RelativePosition> {\n    return getStoredPositions(editor.sharedRoot)\n  },\n}\n\nexport type WithYjsOptions = {\n  autoConnect?: boolean\n\n  // Origin used when applying local slate operations to yjs\n  localOrigin?: unknown\n\n  // Origin used when storing positions\n  positionStorageOrigin?: unknown\n}\n\nexport function withYjs(sharedRoot: Y.XmlText, options: WithYjsOptions = {}) {\n  return function <T extends Editor> (editor: T): T & YjsEditor {\n    const e = editor as T & YjsEditor\n\n    e.sharedRoot = sharedRoot\n\n    e.localOrigin = options.localOrigin ?? DEFAULT_LOCAL_ORIGIN\n    e.positionStorageOrigin = options.positionStorageOrigin ?? DEFAULT_POSITION_STORAGE_ORIGIN\n\n    e.applyRemoteEvents = (events, origin) => {\n      YjsEditor.flushLocalChanges(e)\n\n      Editor.withoutNormalizing(e, () => {\n        YjsEditor.withOrigin(e, origin, () => {\n          applyYjsEvents(e.sharedRoot, e, events)\n        })\n      })\n    }\n\n    e.isLocalOrigin = origin => origin === e.localOrigin\n\n    const handleYEvents = (events: Y.YEvent<Y.XmlText>[], transaction: Y.Transaction) => {\n      if (e.isLocalOrigin(transaction.origin)) {\n        return\n      }\n\n      YjsEditor.applyRemoteEvents(e, events, transaction.origin)\n    }\n\n    let autoConnectTimeoutId: ReturnType<typeof setTimeout> | null = null\n\n    if (options.autoConnect) {\n      autoConnectTimeoutId = setTimeout(() => {\n        autoConnectTimeoutId = null\n        YjsEditor.connect(e)\n      })\n    }\n\n    e.connect = () => {\n      if (YjsEditor.connected(e)) {\n        throw new Error('already connected')\n      }\n\n      e.sharedRoot.observeDeep(handleYEvents)\n      const content = yTextToSlateElement(e.sharedRoot)\n\n      e.children = content.children\n      CONNECTED.add(e)\n\n      Editor.normalize(editor, { force: true })\n      if (!editor.operations.length) {\n        editor.onChange()\n      }\n    }\n\n    e.disconnect = () => {\n      if (autoConnectTimeoutId) {\n        clearTimeout(autoConnectTimeoutId)\n      }\n\n      YjsEditor.flushLocalChanges(e)\n      e.sharedRoot.unobserveDeep(handleYEvents)\n      CONNECTED.delete(e)\n    }\n\n    e.storeLocalChange = op => {\n      LOCAL_CHANGES.set(e, [\n        ...YjsEditor.localChanges(e),\n        { op, doc: editor.children, origin: YjsEditor.origin(e) },\n      ])\n    }\n\n    e.flushLocalChanges = () => {\n      assertDocumentAttachment(e.sharedRoot)\n      const localChanges = YjsEditor.localChanges(e)\n\n      LOCAL_CHANGES.delete(e)\n\n      const txGroups: LocalChange[][] = []\n\n      localChanges.forEach(change => {\n        const currentGroup = txGroups[txGroups.length - 1]\n\n        if (currentGroup && currentGroup[0].origin === change.origin) {\n          return currentGroup.push(change)\n        }\n\n        txGroups.push([change])\n      })\n\n      txGroups.forEach(txGroup => {\n        assertDocumentAttachment(e.sharedRoot)\n\n        e.sharedRoot.doc.transact(() => {\n          txGroup.forEach(change => {\n            assertDocumentAttachment(e.sharedRoot)\n            // @ts-ignore\n            applySlateOp(e.sharedRoot, { children: change.doc }, change.op)\n          })\n        }, txGroup[0].origin)\n      })\n    }\n\n    const { apply, onChange } = e\n\n    e.apply = op => {\n      if (YjsEditor.connected(e) && YjsEditor.isLocal(e)) {\n        YjsEditor.storeLocalChange(e, op)\n      }\n\n      apply(op)\n    }\n\n    e.onChange = () => {\n      if (YjsEditor.connected(e)) {\n        YjsEditor.flushLocalChanges(e)\n      }\n\n      onChange()\n    }\n\n    return e\n  }\n}\n","import { Editor, Range } from 'slate'\nimport { Awareness } from 'y-protocols/awareness'\nimport * as Y from 'yjs'\n\nimport { RelativeRange } from '../module/custom-types'\nimport { slateRangeToRelativeRange } from '../utils/position'\nimport { YjsEditor } from './withYjs'\n\nexport type CursorStateChangeEvent = {\n  added: number[]\n  updated: number[]\n  removed: number[]\n}\n\nexport type RemoteCursorChangeEventListener = (event: CursorStateChangeEvent) => void\n\nconst CURSOR_CHANGE_EVENT_LISTENERS: WeakMap<\n  Editor,\n  Set<RemoteCursorChangeEventListener>\n> = new WeakMap()\n\nexport type CursorState<TCursorData extends Record<string, unknown> = Record<string, unknown>> = {\n  relativeSelection: RelativeRange | null\n  data?: TCursorData\n  clientId: number\n}\n\nexport type CursorEditor<TCursorData extends Record<string, unknown> = Record<string, unknown>> =\n  YjsEditor & {\n    awareness: Awareness\n\n    cursorDataField: string\n    selectionStateField: string\n\n    sendCursorPosition: (range: Range | null) => void\n    sendCursorData: (data: TCursorData) => void\n  }\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CursorEditor = {\n  isCursorEditor(value: unknown): value is CursorEditor {\n    return (\n      YjsEditor.isYjsEditor(value)\n      && (value as CursorEditor).awareness\n      && typeof (value as CursorEditor).cursorDataField === 'string'\n      && typeof (value as CursorEditor).selectionStateField === 'string'\n      && typeof (value as CursorEditor).sendCursorPosition === 'function'\n      && typeof (value as CursorEditor).sendCursorData === 'function'\n    )\n  },\n\n  sendCursorPosition<TCursorData extends Record<string, unknown>>(\n    editor: CursorEditor<TCursorData>,\n    range: Range | null = editor.selection,\n  ) {\n    editor.sendCursorPosition(range)\n  },\n\n  sendCursorData<TCursorData extends Record<string, unknown>>(\n    editor: CursorEditor<TCursorData>,\n    data: TCursorData,\n  ) {\n    editor.sendCursorData(data)\n  },\n\n  on<TCursorData extends Record<string, unknown>>(\n    editor: CursorEditor<TCursorData>,\n    event: 'change',\n    handler: RemoteCursorChangeEventListener,\n  ) {\n    if (event !== 'change') {\n      return\n    }\n\n    const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(editor) ?? new Set()\n\n    listeners.add(handler)\n    if (editor) { CURSOR_CHANGE_EVENT_LISTENERS.set(editor, listeners) }\n  },\n\n  off<TCursorData extends Record<string, unknown>>(\n    editor: CursorEditor<TCursorData>,\n    event: 'change',\n    listener: RemoteCursorChangeEventListener,\n  ) {\n    if (event !== 'change') {\n      return\n    }\n\n    const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(editor)\n\n    if (listeners) {\n      listeners.delete(listener)\n    }\n  },\n\n  cursorState<TCursorData extends Record<string, unknown>>(\n    editor: CursorEditor<TCursorData>,\n    clientId: number,\n  ): CursorState<TCursorData> | null {\n    if (clientId === editor.awareness.clientID || !YjsEditor.connected(editor)) {\n      return null\n    }\n\n    const state = editor.awareness.getStates().get(clientId)\n\n    if (!state) {\n      return null\n    }\n\n    return {\n      relativeSelection: state[editor.selectionStateField] ?? null,\n      data: state[editor.cursorDataField],\n      clientId,\n    }\n  },\n\n  cursorStates<TCursorData extends Record<string, unknown>>(\n    editor: CursorEditor<TCursorData>,\n  ): Record<string, CursorState<TCursorData>> {\n    if (!YjsEditor.connected(editor)) {\n      return {}\n    }\n\n    return Object.fromEntries(\n      Array.from(editor.awareness.getStates().entries(), ([id, state]) => {\n        // Ignore own state\n        if (id === editor.awareness.clientID || !state) {\n          return null\n        }\n\n        return [\n          id,\n          {\n            relativeSelection: state[editor.selectionStateField],\n            data: state[editor.cursorDataField],\n          },\n        ]\n      }).filter(Array.isArray),\n    )\n  },\n}\n\nexport type WithCursorsOptions<\n  TCursorData extends Record<string, unknown> = Record<string, unknown>,\n> = {\n  // Local state field used to store the user selection\n  cursorStateField?: string\n\n  // Local state field used to store data attached to the local client\n  cursorDataField?: string\n\n  data?: TCursorData\n  autoSend?: boolean\n}\n\nexport function withCursors<TCursorData extends Record<string, unknown>>(\n  awareness: Awareness,\n  options: WithCursorsOptions<TCursorData> = {},\n) {\n  return function <T extends YjsEditor> (editor: T): T & CursorEditor<TCursorData> {\n    const {\n      cursorStateField: selectionStateField = 'selection',\n      cursorDataField = 'data',\n      autoSend = true,\n      data,\n    } = options\n    const e = editor as T & CursorEditor<TCursorData>\n\n    e.awareness = awareness\n    e.cursorDataField = cursorDataField\n    e.selectionStateField = selectionStateField\n\n    e.sendCursorData = (cursorData: TCursorData) => {\n      e.awareness.setLocalStateField(e.cursorDataField, cursorData)\n    }\n\n    e.sendCursorPosition = range => {\n      const localState = e.awareness.getLocalState()\n      const currentRange = localState?.[selectionStateField]\n\n      if (!range) {\n        if (currentRange) {\n          e.awareness.setLocalStateField(e.selectionStateField, null)\n        }\n\n        return\n      }\n\n      const { anchor, focus } = slateRangeToRelativeRange(e.sharedRoot, e, range)\n\n      if (\n        !currentRange\n        || !Y.compareRelativePositions(anchor, currentRange)\n        || !Y.compareRelativePositions(focus, currentRange)\n      ) {\n        e.awareness.setLocalStateField(e.selectionStateField, { anchor, focus })\n      }\n    }\n\n    const awarenessChangeListener: RemoteCursorChangeEventListener = yEvent => {\n      const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(e)\n\n      if (!listeners) {\n        return\n      }\n\n      const localId = e.awareness.clientID\n      const event = {\n        added: yEvent.added.filter(id => id !== localId),\n        removed: yEvent.removed.filter(id => id !== localId),\n        updated: yEvent.updated.filter(id => id !== localId),\n      }\n\n      if (event.added.length > 0 || event.removed.length > 0 || event.updated.length > 0) {\n        listeners.forEach(listener => listener(event))\n      }\n    }\n\n    const { connect, disconnect } = e\n\n    e.connect = () => {\n      connect()\n\n      e.awareness.on('change', awarenessChangeListener)\n\n      awarenessChangeListener({\n        removed: [],\n        added: Array.from(e.awareness.getStates().keys()),\n        updated: [],\n      })\n\n      if (autoSend) {\n        if (data) {\n          CursorEditor.sendCursorData(e, data)\n        }\n\n        const { onChange } = e\n\n        e.onChange = () => {\n          onChange()\n\n          if (YjsEditor.connected(e)) {\n            CursorEditor.sendCursorPosition(e)\n          }\n        }\n      }\n    }\n\n    e.disconnect = () => {\n      e.awareness.off('change', awarenessChangeListener)\n\n      awarenessChangeListener({\n        removed: Array.from(e.awareness.getStates().keys()),\n        added: [],\n        updated: [],\n      })\n\n      disconnect()\n    }\n\n    return e\n  }\n}\n","import { Editor, Transforms } from 'slate'\nimport * as Y from 'yjs'\n\nimport { HistoryStackItem, RelativeRange } from '../module/custom-types'\nimport { relativeRangeToSlateRange, slateRangeToRelativeRange } from '../utils/position'\nimport { YjsEditor } from './withYjs'\n\nconst LAST_SELECTION: WeakMap<Editor, RelativeRange | null> = new WeakMap()\nconst DEFAULT_WITHOUT_SAVING_ORIGIN = Symbol('slate-yjs-history-without-saving')\n\nexport type YHistoryEditor = YjsEditor & {\n  undoManager: Y.UndoManager\n\n  withoutSavingOrigin: unknown\n\n  undo: () => void\n  redo: () => void\n}\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const YHistoryEditor = {\n  isYHistoryEditor(value: unknown): value is YHistoryEditor {\n    return (\n      YjsEditor.isYjsEditor(value)\n      && (value as YHistoryEditor).undoManager instanceof Y.UndoManager\n      && typeof (value as YHistoryEditor).undo === 'function'\n      && typeof (value as YHistoryEditor).redo === 'function'\n      && 'withoutSavingOrigin' in value\n    )\n  },\n\n  canUndo(editor: YHistoryEditor) {\n    return editor.undoManager.undoStack.length > 0\n  },\n\n  canRedo(editor: YHistoryEditor) {\n    return editor.undoManager.redoStack.length > 0\n  },\n\n  isSaving(editor: YHistoryEditor): boolean {\n    return editor.undoManager.trackedOrigins.has(YjsEditor.origin(editor))\n  },\n\n  withoutSaving(editor: YHistoryEditor, fn: () => void) {\n    YjsEditor.withOrigin(editor, editor.withoutSavingOrigin, fn)\n  },\n}\n\nexport type WithYHistoryOptions = NonNullable<ConstructorParameters<typeof Y.UndoManager>[1]> & {\n  withoutSavingOrigin?: unknown\n}\n\nexport function withYHistory(options: WithYHistoryOptions = {}) {\n  return function <T extends YjsEditor> (editor: T): T & YHistoryEditor {\n    const e = editor as T & YHistoryEditor\n\n    // 将 trackedOrigins 的初始化放到 editor 被传入之后\n    const {\n      withoutSavingOrigin = DEFAULT_WITHOUT_SAVING_ORIGIN,\n      trackedOrigins = new Set([e.localOrigin]),\n      ...restOptions\n    } = options\n\n    const undoManager = new Y.UndoManager(e.sharedRoot, {\n      trackedOrigins,\n      ...restOptions,\n    })\n\n    e.undoManager = undoManager\n    e.withoutSavingOrigin = withoutSavingOrigin\n\n    const { onChange, isLocalOrigin } = e\n\n    e.onChange = () => {\n      onChange()\n\n      LAST_SELECTION.set(e, e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection))\n    }\n\n    e.isLocalOrigin = origin => origin === e.withoutSavingOrigin || isLocalOrigin(origin)\n\n    const handleStackItemAdded = ({\n      stackItem,\n    }: {\n      stackItem: HistoryStackItem\n      type: 'redo' | 'undo'\n    }) => {\n      stackItem.meta.set(\n        'selection',\n        e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection),\n      )\n      stackItem.meta.set('selectionBefore', LAST_SELECTION.get(e))\n    }\n\n    const handleStackItemUpdated = ({\n      stackItem,\n    }: {\n      stackItem: HistoryStackItem\n      type: 'redo' | 'undo'\n    }) => {\n      stackItem.meta.set(\n        'selection',\n        e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection),\n      )\n    }\n\n    const handleStackItemPopped = ({\n      stackItem,\n      type,\n    }: {\n      stackItem: HistoryStackItem\n      type: 'redo' | 'undo'\n    }) => {\n      // TODO: Change once https://github.com/yjs/yjs/issues/353 is resolved\n      const inverseStack = type === 'undo' ? e.undoManager.redoStack : e.undoManager.undoStack\n      const inverseItem = inverseStack[inverseStack.length - 1]\n\n      if (inverseItem) {\n        inverseItem.meta.set('selection', stackItem.meta.get('selectionBefore'))\n        inverseItem.meta.set('selectionBefore', stackItem.meta.get('selection'))\n      }\n\n      const relativeSelection = stackItem.meta.get('selectionBefore') as RelativeRange | null\n\n      if (!relativeSelection) {\n        return\n      }\n\n      const selection = relativeRangeToSlateRange(e.sharedRoot, e, relativeSelection)\n\n      if (!selection) {\n        return\n      }\n\n      Transforms.select(e, selection)\n    }\n\n    const { connect, disconnect } = e\n\n    e.connect = () => {\n      connect()\n\n      e.undoManager.on('stack-item-added', handleStackItemAdded)\n      e.undoManager.on('stack-item-popped', handleStackItemPopped)\n      e.undoManager.on('stack-item-updated', handleStackItemUpdated)\n    }\n\n    e.disconnect = () => {\n      e.undoManager.off('stack-item-added', handleStackItemAdded)\n      e.undoManager.off('stack-item-popped', handleStackItemPopped)\n      e.undoManager.off('stack-item-updated', handleStackItemUpdated)\n\n      disconnect()\n    }\n\n    e.undo = () => {\n      if (YjsEditor.connected(e)) {\n        YjsEditor.flushLocalChanges(e)\n        e.undoManager.undo()\n      }\n    }\n\n    e.redo = () => {\n      if (YjsEditor.connected(e)) {\n        YjsEditor.flushLocalChanges(e)\n        e.undoManager.redo()\n      }\n    }\n\n    return e\n  }\n}\n"],"names":["check","it","Math","globalThis_1","globalThis","window","self","global","this","Function","fails","exec","error","require$$0","descriptors","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","call","prototype","functionCall","apply","arguments","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","objectPropertyIsEnumerable","f","V","descriptor","enumerable","createPropertyDescriptor","bitmap","value","configurable","writable","FunctionPrototype","uncurryThisWithBind","functionUncurryThis","fn","uncurryThis","toString","stringSlice","slice","classofRaw","require$$1","classof","require$$2","$Object","split","indexedObject","isNullOrUndefined","$TypeError","TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","documentAll","document","all","isCallable","undefined","argument","isObject","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","match","version","userAgent","navigator","environmentUserAgent","String","process","Deno","versions","v8","environmentV8Version","V8_VERSION","$String","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","NATIVE_SYMBOL","useSymbolAsUid","iterator","USE_SYMBOL_AS_UID","require$$3","isSymbol","$Symbol","tryToString","aCallable","getMethod","P","func","ordinaryToPrimitive","input","pref","val","valueOf","isPure","defineGlobalProperty","key","IS_PURE","SHARED","store","sharedStoreModule","exports","push","mode","copyright","license","source","shared","toObject","hasOwnProperty_1","hasOwn","id","postfix","random","uid","require$$4","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","EXISTS","createElement","documentCreateElement","DESCRIPTORS","ie8DomDefine","a","propertyIsEnumerableModule","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","objectGetOwnPropertyDescriptor","O","v8PrototypeDefineBug","anObject","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","objectDefineProperty","Attributes","current","definePropertyModule","createNonEnumerableProperty","object","getDescriptor","PROPER","functionName","functionToString","inspectSource","WeakMap","weakMapBasicDetection","keys","sharedKey","hiddenKeys","set","has","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","trunc","ceil","floor","mathTrunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","len","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","copyConstructorProperties","target","exceptions","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","functionUncurryThisClause","functionBindContext","that","isArray","Array","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","isConstructor","called","SPECIES","$Array","arraySpeciesConstructor","originalArray","C","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","create","arrayIteration","forEach","map","filter","some","every","find","findIndex","filterReject","arrayMethodHasSpeciesSupport","METHOD_NAME","array","foo","Boolean","$","$filter","proto","iteratorClose","kind","innerResult","innerError","callWithSafeIterationClosing","ENTRIES","iterators","Iterators","ITERATOR","ArrayPrototype","isArrayIteratorMethod","createProperty","getIteratorMethod","getIterator","usingIterator","iteratorMethod","SAFE_CLOSING","iteratorWithReturn","next","done","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","require$$8","require$$9","arrayFrom","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","step","iterable","objectKeys","objectDefineProperties","defineProperties","Properties","props","html","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","style","display","appendChild","src","contentWindow","open","F","objectCreate","UNSCOPABLES","addToUnscopables","CORRECT_PROTOTYPE_GETTER","correctPrototypeGetter","getPrototypeOf","ObjectPrototype","objectGetPrototypeOf","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","BUGGY_SAFARI_ITERATORS","iteratorsCore","setToStringTag","TAG","isPossiblePrototype","aPossiblePrototype","uncurryThisAccessor","functionUncurryThisAccessor","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","__proto__","FunctionName","createIteratorConstructor","returnThis","iteratorCreateConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","require$$10","require$$11","require$$12","IteratorsCore","require$$13","PROPER_FUNCTION_NAME","KEYS","VALUES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","createIterResultObject","defineIterator","ARRAY_ITERATOR","setInternalState","es_array_iterator","iterated","Arguments","Result","stopped","ResultPrototype","iterate","unboundFunction","iterFn","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","fromEntries","k","v","objectToString","arraySlice","$getOwnPropertyNames","windowNames","objectGetOwnPropertyNamesExternal","getWindowNames","ARRAY_BUFFER_NON_EXTENSIBLE","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","$isExtensible","FAILS_ON_PRIMITIVES","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","anInstance","Prototype","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","InternalMetadataModule","require$$14","collection","CONSTRUCTOR_NAME","wrapper","common","IS_WEAK","ADDER","NativeConstructor","NativePrototype","Constructor","exported","fixMethod","uncurriedNativeMethod","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","setStrong","defineBuiltInAccessor","defineBuiltIns","setSpecies","init","internalStateGetterFor","collectionStrong","first","last","size","define","previous","entry","getEntry","removed","delete","prev","add","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","charAt","charCodeAt","CONVERT_TO_STRING","pos","second","S","position","stringMultibyte","codeAt","STRING_ITERATOR","point","createHTML","quot","createHtml","attribute","p1","forcedStringHTMLMethod","stringHtmlForced","anchor","ArrayIterationModule","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","collectionWeak","InternalWeakMap","isFrozen","isSealed","freeze","seal","IS_IE11","$WeakMap","WeakMapPrototype","nativeSet","nativeDelete","nativeHas","nativeGet","frozenArray","arrayIntegrityLevel","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","$forEach","STRICT_METHOD","arrayMethodIsStrict","arrayForEach","handlePrototype","CollectionPrototype","COLLECTION_NAME","ArrayIteratorMethods","ArrayValues","doesNotExceedSafeInteger","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","arg","E","A","$map","nativeSlice","HAS_SPECIES_SUPPORT","start","end","fin","assign","$assign","objectAssign","b","B","alphabet","chr","T","j","$entries","IE_BUG","TO_ENTRIES","IE_WORKAROUND","objectToArray","regExpFlagsDetection","RegExp","FLAGS_GETTER_IS_CORRECT","INDICES_SUPPORT","calls","expected","addGetter","pairs","dotAll","ignoreCase","multiline","sticky","hasIndices","regexpFlagsDetection","correct","regExpFlagsGetterImplementation","regexpFlags","unicode","unicodeSets","RegExpPrototype","regexpGetFlags","flags","$toString","getRegExpFlags","TO_STRING","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","isRegExp","MATCH","isRegexp","notARegexp","notARegExp","correctIsRegExpLogic","correctIsRegexpLogic","regexp","error1","error2","CORRECT_IS_REGEXP_LOGIC","startsWith","searchString","search","o","isPlainObject","ctor","prot","deepEquals","node","another","pick","_i","_a","__read","omitNullEntries","yTextToInsertDelta","yText","delta","normalized","delta_1","__values","delta_1_1","element","insert","attributes","_b","_c","normalizeInsertDelta","toDelta","getInsertLength","getInsertDeltaLength","reduce","curr","sliceInsertDelta","currentOffset","sliced","elementLength","startOffset","endOffset","__assign","getSlateNodeYLength","Text","isText","text","getYTarget","yRoot","slateRoot","path","Error","pathOffset","childPath","yOffset","children","slatePathOffsetToYOffset","targetNode","targetLength","targetDelta","yTarget","Y","XmlText","yParent","textRange","slateParent","slateTarget","yOffsetToSlateOffsets","parent","opts","assoc","lastNonEmptyPathOffset","child_1","nodeLength","child","getSlatePath","sharedRoot","yNodePath","unshift","idx","yChild","currentDelta","currentDelta_1","currentDelta_1_1","assertDocumentAttachment","sharedType","doc","$includes","STORED_POSITION_PREFIX","slatePointToRelativePosition","offset","createRelativePositionFromTypeIndex","relativePositionToSlatePoint","absPos","createAbsolutePositionFromRelativePosition","parentPath","Node","Element","isElement","textOffset","__spreadArray","absolutePositionToSlatePoint","setStoredPosition","setAttribute","encodeRelativePosition","getAbsolutePositionsInTextRange","absolutePositions","getAbsolutePositionsInYText","positions","getStoredPositionsInDeltaAbsolute","deltaOffset","getAttributes","decodeRelativePosition","getStoredPositionsAbsolute","restoreStoredPositionsWithDeltaAbsolute","newDeltaOffset","previousDeltaOffset","toRestore","slateRangeToRelativeRange","range","focus","relativeRangeToSlateRange","wellKnownSymbolWrapped","nativeObjectCreate","require$$15","require$$16","require$$17","getOwnPropertyNamesExternal","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","wrappedWellKnownSymbolModule","require$$31","defineWellKnownSymbol","wellKnownSymbolDefine","require$$32","defineSymbolToPrimitive","symbolDefineToPrimitive","SymbolPrototype","hint","require$$33","require$$34","require$$35","require$$36","HIDDEN","SYMBOL","RangeError","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","fallbackDefineProperty","ObjectPrototypeDescriptor","setSymbolDescriptor","wrap","description","$defineProperties","properties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","useSetter","useSimple","symbolRegistryDetection","keyFor","functionApply","Reflect","getReplacerFunction","getJsonReplacerFunction","replacer","rawLength","keysLength","root","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","args","$replacer","fixIllFormed","stringify","space","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","for","sym","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","thisSymbolValue","symbolDescriptiveString","desc","getProperties","omit","yTextToSlateElement","deltaInsertToSlateNode","slateNodesToInsertDelta","nodes","slateElementToYText","__rest","yElement","applyDelta","sanitize","translateYTextEvent","editor","event","changes","ops","slatePath","targetElement","keyChanges","newProperties","action","getAttribute","change","retain","reverse","startPathOffset","startTextOffset","endPathOffset","endTextOffset","_d","_e","_f","lastOp","currentProps","lastPath","Path","equals","toInsert","applyYjsEvents","events","Editor","withoutNormalizing","YTextEvent","translateYjsEvent","op","cloneInsertDeltaDeep","cloneDeep","clone","nativeKeys","NODE_MAPPER","insert_node","insertEmbed","remove_node","set_node","removeAttribute","unset","format","merge_node","parent_1","prevSibling","targetProps","prevSiblingProps_1","unsetProps","acc","deltaApplyYOffset","clonedDelta","storedPositions","move_node","newParentPath","newPath","newPathOffset","normalizedNewPath","origin","insertDelta","split_node","unset_1","splitTarget","ySplitOffset","splitDelta","opMappers","insert_text","remove_text","set_selection","DEFAULT_LOCAL_ORIGIN","DEFAULT_POSITION_STORAGE_ORIGIN","ORIGIN","LOCAL_CHANGES","CONNECTED","WeakSet","YjsEditor","isYjsEditor","isEditor","applyRemoteEvents","storeLocalChange","flushLocalChanges","isLocalOrigin","connect","disconnect","localChanges","connected","isLocal","localOrigin","withOrigin","storePosition","locationStorageOrigin","positionStorageOrigin","transact","removeStoredPosition","rawPosition","getStoredPosition","storedPositionsRelative","createRelativePositionFromJSON","withYjs","e","handleYEvents","transaction","autoConnectTimeoutId","autoConnect","setTimeout","observeDeep","force","operations","onChange","clearTimeout","unobserveDeep","txGroups","currentGroup","txGroup","applySlateOp","CURSOR_CHANGE_EVENT_LISTENERS","CursorEditor","isCursorEditor","awareness","cursorDataField","selectionStateField","sendCursorPosition","sendCursorData","selection","on","handler","listeners","Set","off","listener","cursorState","clientId","clientID","getStates","relativeSelection","cursorStates","withCursors","cursorStateField","autoSend","cursorData","setLocalStateField","localState","getLocalState","currentRange","compareRelativePositions","awarenessChangeListener","yEvent","localId","added","updated","onChange_1","LAST_SELECTION","DEFAULT_WITHOUT_SAVING_ORIGIN","YHistoryEditor","isYHistoryEditor","undoManager","UndoManager","undo","redo","canUndo","undoStack","canRedo","redoStack","isSaving","trackedOrigins","withoutSaving","withoutSavingOrigin","withYHistory","restOptions","handleStackItemAdded","stackItem","handleStackItemUpdated","handleStackItemPopped","inverseStack","inverseItem","Transforms","select"],"mappings":"6SACA,IAAIA,EAAQ,SAAUC,GACpB,OAAOA,GAAMA,EAAGC,OAASA,MAAQD,CACnC,SAGAE,EAEEH,EAA2B,iBAAdI,YAA0BA,aACvCJ,EAAuB,iBAAVK,QAAsBA,SAEnCL,EAAqB,iBAARM,MAAoBA,OACjCN,EAAuB,iBAAVO,GAAsBA,IACnCP,EAAqB,iBAARQ,GAAoBA,IAEjC,WAAe,OAAOA,IAAO,CAA7B,IAAoCC,SAAS,cAATA,yDCdtCC,EAAiB,SAAUC,GACzB,IACE,QAASA,GACb,CAAI,MAAOC,GACP,OAAO,CACX,CACA,kCCNA,IAAIF,EAAQG,WAGZC,GAAkBJ,EAAM,WAEtB,OAA+E,IAAxEK,OAAOC,eAAe,GAAI,EAAG,CAAEC,IAAK,WAAc,OAAO,CAAE,IAAM,EAC1E,kCCNA,IAAIP,EAAQG,WAEZK,GAAkBR,EAAM,WAEtB,IAAIS,EAAO,WAA4B,EAAEC,OAEzC,MAAsB,mBAARD,GAAsBA,EAAKE,eAAe,YAC1D,kCCPA,IAAIC,EAAcT,IAEdU,EAAOd,SAASe,UAAUD,YAE9BE,EAAiBH,EAAcC,EAAKH,KAAKG,GAAQ,WAC/C,OAAOA,EAAKG,MAAMH,EAAMI,UAC1B,6ICNA,IAAIC,EAAwB,CAAA,EAAGC,qBAE3BC,EAA2Bf,OAAOe,yBAGlCC,EAAcD,IAA6BF,EAAsBL,KAAK,CAAE,EAAG,GAAK,UAIpFS,GAAAC,EAAYF,EAAc,SAA8BG,GACtD,IAAIC,EAAaL,EAAyBtB,KAAM0B,GAChD,QAASC,GAAcA,EAAWC,UACpC,EAAIR,mCCZJS,EAAiB,SAAUC,EAAQC,GACjC,MAAO,CACLH,aAAuB,EAATE,GACdE,eAAyB,EAATF,GAChBG,WAAqB,EAATH,GACZC,MAAOA,EAEX,mCCPA,IAAIjB,EAAcT,IAEd6B,EAAoBjC,SAASe,UAC7BD,EAAOmB,EAAkBnB,KAEzBoB,EAAsBrB,GAAeoB,EAAkBtB,KAAKA,KAAKG,EAAMA,UAE3EqB,EAAiBtB,EAAcqB,EAAsB,SAAUE,GAC7D,OAAO,WACL,OAAOtB,EAAKG,MAAMmB,EAAIlB,UAC1B,CACA,oCCXA,IAAImB,EAAcjC,KAEdkC,EAAWD,EAAY,CAAA,EAAGC,UAC1BC,EAAcF,EAAY,GAAGG,cAEjCC,EAAiB,SAAUjD,GACzB,OAAO+C,EAAYD,EAAS9C,GAAK,GAAG,EACtC,kCCPA,IAAI6C,EAAcjC,KACdH,EAAQyC,IACRC,EAAUC,KAEVC,EAAUvC,OACVwC,EAAQT,EAAY,GAAGS,cAG3BC,EAAiB9C,EAAM,WAGrB,OAAQ4C,EAAQ,KAAKzB,qBAAqB,EAC5C,GAAK,SAAU5B,GACb,MAAuB,WAAhBmD,EAAQnD,GAAmBsD,EAAMtD,EAAI,IAAMqD,EAAQrD,EAC5D,EAAIqD,gCCZJG,EAAiB,SAAUxD,GACzB,OAAOA,OACT,mCCJA,IAAIwD,EAAoB5C,KAEpB6C,EAAaC,iBAIjBC,EAAiB,SAAU3D,GACzB,GAAIwD,EAAkBxD,GAAK,MAAM,IAAIyD,EAAW,wBAA0BzD,GAC1E,OAAOA,CACT,kCCRA,IAAI4D,EAAgBhD,KAChB+C,EAAyBT,YAE7BW,EAAiB,SAAU7D,GACzB,OAAO4D,EAAcD,EAAuB3D,GAC9C,kCCLA,IAAI8D,EAAiC,iBAAZC,UAAwBA,SAASC,WAK1DC,OAAuC,IAAfH,QAA8CI,IAAhBJ,EAA4B,SAAUK,GAC1F,MAA0B,mBAAZA,GAA0BA,IAAaL,CACvD,EAAI,SAAUK,GACZ,MAA0B,mBAAZA,CAChB,kCCVA,IAAIF,EAAarD,YAEjBwD,EAAiB,SAAUpE,GACzB,MAAoB,iBAANA,EAAwB,OAAPA,EAAciE,EAAWjE,EAC1D,kCCJA,IAAIG,EAAaS,IACbqD,EAAaf,YAMjBmB,EAAiB,SAAUC,EAAWC,GACpC,OAAO7C,UAAU8C,OAAS,GALFL,EAKgBhE,EAAWmE,GAJ5CL,EAAWE,GAAYA,OAAWD,GAIwB/D,EAAWmE,IAAcnE,EAAWmE,GAAWC,GALlG,IAAUJ,CAM1B,oCCTA,IAAItB,EAAcjC,YAElB6D,EAAiB5B,EAAY,CAAA,EAAG6B,+CCFhC,IAOIC,EAAOC,EAPPzE,EAAaS,IACbiE,+BCDJ,IAEIC,EAFalE,IAEUkE,UACvBD,EAAYC,GAAaA,EAAUD,iBAEvCE,EAAiBF,EAAYG,OAAOH,GAAa,GDJjC3B,GAEZ+B,EAAU9E,EAAW8E,QACrBC,EAAO/E,EAAW+E,KAClBC,EAAWF,GAAWA,EAAQE,UAAYD,GAAQA,EAAKN,QACvDQ,EAAKD,GAAYA,EAASC,UAG1BA,IAIFR,GAHAD,EAAQS,EAAG9B,MAAM,MAGD,GAAK,GAAKqB,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7DC,GAAWC,MACdF,EAAQE,EAAUF,MAAM,iBACVA,EAAM,IAAM,MACxBA,EAAQE,EAAUF,MAAM,oBACbC,GAAWD,EAAM,IAIhCU,EAAiBT,kCEzBjB,IAAIU,EAAa1E,KACbH,EAAQyC,IAGRqC,EAFanC,IAEQ4B,cAGzBQ,IAAmB1E,OAAO2E,wBAA0BhF,EAAM,WACxD,IAAIiF,EAASC,OAAO,oBAKpB,OAAQJ,EAAQG,MAAa5E,OAAO4E,aAAmBC,UAEpDA,OAAOC,MAAQN,GAAcA,EAAa,EAC/C,sCChBA,IAAIO,EAAgBjF,YAEpBkF,GAAiBD,IACdF,OAAOC,MACkB,iBAAnBD,OAAOI,4CCLhB,IAAI1B,EAAazD,KACbqD,EAAaf,KACbwB,EAAgBtB,KAChB4C,EAAoBC,KAEpB5C,EAAUvC,cAEdoF,GAAiBF,EAAoB,SAAUhG,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAImG,EAAU9B,EAAW,UACzB,OAAOJ,EAAWkC,IAAYzB,EAAcyB,EAAQ5E,UAAW8B,EAAQrD,GACzE,qCCZA,IAAIuF,EAAUP,cAEdoB,GAAiB,SAAUjC,GACzB,IACE,OAAOoB,EAAQpB,EACnB,CAAI,MAAOxD,GACP,MAAO,QACX,CACA,qCCRA,IAAIsD,EAAarD,KACbwF,EAAclD,KAEdO,EAAaC,iBAGjB2C,GAAiB,SAAUlC,GACzB,GAAIF,EAAWE,GAAW,OAAOA,EACjC,MAAM,IAAIV,EAAW2C,EAAYjC,GAAY,qBAC/C,qCCTA,IAAIkC,EAAYzF,KACZ4C,EAAoBN,YAIxBoD,GAAiB,SAAUrE,EAAGsE,GAC5B,IAAIC,EAAOvE,EAAEsE,GACb,OAAO/C,EAAkBgD,QAAQtC,EAAYmC,EAAUG,EACzD,qCCRA,IAAIlF,EAAOV,IACPqD,EAAaf,KACbkB,EAAWhB,KAEXK,EAAaC,iBAIjB+C,GAAiB,SAAUC,EAAOC,GAChC,IAAI/D,EAAIgE,EACR,GAAa,WAATD,GAAqB1C,EAAWrB,EAAK8D,EAAM5D,YAAcsB,EAASwC,EAAMtF,EAAKsB,EAAI8D,IAAS,OAAOE,EACrG,GAAI3C,EAAWrB,EAAK8D,EAAMG,WAAazC,EAASwC,EAAMtF,EAAKsB,EAAI8D,IAAS,OAAOE,EAC/E,GAAa,WAATD,GAAqB1C,EAAWrB,EAAK8D,EAAM5D,YAAcsB,EAASwC,EAAMtF,EAAKsB,EAAI8D,IAAS,OAAOE,EACrG,MAAM,IAAInD,EAAW,0CACvB,+HCdAqD,IAAiB,sCCAjB,IAAI3G,EAAaS,IAGbG,EAAiBD,OAAOC,sBAE5BgG,GAAiB,SAAUC,EAAK1E,GAC9B,IACEvB,EAAeZ,EAAY6G,EAAK,CAAE1E,MAAOA,EAAOC,cAAc,EAAMC,UAAU,GAClF,CAAI,MAAO7B,GACPR,EAAW6G,GAAO1E,CACtB,CAAI,OAAOA,CACX,6CCXA,IAAI2E,EAAUrG,KACVT,EAAa+C,IACb6D,EAAuB3D,KAEvB8D,EAAS,qBACTC,EAAQC,GAAAC,QAAiBlH,EAAW+G,IAAWH,EAAqBG,EAAQ,WAE/EC,EAAMhC,WAAagC,EAAMhC,SAAW,KAAKmC,KAAK,CAC7C1C,QAAS,SACT2C,KAAMN,EAAU,OAAS,SACzBO,UAAW,4CACXC,QAAS,2DACTC,OAAQ,sFCZV,IAAIP,EAAQvG,YAEZ+G,GAAiB,SAAUX,EAAK1E,GAC9B,OAAO6E,EAAMH,KAASG,EAAMH,GAAO1E,GAAS,GAC9C,qCCJA,IAAIqB,EAAyB/C,KAEzByC,EAAUvC,cAId8G,GAAiB,SAAUzD,GACzB,OAAOd,EAAQM,EAAuBQ,GACxC,qCCRA,IAAItB,EAAcjC,KACdgH,EAAW1E,KAEX9B,EAAiByB,EAAY,CAAA,EAAGzB,uBAKpCyG,GAAiB/G,OAAOgH,QAAU,SAAgB9H,EAAIgH,GACpD,OAAO5F,EAAewG,EAAS5H,GAAKgH,EACtC,qCCVA,IAAInE,EAAcjC,KAEdmH,EAAK,EACLC,EAAU/H,KAAKgI,SACfnF,EAAWD,EAAY,IAAIC,iBAE/BoF,GAAiB,SAAUlB,GACzB,MAAO,gBAAqB9C,IAAR8C,EAAoB,GAAKA,GAAO,KAAOlE,IAAWiF,EAAKC,EAAS,GACtF,qCCRA,IAAI7H,EAAaS,IACb+G,EAASzE,KACT4E,EAAS1E,KACT8E,EAAMjC,KACNJ,EAAgBsC,KAChBnC,EAAoBoC,KAEpBzC,EAASxF,EAAWwF,OACpB0C,EAAwBV,EAAO,OAC/BW,EAAwBtC,EAAoBL,EAAY,KAAKA,EAASA,GAAUA,EAAO4C,eAAiBL,SAE5GM,GAAiB,SAAUC,GAKvB,OAJGX,EAAOO,EAAuBI,KACjCJ,EAAsBI,GAAQ5C,GAAiBiC,EAAOnC,EAAQ8C,GAC1D9C,EAAO8C,GACPH,EAAsB,UAAYG,IAC/BJ,EAAsBI,EACjC,qCCjBA,IAAInH,EAAOV,IACPwD,EAAWlB,KACXgD,EAAW9C,KACXkD,EAAYL,KACZQ,EAAsB0B,KACtBK,EAAkBJ,KAElB3E,EAAaC,UACbgF,EAAeF,EAAgB,sBAInCG,GAAiB,SAAUjC,EAAOC,GAChC,IAAKvC,EAASsC,IAAUR,EAASQ,GAAQ,OAAOA,EAChD,IACIkC,EADAC,EAAevC,EAAUI,EAAOgC,GAEpC,GAAIG,EAAc,CAGhB,QAFa3E,IAATyC,IAAoBA,EAAO,WAC/BiC,EAAStH,EAAKuH,EAAcnC,EAAOC,IAC9BvC,EAASwE,IAAW1C,EAAS0C,GAAS,OAAOA,EAClD,MAAM,IAAInF,EAAW,0CACzB,CAEE,YADaS,IAATyC,IAAoBA,EAAO,UACxBF,EAAoBC,EAAOC,EACpC,qCCxBA,IAAIgC,EAAc/H,KACdsF,EAAWhD,YAIf4F,GAAiB,SAAU3E,GACzB,IAAI6C,EAAM2B,EAAYxE,EAAU,UAChC,OAAO+B,EAASc,GAAOA,EAAMA,EAAM,EACrC,qCCRA,IAAI7G,EAAaS,IACbwD,EAAWlB,KAEXa,EAAW5D,EAAW4D,SAEtBgF,EAAS3E,EAASL,IAAaK,EAASL,EAASiF,sBAErDC,GAAiB,SAAUjJ,GACzB,OAAO+I,EAAShF,EAASiF,cAAchJ,GAAM,CAAA,CAC/C,qCCTA,IAAIkJ,EAActI,IACdH,EAAQyC,IACR8F,EAAgB5F,YAGpB+F,IAAkBD,IAAgBzI,EAAM,WAEtC,OAES,IAFFK,OAAOC,eAAeiI,EAAc,OAAQ,IAAK,CACtDhI,IAAK,WAAc,OAAO,CAAE,IAC3BoI,CACL,qCCVA,IAAIF,EAActI,IACdU,EAAO4B,IACPmG,EAA6BjG,KAC7BhB,EAA2B6D,KAC3BpC,EAAkBsE,KAClBW,EAAgBV,KAChBN,EAASwB,KACTC,EAAiBC,KAGjBC,EAA4B3I,OAAOe,gCAIvC6H,EAAA1H,EAAYkH,EAAcO,EAA4B,SAAkCE,EAAGpD,GAGzF,GAFAoD,EAAI9F,EAAgB8F,GACpBpD,EAAIuC,EAAcvC,GACdgD,EAAgB,IAClB,OAAOE,EAA0BE,EAAGpD,EACxC,CAAI,MAAO5F,GAAO,CAChB,GAAImH,EAAO6B,EAAGpD,GAAI,OAAOnE,GAA0Bd,EAAK+H,EAA2BrH,EAAG2H,EAAGpD,GAAIoD,EAAEpD,GACjG,sECrBA,IAAI2C,EAActI,IACdH,EAAQyC,WAIZ0G,GAAiBV,GAAezI,EAAM,WAEpC,OAGiB,KAHVK,OAAOC,eAAe,WAAY,EAAiB,YAAa,CACrEuB,MAAO,GACPE,UAAU,IACTjB,SACL,sCCXA,IAAI6C,EAAWxD,KAEX2E,EAAUP,OACVvB,EAAaC,iBAGjBmG,GAAiB,SAAU1F,GACzB,GAAIC,EAASD,GAAW,OAAOA,EAC/B,MAAM,IAAIV,EAAW8B,EAAQpB,GAAY,oBAC3C,qCCTA,IAAI+E,EAActI,IACd2I,EAAiBrG,KACjB4G,EAA0B1G,KAC1ByG,EAAW5D,KACX6C,EAAgBX,KAEhB1E,EAAaC,UAEbqG,EAAkBjJ,OAAOC,eAEzB0I,EAA4B3I,OAAOe,yBACnCmI,EAAa,aACbC,EAAe,eACfC,EAAW,kBAIfC,GAAAnI,EAAYkH,EAAcY,EAA0B,SAAwBH,EAAGpD,EAAG6D,GAIhF,GAHAP,EAASF,GACTpD,EAAIuC,EAAcvC,GAClBsD,EAASO,GACQ,mBAANT,GAA0B,cAANpD,GAAqB,UAAW6D,GAAcF,KAAYE,IAAeA,EAAWF,GAAW,CAC5H,IAAIG,EAAUZ,EAA0BE,EAAGpD,GACvC8D,GAAWA,EAAQH,KACrBP,EAAEpD,GAAK6D,EAAW9H,MAClB8H,EAAa,CACX7H,aAAc0H,KAAgBG,EAAaA,EAAWH,GAAgBI,EAAQJ,GAC9E9H,WAAY6H,KAAcI,EAAaA,EAAWJ,GAAcK,EAAQL,GACxExH,UAAU,GAGlB,CAAI,OAAOuH,EAAgBJ,EAAGpD,EAAG6D,EACjC,EAAIL,EAAkB,SAAwBJ,EAAGpD,EAAG6D,GAIlD,GAHAP,EAASF,GACTpD,EAAIuC,EAAcvC,GAClBsD,EAASO,GACLb,EAAgB,IAClB,OAAOQ,EAAgBJ,EAAGpD,EAAG6D,EACjC,CAAI,MAAOzJ,GAAO,CAChB,GAAI,QAASyJ,GAAc,QAASA,EAAY,MAAM,IAAI3G,EAAW,2BAErE,MADI,UAAW2G,IAAYT,EAAEpD,GAAK6D,EAAW9H,OACtCqH,CACT,wCC1CA,IAAIT,EAActI,IACd0J,EAAuBpH,KACvBd,EAA2BgB,YAE/BmH,GAAiBrB,EAAc,SAAUsB,EAAQxD,EAAK1E,GACpD,OAAOgI,EAAqBtI,EAAEwI,EAAQxD,EAAK5E,EAAyB,EAAGE,GACzE,EAAI,SAAUkI,EAAQxD,EAAK1E,GAEzB,OADAkI,EAAOxD,GAAO1E,EACPkI,CACT,sGCTA,IAAItB,EAActI,IACdkH,EAAS5E,KAETT,EAAoBjC,SAASe,UAE7BkJ,EAAgBvB,GAAepI,OAAOe,yBAEtCkH,EAASjB,EAAOrF,EAAmB,QAEnCiI,EAAS3B,GAA0D,cAAhD,WAAqC,EAAEN,KAC1DwB,EAAelB,KAAYG,GAAgBA,GAAeuB,EAAchI,EAAmB,QAAQF,qBAEvGoI,GAAiB,CACf5B,OAAQA,EACR2B,OAAQA,EACRT,aAAcA,sCCfhB,IAAIpH,EAAcjC,KACdqD,EAAaf,KACbiE,EAAQ/D,KAERwH,EAAmB/H,EAAYrC,SAASsC,iBAGvCmB,EAAWkD,EAAM0D,iBACpB1D,EAAM0D,cAAgB,SAAU7K,GAC9B,OAAO4K,EAAiB5K,EAC5B,GAGA6K,GAAiB1D,EAAM0D,iDCbvB,IAAI1K,EAAaS,IACbqD,EAAaf,KAEb4H,EAAU3K,EAAW2K,eAEzBC,GAAiB9G,EAAW6G,IAAY,cAAc5J,KAAK8D,OAAO8F,uCCLlE,IAAInD,EAAS/G,KACTsH,EAAMhF,KAEN8H,EAAOrD,EAAO,eAElBsD,GAAiB,SAAUjE,GACzB,OAAOgE,EAAKhE,KAASgE,EAAKhE,GAAOkB,EAAIlB,GACvC,mCCPAkE,GAAiB,CAAA,sCCAjB,IAYIC,EAAKnK,EAAKoK,EAZVC,EAAkBzK,KAClBT,EAAa+C,IACbkB,EAAWhB,KACXmH,EAA8BtE,KAC9B6B,EAASK,KACTR,EAASS,KACT6C,EAAY3B,KACZ4B,EAAa1B,KAEb8B,EAA6B,6BAC7B5H,EAAYvD,EAAWuD,UACvBoH,EAAU3K,EAAW2K,QAgBzB,GAAIO,GAAmB1D,EAAO4D,MAAO,CACnC,IAAIpE,EAAQQ,EAAO4D,QAAU5D,EAAO4D,MAAQ,IAAIT,GAEhD3D,EAAMnG,IAAMmG,EAAMnG,IAClBmG,EAAMiE,IAAMjE,EAAMiE,IAClBjE,EAAMgE,IAAMhE,EAAMgE,IAElBA,EAAM,SAAUnL,EAAIwL,GAClB,GAAIrE,EAAMiE,IAAIpL,GAAK,MAAM,IAAI0D,EAAU4H,GAGvC,OAFAE,EAASC,OAASzL,EAClBmH,EAAMgE,IAAInL,EAAIwL,GACPA,CACX,EACExK,EAAM,SAAUhB,GACd,OAAOmH,EAAMnG,IAAIhB,IAAO,CAAA,CAC5B,EACEoL,EAAM,SAAUpL,GACd,OAAOmH,EAAMiE,IAAIpL,EACrB,CACA,KAAO,CACL,IAAI0L,EAAQT,EAAU,SACtBC,EAAWQ,IAAS,EACpBP,EAAM,SAAUnL,EAAIwL,GAClB,GAAI1D,EAAO9H,EAAI0L,GAAQ,MAAM,IAAIhI,EAAU4H,GAG3C,OAFAE,EAASC,OAASzL,EAClBuK,EAA4BvK,EAAI0L,EAAOF,GAChCA,CACX,EACExK,EAAM,SAAUhB,GACd,OAAO8H,EAAO9H,EAAI0L,GAAS1L,EAAG0L,GAAS,CAAA,CAC3C,EACEN,EAAM,SAAUpL,GACd,OAAO8H,EAAO9H,EAAI0L,EACtB,CACA,QAEAC,GAAiB,CACfR,IAAKA,EACLnK,IAAKA,EACLoK,IAAKA,EACLQ,QArDY,SAAU5L,GACtB,OAAOoL,EAAIpL,GAAMgB,EAAIhB,GAAMmL,EAAInL,EAAI,GACrC,EAoDE6L,UAlDc,SAAUC,GACxB,OAAO,SAAU9L,GACf,IAAIuL,EACJ,IAAKnH,EAASpE,KAAQuL,EAAQvK,EAAIhB,IAAK+L,OAASD,EAC9C,MAAM,IAAIpI,EAAU,0BAA4BoI,EAAO,aACvD,OAAOP,CACb,CACA,8CCzBA,IAAI1I,EAAcjC,KACdH,EAAQyC,IACRe,EAAab,KACb0E,EAAS7B,KACTiD,EAAcf,IACd6D,EAA6B5D,KAAsC6B,aACnEY,EAAgBvB,KAChB2C,EAAsBzC,KAEtB0C,EAAuBD,EAAoBL,QAC3CO,EAAmBF,EAAoBjL,IACvCuE,EAAUP,OAEVjE,EAAiBD,OAAOC,eACxBgC,EAAcF,EAAY,GAAGG,OAC7BoJ,EAAUvJ,EAAY,GAAGuJ,SACzBC,EAAOxJ,EAAY,GAAGwJ,MAEtBC,EAAsBpD,IAAgBzI,EAAM,WAC9C,OAAsF,IAA/EM,EAAe,WAAY,EAAiB,SAAU,CAAEuB,MAAO,IAAKkC,MAC7E,GAEI+H,EAAWvH,OAAOA,QAAQ1B,MAAM,UAEhCkJ,EAAcC,GAAApF,QAAiB,SAAU/E,EAAOmG,EAAMiE,GACf,YAArC3J,EAAYwC,EAAQkD,GAAO,EAAG,KAChCA,EAAO,IAAM2D,EAAQ7G,EAAQkD,GAAO,wBAAyB,MAAQ,KAEnEiE,GAAWA,EAAQC,SAAQlE,EAAO,OAASA,GAC3CiE,GAAWA,EAAQE,SAAQnE,EAAO,OAASA,KAC1CX,EAAOxF,EAAO,SAAY0J,GAA8B1J,EAAMmG,OAASA,KACtES,EAAanI,EAAeuB,EAAO,OAAQ,CAAEA,MAAOmG,EAAMlG,cAAc,IACvED,EAAMmG,KAAOA,GAEhB6D,GAAuBI,GAAW5E,EAAO4E,EAAS,UAAYpK,EAAMkC,SAAWkI,EAAQG,OACzF9L,EAAeuB,EAAO,SAAU,CAAEA,MAAOoK,EAAQG,QAEnD,IACMH,GAAW5E,EAAO4E,EAAS,gBAAkBA,EAAQI,YACnD5D,GAAanI,EAAeuB,EAAO,YAAa,CAAEE,UAAU,IAEvDF,EAAMf,YAAWe,EAAMf,eAAY2C,EAClD,CAAI,MAAOvD,GAAO,CAChB,IAAI4K,EAAQW,EAAqB5J,GAG/B,OAFGwF,EAAOyD,EAAO,YACjBA,EAAM7D,OAAS2E,EAAKE,EAAyB,iBAAR9D,EAAmBA,EAAO,KACxDnG,CACX,SAIA9B,SAASe,UAAUuB,SAAW0J,EAAY,WACxC,OAAOvI,EAAW1D,OAAS4L,EAAiB5L,MAAMmH,QAAUmD,EAActK,KAC5E,EAAG,0DCrDH,IAAI0D,EAAarD,KACb0J,EAAuBpH,KACvBsJ,EAAcpJ,KACd2D,EAAuBd,YAE3B8G,GAAiB,SAAUpD,EAAG3C,EAAK1E,EAAOoK,GACnCA,IAASA,EAAU,CAAA,GACxB,IAAIM,EAASN,EAAQvK,WACjBsG,OAAwBvE,IAAjBwI,EAAQjE,KAAqBiE,EAAQjE,KAAOzB,EAEvD,GADI/C,EAAW3B,IAAQkK,EAAYlK,EAAOmG,EAAMiE,GAC5CA,EAAQpM,OACN0M,EAAQrD,EAAE3C,GAAO1E,EAChByE,EAAqBC,EAAK1E,OAC1B,CACL,IACOoK,EAAQO,OACJtD,EAAE3C,KAAMgG,GAAS,UADErD,EAAE3C,EAEpC,CAAM,MAAOrG,GAAO,CACZqM,EAAQrD,EAAE3C,GAAO1E,EAChBgI,EAAqBtI,EAAE2H,EAAG3C,EAAK,CAClC1E,MAAOA,EACPH,YAAY,EACZI,cAAemK,EAAQQ,gBACvB1K,UAAWkK,EAAQS,aAEzB,CAAI,OAAOxD,CACX,kGC1BA,IAAIyD,kCCAJ,IAAIC,EAAOpN,KAAKoN,KACZC,EAAQrN,KAAKqN,aAKjBC,GAAiBtN,KAAKmN,OAAS,SAAeI,GAC5C,IAAIC,GAAKD,EACT,OAAQC,EAAI,EAAIH,EAAQD,GAAMI,EAChC,EDTY7M,UAIZ8M,GAAiB,SAAUvJ,GACzB,IAAIwJ,GAAUxJ,EAEd,OAAOwJ,GAAWA,GAAqB,IAAXA,EAAe,EAAIP,EAAMO,EACvD,qCERA,IAAID,EAAsB9M,KAEtBgN,EAAM3N,KAAK2N,IACXC,EAAM5N,KAAK4N,WAKfC,GAAiB,SAAUC,EAAOvJ,GAChC,IAAIwJ,EAAUN,EAAoBK,GAClC,OAAOC,EAAU,EAAIJ,EAAII,EAAUxJ,EAAQ,GAAKqJ,EAAIG,EAASxJ,EAC/D,qCCXA,IAAIkJ,EAAsB9M,KAEtBiN,EAAM5N,KAAK4N,WAIfI,GAAiB,SAAU9J,GACzB,IAAI+J,EAAMR,EAAoBvJ,GAC9B,OAAO+J,EAAM,EAAIL,EAAIK,EAAK,kBAAoB,CAChD,qCCTA,IAAID,EAAWrN,YAIfuN,GAAiB,SAAUC,GACzB,OAAOH,EAASG,EAAI5J,OACtB,qCCNA,IAAIX,EAAkBjD,KAClBkN,EAAkB5K,KAClBiL,EAAoB/K,KAGpBiL,EAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAAI9E,EAAI9F,EAAgB0K,GACpB/J,EAAS2J,EAAkBxE,GAC/B,GAAe,IAAXnF,EAAc,OAAQ8J,IAAe,EACzC,IACIhM,EADAyL,EAAQD,EAAgBW,EAAWjK,GAIvC,GAAI8J,GAAeE,GAAOA,GAAI,KAAOhK,EAASuJ,GAG5C,IAFAzL,EAAQqH,EAAEoE,OAEIzL,EAAO,OAAO,OAEvB,KAAMkC,EAASuJ,EAAOA,IAC3B,IAAKO,GAAeP,KAASpE,IAAMA,EAAEoE,KAAWS,EAAI,OAAOF,GAAeP,GAAS,EACnF,OAAQO,IAAe,CAC7B,CACA,SAEAI,GAAiB,CAGfC,SAAUN,GAAa,GAGvBO,QAASP,GAAa,uCC/BxB,IAAIxL,EAAcjC,KACdkH,EAAS5E,KACTW,EAAkBT,KAClBwL,EAAU3I,KAAuC2I,QACjD1D,EAAa/C,KAEbb,EAAOzE,EAAY,GAAGyE,aAE1BuH,GAAiB,SAAUrE,EAAQsE,GACjC,IAGI9H,EAHA2C,EAAI9F,EAAgB2G,GACpBuE,EAAI,EACJnG,EAAS,GAEb,IAAK5B,KAAO2C,GAAI7B,EAAOoD,EAAYlE,IAAQc,EAAO6B,EAAG3C,IAAQM,EAAKsB,EAAQ5B,GAE1E,KAAO8H,EAAMtK,OAASuK,GAAOjH,EAAO6B,EAAG3C,EAAM8H,EAAMC,SAChDH,EAAQhG,EAAQ5B,IAAQM,EAAKsB,EAAQ5B,IAExC,OAAO4B,CACT,mCClBAoG,GAAiB,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,+CCRF,IAAIC,EAAqBrO,KAGrBsK,EAFchI,KAEWgM,OAAO,SAAU,oBAK9CC,GAAAnN,EAAYlB,OAAOsO,qBAAuB,SAA6BzF,GACrE,OAAOsF,EAAmBtF,EAAGuB,EAC/B,wICTAmE,GAAArN,EAAYlB,OAAO2E,6DCDnB,IAAIpB,EAAazD,KACbiC,EAAcK,KACdoM,EAA4BlM,KAC5BmM,EAA8BtJ,KAC9B4D,EAAW1B,KAEX+G,EAASrM,EAAY,GAAGqM,eAG5BM,GAAiBnL,EAAW,UAAW,YAAc,SAAiBrE,GACpE,IAAIgL,EAAOsE,EAA0BtN,EAAE6H,EAAS7J,IAC5CyF,EAAwB8J,EAA4BvN,EACxD,OAAOyD,EAAwByJ,EAAOlE,EAAMvF,EAAsBzF,IAAOgL,CAC3E,qCCbA,IAAIlD,EAASlH,KACT4O,EAAUtM,KACVuM,EAAiCrM,KACjCkH,EAAuBrE,YAE3ByJ,GAAiB,SAAUC,EAAQjI,EAAQkI,GAIzC,IAHA,IAAI5E,EAAOwE,EAAQ9H,GACf3G,EAAiBuJ,EAAqBtI,EACtCH,EAA2B4N,EAA+BzN,EACrD+M,EAAI,EAAGA,EAAI/D,EAAKxG,OAAQuK,IAAK,CACpC,IAAI/H,EAAMgE,EAAK+D,GACVjH,EAAO6H,EAAQ3I,IAAU4I,GAAc9H,EAAO8H,EAAY5I,IAC7DjG,EAAe4O,EAAQ3I,EAAKnF,EAAyB6F,EAAQV,GAEnE,CACA,qCCfA,IAAIvG,EAAQG,IACRqD,EAAaf,KAEb2M,EAAc,kBAEdC,EAAW,SAAUC,EAASC,GAChC,IAAI1N,EAAQ2N,EAAKC,EAAUH,IAC3B,OAAOzN,IAAU6N,GACb7N,IAAU8N,IACVnM,EAAW+L,GAAavP,EAAMuP,KAC5BA,EACR,EAEIE,EAAYJ,EAASI,UAAY,SAAUG,GAC7C,OAAOrL,OAAOqL,GAAQjE,QAAQyD,EAAa,KAAKS,aAClD,EAEIL,EAAOH,EAASG,KAAO,CAAA,EACvBG,EAASN,EAASM,OAAS,IAC3BD,EAAWL,EAASK,SAAW,WAEnCI,GAAiBT,qCCrBjB,IAAI3P,EAAaS,IACbiB,EAA2BqB,KAA2DlB,EACtFuI,EAA8BnH,KAC9B2J,EAAgB9G,KAChBc,EAAuBoB,KACvBuH,EAA4BtH,KAC5B0H,EAAWxG,YAiBfkH,GAAiB,SAAU9D,EAAShF,GAClC,IAGYiI,EAAQ3I,EAAKyJ,EAAgBC,EAAgBxO,EAHrDyO,EAASjE,EAAQiD,OACjBiB,EAASlE,EAAQpM,OACjBuQ,EAASnE,EAAQoE,KASrB,GANEnB,EADEiB,EACOzQ,EACA0Q,EACA1Q,EAAWwQ,IAAW5J,EAAqB4J,EAAQ,CAAA,GAEnDxQ,EAAWwQ,IAAWxQ,EAAWwQ,GAAQpP,UAExC,IAAKyF,KAAOU,EAAQ,CAQ9B,GAPAgJ,EAAiBhJ,EAAOV,GAGtByJ,EAFE/D,EAAQqE,gBACV7O,EAAaL,EAAyB8N,EAAQ3I,KACf9E,EAAWI,MACpBqN,EAAO3I,IACtB8I,EAASc,EAAS5J,EAAM2J,GAAUE,EAAS,IAAM,KAAO7J,EAAK0F,EAAQsE,cAE5C9M,IAAnBuM,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDf,EAA0BgB,EAAgBD,EAChD,EAEQ/D,EAAQ9G,MAAS6K,GAAkBA,EAAe7K,OACpD2E,EAA4BmG,EAAgB,QAAQ,GAEtD3D,EAAc4C,EAAQ3I,EAAK0J,EAAgBhE,EAC/C,CACA,qCCrDA,IAAIzJ,EAAarC,KACbiC,EAAcK,YAElB+N,GAAiB,SAAUrO,GAIzB,GAAuB,aAAnBK,EAAWL,GAAoB,OAAOC,EAAYD,EACxD,qCCRA,IAAIC,EAAcjC,KACdyF,EAAYnD,KACZ7B,EAAc+B,IAEdjC,EAAO0B,EAAYA,EAAY1B,aAGnC+P,GAAiB,SAAUtO,EAAIuO,GAE7B,OADA9K,EAAUzD,QACMsB,IAATiN,EAAqBvO,EAAKvB,EAAcF,EAAKyB,EAAIuO,GAAQ,WAC9D,OAAOvO,EAAGnB,MAAM0P,EAAMzP,UAC1B,CACA,wCCZA,IAAIyB,EAAUvC,YAKdwQ,GAAiBC,MAAMD,SAAW,SAAiBjN,GACjD,MAA6B,UAAtBhB,EAAQgB,EACjB,qCCPA,IAGIjD,EAAO,CAAA,SAEXA,EALsBN,IAEF4H,CAAgB,gBAGd,IAEtB8I,GAAkC,eAAjBtM,OAAO9D,sCCPxB,IAAIqQ,EAAwB3Q,KACxBqD,EAAaf,KACbD,EAAaG,KAGboO,EAFkBvL,IAEFuC,CAAgB,eAChCnF,EAAUvC,OAGV2Q,EAAwE,cAApDxO,EAAW,WAAc,OAAOvB,SAAU,CAA/B,WAUnCyB,GAAiBoO,EAAwBtO,EAAa,SAAUjD,GAC9D,IAAI2J,EAAG+H,EAAK9I,EACZ,YAAc1E,IAAPlE,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjD0R,EAXD,SAAU1R,EAAIgH,GACzB,IACE,OAAOhH,EAAGgH,EACd,CAAI,MAAOrG,GAAO,CAClB,CAOoBgR,CAAOhI,EAAItG,EAAQrD,GAAKwR,IAA8BE,EAEpED,EAAoBxO,EAAW0G,GAEF,YAA5Bf,EAAS3F,EAAW0G,KAAoB1F,EAAW0F,EAAEiI,QAAU,YAAchJ,CACpF,qCC5BA,IAAI/F,EAAcjC,KACdH,EAAQyC,IACRe,EAAab,KACbD,EAAU8C,KACV5B,EAAa8D,KACb0C,EAAgBzC,KAEhByJ,EAAO,WAAY,EACnBC,EAAYzN,EAAW,UAAW,aAClC0N,EAAoB,2BACpBrR,EAAOmC,EAAYkP,EAAkBrR,MACrCsR,GAAuBD,EAAkB7Q,KAAK2Q,GAE9CI,EAAsB,SAAuB9N,GAC/C,IAAKF,EAAWE,GAAW,OAAO,EAClC,IAEE,OADA2N,EAAUD,EAAM,GAAI1N,IACb,CACX,CAAI,MAAOxD,GACP,OAAO,CACX,CACA,EAEIuR,EAAsB,SAAuB/N,GAC/C,IAAKF,EAAWE,GAAW,OAAO,EAClC,OAAQhB,EAAQgB,IACd,IAAK,gBACL,IAAK,oBACL,IAAK,yBAA0B,OAAO,EAExC,IAIE,OAAO6N,KAAyBtR,EAAKqR,EAAmBlH,EAAc1G,GAC1E,CAAI,MAAOxD,GACP,OAAO,CACX,CACA,SAEAuR,EAAoBtM,MAAO,EAI3BuM,IAAkBL,GAAarR,EAAM,WACnC,IAAI2R,EACJ,OAAOH,EAAoBA,EAAoB3Q,QACzC2Q,EAAoBnR,UACpBmR,EAAoB,WAAcG,GAAS,CAAK,IACjDA,CACP,GAAKF,EAAsBD,qCClD3B,IAAIb,EAAUxQ,KACVuR,EAAgBjP,KAChBkB,EAAWhB,KAGXiP,EAFkBpM,IAERuC,CAAgB,WAC1B8J,EAASjB,aAIbkB,GAAiB,SAAUC,GACzB,IAAIC,EASF,OARErB,EAAQoB,KACVC,EAAID,EAAc1F,aAEdqF,EAAcM,KAAOA,IAAMH,GAAUlB,EAAQqB,EAAElR,aAC1C6C,EAASqO,IAEN,QADVA,EAAIA,EAAEJ,OAFwDI,OAAIvO,SAKvDA,IAANuO,EAAkBH,EAASG,CACtC,qCCrBA,IAAIF,EAA0B3R,YAI9B8R,GAAiB,SAAUF,EAAehO,GACxC,OAAO,IAAK+N,EAAwBC,GAA7B,CAAwD,IAAXhO,EAAe,EAAIA,EACzE,qCCNA,IAAIrD,EAAOP,KACPiC,EAAcK,KACdU,EAAgBR,KAChBwE,EAAW3B,KACXkI,EAAoBhG,KACpBuK,EAAqBtK,KAErBd,EAAOzE,EAAY,GAAGyE,MAGtB+G,EAAe,SAAUvC,GAC3B,IAAI6G,EAAkB,IAAT7G,EACT8G,EAAqB,IAAT9G,EACZ+G,EAAmB,IAAT/G,EACVgH,EAAoB,IAAThH,EACXiH,EAAyB,IAATjH,EAChBkH,EAA4B,IAATlH,EACnBmH,EAAoB,IAATnH,GAAciH,EAC7B,OAAO,SAAUxE,EAAO2E,EAAY/B,EAAMgC,GASxC,IARA,IAOI7Q,EAAOsG,EAPPe,EAAI/B,EAAS2G,GACblO,EAAOuD,EAAc+F,GACrBnF,EAAS2J,EAAkB9N,GAC3B+S,EAAgBjS,EAAK+R,EAAY/B,GACjCpD,EAAQ,EACRsF,EAASF,GAAkBT,EAC3B/C,EAASgD,EAASU,EAAO9E,EAAO/J,GAAUoO,GAAaI,EAAmBK,EAAO9E,EAAO,QAAKrK,EAE3FM,EAASuJ,EAAOA,IAAS,IAAIkF,GAAYlF,KAAS1N,KAEtDuI,EAASwK,EADT9Q,EAAQjC,EAAK0N,GACiBA,EAAOpE,GACjCmC,GACF,GAAI6G,EAAQhD,EAAO5B,GAASnF,OACvB,GAAIA,EAAQ,OAAQkD,GACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAOxJ,EACf,KAAK,EAAG,OAAOyL,EACf,KAAK,EAAGzG,EAAKqI,EAAQrN,QAChB,OAAQwJ,GACb,KAAK,EAAG,OAAO,EACf,KAAK,EAAGxE,EAAKqI,EAAQrN,GAI3B,OAAOyQ,GAAgB,EAAKF,GAAWC,EAAWA,EAAWnD,CACjE,CACA,SAEA2D,GAAiB,CAGfC,QAASlF,EAAa,GAGtBmF,IAAKnF,EAAa,GAGlBoF,OAAQpF,EAAa,GAGrBqF,KAAMrF,EAAa,GAGnBsF,MAAOtF,EAAa,GAGpBuF,KAAMvF,EAAa,GAGnBwF,UAAWxF,EAAa,GAGxByF,aAAczF,EAAa,uCCvE7B,IAAI5N,EAAQG,IACR4H,EAAkBtF,KAClBoC,EAAalC,KAEbiP,EAAU7J,EAAgB,kBAE9BuL,GAAiB,SAAUC,GAIzB,OAAO1O,GAAc,KAAO7E,EAAM,WAChC,IAAIwT,EAAQ,GAKZ,OAJkBA,EAAMnH,YAAc,CAAA,GAC1BuF,GAAW,WACrB,MAAO,CAAE6B,IAAK,EACpB,EAC+C,IAApCD,EAAMD,GAAaG,SAASD,GACvC,EACA,kCClBA,IAAIE,EAAIxT,KACJyT,EAAUnR,KAAwCuQ,OAQtDW,EAAE,CAAEzE,OAAQ,QAAS2E,OAAO,EAAMtD,QAPC5N,IAET2Q,CAA6B,WAKW,CAChEN,OAAQ,SAAgBP,GACtB,OAAOmB,EAAQ9T,KAAM2S,EAAYxR,UAAU8C,OAAS,EAAI9C,UAAU,QAAKwC,EAC3E,6GCZA,IAAI5C,EAAOV,IACPiJ,EAAW3G,KACXoD,EAAYlD,YAEhBmR,GAAiB,SAAUxO,EAAUyO,EAAMlS,GACzC,IAAImS,EAAaC,EACjB7K,EAAS9D,GACT,IAEE,KADA0O,EAAcnO,EAAUP,EAAU,WAChB,CAChB,GAAa,UAATyO,EAAkB,MAAMlS,EAC5B,OAAOA,CACb,CACImS,EAAcnT,EAAKmT,EAAa1O,EACpC,CAAI,MAAOpF,GACP+T,GAAa,EACbD,EAAc9T,CAClB,CACE,GAAa,UAAT6T,EAAkB,MAAMlS,EAC5B,GAAIoS,EAAY,MAAMD,EAEtB,OADA5K,EAAS4K,GACFnS,CACT,qCCtBA,IAAIuH,EAAWjJ,KACX2T,EAAgBrR,YAGpByR,GAAiB,SAAU5O,EAAUnD,EAAIN,EAAOsS,GAC9C,IACE,OAAOA,EAAUhS,EAAGiH,EAASvH,GAAO,GAAIA,EAAM,IAAMM,EAAGN,EAC3D,CAAI,MAAO3B,GACP4T,EAAcxO,EAAU,QAASpF,EACrC,CACA,mCCVAkU,GAAiB,CAAA,sCCAjB,IAAIrM,EAAkB5H,KAClBkU,EAAY5R,KAEZ6R,EAAWvM,EAAgB,YAC3BwM,EAAiB3D,MAAM9P,iBAG3B0T,GAAiB,SAAUjV,GACzB,YAAckE,IAAPlE,IAAqB8U,EAAUzD,QAAUrR,GAAMgV,EAAeD,KAAc/U,EACrF,qCCTA,IAAIkJ,EAActI,IACd0J,EAAuBpH,KACvBd,EAA2BgB,YAE/B8R,GAAiB,SAAU1K,EAAQxD,EAAK1E,GAClC4G,EAAaoB,EAAqBtI,EAAEwI,EAAQxD,EAAK5E,EAAyB,EAAGE,IAC5EkI,EAAOxD,GAAO1E,CACrB,qCCPA,IAAIa,EAAUvC,KACV0F,EAAYpD,KACZM,EAAoBJ,KACpB0R,EAAY7O,KAGZ8O,EAFkB5M,IAEPK,CAAgB,mBAE/B2M,GAAiB,SAAUnV,GACzB,IAAKwD,EAAkBxD,GAAK,OAAOsG,EAAUtG,EAAI+U,IAC5CzO,EAAUtG,EAAI,eACd8U,EAAU3R,EAAQnD,GACzB,qCCZA,IAAIsB,EAAOV,IACPyF,EAAYnD,KACZ2G,EAAWzG,KACXgD,EAAcH,KACdkP,EAAoBhN,KAEpB1E,EAAaC,iBAEjB0R,GAAiB,SAAUjR,EAAUkR,GACnC,IAAIC,EAAiB5T,UAAU8C,OAAS,EAAI2Q,EAAkBhR,GAAYkR,EAC1E,GAAIhP,EAAUiP,GAAiB,OAAOzL,EAASvI,EAAKgU,EAAgBnR,IACpE,MAAM,IAAIV,EAAW2C,EAAYjC,GAAY,mBAC/C,wCCZA,IAEI4Q,EAFkBnU,IAEP4H,CAAgB,YAC3B+M,GAAe,EAEnB,IACE,IAAInD,EAAS,EACToD,EAAqB,CACvBC,KAAM,WACJ,MAAO,CAAEC,OAAQtD,IACvB,EACIuD,OAAU,WACRJ,GAAe,CACrB,GAEEC,EAAmBT,GAAY,WAC7B,OAAOxU,IACX,EAEE8Q,MAAMuE,KAAKJ,EAAoB,WAAc,MAAM,CAAE,EACvD,CAAE,MAAO7U,GAAO,QAEhBkV,GAAiB,SAAUnV,EAAMoV,GAC/B,IACE,IAAKA,IAAiBP,EAAc,OAAO,CAC/C,CAAI,MAAO5U,GAAS,OAAO,CAAM,CAC/B,IAAIoV,GAAoB,EACxB,IACE,IAAIvL,EAAS,CAAA,EACbA,EAAOuK,GAAY,WACjB,MAAO,CACLU,KAAM,WACJ,MAAO,CAAEC,KAAMK,GAAoB,EAC7C,EAEA,EACIrV,EAAK8J,EACT,CAAI,MAAO7J,GAAO,CAChB,OAAOoV,CACT,mCCvCA,IAAI3B,EAAIxT,KACJgV,kCCDJ,IAAIzU,EAAOP,KACPU,EAAO4B,IACP0E,EAAWxE,KACXuR,EAA+B1O,KAC/BgP,EAAwB9M,KACxBgK,EAAgB/J,KAChB+F,EAAoB7E,KACpB4L,EAAiB1L,KACjB4L,EAAcY,KACdb,EAAoBc,KAEpB3D,EAASjB,aAIb6E,GAAiB,SAAcC,GAC7B,IAAIxM,EAAI/B,EAASuO,GACbC,EAAiBjE,EAAc5R,MAC/B8V,EAAkB3U,UAAU8C,OAC5B8R,EAAQD,EAAkB,EAAI3U,UAAU,QAAKwC,EAC7CqS,OAAoBrS,IAAVoS,EACVC,IAASD,EAAQnV,EAAKmV,EAAOD,EAAkB,EAAI3U,UAAU,QAAKwC,IACtE,IAEIM,EAAQoE,EAAQ4N,EAAMzQ,EAAU0P,EAAMnT,EAFtCgT,EAAiBH,EAAkBxL,GACnCoE,EAAQ,EAGZ,IAAIuH,GAAoB/U,OAAS+R,GAAU2C,EAAsBK,GAW/D,IAFA9Q,EAAS2J,EAAkBxE,GAC3Bf,EAASwN,EAAiB,IAAI7V,KAAKiE,GAAU8N,EAAO9N,GAC9CA,EAASuJ,EAAOA,IACpBzL,EAAQiU,EAAUD,EAAM3M,EAAEoE,GAAQA,GAASpE,EAAEoE,GAC7CmH,EAAetM,EAAQmF,EAAOzL,QAThC,IAHAsG,EAASwN,EAAiB,IAAI7V,KAAS,GAEvCkV,GADA1P,EAAWqP,EAAYzL,EAAG2L,IACVG,OACRe,EAAOlV,EAAKmU,EAAM1P,IAAW2P,KAAM3H,IACzCzL,EAAQiU,EAAU5B,EAA6B5O,EAAUuQ,EAAO,CAACE,EAAKlU,MAAOyL,IAAQ,GAAQyI,EAAKlU,MAClG4S,EAAetM,EAAQmF,EAAOzL,GAWlC,OADAsG,EAAOpE,OAASuJ,EACTnF,CACT,KD3CW1F,GAUXkR,EAAE,CAAEzE,OAAQ,QAASmB,MAAM,EAAME,QATC5N,IAEPyS,CAA4B,SAAUY,GAE/DpF,MAAMuE,KAAKa,EACb,IAIgE,CAC9Db,KAAMA,uJEZR,IAAI3G,EAAqBrO,KACrBoO,EAAc9L,YAKlBwT,GAAiB5V,OAAOkK,MAAQ,SAAcrB,GAC5C,OAAOsF,EAAmBtF,EAAGqF,EAC/B,qCCRA,IAAI9F,EAActI,IACdkJ,EAA0B5G,KAC1BoH,EAAuBlH,KACvByG,EAAW5D,KACXpC,EAAkBsE,KAClBuO,EAAatO,YAKjBuO,GAAA3U,EAAYkH,IAAgBY,EAA0BhJ,OAAO8V,iBAAmB,SAA0BjN,EAAGkN,GAC3GhN,EAASF,GAMT,IALA,IAII3C,EAJA8P,EAAQjT,EAAgBgT,GACxB7L,EAAO0L,EAAWG,GAClBrS,EAASwG,EAAKxG,OACduJ,EAAQ,EAELvJ,EAASuJ,GAAOzD,EAAqBtI,EAAE2H,EAAG3C,EAAMgE,EAAK+C,KAAU+I,EAAM9P,IAC5E,OAAO2C,CACT,wCCnBA,IAAItF,EAAazD,YAEjBmW,GAAiB1S,EAAW,WAAY,sDCDxC,IAoDI2S,EApDAnN,EAAWjJ,KACXqW,EAAyB/T,KACzB8L,EAAc5L,KACd8H,EAAajF,KACb8Q,EAAO5O,KACPc,EAAwBb,KACxB6C,EAAY3B,KAIZ4N,EAAY,YACZC,EAAS,SACTC,EAAWnM,EAAU,YAErBoM,EAAmB,WAAY,EAE/BC,EAAY,SAAUC,GACxB,MARO,IAQKJ,EATL,IASmBI,EAAnBC,KAAwCL,EATxC,GAUT,EAGIM,EAA4B,SAAUT,GACxCA,EAAgBU,MAAMJ,EAAU,KAChCN,EAAgBW,QAChB,IAAIC,EAAOZ,EAAgBa,aAAa/W,OAGxC,OADAkW,EAAkB,KACXY,CACT,EAyBIE,EAAkB,WACpB,IACEd,EAAkB,IAAIe,cAAc,WACxC,CAAI,MAAOpX,GAAO,CAzBa,IAIzBqX,EAFAC,EACAC,EAuBJJ,EAAqC,oBAAZ/T,SACrBA,SAASoU,QAAUnB,EACjBS,EAA0BT,IA1B5BiB,EAAShP,EAAsB,UAC/BiP,EAAK,OAASf,EAAS,IAE3Bc,EAAOG,MAAMC,QAAU,OACvBtB,EAAKuB,YAAYL,GAEjBA,EAAOM,IAAMvT,OAAOkT,IACpBF,EAAiBC,EAAOO,cAAczU,UACvB0U,OACfT,EAAeN,MAAMJ,EAAU,sBAC/BU,EAAeL,QACRK,EAAeU,GAiBlBjB,EAA0BT,GAE9B,IADA,IAAIxS,EAASwK,EAAYxK,OAClBA,YAAiBsT,EAAgBZ,GAAWlI,EAAYxK,IAC/D,OAAOsT,GACT,SAEA5M,EAAWkM,IAAY,EAKvBuB,GAAiB7X,OAAOuS,QAAU,SAAgB1J,EAAGkN,GACnD,IAAIjO,EAQJ,OAPU,OAANe,GACF0N,EAAiBH,GAAarN,EAASF,GACvCf,EAAS,IAAIyO,EACbA,EAAiBH,GAAa,KAE9BtO,EAAOwO,GAAYzN,GACdf,EAASkP,SACM5T,IAAf2S,EAA2BjO,EAASqO,EAAuBjV,EAAE4G,EAAQiO,EAC9E,qCCnFA,IAAIrO,EAAkB5H,KAClByS,EAASnQ,KACTnC,EAAiBqC,KAA+CpB,EAEhE4W,EAAcpQ,EAAgB,eAC9BwM,EAAiB3D,MAAM9P,sBAIS2C,IAAhC8Q,EAAe4D,IACjB7X,EAAeiU,EAAgB4D,EAAa,CAC1CrW,cAAc,EACdD,MAAO+Q,EAAO,QAKlBwF,GAAiB,SAAU7R,GACzBgO,EAAe4D,GAAa5R,IAAO,CACrC,qCCnBA,IAAIc,EAASlH,KACTqD,EAAaf,KACb0E,EAAWxE,KACX6H,EAAYhF,KACZ6S,kCCJJ,IAAIrY,EAAQG,WAEZmY,IAAkBtY,EAAM,WACtB,SAASiY,IAAI,CAGb,OAFAA,EAAEnX,UAAUuL,YAAc,KAEnBhM,OAAOkY,eAAe,IAAIN,KAASA,EAAEnX,SAC9C,GDH+B4G,GAE3BiP,EAAWnM,EAAU,YACrB5H,EAAUvC,OACVmY,EAAkB5V,EAAQ9B,iBAK9B2X,GAAiBJ,EAA2BzV,EAAQ2V,eAAiB,SAAUrP,GAC7E,IAAIa,EAAS5C,EAAS+B,GACtB,GAAI7B,EAAO0C,EAAQ4M,GAAW,OAAO5M,EAAO4M,GAC5C,IAAItK,EAActC,EAAOsC,YACzB,OAAI7I,EAAW6I,IAAgBtC,aAAkBsC,EACxCA,EAAYvL,UACZiJ,aAAkBnH,EAAU4V,EAAkB,IACzD,qCEpBA,IAcIE,EAAmBC,EAAmCC,EAdtD5Y,EAAQG,IACRqD,EAAaf,KACbkB,EAAWhB,KACXiQ,EAASpN,KACT+S,EAAiB7Q,KACjB4E,EAAgB3E,KAChBI,EAAkBc,KAClBrC,EAAUuC,KAEVuL,EAAWvM,EAAgB,YAC3B8Q,GAAyB,QAOzB,GAAGtO,OAGC,SAFNqO,EAAgB,GAAGrO,SAIjBoO,EAAoCJ,EAAeA,EAAeK,OACxBvY,OAAOS,YAAW4X,EAAoBC,GAHlDE,GAAyB,IAO7BlV,EAAS+U,IAAsB1Y,EAAM,WACjE,IAAIS,EAAO,CAAA,EAEX,OAAOiY,EAAkBpE,GAAUzT,KAAKJ,KAAUA,CACpD,GAE4BiY,EAAoB,CAAA,EACvClS,IAASkS,EAAoB9F,EAAO8F,IAIxClV,EAAWkV,EAAkBpE,KAChChI,EAAcoM,EAAmBpE,EAAU,WACzC,OAAOxU,IACX,GAGAgZ,GAAiB,CACfJ,kBAAmBA,EACnBG,uBAAwBA,sCC9C1B,IAAIvY,EAAiBH,KAA+CoB,EAChE8F,EAAS5E,KAGTsO,EAFkBpO,IAEFoF,CAAgB,sBAEpCgR,GAAiB,SAAU7J,EAAQ8J,EAAK5I,GAClClB,IAAWkB,IAAQlB,EAASA,EAAOpO,WACnCoO,IAAW7H,EAAO6H,EAAQ6B,IAC5BzQ,EAAe4O,EAAQ6B,EAAe,CAAEjP,cAAc,EAAMD,MAAOmX,GAEvE,qCCXA,IAAIrV,EAAWxD,YAEf8Y,GAAiB,SAAUvV,GACzB,OAAOC,EAASD,IAA0B,OAAbA,CAC/B,qCCJA,IAAIuV,EAAsB9Y,KAEtB2E,EAAUP,OACVvB,EAAaC,iBAEjBiW,GAAiB,SAAUxV,GACzB,GAAIuV,EAAoBvV,GAAW,OAAOA,EAC1C,MAAM,IAAIV,EAAW,aAAe8B,EAAQpB,GAAY,kBAC1D,qCCPA,IAAIyV,kCCDJ,IAAI/W,EAAcjC,KACdyF,EAAYnD,YAEhB2W,GAAiB,SAAUrP,EAAQxD,EAAKzC,GACtC,IAEE,OAAO1B,EAAYwD,EAAUvF,OAAOe,yBAAyB2I,EAAQxD,GAAKzC,IAC9E,CAAI,MAAO5D,GAAO,CAClB,EDP0BC,GACtBwD,EAAWlB,KACXS,EAAyBP,KACzBuW,EAAqB1T,YAMzB6T,GAAiBhZ,OAAOiZ,iBAAmB,aAAe,CAAA,EAAK,WAC7D,IAEInN,EAFAoN,GAAiB,EACjB9Y,EAAO,CAAA,EAEX,KACE0L,EAASgN,EAAoB9Y,OAAOS,UAAW,YAAa,QACrDL,EAAM,IACb8Y,EAAiB9Y,aAAgBmQ,KACrC,CAAI,MAAO1Q,GAAO,CAChB,OAAO,SAAwBgJ,EAAG2K,GAGhC,OAFA3Q,EAAuBgG,GACvBgQ,EAAmBrF,GACdlQ,EAASuF,IACVqQ,EAAgBpN,EAAOjD,EAAG2K,GACzB3K,EAAEsQ,UAAY3F,EACZ3K,GAHkBA,CAI7B,CACA,CAjB+D,QAiBzDzF,sCE3BN,IAAIkQ,EAAIxT,KACJU,EAAO4B,IACP+D,EAAU7D,KACV8W,EAAejU,KACfhC,EAAakE,KACbgS,kCCLJ,IAAIhB,EAAoBvY,KAAuCuY,kBAC3D9F,EAASnQ,KACTd,EAA2BgB,KAC3BoW,EAAiBvT,KACjB6O,EAAY3M,KAEZiS,EAAa,WAAc,OAAO7Z,IAAK,SAE3C8Z,GAAiB,SAAUC,EAAqBC,EAAM9E,EAAM+E,GAC1D,IAAIhJ,EAAgB+I,EAAO,YAI3B,OAHAD,EAAoB/Y,UAAY8R,EAAO8F,EAAmB,CAAE1D,KAAMrT,IAA2BoY,EAAiB/E,KAC9G+D,EAAec,EAAqB9I,GAAe,GAAO,GAC1DsD,EAAUtD,GAAiB4I,EACpBE,CACT,EDTgClS,GAC5B4Q,EAAiB1P,KACjByQ,EAAiBvQ,KACjBgQ,EAAiBxD,KACjBzL,EAA8B0L,KAC9BlJ,EAAgB0N,KAChBjS,EAAkBkS,KAClB5F,EAAY6F,KACZC,EAAgBC,KAEhBC,EAAuBZ,EAAaxP,OACpCsB,EAA6BkO,EAAajQ,aAC1CkP,EAAoByB,EAAczB,kBAClCG,EAAyBsB,EAActB,uBACvCvE,EAAWvM,EAAgB,YAC3BuS,EAAO,OACPC,EAAS,SACTpG,EAAU,UAEVwF,EAAa,WAAc,OAAO7Z,IAAK,SAE3C0a,GAAiB,SAAUC,EAAUX,EAAMD,EAAqB7E,EAAM0F,EAASC,EAAQC,GACrFlB,EAA0BG,EAAqBC,EAAM9E,GAErD,IAqBI6F,EAA0BC,EAASC,EArBnCC,EAAqB,SAAUC,GACjC,GAAIA,IAASP,GAAWQ,EAAiB,OAAOA,EAChD,IAAKrC,GAA0BoC,GAAQA,KAAQE,EAAmB,OAAOA,EAAkBF,GAE3F,OAAQA,GACN,KAAKX,EACL,KAAKC,EACL,KAAKpG,EAAS,OAAO,WAAqB,OAAO,IAAI0F,EAAoB/Z,KAAMmb,EAAM,EAGvF,OAAO,WAAc,OAAO,IAAIpB,EAAoB/Z,KAAM,CAC9D,EAEMiR,EAAgB+I,EAAO,YACvBsB,GAAwB,EACxBD,EAAoBV,EAAS3Z,UAC7Bua,EAAiBF,EAAkB7G,IAClC6G,EAAkB,eAClBT,GAAWS,EAAkBT,GAC9BQ,GAAmBrC,GAA0BwC,GAAkBL,EAAmBN,GAClFY,EAA6B,UAATxB,GAAmBqB,EAAkBI,SAA4BF,EA+BzF,GA3BIC,IACFT,EAA2BtC,EAAe+C,EAAkBza,KAAK,IAAI4Z,OACpCpa,OAAOS,WAAa+Z,EAAyB7F,OACvExO,GAAW+R,EAAesC,KAA8BnC,IACvDY,EACFA,EAAeuB,EAA0BnC,GAC/BlV,EAAWqX,EAAyBvG,KAC9ChI,EAAcuO,EAA0BvG,EAAUqF,IAItDZ,EAAe8B,EAA0B9J,GAAe,GAAM,GAC1DvK,IAAS6N,EAAUtD,GAAiB4I,IAKxCU,GAAwBK,IAAYH,GAAUc,GAAkBA,EAAerT,OAASuS,KACrF/T,GAAW+E,EACdzB,EAA4BqR,EAAmB,OAAQZ,IAEvDa,GAAwB,EACxBF,EAAkB,WAAoB,OAAOra,EAAKwa,EAAgBvb,KAAM,IAKxE4a,EAMF,GALAI,EAAU,CACRU,OAAQR,EAAmBT,GAC3BhQ,KAAMoQ,EAASO,EAAkBF,EAAmBV,GACpDiB,QAASP,EAAmB7G,IAE1ByG,EAAQ,IAAKG,KAAOD,GAClBjC,GAA0BuC,KAA2BL,KAAOI,KAC9D7O,EAAc6O,EAAmBJ,EAAKD,EAAQC,SAE3CpH,EAAE,CAAEzE,OAAQ4K,EAAMjG,OAAO,EAAMtD,OAAQsI,GAA0BuC,GAAyBN,GASnG,OALMtU,IAAWoU,GAAWO,EAAkB7G,KAAc4G,GAC1D5O,EAAc6O,EAAmB7G,EAAU4G,EAAiB,CAAElT,KAAM0S,IAEtErG,EAAUyF,GAAQoB,EAEXJ,CACT,mCElGAW,GAAiB,SAAU5Z,EAAOoT,GAChC,MAAO,CAAEpT,MAAOA,EAAOoT,KAAMA,EAC/B,sCCJA,IAAI7R,EAAkBjD,KAClBiY,EAAmB3V,KACnB4R,EAAY1R,KACZ6I,EAAsBhG,KACtBlF,EAAiBoH,KAA+CnG,EAChEma,EAAiB/T,KACjB8T,EAAyB5S,KACzBrC,EAAUuC,KACVN,EAAc8M,IAEdoG,EAAiB,iBACjBC,EAAmBpQ,EAAoBd,IACvCgB,EAAmBF,EAAoBJ,UAAUuQ,GAYrDE,GAAiBH,EAAe9K,MAAO,QAAS,SAAUkL,EAAU/H,GAClE6H,EAAiB9b,KAAM,CACrBwL,KAAMqQ,EACNzM,OAAQ9L,EAAgB0Y,GACxBxO,MAAO,EACPyG,KAAMA,GAIV,EAAG,WACD,IAAIjJ,EAAQY,EAAiB5L,MACzBoP,EAASpE,EAAMoE,OACf5B,EAAQxC,EAAMwC,QAClB,IAAK4B,GAAU5B,GAAS4B,EAAOnL,OAE7B,OADA+G,EAAMoE,OAAS,KACRuM,OAAuBhY,GAAW,GAE3C,OAAQqH,EAAMiJ,MACZ,IAAK,OAAQ,OAAO0H,EAAuBnO,GAAO,GAClD,IAAK,SAAU,OAAOmO,EAAuBvM,EAAO5B,IAAQ,GAC5D,OAAOmO,EAAuB,CAACnO,EAAO4B,EAAO5B,KAAS,EAC1D,EAAG,UAKH,IAAIkO,EAASnH,EAAU0H,UAAY1H,EAAUzD,MAQ7C,GALAwH,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,YAGZ5R,GAAWiC,GAA+B,WAAhB+S,EAAOxT,KAAmB,IACvD1H,EAAekb,EAAQ,OAAQ,CAAE3Z,MAAO,UAC1C,CAAE,MAAO3B,GAAO,sEC5DhB,IAAIQ,EAAOP,KACPU,EAAO4B,IACP2G,EAAWzG,KACXgD,EAAcH,KACdgP,EAAwB9M,KACxBgG,EAAoB/F,KACpB1D,EAAgB4E,KAChB8L,EAAc5L,KACd2L,EAAoBa,KACpBzB,EAAgB0B,KAEhBxS,EAAaC,UAEb+Y,EAAS,SAAUC,EAAS9T,GAC9BrI,KAAKmc,QAAUA,EACfnc,KAAKqI,OAASA,CAChB,EAEI+T,EAAkBF,EAAOlb,iBAE7Bqb,GAAiB,SAAUnG,EAAUoG,EAAiBnQ,GACpD,IAMI3G,EAAU+W,EAAQ/O,EAAOvJ,EAAQoE,EAAQ6M,EAAMe,EAN/CrF,EAAOzE,GAAWA,EAAQyE,KAC1B4L,KAAgBrQ,IAAWA,EAAQqQ,YACnCC,KAAetQ,IAAWA,EAAQsQ,WAClCC,KAAiBvQ,IAAWA,EAAQuQ,aACpCC,KAAiBxQ,IAAWA,EAAQwQ,aACpCta,EAAKzB,EAAK0b,EAAiB1L,GAG3BgM,EAAO,SAAUC,GAEnB,OADIrX,GAAUwO,EAAcxO,EAAU,UAC/B,IAAI0W,GAAO,EAAMW,EAC5B,EAEMC,EAAS,SAAU/a,GACrB,OAAIya,GACFlT,EAASvH,GACF4a,EAActa,EAAGN,EAAM,GAAIA,EAAM,GAAI6a,GAAQva,EAAGN,EAAM,GAAIA,EAAM,KAChE4a,EAActa,EAAGN,EAAO6a,GAAQva,EAAGN,EAChD,EAEE,GAAI0a,EACFjX,EAAW0Q,EAAS1Q,cACf,GAAIkX,EACTlX,EAAW0Q,MACN,CAEL,KADAqG,EAAS3H,EAAkBsB,IACd,MAAM,IAAIhT,EAAW2C,EAAYqQ,GAAY,oBAE1D,GAAIxB,EAAsB6H,GAAS,CACjC,IAAK/O,EAAQ,EAAGvJ,EAAS2J,EAAkBsI,GAAWjS,EAASuJ,EAAOA,IAEpE,IADAnF,EAASyU,EAAO5G,EAAS1I,MACXrJ,EAAciY,EAAiB/T,GAAS,OAAOA,EAC7D,OAAO,IAAI6T,GAAO,EAC1B,CACI1W,EAAWqP,EAAYqB,EAAUqG,EACrC,CAGE,IADArH,EAAOuH,EAAYvG,EAAShB,KAAO1P,EAAS0P,OACnCe,EAAOlV,EAAKmU,EAAM1P,IAAW2P,MAAM,CAC1C,IACE9M,EAASyU,EAAO7G,EAAKlU,MAC3B,CAAM,MAAO3B,GACP4T,EAAcxO,EAAU,QAASpF,EACvC,CACI,GAAqB,iBAAViI,GAAsBA,GAAUlE,EAAciY,EAAiB/T,GAAS,OAAOA,CAC9F,CAAI,OAAO,IAAI6T,GAAO,EACtB,mCCnEA,IAAIrI,EAAIxT,KACJgc,EAAU1Z,KACVgS,EAAiB9R,KAIrBgR,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,GAAQ,CAClCwM,YAAa,SAAqB7G,GAChC,IAAIrI,EAAM,CAAA,EAIV,OAHAwO,EAAQnG,EAAU,SAAU8G,EAAGC,GAC7BtI,EAAe9G,EAAKmP,EAAGC,EAC7B,EAAO,CAAET,YAAY,IACV3O,CACX,2DCbA,IAAImD,EAAwB3Q,KACxBmM,EAAgB7J,KAChBJ,kCCFJ,IAAIyO,EAAwB3Q,KACxBuC,EAAUD,YAIdua,GAAiBlM,EAAwB,CAAA,EAAGzO,SAAW,WACrD,MAAO,WAAaK,EAAQ5C,MAAQ,GACtC,EDLe6C,GAIVmO,GACHxE,EAAcjM,OAAOS,UAAW,WAAYuB,EAAU,CAAEmK,QAAQ,kJEPlE,IAAIpK,EAAcjC,YAElB8c,GAAiB7a,EAAY,GAAGG,0CCDhC,IAAIG,EAAUvC,KACViD,EAAkBX,KAClBya,EAAuBva,KAAsDpB,EAC7E0b,EAAazX,KAEb2X,EAA+B,iBAAVxd,QAAsBA,QAAUU,OAAOsO,oBAC5DtO,OAAOsO,oBAAoBhP,QAAU,UAWzCyd,GAAA7b,EAAmB,SAA6BhC,GAC9C,OAAO4d,GAA+B,WAAhBza,EAAQnD,GAVX,SAAUA,GAC7B,IACE,OAAO2d,EAAqB3d,EAChC,CAAI,MAAOW,GACP,OAAO+c,EAAWE,EACtB,CACA,CAKME,CAAe9d,GACf2d,EAAqB9Z,EAAgB7D,GAC3C,wCCtBA,IAAIS,EAAQG,IACRwD,EAAWlB,KACXC,EAAUC,KACV2a,kCCFJ,IAAItd,EAAQG,WAEZod,GAAiBvd,EAAM,WACrB,GAA0B,mBAAfwd,YAA2B,CACpC,IAAIC,EAAS,IAAID,YAAY,GAEzBnd,OAAOqd,aAAaD,IAASpd,OAAOC,eAAemd,EAAQ,IAAK,CAAE5b,MAAO,GACjF,CACA,GDNkC2D,GAG9BmY,EAAgBtd,OAAOqd,aACvBE,EAAsB5d,EAAM,WAA+B,UAI/D6d,GAAkBD,GAAuBN,EAA+B,SAAsB/d,GAC5F,QAAKoE,EAASpE,OACV+d,GAA+C,gBAAhB5a,EAAQnD,OACpCoe,GAAgBA,EAAcpe,IACvC,EAAIoe,qCEfJ,IAAI3d,EAAQG,WAEZ2d,IAAkB9d,EAAM,WAEtB,OAAOK,OAAOqd,aAAard,OAAO0d,kBAAkB,CAAA,GACtD,8CCLA,IAAIpK,EAAIxT,KACJiC,EAAcK,KACdgI,EAAa9H,KACbgB,EAAW6B,KACX6B,EAASK,KACTpH,EAAiBqH,KAA+CpG,EAChEsN,EAA4BhG,KAC5BmV,EAAoCjV,KACpC2U,EAAenI,KACf9N,EAAM+N,KACNyI,EAAWjE,KAEXkE,GAAW,EACXC,EAAW1W,EAAI,QACfH,EAAK,EAEL8W,EAAc,SAAU7e,GAC1Be,EAAef,EAAI4e,EAAU,CAAEtc,MAAO,CACpCwc,SAAU,IAAM/W,IAChBgX,SAAU,CAAA,IAEd,EA4DIC,EAAOC,GAAA5X,QAAiB,CAC1B6X,OA3BW,WACXF,EAAKE,OAAS,WAAY,EAC1BP,GAAW,EACX,IAAIvP,EAAsBE,EAA0BtN,EAChDmd,EAAStc,EAAY,GAAGsc,QACxBje,EAAO,CAAA,EACXA,EAAK0d,GAAY,EAGbxP,EAAoBlO,GAAMsD,SAC5B8K,EAA0BtN,EAAI,SAAUhC,GAEtC,IADA,IAAI4I,EAASwG,EAAoBpP,GACxB+O,EAAI,EAAGvK,EAASoE,EAAOpE,OAAQuK,EAAIvK,EAAQuK,IAClD,GAAInG,EAAOmG,KAAO6P,EAAU,CAC1BO,EAAOvW,EAAQmG,EAAG,GAClB,KACV,CACQ,OAAOnG,CACf,EAEIwL,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,EAAME,QAAQ,GAAQ,CAChD5B,oBAAqBqP,EAAkCzc,IAG7D,EAIEod,QA5DY,SAAUpf,EAAIqT,GAE1B,IAAKjP,EAASpE,GAAK,MAAoB,iBAANA,EAAiBA,GAAmB,iBAANA,EAAiB,IAAM,KAAOA,EAC7F,IAAK8H,EAAO9H,EAAI4e,GAAW,CAEzB,IAAKT,EAAane,GAAK,MAAO,IAE9B,IAAKqT,EAAQ,MAAO,IAEpBwL,EAAY7e,EAEhB,CAAI,OAAOA,EAAG4e,GAAUE,QACxB,EAiDEO,YA/CgB,SAAUrf,EAAIqT,GAC9B,IAAKvL,EAAO9H,EAAI4e,GAAW,CAEzB,IAAKT,EAAane,GAAK,OAAO,EAE9B,IAAKqT,EAAQ,OAAO,EAEpBwL,EAAY7e,EAEhB,CAAI,OAAOA,EAAG4e,GAAUG,QACxB,EAsCEO,SAnCa,SAAUtf,GAEvB,OADI0e,GAAYC,GAAYR,EAAane,KAAQ8H,EAAO9H,EAAI4e,IAAWC,EAAY7e,GAC5EA,CACT,UAmCAkL,EAAW0T,IAAY,gDCxFvB,IAAIla,EAAgB9D,KAEhB6C,EAAaC,iBAEjB6b,GAAiB,SAAUvf,EAAIwf,GAC7B,GAAI9a,EAAc8a,EAAWxf,GAAK,OAAOA,EACzC,MAAM,IAAIyD,EAAW,uBACvB,qCCPA,IAAIQ,EAAarD,KACbwD,EAAWlB,KACX6W,EAAiB3W,YAGrBqc,GAAiB,SAAUlR,EAAOmR,EAAOC,GACvC,IAAIC,EAAWC,EAUf,OAPE9F,GAEA9V,EAAW2b,EAAYF,EAAM5S,cAC7B8S,IAAcD,GACdvb,EAASyb,EAAqBD,EAAUre,YACxCse,IAAuBF,EAAQpe,WAC/BwY,EAAexL,EAAOsR,GACjBtR,CACT,qCCjBA,IAAI6F,EAAIxT,KACJT,EAAa+C,IACbL,EAAcO,KACd0M,EAAW7J,KACX8G,EAAgB5E,KAChB2X,EAAyB1X,KACzBwU,EAAUtT,KACViW,EAAa/V,KACbvF,EAAa+R,KACbxS,EAAoByS,KACpB7R,EAAWqW,KACXha,EAAQia,IACR7E,EAA8B8E,KAC9BnB,EAAiBqB,KACjB4E,EAAoBM,YAExBC,GAAiB,SAAUC,EAAkBC,EAASC,GACpD,IAAIxN,GAA6C,IAApCsN,EAAiBrR,QAAQ,OAClCwR,GAA+C,IAArCH,EAAiBrR,QAAQ,QACnCyR,EAAQ1N,EAAS,MAAQ,MACzB2N,EAAoBngB,EAAW8f,GAC/BM,EAAkBD,GAAqBA,EAAkB/e,UACzDif,EAAcF,EACdG,EAAW,CAAA,EAEXC,EAAY,SAAUlF,GACxB,IAAImF,EAAwB9d,EAAY0d,EAAgB/E,IACxDzO,EAAcwT,EAAiB/E,EACrB,QAARA,EAAgB,SAAalZ,GAE3B,OADAqe,EAAsBpgB,KAAgB,IAAV+B,EAAc,EAAIA,GACvC/B,IACf,EAAkB,WAARib,EAAmB,SAAUxU,GAC/B,QAAOoZ,IAAYhc,EAAS4C,KAAe2Z,EAAsBpgB,KAAc,IAARyG,EAAY,EAAIA,EAC/F,EAAkB,QAARwU,EAAgB,SAAaxU,GAC/B,OAAOoZ,IAAYhc,EAAS4C,QAAO9C,EAAYyc,EAAsBpgB,KAAc,IAARyG,EAAY,EAAIA,EACnG,EAAkB,QAARwU,EAAgB,SAAaxU,GAC/B,QAAOoZ,IAAYhc,EAAS4C,KAAe2Z,EAAsBpgB,KAAc,IAARyG,EAAY,EAAIA,EAC/F,EAAU,SAAaA,EAAK1E,GAEpB,OADAqe,EAAsBpgB,KAAc,IAARyG,EAAY,EAAIA,EAAK1E,GAC1C/B,IACf,EAEA,EASE,GAPcuP,EACZmQ,GACChc,EAAWqc,MAAwBF,GAAWG,EAAgBhN,UAAY9S,EAAM,YAC/E,IAAI6f,GAAoBtE,UAAUvG,MACxC,KAKI+K,EAAcL,EAAOS,eAAeV,EAASD,EAAkBtN,EAAQ0N,GACvEP,EAAuBZ,cAClB,GAAIpP,EAASmQ,GAAkB,GAAO,CAC3C,IAAIY,EAAW,IAAIL,EAEfM,EAAiBD,EAASR,GAAOD,EAAU,IAAK,EAAI,KAAOS,EAE3DE,EAAuBtgB,EAAM,WAAcogB,EAASzV,IAAI,KAGxD4V,EAAmBnL,EAA4B,SAAUY,GAAY,IAAI6J,EAAkB7J,KAE3FwK,GAAcb,GAAW3f,EAAM,WAIjC,IAFA,IAAIygB,EAAY,IAAIZ,EAChBvS,EAAQ,EACLA,KAASmT,EAAUb,GAAOtS,EAAOA,GACxC,OAAQmT,EAAU9V,OACxB,GAES4V,KACHR,EAAcN,EAAQ,SAAUR,EAAOjJ,GACrC8I,EAAWG,EAAOa,GAClB,IAAIpP,EAAOsO,EAAkB,IAAIa,EAAqBZ,EAAOc,GAE7D,OADKhd,EAAkBiT,IAAWmG,EAAQnG,EAAUtF,EAAKkP,GAAQ,CAAElP,KAAMA,EAAM4L,WAAYpK,IACpFxB,CACf,IACkB5P,UAAYgf,EACxBA,EAAgBzT,YAAc0T,IAG5BO,GAAwBE,KAC1BP,EAAU,UACVA,EAAU,OACV/N,GAAU+N,EAAU,SAGlBO,GAAcH,IAAgBJ,EAAUL,GAGxCD,GAAWG,EAAgBY,cAAcZ,EAAgBY,KACjE,CASE,OAPAV,EAASR,GAAoBO,EAC7BpM,EAAE,CAAE9T,QAAQ,EAAMwM,aAAa,EAAMkE,OAAQwP,IAAgBF,GAAqBG,GAElFjH,EAAegH,EAAaP,GAEvBG,GAASD,EAAOiB,UAAUZ,EAAaP,EAAkBtN,GAEvD6N,CACT,qCCxGA,IAAIhU,EAAc5L,KACdG,EAAiBmC,YAErBme,GAAiB,SAAU1R,EAAQlH,EAAMvG,GAGvC,OAFIA,EAAWlB,KAAKwL,EAAYtK,EAAWlB,IAAKyH,EAAM,CAAEkE,QAAQ,IAC5DzK,EAAWiJ,KAAKqB,EAAYtK,EAAWiJ,IAAK1C,EAAM,CAAEmE,QAAQ,IACzD7L,EAAeiB,EAAE2N,EAAQlH,EAAMvG,EACxC,qCCPA,IAAI6K,EAAgBnM,YAEpB0gB,GAAiB,SAAU3R,EAAQ4I,EAAK7L,GACtC,IAAK,IAAI1F,KAAOuR,EAAKxL,EAAc4C,EAAQ3I,EAAKuR,EAAIvR,GAAM0F,GAC1D,OAAOiD,CACT,qCCLA,IAAItL,EAAazD,KACbygB,EAAwBne,KACxBsF,EAAkBpF,KAClB8F,EAAcjD,IAEdoM,EAAU7J,EAAgB,kBAE9B+Y,GAAiB,SAAUtB,GACzB,IAAIO,EAAcnc,EAAW4b,GAEzB/W,GAAesX,IAAgBA,EAAYnO,IAC7CgP,EAAsBb,EAAanO,EAAS,CAC1C9P,cAAc,EACdvB,IAAK,WAAc,OAAOT,IAAK,GAGrC,sBChBiBK,IAKjBof,CAAW,MAAO,SAAUwB,GAC1B,OAAO,WAAiB,OAAOA,EAAKjhB,KAAMmB,UAAU8C,OAAS9C,UAAU,QAAKwC,EAAW,CACzF,kCCPA,IAAImP,EAASzS,KACTygB,EAAwBne,KACxBoe,EAAiBle,KACjBjC,EAAO8E,KACPsZ,EAAapX,KACb3E,EAAoB4E,KACpBwU,EAAUtT,KACV6S,EAAiB3S,KACjB0S,EAAyBlG,KACzBuL,EAAatL,KACb/M,EAAcuR,IACd2E,EAAU1E,KAA0C0E,QACpDnT,EAAsB0O,KAEtB0B,EAAmBpQ,EAAoBd,IACvCsW,EAAyBxV,EAAoBJ,iBAEjD6V,GAAiB,CACfd,eAAgB,SAAUV,EAASD,EAAkBtN,EAAQ0N,GAC3D,IAAIG,EAAcN,EAAQ,SAAU/O,EAAMsF,GACxC8I,EAAWpO,EAAMqO,GACjBnD,EAAiBlL,EAAM,CACrBpF,KAAMkU,EACNlS,MAAOsF,EAAO,MACdsO,MAAO,KACPC,KAAM,KACNC,KAAM,IAEH3Y,IAAaiI,EAAK0Q,KAAO,GACzBre,EAAkBiT,IAAWmG,EAAQnG,EAAUtF,EAAKkP,GAAQ,CAAElP,KAAMA,EAAM4L,WAAYpK,GACjG,GAEQ6M,EAAYgB,EAAYjf,UAExB4K,EAAmBsV,EAAuBxB,GAE1C6B,EAAS,SAAU3Q,EAAMnK,EAAK1E,GAChC,IAEIyf,EAAUhU,EAFVxC,EAAQY,EAAiBgF,GACzB6Q,EAAQC,EAAS9Q,EAAMnK,GAqBzB,OAlBEgb,EACFA,EAAM1f,MAAQA,GAGdiJ,EAAMqW,KAAOI,EAAQ,CACnBjU,MAAOA,EAAQqR,EAAQpY,GAAK,GAC5BA,IAAKA,EACL1E,MAAOA,EACPyf,SAAUA,EAAWxW,EAAMqW,KAC3BnM,KAAM,KACNyM,SAAS,GAEN3W,EAAMoW,QAAOpW,EAAMoW,MAAQK,GAC5BD,IAAUA,EAAStM,KAAOuM,GAC1B9Y,EAAaqC,EAAMsW,OAClB1Q,EAAK0Q,OAEI,MAAV9T,IAAexC,EAAMwC,MAAMA,GAASiU,IACjC7Q,CACf,EAEQ8Q,EAAW,SAAU9Q,EAAMnK,GAC7B,IAGIgb,EAHAzW,EAAQY,EAAiBgF,GAEzBpD,EAAQqR,EAAQpY,GAEpB,GAAc,MAAV+G,EAAe,OAAOxC,EAAMwC,MAAMA,GAEtC,IAAKiU,EAAQzW,EAAMoW,MAAOK,EAAOA,EAAQA,EAAMvM,KAC7C,GAAIuM,EAAMhb,MAAQA,EAAK,OAAOgb,CAEtC,EAsFI,OApFAV,EAAe9B,EAAW,CAIxB2B,MAAO,WAIL,IAHA,IACI5V,EAAQY,EADD5L,MAEPyhB,EAAQzW,EAAMoW,MACXK,GACLA,EAAME,SAAU,EACZF,EAAMD,WAAUC,EAAMD,SAAWC,EAAMD,SAAStM,KAAO,MAC3DuM,EAAQA,EAAMvM,KAEhBlK,EAAMoW,MAAQpW,EAAMqW,KAAO,KAC3BrW,EAAMwC,MAAQsF,EAAO,MACjBnK,EAAaqC,EAAMsW,KAAO,EAVnBthB,KAWDshB,KAAO,CACzB,EAIMM,OAAU,SAAUnb,GAClB,IAAImK,EAAO5Q,KACPgL,EAAQY,EAAiBgF,GACzB6Q,EAAQC,EAAS9Q,EAAMnK,GAC3B,GAAIgb,EAAO,CACT,IAAIvM,EAAOuM,EAAMvM,KACb2M,EAAOJ,EAAMD,gBACVxW,EAAMwC,MAAMiU,EAAMjU,OACzBiU,EAAME,SAAU,EACZE,IAAMA,EAAK3M,KAAOA,GAClBA,IAAMA,EAAKsM,SAAWK,GACtB7W,EAAMoW,QAAUK,IAAOzW,EAAMoW,MAAQlM,GACrClK,EAAMqW,OAASI,IAAOzW,EAAMqW,KAAOQ,GACnClZ,EAAaqC,EAAMsW,OAClB1Q,EAAK0Q,MACpB,CAAU,QAASG,CACnB,EAIMzO,QAAS,SAAiBL,GAIxB,IAHA,IAEI8O,EAFAzW,EAAQY,EAAiB5L,MACzB6S,EAAgBjS,EAAK+R,EAAYxR,UAAU8C,OAAS,EAAI9C,UAAU,QAAKwC,GAEpE8d,EAAQA,EAAQA,EAAMvM,KAAOlK,EAAMoW,OAGxC,IAFAvO,EAAc4O,EAAM1f,MAAO0f,EAAMhb,IAAKzG,MAE/ByhB,GAASA,EAAME,SAASF,EAAQA,EAAMD,QAEvD,EAIM3W,IAAK,SAAapE,GAChB,QAASib,EAAS1hB,KAAMyG,EAChC,IAGIsa,EAAe9B,EAAW7M,EAAS,CAGjC3R,IAAK,SAAagG,GAChB,IAAIgb,EAAQC,EAAS1hB,KAAMyG,GAC3B,OAAOgb,GAASA,EAAM1f,KAC9B,EAGM6I,IAAK,SAAanE,EAAK1E,GACrB,OAAOwf,EAAOvhB,KAAc,IAARyG,EAAY,EAAIA,EAAK1E,EACjD,GACQ,CAGF+f,IAAK,SAAa/f,GAChB,OAAOwf,EAAOvhB,KAAM+B,EAAkB,IAAVA,EAAc,EAAIA,EAAOA,EAC7D,IAEQ4G,GAAamY,EAAsB7B,EAAW,OAAQ,CACxDjd,cAAc,EACdvB,IAAK,WACH,OAAOmL,EAAiB5L,MAAMshB,IACtC,IAEWrB,CACX,EACEY,UAAW,SAAUZ,EAAaP,EAAkBtN,GAClD,IAAI2P,EAAgBrC,EAAmB,YACnCsC,EAA6Bd,EAAuBxB,GACpDuC,EAA2Bf,EAAuBa,GAUtDnG,EAAeqE,EAAaP,EAAkB,SAAU1D,EAAU/H,GAChE6H,EAAiB9b,KAAM,CACrBwL,KAAMuW,EACN3S,OAAQ4M,EACRhR,MAAOgX,EAA2BhG,GAClC/H,KAAMA,EACNoN,KAAM,MAEd,EAAO,WAKD,IAJA,IAAIrW,EAAQiX,EAAyBjiB,MACjCiU,EAAOjJ,EAAMiJ,KACbwN,EAAQzW,EAAMqW,KAEXI,GAASA,EAAME,SAASF,EAAQA,EAAMD,SAE7C,OAAKxW,EAAMoE,SAAYpE,EAAMqW,KAAOI,EAAQA,EAAQA,EAAMvM,KAAOlK,EAAMA,MAAMoW,OAMjDzF,EAAf,SAAT1H,EAA+CwN,EAAMhb,IAC5C,WAATwN,EAAiDwN,EAAM1f,MAC7B,CAAC0f,EAAMhb,IAAKgb,EAAM1f,QAFc,IAJ5DiJ,EAAMoE,OAAS,KACRuM,OAAuBhY,GAAW,GAMjD,EAAOyO,EAAS,UAAY,UAAWA,GAAQ,GAK3C4O,EAAWtB,EACf,MD1MuB/c,kEEDvB,IAAIC,EAAUvC,KAEV2E,EAAUP,cAEdlC,GAAiB,SAAUqB,GACzB,GAA0B,WAAtBhB,EAAQgB,GAAwB,MAAM,IAAIT,UAAU,6CACxD,OAAO6B,EAAQpB,EACjB,mCCPA,IAAIse,kCCAJ,IAAI5f,EAAcjC,KACd8M,EAAsBxK,KACtBJ,EAAWM,KACXO,EAAyBsC,KAEzBwc,EAAS5f,EAAY,GAAG4f,QACxBC,EAAa7f,EAAY,GAAG6f,YAC5B3f,EAAcF,EAAY,GAAGG,OAE7BqL,EAAe,SAAUsU,GAC3B,OAAO,SAAUpU,EAAOqU,GACtB,IAGIjB,EAAOkB,EAHPC,EAAIhgB,EAASa,EAAuB4K,IACpCwU,EAAWrV,EAAoBkV,GAC/Bf,EAAOiB,EAAEte,OAEb,OAAIue,EAAW,GAAKA,GAAYlB,EAAac,EAAoB,QAAKze,GACtEyd,EAAQe,EAAWI,EAAGC,IACP,OAAUpB,EAAQ,OAAUoB,EAAW,IAAMlB,IACtDgB,EAASH,EAAWI,EAAGC,EAAW,IAAM,OAAUF,EAAS,MAC3DF,EACEF,EAAOK,EAAGC,GACVpB,EACFgB,EACE5f,EAAY+f,EAAGC,EAAUA,EAAW,GACVF,EAAS,OAAlClB,EAAQ,OAAU,IAA0B,KACzD,CACA,SAEAqB,GAAiB,CAGfC,OAAQ5U,GAAa,GAGrBoU,OAAQpU,GAAa,IDlCVzN,GAAyC6hB,OAClD3f,EAAWI,KACX+I,EAAsB7I,KACtB+Y,EAAiBlW,KACjBiW,EAAyB/T,KAEzB+a,EAAkB,kBAClB7G,EAAmBpQ,EAAoBd,IACvCgB,EAAmBF,EAAoBJ,UAAUqX,GAIrD/G,EAAenX,OAAQ,SAAU,SAAUuX,GACzCF,EAAiB9b,KAAM,CACrBwL,KAAMmX,EACN7S,OAAQvN,EAASyZ,GACjBxO,MAAO,GAIX,EAAG,WACD,IAGIoV,EAHA5X,EAAQY,EAAiB5L,MACzB8P,EAAS9E,EAAM8E,OACftC,EAAQxC,EAAMwC,MAElB,OAAIA,GAASsC,EAAO7L,OAAe0X,OAAuBhY,GAAW,IACrEif,EAAQV,EAAOpS,EAAQtC,GACvBxC,EAAMwC,OAASoV,EAAM3e,OACd0X,EAAuBiH,GAAO,GACvC,gEE7BA,IAAI/O,EAAIxT,KACJwiB,kCCDJ,IAAIvgB,EAAcjC,KACd+C,EAAyBT,KACzBJ,EAAWM,KAEXigB,EAAO,KACPjX,EAAUvJ,EAAY,GAAGuJ,gBAI7BkX,GAAiB,SAAUjT,EAAQqB,EAAK6R,EAAWjhB,GACjD,IAAIwgB,EAAIhgB,EAASa,EAAuB0M,IACpCmT,EAAK,IAAM9R,EAEf,MADkB,KAAd6R,IAAkBC,GAAM,IAAMD,EAAY,KAAOnX,EAAQtJ,EAASR,GAAQ+gB,EAAM,UAAY,KACzFG,EAAK,IAAMV,EAAI,KAAOpR,EAAM,GACrC,EDbiBxO,GACbugB,kCEFJ,IAAIhjB,EAAQG,WAIZ8iB,GAAiB,SAAU1P,GACzB,OAAOvT,EAAM,WACX,IAAIS,EAAO,GAAG8S,GAAa,KAC3B,OAAO9S,IAASA,EAAKoP,eAAiBpP,EAAKoC,MAAM,KAAKkB,OAAS,CACnE,EACA,EFP6BpB,GAI7BgR,EAAE,CAAEzE,OAAQ,SAAU2E,OAAO,EAAMtD,OAAQyS,EAAuB,WAAa,CAC7EE,OAAQ,SAAgBlb,GACtB,OAAO2a,EAAW7iB,KAAM,IAAK,OAAQkI,EACzC,gEGTA,IAAI5F,EAAcjC,KACd0gB,EAAiBpe,KACjBmc,EAAcjc,KAA0Cic,YACxDE,EAAatZ,KACb4D,EAAW1B,KACX3E,EAAoB4E,KACpBhE,EAAWkF,KACXsT,EAAUpT,KACVoa,EAAuB5N,KACvBlO,EAASmO,KACThK,EAAsBwO,KAEtB4B,EAAmBpQ,EAAoBd,IACvCsW,EAAyBxV,EAAoBJ,UAC7C+H,EAAOgQ,EAAqBhQ,KAC5BC,EAAY+P,EAAqB/P,UACjCsL,EAAStc,EAAY,GAAGsc,QACxBpX,EAAK,EAGL8b,EAAsB,SAAUtY,GAClC,OAAOA,EAAMuY,SAAWvY,EAAMuY,OAAS,IAAIC,EAC7C,EAEIA,EAAsB,WACxBxjB,KAAKyb,QAAU,EACjB,EAEIgI,EAAqB,SAAU7c,EAAOH,GACxC,OAAO4M,EAAKzM,EAAM6U,QAAS,SAAUhc,GACnC,OAAOA,EAAG,KAAOgH,CACrB,EACA,SAEA+c,EAAoBxiB,UAAY,CAC9BP,IAAK,SAAUgG,GACb,IAAIgb,EAAQgC,EAAmBzjB,KAAMyG,GACrC,GAAIgb,EAAO,OAAOA,EAAM,EAC5B,EACE5W,IAAK,SAAUpE,GACb,QAASgd,EAAmBzjB,KAAMyG,EACtC,EACEmE,IAAK,SAAUnE,EAAK1E,GAClB,IAAI0f,EAAQgC,EAAmBzjB,KAAMyG,GACjCgb,EAAOA,EAAM,GAAK1f,EACjB/B,KAAKyb,QAAQ1U,KAAK,CAACN,EAAK1E,GACjC,EACE6f,OAAU,SAAUnb,GAClB,IAAI+G,EAAQ8F,EAAUtT,KAAKyb,QAAS,SAAUhc,GAC5C,OAAOA,EAAG,KAAOgH,CACvB,GAEI,OADK+G,GAAOoR,EAAO5e,KAAKyb,QAASjO,EAAO,MAC9BA,CACd,GAGAkW,GAAiB,CACfrD,eAAgB,SAAUV,EAASD,EAAkBtN,EAAQ0N,GAC3D,IAAIG,EAAcN,EAAQ,SAAU/O,EAAMsF,GACxC8I,EAAWpO,EAAMqO,GACjBnD,EAAiBlL,EAAM,CACrBpF,KAAMkU,EACNlY,GAAIA,IACJ+b,OAAQ,OAELtgB,EAAkBiT,IAAWmG,EAAQnG,EAAUtF,EAAKkP,GAAQ,CAAElP,KAAMA,EAAM4L,WAAYpK,GACjG,GAEQ6M,EAAYgB,EAAYjf,UAExB4K,EAAmBsV,EAAuBxB,GAE1C6B,EAAS,SAAU3Q,EAAMnK,EAAK1E,GAChC,IAAIiJ,EAAQY,EAAiBgF,GACzBlB,EAAOoP,EAAYxV,EAAS7C,IAAM,GAGtC,OAFa,IAATiJ,EAAe4T,EAAoBtY,GAAOJ,IAAInE,EAAK1E,GAClD2N,EAAK1E,EAAMxD,IAAMzF,EACf6O,CACb,EAiDI,OA/CAmQ,EAAe9B,EAAW,CAIxB2C,OAAU,SAAUnb,GAClB,IAAIuE,EAAQY,EAAiB5L,MAC7B,IAAK6D,EAAS4C,GAAM,OAAO,EAC3B,IAAIiJ,EAAOoP,EAAYrY,GACvB,OAAa,IAATiJ,EAAsB4T,EAAoBtY,GAAe,OAAEvE,GACxDiJ,GAAQnI,EAAOmI,EAAM1E,EAAMxD,YAAckI,EAAK1E,EAAMxD,GACnE,EAIMqD,IAAK,SAAapE,GAChB,IAAIuE,EAAQY,EAAiB5L,MAC7B,IAAK6D,EAAS4C,GAAM,OAAO,EAC3B,IAAIiJ,EAAOoP,EAAYrY,GACvB,OAAa,IAATiJ,EAAsB4T,EAAoBtY,GAAOH,IAAIpE,GAClDiJ,GAAQnI,EAAOmI,EAAM1E,EAAMxD,GAC1C,IAGIuZ,EAAe9B,EAAW7M,EAAS,CAGjC3R,IAAK,SAAagG,GAChB,IAAIuE,EAAQY,EAAiB5L,MAC7B,GAAI6D,EAAS4C,GAAM,CACjB,IAAIiJ,EAAOoP,EAAYrY,GACvB,IAAa,IAATiJ,EAAe,OAAO4T,EAAoBtY,GAAOvK,IAAIgG,GACzD,GAAIiJ,EAAM,OAAOA,EAAK1E,EAAMxD,GACtC,CACA,EAGMoD,IAAK,SAAanE,EAAK1E,GACrB,OAAOwf,EAAOvhB,KAAMyG,EAAK1E,EACjC,GACQ,CAGF+f,IAAK,SAAa/f,GAChB,OAAOwf,EAAOvhB,KAAM+B,GAAO,EACnC,IAGWke,CACX,6CChIA,IA2BI0D,EA3BAxF,EAAW9d,KACXT,EAAa+C,IACbL,EAAcO,KACdke,EAAiBrb,KACjB6Z,EAAyB3X,KACzB6X,EAAa5X,KACb6b,EAAiB3a,KACjBlF,EAAWoF,KACX0C,EAAuB8J,KAAuCpK,QAC9DnL,EAAQwV,IACR5K,EAAkBoP,KAElBpX,EAAUvC,OAEVsQ,EAAUC,MAAMD,QAEhB+M,EAAe9a,EAAQ8a,aAEvBgG,EAAW9gB,EAAQ8gB,SAEnBC,EAAW/gB,EAAQ+gB,SAEnBC,EAAShhB,EAAQghB,OAEjBC,EAAOjhB,EAAQihB,KAEfC,GAAWpkB,EAAW4X,eAAiB,kBAAmB5X,EAG1D+f,EAAU,SAAUsB,GACtB,OAAO,WACL,OAAOA,EAAKjhB,KAAMmB,UAAU8C,OAAS9C,UAAU,QAAKwC,EACxD,CACA,EAIIsgB,EAAWxE,EAAW,UAAWE,EAAS+D,GAC1CQ,EAAmBD,EAASjjB,UAC5BmjB,EAAY7hB,EAAY4hB,EAAiBtZ,KAc7C,GAAIE,EAAiB,GAAIkZ,EAAS,CAChCL,EAAkBD,EAAerD,eAAeV,EAAS,WAAW,GACpEJ,EAAuBZ,SACvB,IAAIyF,EAAe9hB,EAAY4hB,EAAyB,QACpDG,EAAY/hB,EAAY4hB,EAAiBrZ,KACzCyZ,EAAYhiB,EAAY4hB,EAAiBzjB,KAC7CsgB,EAAemD,EAAkB,CAC/BtC,OAAU,SAAUnb,GAClB,GAAI5C,EAAS4C,KAASmX,EAAanX,GAAM,CACvC,IAAIuE,EAAQW,EAAqB3L,MAEjC,OADKgL,EAAMuY,SAAQvY,EAAMuY,OAAS,IAAII,GAC/BS,EAAapkB,KAAMyG,IAAQuE,EAAMuY,OAAe,OAAE9c,EACjE,CAAQ,OAAO2d,EAAapkB,KAAMyG,EAClC,EACIoE,IAAK,SAAapE,GAChB,GAAI5C,EAAS4C,KAASmX,EAAanX,GAAM,CACvC,IAAIuE,EAAQW,EAAqB3L,MAEjC,OADKgL,EAAMuY,SAAQvY,EAAMuY,OAAS,IAAII,GAC/BU,EAAUrkB,KAAMyG,IAAQuE,EAAMuY,OAAO1Y,IAAIpE,EACxD,CAAQ,OAAO4d,EAAUrkB,KAAMyG,EAC/B,EACIhG,IAAK,SAAagG,GAChB,GAAI5C,EAAS4C,KAASmX,EAAanX,GAAM,CACvC,IAAIuE,EAAQW,EAAqB3L,MAEjC,OADKgL,EAAMuY,SAAQvY,EAAMuY,OAAS,IAAII,GAC/BU,EAAUrkB,KAAMyG,GAAO6d,EAAUtkB,KAAMyG,GAAOuE,EAAMuY,OAAO9iB,IAAIgG,EAC9E,CAAQ,OAAO6d,EAAUtkB,KAAMyG,EAC/B,EACImE,IAAK,SAAanE,EAAK1E,GACrB,GAAI8B,EAAS4C,KAASmX,EAAanX,GAAM,CACvC,IAAIuE,EAAQW,EAAqB3L,MAC5BgL,EAAMuY,SAAQvY,EAAMuY,OAAS,IAAII,GACtCU,EAAUrkB,KAAMyG,GAAO0d,EAAUnkB,KAAMyG,EAAK1E,GAASiJ,EAAMuY,OAAO3Y,IAAInE,EAAK1E,EACnF,MAAaoiB,EAAUnkB,KAAMyG,EAAK1E,GAC5B,OAAO/B,IACb,GAGA,MAhDSme,GAAYje,EAAM,WACvB,IAAIqkB,EAAcT,EAAO,IAEzB,OADAK,EAAU,IAAIF,EAAYM,EAAa,IAC/BX,EAASW,EACrB,IA6CExD,EAAemD,EAAkB,CAC/BtZ,IAAK,SAAanE,EAAK1E,GACrB,IAAIyiB,EAOJ,OANI3T,EAAQpK,KACNmd,EAASnd,GAAM+d,EAAsBV,EAChCD,EAASpd,KAAM+d,EAAsBT,IAEhDI,EAAUnkB,KAAMyG,EAAK1E,GACjByiB,GAAqBA,EAAoB/d,GACtCzG,IACb,ICrGAK,0ECCAokB,GAAiB,CACfC,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,uCChCb,IAEIC,EAFwBpmB,IAEZqI,CAAsB,QAAQ+d,UAC1CC,EAAwBD,GAAaA,EAAUla,aAAeka,EAAUla,YAAYvL,iBAExF2lB,GAAiBD,IAA0BnmB,OAAOS,eAAY2C,EAAY+iB,mCCN1E,IAAI9mB,EAAaS,IACbumB,EAAejkB,KACf+jB,EAAwB7jB,KACxBmQ,kCCHJ,IAAI6T,EAAWxmB,KAAwC2S,QAGnD8T,kCCHJ,IAAI5mB,EAAQG,WAEZ0mB,GAAiB,SAAUtT,EAAa7P,GACtC,IAAII,EAAS,GAAGyP,GAChB,QAASzP,GAAU9D,EAAM,WAEvB8D,EAAOjD,KAAK,KAAM6C,GAAY,WAAc,OAAO,CAAE,EAAI,EAC7D,EACA,EDP0BjB,EAENokB,CAAoB,kBAIxCC,GAAkBF,EAGd,GAAG9T,QAH2B,SAAiBL,GACjD,OAAOkU,EAAS7mB,KAAM2S,EAAYxR,UAAU8C,OAAS,EAAI9C,UAAU,QAAKwC,EAE1E,KDPc+B,GACVsE,EAA8BpC,KAE9Bqf,EAAkB,SAAUC,GAE9B,GAAIA,GAAuBA,EAAoBlU,UAAYA,EAAS,IAClEhJ,EAA4Bkd,EAAqB,UAAWlU,EAChE,CAAI,MAAO5S,GACP8mB,EAAoBlU,QAAUA,CAClC,CACA,EAEA,IAAK,IAAImU,KAAmBP,EACtBA,EAAaO,IACfF,EAAgBrnB,EAAWunB,IAAoBvnB,EAAWunB,GAAiBnmB,WAI/EimB,EAAgBP,oDGrBhB,IAAI9mB,EAAaS,IACbumB,EAAejkB,KACf+jB,EAAwB7jB,KACxBukB,EAAuB1hB,KACvBsE,EAA8BpC,KAC9BqR,EAAiBpR,KAGjB2M,EAFkBzL,IAEPd,CAAgB,YAC3Bof,EAAcD,EAAqB1L,OAEnCuL,EAAkB,SAAUC,EAAqBC,GACnD,GAAID,EAAqB,CAEvB,GAAIA,EAAoB1S,KAAc6S,EAAa,IACjDrd,EAA4Bkd,EAAqB1S,EAAU6S,EACjE,CAAM,MAAOjnB,GACP8mB,EAAoB1S,GAAY6S,CACtC,CAEI,GADApO,EAAeiO,EAAqBC,GAAiB,GACjDP,EAAaO,GAAkB,IAAK,IAAI1T,KAAe2T,EAEzD,GAAIF,EAAoBzT,KAAiB2T,EAAqB3T,GAAc,IAC1EzJ,EAA4Bkd,EAAqBzT,EAAa2T,EAAqB3T,GAC3F,CAAQ,MAAOrT,GACP8mB,EAAoBzT,GAAe2T,EAAqB3T,EAChE,CAEA,CACA,EAEA,IAAK,IAAI0T,KAAmBP,EAC1BK,EAAgBrnB,EAAWunB,IAAoBvnB,EAAWunB,GAAiBnmB,UAAWmmB,GAGxFF,EAAgBP,EAAuB,w6CCnCvC,IAAIxjB,EAAaC,iBAGjBmkB,GAAiB,SAAU7nB,GACzB,GAAIA,EAHiB,iBAGM,MAAMyD,EAAW,kCAC5C,OAAOzD,CACT,mCCNA,IAAIoU,EAAIxT,KACJH,EAAQyC,IACRkO,EAAUhO,KACVgB,EAAW6B,KACX2B,EAAWO,KACXgG,EAAoB/F,KACpByf,EAA2Bve,KAC3B4L,EAAiB1L,KACjBkJ,EAAqBsD,KACrBjC,EAA+BkC,KAC/BzN,EAAkBiS,KAClBnV,EAAaoV,KAEboN,EAAuBtf,EAAgB,sBAKvCuf,EAA+BziB,GAAc,KAAO7E,EAAM,WAC5D,IAAIwT,EAAQ,GAEZ,OADAA,EAAM6T,IAAwB,EACvB7T,EAAM/E,SAAS,KAAO+E,CAC/B,GAEI+T,EAAqB,SAAUre,GACjC,IAAKvF,EAASuF,GAAI,OAAO,EACzB,IAAIse,EAAate,EAAEme,GACnB,YAAsB5jB,IAAf+jB,IAA6BA,EAAa7W,EAAQzH,EAC3D,EAOAyK,EAAE,CAAEzE,OAAQ,QAAS2E,OAAO,EAAMzH,MAAO,EAAGmE,QAL9B+W,IAAiChU,EAA6B,WAKd,CAE5D7E,OAAQ,SAAgBgZ,GACtB,IAGInZ,EAAGwO,EAAG/Y,EAAQ0J,EAAKia,EAHnBxe,EAAI/B,EAASrH,MACb6nB,EAAI1V,EAAmB/I,EAAG,GAC1B8D,EAAI,EAER,IAAKsB,GAAI,EAAIvK,EAAS9C,UAAU8C,OAAQuK,EAAIvK,EAAQuK,IAElD,GAAIiZ,EADJG,GAAU,IAANpZ,EAAWpF,EAAIjI,UAAUqN,IAI3B,IAFAb,EAAMC,EAAkBga,GACxBN,EAAyBpa,EAAIS,GACxBqP,EAAI,EAAGA,EAAIrP,EAAKqP,IAAK9P,IAAS8P,KAAK4K,GAAGjT,EAAekT,EAAG3a,EAAG0a,EAAE5K,SAElEsK,EAAyBpa,EAAI,GAC7ByH,EAAekT,EAAG3a,IAAK0a,GAI3B,OADAC,EAAE5jB,OAASiJ,EACJ2a,CACX,qDCvDA,IAAIhU,EAAIxT,KACJynB,EAAOnlB,KAAwCsQ,IAQnDY,EAAE,CAAEzE,OAAQ,QAAS2E,OAAO,EAAMtD,QAPC5N,IAET2Q,CAA6B,QAKW,CAChEP,IAAK,SAAaN,GAChB,OAAOmV,EAAK9nB,KAAM2S,EAAYxR,UAAU8C,OAAS,EAAI9C,UAAU,QAAKwC,EACxE,qDCZA,IAAIkQ,EAAIxT,KACJwQ,EAAUlO,KACViP,EAAgB/O,KAChBgB,EAAW6B,KACX6H,EAAkB3F,KAClBgG,EAAoB/F,KACpBvE,EAAkByF,KAClB4L,EAAiB1L,KACjBhB,EAAkBwN,KAClBjC,EAA+BkC,KAC/BqS,EAAc7N,KAEd8N,EAAsBxU,EAA6B,SAEnD1B,EAAU7J,EAAgB,WAC1B8J,EAASjB,MACTzD,EAAM3N,KAAK2N,IAKfwG,EAAE,CAAEzE,OAAQ,QAAS2E,OAAO,EAAMtD,QAASuX,GAAuB,CAChEvlB,MAAO,SAAewlB,EAAOC,GAC3B,IAKIjI,EAAa5X,EAAQ6E,EALrB9D,EAAI9F,EAAgBtD,MACpBiE,EAAS2J,EAAkBxE,GAC3B4T,EAAIzP,EAAgB0a,EAAOhkB,GAC3BkkB,EAAM5a,OAAwB5J,IAARukB,EAAoBjkB,EAASikB,EAAKjkB,GAG5D,GAAI4M,EAAQzH,KACV6W,EAAc7W,EAAEmD,aAEZqF,EAAcqO,KAAiBA,IAAgBlO,GAAUlB,EAAQoP,EAAYjf,aAEtE6C,EAASoc,IAEE,QADpBA,EAAcA,EAAYnO,OAF1BmO,OAActc,GAKZsc,IAAgBlO,QAA0BpO,IAAhBsc,GAC5B,OAAO8H,EAAY3e,EAAG4T,EAAGmL,GAI7B,IADA9f,EAAS,SAAqB1E,IAAhBsc,EAA4BlO,EAASkO,GAAa5S,EAAI8a,EAAMnL,EAAG,IACxE9P,EAAI,EAAG8P,EAAImL,EAAKnL,IAAK9P,IAAS8P,KAAK5T,GAAGuL,EAAetM,EAAQ6E,EAAG9D,EAAE4T,IAEvE,OADA3U,EAAOpE,OAASiJ,EACT7E,CACX,2DC9CA,IAAIwL,EAAIxT,KACJ+nB,kCCDJ,IAAIzf,EAActI,IACdiC,EAAcK,KACd5B,EAAO8B,IACP3C,EAAQwF,IACRyQ,EAAavO,KACboH,EAA8BnH,KAC9BiB,EAA6BC,KAC7B1B,EAAW4B,KACX5F,EAAgBoS,KAGhB4S,EAAU9nB,OAAO6nB,OAEjB5nB,EAAiBD,OAAOC,eACxBmO,EAASrM,EAAY,GAAGqM,eAI5B2Z,IAAkBD,GAAWnoB,EAAM,WAEjC,GAAIyI,GAQiB,IARF0f,EAAQ,CAAEE,EAAG,GAAKF,EAAQ7nB,EAAe,CAAA,EAAI,IAAK,CACnEoB,YAAY,EACZnB,IAAK,WACHD,EAAeR,KAAM,IAAK,CACxB+B,MAAO,EACPH,YAAY,GAEpB,IACM,CAAE2mB,EAAG,KAAMA,EAAS,OAAO,EAE/B,IAAIV,EAAI,CAAA,EACJW,EAAI,CAAA,EAEJrjB,EAASC,OAAO,oBAChBqjB,EAAW,uBAIf,OAHAZ,EAAE1iB,GAAU,EAEZsjB,EAAS1lB,MAAM,IAAIiQ,QAAQ,SAAU0V,GAAOF,EAAEE,GAAOA,CAAI,GACvB,IAA3BL,EAAQ,CAAA,EAAIR,GAAG1iB,IAAiBgR,EAAWkS,EAAQ,CAAA,EAAIG,IAAI1c,KAAK,MAAQ2c,CACjF,GAAK,SAAgBrZ,EAAQjI,GAM3B,IALA,IAAIwhB,EAAIthB,EAAS+H,GACb0G,EAAkB3U,UAAU8C,OAC5BuJ,EAAQ,EACRtI,EAAwB8J,EAA4BvN,EACpDJ,EAAuByH,EAA2BrH,EAC/CqU,EAAkBtI,GAMvB,IALA,IAII/G,EAJA8b,EAAIlf,EAAclC,UAAUqM,MAC5B/C,EAAOvF,EAAwByJ,EAAOwH,EAAWoM,GAAIrd,EAAsBqd,IAAMpM,EAAWoM,GAC5Fte,EAASwG,EAAKxG,OACd2kB,EAAI,EAED3kB,EAAS2kB,GACdniB,EAAMgE,EAAKme,KACNjgB,IAAe5H,EAAKM,EAAsBkhB,EAAG9b,KAAMkiB,EAAEliB,GAAO8b,EAAE9b,IAErE,OAAOkiB,CACX,EAAIN,KDvDS1lB,GAKbkR,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,EAAMjE,MAAO,EAAGmE,OAAQlQ,OAAO6nB,SAAWA,GAAU,CAC9EA,OAAQA,2DEPV,IAAIvU,EAAIxT,KACJwoB,kCCDJ,IAAIlgB,EAActI,IACdH,EAAQyC,IACRL,EAAcO,KACd8V,EAAuBjT,KACvByQ,EAAavO,KACbtE,EAAkBuE,KAGlBxG,EAAuBiB,EAFCyG,KAAsDtH,GAG9EsF,EAAOzE,EAAY,GAAGyE,MAItB+hB,EAASngB,GAAezI,EAAM,WAEhC,IAAIkJ,EAAI7I,OAAOuS,OAAO,MAEtB,OADA1J,EAAE,GAAK,GACC/H,EAAqB+H,EAAG,EAClC,GAGI0E,EAAe,SAAUib,GAC3B,OAAO,SAAUtpB,GAQf,IAPA,IAMIgH,EANA2C,EAAI9F,EAAgB7D,GACpBgL,EAAO0L,EAAW/M,GAClB4f,EAAgBF,GAAsC,OAA5BnQ,EAAqBvP,GAC/CnF,EAASwG,EAAKxG,OACduK,EAAI,EACJnG,EAAS,GAENpE,EAASuK,GACd/H,EAAMgE,EAAK+D,KACN7F,KAAgBqgB,EAAgBviB,KAAO2C,EAAI/H,EAAqB+H,EAAG3C,KACtEM,EAAKsB,EAAQ0gB,EAAa,CAACtiB,EAAK2C,EAAE3C,IAAQ2C,EAAE3C,IAGhD,OAAO4B,CACX,CACA,SAEA4gB,GAAiB,CAGfxN,QAAS3N,GAAa,GAGtB4N,OAAQ5N,GAAa,ID7CRnL,GAAwC8Y,QAIvD5H,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,GAAQ,CAClCkL,QAAS,SAAiBrS,GACxB,OAAOyf,EAASzf,EACpB,yEERA,IAAIrI,EAAOV,IACPkH,EAAS5E,KACTwB,EAAgBtB,KAChBqmB,kCCHJ,IAAItpB,EAAaS,IACbH,EAAQyC,IAGRwmB,EAASvpB,EAAWupB,OAEpBC,GAA2BlpB,EAAM,WACnC,IAAImpB,GAAkB,EACtB,IACEF,EAAO,IAAK,IAChB,CAAI,MAAO/oB,GACPipB,GAAkB,CACtB,CAEE,IAAIjgB,EAAI,CAAA,EAEJkgB,EAAQ,GACRC,EAAWF,EAAkB,SAAW,QAExCG,EAAY,SAAU/iB,EAAKiiB,GAE7BnoB,OAAOC,eAAe4I,EAAG3C,EAAK,CAAEhG,IAAK,WAEnC,OADA6oB,GAASZ,GACF,CACb,GACA,EAEMe,EAAQ,CACVC,OAAQ,IACR3pB,OAAQ,IACR4pB,WAAY,IACZC,UAAW,IACXC,OAAQ,KAKV,IAAK,IAAIpjB,KAFL4iB,IAAiBI,EAAMK,WAAa,KAExBL,EAAOD,EAAU/iB,EAAKgjB,EAAMhjB,IAK5C,OAFalG,OAAOe,yBAAyB6nB,EAAOnoB,UAAW,SAASP,IAAIM,KAAKqI,KAE/DmgB,GAAYD,IAAUC,CAC1C,UAEAQ,GAAiB,CAAEC,QAASZ,GD1CD1jB,GACvBukB,kCEJJ,IAAI3gB,EAAWjJ,YAIf6pB,GAAiB,WACf,IAAItZ,EAAOtH,EAAStJ,MAChBqI,EAAS,GASb,OARIuI,EAAKkZ,aAAYzhB,GAAU,KAC3BuI,EAAK7Q,SAAQsI,GAAU,KACvBuI,EAAK+Y,aAAYthB,GAAU,KAC3BuI,EAAKgZ,YAAWvhB,GAAU,KAC1BuI,EAAK8Y,SAAQrhB,GAAU,KACvBuI,EAAKuZ,UAAS9hB,GAAU,KACxBuI,EAAKwZ,cAAa/hB,GAAU,KAC5BuI,EAAKiZ,SAAQxhB,GAAU,KACpBA,CACT,EFZsCT,GAElCyiB,EAAkBlB,OAAOnoB,iBAE7BspB,GAAiBpB,EAAqBc,QAAU,SAAUvqB,GACxD,OAAOA,EAAG8qB,KACZ,EAAI,SAAU9qB,GACZ,OAASypB,EAAqBc,UAAW7lB,EAAckmB,EAAiB5qB,IAAQ8H,EAAO9H,EAAI,SAEvFA,EAAG8qB,MADHxpB,EAAKkpB,EAAiCxqB,EAE5C,mCGdA,IAAI8a,EAAuBla,KAAsC8J,OAC7DqC,EAAgB7J,KAChB2G,EAAWzG,KACX2nB,EAAY9kB,KACZxF,EAAQ0H,IACR6iB,EAAiB5iB,KAEjB6iB,EAAY,WACZL,EAAkBlB,OAAOnoB,UACzB2pB,EAAiBN,EAAgBK,GAEjCE,EAAc1qB,EAAM,WAAc,MAA4D,SAArDyqB,EAAe5pB,KAAK,CAAEoG,OAAQ,IAAKojB,MAAO,KAAkB,GAErGM,EAAiBtQ,GAAwBoQ,EAAeziB,OAASwiB,GAIjEE,GAAeC,IACjBre,EAAc6d,EAAiBK,EAAW,WACxC,IAAII,EAAIxhB,EAAStJ,MAGjB,MAAO,IAFOwqB,EAAUM,EAAE3jB,QAEH,IADXqjB,EAAUC,EAAeK,GAEzC,EAAK,CAAEpe,QAAQ,yECvBf,IAAIqe,kCCAJ,IAAIlnB,EAAWxD,KACXuC,EAAUD,KAGVqoB,EAFkBnoB,IAEVoF,CAAgB,gBAI5BgjB,GAAiB,SAAUxrB,GACzB,IAAIsrB,EACJ,OAAOlnB,EAASpE,UAAmCkE,KAA1BonB,EAAWtrB,EAAGurB,MAA0BD,EAA2B,WAAhBnoB,EAAQnD,GACtF,EDXeY,GAEX6C,EAAaC,iBAEjB+nB,GAAiB,SAAUzrB,GACzB,GAAIsrB,EAAStrB,GACX,MAAM,IAAIyD,EAAW,iDACrB,OAAOzD,CACX,mCERA,IAgBMkC,EAhBFkS,EAAIxT,KACJiC,EAAcK,KACdrB,EAA2BuB,KAA2DpB,EACtFiM,EAAWhI,KACXnD,EAAWqF,KACXujB,EAAatjB,KACbzE,EAAyB2F,KACzBqiB,kCCPJ,IAEIJ,EAFkB3qB,IAEV4H,CAAgB,gBAE5BojB,GAAiB,SAAU5X,GACzB,IAAI6X,EAAS,IACb,IACE,MAAM7X,GAAa6X,EACvB,CAAI,MAAOC,GACP,IAEE,OADAD,EAAON,IAAS,EACT,MAAMvX,GAAa6X,EAChC,CAAM,MAAOE,GAAQ,CACrB,CAAI,OAAO,CACX,EDP2BviB,GACvBvC,EAAU+O,KAEVjT,EAAcF,EAAY,GAAGG,OAC7B6K,EAAM5N,KAAK4N,IAEXme,EAA0BL,EAAqB,cASnDvX,EAAE,CAAEzE,OAAQ,SAAU2E,OAAO,EAAMtD,UAPX/J,GAAY+kB,IAC9B9pB,EAAaL,EAAyBmD,OAAOzD,UAAW,eACrDW,GAAeA,EAAWM,aAK8BwpB,GAA2B,CAC1FC,WAAY,SAAoBC,GAC9B,IAAI/a,EAAOrO,EAASa,EAAuBpD,OAC3CmrB,EAAWQ,GACX,IAAIne,EAAQE,EAASJ,EAAInM,UAAU8C,OAAS,EAAI9C,UAAU,QAAKwC,EAAWiN,EAAK3M,SAC3E2nB,EAASrpB,EAASopB,GACtB,OAAOnpB,EAAYoO,EAAMpD,EAAOA,EAAQoe,EAAO3nB,UAAY2nB,CAC/D,oBE5BA,SAAS/nB,GAASgoB,GAChB,MAA6C,oBAAtCtrB,OAAOS,UAAUuB,SAASxB,KAAK8qB,EACxC,CAEM,SAAUC,GAAcD,GAC5B,IAAKhoB,GAASgoB,GACZ,OAAO,EAIT,IAAME,EAAOF,EAAEtf,YAEf,QAAa5I,IAATooB,EACF,OAAO,EAIT,IAAMC,EAAOD,EAAK/qB,UAElB,OAAuB,IAAnB6C,GAASmoB,KAMTzrB,OAAOS,UAAUH,eAAeE,KAAKirB,EAAM,kBAMjD,CAIM,SAAUC,GAAWC,EAAyBC,GAElD,IAAK,IAAM1lB,KAAOylB,EAAM,CACtB,IAAMrjB,EAAIqjB,EAAKzlB,GACT8hB,EAAI4D,EAAQ1lB,GAElB,GAAIqlB,GAAcjjB,IAAMijB,GAAcvD,IACpC,IAAK0D,GAAWpjB,EAAG0f,GACjB,OAAO,OAEJ,GAAIzX,MAAMD,QAAQhI,IAAMiI,MAAMD,QAAQ0X,GAAI,CAC/C,GAAI1f,EAAE5E,SAAWskB,EAAEtkB,OAAU,OAAO,EACpC,IAAK,IAAIuK,EAAI,EAAGA,EAAI3F,EAAE5E,OAAQuK,GAAK,EACjC,GAAI3F,EAAE2F,KAAO+Z,EAAE/Z,GACb,OAAO,CAGb,MAAO,GAAI3F,IAAM0f,EACf,OAAO,CAEX,CAEA,IAAK,IAAM9hB,KAAO0lB,EAChB,QAAkBxoB,IAAduoB,EAAKzlB,SAAuC9C,IAAjBwoB,EAAQ1lB,GACrC,OAAO,EAIX,OAAO,CACT,CAEM,SAAU2lB,GACdve,OACA,IAAApD,EAAA,GAAA4hB,EAAA,EAAAA,EAAAlrB,UAAA8C,OAAAooB,IAAA5hB,EAAA4hB,EAAA,GAAAlrB,UAAAkrB,GAEA,OAAO9rB,OAAOwc,YACZxc,OAAOkb,QAAQ5N,GAAKqF,OAAO,SAACoZ,OAAC7lB,EAAD8lB,GAAAD,EAAA,GAAI,GAAM,OAAA7hB,EAAK2D,SAAS3H,EAAd,GAE1C,CAWM,SAAU+lB,GACd3e,GAIA,OAAOtN,OAAOwc,YAAYxc,OAAOkb,QAAQ5N,GAAKqF,OAAO,SAACoZ,GAAc,OAAU,OAAxBC,GAAAD,EAAA,GAAQ,EAAM,GAGtE,CC3DM,SAAUG,GAAmBC,GACjC,OA/BI,SAA+BC,eAC7BC,EAA0B,OAEhC,IAAsB,IAAAC,EAAAC,GAAAH,GAAKI,EAAAF,EAAA3X,0BAAE,CAAxB,IAAM8X,EAAOD,EAAAhrB,MAChB,GAA8B,iBAAnBirB,EAAQC,QAAiD,IAA1BD,EAAQC,OAAOhpB,OAAzD,CAIA,IAAM4d,EAAO+K,EAAWA,EAAW3oB,OAAS,GAEvC4d,GAA+B,iBAAhBA,EAAKoL,QAAiD,iBAAnBD,EAAQC,SAKjDpL,EAAKqL,aAAeF,EAAQE,aACnCrL,EAAKqL,aAAgBF,EAAQE,YAC7BjB,WAAWkB,EAAAtL,EAAKqL,0BAAc,CAAA,EAAsB,QAAlBE,EAAAJ,EAAQE,kBAAU,IAAAE,EAAAA,EAAI,CAAA,IAG7DvL,EAAKoL,QAAUD,EAAQC,OATvBL,EAAW7lB,KAAKimB,EALlB,CAmBF,mGAEA,OAAOJ,CACT,CAGSS,CAAqBX,EAAMY,UACpC,CAEM,SAAUC,GAAgBjB,GAAE,IAAAW,EAAMX,EAAAW,OACtC,MAAyB,iBAAXA,EAAsBA,EAAOhpB,OAAS,CACtD,CAEM,SAAUupB,GAAqBb,GACnC,OAAOA,EAAMc,OAAO,SAACC,EAAMV,GAAY,OAAAU,EAAOH,GAAgBP,EAAvB,EAAiC,EAC1E,UAEgBW,GAAiBhB,EAAoB1E,EAAehkB,GAClE,GAAIA,EAAS,EACX,MAAO,GAOT,IAJA,IAAI2pB,EAAgB,EACdC,EAAsB,GACtB3F,EAAMD,EAAQhkB,EAEXuK,EAAI,EAAGA,EAAIme,EAAM1oB,UACpB2pB,GAAiB1F,GADW1Z,GAAK,EAAG,CAKxC,IAAMwe,EAAUL,EAAMne,GAChBsf,EAAgBP,GAAgBP,GAEtC,GAAIY,EAAgBE,GAAiB7F,EACnC2F,GAAiBE,OAInB,GAA8B,iBAAnBd,EAAQC,OAAnB,CAMA,IAAMc,EAAcruB,KAAK2N,IAAI,EAAG4a,EAAQ2F,GAClCI,EAAYtuB,KAAK4N,IAAIwgB,EAAeA,GAAiBF,EAAgBE,EAAgB5F,IAE3F2F,EAAO9mB,KAAIknB,GAAAA,GAAA,CAAA,EACNjB,GAAO,CACVC,OAAQD,EAAQC,OAAOxqB,MAAMsrB,EAAaC,MAE5CJ,GAAiBE,CATjB,MAHEF,GAAiBE,EACjBD,EAAO9mB,KAAKimB,EAYhB,CAEA,OAAOa,CACT,CC9EM,SAAUK,GAAoBhC,GAClC,OAAKA,EAIEiC,EAAKC,OAAOlC,GAAQA,EAAKmC,KAAKpqB,OAAS,EAHrC,CAIX,UAQgBqqB,GAAWC,EAAkBC,EAAiBC,SAC5D,GAAoB,IAAhBA,EAAKxqB,OACP,MAAM,IAAIyqB,MAAM,oCAGlB,GAAIP,EAAKC,OAAOI,GACd,MAAM,IAAIE,MAAM,kCAGZ,IAAAvB,EAAAZ,GAA6BkC,GAA5BE,EAAUxB,EAAA,GAAKyB,EAASzB,EAAA1qB,MAAA,GAEzBosB,EAjBF,SAAmC7B,EAAkB2B,GACzD,OAAO3B,EAAQ8B,SACZrsB,MAAM,EAAGksB,GACTlB,OAAO,SAACoB,EAAS3C,GAAS,OAAA2C,EAAUX,GAAoBhC,EAA9B,EAAqC,EACpE,CAakB6C,CAAyBP,EAAsBG,GACzDK,EAAaR,EAAUM,SAASH,GAEhChC,EAAQF,GAAmB8B,GAC3BU,EAAef,GAAoBc,GAEnCE,EAAcvB,GAAiBhB,EAAOkC,EAASI,GAErD,GAAIC,EAAYjrB,OAAS,EACvB,MAAM,IAAIyqB,MAAM,0DAGlB,IAAMS,EAAwB,QAAd7C,EAAA4C,EAAY,UAAE,IAAA5C,OAAA,EAAAA,EAAEW,OAEhC,GAAI2B,EAAU3qB,OAAS,EAAG,CACxB,KAAMkrB,aAAmBC,EAAEC,SACzB,MAAM,IAAIX,MAAM,2DAGlB,OAAOJ,GAAWa,EAASH,EAAYJ,EACzC,CAEA,MAAO,CACLU,QAASf,EACTgB,UAAW,CAAEtH,MAAO4G,EAAS3G,IAAK2G,EAAUI,GAC5CE,QAASA,aAAmBC,EAAEC,QAAUF,OAAUxrB,EAClD6rB,YAAahB,EACbiB,YAAaT,EACbE,YAAWA,EAEf,UAEgBQ,GACdC,EACAd,EACAe,QAAA,IAAAA,IAAAA,EAAA,CAAA,GAOA,IALQ,IAAAtD,EAA8BsD,EAAIC,MAAlCA,aAAQ,EAACvD,EAAEa,EAAmByC,EAAI3C,OAAvBA,OAAM,IAAAE,KAErBS,EAAgB,EAChBkC,EAAyB,EAEpBnB,EAAa,EAAGA,EAAagB,EAAOb,SAAS7qB,OAAQ0qB,GAAc,EAAG,CAC7E,IAAMoB,EAAQJ,EAAOb,SAASH,GACxBqB,EAAa7B,EAAKC,OAAO2B,GAASA,EAAM1B,KAAKpqB,OAAS,EAExD+rB,EAAa,IACfF,EAAyBnB,GAG3B,IAAMX,EAAYJ,EAAgBoC,EAElC,GAAIA,EAAa,IAAMH,GAAS,EAAI7B,EAAYa,EAAUb,GAAaa,GACrE,MAAO,CAACF,EAAYE,EAAUjB,GAGhCA,GAAiBoC,CACnB,CAEA,GAAInB,EAAUjB,GAAiBX,EAAS,EAAI,GAC1C,MAAM,IAAIyB,MAAM,yBAGlB,GAAIzB,EACF,MAAO,CAAC0C,EAAOb,SAAS7qB,OAAQ,GAGlC,IAAMgsB,EAAQN,EAAOb,SAASgB,GAG9B,MAAO,CAACA,EAFW3B,EAAKC,OAAO6B,GAASA,EAAM5B,KAAKpqB,OAAS,EAG9D,UAEgBisB,GAAaC,EAAuB3B,EAAiB9B,GAGnE,IAFA,IAAM0D,EAAY,CAAC1D,GAEZ0D,EAAU,KAAOD,GAAY,CAC1B,IAAQb,EAAYc,EAAU,UAEtC,IAAKd,EACH,MAAM,IAAIZ,MAAM,4CAGlB,KAAMY,aAAmBF,EAAEC,SACzB,MAAM,IAAIX,MAAM,4BAGlB0B,EAAUC,QAAQf,EACpB,CAEA,GAAIc,EAAUnsB,OAAS,EACrB,MAAO,GAGT,IAAIurB,EAAchB,EAElB,OAAO4B,EAAU3C,OAAa,SAACgB,EAAMa,EAASgB,WACtCC,EAASH,EAAUE,EAAM,GAE/B,IAAKC,EACH,OAAO9B,EAGT,IAAII,EAAU,EACR2B,EAAe/D,GAAmB6C,OAExC,IAAsB,IAAAmB,EAAA3D,GAAA0D,GAAYE,EAAAD,EAAAvb,0BAAE,CAA/B,IAAM8X,EAAO0D,EAAA3uB,MAChB,GAAIirB,EAAQC,SAAWsD,EACrB,MAGF1B,GAAqC,iBAAnB7B,EAAQC,OAAsBD,EAAQC,OAAOhpB,OAAS,CAC1E,mGAEA,GAAIkqB,EAAKC,OAAOoB,GACd,MAAM,IAAId,MAAM,kCAGZ,IAACC,EAADpC,GAAemD,GAAsBF,EAAwBX,GAAQ,GAA1D,GAGjB,OADAW,EAAcA,EAAYV,SAASH,GAC5BF,EAAK9f,OAAOggB,EACrB,EAAG,GACL,CCzJM,SAAUgC,GACdC,GAEA,IAAKA,EAAWC,IACd,MAAM,IAAInC,MAAM,2CAEpB,kCCRA,IAAI7a,EAAIxT,KACJywB,EAAYnuB,KAAuCyL,SACnDlO,EAAQ2C,IACRyV,EAAmB5S,KAUvBmO,EAAE,CAAEzE,OAAQ,QAAS2E,OAAO,EAAMtD,OAPXvQ,EAAM,WAE3B,OAAQ4Q,MAAM,GAAG1C,UACnB,IAI8D,CAC5DA,SAAU,SAAkBH,GAC1B,OAAO6iB,EAAU9wB,KAAMiO,EAAI9M,UAAU8C,OAAS,EAAI9C,UAAU,QAAKwC,EACrE,IAIA2U,EAAiB,eCXV,IAAMyY,GAAyB,qCAEtBC,GACdb,EACA3B,EACA5L,GAEM,IAAA0J,EAAkCgC,GAAW6B,EAAY3B,EAAW5L,EAAM6L,MAAxEU,YAASG,YAASC,cAE1B,GAAIJ,EACF,MAAM,IAAIT,MAAM,8DAGlB,IAAMlhB,EAAQ+hB,EAAUtH,MAAQrF,EAAMqO,OAEtC,OAAO7B,EAAE8B,oCAAoC5B,EAAS9hB,EAAOA,IAAU+hB,EAAUrH,KAAM,EAAK,EAC9F,UA+BgBiJ,GACdhB,EACA3B,EACAnM,GAEA,IAAK8N,EAAWU,IACd,MAAM,IAAInC,MAAM,qCAGlB,IAAM0C,EAAShC,EAAEiC,2CAA2ChP,EAAK8N,EAAWU,KAE5E,OAAOO,YAvCPjB,EACA3B,EACAlC,GAAE,IAAA9gB,SAAMgC,EAAK8e,EAAA9e,MAAEqiB,EAAKvD,EAAAuD,MAEpB,KAAMrkB,aAAgB4jB,EAAEC,SACtB,MAAM,IAAIX,MAAM,6CAGlB,IAAM4C,EAAapB,GAAaC,EAAY3B,EAAWhjB,GACjDmkB,EAAS4B,EAAK9wB,IAAI+tB,EAAW8C,GAEnC,GAAInD,EAAKC,OAAOuB,KAAY6B,EAAQC,UAAU9B,GAC5C,MAAM,IAAIjB,MAAM,sFAGZ,IAAAvB,EAAAZ,GAA2BmD,GAAsBC,EAAQniB,EAAO,CACpEqiB,MAAKA,OADAlB,OAAY+C,OAIbtiB,EAASugB,EAAOb,SAASH,GAE/B,OAAKR,EAAKC,OAAOhf,GAIV,CAAEqf,KAAIkD,GAAAA,GAAA,GAAApF,GAAM+E,IAAU,GAAA,CAAE3C,IAAU,GAAGsC,OAAQS,GAH3C,IAIX,CAamBE,CAA6BzB,EAAY3B,EAAW4C,EACvE,UA8CgBS,GACd1B,EACA1pB,EACA+b,GAEA2N,EAAW2B,aAAaf,GAAyBtqB,EAAK2oB,EAAE2C,uBAAuBvP,GACjF,CAEA,SAASwP,GACPC,EACA9C,EACAI,GAEA,OAAOhvB,OAAOwc,YACZxc,OAAOkb,QAAQwW,GAAmB/e,OAAO,SAACoZ,OAAG9J,EAAH+J,GAAAD,EAAA,GAAW,GACnD,OAAI9J,EAAShX,OAAS2jB,KAIjBI,IAIE/M,EAASqN,OAAS,EACrBrN,EAAShV,OAAS+hB,EAAUtH,OAASzF,EAAShV,MAAQ+hB,EAAUrH,IAChE1F,EAAShV,MAAQ+hB,EAAUtH,OAASzF,EAAShV,OAAS+hB,EAAUrH,KACtE,GAEJ,CAEA,SAASgK,GACPD,EACAvF,EACA4E,cAAA,IAAAA,IAAAA,EAAA,IAEA,IAAMa,IAAS7F,EAAA,CAAA,GACZgF,GAAaU,GAAgCC,EAAmBvF,MAkBnE,OAfoBD,GAAmBC,GAE3B1Z,QAAQ,SAACsZ,EAAY9d,GAAV,IAAAye,EAAMX,EAAAW,OACvBA,aAAkBmC,EAAEC,SACtB9uB,OAAO6nB,OACL+J,EACAD,GACED,EACAhF,EACAqE,EAAa,GAAA3iB,OAAG2iB,EAAU,KAAA3iB,OAAIH,GAAMA,EAAEjM,YAI9C,GAEO4vB,CACT,CAEM,SAAUC,GACdjC,EACAzD,EACAC,EACA0F,QAAA,IAAAA,IAAAA,EAAA,GAEA,IAAMJ,EAtFR,SAAoC9B,GAGlC,OAFAQ,GAAyBR,GAElB5vB,OAAOwc,YACZxc,OAAOkb,QAAQ0U,EAAWmC,iBACvBpf,OAAO,SAACoZ,GAAU,OAAVC,GAAAD,EAAA,GAAI,GAAUZ,WAAWqF,GAAf,GAClB9d,IACC,SAACqZ,GAAA,IAAAa,EAAAZ,QAAC9lB,EAAG0mB,EAAA,GAAE3K,EAAQ2K,EAAA,GAAM,MAAA,CACnB1mB,EAAIhE,MAAMsuB,IACV3B,EAAEiC,2CACAjC,EAAEmD,uBAAuB/P,GACzB2N,EAAWU,KAJM,GAQtB3d,OAAO,SAACoZ,GAAiB,OAAjBC,GAAAD,EAAA,GAAW,EAAM,GAEhC,CAqE4BkG,CAA2BrC,GAE/CgC,EAAY,CAChB,GAAIH,GAAgCC,EAAmBvF,EAAO,CAC5DzE,MAAOoK,EACPnK,IAAKmK,EAAc7E,GAAqBb,MAU5C,OANAA,EAAM3Z,QAAQ,SAACsZ,EAAY9d,GAAV,IAAAye,EAAMX,EAAAW,OACjBA,aAAkBmC,EAAEC,SACtB9uB,OAAO6nB,OAAO+J,EAAWD,GAA4BD,EAAmBhF,EAAQze,EAAEjM,YAEtF,GAEO4vB,CACT,CAEM,SAAUM,GACdtC,EACAzD,EACAuF,EACAtF,EACA+F,EACAC,EACAlE,QAFA,IAAAiE,IAAAA,EAAA,QACA,IAAAC,IAAAA,EAAA,QACA,IAAAlE,IAAAA,EAAA,IAEA,IAAMmE,EAAYX,EAAkBxD,GAEhCmE,GACFryB,OAAOkb,QAAQmX,GAAW5f,QAAQ,SAACsZ,GAAA,IAAAa,EAAAZ,QAAC9lB,EAAG0mB,EAAA,GAAE3K,EAAQ2K,EAAA,GAC/C0E,GACE1B,EACA1pB,EACA2oB,EAAE8B,oCACAxE,EACAlK,EAAShV,MAAQmlB,EAAsBD,EACvClQ,EAASqN,OAGf,GAGFlD,EAAM3Z,QAAQ,SAACsZ,EAAY9d,GAAV,IAAAye,EAAMX,EAAAW,OACjBA,aAAkBmC,EAAEC,SACtBoD,GACEtC,EACAlD,EACAgF,EACAxF,GAAmBQ,GACnB,EACA,EACAwB,EAAO,GAAA9f,OAAG8f,cAAQjgB,GAAMA,EAAEjM,WAGhC,EACF,UAEgBswB,GACd1C,EACA3B,EACAsE,GAEA,MAAO,CACL1P,OAAQ4N,GAA6Bb,EAAY3B,EAAWsE,EAAM1P,QAClE2P,MAAO/B,GAA6Bb,EAAY3B,EAAWsE,EAAMC,OAErE,UAEgBC,GACd7C,EACA3B,EACAsE,GAEA,IAAM1P,EAAS+N,GAA6BhB,EAAY3B,EAAWsE,EAAM1P,QAEzE,IAAKA,EACH,OAAO,KAGT,IAAM2P,EAAQ5B,GAA6BhB,EAAY3B,EAAWsE,EAAMC,OAExE,OAAKA,EAIE,CAAE3P,OAAMA,EAAE2P,MAAKA,GAHb,IAIX,4ECxQA,IAAI9qB,EAAkB5H,YAEtB4yB,GAAAxxB,EAAYwG,wCCFZ,IAAIrI,EAAaS,WAEjBouB,GAAiB7uB,qCCFjB,IAAIiU,EAAIxT,KACJT,EAAa+C,IACb5B,EAAO8B,IACPP,EAAcoD,KACdgB,EAAUkB,KACVe,EAAcd,IACdvC,EAAgByD,KAChB7I,EAAQ+I,IACR1B,EAASkO,KACTtR,EAAgBuR,KAChBpM,EAAW4Q,KACX5W,EAAkB6W,KAClB5R,EAAgB6R,KAChBoQ,EAAYlQ,KACZzY,EAA2B2d,KAC3B0T,EAAqBC,KACrBhd,EAAaid,KACbrkB,EAA4BskB,KAC5BC,EAA8BC,KAC9BvkB,EAA8BwkB,KAC9BtkB,EAAiCukB,KACjC1pB,EAAuB2pB,KACvBhd,EAAyBid,KACzB7qB,EAA6B8qB,KAC7BpnB,EAAgBqnB,KAChB/S,EAAwBgT,KACxB1sB,EAAS2sB,KACTrpB,EAAYspB,KACZrpB,EAAaspB,KACbtsB,EAAMusB,KACNjsB,EAAkBksB,KAClBC,EAA+BC,KAC/BC,kCChCJ,IAAI7F,EAAOpuB,KACPkH,EAAS5E,KACTyxB,EAA+BvxB,KAC/BrC,EAAiBkF,KAA+CjE,SAEpE8yB,GAAiB,SAAUva,GACzB,IAAI5U,EAASqpB,EAAKrpB,SAAWqpB,EAAKrpB,OAAS,CAAA,GACtCmC,EAAOnC,EAAQ4U,IAAOxZ,EAAe4E,EAAQ4U,EAAM,CACtDjY,MAAOqyB,EAA6B3yB,EAAEuY,IAE1C,EDsB4Bwa,GACxBC,kCEjCJ,IAAI1zB,EAAOV,IACPyD,EAAanB,KACbsF,EAAkBpF,KAClB2J,EAAgB9G,YAEpBgvB,GAAiB,WACf,IAAItvB,EAAStB,EAAW,UACpB6wB,EAAkBvvB,GAAUA,EAAOpE,UACnCsF,EAAUquB,GAAmBA,EAAgBruB,QAC7C6B,EAAeF,EAAgB,eAE/B0sB,IAAoBA,EAAgBxsB,IAItCqE,EAAcmoB,EAAiBxsB,EAAc,SAAUysB,GACrD,OAAO7zB,EAAKuF,EAAStG,KAC3B,EAAO,CAAEsM,MAAO,GAEhB,EFc8BuoB,GAC1B5b,EAAiB6b,KACjBppB,EAAsBqpB,KACtBlO,EAAWmO,KAAwChiB,QAEnDiiB,EAASvqB,EAAU,UACnBwqB,EAAS,SACTve,EAAY,YAEZmF,EAAmBpQ,EAAoBd,IACvCgB,EAAmBF,EAAoBJ,UAAU4pB,GAEjDxc,EAAkBnY,OAAOoW,GACzB/Q,EAAUhG,EAAWwF,OACrBuvB,EAAkB/uB,GAAWA,EAAQ+Q,GACrCwe,EAAav1B,EAAWu1B,WACxBhyB,EAAYvD,EAAWuD,UACvBiyB,EAAUx1B,EAAWw1B,QACrBC,EAAiCnmB,EAA+BzN,EAChE6zB,EAAuBvrB,EAAqBtI,EAC5C8zB,GAA4BjC,EAA4B7xB,EACxD+zB,GAA6B1sB,EAA2BrH,EACxDsF,GAAOzE,EAAY,GAAGyE,MAEtB0uB,GAAaruB,EAAO,WACpBsuB,GAAyBtuB,EAAO,cAChCU,GAAwBV,EAAO,OAG/BuuB,IAAcP,IAAYA,EAAQze,KAAeye,EAAQze,GAAWif,UAGpEC,GAAyB,SAAUzsB,EAAGpD,EAAG6D,GAC3C,IAAIisB,EAA4BT,EAA+B3c,EAAiB1S,GAC5E8vB,UAAkCpd,EAAgB1S,GACtDsvB,EAAqBlsB,EAAGpD,EAAG6D,GACvBisB,GAA6B1sB,IAAMsP,GACrC4c,EAAqB5c,EAAiB1S,EAAG8vB,EAE7C,EAEIC,GAAsBptB,GAAezI,EAAM,WAC7C,OAEU,IAFHgzB,EAAmBoC,EAAqB,CAAA,EAAI,IAAK,CACtD70B,IAAK,WAAc,OAAO60B,EAAqBt1B,KAAM,IAAK,CAAE+B,MAAO,IAAK8G,CAAE,KACxEA,CACN,GAAKgtB,GAAyBP,EAE1BU,GAAO,SAAU7kB,EAAK8kB,GACxB,IAAI9wB,EAASswB,GAAWtkB,GAAO+hB,EAAmByB,GAOlD,OANA7Y,EAAiB3W,EAAQ,CACvBqG,KAAM0pB,EACN/jB,IAAKA,EACL8kB,YAAaA,IAEVttB,IAAaxD,EAAO8wB,YAAcA,GAChC9wB,CACT,EAEIqE,GAAkB,SAAwBJ,EAAGpD,EAAG6D,GAC9CT,IAAMsP,GAAiBlP,GAAgBksB,GAAwB1vB,EAAG6D,GACtEP,EAASF,GACT,IAAI3C,EAAM8B,EAAcvC,GAExB,OADAsD,EAASO,GACLtC,EAAOkuB,GAAYhvB,IAChBoD,EAAWjI,YAIV2F,EAAO6B,EAAG6rB,IAAW7rB,EAAE6rB,GAAQxuB,KAAM2C,EAAE6rB,GAAQxuB,IAAO,GAC1DoD,EAAaqpB,EAAmBrpB,EAAY,CAAEjI,WAAYC,EAAyB,GAAG,OAJjF0F,EAAO6B,EAAG6rB,IAASK,EAAqBlsB,EAAG6rB,EAAQpzB,EAAyB,EAAGqxB,EAAmB,QACvG9pB,EAAE6rB,GAAQxuB,IAAO,GAIVsvB,GAAoB3sB,EAAG3C,EAAKoD,IAC9ByrB,EAAqBlsB,EAAG3C,EAAKoD,EACxC,EAEIqsB,GAAoB,SAA0B9sB,EAAGkN,GACnDhN,EAASF,GACT,IAAI+sB,EAAa7yB,EAAgBgT,GAC7B7L,EAAO0L,EAAWggB,GAAYxnB,OAAOynB,GAAuBD,IAIhE,OAHAtP,EAASpc,EAAM,SAAUhE,GAClBkC,IAAe5H,EAAKK,GAAuB+0B,EAAY1vB,IAAM+C,GAAgBJ,EAAG3C,EAAK0vB,EAAW1vB,GACzG,GACS2C,CACT,EAMIhI,GAAwB,SAA8BM,GACxD,IAAIsE,EAAIuC,EAAc7G,GAClBE,EAAab,EAAKy0B,GAA4Bx1B,KAAMgG,GACxD,QAAIhG,OAAS0Y,GAAmBnR,EAAOkuB,GAAYzvB,KAAOuB,EAAOmuB,GAAwB1vB,QAClFpE,IAAe2F,EAAOvH,KAAMgG,KAAOuB,EAAOkuB,GAAYzvB,IAAMuB,EAAOvH,KAAMi1B,IAAWj1B,KAAKi1B,GAAQjvB,KACpGpE,EACN,EAEIsH,GAA4B,SAAkCE,EAAGpD,GACnE,IAAIvG,EAAK6D,EAAgB8F,GACrB3C,EAAM8B,EAAcvC,GACxB,GAAIvG,IAAOiZ,IAAmBnR,EAAOkuB,GAAYhvB,IAASc,EAAOmuB,GAAwBjvB,GAAzF,CACA,IAAI9E,EAAa0zB,EAA+B51B,EAAIgH,GAIpD,OAHI9E,IAAc4F,EAAOkuB,GAAYhvB,IAAUc,EAAO9H,EAAIw1B,IAAWx1B,EAAGw1B,GAAQxuB,KAC9E9E,EAAWC,YAAa,GAEnBD,CALwF,CAMjG,EAEIyb,GAAuB,SAA6BhU,GACtD,IAAImF,EAAQgnB,GAA0BjyB,EAAgB8F,IAClDf,EAAS,GAIb,OAHAwe,EAAStY,EAAO,SAAU9H,GACnBc,EAAOkuB,GAAYhvB,IAASc,EAAOoD,EAAYlE,IAAMM,GAAKsB,EAAQ5B,EAC3E,GACS4B,CACT,EAEI+tB,GAAyB,SAAUhtB,GACrC,IAAIitB,EAAsBjtB,IAAMsP,EAC5BnK,EAAQgnB,GAA0Bc,EAAsBX,GAAyBpyB,EAAgB8F,IACjGf,EAAS,GAMb,OALAwe,EAAStY,EAAO,SAAU9H,IACpBc,EAAOkuB,GAAYhvB,IAAU4vB,IAAuB9uB,EAAOmR,EAAiBjS,IAC9EM,GAAKsB,EAAQotB,GAAWhvB,GAE9B,GACS4B,CACT,SAIK/C,IACHM,EAAU,WACR,GAAIzB,EAAcwwB,EAAiB30B,MAAO,MAAM,IAAImD,EAAU,+BAC9D,IAAI8yB,EAAe90B,UAAU8C,aAA2BN,IAAjBxC,UAAU,GAA+BqpB,EAAUrpB,UAAU,SAAhCwC,EAChEwN,EAAMxJ,EAAIsuB,GACV5pB,EAAS,SAAUtK,GACrB,IAAIiM,OAAiBrK,IAAT3D,KAAqBJ,EAAaI,KAC1CgO,IAAU0K,GAAiB3X,EAAKsL,EAAQqpB,GAAwB3zB,GAChEwF,EAAOyG,EAAOinB,IAAW1tB,EAAOyG,EAAMinB,GAAS9jB,KAAMnD,EAAMinB,GAAQ9jB,IAAO,GAC9E,IAAIxP,EAAaE,EAAyB,EAAGE,GAC7C,IACEg0B,GAAoB/nB,EAAOmD,EAAKxP,EACxC,CAAQ,MAAOvB,GACP,KAAMA,aAAiB+0B,GAAa,MAAM/0B,EAC1Cy1B,GAAuB7nB,EAAOmD,EAAKxP,EAC3C,CACA,EAEI,OADIgH,GAAegtB,IAAYI,GAAoBrd,EAAiBvH,EAAK,CAAEnP,cAAc,EAAM4I,IAAKyB,IAC7F2pB,GAAK7kB,EAAK8kB,EACrB,EAIEzpB,EAFAmoB,EAAkB/uB,EAAQ+Q,GAEK,WAAY,WACzC,OAAO/K,EAAiB5L,MAAMmR,GAClC,GAEE3E,EAAc5G,EAAS,gBAAiB,SAAUqwB,GAChD,OAAOD,GAAKruB,EAAIsuB,GAAcA,EAClC,GAEEntB,EAA2BrH,EAAIL,GAC/B2I,EAAqBtI,EAAI+H,GACzBkN,EAAuBjV,EAAIy0B,GAC3BhnB,EAA+BzN,EAAIyH,GACnC6F,EAA0BtN,EAAI6xB,EAA4B7xB,EAAI2b,GAC9DpO,EAA4BvN,EAAI20B,GAEhChC,EAA6B3yB,EAAI,SAAUyG,GACzC,OAAO8tB,GAAK/tB,EAAgBC,GAAOA,EACvC,EAEMS,IAEFmY,EAAsB6T,EAAiB,cAAe,CACpD3yB,cAAc,EACdvB,IAAK,WACH,OAAOmL,EAAiB5L,MAAMi2B,WACtC,IAESvvB,GACH8F,EAAckM,EAAiB,uBAAwBtX,GAAuB,CAAEsL,QAAQ,MAK9FmH,EAAE,CAAE9T,QAAQ,EAAMwM,aAAa,EAAMypB,MAAM,EAAMvlB,QAASnL,EAAeD,MAAOC,GAAiB,CAC/FF,OAAQQ,IAGVihB,EAAS1Q,EAAWrO,IAAwB,SAAUI,GACpDosB,EAAsBpsB,EACxB,GAEA2L,EAAE,CAAEzE,OAAQ8lB,EAAQ3kB,MAAM,EAAME,QAASnL,GAAiB,CACxDgxB,UAAW,WAAcX,IAAa,CAAK,EAC3CY,UAAW,WAAcZ,IAAa,CAAM,IAG9C9hB,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,EAAME,QAASnL,EAAeD,MAAOsD,GAAe,CAG9EmK,OAtHY,SAAgB1J,EAAGkN,GAC/B,YAAsB3S,IAAf2S,EAA2B4c,EAAmB9pB,GAAK8sB,GAAkBhD,EAAmB9pB,GAAIkN,EACrG,EAuHE9V,eAAgBgJ,GAGhB6M,iBAAkB6f,GAGlB50B,yBAA0B4H,KAG5B2K,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,EAAME,QAASnL,GAAiB,CAG1DuJ,oBAAqBuO,KAKvBqX,IAIAxb,EAAerT,EAASsvB,GAExBvqB,EAAWsqB,IAAU,2DGrQrB,IAAI3vB,EAAgBjF,YAGpBm2B,GAAiBlxB,KAAmBF,OAAY,OAAOA,OAAOqxB,gFCH9D,IAAI5iB,EAAIxT,KACJyD,EAAanB,KACbzB,kCCFJ,IAAIJ,EAAcT,IAEd6B,EAAoBjC,SAASe,UAC7BE,EAAQgB,EAAkBhB,MAC1BH,EAAOmB,EAAkBnB,YAG7B21B,GAAmC,iBAAXC,SAAuBA,QAAQz1B,QAAUJ,EAAcC,EAAKH,KAAKM,GAAS,WAChG,OAAOH,EAAKG,MAAMA,EAAOC,UAC3B,MDPY0B,GACR9B,EAAO2E,IACPpD,EAAcsF,KACd1H,EAAQ2H,IACRnE,EAAaqF,KACbpD,EAAWsD,KACXkU,EAAa1H,KACbmhB,kCETJ,IAAIt0B,EAAcjC,KACdwQ,EAAUlO,KACVe,EAAab,KACbD,EAAU8C,KACVnD,EAAWqF,KAEXb,EAAOzE,EAAY,GAAGyE,aAE1B8vB,GAAiB,SAAUC,GACzB,GAAIpzB,EAAWozB,GAAW,OAAOA,EACjC,GAAKjmB,EAAQimB,GAAb,CAGA,IAFA,IAAIC,EAAYD,EAAS7yB,OACrBwG,EAAO,GACF+D,EAAI,EAAGA,EAAIuoB,EAAWvoB,IAAK,CAClC,IAAIwe,EAAU8J,EAAStoB,GACD,iBAAXwe,EAAqBjmB,EAAK0D,EAAMuiB,GAChB,iBAAXA,GAA4C,WAArBpqB,EAAQoqB,IAA8C,WAArBpqB,EAAQoqB,IAAuBjmB,EAAK0D,EAAMlI,EAASyqB,GAC/H,CACE,IAAIgK,EAAavsB,EAAKxG,OAClBgzB,GAAO,EACX,OAAO,SAAUxwB,EAAK1E,GACpB,GAAIk1B,EAEF,OADAA,GAAO,EACAl1B,EAET,GAAI8O,EAAQ7Q,MAAO,OAAO+B,EAC1B,IAAK,IAAI6mB,EAAI,EAAGA,EAAIoO,EAAYpO,IAAK,GAAIne,EAAKme,KAAOniB,EAAK,OAAO1E,CACrE,CAjB0B,CAkB1B,EFnB0B2T,GACtBpQ,EAAgB4U,KAEhBlV,EAAUP,OACVyyB,EAAapzB,EAAW,OAAQ,aAChC3D,EAAOmC,EAAY,IAAInC,MACvB+hB,EAAS5f,EAAY,GAAG4f,QACxBC,EAAa7f,EAAY,GAAG6f,YAC5BtW,EAAUvJ,EAAY,GAAGuJ,SACzBsrB,EAAiB70B,EAAY,IAAIC,UAEjC60B,EAAS,mBACTC,EAAM,oBACNC,EAAK,oBAELC,GAA4BjyB,GAAiBpF,EAAM,WACrD,IAAIiF,EAASrB,EAAW,SAAXA,CAAqB,uBAElC,MAAgC,WAAzBozB,EAAW,CAAC/xB,KAEgB,OAA9B+xB,EAAW,CAAEruB,EAAG1D,KAEe,OAA/B+xB,EAAW32B,OAAO4E,GACzB,GAGIqyB,EAAqBt3B,EAAM,WAC7B,MAAsC,qBAA/Bg3B,EAAW,iBACY,cAAzBA,EAAW,SAClB,GAEIO,EAA0B,SAAUh4B,EAAIq3B,GAC1C,IAAIY,EAAOva,EAAWhc,WAClBw2B,EAAYf,EAAoBE,GACpC,GAAKpzB,EAAWi0B,SAAsBh0B,IAAPlE,IAAoBkG,EAASlG,GAM5D,OALAi4B,EAAK,GAAK,SAAUjxB,EAAK1E,GAGvB,GADI2B,EAAWi0B,KAAY51B,EAAQhB,EAAK42B,EAAW33B,KAAMgF,EAAQyB,GAAM1E,KAClE4D,EAAS5D,GAAQ,OAAOA,CACjC,EACSb,EAAMg2B,EAAY,KAAMQ,EACjC,EAEIE,EAAe,SAAUxzB,EAAO6sB,EAAQnhB,GAC1C,IAAI+R,EAAOK,EAAOpS,EAAQmhB,EAAS,GAC/B/b,EAAOgN,EAAOpS,EAAQmhB,EAAS,GACnC,OAAK9wB,EAAKk3B,EAAKjzB,KAAWjE,EAAKm3B,EAAIpiB,IAAW/U,EAAKm3B,EAAIlzB,KAAWjE,EAAKk3B,EAAKxV,GACnE,MAAQsV,EAAehV,EAAW/d,EAAO,GAAI,IAC7CA,CACX,SAEI8yB,GAGFrjB,EAAE,CAAEzE,OAAQ,OAAQmB,MAAM,EAAMjE,MAAO,EAAGmE,OAAQ8mB,GAA4BC,GAAsB,CAElGK,UAAW,SAAmBp4B,EAAIq3B,EAAUgB,GAC1C,IAAIJ,EAAOva,EAAWhc,WAClBkH,EAASnH,EAAMq2B,EAA2BE,EAA0BP,EAAY,KAAMQ,GAC1F,OAAOF,GAAuC,iBAAVnvB,EAAqBwD,EAAQxD,EAAQ+uB,EAAQQ,GAAgBvvB,CACvG,iCGpEAhI,qCCDA,IAAIwT,EAAIxT,KACJyD,EAAanB,KACb4E,EAAS1E,KACTN,EAAWmD,KACX0B,EAASQ,KACTmwB,EAAyBlwB,KAEzBmwB,EAAyB5wB,EAAO,6BAChC6wB,EAAyB7wB,EAAO,6BAIpCyM,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,EAAME,QAASsnB,GAA0B,CACnEG,IAAO,SAAUzxB,GACf,IAAIqJ,EAASvN,EAASkE,GACtB,GAAIc,EAAOywB,EAAwBloB,GAAS,OAAOkoB,EAAuBloB,GAC1E,IAAI3K,EAASrB,EAAW,SAAXA,CAAqBgM,GAGlC,OAFAkoB,EAAuBloB,GAAU3K,EACjC8yB,EAAuB9yB,GAAU2K,EAC1B3K,CACX,IDlBAxC,mCEFA,IAAIkR,EAAIxT,KACJkH,EAAS5E,KACTgD,EAAW9C,KACXgD,EAAcH,KACd0B,EAASQ,KACTmwB,EAAyBlwB,KAEzBowB,EAAyB7wB,EAAO,6BAIpCyM,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,EAAME,QAASsnB,GAA0B,CACnEtB,OAAQ,SAAgB0B,GACtB,IAAKxyB,EAASwyB,GAAM,MAAM,IAAIh1B,UAAU0C,EAAYsyB,GAAO,oBAC3D,GAAI5wB,EAAO0wB,EAAwBE,GAAM,OAAOF,EAAuBE,EAC3E,IFZAt1B,GACA6C,qCGJA,IAAImO,EAAIxT,KACJiF,EAAgB3C,KAChBzC,EAAQ2C,IACRmM,EAA8BtJ,KAC9B2B,EAAWO,KAQfiM,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,EAAME,QAJpBnL,GAAiBpF,EAAM,WAAc8O,EAA4BvN,EAAE,MAI7B,CAClDyD,sBAAuB,SAA+BzF,GACpD,IAAI22B,EAAyBpnB,EAA4BvN,EACzD,OAAO20B,EAAyBA,EAAuB/uB,EAAS5H,IAAO,EAC3E,IHXAmI,kDIHA,IAAIiM,EAAIxT,KACJsI,EAAchG,IACd/C,EAAaiD,IACbP,EAAcoD,KACd6B,EAASK,KACTlE,EAAamE,KACb1D,EAAgB4E,KAChBxG,EAAW0G,KACX6X,EAAwBrL,KACxBtG,EAA4BuG,KAE5B0iB,EAAex4B,EAAWwF,OAC1BuvB,EAAkByD,GAAgBA,EAAap3B,UAEnD,GAAI2H,GAAejF,EAAW00B,OAAoB,gBAAiBzD,SAElChxB,IAA/By0B,IAAenC,aACd,CACD,IAAIoC,EAA8B,CAAA,EAE9BC,EAAgB,WAClB,IAAIrC,EAAc90B,UAAU8C,OAAS,QAAsBN,IAAjBxC,UAAU,QAAmBwC,EAAYpB,EAASpB,UAAU,IAClGkH,EAASlE,EAAcwwB,EAAiB30B,MAExC,IAAIo4B,EAAanC,QAEDtyB,IAAhBsyB,EAA4BmC,IAAiBA,EAAanC,GAE9D,MADoB,KAAhBA,IAAoBoC,EAA4BhwB,IAAU,GACvDA,CACX,EAEE8G,EAA0BmpB,EAAeF,GACzCE,EAAct3B,UAAY2zB,EAC1BA,EAAgBpoB,YAAc+rB,EAE9B,IAAIhzB,EAAkE,kCAAlDb,OAAO2zB,EAAa,0BACpCG,EAAkBj2B,EAAYqyB,EAAgBruB,SAC9CkyB,EAA0Bl2B,EAAYqyB,EAAgBpyB,UACtD+oB,EAAS,wBACTzf,EAAUvJ,EAAY,GAAGuJ,SACzBrJ,EAAcF,EAAY,GAAGG,OAEjCqe,EAAsB6T,EAAiB,cAAe,CACpD3yB,cAAc,EACdvB,IAAK,WACH,IAAI0E,EAASozB,EAAgBv4B,MAC7B,GAAIuH,EAAO8wB,EAA6BlzB,GAAS,MAAO,GACxD,IAAI2K,EAAS0oB,EAAwBrzB,GACjCszB,EAAOnzB,EAAgB9C,EAAYsN,EAAQ,GAAG,GAAMjE,EAAQiE,EAAQwb,EAAQ,MAChF,MAAgB,KAATmN,OAAc90B,EAAY80B,CACvC,IAGE5kB,EAAE,CAAE9T,QAAQ,EAAMwM,aAAa,EAAMkE,QAAQ,GAAQ,CACnDrL,OAAQkzB,GAEZ,mCC1DiBj4B,IAKjBof,CAAW,UAAW,SAAUwB,GAC9B,OAAO,WAAqB,OAAOA,EAAKjhB,KAAMmB,UAAU8C,OAAS9C,UAAU,QAAKwC,EAAW,CAC7F,EANqBhB,qBCEf,SAAU+1B,GACdxM,GAEA,OrBsEI,SACJre,OACA,IAAApD,EAAA,GAAA4hB,EAAA,EAAAA,EAAAlrB,UAAA8C,OAAAooB,IAAA5hB,EAAA4hB,EAAA,GAAAlrB,UAAAkrB,GAEA,OAAO9rB,OAAOwc,YACZxc,OAAOkb,QAAQ5N,GAAKqF,OAAO,SAACoZ,OAAC7lB,EAAD8lB,GAAAD,EAAA,GAAI,GAAM,OAAC7hB,EAAK2D,SAAS3H,EAAf,GAE1C,CqB7ESkyB,CAAKzM,EAAOiC,EAAKC,OAAOlC,GAAQ,OAAS,WAIlD,CCHM,SAAU0M,GAAoBlM,GAClC,IAAMC,EAAQF,GAAmBC,GAG3BoC,EAAWnC,EAAM1oB,OAAS,EAAI0oB,EAAM1Z,IAAI4lB,IAA0B,CAAC,CAAExK,KAAM,KAGjF,OAAAJ,GAAAA,GAAA,CAAA,EAAYvB,EAAM4F,iBAAe,CAAExD,YACrC,CAEM,SAAU+J,GAAuB5L,GACrC,MAA6B,iBAAlBA,EAAOA,OAChBgB,GAAAA,GAAA,CAAA,EAAYhB,EAAOC,YAAU,CAAEmB,KAAMpB,EAAOA,SAGvC2L,GAAoB3L,EAAOA,OACpC,CAEM,SAAU6L,GAAwBC,GACtC,OAAOA,EAAM9lB,IAAI,SAAAiZ,GACf,OAAIiC,EAAKC,OAAOlC,GACP,CAAEe,OAAQf,EAAKmC,KAAMnB,WAAYwL,GAAcxM,IAIjD,CAAEe,OAAQ+L,GAAoB9M,GACvC,EACF,CAEM,SAAU8M,GAAoB1M,GAAE,IAAAwC,EAAQxC,EAAAwC,SAAK5B,EAAU+L,GAAA3M,EAAzB,cAC5B4M,EAAW,IAAI9J,EAAEC,QAOvB,OALA9uB,OAAOkb,QAAQyR,GAAYla,QAAQ,SAACsZ,GAAA,IAAAa,EAAAZ,QAAC9lB,EAAG0mB,EAAA,GAAEprB,EAAKorB,EAAA,GAC7C+L,EAASpH,aAAarrB,EAAK1E,EAC7B,GAEAm3B,EAASC,WAAWL,GAAwBhK,GAAW,CAAEsK,UAAU,IAC5DF,CACT,UC2KgBG,GACdlJ,EACAmJ,EACAC,GAEQ,IAAAnqB,EAAoBmqB,EAAKnqB,OAAjBoqB,EAAYD,EAAKC,QAC3B7M,EAAQ4M,EAAM5M,MAEpB,KAAMvd,aAAkBggB,EAAEC,SACxB,MAAM,IAAIX,MAAM,+BAGlB,IAAM+K,EAAmB,GACnBC,EAAYxJ,GAAaC,EAAYmJ,EAAQlqB,GAC7CuqB,EAAgBpI,EAAK9wB,IAAI64B,EAAQI,GAEvC,GAAIvL,EAAKC,OAAOuL,GACd,MAAM,IAAIjL,MAAM,wCAGlB,IAAMkL,EAAa9oB,MAAMuE,KAAKmkB,EAAQ/uB,KAAKgR,WAE3C,GAAIie,EAAUz1B,OAAS,GAAK21B,EAAW31B,OAAS,EAAG,CACjD,IAAM41B,EAAgBt5B,OAAOwc,YAC3B6c,EAAW3mB,IAAI,SAACqZ,GAAA,IAAAa,EAAAZ,QAAC9lB,EAAG0mB,EAAA,GAAY,MAAA,CAC9B1mB,EACgB,WAFQ0mB,EAAA,GAEnB2M,OAAsB,KAAO1qB,EAAO2qB,aAAatzB,GAFxB,IAM5B0vB,EAAa51B,OAAOwc,YAAY6c,EAAW3mB,IAAI,SAACqZ,OAAC7lB,EAAD8lB,GAAAD,EAAA,GAAI,GAAM,MAAA,CAAC7lB,EAAKkzB,EAAclzB,GAApB,IAEhEgzB,EAAI1yB,KAAK,CACPyE,KAAM,WAAYquB,cAAaA,EAAE1D,WAAUA,EAAE1H,KAAMiL,GAEvD,CAMA,OAJI/M,EAAM1oB,OAAS,GACjBw1B,EAAI1yB,KAAI7F,MAARu4B,EAAG9H,GAAA,GAAApF,GApPP,SAAoBL,EAAewN,EAAiB/M,GAClD,IAAM8M,EAAmB,GAErB5K,EAAUlC,EAAMc,OAAO,SAACxpB,EAAQ+1B,GAClC,MAAI,WAAYA,EACP/1B,EAAS+1B,EAAOC,OAGrB,WAAYD,EACP/1B,EAAS+1B,EAAOpY,OAGlB3d,CACT,EAAG,GA8LH,OA3LA0oB,EAAMuN,UAAUlnB,QAAQ,SAAAgnB,SACtB,GAAI,eAAgBA,GAAU,WAAYA,EAOxC,IANM,IAAA7M,EAAAZ,GAAqCmD,GACzCxD,EACA2C,EAAUmL,EAAOC,WAFZE,OAAiBC,OAIlBhN,EAAAb,GAAiCmD,GAAsBxD,EAAM2C,EAAS,CAAEgB,OAAO,IAAK,GAAnFwK,EAAajN,EAAA,GAAEkN,EAAalN,EAAA,GAE1BuB,EAAa0L,EAAe1L,GAAcwL,EAAiBxL,GAAc,EAAG,CACnF,IAAMsB,EAAQ/D,EAAK4C,SAASH,GACtBC,EAAS+C,GAAAA,GAAA,GAAApF,GAAOmN,IAAS,GAAA,CAAE/K,OAEjC,GAAKR,EAAKC,OAAO6B,GAAjB,CAOA,IAAM4J,EAAgBG,EAAO9M,WACvBiJ,EAAa/J,GAAIlrB,WAAA,EAAAywB,GAAA,CAACzF,GAAIK,GAAMhsB,OAAOkK,KAAKuvB,EAAO9M,kBAErD,GAAIyB,IAAewL,GAAmBxL,IAAe0L,EAAe,CAClE,IAAMpS,EAAQ0G,IAAewL,EAAkBC,EAAkB,EAYjE,IAXMlS,EAAMyG,IAAe0L,EAAgBC,EAAgBrK,EAAM5B,KAAKpqB,UAE1DgsB,EAAM5B,KAAKpqB,QACrBw1B,EAAI1yB,KAAK,CACPyE,KAAM,aACNijB,KAAMG,EACNpM,SAAU0F,EACViO,WAAYuC,GAAczI,KAIhB,IAAVhI,EAAa,CACfwR,EAAI1yB,KAAK,CACPyE,KAAM,aACNijB,KAAMG,EACNpM,SAAUyF,EACVkO,WAAY3J,GAAeyB,GAAAA,GAAA,CAAA,EACtByK,GAAczI,IACd4J,MAIP,QACF,CACF,CAEAJ,EAAI1yB,KAAK,CACPyE,KAAM,WACNquB,cAAaA,EACbpL,KAAMG,EACNuH,WAAUA,GArCZ,CAuCF,CAOF,GAJI,WAAY6D,IACdnL,GAAWmL,EAAOC,QAGhB,WAAYD,EACR,KAAAO,EAAAhO,GAAqCmD,GACzCxD,EACA2C,EAAUmL,EAAOpY,WAEb4Y,GAJCL,OAAiBC,OAIlB7N,GAAiCmD,GAAsBxD,EAAM2C,EAAS,CAAEgB,OAAO,IAAK,IAE1F,IAFOwK,EAAaG,EAAA,GAGd7L,EAA+B,KAHf2L,EAAaE,EAAA,IAGMH,EAAgB,EAAIA,EAC3D1L,GAAcwL,EACdxL,GAAc,EAKd,GAHMsB,EAAQ/D,EAAK4C,SAASH,GACtBC,EAAS+C,GAAAA,GAAA,GAAApF,GAAOmN,IAAS,GAAA,CAAE/K,QAG/BR,EAAKC,OAAO6B,IACRtB,IAAewL,GAAmBxL,IAAe0L,EAgBvDZ,EAAI1yB,KAAK,CACPyE,KAAM,cACN0gB,KAAM+D,EACNxB,KAAMG,IAERC,GAAWX,GAAoB+B,OAvB/B,CAIQhI,EAAQ0G,IAAewL,EAAkBC,EAAkB,EAAjE,IACMlS,EAAMyG,IAAe0L,EAAgBC,EAAgBrK,EAAM5B,KAAKpqB,OAEtEw1B,EAAI1yB,KAAK,CACPyE,KAAM,cACNylB,OAAQhJ,EACRoG,KAAM4B,EAAM5B,KAAK5rB,MAAMwlB,EAAOC,GAC9BuG,KAAMG,IAGRC,GAAW3G,EAAMD,CAEnB,CA3BD,MAwCH,GAAI,WAAY+R,EAAQ,CAChB,IAAAS,EAAAlO,GAA2BmD,GAAsBxD,EAAM2C,EAAS,CACpE5B,QAAQ,OADSyE,GAAZ/C,aAMP,GAHMsB,EAAQ/D,EAAK4C,SAASH,GACtBC,EAAS+C,GAAAA,GAAA,GAAApF,GAAOmN,IAAS,GAAA,CAAE/K,OAE7BR,EAAKC,OAAO6B,GAAQ,CACtB,IAAMyK,EAASjB,EAAIA,EAAIx1B,OAAS,GAO1B02B,EAAyB,MAAVD,GAAkC,gBAAhBA,EAAOlvB,KAAyBkvB,EAAOxO,KAAOwM,GAAczI,GAE/F2K,EAAiB,GAgBrB,GAbY,MAAVF,GACoB,gBAAhBA,EAAOlvB,MACU,gBAAhBkvB,EAAOlvB,MACS,eAAhBkvB,EAAOlvB,MACS,aAAhBkvB,EAAOlvB,OAEZovB,EAAWF,EAAOjM,MAQO,iBAAlBuL,EAAO/M,QACXhB,GAA4B,UAAjB+N,EAAO9M,kBAAU,IAAAZ,EAAAA,EAAI,CAAA,EAAIqO,IACpCE,EAAKC,OAAOlM,EAAWgM,GAE1B,OAAOnB,EAAI1yB,KAAK,CACdyE,KAAM,cACNylB,OAAQS,EACRrD,KAAM2L,EAAO/M,OACbwB,KAAMG,IAIV,IAAMmM,EAAWlC,GAAuBmB,GAExC,OAAmB,IAAftI,EACK+H,EAAI1yB,KAAK,CACdyE,KAAM,cACNijB,KAAMG,EACN1C,KAAM6O,KAINrJ,EAAazB,EAAM5B,KAAKpqB,QAC1Bw1B,EAAI1yB,KAAK,CACPyE,KAAM,aACNijB,KAAMG,EACNpM,SAAUkP,EACVyE,WAAYuC,GAAczI,KAIvBwJ,EAAI1yB,KAAK,CACdyE,KAAM,cACNijB,KAAMoM,EAAK3lB,KAAK0Z,GAChB1C,KAAM6O,IAEV,CAEA,OAAOtB,EAAI1yB,KAAK,CACdyE,KAAM,cACNijB,KAAMG,EACN1C,KAAM2M,GAAuBmB,IAEjC,CACF,GAEOP,CACT,CAwCgBN,CAAWQ,EAA0BD,EAAW/M,KAAM,IAG7D8M,CACT,UCnOgBuB,GACd7K,EACAmJ,EACA2B,GAEAC,EAAOC,mBAAmB7B,EAAQ,WAChC2B,EAAOjoB,QAAQ,SAAAumB,aAzBjBpJ,EACAmJ,EACAC,GAEA,GAAIA,aAAiBnK,EAAEgM,WACrB,OAAO/B,GAAoBlJ,EAAYmJ,EAAQC,GAGjD,MAAM,IAAI7K,MAAM,0BAClB,EAiBM2M,CAAkBlL,EAAYmJ,EAAQC,GAAOvmB,QAAQ,SAAAsoB,GACnDhC,EAAOp4B,MAAMo6B,EACf,EACF,EACF,EACF,CCvCM,SAAUC,GAAqB5O,GACnC,OAAOA,EAAM1Z,IAAI,SAAA+Z,GACf,MAA8B,iBAAnBA,EAAQC,OACVD,EAITiB,GAAAA,GAAA,CAAA,EAAYjB,GAAO,CAAEC,OAAQuO,GAAUxO,EAAQC,SACjD,EACF,CAEM,SAAUuO,GAAU9O,GACxB,IAAM+O,EAAQ,IAAIrM,EAAEC,QAEdnC,EAAaR,EAAM4F,gBAUzB,OARA/xB,OAAOkb,QAAQyR,GAAYla,QAAQ,SAACsZ,GAAA,IAAAa,EAAAZ,QAAC9lB,EAAG0mB,EAAA,GAAEprB,EAAKorB,EAAA,GAC7CsO,EAAM3J,aAAarrB,EAAK1E,EAC1B,GAEA05B,EAAMtC,WAAWoC,GAAqB9O,GAAmBC,IAAS,CAChE0M,UAAU,IAGLqC,CACT,kCC7BA,IAAI5nB,EAAIxT,KACJgH,EAAW1E,KACX+4B,EAAa74B,KAOjBgR,EAAE,CAAEzE,OAAQ,SAAUmB,MAAM,EAAME,OANtB/K,GAEcxF,CAAM,WAAcw7B,EAAW,EAAG,IAIK,CAC/DjxB,KAAM,SAAchL,GAClB,OAAOi8B,EAAWr0B,EAAS5H,GAC/B,OCHO,IAAMk8B,GAAuC,CAClDC,qBCHyBzL,EAAuB3B,EAAiB8M,GAC3D,IAAAhP,EAAyBgC,GAAW6B,EAAY3B,EAAW8M,EAAG7M,MAA5Da,YAASC,cAEjB,GAAIpB,EAAKC,OAAOkN,EAAGpP,MACjB,OAAOoD,EAAQrC,OAAOsC,EAAUtH,MAAOqT,EAAGpP,KAAKmC,KAAMqK,GAAc4C,EAAGpP,OAGxEoD,EAAQuM,YAAYtM,EAAUtH,MAAO+Q,GAAoBsC,EAAGpP,MAC9D,EDJE4P,qBEPyB3L,EAAuB3B,EAAiB8M,GAC3D,IAAAhP,EAAiCgC,GAAW6B,EAAY3B,EAAW8M,EAAG7M,MAA3DkB,YAAQJ,cAEzBI,EAAO/N,OAAO2N,EAAUtH,MAAOsH,EAAUrH,IAAMqH,EAAUtH,MAC3D,EFIE8T,kBGRsB5L,EAAuB3B,EAAiB8M,GACxD,IAAAhP,EAAkCgC,GAAW6B,EAAY3B,EAAW8M,EAAG7M,MAArEU,YAASI,cAAWD,YAE5B,GAAIH,EASF,OARA5uB,OAAOkb,QAAQ6f,EAAGzB,eAAe7mB,QAAQ,SAACsZ,GAAA,IAAAa,EAAAZ,QAAC9lB,EAAG0mB,EAAA,GAAEprB,EAAKorB,EAAA,GACnD,GAAc,OAAVprB,EACF,OAAOotB,EAAQ6M,gBAAgBv1B,GAGjC0oB,EAAQ2C,aAAarrB,EAAK1E,EAC5B,GAEOxB,OAAOkb,QAAQ6f,EAAGnF,YAAYnjB,QAAQ,SAACsZ,OAAC7lB,EAAD8lB,GAAAD,EAAA,GAAI,GAC3C/rB,OAAOS,UAAUH,eAAeE,KAAKu6B,EAAGzB,cAAepzB,IAC1D0oB,EAAQ6M,gBAAgBv1B,EAE5B,GAGF,IAAMw1B,EAAQ17B,OAAOwc,YAAYxc,OAAOkK,KAAK6wB,EAAGnF,YAAYljB,IAAI,SAAAxM,GAAO,MAAA,CAACA,EAAK,KAAN,IACjEozB,WAAqBoC,GAAUX,EAAGzB,eAExCvK,EAAQ4M,OAAO3M,EAAUtH,MAAOsH,EAAUrH,IAAMqH,EAAUtH,MAAO4R,EACnE,EHdEsC,oBIEwBhM,EAAuB3B,EAAiB8M,GAChE,IAAMlsB,EAASkf,GAAW6B,EAAY3B,EAAW8M,EAAG7M,MAC9C5M,EAAOyM,GAAWlf,EAAOkgB,QAASlgB,EAAOogB,YAAaqL,EAAKrZ,SAAS8Z,EAAG7M,KAAKhsB,OAAM,KAExF,IAAK2M,EAAO+f,UAAatN,EAAKsN,QAC5B,MAAM,IAAIT,MAAM,sCAGlB,IAAK7M,EAAKsN,UAAY/f,EAAO+f,QAAS,CAC5B,IAASiN,EAAmChtB,EAAMkgB,QAAjCC,EAA2BngB,EAAMmgB,UAAtBE,EAAgBrgB,cAEpD,IAAKqgB,EACH,MAAM,IAAIf,MAAM,4CAGlB,IAAM2N,EAAc9K,EAAK9wB,IAAI+tB,EAAWqM,EAAKrZ,SAAS8Z,EAAG7M,OAEzD,IAAKN,EAAKC,OAAOiO,GACf,MAAM,IAAI3N,MAAM,oDAGlB,IAAM4N,EAAc5D,GAAcjJ,GAC5B8M,EAAmB7D,GAAc2D,GACjCG,EAAaj8B,OAAOkK,KAAK6xB,GAAa7O,OAAO,SAACgP,EAAKh2B,SAGvD,OAF2BA,KAAO81B,EAENE,EAAKxO,GAAAA,GAAA,CAAA,EAAMwO,KAAGnQ,EAAA,CAAA,GAAG7lB,GAAM,QACrD,EAAG,CAAA,GAEH,OAAO21B,EAAOF,OAAO3M,EAAUtH,MAAOsH,EAAUrH,IAAMqH,EAAUtH,MAAKgG,GAAAA,GAAA,CAAA,EAChEuO,GACAD,GAEP,CAEA,IAAMG,EAAoB7a,EAAKsN,QAAQlrB,OACjCirB,EAAczC,GAAmBrd,EAAO+f,SACxCwN,EAAcpB,GAAqBrM,GAEnC0N,EAAkBxK,GACtBjC,EACA/gB,EAAO+f,QACPD,EACAwN,GAGIvD,EAAUxH,GAAA,CAAW,CAAEsI,OAAQyC,IAAmBnQ,GAAKoQ,IAAW,GAExE9a,EAAKsN,QAAQgK,WAAWA,EAAY,CAClCC,UAAU,IAGZhqB,EAAOkgB,QAAQ1N,OAAOxS,EAAOmgB,UAAUtH,MAAO7Y,EAAOmgB,UAAUrH,IAAM9Y,EAAOmgB,UAAUtH,OAEtFwK,GACEtC,EACAtO,EAAKsN,QACLyN,EACAD,EACAD,EAEJ,EJ9DEG,mBKDuB1M,EAAuB3B,EAAiB8M,GAC/D,IAAMwB,EAAgBjC,EAAKlL,OAAO2L,EAAGyB,SAC/BC,EAAgB1B,EAAGyB,QAAQzB,EAAGyB,QAAQ94B,OAAS,GAC/C0rB,EAAS4B,EAAK9wB,IAAI+tB,EAAWsO,GAEnC,GAAI3O,EAAKC,OAAOuB,GACd,MAAM,IAAIjB,MAAM,4CAElB,IAAMuO,EAAiBtL,GAAAA,GAAA,GAAApF,GAAOuQ,IAAa,GAAA,CAAEp9B,KAAK4N,IAAI0vB,EAAerN,EAAOb,SAAS7qB,aAE/Ei5B,EAAS5O,GAAW6B,EAAY3B,EAAW8M,EAAG7M,MAC9Crf,EAASkf,GAAW6B,EAAY3B,EAAWyO,GAC3CE,EAAc5B,GAAqB2B,EAAOhO,aAE1C0N,EAAkBxK,GACtBjC,EACA+M,EAAO5N,QACP4N,EAAOhO,aAGTgO,EAAO5N,QAAQ1N,OAAOsb,EAAO3N,UAAUtH,MAAOiV,EAAO3N,UAAUrH,IAAMgV,EAAO3N,UAAUtH,OAEtF,IAAMgH,EAAezB,GAAqBf,GAAmBrd,EAAOkgB,UAC9DoN,EAAoBh9B,KAAK4N,IAAI8B,EAAOmgB,UAAUtH,MAAOgH,GACrDkK,EAAUxH,GAAA,CAAW,CAAEsI,OAAQyC,IAAmBnQ,GAAK4Q,IAAW,GAExE/tB,EAAOkgB,QAAQ6J,WAAWA,EAAY,CAAEC,UAAU,IAElD3G,GACEtC,EACA/gB,EAAOkgB,QACPsN,EACAO,EACAT,EACAQ,EAAO3N,UAAUtH,MAErB,ELlCEmV,oBMLwBjN,EAAuB3B,EAAiB8M,GAChE,IAAMlsB,EAASkf,GAAW6B,EAAY3B,EAAW8M,EAAG7M,MAEpD,IAAKrf,EAAOqgB,YACV,MAAM,IAAIf,MAAM,6CAGlB,IAAKtf,EAAO+f,QAAS,CACnB,IAAKhB,EAAKC,OAAOhf,EAAOqgB,aACtB,MAAM,IAAIf,MAAM,sDAGlB,IAAM2O,EAA8B,CAAA,EAUpC,OARAjuB,EAAO8f,YAAYlc,QAAQ,SAAAga,GACrBA,EAAQE,YACV3sB,OAAOkK,KAAKuiB,EAAQE,YAAYla,QAAQ,SAAAvM,GACtC42B,EAAM52B,GAAO,IACf,EAEJ,GAEO2I,EAAOkgB,QAAQ4M,OACpB9sB,EAAOmgB,UAAUtH,MACjB7Y,EAAOmgB,UAAUrH,IAAM9Y,EAAOmgB,UAAUtH,MAAKgG,GAAAA,GAAA,CAAA,EACxCoP,GAAU/B,EAAGnF,YAEtB,CAEA,GAAIhI,EAAKC,OAAOhf,EAAOqgB,aACrB,MAAM,IAAIf,MAAM,sDAGlB,IAAM4O,EAAchP,GAAWlf,EAAO+f,QAAS/f,EAAOqgB,YAAa,CAAC6L,EAAG9Y,WAEjE+a,EAAenuB,EAAOqgB,YAAYX,SACrCrsB,MAAM,EAAG64B,EAAG9Y,UACZiL,OAAO,SAACxpB,EAAQgsB,GAAU,OAAAhsB,EAASiqB,GAAoB+B,EAA7B,EAAqC,GAG5DhsB,EAASmL,EAAOqgB,YAAYX,SAASrB,OACzC,SAAC3jB,EAASmmB,GAAU,OAAAnmB,EAAUokB,GAAoB+B,EAA9B,EACpB,GAGIuN,EAAa7P,GACjBlB,GAAmBrd,EAAO+f,SAC1BoO,EACAt5B,EAASs5B,GAELZ,EAAcpB,GAAqBiC,GAEnCZ,EAAkBxK,GACtBjC,EACA/gB,EAAO+f,QACPqO,EACAD,GAGIxC,EAAW,IAAI3L,EAAEC,QAEvB0L,EAAS5B,WAAWwD,EAAa,CAC/BvD,UAAU,IAGZ74B,OAAOkb,QAAQ6f,EAAGnF,YAAYnjB,QAAQ,SAACsZ,GAAA,IAAAa,EAAAZ,QAAC9lB,EAAG0mB,EAAA,GAAEprB,EAAKorB,EAAA,GAChD4N,EAASjJ,aAAarrB,EAAK1E,EAC7B,GAEAqN,EAAO+f,QAAQvN,OACb0b,EAAY/N,UAAUtH,MACtB7Y,EAAO+f,QAAQlrB,OAASq5B,EAAY/N,UAAUtH,OAGhD7Y,EAAOkgB,QAAQuM,YAAYzsB,EAAOmgB,UAAUrH,IAAK6S,GAEjDtI,GACEtC,EACA4K,EACA6B,EACAD,EACA,EACAY,EAEJ,GCzFO,ICIDE,GAASxP,GAAAA,GAAAA,GAAA,CAAA,EDJqC,CAClDyP,qBEDyBvN,EAAuB3B,EAAiB8M,GAC3D,IAAAhP,EAAiCgC,GAAW6B,EAAY3B,EAAW8M,EAAG7M,MAA3Drf,YAAQmgB,cAEnBP,EAAauC,EAAK9wB,IAAI+tB,EAAW8M,EAAG7M,MAE1C,IAAKN,EAAKC,OAAOY,GACf,MAAM,IAAIN,MAAM,yCAGlBtf,EAAO6d,OAAOsC,EAAUtH,MAAQqT,EAAGrK,OAAQqK,EAAGjN,KAAMqK,GAAc1J,GACpE,EFRE2O,qBGHyBxN,EAAuB3B,EAAiB8M,GAC3D,IAAAhP,EAAiCgC,GAAW6B,EAAY3B,EAAW8M,EAAG7M,MAA3Drf,YAAQmgB,cAEzBngB,EAAOwS,OAAO2N,EAAUtH,MAAQqT,EAAGrK,OAAQqK,EAAGjN,KAAKpqB,OACrD,IFGK03B,KAEHiC,cANW,WAAO,IGgBpB,IAAMC,GAAuBz4B,OAAO,uBAC9B04B,GAAkC14B,OAAO,8BAEzC24B,GAAmC,IAAIxzB,QACvCyzB,GAAgD,IAAIzzB,QACpD0zB,GAA6B,IAAIC,QAoB1BC,GAAY,CACvBC,qBAAYr8B,GACV,OACEm5B,EAAOmD,SAASt8B,IACZA,EAAoBouB,sBAAsBf,EAAEC,SAC7C,gBAAiBttB,GACjB,0BAA2BA,GACuB,mBAA1CA,EAAoBu8B,mBACqB,mBAAzCv8B,EAAoBw8B,kBACsB,mBAA1Cx8B,EAAoBy8B,mBACkB,mBAAtCz8B,EAAoB08B,eACY,mBAAhC18B,EAAoB28B,SACe,mBAAnC38B,EAAoB48B,UAEnC,EAEAC,sBAAatF,SACX,OAAgC,QAAzBhN,EAAA0R,GAAcv9B,IAAI64B,UAAO,IAAAhN,EAAAA,EAAI,EACtC,EAEAgS,kBAAiB,SAAChF,EAAmB2B,EAA+BiC,GAClE5D,EAAOgF,kBAAkBrD,EAAQiC,EACnC,EAEAqB,iBAAgB,SAACjF,EAAmBgC,GAClChC,EAAOiF,iBAAiBjD,EAC1B,EAEAkD,2BAAkBlF,GAChBA,EAAOkF,mBACT,EAEAK,mBAAUvF,GACR,OAAO2E,GAAUpzB,IAAIyuB,EACvB,EAEAoF,iBAAQpF,GACNA,EAAOoF,SACT,EAEAC,oBAAWrF,GACTA,EAAOqF,YACT,EAEAG,iBAAQxF,GACN,OAAOA,EAAOmF,cAAcN,GAAUjB,OAAO5D,GAC/C,EAEA4D,gBAAO5D,GACL,IAAM4D,EAASa,GAAOt9B,IAAI64B,GAE1B,YAAkB31B,IAAXu5B,EAAuBA,EAAS5D,EAAOyF,WAChD,EAEAC,WAAU,SAAC1F,EAAmB4D,EAAiB76B,GAC7C,IAAMwf,EAAOsc,GAAUjB,OAAO5D,GAE9ByE,GAAOnzB,IAAI0uB,EAAQ4D,GACnB76B,IACA07B,GAAOnzB,IAAI0uB,EAAQzX,EACrB,EAEAod,cAAa,SAAC3F,EAAmB7yB,EAAamc,GACpC,IAAAuN,EAA6DmJ,EAAMnJ,WAAhC+O,EAA0B5F,EAAM6F,sBAE3ExO,GAAyBR,GAEzB,IAAM3N,EAAWwO,GAA6Bb,EAAYmJ,EAAQ1W,GAElEuN,EAAWU,IAAIuO,SAAS,WACtBvN,GAAkB1B,EAAY1pB,EAAK+b,EACrC,EAAG0c,EACL,EAEAG,qBAAoB,SAAC/F,EAAmB7yB,GAC9B,IAAA0pB,EAA6DmJ,EAAMnJ,WAAhC+O,EAA0B5F,EAAM6F,sBAE3ExO,GAAyBR,GAEzBA,EAAWU,IAAIuO,SAAS,YjCjBtB,SAA+BjP,EAAuB1pB,GAC1D0pB,EAAW6L,gBAAgBjL,GAAyBtqB,EACtD,CiCgBM44B,CAAqBlP,EAAY1pB,EACnC,EAAGy4B,EACL,EAEA1c,SAAQ,SAAC8W,EAAmB7yB,GAC1B,IAAM+b,EjC/DJ,SAA4B2N,EAAuB1pB,GACvD,IAAM64B,EAAcnP,EAAW4J,aAAahJ,GAAyBtqB,GAErE,OAAK64B,EAIElQ,EAAEmD,uBAAuB+M,GAHvB,IAIX,CiCuDqBC,CAAkBjG,EAAOnJ,WAAY1pB,GAEtD,GAAK+b,EAIL,OAAO2O,GAA6BmI,EAAOnJ,WAAYmJ,EAAQ9W,EACjE,EAEAgd,iCAAwBlG,GACtB,OjC/D+BnJ,EiC+DLmJ,EAAOnJ,WjC9D5B5vB,OAAOwc,YACZxc,OAAOkb,QAAQ0U,EAAWmC,iBACvBpf,OAAO,SAACoZ,GAAU,OAAVC,GAAAD,EAAA,GAAI,GAAUZ,WAAWqF,GAAf,GAClB9d,IAAI,SAACqZ,GAAA,IAAAa,EAAAZ,QAAC9lB,EAAG0mB,EAAA,GAAE3K,EAAQ2K,EAAA,GAAM,MAAA,CACxB1mB,EAAIhE,MAAMsuB,IACV3B,EAAEqQ,+BAA+Bjd,GAFT,IAJ1B,IAA6B2N,CiCgEjC,GAaI,SAAUuP,GAAQvP,EAAuBhkB,GAC7C,YAD6C,IAAAA,IAAAA,EAAA,CAAA,GACtC,SAA6BmtB,WAC5BqG,EAAIrG,EAEVqG,EAAExP,WAAaA,EAEfwP,EAAEZ,YAAiC,QAAnBzS,EAAAngB,EAAQ4yB,mBAAW,IAAAzS,EAAAA,EAAIuR,GACvC8B,EAAER,sBAAqD,QAA7BhS,EAAAhhB,EAAQgzB,6BAAqB,IAAAhS,EAAAA,EAAI2Q,GAE3D6B,EAAErB,kBAAoB,SAACrD,EAAQiC,GAC7BiB,GAAUK,kBAAkBmB,GAE5BzE,EAAOC,mBAAmBwE,EAAG,WAC3BxB,GAAUa,WAAWW,EAAGzC,EAAQ,WAC9BlC,GAAe2E,EAAExP,WAAYwP,EAAG1E,EAClC,EACF,EACF,EAEA0E,EAAElB,cAAgB,SAAAvB,GAAU,OAAAA,IAAWyC,EAAEZ,WAAb,EAE5B,IAAMa,EAAgB,SAAC3E,EAA+B4E,GAChDF,EAAElB,cAAcoB,EAAY3C,SAIhCiB,GAAUG,kBAAkBqB,EAAG1E,EAAQ4E,EAAY3C,OACrD,EAEI4C,EAA6D,KAE7D3zB,EAAQ4zB,cACVD,EAAuBE,WAAW,WAChCF,EAAuB,KACvB3B,GAAUO,QAAQiB,EACpB,IAGFA,EAAEjB,QAAU,WACV,GAAIP,GAAUU,UAAUc,GACtB,MAAM,IAAIjR,MAAM,qBAGlBiR,EAAExP,WAAW8P,YAAYL,GACzB,IAAM5oB,EAAU4hB,GAAoB+G,EAAExP,YAEtCwP,EAAE7Q,SAAW9X,EAAQ8X,SACrBmP,GAAUnc,IAAI6d,GAEdzE,EAAOvrB,UAAU2pB,EAAQ,CAAE4G,OAAO,IAC7B5G,EAAO6G,WAAWl8B,QACrBq1B,EAAO8G,UAEX,EAEAT,EAAEhB,WAAa,WACTmB,GACFO,aAAaP,GAGf3B,GAAUK,kBAAkBmB,GAC5BA,EAAExP,WAAWmQ,cAAcV,GAC3B3B,GAAUrc,OAAO+d,EACnB,EAEAA,EAAEpB,iBAAmB,SAAAjD,GACnB0C,GAAcpzB,IAAI+0B,EAAChO,GAAAA,GAAA,GAAApF,GACd4R,GAAUS,aAAae,KAAE,GAAA,CAC5B,CAAErE,GAAEA,EAAEzK,IAAKyI,EAAOxK,SAAUoO,OAAQiB,GAAUjB,OAAOyC,SAEzD,EAEAA,EAAEnB,kBAAoB,WACpB7N,GAAyBgP,EAAExP,YAC3B,IAAMyO,EAAeT,GAAUS,aAAae,GAE5C3B,GAAcpc,OAAO+d,GAErB,IAAMY,EAA4B,GAElC3B,EAAa5rB,QAAQ,SAAAgnB,GACnB,IAAMwG,EAAeD,EAASA,EAASt8B,OAAS,GAEhD,GAAIu8B,GAAgBA,EAAa,GAAGtD,SAAWlD,EAAOkD,OACpD,OAAOsD,EAAaz5B,KAAKizB,GAG3BuG,EAASx5B,KAAK,CAACizB,GACjB,GAEAuG,EAASvtB,QAAQ,SAAAytB,GACf9P,GAAyBgP,EAAExP,YAE3BwP,EAAExP,WAAWU,IAAIuO,SAAS,WACxBqB,EAAQztB,QAAQ,SAAAgnB,GACdrJ,GAAyBgP,EAAExP,qBH5OVA,EAAuB3B,EAAiB8M,GACnE,IAAMp6B,EAAQu8B,GAAUnC,EAAG9vB,MAE3B,IAAKtK,EACH,MAAM,IAAIwtB,MAAM,sBAAA/f,OAAsB2sB,EAAG9vB,OAG3CtK,EAAMivB,EAAY3B,EAAW8M,EAC/B,CGsOYoF,CAAaf,EAAExP,WAAY,CAAErB,SAAUkL,EAAOnJ,KAAOmJ,EAAOsB,GAC9D,EACF,EAAGmF,EAAQ,GAAGvD,OAChB,EACF,EAEQ,IAAAh8B,EAAoBy+B,EAACz+B,MAAdk/B,EAAaT,EAACS,SAkB7B,OAhBAT,EAAEz+B,MAAQ,SAAAo6B,GACJ6C,GAAUU,UAAUc,IAAMxB,GAAUW,QAAQa,IAC9CxB,GAAUI,iBAAiBoB,EAAGrE,GAGhCp6B,EAAMo6B,EACR,EAEAqE,EAAES,SAAW,WACPjC,GAAUU,UAAUc,IACtBxB,GAAUK,kBAAkBmB,GAG9BS,GACF,EAEOT,CACT,CACF,CCzQA,IAAMgB,GAGF,IAAIp2B,QAoBKq2B,GAAe,CAC1BC,wBAAe9+B,GACb,OACEo8B,GAAUC,YAAYr8B,IAClBA,EAAuB++B,WAC2B,iBAA3C/+B,EAAuBg/B,iBACwB,iBAA/Ch/B,EAAuBi/B,qBACuB,mBAA9Cj/B,EAAuBk/B,oBACmB,mBAA1Cl/B,EAAuBm/B,cAEtC,EAEAD,mBAAkB,SAChB3H,EACAxG,QAAA,IAAAA,IAAAA,EAAsBwG,EAAO6H,WAE7B7H,EAAO2H,mBAAmBnO,EAC5B,EAEAoO,eAAc,SACZ5H,EACA5pB,GAEA4pB,EAAO4H,eAAexxB,EACxB,EAEA0xB,GAAE,SACA9H,EACAC,EACA8H,SAEA,GAAc,WAAV9H,EAAJ,CAIA,IAAM+H,EAAqD,QAAzChV,EAAAqU,GAA8BlgC,IAAI64B,UAAO,IAAAhN,EAAAA,EAAI,IAAIiV,IAEnED,EAAUxf,IAAIuf,GACV/H,GAAUqH,GAA8B/1B,IAAI0uB,EAAQgI,EALxD,CAMF,EAEAE,IAAG,SACDlI,EACAC,EACAkI,GAEA,GAAc,WAAVlI,EAAJ,CAIA,IAAM+H,EAAYX,GAA8BlgC,IAAI64B,GAEhDgI,GACFA,EAAU1f,OAAO6f,EALnB,CAOF,EAEAC,YAAW,SACTpI,EACAqI,SAEA,GAAIA,IAAarI,EAAOwH,UAAUc,WAAazD,GAAUU,UAAUvF,GACjE,OAAO,KAGT,IAAMtuB,EAAQsuB,EAAOwH,UAAUe,YAAYphC,IAAIkhC,GAE/C,OAAK32B,EAIE,CACL82B,kBAAoD,UAAjC92B,EAAMsuB,EAAO0H,4BAAoB,IAAA1U,EAAAA,EAAI,KACxD5c,KAAM1E,EAAMsuB,EAAOyH,iBACnBY,SAAQA,GAND,IAQX,EAEAI,sBACEzI,GAEA,OAAK6E,GAAUU,UAAUvF,GAIlB/4B,OAAOwc,YACZjM,MAAMuE,KAAKikB,EAAOwH,UAAUe,YAAYpmB,UAAW,SAAC6Q,GAAA,IAAAa,EAAAZ,QAAC/kB,EAAE2lB,EAAA,GAAEniB,EAAKmiB,EAAA,GAE5D,OAAI3lB,IAAO8xB,EAAOwH,UAAUc,UAAa52B,EAIlC,CACLxD,EACA,CACEs6B,kBAAmB92B,EAAMsuB,EAAO0H,qBAChCtxB,KAAM1E,EAAMsuB,EAAOyH,mBAPd,IAUX,GAAG7tB,OAAOpC,MAAMD,UAjBT,CAAA,CAmBX,GAgBI,SAAUmxB,GACdlB,EACA30B,GAEA,YAFA,IAAAA,IAAAA,EAAA,CAAA,GAEO,SAAgCmtB,GAEnC,IAAAhN,EAIEngB,EAAO81B,iBAJSjB,OAAmB,IAAA1U,EAAG,YAAWA,EACnDa,EAGEhhB,EAAO40B,gBAHTA,OAAe,IAAA5T,EAAG,OAAMA,EACxBC,EAEEjhB,EAAO+1B,SAFTA,OAAQ,IAAA9U,GAAOA,EACf1d,EACEvD,OACEwzB,EAAIrG,EAEVqG,EAAEmB,UAAYA,EACdnB,EAAEoB,gBAAkBA,EACpBpB,EAAEqB,oBAAsBA,EAExBrB,EAAEuB,eAAiB,SAACiB,GAClBxC,EAAEmB,UAAUsB,mBAAmBzC,EAAEoB,gBAAiBoB,EACpD,EAEAxC,EAAEsB,mBAAqB,SAAAnO,GACrB,IAAMuP,EAAa1C,EAAEmB,UAAUwB,gBACzBC,EAAeF,eAAAA,EAAarB,GAElC,GAAKlO,EAAL,CAQM,IAAAxG,EAAoBuG,GAA0B8M,EAAExP,WAAYwP,EAAG7M,GAA7D1P,WAAQ2P,UAGbwP,GACGnT,EAAEoT,yBAAyBpf,EAAQmf,IACnCnT,EAAEoT,yBAAyBzP,EAAOwP,IAEtC5C,EAAEmB,UAAUsB,mBAAmBzC,EAAEqB,oBAAqB,CAAE5d,OAAMA,EAAE2P,MAAKA,GATvE,MALMwP,GACF5C,EAAEmB,UAAUsB,mBAAmBzC,EAAEqB,oBAAqB,KAe5D,EAEA,IAAMyB,EAA2D,SAAAC,GAC/D,IAAMpB,EAAYX,GAA8BlgC,IAAIk/B,GAEpD,GAAK2B,EAAL,CAIA,IAAMqB,EAAUhD,EAAEmB,UAAUc,SACtBrI,EAAQ,CACZqJ,MAAOF,EAAOE,MAAM1vB,OAAO,SAAA1L,GAAM,OAAAA,IAAOm7B,CAAP,GACjChhB,QAAS+gB,EAAO/gB,QAAQzO,OAAO,SAAA1L,GAAM,OAAAA,IAAOm7B,CAAP,GACrCE,QAASH,EAAOG,QAAQ3vB,OAAO,SAAA1L,GAAM,OAAAA,IAAOm7B,CAAP,KAGnCpJ,EAAMqJ,MAAM3+B,OAAS,GAAKs1B,EAAM5X,QAAQ1d,OAAS,GAAKs1B,EAAMsJ,QAAQ5+B,OAAS,IAC/Eq9B,EAAUtuB,QAAQ,SAAAyuB,GAAY,OAAAA,EAASlI,EAAT,EAVhC,CAYF,EAEQmF,EAAwBiB,EAACjB,QAAhBC,EAAegB,EAAChB,WA0CjC,OAxCAgB,EAAEjB,QAAU,WAWV,GAVAA,IAEAiB,EAAEmB,UAAUM,GAAG,SAAUqB,GAEzBA,EAAwB,CACtB9gB,QAAS,GACTihB,MAAO9xB,MAAMuE,KAAKsqB,EAAEmB,UAAUe,YAAYp3B,QAC1Co4B,QAAS,KAGPX,EAAU,CACRxyB,GACFkxB,GAAaM,eAAevB,EAAGjwB,GAGzB,IAAAozB,EAAanD,EAACS,SAEtBT,EAAES,SAAW,WACX0C,IAEI3E,GAAUU,UAAUc,IACtBiB,GAAaK,mBAAmBtB,EAEpC,CACF,CACF,EAEAA,EAAEhB,WAAa,WACbgB,EAAEmB,UAAUU,IAAI,SAAUiB,GAE1BA,EAAwB,CACtB9gB,QAAS7Q,MAAMuE,KAAKsqB,EAAEmB,UAAUe,YAAYp3B,QAC5Cm4B,MAAO,GACPC,QAAS,KAGXlE,GACF,EAEOgB,CACT,CACF,CChQA,IAAMoD,GAAwD,IAAIx4B,QAC5Dy4B,GAAgC59B,OAAO,oCAYhC69B,GAAiB,CAC5BC,0BAAiBnhC,GACf,OACEo8B,GAAUC,YAAYr8B,IAClBA,EAAyBohC,uBAAuB/T,EAAEgU,aACT,mBAAlCrhC,EAAyBshC,MACS,mBAAlCthC,EAAyBuhC,MACjC,wBAAyBvhC,CAEhC,EAEAwhC,iBAAQjK,GACN,OAAOA,EAAO6J,YAAYK,UAAUv/B,OAAS,CAC/C,EAEAw/B,iBAAQnK,GACN,OAAOA,EAAO6J,YAAYO,UAAUz/B,OAAS,CAC/C,EAEA0/B,kBAASrK,GACP,OAAOA,EAAO6J,YAAYS,eAAe/4B,IAAIszB,GAAUjB,OAAO5D,GAChE,EAEAuK,cAAa,SAACvK,EAAwBj3B,GACpC87B,GAAUa,WAAW1F,EAAQA,EAAOwK,oBAAqBzhC,EAC3D,GAOI,SAAU0hC,GAAa53B,GAC3B,YAD2B,IAAAA,IAAAA,EAAA,CAAA,GACpB,SAAgCmtB,GACrC,IAAMqG,EAAIrG,EAIRhN,EAGEngB,EAAO23B,oBAHTA,OAAmB,IAAAxX,EAAG0W,GAA6B1W,EACnDa,EAEEhhB,EAAOy3B,eAFTA,OAAc,IAAAzW,EAAG,IAAIoU,IAAI,CAAC5B,EAAEZ,cAAa5R,EACtC6W,EAAW/K,GACZ9sB,EAJE,CAAA,sBAAA,mBAMAg3B,EAAc,IAAI/T,EAAEgU,YAAYzD,EAAExP,eACtCyT,eAAcA,GACXI,IAGLrE,EAAEwD,YAAcA,EAChBxD,EAAEmE,oBAAsBA,EAEhB,IAAA1D,EAA4BT,EAACS,SAAnB3B,EAAkBkB,EAAClB,cAErCkB,EAAES,SAAW,WACXA,IAEA2C,GAAen4B,IAAI+0B,EAAGA,EAAEwB,WAAatO,GAA0B8M,EAAExP,WAAYwP,EAAGA,EAAEwB,WACpF,EAEAxB,EAAElB,cAAgB,SAAAvB,GAAU,OAAAA,IAAWyC,EAAEmE,qBAAuBrF,EAAcvB,EAAlD,EAE5B,IAAM+G,EAAuB,SAAC3X,GAC5B,IAAA4X,EAAS5X,EAAA4X,UAKTA,EAAUzlB,KAAK7T,IACb,YACA+0B,EAAEwB,WAAatO,GAA0B8M,EAAExP,WAAYwP,EAAGA,EAAEwB,YAE9D+C,EAAUzlB,KAAK7T,IAAI,kBAAmBm4B,GAAetiC,IAAIk/B,GAC3D,EAEMwE,EAAyB,SAAC7X,GACrBA,EAAA4X,UAKCzlB,KAAK7T,IACb,YACA+0B,EAAEwB,WAAatO,GAA0B8M,EAAExP,WAAYwP,EAAGA,EAAEwB,WAEhE,EAEMiD,EAAwB,SAAC9X,OAC7B4X,EAAS5X,EAAA4X,UAOHG,EAAwB,SAN1B/X,EAAA9gB,KAMmCm0B,EAAEwD,YAAYO,UAAY/D,EAAEwD,YAAYK,UACzEc,EAAcD,EAAaA,EAAapgC,OAAS,GAEnDqgC,IACFA,EAAY7lB,KAAK7T,IAAI,YAAas5B,EAAUzlB,KAAKhe,IAAI,oBACrD6jC,EAAY7lB,KAAK7T,IAAI,kBAAmBs5B,EAAUzlB,KAAKhe,IAAI,eAG7D,IAAMqhC,EAAoBoC,EAAUzlB,KAAKhe,IAAI,mBAE7C,GAAKqhC,EAAL,CAIA,IAAMX,EAAYnO,GAA0B2M,EAAExP,WAAYwP,EAAGmC,GAExDX,GAILoD,EAAWC,OAAO7E,EAAGwB,EARrB,CASF,EAEQzC,EAAwBiB,EAACjB,QAAhBC,EAAegB,EAAChB,WAgCjC,OA9BAgB,EAAEjB,QAAU,WACVA,IAEAiB,EAAEwD,YAAY/B,GAAG,mBAAoB6C,GACrCtE,EAAEwD,YAAY/B,GAAG,oBAAqBgD,GACtCzE,EAAEwD,YAAY/B,GAAG,qBAAsB+C,EACzC,EAEAxE,EAAEhB,WAAa,WACbgB,EAAEwD,YAAY3B,IAAI,mBAAoByC,GACtCtE,EAAEwD,YAAY3B,IAAI,oBAAqB4C,GACvCzE,EAAEwD,YAAY3B,IAAI,qBAAsB2C,GAExCxF,GACF,EAEAgB,EAAE0D,KAAO,WACHlF,GAAUU,UAAUc,KACtBxB,GAAUK,kBAAkBmB,GAC5BA,EAAEwD,YAAYE,OAElB,EAEA1D,EAAE2D,KAAO,WACHnF,GAAUU,UAAUc,KACtBxB,GAAUK,kBAAkBmB,GAC5BA,EAAEwD,YAAYG,OAElB,EAEO3D,CACT,CACF","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,178]}