request-iframe 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/QUICKSTART.CN.md +4 -2
- package/QUICKSTART.md +4 -2
- package/README.CN.md +129 -33
- package/README.md +116 -15
- package/cdn/request-iframe-react.umd.js +3354 -0
- package/cdn/request-iframe-react.umd.js.map +1 -0
- package/cdn/request-iframe-react.umd.min.js +2 -0
- package/cdn/request-iframe-react.umd.min.js.map +1 -0
- package/cdn/request-iframe.umd.js +19735 -0
- package/cdn/request-iframe.umd.js.map +1 -0
- package/cdn/request-iframe.umd.min.js +4 -0
- package/cdn/request-iframe.umd.min.js.map +1 -0
- package/esm/api/client.js +29 -21
- package/esm/api/endpoint.js +229 -0
- package/esm/api/server.js +16 -8
- package/esm/constants/debug.js +17 -0
- package/esm/constants/index.js +84 -67
- package/esm/constants/log.js +11 -0
- package/esm/constants/messages.js +3 -0
- package/esm/constants/warn-once.js +15 -0
- package/esm/endpoint/facade.js +390 -0
- package/esm/endpoint/heartbeat/heartbeat.js +60 -0
- package/esm/endpoint/heartbeat/ping.js +20 -0
- package/esm/endpoint/index.js +13 -0
- package/esm/endpoint/infra/hub.js +316 -0
- package/esm/endpoint/infra/inbox.js +232 -0
- package/esm/endpoint/infra/outbox.js +408 -0
- package/esm/endpoint/stream/dispatcher.js +58 -0
- package/esm/endpoint/stream/errors.js +27 -0
- package/esm/endpoint/stream/factory.js +76 -0
- package/esm/endpoint/stream/file-auto-resolve.js +34 -0
- package/esm/endpoint/stream/file-writable.js +105 -0
- package/esm/endpoint/stream/handler.js +26 -0
- package/esm/{core → impl}/client.js +240 -317
- package/esm/{core → impl}/response.js +113 -155
- package/esm/impl/server.js +568 -0
- package/esm/index.js +13 -6
- package/esm/message/ack.js +27 -0
- package/esm/message/channel-cache.js +108 -0
- package/esm/message/channel.js +90 -4
- package/esm/message/dispatcher.js +88 -75
- package/esm/stream/error.js +22 -0
- package/esm/stream/index.js +3 -1
- package/esm/stream/readable-stream.js +45 -9
- package/esm/stream/stream-core.js +7 -2
- package/esm/stream/writable-stream.js +97 -26
- package/esm/utils/blob.js +16 -0
- package/esm/utils/cache.js +25 -76
- package/esm/utils/content-type.js +81 -0
- package/esm/utils/debug.js +156 -179
- package/esm/utils/hooks.js +130 -0
- package/esm/utils/id.js +14 -0
- package/esm/utils/iframe.js +20 -0
- package/esm/utils/index.js +11 -163
- package/esm/utils/is.js +3 -0
- package/esm/utils/logger.js +55 -0
- package/esm/utils/promise.js +3 -0
- package/esm/utils/window.js +31 -0
- package/library/api/client.d.ts.map +1 -1
- package/library/api/client.js +30 -22
- package/library/api/endpoint.d.ts +23 -0
- package/library/api/endpoint.d.ts.map +1 -0
- package/library/api/endpoint.js +235 -0
- package/library/api/server.d.ts +4 -1
- package/library/api/server.d.ts.map +1 -1
- package/library/api/server.js +16 -8
- package/library/constants/debug.d.ts +18 -0
- package/library/constants/debug.d.ts.map +1 -0
- package/library/constants/debug.js +23 -0
- package/library/constants/index.d.ts +22 -2
- package/library/constants/index.d.ts.map +1 -1
- package/library/constants/index.js +110 -67
- package/library/constants/log.d.ts +12 -0
- package/library/constants/log.d.ts.map +1 -0
- package/library/constants/log.js +17 -0
- package/library/constants/messages.d.ts +3 -0
- package/library/constants/messages.d.ts.map +1 -1
- package/library/constants/messages.js +3 -0
- package/library/constants/warn-once.d.ts +12 -0
- package/library/constants/warn-once.d.ts.map +1 -0
- package/library/constants/warn-once.js +22 -0
- package/library/endpoint/facade.d.ts +238 -0
- package/library/endpoint/facade.d.ts.map +1 -0
- package/library/endpoint/facade.js +398 -0
- package/library/endpoint/heartbeat/heartbeat.d.ts +34 -0
- package/library/endpoint/heartbeat/heartbeat.d.ts.map +1 -0
- package/library/endpoint/heartbeat/heartbeat.js +67 -0
- package/library/endpoint/heartbeat/ping.d.ts +18 -0
- package/library/endpoint/heartbeat/ping.d.ts.map +1 -0
- package/library/endpoint/heartbeat/ping.js +26 -0
- package/library/endpoint/index.d.ts +16 -0
- package/library/endpoint/index.d.ts.map +1 -0
- package/library/endpoint/index.js +114 -0
- package/library/endpoint/infra/hub.d.ts +170 -0
- package/library/endpoint/infra/hub.d.ts.map +1 -0
- package/library/endpoint/infra/hub.js +323 -0
- package/library/endpoint/infra/inbox.d.ts +73 -0
- package/library/endpoint/infra/inbox.d.ts.map +1 -0
- package/library/endpoint/infra/inbox.js +239 -0
- package/library/endpoint/infra/outbox.d.ts +149 -0
- package/library/endpoint/infra/outbox.d.ts.map +1 -0
- package/library/endpoint/infra/outbox.js +415 -0
- package/library/endpoint/stream/dispatcher.d.ts +33 -0
- package/library/endpoint/stream/dispatcher.d.ts.map +1 -0
- package/library/endpoint/stream/dispatcher.js +66 -0
- package/library/endpoint/stream/errors.d.ts +20 -0
- package/library/endpoint/stream/errors.d.ts.map +1 -0
- package/library/endpoint/stream/errors.js +32 -0
- package/library/endpoint/stream/factory.d.ts +44 -0
- package/library/endpoint/stream/factory.d.ts.map +1 -0
- package/library/endpoint/stream/factory.js +82 -0
- package/library/endpoint/stream/file-auto-resolve.d.ts +26 -0
- package/library/endpoint/stream/file-auto-resolve.d.ts.map +1 -0
- package/library/endpoint/stream/file-auto-resolve.js +41 -0
- package/library/endpoint/stream/file-writable.d.ts +33 -0
- package/library/endpoint/stream/file-writable.d.ts.map +1 -0
- package/library/endpoint/stream/file-writable.js +115 -0
- package/library/endpoint/stream/handler.d.ts +20 -0
- package/library/endpoint/stream/handler.d.ts.map +1 -0
- package/library/endpoint/stream/handler.js +32 -0
- package/library/{core → impl}/client.d.ts +16 -13
- package/library/impl/client.d.ts.map +1 -0
- package/library/{core → impl}/client.js +251 -330
- package/library/{core → impl}/request.d.ts.map +1 -1
- package/library/{core → impl}/response.d.ts +5 -10
- package/library/impl/response.d.ts.map +1 -0
- package/library/{core → impl}/response.js +113 -155
- package/library/{core → impl}/server.d.ts +22 -55
- package/library/impl/server.d.ts.map +1 -0
- package/library/impl/server.js +575 -0
- package/library/index.d.ts +13 -6
- package/library/index.d.ts.map +1 -1
- package/library/index.js +16 -16
- package/library/message/ack.d.ts +15 -0
- package/library/message/ack.d.ts.map +1 -0
- package/library/message/ack.js +33 -0
- package/library/message/channel-cache.d.ts +26 -0
- package/library/message/channel-cache.d.ts.map +1 -0
- package/library/message/channel-cache.js +115 -0
- package/library/message/channel.d.ts +53 -6
- package/library/message/channel.d.ts.map +1 -1
- package/library/message/channel.js +94 -8
- package/library/message/dispatcher.d.ts +7 -0
- package/library/message/dispatcher.d.ts.map +1 -1
- package/library/message/dispatcher.js +89 -76
- package/library/stream/error.d.ts +24 -0
- package/library/stream/error.d.ts.map +1 -0
- package/library/stream/error.js +29 -0
- package/library/stream/index.d.ts +4 -1
- package/library/stream/index.d.ts.map +1 -1
- package/library/stream/index.js +7 -4
- package/library/stream/readable-stream.d.ts.map +1 -1
- package/library/stream/readable-stream.js +46 -10
- package/library/stream/stream-core.d.ts.map +1 -1
- package/library/stream/stream-core.js +6 -1
- package/library/stream/writable-stream.d.ts.map +1 -1
- package/library/stream/writable-stream.js +99 -28
- package/library/types/index.d.ts +15 -19
- package/library/types/index.d.ts.map +1 -1
- package/library/utils/blob.d.ts +3 -0
- package/library/utils/blob.d.ts.map +1 -0
- package/library/utils/blob.js +22 -0
- package/library/utils/cache.d.ts +10 -20
- package/library/utils/cache.d.ts.map +1 -1
- package/library/utils/cache.js +25 -79
- package/library/utils/content-type.d.ts +13 -0
- package/library/utils/content-type.d.ts.map +1 -0
- package/library/utils/content-type.js +87 -0
- package/library/utils/debug.d.ts.map +1 -1
- package/library/utils/debug.js +155 -177
- package/library/utils/hooks.d.ts +30 -0
- package/library/utils/hooks.d.ts.map +1 -0
- package/library/utils/hooks.js +139 -0
- package/library/utils/id.d.ts +9 -0
- package/library/utils/id.d.ts.map +1 -0
- package/library/utils/id.js +21 -0
- package/library/utils/iframe.d.ts +5 -0
- package/library/utils/iframe.d.ts.map +1 -0
- package/library/utils/iframe.js +25 -0
- package/library/utils/index.d.ts +7 -34
- package/library/utils/index.d.ts.map +1 -1
- package/library/utils/index.js +58 -194
- package/library/utils/is.d.ts +2 -0
- package/library/utils/is.d.ts.map +1 -0
- package/library/utils/is.js +9 -0
- package/library/utils/logger.d.ts +13 -0
- package/library/utils/logger.d.ts.map +1 -0
- package/library/utils/logger.js +63 -0
- package/library/utils/promise.d.ts +2 -0
- package/library/utils/promise.d.ts.map +1 -0
- package/library/utils/promise.js +9 -0
- package/library/utils/window.d.ts +2 -0
- package/library/utils/window.d.ts.map +1 -0
- package/library/utils/window.js +38 -0
- package/package.json +49 -2
- package/react/package.json +2 -1
- package/esm/core/client-server.js +0 -294
- package/esm/core/server.js +0 -776
- package/library/core/client-server.d.ts +0 -97
- package/library/core/client-server.d.ts.map +0 -1
- package/library/core/client-server.js +0 -301
- package/library/core/client.d.ts.map +0 -1
- package/library/core/response.d.ts.map +0 -1
- package/library/core/server.d.ts.map +0 -1
- package/library/core/server.js +0 -781
- /package/esm/{core → impl}/request.js +0 -0
- /package/library/{core → impl}/request.d.ts +0 -0
- /package/library/{core → impl}/request.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-iframe.umd.min.js","sources":["../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/global-this.js","../node_modules/core-js/internals/is-pure.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/environment-user-agent.js","../node_modules/core-js/internals/environment-v8-version.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/iterator-create-constructor.js","../node_modules/core-js/internals/is-possible-prototype.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/function-uncurry-this-accessor.js","../node_modules/core-js/internals/iterator-define.js","../node_modules/core-js/internals/create-iter-result-object.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/internals/dom-iterables.js","../node_modules/core-js/internals/dom-token-list-prototype.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/url-constructor-detection.js","../node_modules/core-js/internals/function-uncurry-this-clause.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/define-built-in-accessor.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/array-set-length.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/get-iterator.js","../node_modules/core-js/internals/array-from.js","../node_modules/core-js/internals/array-slice.js","../node_modules/core-js/internals/string-punycode-to-ascii.js","../node_modules/core-js/internals/validate-arguments-length.js","../node_modules/core-js/internals/safe-get-built-in.js","../node_modules/core-js/internals/define-built-ins.js","../node_modules/core-js/internals/array-sort.js","../node_modules/core-js/modules/web.url-search-params.constructor.js","../node_modules/core-js/modules/es.string.from-code-point.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/modules/web.url.constructor.js","../node_modules/core-js/internals/object-assign.js","../node_modules/core-js/modules/web.url.js","../node_modules/core-js/modules/web.url.to-json.js","../node_modules/core-js/modules/web.url-search-params.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/modules/es.array.filter.js","../node_modules/core-js/modules/es.object.get-own-property-descriptors.js","../node_modules/core-js/internals/array-method-is-strict.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/core-js/modules/web.dom-collections.for-each.js","../node_modules/core-js/internals/array-for-each.js","../node_modules/core-js/internals/regexp-flags.js","../node_modules/core-js/internals/regexp-sticky-helpers.js","../node_modules/core-js/internals/regexp-unsupported-dot-all.js","../node_modules/core-js/internals/regexp-unsupported-ncg.js","../node_modules/core-js/internals/regexp-exec.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../node_modules/core-js/internals/advance-string-index.js","../node_modules/core-js/internals/get-substitution.js","../node_modules/core-js/internals/regexp-get-flags.js","../node_modules/core-js/internals/regexp-flags-detection.js","../node_modules/core-js/internals/regexp-exec-abstract.js","../esm/constants/messages.js","../node_modules/core-js/modules/es.string.replace.js","../node_modules/core-js/modules/es.array.map.js","../esm/constants/warn-once.js","../esm/constants/log.js","../esm/constants/debug.js","../esm/constants/index.js","../esm/utils/iframe.js","../esm/utils/id.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/core-js/modules/es.regexp.to-string.js","../node_modules/@babel/runtime/helpers/OverloadYield.js","../node_modules/@babel/runtime/helpers/regeneratorDefine.js","../node_modules/@babel/runtime/helpers/regenerator.js","../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js","../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js","../node_modules/@babel/runtime/helpers/regeneratorAsync.js","../node_modules/@babel/runtime/helpers/regeneratorKeys.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorValues.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/core-js/modules/es.symbol.description.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/modules/es.array.from.js","../node_modules/core-js/modules/es.array.slice.js","../node_modules/core-js/modules/es.object.entries.js","../node_modules/core-js/internals/object-to-array.js","../node_modules/core-js/internals/environment.js","../node_modules/core-js/internals/environment-is-node.js","../node_modules/core-js/internals/path.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/a-constructor.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/internals/environment-is-ios.js","../node_modules/core-js/internals/task.js","../node_modules/core-js/internals/queue.js","../node_modules/core-js/internals/microtask.js","../node_modules/core-js/internals/environment-is-ios-pebble.js","../node_modules/core-js/internals/environment-is-webos-webkit.js","../node_modules/core-js/internals/host-report-errors.js","../node_modules/core-js/internals/perform.js","../node_modules/core-js/internals/promise-native-constructor.js","../node_modules/core-js/internals/promise-constructor-detection.js","../node_modules/core-js/internals/new-promise-capability.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../node_modules/core-js/internals/promise-resolve.js","../node_modules/core-js/modules/es.promise.constructor.js","../node_modules/core-js/modules/es.promise.js","../node_modules/core-js/modules/es.promise.all.js","../node_modules/core-js/modules/es.promise.catch.js","../node_modules/core-js/modules/es.promise.race.js","../node_modules/core-js/modules/es.promise.reject.js","../node_modules/core-js/modules/es.promise.resolve.js","../esm/utils/error.js","../node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/core-js/internals/object-is-extensible.js","../node_modules/core-js/internals/array-buffer-non-extensible.js","../node_modules/core-js/internals/internal-metadata.js","../node_modules/core-js/internals/freezing.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/internals/collection.js","../node_modules/core-js/internals/collection-strong.js","../node_modules/core-js/modules/es.map.constructor.js","../esm/utils/protocol.js","../esm/utils/is.js","../esm/utils/window.js","../node_modules/core-js/modules/es.set.constructor.js","../esm/utils/logger.js","../node_modules/core-js/modules/es.array.index-of.js","../node_modules/core-js/internals/does-not-exceed-safe-integer.js","../node_modules/core-js/internals/delete-property-or-throw.js","../esm/utils/hooks.js","../node_modules/core-js/modules/es.array.splice.js","../esm/message/channel.js","../node_modules/core-js/internals/environment-ff-version.js","../node_modules/core-js/internals/environment-is-ie-or-edge.js","../node_modules/core-js/internals/environment-webkit-version.js","../node_modules/core-js/modules/es.array.sort.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/internals/proxy-accessor.js","../esm/utils/ack.js","../esm/message/dispatcher.js","../node_modules/core-js/modules/es.regexp.constructor.js","../node_modules/core-js/modules/es.global-this.js","../node_modules/core-js/modules/esnext.global-this.js","../esm/message/channel-cache.js","../node_modules/core-js/modules/es.promise.finally.js","../esm/stream/error.js","../esm/stream/stream-core.js","../esm/stream/writable-stream.js","../node_modules/core-js/modules/es.array.reduce.js","../node_modules/core-js/internals/array-reduce.js","../node_modules/core-js/internals/array-buffer-basic-detection.js","../node_modules/core-js/internals/array-buffer-view-core.js","../node_modules/core-js/internals/to-index.js","../node_modules/core-js/internals/math-float-round.js","../node_modules/core-js/internals/math-sign.js","../node_modules/core-js/internals/math-round-ties-to-even.js","../node_modules/core-js/internals/ieee754.js","../node_modules/core-js/internals/array-fill.js","../node_modules/core-js/internals/array-buffer.js","../node_modules/core-js/internals/math-fround.js","../node_modules/core-js/internals/is-integral-number.js","../node_modules/core-js/internals/to-positive-integer.js","../node_modules/core-js/internals/to-offset.js","../node_modules/core-js/internals/to-uint8-clamped.js","../node_modules/core-js/internals/is-big-int-array.js","../node_modules/core-js/internals/to-big-int.js","../node_modules/core-js/internals/typed-array-from.js","../node_modules/core-js/internals/array-from-constructor-and-list.js","../node_modules/core-js/internals/typed-array-constructor.js","../node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","../node_modules/core-js/modules/es.typed-array.uint8-array.js","../node_modules/core-js/modules/es.typed-array.fill.js","../node_modules/core-js/modules/es.typed-array.iterator.js","../node_modules/core-js/modules/es.typed-array.set.js","../node_modules/core-js/modules/es.typed-array.sort.js","../node_modules/core-js/modules/es.typed-array.to-string.js","../node_modules/core-js/internals/well-known-symbol-define.js","../node_modules/core-js/internals/well-known-symbol-wrapped.js","../esm/stream/readable-stream.js","../node_modules/core-js/modules/es.symbol.async-iterator.js","../esm/stream/file-stream.js","../esm/stream/index.js","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/correct-is-regexp-logic.js","../esm/utils/blob.js","../esm/endpoint/stream/file-writable.js","../esm/endpoint/infra/outbox.js","../node_modules/core-js/modules/es.string.includes.js","../esm/endpoint/infra/hub.js","../esm/endpoint/heartbeat/ping.js","../esm/endpoint/infra/inbox.js","../esm/message/ack.js","../esm/endpoint/stream/dispatcher.js","../esm/endpoint/heartbeat/heartbeat.js","../esm/endpoint/stream/factory.js","../esm/utils/origin.js","../node_modules/core-js/modules/es.string.starts-with.js","../esm/endpoint/facade.js","../esm/endpoint/stream/handler.js","../esm/endpoint/stream/file-auto-resolve.js","../esm/utils/content-type.js","../node_modules/core-js/modules/es.string.match.js","../node_modules/core-js/modules/es.string.ends-with.js","../node_modules/core-js/internals/whitespaces.js","../esm/utils/cookie.js","../node_modules/core-js/modules/es.string.trim.js","../node_modules/core-js/internals/string-trim.js","../node_modules/core-js/internals/string-trim-forced.js","../esm/interceptors/index.js","../esm/impl/client.js","../esm/utils/debug.js","../esm/utils/path-match.js","../esm/impl/request.js","../esm/impl/response.js","../esm/utils/promise.js","../esm/impl/server.js","../esm/endpoint/stream/errors.js","../esm/utils/cache.js","../esm/api/endpoint.js","../esm/api/client.js","../esm/api/server.js"],"sourcesContent":["'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\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 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';\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 = 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.48.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n license: 'https://github.com/zloirock/core-js/blob/v3.48.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');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\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';\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 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';\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 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 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 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 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 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 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 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';\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 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 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';\nmodule.exports = {};\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\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 getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\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';\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 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 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';\nmodule.exports = {};\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 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 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 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 $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';\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 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 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 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 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 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';\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';\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';\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 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 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 wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\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 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 fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'https://a');\n var params = url.searchParams;\n var params2 = new URLSearchParams('a=1&a=2&b=3');\n var result = '';\n url.pathname = 'c%20d';\n params.forEach(function (value, key) {\n params['delete']('b');\n result += key + value;\n });\n params2['delete']('a', 2);\n // `undefined` case is a Chromium 117 bug\n // https://bugs.chromium.org/p/v8/issues/detail?id=14222\n params2['delete']('b', undefined);\n return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b')))\n || (!params.size && (IS_PURE || !DESCRIPTORS))\n || !params.sort\n || url.href !== 'https://a/c%20d?a=1&c=3'\n || params.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !params[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('https://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('https://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('https://x', undefined).host !== 'x';\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 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 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 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';\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 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 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-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 DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\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 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 setArrayLength = require('../internals/array-set-length');\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 setArrayLength(result, index);\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n if (!DESCRIPTORS) return globalThis[name];\n var descriptor = getOwnPropertyDescriptor(globalThis, name);\n return descriptor && descriptor.value;\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 arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nrequire('../modules/es.string.from-code-point');\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar TypeError = globalThis.TypeError;\nvar encodeURIComponent = globalThis.encodeURIComponent;\nvar fromCharCode = String.fromCharCode;\nvar fromCodePoint = getBuiltIn('String', 'fromCodePoint');\nvar $parseInt = parseInt;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar plus = /\\+/g;\nvar FALLBACK_REPLACER = '\\uFFFD';\nvar VALID_HEX = /^[0-9a-f]+$/i;\n\nvar parseHexOctet = function (string, start) {\n var substr = stringSlice(string, start, start + 2);\n if (!exec(VALID_HEX, substr)) return NaN;\n\n return $parseInt(substr, 16);\n};\n\nvar getLeadingOnes = function (octet) {\n var count = 0;\n for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) {\n count++;\n }\n return count;\n};\n\nvar utf8Decode = function (octets) {\n var codePoint = null;\n\n switch (octets.length) {\n case 1:\n codePoint = octets[0];\n break;\n case 2:\n codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F);\n break;\n case 3:\n codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F);\n break;\n case 4:\n codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F);\n break;\n }\n\n return codePoint > 0x10FFFF ? null : codePoint;\n};\n\nvar decode = function (input) {\n input = replace(input, plus, ' ');\n var length = input.length;\n var result = '';\n var i = 0;\n\n while (i < length) {\n var decodedChar = charAt(input, i);\n\n if (decodedChar === '%') {\n if (charAt(input, i + 1) === '%' || i + 3 > length) {\n result += '%';\n i++;\n continue;\n }\n\n var octet = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (octet !== octet) {\n result += decodedChar;\n i++;\n continue;\n }\n\n i += 2;\n var byteSequenceLength = getLeadingOnes(octet);\n\n if (byteSequenceLength === 0) {\n decodedChar = fromCharCode(octet);\n } else {\n if (byteSequenceLength === 1 || byteSequenceLength > 4) {\n result += FALLBACK_REPLACER;\n i++;\n continue;\n }\n\n var octets = [octet];\n var sequenceIndex = 1;\n\n while (sequenceIndex < byteSequenceLength) {\n i++;\n if (i + 3 > length || charAt(input, i) !== '%') break;\n\n var nextByte = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (nextByte !== nextByte) {\n i += 3;\n break;\n }\n if (nextByte > 191 || nextByte < 128) break;\n\n push(octets, nextByte);\n i += 2;\n sequenceIndex++;\n }\n\n if (octets.length !== byteSequenceLength) {\n result += FALLBACK_REPLACER;\n continue;\n }\n\n var codePoint = utf8Decode(octets);\n if (codePoint === null) {\n result += FALLBACK_REPLACER;\n } else {\n decodedChar = fromCodePoint(codePoint);\n }\n }\n }\n\n result += decodedChar;\n i++;\n }\n\n return result;\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n target: getInternalParamsState(params).entries,\n index: 0,\n kind: kind\n });\n}, URL_SEARCH_PARAMS, function next() {\n var state = getInternalIteratorState(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 var entry = target[index];\n switch (state.kind) {\n case 'keys': return createIterResultObject(entry.key, false);\n case 'values': return createIterResultObject(entry.value, false);\n } return createIterResultObject([entry.key, entry.value], false);\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var entries = this.entries;\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw new TypeError('Expected sequence with length 2');\n push(entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var entries = this.entries;\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(entries, {\n key: decode(shift(entry)),\n value: decode(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var state = setInternalState(this, new URLSearchParamsState(init));\n if (!DESCRIPTORS) this.size = state.entries.length;\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 2);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n if (!DESCRIPTORS) this.size++;\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name /* , value */) {\n var state = getInternalParamsState(this);\n var length = validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index];\n if (entry.key === key && (value === undefined || entry.value === value)) {\n splice(entries, index, 1);\n if (value !== undefined) break;\n } else index++;\n }\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name /* , value */) {\n var entries = getInternalParamsState(this).entries;\n var length = validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index++];\n if (entry.key === key && (value === undefined || entry.value === value)) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n return getInternalParamsState(this).entries.length;\n },\n configurable: true,\n enumerable: true\n});\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar $RangeError = RangeError;\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\nvar join = uncurryThis([].join);\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point');\n elements[i] = code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00);\n } return join(elements, '');\n }\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';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar globalThis = require('../internals/global-this');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = globalThis.URL;\nvar TypeError = globalThis.TypeError;\nvar parseInt = globalThis.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.1.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+/;\nvar TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\n// eslint-disable-next-line no-unassigned-vars -- expected `undefined` value\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] === '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part === '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) === '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix === 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index === partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() === ':') {\n if (charAt(input, 1) !== ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex === 8) return;\n if (chr() === ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() === '.') {\n if (length === 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() === '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece === 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++;\n }\n if (numbersSeen !== 4) return;\n break;\n } else if (chr() === ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex !== 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n return currLength > maxLength ? currStart : maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n }\n return join(result, '.');\n }\n\n // ipv6\n if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n }\n\n return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length === 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length === 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw new TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw new TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_C0_CONTROL_OR_SPACE, '');\n input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) {\n buffer += toLowerCase(chr);\n } else if (chr === ':') {\n if (stateOverride && (\n (url.isSpecial() !== hasOwn(specialSchemes, buffer)) ||\n (buffer === 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme === 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme === 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme === url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] === '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr === '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme === 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr === '/' && codePoints[pointer + 1] === '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr === '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr === EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr === '/' || (chr === '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr === '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr === '/' || chr === '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr === '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr !== '/' && chr !== '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr === '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint === ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer === '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme === 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr === ':' && !seenBracket) {\n if (buffer === '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride === HOSTNAME) return;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer === '') return INVALID_HOST;\n if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr === '[') seenBracket = true;\n else if (chr === ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer !== '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr === '/' || chr === '\\\\') state = FILE_SLASH;\n else if (base && base.scheme === 'file') {\n switch (chr) {\n case EOF:\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n break;\n case '?':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n break;\n case '#':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n break;\n default:\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr === '/' || chr === '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr === EOF || chr === '/' || chr === '\\\\' || chr === '?' || chr === '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer === '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host === 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr !== '/' && chr !== '\\\\') continue;\n } else if (!stateOverride && chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n state = PATH;\n if (chr !== '/') continue;\n } break;\n\n case PATH:\n if (\n chr === EOF || chr === '/' ||\n (chr === '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr === '?' || chr === '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n if (chr === \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr === '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) === '[') {\n if (charAt(input, input.length - 1) !== ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme === 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username !== '' || this.password !== '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme === 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw new TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme === 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme === 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port === '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search === '') {\n this.query = null;\n } else {\n if (charAt(search, 0) === '?') search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash === '') {\n this.fragment = null;\n return;\n }\n if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\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';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return call(URL.prototype.toString, this);\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\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 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');\nvar createProperty = require('../internals/create-property');\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) {\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 resIndex = 0;\n var target = IS_MAP ? arraySpeciesCreate($this, length) : IS_FILTER || IS_FILTER_REJECT ? arraySpeciesCreate($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) createProperty(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: createProperty(target, resIndex++, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: createProperty(target, resIndex++, 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 $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\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","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","'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 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 fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\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';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegExp methods\n var O = {};\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n var constructor = {};\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n constructor[SPECIES] = function () { return re; };\n re = { constructor: constructor, flags: '' };\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n }\n return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\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 call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","import \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.replace.js\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n/**\r\n * Message constants (for multi-language support)\r\n * \r\n * Usage:\r\n * 1. Direct use: Messages.REQUEST_FAILED\r\n * 2. Messages with parameters: Messages.formatMessage(Messages.CONNECT_TIMEOUT, timeout)\r\n * \r\n * Multi-language extension:\r\n * You can use the setMessages() method to replace message content for multi-language support\r\n */\n\n/**\r\n * Default message definitions\r\n */\nvar defaultMessages = {\n /** Protocol related errors */\n INVALID_PROTOCOL_VERSION_FORMAT: 'Invalid protocol version format',\n PROTOCOL_VERSION_TOO_LOW: 'Protocol version {0} is too low, minimum supported version is {1}',\n PROTOCOL_VERSION_UNSUPPORTED: 'Protocol Version Unsupported',\n /** Message format errors */\n INVALID_MESSAGE_FORMAT_NOT_OBJECT: 'Invalid message format: not an object',\n INVALID_MESSAGE_FORMAT_MISSING_PROTOCOL: 'Invalid message format: missing __requestIframe__ field',\n INVALID_MESSAGE_FORMAT_MISSING_TYPE: 'Invalid message format: missing or invalid type field',\n INVALID_MESSAGE_FORMAT_MISSING_REQUEST_ID: 'Invalid message format: missing or invalid requestId field',\n /** Timeout errors */\n ACK_TIMEOUT: 'ACK timeout after {0}ms',\n REQUEST_TIMEOUT: 'Request timeout after {0}ms',\n ASYNC_REQUEST_TIMEOUT: 'Async request timeout after {0}ms',\n /** Request/response errors */\n REQUEST_FAILED: 'Request failed',\n METHOD_NOT_FOUND: 'Method not found',\n NO_RESPONSE_SENT: 'Handler completed but no response sent',\n MIDDLEWARE_ERROR: 'Middleware error',\n ERROR: 'Error',\n TOO_MANY_REQUESTS: 'Too many concurrent requests (limit: {0})',\n HUB_REGISTER_HANDLERS_NOT_SET: 'RequestIframeEndpointHub: registerHandlers is not set',\n /** Client errors */\n IFRAME_NOT_READY: 'iframe.contentWindow is not available',\n TARGET_WINDOW_CLOSED: 'Target window is closed or no longer available',\n /** ClientServer warnings */\n CLIENT_SERVER_IGNORED_MESSAGE_WHEN_CLOSED: 'Ignored message because client server is closed/destroyed (type: {0}, requestId: {1})',\n /** Server warnings */\n SERVER_IGNORED_MESSAGE_WHEN_CLOSED: 'Ignored message because server is closed/destroyed (type: {0}, requestId: {1})',\n /** Stream related messages */\n STREAM_NOT_BOUND: 'Stream is not bound to a request context',\n STREAM_ALREADY_STARTED: 'Stream has already started',\n STREAM_CANCELLED: 'Stream was cancelled: {0}',\n STREAM_ERROR: 'Stream error: {0}',\n STREAM_TIMEOUT: 'Stream idle timeout after {0}ms',\n STREAM_EXPIRED: 'Stream expired after {0}ms',\n STREAM_START_TIMEOUT: 'Stream start timeout after {0}ms',\n STREAM_ENDED: 'Stream has ended',\n STREAM_READ_ERROR: 'Failed to read stream data',\n STREAM_WRITE_ONLY_IN_PUSH_MODE: 'Stream write() is only available when mode is \"push\"',\n STREAM_PENDING_QUEUE_OVERFLOW: 'Stream pending queue overflow (limit: {0})',\n STREAM_PENDING_BYTES_OVERFLOW: 'Stream pending bytes overflow (limit: {0})',\n /** Debug messages - Client */\n DEBUG_CLIENT_REQUEST_START: '📤 [Client] Request Start',\n DEBUG_CLIENT_REQUEST_SUCCESS: '✅ [Client] Request Success',\n DEBUG_CLIENT_REQUEST_SUCCESS_FILE: '✅ [Client] Request Success (File)',\n DEBUG_CLIENT_REQUEST_SUCCESS_STREAM: '✅ [Client] Request Success (Stream)',\n DEBUG_CLIENT_REQUEST_FAILED: '❌ [Client] Request Failed',\n DEBUG_CLIENT_RECEIVED_ACK: '📥 [Client] Received ACK',\n DEBUG_CLIENT_RECEIVED_ASYNC: '⏳ [Client] Received ASYNC Notification',\n DEBUG_CLIENT_RECEIVED_STREAM_START: '🌊 [Client] Received Stream Start',\n DEBUG_CLIENT_RECEIVED_STREAM_DATA: '🌊 [Client] Received Stream Data',\n DEBUG_CLIENT_RECEIVED_STREAM_END: '🌊 [Client] Received Stream End',\n DEBUG_CLIENT_RECEIVED_RESPONSE: '📥 [Client] Received Response',\n DEBUG_CLIENT_RECEIVED_ERROR: '📥 [Client] Received Error',\n DEBUG_CLIENT_REQUEST_TIMEOUT: '⏱️ [Client] Request Timeout',\n DEBUG_CLIENT_SENDING_REQUEST: '📤 [Client] Sending Request',\n DEBUG_CLIENT_SENDING_PING: '📤 [Client] Sending Ping',\n DEBUG_CLIENT_SENDING_RECEIVED_ACK: '📤 [Client] Sending ACK',\n /** Debug messages - Server */\n DEBUG_SERVER_RECEIVED_REQUEST: '📥 [Server] Received Request',\n DEBUG_SERVER_SETTING_STATUS_CODE: '📝 [Server] Setting Status Code',\n DEBUG_SERVER_SETTING_HEADER: '📝 [Server] Setting Header',\n DEBUG_SERVER_SENDING_RESPONSE: '📤 [Server] Sending Response',\n DEBUG_SERVER_SENDING_JSON_RESPONSE: '📤 [Server] Sending JSON Response',\n DEBUG_SERVER_SENDING_FILE: '📤 [Server] Sending File',\n DEBUG_SERVER_SENDING_STREAM: '📤 [Server] Sending Stream',\n DEBUG_SERVER_SENDING_ACK: '📤 [Server] Sending ACK',\n DEBUG_SERVER_SENDING_ASYNC: '📤 [Server] Sending ASYNC Notification',\n DEBUG_SERVER_SENDING_STREAM_START: '🌊 [Server] Sending Stream Start',\n DEBUG_SERVER_SENDING_STREAM_DATA: '🌊 [Server] Sending Stream Data',\n DEBUG_SERVER_SENDING_STREAM_END: '🌊 [Server] Sending Stream End',\n DEBUG_SERVER_SENDING_ERROR: '📤 [Server] Sending Error',\n DEBUG_SERVER_SENDING_RESPONSE_VIA_DISPATCHER: '📤 [Server] Sending Response (via dispatcher)',\n DEBUG_SERVER_HANDLING_REQUEST: '📥 [Server] Handling Request',\n DEBUG_SERVER_EXECUTING_MIDDLEWARE_CHAIN: '⚙️ [Server] Executing Middleware Chain',\n DEBUG_SERVER_MIDDLEWARE_CHAIN_COMPLETED: '✅ [Server] Middleware Chain Completed'\n};\n\n/**\r\n * Message type\r\n */\n\n/**\r\n * Current message configuration\r\n */\nvar currentMessages = _objectSpread({}, defaultMessages);\n\n/**\r\n * Message constants object\r\n */\nexport var Messages = new Proxy(currentMessages, {\n get(target, prop) {\n return target[prop] || prop;\n }\n});\n\n/**\r\n * Set message content (for multi-language support)\r\n * @param messages Custom message content (partial or full)\r\n */\nexport function setMessages(messages) {\n currentMessages = _objectSpread(_objectSpread({}, defaultMessages), messages);\n}\n\n/**\r\n * Reset to default messages\r\n */\nexport function resetMessages() {\n currentMessages = _objectSpread({}, defaultMessages);\n}\n\n/**\r\n * Format message (replace placeholders)\r\n * @param template Message template, using {0}, {1}, etc. as placeholders\r\n * @param args Replacement parameters\r\n * @returns Formatted message\r\n * \r\n * @example\r\n * formatMessage('Connect timeout after {0}ms', 5000)\r\n * // => 'Connect timeout after 5000ms'\r\n * \r\n * formatMessage('Protocol version {0} is too low, minimum supported version is {1}', 0, 1)\r\n * // => 'Protocol version 0 is too low, minimum supported version is 1'\r\n */\nexport function formatMessage(template, ...args) {\n return template.replace(/\\{(\\d+)\\}/g, (match, index) => {\n var argIndex = parseInt(index, 10);\n return argIndex < args.length ? String(args[argIndex]) : match;\n });\n}\n\n/**\r\n * Get current message configuration\r\n */\nexport function getMessages() {\n return _objectSpread({}, currentMessages);\n}","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isObject(searchValue) ? getMethod(searchValue, REPLACE) : undefined;\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var flags = toString(getRegExpFlags(rx));\n var global = stringIndexOf(flags, 'g') !== -1;\n var fullUnicode;\n if (global) {\n fullUnicode = stringIndexOf(flags, 'u') !== -1;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\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","import \"core-js/modules/es.array.map.js\";\n/**\n * warnOnce keys (for deduplication).\n *\n * Keep these centralized to avoid scattered magic strings.\n */\n\nexport var WarnOnceKey = {\n INBOX_MISSING_PENDING_WHEN_CLOSED: 'inbox:missingPendingWhenClosed',\n SERVER_MISSING_PENDING_WHEN_CLOSED: 'server:missingPendingWhenClosed'\n};\nexport function buildWarnOnceKey(prefix, ...parts) {\n if (!parts.length) return prefix;\n return `${prefix}:${parts.map(String).join(':')}`;\n}","/**\n * Log level constants for request-iframe.\n */\n\nexport var LogLevel = {\n TRACE: 'trace',\n INFO: 'info',\n WARN: 'warn',\n ERROR: 'error',\n SILENT: 'silent'\n};","/**\n * Debug constants (event names for structured logs).\n */\n\nexport var DebugEvent = {\n CLIENT_REQUEST_START: 'client.request.start',\n CLIENT_REQUEST_SUCCESS: 'client.request.success',\n CLIENT_REQUEST_SUCCESS_FILE: 'client.request.success.file',\n CLIENT_REQUEST_SUCCESS_STREAM: 'client.request.success.stream',\n CLIENT_REQUEST_FAILED: 'client.request.failed',\n CLIENT_MESSAGE_INBOUND: 'client.message.inbound',\n CLIENT_MESSAGE_OUTBOUND: 'client.message.outbound',\n SERVER_REQUEST_RECEIVED: 'server.request.received',\n SERVER_RESPONSE_SEND: 'server.response.send',\n SERVER_MESSAGE_INBOUND: 'server.message.inbound',\n SERVER_MESSAGE_OUTBOUND: 'server.message.outbound'\n};","/**\n * Protocol version constants\n * Used to identify the protocol version of messages, for compatibility handling in future version upgrades\n * \n * Version compatibility strategy:\n * - Only check minimum supported version, reject deprecated old versions\n * - Don't check maximum version, as new versions usually maintain backward compatibility with old message formats\n * - This way new version servers can be compatible with old version clients, without forcing client upgrades\n */\nexport var ProtocolVersion = {\n /** Current protocol version */\n CURRENT: 2,\n /** Minimum supported protocol version (messages below this version will be rejected) */\n MIN_SUPPORTED: 1\n};\n\n/**\n * Special origin values\n */\nexport var OriginConstant = {\n /** Wildcard origin (postMessage targetOrigin = '*') */\n ANY: '*'\n};\n\n/**\n * Auto-ack (ACK-only) limits.\n */\nexport var AutoAckConstant = {\n /** Max length of ack.id to be echoed back in auto-ack */\n MAX_ID_LENGTH: 1024,\n /** Max length of ack.meta to be echoed back in auto-ack */\n MAX_META_LENGTH: 5120\n};\n\n/**\n * Protocol version type\n */\n\n/**\n * Protocol validation result\n */\n\n/**\n * HTTP status code constants\n */\nexport var HttpStatus = {\n OK: 200,\n CREATED: 201,\n NO_CONTENT: 204,\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n REQUEST_TIMEOUT: 408,\n TOO_MANY_REQUESTS: 429,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503\n};\n\n/**\n * HTTP status text constants\n */\nexport var HttpStatusText = {\n [HttpStatus.OK]: 'OK',\n [HttpStatus.CREATED]: 'Created',\n [HttpStatus.NO_CONTENT]: 'No Content',\n [HttpStatus.BAD_REQUEST]: 'Bad Request',\n [HttpStatus.UNAUTHORIZED]: 'Unauthorized',\n [HttpStatus.FORBIDDEN]: 'Forbidden',\n [HttpStatus.NOT_FOUND]: 'Not Found',\n [HttpStatus.REQUEST_TIMEOUT]: 'Request Timeout',\n [HttpStatus.TOO_MANY_REQUESTS]: 'Too Many Requests',\n [HttpStatus.INTERNAL_SERVER_ERROR]: 'Internal Server Error',\n [HttpStatus.BAD_GATEWAY]: 'Bad Gateway',\n [HttpStatus.SERVICE_UNAVAILABLE]: 'Service Unavailable'\n};\n\n/**\n * Get status text\n */\nexport function getStatusText(code) {\n return HttpStatusText[code] || 'Unknown';\n}\n\n/**\n * Error code constants\n */\nexport var ErrorCode = {\n /** ACK confirmation timeout */\n ACK_TIMEOUT: 'ACK_TIMEOUT',\n /** Request timeout (synchronous) */\n TIMEOUT: 'TIMEOUT',\n /** Async request timeout */\n ASYNC_TIMEOUT: 'ASYNC_TIMEOUT',\n /** Request error */\n REQUEST_ERROR: 'REQUEST_ERROR',\n /** Method not found */\n METHOD_NOT_FOUND: 'METHOD_NOT_FOUND',\n /** No response */\n NO_RESPONSE: 'NO_RESPONSE',\n /** Protocol version not supported */\n PROTOCOL_UNSUPPORTED: 'PROTOCOL_UNSUPPORTED',\n /** iframe not ready */\n IFRAME_NOT_READY: 'IFRAME_NOT_READY',\n /** Stream error */\n STREAM_ERROR: 'STREAM_ERROR',\n /** Stream cancelled */\n STREAM_CANCELLED: 'STREAM_CANCELLED',\n /** Stream not bound */\n STREAM_NOT_BOUND: 'STREAM_NOT_BOUND',\n /** Target window closed */\n TARGET_WINDOW_CLOSED: 'TARGET_WINDOW_CLOSED',\n /** Too many concurrent requests (rate limiting) */\n TOO_MANY_REQUESTS: 'TOO_MANY_REQUESTS',\n /** Stream start not received in time */\n STREAM_START_TIMEOUT: 'STREAM_START_TIMEOUT',\n /** Stream has already started */\n STREAM_ALREADY_STARTED: 'STREAM_ALREADY_STARTED',\n /** Stream has ended */\n STREAM_ENDED: 'STREAM_ENDED',\n /** Stream idle timeout */\n STREAM_TIMEOUT: 'STREAM_TIMEOUT',\n /** Stream expired */\n STREAM_EXPIRED: 'STREAM_EXPIRED',\n /** Stream read error */\n STREAM_READ_ERROR: 'STREAM_READ_ERROR',\n /** Stream write() is only available when mode is push */\n STREAM_WRITE_ONLY_IN_PUSH_MODE: 'STREAM_WRITE_ONLY_IN_PUSH_MODE',\n /** Stream pending queue overflow */\n STREAM_PENDING_QUEUE_OVERFLOW: 'STREAM_PENDING_QUEUE_OVERFLOW',\n /** Stream pending bytes overflow */\n STREAM_PENDING_BYTES_OVERFLOW: 'STREAM_PENDING_BYTES_OVERFLOW'\n};\n\n/**\n * Message type constants\n */\nexport var MessageType = {\n /** Request message */\n REQUEST: 'request',\n /** Acknowledge request received */\n ACK: 'ack',\n /** Async task notification */\n ASYNC: 'async',\n /** Response message */\n RESPONSE: 'response',\n /** Error message */\n ERROR: 'error',\n /** Ping message (for connection detection) */\n PING: 'ping',\n /** Pong message (for connection detection) */\n PONG: 'pong',\n /** Stream start */\n STREAM_START: 'stream_start',\n /** Stream data chunk */\n STREAM_DATA: 'stream_data',\n /** Stream end */\n STREAM_END: 'stream_end',\n /** Stream error */\n STREAM_ERROR: 'stream_error',\n /** Stream cancel */\n STREAM_CANCEL: 'stream_cancel',\n /** Stream pull (receiver requests next chunks) */\n STREAM_PULL: 'stream_pull'\n};\nexport var MessageRole = {\n /** Server role */\n SERVER: 'server',\n /** Client role */\n CLIENT: 'client'\n};\n/**\n * Default timeout configuration (milliseconds)\n */\nexport var DefaultTimeout = {\n /** \n * ACK confirmation timeout: 1000ms (1s)\n * Used for requireAck confirmation (ACK-only).\n * Increased from 500ms to accommodate slower environments or busy browsers where postMessage\n * serialization/deserialization may take longer.\n */\n ACK: 1000,\n /** Request timeout: 5s */\n REQUEST: 5000,\n /** Async request timeout: 120s */\n ASYNC: 120000\n};\n\n/**\n * HTTP Header name constants\n */\nexport var HttpHeader = {\n /** Set-Cookie (server sets cookie) */\n SET_COOKIE: 'Set-Cookie',\n /** Content-Type */\n CONTENT_TYPE: 'Content-Type',\n /** Content-Disposition (for file downloads) */\n CONTENT_DISPOSITION: 'Content-Disposition',\n /** Authorization */\n AUTHORIZATION: 'Authorization',\n /** Cookie (cookies carried in request) */\n COOKIE: 'Cookie'\n};\n\n/**\n * HTTP Header name type\n */\n\n/**\n * Message type union type\n */\n\n/**\n * Error code union type\n */\n\n/**\n * Stream type constants\n */\nexport var StreamType = {\n /** Normal data stream */\n DATA: 'data',\n /** File stream */\n FILE: 'file'\n};\n\n/**\n * Stream mode constants\n * - PULL: receiver pulls next chunks (backpressure)\n * - PUSH: producer pushes via write()\n */\nexport var StreamMode = {\n PULL: 'pull',\n PUSH: 'push'\n};\n/**\n * Stream internal message type constants (for stream internal message handling)\n * Note: These are MessageType.STREAM_* values with the stream_ prefix removed\n */\nexport var StreamInternalMessageType = {\n /** Data message */\n DATA: 'data',\n /** End message */\n END: 'end',\n /** Error message */\n ERROR: 'error',\n /** Cancel message */\n CANCEL: 'cancel',\n /** Pull message */\n PULL: 'pull'\n};\n\n/**\n * Stream internal message type value type\n */\n\n/**\n * Stream type value type\n */\n\n/**\n * Stream state constants\n */\nexport var StreamState = {\n /** Pending */\n PENDING: 'pending',\n /** Streaming */\n STREAMING: 'streaming',\n /** Ended */\n ENDED: 'ended',\n /** Error */\n ERROR: 'error',\n /** Cancelled */\n CANCELLED: 'cancelled'\n};\n\n/**\n * Stream state value type\n */\n\n/**\n * Stream event name constants (for stream.on / observability)\n */\nexport var StreamEvent = {\n START: 'start',\n DATA: 'data',\n READ: 'read',\n WRITE: 'write',\n SEND: 'send',\n PULL: 'pull',\n ACK: 'ack',\n END: 'end',\n CANCEL: 'cancel',\n ERROR: 'error',\n TIMEOUT: 'timeout',\n EXPIRED: 'expired',\n STATE: 'state'\n};\n/**\n * Message constants (for multi-language support)\n */\nexport { Messages, formatMessage, setMessages, resetMessages, getMessages } from './messages';\nexport { WarnOnceKey, buildWarnOnceKey } from './warn-once';\nexport { LogLevel } from './log';\nexport { DebugEvent } from './debug';","import \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport \"core-js/modules/web.url.js\";\nimport \"core-js/modules/web.url.to-json.js\";\nimport \"core-js/modules/web.url-search-params.js\";\nimport { OriginConstant } from '../constants';\n\n/**\n * Derive targetOrigin from iframe.src\n */\nexport function getIframeTargetOrigin(iframe) {\n if (!iframe.src) {\n return OriginConstant.ANY;\n }\n try {\n return new URL(iframe.src).origin;\n } catch (e) {\n return OriginConstant.ANY;\n }\n}","import \"core-js/modules/es.regexp.to-string.js\";\n/**\n * Generate unique request ID\n */\nexport function generateRequestId() {\n return `req_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;\n}\n\n/**\n * Generate unique instance ID\n */\nexport function generateInstanceId() {\n return `inst_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;\n}","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","'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","function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorDefine(e, r, n, t) {\n var i = Object.defineProperty;\n try {\n i({}, \"\", {});\n } catch (e) {\n i = 0;\n }\n module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {\n function o(r, n) {\n _regeneratorDefine(e, r, function (e) {\n return this._invoke(r, n, e);\n });\n }\n r ? i ? i(e, r, {\n value: n,\n enumerable: !t,\n configurable: !t,\n writable: !t\n }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2));\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _regeneratorDefine(e, r, n, t);\n}\nmodule.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction _regenerator() {\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n var e,\n t,\n r = \"function\" == typeof Symbol ? Symbol : {},\n n = r.iterator || \"@@iterator\",\n o = r.toStringTag || \"@@toStringTag\";\n function i(r, n, o, i) {\n var c = n && n.prototype instanceof Generator ? n : Generator,\n u = Object.create(c.prototype);\n return regeneratorDefine(u, \"_invoke\", function (r, n, o) {\n var i,\n c,\n u,\n f = 0,\n p = o || [],\n y = !1,\n G = {\n p: 0,\n n: 0,\n v: e,\n a: d,\n f: d.bind(e, 4),\n d: function d(t, r) {\n return i = t, c = 0, u = e, G.n = r, a;\n }\n };\n function d(r, n) {\n for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {\n var o,\n i = p[t],\n d = G.p,\n l = i[2];\n r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));\n }\n if (o || r > 1) return a;\n throw y = !0, n;\n }\n return function (o, p, l) {\n if (f > 1) throw TypeError(\"Generator is already running\");\n for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {\n i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);\n try {\n if (f = 2, i) {\n if (c || (o = \"next\"), t = i[o]) {\n if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\");\n if (!t.done) return t;\n u = t.value, c < 2 && (c = 0);\n } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1);\n i = e;\n } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;\n } catch (t) {\n i = e, c = 1, u = t;\n } finally {\n f = 1;\n }\n }\n return {\n value: t,\n done: y\n };\n };\n }(r, o, i), !0), u;\n }\n var a = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n t = Object.getPrototypeOf;\n var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {\n return this;\n }), t),\n u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);\n function f(e) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e;\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, \"constructor\", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", regeneratorDefine(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), regeneratorDefine(u), regeneratorDefine(u, o, \"Generator\"), regeneratorDefine(u, n, function () {\n return this;\n }), regeneratorDefine(u, \"toString\", function () {\n return \"[object Generator]\";\n }), (module.exports = _regenerator = function _regenerator() {\n return {\n w: i,\n m: f\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction AsyncIterator(t, e) {\n function n(r, o, i, f) {\n try {\n var c = t[r](o),\n u = c.value;\n return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {\n n(\"next\", t, i, f);\n }, function (t) {\n n(\"throw\", t, i, f);\n }) : e.resolve(u).then(function (t) {\n c.value = t, i(c);\n }, function (t) {\n return n(\"throw\", t, i, f);\n });\n } catch (t) {\n f(t);\n }\n }\n var r;\n this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, \"function\" == typeof Symbol && Symbol.asyncIterator || \"@asyncIterator\", function () {\n return this;\n })), regeneratorDefine(this, \"_invoke\", function (t, o, i) {\n function f() {\n return new e(function (e, r) {\n n(t, i, e, r);\n });\n }\n return r = r ? r.then(f, f) : f();\n }, !0);\n}\nmodule.exports = AsyncIterator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regenerator = require(\"./regenerator.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nfunction _regeneratorAsyncGen(r, e, t, o, n) {\n return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);\n}\nmodule.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nfunction _regeneratorAsync(n, e, r, t, o) {\n var a = regeneratorAsyncGen(n, e, r, t, o);\n return a.next().then(function (n) {\n return n.done ? n.value : a.next();\n });\n}\nmodule.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorKeys(e) {\n var n = Object(e),\n r = [];\n for (var t in n) r.unshift(t);\n return function e() {\n for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;\n return e.done = !0, e;\n };\n}\nmodule.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorValues(e) {\n if (null != e) {\n var t = e[\"function\" == typeof Symbol && Symbol.iterator || \"@@iterator\"],\n r = 0;\n if (t) return t.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) return {\n next: function next() {\n return e && r >= e.length && (e = void 0), {\n value: e && e[r++],\n done: !e\n };\n }\n };\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n}\nmodule.exports = _regeneratorValues, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","var OverloadYield = require(\"./OverloadYield.js\");\nvar regenerator = require(\"./regenerator.js\");\nvar regeneratorAsync = require(\"./regeneratorAsync.js\");\nvar regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nvar regeneratorKeys = require(\"./regeneratorKeys.js\");\nvar regeneratorValues = require(\"./regeneratorValues.js\");\nfunction _regeneratorRuntime() {\n \"use strict\";\n\n var r = regenerator(),\n e = r.m(_regeneratorRuntime),\n t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;\n function n(r) {\n var e = \"function\" == typeof r && r.constructor;\n return !!e && (e === t || \"GeneratorFunction\" === (e.displayName || e.name));\n }\n var o = {\n \"throw\": 1,\n \"return\": 2,\n \"break\": 3,\n \"continue\": 3\n };\n function a(r) {\n var e, t;\n return function (n) {\n e || (e = {\n stop: function stop() {\n return t(n.a, 2);\n },\n \"catch\": function _catch() {\n return n.v;\n },\n abrupt: function abrupt(r, e) {\n return t(n.a, o[r], e);\n },\n delegateYield: function delegateYield(r, o, a) {\n return e.resultName = o, t(n.d, regeneratorValues(r), a);\n },\n finish: function finish(r) {\n return t(n.f, r);\n }\n }, t = function t(r, _t, o) {\n n.p = e.prev, n.n = e.next;\n try {\n return r(_t, o);\n } finally {\n e.next = n.n;\n }\n }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;\n try {\n return r.call(this, e);\n } finally {\n n.p = e.prev, n.n = e.next;\n }\n };\n }\n return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return {\n wrap: function wrap(e, t, n, o) {\n return r.w(a(e), t, n, o && o.reverse());\n },\n isGeneratorFunction: n,\n mark: r.m,\n awrap: function awrap(r, e) {\n return new OverloadYield(r, e);\n },\n AsyncIterator: regeneratorAsyncIterator,\n async: function async(r, e, t, o, u) {\n return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);\n },\n keys: regeneratorKeys,\n values: regeneratorValues\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// `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 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 // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\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 // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\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 $ = 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 setArrayLength = require('../internals/array-set-length');\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 setArrayLength(result, n);\n return result;\n }\n});\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';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis;\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 isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = globalThis.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n globalThis.addEventListener &&\n isCallable(globalThis.postMessage) &&\n !globalThis.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n globalThis.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, globalThis);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\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 NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n globalThis.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: null\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n// `Promise` constructor\n// https://tc39.es/ecma262/#sec-promise-executor\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nPromiseWrapper = path.Promise;\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","/**\n * Custom Error class for request-iframe errors\n * Extends native Error with additional error response fields\n */\nexport class RequestIframeError extends Error {\n /** Error code */\n\n /** Request configuration */\n\n /** Response data (if available) */\n\n /** Request ID */\n\n constructor(error) {\n super(error.message);\n this.name = 'RequestIframeError';\n this.code = error.code;\n this.config = error.config;\n this.response = error.response;\n this.requestId = error.requestId;\n\n // Maintain proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, RequestIframeError);\n }\n }\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 $ = 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 // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\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 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 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 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 collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { ProtocolVersion, Messages, formatMessage } from '../constants';\n\n/**\n * Validate protocol version\n * \n * Only checks minimum supported version, not maximum version\n * Because new versions usually maintain backward compatibility with older message formats\n * \n * @param version protocol version number\n * @returns validation result\n */\nexport function validateProtocolVersion(version) {\n if (typeof version !== 'number' || !Number.isInteger(version)) {\n return {\n valid: false,\n error: Messages.INVALID_PROTOCOL_VERSION_FORMAT,\n errorCode: 'INVALID_FORMAT'\n };\n }\n if (version < ProtocolVersion.MIN_SUPPORTED) {\n return {\n valid: false,\n version,\n error: formatMessage(Messages.PROTOCOL_VERSION_TOO_LOW, version, ProtocolVersion.MIN_SUPPORTED),\n errorCode: 'VERSION_TOO_LOW'\n };\n }\n\n // Don't check maximum version, new versions usually maintain backward compatibility\n return {\n valid: true,\n version\n };\n}\n\n/**\n * Validate PostMessage data format (full validation)\n * @param data data to validate\n * @returns validation result, including protocol version info\n */\nexport function validatePostMessage(data) {\n // Basic format validation\n if (!data || typeof data !== 'object') {\n return {\n valid: false,\n error: Messages.INVALID_MESSAGE_FORMAT_NOT_OBJECT,\n errorCode: 'INVALID_FORMAT'\n };\n }\n\n // Protocol identifier validation\n if (data.__requestIframe__ === undefined) {\n return {\n valid: false,\n error: Messages.INVALID_MESSAGE_FORMAT_MISSING_PROTOCOL,\n errorCode: 'INVALID_FORMAT'\n };\n }\n\n // Protocol version validation\n var versionResult = validateProtocolVersion(data.__requestIframe__);\n if (!versionResult.valid) {\n return versionResult;\n }\n\n // Required field validation\n if (typeof data.type !== 'string') {\n return {\n valid: false,\n version: versionResult.version,\n error: Messages.INVALID_MESSAGE_FORMAT_MISSING_TYPE,\n errorCode: 'INVALID_FORMAT'\n };\n }\n if (typeof data.requestId !== 'string') {\n return {\n valid: false,\n version: versionResult.version,\n error: Messages.INVALID_MESSAGE_FORMAT_MISSING_REQUEST_ID,\n errorCode: 'INVALID_FORMAT'\n };\n }\n return {\n valid: true,\n version: versionResult.version,\n data: data\n };\n}\n\n/**\n * Check if data is a request-iframe framework message (only checks basic format, doesn't validate version compatibility)\n * @param data data to check\n * @returns whether it's a request-iframe message\n */\nexport function isRequestIframeMessage(data) {\n return !!(data && typeof data === 'object' && typeof data.__requestIframe__ === 'number' && typeof data.type === 'string' && typeof data.requestId === 'string');\n}\n\n/**\n * Create PostMessage data\n * @param type message type\n * @param requestId request ID\n * @param data additional data\n * @returns PostMessageData\n */\nexport function createPostMessage(type, requestId, data) {\n return _objectSpread({\n __requestIframe__: ProtocolVersion.CURRENT,\n timestamp: Date.now(),\n type,\n requestId\n }, data);\n}\n\n/**\n * Validate PostMessage data format (only checks basic format, doesn't validate version compatibility)\n * Used for quick determination of whether it's a request-iframe framework message\n * \n * Note: This method doesn't check protocol version compatibility, use isCompatibleVersion for version compatibility check\n * \n * @param data data to validate\n * @returns whether it's a valid PostMessageData\n */\nexport function isValidPostMessage(data) {\n return !!(data && typeof data === 'object' && typeof data.__requestIframe__ === 'number' && typeof data.type === 'string' && typeof data.requestId === 'string');\n}\n\n/**\n * Get protocol version from message\n * @param data PostMessageData\n * @returns protocol version number, undefined if invalid\n */\nexport function getProtocolVersion(data) {\n if (data && typeof data === 'object' && typeof data.__requestIframe__ === 'number') {\n return data.__requestIframe__;\n }\n return undefined;\n}\n\n/**\n * Check if protocol version is compatible\n * \n * Only checks minimum supported version, not maximum version\n * Because new versions usually maintain backward compatibility with older message formats\n * \n * @param version protocol version number\n * @returns whether compatible\n */\nexport function isCompatibleVersion(version) {\n return version >= ProtocolVersion.MIN_SUPPORTED;\n}","export function isFunction(value) {\n return typeof value === 'function';\n}","/**\n * Check if target window is still available (not closed/removed)\n * @param targetWindow Target window to check\n * @returns true if window is available, false otherwise\n */\nimport { isFunction } from './is';\nexport function isWindowAvailable(targetWindow) {\n if (!targetWindow) {\n return false;\n }\n try {\n /** Must have postMessage to be a usable target */\n if (!isFunction(targetWindow.postMessage)) {\n return false;\n }\n\n /** For windows opened via window.open(), check closed property */\n if ('closed' in targetWindow && targetWindow.closed === true) {\n return false;\n }\n\n /**\n * Avoid touching cross-origin properties (like document) which may throw.\n * If closed is not true and postMessage exists, treat as available.\n */\n return true;\n } catch (e) {\n /** If accessing window properties throws an error, window is likely closed */\n return false;\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","import { LogLevel } from '../constants';\n\n/**\n * Built-in leveled logger for request-iframe.\n *\n * - Default level is 'warn' (prints warn/error only)\n * - Trace/debug tools can raise to 'info' or 'trace'\n */\n\nvar DEBUG_PREFIX = '[request-iframe]';\nvar levelOrder = {\n [LogLevel.TRACE]: 10,\n [LogLevel.INFO]: 20,\n [LogLevel.WARN]: 30,\n [LogLevel.ERROR]: 40,\n [LogLevel.SILENT]: 100\n};\nvar currentLevel = LogLevel.WARN;\nexport function getRequestIframeLogLevel() {\n return currentLevel;\n}\nexport function setRequestIframeLogLevel(level) {\n currentLevel = level;\n}\n\n/**\n * Ensure current log level is at least as verbose as `level`.\n * - Example: current 'warn' + ensure 'trace' => becomes 'trace'\n */\nexport function ensureRequestIframeLogLevel(level) {\n if (levelOrder[level] < levelOrder[currentLevel]) {\n currentLevel = level;\n }\n}\nfunction shouldLog(level) {\n return levelOrder[level] >= levelOrder[currentLevel];\n}\n\n/**\n * Log with level gating + unified prefix.\n */\nexport function requestIframeLog(level, message, data) {\n if (currentLevel === LogLevel.SILENT) return;\n if (!shouldLog(level)) return;\n var timestamp = new Date().toISOString();\n var prefix = `${DEBUG_PREFIX} [${timestamp}] [${level.toUpperCase()}]`;\n var prefixStyle = 'font-weight:bold';\n var messageStyle = level === LogLevel.INFO ? 'color: #1976d2' : '';\n var method = level === LogLevel.TRACE ? 'debug' : level;\n if (data !== undefined) {\n console[method](`%c${prefix}%c ${message}`, prefixStyle, messageStyle, data);\n } else {\n console[method](`%c${prefix}%c ${message}`, prefixStyle, messageStyle);\n }\n}","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = uncurryThis([].indexOf);\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;\nvar FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: FORCED }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n var fromIndex = arguments.length > 1 ? arguments[1] : undefined;\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf(this, searchElement, fromIndex) || 0\n : $indexOf(this, searchElement, fromIndex);\n }\n});\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 tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","import _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport \"core-js/modules/es.symbol.description.js\";\nimport \"core-js/modules/es.array.from.js\";\nimport \"core-js/modules/es.array.index-of.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.array.splice.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\n/**\n * A tiny \"Tapable-like\" hook implementation.\n *\n * Design goals:\n * - Zero dependencies\n * - Browser-friendly\n * - Familiar API surface (tap/call, tapPromise/promise)\n */\n\n/**\n * SyncHook - runs taps synchronously in registration order.\n */\nexport class SyncHook {\n constructor() {\n _defineProperty(this, \"taps\", []);\n }\n tap(name, fn) {\n var tap = {\n name,\n fn\n };\n this.taps.push(tap);\n return () => {\n var idx = this.taps.indexOf(tap);\n if (idx >= 0) this.taps.splice(idx, 1);\n };\n }\n call(...args) {\n var _iterator = _createForOfIteratorHelper(this.taps),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var t = _step.value;\n t.fn(...args);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n}\n\n/**\n * AsyncSeriesHook - runs taps in series, awaiting each.\n */\nexport class AsyncSeriesHook {\n constructor() {\n _defineProperty(this, \"taps\", []);\n }\n tapPromise(name, fn) {\n var tap = {\n name,\n fn\n };\n this.taps.push(tap);\n return () => {\n var idx = this.taps.indexOf(tap);\n if (idx >= 0) this.taps.splice(idx, 1);\n };\n }\n tap(name, fn) {\n return this.tapPromise(name, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(...args) {\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 1;\n return fn(...args);\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n }\n promise(...args) {\n var _this = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _iterator2, _step2, t, _t;\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _iterator2 = _createForOfIteratorHelper(_this.taps);\n _context2.prev = 1;\n _iterator2.s();\n case 2:\n if ((_step2 = _iterator2.n()).done) {\n _context2.next = 4;\n break;\n }\n t = _step2.value;\n _context2.next = 3;\n return t.fn(...args);\n case 3:\n _context2.next = 2;\n break;\n case 4:\n _context2.next = 6;\n break;\n case 5:\n _context2.prev = 5;\n _t = _context2[\"catch\"](1);\n _iterator2.e(_t);\n case 6:\n _context2.prev = 6;\n _iterator2.f();\n return _context2.finish(6);\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[1, 5, 6, 7]]);\n }))();\n }\n}","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n setArrayLength(A, actualDeleteCount);\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\n }\n});\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.set.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { isValidPostMessage, createPostMessage } from '../utils/protocol';\nimport { isWindowAvailable } from '../utils/window';\nimport { OriginConstant } from '../constants';\nimport { requestIframeLog } from '../utils/logger';\nimport { SyncHook } from '../utils/hooks';\n\n/**\n * Message context (extracted from MessageEvent, transport-agnostic)\n */\nexport var MessageContextStage = {\n /** Message is not handled by any instance yet */\n PENDING: 'pending',\n /** Message is claimed/being handled (handledBy is set, but not accepted) */\n HANDLING: 'handling',\n /** Message is accepted for processing (acceptedBy is set) */\n ACCEPTED: 'accepted',\n /** Message handling finished (synchronous dispatch finished) */\n DONE: 'done'\n};\n\n/**\n * Message receiver callback\n */\n\n/**\n * Channel type constants\n */\nexport var ChannelType = {\n /** postMessage channel type */\n POST_MESSAGE: 'postMessage'\n};\n\n/**\n * Channel type\n */\n\n/**\n * MessageChannel - Low-level communication channel for postMessage\n * \n * Responsibilities:\n * - Listening to window.postMessage events\n * - Filtering messages by secretKey\n * - Extracting transport-specific information (MessageEvent) into generic MessageContext\n * - Forwarding received messages to registered receivers\n * - Sending messages to target windows\n * \n * This is the low-level communication layer that handles postMessage directly.\n * All transport-specific details (like MessageEvent) are encapsulated here.\n */\nexport class MessageChannel {\n constructor(secretKey, type = ChannelType.POST_MESSAGE) {\n /** Channel type (used for cache isolation) */\n /** Secret key for message isolation */\n /** Message receiver callbacks (support multiple receivers) */\n _defineProperty(this, \"receivers\", new Set());\n /** Reference count (for cache management) */\n _defineProperty(this, \"refCount\", 0);\n this.type = type;\n this.secretKey = secretKey;\n this.boundOnMessage = this.onMessage.bind(this);\n window.addEventListener('message', this.boundOnMessage);\n }\n\n /**\n * Add message receiver callback\n * When a message is received, it will be forwarded to all registered receivers\n */\n addReceiver(receiver) {\n this.receivers.add(receiver);\n }\n\n /**\n * Remove message receiver callback\n */\n removeReceiver(receiver) {\n this.receivers.delete(receiver);\n }\n\n /**\n * Increment reference count (for cache management)\n */\n addRef() {\n this.refCount++;\n }\n\n /**\n * Decrement reference count (for cache management)\n * @returns current reference count\n */\n release() {\n return --this.refCount;\n }\n\n /**\n * Get reference count (for cache management)\n */\n getRefCount() {\n return this.refCount;\n }\n\n /**\n * Extract MessageContext from MessageEvent\n * This encapsulates transport-specific details\n */\n extractContext(event) {\n var _ref;\n var context = {\n source: (_ref = event.source) !== null && _ref !== void 0 ? _ref : undefined,\n origin: event.origin\n };\n var stateChangeHook;\n var ensureStateChangeHook = () => {\n if (!stateChangeHook) {\n stateChangeHook = new SyncHook();\n }\n return stateChangeHook;\n };\n var emitStateChange = (prev, next) => {\n if (!stateChangeHook) return;\n stateChangeHook.call(prev, next, context);\n };\n\n /**\n * Attach stable internal helper methods.\n *\n * We intentionally make them non-enumerable so typical object inspection won't be polluted.\n */\n var markHandledBy = handledBy => {\n var prev = getStage();\n if (!context.handledBy) {\n context.handledBy = handledBy;\n }\n var next = getStage();\n if (prev !== next) emitStateChange(prev, next);\n };\n var markAcceptedBy = handledBy => {\n var prev = getStage();\n if (!context.acceptedBy) {\n context.acceptedBy = handledBy;\n }\n markHandledBy(handledBy);\n var next = getStage();\n if (prev !== next) emitStateChange(prev, next);\n };\n var markDoneBy = doneBy => {\n var prev = getStage();\n if (!context.doneBy) {\n context.doneBy = doneBy;\n }\n var next = getStage();\n if (prev !== next) emitStateChange(prev, next);\n };\n var getStage = () => {\n if (context.doneBy) return MessageContextStage.DONE;\n if (context.acceptedBy) return MessageContextStage.ACCEPTED;\n if (context.handledBy) return MessageContextStage.HANDLING;\n return MessageContextStage.PENDING;\n };\n var onStateChange = (name, fn) => {\n return ensureStateChangeHook().tap(name, fn);\n };\n Object.defineProperty(context, 'markHandledBy', {\n value: markHandledBy,\n enumerable: false\n });\n Object.defineProperty(context, 'markAcceptedBy', {\n value: markAcceptedBy,\n enumerable: false\n });\n Object.defineProperty(context, 'markDoneBy', {\n value: markDoneBy,\n enumerable: false\n });\n Object.defineProperty(context, 'getStage', {\n value: getStage,\n enumerable: false\n });\n Object.defineProperty(context, 'onStateChange', {\n value: onStateChange,\n enumerable: false\n });\n return context;\n }\n\n /**\n * Message handling entry point\n */\n onMessage(event) {\n var data = event.data;\n\n // Check if this is a request-iframe framework message (basic format validation)\n if (!isValidPostMessage(data)) {\n return;\n }\n\n // secretKey isolation\n if (this.secretKey) {\n if (data.secretKey !== this.secretKey) return;\n } else {\n if (data.secretKey) return;\n }\n\n // Extract context from transport-specific event\n var context = this.extractContext(event);\n\n // Forward to all registered receivers\n this.receivers.forEach(receiver => {\n try {\n receiver(data, context);\n } catch (e) {\n requestIframeLog('error', 'Receiver error', e);\n }\n });\n }\n\n /**\n * Send raw message to target window\n * @param target target window\n * @param message message data (already formatted as PostMessageData)\n * @param targetOrigin target origin (defaults to '*')\n */\n send(target, message, targetOrigin = OriginConstant.ANY) {\n if (!isWindowAvailable(target)) {\n return false;\n }\n target.postMessage(message, targetOrigin);\n return true;\n }\n\n /**\n * Send typed message to target window (creates PostMessageData automatically)\n * @param target target window\n * @param targetOrigin target origin\n * @param type message type\n * @param requestId request ID\n * @param data additional data\n */\n sendMessage(target, targetOrigin, type, requestId, data) {\n var message = createPostMessage(type, requestId, _objectSpread(_objectSpread({}, data), {}, {\n secretKey: this.secretKey\n }));\n return this.send(target, message, targetOrigin);\n }\n\n /**\n * Add path prefix (for secretKey isolation)\n */\n prefixPath(path) {\n return this.secretKey ? `${this.secretKey}:${path}` : path;\n }\n\n /**\n * Destroy channel (remove event listener)\n */\n destroy() {\n window.removeEventListener('message', this.boundOnMessage);\n this.receivers.clear();\n }\n}","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/environment-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\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 defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","/**\n * ack is an internal reserved protocol field (previously named ackMeta).\n *\n * Semantics (ACK-only workflow):\n * - If `ack` exists, it should contain a required `id` (string|number) for matching.\n * - Fixed shape: { id, meta?: string } (meta is optional and must be a string if present).\n * - Matching is by `id` only; never deep-compare other fields.\n *\n * @internal\n */\nexport function getAckId(ack) {\n if (!ack || typeof ack !== 'object') return undefined;\n var id = ack.id;\n return typeof id === 'string' || typeof id === 'number' ? id : undefined;\n}\n\n/**\n * @internal\n */\nexport function getAckMeta(ack) {\n if (!ack || typeof ack !== 'object') return undefined;\n var meta = ack.meta;\n return typeof meta === 'string' ? meta : undefined;\n}\n\n/**\n * Match ack by `id` only.\n * @internal\n */\nexport function isAckMatch(expected, received) {\n if (expected === undefined) return true;\n var expectedId = getAckId(expected);\n var receivedId = getAckId(received);\n if (expectedId === undefined || receivedId === undefined) return false;\n return expectedId === receivedId;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport \"core-js/modules/es.symbol.description.js\";\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.array.from.js\";\nimport \"core-js/modules/es.array.index-of.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.array.sort.js\";\nimport \"core-js/modules/es.array.splice.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.regexp.constructor.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport { AutoAckConstant, MessageRole, MessageType, OriginConstant } from '../constants';\nimport { getProtocolVersion, createPostMessage } from '../utils/protocol';\nimport { isFunction } from '../utils/is';\nimport { getAckId, getAckMeta } from '../utils/ack';\nimport { SyncHook } from '../utils/hooks';\nimport { requestIframeLog } from '../utils/logger';\n\n/**\n * Message handler function type\n */\n\n/**\n * Message type matcher\n * - string: exact match message type\n * - RegExp: regex match message type\n * - function: custom match function\n */\n\n/**\n * Protocol version validator function\n * @param version protocol version in message\n * @returns true if version is compatible, false otherwise\n */\n\n/**\n * Message handler registration options\n */\n\n/**\n * Message handler entry\n */\n\n/**\n * MessageDispatcher - Message dispatcher for client/server interaction\n * \n * Responsibilities:\n * - Using MessageChannel for receiving and sending messages\n * - Dispatching received messages to registered handlers\n * - Managing handler registration/unregistration\n * - Protocol version validation\n * \n * This is the high-level interface used by client and server implementations.\n * It works with transport-agnostic MessageContext instead of transport-specific MessageEvent.\n */\nexport class MessageDispatcher {\n constructor(channel, role, instanceId) {\n _defineProperty(this, \"hooks\", {\n inbound: new SyncHook(),\n beforeSend: new SyncHook(),\n afterSend: new SyncHook(),\n sendError: new SyncHook()\n });\n _defineProperty(this, \"autoAckMaxMetaLength\", AutoAckConstant.MAX_META_LENGTH);\n _defineProperty(this, \"autoAckMaxIdLength\", AutoAckConstant.MAX_ID_LENGTH);\n _defineProperty(this, \"fallbackTargetOrigin\", OriginConstant.ANY);\n /** Message handler list */\n _defineProperty(this, \"handlers\", []);\n /** Reference count (for determining if can be destroyed when cached) */\n _defineProperty(this, \"refCount\", 0);\n this.channel = channel;\n this.secretKey = channel.secretKey;\n this.type = channel.type;\n this.role = role;\n this.instanceId = instanceId;\n\n // Create bound receiver callback\n this.boundReceiver = (data, context) => {\n this.dispatchMessage(data, context);\n };\n\n // Add receiver callback to handle incoming messages\n this.channel.addReceiver(this.boundReceiver);\n }\n\n /**\n * Set fallback target for outgoing auto-ack messages.\n */\n setFallbackTarget(targetWindow, targetOrigin = OriginConstant.ANY) {\n this.fallbackTargetWindow = targetWindow;\n this.fallbackTargetOrigin = targetOrigin;\n }\n\n /**\n * Configure auto-ack echo limits (advanced/internal).\n *\n * @internal\n */\n setAutoAckLimits(limits) {\n if (!limits || typeof limits !== 'object') return;\n if (typeof limits.maxMetaLength === 'number' && Number.isFinite(limits.maxMetaLength) && limits.maxMetaLength >= 0) {\n this.autoAckMaxMetaLength = limits.maxMetaLength;\n }\n if (typeof limits.maxIdLength === 'number' && Number.isFinite(limits.maxIdLength) && limits.maxIdLength >= 0) {\n this.autoAckMaxIdLength = limits.maxIdLength;\n }\n }\n\n // ==================== Reference Counting ====================\n\n /**\n * Increment reference count\n */\n addRef() {\n this.refCount++;\n }\n\n /**\n * Decrement reference count\n * @returns current reference count\n */\n release() {\n return --this.refCount;\n }\n\n /**\n * Get reference count\n */\n getRefCount() {\n return this.refCount;\n }\n\n // ==================== Message Handling ====================\n\n /**\n * Register message handler\n * @param matcher message type matcher\n * @param handler handler function\n * @param options registration options (priority, version validation, etc.)\n * @returns function to unregister\n */\n registerHandler(matcher, handler, options) {\n var _opts$priority;\n var opts = typeof options === 'number' ? {\n priority: options\n } : options || {};\n var entry = {\n matcher,\n handler,\n priority: (_opts$priority = opts.priority) !== null && _opts$priority !== void 0 ? _opts$priority : 0,\n versionValidator: opts.versionValidator,\n onVersionError: opts.onVersionError\n };\n this.handlers.push(entry);\n // Sort by priority in descending order\n this.handlers.sort((a, b) => b.priority - a.priority);\n return () => {\n var index = this.handlers.indexOf(entry);\n if (index >= 0) {\n this.handlers.splice(index, 1);\n }\n };\n }\n\n /**\n * Unregister message handler\n */\n unregisterHandler(handler) {\n var index = this.handlers.findIndex(entry => entry.handler === handler);\n if (index >= 0) {\n this.handlers.splice(index, 1);\n }\n }\n\n /**\n * Dispatch message to matching handlers\n */\n dispatchMessage(data, context) {\n // If message has already been handled by another dispatcher, skip processing\n if (context.handledBy) {\n return;\n }\n\n // Role-based message filtering: only process messages from the opposite role\n // - Server only processes messages from client (role === 'client')\n // - Client only processes messages from server (role === 'server')\n if (data.role !== undefined) {\n var expectedRole = this.role === MessageRole.CLIENT ? MessageRole.SERVER : MessageRole.CLIENT;\n if (data.role !== expectedRole) {\n // Message is from the same role, ignore it to prevent routing confusion\n return;\n }\n }\n try {\n this.hooks.inbound.call(data, context);\n var _type = data.type;\n var _version = getProtocolVersion(data);\n\n /**\n * Auto-ack state for this incoming message.\n *\n * Design notes:\n * - We only auto-ack after the message is truly handled (context.handledBy is set)\n * AND accepted (context.acceptedBy is set).\n * - This prevents incorrectly acknowledging messages when there is no pending consumer.\n */\n var autoAckState = {\n sent: false\n };\n var maybeAutoAck = () => {\n if (autoAckState.sent) return;\n if (!context.handledBy) return;\n if (!context.acceptedBy) return;\n autoAckState.sent = true;\n this.tryAutoAck(data, context);\n };\n var _iterator = _createForOfIteratorHelper(this.handlers),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n if (this.matchType(_type, entry.matcher)) {\n // If message has been handled by a previous handler, stop processing\n if (context.handledBy) {\n break;\n }\n\n // If handler specified version validation\n if (entry.versionValidator && _version !== undefined) {\n if (!entry.versionValidator(_version)) {\n var _entry$onVersionError;\n // Version incompatible, call error handler (if any)\n (_entry$onVersionError = entry.onVersionError) === null || _entry$onVersionError === void 0 || _entry$onVersionError.call(entry, data, context, _version);\n continue; // Skip this handler, try other handlers\n }\n }\n try {\n entry.handler(data, context);\n // After handler execution, check if it marked the message as handled\n // If context.handledBy is set by the handler, subsequent handlers will be skipped\n } catch (e) {\n // Ignore handler exception, continue executing other handlers\n requestIframeLog('error', 'Handler error', e);\n } finally {\n // Auto-ack once the message is accepted + handled.\n maybeAutoAck();\n }\n }\n }\n\n // Fallback: if a handler accepted+handled without throwing, ensure we auto-ack.\n // (This is safe due to autoAckState guard.)\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n maybeAutoAck();\n } finally {\n /**\n * Mark as \"done\" only when this dispatcher actually claimed/handled this message.\n * - If the message was never claimed (handledBy not set), we keep `doneBy` empty so another\n * dispatcher/handler still has a chance to process it.\n */\n if (context.handledBy) {\n context.markDoneBy(context.handledBy);\n }\n }\n }\n\n /**\n * Auto-ack logic (generalized requireAck workflow)\n *\n * Notes:\n * - This is intentionally conservative: it only runs after the message is marked as handled\n * (via `context.handledBy`) to avoid acknowledging messages that no consumer will process.\n * - For backward compatibility:\n * - REQUEST defaults to requiring ACK unless `requireAck === false`\n * - Other message types only ack when `requireAck === true`\n */\n tryAutoAck(data, context) {\n var _context$source;\n var targetWindow = (_context$source = context.source) !== null && _context$source !== void 0 ? _context$source : this.fallbackTargetWindow;\n if (!targetWindow) return;\n var targetOrigin = context.source ? context.origin : this.fallbackTargetOrigin || context.origin;\n var type = data.type;\n\n // Don't auto-ack ack messages (avoid loops)\n if (type === MessageType.ACK) return;\n\n /**\n * ACK-only requireAck workflow (no compatibility guarantees):\n * - For any message with `requireAck === true`, once the message is accepted/handled\n * (via `context.acceptedBy` + `context.handledBy`),\n * we reply with `ack`.\n *\n * This unifies:\n * - request delivery confirmation\n * - response receipt confirmation\n * - stream frame delivery confirmation (e.g. stream_data per-frame ack)\n */\n if (data.requireAck === true && !!context.acceptedBy) {\n var ack = this.getAutoAckEchoPayload(data.ack);\n this.sendMessage(targetWindow, targetOrigin, MessageType.ACK, data.requestId, {\n path: data.path,\n targetId: data.creatorId,\n ack\n });\n }\n }\n\n /**\n * Limit echoed ack payload size for auto-ack replies.\n *\n * We only echo a fixed shape `{ id, meta?: string }`:\n * - If meta is too long, we drop meta and only echo `{ id }`.\n * - If id is missing or too long, omit `ack` field.\n */\n getAutoAckEchoPayload(rawAck) {\n if (rawAck === undefined) return undefined;\n var id = getAckId(rawAck);\n if (id === undefined) return undefined;\n if (typeof id === 'string' && id.length > this.autoAckMaxIdLength) return undefined;\n var meta = getAckMeta(rawAck);\n if (meta === undefined) return {\n id\n };\n if (meta.length > this.autoAckMaxMetaLength) return {\n id\n };\n return {\n id,\n meta\n };\n }\n\n /**\n * Check if message type matches\n */\n matchType(type, matcher) {\n if (typeof matcher === 'string') {\n return type === matcher;\n }\n if (matcher instanceof RegExp) {\n return matcher.test(type);\n }\n if (isFunction(matcher)) {\n return matcher(type);\n }\n return false;\n }\n\n // ==================== Sending (Delegated to Channel) ====================\n\n /**\n * Send raw message to target window\n * @param target target window\n * @param message message data (already formatted as PostMessageData)\n * @param targetOrigin target origin (defaults to '*')\n */\n send(target, message, targetOrigin = OriginConstant.ANY) {\n // Automatically set role and creatorId if not already set (for backward compatibility)\n if (message.role === undefined) {\n message.role = this.role;\n }\n if (message.creatorId === undefined && this.instanceId) {\n message.creatorId = this.instanceId;\n }\n this.hooks.beforeSend.call(target, targetOrigin, message);\n try {\n var _ok = this.channel.send(target, message, targetOrigin);\n this.hooks.afterSend.call(target, targetOrigin, message, _ok);\n return _ok;\n } catch (e) {\n this.hooks.sendError.call(target, targetOrigin, message, e);\n throw e;\n }\n }\n\n /**\n * Send typed message to target window (creates PostMessageData automatically)\n * @param target target window\n * @param targetOrigin target origin\n * @param type message type\n * @param requestId request ID\n * @param data additional data\n */\n sendMessage(target, targetOrigin, type, requestId, data) {\n // Automatically set role, creatorId, and secretKey based on dispatcher's properties\n // Create message with role, creatorId, and secretKey using createPostMessage directly\n var message = createPostMessage(type, requestId, _objectSpread(_objectSpread({}, data), {}, {\n role: this.role,\n creatorId: this.instanceId,\n secretKey: this.secretKey\n }));\n return this.send(target, message, targetOrigin);\n }\n\n // ==================== Utilities ====================\n\n /**\n * Add path prefix\n */\n prefixPath(path) {\n return this.channel.prefixPath(path);\n }\n\n /**\n * Get the underlying message channel\n */\n getChannel() {\n return this.channel;\n }\n\n /**\n * Destroy dispatcher (clear handlers, but don't destroy channel as it may be shared)\n */\n destroy() {\n this.handlers.length = 0;\n this.channel.removeReceiver(this.boundReceiver);\n }\n}","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = globalThis.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = globalThis.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n // eslint-disable-next-line sonarjs/inconsistent-function-call -- required for testing\n return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index < length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = create(null);\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index < length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr += charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n result += chr;\n // ignore non-capturing groups\n if (stringSlice(string, index + 1, index + 3) === '?:') {\n continue;\n }\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true, forced: globalThis.globalThis !== globalThis }, {\n globalThis: globalThis\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","import \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/esnext.global-this.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { MessageChannel, ChannelType } from './channel';\n\n/**\n * Global cache Symbol (used to store MessageChannel instance cache on window/globalThis).\n *\n * NOTE:\n * - We MUST use Symbol.for() so multiple library copies (different bundles/versions)\n * can share the same cache.\n * - Keep the symbol key stable for backward compatibility with older releases.\n */\nvar MESSAGE_CHANNEL_CACHE_SYMBOL = Symbol.for('__requestIframeMessageChannelCache__');\n\n/**\n * Get the cache host object.\n *\n * We prefer `window` because MessageChannel itself is window-based (postMessage listener),\n * and existing versions store the cache on window as well.\n */\nfunction getCacheHost() {\n if (typeof window !== 'undefined') return window;\n // Fallback for non-browser environments; creating MessageChannel will likely fail anyway.\n return globalThis;\n}\n\n/**\n * Get the MessageChannel cache Map from the host.\n */\nfunction getChannelCache() {\n var host = getCacheHost();\n if (!(MESSAGE_CHANNEL_CACHE_SYMBOL in host)) {\n host[MESSAGE_CHANNEL_CACHE_SYMBOL] = new Map();\n }\n return host[MESSAGE_CHANNEL_CACHE_SYMBOL];\n}\n\n/**\n * Generate cache key.\n * Format: \"type:secretKey\" or \"type:\" when no secretKey.\n */\nfunction getCacheKey(type, secretKey) {\n return `${type}:${secretKey !== null && secretKey !== void 0 ? secretKey : ''}`;\n}\n\n/**\n * Get or create MessageChannel instance.\n *\n * - Within the same window, only one channel is created per type + secretKey.\n * - Uses reference counting to manage lifecycle.\n */\nexport function getOrCreateMessageChannel(secretKey, type = ChannelType.POST_MESSAGE) {\n var cache = getChannelCache();\n var key = getCacheKey(type, secretKey);\n var channel = cache.get(key);\n if (!channel) {\n channel = new MessageChannel(secretKey, type);\n cache.set(key, channel);\n }\n channel.addRef();\n return channel;\n}\n\n/**\n * Release MessageChannel reference.\n *\n * - When reference count reaches 0, destroy channel and remove from cache.\n */\nexport function releaseMessageChannel(channel) {\n var refCount = channel.release();\n if (refCount > 0) return;\n var cache = getChannelCache();\n var key = getCacheKey(channel.type, channel.secretKey);\n if (cache.get(key) === channel) {\n cache.delete(key);\n channel.destroy();\n }\n}\n\n/**\n * Clear MessageChannel cache (mainly for testing).\n *\n * - No args: clear all channels\n * - string arg: treated as secretKey filter\n * - params arg: filter by secretKey/type\n */\nexport function clearMessageChannelCache(arg) {\n var cache = getChannelCache();\n if (!arg) {\n cache.forEach(channel => {\n channel.destroy();\n });\n cache.clear();\n return;\n }\n var params = typeof arg === 'string' ? {\n secretKey: arg\n } : arg;\n cache.forEach((channel, key) => {\n if (params.type && channel.type !== params.type) return;\n if (typeof params.secretKey === 'string' && channel.secretKey !== params.secretKey) return;\n cache.delete(key);\n channel.destroy();\n });\n}","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","/**\n * Stream-specific error type.\n *\n * Notes:\n * - This is for stream lifecycle / protocol / binding errors (not request/response errors).\n * - Use `RequestIframeError` for request/response level failures.\n */\nexport class RequestIframeStreamError extends Error {\n constructor(params) {\n super(params.message);\n this.name = 'RequestIframeStreamError';\n this.code = params.code;\n this.streamId = params.streamId;\n this.requestId = params.requestId;\n this.cause = params.cause;\n\n // Maintain proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, RequestIframeStreamError);\n }\n }\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es.array.from.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.set.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { StreamState as StreamStateConstant, Messages, StreamEvent, ErrorCode } from '../constants';\nimport { RequestIframeStreamError } from './error';\n\n/**\n * Shared stream core (internal).\n *\n * - Read side: buffer + waiters + consume compaction\n * - Common: state + terminal error + basic waiter mechanics\n *\n * NOTE:\n * This is an internal abstraction to share logic between Readable/Writable streams.\n * Public API remains `IframeReadableStream` / `IframeWritableStream`.\n */\nexport class IframeStreamCore {\n constructor(streamId, type, chunked, metadata, consume, mode) {\n _defineProperty(this, \"_state\", StreamStateConstant.PENDING);\n _defineProperty(this, \"chunks\", []);\n _defineProperty(this, \"waiters\", []);\n _defineProperty(this, \"listeners\", new Map());\n this.streamId = streamId;\n this.type = type;\n this.chunked = chunked;\n this.metadata = metadata;\n this.consume = consume;\n this.mode = mode;\n }\n get state() {\n return this._state;\n }\n\n /**\n * Subscribe to stream events.\n *\n * This is designed for observability (debugging / metrics / UI progress),\n * and should not be used to drive protocol-critical logic.\n *\n * Returns an unsubscribe function.\n */\n\n on(event, listener) {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, new Set());\n }\n this.listeners.get(event).add(listener);\n\n // Terminal events: if already reached, fire once immediately for convenience.\n if (event === StreamEvent.END && this._state === StreamStateConstant.ENDED) {\n this.safeCall(listener);\n } else if (event === StreamEvent.ERROR && this._state === StreamStateConstant.ERROR) {\n this.safeCall(listener, {\n error: this.terminalError\n });\n } else if (event === StreamEvent.CANCEL && this._state === StreamStateConstant.CANCELLED) {\n this.safeCall(listener, {\n error: this.terminalError\n });\n }\n return () => this.off(event, listener);\n }\n once(event, listener) {\n // If already terminal, behave like a synchronous one-shot.\n if (event === StreamEvent.END && this._state === StreamStateConstant.ENDED) {\n this.safeCall(listener);\n return () => {};\n }\n if (event === StreamEvent.ERROR && this._state === StreamStateConstant.ERROR) {\n this.safeCall(listener, {\n error: this.terminalError\n });\n return () => {};\n }\n if (event === StreamEvent.CANCEL && this._state === StreamStateConstant.CANCELLED) {\n this.safeCall(listener, {\n error: this.terminalError\n });\n return () => {};\n }\n var wrapped = payload => {\n this.off(event, wrapped);\n this.safeCall(listener, payload);\n };\n return this.on(event, wrapped);\n }\n\n /**\n * Unsubscribe from stream events.\n */\n\n off(event, listener) {\n var set = this.listeners.get(event);\n if (!set) return;\n set.delete(listener);\n if (set.size === 0) {\n this.listeners.delete(event);\n }\n }\n emit(event, payload) {\n var set = this.listeners.get(event);\n if (!set || set.size === 0) return;\n // Snapshot to avoid issues if listeners mutate subscriptions.\n var list = Array.from(set);\n list.forEach(fn => this.safeCall(fn, payload));\n }\n clearAllListeners() {\n this.listeners.clear();\n }\n safeCall(fn, payload) {\n try {\n fn(payload);\n } catch (_unused) {\n /** ignore user listener errors */\n }\n }\n notifyWaiters() {\n if (this.waiters.length === 0) return;\n var list = this.waiters;\n this.waiters = [];\n list.forEach(fn => {\n try {\n fn();\n } catch (_unused2) {\n /** ignore */\n }\n });\n }\n waitForChange() {\n if (this._state === StreamStateConstant.ENDED || this._state === StreamStateConstant.ERROR || this._state === StreamStateConstant.CANCELLED) {\n return Promise.resolve();\n }\n return new Promise(resolve => {\n this.waiters.push(resolve);\n });\n }\n fail(error) {\n if (this._state === StreamStateConstant.ENDED || this._state === StreamStateConstant.ERROR) return;\n this._state = StreamStateConstant.ERROR;\n this.terminalError = error;\n this.emit(StreamEvent.ERROR, {\n error\n });\n this.emit(StreamEvent.STATE, {\n state: this._state\n });\n this.notifyWaiters();\n }\n cancel(reason) {\n if (this._state === StreamStateConstant.ENDED || this._state === StreamStateConstant.ERROR || this._state === StreamStateConstant.CANCELLED) return;\n this._state = StreamStateConstant.CANCELLED;\n this.terminalError = new RequestIframeStreamError({\n message: reason || Messages.STREAM_CANCELLED,\n code: ErrorCode.STREAM_CANCELLED,\n streamId: this.streamId\n });\n this.emit(StreamEvent.CANCEL, {\n reason,\n error: this.terminalError\n });\n this.emit(StreamEvent.STATE, {\n state: this._state\n });\n this.notifyWaiters();\n }\n\n /**\n * Read-side: enqueue a decoded chunk\n */\n pushChunk(chunk) {\n if (this._state !== StreamStateConstant.PENDING && this._state !== StreamStateConstant.STREAMING) return;\n this._state = StreamStateConstant.STREAMING;\n this.chunks.push(chunk);\n this.emit(StreamEvent.DATA, {\n chunk\n });\n this.emit(StreamEvent.STATE, {\n state: this._state\n });\n this.notifyWaiters();\n }\n\n /**\n * Read-side: mark end\n */\n end() {\n if (this._state === StreamStateConstant.ENDED) return;\n this._state = StreamStateConstant.ENDED;\n this.emit(StreamEvent.END);\n this.emit(StreamEvent.STATE, {\n state: this._state\n });\n this.notifyWaiters();\n }\n\n /**\n * Handle inbound message (shared).\n * - ReadableStream will use DATA/END/ERROR/CANCEL\n * - WritableStream may use PULL/ACK/CANCEL separately, so this is intentionally minimal.\n */\n handleInboundMessage(_data) {\n // Intentionally left blank in core.\n }\n}","import _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.promise.finally.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { createPostMessage } from '../utils/protocol';\nimport { generateRequestId } from '../utils/id';\nimport { isFunction } from '../utils/is';\nimport { MessageType, Messages, StreamType as StreamTypeConstant, StreamState as StreamStateConstant, StreamMode as StreamModeConstant, MessageRole, formatMessage, DefaultTimeout, StreamInternalMessageType, StreamEvent, ErrorCode } from '../constants';\nimport { IframeStreamCore } from './stream-core';\nimport { RequestIframeStreamError } from './error';\n\n/**\n * Generate a unique stream ID\n */\nfunction generateStreamId() {\n return `stream_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;\n}\n\n/**\n * IframeWritableStream - Server-side writable stream\n *\n * Writer/producer stream.\n * It can be created on either side:\n * - Server → Client: used as response stream (via `res.sendStream(stream)`)\n * - Client → Server: used as request body stream (via `client.sendStream(path, stream)`)\n */\nexport class IframeWritableStream extends IframeStreamCore {\n constructor(options = {}) {\n var _options$type, _options$chunked, _options$mode, _options$expireTimeou;\n var streamId = generateStreamId();\n var streamType = (_options$type = options.type) !== null && _options$type !== void 0 ? _options$type : StreamTypeConstant.DATA;\n var chunked = (_options$chunked = options.chunked) !== null && _options$chunked !== void 0 ? _options$chunked : true;\n super(streamId, streamType, chunked, options.metadata, false, options.mode);\n _defineProperty(this, \"context\", null);\n _defineProperty(this, \"expireTimer\", null);\n _defineProperty(this, \"idleTimer\", null);\n _defineProperty(this, \"lastRemoteActivityAt\", Date.now());\n _defineProperty(this, \"heartbeatInFlight\", null);\n /** pull/ack protocol */\n _defineProperty(this, \"pullCredit\", 0);\n _defineProperty(this, \"seq\", 0);\n _defineProperty(this, \"pendingBytes\", 0);\n _defineProperty(this, \"pendingQueue\", []);\n _defineProperty(this, \"pumping\", false);\n _defineProperty(this, \"completionPromise\", null);\n _defineProperty(this, \"resolveCompletion\", null);\n _defineProperty(this, \"rejectCompletion\", null);\n _defineProperty(this, \"ackWaiters\", new Map());\n _defineProperty(this, \"ackReceiverRegistered\", false);\n this.mode = (_options$mode = options.mode) !== null && _options$mode !== void 0 ? _options$mode : StreamModeConstant.PULL;\n this.iterator = options.iterator;\n this.nextFn = options.next;\n this.autoResolve = options.autoResolve;\n // Default to async-timeout length to avoid leaking long-lived streams\n this.expireTimeout = (_options$expireTimeou = options.expireTimeout) !== null && _options$expireTimeou !== void 0 ? _options$expireTimeou : DefaultTimeout.ASYNC;\n this.streamTimeout = options.streamTimeout;\n this.maxPendingChunks = options.maxPendingChunks;\n this.maxPendingBytes = options.maxPendingBytes;\n }\n enqueue(item) {\n var max = this.maxPendingChunks;\n if (typeof max === 'number' && max > 0 && this.pendingQueue.length >= max) {\n var _this$context;\n throw new RequestIframeStreamError({\n message: formatMessage(Messages.STREAM_PENDING_QUEUE_OVERFLOW, max),\n code: ErrorCode.STREAM_PENDING_QUEUE_OVERFLOW,\n streamId: this.streamId,\n requestId: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.requestId\n });\n }\n var bytes = this.estimateChunkBytes(item.data);\n var maxBytes = this.maxPendingBytes;\n if (typeof maxBytes === 'number' && maxBytes > 0) {\n var next = this.pendingBytes + bytes;\n if (!Number.isFinite(next) || next > maxBytes) {\n var _this$context2;\n throw new RequestIframeStreamError({\n message: formatMessage(Messages.STREAM_PENDING_BYTES_OVERFLOW, maxBytes),\n code: ErrorCode.STREAM_PENDING_BYTES_OVERFLOW,\n streamId: this.streamId,\n requestId: (_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.requestId\n });\n }\n }\n this.pendingQueue.push(_objectSpread(_objectSpread({}, item), {}, {\n bytes\n }));\n this.pendingBytes += bytes;\n }\n estimateChunkBytes(data) {\n if (data === null || data === undefined) return 0;\n if (typeof data === 'string') return this.utf8ByteLength(data);\n try {\n // ArrayBuffer\n if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) {\n return data.byteLength;\n }\n // TypedArray / DataView\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView && ArrayBuffer.isView(data)) {\n return data.byteLength;\n }\n } catch (_unused) {\n /** ignore */\n }\n try {\n // Blob / File\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n return data.size;\n }\n } catch (_unused2) {\n /** ignore */\n }\n\n // Strategy C: only count well-defined types; other values are not counted.\n return 0;\n }\n utf8ByteLength(text) {\n try {\n if (typeof TextEncoder !== 'undefined') {\n return new TextEncoder().encode(text).length;\n }\n } catch (_unused3) {\n /** ignore */\n }\n try {\n // eslint-disable-next-line no-undef\n if (typeof Buffer !== 'undefined') {\n // eslint-disable-next-line no-undef\n return Buffer.byteLength(text, 'utf8');\n }\n } catch (_unused4) {\n /** ignore */\n }\n return text.length;\n }\n\n /** Get stream state */\n get state() {\n return super.state;\n }\n\n /**\n * Bind to request context\n * Called during res.sendStream()\n */\n _bind(context) {\n this.context = context;\n }\n registerControlHandler() {\n var _this$context3;\n if (!((_this$context3 = this.context) !== null && _this$context3 !== void 0 && _this$context3.registerStreamHandler)) return;\n this.context.registerStreamHandler(this.streamId, this.handleControlMessage.bind(this));\n }\n unregisterControlHandler() {\n var _this$context4;\n if (!((_this$context4 = this.context) !== null && _this$context4 !== void 0 && _this$context4.unregisterStreamHandler)) return;\n this.context.unregisterStreamHandler(this.streamId);\n }\n handleControlMessage(data) {\n // Update remote activity timestamp on any control message\n this.lastRemoteActivityAt = Date.now();\n switch (data.type) {\n case StreamInternalMessageType.PULL:\n {\n var credit = typeof data.credit === 'number' && data.credit > 0 ? data.credit : 1;\n this.pullCredit += credit;\n this.emit(StreamEvent.PULL, {\n credit,\n totalCredit: this.pullCredit\n });\n // Try flushing buffered chunks or pumping generator\n this.flush();\n break;\n }\n case StreamInternalMessageType.CANCEL:\n this.emit(StreamEvent.CANCEL, {\n reason: data.reason,\n remote: true\n });\n this.cancel(data.reason);\n break;\n default:\n break;\n }\n }\n clearIdleTimer() {\n if (this.idleTimer) {\n clearTimeout(this.idleTimer);\n this.idleTimer = null;\n }\n }\n performHeartbeat() {\n var _this = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _this$context5;\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if ((_this$context5 = _this.context) !== null && _this$context5 !== void 0 && _this$context5.heartbeat) {\n _context.next = 1;\n break;\n }\n return _context.abrupt(\"return\", false);\n case 1:\n if (!_this.heartbeatInFlight) {\n _this.heartbeatInFlight = Promise.resolve().then(() => _this.context.heartbeat()).catch(() => false).finally(() => {\n _this.heartbeatInFlight = null;\n });\n }\n return _context.abrupt(\"return\", _this.heartbeatInFlight);\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))();\n }\n startIdleTimer() {\n var _this2 = this;\n if (!this.streamTimeout || this.streamTimeout <= 0) return;\n this.clearIdleTimer();\n var timeout = this.streamTimeout;\n this.idleTimer = setTimeout(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var ok;\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(_this2._state !== StreamStateConstant.STREAMING)) {\n _context2.next = 1;\n break;\n }\n return _context2.abrupt(\"return\");\n case 1:\n if (!(Date.now() - _this2.lastRemoteActivityAt < timeout)) {\n _context2.next = 2;\n break;\n }\n _this2.startIdleTimer();\n return _context2.abrupt(\"return\");\n case 2:\n _context2.next = 3;\n return _this2.performHeartbeat();\n case 3:\n ok = _context2.sent;\n if (!ok) {\n _context2.next = 4;\n break;\n }\n _this2.lastRemoteActivityAt = Date.now();\n _this2.startIdleTimer();\n return _context2.abrupt(\"return\");\n case 4:\n try {\n _this2.emit(StreamEvent.TIMEOUT, {\n timeout\n });\n _this2.error(formatMessage(Messages.STREAM_TIMEOUT, timeout));\n } catch (_unused5) {\n /** ignore */\n }\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n })), timeout);\n }\n\n /**\n * Send message (to client when server-side stream, to server when client-side stream)\n */\n sendMessage(type, data) {\n var _this$context$serverI;\n if (!this.context) {\n throw new RequestIframeStreamError({\n message: Messages.STREAM_NOT_BOUND,\n code: ErrorCode.STREAM_NOT_BOUND,\n streamId: this.streamId\n });\n }\n var isClientStream = this.context.clientId !== undefined && this.context.serverId === undefined;\n var role = isClientStream ? MessageRole.CLIENT : MessageRole.SERVER;\n var creatorId = (_this$context$serverI = this.context.serverId) !== null && _this$context$serverI !== void 0 ? _this$context$serverI : this.context.clientId;\n var message = createPostMessage(type, this.context.requestId, {\n secretKey: this.context.secretKey,\n body: _objectSpread({\n streamId: this.streamId\n }, data),\n role,\n creatorId,\n targetId: this.context.targetId\n });\n var ok = this.context.channel.send(this.context.targetWindow, message, this.context.targetOrigin);\n if (!ok) {\n this._state = StreamStateConstant.CANCELLED;\n this.clearExpireTimer();\n // For most stream messages, if we cannot send, treat as a hard cancellation signal\n // so callers can stop further processing immediately.\n throw new RequestIframeStreamError({\n message: formatMessage(Messages.STREAM_CANCELLED, Messages.TARGET_WINDOW_CLOSED),\n code: ErrorCode.TARGET_WINDOW_CLOSED,\n streamId: this.streamId,\n requestId: this.context.requestId\n });\n }\n return true;\n }\n ensureAckReceiver() {\n if (this.ackReceiverRegistered) return;\n if (!this.context) return;\n var ch = this.context.channel;\n if (!isFunction(ch.addReceiver) || !isFunction(ch.removeReceiver)) return;\n this.ackReceiver = (data, context) => {\n if (!data || data.type !== MessageType.ACK) return;\n var pending = this.ackWaiters.get(data.requestId);\n if (!pending) return;\n if (context && !context.handledBy) {\n context.markHandledBy(`stream:${this.streamId}`);\n }\n clearTimeout(pending.timeoutId);\n this.ackWaiters.delete(data.requestId);\n pending.resolve(true);\n };\n ch.addReceiver(this.ackReceiver);\n this.ackReceiverRegistered = true;\n }\n cleanupAckWaiters() {\n this.ackWaiters.forEach(p => {\n clearTimeout(p.timeoutId);\n p.resolve(false);\n });\n this.ackWaiters.clear();\n if (this.ackReceiverRegistered && this.ackReceiver && this.context) {\n var ch = this.context.channel;\n if (isFunction(ch.removeReceiver)) {\n try {\n ch.removeReceiver(this.ackReceiver);\n } catch (_unused6) {\n /** ignore */\n }\n }\n }\n this.ackReceiverRegistered = false;\n this.ackReceiver = undefined;\n }\n registerAckWaiter(requestId, timeoutMs, resolve) {\n var timeoutId = setTimeout(() => {\n this.ackWaiters.delete(requestId);\n resolve(false);\n }, timeoutMs);\n this.ackWaiters.set(requestId, {\n resolve,\n timeoutId\n });\n }\n clearExpireTimer() {\n if (this.expireTimer) {\n clearTimeout(this.expireTimer);\n this.expireTimer = null;\n }\n }\n startExpireTimer() {\n if (!this.expireTimeout || this.expireTimeout <= 0) return;\n var expireTimeout = this.expireTimeout;\n this.clearExpireTimer();\n this.expireTimer = setTimeout(() => {\n if (this._state !== StreamStateConstant.STREAMING) return;\n try {\n this.emit(StreamEvent.EXPIRED, {\n timeout: expireTimeout\n });\n this.error(formatMessage(Messages.STREAM_EXPIRED, expireTimeout));\n } catch (_unused7) {\n /** ignore timer-triggered send failures */\n }\n }, expireTimeout);\n }\n\n /**\n * Start stream transfer\n */\n start() {\n var _this3 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var _t;\n return _regeneratorRuntime.wrap(function (_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (_this3.context) {\n _context3.next = 1;\n break;\n }\n throw new RequestIframeStreamError({\n message: Messages.STREAM_NOT_BOUND,\n code: ErrorCode.STREAM_NOT_BOUND,\n streamId: _this3.streamId\n });\n case 1:\n if (!(_this3._state !== StreamStateConstant.PENDING)) {\n _context3.next = 2;\n break;\n }\n throw new RequestIframeStreamError({\n message: Messages.STREAM_ALREADY_STARTED,\n code: ErrorCode.STREAM_ALREADY_STARTED,\n streamId: _this3.streamId,\n requestId: _this3.context.requestId\n });\n case 2:\n _this3.completionPromise = new Promise((resolve, reject) => {\n _this3.resolveCompletion = resolve;\n _this3.rejectCompletion = reject;\n });\n _this3._state = StreamStateConstant.STREAMING;\n _this3.startExpireTimer();\n _this3.startIdleTimer();\n _this3.lastRemoteActivityAt = Date.now();\n _this3.registerControlHandler();\n\n // Send stream start message\n _this3.sendMessage(MessageType.STREAM_START, {\n type: _this3.type,\n mode: _this3.mode,\n chunked: _this3.chunked,\n metadata: _this3.metadata,\n autoResolve: _this3.autoResolve\n });\n _this3.emit(StreamEvent.START, {\n streamId: _this3.streamId,\n type: _this3.type,\n chunked: _this3.chunked,\n mode: _this3.mode,\n metadata: _this3.metadata\n });\n _context3.prev = 3;\n if (!(_this3.mode === StreamModeConstant.PUSH)) {\n _context3.next = 5;\n break;\n }\n _context3.next = 4;\n return _this3.completionPromise;\n case 4:\n return _context3.abrupt(\"return\", _context3.sent);\n case 5:\n // pull protocol: produce only when receiver grants credit\n _this3.flush();\n _context3.next = 6;\n return _this3.completionPromise;\n case 6:\n return _context3.abrupt(\"return\", _context3.sent);\n case 7:\n _context3.prev = 7;\n _t = _context3[\"catch\"](3);\n if (!(_this3._state === StreamStateConstant.CANCELLED)) {\n _context3.next = 8;\n break;\n }\n _this3.clearExpireTimer();\n throw _t;\n case 8:\n _this3.error(_t.message || String(_t));\n _context3.next = 9;\n return _this3.completionPromise;\n case 9:\n return _context3.abrupt(\"return\", _context3.sent);\n case 10:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, null, [[3, 7]]);\n }))();\n }\n\n /**\n * Push a chunk manually (mode === 'push').\n */\n\n write(data, doneOrOptions = false, options) {\n var _opts$ackTimeout;\n if (this.mode !== StreamModeConstant.PUSH) {\n var _this$context6;\n throw new RequestIframeStreamError({\n message: Messages.STREAM_WRITE_ONLY_IN_PUSH_MODE,\n code: ErrorCode.STREAM_WRITE_ONLY_IN_PUSH_MODE,\n streamId: this.streamId,\n requestId: (_this$context6 = this.context) === null || _this$context6 === void 0 ? void 0 : _this$context6.requestId\n });\n }\n if (this._state === StreamStateConstant.PENDING) {\n var _this$context7;\n /**\n * In push mode, users must call start() first so STREAM_START is sent and binding is complete.\n */\n throw new RequestIframeStreamError({\n message: Messages.STREAM_NOT_BOUND,\n code: ErrorCode.STREAM_NOT_BOUND,\n streamId: this.streamId,\n requestId: (_this$context7 = this.context) === null || _this$context7 === void 0 ? void 0 : _this$context7.requestId\n });\n }\n if (this._state !== StreamStateConstant.STREAMING) {\n var _this$context8;\n throw new RequestIframeStreamError({\n message: Messages.STREAM_ENDED,\n code: ErrorCode.STREAM_ENDED,\n streamId: this.streamId,\n requestId: (_this$context8 = this.context) === null || _this$context8 === void 0 ? void 0 : _this$context8.requestId\n });\n }\n var done = typeof doneOrOptions === 'boolean' ? doneOrOptions : false;\n var opts = typeof doneOrOptions === 'object' ? doneOrOptions : options;\n var requireAck = (opts === null || opts === void 0 ? void 0 : opts.requireAck) === true;\n var ackTimeout = (_opts$ackTimeout = opts === null || opts === void 0 ? void 0 : opts.ackTimeout) !== null && _opts$ackTimeout !== void 0 ? _opts$ackTimeout : DefaultTimeout.ACK;\n if (!requireAck) {\n // push mode now buffers and sends based on pull credit\n this.enqueue({\n data,\n done\n });\n this.emit(StreamEvent.WRITE, {\n data,\n done\n });\n this.flush();\n return;\n }\n return new Promise(resolve => {\n var ackRequestId = generateRequestId();\n this.enqueue({\n data,\n done,\n requireAck: true,\n ackRequestId,\n ackTimeout,\n resolveAck: resolve\n });\n this.emit(StreamEvent.WRITE, {\n data,\n done\n });\n this.flush();\n });\n }\n\n /**\n * End the stream (mode === 'push').\n */\n end() {\n if (this.mode !== StreamModeConstant.PUSH) {\n // For pull mode, end is controlled internally\n this.endInternal();\n return;\n }\n // In push mode, end means enqueue a terminal marker if nothing queued\n if (this.mode === StreamModeConstant.PUSH) {\n if (this.pendingQueue.length === 0) {\n this.enqueue({\n data: undefined,\n done: true\n });\n } else {\n // Ensure the last queued chunk marks done\n this.pendingQueue[this.pendingQueue.length - 1].done = true;\n }\n this.flush();\n return;\n }\n this.endInternal();\n }\n\n /**\n * Generate data from iterator\n */\n pumpFromGenerator() {\n var _this4 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var gen, r, result, _t2;\n return _regeneratorRuntime.wrap(function (_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!_this4.pumping) {\n _context4.next = 1;\n break;\n }\n return _context4.abrupt(\"return\");\n case 1:\n _this4.pumping = true;\n _context4.prev = 2;\n if (!_this4.iterator) {\n _context4.next = 8;\n break;\n }\n gen = _this4.iterator();\n case 3:\n if (!(_this4._state === StreamStateConstant.STREAMING)) {\n _context4.next = 7;\n break;\n }\n if (!(_this4.pullCredit <= 0)) {\n _context4.next = 4;\n break;\n }\n return _context4.abrupt(\"continue\", 7);\n case 4:\n _context4.next = 5;\n return gen.next();\n case 5:\n r = _context4.sent;\n if (!r.done) {\n _context4.next = 6;\n break;\n }\n // no more data: send end\n _this4.endInternal();\n return _context4.abrupt(\"continue\", 7);\n case 6:\n _this4.enqueue({\n data: r.value,\n done: false\n });\n _this4.flush();\n _context4.next = 3;\n break;\n case 7:\n _context4.next = 15;\n break;\n case 8:\n if (!_this4.nextFn) {\n _context4.next = 14;\n break;\n }\n case 9:\n if (!(_this4._state === StreamStateConstant.STREAMING)) {\n _context4.next = 13;\n break;\n }\n if (!(_this4.pullCredit <= 0)) {\n _context4.next = 10;\n break;\n }\n return _context4.abrupt(\"continue\", 13);\n case 10:\n _context4.next = 11;\n return Promise.resolve(_this4.nextFn());\n case 11:\n result = _context4.sent;\n _this4.enqueue({\n data: result.data,\n done: result.done\n });\n _this4.flush();\n if (!result.done) {\n _context4.next = 12;\n break;\n }\n return _context4.abrupt(\"continue\", 13);\n case 12:\n _context4.next = 9;\n break;\n case 13:\n _context4.next = 15;\n break;\n case 14:\n // No producer, just end when pulled\n if (_this4.pullCredit > 0) {\n _this4.endInternal();\n }\n case 15:\n _context4.next = 17;\n break;\n case 16:\n _context4.prev = 16;\n _t2 = _context4[\"catch\"](2);\n if (_this4._state === StreamStateConstant.STREAMING) {\n _this4.error((_t2 === null || _t2 === void 0 ? void 0 : _t2.message) || String(_t2));\n }\n case 17:\n _context4.prev = 17;\n _this4.pumping = false;\n return _context4.finish(17);\n case 18:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4, null, [[2, 16, 17, 18]]);\n }))();\n }\n\n /**\n * Send data chunk\n */\n sendData(data, done = false, options) {\n var _this$context$serverI2, _options$requestId;\n if (!this.context) {\n throw new RequestIframeStreamError({\n message: Messages.STREAM_NOT_BOUND,\n code: ErrorCode.STREAM_NOT_BOUND,\n streamId: this.streamId\n });\n }\n var seq = this.seq++;\n var isClientStream = this.context.clientId !== undefined && this.context.serverId === undefined;\n var role = isClientStream ? MessageRole.CLIENT : MessageRole.SERVER;\n var creatorId = (_this$context$serverI2 = this.context.serverId) !== null && _this$context$serverI2 !== void 0 ? _this$context$serverI2 : this.context.clientId;\n var message = createPostMessage(MessageType.STREAM_DATA, (_options$requestId = options === null || options === void 0 ? void 0 : options.requestId) !== null && _options$requestId !== void 0 ? _options$requestId : this.context.requestId, {\n secretKey: this.context.secretKey,\n requireAck: options === null || options === void 0 ? void 0 : options.requireAck,\n /**\n * When per-frame requireAck is enabled, include a unique identifier in ack.\n * - seq is the stream frame sequence number.\n *\n * NOTE: ack is an internal reserved field (not part of public API).\n */\n ack: options !== null && options !== void 0 && options.requireAck ? {\n id: `${this.streamId}:${seq}`\n } : undefined,\n body: {\n streamId: this.streamId,\n data: this.encodeData(data),\n done,\n seq\n },\n role,\n creatorId,\n targetId: this.context.targetId\n });\n var ok = this.context.channel.send(this.context.targetWindow, message, this.context.targetOrigin);\n if (!ok) {\n this._state = StreamStateConstant.CANCELLED;\n this.clearExpireTimer();\n throw new RequestIframeStreamError({\n message: formatMessage(Messages.STREAM_CANCELLED, Messages.TARGET_WINDOW_CLOSED),\n code: ErrorCode.TARGET_WINDOW_CLOSED,\n streamId: this.streamId,\n requestId: this.context.requestId\n });\n }\n this.emit(StreamEvent.SEND, {\n seq,\n done\n });\n }\n flush() {\n if (this._state !== StreamStateConstant.STREAMING) return;\n\n // First try to pump from generator if needed\n if (this.mode === StreamModeConstant.PULL && this.pendingQueue.length === 0) {\n void this.pumpFromGenerator();\n }\n while (this.pullCredit > 0 && this.pendingQueue.length > 0 && this._state === StreamStateConstant.STREAMING) {\n var item = this.pendingQueue.shift();\n this.pendingBytes -= item.bytes;\n this.pullCredit--;\n try {\n if (item.requireAck && item.ackRequestId && item.resolveAck) {\n this.ensureAckReceiver();\n if (this.ackReceiverRegistered) {\n var _item$ackTimeout;\n this.registerAckWaiter(item.ackRequestId, (_item$ackTimeout = item.ackTimeout) !== null && _item$ackTimeout !== void 0 ? _item$ackTimeout : DefaultTimeout.ACK, item.resolveAck);\n this.sendData(item.data, item.done, {\n requestId: item.ackRequestId,\n requireAck: true\n });\n } else {\n item.resolveAck(false);\n this.sendData(item.data, item.done);\n }\n } else {\n this.sendData(item.data, item.done);\n }\n } catch (e) {\n var _this$rejectCompletio, _this$context9;\n // send failure treated as cancellation\n this._state = StreamStateConstant.CANCELLED;\n this.clearExpireTimer();\n this.clearIdleTimer();\n this.unregisterControlHandler();\n this.pendingQueue.length = 0;\n this.pendingBytes = 0;\n this.cleanupAckWaiters();\n (_this$rejectCompletio = this.rejectCompletion) === null || _this$rejectCompletio === void 0 || _this$rejectCompletio.call(this, e instanceof Error ? e : new RequestIframeStreamError({\n message: String(e),\n code: ErrorCode.STREAM_ERROR,\n streamId: this.streamId,\n requestId: (_this$context9 = this.context) === null || _this$context9 === void 0 ? void 0 : _this$context9.requestId,\n cause: e\n }));\n throw e;\n }\n if (item.done) {\n this.endInternal();\n break;\n }\n }\n }\n\n /**\n * Encode data (subclasses can override, e.g., FileStream needs Base64 encoding)\n */\n encodeData(data) {\n return data;\n }\n\n /**\n * End stream\n */\n endInternal() {\n var _this$resolveCompleti;\n if (this._state !== StreamStateConstant.STREAMING) return;\n this._state = StreamStateConstant.ENDED;\n this.clearExpireTimer();\n this.clearIdleTimer();\n this.unregisterControlHandler();\n this.pendingQueue.length = 0;\n this.pendingBytes = 0;\n this.sendMessage(MessageType.STREAM_END);\n this.emit(StreamEvent.END);\n this.emit(StreamEvent.STATE, {\n state: this._state\n });\n this.cleanupAckWaiters();\n this.clearAllListeners();\n (_this$resolveCompleti = this.resolveCompletion) === null || _this$resolveCompleti === void 0 || _this$resolveCompleti.call(this);\n }\n\n /**\n * Send error\n */\n error(message) {\n var _this$context0, _this$resolveCompleti2;\n if (this._state !== StreamStateConstant.STREAMING) return;\n this._state = StreamStateConstant.ERROR;\n this.clearExpireTimer();\n this.clearIdleTimer();\n this.unregisterControlHandler();\n this.pendingQueue.length = 0;\n this.pendingBytes = 0;\n this.sendMessage(MessageType.STREAM_ERROR, {\n error: message\n });\n this.emit(StreamEvent.ERROR, {\n error: new RequestIframeStreamError({\n message,\n code: ErrorCode.STREAM_ERROR,\n streamId: this.streamId,\n requestId: (_this$context0 = this.context) === null || _this$context0 === void 0 ? void 0 : _this$context0.requestId\n })\n });\n this.emit(StreamEvent.STATE, {\n state: this._state\n });\n this.cleanupAckWaiters();\n this.clearAllListeners();\n (_this$resolveCompleti2 = this.resolveCompletion) === null || _this$resolveCompleti2 === void 0 || _this$resolveCompleti2.call(this);\n }\n\n /**\n * Abort stream transfer (is alias of cancel method)\n */\n abort(reason) {\n this.cancel(reason);\n }\n\n /**\n * Cancel stream transfer\n */\n cancel(reason) {\n var _this$resolveCompleti3;\n if (this._state !== StreamStateConstant.PENDING && this._state !== StreamStateConstant.STREAMING) return;\n this._state = StreamStateConstant.CANCELLED;\n this.clearExpireTimer();\n this.clearIdleTimer();\n this.unregisterControlHandler();\n this.pendingQueue.length = 0;\n this.pendingBytes = 0;\n this.emit(StreamEvent.CANCEL, {\n reason,\n remote: false\n });\n this.emit(StreamEvent.STATE, {\n state: this._state\n });\n if (this.context) {\n try {\n this.sendMessage(MessageType.STREAM_CANCEL, {\n reason\n });\n } catch (_unused8) {\n // ignore send failures on cancel\n }\n }\n this.cleanupAckWaiters();\n this.clearAllListeners();\n (_this$resolveCompleti3 = this.resolveCompletion) === null || _this$resolveCompleti3 === void 0 || _this$resolveCompleti3.call(this);\n }\n}","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/environment-v8-version');\nvar IS_NODE = require('../internals/environment-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: FORCED }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\nvar REDUCE_EMPTY = 'Reduce of empty array with no initial value';\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n aCallable(callbackfn);\n if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw new $TypeError(REDUCE_EMPTY);\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\nvar sign = require('../internals/math-sign');\nvar roundTiesToEven = require('../internals/math-round-ties-to-even');\n\nvar abs = Math.abs;\n\nvar EPSILON = 2.220446049250313e-16; // Number.EPSILON\n\nmodule.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) {\n var n = +x;\n var absolute = abs(n);\n var s = sign(n);\n if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON;\n var a = (1 + FLOAT_EPSILON / EPSILON) * absolute;\n var result = a - (a - absolute);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity;\n return s * result;\n};\n","'use strict';\n// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n === 0 || n !== n ? n : n < 0 ? -1 : 1;\n};\n","'use strict';\nvar EPSILON = 2.220446049250313e-16; // Number.EPSILON\nvar INVERSE_EPSILON = 1 / EPSILON;\n\nmodule.exports = function (n) {\n return n + INVERSE_EPSILON - INVERSE_EPSILON;\n};\n","'use strict';\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar $Array = Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = $Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number !== number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number !== number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent += eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[index - 1] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa += pow(2, mantissaLength);\n exponent -= eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar fround = require('../internals/math-fround');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER);\nvar getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW);\nvar setInternalState = InternalStateModule.set;\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = globalThis[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = globalThis.Array;\nvar RangeError = globalThis.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(fround(number), 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key, getInternalState) {\n defineBuiltInAccessor(Constructor[PROTOTYPE], key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return boolIsLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var pack = conversion(+value);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n type: ARRAY_BUFFER,\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) {\n this.byteLength = byteLength;\n this.detached = false;\n }\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferState = getInternalArrayBufferState(buffer);\n var bufferLength = bufferState.byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH);\n setInternalState(this, {\n type: DATA_VIEW,\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset,\n bytes: bufferState.bytes\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState);\n addGetter($DataView, 'buffer', getInternalDataViewState);\n addGetter($DataView, 'byteLength', getInternalDataViewState);\n addGetter($DataView, 'byteOffset', getInternalDataViewState);\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new, sonarjs/inconsistent-function-call -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer);\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n\n copyConstructorProperties($ArrayBuffer, NativeArrayBuffer);\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar floatRound = require('../internals/math-float-round');\n\nvar FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23;\nvar FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104\nvar FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126;\n\n// `Math.fround` method implementation\n// https://tc39.es/ecma262/#sec-math.fround\n// eslint-disable-next-line es/no-math-fround -- safe\nmodule.exports = Math.fround || function fround(x) {\n return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw new $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw new $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar round = Math.round;\n\nmodule.exports = function (it) {\n var value = round(it);\n return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar toBigInt = require('../internals/to-big-int');\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, thisIsBigIntArray, value, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n thisIsBigIntArray = isBigIntArray(result);\n for (i = 0; length > i; i++) {\n value = mapping ? mapfn(O[i], i) : O[i];\n // FF30- typed arrays doesn't properly convert objects to typed array values\n result[i] = thisIsBigIntArray ? toBigInt(value) : +value;\n }\n return result;\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toUint8Clamped = require('../internals/to-uint8-clamped');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar enforceInternalState = InternalStateModule.enforce;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar RangeError = globalThis.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar addGetter = function (it, key) {\n defineBuiltInAccessor(it, key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw new RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw new RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return arrayFromConstructorAndList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor;\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict';\n/* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar Int8Array = globalThis.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","'use strict';\nvar createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\nvar toBigInt = require('../internals/to-big-int');\nvar classof = require('../internals/classof');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar slice = uncurryThis(''.slice);\n\n// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18\nvar CONVERSION_BUG = fails(function () {\n var count = 0;\n // eslint-disable-next-line es/no-typed-arrays -- safe\n new Int8Array(2).fill({ valueOf: function () { return count++; } });\n return count !== 1;\n});\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n aTypedArray(this);\n var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value;\n return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined);\n}, CONVERSION_BUG);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = globalThis.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = globalThis.RangeError;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw new RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = globalThis.Uint16Array;\nvar nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () {\n nativeSort(new Uint16Array(2), null);\n}) && fails(function () {\n nativeSort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n nativeSort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return nativeSort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = globalThis.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\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 wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","import \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport \"core-js/modules/es.symbol.async-iterator.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.promise.finally.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { createPostMessage } from '../utils/protocol';\nimport { MessageType, Messages, StreamType as StreamTypeConstant, StreamState as StreamStateConstant, StreamInternalMessageType, formatMessage, StreamEvent, ErrorCode } from '../constants';\nimport { IframeStreamCore } from './stream-core';\nimport { RequestIframeStreamError } from './error';\n\n/**\n * Stream message handler interface\n */\n\n/**\n * IframeReadableStream - Client-side readable stream\n * Used to receive stream data sent from the server\n */\nexport class IframeReadableStream extends IframeStreamCore {\n constructor(streamId, requestId, messageHandler, options = {}) {\n var _options$type, _options$chunked, _options$consume;\n super(streamId, (_options$type = options.type) !== null && _options$type !== void 0 ? _options$type : StreamTypeConstant.DATA, (_options$chunked = options.chunked) !== null && _options$chunked !== void 0 ? _options$chunked : true, options.metadata, (_options$consume = options.consume) !== null && _options$consume !== void 0 ? _options$consume : true, options.mode);\n _defineProperty(this, \"heartbeatInFlight\", null);\n _defineProperty(this, \"lastActivityAt\", Date.now());\n /** pull/ack protocol */\n _defineProperty(this, \"pullScheduled\", false);\n _defineProperty(this, \"highWaterMark\", 16);\n this.requestId = requestId;\n this.messageHandler = messageHandler;\n this.secretKey = options.secretKey;\n this.idleTimeout = options.idleTimeout;\n this.heartbeat = options.heartbeat;\n\n // Register stream message handler\n this.messageHandler.registerStreamHandler(streamId, this.handleStreamMessage.bind(this));\n // Initial pull to start the stream (pull protocol)\n this.requestMore(1);\n\n // Observable: constructed and ready to receive data\n this.emit(StreamEvent.START, {\n streamId: this.streamId,\n type: this.type,\n chunked: this.chunked,\n mode: this.mode,\n metadata: this.metadata\n });\n }\n postControl(type, body) {\n var message = createPostMessage(type, this.requestId, {\n secretKey: this.secretKey,\n body: _objectSpread({\n streamId: this.streamId\n }, body)\n });\n this.messageHandler.postMessage(message);\n }\n requestMore(credit) {\n if (!credit || credit <= 0) return;\n if (this._state !== StreamStateConstant.PENDING && this._state !== StreamStateConstant.STREAMING) return;\n try {\n this.postControl(MessageType.STREAM_PULL, {\n credit\n });\n this.emit(StreamEvent.PULL, {\n credit\n });\n } catch (_unused) {\n /** ignore */\n }\n }\n schedulePullIfNeeded() {\n if (this.pullScheduled) return;\n this.pullScheduled = true;\n Promise.resolve().then(() => {\n this.pullScheduled = false;\n if (this._state !== StreamStateConstant.PENDING && this._state !== StreamStateConstant.STREAMING) return;\n var need = Math.max(0, this.highWaterMark - this.chunks.length);\n if (need > 0) {\n this.requestMore(need);\n }\n });\n }\n\n /** Get stream state */\n get state() {\n return super.state;\n }\n\n /**\n * Handle stream message\n */\n handleStreamMessage(data) {\n // Mark activity on any incoming stream message\n this.lastActivityAt = Date.now();\n switch (data.type) {\n case StreamInternalMessageType.DATA:\n this.handleData(data.data, data.done, data.seq);\n break;\n case StreamInternalMessageType.END:\n this.handleEnd();\n break;\n case StreamInternalMessageType.ERROR:\n this.handleError(new RequestIframeStreamError({\n message: data.error || Messages.STREAM_ERROR,\n code: ErrorCode.STREAM_ERROR,\n streamId: this.streamId,\n requestId: this.requestId\n }));\n break;\n case StreamInternalMessageType.CANCEL:\n this.handleCancel(data.reason);\n break;\n case StreamInternalMessageType.PULL:\n // Control messages for writer side; ignore in readable stream\n break;\n }\n }\n\n /**\n * Handle data chunk (internal method)\n */\n handleData(data, done, seq) {\n if (this._state !== StreamStateConstant.PENDING && this._state !== StreamStateConstant.STREAMING) return;\n this._state = StreamStateConstant.STREAMING;\n var decoded = this.decodeData(data);\n this.chunks.push(decoded);\n this.emit(StreamEvent.DATA, {\n chunk: decoded,\n done,\n seq\n });\n this.emit(StreamEvent.STATE, {\n state: this._state\n });\n this.notifyWaiters();\n this.schedulePullIfNeeded();\n if (done) {\n this.handleEnd();\n }\n }\n\n /**\n * Decode data (subclasses can override, e.g., FileStream needs Base64 decoding)\n */\n decodeData(data) {\n return data;\n }\n\n /**\n * Stream ended (internal handling)\n */\n handleEnd() {\n var _this$onEndCallback;\n if (this._state === StreamStateConstant.ENDED) return;\n super.end();\n this.messageHandler.unregisterStreamHandler(this.streamId);\n this.notifyWaiters();\n (_this$onEndCallback = this.onEndCallback) === null || _this$onEndCallback === void 0 || _this$onEndCallback.call(this);\n this.clearAllListeners();\n }\n\n /**\n * Merge data chunks (subclasses can override)\n */\n mergeChunks() {\n if (this.chunks.length === 0) {\n return undefined;\n }\n if (this.chunks.length === 1) {\n return this.chunks[0];\n }\n // Default returns array\n return this.chunks;\n }\n\n /**\n * Stream error (internal method)\n */\n handleError(error) {\n var _this$onErrorCallback;\n if (this._state === StreamStateConstant.ENDED || this._state === StreamStateConstant.ERROR) return;\n super.fail(error);\n this.messageHandler.unregisterStreamHandler(this.streamId);\n this.notifyWaiters();\n (_this$onErrorCallback = this.onErrorCallback) === null || _this$onErrorCallback === void 0 || _this$onErrorCallback.call(this, error);\n this.clearAllListeners();\n }\n\n /**\n * Stream cancelled (internal method)\n */\n handleCancel(reason) {\n this.cancelInternal(reason, false);\n }\n\n /**\n * Cancel/abort core logic\n * @param reason cancel reason\n * @param notifyRemote whether to notify remote side (send stream_cancel)\n */\n cancelInternal(reason, notifyRemote = false) {\n if (this._state === StreamStateConstant.ENDED || this._state === StreamStateConstant.ERROR || this._state === StreamStateConstant.CANCELLED) return;\n super.cancel(formatMessage(Messages.STREAM_CANCELLED, reason || ''));\n this.notifyWaiters();\n this.emit(StreamEvent.CANCEL, {\n reason,\n remote: notifyRemote\n });\n if (notifyRemote) {\n try {\n /** Notify server to cancel */\n var _message = createPostMessage(MessageType.STREAM_CANCEL, this.requestId, {\n secretKey: this.secretKey,\n body: {\n streamId: this.streamId,\n reason\n }\n });\n this.messageHandler.postMessage(_message);\n } catch (_unused2) {\n /** ignore send failures on cancel/abort */\n }\n }\n this.messageHandler.unregisterStreamHandler(this.streamId);\n if (this.terminalError) {\n var _this$onErrorCallback2;\n (_this$onErrorCallback2 = this.onErrorCallback) === null || _this$onErrorCallback2 === void 0 || _this$onErrorCallback2.call(this, this.terminalError);\n } else {\n var _this$onErrorCallback3;\n (_this$onErrorCallback3 = this.onErrorCallback) === null || _this$onErrorCallback3 === void 0 || _this$onErrorCallback3.call(this, new RequestIframeStreamError({\n message: Messages.STREAM_CANCELLED,\n code: ErrorCode.STREAM_CANCELLED,\n streamId: this.streamId,\n requestId: this.requestId\n }));\n }\n this.clearAllListeners();\n }\n performHeartbeat() {\n var _this = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (_this.heartbeat) {\n _context.next = 1;\n break;\n }\n return _context.abrupt(\"return\", false);\n case 1:\n if (!_this.heartbeatInFlight) {\n _this.heartbeatInFlight = Promise.resolve().then(() => _this.heartbeat()).catch(() => false).finally(() => {\n _this.heartbeatInFlight = null;\n });\n }\n return _context.abrupt(\"return\", _this.heartbeatInFlight);\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))();\n }\n waitForChangeWithIdleTimeout() {\n var _this2 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var state0, snapshot, timerId, stateAfter, ok;\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n state0 = _this2._state;\n if (!(state0 === StreamStateConstant.ENDED || state0 === StreamStateConstant.ERROR || state0 === StreamStateConstant.CANCELLED)) {\n _context2.next = 1;\n break;\n }\n return _context2.abrupt(\"return\");\n case 1:\n if (!(!_this2.idleTimeout || _this2.idleTimeout <= 0)) {\n _context2.next = 3;\n break;\n }\n _context2.next = 2;\n return _this2.waitForChange();\n case 2:\n return _context2.abrupt(\"return\");\n case 3:\n snapshot = _this2.lastActivityAt;\n timerId = null;\n _context2.next = 4;\n return Promise.race([_this2.waitForChange(), new Promise(resolve => {\n timerId = setTimeout(resolve, _this2.idleTimeout);\n })]);\n case 4:\n if (timerId) clearTimeout(timerId);\n\n // If stream already moved to a terminal state, just return\n stateAfter = _this2._state;\n if (!(stateAfter === StreamStateConstant.ENDED || stateAfter === StreamStateConstant.ERROR || stateAfter === StreamStateConstant.CANCELLED)) {\n _context2.next = 5;\n break;\n }\n return _context2.abrupt(\"return\");\n case 5:\n if (!(_this2.lastActivityAt !== snapshot)) {\n _context2.next = 6;\n break;\n }\n return _context2.abrupt(\"return\");\n case 6:\n _context2.next = 7;\n return _this2.performHeartbeat();\n case 7:\n ok = _context2.sent;\n if (!ok) {\n _context2.next = 8;\n break;\n }\n // Treat heartbeat as activity to prevent immediate re-trigger\n _this2.lastActivityAt = Date.now();\n return _context2.abrupt(\"return\");\n case 8:\n // Connection likely dead: fail the stream\n _this2.emit(StreamEvent.TIMEOUT, {\n timeout: _this2.idleTimeout\n });\n _this2.handleError(new RequestIframeStreamError({\n message: formatMessage(Messages.STREAM_TIMEOUT, _this2.idleTimeout),\n code: ErrorCode.STREAM_TIMEOUT,\n streamId: _this2.streamId,\n requestId: _this2.requestId\n }));\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n }\n\n /**\n * Read all data\n */\n read() {\n var _this3 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var merged, _merged;\n return _regeneratorRuntime.wrap(function (_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!(_this3._state === StreamStateConstant.ENDED)) {\n _context3.next = 1;\n break;\n }\n merged = _this3.mergeChunks();\n _this3.emit(StreamEvent.READ, {\n value: merged\n });\n return _context3.abrupt(\"return\", merged);\n case 1:\n if (!(_this3._state === StreamStateConstant.ERROR || _this3._state === StreamStateConstant.CANCELLED)) {\n _context3.next = 2;\n break;\n }\n throw _this3.terminalError || new RequestIframeStreamError({\n message: Messages.STREAM_READ_ERROR,\n code: ErrorCode.STREAM_READ_ERROR,\n streamId: _this3.streamId,\n requestId: _this3.requestId\n });\n case 2:\n if (!(_this3._state === StreamStateConstant.PENDING || _this3._state === StreamStateConstant.STREAMING)) {\n _context3.next = 4;\n break;\n }\n if (_this3.chunks.length === 0) {\n _this3.requestMore(1);\n }\n _context3.next = 3;\n return _this3.waitForChangeWithIdleTimeout();\n case 3:\n _context3.next = 2;\n break;\n case 4:\n if (!(_this3._state === StreamStateConstant.ENDED)) {\n _context3.next = 5;\n break;\n }\n _merged = _this3.mergeChunks();\n _this3.emit(StreamEvent.READ, {\n value: _merged\n });\n return _context3.abrupt(\"return\", _merged);\n case 5:\n throw _this3.terminalError || new RequestIframeStreamError({\n message: Messages.STREAM_READ_ERROR,\n code: ErrorCode.STREAM_READ_ERROR,\n streamId: _this3.streamId,\n requestId: _this3.requestId\n });\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }))();\n }\n\n /**\n * Read all chunks as an array\n */\n readAll() {\n var _this4 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var list, _list;\n return _regeneratorRuntime.wrap(function (_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!(_this4._state === StreamStateConstant.ENDED)) {\n _context4.next = 1;\n break;\n }\n list = _this4.chunks.slice();\n _this4.emit(StreamEvent.READ, {\n value: list\n });\n return _context4.abrupt(\"return\", list);\n case 1:\n if (!(_this4._state === StreamStateConstant.ERROR || _this4._state === StreamStateConstant.CANCELLED)) {\n _context4.next = 2;\n break;\n }\n throw _this4.terminalError || new RequestIframeStreamError({\n message: Messages.STREAM_READ_ERROR,\n code: ErrorCode.STREAM_READ_ERROR,\n streamId: _this4.streamId,\n requestId: _this4.requestId\n });\n case 2:\n if (!(_this4._state === StreamStateConstant.PENDING || _this4._state === StreamStateConstant.STREAMING)) {\n _context4.next = 4;\n break;\n }\n _this4.schedulePullIfNeeded();\n _context4.next = 3;\n return _this4.waitForChangeWithIdleTimeout();\n case 3:\n _context4.next = 2;\n break;\n case 4:\n if (!(_this4._state === StreamStateConstant.ENDED)) {\n _context4.next = 5;\n break;\n }\n _list = _this4.chunks.slice();\n _this4.emit(StreamEvent.READ, {\n value: _list\n });\n return _context4.abrupt(\"return\", _list);\n case 5:\n throw _this4.terminalError || new RequestIframeStreamError({\n message: Messages.STREAM_READ_ERROR,\n code: ErrorCode.STREAM_READ_ERROR,\n streamId: _this4.streamId,\n requestId: _this4.requestId\n });\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }))();\n }\n\n /**\n * Async iterator\n */\n [Symbol.asyncIterator]() {\n var index = 0;\n var stream = this;\n return {\n next() {\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n var value;\n return _regeneratorRuntime.wrap(function (_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n if (!(index >= stream.chunks.length)) {\n _context5.next = 3;\n break;\n }\n if (!(stream._state === StreamStateConstant.ENDED || stream._state === StreamStateConstant.ERROR || stream._state === StreamStateConstant.CANCELLED)) {\n _context5.next = 1;\n break;\n }\n return _context5.abrupt(\"return\", {\n done: true,\n value: undefined\n });\n case 1:\n // Consumer is ready: request at least 1 chunk\n stream.requestMore(1);\n _context5.next = 2;\n return stream.waitForChangeWithIdleTimeout();\n case 2:\n _context5.next = 0;\n break;\n case 3:\n value = stream.chunks[index++];\n stream.emit(StreamEvent.READ, {\n value\n });\n if (stream.consume) {\n /**\n * Drop already-consumed chunks to reduce memory usage.\n * Use compaction (slice) to avoid O(n) shift per chunk.\n */\n if (index > 128) {\n stream.chunks = stream.chunks.slice(index);\n index = 0;\n }\n }\n return _context5.abrupt(\"return\", {\n done: false,\n value\n });\n case 4:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }))();\n }\n };\n }\n\n /**\n * Abort stream (is alias of cancel method)\n */\n abort(reason) {\n this.cancelInternal(reason, true);\n }\n\n /**\n * Cancel stream\n */\n cancel(reason) {\n this.cancelInternal(reason, true);\n }\n\n /**\n * Listen for stream end\n */\n onEnd(callback) {\n this.onEndCallback = callback;\n if (this._state === StreamStateConstant.ENDED) {\n callback();\n }\n }\n\n /**\n * Listen for stream error\n */\n onError(callback) {\n this.onErrorCallback = callback;\n }\n}","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","import _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.symbol.description.js\";\nimport \"core-js/modules/es.array.from.js\";\nimport \"core-js/modules/es.array.reduce.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/es.typed-array.uint8-array.js\";\nimport \"core-js/modules/es.typed-array.fill.js\";\nimport \"core-js/modules/es.typed-array.iterator.js\";\nimport \"core-js/modules/es.typed-array.set.js\";\nimport \"core-js/modules/es.typed-array.sort.js\";\nimport \"core-js/modules/es.typed-array.to-string.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { IframeWritableStream } from './writable-stream';\nimport { IframeReadableStream } from './readable-stream';\nimport { StreamType as StreamTypeConstant } from '../constants';\n\n/**\r\n * Convert Uint8Array to Base64 string\r\n */\nfunction uint8ArrayToBase64(uint8Array) {\n /**\r\n * Avoid O(n^2) string concatenation for large buffers.\r\n * Note: btoa still needs a single binary string, so this mainly improves conversion cost.\r\n */\n var chunkSize = 0x8000; // 32KB per chunk (safe for fromCharCode/apply limits)\n var parts = [];\n for (var i = 0; i < uint8Array.length; i += chunkSize) {\n var chunk = uint8Array.subarray(i, i + chunkSize);\n parts.push(String.fromCharCode.apply(null, chunk));\n }\n return btoa(parts.join(''));\n}\n\n/**\r\n * Convert Base64 string to Uint8Array\r\n */\nfunction base64ToUint8Array(base64) {\n var binary = atob(base64);\n var uint8Array = new Uint8Array(binary.length);\n for (var i = 0; i < binary.length; i++) {\n uint8Array[i] = binary.charCodeAt(i);\n }\n return uint8Array;\n}\n\n/**\r\n * IframeFileWritableStream - Server-side file writable stream\r\n * Automatically handles Base64 encoding of file content\r\n */\nexport class IframeFileWritableStream extends IframeWritableStream {\n constructor(options) {\n super(_objectSpread(_objectSpread({}, options), {}, {\n type: StreamTypeConstant.FILE,\n metadata: _objectSpread(_objectSpread({}, options.metadata), {}, {\n filename: options.filename,\n mimeType: options.mimeType || 'application/octet-stream',\n size: options.size\n })\n }));\n this.filename = options.filename;\n this.mimeType = options.mimeType || 'application/octet-stream';\n this.size = options.size;\n }\n\n /**\r\n * Override encode method to convert Uint8Array to Base64\r\n */\n encodeData(data) {\n if (data instanceof Uint8Array) {\n return uint8ArrayToBase64(data);\n }\n if (data instanceof ArrayBuffer) {\n return uint8ArrayToBase64(new Uint8Array(data));\n }\n if (typeof data === 'string') {\n // Already a base64 string\n return data;\n }\n // Try to convert other types\n return String(data);\n }\n}\n\n/**\r\n * IframeFileReadableStream - Client-side file readable stream\r\n * Automatically handles Base64 decoding of file content\r\n */\nexport class IframeFileReadableStream extends IframeReadableStream {\n constructor(streamId, requestId, messageHandler, options = {}) {\n var _options$metadata, _options$metadata2, _options$metadata3;\n super(streamId, requestId, messageHandler, _objectSpread(_objectSpread({}, options), {}, {\n type: StreamTypeConstant.FILE\n }));\n this.filename = options.filename || ((_options$metadata = options.metadata) === null || _options$metadata === void 0 ? void 0 : _options$metadata.filename);\n this.mimeType = options.mimeType || ((_options$metadata2 = options.metadata) === null || _options$metadata2 === void 0 ? void 0 : _options$metadata2.mimeType);\n this.size = options.size || ((_options$metadata3 = options.metadata) === null || _options$metadata3 === void 0 ? void 0 : _options$metadata3.size);\n }\n\n /**\r\n * Override decode method to convert Base64 to Uint8Array\r\n */\n decodeData(data) {\n if (typeof data === 'string') {\n return base64ToUint8Array(data);\n }\n if (data instanceof Uint8Array) {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n return new Uint8Array();\n }\n\n /**\r\n * Override merge method to merge all Uint8Array chunks\r\n */\n mergeChunks() {\n var chunks = this.chunks;\n if (chunks.length === 0) {\n return new Uint8Array();\n }\n if (chunks.length === 1) {\n return chunks[0];\n }\n\n // Calculate total length\n var totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0);\n var result = new Uint8Array(totalLength);\n\n // Merge all chunks\n var offset = 0;\n var _iterator = _createForOfIteratorHelper(chunks),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n result.set(chunk, offset);\n offset += chunk.length;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return result;\n }\n\n /**\r\n * Read all data as a merged Uint8Array (file stream default behavior)\r\n */\n read() {\n var _superprop_getRead = () => super.read,\n _this = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 1;\n return _superprop_getRead().call(_this);\n case 1:\n return _context.abrupt(\"return\", _context.sent);\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))();\n }\n\n /**\r\n * Read as Blob\r\n */\n readAsBlob() {\n var _this2 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var data, buffer;\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 1;\n return _this2.read();\n case 1:\n data = _context2.sent;\n // Use slice to create a pure ArrayBuffer copy to avoid type issues\n buffer = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);\n return _context2.abrupt(\"return\", new Blob([buffer], {\n type: _this2.mimeType || 'application/octet-stream'\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n }\n\n /**\r\n * Read as File\r\n * @param fileName Optional file name (if not provided, uses stream's filename)\r\n */\n readAsFile(fileName) {\n var _this3 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var data, buffer, name;\n return _regeneratorRuntime.wrap(function (_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 1;\n return _this3.read();\n case 1:\n data = _context3.sent;\n // Use slice to create a pure ArrayBuffer copy to avoid type issues\n buffer = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);\n name = fileName || _this3.filename || 'file';\n return _context3.abrupt(\"return\", new File([buffer], name, {\n type: _this3.mimeType || 'application/octet-stream'\n }));\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }))();\n }\n\n /**\r\n * Read as ArrayBuffer\r\n */\n readAsArrayBuffer() {\n var _this4 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var data, buffer;\n return _regeneratorRuntime.wrap(function (_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 1;\n return _this4.read();\n case 1:\n data = _context4.sent;\n // Create a new ArrayBuffer copy\n buffer = new ArrayBuffer(data.byteLength);\n new Uint8Array(buffer).set(data);\n return _context4.abrupt(\"return\", buffer);\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }))();\n }\n\n /**\r\n * Read as Data URL\r\n */\n readAsDataURL() {\n var _this5 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n var data, base64;\n return _regeneratorRuntime.wrap(function (_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 1;\n return _this5.read();\n case 1:\n data = _context5.sent;\n base64 = uint8ArrayToBase64(data);\n return _context5.abrupt(\"return\", `data:${_this5.mimeType || 'application/octet-stream'};base64,${base64}`);\n case 2:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }))();\n }\n}","// Type exports\nexport * from './types';\n\n// Duplex core is internal and not exported publicly.\n\n// Writable stream (server-side)\nexport { IframeWritableStream } from './writable-stream';\nexport { IframeFileWritableStream } from './file-stream';\n\n// Stream error\nexport { RequestIframeStreamError } from './error';\n// Readable stream (client-side)\nexport { IframeReadableStream } from './readable-stream';\nexport { IframeFileReadableStream } from './file-stream';\n\n// Type checking utility functions\nimport { IframeReadableStream } from './readable-stream';\nimport { IframeFileReadableStream, IframeFileWritableStream } from './file-stream';\nimport { IframeWritableStream } from './writable-stream';\n/**\r\n * Check if value is an IframeReadableStream\r\n */\nexport function isIframeReadableStream(value) {\n return value instanceof IframeReadableStream;\n}\n\n/**\r\n * Check if value is an IframeFileReadableStream (file stream)\r\n */\nexport function isIframeFileReadableStream(value) {\n return value instanceof IframeFileReadableStream;\n}\n\n/**\r\n * Check if value is an IframeWritableStream (includes IframeFileWritableStream)\r\n */\nexport function isIframeWritableStream(value) {\n return value instanceof IframeWritableStream || value instanceof IframeFileWritableStream;\n}\n\n/**\r\n * Check if value is an IframeFileWritableStream (file writable stream)\r\n */\nexport function isIframeFileWritableStream(value) {\n return value instanceof IframeFileWritableStream;\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","'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 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","import \"core-js/modules/es.array.includes.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.string.includes.js\";\n/** Convert Blob to base64 string */\nexport function blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n var reader = new FileReader();\n reader.onloadend = () => {\n var result = reader.result;\n var base64 = result.includes(',') ? result.split(',')[1] : result;\n resolve(base64);\n };\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n}","import _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport \"core-js/modules/es.promise.js\";\nimport { blobToBase64 } from '../../utils/blob';\n\n/**\n * Endpoint Stream integration layer (`src/endpoint/stream`)\n *\n * This directory integrates postMessage `stream_*` messages with the stream object system in `src/stream`:\n * - Endpoint-side File/Blob -> IframeFileWritableStream adaptation (for sendFile / res.sendFile)\n * - Does NOT implement the stream protocol itself (protocol lives in `src/stream`)\n *\n * Create an IframeFileWritableStream from content.\n *\n * Shared by:\n * - client: sendFile(...) -> sendStream(...)\n * - server response: res.sendFile(...) -> sendStream(...)\n */\nexport function createIframeFileWritableStreamFromContent(_x) {\n return _createIframeFileWritableStreamFromContent.apply(this, arguments);\n}\nfunction _createIframeFileWritableStreamFromContent() {\n _createIframeFileWritableStreamFromContent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(params) {\n var _params$chunked, _params$autoResolve;\n var _yield$import, IframeFileWritableStream, mimeType, fileName, t, fileContent, streamFileName, stream, _t;\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 1;\n return import('../../stream');\n case 1:\n _yield$import = _context2.sent;\n IframeFileWritableStream = _yield$import.IframeFileWritableStream;\n mimeType = params.mimeType || params.defaultMimeType || 'application/octet-stream';\n fileName = params.fileName;\n try {\n if (typeof File !== 'undefined' && params.content instanceof File) {\n mimeType = params.content.type || mimeType;\n fileName = fileName || params.content.name;\n }\n } catch (_unused) {\n /** ignore */\n }\n try {\n if (!fileName && typeof Blob !== 'undefined' && params.content instanceof Blob) {\n t = params.content.type;\n if (t) mimeType = t;\n }\n } catch (_unused2) {\n /** ignore */\n }\n if (!(typeof params.content === 'string')) {\n _context2.next = 2;\n break;\n }\n _t = btoa(unescape(encodeURIComponent(params.content)));\n _context2.next = 4;\n break;\n case 2:\n _context2.next = 3;\n return blobToBase64(params.content);\n case 3:\n _t = _context2.sent;\n case 4:\n fileContent = _t;\n streamFileName = fileName || params.defaultFileName || 'file';\n stream = new IframeFileWritableStream({\n filename: streamFileName,\n mimeType,\n chunked: (_params$chunked = params.chunked) !== null && _params$chunked !== void 0 ? _params$chunked : false,\n autoResolve: (_params$autoResolve = params.autoResolve) !== null && _params$autoResolve !== void 0 ? _params$autoResolve : true,\n next: function () {\n var _next = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", {\n data: fileContent,\n done: true\n });\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n function next() {\n return _next.apply(this, arguments);\n }\n return next;\n }()\n });\n return _context2.abrupt(\"return\", {\n stream,\n fileName,\n mimeType\n });\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _createIframeFileWritableStreamFromContent.apply(this, arguments);\n}","import _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.promise.finally.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport { isIframeWritableStream } from '../../stream';\nimport { createIframeFileWritableStreamFromContent } from '../stream/file-writable';\nimport { SyncHook } from '../../utils/hooks';\n\n/**\n * Outbox hooks for send pipelines.\n */\n\n/**\n * Stream send pipeline params.\n */\n\n/**\n * File send pipeline params.\n */\n\n/**\n * Universal send pipeline params.\n */\n\nfunction safeIsFile(data) {\n try {\n return typeof File !== 'undefined' && data instanceof File;\n } catch (_unused) {\n return false;\n }\n}\nfunction safeIsBlob(data) {\n try {\n return typeof Blob !== 'undefined' && data instanceof Blob;\n } catch (_unused2) {\n return false;\n }\n}\n\n/**\n * RequestIframeEndpointOutbox\n *\n * A lightweight \"built-in sender\" bound to a fixed peer (targetWindow/targetOrigin).\n * Used by request/response-side objects to send messages without repeatedly passing\n * targetWindow/targetOrigin.\n */\nexport class RequestIframeEndpointOutbox {\n constructor(dispatcher, targetWindow, targetOrigin, defaultTargetId) {\n _defineProperty(this, \"hooks\", {\n beforeSendRaw: new SyncHook(),\n afterSendRaw: new SyncHook(),\n sendRawError: new SyncHook(),\n beforeSendMessage: new SyncHook(),\n afterSendMessage: new SyncHook(),\n sendMessageError: new SyncHook()\n });\n this.dispatcher = dispatcher;\n this.targetWindow = targetWindow;\n this.targetOrigin = targetOrigin;\n this.defaultTargetId = defaultTargetId;\n }\n setDefaultTargetId(targetId) {\n this.defaultTargetId = targetId;\n }\n get secretKey() {\n return this.dispatcher.secretKey;\n }\n get channel() {\n return this.dispatcher.getChannel();\n }\n runWithHooks(hooks, fn) {\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var result, _t;\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n if (!hooks.before) {\n _context.next = 1;\n break;\n }\n _context.next = 1;\n return hooks.before();\n case 1:\n _context.next = 2;\n return fn();\n case 2:\n result = _context.sent;\n if (!hooks.end) {\n _context.next = 3;\n break;\n }\n _context.next = 3;\n return hooks.end(result);\n case 3:\n return _context.abrupt(\"return\", result);\n case 4:\n _context.prev = 4;\n _t = _context[\"catch\"](0);\n if (!hooks.error) {\n _context.next = 6;\n break;\n }\n _context.next = 5;\n return hooks.error(_t);\n case 5:\n return _context.abrupt(\"return\", _context.sent);\n case 6:\n throw _t;\n case 7:\n _context.prev = 7;\n if (!hooks.finally) {\n _context.next = 8;\n break;\n }\n _context.next = 8;\n return hooks.finally();\n case 8:\n return _context.finish(7);\n case 9:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[0, 4, 7, 9]]);\n }))();\n }\n\n /**\n * Create a stream bind context using this peer's fixed target info.\n *\n * This helps unify the duplicated `_bind({ targetWindow, targetOrigin, secretKey, channel, ... })` logic\n * across client/server response implementations.\n */\n createStreamBindContext(params) {\n var _params$targetId;\n return {\n requestId: params.requestId,\n targetWindow: this.targetWindow,\n targetOrigin: this.targetOrigin,\n secretKey: this.secretKey,\n channel: this.channel,\n registerStreamHandler: params.registerStreamHandler,\n unregisterStreamHandler: params.unregisterStreamHandler,\n heartbeat: params.heartbeat,\n serverId: params.serverId,\n clientId: params.clientId,\n targetId: (_params$targetId = params.targetId) !== null && _params$targetId !== void 0 ? _params$targetId : this.defaultTargetId\n };\n }\n\n /**\n * Bind and start a writable stream to this peer.\n *\n * Note:\n * - Client-side request-body streams may need to delay `start()` until after REQUEST is sent.\n * For that case, prefer `createStreamBindContext()` + manual `stream.start()`.\n */\n sendWritableStream(stream, params) {\n var _this = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n stream._bind(_this.createStreamBindContext(params));\n _context2.next = 1;\n return stream.start();\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n }\n\n /**\n * Universal send - dispatch by data type, then call hooks to implement differences.\n */\n send(params) {\n var _this2 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function (_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", _this2.runWithHooks(params, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var data;\n return _regeneratorRuntime.wrap(function (_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n data = params.data;\n if (!isIframeWritableStream(data)) {\n _context3.next = 4;\n break;\n }\n if (!params.onStream) {\n _context3.next = 2;\n break;\n }\n _context3.next = 1;\n return params.onStream(data);\n case 1:\n return _context3.abrupt(\"return\", _context3.sent);\n case 2:\n _context3.next = 3;\n return params.onOther(data);\n case 3:\n return _context3.abrupt(\"return\", _context3.sent);\n case 4:\n if (!(safeIsFile(data) || safeIsBlob(data))) {\n _context3.next = 8;\n break;\n }\n if (!params.onFileOrBlob) {\n _context3.next = 6;\n break;\n }\n _context3.next = 5;\n return params.onFileOrBlob(data);\n case 5:\n return _context3.abrupt(\"return\", _context3.sent);\n case 6:\n _context3.next = 7;\n return params.onOther(data);\n case 7:\n return _context3.abrupt(\"return\", _context3.sent);\n case 8:\n _context3.next = 9;\n return params.onOther(data);\n case 9:\n return _context3.abrupt(\"return\", _context3.sent);\n case 10:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }))));\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }))();\n }\n runStreamSend(params) {\n var _this3 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n var resultPromise, result;\n return _regeneratorRuntime.wrap(function (_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n params.stream._bind(_this3.createStreamBindContext(params.bind));\n resultPromise = params.beforeStart ? params.beforeStart({\n stream: params.stream\n }) : undefined;\n if (!(params.awaitStart === false)) {\n _context5.next = 2;\n break;\n }\n /**\n * Fire-and-forget:\n * - request-body stream must start after REQUEST is sent (beforeStart is expected to send REQUEST synchronously)\n * - we must NOT await the response promise before starting stream, otherwise server will time out waiting stream_start\n */\n void params.stream.start();\n _context5.next = 1;\n return resultPromise;\n case 1:\n return _context5.abrupt(\"return\", _context5.sent);\n case 2:\n _context5.next = 3;\n return resultPromise;\n case 3:\n result = _context5.sent;\n _context5.next = 4;\n return params.stream.start();\n case 4:\n return _context5.abrupt(\"return\", result);\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }))();\n }\n\n /**\n * Send writable stream via peer.\n */\n sendStream(params) {\n var _this4 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {\n return _regeneratorRuntime.wrap(function (_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n return _context7.abrupt(\"return\", _this4.runWithHooks(params, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {\n return _regeneratorRuntime.wrap(function (_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 1;\n return _this4.runStreamSend(params);\n case 1:\n return _context6.abrupt(\"return\", _context6.sent);\n case 2:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6);\n }))));\n case 1:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7);\n }))();\n }\n\n /**\n * Send File/Blob/string as a file stream via peer.\n */\n sendFile(params) {\n var _this5 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {\n return _regeneratorRuntime.wrap(function (_context9) {\n while (1) switch (_context9.prev = _context9.next) {\n case 0:\n return _context9.abrupt(\"return\", _this5.runWithHooks(params, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {\n var _params$onFileInfo;\n var created;\n return _regeneratorRuntime.wrap(function (_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 1;\n return createIframeFileWritableStreamFromContent({\n content: params.content,\n fileName: params.fileName,\n mimeType: params.mimeType,\n chunked: params.chunked,\n autoResolve: params.autoResolve,\n defaultFileName: params.defaultFileName,\n defaultMimeType: params.defaultMimeType\n });\n case 1:\n created = _context8.sent;\n _context8.next = 2;\n return (_params$onFileInfo = params.onFileInfo) === null || _params$onFileInfo === void 0 ? void 0 : _params$onFileInfo.call(params, {\n fileName: created.fileName,\n mimeType: created.mimeType\n });\n case 2:\n _context8.next = 3;\n return _this5.runStreamSend(_objectSpread(_objectSpread({}, params.stream), {}, {\n stream: created.stream\n }));\n case 3:\n return _context8.abrupt(\"return\", _context8.sent);\n case 4:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8);\n }))));\n case 1:\n case \"end\":\n return _context9.stop();\n }\n }, _callee9);\n }))();\n }\n\n /**\n * Send typed message with peer pre-bound.\n */\n sendMessage(type, requestId, data) {\n var payload = _objectSpread({}, data || {});\n if (payload.targetId === undefined && this.defaultTargetId !== undefined) {\n payload.targetId = this.defaultTargetId;\n }\n this.hooks.beforeSendMessage.call(type, requestId, payload);\n try {\n var _ok = this.dispatcher.sendMessage(this.targetWindow, this.targetOrigin, type, requestId, payload);\n this.hooks.afterSendMessage.call(type, requestId, payload, _ok);\n return _ok;\n } catch (e) {\n this.hooks.sendMessageError.call(type, requestId, payload, e);\n throw e;\n }\n }\n\n /**\n * Send raw message with peer pre-bound.\n */\n sendRaw(message) {\n this.hooks.beforeSendRaw.call(message);\n try {\n var _ok2 = this.dispatcher.send(this.targetWindow, message, this.targetOrigin);\n this.hooks.afterSendRaw.call(message, _ok2);\n return _ok2;\n } catch (e) {\n this.hooks.sendRawError.call(message, e);\n throw e;\n }\n }\n}","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.map.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.set.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { MessageDispatcher } from '../../message';\nimport { isCompatibleVersion } from '../../utils/protocol';\nimport { OriginConstant, Messages } from '../../constants';\nimport { getOrCreateMessageChannel, releaseMessageChannel } from '../../message/channel-cache';\nimport { RequestIframeEndpointOutbox } from './outbox';\nimport { SyncHook } from '../../utils/hooks';\n\n/**\n * Pending manager for maps and timers.\n *\n * - Track all pending maps created by hub\n * - Track all timeouts created by hub\n * - Provide a unified cleanup when destroying\n */\nclass RequestIframePendingManager {\n constructor() {\n _defineProperty(this, \"maps\", new Map());\n _defineProperty(this, \"timeouts\", new Set());\n }\n /**\n * Get or create a named pending map that will be auto-cleared on destroy.\n */\n map(name) {\n var existing = this.maps.get(name);\n if (existing) return existing;\n var m = new Map();\n this.maps.set(name, m);\n return m;\n }\n get(name, key) {\n return this.map(name).get(key);\n }\n set(name, key, value) {\n this.map(name).set(key, value);\n }\n has(name, key) {\n return this.map(name).has(key);\n }\n delete(name, key) {\n return this.map(name).delete(key);\n }\n\n /**\n * Create a timeout that will be auto-cleared on destroy.\n */\n setTimeout(fn, ms) {\n var id = setTimeout(() => {\n this.timeouts.delete(id);\n fn();\n }, ms);\n this.timeouts.add(id);\n return id;\n }\n\n /**\n * Clear a tracked timeout.\n */\n clearTimeout(id) {\n clearTimeout(id);\n this.timeouts.delete(id);\n }\n\n /**\n * Clear all tracked pending maps and timeouts.\n */\n clearAll() {\n this.timeouts.forEach(id => clearTimeout(id));\n this.timeouts.clear();\n this.maps.forEach(m => m.clear());\n }\n}\n\n/**\n * Generic counter/limiter utilities (built on hub.pending maps).\n *\n * This is intended as a shared infrastructure for both client/server:\n * - server can limit max concurrent in-flight requests per client\n * - client can limit max concurrent streams / in-flight sends in future\n */\nclass RequestIframeLimiter {\n constructor(pending) {\n this.pending = pending;\n }\n get(bucket, key) {\n var _this$pending$get;\n return (_this$pending$get = this.pending.get(bucket, key)) !== null && _this$pending$get !== void 0 ? _this$pending$get : 0;\n }\n\n /**\n * Try acquire one permit for the given key.\n * Returns true if acquired, false if limit reached.\n */\n tryAcquire(bucket, key, limit) {\n if (!Number.isFinite(limit)) {\n /** Treat Infinity as always allowed but still count for symmetry */\n var next = this.get(bucket, key) + 1;\n this.pending.set(bucket, key, next);\n return true;\n }\n var current = this.get(bucket, key);\n if (current >= limit) return false;\n this.pending.set(bucket, key, current + 1);\n return true;\n }\n\n /**\n * Release one permit for the given key.\n */\n release(bucket, key) {\n var current = this.get(bucket, key);\n var next = current - 1;\n if (next <= 0) {\n this.pending.delete(bucket, key);\n return;\n }\n this.pending.set(bucket, key, next);\n }\n}\n\n/**\n * Shared options for endpoint hub.\n */\n\n/**\n * RequestIframeEndpointHub\n *\n * Endpoint \"hub\" responsible for:\n * - MessageDispatcher lifecycle\n * - handler registration/unregistration\n * - pending + timeout management\n * - limiter counters\n */\nexport class RequestIframeEndpointHub {\n constructor(role, instanceId, options) {\n var _options$versionValid;\n _defineProperty(this, \"hooks\", {\n beforeOpen: new SyncHook(),\n afterOpen: new SyncHook(),\n beforeClose: new SyncHook(),\n afterClose: new SyncHook(),\n beforeDestroy: new SyncHook(),\n afterDestroy: new SyncHook(),\n registerHandler: new SyncHook(),\n unregisterHandler: new SyncHook()\n });\n _defineProperty(this, \"pending\", new RequestIframePendingManager());\n _defineProperty(this, \"limiter\", new RequestIframeLimiter(this.pending));\n _defineProperty(this, \"unregisterFns\", []);\n _defineProperty(this, \"warnOnceKeys\", new Set());\n /** Whether it is open */\n _defineProperty(this, \"_isOpen\", false);\n this.instanceId = instanceId;\n this.versionValidator = (_options$versionValid = options === null || options === void 0 ? void 0 : options.versionValidator) !== null && _options$versionValid !== void 0 ? _options$versionValid : isCompatibleVersion;\n\n /** Get or create shared channel and create dispatcher */\n var channel = getOrCreateMessageChannel(options === null || options === void 0 ? void 0 : options.secretKey);\n this.messageDispatcher = new MessageDispatcher(channel, role, instanceId);\n this.messageDispatcher.setAutoAckLimits({\n maxMetaLength: options === null || options === void 0 ? void 0 : options.autoAckMaxMetaLength,\n maxIdLength: options === null || options === void 0 ? void 0 : options.autoAckMaxIdLength\n });\n }\n\n /**\n * Set registerHandlers callback.\n *\n * This is used by composition-based implementations to define handler bindings.\n */\n setRegisterHandlers(fn) {\n this.registerHandlersFn = fn;\n }\n\n /**\n * Register a dispatcher handler and track its unregister function.\n */\n registerHandler(matcher, handler, options) {\n this.hooks.registerHandler.call(matcher);\n var unreg = this.messageDispatcher.registerHandler(matcher, handler, options);\n this.unregisterFns.push(unreg);\n return unreg;\n }\n\n /**\n * Create common handler options object.\n */\n createHandlerOptions(onVersionError) {\n return {\n versionValidator: this.versionValidator,\n onVersionError\n };\n }\n\n /**\n * Warn once per key.\n */\n warnOnce(key, fn) {\n if (this.warnOnceKeys.has(key)) return;\n this.warnOnceKeys.add(key);\n fn();\n }\n\n /**\n * Set stream callback (used by client-side stream routing).\n */\n setStreamCallback(callback) {\n this.streamCallback = callback;\n }\n\n /**\n * Get stream callback (used by handler registration side).\n */\n getStreamCallback() {\n return this.streamCallback;\n }\n\n /**\n * Validate origin safely (originValidator wins over origin string).\n */\n isOriginAllowedBy(contextOrigin, data, context, origin, originValidator) {\n if (originValidator) {\n try {\n return originValidator(contextOrigin, data, context);\n } catch (_unused) {\n return false;\n }\n }\n if (!origin || origin === OriginConstant.ANY) return true;\n return contextOrigin === origin;\n }\n\n /**\n * Set a fixed peer (fallback target) for cases where MessageEvent.source is missing.\n *\n * This is useful for \"response endpoint\" style usage where the peer is already known\n * (e.g. a client bound to an iframe window).\n */\n setFallbackTarget(targetWindow, targetOrigin) {\n this.messageDispatcher.setFallbackTarget(targetWindow, targetOrigin);\n }\n\n /**\n * Create a peer-bound outbox using this hub's dispatcher.\n */\n createOutbox(targetWindow, targetOrigin, defaultTargetId) {\n return new RequestIframeEndpointOutbox(this.messageDispatcher, targetWindow, targetOrigin, defaultTargetId);\n }\n\n /**\n * Open message processing (register message handlers)\n */\n open() {\n if (this._isOpen) return;\n this.hooks.beforeOpen.call();\n this._isOpen = true;\n if (!this.registerHandlersFn) {\n throw new Error(Messages.HUB_REGISTER_HANDLERS_NOT_SET);\n }\n this.registerHandlersFn();\n this.hooks.afterOpen.call();\n }\n\n /**\n * Close message processing (unregister message handlers, but don't release channel)\n */\n close() {\n if (!this._isOpen) return;\n this.hooks.beforeClose.call();\n this._isOpen = false;\n\n /** Unregister all handlers */\n this.unregisterFns.forEach(fn => fn());\n this.unregisterFns.length = 0;\n this.hooks.unregisterHandler.call();\n this.hooks.afterClose.call();\n }\n\n /**\n * Whether it is open\n */\n get isOpen() {\n return this._isOpen;\n }\n\n /**\n * Get secretKey\n */\n get secretKey() {\n return this.messageDispatcher.secretKey;\n }\n\n /**\n * Destroy (close and release channel reference)\n */\n destroy() {\n this.hooks.beforeDestroy.call();\n /** Close first */\n this.close();\n\n /** Clear all pending maps and timeouts */\n this.pending.clearAll();\n this.warnOnceKeys.clear();\n this.streamCallback = undefined;\n\n /** Destroy dispatcher and release channel reference */\n this.messageDispatcher.destroy();\n releaseMessageChannel(this.messageDispatcher.getChannel());\n this.hooks.afterDestroy.call();\n }\n}","import { MessageType } from '../../constants';\n/**\n * Create a PING responder handler (reply PONG).\n *\n * This is a shared building block for both client/server endpoints.\n */\nexport function createPingResponder(params) {\n var hub = params.hub,\n handledBy = params.handledBy,\n includeTargetId = params.includeTargetId;\n return (data, context) => {\n if (!context.source) return;\n /** Mark accepted so MessageDispatcher can auto-send ACK when requireAck === true */\n context.markAcceptedBy(handledBy);\n /** Reply PONG */\n hub.messageDispatcher.sendMessage(context.source, context.origin, MessageType.PONG, data.requestId, includeTargetId ? {\n targetId: data.creatorId\n } : undefined);\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport { MessageType, ProtocolVersion, Messages, formatMessage, MessageRole, WarnOnceKey, buildWarnOnceKey } from '../../constants';\nimport { createPingResponder } from '../heartbeat/ping';\nimport { SyncHook } from '../../utils/hooks';\nimport { requestIframeLog } from '../../utils/logger';\n\n/**\n * Pending request awaiting response\n */\n\n/**\n * RequestIframeEndpointInbox\n *\n * The endpoint \"inbox\" is responsible for handling inbound framework messages and\n * driving pending request resolution by requestId.\n *\n * - Registers dispatcher handlers for ACK/ASYNC/RESPONSE/ERROR/STREAM_START + PING/PONG\n * - Manages pending requests via hub.pending\n */\nexport class RequestIframeEndpointInbox {\n constructor(hub, versionValidator) {\n _defineProperty(this, \"hooks\", {\n inbound: new SyncHook(),\n pendingRegistered: new SyncHook(),\n pendingUnregistered: new SyncHook(),\n pendingResolved: new SyncHook(),\n missingPending: new SyncHook()\n });\n this.hub = hub;\n this.versionValidator = versionValidator !== null && versionValidator !== void 0 ? versionValidator : hub.versionValidator;\n }\n\n /**\n * Register message handlers on hub.\n */\n registerHandlers() {\n var handlerOptions = this.hub.createHandlerOptions(this.handleVersionError.bind(this));\n handlerOptions.versionValidator = this.versionValidator;\n var boundHandleClientResponse = this.handleClientResponse.bind(this);\n this.hub.registerHandler(MessageType.ACK, boundHandleClientResponse, handlerOptions);\n this.hub.registerHandler(MessageType.ASYNC, boundHandleClientResponse, handlerOptions);\n this.hub.registerHandler(MessageType.RESPONSE, boundHandleClientResponse, handlerOptions);\n this.hub.registerHandler(MessageType.ERROR, boundHandleClientResponse, handlerOptions);\n this.hub.registerHandler(MessageType.PONG, this.handlePong.bind(this), handlerOptions);\n this.hub.registerHandler(MessageType.PING, this.handlePing.bind(this), handlerOptions);\n this.hub.registerHandler(MessageType.STREAM_START, boundHandleClientResponse, handlerOptions);\n }\n\n /**\n * Client-side \"isConnect\" ping helper.\n *\n * - Sends PING(requireAck=true)\n * - Resolves true when ACK or PONG arrives, false on timeout\n */\n pingIsConnect(params) {\n var requestId = `ping_${Date.now()}_${Math.random().toString(36).slice(2)}`;\n return new Promise(resolve => {\n var timeoutId = this.hub.pending.setTimeout(() => {\n this.hub.pending.delete(RequestIframeEndpointInbox.PENDING_IS_CONNECT, requestId);\n resolve(false);\n }, params.timeoutMs);\n this.hub.pending.set(RequestIframeEndpointInbox.PENDING_IS_CONNECT, requestId, {\n resolve,\n timeoutId,\n targetOrigin: params.targetOrigin,\n originValidator: params.originValidator,\n onPeerId: params.onPeerId\n });\n params.peer.sendMessage(MessageType.PING, requestId, {\n requireAck: true,\n targetId: params.targetId\n });\n });\n }\n\n /**\n * Register pending request awaiting response\n */\n registerPendingRequest(requestId, resolve, reject, origin, originValidator) {\n this.hub.pending.set(RequestIframeEndpointInbox.PENDING_REQUESTS, requestId, {\n resolve,\n reject,\n origin,\n originValidator\n });\n this.hooks.pendingRegistered.call(requestId, {\n origin\n });\n }\n\n /**\n * Cancel pending response\n */\n unregisterPendingRequest(requestId) {\n this.hub.pending.delete(RequestIframeEndpointInbox.PENDING_REQUESTS, requestId);\n this.hooks.pendingUnregistered.call(requestId);\n }\n handlePing(data, context) {\n var _this$hub$instanceId;\n this.hooks.inbound.call(data, context);\n var responder = createPingResponder({\n hub: this.hub,\n handledBy: (_this$hub$instanceId = this.hub.instanceId) !== null && _this$hub$instanceId !== void 0 ? _this$hub$instanceId : MessageRole.CLIENT,\n includeTargetId: true\n });\n responder(data, context);\n }\n\n /**\n * Handle protocol version error\n */\n handleVersionError(data, context, version) {\n void context;\n var pending = this.hub.pending.get(RequestIframeEndpointInbox.PENDING_REQUESTS, data.requestId);\n if (pending) {\n this.hub.pending.delete(RequestIframeEndpointInbox.PENDING_REQUESTS, data.requestId);\n pending.reject(new Error(formatMessage(Messages.PROTOCOL_VERSION_TOO_LOW, version, ProtocolVersion.MIN_SUPPORTED)));\n }\n }\n\n /**\n * Handle client response\n */\n handleClientResponse(data, context) {\n var _this$hub$instanceId4;\n this.hooks.inbound.call(data, context);\n\n /**\n * isConnect waiter:\n * - ACK is sent by the peer when it accepted the PING (auto-ack workflow)\n * - We treat either ACK or PONG as a successful connectivity signal\n */\n if (data.type === MessageType.ACK) {\n var pendingIsConnect = this.hub.pending.get(RequestIframeEndpointInbox.PENDING_IS_CONNECT, data.requestId);\n if (pendingIsConnect) {\n var _this$hub$instanceId3, _pendingIsConnect$onP;\n // Must match the pending target origin (and originValidator if configured)\n if (!this.hub.isOriginAllowedBy(context.origin, data, context, pendingIsConnect.targetOrigin, pendingIsConnect.originValidator)) {\n var _this$hub$instanceId2;\n // Mark handled (and auto-ack if requireAck) but ignore the signal\n context.markAcceptedBy((_this$hub$instanceId2 = this.hub.instanceId) !== null && _this$hub$instanceId2 !== void 0 ? _this$hub$instanceId2 : MessageRole.CLIENT);\n return;\n }\n context.markAcceptedBy((_this$hub$instanceId3 = this.hub.instanceId) !== null && _this$hub$instanceId3 !== void 0 ? _this$hub$instanceId3 : MessageRole.CLIENT);\n this.hub.pending.clearTimeout(pendingIsConnect.timeoutId);\n this.hub.pending.delete(RequestIframeEndpointInbox.PENDING_IS_CONNECT, data.requestId);\n (_pendingIsConnect$onP = pendingIsConnect.onPeerId) === null || _pendingIsConnect$onP === void 0 || _pendingIsConnect$onP.call(pendingIsConnect, data.creatorId);\n pendingIsConnect.resolve(true);\n return;\n }\n }\n var pending = this.hub.pending.get(RequestIframeEndpointInbox.PENDING_REQUESTS, data.requestId);\n if (!pending) {\n /**\n * Pending request not found - ignore by default.\n *\n * If endpoint is already closed/destroyed, emit a warning to help debugging:\n * this usually means the client was recreated/unmounted before the response arrived.\n */\n if (!this.hub.isOpen) {\n this.hooks.missingPending.call(data, context);\n this.hub.warnOnce(buildWarnOnceKey(WarnOnceKey.INBOX_MISSING_PENDING_WHEN_CLOSED, data.requestId), () => {\n requestIframeLog('warn', formatMessage(Messages.CLIENT_SERVER_IGNORED_MESSAGE_WHEN_CLOSED, data.type, data.requestId));\n });\n }\n return;\n }\n\n /** Validate origin */\n if (!this.hub.isOriginAllowedBy(context.origin, data, context, pending.origin, pending.originValidator)) {\n return;\n }\n\n /**\n * Mark as handled so:\n * - other client instances sharing the same channel won't also process it\n * - MessageDispatcher can run its generalized requireAck auto-ack logic\n */\n context.markAcceptedBy((_this$hub$instanceId4 = this.hub.instanceId) !== null && _this$hub$instanceId4 !== void 0 ? _this$hub$instanceId4 : MessageRole.CLIENT);\n\n /** ack, async, and stream_start don't delete pending (stream_start needs to keep pending for stream_data/stream_end) */\n if (data.type === MessageType.ACK || data.type === MessageType.ASYNC || data.type === MessageType.STREAM_START) {\n this.hooks.pendingResolved.call(data.requestId, data);\n pending.resolve(data);\n return;\n }\n\n /** response and error delete pending */\n this.hub.pending.delete(RequestIframeEndpointInbox.PENDING_REQUESTS, data.requestId);\n this.hooks.pendingResolved.call(data.requestId, data);\n pending.resolve(data);\n }\n\n /**\n * Handle PONG:\n * - If it matches an existing pending request, resolve it.\n * - Otherwise, ignore (facade may still use PONG for isConnect waiter).\n */\n handlePong(data, context) {\n var _this$hub$instanceId7;\n this.hooks.inbound.call(data, context);\n var pendingIsConnect = this.hub.pending.get(RequestIframeEndpointInbox.PENDING_IS_CONNECT, data.requestId);\n if (pendingIsConnect) {\n var _this$hub$instanceId6, _pendingIsConnect$onP2;\n if (!this.hub.isOriginAllowedBy(context.origin, data, context, pendingIsConnect.targetOrigin, pendingIsConnect.originValidator)) {\n var _this$hub$instanceId5;\n context.markAcceptedBy((_this$hub$instanceId5 = this.hub.instanceId) !== null && _this$hub$instanceId5 !== void 0 ? _this$hub$instanceId5 : MessageRole.CLIENT);\n return;\n }\n context.markAcceptedBy((_this$hub$instanceId6 = this.hub.instanceId) !== null && _this$hub$instanceId6 !== void 0 ? _this$hub$instanceId6 : MessageRole.CLIENT);\n this.hub.pending.clearTimeout(pendingIsConnect.timeoutId);\n this.hub.pending.delete(RequestIframeEndpointInbox.PENDING_IS_CONNECT, data.requestId);\n (_pendingIsConnect$onP2 = pendingIsConnect.onPeerId) === null || _pendingIsConnect$onP2 === void 0 || _pendingIsConnect$onP2.call(pendingIsConnect, data.creatorId);\n pendingIsConnect.resolve(true);\n return;\n }\n var pending = this.hub.pending.get(RequestIframeEndpointInbox.PENDING_REQUESTS, data.requestId);\n if (!pending) return;\n if (!this.hub.isOriginAllowedBy(context.origin, data, context, pending.origin, pending.originValidator)) {\n return;\n }\n context.markAcceptedBy((_this$hub$instanceId7 = this.hub.instanceId) !== null && _this$hub$instanceId7 !== void 0 ? _this$hub$instanceId7 : MessageRole.CLIENT);\n this.hub.pending.delete(RequestIframeEndpointInbox.PENDING_REQUESTS, data.requestId);\n this.hooks.pendingResolved.call(data.requestId, data);\n pending.resolve(data);\n }\n}\n_defineProperty(RequestIframeEndpointInbox, \"PENDING_REQUESTS\", 'inbox:pendingRequests');\n_defineProperty(RequestIframeEndpointInbox, \"PENDING_IS_CONNECT\", 'inbox:pendingIsConnect');","import { generateRequestId } from '../utils/id';\nimport { isAckMatch } from '../utils/ack';\n\n/**\n * Build the expected ack payload for requireAck workflows.\n *\n * - If `ack` is provided, it wins.\n * - If `requireAck` is true and ack not provided, generate `{ id }`.\n * - Otherwise return undefined.\n */\nexport function buildExpectedAck(requireAck, ack) {\n if (ack !== undefined) return ack;\n if (!requireAck) return undefined;\n return {\n id: generateRequestId()\n };\n}\n\n/**\n * Check whether received ack matches expected.\n *\n * If expected is undefined, treat as \"no matching required\" and return true.\n */\nexport function isExpectedAckMatch(expectedAck, receivedAck) {\n if (expectedAck === undefined) return true;\n return isAckMatch(expectedAck, receivedAck);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.replace.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\n/**\n * Endpoint Stream integration layer (`src/endpoint/stream`)\n *\n * This directory integrates postMessage `stream_*` messages with the stream object system in `src/stream`:\n * - Demultiplex `stream_*` frames by streamId to the bound handler\n * - Does NOT implement the stream protocol itself (protocol lives in `src/stream`)\n *\n * RequestIframeStreamDispatcher\n *\n * - Maintains streamId -> handler mapping\n * - Dispatches incoming `stream_*` PostMessageData to the mapped handler\n */\nexport class RequestIframeStreamDispatcher {\n constructor(params) {\n _defineProperty(this, \"handlers\", new Map());\n this.handledBy = params.handledBy;\n }\n register(streamId, handler) {\n this.handlers.set(streamId, handler);\n }\n unregister(streamId) {\n this.handlers.delete(streamId);\n }\n clear() {\n this.handlers.clear();\n }\n\n /**\n * Dispatch a framework stream_* PostMessageData to its streamId handler.\n *\n * - If context is provided, dispatcher will mark accepted/handledBy when handler exists.\n * - If context is omitted, dispatcher will skip marking (useful when origin was validated upstream).\n */\n dispatch(data, context) {\n var body = data.body;\n if (!(body !== null && body !== void 0 && body.streamId)) return;\n var handler = this.handlers.get(body.streamId);\n if (!handler) return;\n if (context) {\n context.markAcceptedBy(this.handledBy);\n }\n var messageType = data.type.replace('stream_', '');\n handler(_objectSpread(_objectSpread({}, body), {}, {\n type: messageType\n }));\n }\n}","import \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport { MessageType } from '../../constants';\n/**\n * RequestIframeEndpointHeartbeat\n *\n * Shared \"ping -> wait pong\" helper.\n * - Works for both server and client endpoints\n * - Uses core.pending for timeout management\n */\nexport class RequestIframeEndpointHeartbeat {\n constructor(params) {\n this.hub = params.hub;\n this.pendingBucket = params.pendingBucket;\n this.handledBy = params.handledBy;\n this.isOriginAllowed = params.isOriginAllowed;\n this.warnMissingPendingWhenClosed = params.warnMissingPendingWhenClosed;\n }\n\n /**\n * Send PING and resolve true when PONG arrives, false on timeout.\n */\n ping(peer, timeoutMs, targetId) {\n var requestId = `ping_${Date.now()}_${Math.random().toString(36).slice(2)}`;\n return new Promise(resolve => {\n var timeoutId = this.hub.pending.setTimeout(() => {\n this.hub.pending.delete(this.pendingBucket, requestId);\n resolve(false);\n }, timeoutMs);\n this.hub.pending.set(this.pendingBucket, requestId, {\n resolve,\n timeoutId\n });\n peer.sendMessage(MessageType.PING, requestId, {\n requireAck: true,\n targetId\n });\n });\n }\n\n /**\n * Handle incoming PONG for ping() waiter.\n */\n handlePong(data, context) {\n if (this.isOriginAllowed && !this.isOriginAllowed(data, context)) return;\n var pending = this.hub.pending.get(this.pendingBucket, data.requestId);\n if (!pending) {\n if (!this.hub.isOpen) {\n var _this$warnMissingPend;\n (_this$warnMissingPend = this.warnMissingPendingWhenClosed) === null || _this$warnMissingPend === void 0 || _this$warnMissingPend.call(this, data);\n }\n return;\n }\n context.markAcceptedBy(this.handledBy);\n this.hub.pending.clearTimeout(pending.timeoutId);\n this.hub.pending.delete(this.pendingBucket, data.requestId);\n pending.resolve(true);\n }\n}","import { IframeReadableStream, IframeFileReadableStream } from '../../stream';\nimport { StreamType as StreamTypeConstant } from '../../constants';\n\n/**\n * Endpoint Stream integration layer (`src/endpoint/stream`)\n *\n * This directory integrates postMessage `stream_*` messages with the stream object system in `src/stream`:\n * - Parses stream_start and creates the corresponding ReadableStream (data/file)\n * - Does NOT implement the stream protocol itself (protocol lives in `src/stream`)\n */\n\n/**\n * Parsed stream_start body info.\n */\n\n/**\n * Parse stream_start body with defaults.\n */\nexport function parseStreamStart(body) {\n var _chunked, _autoResolve;\n var b = body;\n if (!(b !== null && b !== void 0 && b.streamId)) return null;\n return {\n streamId: b.streamId,\n type: b.type || StreamTypeConstant.DATA,\n mode: b.mode,\n chunked: (_chunked = b.chunked) !== null && _chunked !== void 0 ? _chunked : true,\n metadata: b.metadata,\n autoResolve: (_autoResolve = b.autoResolve) !== null && _autoResolve !== void 0 ? _autoResolve : false\n };\n}\n\n/**\n * Create a readable stream instance from a stream_start message/body.\n *\n * This is shared by:\n * - client side: receiving response stream from server\n * - server side: receiving request-body stream from client\n */\nexport function createReadableStreamFromStart(params) {\n var _params$secretKey;\n var info = parseStreamStart(params.data.body);\n if (!info) return null;\n var secretKey = (_params$secretKey = params.secretKey) !== null && _params$secretKey !== void 0 ? _params$secretKey : params.data.secretKey;\n if (info.type === StreamTypeConstant.FILE) {\n var _info$metadata, _info$metadata2, _info$metadata3;\n var fileStream = new IframeFileReadableStream(info.streamId, params.requestId, params.handler, {\n chunked: info.chunked,\n metadata: info.metadata,\n secretKey,\n mode: info.mode,\n idleTimeout: params.idleTimeout,\n heartbeat: params.heartbeat,\n filename: (_info$metadata = info.metadata) === null || _info$metadata === void 0 ? void 0 : _info$metadata.filename,\n mimeType: (_info$metadata2 = info.metadata) === null || _info$metadata2 === void 0 ? void 0 : _info$metadata2.mimeType,\n size: (_info$metadata3 = info.metadata) === null || _info$metadata3 === void 0 ? void 0 : _info$metadata3.size\n });\n return {\n stream: fileStream,\n info\n };\n }\n var readableStream = new IframeReadableStream(info.streamId, params.requestId, params.handler, {\n type: info.type,\n mode: info.mode,\n chunked: info.chunked,\n metadata: info.metadata,\n secretKey,\n idleTimeout: params.idleTimeout,\n heartbeat: params.heartbeat\n });\n return {\n stream: readableStream,\n info\n };\n}","import \"core-js/modules/es.regexp.constructor.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport { OriginConstant } from '../constants';\n\n/**\n * Origin matcher type (supports string, RegExp, Array)\n */\n\n/**\n * Match origin by matcher.\n *\n * Notes:\n * - string: exact match. Special case: '*' means allow all.\n * - RegExp: test against origin string.\n * - Array: any item matches.\n */\nexport function matchOrigin(origin, matcher) {\n if (matcher === OriginConstant.ANY) return true;\n if (typeof matcher === 'string') {\n return origin === matcher;\n }\n if (matcher instanceof RegExp) {\n return matcher.test(origin);\n }\n if (Array.isArray(matcher)) {\n return matcher.some(m => matchOrigin(origin, m));\n }\n return false;\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","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.string.starts-with.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport { MessageType } from '../constants';\nimport { matchOrigin } from '../utils/origin';\nimport { RequestIframeEndpointHub } from './infra/hub';\nimport { RequestIframeEndpointInbox } from './infra/inbox';\nimport { RequestIframeStreamDispatcher } from './stream/dispatcher';\nimport { RequestIframeEndpointHeartbeat } from './heartbeat/heartbeat';\nimport { createPingResponder } from './heartbeat/ping';\nimport { createReadableStreamFromStart } from './stream/factory';\nimport { createStreamMessageHandler } from './stream/handler';\n/**\n * RequestIframeEndpointFacade\n *\n * Centralizes the common \"composition/assembly logic\" for endpoints so client/server can reuse it as thin wrappers:\n * - hub (MessageDispatcher lifecycle + shared infra)\n * - inbox (inbound message handling: ACK/ASYNC/RESPONSE/ERROR/PING/PONG/STREAM_START, optional)\n * - streamDispatcher (dispatch `stream_*` frames)\n * - heartbeat (ping -> wait pong helper, optional)\n * - originValidator (unified construction for allowedOrigins/validateOrigin)\n */\nexport class RequestIframeEndpointFacade {\n constructor(params) {\n var _params$streamDispatc, _params$streamDispatc2;\n _defineProperty(this, \"openHooks\", []);\n this.hub = new RequestIframeEndpointHub(params.role, params.instanceId, {\n secretKey: params.secretKey,\n versionValidator: params.versionValidator,\n autoAckMaxMetaLength: params.autoAckMaxMetaLength,\n autoAckMaxIdLength: params.autoAckMaxIdLength\n });\n this.streamDispatcher = new RequestIframeStreamDispatcher({\n handledBy: (_params$streamDispatc = (_params$streamDispatc2 = params.streamDispatcher) === null || _params$streamDispatc2 === void 0 ? void 0 : _params$streamDispatc2.handledBy) !== null && _params$streamDispatc !== void 0 ? _params$streamDispatc : params.instanceId\n });\n this.originValidator = RequestIframeEndpointFacade.buildOriginValidator(params.originValidator);\n\n /**\n * Facade is the infrastructure owner: always register handlers via facade hooks.\n */\n this.hub.setRegisterHandlers(() => {\n this.openHooks.forEach(fn => fn());\n });\n if (params.heartbeat) {\n this.heartbeat = new RequestIframeEndpointHeartbeat({\n hub: this.hub,\n pendingBucket: params.heartbeat.pendingBucket,\n handledBy: params.heartbeat.handledBy,\n isOriginAllowed: params.heartbeat.isOriginAllowed,\n warnMissingPendingWhenClosed: params.heartbeat.warnMissingPendingWhenClosed\n });\n }\n if (params.inbox) {\n this.inbox = new RequestIframeEndpointInbox(this.hub, params.inbox.versionValidator);\n }\n if (params.registerHandlers) {\n this.onOpen(params.registerHandlers);\n }\n }\n\n /**\n * Add a handler registration hook that will run on core.open().\n */\n onOpen(fn) {\n this.openHooks.push(fn);\n }\n isOriginAllowedByValidator(origin, data, context) {\n if (!this.originValidator) return true;\n try {\n return this.originValidator(origin, data, context);\n } catch (_unused) {\n return false;\n }\n }\n\n /**\n * Register client-side stream callback handlers:\n * - stream_* (except stream_start) -> core.getStreamCallback()\n *\n * This makes stream dispatching pluggable and owned by the facade.\n */\n registerClientStreamCallbackHandlers(params) {\n this.onOpen(() => {\n this.hub.registerHandler(type => type.startsWith('stream_') && type !== MessageType.STREAM_START, (data, context) => {\n var _this$hub$getStreamCa;\n return (_this$hub$getStreamCa = this.hub.getStreamCallback()) === null || _this$hub$getStreamCa === void 0 ? void 0 : _this$hub$getStreamCa(data, context);\n }, params.handlerOptions);\n });\n }\n\n /**\n * Enable default stream dispatching: dispatch stream_* messages to streamDispatcher.\n */\n enableStreamDispatcherCallback(params) {\n this.hub.setStreamCallback((data, context) => {\n this.dispatchStreamMessage(data, context, {\n isOriginAllowed: params === null || params === void 0 ? void 0 : params.isOriginAllowed\n });\n });\n }\n disableStreamDispatcherCallback() {\n this.hub.setStreamCallback(undefined);\n }\n\n /**\n * Register server-side base handlers:\n * - PING/PONG (heartbeat)\n * - ACK (receipt confirmation waiter)\n * - STREAM_START + stream_* routing (request-body stream)\n *\n * Server wrapper should still register REQUEST handler itself.\n */\n registerServerBaseHandlers(params) {\n this.registerPingResponderHandler({\n handlerOptions: params.handlerOptions,\n handledBy: params.handledBy,\n includeTargetIdInPong: params.includeTargetIdInPong,\n isOriginAllowed: params.isOriginAllowed\n });\n this.registerHeartbeatPongHandler({\n handlerOptions: params.handlerOptions\n });\n this.registerAckWaiterHandler({\n handlerOptions: params.handlerOptions,\n pendingBucket: params.pendingAckBucket,\n handledBy: params.handledBy,\n isOriginAllowed: params.isOriginAllowed,\n warnMissingPendingWhenClosed: params.warnMissingPendingWhenClosed\n });\n this.registerStreamHandlers({\n handlerOptions: params.handlerOptions,\n expectedRole: params.expectedStreamStartRole,\n pendingBucket: params.pendingStreamStartBucket,\n isOriginAllowed: params.isOriginAllowed,\n warnMissingPendingWhenClosed: params.warnMissingPendingWhenClosed\n });\n }\n\n /**\n * Register PING responder (reply PONG).\n */\n registerPingResponderHandler(params) {\n this.onOpen(() => {\n this.hub.registerHandler(MessageType.PING, (data, context) => {\n this.handlePing(data, context, {\n handledBy: params.handledBy,\n includeTargetId: params.includeTargetIdInPong,\n isOriginAllowed: params.isOriginAllowed\n });\n }, params.handlerOptions);\n });\n }\n\n /**\n * Register PONG handler for heartbeat waiter (if heartbeat is configured).\n */\n registerHeartbeatPongHandler(params) {\n this.onOpen(() => {\n this.hub.registerHandler(MessageType.PONG, (data, context) => {\n this.handlePong(data, context);\n }, params.handlerOptions);\n });\n }\n\n /**\n * Register ACK handler for receipt confirmation waiters.\n */\n registerAckWaiterHandler(params) {\n this.onOpen(() => {\n this.hub.registerHandler(MessageType.ACK, (data, context) => {\n this.handleAck({\n data,\n context,\n pendingBucket: params.pendingBucket,\n handledBy: params.handledBy,\n isOriginAllowed: params.isOriginAllowed,\n warnMissingPendingWhenClosed: params.warnMissingPendingWhenClosed\n });\n }, params.handlerOptions);\n });\n }\n\n /**\n * Register stream handlers (STREAM_START + stream_* routing).\n */\n registerStreamHandlers(params) {\n this.onOpen(() => {\n var isOriginAllowed = params.isOriginAllowed;\n this.hub.registerHandler(MessageType.STREAM_START, (data, context) => {\n this.handleStreamStart({\n data,\n context,\n expectedRole: params.expectedRole,\n pendingBucket: params.pendingBucket,\n isOriginAllowed,\n warnMissingPendingWhenClosed: params.warnMissingPendingWhenClosed\n });\n }, params.handlerOptions);\n this.hub.registerHandler(type => type.startsWith('stream_') && type !== MessageType.STREAM_START, (data, context) => {\n this.dispatchStreamMessage(data, context, {\n isOriginAllowed\n });\n }, params.handlerOptions);\n });\n }\n\n /**\n * Server-side: register a waiter for an incoming stream_start (request-body stream handshake).\n *\n * This centralizes:\n * - pending map bookkeeping\n * - timeout cleanup\n * - STREAM_START_TIMEOUT error response hook\n */\n registerIncomingStreamStartWaiter(params) {\n var timeoutId = this.hub.pending.setTimeout(() => {\n var pending = this.hub.pending.get(params.pendingBucket, params.requestId);\n if (!pending) return;\n this.hub.pending.delete(params.pendingBucket, params.requestId);\n params.onTimeout();\n }, params.timeoutMs);\n this.hub.pending.set(params.pendingBucket, params.requestId, {\n streamId: params.streamId,\n timeoutId,\n targetWindow: params.targetWindow,\n targetOrigin: params.targetOrigin,\n continue: params.continue\n });\n }\n\n /**\n * Handle incoming PING and reply PONG.\n *\n * This is a base infrastructure capability for all endpoints.\n */\n handlePing(data, context, params) {\n if (!context.source) return;\n if (params.isOriginAllowed && !params.isOriginAllowed(data, context)) return;\n createPingResponder({\n hub: this.hub,\n handledBy: params.handledBy,\n includeTargetId: params.includeTargetId\n })(data, context);\n }\n\n /**\n * Handle incoming PONG for facade heartbeat waiter (if configured).\n */\n handlePong(data, context) {\n var _this$heartbeat;\n (_this$heartbeat = this.heartbeat) === null || _this$heartbeat === void 0 || _this$heartbeat.handlePong(data, context);\n }\n\n /**\n * Ping a peer and resolve true when PONG arrives (requires heartbeat configured).\n */\n pingPeer(targetWindow, targetOrigin, timeoutMs, targetId) {\n if (!this.heartbeat) {\n return Promise.resolve(false);\n }\n var peer = this.hub.createOutbox(targetWindow, targetOrigin, targetId);\n return this.heartbeat.ping(peer, timeoutMs, targetId);\n }\n\n /**\n * Client-side \"isConnect\" ping helper (requires inbox configured).\n *\n * - Sends PING(requireAck=true)\n * - Resolves true when ACK or PONG arrives, false on timeout\n */\n pingIsConnect(params) {\n var inbox = this.inbox;\n if (!inbox) return Promise.resolve(false);\n return inbox.pingIsConnect({\n peer: params.peer,\n timeoutMs: params.timeoutMs,\n targetOrigin: params.targetOrigin,\n targetId: params.targetId,\n onPeerId: params.onPeerId,\n originValidator: this.originValidator\n });\n }\n\n /**\n * Pending ACK waiter bucket entry.\n */\n\n /**\n * Register an ACK waiter (used by server response requireAck).\n */\n registerPendingAck(params) {\n var _params$pendingBucket;\n var bucket = (_params$pendingBucket = params.pendingBucket) !== null && _params$pendingBucket !== void 0 ? _params$pendingBucket : RequestIframeEndpointFacade.DEFAULT_PENDING_ACKS_BUCKET;\n var timeoutId = this.hub.pending.setTimeout(() => {\n this.hub.pending.delete(bucket, params.requestId);\n params.resolve(false);\n }, params.timeoutMs);\n this.hub.pending.set(bucket, params.requestId, {\n resolve: params.resolve,\n timeoutId\n });\n }\n\n /**\n * Handle incoming ACK for a registered waiter.\n */\n handleAck(params) {\n var _params$pendingBucket2;\n var bucket = (_params$pendingBucket2 = params.pendingBucket) !== null && _params$pendingBucket2 !== void 0 ? _params$pendingBucket2 : RequestIframeEndpointFacade.DEFAULT_PENDING_ACKS_BUCKET;\n if (params.isOriginAllowed && !params.isOriginAllowed(params.data, params.context)) return;\n var pending = this.hub.pending.get(bucket, params.data.requestId);\n if (!pending) {\n if (!this.hub.isOpen) {\n var _params$warnMissingPe;\n (_params$warnMissingPe = params.warnMissingPendingWhenClosed) === null || _params$warnMissingPe === void 0 || _params$warnMissingPe.call(params, params.data);\n }\n return;\n }\n params.context.markHandledBy(params.handledBy);\n this.hub.pending.clearTimeout(pending.timeoutId);\n this.hub.pending.delete(bucket, params.data.requestId);\n pending.resolve(true, params.data.ack);\n }\n\n /**\n * Dispatch incoming stream_* messages (stream_data/stream_end/...) to bound handler.\n */\n dispatchStreamMessage(data, context, params) {\n if (params !== null && params !== void 0 && params.isOriginAllowed && !params.isOriginAllowed(data, context)) return;\n this.streamDispatcher.dispatch(data, context);\n }\n\n /**\n * Pending stream_start waiter entry.\n *\n * Server stores this entry when it receives a REQUEST that declares a streamId.\n * When stream_start arrives, facade creates a ReadableStream and calls `continue`.\n */\n handleStreamStart(params) {\n var data = params.data,\n context = params.context;\n if (params.expectedRole && data.role !== params.expectedRole) return;\n if (params.isOriginAllowed && !params.isOriginAllowed(data, context)) return;\n var body = data.body;\n if (!(body !== null && body !== void 0 && body.streamId)) return;\n var pending = this.hub.pending.get(params.pendingBucket, data.requestId);\n if (!pending) {\n if (!this.hub.isOpen) {\n var _params$warnMissingPe2;\n (_params$warnMissingPe2 = params.warnMissingPendingWhenClosed) === null || _params$warnMissingPe2 === void 0 || _params$warnMissingPe2.call(params, data);\n }\n return;\n }\n if (pending.streamId !== body.streamId) return;\n this.hub.pending.clearTimeout(pending.timeoutId);\n this.hub.pending.delete(params.pendingBucket, data.requestId);\n var streamHandler = createStreamMessageHandler({\n dispatcher: this.streamDispatcher,\n postMessage: message => {\n this.hub.messageDispatcher.send(pending.targetWindow, message, pending.targetOrigin);\n }\n });\n var created = createReadableStreamFromStart({\n requestId: data.requestId,\n data,\n handler: streamHandler,\n secretKey: data.secretKey\n });\n if (!created) return;\n pending.continue({\n stream: created.stream,\n info: created.info,\n data,\n context\n });\n }\n static buildOriginValidator(input) {\n if (!input) return undefined;\n if (input.validateOrigin) {\n return (origin, data, context) => input.validateOrigin(origin, data, context);\n }\n if (input.allowedOrigins) {\n var matcher = input.allowedOrigins;\n return origin => matchOrigin(origin, matcher);\n }\n return undefined;\n }\n}\n_defineProperty(RequestIframeEndpointFacade, \"DEFAULT_PENDING_ACKS_BUCKET\", 'endpoint:pendingAcks');","/**\n * Endpoint Stream integration layer (`src/endpoint/stream`)\n *\n * This directory integrates postMessage `stream_*` messages with the stream object system in `src/stream`:\n * - Adapts (dispatcher + postMessage) into the `StreamMessageHandler` interface used by `src/stream`\n * - Does NOT implement the stream protocol itself (protocol lives in `src/stream`)\n *\n * Create a StreamMessageHandler bound to a stream dispatcher and a postMessage implementation.\n *\n * This is shared by:\n * - server side: receiving request-body streams (per request targetWindow/targetOrigin)\n * - client side: can also use it in the future to avoid implementing the interface on the client class\n */\nexport function createStreamMessageHandler(params) {\n return {\n registerStreamHandler: (streamId, handler) => {\n params.dispatcher.register(streamId, handler);\n },\n unregisterStreamHandler: streamId => {\n params.dispatcher.unregister(streamId);\n },\n postMessage: message => {\n params.postMessage(message);\n }\n };\n}","import \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.match.js\";\nimport { HttpHeader } from '../../constants';\n/**\n * Endpoint Stream integration layer (`src/endpoint/stream`)\n *\n * This directory integrates postMessage `stream_*` messages with the stream object system in `src/stream`:\n * - Endpoint-side file stream utilities (e.g. choose filename from header/metadata and auto-resolve)\n * - Does NOT implement the stream protocol itself (protocol lives in `src/stream`)\n *\n * Parse filename from Content-Disposition header.\n */\nexport function parseFilenameFromContentDisposition(value) {\n if (!value) return undefined;\n var disposition = typeof value === 'string' ? value : value[0];\n if (!disposition) return undefined;\n var match = disposition.match(/filename=\"?([^\"]+)\"?/i);\n return match ? match[1] : undefined;\n}\n\n/**\n * Auto resolve a file readable stream to File/Blob.\n *\n * Filename priority:\n * - Content-Disposition filename (if provided)\n * - stream_start metadata filename (if provided)\n * - stream.filename (if provided)\n */\nexport function autoResolveIframeFileReadableStream(params) {\n var _params$headers, _params$info;\n var headerFilename = parseFilenameFromContentDisposition((_params$headers = params.headers) === null || _params$headers === void 0 ? void 0 : _params$headers[HttpHeader.CONTENT_DISPOSITION]);\n var fileName = headerFilename || ((_params$info = params.info) === null || _params$info === void 0 || (_params$info = _params$info.metadata) === null || _params$info === void 0 ? void 0 : _params$info.filename) || params.fileStream.filename;\n return fileName ? params.fileStream.readAsFile(fileName) : params.fileStream.readAsBlob();\n}","import \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport \"core-js/modules/web.url-search-params.js\";\n/**\n * Detect Content-Type based on data type\n * @param data The data to detect Content-Type for\n * @param options Options for detection\n * @param options.checkStream Whether to check for IframeWritableStream (default: false)\n * @param options.isIframeWritableStream Optional function to check if data is a stream (required if checkStream is true)\n * @returns The detected Content-Type, or null if Content-Type should not be auto-set\n */\nexport function detectContentType(data, options) {\n if (data === null || data === undefined) return null;\n var _ref = options || {},\n _ref$checkStream = _ref.checkStream,\n checkStream = _ref$checkStream === void 0 ? false : _ref$checkStream,\n isIframeWritableStream = _ref.isIframeWritableStream;\n\n /** Stream - handled separately (only for response) */\n if (checkStream && isIframeWritableStream) {\n if (isIframeWritableStream(data)) {\n return null; /** Stream will be handled by sendStream */\n }\n }\n\n /** File */\n if (typeof File !== 'undefined' && data instanceof File) {\n return data.type || 'application/octet-stream';\n }\n\n /** Blob */\n if (typeof Blob !== 'undefined' && data instanceof Blob) {\n return data.type || 'application/octet-stream';\n }\n\n /** ArrayBuffer */\n if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) {\n return 'application/octet-stream';\n }\n\n /** FormData */\n if (typeof FormData !== 'undefined' && data instanceof FormData) {\n /** FormData typically doesn't need Content-Type header (browser sets it with boundary) */\n return null;\n }\n\n /** URLSearchParams */\n if (typeof URLSearchParams !== 'undefined' && data instanceof URLSearchParams) {\n return 'application/x-www-form-urlencoded';\n }\n\n /** String - check if it's JSON string */\n if (typeof data === 'string') {\n /** Try to parse as JSON, if successful, treat as JSON */\n try {\n JSON.parse(data);\n return 'application/json';\n } catch (_unused) {\n return 'text/plain; charset=utf-8';\n }\n }\n\n /** Number, boolean - treat as JSON */\n if (typeof data === 'number' || typeof data === 'boolean') {\n return 'application/json';\n }\n\n /** Plain object or array - treat as JSON */\n if (typeof data === 'object') {\n /**\n * Exclude common binary/file types (already checked above, but double-check for safety)\n */\n if (typeof Blob !== 'undefined' && data instanceof Blob) return null;\n if (typeof File !== 'undefined' && data instanceof File) return null;\n if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return null;\n if (typeof FormData !== 'undefined' && data instanceof FormData) return null;\n if (typeof URLSearchParams !== 'undefined' && data instanceof URLSearchParams) return null;\n return 'application/json';\n }\n return null;\n}","'use strict';\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isObject(regexp) ? getMethod(regexp, MATCH) : undefined;\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n var flags = toString(getRegExpFlags(rx));\n\n if (stringIndexOf(flags, 'g') === -1) return regExpExec(rx, S);\n\n var fullUnicode = stringIndexOf(flags, 'u') !== -1;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\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 slice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\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, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return slice(that, end - search.length, end) === search;\n }\n});\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport \"core-js/modules/es.symbol.description.js\";\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.array.from.js\";\nimport \"core-js/modules/es.array.index-of.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.map.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/es.string.ends-with.js\";\nimport \"core-js/modules/es.string.starts-with.js\";\nimport \"core-js/modules/es.string.trim.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\n/**\r\n * Cookie management utilities\r\n * Implements browser-like Cookie mechanism\r\n */\n\n/**\r\n * Cookie storage item\r\n */\n\n/**\r\n * Cookie options (for res.cookie)\r\n */\n\n/**\r\n * Parse Set-Cookie string to CookieItem\r\n * @param setCookieStr Set-Cookie string, e.g., \"token=abc; Path=/; HttpOnly\"\r\n */\nexport function parseSetCookie(setCookieStr) {\n if (!setCookieStr) return null;\n var parts = setCookieStr.split(';').map(p => p.trim());\n if (parts.length === 0) return null;\n\n // First part is name=value\n var firstPart = parts[0];\n var eqIndex = firstPart.indexOf('=');\n if (eqIndex === -1) return null;\n var name = firstPart.substring(0, eqIndex).trim();\n var value = firstPart.substring(eqIndex + 1).trim();\n if (!name) return null;\n var cookie = {\n name,\n value,\n path: '/' // Default path\n };\n\n // Parse other attributes\n for (var i = 1; i < parts.length; i++) {\n var part = parts[i];\n var attrEqIndex = part.indexOf('=');\n if (attrEqIndex === -1) {\n // Attribute without value\n var attrName = part.toLowerCase();\n if (attrName === 'httponly') {\n cookie.httpOnly = true;\n } else if (attrName === 'secure') {\n cookie.secure = true;\n }\n } else {\n // Attribute with value\n var _attrName = part.substring(0, attrEqIndex).trim().toLowerCase();\n var attrValue = part.substring(attrEqIndex + 1).trim();\n if (_attrName === 'path') {\n cookie.path = attrValue || '/';\n } else if (_attrName === 'expires') {\n var date = new Date(attrValue);\n if (!isNaN(date.getTime())) {\n cookie.expires = date.getTime();\n }\n } else if (_attrName === 'max-age') {\n var maxAge = parseInt(attrValue, 10);\n if (!isNaN(maxAge)) {\n cookie.expires = Date.now() + maxAge * 1000;\n }\n } else if (_attrName === 'samesite') {\n var sameSite = attrValue.charAt(0).toUpperCase() + attrValue.slice(1).toLowerCase();\n if (sameSite === 'Strict' || sameSite === 'Lax' || sameSite === 'None') {\n cookie.sameSite = sameSite;\n }\n }\n }\n }\n return cookie;\n}\n\n/**\r\n * Serialize CookieItem to Set-Cookie string\r\n */\nexport function serializeSetCookie(cookie) {\n var str = `${cookie.name}=${cookie.value}`;\n if (cookie.path) {\n str += `; Path=${cookie.path}`;\n }\n if (cookie.expires !== undefined) {\n str += `; Expires=${new Date(cookie.expires).toUTCString()}`;\n }\n if (cookie.httpOnly) {\n str += '; HttpOnly';\n }\n if (cookie.secure) {\n str += '; Secure';\n }\n if (cookie.sameSite) {\n str += `; SameSite=${cookie.sameSite}`;\n }\n return str;\n}\n\n/**\r\n * Create Set-Cookie string from CookieOptions\r\n */\nexport function createSetCookie(name, value, options) {\n var _options$path;\n var str = `${name}=${value}`;\n var path = (_options$path = options === null || options === void 0 ? void 0 : options.path) !== null && _options$path !== void 0 ? _options$path : '/';\n str += `; Path=${path}`;\n if (options !== null && options !== void 0 && options.expires) {\n str += `; Expires=${options.expires.toUTCString()}`;\n } else if ((options === null || options === void 0 ? void 0 : options.maxAge) !== undefined) {\n var expires = new Date(Date.now() + options.maxAge * 1000);\n str += `; Expires=${expires.toUTCString()}`;\n str += `; Max-Age=${options.maxAge}`;\n }\n if (options !== null && options !== void 0 && options.httpOnly) {\n str += '; HttpOnly';\n }\n if (options !== null && options !== void 0 && options.secure) {\n str += '; Secure';\n }\n if (options !== null && options !== void 0 && options.sameSite) {\n str += `; SameSite=${options.sameSite}`;\n }\n return str;\n}\n\n/**\r\n * Create Set-Cookie string to delete Cookie\r\n */\nexport function createClearCookie(name, options) {\n var _options$path2;\n var path = (_options$path2 = options === null || options === void 0 ? void 0 : options.path) !== null && _options$path2 !== void 0 ? _options$path2 : '/';\n // Set expiration time to past to delete cookie\n return `${name}=; Path=${path}; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0`;\n}\n\n/**\r\n * Check if request path matches Cookie's path attribute\r\n * Implements RFC 6265 path matching algorithm\r\n * @param requestPath request path, e.g., \"/api/users\"\r\n * @param cookiePath Cookie's path attribute, e.g., \"/api\"\r\n */\nexport function matchCookiePath(requestPath, cookiePath) {\n // Normalize paths\n var reqPath = normalizePath(requestPath);\n var cPath = normalizePath(cookiePath);\n\n // Exact match\n if (reqPath === cPath) {\n return true;\n }\n\n // Cookie path is prefix of request path\n if (reqPath.startsWith(cPath)) {\n // Cookie path ends with / or request path has / after cookie path\n if (cPath.endsWith('/') || reqPath.charAt(cPath.length) === '/') {\n return true;\n }\n }\n return false;\n}\n\n/**\r\n * Normalize path\r\n */\nfunction normalizePath(path) {\n if (!path || path === '') return '/';\n // Ensure starts with /\n if (!path.startsWith('/')) {\n path = '/' + path;\n }\n // Remove trailing / (unless root path)\n if (path.length > 1 && path.endsWith('/')) {\n path = path.slice(0, -1);\n }\n return path;\n}\n\n/**\r\n * Cookie storage manager\r\n */\nexport class CookieStore {\n constructor() {\n _defineProperty(this, \"cookies\", new Map());\n }\n /**\r\n * Generate unique key for Cookie\r\n */\n getKey(name, path) {\n return `${name}|${path}`;\n }\n\n /**\r\n * Set Cookie\r\n */\n set(cookie) {\n var key = this.getKey(cookie.name, cookie.path);\n this.cookies.set(key, cookie);\n }\n\n /**\r\n * Set Cookie from Set-Cookie string\r\n */\n setFromSetCookie(setCookieStr) {\n var cookie = parseSetCookie(setCookieStr);\n if (cookie) {\n // Check if this is a delete operation (expiration in the past)\n if (cookie.expires !== undefined && cookie.expires <= Date.now()) {\n this.remove(cookie.name, cookie.path);\n } else {\n this.set(cookie);\n }\n }\n }\n\n /**\r\n * Remove Cookie\r\n */\n remove(name, path = '/') {\n var key = this.getKey(name, path);\n this.cookies.delete(key);\n }\n\n /**\r\n * Get all Cookies matching specified path\r\n * @param requestPath request path\r\n * @returns matching cookies, format: Record<string, string>\r\n */\n getForPath(requestPath) {\n var result = {};\n var now = Date.now();\n this.cookies.forEach(cookie => {\n // Check if expired\n if (cookie.expires !== undefined && cookie.expires <= now) {\n return;\n }\n\n // Check if path matches\n if (matchCookiePath(requestPath, cookie.path)) {\n // If same-name cookie already exists, use the one with longer (more specific) path\n if (result[cookie.name] === undefined) {\n result[cookie.name] = cookie.value;\n }\n }\n });\n return result;\n }\n\n /**\r\n * Get Cookie value by name\r\n * @param name Cookie name\r\n * @param path path (optional, returns first match if not specified)\r\n */\n get(name, path) {\n if (path) {\n var key = this.getKey(name, path);\n var cookie = this.cookies.get(key);\n if (cookie && (!cookie.expires || cookie.expires > Date.now())) {\n return cookie.value;\n }\n return undefined;\n }\n\n // If path not specified, find all cookies with same name\n var _iterator = _createForOfIteratorHelper(this.cookies.values()),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _cookie = _step.value;\n if (_cookie.name === name) {\n if (!_cookie.expires || _cookie.expires > Date.now()) {\n return _cookie.value;\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return undefined;\n }\n\n /**\r\n * Get all Cookies (with full info)\r\n */\n getAll() {\n var now = Date.now();\n var result = [];\n this.cookies.forEach(cookie => {\n if (!cookie.expires || cookie.expires > now) {\n result.push(_objectSpread({}, cookie));\n }\n });\n return result;\n }\n\n /**\r\n * Get all Cookies (simple format)\r\n */\n getAllSimple() {\n var result = {};\n var now = Date.now();\n this.cookies.forEach(cookie => {\n if (!cookie.expires || cookie.expires > now) {\n result[cookie.name] = cookie.value;\n }\n });\n return result;\n }\n\n /**\r\n * Clear all Cookies\r\n */\n clear() {\n this.cookies.clear();\n }\n\n /**\r\n * Cleanup expired Cookies\r\n */\n cleanup() {\n var now = Date.now();\n var keysToDelete = [];\n this.cookies.forEach((cookie, key) => {\n if (cookie.expires !== undefined && cookie.expires <= now) {\n keysToDelete.push(key);\n }\n });\n keysToDelete.forEach(key => this.cookies.delete(key));\n }\n}","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\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');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","import _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\n/**\r\n * Interceptor manager\r\n */\nexport class InterceptorManager {\n constructor() {\n _defineProperty(this, \"handlers\", []);\n }\n /**\r\n * Add interceptor\r\n */\n use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled,\n rejected\n });\n return this.handlers.length - 1;\n }\n\n /**\r\n * Remove interceptor\r\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\r\n * Clear all interceptors\r\n */\n clear() {\n this.handlers.length = 0;\n }\n\n /**\r\n * Iterate over all interceptors\r\n */\n forEach(fn) {\n this.handlers.forEach(h => {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\n/**\r\n * Request interceptor manager\r\n */\nexport class RequestInterceptorManager extends InterceptorManager {}\n\n/**\r\n * Response interceptor manager\r\n */\nexport class ResponseInterceptorManager extends InterceptorManager {}\n\n/**\r\n * Execute request interceptor chain\r\n */\nexport function runRequestInterceptors(_x, _x2) {\n return _runRequestInterceptors.apply(this, arguments);\n}\n\n/**\r\n * Execute response interceptor chain\r\n */\nfunction _runRequestInterceptors() {\n _runRequestInterceptors = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(interceptors, config) {\n var promise;\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n promise = Promise.resolve(config);\n interceptors.forEach(interceptor => {\n promise = promise.then(config => interceptor.fulfilled(config), error => {\n if (interceptor.rejected) {\n return interceptor.rejected(error);\n }\n return Promise.reject(error);\n });\n });\n return _context.abrupt(\"return\", promise);\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _runRequestInterceptors.apply(this, arguments);\n}\nexport function runResponseInterceptors(_x3, _x4) {\n return _runResponseInterceptors.apply(this, arguments);\n}\nfunction _runResponseInterceptors() {\n _runResponseInterceptors = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(interceptors, response) {\n var promise;\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n promise = Promise.resolve(response);\n interceptors.forEach(interceptor => {\n promise = promise.then(response => interceptor.fulfilled(response), error => {\n if (interceptor.rejected) {\n return interceptor.rejected(error);\n }\n return Promise.reject(error);\n });\n });\n return _context2.abrupt(\"return\", promise);\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _runResponseInterceptors.apply(this, arguments);\n}","import _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport \"core-js/modules/es.symbol.description.js\";\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.array.from.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.object.entries.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { RequestIframeError } from '../utils/error';\nimport { isExpectedAckMatch } from '../endpoint';\nimport { detectContentType } from '../utils/content-type';\nimport { isWindowAvailable } from '../utils/window';\nimport { generateRequestId, generateInstanceId } from '../utils/id';\nimport { CookieStore } from '../utils/cookie';\nimport { RequestInterceptorManager, ResponseInterceptorManager, runRequestInterceptors, runResponseInterceptors } from '../interceptors';\nimport { RequestIframeEndpointFacade, createReadableStreamFromStart } from '../endpoint';\nimport { autoResolveIframeFileReadableStream } from '../endpoint';\nimport { DefaultTimeout, ErrorCode, MessageType, MessageRole, HttpStatus, HttpStatusText, HttpHeader, Messages, formatMessage, StreamType as StreamTypeConstant } from '../constants';\nimport { isFunction } from '../utils/is';\n\n/**\n * Client configuration options\n */\n\n/**\n * RequestIframeClient implementation (only responsible for initiating requests, reuses server's listener)\n */\nexport class RequestIframeClientImpl {\n /** \n * Target server ID (remembered from responses)\n * When a response is received, we remember the server's creatorId as the targetId for future requests\n */\n\n rememberTargetServerId(serverId) {\n if (!serverId) return;\n if (!this._targetServerId) {\n this._targetServerId = serverId;\n this.outbox.setDefaultTargetId(serverId);\n }\n }\n constructor(targetWindow, targetOrigin, options, instanceId) {\n var _options$ackTimeout, _options$timeout, _options$asyncTimeout, _options$returnData;\n /** Unique instance ID */\n _defineProperty(this, \"interceptors\", {\n request: new RequestInterceptorManager(),\n response: new ResponseInterceptorManager()\n });\n /** \n * Internal cookies storage\n * - Automatically includes cookies matching the path when sending requests\n * - Automatically parses Set-Cookie and saves when receiving response\n */\n _defineProperty(this, \"_cookieStore\", new CookieStore());\n this.id = instanceId || generateInstanceId();\n this.targetWindow = targetWindow;\n this.targetOrigin = targetOrigin;\n this.secretKey = options === null || options === void 0 ? void 0 : options.secretKey;\n var endpoint = new RequestIframeEndpointFacade({\n role: MessageRole.CLIENT,\n instanceId: this.id,\n secretKey: options === null || options === void 0 ? void 0 : options.secretKey,\n autoAckMaxMetaLength: options === null || options === void 0 ? void 0 : options.autoAckMaxMetaLength,\n autoAckMaxIdLength: options === null || options === void 0 ? void 0 : options.autoAckMaxIdLength,\n inbox: {},\n streamDispatcher: {\n handledBy: this.id\n },\n originValidator: {\n allowedOrigins: options === null || options === void 0 ? void 0 : options.allowedOrigins,\n validateOrigin: options === null || options === void 0 ? void 0 : options.validateOrigin\n }\n });\n this.endpoint = endpoint;\n /** Core/routers shared composition */\n this.hub = endpoint.hub;\n this.streamDispatcher = endpoint.streamDispatcher;\n this.inbox = endpoint.inbox;\n this.originValidator = endpoint.originValidator;\n\n /** Create a fixed-peer sender (built-in client) */\n this.outbox = this.hub.createOutbox(this.targetWindow, this.targetOrigin);\n\n /**\n * Register base message infra + response handlers via facade.\n * These hooks will run when client.open() is called.\n */\n this.endpoint.onOpen(() => this.inbox.registerHandlers());\n\n // Provide fallback target for auto-ack (useful when MessageEvent.source is missing in tests)\n this.hub.setFallbackTarget(this.outbox.targetWindow, this.outbox.targetOrigin);\n\n // Set default timeout configuration\n this.defaultAckTimeout = (_options$ackTimeout = options === null || options === void 0 ? void 0 : options.ackTimeout) !== null && _options$ackTimeout !== void 0 ? _options$ackTimeout : DefaultTimeout.ACK;\n this.defaultTimeout = (_options$timeout = options === null || options === void 0 ? void 0 : options.timeout) !== null && _options$timeout !== void 0 ? _options$timeout : DefaultTimeout.REQUEST;\n this.defaultAsyncTimeout = (_options$asyncTimeout = options === null || options === void 0 ? void 0 : options.asyncTimeout) !== null && _options$asyncTimeout !== void 0 ? _options$asyncTimeout : DefaultTimeout.ASYNC;\n\n // Set default returnData configuration\n this.defaultReturnData = (_options$returnData = options === null || options === void 0 ? void 0 : options.returnData) !== null && _options$returnData !== void 0 ? _options$returnData : false;\n\n // Save initial headers configuration\n this.initialHeaders = options === null || options === void 0 ? void 0 : options.headers;\n\n // Stream dispatching is owned by facade (pluggable stream infra)\n this.endpoint.enableStreamDispatcherCallback({\n isOriginAllowed: (d, ctx) => this.hub.isOriginAllowedBy(ctx.origin, d, ctx, this.targetOrigin, this.originValidator)\n });\n this.endpoint.registerClientStreamCallbackHandlers({\n handlerOptions: this.hub.createHandlerOptions(() => {\n /** ignore version errors for stream frames */\n })\n });\n\n /** Auto-open by default (unless explicitly set to false) */\n if ((options === null || options === void 0 ? void 0 : options.autoOpen) !== false) {\n this.open();\n }\n }\n\n /**\n * Register stream message handler (StreamMessageHandler interface implementation)\n */\n registerStreamHandler(streamId, handler) {\n this.streamDispatcher.register(streamId, handler);\n }\n\n /**\n * Unregister stream message handler (StreamMessageHandler interface implementation)\n */\n unregisterStreamHandler(streamId) {\n this.streamDispatcher.unregister(streamId);\n }\n\n /*\n Send message (StreamMessageHandler interface implementation)\n */\n postMessage(message) {\n this.sendRaw(message);\n }\n\n /**\n * Send raw framework message (advanced).\n *\n * Note: streams call `postMessage` via StreamMessageHandler, which delegates here.\n */\n sendRaw(message) {\n // Window check is handled in MessageDispatcher\n this.outbox.sendRaw(message);\n }\n\n /**\n * Resolve header value (handle function type headers)\n */\n resolveHeaderValue(value, config) {\n if (isFunction(value)) {\n return value(config);\n }\n return value;\n }\n\n /**\n * Detect Content-Type for request body\n */\n detectContentTypeForBody(body) {\n return detectContentType(body, {\n checkStream: false\n });\n }\n\n /**\n * Check if header exists (case-insensitive)\n */\n hasHeader(headers, name) {\n var lower = name.toLowerCase();\n return Object.keys(headers).some(k => k.toLowerCase() === lower);\n }\n\n /**\n * Merge and resolve headers (initial headers + request headers)\n * Request headers take precedence over initial headers\n * Also auto-detects and sets Content-Type if not already set\n */\n mergeHeaders(config, body) {\n var resolvedHeaders = {};\n\n // First, resolve initial headers\n if (this.initialHeaders) {\n for (var _i = 0, _Object$entries = Object.entries(this.initialHeaders); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n resolvedHeaders[key] = this.resolveHeaderValue(value, config);\n }\n }\n\n // Then, merge request headers (request headers take precedence)\n if (config.headers) {\n for (var _i2 = 0, _Object$entries2 = Object.entries(config.headers); _i2 < _Object$entries2.length; _i2++) {\n var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),\n _key = _Object$entries2$_i[0],\n _value = _Object$entries2$_i[1];\n resolvedHeaders[_key] = this.resolveHeaderValue(_value, config);\n }\n }\n\n // Auto-detect and set Content-Type if not already set and body is provided\n if (body !== undefined && !this.hasHeader(resolvedHeaders, HttpHeader.CONTENT_TYPE)) {\n var contentType = this.detectContentTypeForBody(body);\n if (contentType) {\n resolvedHeaders[HttpHeader.CONTENT_TYPE] = contentType;\n }\n }\n return resolvedHeaders;\n }\n\n /**\n * Check if server is reachable\n */\n isConnect() {\n // Check if target window is still available before sending ping\n if (!isWindowAvailable(this.targetWindow)) {\n return Promise.reject(new RequestIframeError({\n message: Messages.TARGET_WINDOW_CLOSED,\n code: ErrorCode.TARGET_WINDOW_CLOSED,\n config: undefined,\n requestId: `ping_${Date.now()}`\n }));\n }\n return this.endpoint.pingIsConnect({\n peer: this.outbox,\n timeoutMs: this.defaultAckTimeout,\n targetOrigin: this.targetOrigin,\n targetId: this._targetServerId,\n onPeerId: serverId => this.rememberTargetServerId(serverId)\n });\n }\n send(path, body, options) {\n var _this = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var config, processedConfig, processedBody;\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n config = _objectSpread({\n path,\n body\n }, options);\n _context.next = 1;\n return runRequestInterceptors(_this.interceptors.request, config);\n case 1:\n processedConfig = _context.sent;\n processedBody = processedConfig.body;\n return _context.abrupt(\"return\", _this.outbox.send({\n data: processedBody,\n onFileOrBlob: () => {\n return _this.sendFile(path, processedBody, options);\n },\n onStream: () => {\n return _this.sendStream(path, processedBody, options);\n },\n onOther: () => {\n // Merge and resolve headers (initial headers + request headers)\n var mergedHeaders = _this.mergeHeaders(processedConfig, processedBody);\n var processedPath = processedConfig.path,\n processedCookies = processedConfig.cookies,\n userTargetId = processedConfig.targetId,\n _processedConfig$requ = processedConfig.requestId,\n requestId = _processedConfig$requ === void 0 ? generateRequestId() : _processedConfig$requ;\n var targetId = userTargetId || _this._targetServerId;\n return _this._sendRequest(processedPath, processedBody, mergedHeaders, processedCookies, processedConfig, requestId, targetId);\n }\n }));\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))();\n }\n\n /**\n * Send file as request body (stream only; server receives stream or auto-resolved File/Blob via autoResolve).\n */\n sendFile(path, content, options) {\n var _this2 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _processedConfig$requ2, _processedConfig$targ, _options$autoResolve;\n var config, processedConfig, requestId, targetId, processedPath, mergedHeaders, pathMatchedCookies, mergedCookies, streamConfig;\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n config = _objectSpread({\n path,\n body: undefined\n }, options);\n _context2.next = 1;\n return runRequestInterceptors(_this2.interceptors.request, config);\n case 1:\n processedConfig = _context2.sent;\n requestId = (_processedConfig$requ2 = processedConfig.requestId) !== null && _processedConfig$requ2 !== void 0 ? _processedConfig$requ2 : generateRequestId();\n targetId = (_processedConfig$targ = processedConfig.targetId) !== null && _processedConfig$targ !== void 0 ? _processedConfig$targ : _this2._targetServerId;\n processedPath = processedConfig.path;\n mergedHeaders = _this2.mergeHeaders(processedConfig, undefined);\n pathMatchedCookies = _this2._cookieStore.getForPath(processedPath);\n mergedCookies = _objectSpread(_objectSpread({}, pathMatchedCookies), processedConfig.cookies);\n streamConfig = _objectSpread(_objectSpread({}, processedConfig), {}, {\n requestId\n });\n return _context2.abrupt(\"return\", _this2.outbox.sendFile({\n content,\n fileName: options === null || options === void 0 ? void 0 : options.fileName,\n mimeType: options === null || options === void 0 ? void 0 : options.mimeType,\n chunked: false,\n autoResolve: (_options$autoResolve = options === null || options === void 0 ? void 0 : options.autoResolve) !== null && _options$autoResolve !== void 0 ? _options$autoResolve : true,\n defaultFileName: typeof File !== 'undefined' && content instanceof File ? content.name : 'file',\n defaultMimeType: 'application/octet-stream',\n stream: {\n bind: {\n requestId,\n registerStreamHandler: _this2.registerStreamHandler.bind(_this2),\n unregisterStreamHandler: _this2.unregisterStreamHandler.bind(_this2),\n heartbeat: () => _this2.isConnect(),\n clientId: _this2.id,\n targetId\n },\n awaitStart: false,\n beforeStart: ({\n stream\n }) => {\n return _this2._sendRequest(processedPath, undefined, mergedHeaders, mergedCookies, streamConfig, requestId, targetId, {\n streamId: stream.streamId\n });\n }\n }\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n }\n\n /**\n * Send stream as request body (server receives readable stream).\n * Sends REQUEST with streamId and stream: true, then starts the writable stream.\n */\n sendStream(path, stream, options) {\n var _this3 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var _processedConfig$requ3, _processedConfig$targ2;\n var config, processedConfig, requestId, targetId, processedPath, mergedHeaders, pathMatchedCookies, mergedCookies, streamConfig;\n return _regeneratorRuntime.wrap(function (_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n config = _objectSpread({\n path,\n body: undefined\n }, options);\n _context3.next = 1;\n return runRequestInterceptors(_this3.interceptors.request, config);\n case 1:\n processedConfig = _context3.sent;\n requestId = (_processedConfig$requ3 = processedConfig.requestId) !== null && _processedConfig$requ3 !== void 0 ? _processedConfig$requ3 : generateRequestId();\n targetId = (_processedConfig$targ2 = processedConfig.targetId) !== null && _processedConfig$targ2 !== void 0 ? _processedConfig$targ2 : _this3._targetServerId;\n processedPath = processedConfig.path;\n mergedHeaders = _this3.mergeHeaders(processedConfig, undefined);\n pathMatchedCookies = _this3._cookieStore.getForPath(processedPath);\n mergedCookies = _objectSpread(_objectSpread({}, pathMatchedCookies), processedConfig.cookies);\n streamConfig = _objectSpread(_objectSpread({}, processedConfig), {}, {\n requestId\n });\n return _context3.abrupt(\"return\", _this3.outbox.sendStream({\n stream: stream,\n bind: {\n requestId,\n registerStreamHandler: _this3.registerStreamHandler.bind(_this3),\n unregisterStreamHandler: _this3.unregisterStreamHandler.bind(_this3),\n heartbeat: () => _this3.isConnect(),\n clientId: _this3.id,\n targetId\n },\n awaitStart: false,\n beforeStart: ({\n stream: s\n }) => {\n return _this3._sendRequest(processedPath, undefined, mergedHeaders, mergedCookies, streamConfig, requestId, targetId, {\n streamId: s.streamId\n });\n }\n }));\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }))();\n }\n\n /**\n * Internal: send REQUEST and wait for response (used by send, sendFile, sendStream).\n */\n _sendRequest(requestPath, body, mergedHeaders, processedCookies, processedConfig, requestId, targetId, extraPayload) {\n var _processedConfig$ackT = processedConfig.ackTimeout,\n ackTimeout = _processedConfig$ackT === void 0 ? this.defaultAckTimeout : _processedConfig$ackT,\n _processedConfig$time = processedConfig.timeout,\n timeout = _processedConfig$time === void 0 ? this.defaultTimeout : _processedConfig$time,\n _processedConfig$asyn = processedConfig.asyncTimeout,\n asyncTimeout = _processedConfig$asyn === void 0 ? this.defaultAsyncTimeout : _processedConfig$asyn,\n _processedConfig$requ4 = processedConfig.requireAck,\n requireAck = _processedConfig$requ4 === void 0 ? true : _processedConfig$requ4,\n streamTimeout = processedConfig.streamTimeout,\n ack = processedConfig.ack,\n _processedConfig$retu = processedConfig.returnData,\n returnData = _processedConfig$retu === void 0 ? this.defaultReturnData : _processedConfig$retu;\n return new Promise((resolve, reject) => {\n var done = false;\n var timeoutId = null;\n var cleanup = () => {\n if (timeoutId) clearTimeout(timeoutId);\n this.inbox.unregisterPendingRequest(requestId);\n };\n var fail = error => {\n if (done) return;\n done = true;\n cleanup();\n // Convert to RequestIframeError instance\n var errorInstance = error instanceof RequestIframeError ? error : new RequestIframeError(error);\n // Run response interceptors to allow error logging\n Promise.reject(errorInstance).catch(err => {\n // Run through response interceptors' rejected callbacks\n var promise = Promise.reject(err);\n this.interceptors.response.forEach(interceptor => {\n promise = promise.catch(e => {\n if (interceptor.rejected) {\n return interceptor.rejected(e);\n }\n return Promise.reject(e);\n });\n });\n return promise;\n }).catch(() => {\n // After interceptors, reject with original error\n reject(errorInstance);\n });\n };\n var setAckTimeout = () => {\n if (timeoutId) clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n fail(new RequestIframeError({\n message: formatMessage(Messages.ACK_TIMEOUT, ackTimeout),\n code: ErrorCode.ACK_TIMEOUT,\n config: processedConfig,\n requestId\n }));\n }, ackTimeout);\n };\n var setRequestTimeout = () => {\n if (timeoutId) clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n fail(new RequestIframeError({\n message: formatMessage(Messages.REQUEST_TIMEOUT, timeout),\n code: ErrorCode.TIMEOUT,\n config: processedConfig,\n requestId\n }));\n }, timeout);\n };\n var setAsyncTimeout = () => {\n if (timeoutId) clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n fail(new RequestIframeError({\n message: formatMessage(Messages.ASYNC_REQUEST_TIMEOUT, asyncTimeout),\n code: ErrorCode.ASYNC_TIMEOUT,\n config: processedConfig,\n requestId\n }));\n }, asyncTimeout);\n };\n\n // Register to server's pending requests\n this.inbox.registerPendingRequest(requestId, data => {\n if (done) return;\n\n // Received ACK: server has received request\n if (data.type === MessageType.ACK) {\n // Optional ack match (ignore mismatched ACK)\n if (!isExpectedAckMatch(ack, data.ack)) {\n return;\n }\n // Remember server's creatorId as target server ID for future requests\n this.rememberTargetServerId(data.creatorId);\n // Switch to request timeout\n setRequestTimeout();\n return;\n }\n\n // Received ASYNC notification: this is an async task\n if (data.type === MessageType.ASYNC) {\n // Remember server's creatorId as target server ID for future requests\n this.rememberTargetServerId(data.creatorId);\n // Switch to async timeout\n setAsyncTimeout();\n return;\n }\n\n // Received stream start message\n if (data.type === MessageType.STREAM_START) {\n done = true;\n cleanup();\n\n // Remember server's creatorId as target server ID for future requests\n this.rememberTargetServerId(data.creatorId);\n var created = createReadableStreamFromStart({\n requestId,\n data,\n handler: this,\n secretKey: this.secretKey,\n idleTimeout: streamTimeout,\n heartbeat: () => this.isConnect()\n });\n if (!created) {\n fail(new RequestIframeError({\n message: formatMessage(Messages.STREAM_ERROR, 'invalid stream_start'),\n code: ErrorCode.STREAM_ERROR,\n config: processedConfig,\n requestId\n }));\n return;\n }\n var readableStream = created.stream,\n info = created.info;\n\n // File stream: optional auto-resolve to File/Blob\n if (info.type === StreamTypeConstant.FILE) {\n var fileStream = readableStream;\n if (info.autoResolve) {\n autoResolveIframeFileReadableStream({\n fileStream,\n info,\n headers: data.headers\n }).then(fileData => {\n var resp = {\n data: fileData,\n status: data.status || HttpStatus.OK,\n statusText: data.statusText || HttpStatusText[HttpStatus.OK],\n requestId,\n headers: data.headers\n };\n return runResponseInterceptors(this.interceptors.response, resp);\n }).then(response => {\n resolve(returnData ? response.data : response);\n }).catch(reject);\n return;\n }\n }\n var resp = {\n data: undefined,\n status: data.status || HttpStatus.OK,\n statusText: data.statusText || HttpStatusText[HttpStatus.OK],\n requestId,\n headers: data.headers,\n stream: readableStream\n };\n runResponseInterceptors(this.interceptors.response, resp).then(response => {\n resolve(returnData ? response.data : response);\n }).catch(reject);\n return;\n }\n\n // Received response\n if (data.type === MessageType.RESPONSE) {\n done = true;\n cleanup();\n\n // Remember server's creatorId as target server ID for future requests\n this.rememberTargetServerId(data.creatorId);\n\n // Parse and save server-set cookies (from Set-Cookie header)\n if (data.headers && data.headers[HttpHeader.SET_COOKIE]) {\n var setCookies = data.headers[HttpHeader.SET_COOKIE];\n var setCookieArray = Array.isArray(setCookies) ? setCookies : [setCookies];\n var _iterator = _createForOfIteratorHelper(setCookieArray),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var setCookieStr = _step.value;\n this._cookieStore.setFromSetCookie(setCookieStr);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n var _resp = {\n data: data.data,\n status: data.status || HttpStatus.OK,\n statusText: data.statusText || HttpStatusText[HttpStatus.OK],\n requestId,\n headers: data.headers\n };\n runResponseInterceptors(this.interceptors.response, _resp).then(response => {\n resolve(returnData ? response.data : response);\n }).catch(reject);\n return;\n }\n\n // Received error\n if (data.type === MessageType.ERROR) {\n var _data$error, _data$error2;\n // Remember server's creatorId as target server ID for future requests\n this.rememberTargetServerId(data.creatorId);\n fail(new RequestIframeError({\n message: ((_data$error = data.error) === null || _data$error === void 0 ? void 0 : _data$error.message) || Messages.REQUEST_FAILED,\n code: ((_data$error2 = data.error) === null || _data$error2 === void 0 ? void 0 : _data$error2.code) || ErrorCode.REQUEST_ERROR,\n config: processedConfig,\n response: data.status ? {\n data: data.data,\n status: data.status,\n statusText: data.statusText || Messages.ERROR\n } : undefined,\n requestId\n }));\n }\n }, error => {\n fail(new RequestIframeError({\n message: error.message || Messages.REQUEST_FAILED,\n code: ErrorCode.REQUEST_ERROR,\n config: processedConfig,\n requestId\n }));\n }, this.targetOrigin, this.originValidator);\n\n // Set ACK timeout (delivery stage). If disabled, start request timeout immediately.\n if (requireAck === false) {\n setRequestTimeout();\n } else {\n setAckTimeout();\n }\n\n // Get cookies matching request path and merge with user-provided cookies (user-provided takes precedence)\n var pathMatchedCookies = this._cookieStore.getForPath(requestPath);\n var mergedCookies = _objectSpread(_objectSpread({}, pathMatchedCookies), processedCookies);\n\n // Send request via MessageDispatcher\n var payload = {\n path: requestPath,\n body,\n headers: mergedHeaders,\n cookies: mergedCookies,\n targetId,\n requireAck,\n ack\n };\n if (extraPayload !== null && extraPayload !== void 0 && extraPayload.streamId) {\n payload.streamId = extraPayload.streamId;\n }\n\n // Check if target window is still available before sending\n if (!isWindowAvailable(this.targetWindow)) {\n fail(new RequestIframeError({\n message: Messages.TARGET_WINDOW_CLOSED,\n code: ErrorCode.TARGET_WINDOW_CLOSED,\n config: processedConfig,\n requestId\n }));\n return;\n }\n this.outbox.sendMessage(MessageType.REQUEST, requestId, payload);\n });\n }\n /**\n * Get internal hub instance (for debugging)\n */\n getHub() {\n return this.hub;\n }\n\n /**\n * Whether message handling is enabled\n */\n get isOpen() {\n return this.hub.isOpen;\n }\n\n /**\n * Check if target window is still available (not closed/removed)\n * @returns true if target window is available, false otherwise\n */\n isAvailable() {\n return isWindowAvailable(this.targetWindow);\n }\n\n /**\n * Enable message handling (register message handlers)\n */\n open() {\n this.hub.open();\n }\n\n /**\n * Disable message handling (unregister message handlers, but don't release resources)\n */\n close() {\n this.hub.close();\n }\n\n /**\n * Destroy client (close and release all resources)\n */\n destroy() {\n // Clear cookies\n this._cookieStore.clear();\n\n // Clear stream handlers\n this.streamDispatcher.clear();\n\n // Clear interceptors\n this.interceptors.request.clear();\n this.interceptors.response.clear();\n\n // Destroy core (this will also release the message channel)\n this.hub.destroy();\n }\n\n /**\n * Get all cookies matching specified path\n * @param path Request path, returns all cookies if not provided\n */\n getCookies(path) {\n if (path) {\n return this._cookieStore.getForPath(path);\n }\n return this._cookieStore.getAllSimple();\n }\n\n /**\n * Get specified cookie\n * @param name Cookie name\n * @param path Path (optional)\n */\n getCookie(name, path) {\n return this._cookieStore.get(name, path);\n }\n\n /**\n * Set cookie\n * @param name Cookie name\n * @param value Cookie value\n * @param options Cookie options (path, etc.)\n */\n setCookie(name, value, options) {\n var _options$path;\n var expires;\n if (options !== null && options !== void 0 && options.expires) {\n expires = options.expires.getTime();\n } else if ((options === null || options === void 0 ? void 0 : options.maxAge) !== undefined) {\n expires = Date.now() + options.maxAge * 1000;\n }\n this._cookieStore.set({\n name,\n value,\n path: (_options$path = options === null || options === void 0 ? void 0 : options.path) !== null && _options$path !== void 0 ? _options$path : '/',\n expires\n });\n }\n\n /**\n * Remove specified cookie\n * @param name Cookie name\n * @param path Path (optional, defaults to '/')\n */\n removeCookie(name, path) {\n this._cookieStore.remove(name, path !== null && path !== void 0 ? path : '/');\n }\n\n /**\n * Clear all cookies\n */\n clearCookies() {\n this._cookieStore.clear();\n }\n}","import \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { MessageType, getStatusText, Messages, LogLevel, DebugEvent } from '../constants';\nimport { ensureRequestIframeLogLevel, requestIframeLog } from './logger';\nfunction logEvent(level, event, message, data) {\n if (data !== undefined && data !== null && typeof data === 'object') {\n requestIframeLog(level, message, _objectSpread({\n event\n }, data));\n return;\n }\n requestIframeLog(level, message, data === undefined ? {\n event\n } : {\n event,\n data\n });\n}\n\n/**\r\n * Format message data for logging (remove sensitive data if needed)\r\n */\nfunction formatMessageData(data) {\n if (!data) return data;\n var formatted = _objectSpread({}, data);\n\n // Limit body size in logs\n if (formatted.body && typeof formatted.body === 'object') {\n var bodyStr = JSON.stringify(formatted.body);\n if (bodyStr.length > 500) {\n formatted.body = bodyStr.substring(0, 500) + '... (truncated)';\n }\n }\n\n // Limit data size in logs\n if (formatted.data && typeof formatted.data === 'object') {\n var dataStr = JSON.stringify(formatted.data);\n if (dataStr.length > 500) {\n formatted.data = dataStr.substring(0, 500) + '... (truncated)';\n }\n }\n return formatted;\n}\n\n/**\r\n * Register debug interceptors for client\r\n */\nexport function setupClientDebugInterceptors(client) {\n ensureRequestIframeLogLevel(LogLevel.INFO);\n\n // Request interceptor: log request start\n client.interceptors.request.use(config => {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_REQUEST_START, Messages.DEBUG_CLIENT_REQUEST_START, formatMessageData({\n path: config.path,\n body: config.body,\n headers: config.headers,\n cookies: config.cookies,\n ackTimeout: config.ackTimeout,\n timeout: config.timeout,\n asyncTimeout: config.asyncTimeout,\n requestId: config.requestId\n }));\n return config;\n });\n\n // Response interceptor: log response success\n client.interceptors.response.use(response => {\n var logData = {\n requestId: response.requestId,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers\n };\n\n // Check if response.data is a File or Blob\n if (response.data instanceof File || response.data instanceof Blob) {\n var file = response.data;\n var fileName = file instanceof File ? file.name : undefined;\n var mimeType = file.type || undefined;\n var contentLength = file.size;\n logData.fileData = {\n fileName,\n mimeType,\n contentLength\n };\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_REQUEST_SUCCESS_FILE, Messages.DEBUG_CLIENT_REQUEST_SUCCESS_FILE, formatMessageData(logData));\n } else if (response.stream) {\n logData.stream = {\n streamId: response.stream.streamId,\n type: response.stream.type\n };\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_REQUEST_SUCCESS_STREAM, Messages.DEBUG_CLIENT_REQUEST_SUCCESS_STREAM, formatMessageData(logData));\n } else {\n logData.data = response.data;\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_REQUEST_SUCCESS, Messages.DEBUG_CLIENT_REQUEST_SUCCESS, formatMessageData(logData));\n }\n return response;\n }, error => {\n logEvent(LogLevel.ERROR, DebugEvent.CLIENT_REQUEST_FAILED, Messages.DEBUG_CLIENT_REQUEST_FAILED, formatMessageData({\n requestId: error.requestId,\n code: error.code,\n message: error.message,\n config: error.config,\n response: error.response\n }));\n return Promise.reject(error);\n });\n\n /** Attach hook-based message debugging (no monkey patch). */\n var clientImpl = client;\n setupClientMessageDebuggingViaHooks(clientImpl);\n}\n\n/**\r\n * Setup message-level debugging for client (hook-based, no monkey patch).\r\n */\nfunction setupClientMessageDebuggingViaHooks(clientImpl) {\n var _clientImpl$hub, _clientImpl$getHub, _outbox$hooks, _dispatcher$hooks, _inbox$hooks, _dispatcher$hooks2;\n var inbox = clientImpl.inbox;\n var outbox = clientImpl.outbox;\n var dispatcher = ((_clientImpl$hub = clientImpl.hub) === null || _clientImpl$hub === void 0 ? void 0 : _clientImpl$hub.messageDispatcher) || ((_clientImpl$getHub = clientImpl.getHub) === null || _clientImpl$getHub === void 0 || (_clientImpl$getHub = _clientImpl$getHub.call(clientImpl)) === null || _clientImpl$getHub === void 0 ? void 0 : _clientImpl$getHub.messageDispatcher);\n\n /** Outbound */\n if (outbox !== null && outbox !== void 0 && (_outbox$hooks = outbox.hooks) !== null && _outbox$hooks !== void 0 && (_outbox$hooks = _outbox$hooks.afterSendMessage) !== null && _outbox$hooks !== void 0 && _outbox$hooks.tap) {\n outbox.hooks.afterSendMessage.tap('debug', (type, requestId, data) => {\n if (type === MessageType.REQUEST) {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_OUTBOUND, Messages.DEBUG_CLIENT_SENDING_REQUEST, formatMessageData({\n requestId,\n path: data === null || data === void 0 ? void 0 : data.path,\n body: data === null || data === void 0 ? void 0 : data.body,\n headers: data === null || data === void 0 ? void 0 : data.headers\n }));\n } else if (type === MessageType.PING) {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_OUTBOUND, Messages.DEBUG_CLIENT_SENDING_PING, {\n requestId\n });\n } else if (type === MessageType.ACK) {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_OUTBOUND, Messages.DEBUG_CLIENT_SENDING_RECEIVED_ACK, {\n requestId\n });\n }\n });\n } else if (dispatcher !== null && dispatcher !== void 0 && (_dispatcher$hooks = dispatcher.hooks) !== null && _dispatcher$hooks !== void 0 && (_dispatcher$hooks = _dispatcher$hooks.afterSend) !== null && _dispatcher$hooks !== void 0 && _dispatcher$hooks.tap) {\n dispatcher.hooks.afterSend.tap('debug', (_target, _origin, message) => {\n if (message.type === MessageType.REQUEST) {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_OUTBOUND, Messages.DEBUG_CLIENT_SENDING_REQUEST, formatMessageData({\n requestId: message.requestId,\n path: message.path,\n body: message.body,\n headers: message.headers\n }));\n }\n });\n }\n\n /** Inbound */\n if (inbox !== null && inbox !== void 0 && (_inbox$hooks = inbox.hooks) !== null && _inbox$hooks !== void 0 && (_inbox$hooks = _inbox$hooks.inbound) !== null && _inbox$hooks !== void 0 && _inbox$hooks.tap) {\n inbox.hooks.inbound.tap('debug', data => {\n if (data.type === MessageType.ACK) {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_INBOUND, Messages.DEBUG_CLIENT_RECEIVED_ACK, formatMessageData({\n requestId: data.requestId,\n path: data.path\n }));\n } else if (data.type === MessageType.ASYNC) {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_INBOUND, Messages.DEBUG_CLIENT_RECEIVED_ASYNC, formatMessageData({\n requestId: data.requestId,\n path: data.path\n }));\n } else if (data.type === MessageType.STREAM_START) {\n var streamBody = data.body;\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_INBOUND, Messages.DEBUG_CLIENT_RECEIVED_STREAM_START, formatMessageData({\n requestId: data.requestId,\n streamId: streamBody === null || streamBody === void 0 ? void 0 : streamBody.streamId,\n streamType: streamBody === null || streamBody === void 0 ? void 0 : streamBody.type,\n chunked: streamBody === null || streamBody === void 0 ? void 0 : streamBody.chunked,\n autoResolve: streamBody === null || streamBody === void 0 ? void 0 : streamBody.autoResolve,\n metadata: streamBody === null || streamBody === void 0 ? void 0 : streamBody.metadata\n }));\n } else if (data.type === MessageType.STREAM_DATA) {\n var _streamBody$data;\n var _streamBody = data.body;\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_INBOUND, Messages.DEBUG_CLIENT_RECEIVED_STREAM_DATA, formatMessageData({\n requestId: data.requestId,\n streamId: _streamBody === null || _streamBody === void 0 ? void 0 : _streamBody.streamId,\n done: _streamBody === null || _streamBody === void 0 ? void 0 : _streamBody.done,\n dataLength: (_streamBody === null || _streamBody === void 0 || (_streamBody$data = _streamBody.data) === null || _streamBody$data === void 0 ? void 0 : _streamBody$data.length) || 0\n }));\n } else if (data.type === MessageType.STREAM_END) {\n var _streamBody2 = data.body;\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_INBOUND, Messages.DEBUG_CLIENT_RECEIVED_STREAM_END, formatMessageData({\n requestId: data.requestId,\n streamId: _streamBody2 === null || _streamBody2 === void 0 ? void 0 : _streamBody2.streamId\n }));\n } else if (data.type === MessageType.RESPONSE) {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_INBOUND, Messages.DEBUG_CLIENT_RECEIVED_RESPONSE, formatMessageData({\n requestId: data.requestId,\n status: data.status,\n statusText: data.statusText,\n requireAck: data.requireAck\n }));\n } else if (data.type === MessageType.ERROR) {\n logEvent(LogLevel.ERROR, DebugEvent.CLIENT_MESSAGE_INBOUND, Messages.DEBUG_CLIENT_RECEIVED_ERROR, formatMessageData({\n requestId: data.requestId,\n status: data.status,\n statusText: data.statusText,\n error: data.error\n }));\n }\n });\n } else if (dispatcher !== null && dispatcher !== void 0 && (_dispatcher$hooks2 = dispatcher.hooks) !== null && _dispatcher$hooks2 !== void 0 && (_dispatcher$hooks2 = _dispatcher$hooks2.inbound) !== null && _dispatcher$hooks2 !== void 0 && _dispatcher$hooks2.tap) {\n dispatcher.hooks.inbound.tap('debug', data => {\n if (data.type === MessageType.ACK) {\n logEvent(LogLevel.INFO, DebugEvent.CLIENT_MESSAGE_INBOUND, Messages.DEBUG_CLIENT_RECEIVED_ACK, formatMessageData({\n requestId: data.requestId,\n path: data.path\n }));\n }\n });\n }\n}\n\n/**\r\n * Register debug listeners for server\r\n * Use middleware to log requests and responses\r\n */\nexport function setupServerDebugListeners(server) {\n ensureRequestIframeLogLevel(LogLevel.INFO);\n var serverImpl = server;\n var startTimes = new Map();\n\n // Use global middleware to log requests\n server.use((req, res, next) => {\n var _res$sendStream;\n var startTime = Date.now();\n startTimes.set(req.requestId, startTime);\n logEvent(LogLevel.INFO, DebugEvent.SERVER_REQUEST_RECEIVED, Messages.DEBUG_SERVER_RECEIVED_REQUEST, formatMessageData({\n requestId: req.requestId,\n path: req.path,\n body: req.body,\n origin: req.origin,\n headers: req.headers,\n cookies: req.cookies,\n method: 'POST' // iframe requests are always POST-like\n }));\n\n // Store original send methods\n var originalSend = res.send.bind(res);\n var originalJson = res.json.bind(res);\n var originalSendFile = res.sendFile.bind(res);\n var originalSendStream = (_res$sendStream = res.sendStream) === null || _res$sendStream === void 0 ? void 0 : _res$sendStream.bind(res);\n var originalStatus = res.status.bind(res);\n var originalSetHeader = res.setHeader.bind(res);\n\n // Track status code changes\n res.status = function (code) {\n logEvent(LogLevel.INFO, DebugEvent.SERVER_RESPONSE_SEND, Messages.DEBUG_SERVER_SETTING_STATUS_CODE, {\n requestId: req.requestId,\n path: req.path,\n statusCode: code\n });\n return originalStatus(code);\n };\n\n // Track header changes\n res.setHeader = function (name, value) {\n logEvent(LogLevel.INFO, DebugEvent.SERVER_RESPONSE_SEND, Messages.DEBUG_SERVER_SETTING_HEADER, {\n requestId: req.requestId,\n path: req.path,\n header: name,\n value: Array.isArray(value) ? value.join(', ') : String(value)\n });\n return originalSetHeader(name, value);\n };\n\n // Override send method\n res.send = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(data, options) {\n var duration;\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n duration = Date.now() - (startTimes.get(req.requestId) || startTime);\n startTimes.delete(req.requestId);\n logEvent(LogLevel.INFO, DebugEvent.SERVER_RESPONSE_SEND, Messages.DEBUG_SERVER_SENDING_RESPONSE, formatMessageData({\n requestId: req.requestId,\n path: req.path,\n status: res.statusCode,\n statusText: getStatusText(res.statusCode),\n requireAck: options === null || options === void 0 ? void 0 : options.requireAck,\n headers: res.headers,\n data,\n duration: `${duration}ms`\n }));\n return _context.abrupt(\"return\", originalSend(data, options));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }();\n\n // Override json method\n res.json = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(data, options) {\n var duration;\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n duration = Date.now() - (startTimes.get(req.requestId) || startTime);\n startTimes.delete(req.requestId);\n logEvent(LogLevel.INFO, DebugEvent.SERVER_RESPONSE_SEND, Messages.DEBUG_SERVER_SENDING_JSON_RESPONSE, formatMessageData({\n requestId: req.requestId,\n path: req.path,\n status: res.statusCode,\n statusText: getStatusText(res.statusCode),\n requireAck: options === null || options === void 0 ? void 0 : options.requireAck,\n headers: res.headers,\n data,\n duration: `${duration}ms`\n }));\n return _context2.abrupt(\"return\", originalJson(data, options));\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x3, _x4) {\n return _ref2.apply(this, arguments);\n };\n }();\n\n // Override sendFile method\n res.sendFile = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(content, options) {\n var duration;\n return _regeneratorRuntime.wrap(function (_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n duration = Date.now() - (startTimes.get(req.requestId) || startTime);\n startTimes.delete(req.requestId);\n logEvent(LogLevel.INFO, DebugEvent.SERVER_RESPONSE_SEND, Messages.DEBUG_SERVER_SENDING_FILE, formatMessageData({\n requestId: req.requestId,\n path: req.path,\n status: res.statusCode,\n statusText: getStatusText(res.statusCode),\n fileName: options === null || options === void 0 ? void 0 : options.fileName,\n mimeType: options === null || options === void 0 ? void 0 : options.mimeType,\n contentLength: typeof content === 'string' ? content.length : (content === null || content === void 0 ? void 0 : content.size) || 0,\n duration: `${duration}ms`\n }));\n return _context3.abrupt(\"return\", originalSendFile(content, options));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function (_x5, _x6) {\n return _ref3.apply(this, arguments);\n };\n }();\n\n // Override sendStream method if exists\n if (originalSendStream) {\n res.sendStream = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(stream) {\n var duration;\n return _regeneratorRuntime.wrap(function (_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n duration = Date.now() - (startTimes.get(req.requestId) || startTime);\n startTimes.delete(req.requestId);\n logEvent(LogLevel.INFO, DebugEvent.SERVER_RESPONSE_SEND, Messages.DEBUG_SERVER_SENDING_STREAM, formatMessageData({\n requestId: req.requestId,\n path: req.path,\n status: res.statusCode,\n statusText: getStatusText(res.statusCode),\n streamId: stream === null || stream === void 0 ? void 0 : stream.streamId,\n duration: `${duration}ms`\n }));\n return _context4.abrupt(\"return\", originalSendStream(stream));\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return function (_x7) {\n return _ref4.apply(this, arguments);\n };\n }();\n }\n next();\n });\n\n /** Hook into MessageDispatcher hooks (no monkey patch). */\n setupServerMessageDebuggingViaHooks(serverImpl);\n}\n\n/**\r\n * Setup message-level debugging for server (hook-based, no monkey patch).\r\n */\nfunction setupServerMessageDebuggingViaHooks(serverImpl) {\n var _dispatcher$hooks$aft, _dispatcher$hooks$inb;\n var dispatcher = serverImpl.messageDispatcher || serverImpl.dispatcher;\n if (!(dispatcher !== null && dispatcher !== void 0 && dispatcher.hooks)) return;\n\n /** Outbound messages */\n if ((_dispatcher$hooks$aft = dispatcher.hooks.afterSend) !== null && _dispatcher$hooks$aft !== void 0 && _dispatcher$hooks$aft.tap) {\n dispatcher.hooks.afterSend.tap('debug', (_target, _targetOrigin, message) => {\n var type = message.type;\n var requestId = message.requestId;\n var data = message;\n if (type === MessageType.ACK) {\n logEvent(LogLevel.INFO, DebugEvent.SERVER_MESSAGE_OUTBOUND, Messages.DEBUG_SERVER_SENDING_ACK, formatMessageData({\n requestId,\n path: data.path\n }));\n } else if (type === MessageType.ASYNC) {\n logEvent(LogLevel.INFO, DebugEvent.SERVER_MESSAGE_OUTBOUND, Messages.DEBUG_SERVER_SENDING_ASYNC, formatMessageData({\n requestId,\n path: data.path\n }));\n } else if (type === MessageType.STREAM_START) {\n var streamBody = (data === null || data === void 0 ? void 0 : data.body) || {};\n logEvent(LogLevel.INFO, DebugEvent.SERVER_MESSAGE_OUTBOUND, Messages.DEBUG_SERVER_SENDING_STREAM_START, formatMessageData({\n requestId,\n streamId: streamBody.streamId,\n streamType: streamBody.type,\n chunked: streamBody.chunked,\n autoResolve: streamBody.autoResolve,\n metadata: streamBody.metadata\n }));\n } else if (type === MessageType.STREAM_DATA) {\n var _streamBody3$data;\n var _streamBody3 = (data === null || data === void 0 ? void 0 : data.body) || {};\n logEvent(LogLevel.INFO, DebugEvent.SERVER_MESSAGE_OUTBOUND, Messages.DEBUG_SERVER_SENDING_STREAM_DATA, formatMessageData({\n requestId,\n streamId: _streamBody3.streamId,\n done: _streamBody3.done,\n dataLength: ((_streamBody3$data = _streamBody3.data) === null || _streamBody3$data === void 0 ? void 0 : _streamBody3$data.length) || 0\n }));\n } else if (type === MessageType.STREAM_END) {\n var _streamBody4 = (data === null || data === void 0 ? void 0 : data.body) || {};\n logEvent(LogLevel.INFO, DebugEvent.SERVER_MESSAGE_OUTBOUND, Messages.DEBUG_SERVER_SENDING_STREAM_END, formatMessageData({\n requestId,\n streamId: _streamBody4.streamId\n }));\n } else if (type === MessageType.ERROR) {\n logEvent(LogLevel.ERROR, DebugEvent.SERVER_MESSAGE_OUTBOUND, Messages.DEBUG_SERVER_SENDING_ERROR, formatMessageData({\n requestId,\n status: data === null || data === void 0 ? void 0 : data.status,\n statusText: data === null || data === void 0 ? void 0 : data.statusText,\n error: data === null || data === void 0 ? void 0 : data.error,\n path: data === null || data === void 0 ? void 0 : data.path\n }));\n } else if (type === MessageType.RESPONSE) {\n logEvent(LogLevel.INFO, DebugEvent.SERVER_MESSAGE_OUTBOUND, Messages.DEBUG_SERVER_SENDING_RESPONSE_VIA_DISPATCHER, formatMessageData({\n requestId,\n status: data === null || data === void 0 ? void 0 : data.status,\n statusText: data === null || data === void 0 ? void 0 : data.statusText,\n requireAck: data === null || data === void 0 ? void 0 : data.requireAck,\n path: data === null || data === void 0 ? void 0 : data.path\n }));\n }\n });\n }\n\n /** Inbound messages */\n if ((_dispatcher$hooks$inb = dispatcher.hooks.inbound) !== null && _dispatcher$hooks$inb !== void 0 && _dispatcher$hooks$inb.tap) {\n dispatcher.hooks.inbound.tap('debug', (data, context) => {\n if (data.type === MessageType.REQUEST) {\n logEvent(LogLevel.INFO, DebugEvent.SERVER_MESSAGE_INBOUND, Messages.DEBUG_SERVER_HANDLING_REQUEST, formatMessageData({\n requestId: data.requestId,\n path: data.path,\n origin: context === null || context === void 0 ? void 0 : context.origin,\n role: data.role,\n creatorId: data.creatorId\n }));\n }\n });\n }\n}","import \"core-js/modules/es.array.includes.js\";\nimport \"core-js/modules/es.regexp.constructor.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/es.string.ends-with.js\";\nimport \"core-js/modules/es.string.includes.js\";\nimport \"core-js/modules/es.string.match.js\";\nimport \"core-js/modules/es.string.replace.js\";\nimport \"core-js/modules/es.string.starts-with.js\";\n/**\r\n * Path matcher type\r\n */\n\n/**\r\n * Path pattern (supports wildcards)\r\n * Example: '/api/*' matches all paths starting with '/api/'\r\n */\n\n/**\r\n * Check if path matches the given matcher\r\n * @param path request path\r\n * @param matcher path matcher (string, RegExp, PathPattern, or array)\r\n * @returns whether matches\r\n */\nexport function matchPath(path, matcher) {\n // Normalize path (ensure starts with /)\n var normalizedPath = path.startsWith('/') ? path : `/${path}`;\n\n // If array, match if any one matches\n if (Array.isArray(matcher)) {\n return matcher.some(m => matchPath(normalizedPath, m));\n }\n\n // If RegExp\n if (matcher instanceof RegExp) {\n return matcher.test(normalizedPath);\n }\n\n // If string\n if (typeof matcher === 'string') {\n // Exact match\n if (normalizedPath === matcher) {\n return true;\n }\n\n // Normalize matcher (ensure starts with /)\n var normalizedMatcher = matcher.startsWith('/') ? matcher : `/${matcher}`;\n\n // Prefix match\n if (normalizedPath.startsWith(normalizedMatcher)) {\n // If matcher is '/api', path is '/api', match\n // If matcher is '/api', path is '/api/users', match\n // If matcher is '/api/', path is '/api/users', match\n // If matcher is '/api', path is '/api2', no match\n if (normalizedMatcher.endsWith('/')) {\n return true;\n }\n // If matcher doesn't end with /, ensure path has / or ends after matcher\n var nextChar = normalizedPath[normalizedMatcher.length];\n return nextChar === undefined || nextChar === '/';\n }\n\n // Support wildcard patterns (e.g., '/api/*')\n if (matcher.includes('*')) {\n return matchPattern(normalizedPath, normalizedMatcher);\n }\n\n // Support parameter patterns (e.g., '/api/users/:id')\n if (matcher.includes(':')) {\n return matchPathWithParams(normalizedPath, normalizedMatcher).match;\n }\n return false;\n }\n return false;\n}\n\n/**\r\n * Match path pattern (supports wildcards)\r\n * @param path request path\r\n * @param pattern path pattern (e.g., '/api/*')\r\n */\nfunction matchPattern(path, pattern) {\n // Convert pattern to regex\n // '/api/*' -> '^/api/.*$'\n // '/api/*/users' -> '^/api/.*/users$'\n var regexPattern = pattern.replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&') // Escape special characters\n .replace(/\\*/g, '.*'); // Replace * with .*\n var regex = new RegExp(`^${regexPattern}$`);\n return regex.test(path);\n}\n\n/**\r\n * Path match result with extracted parameters\r\n */\n\n/**\r\n * Match path with parameter extraction (supports :param syntax like Express)\r\n * @param path request path\r\n * @param pattern path pattern with parameters (e.g., '/api/users/:id')\r\n * @returns match result with extracted parameters\r\n */\nexport function matchPathWithParams(path, pattern) {\n // Normalize paths\n var normalizedPath = path.startsWith('/') ? path : `/${path}`;\n var normalizedPattern = pattern.startsWith('/') ? pattern : `/${pattern}`;\n\n // Check if pattern contains parameters (:param)\n if (!normalizedPattern.includes(':')) {\n // No parameters, use exact match\n return {\n match: normalizedPath === normalizedPattern,\n params: {}\n };\n }\n\n // Extract parameter names from pattern\n var paramNames = [];\n var paramRegex = /:([^/]+)/g;\n var match;\n while ((match = paramRegex.exec(normalizedPattern)) !== null) {\n paramNames.push(match[1]);\n }\n\n // Convert pattern to regex, replacing :param with capture groups\n // '/api/users/:id' -> '^/api/users/([^/]+)$'\n // '/api/users/:id/posts/:postId' -> '^/api/users/([^/]+)/posts/([^/]+)$'\n var regexPattern = normalizedPattern.replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&') // Escape special characters\n .replace(/:[^/]+/g, '([^/]+)'); // Replace :param with capture group\n\n var regex = new RegExp(`^${regexPattern}$`);\n var regexMatch = regex.exec(normalizedPath);\n if (!regexMatch) {\n return {\n match: false,\n params: {}\n };\n }\n\n // Extract parameter values from match groups\n var params = {};\n for (var i = 0; i < paramNames.length; i++) {\n params[paramNames[i]] = regexMatch[i + 1];\n }\n return {\n match: true,\n params\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport \"core-js/modules/es.object.entries.js\";\n/**\r\n * ServerRequest implementation\r\n */\nexport class ServerRequestImpl {\n constructor(data, context, response, params = {}) {\n this.body = data.body;\n // headers may contain array values (e.g., Set-Cookie), simplified to string here\n this.headers = {};\n if (data.headers) {\n for (var _i = 0, _Object$entries = Object.entries(data.headers); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n this.headers[key] = Array.isArray(value) ? value.join(', ') : value;\n }\n }\n this.cookies = data.cookies || {};\n this.path = data.path || '';\n this.params = params;\n this.requestId = data.requestId;\n this.origin = context.origin;\n this.source = context.source;\n this.res = response;\n }\n}","import _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.get-own-property-descriptors.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { createSetCookie, createClearCookie } from '../utils/cookie';\nimport { detectContentType } from '../utils/content-type';\nimport { MessageType, HttpStatus, HttpHeader, getStatusText, ErrorCode } from '../constants';\nimport { isIframeWritableStream } from '../stream';\nimport { buildExpectedAck, isExpectedAckMatch } from '../endpoint';\n\n/**\n * Callback waiting for client acknowledgment\n */\n\n/**\n * ServerResponse implementation\n */\nexport class ServerResponseImpl {\n constructor(requestId, path, serverId, peer, options) {\n _defineProperty(this, \"statusCode\", HttpStatus.OK);\n _defineProperty(this, \"headers\", {});\n _defineProperty(this, \"_sent\", false);\n this.requestId = requestId;\n this.path = path;\n this.serverId = serverId;\n this.peer = peer;\n this.registerStreamHandler = options === null || options === void 0 ? void 0 : options.registerStreamHandler;\n this.unregisterStreamHandler = options === null || options === void 0 ? void 0 : options.unregisterStreamHandler;\n this.heartbeat = options === null || options === void 0 ? void 0 : options.heartbeat;\n this.onSentCallback = options === null || options === void 0 ? void 0 : options.onSent;\n }\n\n /**\n * Send message via bound peer\n */\n sendResponseMessage(data) {\n return this.peer.sendMessage(MessageType.RESPONSE, this.requestId, data);\n }\n\n /**\n * Check if header exists (case-insensitive)\n */\n hasHeader(name) {\n var lower = name.toLowerCase();\n return Object.keys(this.headers).some(k => k.toLowerCase() === lower);\n }\n\n /**\n * Detect data type and return appropriate Content-Type\n * Returns null if Content-Type should not be auto-set\n */\n detectContentType(data) {\n return detectContentType(data, {\n checkStream: true,\n isIframeWritableStream\n });\n }\n\n /**\n * Auto set Content-Type based on data type (only if user not set)\n */\n ensureContentTypeIfNeeded(data) {\n if (this.hasHeader(HttpHeader.CONTENT_TYPE)) return;\n var contentType = this.detectContentType(data);\n if (contentType) {\n this.setHeader(HttpHeader.CONTENT_TYPE, contentType);\n }\n }\n\n /**\n * Set callback waiting for client acknowledgment\n */\n _setOnAckCallback(callback) {\n this.onAckCallback = callback;\n }\n\n /**\n * Trigger client acknowledgment callback\n */\n _triggerAck(received, ack) {\n if (this.onAckCallback) {\n this.onAckCallback(received, ack);\n this.onAckCallback = undefined;\n }\n }\n\n /**\n * Mark response as sent (and trigger onSent callback once).\n */\n markSent() {\n if (this._sent) return;\n this._sent = true;\n if (this.onSentCallback) {\n var cb = this.onSentCallback;\n this.onSentCallback = undefined;\n cb();\n }\n }\n\n /**\n * Internal: mark as sent for manual error responses.\n */\n _markSent() {\n this.markSent();\n }\n\n /**\n * Internal method: send raw data (used by send after type detection)\n */\n _sendRaw(data, options) {\n var _options$requireAck;\n if (this._sent) return Promise.resolve(false);\n this.markSent();\n var requireAck = (_options$requireAck = options === null || options === void 0 ? void 0 : options.requireAck) !== null && _options$requireAck !== void 0 ? _options$requireAck : false;\n /**\n * When requireAck is enabled, attach a unique ack payload by default so ACK can be\n * unambiguously associated with this send.\n *\n * NOTE: ack is an internal reserved field (not part of public API).\n */\n var expectedAck = buildExpectedAck(requireAck, options === null || options === void 0 ? void 0 : options.ack);\n try {\n // If acknowledgment not required, send directly and return true\n if (!requireAck) {\n this.sendResponseMessage({\n path: this.path,\n data,\n status: this.statusCode,\n statusText: getStatusText(this.statusCode),\n headers: this.headers,\n requireAck: false\n });\n return Promise.resolve(true);\n }\n\n // Acknowledgment required, wait for client response\n return new Promise((resolve, reject) => {\n try {\n this._setOnAckCallback((received, receivedAckMeta) => {\n if (!received) {\n resolve(false);\n return;\n }\n if (!isExpectedAckMatch(expectedAck, receivedAckMeta)) {\n resolve(false);\n return;\n }\n resolve(true);\n });\n this.sendResponseMessage({\n path: this.path,\n data,\n status: this.statusCode,\n statusText: getStatusText(this.statusCode),\n headers: this.headers,\n requireAck: true,\n ack: expectedAck\n });\n } catch (error) {\n // If window is closed, reject immediately\n if ((error === null || error === void 0 ? void 0 : error.code) === ErrorCode.TARGET_WINDOW_CLOSED) {\n reject(error);\n } else {\n throw error;\n }\n }\n });\n } catch (error) {\n // If window is closed, return rejected promise\n if ((error === null || error === void 0 ? void 0 : error.code) === ErrorCode.TARGET_WINDOW_CLOSED) {\n return Promise.reject(error);\n }\n throw error;\n }\n }\n\n /**\n * Universal send method - automatically detects data type and calls appropriate method\n * - If data is IframeWritableStream, calls sendStream\n * - If data is File/Blob, calls sendFile\n * - Otherwise, sends as regular data with auto-detected Content-Type\n */\n send(data, options) {\n var _this = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function (_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!_this._sent) {\n _context2.next = 1;\n break;\n }\n return _context2.abrupt(\"return\", Promise.resolve(false));\n case 1:\n return _context2.abrupt(\"return\", _this.peer.send({\n data,\n onStream: function () {\n var _onStream = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(stream) {\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 1;\n return _this.sendStream(stream);\n case 1:\n return _context.abrupt(\"return\", true);\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n function onStream(_x) {\n return _onStream.apply(this, arguments);\n }\n return onStream;\n }(),\n onFileOrBlob: () => {\n // Extract options for sendFile\n var fileOptions = _objectSpread({\n requireAck: options === null || options === void 0 ? void 0 : options.requireAck\n }, typeof File !== 'undefined' && data instanceof File ? {\n mimeType: data.type,\n fileName: data.name\n } : {});\n return _this.sendFile(data, fileOptions);\n },\n onOther: () => {\n // For other types, auto-detect and set Content-Type, then send\n _this.ensureContentTypeIfNeeded(data);\n return _this._sendRaw(data, options);\n }\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))();\n }\n json(data, options) {\n return this.send(data, options);\n }\n sendFile(content, options) {\n var _this2 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function (_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!_this2._sent) {\n _context3.next = 1;\n break;\n }\n return _context3.abrupt(\"return\", false);\n case 1:\n _context3.next = 2;\n return _this2.peer.sendFile({\n content,\n fileName: options === null || options === void 0 ? void 0 : options.fileName,\n mimeType: options === null || options === void 0 ? void 0 : options.mimeType,\n chunked: false,\n autoResolve: true,\n defaultFileName: 'file',\n defaultMimeType: 'application/octet-stream',\n onFileInfo: ({\n fileName,\n mimeType\n }) => {\n // Set file-related headers\n _this2.setHeader(HttpHeader.CONTENT_TYPE, mimeType);\n if (fileName) {\n _this2.setHeader(HttpHeader.CONTENT_DISPOSITION, `attachment; filename=\"${fileName}\"`);\n } else {\n _this2.setHeader(HttpHeader.CONTENT_DISPOSITION, 'attachment');\n }\n _this2.markSent();\n },\n stream: {\n bind: {\n requestId: _this2.requestId,\n registerStreamHandler: _this2.registerStreamHandler,\n unregisterStreamHandler: _this2.unregisterStreamHandler,\n heartbeat: _this2.heartbeat,\n serverId: _this2.serverId,\n targetId: _this2.peer.defaultTargetId\n },\n awaitStart: true\n }\n });\n case 2:\n return _context3.abrupt(\"return\", true);\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }))();\n }\n\n /**\n * Send stream response\n * Bind stream to current request context and start stream transmission\n */\n sendStream(stream) {\n var _this3 = this;\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function (_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!_this3._sent) {\n _context4.next = 1;\n break;\n }\n return _context4.abrupt(\"return\");\n case 1:\n _context4.next = 2;\n return _this3.peer.sendStream({\n stream: stream,\n bind: {\n requestId: _this3.requestId,\n registerStreamHandler: _this3.registerStreamHandler,\n unregisterStreamHandler: _this3.unregisterStreamHandler,\n heartbeat: _this3.heartbeat,\n serverId: _this3.serverId,\n targetId: _this3.peer.defaultTargetId\n },\n awaitStart: true,\n beforeStart: () => {\n _this3.markSent();\n }\n });\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }))();\n }\n status(code) {\n this.statusCode = code;\n return this;\n }\n setHeader(name, value) {\n // Consistent with Express, returns void\n // Special handling for Set-Cookie, keep as array\n if (name.toLowerCase() === HttpHeader.SET_COOKIE.toLowerCase()) {\n var existing = this.headers[HttpHeader.SET_COOKIE];\n if (Array.isArray(value)) {\n this.headers[HttpHeader.SET_COOKIE] = Array.isArray(existing) ? [...existing, ...value] : value;\n } else {\n var newValue = String(value);\n if (Array.isArray(existing)) {\n existing.push(newValue);\n } else {\n this.headers[HttpHeader.SET_COOKIE] = [newValue];\n }\n }\n } else if (Array.isArray(value)) {\n this.headers[name] = value.join(', ');\n } else {\n this.headers[name] = String(value);\n }\n }\n set(name, value) {\n // Chainable version, compatible with Express res.set\n this.setHeader(name, value);\n return this;\n }\n cookie(name, value, options) {\n /**\n * Set Cookie (similar to HTTP Set-Cookie)\n * Generate Set-Cookie string and add to headers[HttpHeader.SET_COOKIE] array\n * Client will parse and save to cookie storage upon receiving\n */\n var setCookieStr = createSetCookie(name, value, {\n path: options === null || options === void 0 ? void 0 : options.path,\n expires: options === null || options === void 0 ? void 0 : options.expires,\n maxAge: options === null || options === void 0 ? void 0 : options.maxAge,\n httpOnly: options === null || options === void 0 ? void 0 : options.httpOnly,\n secure: options === null || options === void 0 ? void 0 : options.secure,\n sameSite: (options === null || options === void 0 ? void 0 : options.sameSite) === true ? 'Strict' : (options === null || options === void 0 ? void 0 : options.sameSite) === false ? undefined : options === null || options === void 0 ? void 0 : options.sameSite\n });\n\n // Add to Set-Cookie header array\n var existing = this.headers[HttpHeader.SET_COOKIE];\n if (Array.isArray(existing)) {\n existing.push(setCookieStr);\n } else {\n this.headers[HttpHeader.SET_COOKIE] = [setCookieStr];\n }\n return this;\n }\n clearCookie(name, options) {\n /**\n * Clear specified Cookie\n * Generate an expired Set-Cookie string, client will delete this cookie upon receiving\n */\n var setCookieStr = createClearCookie(name, {\n path: options === null || options === void 0 ? void 0 : options.path\n });\n\n // Add to Set-Cookie header array\n var existing = this.headers[HttpHeader.SET_COOKIE];\n if (Array.isArray(existing)) {\n existing.push(setCookieStr);\n } else {\n this.headers[HttpHeader.SET_COOKIE] = [setCookieStr];\n }\n return this;\n }\n}","export function isPromise(value) {\n return value !== null && typeof value === 'object' && 'then' in value;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport \"core-js/modules/es.array.includes.js\";\nimport \"core-js/modules/es.symbol.description.js\";\nimport \"core-js/modules/es.array.from.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.object.entries.js\";\nimport \"core-js/modules/es.promise.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.includes.js\";\nimport \"core-js/modules/es.string.match.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport { matchPath, matchPathWithParams } from '../utils/path-match';\nimport { ServerRequestImpl } from './request';\nimport { ServerResponseImpl } from './response';\nimport { generateInstanceId } from '../utils/id';\nimport { RequestIframeEndpointFacade, buildStreamStartTimeoutErrorPayload, autoResolveIframeFileReadableStream } from '../endpoint';\nimport { MessageType, ErrorCode, HttpStatus, HttpStatusText, Messages, DefaultTimeout, ProtocolVersion, formatMessage, MessageRole, StreamType as StreamTypeConstant, WarnOnceKey, buildWarnOnceKey } from '../constants';\nimport { isPromise } from '../utils/promise';\nimport { isFunction } from '../utils/is';\nimport { requestIframeLog } from '../utils/logger';\n\n/**\n * Middleware item (contains path matcher and middleware function)\n */\n\n/**\n * Server configuration options\n */\n\n/**\n * RequestIframeServer implementation\n * Uses shared MessageDispatcher (backed by MessageChannel) to listen for and send messages\n */\nexport class RequestIframeServerImpl {\n constructor(options) {\n var _options$ackTimeout, _options$maxConcurren;\n _defineProperty(this, \"handlers\", new Map());\n _defineProperty(this, \"middlewares\", []);\n /** Use custom id if provided, otherwise generate one */\n this.id = (options === null || options === void 0 ? void 0 : options.id) || generateInstanceId();\n var endpoint = new RequestIframeEndpointFacade({\n role: MessageRole.SERVER,\n instanceId: this.id,\n secretKey: options === null || options === void 0 ? void 0 : options.secretKey,\n versionValidator: options === null || options === void 0 ? void 0 : options.versionValidator,\n autoAckMaxMetaLength: options === null || options === void 0 ? void 0 : options.autoAckMaxMetaLength,\n autoAckMaxIdLength: options === null || options === void 0 ? void 0 : options.autoAckMaxIdLength,\n streamDispatcher: {\n handledBy: this.id\n },\n heartbeat: {\n pendingBucket: RequestIframeServerImpl.PENDING_PONGS,\n handledBy: this.id,\n isOriginAllowed: (d, ctx) => this.isOriginAllowed(d, ctx),\n warnMissingPendingWhenClosed: d => {\n this.hub.warnOnce(buildWarnOnceKey(WarnOnceKey.SERVER_MISSING_PENDING_WHEN_CLOSED, d.type, d.requestId), () => {\n requestIframeLog('warn', formatMessage(Messages.SERVER_IGNORED_MESSAGE_WHEN_CLOSED, d.type, d.requestId));\n });\n }\n },\n originValidator: {\n allowedOrigins: options === null || options === void 0 ? void 0 : options.allowedOrigins,\n validateOrigin: options === null || options === void 0 ? void 0 : options.validateOrigin\n }\n });\n this.endpoint = endpoint;\n this.hub = endpoint.hub;\n this.originValidator = endpoint.originValidator;\n this.ackTimeout = (_options$ackTimeout = options === null || options === void 0 ? void 0 : options.ackTimeout) !== null && _options$ackTimeout !== void 0 ? _options$ackTimeout : DefaultTimeout.ACK;\n this.maxConcurrentRequestsPerClient = (_options$maxConcurren = options === null || options === void 0 ? void 0 : options.maxConcurrentRequestsPerClient) !== null && _options$maxConcurren !== void 0 ? _options$maxConcurren : Number.POSITIVE_INFINITY;\n var warnMissingPendingWhenClosed = d => {\n this.hub.warnOnce(buildWarnOnceKey(WarnOnceKey.SERVER_MISSING_PENDING_WHEN_CLOSED, d.type, d.requestId), () => {\n requestIframeLog('warn', formatMessage(Messages.SERVER_IGNORED_MESSAGE_WHEN_CLOSED, d.type, d.requestId));\n });\n };\n var handlerOptions = this.hub.createHandlerOptions(this.handleVersionError.bind(this));\n\n // Server business entry: REQUEST handler\n this.endpoint.onOpen(() => {\n this.hub.registerHandler(MessageType.REQUEST, (data, context) => this.handleRequest(data, context), handlerOptions);\n });\n\n // Server base infra: ping/pong/ack/stream handlers (facade-managed)\n this.endpoint.registerServerBaseHandlers({\n handlerOptions,\n handledBy: this.id,\n includeTargetIdInPong: false,\n isOriginAllowed: (d, ctx) => this.isOriginAllowed(d, ctx),\n warnMissingPendingWhenClosed,\n pendingAckBucket: RequestIframeServerImpl.PENDING_ACKS,\n pendingStreamStartBucket: RequestIframeServerImpl.PENDING_STREAM_REQUESTS,\n expectedStreamStartRole: MessageRole.CLIENT\n });\n\n /** Auto-open by default (unless explicitly set to false) */\n if ((options === null || options === void 0 ? void 0 : options.autoOpen) !== false) {\n this.open();\n }\n }\n get dispatcher() {\n return this.hub.messageDispatcher;\n }\n\n /** Message isolation key (read-only) */\n get secretKey() {\n return this.hub.secretKey;\n }\n\n /** Whether message handling is enabled */\n get isOpen() {\n return this.hub.isOpen;\n }\n\n /** Enable message handling (register message handler) */\n open() {\n this.hub.open();\n }\n\n /** Disable message handling (unregister message handler, but don't release resources) */\n close() {\n this.hub.close();\n }\n\n /** Get the underlying MessageDispatcher */\n get messageDispatcher() {\n return this.hub.messageDispatcher;\n }\n\n /**\n * Check whether an incoming message origin is allowed.\n */\n isOriginAllowed(data, context) {\n if (!this.originValidator) return true;\n try {\n return this.originValidator(context.origin, data, context);\n } catch (_unused) {\n return false;\n }\n }\n\n /**\n * Build a per-client key used for concurrency limiting.\n * We intentionally include origin to prevent cross-origin collisions.\n */\n getClientKey(origin, creatorId) {\n return `${origin}::${creatorId || 'unknown'}`;\n }\n\n /**\n * Handle protocol version error\n */\n handleVersionError(data, context, version) {\n if (!context.source) return;\n\n // Send protocol version incompatibility error\n // Window check is handled in MessageDispatcher\n this.dispatcher.sendMessage(context.source, context.origin, MessageType.ERROR, data.requestId, {\n path: data.path,\n status: HttpStatus.BAD_REQUEST,\n statusText: Messages.PROTOCOL_VERSION_UNSUPPORTED,\n error: {\n message: formatMessage(Messages.PROTOCOL_VERSION_TOO_LOW, version, ProtocolVersion.MIN_SUPPORTED),\n code: ErrorCode.PROTOCOL_UNSUPPORTED\n }\n });\n }\n handleRequestError(res, targetWindow, targetOrigin, data, err) {\n if (!res._sent) {\n res._markSent();\n /** \n * Use INTERNAL_SERVER_ERROR (500) for handler errors unless a different error status code was explicitly set.\n * If statusCode is still the default OK (200), override it to INTERNAL_SERVER_ERROR.\n */\n var errorStatus = res.statusCode === HttpStatus.OK ? HttpStatus.INTERNAL_SERVER_ERROR : res.statusCode;\n\n // Window check is handled in MessageDispatcher\n this.dispatcher.sendMessage(targetWindow, targetOrigin, MessageType.ERROR, data.requestId, {\n path: data.path,\n error: {\n message: err && err.message || Messages.REQUEST_FAILED,\n code: err && err.code || ErrorCode.REQUEST_ERROR\n },\n status: errorStatus,\n statusText: HttpStatusText[errorStatus] || HttpStatusText[HttpStatus.INTERNAL_SERVER_ERROR],\n headers: res.headers,\n targetId: data.creatorId\n });\n }\n }\n handleRequestResult(res, targetWindow, targetOrigin, data, result) {\n if (!res._sent && result !== undefined) {\n res.send(result);\n } else if (!res._sent) {\n res._markSent();\n this.dispatcher.sendMessage(targetWindow, targetOrigin, MessageType.ERROR, data.requestId, {\n path: data.path,\n error: {\n message: Messages.NO_RESPONSE_SENT,\n code: ErrorCode.NO_RESPONSE\n },\n status: HttpStatus.INTERNAL_SERVER_ERROR,\n statusText: HttpStatusText[HttpStatus.INTERNAL_SERVER_ERROR],\n headers: res.headers\n });\n }\n }\n\n /**\n * Find matching handler and extract path parameters\n * @param requestPath The actual request path\n * @returns Handler function and extracted parameters, or null if not found\n */\n findHandler(requestPath) {\n var prefixedRequestPath = this.dispatcher.prefixPath(requestPath);\n\n // First try exact match (for backward compatibility and performance)\n var exactHandler = this.handlers.get(prefixedRequestPath);\n if (exactHandler) {\n return {\n handler: exactHandler,\n params: {}\n };\n }\n\n // Then try parameter matching (e.g., '/api/users/:id' matches '/api/users/123')\n var _iterator = _createForOfIteratorHelper(this.handlers.entries()),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n registeredPath = _step$value[0],\n handler = _step$value[1];\n // Check if registered path contains parameters\n if (registeredPath.includes(':')) {\n var matchResult = matchPathWithParams(prefixedRequestPath, registeredPath);\n if (matchResult.match) {\n return {\n handler,\n params: matchResult.params\n };\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return null;\n }\n\n /**\n * Handle request\n */\n handleRequest(data, context) {\n // If targetId is specified, only process if it matches this server's id\n if (!data.path || data.targetId && data.targetId !== this.id) return;\n if (!context.source) return;\n if (!this.isOriginAllowed(data, context)) return;\n\n // If message has already been handled by another server instance, skip processing\n if (context.handledBy) {\n return;\n }\n var targetWindow = context.source;\n var targetOrigin = context.origin;\n\n // Find matching handler and extract path parameters\n var handlerMatch = this.findHandler(data.path);\n if (!handlerMatch) {\n // No handler found in this instance\n // Mark as handled by this instance (using special marker) to prevent other instances from processing\n // This ensures only one instance sends the error response\n context.markHandledBy(this.id);\n\n // Send METHOD_NOT_FOUND error\n // Use request's creatorId as targetId to route back to the correct client\n // Window check is handled in MessageDispatcher\n this.dispatcher.sendMessage(targetWindow, targetOrigin, MessageType.ERROR, data.requestId, {\n path: data.path,\n error: {\n message: Messages.METHOD_NOT_FOUND,\n code: ErrorCode.METHOD_NOT_FOUND\n },\n status: HttpStatus.NOT_FOUND,\n statusText: HttpStatusText[HttpStatus.NOT_FOUND],\n targetId: data.creatorId\n });\n return;\n }\n var handlerFn = handlerMatch.handler,\n params = handlerMatch.params;\n var clientKey = this.getClientKey(targetOrigin, data.creatorId);\n var acquired = this.hub.limiter.tryAcquire(RequestIframeServerImpl.LIMIT_IN_FLIGHT_BY_CLIENT, clientKey, this.maxConcurrentRequestsPerClient);\n if (!acquired) {\n // Prevent other server instances from also responding\n context.markHandledBy(this.id);\n this.dispatcher.sendMessage(targetWindow, targetOrigin, MessageType.ERROR, data.requestId, {\n path: data.path,\n error: {\n message: formatMessage(Messages.TOO_MANY_REQUESTS, this.maxConcurrentRequestsPerClient),\n code: ErrorCode.TOO_MANY_REQUESTS\n },\n status: HttpStatus.TOO_MANY_REQUESTS,\n statusText: HttpStatusText[HttpStatus.TOO_MANY_REQUESTS],\n requireAck: data.requireAck,\n ack: data.ack,\n targetId: data.creatorId\n });\n return;\n }\n\n // Mark as accepted so MessageDispatcher can auto-send ACK (delivery confirmation)\n context.markAcceptedBy(this.id);\n\n // Create response object with channel reference\n // Pass request's creatorId as targetId so responses are routed back to the correct client\n var peer = this.hub.createOutbox(targetWindow, targetOrigin, data.creatorId);\n var res = new ServerResponseImpl(data.requestId, data.path || '', this.id, peer, {\n registerStreamHandler: (streamId, handler) => {\n this.endpoint.streamDispatcher.register(streamId, handler);\n },\n unregisterStreamHandler: streamId => {\n this.endpoint.streamDispatcher.unregister(streamId);\n },\n heartbeat: () => this.endpoint.pingPeer(targetWindow, targetOrigin, this.ackTimeout, data.creatorId),\n onSent: () => this.hub.limiter.release(RequestIframeServerImpl.LIMIT_IN_FLIGHT_BY_CLIENT, clientKey)\n });\n\n // Register callback waiting for client acknowledgment\n this.endpoint.registerPendingAck({\n requestId: data.requestId,\n timeoutMs: this.ackTimeout,\n pendingBucket: RequestIframeServerImpl.PENDING_ACKS,\n resolve: (received, ack) => {\n res._triggerAck(received, ack);\n }\n });\n\n // Client sends body as stream: wait for stream_start, then create readable stream and call handler\n // If streamId is present, this is a stream request\n var streamId = data.streamId;\n if (streamId) {\n var streamStartTimeout = this.ackTimeout;\n this.endpoint.registerIncomingStreamStartWaiter({\n pendingBucket: RequestIframeServerImpl.PENDING_STREAM_REQUESTS,\n requestId: data.requestId,\n streamId,\n timeoutMs: streamStartTimeout,\n targetWindow,\n targetOrigin,\n onTimeout: () => {\n if (!res._sent) {\n res._markSent();\n this.dispatcher.sendMessage(targetWindow, targetOrigin, MessageType.ERROR, data.requestId, buildStreamStartTimeoutErrorPayload({\n path: data.path || '',\n timeoutMs: streamStartTimeout,\n requireAck: data.requireAck,\n ack: data.ack,\n targetId: data.creatorId\n }));\n }\n },\n continue: ({\n stream,\n info,\n data: streamStartData\n }) => {\n // Create request object with path parameters\n var req = new ServerRequestImpl(data, context, res, params);\n\n // File stream: optionally auto-resolve to File/Blob before calling handler\n if ((info === null || info === void 0 ? void 0 : info.type) === StreamTypeConstant.FILE) {\n var fileStream = stream;\n if (info !== null && info !== void 0 && info.autoResolve) {\n autoResolveIframeFileReadableStream({\n fileStream,\n info\n }).then(fileData => {\n req.body = fileData;\n req.stream = undefined;\n this.runMiddlewares(req, res, () => {\n try {\n var result = handlerFn(req, res);\n if (isPromise(result)) {\n this.dispatcher.sendMessage(targetWindow, targetOrigin, MessageType.ASYNC, streamStartData.requestId, {\n path: data.path,\n targetId: streamStartData.creatorId\n });\n result.then(this.handleRequestResult.bind(this, res, targetWindow, targetOrigin, data)).catch(this.handleRequestError.bind(this, res, targetWindow, targetOrigin, data));\n } else {\n this.handleRequestResult(res, targetWindow, targetOrigin, data, result);\n }\n } catch (error) {\n this.handleRequestError(res, targetWindow, targetOrigin, data, error);\n }\n });\n }).catch(error => {\n this.handleRequestError(res, targetWindow, targetOrigin, data, error);\n });\n return;\n }\n\n // Non-autoResolve: expose stream directly\n req.body = fileStream;\n req.stream = fileStream;\n } else {\n // Non-file stream\n req.body = undefined;\n req.stream = stream;\n }\n this.runMiddlewares(req, res, () => {\n try {\n var result = handlerFn(req, res);\n if (isPromise(result)) {\n this.dispatcher.sendMessage(targetWindow, targetOrigin, MessageType.ASYNC, streamStartData.requestId, {\n path: data.path,\n targetId: streamStartData.creatorId\n });\n result.then(this.handleRequestResult.bind(this, res, targetWindow, targetOrigin, data)).catch(this.handleRequestError.bind(this, res, targetWindow, targetOrigin, data));\n } else {\n this.handleRequestResult(res, targetWindow, targetOrigin, data, result);\n }\n } catch (error) {\n this.handleRequestError(res, targetWindow, targetOrigin, data, error);\n }\n });\n }\n });\n return;\n }\n\n // Create request object with path parameters\n var req = new ServerRequestImpl(data, context, res, params);\n\n // Execute middleware chain\n this.runMiddlewares(req, res, () => {\n try {\n var result = handlerFn(req, res);\n if (isPromise(result)) {\n // Async task\n // Window check is handled in MessageDispatcher\n // Use request's creatorId as targetId to route back to the correct client\n this.dispatcher.sendMessage(targetWindow, targetOrigin, MessageType.ASYNC, data.requestId, {\n path: data.path,\n targetId: data.creatorId\n });\n result.then(this.handleRequestResult.bind(this, res, targetWindow, targetOrigin, data)).catch(this.handleRequestError.bind(this, res, targetWindow, targetOrigin, data));\n } else {\n // Synchronous processing\n this.handleRequestResult(res, targetWindow, targetOrigin, data, result);\n }\n } catch (error) {\n this.handleRequestError(res, targetWindow, targetOrigin, data, error);\n }\n });\n }\n use(pathOrMiddleware, middleware) {\n if (isFunction(pathOrMiddleware)) {\n this.middlewares.push({\n matcher: null,\n middleware: pathOrMiddleware\n });\n } else if (middleware) {\n this.middlewares.push({\n matcher: pathOrMiddleware,\n middleware\n });\n }\n }\n on(path, handler) {\n var prefixedPath = this.dispatcher.prefixPath(path);\n this.handlers.set(prefixedPath, handler);\n\n // Return unregister function\n return () => {\n this.handlers.delete(prefixedPath);\n };\n }\n runMiddlewares(req, res, finalHandler) {\n var path = req.path;\n var index = 0;\n var next = () => {\n if (res._sent) {\n return;\n }\n while (index < this.middlewares.length) {\n var item = this.middlewares[index++];\n if (item.matcher === null || matchPath(path, item.matcher)) {\n try {\n var result = item.middleware(req, res, next);\n if (result instanceof Promise) {\n result.catch(err => {\n if (!res._sent) {\n res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({\n error: err.message || Messages.MIDDLEWARE_ERROR\n });\n }\n });\n }\n return;\n } catch (err) {\n if (!res._sent) {\n res.status(HttpStatus.INTERNAL_SERVER_ERROR).send({\n error: (err === null || err === void 0 ? void 0 : err.message) || Messages.MIDDLEWARE_ERROR\n });\n }\n return;\n }\n }\n }\n if (index >= this.middlewares.length) {\n finalHandler();\n }\n };\n next();\n }\n off(path) {\n if (Array.isArray(path)) {\n // Batch unregister\n path.forEach(p => {\n this.handlers.delete(this.dispatcher.prefixPath(p));\n });\n } else {\n // Single unregister\n this.handlers.delete(this.dispatcher.prefixPath(path));\n }\n }\n map(handlers) {\n var unregisterFns = [];\n Object.entries(handlers).forEach(([path, h]) => {\n unregisterFns.push(this.on(path, h));\n });\n return () => {\n unregisterFns.forEach(fn => fn());\n };\n }\n\n /**\n * Cleanup before destroy\n */\n cleanup() {\n // Clean up handlers\n this.handlers.clear();\n this.middlewares.length = 0;\n this.endpoint.streamDispatcher.clear();\n }\n\n /**\n * Destroy server (close and release resources)\n */\n destroy() {\n this.cleanup();\n this.hub.destroy();\n }\n}\n_defineProperty(RequestIframeServerImpl, \"PENDING_ACKS\", 'server:pendingAcks');\n_defineProperty(RequestIframeServerImpl, \"PENDING_PONGS\", 'server:pendingPongs');\n_defineProperty(RequestIframeServerImpl, \"PENDING_STREAM_REQUESTS\", 'server:pendingStreamRequests');\n_defineProperty(RequestIframeServerImpl, \"LIMIT_IN_FLIGHT_BY_CLIENT\", 'server:inFlightByClientKey');","import { ErrorCode, HttpStatus, HttpStatusText, Messages, formatMessage } from '../../constants';\n\n/**\n * Endpoint Stream integration layer (`src/endpoint/stream`)\n *\n * This directory integrates postMessage `stream_*` messages with the stream object system in `src/stream`:\n * - Endpoint-side composition / protocol glue (e.g. stream_start timeout error payload)\n * - Does NOT implement the stream protocol itself (protocol lives in `src/stream`)\n *\n * Build the ERROR payload for stream_start timeout.\n *\n * Used by server-side \"request-body stream handshake\" when the client fails to send stream_start in time.\n */\nexport function buildStreamStartTimeoutErrorPayload(params) {\n return {\n path: params.path,\n error: {\n message: formatMessage(Messages.STREAM_START_TIMEOUT, params.timeoutMs),\n code: ErrorCode.STREAM_START_TIMEOUT\n },\n status: HttpStatus.REQUEST_TIMEOUT,\n statusText: HttpStatusText[HttpStatus.REQUEST_TIMEOUT],\n requireAck: params.requireAck,\n ack: params.ack,\n targetId: params.targetId\n };\n}","import \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.string.ends-with.js\";\nimport \"core-js/modules/es.string.starts-with.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\n/**\n * Global cache Symbol for server instances\n * Using Symbol.for() ensures multiple library copies share the same cache\n */\nvar SERVER_CACHE_SYMBOL = Symbol.for('__requestIframeServerCache__');\n\n/**\n * Get the server cache from window\n */\nfunction getServerCacheForWindow(win) {\n if (!(SERVER_CACHE_SYMBOL in win)) {\n win[SERVER_CACHE_SYMBOL] = new Map();\n }\n return win[SERVER_CACHE_SYMBOL];\n}\n\n/**\n * Generate server cache key\n * Cache key format: \"secretKey:id\" or \"secretKey:\" when no id\n */\nfunction getServerCacheKey(secretKey, id) {\n return `${secretKey !== null && secretKey !== void 0 ? secretKey : ''}:${id !== null && id !== void 0 ? id : ''}`;\n}\n\n/**\n * Get cached server instance or null\n * @param secretKey secret key for message isolation\n * @param id server instance ID\n */\nexport function getCachedServer(secretKey, id) {\n if (!id) return null;\n var cache = getServerCacheForWindow(window);\n var key = getServerCacheKey(secretKey, id);\n return cache.get(key) || null;\n}\n\n/**\n * Cache server instance\n * @param server server instance\n * @param secretKey secret key for message isolation\n * @param id server instance ID\n */\nexport function cacheServer(server, secretKey, id) {\n if (!id) return;\n var cache = getServerCacheForWindow(window);\n var key = getServerCacheKey(secretKey, id);\n cache.set(key, server);\n}\n\n/**\n * Remove server from cache\n * @param secretKey secret key for message isolation\n * @param id server instance ID\n */\nexport function removeCachedServer(secretKey, id) {\n if (!id) return;\n var cache = getServerCacheForWindow(window);\n var key = getServerCacheKey(secretKey, id);\n cache.delete(key);\n}\n\n/**\n * Clear server cache (mainly for testing).\n *\n * - No args: clear all cached servers\n * - With secretKey: only clear servers under that secretKey\n * - With { secretKey, id }: only clear the specified server instance\n * - With { id }: clear the specified id across all secretKeys\n */\nexport function clearServerCache(arg) {\n var cache = getServerCacheForWindow(window);\n if (!arg) {\n cache.forEach(server => {\n server.destroy();\n });\n cache.clear();\n return;\n }\n var params = typeof arg === 'string' ? {\n secretKey: arg\n } : arg;\n var prefix = typeof params.secretKey === 'string' ? `${params.secretKey}:` : undefined;\n var suffix = typeof params.id === 'string' ? `:${params.id}` : undefined;\n cache.forEach((server, key) => {\n if (prefix && !key.startsWith(prefix)) return;\n if (suffix && !key.endsWith(suffix)) return;\n cache.delete(key);\n server.destroy();\n });\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es.array.map.js\";\nimport { getIframeTargetOrigin } from '../utils/iframe';\nimport { generateInstanceId } from '../utils/id';\nimport { isWindowAvailable } from '../utils/window';\nimport { RequestIframeClientImpl } from '../impl/client';\nimport { RequestIframeServerImpl } from '../impl/server';\nimport { setupClientDebugInterceptors, setupServerDebugListeners } from '../utils/debug';\nimport { setRequestIframeLogLevel } from '../utils/logger';\nimport { Messages, ErrorCode, OriginConstant, LogLevel } from '../constants';\n\n/**\n * Endpoint facade type (client + server).\n */\n\n/**\n * Endpoint facade options (client + server).\n *\n * - For client-side sending: uses RequestIframeClientOptions fields (targetOrigin, headers, etc.)\n * - For server-side handling: uses RequestIframeServerOptions fields (middlewares, allowedOrigins, etc.)\n *\n * Note: overlapping fields (autoOpen/trace/allowedOrigins/validateOrigin/ackTimeout/autoAckMax*) apply to both sides.\n */\n\nclass RequestIframeEndpointApiFacade {\n constructor(params) {\n var _params$options;\n _defineProperty(this, \"desiredOpen_\", true);\n /** Client send APIs */\n _defineProperty(this, \"send\", (path, body, options) => this.getClient().send(path, body, options));\n _defineProperty(this, \"sendFile\", (path, content, options) => this.getClient().sendFile(path, content, options));\n _defineProperty(this, \"sendStream\", (path, stream, options) => this.getClient().sendStream(path, stream, options));\n _defineProperty(this, \"isConnect\", () => this.getClient().isConnect());\n _defineProperty(this, \"getCookies\", path => this.getClient().getCookies(path));\n _defineProperty(this, \"getCookie\", (name, path) => this.getClient().getCookie(name, path));\n _defineProperty(this, \"setCookie\", (name, value, options) => this.getClient().setCookie(name, value, options));\n _defineProperty(this, \"removeCookie\", (name, path) => this.getClient().removeCookie(name, path));\n _defineProperty(this, \"clearCookies\", () => this.getClient().clearCookies());\n /** Server routing/middleware APIs */\n _defineProperty(this, \"use\", (pathOrMiddleware, middleware) => this.getServer().use(pathOrMiddleware, middleware));\n _defineProperty(this, \"on\", (path, handler) => this.getServer().on(path, handler));\n _defineProperty(this, \"off\", path => this.getServer().off(path));\n _defineProperty(this, \"map\", handlers => this.getServer().map(handlers));\n this.targetWindow_ = params.targetWindow;\n this.targetOrigin_ = params.targetOrigin;\n this.options_ = params.options;\n this.endpointId_ = params.endpointId;\n this.desiredOpen_ = ((_params$options = params.options) === null || _params$options === void 0 ? void 0 : _params$options.autoOpen) !== false;\n }\n\n /**\n * Lazy create client.\n */\n getClient() {\n if (!this.client_) {\n var options = this.options_;\n var client = new RequestIframeClientImpl(this.targetWindow_, this.targetOrigin_, {\n secretKey: options === null || options === void 0 ? void 0 : options.secretKey,\n ackTimeout: options === null || options === void 0 ? void 0 : options.ackTimeout,\n timeout: options === null || options === void 0 ? void 0 : options.timeout,\n asyncTimeout: options === null || options === void 0 ? void 0 : options.asyncTimeout,\n returnData: options === null || options === void 0 ? void 0 : options.returnData,\n headers: options === null || options === void 0 ? void 0 : options.headers,\n allowedOrigins: options === null || options === void 0 ? void 0 : options.allowedOrigins,\n validateOrigin: options === null || options === void 0 ? void 0 : options.validateOrigin,\n autoOpen: false,\n autoAckMaxMetaLength: options === null || options === void 0 ? void 0 : options.autoAckMaxMetaLength,\n autoAckMaxIdLength: options === null || options === void 0 ? void 0 : options.autoAckMaxIdLength\n }, this.endpointId_);\n if (options !== null && options !== void 0 && options.trace) {\n var level = options.trace === true ? LogLevel.TRACE : options.trace;\n setRequestIframeLogLevel(level);\n if (level === LogLevel.TRACE || level === LogLevel.INFO) {\n setupClientDebugInterceptors(client);\n }\n }\n this.client_ = client;\n }\n if (this.desiredOpen_ && !this.client_.isOpen) {\n this.client_.open();\n }\n if (!this.desiredOpen_ && this.client_.isOpen) {\n this.client_.close();\n }\n return this.client_;\n }\n\n /**\n * Lazy create server.\n */\n getServer() {\n if (!this.server_) {\n var options = this.options_;\n var server = new RequestIframeServerImpl({\n secretKey: options === null || options === void 0 ? void 0 : options.secretKey,\n id: this.endpointId_,\n ackTimeout: options === null || options === void 0 ? void 0 : options.ackTimeout,\n autoOpen: false,\n allowedOrigins: options === null || options === void 0 ? void 0 : options.allowedOrigins,\n validateOrigin: options === null || options === void 0 ? void 0 : options.validateOrigin,\n maxConcurrentRequestsPerClient: options === null || options === void 0 ? void 0 : options.maxConcurrentRequestsPerClient,\n autoAckMaxMetaLength: options === null || options === void 0 ? void 0 : options.autoAckMaxMetaLength,\n autoAckMaxIdLength: options === null || options === void 0 ? void 0 : options.autoAckMaxIdLength\n });\n if (options !== null && options !== void 0 && options.trace) {\n var level = options.trace === true ? LogLevel.TRACE : options.trace;\n setRequestIframeLogLevel(level);\n if (level === LogLevel.TRACE || level === LogLevel.INFO) {\n setupServerDebugListeners(server);\n }\n }\n this.server_ = server;\n }\n if (this.desiredOpen_ && !this.server_.isOpen) {\n this.server_.open();\n }\n if (!this.desiredOpen_ && this.server_.isOpen) {\n this.server_.close();\n }\n return this.server_;\n }\n\n /**\n * Optional accessors for debugging.\n * Note: accessing will trigger lazy creation.\n */\n get client() {\n return this.getClient();\n }\n get server() {\n return this.getServer();\n }\n\n /** Client fields */\n get targetWindow() {\n return this.targetWindow_;\n }\n get id() {\n return this.endpointId_;\n }\n get isOpen() {\n /**\n * Facade-level open state.\n * - When client/server is lazily created later, it will follow this state.\n */\n return this.desiredOpen_;\n }\n get interceptors() {\n return this.getClient().interceptors;\n }\n set interceptors(value) {\n this.getClient().interceptors = value;\n }\n isAvailable() {\n return isWindowAvailable(this.targetWindow_);\n }\n open() {\n var _this$client_, _this$server_;\n this.desiredOpen_ = true;\n (_this$client_ = this.client_) === null || _this$client_ === void 0 || _this$client_.open();\n (_this$server_ = this.server_) === null || _this$server_ === void 0 || _this$server_.open();\n }\n close() {\n var _this$client_2, _this$server_2;\n this.desiredOpen_ = false;\n (_this$client_2 = this.client_) === null || _this$client_2 === void 0 || _this$client_2.close();\n (_this$server_2 = this.server_) === null || _this$server_2 === void 0 || _this$server_2.close();\n }\n destroy() {\n var _this$client_3, _this$server_3;\n /**\n * Destroy created sides only.\n * They share the underlying MessageChannel via cache ref-counting, so partial creation is safe.\n */\n (_this$client_3 = this.client_) === null || _this$client_3 === void 0 || _this$client_3.destroy();\n (_this$server_3 = this.server_) === null || _this$server_3 === void 0 || _this$server_3.destroy();\n this.client_ = undefined;\n this.server_ = undefined;\n }\n /** Server fields */\n get secretKey() {\n var _this$options_;\n return (_this$options_ = this.options_) === null || _this$options_ === void 0 ? void 0 : _this$options_.secretKey;\n }\n}\n\n/**\n * Create an endpoint facade (client + server) for a peer window/iframe.\n *\n * It can:\n * - send requests to the peer (client)\n * - handle requests from the peer (server)\n */\nexport function requestIframeEndpoint(target, options) {\n var _options$id;\n var targetWindow = null;\n var targetOrigin = OriginConstant.ANY;\n if (target.tagName === 'IFRAME') {\n var iframe = target;\n targetWindow = iframe.contentWindow;\n targetOrigin = getIframeTargetOrigin(iframe);\n if (!targetWindow) {\n throw {\n message: Messages.IFRAME_NOT_READY,\n code: ErrorCode.IFRAME_NOT_READY\n };\n }\n } else {\n targetWindow = target;\n targetOrigin = OriginConstant.ANY;\n }\n\n /** Allow user to override targetOrigin explicitly */\n if (options !== null && options !== void 0 && options.targetOrigin) {\n targetOrigin = options.targetOrigin;\n }\n\n /**\n * Endpoint uses ONE shared id by default, so it behaves like a single endpoint.\n * If options.id is provided, it becomes the shared id for both client+server.\n */\n var endpointId = (_options$id = options === null || options === void 0 ? void 0 : options.id) !== null && _options$id !== void 0 ? _options$id : generateInstanceId();\n return new RequestIframeEndpointApiFacade({\n targetWindow,\n targetOrigin,\n options,\n endpointId\n });\n}","import { getIframeTargetOrigin } from '../utils/iframe';\nimport { generateInstanceId } from '../utils/id';\nimport { RequestIframeClientImpl } from '../impl/client';\nimport { setupClientDebugInterceptors } from '../utils/debug';\nimport { setRequestIframeLogLevel } from '../utils/logger';\nimport { Messages, ErrorCode, OriginConstant, LogLevel } from '../constants';\nimport { clearMessageChannelCache } from '../message/channel-cache';\n\n/**\n * Create a client (for sending requests)\n * \n * Note:\n * - MessageChannel is cached at the window level by secretKey (ensures unique message listener)\n * - Client instances are not cached, a new instance is created on each call\n * - This allows different versions of the library to coexist\n */\nexport function requestIframeClient(target, options) {\n var targetWindow = null;\n var targetOrigin = OriginConstant.ANY;\n if (target.tagName === 'IFRAME') {\n var iframe = target;\n targetWindow = iframe.contentWindow;\n targetOrigin = getIframeTargetOrigin(iframe);\n if (!targetWindow) {\n throw {\n message: Messages.IFRAME_NOT_READY,\n code: ErrorCode.IFRAME_NOT_READY\n };\n }\n } else {\n targetWindow = target;\n targetOrigin = OriginConstant.ANY;\n }\n\n // Allow user to override targetOrigin explicitly\n if (options !== null && options !== void 0 && options.targetOrigin) {\n targetOrigin = options.targetOrigin;\n }\n\n // Determine secretKey\n var secretKey = options === null || options === void 0 ? void 0 : options.secretKey;\n\n // Generate instance ID first (will be used by both client and server)\n var instanceId = generateInstanceId();\n\n // Create client instance (internally creates its core message server)\n var client = new RequestIframeClientImpl(targetWindow, targetOrigin, {\n secretKey,\n ackTimeout: options === null || options === void 0 ? void 0 : options.ackTimeout,\n timeout: options === null || options === void 0 ? void 0 : options.timeout,\n asyncTimeout: options === null || options === void 0 ? void 0 : options.asyncTimeout,\n returnData: options === null || options === void 0 ? void 0 : options.returnData,\n headers: options === null || options === void 0 ? void 0 : options.headers,\n allowedOrigins: options === null || options === void 0 ? void 0 : options.allowedOrigins,\n validateOrigin: options === null || options === void 0 ? void 0 : options.validateOrigin,\n autoOpen: options === null || options === void 0 ? void 0 : options.autoOpen,\n autoAckMaxMetaLength: options === null || options === void 0 ? void 0 : options.autoAckMaxMetaLength,\n autoAckMaxIdLength: options === null || options === void 0 ? void 0 : options.autoAckMaxIdLength\n }, instanceId);\n\n /**\n * Trace/log level:\n * - default: only warn/error will be printed (logger default)\n * - if trace enabled: raise log level and (optionally) enable detailed debug interceptors\n */\n if (options !== null && options !== void 0 && options.trace) {\n var level = options.trace === true ? LogLevel.TRACE : options.trace;\n setRequestIframeLogLevel(level);\n if (level === LogLevel.TRACE || level === LogLevel.INFO) {\n setupClientDebugInterceptors(client);\n }\n }\n return client;\n}\n\n/**\n * Clear MessageChannel cache (for testing or reset)\n * Note: This clears the shared message channel for the specified secretKey\n */\nexport function clearRequestIframeClientCache(secretKey) {\n // Client is not cached; this helper only clears shared MessageChannel cache.\n // If secretKey is provided, only clear channels under that secretKey.\n if (typeof secretKey === 'string') {\n clearMessageChannelCache(secretKey);\n return;\n }\n clearMessageChannelCache();\n}","import { RequestIframeServerImpl } from '../impl/server';\nimport { setupServerDebugListeners } from '../utils/debug';\nimport { setRequestIframeLogLevel } from '../utils/logger';\nimport { getCachedServer, cacheServer, clearServerCache } from '../utils/cache';\nimport { LogLevel } from '../constants';\n\n/**\n * Create a server (for receiving and handling requests)\n * \n * Note:\n * - MessageChannel is cached at the window level by secretKey (ensures unique message listener)\n * - If options.id is specified, the server will be cached and reused (singleton pattern)\n * - If options.id is not specified, a new instance is created on each call\n * - This allows different versions of the library to coexist\n */\nexport function requestIframeServer(options) {\n // Determine secretKey and id\n var secretKey = options === null || options === void 0 ? void 0 : options.secretKey;\n var id = options === null || options === void 0 ? void 0 : options.id;\n\n // If id is specified, check cache first\n if (id) {\n var cached = getCachedServer(secretKey, id);\n if (cached) {\n return cached;\n }\n }\n\n // Create server (internally obtains or creates a shared MessageChannel)\n var server = new RequestIframeServerImpl({\n secretKey,\n id,\n ackTimeout: options === null || options === void 0 ? void 0 : options.ackTimeout,\n autoOpen: options === null || options === void 0 ? void 0 : options.autoOpen,\n allowedOrigins: options === null || options === void 0 ? void 0 : options.allowedOrigins,\n validateOrigin: options === null || options === void 0 ? void 0 : options.validateOrigin,\n maxConcurrentRequestsPerClient: options === null || options === void 0 ? void 0 : options.maxConcurrentRequestsPerClient,\n autoAckMaxMetaLength: options === null || options === void 0 ? void 0 : options.autoAckMaxMetaLength,\n autoAckMaxIdLength: options === null || options === void 0 ? void 0 : options.autoAckMaxIdLength\n });\n\n /**\n * Trace/log level:\n * - default: only warn/error will be printed (logger default)\n * - if trace enabled: raise log level and (optionally) enable detailed debug listeners\n */\n if (options !== null && options !== void 0 && options.trace) {\n var level = options.trace === true ? LogLevel.TRACE : options.trace;\n setRequestIframeLogLevel(level);\n if (level === LogLevel.TRACE || level === LogLevel.INFO) {\n setupServerDebugListeners(server);\n }\n }\n\n // Cache server if id is specified\n if (id) {\n cacheServer(server, secretKey, id);\n }\n return server;\n}\n\n/**\n * Clear server cache (for testing or reset)\n * Note: This clears the cached server instances\n */\nexport function clearRequestIframeServerCache(arg) {\n /** Clear server cache */\n clearServerCache(arg);\n}"],"names":["fails","exec","error","require$$0","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","uncurryThis","toString","stringSlice","slice","classofRaw","it","require$$1","classof","require$$2","$Object","Object","split","indexedObject","propertyIsEnumerable","isNullOrUndefined","$TypeError","TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","check","Math","globalThis_1","globalThis","window","self","global","this","isPure","defineProperty","defineGlobalProperty","key","value","configurable","writable","IS_PURE","SHARED","store","sharedStoreModule","exports","versions","push","version","mode","copyright","license","source","shared","toObject","argument","hasOwnProperty_1","hasOwn","id","postfix","random","uid","undefined","navigator","userAgent","environmentUserAgent","String","match","process","Deno","v8","environmentV8Version","V8_VERSION","$String","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","NATIVE_SYMBOL","useSymbolAsUid","iterator","require$$3","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","documentAll","document","all","isCallable","isObject","anObject","descriptors","get","DESCRIPTORS","v8PrototypeDefineBug","EXISTS","createElement","documentCreateElement","ie8DomDefine","a","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","isSymbol","$Symbol","tryToString","aCallable","getMethod","V","P","func","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","objectDefineProperty","f","O","Attributes","current","enumerable","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","hiddenKeys","objectKeysInternal","object","names","i","enumBugKeys","internalObjectKeys","objectKeys","keys","html","sharedKey","activeXDocument","definePropertiesModule","definePropertyModule","objectDefineProperties","defineProperties","Properties","props","require$$6","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","create","UNSCOPABLES","ArrayPrototype","Array","addToUnscopables","iterators","createPropertyDescriptor","bitmap","createNonEnumerableProperty","set","has","NATIVE_WEAK_MAP","WeakMap","weakMapBasicDetection","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","$propertyIsEnumerable","NASHORN_BUG","objectPropertyIsEnumerable","descriptor","propertyIsEnumerableModule","objectGetOwnPropertyDescriptor","getDescriptor","PROPER","functionName","functionToString","inspectSource","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","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","CORRECT_PROTOTYPE_GETTER","correctPrototypeGetter","getPrototypeOf","ObjectPrototype","objectGetPrototypeOf","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","ITERATOR","BUGGY_SAFARI_ITERATORS","iteratorsCore","TO_STRING_TAG","setToStringTag","TAG","Iterators","returnThis","iteratorCreateConstructor","IteratorConstructor","NAME","next","ENUMERABLE_NEXT","isPossiblePrototype","aPossiblePrototype","uncurryThisAccessor","functionUncurryThisAccessor","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","proto","__proto__","$","FunctionName","createIteratorConstructor","require$$8","require$$9","require$$10","require$$11","require$$12","IteratorsCore","require$$13","PROPER_FUNCTION_NAME","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","createIterResultObject","done","defineIterator","ARRAY_ITERATOR","setInternalState","es_array_iterator","iterated","kind","Arguments","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","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","TO_STRING_TAG_SUPPORT","toStringTagSupport","CORRECT_ARGUMENTS","tag","tryGet","callee","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","S","position","size","stringMultibyte","codeAt","urlConstructorDetection","url","URL","params","searchParams","params2","URLSearchParams","pathname","forEach","toJSON","sort","href","username","host","hash","functionUncurryThisClause","functionBindContext","that","defineBuiltInAccessor","anInstance","Prototype","iteratorClose","innerResult","innerError","callWithSafeIterationClosing","isArrayIteratorMethod","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","isConstructor","called","createProperty","isArray","SILENT_ON_NON_WRITABLE_LENGTH_SET","arraySetLength","getIteratorMethod","getIterator","usingIterator","iteratorMethod","setArrayLength","$Array","arrayFrom","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","step","arraySlice","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","$RangeError","RangeError","fromCharCode","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","baseMinusTMin","base","encode","output","counter","extra","ucs2decode","currentValue","inputLength","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","q","t","qMinusT","baseMinusT","stringPunycodeToAscii","label","encoded","labels","validateArgumentsLength","passed","required","safeGetBuiltIn","defineBuiltIns","array","comparefn","element","j","middle","left","right","llength","rlength","lindex","rindex","arraySort","$fromCodePoint","fromCodePoint","code","elements","USE_NATIVE_URL","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","$toString","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","nativeFetch","NativeRequest","Headers","RequestPrototype","HeadersPrototype","encodeURIComponent","$parseInt","parseInt","shift","splice","plus","VALID_HEX","parseHexOctet","start","substr","NaN","getLeadingOnes","octet","count","mask","utf8Decode","octets","codePoint","decode","decodedChar","byteSequenceLength","sequenceIndex","nextByte","find","replacements","replacer","serialize","URLSearchParamsIterator","entry","URLSearchParamsState","init","parseObject","parseQuery","bindURL","update","entryIterator","entryNext","query","attribute","attributes","updateURL","URLSearchParamsConstructor","URLSearchParamsPrototype","append","delete","$value","getAll","found","b","callback","boundFunction","headersHas","headersSet","wrapRequestOptions","headers","body","fetch","RequestConstructor","Request","web_urlSearchParams_constructor","getState","STRING_ITERATOR","point","EOF","assign","$assign","objectAssign","A","B","alphabet","chr","T","toASCII","URLSearchParamsModule","getInternalURLState","getInternalSearchParamsState","NativeURL","pow","numberToString","pop","unshift","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_C0_CONTROL_OR_SPACE","TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","serializeHost","compress","ignore0","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","specialSchemes","ftp","file","http","https","ws","wss","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","URLState","isBase","baseState","failure","urlString","parse","stateOverride","codePoints","bufferCodePoints","pointer","buffer","seenAt","seenBracket","seenPasswordToken","scheme","password","port","path","fragment","cannotBeABaseURL","isSpecial","includesCredentials","encodedCodePoints","parseHost","shortenPath","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","parseIPv6","partsLength","numbers","part","radix","ipv4","parts","parseIPv4","cannotHaveUsernamePasswordPort","pathSize","setHref","getOrigin","URLConstructor","origin","getProtocol","setProtocol","protocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","getSearch","setSearch","search","getSearchParams","getHash","setHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","SPECIES","arraySpeciesConstructor","originalArray","C","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","resIndex","arrayIteration","map","filter","some","every","findIndex","filterReject","arrayMethodHasSpeciesSupport","foo","Boolean","$filter","getOwnPropertyDescriptors","arrayMethodIsStrict","_typeof","o","r","e","Number","_defineProperty","$forEach","STRICT_METHOD","arrayForEach","regexpFlags","hasIndices","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","$RegExp","RegExp","UNSUPPORTED_Y","re","lastIndex","MISSED_STICKY","BROKEN_CARET","regexpStickyHelpers","regexpUnsupportedDotAll","flags","regexpUnsupportedNcg","groups","re1","re2","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","group","str","raw","charsAdded","strCopy","regexpExec","functionApply","Reflect","RegExpPrototype","fixRegexpWellKnownSymbolLogic","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","regexp","arg2","forceStringMethod","$exec","advanceStringIndex","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","getSubstitution","matched","captures","namedCaptures","tailPos","symbols","ch","capture","regExpFlagsDetection","FLAGS_GETTER_IS_CORRECT","INDICES_SUPPORT","calls","expected","addGetter","pairs","regexpFlagsDetection","correct","regExpFlagsGetterImplementation","regexpGetFlags","regexpExecAbstract","R","_objectSpread","fixRegExpWellKnownSymbolLogic","getRegExpFlags","regExpExec","REPLACE","stringIndexOf","maybeToString","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","_","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","rx","res","functionalReplace","fullUnicode","results","accumulatedResult","nextSourcePosition","replacerArgs","defaultMessages","INVALID_PROTOCOL_VERSION_FORMAT","PROTOCOL_VERSION_TOO_LOW","PROTOCOL_VERSION_UNSUPPORTED","INVALID_MESSAGE_FORMAT_NOT_OBJECT","INVALID_MESSAGE_FORMAT_MISSING_PROTOCOL","INVALID_MESSAGE_FORMAT_MISSING_TYPE","INVALID_MESSAGE_FORMAT_MISSING_REQUEST_ID","ACK_TIMEOUT","REQUEST_TIMEOUT","ASYNC_REQUEST_TIMEOUT","REQUEST_FAILED","METHOD_NOT_FOUND","NO_RESPONSE_SENT","MIDDLEWARE_ERROR","ERROR","TOO_MANY_REQUESTS","HUB_REGISTER_HANDLERS_NOT_SET","IFRAME_NOT_READY","TARGET_WINDOW_CLOSED","CLIENT_SERVER_IGNORED_MESSAGE_WHEN_CLOSED","SERVER_IGNORED_MESSAGE_WHEN_CLOSED","STREAM_NOT_BOUND","STREAM_ALREADY_STARTED","STREAM_CANCELLED","STREAM_ERROR","STREAM_TIMEOUT","STREAM_EXPIRED","STREAM_START_TIMEOUT","STREAM_ENDED","STREAM_READ_ERROR","STREAM_WRITE_ONLY_IN_PUSH_MODE","STREAM_PENDING_QUEUE_OVERFLOW","STREAM_PENDING_BYTES_OVERFLOW","DEBUG_CLIENT_REQUEST_START","DEBUG_CLIENT_REQUEST_SUCCESS","DEBUG_CLIENT_REQUEST_SUCCESS_FILE","DEBUG_CLIENT_REQUEST_SUCCESS_STREAM","DEBUG_CLIENT_REQUEST_FAILED","DEBUG_CLIENT_RECEIVED_ACK","DEBUG_CLIENT_RECEIVED_ASYNC","DEBUG_CLIENT_RECEIVED_STREAM_START","DEBUG_CLIENT_RECEIVED_STREAM_DATA","DEBUG_CLIENT_RECEIVED_STREAM_END","DEBUG_CLIENT_RECEIVED_RESPONSE","DEBUG_CLIENT_RECEIVED_ERROR","DEBUG_CLIENT_REQUEST_TIMEOUT","DEBUG_CLIENT_SENDING_REQUEST","DEBUG_CLIENT_SENDING_PING","DEBUG_CLIENT_SENDING_RECEIVED_ACK","DEBUG_SERVER_RECEIVED_REQUEST","DEBUG_SERVER_SETTING_STATUS_CODE","DEBUG_SERVER_SETTING_HEADER","DEBUG_SERVER_SENDING_RESPONSE","DEBUG_SERVER_SENDING_JSON_RESPONSE","DEBUG_SERVER_SENDING_FILE","DEBUG_SERVER_SENDING_STREAM","DEBUG_SERVER_SENDING_ACK","DEBUG_SERVER_SENDING_ASYNC","DEBUG_SERVER_SENDING_STREAM_START","DEBUG_SERVER_SENDING_STREAM_DATA","DEBUG_SERVER_SENDING_STREAM_END","DEBUG_SERVER_SENDING_ERROR","DEBUG_SERVER_SENDING_RESPONSE_VIA_DISPATCHER","DEBUG_SERVER_HANDLING_REQUEST","DEBUG_SERVER_EXECUTING_MIDDLEWARE_CHAIN","DEBUG_SERVER_MIDDLEWARE_CHAIN_COMPLETED","currentMessages","Messages","Proxy","prop","formatMessage","template","args","argIndex","$map","WarnOnceKey","INBOX_MISSING_PENDING_WHEN_CLOSED","SERVER_MISSING_PENDING_WHEN_CLOSED","buildWarnOnceKey","prefix","LogLevel","TRACE","INFO","WARN","SILENT","DebugEvent","CLIENT_REQUEST_START","CLIENT_REQUEST_SUCCESS","CLIENT_REQUEST_SUCCESS_FILE","CLIENT_REQUEST_SUCCESS_STREAM","CLIENT_REQUEST_FAILED","CLIENT_MESSAGE_INBOUND","CLIENT_MESSAGE_OUTBOUND","SERVER_REQUEST_RECEIVED","SERVER_RESPONSE_SEND","SERVER_MESSAGE_INBOUND","SERVER_MESSAGE_OUTBOUND","ProtocolVersion","CURRENT","MIN_SUPPORTED","OriginConstant","ANY","AutoAckConstant","MAX_ID_LENGTH","MAX_META_LENGTH","HttpStatus","OK","CREATED","NO_CONTENT","BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR","BAD_GATEWAY","SERVICE_UNAVAILABLE","HttpStatusText","getStatusText","ErrorCode","TIMEOUT","ASYNC_TIMEOUT","REQUEST_ERROR","NO_RESPONSE","PROTOCOL_UNSUPPORTED","MessageType","REQUEST","ACK","ASYNC","RESPONSE","PING","PONG","STREAM_START","STREAM_DATA","STREAM_END","STREAM_CANCEL","STREAM_PULL","MessageRole","SERVER","CLIENT","DefaultTimeout","HttpHeader","SET_COOKIE","CONTENT_TYPE","CONTENT_DISPOSITION","AUTHORIZATION","COOKIE","StreamType","DATA","StreamMode","PULL","PUSH","StreamInternalMessageType","END","CANCEL","StreamState","PENDING","STREAMING","ENDED","CANCELLED","StreamEvent","START","READ","WRITE","SEND","EXPIRED","getIframeTargetOrigin","generateRequestId","Date","now","substring","generateInstanceId","asyncGeneratorStep","c","u","Promise","resolve","then","_asyncToGenerator","_next","_throw","_arrayLikeToArray","_slicedToArray","arrayWithHoles","l","iterableToArrayLimit","arrayLikeToArray","from","unsupportedIterableToArray","nonIterableRest","TO_STRING","nativeToString","NOT_GENERIC","INCORRECT_NAME","module","d","v","__esModule","_regeneratorDefine","_invoke","regeneratorDefine","_regenerator","toStringTag","Generator","p","y","G","GeneratorFunction","GeneratorFunctionPrototype","displayName","w","OverloadYield","AsyncIterator","asyncIterator","regenerator","regeneratorAsyncIterator","regeneratorAsyncGen","isNaN","runtime","regeneratorAsync","regeneratorKeys","regeneratorValues","_regeneratorRuntime","throw","return","break","continue","stop","catch","abrupt","delegateYield","resultName","finish","_t","prev","sent","wrap","reverse","isGeneratorFunction","mark","awrap","async","regeneratorRuntime","accidentalStrictMode","NativeSymbol","SymbolPrototype","description","EmptyStringDescriptionStore","SymbolWrapper","thisSymbolValue","symbolDescriptiveString","desc","SAFE_CLOSING","iteratorWithReturn","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","iterable","nativeSlice","HAS_SPECIES_SUPPORT","end","Constructor","fin","$entries","IE_BUG","TO_ENTRIES","IE_WORKAROUND","objectToArray","userAgentStartsWith","environment","Bun","ENVIRONMENT","environmentIsNode","setSpecies","CONSTRUCTOR_NAME","aConstructor","speciesConstructor","defaultConstructor","environmentIsIos","$location","defer","channel","IS_IOS","IS_NODE","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","handler","nextTick","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","task","Queue","head","tail","add","item","notify","toggle","node","promise","macrotask","IS_IOS_PEBBLE","environmentIsIosPebble","Pebble","IS_WEBOS_WEBKIT","environmentIsWebosWebkit","MutationObserver","WebKitMutationObserver","microtask","flush","parent","exit","enter","createTextNode","observe","characterData","microtask_1","hostReportErrors","console","perform","promiseNativeConstructor","NativePromiseConstructor","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","PromiseCapability","reject","$$resolve","$$reject","newPromiseCapability","Result","stopped","ResultPrototype","iterate","unboundFunction","iterFn","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","condition","callFn","promiseStaticsIncorrectIteration","promiseResolve","promiseCapability","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","PromiseConstructorDetection","newPromiseCapabilityModule","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","capability","$promiseResolve","remaining","alreadyCalled","real","race","capabilityReject","PromiseConstructorWrapper","CHECK_WRAPPER","RequestIframeError","Error","super","message","config","response","requestId","captureStackTrace","$getOwnPropertyNames","windowNames","objectGetOwnPropertyNamesExternal","getWindowNames","ARRAY_BUFFER_NON_EXTENSIBLE","arrayBufferNonExtensible","ArrayBuffer","isExtensible","$isExtensible","FAILS_ON_PRIMITIVES","objectIsExtensible","getOwnPropertyNamesExternalModule","FREEZING","freezing","preventExtensions","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","fastKey","getWeakData","onFreeze","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","InternalMetadataModule","collection","common","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","internalStateGetterFor","collectionStrong","last","define","previous","getEntry","removed","ITERATOR_NAME","getInternalCollectionState","createPostMessage","__requestIframe__","timestamp","isCompatibleVersion","isFunction","isWindowAvailable","targetWindow","closed","levelOrder","currentLevel","setRequestIframeLogLevel","level","ensureRequestIframeLogLevel","requestIframeLog","shouldLog","toISOString","toUpperCase","prefixStyle","messageStyle","$indexOf","nativeIndexOf","NEGATIVE_ZERO","searchElement","doesNotExceedSafeInteger","deletePropertyOrThrow","_createForOfIteratorHelper","_unsupportedIterableToArray","_n","s","deleteCount","insertCount","actualDeleteCount","to","actualStart","SyncHook","tap","taps","idx","_step","_iterator","err","MessageContextStage","ChannelType","POST_MESSAGE","secretKey","Set","boundOnMessage","onMessage","addReceiver","receiver","receivers","removeReceiver","addRef","refCount","release","getRefCount","extractContext","_ref","stateChangeHook","context","emitStateChange","markHandledBy","handledBy","getStage","doneBy","acceptedBy","isValidPostMessage","send","targetOrigin","sendMessage","prefixPath","destroy","removeEventListener","firefox","environmentFfVersion","UA","environmentIsIeOrEdge","webkit","environmentWebkitVersion","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","itemsLength","items","arrayLength","getSortCompare","MATCH","isRegexp","isRegExp","proxyAccessor","Target","Source","getAckId","ack","NativeRegExp","SyntaxError","IS_NCG","CORRECT_NEW","BASE_FORCED","RegExpWrapper","pattern","rawFlags","handled","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","named","brackets","ncg","groupid","groupname","handleNCG","handleDotAll","MessageDispatcher","role","instanceId","inbound","beforeSend","afterSend","sendError","boundReceiver","dispatchMessage","setFallbackTarget","fallbackTargetWindow","fallbackTargetOrigin","setAutoAckLimits","limits","maxMetaLength","isFinite","autoAckMaxMetaLength","maxIdLength","autoAckMaxIdLength","registerHandler","matcher","_opts$priority","opts","priority","versionValidator","onVersionError","handlers","unregisterHandler","expectedRole","hooks","_type","_version","getProtocolVersion","autoAckState","maybeAutoAck","tryAutoAck","matchType","_entry$onVersionError","markDoneBy","_context$source","requireAck","getAutoAckEchoPayload","targetId","creatorId","rawAck","getAckMeta","_ok","getChannel","MESSAGE_CHANNEL_CACHE_SYMBOL","for","getChannelCache","Map","getCacheKey","getOrCreateMessageChannel","cache","releaseMessageChannel","clearMessageChannelCache","arg","finally","onFinally","RequestIframeStreamError","streamId","cause","IframeStreamCore","chunked","consume","StreamStateConstant","_state","on","listener","listeners","safeCall","terminalError","off","once","wrapped","payload","clearAllListeners","_unused","notifyWaiters","waiters","list","_unused2","waitForChange","cancel","pushChunk","chunk","chunks","handleInboundMessage","_data","IframeWritableStream","_options$type","_options$chunked","_options$mode","_options$expireTimeou","StreamTypeConstant","StreamModeConstant","nextFn","autoResolve","expireTimeout","streamTimeout","maxPendingChunks","maxPendingBytes","enqueue","_this$context","pendingQueue","bytes","estimateChunkBytes","maxBytes","_this$context2","pendingBytes","utf8ByteLength","byteLength","isView","Blob","text","TextEncoder","_unused3","Buffer","_unused4","_bind","registerControlHandler","_this$context3","registerStreamHandler","handleControlMessage","unregisterControlHandler","_this$context4","unregisterStreamHandler","lastRemoteActivityAt","credit","pullCredit","totalCredit","remote","clearIdleTimer","idleTimer","clearTimeout","performHeartbeat","_this","_callee","_this$context5","_context","heartbeat","heartbeatInFlight","startIdleTimer","_this2","timeout","_callee2","_context2","_unused5","_this$context$serverI","clientId","serverId","clearExpireTimer","ensureAckReceiver","ackReceiverRegistered","ackReceiver","pending","ackWaiters","timeoutId","cleanupAckWaiters","_unused6","registerAckWaiter","timeoutMs","expireTimer","startExpireTimer","_unused7","_this3","_callee3","_context3","completionPromise","resolveCompletion","rejectCompletion","doneOrOptions","_opts$ackTimeout","_this$context6","_this$context7","_this$context8","ackTimeout","ackRequestId","resolveAck","endInternal","pumpFromGenerator","_this4","_callee4","gen","_t2","_context4","pumping","sendData","_this$context$serverI2","_options$requestId","seq","encodeData","_item$ackTimeout","_this$rejectCompletio","_this$context9","_this$resolveCompleti","_this$context0","_this$resolveCompleti2","abort","_this$resolveCompleti3","_unused8","$reduce","REDUCE_EMPTY","IS_RIGHT","memo","arrayReduce","CHROME_VERSION","reduce","arrayBufferBasicDetection","DataView","NATIVE_ARRAY_BUFFER","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","isTypedArray","klass","arrayBufferViewCore","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","property","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","toIndex","sign","mathSign","roundTiesToEven","INVERSE_EPSILON","mathRoundTiesToEven","abs","mathFloatRound","FLOAT_EPSILON","FLOAT_MAX_VALUE","FLOAT_MIN_VALUE","absolute","Infinity","log","LN2","ieee754","pack","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","unpack","nBits","arrayFill","endPos","fround","floatRound","mathFround","IEEE754","ARRAY_BUFFER","DATA_VIEW","WRONG_INDEX","getInternalArrayBufferState","getInternalDataViewState","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","fill","packIEEE754","unpackIEEE754","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","view","isLittleEndian","intIndex","boolIsLittleEndian","byteOffset","conversion","INCORRECT_ARRAY_BUFFER_NAME","testView","$setInt8","setInt8","getInt8","setUint8","detached","bufferState","bufferLength","offset","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","arrayBuffer","isIntegralNumber","isInteger","toPositiveInteger","toOffset","BYTES","round","toUint8Clamped","isBigIntArray","toBigInt","prim","BigInt","typedArrayFrom","thisIsBigIntArray","arrayFromConstructorAndList","$length","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","typedArrayConstructorsRequireWrappers","ArrayBufferViewCore","ArrayBufferModule","require$$32","nativeDefineProperty","nativeGetOwnPropertyDescriptor","BYTES_PER_ELEMENT","WRONG_LENGTH","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","typedArrayConstructorModule","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","addElement","typedArrayOffset","$len","createTypedArrayConstructor","$fill","actualValue","ArrayIterators","arrayValues","arrayKeys","arrayEntries","GENERIC","ITERATOR_IS_VALUES","typedArrayValues","$set","WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS","TO_OBJECT_BUG","ACCEPT_INCORRECT_ARGUMENTS","mod","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","wrappedWellKnownSymbolModule","wellKnownSymbolWrapped","wellKnownSymbolDefine","defineWellKnownSymbol","IframeReadableStream","messageHandler","_options$consume","idleTimeout","handleStreamMessage","requestMore","postControl","schedulePullIfNeeded","pullScheduled","need","highWaterMark","lastActivityAt","handleData","handleEnd","handleError","handleCancel","decoded","decodeData","_this$onEndCallback","onEndCallback","mergeChunks","_this$onErrorCallback","onErrorCallback","cancelInternal","notifyRemote","_message","_this$onErrorCallback2","_this$onErrorCallback3","waitForChangeWithIdleTimeout","state0","snapshot","timerId","stateAfter","read","merged","_merged","readAll","_list","stream","_callee5","_context5","onEnd","onError","uint8ArrayToBase64","uint8Array","subarray","btoa","IframeFileWritableStream","filename","mimeType","IframeFileReadableStream","_options$metadata","_options$metadata2","_options$metadata3","base64","binary","atob","base64ToUint8Array","totalLength","sum","_superprop_getRead","readAsBlob","readAsFile","fileName","File","readAsArrayBuffer","readAsDataURL","_this5","isIframeReadableStream","isIframeFileReadableStream","isIframeWritableStream","isIframeFileWritableStream","$includes","notARegexp","correctIsRegexpLogic","error1","blobToBase64","blob","reader","FileReader","onloadend","onerror","createIframeFileWritableStreamFromContent","_x","_createIframeFileWritableStreamFromContent","_params$chunked","_params$autoResolve","_yield$import","fileContent","streamFileName","defaultMimeType","unescape","defaultFileName","safeIsFile","safeIsBlob","notARegExp","correctIsRegExpLogic","searchString","RequestIframeEndpointOutbox","dispatcher","defaultTargetId","beforeSendRaw","afterSendRaw","sendRawError","beforeSendMessage","afterSendMessage","sendMessageError","setDefaultTargetId","runWithHooks","before","createStreamBindContext","_params$targetId","sendWritableStream","onStream","onOther","onFileOrBlob","runStreamSend","resultPromise","beforeStart","awaitStart","sendStream","_callee7","_context7","_callee6","_context6","sendFile","_callee9","_context9","_callee8","_params$onFileInfo","created","_context8","onFileInfo","sendRaw","_ok2","RequestIframePendingManager","existing","maps","ms","timeouts","clearAll","RequestIframeLimiter","bucket","_this$pending$get","tryAcquire","limit","RequestIframeEndpointHub","_options$versionValid","beforeOpen","afterOpen","beforeClose","afterClose","beforeDestroy","afterDestroy","messageDispatcher","setRegisterHandlers","registerHandlersFn","unreg","unregisterFns","createHandlerOptions","warnOnce","warnOnceKeys","setStreamCallback","streamCallback","getStreamCallback","isOriginAllowedBy","contextOrigin","originValidator","createOutbox","_isOpen","isOpen","createPingResponder","hub","includeTargetId","markAcceptedBy","RequestIframeEndpointInbox","pendingRegistered","pendingUnregistered","pendingResolved","missingPending","registerHandlers","handlerOptions","handleVersionError","boundHandleClientResponse","handleClientResponse","handlePong","handlePing","pingIsConnect","PENDING_IS_CONNECT","onPeerId","peer","registerPendingRequest","PENDING_REQUESTS","unregisterPendingRequest","_this$hub$instanceId","responder","_this$hub$instanceId4","_this$hub$instanceId3","_pendingIsConnect$onP","_this$hub$instanceId2","pendingIsConnect","_this$hub$instanceId7","_this$hub$instanceId6","_pendingIsConnect$onP2","_this$hub$instanceId5","isExpectedAckMatch","expectedAck","receivedAck","received","expectedId","receivedId","isAckMatch","RequestIframeStreamDispatcher","register","unregister","dispatch","messageType","RequestIframeEndpointHeartbeat","pendingBucket","isOriginAllowed","warnMissingPendingWhenClosed","ping","_this$warnMissingPend","createReadableStreamFromStart","_params$secretKey","_chunked","_autoResolve","info","_info$metadata","_info$metadata2","_info$metadata3","matchOrigin","CORRECT_IS_REGEXP_LOGIC","startsWith","RequestIframeEndpointFacade","_params$streamDispatc","_params$streamDispatc2","streamDispatcher","buildOriginValidator","openHooks","inbox","onOpen","isOriginAllowedByValidator","registerClientStreamCallbackHandlers","_this$hub$getStreamCa","enableStreamDispatcherCallback","dispatchStreamMessage","disableStreamDispatcherCallback","registerServerBaseHandlers","registerPingResponderHandler","includeTargetIdInPong","registerHeartbeatPongHandler","registerAckWaiterHandler","pendingAckBucket","registerStreamHandlers","expectedStreamStartRole","pendingStreamStartBucket","handleAck","handleStreamStart","registerIncomingStreamStartWaiter","onTimeout","_this$heartbeat","pingPeer","registerPendingAck","_params$pendingBucket","DEFAULT_PENDING_ACKS_BUCKET","_params$pendingBucket2","_params$warnMissingPe","_params$warnMissingPe2","streamHandler","createStreamMessageHandler","validateOrigin","allowedOrigins","autoResolveIframeFileReadableStream","_params$headers","_params$info","disposition","parseFilenameFromContentDisposition","fileStream","detectContentType","_ref$checkStream","checkStream","FormData","JSON","nativeMatch","matchStr","endsWith","endPosition","whitespaces","normalizePath","$trim","ltrim","rtrim","stringTrim","trim","forcedStringTrimMethod","stringTrimForced","CookieStore","getKey","cookie","cookies","setFromSetCookie","setCookieStr","firstPart","eqIndex","attrEqIndex","attrName","httpOnly","secure","_attrName","attrValue","date","getTime","expires","maxAge","sameSite","parseSetCookie","remove","getForPath","requestPath","cookiePath","reqPath","cPath","matchCookiePath","_cookie","getAllSimple","cleanup","keysToDelete","InterceptorManager","use","fulfilled","rejected","eject","h","RequestInterceptorManager","ResponseInterceptorManager","runRequestInterceptors","_x2","_runRequestInterceptors","interceptors","interceptor","runResponseInterceptors","_x3","_x4","_runResponseInterceptors","RequestIframeClientImpl","rememberTargetServerId","_targetServerId","outbox","_options$ackTimeout","_options$timeout","_options$asyncTimeout","_options$returnData","request","endpoint","defaultAckTimeout","defaultTimeout","defaultAsyncTimeout","asyncTimeout","defaultReturnData","returnData","initialHeaders","ctx","autoOpen","resolveHeaderValue","detectContentTypeForBody","hasHeader","lower","mergeHeaders","resolvedHeaders","_i","_Object$entries","_Object$entries$_i","_i2","_Object$entries2","_Object$entries2$_i","_key","_value","contentType","isConnect","processedConfig","processedBody","mergedHeaders","processedPath","processedCookies","userTargetId","_processedConfig$requ","_sendRequest","_processedConfig$requ2","_processedConfig$targ","_options$autoResolve","pathMatchedCookies","mergedCookies","streamConfig","_cookieStore","_processedConfig$requ3","_processedConfig$targ2","extraPayload","_processedConfig$ackT","_processedConfig$time","_processedConfig$asyn","_processedConfig$requ4","_processedConfig$retu","errorInstance","setRequestTimeout","_data$error","_data$error2","status","statusText","setCookies","_resp","readableStream","fileData","resp","getHub","isAvailable","getCookies","getCookie","setCookie","_options$path","removeCookie","clearCookies","logEvent","formatMessageData","formatted","bodyStr","stringify","dataStr","setupClientDebugInterceptors","client","logData","contentLength","clientImpl","_clientImpl$hub","_clientImpl$getHub","_outbox$hooks","_dispatcher$hooks","_inbox$hooks","_dispatcher$hooks2","_target","_origin","streamBody","streamType","_streamBody$data","_streamBody","dataLength","_streamBody2","setupClientMessageDebuggingViaHooks","setupServerDebugListeners","server","serverImpl","startTimes","req","_res$sendStream","startTime","originalSend","originalJson","json","originalSendFile","originalSendStream","originalStatus","originalSetHeader","setHeader","statusCode","header","duration","_ref2","_ref3","_x5","_x6","_ref4","_x7","_dispatcher$hooks$aft","_dispatcher$hooks$inb","_targetOrigin","_streamBody3$data","_streamBody3","_streamBody4","setupServerMessageDebuggingViaHooks","matchPath","normalizedPath","normalizedMatcher","nextChar","regexPattern","matchPattern","matchPathWithParams","normalizedPattern","paramNames","paramRegex","regexMatch","ServerRequestImpl","ServerResponseImpl","onSentCallback","onSent","sendResponseMessage","ensureContentTypeIfNeeded","_setOnAckCallback","onAckCallback","_triggerAck","markSent","_sent","cb","_markSent","_sendRaw","_options$requireAck","buildExpectedAck","receivedAckMeta","_onStream","fileOptions","newValue","toUTCString","createSetCookie","clearCookie","_options$path2","createClearCookie","isPromise","RequestIframeServerImpl","_options$maxConcurren","PENDING_PONGS","maxConcurrentRequestsPerClient","POSITIVE_INFINITY","handleRequest","PENDING_ACKS","PENDING_STREAM_REQUESTS","getClientKey","handleRequestError","errorStatus","handleRequestResult","findHandler","prefixedRequestPath","exactHandler","_step$value","registeredPath","matchResult","handlerMatch","handlerFn","clientKey","limiter","LIMIT_IN_FLIGHT_BY_CLIENT","streamStartTimeout","buildStreamStartTimeoutErrorPayload","streamStartData","runMiddlewares","pathOrMiddleware","middleware","middlewares","prefixedPath","finalHandler","SERVER_CACHE_SYMBOL","getServerCacheForWindow","win","getServerCacheKey","RequestIframeEndpointApiFacade","_params$options","getClient","getServer","targetWindow_","targetOrigin_","options_","endpointId_","endpointId","desiredOpen_","client_","trace","server_","_this$client_","_this$server_","_this$client_2","_this$server_2","_this$client_3","_this$server_3","_this$options_","suffix","clearServerCache","tagName","_options$id","cached","getCachedServer","cacheServer","messages"],"mappings":"8iBACAA,EAAiB,SAAUC,GACzB,IACE,QAASA,GACb,CAAI,MAAOC,GACP,OAAO,CACX,CACA,kCCNA,IAAIF,EAAQG,WAEZC,GAAkBJ,EAAM,WAEtB,IAAIK,EAAO,WAA4B,EAAEC,OAEzC,MAAsB,mBAARD,GAAsBA,EAAKE,eAAe,YAC1D,kCCPA,IAAIC,EAAcL,IAEdM,EAAoBC,SAASC,UAC7BC,EAAOH,EAAkBG,KAEzBC,EAAsBL,GAAeC,EAAkBH,KAAKA,KAAKM,EAAMA,UAE3EE,EAAiBN,EAAcK,EAAsB,SAAUE,GAC7D,OAAO,WACL,OAAOH,EAAKI,MAAMD,EAAIE,UAC1B,CACA,mCCXA,IAAIC,EAAcf,IAEdgB,EAAWD,EAAY,CAAA,EAAGC,UAC1BC,EAAcF,EAAY,GAAGG,cAEjCC,EAAiB,SAAUC,GACzB,OAAOH,EAAYD,EAASI,GAAK,GAAG,EACtC,iCCPA,IAAIL,EAAcf,IACdH,EAAQwB,IACRC,EAAUC,IAEVC,EAAUC,OACVC,EAAQX,EAAY,GAAGW,cAG3BC,EAAiB9B,EAAM,WAGrB,OAAQ2B,EAAQ,KAAKI,qBAAqB,EAC5C,GAAK,SAAUR,GACb,MAAuB,WAAhBE,EAAQF,GAAmBM,EAAMN,EAAI,IAAMI,EAAQJ,EAC5D,EAAII,+BCZJK,EAAiB,SAAUT,GACzB,OAAOA,OACT,kCCJA,IAAIS,EAAoB7B,IAEpB8B,EAAaC,iBAIjBC,EAAiB,SAAUZ,GACzB,GAAIS,EAAkBT,GAAK,MAAM,IAAIU,EAAW,wBAA0BV,GAC1E,OAAOA,CACT,iCCRA,IAAIa,EAAgBjC,IAChBgC,EAAyBX,WAE7Ba,EAAiB,SAAUd,GACzB,OAAOa,EAAcD,EAAuBZ,GAC9C,iCCNA,IAAIe,EAAQ,SAAUf,GACpB,OAAOA,GAAMA,EAAGgB,OAASA,MAAQhB,CACnC,SAGAiB,EAEEF,EAA2B,iBAAdG,YAA0BA,aACvCH,EAAuB,iBAAVI,QAAsBA,SAEnCJ,EAAqB,iBAARK,MAAoBA,OACjCL,EAAuB,iBAAVM,GAAsBA,IACnCN,EAAqB,iBAARO,GAAoBA,IAEjC,WAAe,OAAOA,IAAO,CAA7B,IAAoCnC,SAAS,cAATA,oHCdtCoC,GAAiB,mCCAjB,IAAIL,EAAatC,IAGb4C,EAAiBnB,OAAOmB,sBAE5BC,EAAiB,SAAUC,EAAKC,GAC9B,IACEH,EAAeN,EAAYQ,EAAK,CAAEC,MAAOA,EAAOC,cAAc,EAAMC,UAAU,GAClF,CAAI,MAAOlD,GACPuC,EAAWQ,GAAOC,CACtB,CAAI,OAAOA,CACX,2CCXA,IAAIG,EAAUlD,KACVsC,EAAajB,IACbwB,EAAuBtB,KAEvB4B,EAAS,qBACTC,EAAQC,GAAAC,QAAiBhB,EAAWa,IAAWN,EAAqBM,EAAQ,WAE/EC,EAAMG,WAAaH,EAAMG,SAAW,KAAKC,KAAK,CAC7CC,QAAS,SACTC,KAAMR,EAAU,OAAS,SACzBS,UAAW,yGACXC,QAAS,2DACTC,OAAQ,mFCZV,IAAIT,EAAQpD,YAEZ8D,EAAiB,SAAUhB,EAAKC,GAC9B,OAAOK,EAAMN,KAASM,EAAMN,GAAOC,GAAS,GAC9C,kCCJA,IAAIf,EAAyBhC,IAEzBwB,EAAUC,cAIdsC,EAAiB,SAAUC,GACzB,OAAOxC,EAAQQ,EAAuBgC,GACxC,kCCRA,IAAIjD,EAAcf,IACd+D,EAAW1C,KAEXjB,EAAiBW,EAAY,CAAA,EAAGX,uBAKpC6D,EAAiBxC,OAAOyC,QAAU,SAAgB9C,EAAI0B,GACpD,OAAO1C,EAAe2D,EAAS3C,GAAK0B,EACtC,kCCVA,IAAI/B,EAAcf,IAEdmE,EAAK,EACLC,EAAUhC,KAAKiC,SACfrD,EAAWD,EAAY,IAAIC,iBAE/BsD,EAAiB,SAAUxB,GACzB,MAAO,gBAAqByB,IAARzB,EAAoB,GAAKA,GAAO,KAAO9B,IAAWmD,EAAKC,EAAS,GACtF,kCCRA,IAEII,EAFaxE,IAEUwE,UACvBC,EAAYD,GAAaA,EAAUC,iBAEvCC,EAAiBD,EAAYE,OAAOF,GAAa,mCCLjD,IAOIG,EAAOnB,EAPPnB,EAAatC,IACbyE,EAAYpD,KAEZwD,EAAUvC,EAAWuC,QACrBC,EAAOxC,EAAWwC,KAClBvB,EAAWsB,GAAWA,EAAQtB,UAAYuB,GAAQA,EAAKrB,QACvDsB,EAAKxB,GAAYA,EAASwB,UAG1BA,IAIFtB,GAHAmB,EAAQG,EAAGrD,MAAM,MAGD,GAAK,GAAKkD,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7DnB,GAAWgB,MACdG,EAAQH,EAAUG,MAAM,iBACVA,EAAM,IAAM,MACxBA,EAAQH,EAAUG,MAAM,oBACbnB,GAAWmB,EAAM,IAIhCI,EAAiBvB,kCCzBjB,IAAIwB,EAAajF,KACbH,EAAQwB,IAGR6D,EAFa3D,IAEQoD,cAGzBQ,IAAmB1D,OAAO2D,wBAA0BvF,EAAM,WACxD,IAAIwF,EAASC,OAAO,oBAKpB,OAAQJ,EAAQG,MAAa5D,OAAO4D,aAAmBC,UAEpDA,OAAOC,MAAQN,GAAcA,EAAa,EAC/C,mCChBA,IAAIO,EAAgBxF,YAEpByF,EAAiBD,IACdF,OAAOC,MACkB,iBAAnBD,OAAOI,yCCLhB,IAAIpD,EAAatC,IACb8D,EAASzC,KACT6C,EAAS3C,KACT+C,EAAMqB,KACNH,EAAgBI,KAChBC,EAAoBC,KAEpBR,EAAShD,EAAWgD,OACpBS,EAAwBjC,EAAO,OAC/BkC,EAAwBH,EAAoBP,EAAY,KAAKA,EAASA,GAAUA,EAAOW,eAAiB3B,SAE5G4B,EAAiB,SAAUC,GAKvB,OAJGjC,EAAO6B,EAAuBI,KACjCJ,EAAsBI,GAAQX,GAAiBtB,EAAOoB,EAAQa,GAC1Db,EAAOa,GACPH,EAAsB,UAAYG,IAC/BJ,EAAsBI,EACjC,oCChBA,IAAIC,EAAiC,iBAAZC,UAAwBA,SAASC,WAK1DC,OAAuC,IAAfH,QAA8C7B,IAAhB6B,EAA4B,SAAUpC,GAC1F,MAA0B,mBAAZA,GAA0BA,IAAaoC,CACvD,EAAI,SAAUpC,GACZ,MAA0B,mBAAZA,CAChB,qCCVA,IAAIuC,EAAavG,YAEjBwG,GAAiB,SAAUpF,GACzB,MAAoB,iBAANA,EAAwB,OAAPA,EAAcmF,EAAWnF,EAC1D,qCCJA,IAAIoF,EAAWxG,KAEXkF,EAAUP,OACV7C,EAAaC,iBAGjB0E,GAAiB,SAAUzC,GACzB,GAAIwC,EAASxC,GAAW,OAAOA,EAC/B,MAAM,IAAIlC,EAAWoD,EAAQlB,GAAY,oBAC3C,2DCTA,IAAInE,EAAQG,WAGZ0G,IAAkB7G,EAAM,WAEtB,OAA+E,IAAxE4B,OAAOmB,eAAe,GAAI,EAAG,CAAE+D,IAAK,WAAc,OAAO,CAAE,IAAM,EAC1E,sCCNA,IAAIC,EAAc5G,KACdH,EAAQwB,WAIZwF,GAAiBD,GAAe/G,EAAM,WAEpC,OAGiB,KAHV4B,OAAOmB,eAAe,WAAY,EAAiB,YAAa,CACrEG,MAAO,GACPE,UAAU,IACTzC,SACL,gPCXA,IAAI8B,EAAatC,IACbwG,EAAWnF,KAEXgF,EAAW/D,EAAW+D,SAEtBS,EAASN,EAASH,IAAaG,EAASH,EAASU,sBAErDC,GAAiB,SAAU5F,GACzB,OAAO0F,EAAST,EAASU,cAAc3F,GAAM,CAAA,CAC/C,qCCTA,IAAIwF,EAAc5G,KACdH,EAAQwB,IACR0F,EAAgBxF,YAGpB0F,IAAkBL,IAAgB/G,EAAM,WAEtC,OAES,IAFF4B,OAAOmB,eAAemE,EAAc,OAAQ,IAAK,CACtDJ,IAAK,WAAc,OAAO,CAAE,IAC3BO,CACL,sCCVA,IAAI7G,EAAcL,IAEdS,EAAOF,SAASC,UAAUC,YAE9B0G,GAAiB9G,EAAcI,EAAKN,KAAKM,GAAQ,WAC/C,OAAOA,EAAKI,MAAMJ,EAAMK,UAC1B,wCCNA,IAAIwB,EAAatC,IACbuG,EAAalF,YAMjB+F,GAAiB,SAAUC,EAAWC,GACpC,OAAOxG,UAAUyG,OAAS,GALFvD,EAKgB1B,EAAW+E,GAJ5Cd,EAAWvC,GAAYA,OAAWO,GAIwBjC,EAAW+E,IAAc/E,EAAW+E,GAAWC,GALlG,IAAUtD,CAM1B,wCCTA,IAAIjD,EAAcf,WAElBwH,GAAiBzG,EAAY,CAAA,EAAG0G,kDCFhC,IAAIL,EAAapH,KACbuG,EAAalF,KACboG,EAAgBlG,KAChBsE,EAAoBF,KAEpBnE,EAAUC,cAEdiG,GAAiB7B,EAAoB,SAAUzE,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAIuG,EAAUP,EAAW,UACzB,OAAOb,EAAWoB,IAAYF,EAAcE,EAAQnH,UAAWgB,EAAQJ,GACzE,qCCZA,IAAI8D,EAAUP,cAEdiD,GAAiB,SAAU5D,GACzB,IACE,OAAOkB,EAAQlB,EACnB,CAAI,MAAOjE,GACP,MAAO,QACX,CACA,qCCRA,IAAIwG,EAAavG,KACb4H,EAAcvG,KAEdS,EAAaC,iBAGjB8F,GAAiB,SAAU7D,GACzB,GAAIuC,EAAWvC,GAAW,OAAOA,EACjC,MAAM,IAAIlC,EAAW8F,EAAY5D,GAAY,qBAC/C,qCCTA,IAAI6D,EAAY7H,KACZ6B,EAAoBR,WAIxByG,GAAiB,SAAUC,EAAGC,GAC5B,IAAIC,EAAOF,EAAEC,GACb,OAAOnG,EAAkBoG,QAAQ1D,EAAYsD,EAAUI,EACzD,qCCRA,IAAIxH,EAAOT,KACPuG,EAAalF,KACbmF,EAAWjF,KAEXO,EAAaC,iBAIjBmG,GAAiB,SAAUC,EAAOC,GAChC,IAAIxH,EAAIyH,EACR,GAAa,WAATD,GAAqB7B,EAAW3F,EAAKuH,EAAMnH,YAAcwF,EAAS6B,EAAM5H,EAAKG,EAAIuH,IAAS,OAAOE,EACrG,GAAI9B,EAAW3F,EAAKuH,EAAMG,WAAa9B,EAAS6B,EAAM5H,EAAKG,EAAIuH,IAAS,OAAOE,EAC/E,GAAa,WAATD,GAAqB7B,EAAW3F,EAAKuH,EAAMnH,YAAcwF,EAAS6B,EAAM5H,EAAKG,EAAIuH,IAAS,OAAOE,EACrG,MAAM,IAAIvG,EAAW,0CACvB,qCCdA,IAAIrB,EAAOT,KACPwG,EAAWnF,KACXqG,EAAWnG,KACXuG,EAAYnC,KACZuC,EAAsBtC,KACtBM,EAAkBJ,KAElBhE,EAAaC,UACbwG,EAAerC,EAAgB,sBAInCsC,GAAiB,SAAUL,EAAOC,GAChC,IAAK5B,EAAS2B,IAAUT,EAASS,GAAQ,OAAOA,EAChD,IACIM,EADAC,EAAeZ,EAAUK,EAAOI,GAEpC,GAAIG,EAAc,CAGhB,QAFanE,IAAT6D,IAAoBA,EAAO,WAC/BK,EAAShI,EAAKiI,EAAcP,EAAOC,IAC9B5B,EAASiC,IAAWf,EAASe,GAAS,OAAOA,EAClD,MAAM,IAAI3G,EAAW,0CACzB,CAEE,YADayC,IAAT6D,IAAoBA,EAAO,UACxBF,EAAoBC,EAAOC,EACpC,qCCxBA,IAAII,EAAcxI,KACd0H,EAAWrG,YAIfsH,GAAiB,SAAU3E,GACzB,IAAIlB,EAAM0F,EAAYxE,EAAU,UAChC,OAAO0D,EAAS5E,GAAOA,EAAMA,EAAM,EACrC,qCCRA,IAAI8D,EAAc5G,KACd4I,EAAiBvH,KACjBwH,EAA0BtH,KAC1BkF,EAAWd,KACXgD,EAAgB/C,KAEhB9D,EAAaC,UAEb+G,EAAkBrH,OAAOmB,eAEzBmG,EAA4BtH,OAAOuH,yBACnCC,EAAa,aACbC,EAAe,eACfC,EAAW,kBAIfC,GAAAC,EAAYzC,EAAciC,EAA0B,SAAwBS,EAAGtB,EAAGuB,GAIhF,GAHA9C,EAAS6C,GACTtB,EAAIW,EAAcX,GAClBvB,EAAS8C,GACQ,mBAAND,GAA0B,cAANtB,GAAqB,UAAWuB,GAAcJ,KAAYI,IAAeA,EAAWJ,GAAW,CAC5H,IAAIK,EAAUT,EAA0BO,EAAGtB,GACvCwB,GAAWA,EAAQL,KACrBG,EAAEtB,GAAKuB,EAAWxG,MAClBwG,EAAa,CACXvG,aAAckG,KAAgBK,EAAaA,EAAWL,GAAgBM,EAAQN,GAC9EO,WAAYR,KAAcM,EAAaA,EAAWN,GAAcO,EAAQP,GACxEhG,UAAU,GAGlB,CAAI,OAAO6F,EAAgBQ,EAAGtB,EAAGuB,EACjC,EAAIT,EAAkB,SAAwBQ,EAAGtB,EAAGuB,GAIlD,GAHA9C,EAAS6C,GACTtB,EAAIW,EAAcX,GAClBvB,EAAS8C,GACLX,EAAgB,IAClB,OAAOE,EAAgBQ,EAAGtB,EAAGuB,EACjC,CAAI,MAAOxJ,GAAO,CAChB,GAAI,QAASwJ,GAAc,QAASA,EAAY,MAAM,IAAIzH,EAAW,2BAErE,MADI,UAAWyH,IAAYD,EAAEtB,GAAKuB,EAAWxG,OACtCuG,CACT,wCC1CA,IAAII,kCCAJ,IAAIC,EAAOvH,KAAKuH,KACZC,EAAQxH,KAAKwH,aAKjBC,GAAiBzH,KAAKsH,OAAS,SAAeI,GAC5C,IAAIC,GAAKD,EACT,OAAQC,EAAI,EAAIH,EAAQD,GAAMI,EAChC,EDTY/J,UAIZgK,GAAiB,SAAUhG,GACzB,IAAIiG,GAAUjG,EAEd,OAAOiG,GAAWA,GAAqB,IAAXA,EAAe,EAAIP,EAAMO,EACvD,qCERA,IAAID,EAAsBhK,KAEtBkK,EAAM9H,KAAK8H,IACXC,EAAM/H,KAAK+H,WAKfC,GAAiB,SAAUC,EAAO9C,GAChC,IAAI+C,EAAUN,EAAoBK,GAClC,OAAOC,EAAU,EAAIJ,EAAII,EAAU/C,EAAQ,GAAK4C,EAAIG,EAAS/C,EAC/D,wCCXA,IAAIyC,EAAsBhK,KAEtBmK,EAAM/H,KAAK+H,WAIfI,GAAiB,SAAUvG,GACzB,IAAIwG,EAAMR,EAAoBhG,GAC9B,OAAOwG,EAAM,EAAIL,EAAIK,EAAK,kBAAoB,CAChD,qCCTA,IAAID,EAAWvK,YAIfyK,GAAiB,SAAUC,GACzB,OAAOH,EAASG,EAAInD,OACtB,qCCNA,IAAIrF,EAAkBlC,IAClBoK,EAAkB/I,KAClBoJ,EAAoBlJ,KAGpBoJ,EAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAAIzB,EAAIpH,EAAgB2I,GACpBtD,EAASkD,EAAkBnB,GAC/B,GAAe,IAAX/B,EAAc,OAAQqD,IAAe,EACzC,IACI7H,EADAsH,EAAQD,EAAgBW,EAAWxD,GAIvC,GAAIqD,GAAeE,GAAOA,GAAI,KAAOvD,EAAS8C,GAG5C,IAFAtH,EAAQuG,EAAEe,OAEItH,EAAO,OAAO,OAEvB,KAAMwE,EAAS8C,EAAOA,IAC3B,IAAKO,GAAeP,KAASf,IAAMA,EAAEe,KAAWS,EAAI,OAAOF,GAAeP,GAAS,EACnF,OAAQO,IAAe,CAC7B,CACA,SAEAI,GAAiB,CAGfC,SAAUN,GAAa,GAGvBO,QAASP,GAAa,qCC/BxBQ,GAAiB,CAAA,sCCAjB,IAAIpK,EAAcf,IACdkE,EAAS7C,KACTa,EAAkBX,IAClB2J,EAAUvF,KAAuCuF,QACjDC,EAAavF,KAEbpC,EAAOzC,EAAY,GAAGyC,aAE1B4H,GAAiB,SAAUC,EAAQC,GACjC,IAGIxI,EAHAwG,EAAIpH,EAAgBmJ,GACpBE,EAAI,EACJ9C,EAAS,GAEb,IAAK3F,KAAOwG,GAAIpF,EAAOiH,EAAYrI,IAAQoB,EAAOoF,EAAGxG,IAAQU,EAAKiF,EAAQ3F,GAE1E,KAAOwI,EAAM/D,OAASgE,GAAOrH,EAAOoF,EAAGxG,EAAMwI,EAAMC,SAChDL,EAAQzC,EAAQ3F,IAAQU,EAAKiF,EAAQ3F,IAExC,OAAO2F,CACT,mCClBA+C,GAAiB,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,+CCRF,IAAIC,EAAqBzL,KACrBwL,EAAcnK,YAKlBqK,GAAiBjK,OAAOkK,MAAQ,SAAcrC,GAC5C,OAAOmC,EAAmBnC,EAAGkC,EAC/B,qCCRA,IAAIpE,EAAapH,YAEjB4L,GAAiBxE,EAAW,WAAY,sDCFxC,IAAItD,EAAS9D,KACTsE,EAAMjD,KAENsK,EAAO7H,EAAO,eAElB+H,GAAiB,SAAU/I,GACzB,OAAO6I,EAAK7I,KAAS6I,EAAK7I,GAAOwB,EAAIxB,GACvC,qCCNA,IAoDIgJ,EApDArF,EAAWzG,KACX+L,kCCFJ,IAAInF,EAAc5G,KACd6I,EAA0BxH,KAC1B2K,EAAuBzK,KACvBkF,EAAWd,KACXzD,EAAkB0D,IAClB8F,EAAa5F,YAKjBmG,GAAA5C,EAAYzC,IAAgBiC,EAA0BpH,OAAOyK,iBAAmB,SAA0B5C,EAAG6C,GAC3G1F,EAAS6C,GAMT,IALA,IAIIxG,EAJAsJ,EAAQlK,EAAgBiK,GACxBR,EAAOD,EAAWS,GAClB5E,EAASoE,EAAKpE,OACd8C,EAAQ,EAEL9C,EAAS8C,GAAO2B,EAAqB3C,EAAEC,EAAGxG,EAAM6I,EAAKtB,KAAU+B,EAAMtJ,IAC5E,OAAOwG,CACT,KDjB6BjI,GACzBmK,EAAcjK,KACd4J,EAAaxF,KACbiG,EAAOhG,KACPoB,EAAwBlB,KACxB+F,EAAYQ,KAIZC,EAAY,YACZC,EAAS,SACTC,EAAWX,EAAU,YAErBY,EAAmB,WAAY,EAE/BC,EAAY,SAAUC,GACxB,MARO,IAQKJ,EATL,IASmBI,EAAnBC,KAAwCL,EATxC,GAUT,EAGIM,EAA4B,SAAUf,GACxCA,EAAgBgB,MAAMJ,EAAU,KAChCZ,EAAgBiB,QAChB,IAAIC,EAAOlB,EAAgBmB,aAAaxL,OAGxC,OADAqK,EAAkB,KACXkB,CACT,EAyBIE,EAAkB,WACpB,IACEpB,EAAkB,IAAIqB,cAAc,WACxC,CAAI,MAAOpN,GAAO,CAzBa,IAIzBqN,EAFAC,EACAC,EAuBJJ,EAAqC,oBAAZ7G,SACrBA,SAASkH,QAAUzB,EACjBe,EAA0Bf,IA1B5BuB,EAASrG,EAAsB,UAC/BsG,EAAK,OAASf,EAAS,IAE3Bc,EAAOG,MAAMC,QAAU,OACvB7B,EAAK8B,YAAYL,GAEjBA,EAAOM,IAAMhJ,OAAO2I,IACpBF,EAAiBC,EAAOO,cAAcvH,UACvBwH,OACfT,EAAeN,MAAMJ,EAAU,sBAC/BU,EAAeL,QACRK,EAAeU,GAiBlBjB,EAA0Bf,GAE9B,IADA,IAAIvE,EAASiE,EAAYjE,OAClBA,YAAiB2F,EAAgBZ,GAAWd,EAAYjE,IAC/D,OAAO2F,GACT,SAEA/B,EAAWqB,IAAY,EAKvBuB,GAAiBtM,OAAOuM,QAAU,SAAgB1E,EAAG6C,GACnD,IAAI1D,EAQJ,OAPU,OAANa,GACFmD,EAAiBH,GAAa7F,EAAS6C,GACvCb,EAAS,IAAIgE,EACbA,EAAiBH,GAAa,KAE9B7D,EAAO+D,GAAYlD,GACdb,EAASyE,SACM3I,IAAf4H,EAA2B1D,EAASsD,EAAuB1C,EAAEZ,EAAQ0D,EAC9E,qCEnFA,IAAIjG,EAAkBlG,KAClBgO,EAAS3M,KACTuB,EAAiBrB,KAA+C8H,EAEhE4E,EAAc/H,EAAgB,eAC9BgI,EAAiBC,MAAM3N,sBAIS+D,IAAhC2J,EAAeD,IACjBrL,EAAesL,EAAgBD,EAAa,CAC1CjL,cAAc,EACdD,MAAOiL,EAAO,QAKlBI,GAAiB,SAAUtL,GACzBoL,EAAeD,GAAanL,IAAO,CACrC,mCCnBAuL,GAAiB,CAAA,oCCAjBC,GAAiB,SAAUC,EAAQxL,GACjC,MAAO,CACL0G,aAAuB,EAAT8E,GACdvL,eAAyB,EAATuL,GAChBtL,WAAqB,EAATsL,GACZxL,MAAOA,EAEX,sCCPA,IAAI6D,EAAc5G,KACdgM,EAAuB3K,KACvBiN,EAA2B/M,YAE/BiN,GAAiB5H,EAAc,SAAUyE,EAAQvI,EAAKC,GACpD,OAAOiJ,EAAqB3C,EAAEgC,EAAQvI,EAAKwL,EAAyB,EAAGvL,GACzE,EAAI,SAAUsI,EAAQvI,EAAKC,GAEzB,OADAsI,EAAOvI,GAAOC,EACPsI,CACT,qCCTA,IAYIoD,EAAK9H,EAAK+H,EAZVC,kCCAJ,IAAIrM,EAAatC,IACbuG,EAAalF,KAEbuN,EAAUtM,EAAWsM,eAEzBC,GAAiBtI,EAAWqI,IAAY,cAAc1O,KAAKyE,OAAOiK,IDL5C5O,GAClBsC,EAAajB,IACbmF,EAAWjF,KACXiN,EAA8B7I,KAC9BzB,EAAS0B,KACT9B,EAASgC,KACT+F,EAAYQ,KACZlB,EAAa2D,KAEbC,EAA6B,6BAC7BhN,EAAYO,EAAWP,UACvB6M,EAAUtM,EAAWsM,QAgBzB,GAAID,GAAmB7K,EAAOkL,MAAO,CACnC,IAAI5L,EAAQU,EAAOkL,QAAUlL,EAAOkL,MAAQ,IAAIJ,GAEhDxL,EAAMuD,IAAMvD,EAAMuD,IAClBvD,EAAMsL,IAAMtL,EAAMsL,IAClBtL,EAAMqL,IAAMrL,EAAMqL,IAElBA,EAAM,SAAUrN,EAAI6N,GAClB,GAAI7L,EAAMsL,IAAItN,GAAK,MAAM,IAAIW,EAAUgN,GAGvC,OAFAE,EAASC,OAAS9N,EAClBgC,EAAMqL,IAAIrN,EAAI6N,GACPA,CACX,EACEtI,EAAM,SAAUvF,GACd,OAAOgC,EAAMuD,IAAIvF,IAAO,CAAA,CAC5B,EACEsN,EAAM,SAAUtN,GACd,OAAOgC,EAAMsL,IAAItN,EACrB,CACA,KAAO,CACL,IAAI+N,EAAQtD,EAAU,SACtBV,EAAWgE,IAAS,EACpBV,EAAM,SAAUrN,EAAI6N,GAClB,GAAI/K,EAAO9C,EAAI+N,GAAQ,MAAM,IAAIpN,EAAUgN,GAG3C,OAFAE,EAASC,OAAS9N,EAClBoN,EAA4BpN,EAAI+N,EAAOF,GAChCA,CACX,EACEtI,EAAM,SAAUvF,GACd,OAAO8C,EAAO9C,EAAI+N,GAAS/N,EAAG+N,GAAS,CAAA,CAC3C,EACET,EAAM,SAAUtN,GACd,OAAO8C,EAAO9C,EAAI+N,EACtB,CACA,QAEAC,GAAiB,CACfX,IAAKA,EACL9H,IAAKA,EACL+H,IAAKA,EACLW,QArDY,SAAUjO,GACtB,OAAOsN,EAAItN,GAAMuF,EAAIvF,GAAMqN,EAAIrN,EAAI,GACrC,EAoDEkO,UAlDc,SAAUC,GACxB,OAAO,SAAUnO,GACf,IAAI4N,EACJ,IAAKxI,EAASpF,KAAQ4N,EAAQrI,EAAIvF,IAAKoO,OAASD,EAC9C,MAAM,IAAIxN,EAAU,0BAA4BwN,EAAO,aACvD,OAAOP,CACb,CACA,4DEzBA,IAAIS,EAAwB,CAAA,EAAG7N,qBAE3BoH,EAA2BvH,OAAOuH,yBAGlC0G,EAAc1G,IAA6ByG,EAAsBhP,KAAK,CAAE,EAAG,GAAK,UAIpFkP,GAAAtG,EAAYqG,EAAc,SAA8B3H,GACtD,IAAI6H,EAAa5G,EAAyBtG,KAAMqF,GAChD,QAAS6H,GAAcA,EAAWnG,UACpC,EAAIgG,wCCZJ,IAAI7I,EAAc5G,KACdS,EAAOY,KACPwO,EAA6BtO,KAC7B+M,EAA2B3I,KAC3BzD,EAAkB0D,IAClB+C,EAAgB7C,KAChB5B,EAASmI,KACTzD,EAAiBkG,KAGjB/F,EAA4BtH,OAAOuH,gCAIvC8G,GAAAzG,EAAYzC,EAAcmC,EAA4B,SAAkCO,EAAGtB,GAGzF,GAFAsB,EAAIpH,EAAgBoH,GACpBtB,EAAIW,EAAcX,GACdY,EAAgB,IAClB,OAAOG,EAA0BO,EAAGtB,EACxC,CAAI,MAAOjI,GAAO,CAChB,GAAImE,EAAOoF,EAAGtB,GAAI,OAAOsG,GAA0B7N,EAAKoP,EAA2BxG,EAAGC,EAAGtB,GAAIsB,EAAEtB,GACjG,iFCrBA,IAAIpB,EAAc5G,KACdkE,EAAS7C,KAETf,EAAoBC,SAASC,UAE7BuP,EAAgBnJ,GAAenF,OAAOuH,yBAEtClC,EAAS5C,EAAO5D,EAAmB,QAEnC0P,EAASlJ,GAA0D,cAAhD,WAAqC,EAAEX,KAC1D+C,EAAepC,KAAYF,GAAgBA,GAAemJ,EAAczP,EAAmB,QAAQ0C,qBAEvGiN,GAAiB,CACfnJ,OAAQA,EACRkJ,OAAQA,EACR9G,aAAcA,sCCfhB,IAAInI,EAAcf,IACduG,EAAalF,KACb+B,EAAQ7B,KAER2O,EAAmBnP,EAAYR,SAASS,iBAGvCuF,EAAWnD,EAAM+M,iBACpB/M,EAAM+M,cAAgB,SAAU/O,GAC9B,OAAO8O,EAAiB9O,EAC5B,GAGA+O,GAAiB/M,EAAM+M,yDCbvB,IAAIpP,EAAcf,IACdH,EAAQwB,IACRkF,EAAahF,KACb2C,EAASyB,KACTiB,EAAchB,KACdwK,EAA6BtK,KAAsCoD,aACnEiH,EAAgB9D,KAChBgE,EAAsBvB,KAEtBwB,EAAuBD,EAAoBhB,QAC3CkB,EAAmBF,EAAoB1J,IACvCzB,EAAUP,OAEV/B,EAAiBnB,OAAOmB,eACxB3B,EAAcF,EAAY,GAAGG,OAC7BsP,EAAUzP,EAAY,GAAGyP,SACzBC,EAAO1P,EAAY,GAAG0P,MAEtBC,EAAsB9J,IAAgB/G,EAAM,WAC9C,OAAsF,IAA/E+C,EAAe,WAAY,EAAiB,SAAU,CAAEG,MAAO,IAAKwE,MAC7E,GAEIoJ,EAAWhM,OAAOA,QAAQjD,MAAM,UAEhCkP,EAAcC,GAAAvN,QAAiB,SAAUP,EAAOoD,EAAM2K,GACf,YAArC7P,EAAYiE,EAAQiB,GAAO,EAAG,KAChCA,EAAO,IAAMqK,EAAQtL,EAAQiB,GAAO,wBAAyB,MAAQ,KAEnE2K,GAAWA,EAAQC,SAAQ5K,EAAO,OAASA,GAC3C2K,GAAWA,EAAQE,SAAQ7K,EAAO,OAASA,KAC1CjC,EAAOnB,EAAO,SAAYqN,GAA8BrN,EAAMoD,OAASA,KACtES,EAAahE,EAAeG,EAAO,OAAQ,CAAEA,MAAOoD,EAAMnD,cAAc,IACvED,EAAMoD,KAAOA,GAEhBuK,GAAuBI,GAAW5M,EAAO4M,EAAS,UAAY/N,EAAMwE,SAAWuJ,EAAQG,OACzFrO,EAAeG,EAAO,SAAU,CAAEA,MAAO+N,EAAQG,QAEnD,IACMH,GAAW5M,EAAO4M,EAAS,gBAAkBA,EAAQI,YACnDtK,GAAahE,EAAeG,EAAO,YAAa,CAAEE,UAAU,IAEvDF,EAAMvC,YAAWuC,EAAMvC,eAAY+D,EAClD,CAAI,MAAOxE,GAAO,CAChB,IAAIiP,EAAQsB,EAAqBvN,GAG/B,OAFGmB,EAAO8K,EAAO,YACjBA,EAAMnL,OAAS4M,EAAKE,EAAyB,iBAARxK,EAAmBA,EAAO,KACxDpD,CACX,SAIAxC,SAASC,UAAUQ,SAAW4P,EAAY,WACxC,OAAOrK,EAAW7D,OAAS6N,EAAiB7N,MAAMmB,QAAUsM,EAAczN,KAC5E,EAAG,0DCrDH,IAAI6D,EAAavG,KACbgM,EAAuB3K,KACvBuP,EAAcrP,KACdsB,EAAuB8C,YAE3BwL,GAAiB,SAAU7H,EAAGxG,EAAKC,EAAO+N,GACnCA,IAASA,EAAU,CAAA,GACxB,IAAIM,EAASN,EAAQrH,WACjBtD,OAAwB5B,IAAjBuM,EAAQ3K,KAAqB2K,EAAQ3K,KAAOrD,EAEvD,GADIyD,EAAWxD,IAAQ6N,EAAY7N,EAAOoD,EAAM2K,GAC5CA,EAAQrO,OACN2O,EAAQ9H,EAAExG,GAAOC,EAChBF,EAAqBC,EAAKC,OAC1B,CACL,IACO+N,EAAQO,OACJ/H,EAAExG,KAAMsO,GAAS,UADE9H,EAAExG,EAEpC,CAAM,MAAO/C,GAAO,CACZqR,EAAQ9H,EAAExG,GAAOC,EAChBiJ,EAAqB3C,EAAEC,EAAGxG,EAAK,CAClCC,MAAOA,EACP0G,YAAY,EACZzG,cAAe8N,EAAQQ,gBACvBrO,UAAW6N,EAAQS,aAEzB,CAAI,OAAOjI,CACX,kDC1BA,IAAImC,EAAqBzL,KAGrBmL,EAFc9J,KAEWmQ,OAAO,SAAU,oBAK9CC,GAAApI,EAAY5H,OAAOiQ,qBAAuB,SAA6BpI,GACrE,OAAOmC,EAAmBnC,EAAG6B,EAC/B,iJCTAwG,GAAAtI,EAAY5H,OAAO2D,6DCDnB,IAAIgC,EAAapH,KACbe,EAAcM,IACduQ,EAA4BrQ,KAC5BsQ,EAA8BlM,KAC9Bc,EAAWb,KAEX4L,EAASzQ,EAAY,GAAGyQ,eAG5BM,GAAiB1K,EAAW,UAAW,YAAc,SAAiBhG,GACpE,IAAIuK,EAAOiG,EAA0BvI,EAAE5C,EAASrF,IAC5CgE,EAAwByM,EAA4BxI,EACxD,OAAOjE,EAAwBoM,EAAO7F,EAAMvG,EAAsBhE,IAAOuK,CAC3E,qCCbA,IAAIzH,EAASlE,KACT8R,EAAUzQ,KACV0Q,EAAiCxQ,KACjCyK,EAAuBrG,YAE3BqM,GAAiB,SAAUC,EAAQpO,EAAQqO,GAIzC,IAHA,IAAIvG,EAAOmG,EAAQjO,GACfjB,EAAiBoJ,EAAqB3C,EACtCL,EAA2B+I,EAA+B1I,EACrDkC,EAAI,EAAGA,EAAII,EAAKpE,OAAQgE,IAAK,CACpC,IAAIzI,EAAM6I,EAAKJ,GACVrH,EAAO+N,EAAQnP,IAAUoP,GAAchO,EAAOgO,EAAYpP,IAC7DF,EAAeqP,EAAQnP,EAAKkG,EAAyBnF,EAAQf,GAEnE,CACA,qCCfA,IAAIjD,EAAQG,IACRuG,EAAalF,KAEb8Q,EAAc,kBAEdC,EAAW,SAAUC,EAASC,GAChC,IAAIvP,EAAQwP,EAAKC,EAAUH,IAC3B,OAAOtP,IAAU0P,GACb1P,IAAU2P,IACVnM,EAAW+L,GAAazS,EAAMyS,KAC5BA,EACR,EAEIE,EAAYJ,EAASI,UAAY,SAAUG,GAC7C,OAAOhO,OAAOgO,GAAQnC,QAAQ2B,EAAa,KAAKS,aAClD,EAEIL,EAAOH,EAASG,KAAO,CAAA,EACvBG,EAASN,EAASM,OAAS,IAC3BD,EAAWL,EAASK,SAAW,WAEnCI,GAAiBT,qCCrBjB,IAAI9P,EAAatC,IACbgJ,EAA2B3H,KAA2DgI,EACtFmF,EAA8BjN,KAC9B4P,EAAgBxL,KAChB9C,EAAuB+C,KACvBoM,EAA4BlM,KAC5BsM,EAAW/F,YAiBfyG,GAAiB,SAAUhC,EAASjN,GAClC,IAGYoO,EAAQnP,EAAKiQ,EAAgBC,EAAgBpD,EAHrDqD,EAASnC,EAAQmB,OACjBiB,EAASpC,EAAQrO,OACjB0Q,EAASrC,EAAQsC,KASrB,GANEnB,EADEiB,EACO5Q,EACA6Q,EACA7Q,EAAW2Q,IAAWpQ,EAAqBoQ,EAAQ,CAAA,GAEnD3Q,EAAW2Q,IAAW3Q,EAAW2Q,GAAQzS,UAExC,IAAKsC,KAAOe,EAAQ,CAQ9B,GAPAmP,EAAiBnP,EAAOf,GAGtBiQ,EAFEjC,EAAQuC,gBACVzD,EAAa5G,EAAyBiJ,EAAQnP,KACf8M,EAAW7M,MACpBkP,EAAOnP,IACtBsP,EAASc,EAASpQ,EAAMmQ,GAAUE,EAAS,IAAM,KAAOrQ,EAAKgO,EAAQwC,cAE5C/O,IAAnBwO,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDf,EAA0BgB,EAAgBD,EAChD,EAEQjC,EAAQvL,MAASwN,GAAkBA,EAAexN,OACpDiJ,EAA4BwE,EAAgB,QAAQ,GAEtD7B,EAAcc,EAAQnP,EAAKkQ,EAAgBlC,EAC/C,CACA,qCCrDA,IAAI5M,EAASlE,KACTuG,EAAalF,KACb0C,EAAWxC,KACXsK,EAAYlG,KACZ4N,kCCJJ,IAAI1T,EAAQG,WAEZwT,IAAkB3T,EAAM,WACtB,SAASiO,IAAI,CAGb,OAFAA,EAAEtN,UAAU0Q,YAAc,KAEnBzP,OAAOgS,eAAe,IAAI3F,KAASA,EAAEtN,SAC9C,GDH+BoF,GAE3B4G,EAAWX,EAAU,YACrBrK,EAAUC,OACViS,EAAkBlS,EAAQhB,iBAK9BmT,GAAiBJ,EAA2B/R,EAAQiS,eAAiB,SAAUnK,GAC7E,IAAI+B,EAAStH,EAASuF,GACtB,GAAIpF,EAAOmH,EAAQmB,GAAW,OAAOnB,EAAOmB,GAC5C,IAAI0E,EAAc7F,EAAO6F,YACzB,OAAI3K,EAAW2K,IAAgB7F,aAAkB6F,EACxCA,EAAY1Q,UACZ6K,aAAkB7J,EAAUkS,EAAkB,IACzD,qCEpBA,IAcIE,EAAmBC,EAAmCC,EAdtDjU,EAAQG,IACRuG,EAAalF,KACbmF,EAAWjF,KACXyM,EAASrI,KACT8N,EAAiB7N,KACjBuL,EAAgBrL,KAChBI,EAAkBmG,KAClBnJ,EAAU4L,KAEViF,EAAW7N,EAAgB,YAC3B8N,GAAyB,QAOzB,GAAGrI,OAGC,SAFNmI,EAAgB,GAAGnI,SAIjBkI,EAAoCJ,EAAeA,EAAeK,OACxBrS,OAAOjB,YAAWoT,EAAoBC,GAHlDG,GAAyB,IAO7BxN,EAASoN,IAAsB/T,EAAM,WACjE,IAAIK,EAAO,CAAA,EAEX,OAAO0T,EAAkBG,GAAUtT,KAAKP,KAAUA,CACpD,GAE4B0T,EAAoB,CAAA,EACvC1Q,IAAS0Q,EAAoB5F,EAAO4F,IAIxCrN,EAAWqN,EAAkBG,KAChC5C,EAAcyC,EAAmBG,EAAU,WACzC,OAAOrR,IACX,GAGAuR,GAAiB,CACfL,kBAAmBA,EACnBI,uBAAwBA,sCC9C1B,IAAIpR,EAAiB5C,KAA+CqJ,EAChEnF,EAAS7C,KAGT6S,EAFkB3S,IAEF2E,CAAgB,sBAEpCiO,GAAiB,SAAUlC,EAAQmC,EAAKjB,GAClClB,IAAWkB,IAAQlB,EAASA,EAAOzR,WACnCyR,IAAW/N,EAAO+N,EAAQiC,IAC5BtR,EAAeqP,EAAQiC,EAAe,CAAElR,cAAc,EAAMD,MAAOqR,GAEvE,qCCXA,IAAIR,EAAoB5T,KAAuC4T,kBAC3D5F,EAAS3M,KACTiN,EAA2B/M,KAC3B4S,EAAiBxO,KACjB0O,EAAYzO,KAEZ0O,EAAa,WAAc,OAAO5R,IAAK,SAE3C6R,GAAiB,SAAUC,EAAqBC,EAAMC,EAAMC,GAC1D,IAAIT,EAAgBO,EAAO,YAI3B,OAHAD,EAAoBhU,UAAYwN,EAAO4F,EAAmB,CAAEc,KAAMpG,IAA2BqG,EAAiBD,KAC9GP,EAAeK,EAAqBN,GAAe,GAAO,GAC1DG,EAAUH,GAAiBI,EACpBE,CACT,qCCdA,IAAIhO,EAAWxG,YAEf4U,GAAiB,SAAU5Q,GACzB,OAAOwC,EAASxC,IAA0B,OAAbA,CAC/B,qCCJA,IAAI4Q,EAAsB5U,KAEtBkF,EAAUP,OACV7C,EAAaC,iBAEjB8S,GAAiB,SAAU7Q,GACzB,GAAI4Q,EAAoB5Q,GAAW,OAAOA,EAC1C,MAAM,IAAIlC,EAAW,aAAeoD,EAAQlB,GAAY,kBAC1D,qCCPA,IAAI8Q,kCCDJ,IAAI/T,EAAcf,IACd6H,EAAYxG,YAEhB0T,GAAiB,SAAU1J,EAAQvI,EAAKwE,GACtC,IAEE,OAAOvG,EAAY8G,EAAUpG,OAAOuH,yBAAyBqC,EAAQvI,GAAKwE,IAC9E,CAAI,MAAOvH,GAAO,CAClB,EDP0BC,GACtBwG,EAAWnF,KACXW,EAAyBT,IACzBsT,EAAqBlP,YAMzBqP,GAAiBvT,OAAOwT,iBAAmB,aAAe,CAAA,EAAK,WAC7D,IAEIjE,EAFAkE,GAAiB,EACjBhV,EAAO,CAAA,EAEX,KACE8Q,EAAS8D,EAAoBrT,OAAOjB,UAAW,YAAa,QACrDN,EAAM,IACbgV,EAAiBhV,aAAgBiO,KACrC,CAAI,MAAOpO,GAAO,CAChB,OAAO,SAAwBuJ,EAAG6L,GAGhC,OAFAnT,EAAuBsH,GACvBuL,EAAmBM,GACd3O,EAAS8C,IACV4L,EAAgBlE,EAAO1H,EAAG6L,GACzB7L,EAAE8L,UAAYD,EACZ7L,GAHkBA,CAI7B,CACA,CAjB+D,QAiBzD/E,sCE3BN,IAAI8Q,EAAIrV,KACJS,EAAOY,KACP6B,EAAU3B,KACV+T,EAAe3P,KACfY,EAAaX,KACb2P,EAA4BzP,KAC5B2N,EAAiBpH,KACjB4I,EAAiBnG,KACjBqF,EAAiBqB,KACjBhH,EAA8BiH,KAC9BtE,EAAgBuE,KAChBxP,EAAkByP,KAClBtB,EAAYuB,KACZC,EAAgBC,KAEhBC,EAAuBT,EAAatF,OACpCI,EAA6BkF,EAAapM,aAC1C0K,EAAoBiC,EAAcjC,kBAClCI,EAAyB6B,EAAc7B,uBACvCD,EAAW7N,EAAgB,YAC3B8P,EAAO,OACPC,EAAS,SACTC,EAAU,UAEV5B,EAAa,WAAc,OAAO5R,IAAK,SAE3CyT,GAAiB,SAAUC,EAAU3B,EAAMD,EAAqBE,EAAM2B,EAASC,EAAQC,GACrFhB,EAA0Bf,EAAqBC,EAAMC,GAErD,IAqBI8B,EAA0BC,EAASC,EArBnCC,EAAqB,SAAUC,GACjC,GAAIA,IAASP,GAAWQ,EAAiB,OAAOA,EAChD,IAAK7C,GAA0B4C,GAAQA,KAAQE,EAAmB,OAAOA,EAAkBF,GAE3F,OAAQA,GACN,KAAKZ,EACL,KAAKC,EACL,KAAKC,EAAS,OAAO,WAAqB,OAAO,IAAI1B,EAAoB9R,KAAMkU,EAAM,EAGvF,OAAO,WAAc,OAAO,IAAIpC,EAAoB9R,KAAM,CAC9D,EAEMwR,EAAgBO,EAAO,YACvBsC,GAAwB,EACxBD,EAAoBV,EAAS5V,UAC7BwW,EAAiBF,EAAkB/C,IAClC+C,EAAkB,eAClBT,GAAWS,EAAkBT,GAC9BQ,GAAmB7C,GAA0BgD,GAAkBL,EAAmBN,GAClFY,EAA6B,UAATxC,GAAmBqC,EAAkBI,SAA4BF,EA+BzF,GA3BIC,IACFT,EAA2B/C,EAAewD,EAAkBxW,KAAK,IAAI2V,OACpC3U,OAAOjB,WAAagW,EAAyB9B,OACvExR,GAAWuQ,EAAe+C,KAA8B5C,IACvDqB,EACFA,EAAeuB,EAA0B5C,GAC/BrN,EAAWiQ,EAAyBzC,KAC9C5C,EAAcqF,EAA0BzC,EAAUO,IAItDH,EAAeqC,EAA0BtC,GAAe,GAAM,GAC1DhR,IAASmR,EAAUH,GAAiBI,IAKxCyB,GAAwBM,IAAYJ,GAAUe,GAAkBA,EAAe7Q,OAAS8P,KACrF/S,GAAWkN,EACd5B,EAA4BsI,EAAmB,OAAQb,IAEvDc,GAAwB,EACxBF,EAAkB,WAAoB,OAAOpW,EAAKuW,EAAgBtU,KAAM,IAKxE2T,EAMF,GALAI,EAAU,CACRU,OAAQR,EAAmBV,GAC3BtK,KAAM2K,EAASO,EAAkBF,EAAmBX,GACpDkB,QAASP,EAAmBT,IAE1BK,EAAQ,IAAKG,KAAOD,GAClBzC,GAA0B+C,KAA2BL,KAAOI,KAC9D3F,EAAc2F,EAAmBJ,EAAKD,EAAQC,SAE3CrB,EAAE,CAAEpD,OAAQwC,EAAMU,OAAO,EAAM7B,OAAQU,GAA0B+C,GAAyBN,GASnG,OALMvT,IAAWqT,GAAWO,EAAkB/C,KAAc8C,GAC1D1F,EAAc2F,EAAmB/C,EAAU8C,EAAiB,CAAE1Q,KAAMkQ,IAEtEhC,EAAUI,GAAQoC,EAEXJ,CACT,mCClGAW,GAAiB,SAAUrU,EAAOsU,GAChC,MAAO,CAAEtU,MAAOA,EAAOsU,KAAMA,EAC/B,sCCJA,IAAInV,EAAkBlC,IAClBoO,EAAmB/M,KACnBgT,EAAY9S,KACZ8O,EAAsB1K,KACtB/C,EAAiBgD,KAA+CyD,EAChEiO,EAAiBxR,KACjBsR,EAAyB/K,KACzBnJ,EAAU4L,KACVlI,EAAc4O,KAEd+B,EAAiB,iBACjBC,EAAmBnH,EAAoB5B,IACvC8B,EAAmBF,EAAoBf,UAAUiI,GAYrDE,GAAiBH,EAAenJ,MAAO,QAAS,SAAUuJ,EAAUC,GAClEH,EAAiB9U,KAAM,CACrB8M,KAAM+H,EACNtF,OAAQ/P,EAAgBwV,GACxBrN,MAAO,EACPsN,KAAMA,GAIV,EAAG,WACD,IAAI3I,EAAQuB,EAAiB7N,MACzBuP,EAASjD,EAAMiD,OACf5H,EAAQ2E,EAAM3E,QAClB,IAAK4H,GAAU5H,GAAS4H,EAAO1K,OAE7B,OADAyH,EAAMiD,OAAS,KACRmF,OAAuB7S,GAAW,GAE3C,OAAQyK,EAAM2I,MACZ,IAAK,OAAQ,OAAOP,EAAuB/M,GAAO,GAClD,IAAK,SAAU,OAAO+M,EAAuBnF,EAAO5H,IAAQ,GAC5D,OAAO+M,EAAuB,CAAC/M,EAAO4H,EAAO5H,KAAS,EAC1D,EAAG,UAKH,IAAI8M,EAAS9C,EAAUuD,UAAYvD,EAAUlG,MAQ7C,GALAC,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,YAGZlL,GAAW0D,GAA+B,WAAhBuQ,EAAOhR,KAAmB,IACvDvD,EAAeuU,EAAQ,OAAQ,CAAEpU,MAAO,UAC1C,CAAE,MAAOhD,GAAO,0EC1DhB8X,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,EAFwB7Z,IAEZgH,CAAsB,QAAQ6S,UAC1CC,EAAwBD,GAAaA,EAAU3I,aAAe2I,EAAU3I,YAAY1Q,iBAExFuZ,GAAiBD,IAA0BrY,OAAOjB,eAAY+D,EAAYuV,mCCN1E,IAAIxX,EAAatC,IACbga,EAAe3Y,KACfyY,EAAwBvY,KACxB0Y,EAAuBtU,KACvB6I,EAA8B5I,KAC9BuO,EAAiBrO,KAGjBiO,EAFkB1H,IAEPnG,CAAgB,YAC3BgU,EAAcD,EAAqB9C,OAEnCgD,EAAkB,SAAUC,EAAqBC,GACnD,GAAID,EAAqB,CAEvB,GAAIA,EAAoBrG,KAAcmG,EAAa,IACjD1L,EAA4B4L,EAAqBrG,EAAUmG,EACjE,CAAM,MAAOna,GACPqa,EAAoBrG,GAAYmG,CACtC,CAEI,GADA/F,EAAeiG,EAAqBC,GAAiB,GACjDL,EAAaK,GAAkB,IAAK,IAAIC,KAAeL,EAEzD,GAAIG,EAAoBE,KAAiBL,EAAqBK,GAAc,IAC1E9L,EAA4B4L,EAAqBE,EAAaL,EAAqBK,GAC3F,CAAQ,MAAOva,GACPqa,EAAoBE,GAAeL,EAAqBK,EAChE,CAEA,CACA,EAEA,IAAK,IAAID,KAAmBL,EAC1BG,EAAgB7X,EAAW+X,IAAoB/X,EAAW+X,GAAiB7Z,UAAW6Z,GAGxFF,EAAgBL,EAAuB,mNCnCvC,IAAIS,kCCAJ,IAGIra,EAAO,CAAA,SAEXA,EALsBF,IAEFkG,CAAgB,gBAGd,IAEtBsU,GAAkC,eAAjB7V,OAAOzE,GDPIF,GACxBuG,EAAalF,KACbF,EAAaI,IAGb2S,EAFkBvO,IAEFO,CAAgB,eAChC1E,EAAUC,OAGVgZ,EAAwE,cAApDtZ,EAAW,WAAc,OAAOL,SAAU,CAA/B,WAUnCQ,GAAiBiZ,EAAwBpZ,EAAa,SAAUC,GAC9D,IAAIkI,EAAGoR,EAAKjS,EACZ,YAAclE,IAAPnD,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjDsZ,EAXD,SAAUtZ,EAAI0B,GACzB,IACE,OAAO1B,EAAG0B,EACd,CAAI,MAAO/C,GAAO,CAClB,CAOoB4a,CAAOrR,EAAI9H,EAAQJ,GAAK8S,IAA8BwG,EAEpED,EAAoBtZ,EAAWmI,GAEF,YAA5Bb,EAAStH,EAAWmI,KAAoB/C,EAAW+C,EAAEsR,QAAU,YAAcnS,CACpF,qCE5BA,IAAInH,EAAUtB,KAEVkF,EAAUP,cAEd3D,GAAiB,SAAUgD,GACzB,GAA0B,WAAtB1C,EAAQ0C,GAAwB,MAAM,IAAIjC,UAAU,6CACxD,OAAOmD,EAAQlB,EACjB,qCCPA,IAAIjD,EAAcf,IACdgK,EAAsB3I,KACtBL,EAAWO,KACXS,EAAyB2D,IAEzBkV,EAAS9Z,EAAY,GAAG8Z,QACxBC,EAAa/Z,EAAY,GAAG+Z,YAC5B7Z,EAAcF,EAAY,GAAGG,OAE7ByJ,EAAe,SAAUoQ,GAC3B,OAAO,SAAUlQ,EAAOmQ,GACtB,IAGIC,EAAOC,EAHPC,EAAIna,EAASgB,EAAuB6I,IACpCuQ,EAAWpR,EAAoBgR,GAC/BK,EAAOF,EAAE5T,OAEb,OAAI6T,EAAW,GAAKA,GAAYC,EAAaN,EAAoB,QAAKxW,GACtE0W,EAAQH,EAAWK,EAAGC,IACP,OAAUH,EAAQ,OAAUG,EAAW,IAAMC,IACtDH,EAASJ,EAAWK,EAAGC,EAAW,IAAM,OAAUF,EAAS,MAC3DH,EACEF,EAAOM,EAAGC,GACVH,EACFF,EACE9Z,EAAYka,EAAGC,EAAUA,EAAW,GACVF,EAAS,OAAlCD,EAAQ,OAAU,IAA0B,KACzD,CACA,SAEAK,GAAiB,CAGfC,OAAQ5Q,GAAa,GAGrBkQ,OAAQlQ,GAAa,uCClCvB,IAAI9K,EAAQG,IACRkG,EAAkB7E,KAClBuF,EAAcrF,KACd2B,EAAUyC,KAEVoO,EAAW7N,EAAgB,mBAE/BsV,IAAkB3b,EAAM,WAEtB,IAAI4b,EAAM,IAAIC,IAAI,gBAAiB,aAC/BC,EAASF,EAAIG,aACbC,EAAU,IAAIC,gBAAgB,eAC9BrT,EAAS,GAUb,OATAgT,EAAIM,SAAW,QACfJ,EAAOK,QAAQ,SAAUjZ,EAAOD,GAC9B6Y,EAAe,OAAE,KACjBlT,GAAU3F,EAAMC,CACpB,GACE8Y,EAAgB,OAAE,IAAK,GAGvBA,EAAgB,OAAE,SAAKtX,GACfrB,KAAauY,EAAIQ,SAAWJ,EAAQnN,IAAI,IAAK,IAAMmN,EAAQnN,IAAI,IAAK,KAAOmN,EAAQnN,IAAI,SAAKnK,IAAcsX,EAAQnN,IAAI,QACvHiN,EAAON,OAASnY,IAAY0D,KAC7B+U,EAAOO,MACK,4BAAbT,EAAIU,MACgB,MAApBR,EAAOhV,IAAI,MAC6B,QAAxChC,OAAO,IAAImX,gBAAgB,WAC1BH,EAAO5H,IAE4B,MAApC,IAAI2H,IAAI,eAAeU,UACsC,MAA7D,IAAIN,gBAAgB,IAAIA,gBAAgB,QAAQnV,IAAI,MAEnB,eAAjC,IAAI+U,IAAI,gBAAgBW,MAEQ,YAAhC,IAAIX,IAAI,eAAeY,MAEZ,SAAX7T,GAEyC,MAAzC,IAAIiT,IAAI,iBAAanX,GAAW8X,IACvC,sCCxCA,IAAIlb,EAAanB,IACbe,EAAcM,WAElBkb,GAAiB,SAAU3b,GAIzB,GAAuB,aAAnBO,EAAWP,GAAoB,OAAOG,EAAYH,EACxD,qCCRA,IAAIG,EAAcf,KACd6H,EAAYxG,KACZhB,EAAckB,IAEdpB,EAAOY,EAAYA,EAAYZ,aAGnCqc,GAAiB,SAAU5b,EAAI6b,GAE7B,OADA5U,EAAUjH,QACM2D,IAATkY,EAAqB7b,EAAKP,EAAcF,EAAKS,EAAI6b,GAAQ,WAC9D,OAAO7b,EAAGC,MAAM4b,EAAM3b,UAC1B,CACA,wCCZA,IAAI8P,EAAc5Q,KACd4C,EAAiBvB,YAErBqb,GAAiB,SAAUzK,EAAQ9L,EAAMyJ,GAGvC,OAFIA,EAAWjJ,KAAKiK,EAAYhB,EAAWjJ,IAAKR,EAAM,CAAE4K,QAAQ,IAC5DnB,EAAWnB,KAAKmC,EAAYhB,EAAWnB,IAAKtI,EAAM,CAAE6K,QAAQ,IACzDpO,EAAeyG,EAAE4I,EAAQ9L,EAAMyJ,EACxC,qCCPA,IAAInI,EAAgBzH,KAEhB8B,EAAaC,iBAEjB4a,GAAiB,SAAUvb,EAAIwb,GAC7B,GAAInV,EAAcmV,EAAWxb,GAAK,OAAOA,EACzC,MAAM,IAAIU,EAAW,uBACvB,qCCPA,IAAIrB,EAAOT,KACPyG,EAAWpF,KACXyG,EAAYvG,YAEhBsb,GAAiB,SAAUnX,EAAUiS,EAAM5U,GACzC,IAAI+Z,EAAaC,EACjBtW,EAASf,GACT,IAEE,KADAoX,EAAchV,EAAUpC,EAAU,WAChB,CAChB,GAAa,UAATiS,EAAkB,MAAM5U,EAC5B,OAAOA,CACb,CACI+Z,EAAcrc,EAAKqc,EAAapX,EACpC,CAAI,MAAO3F,GACPgd,GAAa,EACbD,EAAc/c,CAClB,CACE,GAAa,UAAT4X,EAAkB,MAAM5U,EAC5B,GAAIga,EAAY,MAAMD,EAEtB,OADArW,EAASqW,GACF/Z,CACT,qCCtBA,IAAI0D,EAAWzG,KACX6c,EAAgBxb,YAGpB2b,GAAiB,SAAUtX,EAAU9E,EAAImC,EAAOmT,GAC9C,IACE,OAAOA,EAAUtV,EAAG6F,EAAS1D,GAAO,GAAIA,EAAM,IAAMnC,EAAGmC,EAC3D,CAAI,MAAOhD,GACP8c,EAAcnX,EAAU,QAAS3F,EACrC,CACA,qCCVA,IAAImG,EAAkBlG,KAClBqU,EAAYhT,KAEZ0S,EAAW7N,EAAgB,YAC3BgI,EAAiBC,MAAM3N,iBAG3Byc,GAAiB,SAAU7b,GACzB,YAAcmD,IAAPnD,IAAqBiT,EAAUlG,QAAU/M,GAAM8M,EAAe6F,KAAc3S,EACrF,qCCTA,IAAIL,EAAcf,IACdH,EAAQwB,IACRkF,EAAahF,KACbD,EAAUqE,KACVyB,EAAaxB,KACbuK,EAAgBrK,KAEhBoX,EAAO,WAAY,EACnBC,EAAY/V,EAAW,UAAW,aAClCgW,EAAoB,2BACpBtd,EAAOiB,EAAYqc,EAAkBtd,MACrCud,GAAuBD,EAAkBld,KAAKgd,GAE9CI,EAAsB,SAAuBtZ,GAC/C,IAAKuC,EAAWvC,GAAW,OAAO,EAClC,IAEE,OADAmZ,EAAUD,EAAM,GAAIlZ,IACb,CACX,CAAI,MAAOjE,GACP,OAAO,CACX,CACA,EAEIwd,EAAsB,SAAuBvZ,GAC/C,IAAKuC,EAAWvC,GAAW,OAAO,EAClC,OAAQ1C,EAAQ0C,IACd,IAAK,gBACL,IAAK,oBACL,IAAK,yBAA0B,OAAO,EAExC,IAIE,OAAOqZ,KAAyBvd,EAAKsd,EAAmBjN,EAAcnM,GAC1E,CAAI,MAAOjE,GACP,OAAO,CACX,CACA,SAEAwd,EAAoBhY,MAAO,EAI3BiY,IAAkBL,GAAatd,EAAM,WACnC,IAAI4d,EACJ,OAAOH,EAAoBA,EAAoB7c,QACzC6c,EAAoB7b,UACpB6b,EAAoB,WAAcG,GAAS,CAAK,IACjDA,CACP,GAAKF,EAAsBD,qCClD3B,IAAI1W,EAAc5G,KACdgM,EAAuB3K,KACvBiN,EAA2B/M,YAE/Bmc,GAAiB,SAAUrS,EAAQvI,EAAKC,GAClC6D,EAAaoF,EAAqB3C,EAAEgC,EAAQvI,EAAKwL,EAAyB,EAAGvL,IAC5EsI,EAAOvI,GAAOC,CACrB,qCCPA,IAAIzB,EAAUtB,WAKd2d,GAAiBxP,MAAMwP,SAAW,SAAiB3Z,GACjD,MAA6B,UAAtB1C,EAAQ0C,EACjB,qCCPA,IAAI4C,EAAc5G,KACd2d,EAAUtc,KAEVS,EAAaC,UAEbiH,EAA2BvH,OAAOuH,yBAGlC4U,EAAoChX,IAAgB,WAEtD,QAAarC,IAAT7B,KAAoB,OAAO,EAC/B,IAEEjB,OAAOmB,eAAe,GAAI,SAAU,CAAEK,UAAU,IAASsE,OAAS,CACtE,CAAI,MAAOxH,GACP,OAAOA,aAAiBgC,SAC5B,CACA,CATwD,UAWxD8b,GAAiBD,EAAoC,SAAUtU,EAAG/B,GAChE,GAAIoW,EAAQrU,KAAON,EAAyBM,EAAG,UAAUrG,SACvD,MAAM,IAAInB,EAAW,gCACrB,OAAOwH,EAAE/B,OAASA,CACtB,EAAI,SAAU+B,EAAG/B,GACf,OAAO+B,EAAE/B,OAASA,CACpB,qCCzBA,IAAIjG,EAAUtB,KACV8H,EAAYzG,KACZQ,EAAoBN,IACpB8S,EAAY1O,KAGZoO,EAFkBnO,IAEPM,CAAgB,mBAE/B4X,GAAiB,SAAU1c,GACzB,IAAKS,EAAkBT,GAAK,OAAO0G,EAAU1G,EAAI2S,IAC5CjM,EAAU1G,EAAI,eACdiT,EAAU/S,EAAQF,GACzB,qCCZA,IAAIX,EAAOT,KACP6H,EAAYxG,KACZoF,EAAWlF,KACXqG,EAAcjC,KACdmY,EAAoBlY,KAEpB9D,EAAaC,iBAEjBgc,GAAiB,SAAU/Z,EAAUga,GACnC,IAAIC,EAAiBnd,UAAUyG,OAAS,EAAIuW,EAAkB9Z,GAAYga,EAC1E,GAAInW,EAAUoW,GAAiB,OAAOxX,EAAShG,EAAKwd,EAAgBja,IACpE,MAAM,IAAIlC,EAAW8F,EAAY5D,GAAY,mBAC/C,wCCZA,IAAI7D,EAAOH,KACPS,EAAOY,KACP0C,EAAWxC,KACXyb,EAA+BrX,KAC/BsX,EAAwBrX,KACxB4X,EAAgB1X,KAChB2E,EAAoB4B,KACpBqR,EAAiB5O,KACjBoP,EAAiB1I,KACjBuI,EAActI,KACdqI,EAAoBpI,KAEpByI,EAAShQ,aAIbiQ,GAAiB,SAAcC,GAC7B,IAAI/U,EAAIvF,EAASsa,GACbC,EAAiBd,EAAc9a,MAC/B6b,EAAkBzd,UAAUyG,OAC5BiX,EAAQD,EAAkB,EAAIzd,UAAU,QAAKyD,EAC7Cka,OAAoBla,IAAVia,EACVC,IAASD,EAAQre,EAAKqe,EAAOD,EAAkB,EAAIzd,UAAU,QAAKyD,IACtE,IAEIgD,EAAQkB,EAAQiW,EAAMhZ,EAAUgP,EAAM3R,EAFtCkb,EAAiBH,EAAkBxU,GACnCe,EAAQ,EAGZ,IAAI4T,GAAoBvb,OAASyb,GAAUlB,EAAsBgB,GAW/D,IAFA1W,EAASkD,EAAkBnB,GAC3Bb,EAAS6V,EAAiB,IAAI5b,KAAK6E,GAAU4W,EAAO5W,GAC9CA,EAAS8C,EAAOA,IACpBtH,EAAQ0b,EAAUD,EAAMlV,EAAEe,GAAQA,GAASf,EAAEe,GAC7CqT,EAAejV,EAAQ4B,EAAOtH,QAThC,IAHA0F,EAAS6V,EAAiB,IAAI5b,KAAS,GAEvCgS,GADAhP,EAAWqY,EAAYzU,EAAG2U,IACVvJ,OACRgK,EAAOje,EAAKiU,EAAMhP,IAAW2R,KAAMhN,IACzCtH,EAAQ0b,EAAUzB,EAA6BtX,EAAU8Y,EAAO,CAACE,EAAK3b,MAAOsH,IAAQ,GAAQqU,EAAK3b,MAClG2a,EAAejV,EAAQ4B,EAAOtH,GAWlC,OADAmb,EAAezV,EAAQ4B,GAChB5B,CACT,wCC7CA,IAAI1H,EAAcf,WAElB2e,GAAiB5d,EAAY,GAAGG,0CCDhC,IAAIH,EAAcf,IAEd4e,EAAS,WASTC,EAAgB,eAChBC,EAAkB,yBAClBC,EAAiB,kDAGjBC,EAAcC,WACdnf,EAAOiB,EAAY+d,EAAgBhf,MACnC8J,EAAQxH,KAAKwH,MACbsV,EAAeva,OAAOua,aACtBpE,EAAa/Z,EAAY,GAAG+Z,YAC5BrK,EAAO1P,EAAY,GAAG0P,MACtBjN,EAAOzC,EAAY,GAAGyC,MACtBgN,EAAUzP,EAAY,GAAGyP,SACzB9O,EAAQX,EAAY,GAAGW,OACvBkR,EAAc7R,EAAY,GAAG6R,aAoC7BuM,EAAe,SAAUC,GAG3B,OAAOA,EAAQ,GAAK,IAAMA,EAAQ,GACpC,EAMIC,EAAQ,SAAUC,EAAOC,EAAWC,GACtC,IAAIC,EAAI,EAGR,IAFAH,EAAQE,EAAY5V,EAAM0V,EAlEjB,KAkEiCA,GAAS,EACnDA,GAAS1V,EAAM0V,EAAQC,GAChBD,EAAQI,KACbJ,EAAQ1V,EAAM0V,EA9DEK,IA+DhBF,GA1EO,GA4ET,OAAO7V,EAAM6V,EAAI,GAAsBH,GAASA,EAzEvC,IA0EX,EAMIM,EAAS,SAAUzX,GACrB,IAAI0X,EAAS,GAGb1X,EAxDe,SAAUwK,GAIzB,IAHA,IAAIkN,EAAS,GACTC,EAAU,EACVvY,EAASoL,EAAOpL,OACbuY,EAAUvY,GAAQ,CACvB,IAAIxE,EAAQ+X,EAAWnI,EAAQmN,KAC/B,GAAI/c,GAAS,OAAUA,GAAS,OAAU+c,EAAUvY,EAAQ,CAE1D,IAAIwY,EAAQjF,EAAWnI,EAAQmN,KACN,QAAZ,MAARC,GACHvc,EAAKqc,IAAkB,KAAR9c,IAAkB,KAAe,KAARgd,GAAiB,QAIzDvc,EAAKqc,EAAQ9c,GACb+c,IAER,MACMtc,EAAKqc,EAAQ9c,EAEnB,CACE,OAAO8c,CACT,CAkCUG,CAAW7X,GAGnB,IAMIoD,EAAG0U,EANHC,EAAc/X,EAAMZ,OAGpBwC,EAvFS,IAwFTuV,EAAQ,EACRa,EA1FY,GA8FhB,IAAK5U,EAAI,EAAGA,EAAIpD,EAAMZ,OAAQgE,KAC5B0U,EAAe9X,EAAMoD,IACF,KACjB/H,EAAKqc,EAAQX,EAAae,IAI9B,IAAIG,EAAcP,EAAOtY,OACrB8Y,EAAiBD,EAQrB,IALIA,GACF5c,EAAKqc,EAxGO,KA4GPQ,EAAiBH,GAAa,CAEnC,IAAII,EAAI1B,EACR,IAAKrT,EAAI,EAAGA,EAAIpD,EAAMZ,OAAQgE,KAC5B0U,EAAe9X,EAAMoD,KACDxB,GAAKkW,EAAeK,IACtCA,EAAIL,GAKR,IAAIM,EAAwBF,EAAiB,EAC7C,GAAIC,EAAIvW,EAAIH,GAAOgV,EAASU,GAASiB,GACnC,MAAM,IAAIvB,EAAYD,GAMxB,IAHAO,IAAUgB,EAAIvW,GAAKwW,EACnBxW,EAAIuW,EAEC/U,EAAI,EAAGA,EAAIpD,EAAMZ,OAAQgE,IAAK,CAEjC,IADA0U,EAAe9X,EAAMoD,IACFxB,KAAOuV,EAAQV,EAChC,MAAM,IAAII,EAAYD,GAExB,GAAIkB,IAAiBlW,EAAG,CAItB,IAFA,IAAIyW,EAAIlB,EACJG,EA9ID,KA+IU,CACX,IAAIgB,EAAIhB,GAAKU,EA/IZ,EA+I0BV,GAAKU,EA9I/B,MA8IoDV,EAAIU,EACzD,GAAIK,EAAIC,EAAG,MACX,IAAIC,EAAUF,EAAIC,EACdE,EAnJH,GAmJuBF,EACxBjd,EAAKqc,EAAQX,EAAaC,EAAasB,EAAIC,EAAUC,KACrDH,EAAI5W,EAAM8W,EAAUC,GACpBlB,GAtJC,EAuJX,CAEQjc,EAAKqc,EAAQX,EAAaC,EAAaqB,KACvCL,EAAOd,EAAMC,EAAOiB,EAAuBF,IAAmBD,GAC9Dd,EAAQ,EACRe,GACR,CACA,CAEIf,IACAvV,GACJ,CACE,OAAO0G,EAAKoP,EAAQ,GACtB,SAEAe,GAAiB,SAAUzY,GACzB,IAEIoD,EAAGsV,EAFHC,EAAU,GACVC,EAASrf,EAAM8O,EAAQoC,EAAYzK,GAAQ2W,EAAiB,KAAW,KAE3E,IAAKvT,EAAI,EAAGA,EAAIwV,EAAOxZ,OAAQgE,IAC7BsV,EAAQE,EAAOxV,GACf/H,EAAKsd,EAAShhB,EAAK+e,EAAegC,GAAS,OAASjB,EAAOiB,GAASA,GAEtE,OAAOpQ,EAAKqQ,EAAS,IACvB,qCCnLA,IAAIhf,EAAaC,iBAEjBif,GAAiB,SAAUC,EAAQC,GACjC,GAAID,EAASC,EAAU,MAAM,IAAIpf,EAAW,wBAC5C,OAAOmf,CACT,gFCLA,IAAI3e,EAAatC,IACb4G,EAAcvF,KAGd2H,EAA2BvH,OAAOuH,gCAGtCmY,GAAiB,SAAUhb,GACzB,IAAKS,EAAa,OAAOtE,EAAW6D,GACpC,IAAIyJ,EAAa5G,EAAyB1G,EAAY6D,GACtD,OAAOyJ,GAAcA,EAAW7M,KAClC,qCCXA,IAAIoO,EAAgBnR,YAEpBohB,GAAiB,SAAUnP,EAAQtE,EAAKmD,GACtC,IAAK,IAAIhO,KAAO6K,EAAKwD,EAAcc,EAAQnP,EAAK6K,EAAI7K,GAAMgO,GAC1D,OAAOmB,CACT,qCCLA,IAAI0M,EAAa3e,KAEb4J,EAAQxH,KAAKwH,MAEbsS,EAAO,SAAUmF,EAAOC,GAC1B,IAAI/Z,EAAS8Z,EAAM9Z,OAEnB,GAAIA,EAAS,EAKX,IAHA,IACIga,EAASC,EADTjW,EAAI,EAGDA,EAAIhE,GAAQ,CAGjB,IAFAia,EAAIjW,EACJgW,EAAUF,EAAM9V,GACTiW,GAAKF,EAAUD,EAAMG,EAAI,GAAID,GAAW,GAC7CF,EAAMG,GAAKH,IAAQG,GAEjBA,IAAMjW,MAAK8V,EAAMG,GAAKD,EAChC,MAWI,IARA,IAAIE,EAAS7X,EAAMrC,EAAS,GACxBma,EAAOxF,EAAKyC,EAAW0C,EAAO,EAAGI,GAASH,GAC1CK,EAAQzF,EAAKyC,EAAW0C,EAAOI,GAASH,GACxCM,EAAUF,EAAKna,OACfsa,EAAUF,EAAMpa,OAChBua,EAAS,EACTC,EAAS,EAEND,EAASF,GAAWG,EAASF,GAClCR,EAAMS,EAASC,GAAWD,EAASF,GAAWG,EAASF,EACnDP,EAAUI,EAAKI,GAASH,EAAMI,KAAY,EAAIL,EAAKI,KAAYH,EAAMI,KACrED,EAASF,EAAUF,EAAKI,KAAYH,EAAMI,KAIlD,OAAOV,CACT,SAEAW,GAAiB9F,qCCvCjBlc,qCCDA,IAAIqV,EAAIrV,KACJe,EAAcM,IACd+I,EAAkB7I,KAElByd,EAAcC,WACdC,EAAeva,OAAOua,aAEtB+C,EAAiBtd,OAAOud,cACxBzR,EAAO1P,EAAY,GAAG0P,MAO1B4E,EAAE,CAAEpD,OAAQ,SAAUmB,MAAM,EAAMnC,MAAO,EAAGqC,SAJnB2O,GAA4C,IAA1BA,EAAe1a,QAIc,CAEtE2a,cAAe,SAAuBpY,GAKpC,IAJA,IAGIqY,EAHAC,EAAW,GACX7a,EAASzG,UAAUyG,OACnBgE,EAAI,EAEDhE,EAASgE,GAAG,CAEjB,GADA4W,GAAQrhB,UAAUyK,KACdnB,EAAgB+X,EAAM,WAAcA,EAAM,MAAM,IAAInD,EAAYmD,EAAO,8BAC3EC,EAAS7W,GAAK4W,EAAO,MACjBjD,EAAaiD,GACbjD,EAAyC,QAA1BiD,GAAQ,QAAY,IAAcA,EAAO,KAAQ,MAC1E,CAAM,OAAO1R,EAAK2R,EAAU,GAC5B,ID3BA/gB,GACA,IAAIgU,EAAI9T,KACJe,EAAaqD,IACbwb,EAAiBvb,KACjBwB,EAAatB,KACbrF,EAAO4L,KACPtL,EAAc+N,IACdlI,EAAc4O,KACd6M,EAAiB5M,KACjBtE,EAAgBuE,KAChBgH,EAAwB/G,KACxByL,EAAiBxL,KACjBzB,EAAiB2B,KACjBP,EAA4B+M,KAC5BjS,EAAsBkS,KACtB5F,EAAa6F,KACbjc,EAAakc,KACbve,EAASwe,KACTviB,EAAOwiB,KACPrhB,EAAUshB,KACVnc,EAAWoc,KACXrc,EAAWsc,KACXC,EAAYC,KACZhV,EAASiV,KACT3U,EAA2B4U,KAC3BnF,EAAcoF,KACdrF,EAAoBsF,KACpBhM,EAAyBiM,KACzBrC,EAA0BsC,KAC1Bpd,EAAkBqd,KAClBvB,EAAYwB,KAEZzP,EAAW7N,EAAgB,YAC3Bud,EAAoB,kBACpBC,EAA6BD,EAAoB,WACjDjM,EAAmBnH,EAAoB5B,IACvCkV,EAAyBtT,EAAoBf,UAAUmU,GACvDG,EAA2BvT,EAAoBf,UAAUoU,GAEzDG,EAAc1C,EAAe,SAC7B2C,EAAgB3C,EAAe,WAC/B4C,EAAU5C,EAAe,WACzB6C,EAAmBF,GAAiBA,EAActjB,UAClDyjB,EAAmBF,GAAWA,EAAQvjB,UACtCuB,EAAYO,EAAWP,UACvBmiB,EAAqB5hB,EAAW4hB,mBAChChF,EAAeva,OAAOua,aACtBgD,EAAgB9a,EAAW,SAAU,iBACrC+c,EAAYC,SACZvJ,EAAS9Z,EAAY,GAAG8Z,QACxBpK,EAAO1P,EAAY,GAAG0P,MACtBjN,EAAOzC,EAAY,GAAGyC,MACtBgN,EAAUzP,EAAY,GAAGyP,SACzB6T,EAAQtjB,EAAY,GAAGsjB,OACvBC,EAASvjB,EAAY,GAAGujB,QACxB5iB,GAAQX,EAAY,GAAGW,OACvBT,GAAcF,EAAY,GAAGG,OAC7BpB,GAAOiB,EAAY,IAAIjB,MAEvBykB,GAAO,MAEPC,GAAY,eAEZC,GAAgB,SAAU9R,EAAQ+R,GACpC,IAAIC,EAAS1jB,GAAY0R,EAAQ+R,EAAOA,EAAQ,GAChD,OAAK5kB,GAAK0kB,GAAWG,GAEdR,EAAUQ,EAAQ,IAFYC,GAGvC,EAEIC,GAAiB,SAAUC,GAE7B,IADA,IAAIC,EAAQ,EACHC,EAAO,IAAMA,EAAO,GAAwB,KAAlBF,EAAQE,GAAaA,IAAS,EAC/DD,IAEF,OAAOA,CACT,EAEIE,GAAa,SAAUC,GACzB,IAAIC,EAAY,KAEhB,OAAQD,EAAO3d,QACb,KAAK,EACH4d,EAAYD,EAAO,GACnB,MACF,KAAK,EACHC,GAAyB,GAAZD,EAAO,KAAc,EAAiB,GAAZA,EAAO,GAC9C,MACF,KAAK,EACHC,GAAyB,GAAZD,EAAO,KAAc,IAAkB,GAAZA,EAAO,KAAc,EAAiB,GAAZA,EAAO,GACzE,MACF,KAAK,EACHC,GAAyB,EAAZD,EAAO,KAAc,IAAkB,GAAZA,EAAO,KAAc,IAAkB,GAAZA,EAAO,KAAc,EAAiB,GAAZA,EAAO,GAIxG,OAAOC,EAAY,QAAW,KAAOA,CACvC,EAEIC,GAAS,SAAUjd,GAMrB,IAJA,IAAIZ,GADJY,EAAQqI,EAAQrI,EAAOoc,GAAM,MACVhd,OACfkB,EAAS,GACT8C,EAAI,EAEDA,EAAIhE,GAAQ,CACjB,IAAI8d,EAAcxK,EAAO1S,EAAOoD,GAEhC,GAAoB,MAAhB8Z,EAAqB,CACvB,GAA6B,MAAzBxK,EAAO1S,EAAOoD,EAAI,IAAcA,EAAI,EAAIhE,EAAQ,CAClDkB,GAAU,IACV8C,IACA,QACR,CAEM,IAAIuZ,EAAQL,GAActc,EAAOoD,EAAI,GAGrC,GAAIuZ,GAAUA,EAAO,CACnBrc,GAAU4c,EACV9Z,IACA,QACR,CAEMA,GAAK,EACL,IAAI+Z,EAAqBT,GAAeC,GAExC,GAA2B,IAAvBQ,EACFD,EAAcnG,EAAa4F,OACtB,CACL,GAA2B,IAAvBQ,GAA4BA,EAAqB,EAAG,CACtD7c,GAvEc,IAwEd8C,IACA,QACV,CAKQ,IAHA,IAAI2Z,EAAS,CAACJ,GACVS,EAAgB,EAEbA,EAAgBD,OACrB/Z,EACQ,EAAIhE,GAA+B,MAArBsT,EAAO1S,EAAOoD,KAFK,CAIzC,IAAIia,EAAWf,GAActc,EAAOoD,EAAI,GAGxC,GAAIia,GAAaA,EAAU,CACzBja,GAAK,EACL,KACZ,CACU,GAAIia,EAAW,KAAOA,EAAW,IAAK,MAEtChiB,EAAK0hB,EAAQM,GACbja,GAAK,EACLga,GACV,CAEQ,GAAIL,EAAO3d,SAAW+d,EAAoB,CACxC7c,GAlGc,IAmGd,QACV,CAEQ,IAAI0c,EAAYF,GAAWC,GACT,OAAdC,EACF1c,GAxGc,IA0Gd4c,EAAcnD,EAAciD,EAEtC,CACA,CAEI1c,GAAU4c,EACV9Z,GACJ,CAEE,OAAO9C,CACT,EAEIgd,GAAO,eAEPC,GAAe,CACjB,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,KAGLC,GAAW,SAAU/gB,GACvB,OAAO8gB,GAAa9gB,EACtB,EAEIghB,GAAY,SAAUxkB,GACxB,OAAOoP,EAAQ0T,EAAmB9iB,GAAKqkB,GAAME,GAC/C,EAEIE,GAA0BtQ,EAA0B,SAAkBoG,EAAQhE,GAChFH,EAAiB9U,KAAM,CACrB8M,KAAMkU,EACNzR,OAAQ0R,EAAuBhI,GAAQzE,QACvC7M,MAAO,EACPsN,KAAMA,GAEV,EAAG8L,EAAmB,WACpB,IAAIzU,EAAQ4U,EAAyBlhB,MACjCuP,EAASjD,EAAMiD,OACf5H,EAAQ2E,EAAM3E,QAClB,IAAK4H,GAAU5H,GAAS4H,EAAO1K,OAE7B,OADAyH,EAAMiD,OAAS,KACRmF,OAAuB7S,GAAW,GAE3C,IAAIuhB,EAAQ7T,EAAO5H,GACnB,OAAQ2E,EAAM2I,MACZ,IAAK,OAAQ,OAAOP,EAAuB0O,EAAMhjB,KAAK,GACtD,IAAK,SAAU,OAAOsU,EAAuB0O,EAAM/iB,OAAO,GAC1D,OAAOqU,EAAuB,CAAC0O,EAAMhjB,IAAKgjB,EAAM/iB,QAAQ,EAC5D,GAAG,GAECgjB,GAAuB,SAAUC,GACnCtjB,KAAKwU,QAAU,GACfxU,KAAK+Y,IAAM,UAEElX,IAATyhB,IACExf,EAASwf,GAAOtjB,KAAKujB,YAAYD,GAChCtjB,KAAKwjB,WAA0B,iBAARF,EAAuC,MAApBnL,EAAOmL,EAAM,GAAa/kB,GAAY+kB,EAAM,GAAKA,EAAOjD,EAAUiD,IAErH,EAEAD,GAAqBvlB,UAAY,CAC/BgP,KAAMiU,EACN0C,QAAS,SAAU1K,GACjB/Y,KAAK+Y,IAAMA,EACX/Y,KAAK0jB,QACT,EACEH,YAAa,SAAU5a,GACrB,IAEI3F,EAAUgP,EAAMgK,EAAM2H,EAAeC,EAAWrL,EAAOC,EAFvDhE,EAAUxU,KAAKwU,QACf+G,EAAiBH,EAAkBzS,GAGvC,GAAI4S,EAGF,IADAvJ,GADAhP,EAAWqY,EAAY1S,EAAQ4S,IACfvJ,OACPgK,EAAOje,EAAKiU,EAAMhP,IAAW2R,MAAM,CAG1C,GADAiP,GADAD,EAAgBtI,EAAYtX,EAASiY,EAAK3b,SAChB2R,MAEvBuG,EAAQxa,EAAK6lB,EAAWD,IAAgBhP,OACxC6D,EAASza,EAAK6lB,EAAWD,IAAgBhP,OACzC5W,EAAK6lB,EAAWD,GAAehP,KAChC,MAAM,IAAItV,EAAU,mCACtByB,EAAK0T,EAAS,CAAEpU,IAAKigB,EAAU9H,EAAMlY,OAAQA,MAAOggB,EAAU7H,EAAOnY,QAC7E,MACW,IAAK,IAAID,KAAOuI,EAAYnH,EAAOmH,EAAQvI,IAChDU,EAAK0T,EAAS,CAAEpU,IAAKA,EAAKC,MAAOggB,EAAU1X,EAAOvI,KAExD,EACEojB,WAAY,SAAUK,GACpB,GAAIA,EAKF,IAJA,IAGIC,EAAWV,EAHX5O,EAAUxU,KAAKwU,QACfuP,EAAa/kB,GAAM6kB,EAAO,KAC1Blc,EAAQ,EAELA,EAAQoc,EAAWlf,SACxBif,EAAYC,EAAWpc,MACT9C,SACZue,EAAQpkB,GAAM8kB,EAAW,KACzBhjB,EAAK0T,EAAS,CACZpU,IAAKsiB,GAAOf,EAAMyB,IAClB/iB,MAAOqiB,GAAO3U,EAAKqV,EAAO,QAKtC,EACEF,UAAW,WAKT,IAJA,IAGIE,EAHA5O,EAAUxU,KAAKwU,QACfzO,EAAS,GACT4B,EAAQ,EAELA,EAAQ6M,EAAQ3P,QACrBue,EAAQ5O,EAAQ7M,KAChB7G,EAAKiF,EAAQmd,GAAUE,EAAMhjB,KAAO,IAAM8iB,GAAUE,EAAM/iB,QAC1D,OAAO0N,EAAKhI,EAAQ,IAC1B,EACE2d,OAAQ,WACN1jB,KAAKwU,QAAQ3P,OAAS,EACtB7E,KAAKwjB,WAAWxjB,KAAK+Y,IAAI8K,MAC7B,EACEG,UAAW,WACLhkB,KAAK+Y,KAAK/Y,KAAK+Y,IAAI2K,QAC3B,GAKA,IAAIO,GAA6B,WAC/BhK,EAAWja,KAAMkkB,IACjB,IACI5X,EAAQwI,EAAiB9U,KAAM,IAAIqjB,GAD5BjlB,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,IAE5CqC,IAAalE,KAAK2Y,KAAOrM,EAAMkI,QAAQ3P,OAC9C,EAEIqf,GAA2BD,GAA2BnmB,UA6J1D,GA3JA4gB,EAAewF,GAA0B,CAGvCC,OAAQ,SAAgB1gB,EAAMpD,GAC5B,IAAIiM,EAAQ2U,EAAuBjhB,MACnCse,EAAwBlgB,UAAUyG,OAAQ,GAC1C/D,EAAKwL,EAAMkI,QAAS,CAAEpU,IAAKigB,EAAU5c,GAAOpD,MAAOggB,EAAUhgB,KACxD6D,GAAalE,KAAK2Y,OACvBrM,EAAM0X,WACV,EAGEI,OAAU,SAAU3gB,GAQlB,IAPA,IAAI6I,EAAQ2U,EAAuBjhB,MAC/B6E,EAASyZ,EAAwBlgB,UAAUyG,OAAQ,GACnD2P,EAAUlI,EAAMkI,QAChBpU,EAAMigB,EAAU5c,GAChB4gB,EAASxf,EAAS,OAAIhD,EAAYzD,UAAU,GAC5CiC,OAAmBwB,IAAXwiB,EAAuBA,EAAShE,EAAUgE,GAClD1c,EAAQ,EACLA,EAAQ6M,EAAQ3P,QAAQ,CAC7B,IAAIue,EAAQ5O,EAAQ7M,GACpB,GAAIyb,EAAMhjB,MAAQA,QAAkByB,IAAVxB,GAAuB+iB,EAAM/iB,QAAUA,EAG1DsH,SADL,GADAia,EAAOpN,EAAS7M,EAAO,QACT9F,IAAVxB,EAAqB,KAEjC,CACS6D,IAAalE,KAAK2Y,KAAOnE,EAAQ3P,QACtCyH,EAAM0X,WACV,EAGE/f,IAAK,SAAaR,GAChB,IAAI+Q,EAAUyM,EAAuBjhB,MAAMwU,QAC3C8J,EAAwBlgB,UAAUyG,OAAQ,GAG1C,IAFA,IAAIzE,EAAMigB,EAAU5c,GAChBkE,EAAQ,EACLA,EAAQ6M,EAAQ3P,OAAQ8C,IAC7B,GAAI6M,EAAQ7M,GAAOvH,MAAQA,EAAK,OAAOoU,EAAQ7M,GAAOtH,MAExD,OAAO,IACX,EAGEikB,OAAQ,SAAgB7gB,GACtB,IAAI+Q,EAAUyM,EAAuBjhB,MAAMwU,QAC3C8J,EAAwBlgB,UAAUyG,OAAQ,GAI1C,IAHA,IAAIzE,EAAMigB,EAAU5c,GAChBsC,EAAS,GACT4B,EAAQ,EACLA,EAAQ6M,EAAQ3P,OAAQ8C,IACzB6M,EAAQ7M,GAAOvH,MAAQA,GAAKU,EAAKiF,EAAQyO,EAAQ7M,GAAOtH,OAE9D,OAAO0F,CACX,EAGEiG,IAAK,SAAavI,GAOhB,IANA,IAAI+Q,EAAUyM,EAAuBjhB,MAAMwU,QACvC3P,EAASyZ,EAAwBlgB,UAAUyG,OAAQ,GACnDzE,EAAMigB,EAAU5c,GAChB4gB,EAASxf,EAAS,OAAIhD,EAAYzD,UAAU,GAC5CiC,OAAmBwB,IAAXwiB,EAAuBA,EAAShE,EAAUgE,GAClD1c,EAAQ,EACLA,EAAQ6M,EAAQ3P,QAAQ,CAC7B,IAAIue,EAAQ5O,EAAQ7M,KACpB,GAAIyb,EAAMhjB,MAAQA,SAAkByB,IAAVxB,GAAuB+iB,EAAM/iB,QAAUA,GAAQ,OAAO,CACtF,CACI,OAAO,CACX,EAGE0L,IAAK,SAAatI,EAAMpD,GACtB,IAAIiM,EAAQ2U,EAAuBjhB,MACnCse,EAAwBlgB,UAAUyG,OAAQ,GAO1C,IANA,IAKIue,EALA5O,EAAUlI,EAAMkI,QAChB+P,GAAQ,EACRnkB,EAAMigB,EAAU5c,GAChBkC,EAAM0a,EAAUhgB,GAChBsH,EAAQ,EAELA,EAAQ6M,EAAQ3P,OAAQ8C,KAC7Byb,EAAQ5O,EAAQ7M,IACNvH,MAAQA,IACZmkB,EAAO3C,EAAOpN,EAAS7M,IAAS,IAElC4c,GAAQ,EACRnB,EAAM/iB,MAAQsF,IAIf4e,GAAOzjB,EAAK0T,EAAS,CAAEpU,IAAKA,EAAKC,MAAOsF,IACxCzB,IAAalE,KAAK2Y,KAAOnE,EAAQ3P,QACtCyH,EAAM0X,WACV,EAGExK,KAAM,WACJ,IAAIlN,EAAQ2U,EAAuBjhB,MACnCsf,EAAUhT,EAAMkI,QAAS,SAAUhQ,EAAGggB,GACpC,OAAOhgB,EAAEpE,IAAMokB,EAAEpkB,IAAM,GAAI,CACjC,GACIkM,EAAM0X,WACV,EAEE1K,QAAS,SAAiBmL,GAKxB,IAJA,IAGIrB,EAHA5O,EAAUyM,EAAuBjhB,MAAMwU,QACvCkQ,EAAgBjnB,EAAKgnB,EAAUrmB,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,GACrE8F,EAAQ,EAELA,EAAQ6M,EAAQ3P,QAErB6f,GADAtB,EAAQ5O,EAAQ7M,MACItH,MAAO+iB,EAAMhjB,IAAKJ,KAE5C,EAEEiJ,KAAM,WACJ,OAAO,IAAIka,GAAwBnjB,KAAM,OAC7C,EAEEyU,OAAQ,WACN,OAAO,IAAI0O,GAAwBnjB,KAAM,SAC7C,EAEEwU,QAAS,WACP,OAAO,IAAI2O,GAAwBnjB,KAAM,UAC7C,GACG,CAAE+G,YAAY,IAGjB0H,EAAcyV,GAA0B7S,EAAU6S,GAAyB1P,QAAS,CAAE/Q,KAAM,YAI5FgL,EAAcyV,GAA0B,WAAY,WAClD,OAAOjD,EAAuBjhB,MAAMkjB,WACtC,EAAG,CAAEnc,YAAY,IAIb7C,GAAa8V,EAAsBkK,GAA0B,OAAQ,CACvEjgB,IAAK,WACH,OAAOgd,EAAuBjhB,MAAMwU,QAAQ3P,MAChD,EACEvE,cAAc,EACdyG,YAAY,IAGd0K,EAAewS,GAA4BlD,GAE3CpO,EAAE,CAAE5S,QAAQ,EAAMyO,aAAa,EAAMoC,QAAS+O,GAAkB,CAC9DvG,gBAAiB6K,MAIdtE,GAAkB9b,EAAWwd,GAAU,CAC1C,IAAIsD,GAAatmB,EAAYkjB,EAAiBvV,KAC1C4Y,GAAavmB,EAAYkjB,EAAiBxV,KAE1C8Y,GAAqB,SAAUvB,GACjC,GAAIxf,EAASwf,GAAO,CAClB,IACIwB,EADAC,EAAOzB,EAAKyB,KAEhB,GAAInmB,EAAQmmB,KAAUhE,EAKpB,OAJA+D,EAAUxB,EAAKwB,QAAU,IAAIzD,EAAQiC,EAAKwB,SAAW,IAAIzD,EACpDsD,GAAWG,EAAS,iBACvBF,GAAWE,EAAS,eAAgB,mDAE/BxZ,EAAOgY,EAAM,CAClByB,KAAMnZ,EAAyB,EAAGyU,EAAU0E,IAC5CD,QAASlZ,EAAyB,EAAGkZ,IAG/C,CAAM,OAAOxB,CACb,EAUE,GARIzf,EAAWsd,IACbxO,EAAE,CAAE5S,QAAQ,EAAMgH,YAAY,EAAM4J,gBAAgB,EAAMC,QAAQ,GAAQ,CACxEoU,MAAO,SAAevf,GACpB,OAAO0b,EAAY1b,EAAOrH,UAAUyG,OAAS,EAAIggB,GAAmBzmB,UAAU,IAAM,GAC5F,IAIMyF,EAAWud,GAAgB,CAC7B,IAAI6D,GAAqB,SAAiBxf,GAExC,OADAwU,EAAWja,KAAMshB,GACV,IAAIF,EAAc3b,EAAOrH,UAAUyG,OAAS,EAAIggB,GAAmBzmB,UAAU,IAAM,CAAA,EAChG,EAEIkjB,EAAiB9S,YAAcyW,GAC/BA,GAAmBnnB,UAAYwjB,EAE/B3O,EAAE,CAAE5S,QAAQ,EAAMyO,aAAa,EAAMmC,gBAAgB,EAAMC,QAAQ,GAAQ,CACzEsU,QAASD,IAEf,CACA,QAEAE,GAAiB,CACf/L,gBAAiB6K,GACjBmB,SAAUnE,sEE5fZ,IAAI9I,EAAS7a,KAAyC6a,OAClD7Z,EAAWK,KACXgP,EAAsB9O,KACtB+V,EAAiB3R,KACjByR,EAAyBxR,KAEzBmiB,EAAkB,kBAClBvQ,EAAmBnH,EAAoB5B,IACvC8B,EAAmBF,EAAoBf,UAAUyY,GAIrDzQ,EAAe3S,OAAQ,SAAU,SAAU+S,GACzCF,EAAiB9U,KAAM,CACrB8M,KAAMuY,EACNpV,OAAQ3R,EAAS0W,GACjBrN,MAAO,GAIX,EAAG,WACD,IAGI2d,EAHAhZ,EAAQuB,EAAiB7N,MACzBiQ,EAAS3D,EAAM2D,OACftI,EAAQ2E,EAAM3E,MAElB,OAAIA,GAASsI,EAAOpL,OAAe6P,OAAuB7S,GAAW,IACrEyjB,EAAQnN,EAAOlI,EAAQtI,GACvB2E,EAAM3E,OAAS2d,EAAMzgB,OACd6P,EAAuB4Q,GAAO,GACvC,GC5BAhoB,GACA,IAiEIioB,EAjEA5S,EAAIhU,KACJuF,EAAcrF,KACd8gB,EAAiB1c,KACjBrD,EAAasD,IACbzF,EAAO2F,KACP/E,EAAcsL,IACd8E,EAAgBrC,KAChB4N,EAAwBlH,KACxBmH,EAAalH,KACbvR,EAASwR,KACTwS,kCCZJ,IAAIthB,EAAc5G,KACde,EAAcM,IACdZ,EAAOc,KACP1B,EAAQ8F,IACR+F,EAAa9F,KACbiM,EAA8B/L,KAC9B+J,EAA6BxD,KAC7BtI,EAAW+K,KACX7M,EAAgBuT,IAGhB2S,EAAU1mB,OAAOymB,OAEjBtlB,EAAiBnB,OAAOmB,eACxB4O,EAASzQ,EAAY,GAAGyQ,eAI5B4W,IAAkBD,GAAWtoB,EAAM,WAEjC,GAAI+G,GAQiB,IARFuhB,EAAQ,CAAEjB,EAAG,GAAKiB,EAAQvlB,EAAe,CAAA,EAAI,IAAK,CACnE6G,YAAY,EACZ9C,IAAK,WACH/D,EAAeF,KAAM,IAAK,CACxBK,MAAO,EACP0G,YAAY,GAEpB,IACM,CAAEyd,EAAG,KAAMA,EAAS,OAAO,EAE/B,IAAImB,EAAI,CAAA,EACJC,EAAI,CAAA,EAEJjjB,EAASC,OAAO,oBAChBijB,EAAW,uBAIf,OAHAF,EAAEhjB,GAAU,EAEZkjB,EAAS7mB,MAAM,IAAIsa,QAAQ,SAAUwM,GAAOF,EAAEE,GAAOA,CAAI,GACvB,IAA3BL,EAAQ,CAAA,EAAIE,GAAGhjB,IAAiBqG,EAAWyc,EAAQ,CAAA,EAAIG,IAAI7X,KAAK,MAAQ8X,CACjF,GAAK,SAAgBtW,EAAQpO,GAM3B,IALA,IAAI4kB,EAAI1kB,EAASkO,GACbsM,EAAkBzd,UAAUyG,OAC5B8C,EAAQ,EACRjF,EAAwByM,EAA4BxI,EACpDzH,EAAuBiO,EAA2BxG,EAC/CkV,EAAkBlU,GAMvB,IALA,IAIIvH,EAJAqY,EAAIlZ,EAAcnB,UAAUuJ,MAC5BsB,EAAOvG,EAAwBoM,EAAO9F,EAAWyP,GAAI/V,EAAsB+V,IAAMzP,EAAWyP,GAC5F5T,EAASoE,EAAKpE,OACdia,EAAI,EAEDja,EAASia,GACd1e,EAAM6I,EAAK6V,KACN5a,IAAenG,EAAKmB,EAAsBuZ,EAAGrY,KAAM2lB,EAAE3lB,GAAOqY,EAAErY,IAErE,OAAO2lB,CACX,EAAIN,KD5CSxS,GACTyI,EAAYxI,KACZ+I,EAAa7I,KACbyF,EAAS+G,KAAyC/G,OAClDmN,EAAUnG,KACVQ,EAAYP,KACZrO,EAAiBsO,KACjBzB,EAA0B0B,KAC1BiG,EAAwBhG,KACxBtS,EAAsBuS,KAEtBpL,EAAmBnH,EAAoB5B,IACvCma,EAAsBvY,EAAoBf,UAAU,OACpDwM,EAAkB6M,EAAsB7M,gBACxC+M,EAA+BF,EAAsBb,SAErDgB,EAAYxmB,EAAWoZ,IACvB3Z,EAAYO,EAAWP,UACvBqiB,EAAW9hB,EAAW8hB,SACtBxa,EAAQxH,KAAKwH,MACbmf,EAAM3mB,KAAK2mB,IACXlO,EAAS9Z,EAAY,GAAG8Z,QACxB/a,EAAOiB,EAAY,IAAIjB,MACvB2Q,EAAO1P,EAAY,GAAG0P,MACtBuY,EAAiBjoB,EAAY,IAAIC,UACjCioB,EAAMloB,EAAY,GAAGkoB,KACrBzlB,EAAOzC,EAAY,GAAGyC,MACtBgN,EAAUzP,EAAY,GAAGyP,SACzB6T,EAAQtjB,EAAY,GAAGsjB,OACvB3iB,EAAQX,EAAY,GAAGW,OACvBT,EAAcF,EAAY,GAAGG,OAC7B0R,EAAc7R,EAAY,GAAG6R,aAC7BsW,EAAUnoB,EAAY,GAAGmoB,SAGzBC,EAAiB,iBACjBC,EAAe,eACfC,EAAe,eAEfC,EAAQ,SAERC,EAAe,cACfC,EAAQ,KACRC,EAAY,OACZC,EAAM,WACNC,GAAM,QACNC,GAAM,cAENC,GAA4B,6BAC5BC,GAA8C,4BAC9CC,GAA8B,oBAC9BC,GAA+B,wCAC/BC,GAAmB,YAiJnBC,GAAgB,SAAU7N,GAC5B,IAAI5T,EAAQ4B,EAAO8f,EAAUC,EAG7B,GAAmB,iBAAR/N,EAAkB,CAE3B,IADA5T,EAAS,GACJ4B,EAAQ,EAAGA,EAAQ,EAAGA,IACzB6e,EAAQzgB,EAAQ4T,EAAO,KACvBA,EAAOzS,EAAMyS,EAAO,KAEtB,OAAO5L,EAAKhI,EAAQ,IACxB,CAGE,GAAmB,iBAAR4T,EAAkB,CAG3B,IAFA5T,EAAS,GACT0hB,EAvC0B,SAAUE,GAMtC,IALA,IAAIC,EAAW,KACXC,EAAY,EACZC,EAAY,KACZC,EAAa,EACbpgB,EAAQ,EACLA,EAAQ,EAAGA,IACI,IAAhBggB,EAAKhgB,IACHogB,EAAaF,IACfD,EAAWE,EACXD,EAAYE,GAEdD,EAAY,KACZC,EAAa,IAEK,OAAdD,IAAoBA,EAAYngB,KAClCogB,GAGN,OAAOA,EAAaF,EAAYC,EAAYF,CAC9C,CAmBeI,CAAwBrO,GAC9BhS,EAAQ,EAAGA,EAAQ,EAAGA,IACrB+f,GAA2B,IAAhB/N,EAAKhS,KAChB+f,IAASA,GAAU,GACnBD,IAAa9f,GACf5B,GAAU4B,EAAQ,IAAM,KACxB+f,GAAU,IAEV3hB,GAAUugB,EAAe3M,EAAKhS,GAAQ,IAClCA,EAAQ,IAAG5B,GAAU,OAG7B,MAAO,IAAMA,EAAS,GAC1B,CAEE,OAAO4T,CACT,EAEIsO,GAA4B,CAAA,EAC5BC,GAA2B1C,EAAO,CAAA,EAAIyC,GAA2B,CACnE,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAEnCE,GAAuB3C,EAAO,CAAA,EAAI0C,GAA0B,CAC9D,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAE3BE,GAA2B5C,EAAO,CAAA,EAAI2C,GAAsB,CAC9D,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,KAAM,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAG5EE,GAAgB,SAAUvC,EAAK/Z,GACjC,IAAI0T,EAAO5G,EAAOiN,EAAK,GACvB,OAAOrG,EAAO,IAAQA,EAAO,MAASje,EAAOuK,EAAK+Z,GAAOA,EAAMtE,mBAAmBsE,EACpF,EAGIwC,GAAiB,CACnBC,IAAK,GACLC,KAAM,KACNC,KAAM,GACNC,MAAO,IACPC,GAAI,GACJC,IAAK,KAIHC,GAAuB,SAAU5Y,EAAQ6Y,GAC3C,IAAItQ,EACJ,OAAyB,IAAlBvI,EAAOpL,QAAgBzH,EAAKwpB,EAAOzO,EAAOlI,EAAQ,MAClB,OAAhCuI,EAASL,EAAOlI,EAAQ,MAAiB6Y,GAAyB,MAAXtQ,EAChE,EAGIuQ,GAA+B,SAAU9Y,GAC3C,IAAI+Y,EACJ,OAAO/Y,EAAOpL,OAAS,GAAKgkB,GAAqBtqB,EAAY0R,EAAQ,EAAG,MACpD,IAAlBA,EAAOpL,QAC0B,OAA/BmkB,EAAQ7Q,EAAOlI,EAAQ,KAAyB,OAAV+Y,GAA4B,MAAVA,GAA2B,MAAVA,EAE/E,EAGIC,GAAc,SAAUC,GAC1B,MAAmB,MAAZA,GAA4C,QAAzBhZ,EAAYgZ,EACxC,EAGIC,GAAc,SAAUD,GAE1B,MAAmB,QADnBA,EAAUhZ,EAAYgZ,KACiB,SAAZA,GAAkC,SAAZA,GAAkC,WAAZA,CACzE,EAGIE,GAAe,CAAA,EACfC,GAAS,CAAA,EACTC,GAAY,CAAA,EACZC,GAAgC,CAAA,EAChCC,GAAoB,CAAA,EACpBC,GAAW,CAAA,EACXC,GAAiB,CAAA,EACjBC,GAA4B,CAAA,EAC5BC,GAAmC,CAAA,EACnCC,GAAY,CAAA,EACZC,GAAO,CAAA,EACPC,GAAW,CAAA,EACXC,GAAO,CAAA,EACPC,GAAO,CAAA,EACPC,GAAa,CAAA,EACbC,GAAY,CAAA,EACZC,GAAa,CAAA,EACbC,GAAO,CAAA,EACPC,GAA4B,CAAA,EAC5BC,GAAQ,CAAA,EACRC,GAAW,CAAA,EAEXC,GAAW,SAAU1R,EAAK2R,EAAQzN,GACpC,IACI0N,EAAWC,EAAS1R,EADpB2R,EAAYxK,EAAUtH,GAE1B,GAAI2R,EAAQ,CAEV,GADAE,EAAU5qB,KAAK8qB,MAAMD,GACR,MAAM,IAAIxrB,EAAUurB,GACjC5qB,KAAKkZ,aAAe,IACxB,KAAS,CAGL,QAFarX,IAATob,IAAoB0N,EAAY,IAAIF,GAASxN,GAAM,IACvD2N,EAAU5qB,KAAK8qB,MAAMD,EAAW,KAAMF,GACzB,MAAM,IAAItrB,EAAUurB,IACjC1R,EAAeiN,EAA6B,IAAI/M,IACnCqK,QAAQzjB,MACrBA,KAAKkZ,aAAeA,CACxB,CACA,EAEAuR,GAAS3sB,UAAY,CACnBgP,KAAM,MAGNge,MAAO,SAAUrlB,EAAOslB,EAAe9N,GACrC,IAOI+N,EAAYlF,EAAKmF,EAAkBL,EAPnC7R,EAAM/Y,KACNsM,EAAQye,GAAiB3B,GACzB8B,EAAU,EACVC,EAAS,GACTC,GAAS,EACTC,GAAc,EACdC,GAAoB,EAuBxB,IApBA7lB,EAAQ4a,EAAU5a,GAEbslB,IACHhS,EAAIwS,OAAS,GACbxS,EAAIW,SAAW,GACfX,EAAIyS,SAAW,GACfzS,EAAIY,KAAO,KACXZ,EAAI0S,KAAO,KACX1S,EAAI2S,KAAO,GACX3S,EAAI8K,MAAQ,KACZ9K,EAAI4S,SAAW,KACf5S,EAAI6S,kBAAmB,EACvBnmB,EAAQqI,EAAQrI,EAAO4hB,GAA6B,IACpD5hB,EAAQqI,EAAQrI,EAAO6hB,GAA8B,OAGvD7hB,EAAQqI,EAAQrI,EAAO8hB,GAAkB,IAEzCyD,EAAatP,EAAUjW,GAEhBylB,GAAWF,EAAWnmB,QAAQ,CAEnC,OADAihB,EAAMkF,EAAWE,GACT5e,GACN,KAAK8c,GACH,IAAItD,IAAO1oB,EAAKwpB,EAAOd,GAGhB,IAAKiF,EAGL,OAAOtE,EAFZna,EAAQgd,GACR,QAC0B,CAL1B6B,GAAUjb,EAAY4V,GACtBxZ,EAAQ+c,GAKV,MAEF,KAAKA,GACH,GAAIvD,IAAQ1oB,EAAKypB,EAAcf,IAAgB,MAARA,GAAuB,MAARA,GAAuB,MAARA,GACnEqF,GAAUjb,EAAY4V,OACjB,IAAY,MAARA,EA0BJ,IAAKiF,EAKL,OAAOtE,EAJZ0E,EAAS,GACT7e,EAAQgd,GACR4B,EAAU,EACV,QAC0B,CA9B1B,GAAIH,IACDhS,EAAI8S,cAAgBrqB,EAAO8mB,GAAgB6C,IAChC,SAAXA,IAAsBpS,EAAI+S,uBAAsC,OAAb/S,EAAI0S,OACxC,SAAf1S,EAAIwS,SAAsBxS,EAAIY,MAC9B,OAEH,GADAZ,EAAIwS,OAASJ,EACTJ,EAEF,YADIhS,EAAI8S,aAAevD,GAAevP,EAAIwS,UAAYxS,EAAI0S,OAAM1S,EAAI0S,KAAO,OAG7EN,EAAS,GACU,SAAfpS,EAAIwS,OACNjf,EAAQ2d,GACClR,EAAI8S,aAAe5O,GAAQA,EAAKsO,SAAWxS,EAAIwS,OACxDjf,EAAQid,GACCxQ,EAAI8S,YACbvf,EAAQqd,GAC6B,MAA5BqB,EAAWE,EAAU,IAC9B5e,EAAQkd,GACR0B,MAEAnS,EAAI6S,kBAAmB,EACvB9qB,EAAKiY,EAAI2S,KAAM,IACfpf,EAAQge,GAOgB,CAC5B,MAEF,KAAKhB,GACH,IAAKrM,GAASA,EAAK2O,kBAA4B,MAAR9F,EAAc,OAAOW,EAC5D,GAAIxJ,EAAK2O,kBAA4B,MAAR9F,EAAa,CACxC/M,EAAIwS,OAAStO,EAAKsO,OAClBxS,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAI8K,MAAQ5G,EAAK4G,MACjB9K,EAAI4S,SAAW,GACf5S,EAAI6S,kBAAmB,EACvBtf,EAAQke,GACR,KACZ,CACUle,EAAwB,SAAhB2Q,EAAKsO,OAAoBtB,GAAOR,GACxC,SAEF,KAAKF,GACH,GAAY,MAARzD,GAA2C,MAA5BkF,EAAWE,EAAU,GAGjC,CACL5e,EAAQmd,GACR,QACZ,CALYnd,EAAQsd,GACRsB,IAIA,MAEJ,KAAK1B,GACH,GAAY,MAAR1D,EAAa,CACfxZ,EAAQud,GACR,KACZ,CACYvd,EAAQ+d,GACR,SAGJ,KAAKZ,GAEH,GADA1Q,EAAIwS,OAAStO,EAAKsO,OACdzF,IAAQP,EACVxM,EAAIW,SAAWuD,EAAKvD,SACpBX,EAAIyS,SAAWvO,EAAKuO,SACpBzS,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI0S,KAAOxO,EAAKwO,KAChB1S,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAI8K,MAAQ5G,EAAK4G,WACZ,GAAY,MAARiC,GAAwB,OAARA,GAAgB/M,EAAI8S,YAC7Cvf,EAAQod,QACH,GAAY,MAAR5D,EACT/M,EAAIW,SAAWuD,EAAKvD,SACpBX,EAAIyS,SAAWvO,EAAKuO,SACpBzS,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI0S,KAAOxO,EAAKwO,KAChB1S,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAI8K,MAAQ,GACZvX,EAAQie,OACH,IAAY,MAARzE,EASJ,CACL/M,EAAIW,SAAWuD,EAAKvD,SACpBX,EAAIyS,SAAWvO,EAAKuO,SACpBzS,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI0S,KAAOxO,EAAKwO,KAChB1S,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAI2S,KAAK7mB,SACTyH,EAAQ+d,GACR,QACZ,CAjBYtR,EAAIW,SAAWuD,EAAKvD,SACpBX,EAAIyS,SAAWvO,EAAKuO,SACpBzS,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI0S,KAAOxO,EAAKwO,KAChB1S,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAI8K,MAAQ5G,EAAK4G,MACjB9K,EAAI4S,SAAW,GACfrf,EAAQke,EAUpB,CAAY,MAEJ,KAAKd,GACH,IAAI3Q,EAAI8S,aAAwB,MAAR/F,GAAuB,OAARA,EAEhC,IAAY,MAARA,EAEJ,CACL/M,EAAIW,SAAWuD,EAAKvD,SACpBX,EAAIyS,SAAWvO,EAAKuO,SACpBzS,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI0S,KAAOxO,EAAKwO,KAChBnf,EAAQ+d,GACR,QACZ,CARY/d,EAAQud,EAQpB,MAVYvd,EAAQsd,GAUR,MAEJ,KAAKD,GAEH,GADArd,EAAQsd,GACI,MAAR9D,GAA+C,MAAhC3N,EAAOgT,EAAQD,EAAU,GAAY,SACxDA,IACA,MAEF,KAAKtB,GACH,GAAY,MAAR9D,GAAuB,OAARA,EAAc,CAC/BxZ,EAAQud,GACR,QACZ,CAAY,MAEJ,KAAKA,GACH,GAAY,MAAR/D,EAAa,CACXsF,IAAQD,EAAS,MAAQA,GAC7BC,GAAS,EACTH,EAAmBvP,EAAUyP,GAC7B,IAAK,IAAItiB,EAAI,EAAGA,EAAIoiB,EAAiBpmB,OAAQgE,IAAK,CAChD,IAAI4Z,EAAYwI,EAAiBpiB,GACjC,GAAkB,MAAd4Z,GAAsB6I,EAA1B,CAIA,IAAIS,EAAoB1D,GAAc5F,EAAW2F,IAC7CkD,EAAmBvS,EAAIyS,UAAYO,EAClChT,EAAIW,UAAYqS,CAHnC,MAFgBT,GAAoB,CAMpC,CACYH,EAAS,EACrB,MAAiB,GACLrF,IAAQP,GAAe,MAARO,GAAuB,MAARA,GAAuB,MAARA,GACpC,OAARA,GAAgB/M,EAAI8S,YACrB,CACA,GAAIT,GAAqB,KAAXD,EAAe,MA3ejB,oBA4eZD,GAAWxP,EAAUyP,GAAQtmB,OAAS,EACtCsmB,EAAS,GACT7e,EAAQwd,EACpB,MAAiBqB,GAAUrF,EACjB,MAEF,KAAKgE,GACL,KAAKC,GACH,GAAIgB,GAAgC,SAAfhS,EAAIwS,OAAmB,CAC1Cjf,EAAQ6d,GACR,QACZ,CAAiB,GAAY,MAARrE,GAAgBuF,EAOpB,IACLvF,IAAQP,GAAe,MAARO,GAAuB,MAARA,GAAuB,MAARA,GACpC,OAARA,GAAgB/M,EAAI8S,YACrB,CACA,GAAI9S,EAAI8S,aAA0B,KAAXV,EAAe,OAAOzE,EAC7C,GAAIqE,GAA4B,KAAXI,IAAkBpS,EAAI+S,uBAAsC,OAAb/S,EAAI0S,MAAgB,OAExF,GADAb,EAAU7R,EAAIiT,UAAUb,GACX,OAAOP,EAGpB,GAFAO,EAAS,GACT7e,EAAQ8d,GACJW,EAAe,OACnB,QACZ,CACwB,MAARjF,EAAauF,GAAc,EACd,MAARvF,IAAauF,GAAc,GACpCF,GAAUrF,CACtB,KAvBkD,CACtC,GAAe,KAAXqF,EAAe,OAAOzE,EAE1B,GADAkE,EAAU7R,EAAIiT,UAAUb,GACX,OAAOP,EAGpB,GAFAO,EAAS,GACT7e,EAAQ0d,GACJe,IAAkBhB,GAAU,MAC5C,CAgBY,MAEJ,KAAKC,GACH,IAAI5sB,EAAK0pB,EAAOhB,GAET,IACLA,IAAQP,GAAe,MAARO,GAAuB,MAARA,GAAuB,MAARA,GACpC,OAARA,GAAgB/M,EAAI8S,aACrBd,EACA,CACA,GAAe,KAAXI,EAAe,CACjB,IAAIM,EAAO/J,EAASyJ,EAAQ,IAC5B,GAAIM,EAAO,MAAQ,OAAO9E,EAC1B5N,EAAI0S,KAAQ1S,EAAI8S,aAAeJ,IAASnD,GAAevP,EAAIwS,QAAW,KAAOE,EAC7EN,EAAS,EACvB,CACY,GAAIJ,EAAe,OACnBze,EAAQ8d,GACR,QACZ,CAAiB,OAAOzD,CAAY,CAfxBwE,GAAUrF,EAgBZ,MAEF,KAAKmE,GAEH,GADAlR,EAAIwS,OAAS,OACD,MAARzF,GAAuB,OAARA,EAAcxZ,EAAQ4d,OACpC,KAAIjN,GAAwB,SAAhBA,EAAKsO,OA6Bf,CACLjf,EAAQ+d,GACR,QACZ,CA/BY,OAAQvE,GACN,KAAKP,EACHxM,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAI8K,MAAQ5G,EAAK4G,MACjB,MACF,IAAK,IACH9K,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAI8K,MAAQ,GACZvX,EAAQie,GACR,MACF,IAAK,IACHxR,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAI8K,MAAQ5G,EAAK4G,MACjB9K,EAAI4S,SAAW,GACfrf,EAAQke,GACR,MACF,QACOzB,GAA6Bhb,EAAKkO,EAAW+O,EAAYE,GAAU,OACtEnS,EAAIY,KAAOsD,EAAKtD,KAChBZ,EAAI2S,KAAOzP,EAAWgB,EAAKyO,MAC3B3S,EAAIkT,eAEN3f,EAAQ+d,GACR,SAKhB,CAAY,MAEJ,KAAKH,GACH,GAAY,MAARpE,GAAuB,OAARA,EAAc,CAC/BxZ,EAAQ6d,GACR,KACZ,CACclN,GAAwB,SAAhBA,EAAKsO,SAAsBxC,GAA6Bhb,EAAKkO,EAAW+O,EAAYE,GAAU,OACpGrC,GAAqB5L,EAAKyO,KAAK,IAAI,GAAO5qB,EAAKiY,EAAI2S,KAAMzO,EAAKyO,KAAK,IAClE3S,EAAIY,KAAOsD,EAAKtD,MAEvBrN,EAAQ+d,GACR,SAEF,KAAKF,GACH,GAAIrE,IAAQP,GAAe,MAARO,GAAuB,OAARA,GAAwB,MAARA,GAAuB,MAARA,EAAa,CAC5E,IAAKiF,GAAiBlC,GAAqBsC,GACzC7e,EAAQ+d,QACH,GAAe,KAAXc,EAAe,CAExB,GADApS,EAAIY,KAAO,GACPoR,EAAe,OACnBze,EAAQ8d,EACtB,KAAmB,CAEL,GADAQ,EAAU7R,EAAIiT,UAAUb,GACX,OAAOP,EAEpB,GADiB,cAAb7R,EAAIY,OAAsBZ,EAAIY,KAAO,IACrCoR,EAAe,OACnBI,EAAS,GACT7e,EAAQ8d,EACtB,CAAc,QACd,CAAiBe,GAAUrF,EACjB,MAEF,KAAKsE,GACH,GAAIrR,EAAI8S,aAEN,GADAvf,EAAQ+d,GACI,MAARvE,GAAuB,OAARA,EAAc,cAC5B,GAAKiF,GAAyB,MAARjF,EAGtB,GAAKiF,GAAyB,MAARjF,GAGtB,GAAIA,IAAQP,IACjBjZ,EAAQ+d,GACI,MAARvE,GAAa,cAJjB/M,EAAI4S,SAAW,GACfrf,EAAQke,QAJRzR,EAAI8K,MAAQ,GACZvX,EAAQie,GAOR,MAEJ,KAAKF,GACH,GACEvE,IAAQP,GAAe,MAARO,GACN,OAARA,GAAgB/M,EAAI8S,cACnBd,IAA0B,MAARjF,GAAuB,MAARA,GACnC,CAkBA,GAjBIqD,GAAYgC,IACdpS,EAAIkT,cACQ,MAARnG,GAAyB,OAARA,GAAgB/M,EAAI8S,aACvC/qB,EAAKiY,EAAI2S,KAAM,KAERzC,GAAYkC,GACT,MAARrF,GAAyB,OAARA,GAAgB/M,EAAI8S,aACvC/qB,EAAKiY,EAAI2S,KAAM,KAGE,SAAf3S,EAAIwS,SAAsBxS,EAAI2S,KAAK7mB,QAAUgkB,GAAqBsC,KAChEpS,EAAIY,OAAMZ,EAAIY,KAAO,IACzBwR,EAAShT,EAAOgT,EAAQ,GAAK,KAE/BrqB,EAAKiY,EAAI2S,KAAMP,IAEjBA,EAAS,GACU,SAAfpS,EAAIwS,SAAsBzF,IAAQP,GAAe,MAARO,GAAuB,MAARA,GAC1D,KAAO/M,EAAI2S,KAAK7mB,OAAS,GAAqB,KAAhBkU,EAAI2S,KAAK,IACrC/J,EAAM5I,EAAI2S,MAGF,MAAR5F,GACF/M,EAAI8K,MAAQ,GACZvX,EAAQie,IACS,MAARzE,IACT/M,EAAI4S,SAAW,GACfrf,EAAQke,GAEtB,MACYW,GAAU9C,GAAcvC,EAAKqC,IAC7B,MAEJ,KAAKmC,GACS,MAARxE,GACF/M,EAAI8K,MAAQ,GACZvX,EAAQie,IACS,MAARzE,GACT/M,EAAI4S,SAAW,GACfrf,EAAQke,IACC1E,IAAQP,IACjBxM,EAAI2S,KAAK,IAAMrD,GAAcvC,EAAKmC,KAClC,MAEJ,KAAKsC,GACEQ,GAAyB,MAARjF,EAGXA,IAAQP,IACL,MAARO,GAAe/M,EAAI8S,YAAa9S,EAAI8K,OAAS,MAC3B9K,EAAI8K,OAAT,MAARiC,EAA0B,MACjBuC,GAAcvC,EAAKmC,MALrClP,EAAI4S,SAAW,GACfrf,EAAQke,IAKR,MAEJ,KAAKA,GACC1E,IAAQP,IAAKxM,EAAI4S,UAAYtD,GAAcvC,EAAKoC,KAIxDgD,GACN,CACA,EAEEc,UAAW,SAAUvmB,GACnB,IAAIM,EAAQilB,EAAYrjB,EACxB,GAAyB,MAArBwQ,EAAO1S,EAAO,GAAY,CAC5B,GAAwC,MAApC0S,EAAO1S,EAAOA,EAAMZ,OAAS,GAAY,OAAO6hB,EAEpD,GADA3gB,EAhoBU,SAAUN,GACxB,IAIIpF,EAAOwE,EAAQqnB,EAAaC,EAAW5kB,EAAQ6kB,EAAOC,EAJtDC,EAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAChCC,EAAa,EACb9E,EAAW,KACXyD,EAAU,EAGVpF,EAAM,WACR,OAAO3N,EAAO1S,EAAOylB,EACzB,EAEE,GAAc,MAAVpF,IAAe,CACjB,GAAyB,MAArB3N,EAAO1S,EAAO,GAAY,OAC9BylB,GAAW,EAEXzD,IADA8E,CAEJ,CACE,KAAOzG,KAAO,CACZ,GAAmB,IAAfyG,EAAkB,OACtB,GAAc,MAAVzG,IAAJ,CAQA,IADAzlB,EAAQwE,EAAS,EACVA,EAAS,GAAKzH,EAAK8pB,GAAKpB,MAC7BzlB,EAAgB,GAARA,EAAaqhB,EAASoE,IAAO,IACrCoF,IACArmB,IAEF,GAAc,MAAVihB,IAAe,CACjB,GAAe,IAAXjhB,EAAc,OAElB,GADAqmB,GAAWrmB,EACP0nB,EAAa,EAAG,OAEpB,IADAL,EAAc,EACPpG,KAAO,CAEZ,GADAqG,EAAY,KACRD,EAAc,EAAG,CACnB,KAAc,MAAVpG,KAAiBoG,EAAc,GAC9B,OADiChB,GAEhD,CACQ,IAAK9tB,EAAK0pB,EAAOhB,KAAQ,OACzB,KAAO1oB,EAAK0pB,EAAOhB,MAAQ,CAEzB,GADAve,EAASma,EAASoE,IAAO,IACP,OAAdqG,EAAoBA,EAAY5kB,MAC/B,IAAkB,IAAd4kB,EAAiB,OACrBA,EAAwB,GAAZA,EAAiB5kB,CAAM,CACxC,GAAI4kB,EAAY,IAAK,OACrBjB,GACV,CACQoB,EAAQC,GAAoC,IAAtBD,EAAQC,GAAoBJ,EAE9B,MADpBD,GACyC,IAAhBA,GAAmBK,GACpD,CACM,GAAoB,IAAhBL,EAAmB,OACvB,KACN,CAAW,GAAc,MAAVpG,KAET,GADAoF,KACKpF,IAAO,YACP,GAAIA,IAAO,OAClBwG,EAAQC,KAAgBlsB,CArC5B,KANI,CACE,GAAiB,OAAbonB,EAAmB,OACvByD,IAEAzD,IADA8E,CAGN,CAsCA,CACE,GAAiB,OAAb9E,EAGF,IAFA2E,EAAQG,EAAa9E,EACrB8E,EAAa,EACS,IAAfA,GAAoBH,EAAQ,GACjCC,EAAOC,EAAQC,GACfD,EAAQC,KAAgBD,EAAQ7E,EAAW2E,EAAQ,GACnDE,EAAQ7E,IAAa2E,GAASC,OAE3B,GAAmB,IAAfE,EAAkB,OAC7B,OAAOD,CACT,CAsjBeE,CAAUjuB,EAAYkH,EAAO,GAAG,KACpCM,EAAQ,OAAO2gB,EACpB1mB,KAAK2Z,KAAO5T,CAElB,MAAW,GAAK/F,KAAK6rB,YAQV,CAEL,GADApmB,EAAQugB,EAAQvgB,GACZrI,EAAK+pB,GAA2B1hB,GAAQ,OAAOihB,EAEnD,GADA3gB,EAvrBU,SAAUN,GACxB,IACIgnB,EAAaC,EAAS/kB,EAAOglB,EAAMC,EAAOrlB,EAAQslB,EADlDC,EAAQ9tB,EAAMyG,EAAO,KAMzB,GAJIqnB,EAAMjoB,QAAsC,KAA5BioB,EAAMA,EAAMjoB,OAAS,IACvCioB,EAAMjoB,UAER4nB,EAAcK,EAAMjoB,QACF,EAAG,OAAOY,EAE5B,IADAinB,EAAU,GACL/kB,EAAQ,EAAGA,EAAQ8kB,EAAa9kB,IAAS,CAE5C,GAAa,MADbglB,EAAOG,EAAMnlB,IACI,OAAOlC,EAMxB,GALAmnB,EAAQ,GACJD,EAAK9nB,OAAS,GAAyB,MAApBsT,EAAOwU,EAAM,KAClCC,EAAQxvB,EAAK2pB,EAAW4F,GAAQ,GAAK,EACrCA,EAAOpuB,EAAYouB,EAAgB,IAAVC,EAAc,EAAI,IAEhC,KAATD,EACFplB,EAAS,MACJ,CACL,IAAKnK,EAAe,KAAVwvB,EAAe3F,GAAgB,IAAV2F,EAAc5F,EAAME,GAAKyF,GAAO,OAAOlnB,EACtE8B,EAASma,EAASiL,EAAMC,EAC9B,CACI9rB,EAAK4rB,EAASnlB,EAClB,CACE,IAAKI,EAAQ,EAAGA,EAAQ8kB,EAAa9kB,IAEnC,GADAJ,EAASmlB,EAAQ/kB,GACbA,IAAU8kB,EAAc,GAC1B,GAAIllB,GAAU8e,EAAI,IAAK,EAAIoG,GAAc,OAAO,UAC3C,GAAIllB,EAAS,IAAK,OAAO,KAGlC,IADAslB,EAAOtG,EAAImG,GACN/kB,EAAQ,EAAGA,EAAQ+kB,EAAQ7nB,OAAQ8C,IACtCklB,GAAQH,EAAQ/kB,GAAS0e,EAAI,IAAK,EAAI1e,GAExC,OAAOklB,CACT,CAmpBeE,CAAUtnB,GACJ,OAAXM,EAAiB,OAAO2gB,EAC5B1mB,KAAK2Z,KAAO5T,CAClB,KAdkC,CAC5B,GAAI3I,EAAKgqB,GAA6C3hB,GAAQ,OAAOihB,EAGrE,IAFA3gB,EAAS,GACTilB,EAAatP,EAAUjW,GAClBkC,EAAQ,EAAGA,EAAQqjB,EAAWnmB,OAAQ8C,IACzC5B,GAAUsiB,GAAc2C,EAAWrjB,GAAQsgB,IAE7CjoB,KAAK2Z,KAAO5T,CAClB,CAOA,EAEEinB,+BAAgC,WAC9B,OAAQhtB,KAAK2Z,MAAQ3Z,KAAK4rB,kBAAoC,SAAhB5rB,KAAKurB,MACvD,EAEEO,oBAAqB,WACnB,MAAyB,KAAlB9rB,KAAK0Z,UAAqC,KAAlB1Z,KAAKwrB,QACxC,EAEEK,UAAW,WACT,OAAOrqB,EAAO8mB,GAAgBtoB,KAAKurB,OACvC,EAEEU,YAAa,WACX,IAAIP,EAAO1rB,KAAK0rB,KACZuB,EAAWvB,EAAK7mB,QAChBooB,GAA6B,SAAhBjtB,KAAKurB,QAAkC,IAAb0B,GAAmBpE,GAAqB6C,EAAK,IAAI,IAC1FA,EAAK7mB,QAEX,EAEEqe,UAAW,WACT,IAAInK,EAAM/Y,KACNurB,EAASxS,EAAIwS,OACb7R,EAAWX,EAAIW,SACf8R,EAAWzS,EAAIyS,SACf7R,EAAOZ,EAAIY,KACX8R,EAAO1S,EAAI0S,KACXC,EAAO3S,EAAI2S,KACX7H,EAAQ9K,EAAI8K,MACZ8H,EAAW5S,EAAI4S,SACfxO,EAASoO,EAAS,IAYtB,OAXa,OAAT5R,GACFwD,GAAU,KACNpE,EAAI+S,wBACN3O,GAAUzD,GAAY8R,EAAW,IAAMA,EAAW,IAAM,KAE1DrO,GAAUqK,GAAc7N,GACX,OAAT8R,IAAetO,GAAU,IAAMsO,IACf,SAAXF,IAAmBpO,GAAU,MACxCA,GAAUpE,EAAI6S,iBAAmBF,EAAK,GAAKA,EAAK7mB,OAAS,IAAMkJ,EAAK2d,EAAM,KAAO,GACnE,OAAV7H,IAAgB1G,GAAU,IAAM0G,GACnB,OAAb8H,IAAmBxO,GAAU,IAAMwO,GAChCxO,CACX,EAEE+P,QAAS,SAAUzT,GACjB,IAAImR,EAAU5qB,KAAK8qB,MAAMrR,GACzB,GAAImR,EAAS,MAAM,IAAIvrB,EAAUurB,GACjC5qB,KAAKkZ,aAAawK,QACtB,EAEEyJ,UAAW,WACT,IAAI5B,EAASvrB,KAAKurB,OACdE,EAAOzrB,KAAKyrB,KAChB,GAAe,SAAXF,EAAmB,IACrB,OAAO,IAAI6B,GAAe7B,EAAOG,KAAK,IAAI2B,MAChD,CAAM,MAAOhwB,GACP,MAAO,MACb,CACI,MAAe,SAAXkuB,GAAsBvrB,KAAK6rB,YACxBN,EAAS,MAAQ/D,GAAcxnB,KAAK2Z,OAAkB,OAAT8R,EAAgB,IAAMA,EAAO,IAD9B,MAEvD,EAEE6B,YAAa,WACX,OAAOttB,KAAKurB,OAAS,GACzB,EACEgC,YAAa,SAAUC,GACrBxtB,KAAK8qB,MAAMzK,EAAUmN,GAAY,IAAKpE,GAC1C,EAEEqE,YAAa,WACX,OAAOztB,KAAK0Z,QAChB,EACEgU,YAAa,SAAUhU,GACrB,IAAIsR,EAAatP,EAAU2E,EAAU3G,IACrC,IAAI1Z,KAAKgtB,iCAAT,CACAhtB,KAAK0Z,SAAW,GAChB,IAAK,IAAI7Q,EAAI,EAAGA,EAAImiB,EAAWnmB,OAAQgE,IACrC7I,KAAK0Z,UAAY2O,GAAc2C,EAAWniB,GAAIuf,GAHL,CAK/C,EAEEuF,YAAa,WACX,OAAO3tB,KAAKwrB,QAChB,EACEoC,YAAa,SAAUpC,GACrB,IAAIR,EAAatP,EAAU2E,EAAUmL,IACrC,IAAIxrB,KAAKgtB,iCAAT,CACAhtB,KAAKwrB,SAAW,GAChB,IAAK,IAAI3iB,EAAI,EAAGA,EAAImiB,EAAWnmB,OAAQgE,IACrC7I,KAAKwrB,UAAYnD,GAAc2C,EAAWniB,GAAIuf,GAHL,CAK/C,EAEEyF,QAAS,WACP,IAAIlU,EAAO3Z,KAAK2Z,KACZ8R,EAAOzrB,KAAKyrB,KAChB,OAAgB,OAAT9R,EAAgB,GACV,OAAT8R,EAAgBjE,GAAc7N,GAC9B6N,GAAc7N,GAAQ,IAAM8R,CACpC,EACEqC,QAAS,SAAUnU,GACb3Z,KAAK4rB,kBACT5rB,KAAK8qB,MAAMnR,EAAMmQ,GACrB,EAEEiE,YAAa,WACX,IAAIpU,EAAO3Z,KAAK2Z,KAChB,OAAgB,OAATA,EAAgB,GAAK6N,GAAc7N,EAC9C,EACEqU,YAAa,SAAUC,GACjBjuB,KAAK4rB,kBACT5rB,KAAK8qB,MAAMmD,EAAUlE,GACzB,EAEEmE,QAAS,WACP,IAAIzC,EAAOzrB,KAAKyrB,KAChB,OAAgB,OAATA,EAAgB,GAAKpL,EAAUoL,EAC1C,EACE0C,QAAS,SAAU1C,GACbzrB,KAAKgtB,mCAEI,MADbvB,EAAOpL,EAAUoL,IACAzrB,KAAKyrB,KAAO,KACxBzrB,KAAK8qB,MAAMW,EAAMzB,IAC1B,EAEEoE,YAAa,WACX,IAAI1C,EAAO1rB,KAAK0rB,KAChB,OAAO1rB,KAAK4rB,iBAAmBF,EAAK,GAAKA,EAAK7mB,OAAS,IAAMkJ,EAAK2d,EAAM,KAAO,EACnF,EACE2C,YAAa,SAAUhV,GACjBrZ,KAAK4rB,mBACT5rB,KAAK0rB,KAAO,GACZ1rB,KAAK8qB,MAAMzR,EAAU+Q,IACzB,EAEEkE,UAAW,WACT,IAAIzK,EAAQ7jB,KAAK6jB,MACjB,OAAOA,EAAQ,IAAMA,EAAQ,EACjC,EACE0K,UAAW,SAAUC,GAEJ,MADfA,EAASnO,EAAUmO,IAEjBxuB,KAAK6jB,MAAQ,MAEa,MAAtB1L,EAAOqW,EAAQ,KAAYA,EAASjwB,EAAYiwB,EAAQ,IAC5DxuB,KAAK6jB,MAAQ,GACb7jB,KAAK8qB,MAAM0D,EAAQjE,KAErBvqB,KAAKkZ,aAAawK,QACtB,EAEE+K,gBAAiB,WACf,OAAOzuB,KAAKkZ,aAAa1M,MAC7B,EAEEkiB,QAAS,WACP,IAAI/C,EAAW3rB,KAAK2rB,SACpB,OAAOA,EAAW,IAAMA,EAAW,EACvC,EACEgD,QAAS,SAAU/U,GAEJ,MADbA,EAAOyG,EAAUzG,KAKO,MAApBzB,EAAOyB,EAAM,KAAYA,EAAOrb,EAAYqb,EAAM,IACtD5Z,KAAK2rB,SAAW,GAChB3rB,KAAK8qB,MAAMlR,EAAM4Q,KALfxqB,KAAK2rB,SAAW,IAMtB,EACEjI,OAAQ,WACN1jB,KAAK6jB,MAAQ7jB,KAAKkZ,aAAagK,aAAe,IAClD,GAKA,IAAIkK,GAAiB,SAAarU,GAChC,IAAIgB,EAAOE,EAAWja,KAAM4uB,IACxB3R,EAAOqB,EAAwBlgB,UAAUyG,OAAQ,GAAK,EAAIzG,UAAU,QAAKyD,EACzEyK,EAAQwI,EAAiBiF,EAAM,IAAI0Q,GAAS1R,GAAK,EAAOkE,IACvD/Y,IACH6V,EAAKN,KAAOnN,EAAM4W,YAClBnJ,EAAKsT,OAAS/gB,EAAM6gB,YACpBpT,EAAKyT,SAAWlhB,EAAMghB,cACtBvT,EAAKL,SAAWpN,EAAMmhB,cACtB1T,EAAKyR,SAAWlf,EAAMqhB,cACtB5T,EAAKJ,KAAOrN,EAAMuhB,UAClB9T,EAAKkU,SAAW3hB,EAAMyhB,cACtBhU,EAAK0R,KAAOnf,EAAM4hB,UAClBnU,EAAKV,SAAW/M,EAAM8hB,cACtBrU,EAAKyU,OAASliB,EAAMgiB,YACpBvU,EAAKb,aAAe5M,EAAMmiB,kBAC1B1U,EAAKH,KAAOtN,EAAMoiB,UAEtB,EAEIE,GAAexB,GAAetvB,UAE9B+wB,GAAqB,SAAUxgB,EAAQC,GACzC,MAAO,CACLrK,IAAK,WACH,OAAOiiB,EAAoBlmB,MAAMqO,IACvC,EACItC,IAAKuC,GAAU,SAAUjO,GACvB,OAAO6lB,EAAoBlmB,MAAMsO,GAAQjO,EAC/C,EACIC,cAAc,EACdyG,YAAY,EAEhB,EAqDA,GAnDI7C,IAGF8V,EAAsB4U,GAAc,OAAQC,GAAmB,YAAa,YAG5E7U,EAAsB4U,GAAc,SAAUC,GAAmB,cAGjE7U,EAAsB4U,GAAc,WAAYC,GAAmB,cAAe,gBAGlF7U,EAAsB4U,GAAc,WAAYC,GAAmB,cAAe,gBAGlF7U,EAAsB4U,GAAc,WAAYC,GAAmB,cAAe,gBAGlF7U,EAAsB4U,GAAc,OAAQC,GAAmB,UAAW,YAG1E7U,EAAsB4U,GAAc,WAAYC,GAAmB,cAAe,gBAGlF7U,EAAsB4U,GAAc,OAAQC,GAAmB,UAAW,YAG1E7U,EAAsB4U,GAAc,WAAYC,GAAmB,cAAe,gBAGlF7U,EAAsB4U,GAAc,SAAUC,GAAmB,YAAa,cAG9E7U,EAAsB4U,GAAc,eAAgBC,GAAmB,oBAGvE7U,EAAsB4U,GAAc,OAAQC,GAAmB,UAAW,aAK5EpgB,EAAcmgB,GAAc,SAAU,WACpC,OAAO1I,EAAoBlmB,MAAMkjB,WACnC,EAAG,CAAEnc,YAAY,IAIjB0H,EAAcmgB,GAAc,WAAY,WACtC,OAAO1I,EAAoBlmB,MAAMkjB,WACnC,EAAG,CAAEnc,YAAY,IAEbqf,EAAW,CACb,IAAI0I,GAAwB1I,EAAU2I,gBAClCC,GAAwB5I,EAAU6I,gBAGlCH,IAAuBrgB,EAAc2e,GAAgB,kBAAmB3vB,EAAKqxB,GAAuB1I,IAGpG4I,IAAuBvgB,EAAc2e,GAAgB,kBAAmB3vB,EAAKuxB,GAAuB5I,GAC1G,QAEA3U,EAAe2b,GAAgB,OAE/Bza,EAAE,CAAE5S,QAAQ,EAAMyO,aAAa,EAAMoC,QAAS+O,EAAgB9c,MAAOqB,GAAe,CAClF8U,IAAKoU,kBEvhCP9vB,oDCDA,IAAIqV,EAAIrV,KACJS,EAAOY,KAIXgU,EAAE,CAAEpD,OAAQ,MAAOkD,OAAO,EAAM1L,YAAY,GAAQ,CAClDwS,OAAQ,WACN,OAAOxb,EAAKib,IAAIlb,UAAUQ,SAAU0B,KACxC,wBCPA1C,8ECDA,IAAI2d,EAAU3d,KACVwd,EAAgBnc,KAChBmF,EAAWjF,KAGXqwB,EAFkBjsB,IAERO,CAAgB,WAC1BiY,EAAShQ,aAIb0jB,GAAiB,SAAUC,GACzB,IAAIC,EASF,OAREpU,EAAQmU,KACVC,EAAID,EAAc5gB,aAEdsM,EAAcuU,KAAOA,IAAM5T,GAAUR,EAAQoU,EAAEvxB,aAC1CgG,EAASurB,IAEN,QADVA,EAAIA,EAAEH,OAFwDG,OAAIxtB,SAKvDA,IAANwtB,EAAkB5T,EAAS4T,CACtC,qCCrBA,IAAIF,EAA0B7xB,YAI9BgyB,GAAiB,SAAUF,EAAevqB,GACxC,OAAO,IAAKsqB,EAAwBC,GAA7B,CAAwD,IAAXvqB,EAAe,EAAIA,EACzE,qCCNA,IAAIpH,EAAOH,KACPiC,EAAgBZ,IAChB0C,EAAWxC,KACXkJ,EAAoB9E,KACpBqsB,EAAqBpsB,KACrB8X,EAAiB5X,KAGjB6E,EAAe,SAAU4E,GAC3B,IAAI0iB,EAAkB,IAAT1iB,EACT2iB,EAAqB,IAAT3iB,EACZ4iB,EAAmB,IAAT5iB,EACV6iB,EAAoB,IAAT7iB,EACX8iB,EAAyB,IAAT9iB,EAChB+iB,EAA4B,IAAT/iB,EACnBgjB,EAAoB,IAAThjB,GAAc8iB,EAC7B,OAAO,SAAUxnB,EAAO2nB,EAAY/V,GASlC,IARA,IAOI1Z,EAAO0F,EAPPa,EAAIvF,EAAS8G,GACbrI,EAAOP,EAAcqH,GACrB/B,EAASkD,EAAkBjI,GAC3B4kB,EAAgBjnB,EAAKqyB,EAAY/V,GACjCpS,EAAQ,EACRooB,EAAW,EACXxgB,EAASggB,EAASD,EAAmBnnB,EAAOtD,GAAU2qB,GAAaI,EAAmBN,EAAmBnnB,EAAO,QAAKtG,EAEnHgD,EAAS8C,EAAOA,IAAS,IAAIkoB,GAAYloB,KAAS7H,KAEtDiG,EAAS2e,EADTrkB,EAAQP,EAAK6H,GACiBA,EAAOf,GACjCiG,GACF,GAAI0iB,EAAQvU,EAAezL,EAAQ5H,EAAO5B,QACrC,GAAIA,EAAQ,OAAQ8G,GACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAOxM,EACf,KAAK,EAAG,OAAOsH,EACf,KAAK,EAAGqT,EAAezL,EAAQwgB,IAAY1vB,QACtC,OAAQwM,GACb,KAAK,EAAG,OAAO,EACf,KAAK,EAAGmO,EAAezL,EAAQwgB,IAAY1vB,GAIjD,OAAOsvB,GAAgB,EAAKF,GAAWC,EAAWA,EAAWngB,CACjE,CACA,SAEAygB,GAAiB,CAGf1W,QAASrR,EAAa,GAGtBgoB,IAAKhoB,EAAa,GAGlBioB,OAAQjoB,EAAa,GAGrBkoB,KAAMloB,EAAa,GAGnBmoB,MAAOnoB,EAAa,GAGpB8a,KAAM9a,EAAa,GAGnBooB,UAAWpoB,EAAa,GAGxBqoB,aAAcroB,EAAa,uCCrE7B,IAAI9K,EAAQG,IACRkG,EAAkB7E,KAClB4D,EAAa1D,KAEbqwB,EAAU1rB,EAAgB,kBAE9B+sB,GAAiB,SAAU3Y,GAIzB,OAAOrV,GAAc,KAAOpF,EAAM,WAChC,IAAIwhB,EAAQ,GAKZ,OAJkBA,EAAMnQ,YAAc,CAAA,GAC1B0gB,GAAW,WACrB,MAAO,CAAEsB,IAAK,EACpB,EAC+C,IAApC7R,EAAM/G,GAAa6Y,SAASD,GACvC,EACA,mCClBA,IAAI7d,EAAIrV,KACJozB,EAAU/xB,KAAwCuxB,OAQtDvd,EAAE,CAAEpD,OAAQ,QAASkD,OAAO,EAAM7B,QAPC/R,IAET0xB,CAA6B,WAKW,CAChEL,OAAQ,SAAgBJ,GACtB,OAAOY,EAAQ1wB,KAAM8vB,EAAY1xB,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EAC3E,qDCZA,IAAI8Q,EAAIrV,KACJ4G,EAAcvF,KACdyQ,EAAUvQ,KACVW,EAAkByD,IAClBoM,EAAiCnM,KACjC8X,EAAiB5X,KAIrBuP,EAAE,CAAEpD,OAAQ,SAAUmB,MAAM,EAAM7N,MAAOqB,GAAe,CACtDysB,0BAA2B,SAAmChoB,GAO5D,IANA,IAKIvI,EAAK8M,EALLtG,EAAIpH,EAAgBmJ,GACpBrC,EAA2B+I,EAA+B1I,EAC1DsC,EAAOmG,EAAQxI,GACfb,EAAS,CAAA,EACT4B,EAAQ,EAELsB,EAAKpE,OAAS8C,QAEA9F,KADnBqL,EAAa5G,EAAyBM,EAAGxG,EAAM6I,EAAKtB,QACtBqT,EAAejV,EAAQ3F,EAAK8M,GAE5D,OAAOnH,CACX,mECtBA,IAAI5I,EAAQG,WAEZszB,GAAiB,SAAUhZ,EAAatW,GACtC,IAAIsD,EAAS,GAAGgT,GAChB,QAAShT,GAAUzH,EAAM,WAEvByH,EAAO7G,KAAK,KAAMuD,GAAY,WAAc,OAAO,CAAE,EAAI,EAC7D,EACA,ECTA,SAASuvB,GAAQC,GAGf,OAAOD,GAAU,mBAAqBjuB,QAAU,iBAAmBA,OAAOI,SAAW,SAAU8tB,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBluB,QAAUkuB,EAAEtiB,cAAgB5L,QAAUkuB,IAAMluB,OAAO9E,UAAY,gBAAkBgzB,CACpH,EAAGD,GAAQC,EACb,CCNA,SAAS7qB,GAAc8X,GACrB,IAAIlV,ECFN,SAAqBkV,EAAGgT,GACtB,GAAI,UAAYF,GAAQ9S,KAAOA,EAAG,OAAOA,EACzC,IAAIiT,EAAIjT,EAAEnb,OAAOkD,aACjB,QAAI,IAAWkrB,EAAG,CAChB,IAAInoB,EAAImoB,EAAEjzB,KAAKggB,EAAGgT,GAClB,GAAI,UAAYF,GAAQhoB,GAAI,OAAOA,EACnC,MAAM,IAAIxJ,UAAU,+CACtB,CACA,OAAQ,WAAa0xB,EAAI9uB,OAASgvB,QAAQlT,EAC5C,CDPUjY,CAAYiY,EAAG,UACvB,MAAO,UAAY8S,GAAQhoB,GAAKA,EAAIA,EAAI,EAC1C,CEJA,SAASqoB,GAAgBF,EAAGD,EAAGhT,GAC7B,OAAQgT,EAAI9qB,GAAc8qB,MAAOC,EAAIjyB,OAAOmB,eAAe8wB,EAAGD,EAAG,CAC/D1wB,MAAO0d,EACPhX,YAAY,EACZzG,cAAc,EACdC,UAAU,IACPywB,EAAED,GAAKhT,EAAGiT,CACjB,kCCPA,IAAIpxB,EAAatC,IACbga,EAAe3Y,KACfyY,EAAwBvY,KACxBya,kCCHJ,IAAI6X,EAAW7zB,KAAwCgc,QAGnD8X,EAFsBzyB,IAENiyB,CAAoB,kBAIxCS,GAAkBD,EAGd,GAAG9X,QAH2B,SAAiBwW,GACjD,OAAOqB,EAASnxB,KAAM8vB,EAAY1xB,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EAE1E,KDPcoB,GACV6I,EAA8B5I,KAE9BuU,EAAkB,SAAUC,GAE9B,GAAIA,GAAuBA,EAAoB4B,UAAYA,EAAS,IAClExN,EAA4B4L,EAAqB,UAAW4B,EAChE,CAAI,MAAOjc,GACPqa,EAAoB4B,QAAUA,CAClC,CACA,EAEA,IAAK,IAAI3B,KAAmBL,EACtBA,EAAaK,IACfF,EAAgB7X,EAAW+X,IAAoB/X,EAAW+X,GAAiB7Z,WAI/E2Z,EAAgBL,oFErBhB,IAAIrT,EAAWzG,YAIfg0B,GAAiB,WACf,IAAIvX,EAAOhW,EAAS/D,MAChB+F,EAAS,GASb,OARIgU,EAAKwX,aAAYxrB,GAAU,KAC3BgU,EAAKha,SAAQgG,GAAU,KACvBgU,EAAKyX,aAAYzrB,GAAU,KAC3BgU,EAAK0X,YAAW1rB,GAAU,KAC1BgU,EAAK2X,SAAQ3rB,GAAU,KACvBgU,EAAK4X,UAAS5rB,GAAU,KACxBgU,EAAK6X,cAAa7rB,GAAU,KAC5BgU,EAAK8X,SAAQ9rB,GAAU,KACpBA,CACT,qCChBA,IAAI5I,EAAQG,IAIRw0B,EAHanzB,IAGQozB,OAErBC,EAAgB70B,EAAM,WACxB,IAAI80B,EAAKH,EAAQ,IAAK,KAEtB,OADAG,EAAGC,UAAY,EACY,OAApBD,EAAG70B,KAAK,OACjB,GAII+0B,EAAgBH,GAAiB70B,EAAM,WACzC,OAAQ20B,EAAQ,IAAK,KAAKD,MAC5B,GAEIO,EAAeJ,GAAiB70B,EAAM,WAExC,IAAI80B,EAAKH,EAAQ,KAAM,MAEvB,OADAG,EAAGC,UAAY,EACW,OAAnBD,EAAG70B,KAAK,MACjB,UAEAi1B,GAAiB,CACfD,aAAcA,EACdD,cAAeA,EACfH,cAAeA,sCC5BjB,IAAI70B,EAAQG,IAIRw0B,EAHanzB,IAGQozB,cAEzBO,GAAiBn1B,EAAM,WACrB,IAAI80B,EAAKH,EAAQ,IAAK,KACtB,QAASG,EAAGP,QAAUO,EAAGz0B,KAAK,OAAsB,MAAby0B,EAAGM,MAC5C,sCCTA,IAAIp1B,EAAQG,IAIRw0B,EAHanzB,IAGQozB,cAEzBS,GAAiBr1B,EAAM,WACrB,IAAI80B,EAAKH,EAAQ,UAAW,KAC5B,MAAiC,MAA1BG,EAAG70B,KAAK,KAAKq1B,OAAOjuB,GACI,OAA7B,IAAIsJ,QAAQmkB,EAAI,QACpB,sCCRA,IAoBMS,EACAC,EArBF50B,EAAOT,KACPe,EAAcM,IACdL,EAAWO,KACXyyB,EAAcruB,KACd2vB,EAAgB1vB,KAChB9B,EAASgC,KACTkI,EAAS3B,KACTkE,EAAmBzB,KAAuCnI,IAC1D4uB,EAAsB/f,KACtBggB,EAAkB/f,KAElBggB,EAAgB3xB,EAAO,wBAAyBa,OAAOnE,UAAUgQ,SACjEklB,EAAajB,OAAOj0B,UAAUV,KAC9B61B,EAAcD,EACd7a,EAAS9Z,EAAY,GAAG8Z,QACxB3P,EAAUnK,EAAY,GAAGmK,SACzBsF,EAAUzP,EAAY,GAAGyP,SACzBvP,EAAcF,EAAY,GAAGG,OAE7B00B,GAEEP,EAAM,MACV50B,EAAKi1B,EAFDN,EAAM,IAEY,KACtB30B,EAAKi1B,EAAYL,EAAK,KACG,IAAlBD,EAAIR,WAAqC,IAAlBS,EAAIT,WAGhCF,EAAgBY,EAAcR,aAG9Be,OAAuCtxB,IAAvB,OAAOzE,KAAK,IAAI,UAExB81B,GAA4BC,GAAiBnB,GAAiBa,GAAuBC,KAG/FG,EAAc,SAAchjB,GAC1B,IAIIlK,EAAQqtB,EAAQlB,EAAWhwB,EAAO2G,EAAGF,EAAQ0qB,EAJ7CpB,EAAKjyB,KACLsM,EAAQuB,EAAiBokB,GACzBqB,EAAMh1B,EAAS2R,GACfsjB,EAAMjnB,EAAMinB,IAGhB,GAAIA,EAIF,OAHAA,EAAIrB,UAAYD,EAAGC,UACnBnsB,EAAShI,EAAKk1B,EAAaM,EAAKD,GAChCrB,EAAGC,UAAYqB,EAAIrB,UACZnsB,EAGT,IAAI0sB,EAASnmB,EAAMmmB,OACfZ,EAASG,GAAiBC,EAAGJ,OAC7BU,EAAQx0B,EAAKuzB,EAAaW,GAC1B9wB,EAAS8wB,EAAG9wB,OACZqyB,EAAa,EACbC,EAAUH,EA+Cd,GA7CIzB,IACFU,EAAQzkB,EAAQykB,EAAO,IAAK,KACA,IAAxB/pB,EAAQ+pB,EAAO,OACjBA,GAAS,KAGXkB,EAAUl1B,EAAY+0B,EAAKrB,EAAGC,WAE1BD,EAAGC,UAAY,KAAOD,EAAGR,WAAaQ,EAAGR,WAA+C,OAAlCtZ,EAAOmb,EAAKrB,EAAGC,UAAY,MACnF/wB,EAAS,OAASA,EAAS,IAC3BsyB,EAAU,IAAMA,EAChBD,KAIFJ,EAAS,IAAIrB,OAAO,OAAS5wB,EAAS,IAAKoxB,IAGzCY,IACFC,EAAS,IAAIrB,OAAO,IAAM5wB,EAAS,WAAYoxB,IAE7CW,IAA0BhB,EAAYD,EAAGC,WAE7ChwB,EAAQnE,EAAKi1B,EAAYnB,EAASuB,EAASnB,EAAIwB,GAE3C5B,EACE3vB,GACFA,EAAMuD,MAAQlH,EAAY2D,EAAMuD,MAAO+tB,GACvCtxB,EAAM,GAAK3D,EAAY2D,EAAM,GAAIsxB,GACjCtxB,EAAMyF,MAAQsqB,EAAGC,UACjBD,EAAGC,WAAahwB,EAAM,GAAG2C,QACpBotB,EAAGC,UAAY,EACbgB,GAA4BhxB,IACrC+vB,EAAGC,UAAYD,EAAGlyB,OAASmC,EAAMyF,MAAQzF,EAAM,GAAG2C,OAASqtB,GAEzDiB,GAAiBjxB,GAASA,EAAM2C,OAAS,GAG3C9G,EAAKg1B,EAAe7wB,EAAM,GAAIkxB,EAAQ,WACpC,IAAKvqB,EAAI,EAAGA,EAAIzK,UAAUyG,OAAS,EAAGgE,SACfhH,IAAjBzD,UAAUyK,KAAkB3G,EAAM2G,QAAKhH,EAErD,GAGQK,GAASuwB,EAEX,IADAvwB,EAAMuwB,OAAS9pB,EAAS2C,EAAO,MAC1BzC,EAAI,EAAGA,EAAI4pB,EAAO5tB,OAAQgE,IAE7BF,GADA0qB,EAAQZ,EAAO5pB,IACF,IAAM3G,EAAMmxB,EAAM,IAInC,OAAOnxB,CACX,GAGAwxB,GAAiBT,qCCnHjB,IAAItgB,EAAIrV,KACJF,EAAOuB,YAIXgU,EAAE,CAAEpD,OAAQ,SAAUkD,OAAO,EAAM7B,OAAQ,IAAIxT,OAASA,GAAQ,CAC9DA,KAAMA,sGCNR,IAAIO,EAAcL,IAEdM,EAAoBC,SAASC,UAC7BK,EAAQP,EAAkBO,MAC1BJ,EAAOH,EAAkBG,YAG7B41B,GAAmC,iBAAXC,SAAuBA,QAAQz1B,QAAUR,EAAcI,EAAKN,KAAKU,GAAS,WAChG,OAAOJ,EAAKI,MAAMA,EAAOC,UAC3B,yCCRAd,KACA,IAAIS,EAAOY,KACP8P,EAAgB5P,KAChB60B,EAAazwB,KACb9F,EAAQ+F,IACRM,EAAkBJ,KAClB0I,EAA8BnC,KAE9BulB,EAAU1rB,EAAgB,WAC1BqwB,EAAkB9B,OAAOj0B,iBAE7Bg2B,GAAiB,SAAU9f,EAAK5W,EAAMyW,EAAQkgB,GAC5C,IAAIC,EAASxwB,EAAgBwQ,GAEzBigB,GAAuB92B,EAAM,WAE/B,IAAIyJ,EAAI,CAAA,EAGR,OADAA,EAAEotB,GAAU,WAAc,OAAO,CAAE,EACb,IAAf,GAAGhgB,GAAKpN,EACnB,GAEMstB,EAAoBD,IAAwB92B,EAAM,WAEpD,IAAIg3B,GAAa,EACblC,EAAK,IAET,GAAY,UAARje,EAAiB,CAMnB,IAAIxF,EAAc,CAAA,EAElBA,EAAY0gB,GAAW,WAAc,OAAO+C,CAAG,GAC/CA,EAAK,CAAEzjB,YAAaA,EAAa+jB,MAAO,KAErCyB,GAAU,IAAIA,EACvB,CAQI,OANA/B,EAAG70B,KAAO,WAER,OADA+2B,GAAa,EACN,IACb,EAEIlC,EAAG+B,GAAQ,KACHG,CACZ,GAEE,IACGF,IACAC,GACDrgB,EACA,CACA,IAAIugB,EAAqB,IAAIJ,GACzBjgB,EAAU3W,EAAK42B,EAAQ,GAAGhgB,GAAM,SAAUqgB,EAAcC,EAAQhB,EAAKiB,EAAMC,GAC7E,IAAIC,EAAQH,EAAOl3B,KACnB,OAAIq3B,IAAUf,GAAce,IAAUZ,EAAgBz2B,KAChD62B,IAAwBO,EAInB,CAAE7f,MAAM,EAAMtU,MAAOtC,EAAKq2B,EAAoBE,EAAQhB,EAAKiB,IAE7D,CAAE5f,MAAM,EAAMtU,MAAOtC,EAAKs2B,EAAcf,EAAKgB,EAAQC,IAEvD,CAAE5f,MAAM,EACrB,GAEIlG,EAAcxM,OAAOnE,UAAWkW,EAAKD,EAAQ,IAC7CtF,EAAcolB,EAAiBG,EAAQjgB,EAAQ,GACnD,CAEMggB,GAAMjoB,EAA4B+nB,EAAgBG,GAAS,QAAQ,EACzE,qCC5EA,IAAI7b,EAAS7a,KAAyC6a,cAItDuc,GAAiB,SAAUjc,EAAG9Q,EAAOgqB,GACnC,OAAOhqB,GAASgqB,EAAUxZ,EAAOM,EAAG9Q,GAAO9C,OAAS,EACtD,wCCNA,IAAIxG,EAAcf,IACd+D,EAAW1C,KAEXuI,EAAQxH,KAAKwH,MACbiR,EAAS9Z,EAAY,GAAG8Z,QACxBrK,EAAUzP,EAAY,GAAGyP,SACzBvP,EAAcF,EAAY,GAAGG,OAE7Bm2B,EAAuB,8BACvBC,EAAgC,6BAIpCC,GAAiB,SAAUC,EAASxB,EAAK5a,EAAUqc,EAAUC,EAAevlB,GAC1E,IAAIwlB,EAAUvc,EAAWoc,EAAQjwB,OAC7B+Y,EAAImX,EAASlwB,OACbqwB,EAAUN,EAKd,YAJsB/yB,IAAlBmzB,IACFA,EAAgB3zB,EAAS2zB,GACzBE,EAAUP,GAEL7mB,EAAQ2B,EAAaylB,EAAS,SAAUhzB,EAAOizB,GACpD,IAAIC,EACJ,OAAQjd,EAAOgd,EAAI,IACjB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAOL,EACjB,IAAK,IAAK,OAAOv2B,EAAY+0B,EAAK,EAAG5a,GACrC,IAAK,IAAK,OAAOna,EAAY+0B,EAAK2B,GAClC,IAAK,IACHG,EAAUJ,EAAcz2B,EAAY42B,EAAI,GAAG,IAC3C,MACF,QACE,IAAI9tB,GAAK8tB,EACT,GAAU,IAAN9tB,EAAS,OAAOnF,EACpB,GAAImF,EAAIuW,EAAG,CACT,IAAIjX,EAAIO,EAAMG,EAAI,IAClB,OAAU,IAANV,EAAgBzE,EAChByE,GAAKiX,OAA8B/b,IAApBkzB,EAASpuB,EAAI,GAAmBwR,EAAOgd,EAAI,GAAKJ,EAASpuB,EAAI,GAAKwR,EAAOgd,EAAI,GACzFjzB,CACjB,CACQkzB,EAAUL,EAAS1tB,EAAI,GAE3B,YAAmBxF,IAAZuzB,EAAwB,GAAKA,CACxC,EACA,qCC5CA,IAAIr3B,EAAOT,KACPkE,EAAS7C,KACToG,EAAgBlG,KAChBw2B,kCCHJ,IAAIz1B,EAAatC,IACbH,EAAQwB,IAGRozB,EAASnyB,EAAWmyB,OAEpBuD,GAA2Bn4B,EAAM,WACnC,IAAIo4B,GAAkB,EACtB,IACExD,EAAO,IAAK,IAChB,CAAI,MAAO10B,GACPk4B,GAAkB,CACtB,CAEE,IAAI3uB,EAAI,CAAA,EAEJ4uB,EAAQ,GACRC,EAAWF,EAAkB,SAAW,QAExCG,EAAY,SAAUt1B,EAAK0lB,GAE7B/mB,OAAOmB,eAAe0G,EAAGxG,EAAK,CAAE6D,IAAK,WAEnC,OADAuxB,GAAS1P,GACF,CACb,GACA,EAEM6P,EAAQ,CACVjE,OAAQ,IACR3xB,OAAQ,IACRyxB,WAAY,IACZC,UAAW,IACXI,OAAQ,KAKV,IAAK,IAAIzxB,KAFLm1B,IAAiBI,EAAMpE,WAAa,KAExBoE,EAAOD,EAAUt1B,EAAKu1B,EAAMv1B,IAK5C,OAFarB,OAAOuH,yBAAyByrB,EAAOj0B,UAAW,SAASmG,IAAIlG,KAAK6I,KAE/D6uB,GAAYD,IAAUC,CAC1C,UAEAG,GAAiB,CAAEC,QAASP,GD1CDryB,GACvB6yB,EAAkC5yB,KAElC2wB,EAAkB9B,OAAOj0B,iBAE7Bi4B,GAAiBV,EAAqBQ,QAAU,SAAUn3B,GACxD,OAAOA,EAAG6zB,KACZ,EAAI,SAAU7zB,GACZ,OAAS22B,EAAqBQ,UAAW9wB,EAAc8uB,EAAiBn1B,IAAQ8C,EAAO9C,EAAI,SAEvFA,EAAG6zB,MADHx0B,EAAK+3B,EAAiCp3B,EAE5C,qCEdA,IAAIX,EAAOT,KACPyG,EAAWpF,KACXkF,EAAahF,KACbD,EAAUqE,IACVywB,EAAaxwB,KAEb9D,EAAaC,iBAIjB22B,GAAiB,SAAUC,EAAGxd,GAC5B,IAAIrb,EAAO64B,EAAE74B,KACb,GAAIyG,EAAWzG,GAAO,CACpB,IAAI2I,EAAShI,EAAKX,EAAM64B,EAAGxd,GAE3B,OADe,OAAX1S,GAAiBhC,EAASgC,GACvBA,CACX,CACE,GAAmB,WAAfnH,EAAQq3B,GAAiB,OAAOl4B,EAAK21B,EAAYuC,EAAGxd,GACxD,MAAM,IAAIrZ,EAAW,8CACvB,ECdA,SAASgQ,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,kCCNtb,IAAI7yB,EAAQb,KACRS,EAAOY,KACPN,EAAcQ,IACds3B,EAAgClzB,KAChC9F,EAAQ+F,IACRa,EAAWX,KACXS,EAAa8F,KACb7F,EAAWsI,KACX9E,EAAsBwL,KACtBjL,EAAWkL,KACXzU,EAAW0U,KACX1T,EAAyB2T,IACzByhB,EAAqBxhB,KACrB9N,EAAYgO,KACZyhB,EAAkBjV,KAClBwW,EAAiBvW,KACjBwW,EAAavW,KAGbwW,EAFkBvW,IAERvc,CAAgB,WAC1BgE,EAAM9H,KAAK8H,IACXC,EAAM/H,KAAK+H,IACXqH,EAASzQ,EAAY,GAAGyQ,QACxBhO,EAAOzC,EAAY,GAAGyC,MACtBy1B,EAAgBl4B,EAAY,GAAGmK,SAC/BjK,EAAcF,EAAY,GAAGG,OAE7Bg4B,EAAgB,SAAU93B,GAC5B,YAAcmD,IAAPnD,EAAmBA,EAAKuD,OAAOvD,EACxC,EAII+3B,EAEgC,OAA3B,IAAI3oB,QAAQ,IAAK,MAItB4oB,IACE,IAAIJ,IAC6B,KAA5B,IAAIA,GAAS,IAAK,MAiB7BH,EAA8B,UAAW,SAAUQ,EAAG5D,EAAe6D,GACnE,IAAIC,EAAoBH,EAA+C,IAAM,KAE7E,MAAO,CAGL,SAAiBI,EAAaC,GAC5B,IAAInwB,EAAItH,EAAuBU,MAC3BijB,EAAWnf,EAASgzB,GAAe1xB,EAAU0xB,EAAaR,QAAWz0B,EACzE,OAAOohB,EACHllB,EAAKklB,EAAU6T,EAAalwB,EAAGmwB,GAC/Bh5B,EAAKg1B,EAAez0B,EAASsI,GAAIkwB,EAAaC,EACxD,EAGI,SAAU9mB,EAAQ8mB,GAChB,IAAIC,EAAKjzB,EAAS/D,MACdyY,EAAIna,EAAS2R,GAEjB,GACyB,iBAAhB8mB,IAC4C,IAAnDR,EAAcQ,EAAcF,KACU,IAAtCN,EAAcQ,EAAc,MAC5B,CACA,IAAIE,EAAML,EAAgB7D,EAAeiE,EAAIve,EAAGse,GAChD,GAAIE,EAAItiB,KAAM,OAAOsiB,EAAI52B,KACjC,CAEM,IAAI62B,EAAoBrzB,EAAWkzB,GAC9BG,IAAmBH,EAAez4B,EAASy4B,IAEhD,IAEII,EAFA5E,EAAQj0B,EAAS83B,EAAeY,IAChCj3B,GAAuC,IAA9Bw2B,EAAchE,EAAO,KAE9BxyB,IACFo3B,GAA4C,IAA9BZ,EAAchE,EAAO,KACnCyE,EAAG9E,UAAY,GAKjB,IAFA,IACInsB,EADAqxB,EAAU,GAIG,QADfrxB,EAASswB,EAAWW,EAAIve,MAGxB3X,EAAKs2B,EAASrxB,GACThG,IALM,CAQM,KADFzB,EAASyH,EAAO,MACVixB,EAAG9E,UAAYwC,EAAmBjc,EAAG5Q,EAASmvB,EAAG9E,WAAYiF,GAC1F,CAIM,IAFA,IAAIE,EAAoB,GACpBC,EAAqB,EAChBzuB,EAAI,EAAGA,EAAIuuB,EAAQvyB,OAAQgE,IAAK,CAYvC,IATA,IAGI4G,EAHAqlB,EAAUx2B,GAFdyH,EAASqxB,EAAQvuB,IAEa,IAC1B6P,EAAWlR,EAAIC,EAAIH,EAAoBvB,EAAO4B,OAAQ8Q,EAAE5T,QAAS,GACjEkwB,EAAW,GAONjW,EAAI,EAAGA,EAAI/Y,EAAOlB,OAAQia,IAAKhe,EAAKi0B,EAAUyB,EAAczwB,EAAO+Y,KAC5E,IAAIkW,EAAgBjvB,EAAO0sB,OAC3B,GAAIyE,EAAmB,CACrB,IAAIK,EAAezoB,EAAO,CAACgmB,GAAUC,EAAUrc,EAAUD,QACnC5W,IAAlBmzB,GAA6Bl0B,EAAKy2B,EAAcvC,GACpDvlB,EAAcnR,EAASH,EAAM44B,OAAcl1B,EAAW01B,GAChE,MACU9nB,EAAcolB,EAAgBC,EAASrc,EAAGC,EAAUqc,EAAUC,EAAe+B,GAE3Ere,GAAY4e,IACdD,GAAqB94B,EAAYka,EAAG6e,EAAoB5e,GAAYjJ,EACpE6nB,EAAqB5e,EAAWoc,EAAQjwB,OAElD,CAEM,OAAOwyB,EAAoB94B,EAAYka,EAAG6e,EAChD,EAEA,IAhGqCn6B,EAAM,WACzC,IAAI80B,EAAK,IAOT,OANAA,EAAG70B,KAAO,WACR,IAAI2I,EAAS,GAEb,OADAA,EAAO0sB,OAAS,CAAEjuB,EAAG,KACduB,CACX,EAEoC,MAA3B,GAAG+H,QAAQmkB,EAAI,OACxB,KAuFsCwE,GAAoBC,MDzH1D,IAAIc,GAAkB,CAEpBC,gCAAiC,kCACjCC,yBAA0B,oEAC1BC,6BAA8B,+BAE9BC,kCAAmC,wCACnCC,wCAAyC,0DACzCC,oCAAqC,wDACrCC,0CAA2C,6DAE3CC,YAAa,0BACbC,gBAAiB,8BACjBC,sBAAuB,oCAEvBC,eAAgB,iBAChBC,iBAAkB,mBAClBC,iBAAkB,yCAClBC,iBAAkB,mBAClBC,MAAO,QACPC,kBAAmB,4CACnBC,8BAA+B,wDAE/BC,iBAAkB,wCAClBC,qBAAsB,iDAEtBC,0CAA2C,wFAE3CC,mCAAoC,iFAEpCC,iBAAkB,2CAClBC,uBAAwB,6BACxBC,iBAAkB,4BAClBC,aAAc,oBACdC,eAAgB,kCAChBC,eAAgB,6BAChBC,qBAAsB,mCACtBC,aAAc,mBACdC,kBAAmB,6BACnBC,+BAAgC,uDAChCC,8BAA+B,6CAC/BC,8BAA+B,6CAE/BC,2BAA4B,4BAC5BC,6BAA8B,6BAC9BC,kCAAmC,oCACnCC,oCAAqC,sCACrCC,4BAA6B,4BAC7BC,0BAA2B,2BAC3BC,4BAA6B,yCAC7BC,mCAAoC,oCACpCC,kCAAmC,mCACnCC,iCAAkC,kCAClCC,+BAAgC,gCAChCC,4BAA6B,6BAC7BC,6BAA8B,8BAC9BC,6BAA8B,8BAC9BC,0BAA2B,2BAC3BC,kCAAmC,0BAEnCC,8BAA+B,+BAC/BC,iCAAkC,kCAClCC,4BAA6B,6BAC7BC,8BAA+B,+BAC/BC,mCAAoC,oCACpCC,0BAA2B,2BAC3BC,4BAA6B,6BAC7BC,yBAA0B,0BAC1BC,2BAA4B,yCAC5BC,kCAAmC,mCACnCC,iCAAkC,kCAClCC,gCAAiC,iCACjCC,2BAA4B,4BAC5BC,6CAA8C,gDAC9CC,8BAA+B,+BAC/BC,wCAAyC,yCACzCC,wCAAyC,yCAUvCC,GAAkBzF,GAAc,CAAA,EAAIsB,IAK7BoE,GAAW,IAAIC,MAAMF,GAAiB,CAC/C13B,IAAG,CAACsL,EAAQusB,IACHvsB,EAAOusB,IAASA,IAgCpB,SAASC,GAAcC,KAAaC,GACzC,OAAOD,EAASluB,QAAQ,aAAc,CAAC5L,EAAOyF,KAC5C,IAAIu0B,EAAWxa,SAAS/Z,EAAO,IAC/B,OAAOu0B,EAAWD,EAAKp3B,OAAS5C,OAAOg6B,EAAKC,IAAah6B,GAE7D,+CEvJA,IAAIyQ,EAAIrV,KACJ6+B,EAAOx9B,KAAwCsxB,IAQnDtd,EAAE,CAAEpD,OAAQ,QAASkD,OAAO,EAAM7B,QAPC/R,IAET0xB,CAA6B,QAKW,CAChEN,IAAK,SAAaH,GAChB,OAAOqM,EAAKn8B,KAAM8vB,EAAY1xB,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EACxE,OCNU,IAACu6B,GAAc,CACvBC,kCAAmC,iCACnCC,mCAAoC,mCAE/B,SAASC,GAAiBC,KAAW1P,GAC1C,OAAKA,EAAMjoB,OACJ,GAAG23B,KAAU1P,EAAMmD,IAAIhuB,QAAQ8L,KAAK,OADjByuB,CAE5B,CCVU,IAACC,GAAW,CACpBC,MAAO,QACPC,KAAM,OACNC,KAAM,OACNrE,MAAO,QACPsE,OAAQ,UCLCC,GAAa,CACtBC,qBAAsB,uBACtBC,uBAAwB,yBACxBC,4BAA6B,8BAC7BC,8BAA+B,gCAC/BC,sBAAuB,wBACvBC,uBAAwB,yBACxBC,wBAAyB,0BACzBC,wBAAyB,0BACzBC,qBAAsB,uBACtBC,uBAAwB,yBACxBC,wBAAyB,2BCNhBC,GAAkB,CAE3BC,QAAS,EAETC,cAAe,GAMNC,GAAiB,CAE1BC,IAAK,KAMIC,GAAkB,CAE3BC,cAAe,KAEfC,gBAAiB,MAcRC,GAAa,CACtBC,GAAI,IACJC,QAAS,IACTC,WAAY,IACZC,YAAa,IACbC,aAAc,IACdC,UAAW,IACXC,UAAW,IACXxG,gBAAiB,IACjBO,kBAAmB,IACnBkG,sBAAuB,IACvBC,YAAa,IACbC,oBAAqB,KAMZC,GAAiB,CAC1B,CAACX,GAAWC,IAAK,KACjB,CAACD,GAAWE,SAAU,UACtB,CAACF,GAAWG,YAAa,aACzB,CAACH,GAAWI,aAAc,cAC1B,CAACJ,GAAWK,cAAe,eAC3B,CAACL,GAAWM,WAAY,YACxB,CAACN,GAAWO,WAAY,YACxB,CAACP,GAAWjG,iBAAkB,kBAC9B,CAACiG,GAAW1F,mBAAoB,oBAChC,CAAC0F,GAAWQ,uBAAwB,wBACpC,CAACR,GAAWS,aAAc,cAC1B,CAACT,GAAWU,qBAAsB,uBAM7B,SAASE,GAAcrf,GAC5B,OAAOof,GAAepf,IAAS,SACjC,CAKU,IAACsf,GAAY,CAErB/G,YAAa,cAEbgH,QAAS,UAETC,cAAe,gBAEfC,cAAe,gBAEf9G,iBAAkB,mBAElB+G,YAAa,cAEbC,qBAAsB,uBAEtB1G,iBAAkB,mBAElBO,aAAc,eAEdD,iBAAkB,mBAElBF,iBAAkB,mBAElBH,qBAAsB,uBAEtBH,kBAAmB,oBAEnBY,qBAAsB,uBAEtBL,uBAAwB,yBAExBM,aAAc,eAEdH,eAAgB,iBAEhBC,eAAgB,iBAEhBG,kBAAmB,oBAEnBC,+BAAgC,iCAEhCC,8BAA+B,gCAE/BC,8BAA+B,iCAMtB4F,GAAc,CAEvBC,QAAS,UAETC,IAAK,MAELC,MAAO,QAEPC,SAAU,WAEVlH,MAAO,QAEPmH,KAAM,OAENC,KAAM,OAENC,aAAc,eAEdC,YAAa,cAEbC,WAAY,aAEZ7G,aAAc,eAEd8G,cAAe,gBAEfC,YAAa,eAEJC,GAAc,CAEvBC,OAAQ,SAERC,OAAQ,UAKCC,GAAiB,CAO1Bb,IAAK,IAELD,QAAS,IAETE,MAAO,MAMEa,GAAa,CAEtBC,WAAY,aAEZC,aAAc,eAEdC,oBAAqB,sBAErBC,cAAe,gBAEfC,OAAQ,UAkBCC,GAAa,CAEtBC,KAAM,OAEN3W,KAAM,QAQG4W,GAAa,CACtBC,KAAM,OACNC,KAAM,QAMGC,GAA4B,CAErCJ,KAAM,OAENK,IAAK,MAEL1I,MAAO,QAEP2I,OAAQ,SAERJ,KAAM,QAcGK,GAAc,CAEvBC,QAAS,UAETC,UAAW,YAEXC,MAAO,QAEP/I,MAAO,QAEPgJ,UAAW,aAUFC,GAAc,CACvBC,MAAO,QACPb,KAAM,OACNc,KAAM,OACNC,MAAO,QACPC,KAAM,OACNd,KAAM,OACNvB,IAAK,MACL0B,IAAK,MACLC,OAAQ,SACR3I,MAAO,QACPyG,QAAS,UACT6C,QAAS,UACTp1B,MAAO,SC/RF,SAASq1B,GAAsBn3B,GACpC,IAAKA,EAAOM,IACV,OAAO4yB,GAAeC,IAExB,IACE,OAAO,IAAI9kB,IAAIrO,EAAOM,KAAKoiB,MAC7B,CAAE,MAAO2D,GACP,OAAO6M,GAAeC,GACxB,CACF,cCfO,SAASiE,KACd,MAAO,OAAOC,KAAKC,SAASviC,KAAKiC,SAASrD,SAAS,IAAI4jC,UAAU,EAAG,KACtE,CAKO,SAASC,KACd,MAAO,QAAQH,KAAKC,SAASviC,KAAKiC,SAASrD,SAAS,IAAI4jC,UAAU,EAAG,KACvE,CCbA,SAASE,GAAmB/6B,EAAG0W,EAAGiT,EAAGD,EAAGD,EAAGtsB,EAAG69B,GAC5C,IACE,IAAIx5B,EAAIxB,EAAE7C,GAAG69B,GACXC,EAAIz5B,EAAExI,KACV,CAAE,MAAOgH,GACP,YAAY2pB,EAAE3pB,EAChB,CACAwB,EAAE8L,KAAOoJ,EAAEukB,GAAKC,QAAQC,QAAQF,GAAGG,KAAK1R,EAAGD,EAC7C,CACA,SAAS4R,GAAkBr7B,GACzB,OAAO,WACL,IAAI0W,EAAI/d,KACNgxB,EAAI5yB,UACN,OAAO,IAAImkC,QAAQ,SAAUxR,EAAGD,GAC9B,IAAItsB,EAAI6C,EAAElJ,MAAM4f,EAAGiT,GACnB,SAAS2R,EAAMt7B,GACb+6B,GAAmB59B,EAAGusB,EAAGD,EAAG6R,EAAOC,EAAQ,OAAQv7B,EACrD,CACA,SAASu7B,EAAOv7B,GACd+6B,GAAmB59B,EAAGusB,EAAGD,EAAG6R,EAAOC,EAAQ,QAASv7B,EACtD,CACAs7B,OAAM,EACR,EACF,CACF,CCxBA,SAASE,GAAkB9R,EAAGvsB,IAC3B,MAAQA,GAAKA,EAAIusB,EAAElsB,UAAYL,EAAIusB,EAAElsB,QACtC,IAAK,IAAImsB,EAAI,EAAG3pB,EAAIoE,MAAMjH,GAAIwsB,EAAIxsB,EAAGwsB,IAAK3pB,EAAE2pB,GAAKD,EAAEC,GACnD,OAAO3pB,CACT,CCAA,SAASy7B,GAAe/R,EAAGC,GACzB,OCLF,SAAyBD,GACvB,GAAItlB,MAAMwP,QAAQ8V,GAAI,OAAOA,CAC/B,CDGSgS,CAAehS,IELxB,SAA+BA,EAAGiS,GAChC,IAAIjlB,EAAI,MAAQgT,EAAI,KAAO,oBAAsBnuB,QAAUmuB,EAAEnuB,OAAOI,WAAa+tB,EAAE,cACnF,GAAI,MAAQhT,EAAG,CACb,IAAIiT,EACF3pB,EACAwB,EACAy5B,EACA99B,EAAI,GACJmC,GAAI,EACJmqB,GAAI,EACN,IACE,GAAIjoB,GAAKkV,EAAIA,EAAEhgB,KAAKgzB,IAAI/e,KAAM,IAAMgxB,QAG7B,OAASr8B,GAAKqqB,EAAInoB,EAAE9K,KAAKggB,IAAIpJ,QAAUnQ,EAAE1D,KAAKkwB,EAAE3wB,OAAQmE,EAAEK,SAAWm+B,GAAIr8B,GAAI,GACtF,CAAE,MAAOoqB,GACPD,GAAI,EAAIzpB,EAAI0pB,CACd,CAAC,QACC,IACE,IAAKpqB,GAAK,MAAQoX,EAAU,SAAMukB,EAAIvkB,EAAU,SAAKhf,OAAOujC,KAAOA,GAAI,MACzE,CAAC,QACC,GAAIxR,EAAG,MAAMzpB,CACf,CACF,CACA,OAAO7C,CACT,CACF,CFrB8By+B,CAAqBlS,EAAGC,IGJtD,SAAqCD,EAAGvsB,GACtC,GAAIusB,EAAG,CACL,GAAI,iBAAmBA,EAAG,OAAOmS,GAAiBnS,EAAGvsB,GACrD,IAAIuZ,EAAI,CAAA,EAAGzf,SAASP,KAAKgzB,GAAGvyB,MAAM,MAClC,MAAO,WAAauf,GAAKgT,EAAEviB,cAAgBuP,EAAIgT,EAAEviB,YAAY/K,MAAO,QAAUsa,GAAK,QAAUA,EAAItS,MAAM03B,KAAKpS,GAAK,cAAgBhT,GAAK,2CAA2CvgB,KAAKugB,GAAKmlB,GAAiBnS,EAAGvsB,QAAK,CACtN,CACF,CHF4D4+B,CAA2BrS,EAAGC,IIL1F,WACE,MAAM,IAAI3xB,UAAU,4IACtB,CJGgGgkC,EAChG,kCKLA,IAAIhwB,EAAuB/V,KAAsCgQ,OAC7DmB,EAAgB9P,KAChBoF,EAAWlF,KACXwhB,EAAYpd,KACZ9F,EAAQ+F,IACRkzB,EAAiBhzB,KAEjBkgC,EAAY,WACZzP,EAAkB9B,OAAOj0B,UACzBylC,EAAiB1P,EAAgByP,GAEjCE,EAAcrmC,EAAM,WAAc,MAA4D,SAArDomC,EAAexlC,KAAK,CAAEoD,OAAQ,IAAKoxB,MAAO,KAAkB,GAErGkR,EAAiBpwB,GAAwBkwB,EAAe9/B,OAAS6/B,GAIjEE,GAAeC,IACjBh1B,EAAcolB,EAAiByP,EAAW,WACxC,IAAIrN,EAAIlyB,EAAS/D,MAGjB,MAAO,IAFOqgB,EAAU4V,EAAE90B,QAEH,IADXkf,EAAU+V,EAAeH,GAEzC,EAAK,CAAEtnB,QAAQ,yFCrBf+0B,EAAA9iC,QAHA,SAAwBowB,EAAG2S,GACzB3jC,KAAK4jC,EAAI5S,EAAGhxB,KAAK+c,EAAI4mB,CACvB,EACiCD,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,8GCHtG,SAASkjC,EAAmB9S,EAAGD,EAAG1pB,EAAG0W,GACnC,IAAIlV,EAAI9J,OAAOmB,eACf,IACE2I,EAAE,CAAA,EAAI,GAAI,GACd,CAAI,MAAOmoB,GACPnoB,EAAI,CACR,CACE66B,EAAA9iC,QAAiBkjC,EAAqB,SAA2B9S,EAAGD,EAAG1pB,EAAG0W,GACxE,SAAS+S,EAAEC,EAAG1pB,GACZy8B,EAAmB9S,EAAGD,EAAG,SAAUC,GACjC,OAAOhxB,KAAK+jC,QAAQhT,EAAG1pB,EAAG2pB,EAClC,EACA,CACID,EAAIloB,EAAIA,EAAEmoB,EAAGD,EAAG,CACd1wB,MAAOgH,EACPN,YAAagX,EACbzd,cAAeyd,EACfxd,UAAWwd,IACRiT,EAAED,GAAK1pB,GAAKypB,EAAE,OAAQ,GAAIA,EAAE,QAAS,GAAIA,EAAE,SAAU,GAC9D,EAAK4S,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,QAASkjC,EAAmB9S,EAAGD,EAAG1pB,EAAG0W,EAC/G,CACA2lB,EAAA9iC,QAAiBkjC,EAAoBJ,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,oECrB1G,IAAIojC,EAAoB1mC,KACxB,SAAS2mC;;AAEP,IAAIjT,EACFjT,EACAgT,EAAI,mBAAqBnuB,OAASA,OAAS,CAAA,EAC3CyE,EAAI0pB,EAAE/tB,UAAY,aAClB8tB,EAAIC,EAAEmT,aAAe,gBACvB,SAASr7B,EAAEkoB,EAAG1pB,EAAGypB,EAAGjoB,GAClB,IAAIw5B,EAAIh7B,GAAKA,EAAEvJ,qBAAqBqmC,EAAY98B,EAAI88B,EAClD7B,EAAIvjC,OAAOuM,OAAO+2B,EAAEvkC,WACtB,OAAOkmC,EAAkB1B,EAAG,UAAW,SAAUvR,EAAG1pB,EAAGypB,GACrD,IAAIjoB,EACFw5B,EACAC,EACA37B,EAAI,EACJy9B,EAAItT,GAAK,GACTuT,GAAI,EACJC,EAAI,CACFF,EAAG,EACH/8B,EAAG,EACHu8B,EAAG5S,EACHxsB,EAAGm/B,EACHh9B,EAAGg9B,EAAElmC,KAAKuzB,EAAG,GACb2S,EAAG,SAAW5lB,EAAGgT,GACf,OAAOloB,EAAIkV,EAAGskB,EAAI,EAAGC,EAAItR,EAAGsT,EAAEj9B,EAAI0pB,EAAGvsB,CACjD,GAEM,SAASm/B,EAAE5S,EAAG1pB,GACZ,IAAKg7B,EAAItR,EAAGuR,EAAIj7B,EAAG0W,EAAI,GAAIsmB,GAAK19B,IAAMmqB,GAAK/S,EAAIqmB,EAAEv/B,OAAQkZ,IAAK,CAC5D,IAAI+S,EACFjoB,EAAIu7B,EAAErmB,GACN4lB,EAAIW,EAAEF,EACNpB,EAAIn6B,EAAE,GACRkoB,EAAI,GAAKD,EAAIkS,IAAM37B,KAAOi7B,EAAIz5B,GAAGw5B,EAAIx5B,EAAE,IAAM,GAAKw5B,EAAI,EAAG,IAAKx5B,EAAE,GAAKA,EAAE,GAAKmoB,GAAKnoB,EAAE,IAAM86B,KAAO7S,EAAIC,EAAI,GAAK4S,EAAI96B,EAAE,KAAOw5B,EAAI,EAAGiC,EAAEV,EAAIv8B,EAAGi9B,EAAEj9B,EAAIwB,EAAE,IAAM86B,EAAIX,IAAMlS,EAAIC,EAAI,GAAKloB,EAAE,GAAKxB,GAAKA,EAAI27B,KAAOn6B,EAAE,GAAKkoB,EAAGloB,EAAE,GAAKxB,EAAGi9B,EAAEj9B,EAAI27B,EAAGX,EAAI,GACjP,CACQ,GAAIvR,GAAKC,EAAI,EAAG,OAAOvsB,EACvB,MAAM6/B,GAAI,EAAIh9B,CACtB,CACM,OAAO,SAAUypB,EAAGsT,EAAGpB,GACrB,GAAIr8B,EAAI,EAAG,MAAMtH,UAAU,gCAC3B,IAAKglC,GAAK,IAAMD,GAAKT,EAAES,EAAGpB,GAAIX,EAAI+B,EAAG9B,EAAIU,GAAIjlB,EAAIskB,EAAI,EAAIrR,EAAIsR,KAAO+B,GAAI,CACtEx7B,IAAMw5B,EAAIA,EAAI,GAAKA,EAAI,IAAMiC,EAAEj9B,GAAI,GAAKs8B,EAAEtB,EAAGC,IAAMgC,EAAEj9B,EAAIi7B,EAAIgC,EAAEV,EAAItB,GACnE,IACE,GAAI37B,EAAI,EAAGkC,EAAG,CACZ,GAAIw5B,IAAMvR,EAAI,QAAS/S,EAAIlV,EAAEioB,GAAI,CAC/B,KAAM/S,EAAIA,EAAEhgB,KAAK8K,EAAGy5B,IAAK,MAAMjjC,UAAU,oCACzC,IAAK0e,EAAEpJ,KAAM,OAAOoJ,EACpBukB,EAAIvkB,EAAE1d,MAAOgiC,EAAI,IAAMA,EAAI,EAC3C,MAAqB,IAAMA,IAAMtkB,EAAIlV,EAAU,SAAMkV,EAAEhgB,KAAK8K,GAAIw5B,EAAI,IAAMC,EAAIjjC,UAAU,oCAAsCyxB,EAAI,YAAauR,EAAI,GACrIx5B,EAAImoB,CAClB,MAAmB,IAAKjT,GAAKsmB,EAAIC,EAAEj9B,EAAI,GAAKi7B,EAAIvR,EAAEhzB,KAAKsJ,EAAGi9B,MAAQ9/B,EAAG,KACrE,CAAY,MAAOuZ,GACPlV,EAAImoB,EAAGqR,EAAI,EAAGC,EAAIvkB,CAC9B,CAAW,QACCpX,EAAI,CAChB,CACA,CACQ,MAAO,CACLtG,MAAO0d,EACPpJ,KAAM0vB,EAEhB,CACA,CApD2C,CAoDrCtT,EAAGD,EAAGjoB,IAAI,GAAKy5B,CACrB,CACE,IAAI99B,EAAI,CAAA,EACR,SAAS2/B,IAAY,CACrB,SAASI,IAAoB,CAC7B,SAASC,IAA6B,CACtCzmB,EAAIhf,OAAOgS,eACX,IAAIsxB,EAAI,GAAGh7B,GAAK0W,EAAEA,EAAE,GAAG1W,QAAU28B,EAAkBjmB,EAAI,CAAA,EAAI1W,EAAG,WAC1D,OAAOrH,IACb,GAAQ+d,GACJukB,EAAIkC,EAA2B1mC,UAAYqmC,EAAUrmC,UAAYiB,OAAOuM,OAAO+2B,GACjF,SAAS17B,EAAEqqB,GACT,OAAOjyB,OAAOwT,eAAiBxT,OAAOwT,eAAeye,EAAGwT,IAA+BxT,EAAEte,UAAY8xB,EAA4BR,EAAkBhT,EAAGF,EAAG,sBAAuBE,EAAElzB,UAAYiB,OAAOuM,OAAOg3B,GAAItR,CACpN,CACE,OAAOuT,EAAkBzmC,UAAY0mC,EAA4BR,EAAkB1B,EAAG,cAAekC,GAA6BR,EAAkBQ,EAA4B,cAAeD,GAAoBA,EAAkBE,YAAc,oBAAqBT,EAAkBQ,EAA4B1T,EAAG,qBAAsBkT,EAAkB1B,GAAI0B,EAAkB1B,EAAGxR,EAAG,aAAckT,EAAkB1B,EAAGj7B,EAAG,WACja,OAAOrH,IACX,GAAMgkC,EAAkB1B,EAAG,WAAY,WACnC,MAAO,oBACX,IAAOoB,EAAA9iC,QAAiBqjC,EAAe,WACnC,MAAO,CACLS,EAAG77B,EACH+U,EAAGjX,EAET,EAAK+8B,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,UAC1E,CACA8iC,EAAA9iC,QAAiBqjC,EAAcP,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,iICxFpG,IAAI+jC,EAAgBrnC,KAChB0mC,EAAoBrlC,KA+BxB+kC,EAAA9iC,QA9BA,SAASgkC,EAAc7mB,EAAGiT,GACxB,SAAS3pB,EAAE0pB,EAAGD,EAAGjoB,EAAGlC,GAClB,IACE,IAAI07B,EAAItkB,EAAEgT,GAAGD,GACXwR,EAAID,EAAEhiC,MACR,OAAOiiC,aAAaqC,EAAgB3T,EAAEwR,QAAQF,EAAEsB,GAAGnB,KAAK,SAAU1kB,GAChE1W,EAAE,OAAQ0W,EAAGlV,EAAGlC,EACxB,EAAS,SAAUoX,GACX1W,EAAE,QAAS0W,EAAGlV,EAAGlC,EACzB,GAAWqqB,EAAEwR,QAAQF,GAAGG,KAAK,SAAU1kB,GAC/BskB,EAAEhiC,MAAQ0d,EAAGlV,EAAEw5B,EACvB,EAAS,SAAUtkB,GACX,OAAO1W,EAAE,QAAS0W,EAAGlV,EAAGlC,EAChC,EACA,CAAM,MAAOoX,GACPpX,EAAEoX,EACR,CACA,CACE,IAAIgT,EACJ/wB,KAAKgS,OAASgyB,EAAkBY,EAAc9mC,WAAYkmC,EAAkBY,EAAc9mC,UAAW,mBAAqB8E,QAAUA,OAAOiiC,eAAiB,iBAAkB,WAC5K,OAAO7kC,IACX,IAAOgkC,EAAkBhkC,KAAM,UAAW,SAAU+d,EAAG+S,EAAGjoB,GACtD,SAASlC,IACP,OAAO,IAAIqqB,EAAE,SAAUA,EAAGD,GACxB1pB,EAAE0W,EAAGlV,EAAGmoB,EAAGD,EACnB,EACA,CACI,OAAOA,EAAIA,EAAIA,EAAE0R,KAAK97B,EAAGA,GAAKA,GAClC,GAAK,EACL,EACgC+8B,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,oEChCrG,IAAIkkC,EAAcxnC,KACdynC,EAA2BpmC,KAI/B+kC,EAAA9iC,QAHA,SAA8BmwB,EAAGC,EAAGjT,EAAG+S,EAAGzpB,GACxC,OAAO,IAAI09B,EAAyBD,IAAcJ,EAAE3T,EAAGC,EAAGjT,EAAG+S,GAAIzpB,GAAKk7B,QACxE,EACuCmB,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,oECL5G,IAAIokC,EAAsB1nC,KAO1BomC,EAAA9iC,QANA,SAA2ByG,EAAG2pB,EAAGD,EAAGhT,EAAG+S,GACrC,IAAItsB,EAAIwgC,EAAoB39B,EAAG2pB,EAAGD,EAAGhT,EAAG+S,GACxC,OAAOtsB,EAAEwN,OAAOywB,KAAK,SAAUp7B,GAC7B,OAAOA,EAAEsN,KAAOtN,EAAEhH,MAAQmE,EAAEwN,MAChC,EACA,EACoC0xB,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,2FCEzG8iC,EAAA9iC,QATA,SAA0BowB,GACxB,IAAI3pB,EAAItI,OAAOiyB,GACbD,EAAI,GACN,IAAK,IAAIhT,KAAK1W,EAAG0pB,EAAEvK,QAAQzI,GAC3B,OAAO,SAASiT,IACd,KAAOD,EAAElsB,QAAS,IAAKkZ,EAAIgT,EAAExK,SAAUlf,EAAG,OAAO2pB,EAAE3wB,MAAQ0d,EAAGiT,EAAErc,MAAO,EAAIqc,EAC3E,OAAOA,EAAErc,MAAO,EAAIqc,CACxB,CACA,EACmC0S,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,uHCTxG,SAASiwB,EAAQC,GAGf,OAAO4S,EAAA9iC,QAAiBiwB,EAAU,mBAAqBjuB,QAAU,iBAAmBA,OAAOI,SAAW,SAAU8tB,GAC9G,cAAcA,CAClB,EAAM,SAAUA,GACZ,OAAOA,GAAK,mBAAqBluB,QAAUkuB,EAAEtiB,cAAgB5L,QAAUkuB,IAAMluB,OAAO9E,UAAY,gBAAkBgzB,CACtH,EAAK4S,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,QAASiwB,EAAQC,EAC3F,CACA4S,EAAA9iC,QAAiBiwB,EAAS6S,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,oECT/F,IAAIiwB,EAAUvzB,KAAgC,QAkB9ComC,EAAA9iC,QAjBA,SAA4BowB,GAC1B,GAAI,MAAQA,EAAG,CACb,IAAIjT,EAAIiT,EAAE,mBAAqBpuB,QAAUA,OAAOI,UAAY,cAC1D+tB,EAAI,EACN,GAAIhT,EAAG,OAAOA,EAAEhgB,KAAKizB,GACrB,GAAI,mBAAqBA,EAAEhf,KAAM,OAAOgf,EACxC,IAAKiU,MAAMjU,EAAEnsB,QAAS,MAAO,CAC3BmN,KAAM,WACJ,OAAOgf,GAAKD,GAAKC,EAAEnsB,SAAWmsB,OAAI,GAAS,CACzC3wB,MAAO2wB,GAAKA,EAAED,KACdpc,MAAOqc,EAEjB,EAEA,CACE,MAAM,IAAI3xB,UAAUwxB,EAAQG,GAAK,mBACnC,EACqC0S,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,mEChB1G,IAAIskC,yBCFJ,IAAIP,EAAgBrnC,KAChBwnC,EAAcnmC,KACdwmC,EAAmBtmC,KACnBmmC,EAAsB/hC,KACtB8hC,EAA2B7hC,KAC3BkiC,EAAkBhiC,KAClBiiC,EAAoB17B,KACxB,SAAS27B,IAGP,IAAIvU,EAAI+T,IACN9T,EAAID,EAAEnT,EAAE0nB,GACRvnB,GAAKhf,OAAOgS,eAAiBhS,OAAOgS,eAAeigB,GAAKA,EAAEte,WAAWlE,YACvE,SAASnH,EAAE0pB,GACT,IAAIC,EAAI,mBAAqBD,GAAKA,EAAEviB,YACpC,QAASwiB,IAAMA,IAAMjT,GAAK,uBAAyBiT,EAAEyT,aAAezT,EAAEvtB,MAC1E,CACE,IAAIqtB,EAAI,CACNyU,MAAS,EACTC,OAAU,EACVC,MAAS,EACTC,SAAY,GAEd,SAASlhC,EAAEusB,GACT,IAAIC,EAAGjT,EACP,OAAO,SAAU1W,GACf2pB,IAAMA,EAAI,CACR2U,KAAM,WACJ,OAAO5nB,EAAE1W,EAAE7C,EAAG,EACxB,EACQohC,MAAS,WACP,OAAOv+B,EAAEu8B,CACnB,EACQiC,OAAQ,SAAgB9U,EAAGC,GACzB,OAAOjT,EAAE1W,EAAE7C,EAAGssB,EAAEC,GAAIC,EAC9B,EACQ8U,cAAe,SAAuB/U,EAAGD,EAAGtsB,GAC1C,OAAOwsB,EAAE+U,WAAajV,EAAG/S,EAAE1W,EAAEs8B,EAAG0B,EAAkBtU,GAAIvsB,EAChE,EACQwhC,OAAQ,SAAgBjV,GACtB,OAAOhT,EAAE1W,EAAEV,EAAGoqB,EACxB,GACShT,EAAI,SAAWgT,EAAGkV,EAAInV,GACvBzpB,EAAE+8B,EAAIpT,EAAEkV,KAAM7+B,EAAEA,EAAI2pB,EAAEhf,KACtB,IACE,OAAO+e,EAAEkV,EAAInV,EACvB,CAAS,QACCE,EAAEhf,KAAO3K,EAAEA,CACrB,CACA,GAAU2pB,EAAE+U,aAAe/U,EAAEA,EAAE+U,YAAc1+B,EAAEu8B,EAAG5S,EAAE+U,gBAAa,GAAS/U,EAAEmV,KAAO9+B,EAAEu8B,EAAG5S,EAAEhf,KAAO3K,EAAEA,EAC7F,IACE,OAAO0pB,EAAEhzB,KAAKiC,KAAMgxB,EAC5B,CAAO,QACC3pB,EAAE+8B,EAAIpT,EAAEkV,KAAM7+B,EAAEA,EAAI2pB,EAAEhf,IAC9B,CACA,CACA,CACE,OAAQ0xB,EAAA9iC,QAAiB0kC,EAAsB,WAC7C,MAAO,CACLc,KAAM,SAAcpV,EAAGjT,EAAG1W,EAAGypB,GAC3B,OAAOC,EAAE2T,EAAElgC,EAAEwsB,GAAIjT,EAAG1W,EAAGypB,GAAKA,EAAEuV,UACtC,EACMC,oBAAqBj/B,EACrBk/B,KAAMxV,EAAEnT,EACR4oB,MAAO,SAAezV,EAAGC,GACvB,OAAO,IAAI2T,EAAc5T,EAAGC,EACpC,EACM4T,cAAeG,EACf0B,MAAO,SAAe1V,EAAGC,EAAGjT,EAAG+S,EAAGwR,GAChC,OAAQj7B,EAAE2pB,GAAKgU,EAAsBG,GAAkB3gC,EAAEusB,GAAIC,EAAGjT,EAAG+S,EAAGwR,EAC9E,EACMr5B,KAAMm8B,EACN3wB,OAAQ4wB,EAEd,EAAK3B,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,UAC1E,CACA8iC,EAAA9iC,QAAiB0kC,EAAqB5B,EAAA9iC,QAAAijC,YAA4B,EAAMH,EAAO9iC,QAAiB,QAAI8iC,EAAO9iC,4BDzE3GkkC,GAAiBI,EAGjB,IACEwB,mBAAqBxB,CACvB,CAAE,MAAOyB,GACmB,iBAAf/mC,WACTA,WAAW8mC,mBAAqBxB,EAEhCrnC,SAAS,IAAK,yBAAdA,CAAwCqnC,EAE5C,8DEXA,IAAIvyB,EAAIrV,KACJ4G,EAAcvF,KACdiB,EAAaf,IACbR,EAAc4E,IACdzB,EAAS0B,KACTW,EAAaT,KACb2B,EAAgB4E,KAChBrL,EAAW8N,KACX4N,EAAwBlH,KACxBxD,EAA4ByD,KAE5B6zB,EAAehnC,EAAWgD,OAC1BikC,EAAkBD,GAAgBA,EAAa9oC,UAEnD,GAAIoG,GAAeL,EAAW+iC,OAAoB,gBAAiBC,SAElChlC,IAA/B+kC,IAAeE,aACd,CACD,IAAIC,EAA8B,CAAA,EAE9BC,EAAgB,WAClB,IAAIF,EAAc1oC,UAAUyG,OAAS,QAAsBhD,IAAjBzD,UAAU,QAAmByD,EAAYvD,EAASF,UAAU,IAClG2H,EAAShB,EAAc8hC,EAAiB7mC,MAExC,IAAI4mC,EAAaE,QAEDjlC,IAAhBilC,EAA4BF,IAAiBA,EAAaE,GAE9D,MADoB,KAAhBA,IAAoBC,EAA4BhhC,IAAU,GACvDA,CACX,EAEEuJ,EAA0B03B,EAAeJ,GACzCI,EAAclpC,UAAY+oC,EAC1BA,EAAgBr4B,YAAcw4B,EAE9B,IAAIlkC,EAAkE,kCAAlDb,OAAO2kC,EAAa,0BACpCK,EAAkB5oC,EAAYwoC,EAAgBjhC,SAC9CshC,EAA0B7oC,EAAYwoC,EAAgBvoC,UACtDg2B,EAAS,wBACTxmB,EAAUzP,EAAY,GAAGyP,SACzBvP,EAAcF,EAAY,GAAGG,OAEjCwb,EAAsB6sB,EAAiB,cAAe,CACpDvmC,cAAc,EACd2D,IAAK,WACH,IAAItB,EAASskC,EAAgBjnC,MAC7B,GAAIwB,EAAOulC,EAA6BpkC,GAAS,MAAO,GACxD,IAAIsN,EAASi3B,EAAwBvkC,GACjCwkC,EAAOrkC,EAAgBvE,EAAY0R,EAAQ,GAAG,GAAMnC,EAAQmC,EAAQqkB,EAAQ,MAChF,MAAgB,KAAT6S,OAActlC,EAAYslC,CACvC,IAGEx0B,EAAE,CAAE5S,QAAQ,EAAMyO,aAAa,EAAMoC,QAAQ,GAAQ,CACnDhO,OAAQokC,GAEZ,2DC1DA,IAEI31B,EAFkB/T,IAEPkG,CAAgB,YAC3B4jC,GAAe,EAEnB,IACE,IAAIrsB,EAAS,EACTssB,EAAqB,CACvBr1B,KAAM,WACJ,MAAO,CAAE2C,OAAQoG,IACvB,EACIyqB,OAAU,WACR4B,GAAe,CACrB,GAGEC,EAAmBh2B,GAAY,WAC7B,OAAOrR,IACX,EAEEyL,MAAM03B,KAAKkE,EAAoB,WAAc,MAAM,CAAE,EACvD,CAAE,MAAOhqC,GAAO,QAEhBiqC,GAAiB,SAAUlqC,EAAMmqC,GAC/B,IACE,IAAKA,IAAiBH,EAAc,OAAO,CAC/C,CAAI,MAAO/pC,GAAS,OAAO,CAAM,CAC/B,IAAImqC,GAAoB,EACxB,IACE,IAAI7+B,EAAS,CAAA,EAEbA,EAAO0I,GAAY,WACjB,MAAO,CACLW,KAAM,WACJ,MAAO,CAAE2C,KAAM6yB,GAAoB,EAC7C,EAEA,EACIpqC,EAAKuL,EACT,CAAI,MAAOtL,GAAO,CAChB,OAAOmqC,CACT,mCCzCA,IAAI70B,EAAIrV,KACJ6lC,EAAOxkC,KAUXgU,EAAE,CAAEpD,OAAQ,QAASmB,MAAM,EAAME,QATC/R,IAEPyoC,CAA4B,SAAUG,GAE/Dh8B,MAAM03B,KAAKsE,EACb,IAIgE,CAC9DtE,KAAMA,qDCZR,IAAIxwB,EAAIrV,KACJ2d,EAAUtc,KACVmc,EAAgBjc,KAChBiF,EAAWb,KACXyE,EAAkBxE,KAClB6E,EAAoB3E,KACpB5D,EAAkBmK,IAClBqR,EAAiB5O,KACjBoP,EAAiB1I,KACjBtP,EAAkBuP,KAClBwd,EAA+Bvd,KAC/B00B,EAAcz0B,KAEd00B,EAAsBpX,EAA6B,SAEnDrB,EAAU1rB,EAAgB,WAC1BiY,EAAShQ,MACTjE,EAAM9H,KAAK8H,IAKfmL,EAAE,CAAEpD,OAAQ,QAASkD,OAAO,EAAM7B,QAAS+2B,GAAuB,CAChEnpC,MAAO,SAAewjB,EAAO4lB,GAC3B,IAKIC,EAAa9hC,EAAQsB,EALrBT,EAAIpH,EAAgBQ,MACpB6E,EAASkD,EAAkBnB,GAC3BmW,EAAIrV,EAAgBsa,EAAOnd,GAC3BijC,EAAMpgC,OAAwB7F,IAAR+lC,EAAoB/iC,EAAS+iC,EAAK/iC,GAG5D,GAAIoW,EAAQrU,KACVihC,EAAcjhC,EAAE4H,aAEZsM,EAAc+sB,KAAiBA,IAAgBpsB,GAAUR,EAAQ4sB,EAAY/pC,aAEtEgG,EAAS+jC,IAEE,QADpBA,EAAcA,EAAY3Y,OAF1B2Y,OAAchmC,GAKZgmC,IAAgBpsB,QAA0B5Z,IAAhBgmC,GAC5B,OAAOH,EAAY9gC,EAAGmW,EAAG+qB,GAI7B,IADA/hC,EAAS,SAAqBlE,IAAhBgmC,EAA4BpsB,EAASosB,GAAargC,EAAIsgC,EAAM/qB,EAAG,IACxE1V,EAAI,EAAG0V,EAAI+qB,EAAK/qB,IAAK1V,IAAS0V,KAAKnW,GAAGoU,EAAejV,EAAQsB,EAAGT,EAAEmW,IAEvE,OADAvB,EAAezV,EAAQsB,GAChBtB,CACX,2DC/CA,IAAI4M,EAAIrV,KACJyqC,kCCDJ,IAAI7jC,EAAc5G,KACdH,EAAQwB,IACRN,EAAcQ,IACdoS,EAAuBhO,KACvB+F,EAAa9F,KACb1D,EAAkB4D,IAGlBlE,EAAuBb,EAFCsL,KAAsDhD,GAG9E7F,EAAOzC,EAAY,GAAGyC,MAItBknC,EAAS9jC,GAAe/G,EAAM,WAEhC,IAAIyJ,EAAI7H,OAAOuM,OAAO,MAEtB,OADA1E,EAAE,GAAK,GACC1H,EAAqB0H,EAAG,EAClC,GAGIqB,EAAe,SAAUggC,GAC3B,OAAO,SAAUvpC,GAQf,IAPA,IAMI0B,EANAwG,EAAIpH,EAAgBd,GACpBuK,EAAOD,EAAWpC,GAClBshC,EAAgBF,GAAsC,OAA5B/2B,EAAqBrK,GAC/C/B,EAASoE,EAAKpE,OACdgE,EAAI,EACJ9C,EAAS,GAENlB,EAASgE,GACdzI,EAAM6I,EAAKJ,KACN3E,KAAgBgkC,EAAgB9nC,KAAOwG,EAAI1H,EAAqB0H,EAAGxG,KACtEU,EAAKiF,EAAQkiC,EAAa,CAAC7nC,EAAKwG,EAAExG,IAAQwG,EAAExG,IAGhD,OAAO2F,CACX,CACA,SAEAoiC,GAAiB,CAGf3zB,QAASvM,GAAa,GAGtBwM,OAAQxM,GAAa,ID7CRtJ,GAAwC6V,QAIvD7B,EAAE,CAAEpD,OAAQ,SAAUmB,MAAM,GAAQ,CAClC8D,QAAS,SAAiB5N,GACxB,OAAOmhC,EAASnhC,EACpB,oJEPA,IAAIhH,EAAatC,IACbyE,EAAYpD,KACZC,EAAUC,IAEVupC,EAAsB,SAAUn4B,GAClC,OAAOlO,EAAUvD,MAAM,EAAGyR,EAAOpL,UAAYoL,CAC/C,SAEAo4B,GACMD,EAAoB,QAAgB,MACpCA,EAAoB,sBAA8B,aAClDA,EAAoB,SAAiB,OACrCA,EAAoB,YAAoB,OACxCxoC,EAAW0oC,KAA6B,iBAAfA,IAAIvnC,QAA4B,MACzDnB,EAAWwC,MAA+B,iBAAhBA,KAAKrB,QAA4B,OAC3B,YAAhCnC,EAAQgB,EAAWuC,SAA+B,OAClDvC,EAAWC,QAAUD,EAAW+D,SAAiB,UAC9C,0CClBT,IAAI4kC,EAAcjrC,YAElBkrC,GAAiC,SAAhBD,qCCFjB,IAAI3oC,EAAatC,WAEjBouB,GAAiB9rB,qCCFjB,IAAI8E,EAAapH,KACb0c,EAAwBrb,KACxB6E,EAAkB3E,KAClBqF,EAAcjB,KAEdisB,EAAU1rB,EAAgB,kBAE9BilC,GAAiB,SAAUC,GACzB,IAAIb,EAAcnjC,EAAWgkC,GAEzBxkC,GAAe2jC,IAAgBA,EAAY3Y,IAC7ClV,EAAsB6tB,EAAa3Y,EAAS,CAC1C5uB,cAAc,EACd2D,IAAK,WAAc,OAAOjE,IAAK,GAGrC,qCChBA,IAAI8a,EAAgBxd,KAChB4H,EAAcvG,KAEdS,EAAaC,iBAGjBspC,GAAiB,SAAUrnC,GACzB,GAAIwZ,EAAcxZ,GAAW,OAAOA,EACpC,MAAM,IAAIlC,EAAW8F,EAAY5D,GAAY,wBAC/C,qCCTA,IAAIyC,EAAWzG,KACXqrC,EAAehqC,KACfQ,EAAoBN,IAGpBqwB,EAFkBjsB,IAERO,CAAgB,kBAI9BolC,GAAiB,SAAUhiC,EAAGiiC,GAC5B,IACIpwB,EADA4W,EAAItrB,EAAS6C,GAAG4H,YAEpB,YAAa3M,IAANwtB,GAAmBlwB,EAAkBsZ,EAAI1U,EAASsrB,GAAGH,IAAY2Z,EAAqBF,EAAalwB,EAC5G,qCCbA,IAAI1W,EAAYzE,YAGhBwrC,GAAiB,qCAAqCtrC,KAAKuE,sCCH3D,IAuBIgnC,EAAWC,EAAOC,EAASxd,EAvB3B7rB,EAAatC,IACba,EAAQQ,KACRlB,EAAOoB,KACPgF,EAAaZ,KACbzB,EAAS0B,KACT/F,EAAQiG,IACR8F,EAAOS,KACPsS,EAAa7P,KACb/H,EAAgByO,KAChBwL,EAA0BvL,KAC1Bm2B,EAASl2B,KACTm2B,EAAUl2B,KAEVlH,EAAMnM,EAAWwpC,aACjBC,EAAQzpC,EAAW0pC,eACnBnnC,EAAUvC,EAAWuC,QACrBonC,EAAW3pC,EAAW2pC,SACtB1rC,EAAW+B,EAAW/B,SACtB2rC,EAAiB5pC,EAAW4pC,eAC5BvnC,EAASrC,EAAWqC,OACpBmb,EAAU,EACVqsB,EAAQ,CAAA,EACRC,EAAqB,qBAGzBvsC,EAAM,WAEJ4rC,EAAYnpC,EAAW+pC,QACzB,GAEA,IAAIC,EAAM,SAAUnoC,GAClB,GAAID,EAAOioC,EAAOhoC,GAAK,CACrB,IAAIvD,EAAKurC,EAAMhoC,UACRgoC,EAAMhoC,GACbvD,GACJ,CACA,EAEI2rC,EAAS,SAAUpoC,GACrB,OAAO,WACLmoC,EAAInoC,EACR,CACA,EAEIqoC,EAAgB,SAAUC,GAC5BH,EAAIG,EAAMl6B,KACZ,EAEIm6B,EAAyB,SAAUvoC,GAErC7B,EAAWqqC,YAAYhoC,EAAOR,GAAKsnC,EAAUvb,SAAW,KAAOub,EAAUpvB,KAC3E,SAGK5N,GAAQs9B,IACXt9B,EAAM,SAAsBm+B,GAC1B5rB,EAAwBlgB,UAAUyG,OAAQ,GAC1C,IAAI3G,EAAK2F,EAAWqmC,GAAWA,EAAUrsC,EAASqsC,GAC9CjO,EAAOhgB,EAAW7d,UAAW,GAKjC,OAJAqrC,IAAQrsB,GAAW,WACjBjf,EAAMD,OAAI2D,EAAWo6B,EAC3B,EACI+M,EAAM5rB,GACCA,CACX,EACEisB,EAAQ,SAAwB5nC,UACvBgoC,EAAMhoC,EACjB,EAEM0nC,EACFH,EAAQ,SAAUvnC,GAChBU,EAAQgoC,SAASN,EAAOpoC,GAC9B,EAEa8nC,GAAYA,EAAStH,IAC9B+G,EAAQ,SAAUvnC,GAChB8nC,EAAStH,IAAI4H,EAAOpoC,GAC1B,EAGa+nC,IAAmBN,GAE5Bzd,GADAwd,EAAU,IAAIO,GACCY,MACfnB,EAAQoB,MAAMC,UAAYR,EAC1Bd,EAAQvrC,EAAKguB,EAAKwe,YAAaxe,IAI/B7rB,EAAW2qC,kBACX1mC,EAAWjE,EAAWqqC,eACrBrqC,EAAW4qC,eACZzB,GAAoC,UAAvBA,EAAUvb,WACtBrwB,EAAM6sC,IAEPhB,EAAQgB,EACRpqC,EAAW2qC,iBAAiB,UAAWT,GAAe,IAGtDd,EADSU,KAAsBrlC,EAAc,UACrC,SAAU5C,GAChByH,EAAK8B,YAAY3G,EAAc,WAAWqlC,GAAsB,WAC9DxgC,EAAKuhC,YAAYzqC,MACjB4pC,EAAInoC,EACZ,CACA,EAGY,SAAUA,GAChBipC,WAAWb,EAAOpoC,GAAK,EAC7B,GAIAkpC,GAAiB,CACf5+B,IAAKA,EACLs9B,MAAOA,sCClHT,IAAIuB,EAAQ,WACV5qC,KAAK6qC,KAAO,KACZ7qC,KAAK8qC,KAAO,IACd,SAEAF,EAAM9sC,UAAY,CAChBitC,IAAK,SAAUC,GACb,IAAI5nB,EAAQ,CAAE4nB,KAAMA,EAAMh5B,KAAM,MAC5B84B,EAAO9qC,KAAK8qC,KACZA,EAAMA,EAAK94B,KAAOoR,EACjBpjB,KAAK6qC,KAAOznB,EACjBpjB,KAAK8qC,KAAO1nB,CAChB,EACEnf,IAAK,WACH,IAAImf,EAAQpjB,KAAK6qC,KACjB,GAAIznB,EAGF,OADa,QADFpjB,KAAK6qC,KAAOznB,EAAMpR,QACVhS,KAAK8qC,KAAO,MACxB1nB,EAAM4nB,IAEnB,GAGAvB,GAAiBmB,qCCvBjB,IAeIK,EAAQC,EAAQC,EAAMC,EAAS3I,EAf/B7iC,EAAatC,IACbmhB,EAAiB9f,KACjBlB,EAAOoB,KACPwsC,EAAYpoC,KAA6B8I,IACzC6+B,EAAQ1nC,KACRgmC,EAAS9lC,KACTkoC,kCCNJ,IAAIvpC,EAAYzE,YAEhBiuC,GAAiB,oBAAoB/tC,KAAKuE,IAA+B,oBAAVypC,ODI3C7hC,GAChB8hC,kCEPJ,IAAI1pC,EAAYzE,YAEhBouC,GAAiB,qBAAqBluC,KAAKuE,GFKrBqK,GAClB+8B,EAAUr2B,KAEV64B,EAAmB/rC,EAAW+rC,kBAAoB/rC,EAAWgsC,uBAC7DjoC,EAAW/D,EAAW+D,SACtBxB,EAAUvC,EAAWuC,QACrBogC,EAAU3iC,EAAW2iC,QACrBsJ,EAAYptB,EAAe,kBAI/B,IAAKotB,EAAW,CACd,IAAIpC,EAAQ,IAAImB,EAEZkB,EAAQ,WACV,IAAIC,EAAQ7tC,EAEZ,IADIirC,IAAY4C,EAAS5pC,EAAQ0I,SAASkhC,EAAOC,OAC1C9tC,EAAKurC,EAAMxlC,WAChB/F,GACN,CAAM,MAAOb,GAEP,MADIosC,EAAMoB,MAAMI,IACV5tC,CACZ,CACQ0uC,GAAQA,EAAOE,OACvB,EAIO/C,GAAWC,GAAYsC,IAAmBE,IAAoBhoC,GAQvD2nC,GAAiB/I,GAAWA,EAAQC,UAE9C4I,EAAU7I,EAAQC,aAAQ3gC,IAElB2M,YAAc+zB,EACtBE,EAAOhlC,EAAK2tC,EAAQ3I,KAAM2I,GAC1BH,EAAS,WACPxI,EAAKqJ,EACX,GAEa3C,EACT8B,EAAS,WACP9oC,EAAQgoC,SAAS2B,EACvB,GASIT,EAAY5tC,EAAK4tC,EAAWzrC,GAC5BqrC,EAAS,WACPI,EAAUS,EAChB,IAhCIZ,GAAS,EACTC,EAAOxnC,EAASuoC,eAAe,IAC/B,IAAIP,EAAiBG,GAAOK,QAAQhB,EAAM,CAAEiB,eAAe,IAC3DnB,EAAS,WACPE,EAAKt7B,KAAOq7B,GAAUA,CAC5B,GA8BEW,EAAY,SAAU3tC,GACfurC,EAAMoB,MAAMI,IACjBxB,EAAMsB,IAAI7sC,EACd,CACA,QAEAmuC,GAAiBR,iCG7EjBS,GAAiB,SAAU9nC,EAAGggB,GAC5B,IAEuB,IAArBpmB,UAAUyG,OAAe0nC,QAAQlvC,MAAMmH,GAAK+nC,QAAQlvC,MAAMmH,EAAGggB,EACjE,CAAI,MAAOnnB,GAAO,CAClB,uCCLAmvC,GAAiB,SAAUpvC,GACzB,IACE,MAAO,CAAEC,OAAO,EAAOgD,MAAOjD,IAClC,CAAI,MAAOC,GACP,MAAO,CAAEA,OAAO,EAAMgD,MAAOhD,EACjC,CACA,sCCNA,IAAIuC,EAAatC,WAEjBmvC,GAAiB7sC,EAAW2iC,2CCF5B,IAAI3iC,EAAatC,IACbovC,EAA2B/tC,KAC3BkF,EAAahF,KACb6Q,EAAWzM,KACXwK,EAAgBvK,KAChBM,EAAkBJ,KAClBmlC,EAAc5+B,KACdnJ,EAAU4L,KACV7J,EAAauQ,KAEb65B,EAAyBD,GAA4BA,EAAyB5uC,UAC9EoxB,EAAU1rB,EAAgB,WAC1BopC,GAAc,EACdC,EAAiChpC,EAAWjE,EAAWktC,uBAEvDC,EAA6Br9B,EAAS,UAAW,WACnD,IAAIs9B,EAA6Bv/B,EAAci/B,GAC3CO,EAAyBD,IAA+B/qC,OAAOyqC,GAInE,IAAKO,GAAyC,KAAf1qC,EAAmB,OAAO,EAEzD,GAAI/B,KAAamsC,EAA8B,QAAKA,EAAgC,SAAI,OAAO,EAI/F,IAAKpqC,GAAcA,EAAa,KAAO,cAAc/E,KAAKwvC,GAA6B,CAErF,IAAI5B,EAAU,IAAIsB,EAAyB,SAAUlK,GAAWA,EAAQ,KACpE0K,EAAc,SAAU9vC,GAC1BA,EAAK,aAA6B,aACxC,EAII,IAHkBguC,EAAQ58B,YAAc,CAAA,GAC5B0gB,GAAWge,IACvBN,EAAcxB,EAAQ3I,KAAK,WAAY,aAA4ByK,GACjD,OAAO,CAE7B,CAAI,QAAQD,GAA2C,YAAhB1E,GAA6C,SAAhBA,GAA4BsE,EAChG,UAEAM,GAAiB,CACfC,YAAaL,EACbM,gBAAiBR,EACjBD,YAAaA,sDC5Cf,IAAIznC,EAAY7H,KAEZ8B,EAAaC,UAEbiuC,EAAoB,SAAUje,GAChC,IAAImT,EAAS+K,EACbvtC,KAAKorC,QAAU,IAAI/b,EAAE,SAAUme,EAAWC,GACxC,QAAgB5rC,IAAZ2gC,QAAoC3gC,IAAX0rC,EAAsB,MAAM,IAAInuC,EAAW,2BACxEojC,EAAUgL,EACVD,EAASE,CACb,GACEztC,KAAKwiC,QAAUr9B,EAAUq9B,GACzBxiC,KAAKutC,OAASpoC,EAAUooC,EAC1B,SAIAG,GAAA/mC,EAAmB,SAAU0oB,GAC3B,OAAO,IAAIie,EAAkBje,EAC/B,iECnBA,IAAI5xB,EAAOH,KACPS,EAAOY,KACPoF,EAAWlF,KACXqG,EAAcjC,KACdsX,EAAwBrX,KACxB6E,EAAoB3E,KACpB2B,EAAgB4E,KAChB0R,EAAcjP,KACdgP,EAAoBtI,KACpBqH,EAAgBpH,KAEhB3T,EAAaC,UAEbsuC,EAAS,SAAUC,EAAS7nC,GAC9B/F,KAAK4tC,QAAUA,EACf5tC,KAAK+F,OAASA,CAChB,EAEI8nC,EAAkBF,EAAO7vC,iBAE7BgwC,GAAiB,SAAUrG,EAAUsG,EAAiB3/B,GACpD,IAMIpL,EAAUgrC,EAAQrmC,EAAO9C,EAAQkB,EAAQiM,EAAMgK,EAN/CjC,EAAO3L,GAAWA,EAAQ2L,KAC1Bk0B,KAAgB7/B,IAAWA,EAAQ6/B,YACnCC,KAAe9/B,IAAWA,EAAQ8/B,WAClCC,KAAiB//B,IAAWA,EAAQ+/B,aACpCC,KAAiBhgC,IAAWA,EAAQggC,aACpClwC,EAAKT,EAAKswC,EAAiBh0B,GAG3B4rB,EAAO,SAAU0I,GAEnB,OADIrrC,GAAUmX,EAAcnX,EAAU,UAC/B,IAAI2qC,GAAO,EAAMU,EAC5B,EAEMC,EAAS,SAAUjuC,GACrB,OAAI4tC,GACFlqC,EAAS1D,GACF+tC,EAAclwC,EAAGmC,EAAM,GAAIA,EAAM,GAAIslC,GAAQznC,EAAGmC,EAAM,GAAIA,EAAM,KAChE+tC,EAAclwC,EAAGmC,EAAOslC,GAAQznC,EAAGmC,EAChD,EAEE,GAAI6tC,EACFlrC,EAAWykC,EAASzkC,cACf,GAAImrC,EACTnrC,EAAWykC,MACN,CAEL,KADAuG,EAAS5yB,EAAkBqsB,IACd,MAAM,IAAIroC,EAAW8F,EAAYuiC,GAAY,oBAE1D,GAAIltB,EAAsByzB,GAAS,CACjC,IAAKrmC,EAAQ,EAAG9C,EAASkD,EAAkB0/B,GAAW5iC,EAAS8C,EAAOA,IAEpE,IADA5B,EAASuoC,EAAO7G,EAAS9/B,MACX5C,EAAc8oC,EAAiB9nC,GAAS,OAAOA,EAC7D,OAAO,IAAI4nC,GAAO,EAC1B,CACI3qC,EAAWqY,EAAYosB,EAAUuG,EACrC,CAGE,IADAh8B,EAAOk8B,EAAYzG,EAASz1B,KAAOhP,EAASgP,OACnCgK,EAAOje,EAAKiU,EAAMhP,IAAW2R,MAAM,CAC1C,IACE5O,EAASuoC,EAAOtyB,EAAK3b,MAC3B,CAAM,MAAOhD,GACP8c,EAAcnX,EAAU,QAAS3F,EACvC,CACI,GAAqB,iBAAV0I,GAAsBA,GAAUhB,EAAc8oC,EAAiB9nC,GAAS,OAAOA,CAC9F,CAAI,OAAO,IAAI4nC,GAAO,EACtB,wCCnEA,IAAIjB,EAA2BpvC,KAC3BgqC,EAA8B3oC,KAC9BouC,EAA6BluC,KAAsDuuC,mBAEvFmB,GAAiBxB,IAA+BzF,EAA4B,SAAUG,GACpFiF,EAAyB9oC,IAAI6jC,GAAUhF,UAAK5gC,EAAW,aACzD,mGCNA,IAAIkC,EAAWzG,KACXwG,EAAWnF,KACX+uC,EAAuB7uC,YAE3B2vC,GAAiB,SAAUnf,EAAGjoB,GAE5B,GADArD,EAASsrB,GACLvrB,EAASsD,IAAMA,EAAEoH,cAAgB6gB,EAAG,OAAOjoB,EAC/C,IAAIqnC,EAAoBf,EAAqB/mC,EAAE0oB,GAG/C,OADAmT,EADciM,EAAkBjM,SACxBp7B,GACDqnC,EAAkBrD,OAC3B,4CCXA,IAiDIsD,EAAUC,EAAsBC,EAAgBC,EAjDhDl8B,EAAIrV,KACJkD,EAAU7B,KACVwqC,EAAUtqC,KACVe,EAAaqD,IACbyoB,EAAOxoB,KACPnF,EAAOqF,KACPqL,EAAgB9E,KAChB4I,EAAiBnG,KACjBqF,EAAiBqB,KACjB21B,EAAa11B,KACb5N,EAAY6N,KACZnP,EAAaoP,KACbnP,EAAWoP,KACX+G,EAAa7G,KACbw1B,EAAqBhpB,KACrB+qB,EAAO9qB,KAA6B9T,IACpC8/B,EAAY/rB,KACZwsB,EAAmBvsB,KACnBysB,EAAUxsB,KACV4qB,EAAQ3qB,KACRtS,EAAsBuS,KACtBwsB,EAA2BvsB,KAC3B2uB,EAA8B1uB,KAC9B2uB,EAA6BzuB,KAE7B0uB,EAAU,UACVjC,EAA6B+B,EAA4B1B,YACzDP,EAAiCiC,EAA4BzB,gBAC7D4B,EAA6BH,EAA4BlC,YACzDsC,EAA0BvhC,EAAoBf,UAAUoiC,GACxDl6B,EAAmBnH,EAAoB5B,IACvC4gC,EAAyBD,GAA4BA,EAAyB5uC,UAC9EqxC,EAAqBzC,EACrB0C,EAAmBzC,EACnBttC,EAAYO,EAAWP,UACvBsE,EAAW/D,EAAW+D,SACtBxB,EAAUvC,EAAWuC,QACrBurC,EAAuBqB,EAA2BpoC,EAClD0oC,EAA8B3B,EAE9B4B,KAAoB3rC,GAAYA,EAAS4rC,aAAe3vC,EAAW4vC,eACnEC,EAAsB,qBAWtBC,EAAa,SAAUhxC,GACzB,IAAI+jC,EACJ,SAAO3+B,EAASpF,KAAOmF,EAAW4+B,EAAO/jC,EAAG+jC,QAAQA,CACtD,EAEIkN,EAAe,SAAUC,EAAUtjC,GACrC,IAMIvG,EAAQ08B,EAAMoN,EANdxvC,EAAQiM,EAAMjM,MACdyvC,EAfU,IAeLxjC,EAAMA,MACX49B,EAAU4F,EAAKF,EAASE,GAAKF,EAASG,KACtCvN,EAAUoN,EAASpN,QACnB+K,EAASqC,EAASrC,OAClB1iC,EAAS+kC,EAAS/kC,OAEtB,IACMq/B,GACG4F,IApBK,IAqBJxjC,EAAM0jC,WAAyBC,EAAkB3jC,GACrDA,EAAM0jC,UAvBA,IAyBQ,IAAZ9F,EAAkBnkC,EAAS1F,GAEzBwK,GAAQA,EAAOohC,QACnBlmC,EAASmkC,EAAQ7pC,GACbwK,IACFA,EAAOmhC,OACP6D,GAAS,IAGT9pC,IAAW6pC,EAASxE,QACtBmC,EAAO,IAAIluC,EAAU,yBACZojC,EAAOiN,EAAW3pC,IAC3BhI,EAAK0kC,EAAM18B,EAAQy8B,EAAS+K,GACvB/K,EAAQz8B,IACVwnC,EAAOltC,EAClB,CAAI,MAAOhD,GACHwN,IAAWglC,GAAQhlC,EAAOmhC,OAC9BuB,EAAOlwC,EACX,CACA,EAEI4tC,EAAS,SAAU3+B,EAAO4jC,GACxB5jC,EAAM6jC,WACV7jC,EAAM6jC,UAAW,EACjBtE,EAAU,WAGR,IAFA,IACI+D,EADAQ,EAAY9jC,EAAM8jC,UAEfR,EAAWQ,EAAUnsC,OAC1B0rC,EAAaC,EAAUtjC,GAEzBA,EAAM6jC,UAAW,EACbD,IAAa5jC,EAAM0jC,WAAWK,EAAY/jC,EAClD,GACA,EAEIkjC,EAAgB,SAAU/rC,EAAM2nC,EAASkF,GAC3C,IAAIvG,EAAOG,EACPoF,IACFvF,EAAQpmC,EAAS4rC,YAAY,UACvBnE,QAAUA,EAChBrB,EAAMuG,OAASA,EACfvG,EAAMwG,UAAU9sC,GAAM,GAAO,GAC7B7D,EAAW4vC,cAAczF,IACpBA,EAAQ,CAAEqB,QAASA,EAASkF,OAAQA,IACtCzD,IAAmC3C,EAAUtqC,EAAW,KAAO6D,IAAQymC,EAAQH,GAC3EtmC,IAASgsC,GAAqBnD,EAAiB,8BAA+BgE,EACzF,EAEID,EAAc,SAAU/jC,GAC1BvO,EAAK4sC,EAAM/qC,EAAY,WACrB,IAGImG,EAHAqlC,EAAU9+B,EAAME,OAChBnM,EAAQiM,EAAMjM,MAGlB,GAFmBmwC,EAAYlkC,KAG7BvG,EAASymC,EAAQ,WACXrD,EACFhnC,EAAQsuC,KAAK,qBAAsBpwC,EAAO+qC,GACrCoE,EAAcC,EAAqBrE,EAAS/qC,EAC3D,GAEMiM,EAAM0jC,UAAY7G,GAAWqH,EAAYlkC,GArF/B,EADF,EAuFJvG,EAAO1I,OAAO,MAAM0I,EAAO1F,KAErC,EACA,EAEImwC,EAAc,SAAUlkC,GAC1B,OA7FY,IA6FLA,EAAM0jC,YAA0B1jC,EAAMy/B,MAC/C,EAEIkE,EAAoB,SAAU3jC,GAChCvO,EAAK4sC,EAAM/qC,EAAY,WACrB,IAAIwrC,EAAU9+B,EAAME,OAChB28B,EACFhnC,EAAQsuC,KAAK,mBAAoBrF,GAC5BoE,EAzGa,mBAyGoBpE,EAAS9+B,EAAMjM,MAC3D,EACA,EAEI5C,EAAO,SAAUS,EAAIoO,EAAOokC,GAC9B,OAAO,SAAUrwC,GACfnC,EAAGoO,EAAOjM,EAAOqwC,EACrB,CACA,EAEIC,EAAiB,SAAUrkC,EAAOjM,EAAOqwC,GACvCpkC,EAAMqI,OACVrI,EAAMqI,MAAO,EACT+7B,IAAQpkC,EAAQokC,GACpBpkC,EAAMjM,MAAQA,EACdiM,EAAMA,MArHO,EAsHb2+B,EAAO3+B,GAAO,GAChB,EAEIskC,GAAkB,SAAUtkC,EAAOjM,EAAOqwC,GAC5C,IAAIpkC,EAAMqI,KAAV,CACArI,EAAMqI,MAAO,EACT+7B,IAAQpkC,EAAQokC,GACpB,IACE,GAAIpkC,EAAME,SAAWnM,EAAO,MAAM,IAAIhB,EAAU,oCAChD,IAAIojC,EAAOiN,EAAWrvC,GAClBoiC,EACFoJ,EAAU,WACR,IAAIgF,EAAU,CAAEl8B,MAAM,GACtB,IACE5W,EAAK0kC,EAAMpiC,EACT5C,EAAKmzC,GAAiBC,EAASvkC,GAC/B7O,EAAKkzC,EAAgBE,EAASvkC,GAE1C,CAAU,MAAOjP,GACPszC,EAAeE,EAASxzC,EAAOiP,EACzC,CACA,IAEMA,EAAMjM,MAAQA,EACdiM,EAAMA,MA/II,EAgJV2+B,EAAO3+B,GAAO,GAEpB,CAAI,MAAOjP,GACPszC,EAAe,CAAEh8B,MAAM,GAAStX,EAAOiP,EAC3C,CAzBkB,CA0BlB,EAGA,GAAIygC,IAcFqC,GAZAD,EAAqB,SAAiB2B,GACpC72B,EAAWja,KAAMovC,GACjBjqC,EAAU2rC,GACV/yC,EAAK2wC,EAAU1uC,MACf,IAAIsM,EAAQ4iC,EAAwBlvC,MACpC,IACE8wC,EAASrzC,EAAKmzC,GAAiBtkC,GAAQ7O,EAAKkzC,EAAgBrkC,GAClE,CAAM,MAAOjP,GACPszC,EAAerkC,EAAOjP,EAC5B,CACA,GAEwCS,WAGtC4wC,EAAW,SAAiBoC,GAC1Bh8B,EAAiB9U,KAAM,CACrB8M,KAAMkiC,EACNr6B,MAAM,EACNw7B,UAAU,EACVpE,QAAQ,EACRqE,UAAW,IAAIxF,EACfoF,WAAW,EACX1jC,MAlLQ,EAmLRjM,MAAO,MAEb,GAIWvC,UAAY2Q,EAAc2gC,EAAkB,OAAQ,SAAc2B,EAAaC,GACtF,IAAI1kC,EAAQ4iC,EAAwBlvC,MAChC4vC,EAAWlC,EAAqB9E,EAAmB5oC,KAAMmvC,IAS7D,OARA7iC,EAAMy/B,QAAS,EACf6D,EAASE,IAAKjsC,EAAWktC,IAAeA,EACxCnB,EAASG,KAAOlsC,EAAWmtC,IAAeA,EAC1CpB,EAAS/kC,OAASs+B,EAAUhnC,EAAQ0I,YAAShJ,EA/LnC,IAgMNyK,EAAMA,MAAmBA,EAAM8jC,UAAUrF,IAAI6E,GAC5C/D,EAAU,WACb8D,EAAaC,EAAUtjC,EAC7B,GACWsjC,EAASxE,OACpB,GAEEuD,EAAuB,WACrB,IAAIvD,EAAU,IAAIsD,EACdpiC,EAAQ4iC,EAAwB9D,GACpCprC,KAAKorC,QAAUA,EACfprC,KAAKwiC,QAAU/kC,EAAKmzC,GAAiBtkC,GACrCtM,KAAKutC,OAAS9vC,EAAKkzC,EAAgBrkC,EACvC,EAEEyiC,EAA2BpoC,EAAI+mC,EAAuB,SAAUre,GAC9D,OAAOA,IAAM8f,GAAsB9f,IAAMuf,EACrC,IAAID,EAAqBtf,GACzBggB,EAA4BhgB,EACpC,GAEO7uB,GAAWqD,EAAW6oC,IAA6BC,IAA2B5tC,OAAOjB,WAAW,CACnG+wC,EAAalC,EAAuBlK,KAE/BwM,GAEHxgC,EAAck+B,EAAwB,OAAQ,SAAcoE,EAAaC,GACvE,IAAIj3B,EAAO/Z,KACX,OAAO,IAAImvC,EAAmB,SAAU3M,EAAS+K,GAC/CxvC,EAAK8wC,EAAY90B,EAAMyoB,EAAS+K,EAC1C,GAAW9K,KAAKsO,EAAaC,EAE7B,EAAS,CAAEriC,QAAQ,IAIf,WACSg+B,EAAuBn+B,WACpC,CAAM,MAAOnR,GAAO,CAGZkV,GACFA,EAAeo6B,EAAwByC,EAE7C,CAKAz8B,EAAE,CAAE5S,QAAQ,EAAMyO,aAAa,EAAM43B,MAAM,EAAMx1B,OAAQm8B,GAA8B,CACrFxK,QAAS4M,IAGXP,EAAiBljB,EAAK6W,QAEtB9wB,EAAe09B,EAAoBH,GAAS,GAAO,GACnDvG,EAAWuG,GClSX1xC,mCCDA,IAAIqV,EAAIrV,KACJS,EAAOY,KACPwG,EAAYtG,KACZkwC,EAA6B9rC,KAC7BupC,EAAUtpC,KACV4qC,EAAU1qC,KAKduP,EAAE,CAAEpD,OAAQ,UAAWmB,MAAM,EAAME,OAJOjH,MAIwC,CAChF/F,IAAK,SAAa6jC,GAChB,IAAIpY,EAAIrvB,KACJixC,EAAalC,EAA2BpoC,EAAE0oB,GAC1CmT,EAAUyO,EAAWzO,QACrB+K,EAAS0D,EAAW1D,OACpBxnC,EAASymC,EAAQ,WACnB,IAAI0E,EAAkB/rC,EAAUkqB,EAAEmT,SAC9B/tB,EAAS,GACT2I,EAAU,EACV+zB,EAAY,EAChBrD,EAAQrG,EAAU,SAAU2D,GAC1B,IAAIzjC,EAAQyV,IACRg0B,GAAgB,EACpBD,IACApzC,EAAKmzC,EAAiB7hB,EAAG+b,GAAS3I,KAAK,SAAUpiC,GAC3C+wC,IACJA,GAAgB,EAChB38B,EAAO9M,GAAStH,IACd8wC,GAAa3O,EAAQ/tB,GACjC,EAAW84B,EACX,KACQ4D,GAAa3O,EAAQ/tB,EAC7B,GAEI,OADI1O,EAAO1I,OAAOkwC,EAAOxnC,EAAO1F,OACzB4wC,EAAW7F,OACtB,IDlCAzsC,mCEFA,IAAIgU,EAAIrV,KACJkD,EAAU7B,KACVouC,EAA6BluC,KAAsDuuC,YACnFV,EAA2BzpC,KAC3ByB,EAAaxB,KACbW,EAAaT,KACbqL,EAAgB9E,KAEhBgjC,EAAyBD,GAA4BA,EAAyB5uC,UAWlF,GAPA6U,EAAE,CAAEpD,OAAQ,UAAWkD,OAAO,EAAM7B,OAAQm8B,EAA4BsE,MAAM,GAAQ,CACpFzL,MAAS,SAAUoL,GACjB,OAAOhxC,KAAKyiC,UAAK5gC,EAAWmvC,EAChC,KAIKxwC,GAAWqD,EAAW6oC,GAA2B,CACpD,IAAI9nC,EAASF,EAAW,WAAW5G,UAAiB,MAChD6uC,EAA8B,QAAM/nC,GACtC6J,EAAck+B,EAAwB,QAAS/nC,EAAQ,CAAE+J,QAAQ,GAErE,EFrBA9P,mCGHA,IAAI8T,EAAIrV,KACJS,EAAOY,KACPwG,EAAYtG,KACZkwC,EAA6B9rC,KAC7BupC,EAAUtpC,KACV4qC,EAAU1qC,KAKduP,EAAE,CAAEpD,OAAQ,UAAWmB,MAAM,EAAME,OAJOjH,MAIwC,CAChF2nC,KAAM,SAAc7J,GAClB,IAAIpY,EAAIrvB,KACJixC,EAAalC,EAA2BpoC,EAAE0oB,GAC1Cke,EAAS0D,EAAW1D,OACpBxnC,EAASymC,EAAQ,WACnB,IAAI0E,EAAkB/rC,EAAUkqB,EAAEmT,SAClCsL,EAAQrG,EAAU,SAAU2D,GAC1BrtC,EAAKmzC,EAAiB7hB,EAAG+b,GAAS3I,KAAKwO,EAAWzO,QAAS+K,EACnE,EACA,GAEI,OADIxnC,EAAO1I,OAAOkwC,EAAOxnC,EAAO1F,OACzB4wC,EAAW7F,OACtB,IHnBAnoC,mCIJA,IAAI0P,EAAIrV,KACJyxC,EAA6BpwC,KAKjCgU,EAAE,CAAEpD,OAAQ,UAAWmB,MAAM,EAAME,OAJF/R,KAAsDuuC,aAId,CACvEG,OAAQ,SAAgBxc,GACtB,IAAIkgB,EAAalC,EAA2BpoC,EAAE3G,MAG9C,OADAuxC,EADuBN,EAAW1D,QACjBxc,GACVkgB,EAAW7F,OACtB,IJPAloC,mCKLA,IAAIyP,EAAIrV,KACJoH,EAAa/F,KACb6B,EAAU3B,KACV6tC,EAA2BzpC,KAC3B8pC,EAA6B7pC,KAAsDkqC,YACnFoB,EAAiBprC,KAEjBouC,EAA4B9sC,EAAW,WACvC+sC,EAAgBjxC,IAAYusC,EAIhCp6B,EAAE,CAAEpD,OAAQ,UAAWmB,MAAM,EAAME,OAAQpQ,GAAWusC,GAA8B,CAClFvK,QAAS,SAAiBp7B,GACxB,OAAOonC,EAAeiD,GAAiBzxC,OAASwxC,EAA4B9E,EAA2B1sC,KAAMoH,EACjH,ILTAhE,IMHO,MAAMsuC,WAA2BC,MAStC,WAAAnjC,CAAYnR,GACVu0C,MAAMv0C,EAAMw0C,SACZ7xC,KAAKyD,KAAO,qBACZzD,KAAKyf,KAAOpiB,EAAMoiB,KAClBzf,KAAK8xC,OAASz0C,EAAMy0C,OACpB9xC,KAAK+xC,SAAW10C,EAAM00C,SACtB/xC,KAAKgyC,UAAY30C,EAAM20C,UAGnBL,MAAMM,mBACRN,MAAMM,kBAAkBjyC,KAAM0xC,GAElC,+GCvBF,IAAI9yC,EAAUtB,IACVkC,EAAkBb,IAClBuzC,EAAuBrzC,KAAsD8H,EAC7EsV,EAAahZ,KAEbkvC,EAA+B,iBAAVtyC,QAAsBA,QAAUd,OAAOiQ,oBAC5DjQ,OAAOiQ,oBAAoBnP,QAAU,UAWzCuyC,GAAAzrC,EAAmB,SAA6BjI,GAC9C,OAAOyzC,GAA+B,WAAhBvzC,EAAQF,GAVX,SAAUA,GAC7B,IACE,OAAOwzC,EAAqBxzC,EAChC,CAAI,MAAOrB,GACP,OAAO4e,EAAWk2B,EACtB,CACA,CAKME,CAAe3zC,GACfwzC,EAAqB1yC,EAAgBd,GAC3C,wCCtBA,IAAIvB,EAAQG,IACRwG,EAAWnF,KACXC,EAAUC,IACVyzC,kCCFJ,IAAIn1C,EAAQG,WAEZi1C,GAAiBp1C,EAAM,WACrB,GAA0B,mBAAfq1C,YAA2B,CACpC,IAAIrnB,EAAS,IAAIqnB,YAAY,GAEzBzzC,OAAO0zC,aAAatnB,IAASpsB,OAAOmB,eAAeirB,EAAQ,IAAK,CAAE9qB,MAAO,GACjF,CACA,GDNkC4C,GAG9ByvC,EAAgB3zC,OAAO0zC,aACvBE,EAAsBx1C,EAAM,WAA+B,UAI/Dy1C,GAAkBD,GAAuBL,EAA+B,SAAsB5zC,GAC5F,QAAKoF,EAASpF,OACV4zC,GAA+C,gBAAhB1zC,EAAQF,OACpCg0C,GAAgBA,EAAch0C,IACvC,EAAIg0C,6CEfJ,IAAI//B,EAAIrV,KACJe,EAAcM,IACd8J,EAAa5J,KACbiF,EAAWb,KACXzB,EAAS0B,KACThD,EAAiBkD,KAA+CuD,EAChEuI,EAA4BvF,KAC5BkpC,EAAoCzmC,KACpCqmC,EAAe3/B,KACflR,EAAMmR,KACN+/B,kCCVJ,IAAI31C,EAAQG,WAEZy1C,IAAkB51C,EAAM,WAEtB,OAAO4B,OAAO0zC,aAAa1zC,OAAOi0C,kBAAkB,CAAA,GACtD,GDKehgC,GAEXigC,GAAW,EACXC,EAAWtxC,EAAI,QACfH,EAAK,EAEL0xC,EAAc,SAAUz0C,GAC1BwB,EAAexB,EAAIw0C,EAAU,CAAE7yC,MAAO,CACpC+yC,SAAU,IAAM3xC,IAChB4xC,SAAU,CAAA,IAEd,EA6DIC,EAAOC,GAAA3yC,QAAiB,CAC1B4yC,OA5BW,WACXF,EAAKE,OAAS,WAAY,EAC1BP,GAAW,EACX,IAAIjkC,EAAsBE,EAA0BvI,EAChDib,EAASvjB,EAAY,GAAGujB,QACxBpkB,EAAO,CAAA,EAEXA,EAAK01C,GAAY,EAGblkC,EAAoBxR,GAAMqH,SAC5BqK,EAA0BvI,EAAI,SAAUjI,GAEtC,IADA,IAAIqH,EAASiJ,EAAoBtQ,GACxBmK,EAAI,EAAGhE,EAASkB,EAAOlB,OAAQgE,EAAIhE,EAAQgE,IAClD,GAAI9C,EAAO8C,KAAOqqC,EAAU,CAC1BtxB,EAAO7b,EAAQ8C,EAAG,GAClB,KACV,CACQ,OAAO9C,CACf,EAEI4M,EAAE,CAAEpD,OAAQ,SAAUmB,MAAM,EAAME,QAAQ,GAAQ,CAChD5B,oBAAqB6jC,EAAkClsC,IAG7D,EAIE8sC,QA7DY,SAAU/0C,EAAI4M,GAE1B,IAAKxH,EAASpF,GAAK,MAAoB,iBAANA,EAAiBA,GAAmB,iBAANA,EAAiB,IAAM,KAAOA,EAC7F,IAAK8C,EAAO9C,EAAIw0C,GAAW,CAEzB,IAAKT,EAAa/zC,GAAK,MAAO,IAE9B,IAAK4M,EAAQ,MAAO,IAEpB6nC,EAAYz0C,EAEhB,CAAI,OAAOA,EAAGw0C,GAAUE,QACxB,EAkDEM,YAhDgB,SAAUh1C,EAAI4M,GAC9B,IAAK9J,EAAO9C,EAAIw0C,GAAW,CAEzB,IAAKT,EAAa/zC,GAAK,OAAO,EAE9B,IAAK4M,EAAQ,OAAO,EAEpB6nC,EAAYz0C,EAEhB,CAAI,OAAOA,EAAGw0C,GAAUG,QACxB,EAuCEM,SApCa,SAAUj1C,GAEvB,OADIo0C,GAAYG,GAAYR,EAAa/zC,KAAQ8C,EAAO9C,EAAIw0C,IAAWC,EAAYz0C,GAC5EA,CACT,UAoCA+J,EAAWyqC,IAAY,gDEzFvB,IAAIrvC,EAAavG,KACbwG,EAAWnF,KACX4T,EAAiB1T,YAGrB+0C,GAAiB,SAAUzrC,EAAO0rC,EAAOC,GACvC,IAAIC,EAAWC,EAUf,OAPEzhC,GAEA1O,EAAWkwC,EAAYF,EAAMrlC,cAC7BulC,IAAcD,GACdhwC,EAASkwC,EAAqBD,EAAUj2C,YACxCk2C,IAAuBF,EAAQh2C,WAC/ByU,EAAepK,EAAO6rC,GACjB7rC,CACT,qCCjBA,IAAIwK,EAAIrV,KACJsC,EAAajB,IACbN,EAAcQ,IACd6Q,EAAWzM,KACXwL,EAAgBvL,KAChB+wC,EAAyB7wC,KACzB0qC,EAAUnkC,KACVsQ,EAAa7N,KACbvI,EAAaiP,KACb3T,EAAoB4T,IACpBjP,EAAWkP,KACX7V,EAAQ8V,IACRq0B,EAA8Bp0B,KAC9BzB,EAAiB2B,KACjBwgC,EAAoBh0B,YAExBs0B,GAAiB,SAAUxL,EAAkBmI,EAASsD,GACpD,IAAI5kB,GAA6C,IAApCmZ,EAAiBlgC,QAAQ,OAClC4rC,GAA+C,IAArC1L,EAAiBlgC,QAAQ,QACnC6rC,EAAQ9kB,EAAS,MAAQ,MACzB+kB,EAAoB10C,EAAW8oC,GAC/B6L,EAAkBD,GAAqBA,EAAkBx2C,UACzD+pC,EAAcyM,EACdE,EAAW,CAAA,EAEXC,EAAY,SAAUzgC,GACxB,IAAI0gC,EAAwBr2C,EAAYk2C,EAAgBvgC,IACxDvF,EAAc8lC,EAAiBvgC,EACrB,QAARA,EAAgB,SAAa3T,GAE3B,OADAq0C,EAAsB10C,KAAgB,IAAVK,EAAc,EAAIA,GACvCL,IACf,EAAkB,WAARgU,EAAmB,SAAU5T,GAC/B,QAAOg0C,IAAYtwC,EAAS1D,KAAes0C,EAAsB10C,KAAc,IAARI,EAAY,EAAIA,EAC/F,EAAkB,QAAR4T,EAAgB,SAAa5T,GAC/B,OAAOg0C,IAAYtwC,EAAS1D,QAAOyB,EAAY6yC,EAAsB10C,KAAc,IAARI,EAAY,EAAIA,EACnG,EAAkB,QAAR4T,EAAgB,SAAa5T,GAC/B,QAAOg0C,IAAYtwC,EAAS1D,KAAes0C,EAAsB10C,KAAc,IAARI,EAAY,EAAIA,EAC/F,EAAU,SAAaA,EAAKC,GAEpB,OADAq0C,EAAsB10C,KAAc,IAARI,EAAY,EAAIA,EAAKC,GAC1CL,IACf,EAEA,EASE,GAPc0P,EACZg5B,GACC7kC,EAAWywC,MAAwBF,GAAWG,EAAgBj7B,UAAYnc,EAAM,YAC/E,IAAIm3C,GAAoB9/B,UAAUxC,MACxC,KAKI61B,EAAcsM,EAAOQ,eAAe9D,EAASnI,EAAkBnZ,EAAQ8kB,GACvEJ,EAAuBT,cAClB,GAAI9jC,EAASg5B,GAAkB,GAAO,CAC3C,IAAIkM,EAAW,IAAI/M,EAEfgN,EAAiBD,EAASP,GAAOD,EAAU,IAAK,EAAI,KAAOQ,EAE3DE,EAAuB33C,EAAM,WAAcy3C,EAAS5oC,IAAI,KAGxD+oC,EAAmBzN,EAA4B,SAAUG,GAAY,IAAI6M,EAAkB7M,KAE3FuN,GAAcZ,GAAWj3C,EAAM,WAIjC,IAFA,IAAI83C,EAAY,IAAIX,EAChB3sC,EAAQ,EACLA,KAASstC,EAAUZ,GAAO1sC,EAAOA,GACxC,OAAQstC,EAAUjpC,OACxB,GAES+oC,KACHlN,EAAcgJ,EAAQ,SAAUgD,EAAOpM,GACrCxtB,EAAW45B,EAAOU,GAClB,IAAIx6B,EAAO65B,EAAkB,IAAIU,EAAqBT,EAAOhM,GAE7D,OADK1oC,EAAkBsoC,IAAWqG,EAAQrG,EAAU1tB,EAAKs6B,GAAQ,CAAEt6B,KAAMA,EAAMk0B,WAAY1e,IACpFxV,CACf,IACkBjc,UAAYy2C,EACxBA,EAAgB/lC,YAAcq5B,IAG5BiN,GAAwBE,KAC1BP,EAAU,UACVA,EAAU,OACVllB,GAAUklB,EAAU,SAGlBO,GAAcH,IAAgBJ,EAAUJ,GAGxCD,GAAWG,EAAgBlL,cAAckL,EAAgBlL,KACjE,CASE,OAPAmL,EAAS9L,GAAoBb,EAC7Bl1B,EAAE,CAAE5S,QAAQ,EAAMyO,aAAa,EAAMoC,OAAQi3B,IAAgByM,GAAqBE,GAElF/iC,EAAeo2B,EAAaa,GAEvB0L,GAASD,EAAOe,UAAUrN,EAAaa,EAAkBnZ,GAEvDsY,CACT,wCCxGA,IAAIv8B,EAAShO,KACT0c,EAAwBrb,KACxB+f,EAAiB7f,KACjBpB,EAAOwF,KACPgX,EAAa/W,KACb/D,EAAoBiE,IACpB0qC,EAAUnkC,KACViL,EAAiBxI,KACjBsI,EAAyB5B,KACzB21B,EAAa11B,KACb7O,EAAc8O,KACdygC,EAAUxgC,KAA0CwgC,QACpD9lC,EAAsBuF,KAEtB4B,EAAmBnH,EAAoB5B,IACvCopC,EAAyBxnC,EAAoBf,iBAEjDwoC,GAAiB,CACfT,eAAgB,SAAU9D,EAASnI,EAAkBnZ,EAAQ8kB,GAC3D,IAAIxM,EAAcgJ,EAAQ,SAAU92B,EAAM0tB,GACxCxtB,EAAWF,EAAMG,GACjBpF,EAAiBiF,EAAM,CACrBjN,KAAM47B,EACN/gC,MAAO2D,EAAO,MACdiN,MAAO,KACP88B,KAAM,KACN18B,KAAM,IAEHzU,IAAa6V,EAAKpB,KAAO,GACzBxZ,EAAkBsoC,IAAWqG,EAAQrG,EAAU1tB,EAAKs6B,GAAQ,CAAEt6B,KAAMA,EAAMk0B,WAAY1e,GACjG,GAEQrV,EAAY2tB,EAAY/pC,UAExB+P,EAAmBsnC,EAAuBzM,GAE1C4M,EAAS,SAAUv7B,EAAM3Z,EAAKC,GAChC,IAEIk1C,EAAU5tC,EAFV2E,EAAQuB,EAAiBkM,GACzBqJ,EAAQoyB,EAASz7B,EAAM3Z,GAqBzB,OAlBEgjB,EACFA,EAAM/iB,MAAQA,GAGdiM,EAAM+oC,KAAOjyB,EAAQ,CACnBzb,MAAOA,EAAQ8rC,EAAQrzC,GAAK,GAC5BA,IAAKA,EACLC,MAAOA,EACPk1C,SAAUA,EAAWjpC,EAAM+oC,KAC3BrjC,KAAM,KACNyjC,SAAS,GAENnpC,EAAMiM,QAAOjM,EAAMiM,MAAQ6K,GAC5BmyB,IAAUA,EAASvjC,KAAOoR,GAC1Blf,EAAaoI,EAAMqM,OAClBoB,EAAKpB,OAEI,MAAVhR,IAAe2E,EAAM3E,MAAMA,GAASyb,IACjCrJ,CACf,EAEQy7B,EAAW,SAAUz7B,EAAM3Z,GAC7B,IAGIgjB,EAHA9W,EAAQuB,EAAiBkM,GAEzBpS,EAAQ8rC,EAAQrzC,GAEpB,GAAc,MAAVuH,EAAe,OAAO2E,EAAM3E,MAAMA,GAEtC,IAAKyb,EAAQ9W,EAAMiM,MAAO6K,EAAOA,EAAQA,EAAMpR,KAC7C,GAAIoR,EAAMhjB,MAAQA,EAAK,OAAOgjB,CAEtC,EAsFI,OApFA1E,EAAexE,EAAW,CAIxBmvB,MAAO,WAIL,IAHA,IACI/8B,EAAQuB,EADD7N,MAEPojB,EAAQ9W,EAAMiM,MACX6K,GACLA,EAAMqyB,SAAU,EACZryB,EAAMmyB,WAAUnyB,EAAMmyB,SAAWnyB,EAAMmyB,SAASvjC,KAAO,MAC3DoR,EAAQA,EAAMpR,KAEhB1F,EAAMiM,MAAQjM,EAAM+oC,KAAO,KAC3B/oC,EAAM3E,MAAQ2D,EAAO,MACjBpH,EAAaoI,EAAMqM,KAAO,EAVnB3Y,KAWD2Y,KAAO,CACzB,EAIMyL,OAAU,SAAUhkB,GAClB,IAAI2Z,EAAO/Z,KACPsM,EAAQuB,EAAiBkM,GACzBqJ,EAAQoyB,EAASz7B,EAAM3Z,GAC3B,GAAIgjB,EAAO,CACT,IAAIpR,EAAOoR,EAAMpR,KACbk0B,EAAO9iB,EAAMmyB,gBACVjpC,EAAM3E,MAAMyb,EAAMzb,OACzByb,EAAMqyB,SAAU,EACZvP,IAAMA,EAAKl0B,KAAOA,GAClBA,IAAMA,EAAKujC,SAAWrP,GACtB55B,EAAMiM,QAAU6K,IAAO9W,EAAMiM,MAAQvG,GACrC1F,EAAM+oC,OAASjyB,IAAO9W,EAAM+oC,KAAOnP,GACnChiC,EAAaoI,EAAMqM,OAClBoB,EAAKpB,MACpB,CAAU,QAASyK,CACnB,EAIM9J,QAAS,SAAiBwW,GAIxB,IAHA,IAEI1M,EAFA9W,EAAQuB,EAAiB7N,MACzB0kB,EAAgBjnB,EAAKqyB,EAAY1xB,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,GAEpEuhB,EAAQA,EAAQA,EAAMpR,KAAO1F,EAAMiM,OAGxC,IAFAmM,EAActB,EAAM/iB,MAAO+iB,EAAMhjB,IAAKJ,MAE/BojB,GAASA,EAAMqyB,SAASryB,EAAQA,EAAMmyB,QAEvD,EAIMvpC,IAAK,SAAa5L,GAChB,QAASo1C,EAASx1C,KAAMI,EAChC,IAGIse,EAAexE,EAAWqV,EAAS,CAGjCtrB,IAAK,SAAa7D,GAChB,IAAIgjB,EAAQoyB,EAASx1C,KAAMI,GAC3B,OAAOgjB,GAASA,EAAM/iB,KAC9B,EAGM0L,IAAK,SAAa3L,EAAKC,GACrB,OAAOi1C,EAAOt1C,KAAc,IAARI,EAAY,EAAIA,EAAKC,EACjD,GACQ,CAGF0qC,IAAK,SAAa1qC,GAChB,OAAOi1C,EAAOt1C,KAAMK,EAAkB,IAAVA,EAAc,EAAIA,EAAOA,EAC7D,IAEQ6D,GAAa8V,EAAsBE,EAAW,OAAQ,CACxD5Z,cAAc,EACd2D,IAAK,WACH,OAAO4J,EAAiB7N,MAAM2Y,IACtC,IAEWkvB,CACX,EACEqN,UAAW,SAAUrN,EAAaa,EAAkBnZ,GAClD,IAAImmB,EAAgBhN,EAAmB,YACnCiN,EAA6BR,EAAuBzM,GACpDxnB,EAA2Bi0B,EAAuBO,GAUtD9gC,EAAeizB,EAAaa,EAAkB,SAAU1zB,EAAUC,GAChEH,EAAiB9U,KAAM,CACrB8M,KAAM4oC,EACNnmC,OAAQyF,EACR1I,MAAOqpC,EAA2B3gC,GAClCC,KAAMA,EACNogC,KAAM,MAEd,EAAO,WAKD,IAJA,IAAI/oC,EAAQ4U,EAAyBlhB,MACjCiV,EAAO3I,EAAM2I,KACbmO,EAAQ9W,EAAM+oC,KAEXjyB,GAASA,EAAMqyB,SAASryB,EAAQA,EAAMmyB,SAE7C,OAAKjpC,EAAMiD,SAAYjD,EAAM+oC,KAAOjyB,EAAQA,EAAQA,EAAMpR,KAAO1F,EAAMA,MAAMiM,OAMjD7D,EAAf,SAATO,EAA+CmO,EAAMhjB,IAC5C,WAAT6U,EAAiDmO,EAAM/iB,MAC7B,CAAC+iB,EAAMhjB,IAAKgjB,EAAM/iB,QAFc,IAJ5DiM,EAAMiD,OAAS,KACRmF,OAAuB7S,GAAW,GAMjD,EAAO0tB,EAAS,UAAY,UAAWA,GAAQ,GAK3CkZ,EAAWC,EACf,0BC3MiBprC,IAKjB42C,CAAW,MAAO,SAAU5wB,GAC1B,OAAO,WAAiB,OAAOA,EAAKtjB,KAAM5B,UAAUyG,OAASzG,UAAU,QAAKyD,EAAW,CACzF,EANuBlD,kBCEvB,SAASyQ,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CA2GvP,SAAS63B,GAAkB9oC,EAAMklC,EAAWniC,GACjD,OA3GF,SAAuBmhB,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CA2G7akF,CAAc,CACnB2f,kBAAmBnY,GAAgBC,QACnCmY,UAAW9T,KAAKC,MAChBn1B,OACAklC,aACCniC,EACL,CAoCO,SAASkmC,GAAoBh1C,GAClC,OAAOA,GAAW28B,GAAgBE,aACpC,CC5JO,SAASoY,GAAW31C,GACzB,MAAwB,mBAAVA,CAChB,CCIO,SAAS41C,GAAkBC,GAChC,IAAKA,EACH,OAAO,EAET,IAEE,QAAKF,GAAWE,EAAajM,iBAKzB,WAAYiM,KAAwC,IAAxBA,EAAaC,OAS/C,CAAE,MAAOnlB,GAEP,OAAO,CACT,CACF,qBC7BiB1zB,IAKjB42C,CAAW,MAAO,SAAU5wB,GAC1B,OAAO,WAAiB,OAAOA,EAAKtjB,KAAM5B,UAAUyG,OAASzG,UAAU,QAAKyD,EAAW,CACzF,EANuBlD,QCOvB,IACIy3C,GAAa,CACf,CAAC3Z,GAASC,OAAQ,GAClB,CAACD,GAASE,MAAO,GACjB,CAACF,GAASG,MAAO,GACjB,CAACH,GAASlE,OAAQ,GAClB,CAACkE,GAASI,QAAS,KAEjBwZ,GAAe5Z,GAASG,KAIrB,SAAS0Z,GAAyBC,GACvCF,GAAeE,CACjB,CAMO,SAASC,GAA4BD,GACtCH,GAAWG,GAASH,GAAWC,MACjCA,GAAeE,EAEnB,CAQO,SAASE,GAAiBF,EAAO1E,EAAShiC,GAC/C,GAAIwmC,KAAiB5Z,GAASI,QARhC,SAAmB0Z,GACjB,OAAOH,GAAWG,IAAUH,GAAWC,GACzC,CAOOK,CAAUH,GAAf,CACA,IACI/Z,EAAS,sBADG,IAAIwF,MAAO2U,mBACqBJ,EAAMK,iBAClDC,EAAc,mBACdC,EAAeP,IAAU9Z,GAASE,KAAO,iBAAmB,GAC5D/3B,EAAS2xC,IAAU9Z,GAASC,MAAQ,QAAU6Z,OACrC10C,IAATgO,EACF08B,QAAQ3nC,GAAQ,KAAK43B,OAAYqV,IAAWgF,EAAaC,EAAcjnC,GAEvE08B,QAAQ3nC,GAAQ,KAAK43B,OAAYqV,IAAWgF,EAAaC,EATpC,CAWzB,+CCpDA,IAAInkC,EAAIrV,KACJe,EAAcM,KACdo4C,EAAWl4C,KAAuC2J,QAClDooB,EAAsB3tB,KAEtB+zC,EAAgB34C,EAAY,GAAGmK,SAE/ByuC,IAAkBD,GAAiB,EAAIA,EAAc,CAAC,GAAI,GAAG,GAAM,EAKvErkC,EAAE,CAAEpD,OAAQ,QAASkD,OAAO,EAAM7B,OAJrBqmC,IAAkBrmB,EAAoB,YAIC,CAClDpoB,QAAS,SAAiB0uC,GACxB,IAAI7uC,EAAYjK,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EACtD,OAAOo1C,EAEHD,EAAch3C,KAAMk3C,EAAe7uC,IAAc,EACjD0uC,EAAS/2C,KAAMk3C,EAAe7uC,EACtC,mECpBA,IAAIjJ,EAAaC,iBAGjB83C,GAAiB,SAAUz4C,GACzB,GAAIA,EAHiB,iBAGM,MAAMU,EAAW,kCAC5C,OAAOV,CACT,qCCNA,IAAIwG,EAAc5H,KAEd8B,EAAaC,iBAEjB+3C,GAAiB,SAAUxwC,EAAGtB,GAC5B,WAAYsB,EAAEtB,GAAI,MAAM,IAAIlG,EAAW,0BAA4B8F,EAAYI,GAAK,OAASJ,EAAY0B,GAC3G,ECJA,SAASywC,GAA2BtmB,EAAGC,GAAK,IAAIjT,EAAI,oBAAsBnb,QAAUmuB,EAAEnuB,OAAOI,WAAa+tB,EAAE,cAAe,IAAKhT,EAAG,CAAE,GAAItS,MAAMwP,QAAQ8V,KAAOhT,EAC9J,SAAqCgT,EAAGvsB,GAAK,GAAIusB,EAAG,CAAE,GAAI,iBAAmBA,EAAG,OAAO8R,GAAkB9R,EAAGvsB,GAAI,IAAIuZ,EAAI,CAAA,EAAGzf,SAASP,KAAKgzB,GAAGvyB,MAAM,GAAG,GAAK,MAAO,WAAauf,GAAKgT,EAAEviB,cAAgBuP,EAAIgT,EAAEviB,YAAY/K,MAAO,QAAUsa,GAAK,QAAUA,EAAItS,MAAM03B,KAAKpS,GAAK,cAAgBhT,GAAK,2CAA2CvgB,KAAKugB,GAAK8kB,GAAkB9R,EAAGvsB,QAAK,CAAQ,CAAE,CADvN8yC,CAA4BvmB,KAAOC,EAAuC,CAAEjT,IAAMgT,EAAIhT,GAAI,IAAIw5B,EAAK,EAAGnsC,EAAI,WAAc,EAAG,MAAO,CAAEosC,EAAGpsC,EAAG/D,EAAG,WAAe,OAAOkwC,GAAMxmB,EAAElsB,OAAS,CAAE8P,MAAM,GAAO,CAAEA,MAAM,EAAItU,MAAO0wB,EAAEwmB,KAAS,EAAGvmB,EAAG,SAAWD,GAAK,MAAMA,CAAG,EAAGpqB,EAAGyE,EAAK,CAAE,MAAM,IAAI/L,UAAU,wIAA0I,CAAE,IAAIyxB,EAAGtsB,GAAI,EAAI89B,GAAI,EAAI,MAAO,CAAEkV,EAAG,WAAez5B,EAAIA,EAAEhgB,KAAKgzB,EAAI,EAAG1pB,EAAG,WAAe,IAAI0pB,EAAIhT,EAAE/L,OAAQ,OAAOxN,EAAIusB,EAAEpc,KAAMoc,CAAG,EAAGC,EAAG,SAAWD,GAAKuR,GAAI,EAAIxR,EAAIC,CAAG,EAAGpqB,EAAG,WAAe,IAAMnC,GAAK,MAAQuZ,EAAEynB,QAAUznB,EAAEynB,QAAU,CAAC,QAAW,GAAIlD,EAAG,MAAMxR,CAAG,CAAE,EAAK,CAEr1B,SAAS+R,GAAkB9R,EAAGvsB,IAAM,MAAQA,GAAKA,EAAIusB,EAAElsB,UAAYL,EAAIusB,EAAElsB,QAAS,IAAK,IAAImsB,EAAI,EAAG3pB,EAAIoE,MAAMjH,GAAIwsB,EAAIxsB,EAAGwsB,IAAK3pB,EAAE2pB,GAAKD,EAAEC,GAAI,OAAO3pB,CAAG,kCCJnJ,IAAIsL,EAAIrV,KACJ+D,EAAW1C,KACX+I,EAAkB7I,KAClByI,EAAsBrE,KACtB8E,EAAoB7E,KACpBsY,EAAiBpY,KACjB+zC,EAA2BxtC,KAC3B2lB,EAAqBljB,KACrB4O,EAAiBlI,KACjBskC,EAAwBrkC,KAGxB40B,EAF+B30B,IAETud,CAA6B,UAEnD/oB,EAAM9H,KAAK8H,IACXC,EAAM/H,KAAK+H,IAKfkL,EAAE,CAAEpD,OAAQ,QAASkD,OAAO,EAAM7B,QAAS+2B,GAAuB,CAChE/lB,OAAQ,SAAgBI,EAAOy1B,GAC7B,IAIIC,EAAaC,EAAmBhyB,EAAG5I,EAAGomB,EAAMyU,EAJ5ChxC,EAAIvF,EAASrB,MACb8H,EAAMC,EAAkBnB,GACxBixC,EAAcnwC,EAAgBsa,EAAOla,GACrC+T,EAAkBzd,UAAUyG,OAahC,IAXwB,IAApBgX,EACF67B,EAAcC,EAAoB,EACL,IAApB97B,GACT67B,EAAc,EACdC,EAAoB7vC,EAAM+vC,IAE1BH,EAAc77B,EAAkB,EAChC87B,EAAoBlwC,EAAID,EAAIF,EAAoBmwC,GAAc,GAAI3vC,EAAM+vC,IAE1EV,EAAyBrvC,EAAM4vC,EAAcC,GAC7ChyB,EAAI2J,EAAmB1oB,EAAG+wC,GACrB56B,EAAI,EAAGA,EAAI46B,EAAmB56B,KACjComB,EAAO0U,EAAc96B,KACTnW,GAAGoU,EAAe2K,EAAG5I,EAAGnW,EAAEu8B,IAGxC,GADA3nB,EAAemK,EAAGgyB,GACdD,EAAcC,EAAmB,CACnC,IAAK56B,EAAI86B,EAAa96B,EAAIjV,EAAM6vC,EAAmB56B,IAEjD66B,EAAK76B,EAAI26B,GADTvU,EAAOpmB,EAAI46B,KAEC/wC,EAAGA,EAAEgxC,GAAMhxC,EAAEu8B,GACpBiU,EAAsBxwC,EAAGgxC,GAEhC,IAAK76B,EAAIjV,EAAKiV,EAAIjV,EAAM6vC,EAAoBD,EAAa36B,IAAKq6B,EAAsBxwC,EAAGmW,EAAI,EACjG,MAAW,GAAI26B,EAAcC,EACvB,IAAK56B,EAAIjV,EAAM6vC,EAAmB56B,EAAI86B,EAAa96B,IAEjD66B,EAAK76B,EAAI26B,EAAc,GADvBvU,EAAOpmB,EAAI46B,EAAoB,KAEnB/wC,EAAGA,EAAEgxC,GAAMhxC,EAAEu8B,GACpBiU,EAAsBxwC,EAAGgxC,GAGlC,IAAK76B,EAAI,EAAGA,EAAI26B,EAAa36B,IAC3BnW,EAAEmW,EAAI86B,GAAez5C,UAAU2e,EAAI,GAGrC,OADAvB,EAAe5U,EAAGkB,EAAM6vC,EAAoBD,GACrC/xB,CACX,ODtCO,MAAMmyB,GACX,WAAAtpC,GACE0iB,GAAgBlxB,KAAM,OAAQ,GAChC,CACA,GAAA+3C,CAAIt0C,EAAMvF,GACR,IAAI65C,EAAM,CACRt0C,OACAvF,MAGF,OADA8B,KAAKg4C,KAAKl3C,KAAKi3C,GACR,KACL,IAAIE,EAAMj4C,KAAKg4C,KAAKxvC,QAAQuvC,GACxBE,GAAO,GAAGj4C,KAAKg4C,KAAKp2B,OAAOq2B,EAAK,GAExC,CACA,IAAAl6C,IAAQk+B,GACN,IACEic,EADEC,EAAYd,GAA2Br3C,KAAKg4C,MAEhD,IACE,IAAKG,EAAUX,MAAOU,EAAQC,EAAU9wC,KAAKsN,MAAO,CAC1CujC,EAAM73C,MACZnC,MAAM+9B,EACV,CACF,CAAE,MAAOmc,GACPD,EAAUnnB,EAAEonB,EACd,CAAC,QACCD,EAAUxxC,GACZ,CACF,EEtDF,SAASyI,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CAgB/a,IAAIqnB,GAEA,UAFAA,GAIC,WAJDA,GAMC,WANDA,GAQH,OAUGC,GAAc,CAEvBC,aAAc,eAoBT,MAAM/O,GACX,WAAAh7B,CAAYgqC,EAAW1rC,EAAOwrC,GAAYC,cAIxCrnB,GAAgBlxB,KAAM,YAAa,IAAIy4C,KAEvCvnB,GAAgBlxB,KAAM,WAAY,GAClCA,KAAK8M,KAAOA,EACZ9M,KAAKw4C,UAAYA,EACjBx4C,KAAK04C,eAAiB14C,KAAK24C,UAAUl7C,KAAKuC,MAC1CH,OAAO0qC,iBAAiB,UAAWvqC,KAAK04C,eAC1C,CAMA,WAAAE,CAAYC,GACV74C,KAAK84C,UAAU/N,IAAI8N,EACrB,CAKA,cAAAE,CAAeF,GACb74C,KAAK84C,UAAU10B,OAAOy0B,EACxB,CAKA,MAAAG,GACEh5C,KAAKi5C,UACP,CAMA,OAAAC,GACE,QAASl5C,KAAKi5C,QAChB,CAKA,WAAAE,GACE,OAAOn5C,KAAKi5C,QACd,CAMA,cAAAG,CAAerP,GACb,IAAIsP,EAKAC,EAJAC,EAAU,CACZp4C,OAAkC,QAAzBk4C,EAAOtP,EAAM5oC,kBAAoBk4C,EAAkBA,OAAOx3C,EACnEwrB,OAAQ0c,EAAM1c,QASZmsB,EAAkB,CAACtT,EAAMl0B,KACtBsnC,GACLA,EAAgBv7C,KAAKmoC,EAAMl0B,EAAMunC,IAQ/BE,EAAgBC,IAClB,IAAIxT,EAAOyT,IACNJ,EAAQG,YACXH,EAAQG,UAAYA,GAEtB,IAAI1nC,EAAO2nC,IACPzT,IAASl0B,GAAMwnC,EAAgBtT,EAAMl0B,IAmBvC2nC,EAAW,IACTJ,EAAQK,OAAevB,GACvBkB,EAAQM,WAAmBxB,GAC3BkB,EAAQG,UAAkBrB,GACvBA,GAyBT,OApBAt5C,OAAOmB,eAAeq5C,EAAS,gBAAiB,CAC9Cl5C,MAAOo5C,EACP1yC,YAAY,IAEdhI,OAAOmB,eAAeq5C,EAAS,iBAAkB,CAC/Cl5C,MA/BmBq5C,IACnB,IAAIxT,EAAOyT,IACNJ,EAAQM,aACXN,EAAQM,WAAaH,GAEvBD,EAAcC,GACd,IAAI1nC,EAAO2nC,IACPzT,IAASl0B,GAAMwnC,EAAgBtT,EAAMl0B,IAyBzCjL,YAAY,IAEdhI,OAAOmB,eAAeq5C,EAAS,aAAc,CAC3Cl5C,MA1Beu5C,IACf,IAAI1T,EAAOyT,IACNJ,EAAQK,SACXL,EAAQK,OAASA,GAEnB,IAAI5nC,EAAO2nC,IACPzT,IAASl0B,GAAMwnC,EAAgBtT,EAAMl0B,IAqBzCjL,YAAY,IAEdhI,OAAOmB,eAAeq5C,EAAS,WAAY,CACzCl5C,MAAOs5C,EACP5yC,YAAY,IAEdhI,OAAOmB,eAAeq5C,EAAS,gBAAiB,CAC9Cl5C,MApBkB,CAACoD,EAAMvF,KA9CpBo7C,IACHA,EAAkB,IAAIxB,IAEjBwB,GA4CwBvB,IAAIt0C,EAAMvF,GAoBzC6I,YAAY,IAEPwyC,CACT,CAKA,SAAAZ,CAAU5O,GACR,IAAIl6B,EAAOk6B,EAAMl6B,KAGjB,GVvEG,SAA4BA,GACjC,SAAUA,GAAwB,iBAATA,GAAuD,iBAA3BA,EAAKgmC,mBAAuD,iBAAdhmC,EAAK/C,MAA+C,iBAAnB+C,EAAKmiC,UAC3I,CUqES8H,CAAmBjqC,GAAxB,CAKA,GAAI7P,KAAKw4C,WACP,GAAI3oC,EAAK2oC,YAAcx4C,KAAKw4C,UAAW,YAEvC,GAAI3oC,EAAK2oC,UAAW,OAItB,IAAIe,EAAUv5C,KAAKo5C,eAAerP,GAGlC/pC,KAAK84C,UAAUx/B,QAAQu/B,IACrB,IACEA,EAAShpC,EAAM0pC,EACjB,CAAE,MAAOvoB,GACPylB,GAAiB,QAAS,iBAAkBzlB,EAC9C,GAlBF,CAoBF,CAQA,IAAA+oB,CAAKxqC,EAAQsiC,EAASmI,EAAenc,GAAeC,KAClD,QAAKmY,GAAkB1mC,KAGvBA,EAAO06B,YAAY4H,EAASmI,IACrB,EACT,CAUA,WAAAC,CAAY1qC,EAAQyqC,EAAcltC,EAAMklC,EAAWniC,GACjD,IAAIgiC,EAAU+D,GAAkB9oC,EAAMklC,EAAW9b,GAAcA,GAAc,CAAA,EAAIrmB,GAAO,GAAI,CAC1F2oC,UAAWx4C,KAAKw4C,aAElB,OAAOx4C,KAAK+5C,KAAKxqC,EAAQsiC,EAASmI,EACpC,CAKA,UAAAE,CAAWxuB,GACT,OAAO1rB,KAAKw4C,UAAY,GAAGx4C,KAAKw4C,aAAa9sB,IAASA,CACxD,CAKA,OAAAyuB,GACEt6C,OAAOu6C,oBAAoB,UAAWp6C,KAAK04C,gBAC3C14C,KAAK84C,UAAUzP,OACjB,oECzQF,IAEIgR,EAFY/8C,KAEQ4E,MAAM,0BAE9Bo4C,KAAmBD,IAAYA,EAAQ,sCCJvC,IAAIE,EAAKj9C,YAETk9C,GAAiB,eAAeh9C,KAAK+8C,sCCFrC,IAEIE,EAFYn9C,KAEO4E,MAAM,+BAE7Bw4C,KAAmBD,IAAWA,EAAO,oCCJrC,IAAI9nC,EAAIrV,KACJe,EAAcM,IACdwG,EAAYtG,KACZwC,EAAW4B,KACX8E,EAAoB7E,KACpBk0C,EAAwBh0C,KACxB9E,EAAWqL,KACXxM,EAAQiP,IACRuuC,EAAe7nC,KACf8d,EAAsB7d,KACtB6nC,EAAK5nC,KACL6nC,EAAa5nC,KACb6nC,EAAK5nC,KACL6nC,EAAS3nC,KAET5V,EAAO,GACPw9C,EAAa38C,EAAYb,EAAKgc,MAC9B1Y,EAAOzC,EAAYb,EAAKsD,MAGxBm6C,EAAqB99C,EAAM,WAC7BK,EAAKgc,UAAK3X,EACZ,GAEIq5C,EAAgB/9C,EAAM,WACxBK,EAAKgc,KAAK,KACZ,GAEI4X,EAAgBR,EAAoB,QAEpCuqB,GAAeh+C,EAAM,WAEvB,GAAI29C,EAAI,OAAOA,EAAK,GACpB,KAAIF,GAAMA,EAAK,GAAf,CACA,GAAIC,EAAY,OAAO,EACvB,GAAIE,EAAQ,OAAOA,EAAS,IAE5B,IACIt7B,EAAMqG,EAAKzlB,EAAOsH,EADlB5B,EAAS,GAIb,IAAK0Z,EAAO,GAAIA,EAAO,GAAIA,IAAQ,CAGjC,OAFAqG,EAAM7jB,OAAOua,aAAaiD,GAElBA,GACN,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAIpf,EAAQ,EAAG,MAC/C,KAAK,GAAI,KAAK,GAAIA,EAAQ,EAAG,MAC7B,QAASA,EAAQ,EAGnB,IAAKsH,EAAQ,EAAGA,EAAQ,GAAIA,IAC1BnK,EAAKsD,KAAK,CAAEic,EAAG+I,EAAMne,EAAOi8B,EAAGvjC,GAErC,CAIE,IAFA7C,EAAKgc,KAAK,SAAUhV,EAAGggB,GAAK,OAAOA,EAAEof,EAAIp/B,EAAEo/B,IAEtCj8B,EAAQ,EAAGA,EAAQnK,EAAKqH,OAAQ8C,IACnCme,EAAMtoB,EAAKmK,GAAOoV,EAAE5E,OAAO,GACvBpS,EAAOoS,OAAOpS,EAAOlB,OAAS,KAAOihB,IAAK/f,GAAU+f,GAG1D,MAAkB,gBAAX/f,CA7BW,CA8BpB,GAeA4M,EAAE,CAAEpD,OAAQ,QAASkD,OAAO,EAAM7B,OAbrBqqC,IAAuBC,IAAkB9pB,IAAkB+pB,GAapB,CAClD3hC,KAAM,SAAcoF,QACA/c,IAAd+c,GAAyBzZ,EAAUyZ,GAEvC,IAAID,EAAQtd,EAASrB,MAErB,GAAIm7C,EAAa,YAAqBt5C,IAAd+c,EAA0Bo8B,EAAWr8B,GAASq8B,EAAWr8B,EAAOC,GAExF,IAEIw8B,EAAazzC,EAFb0zC,EAAQ,GACRC,EAAcvzC,EAAkB4W,GAGpC,IAAKhX,EAAQ,EAAGA,EAAQ2zC,EAAa3zC,IAC/BA,KAASgX,GAAO7d,EAAKu6C,EAAO18B,EAAMhX,IAQxC,IALAgzC,EAAaU,EA3BI,SAAUz8B,GAC7B,OAAO,SAAUxX,EAAGi9B,GAClB,YAAUxiC,IAANwiC,GAAwB,OAClBxiC,IAANuF,EAAwB,OACVvF,IAAd+c,GAAiCA,EAAUxX,EAAGi9B,IAAM,EACjD/lC,EAAS8I,GAAK9I,EAAS+lC,GAAK,GAAI,CAC3C,CACA,CAoBwBkX,CAAe38B,IAEnCw8B,EAAcrzC,EAAkBszC,GAChC1zC,EAAQ,EAEDA,EAAQyzC,GAAaz8B,EAAMhX,GAAS0zC,EAAM1zC,KACjD,KAAOA,EAAQ2zC,GAAalE,EAAsBz4B,EAAOhX,KAEzD,OAAOgX,CACX,mECvGA,IAAI7a,EAAWxG,KACXsB,EAAUD,IAGV68C,EAFkB38C,IAEV2E,CAAgB,gBAI5Bi4C,GAAiB,SAAU/8C,GACzB,IAAIg9C,EACJ,OAAO53C,EAASpF,UAAmCmD,KAA1B65C,EAAWh9C,EAAG88C,MAA0BE,EAA2B,WAAhB98C,EAAQF,GACtF,qCCXA,IAAIwB,EAAiB5C,KAA+CqJ,SAEpEg1C,GAAiB,SAAUC,EAAQC,EAAQz7C,GACzCA,KAAOw7C,GAAU17C,EAAe07C,EAAQx7C,EAAK,CAC3CE,cAAc,EACd2D,IAAK,WAAc,OAAO43C,EAAOz7C,EAAK,EACtC2L,IAAK,SAAUrN,GAAMm9C,EAAOz7C,GAAO1B,CAAG,GAE1C,ECCO,SAASo9C,GAASC,GACvB,GAAKA,GAAsB,iBAARA,EAAnB,CACA,IAAIt6C,EAAKs6C,EAAIt6C,GACb,MAAqB,iBAAPA,GAAiC,iBAAPA,EAAkBA,OAAKI,CAFV,CAGvD,CCbA,SAASuN,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CACtb,SAASqmB,GAA2BtmB,EAAGC,GAAK,IAAIjT,EAAI,oBAAsBnb,QAAUmuB,EAAEnuB,OAAOI,WAAa+tB,EAAE,cAAe,IAAKhT,EAAG,CAAE,GAAItS,MAAMwP,QAAQ8V,KAAOhT,EAC9J,SAAqCgT,EAAGvsB,GAAK,GAAIusB,EAAG,CAAE,GAAI,iBAAmBA,EAAG,OAAO8R,GAAkB9R,EAAGvsB,GAAI,IAAIuZ,EAAI,CAAA,EAAGzf,SAASP,KAAKgzB,GAAGvyB,MAAM,GAAG,GAAK,MAAO,WAAauf,GAAKgT,EAAEviB,cAAgBuP,EAAIgT,EAAEviB,YAAY/K,MAAO,QAAUsa,GAAK,QAAUA,EAAItS,MAAM03B,KAAKpS,GAAK,cAAgBhT,GAAK,2CAA2CvgB,KAAKugB,GAAK8kB,GAAkB9R,EAAGvsB,QAAK,CAAQ,CAAE,CADvN8yC,CAA4BvmB,KAAOC,EAAuC,CAAEjT,IAAMgT,EAAIhT,GAAI,IAAIw5B,EAAK,EAAGnsC,EAAI,WAAc,EAAG,MAAO,CAAEosC,EAAGpsC,EAAG/D,EAAG,WAAe,OAAOkwC,GAAMxmB,EAAElsB,OAAS,CAAE8P,MAAM,GAAO,CAAEA,MAAM,EAAItU,MAAO0wB,EAAEwmB,KAAS,EAAGvmB,EAAG,SAAWD,GAAK,MAAMA,CAAG,EAAGpqB,EAAGyE,EAAK,CAAE,MAAM,IAAI/L,UAAU,wIAA0I,CAAE,IAAIyxB,EAAGtsB,GAAI,EAAI89B,GAAI,EAAI,MAAO,CAAEkV,EAAG,WAAez5B,EAAIA,EAAEhgB,KAAKgzB,EAAI,EAAG1pB,EAAG,WAAe,IAAI0pB,EAAIhT,EAAE/L,OAAQ,OAAOxN,EAAIusB,EAAEpc,KAAMoc,CAAG,EAAGC,EAAG,SAAWD,GAAKuR,GAAI,EAAIxR,EAAIC,CAAG,EAAGpqB,EAAG,WAAe,IAAMnC,GAAK,MAAQuZ,EAAEynB,QAAUznB,EAAEynB,QAAU,CAAC,QAAW,GAAIlD,EAAG,MAAMxR,CAAG,CAAE,EAAK,CAEr1B,SAAS+R,GAAkB9R,EAAGvsB,IAAM,MAAQA,GAAKA,EAAIusB,EAAElsB,UAAYL,EAAIusB,EAAElsB,QAAS,IAAK,IAAImsB,EAAI,EAAG3pB,EAAIoE,MAAMjH,GAAIwsB,EAAIxsB,EAAGwsB,IAAK3pB,EAAE2pB,GAAKD,EAAEC,GAAI,OAAO3pB,CAAG,kCCJnJ,IAAInD,EAAc5G,KACdsC,EAAajB,IACbN,EAAcQ,IACd6Q,EAAWzM,KACX2wC,EAAoB1wC,KACpB4I,EAA8B1I,KAC9BkI,EAAS3B,KACTqF,EAAsB5C,KAAsDzF,EAC5E5B,EAAgB+N,KAChB4oC,EAAW3oC,KACXzU,EAAW0U,KACXojB,EAAiBnjB,KACjB2f,EAAgB1f,KAChByoC,EAAgBvoC,KAChB3E,EAAgBmR,KAChBziB,EAAQ0iB,IACRre,EAASse,KACTlS,EAAuBmS,KAAuCpT,QAC9D87B,EAAazoB,KACbxc,EAAkByc,KAClB4S,EAAsB3S,KACtB4S,EAAkB3S,KAElBq7B,EAAQh4C,EAAgB,SACxBw4C,EAAep8C,EAAWmyB,OAC1B8B,EAAkBmoB,EAAal+C,UAC/Bm+C,EAAcr8C,EAAWq8C,YACzB7+C,EAAOiB,EAAYw1B,EAAgBz2B,MACnC+a,EAAS9Z,EAAY,GAAG8Z,QACxBrK,EAAUzP,EAAY,GAAGyP,SACzByoB,EAAgBl4B,EAAY,GAAGmK,SAC/BjK,EAAcF,EAAY,GAAGG,OAE7B09C,EAAS,2CACTxpB,EAAM,KACNC,EAAM,KAGNwpB,EAAc,IAAIH,EAAatpB,KAASA,EAExCP,EAAgBS,EAAcT,cAC9BH,EAAgBY,EAAcZ,cAE9BoqB,EAAcl4C,KACdi4C,GAAehqB,GAAiBU,GAAuBC,GAAmB31B,EAAM,WAIhF,OAHAw1B,EAAI6oB,IAAS,EAGNQ,EAAatpB,KAASA,GAAOspB,EAAarpB,KAASA,GAA0C,SAAnC1wB,OAAO+5C,EAAatpB,EAAK,KAC9F,IA4EA,GAAIhjB,EAAS,SAAU0sC,GAAc,CA4DnC,IA3DA,IAAIC,EAAgB,SAAgBC,EAAS/pB,GAC3C,IAKIgqB,EAAU7qB,EAAQG,EAAQ2qB,EAASz2C,EAAQuG,EAL3CmwC,EAAe13C,EAAc8uB,EAAiB7zB,MAC9C08C,EAAkBhB,EAASY,GAC3BK,OAA8B96C,IAAV0wB,EACpBE,EAAS,GACTmqB,EAAaN,EAGjB,IAAKG,GAAgBC,GAAmBC,GAAqBL,EAAQ9tC,cAAgB6tC,EACnF,OAAOC,EA0CT,IAvCII,GAAmB33C,EAAc8uB,EAAiByoB,MACpDA,EAAUA,EAAQn7C,OACdw7C,IAAmBpqB,EAAQ6D,EAAewmB,KAGhDN,OAAsBz6C,IAAZy6C,EAAwB,GAAKh+C,EAASg+C,GAChD/pB,OAAkB1wB,IAAV0wB,EAAsB,GAAKj0B,EAASi0B,GAC5CqqB,EAAaN,EAETzpB,GAAuB,WAAYH,IACrChB,IAAWa,GAASgE,EAAchE,EAAO,MAAO,KACpCA,EAAQzkB,EAAQykB,EAAO,KAAM,KAG3CgqB,EAAWhqB,EAEPJ,GAAiB,WAAYO,IAC/Bb,IAAWU,GAASgE,EAAchE,EAAO,MAAO,IAClCP,IAAeO,EAAQzkB,EAAQykB,EAAO,KAAM,KAGxDO,IACF0pB,EArFU,SAAUvsC,GAWxB,IAVA,IASI6V,EATAjhB,EAASoL,EAAOpL,OAChB8C,EAAQ,EACR5B,EAAS,GACT82C,EAAQ,GACRj0C,EAAQ0C,EAAO,MACfwxC,GAAW,EACXC,GAAM,EACNC,EAAU,EACVC,EAAY,GAETt1C,EAAQ9C,EAAQ8C,IAAS,CAE9B,GAAY,QADZme,EAAM3N,EAAOlI,EAAQtI,IAEnBme,GAAO3N,EAAOlI,IAAUtI,QACnB,GAAY,MAARme,EACTg3B,GAAW,OACN,IAAKA,EAAU,QAAQ,GAC5B,IAAa,MAARh3B,EACHg3B,GAAW,EACX,MACF,IAAa,MAARh3B,EAGH,GAFA/f,GAAU+f,EAEwC,OAA9CvnB,EAAY0R,EAAQtI,EAAQ,EAAGA,EAAQ,GACzC,SAEEvK,EAAK8+C,EAAQ39C,EAAY0R,EAAQtI,EAAQ,MAC3CA,GAAS,EACTo1C,GAAM,GAERC,IACA,SACF,IAAa,MAARl3B,GAAei3B,EAClB,GAAkB,KAAdE,GAAoBz7C,EAAOoH,EAAOq0C,GACpC,MAAM,IAAIhB,EAAY,8BAExBrzC,EAAMq0C,IAAa,EACnBJ,EAAMA,EAAMh4C,QAAU,CAACo4C,EAAWD,GAClCD,GAAM,EACNE,EAAY,GACZ,SAEAF,EAAKE,GAAan3B,EACjB/f,GAAU+f,CACnB,CAAI,MAAO,CAAC/f,EAAQ82C,EACpB,CAuCgBK,CAAUZ,GACpBA,EAAUE,EAAQ,GAClB/pB,EAAS+pB,EAAQ,IAGnBz2C,EAAS6tC,EAAkBoI,EAAaM,EAAS/pB,GAAQkqB,EAAez8C,KAAO6zB,EAAiBwoB,IAE5F3qB,GAAUG,GAAUY,EAAO5tB,UAC7ByH,EAAQsB,EAAqB7H,GACzB2rB,IACFplB,EAAMolB,QAAS,EACfplB,EAAMinB,IAAM8oB,EAxHD,SAAUpsC,GAM3B,IALA,IAII6V,EAJAjhB,EAASoL,EAAOpL,OAChB8C,EAAQ,EACR5B,EAAS,GACT+2C,GAAW,EAERn1C,EAAQ9C,EAAQ8C,IAET,QADZme,EAAM3N,EAAOlI,EAAQtI,IAKhBm1C,GAAoB,MAARh3B,GAGH,MAARA,EACFg3B,GAAW,EACM,MAARh3B,IACTg3B,GAAW,GACX/2C,GAAU+f,GANZ/f,GAAU,WAJVA,GAAU+f,EAAM3N,EAAOlI,IAAUtI,GAYnC,OAAO5B,CACX,CAkGkCo3C,CAAab,GAAUC,IAE/C1qB,IAAQvlB,EAAMulB,QAAS,GACvBY,EAAO5tB,SAAQyH,EAAMmmB,OAASA,IAGhC6pB,IAAYM,EAAY,IAE1B9wC,EAA4B/F,EAAQ,SAAyB,KAAf62C,EAAoB,OAASA,EACjF,CAAM,MAAOv/C,GAAO,CAEhB,OAAO0I,CACX,EAEWkD,EAAO+F,EAAoBgtC,GAAer0C,EAAQ,EAAGsB,EAAKpE,OAAS8C,GAC1Eg0C,EAAcU,EAAeL,EAAc/yC,EAAKtB,MAGlDksB,EAAgBrlB,YAAc6tC,EAC9BA,EAAcv+C,UAAY+1B,EAC1BplB,EAAc7O,EAAY,SAAUy8C,EAAe,CAAE7tC,aAAa,GACpE,CAGAi6B,EAAW,aDpIJ,MAAM2U,GACX,WAAA5uC,CAAYy6B,EAASoU,EAAMC,GACzBpsB,GAAgBlxB,KAAM,QAAS,CAC7Bu9C,QAAS,IAAIzF,GACb0F,WAAY,IAAI1F,GAChB2F,UAAW,IAAI3F,GACf4F,UAAW,IAAI5F,KAEjB5mB,GAAgBlxB,KAAM,uBAAwB+9B,GAAgBE,iBAC9D/M,GAAgBlxB,KAAM,qBAAsB+9B,GAAgBC,eAC5D9M,GAAgBlxB,KAAM,uBAAwB69B,GAAeC,KAE7D5M,GAAgBlxB,KAAM,WAAY,IAElCkxB,GAAgBlxB,KAAM,WAAY,GAClCA,KAAKipC,QAAUA,EACfjpC,KAAKw4C,UAAYvP,EAAQuP,UACzBx4C,KAAK8M,KAAOm8B,EAAQn8B,KACpB9M,KAAKq9C,KAAOA,EACZr9C,KAAKs9C,WAAaA,EAGlBt9C,KAAK29C,cAAgB,CAAC9tC,EAAM0pC,KAC1Bv5C,KAAK49C,gBAAgB/tC,EAAM0pC,IAI7Bv5C,KAAKipC,QAAQ2P,YAAY54C,KAAK29C,cAChC,CAKA,iBAAAE,CAAkB3H,EAAc8D,EAAenc,GAAeC,KAC5D99B,KAAK89C,qBAAuB5H,EAC5Bl2C,KAAK+9C,qBAAuB/D,CAC9B,CAOA,gBAAAgE,CAAiBC,GACVA,GAA4B,iBAAXA,IACc,iBAAzBA,EAAOC,eAA8BjtB,OAAOktB,SAASF,EAAOC,gBAAkBD,EAAOC,eAAiB,IAC/Gl+C,KAAKo+C,qBAAuBH,EAAOC,eAEH,iBAAvBD,EAAOI,aAA4BptB,OAAOktB,SAASF,EAAOI,cAAgBJ,EAAOI,aAAe,IACzGr+C,KAAKs+C,mBAAqBL,EAAOI,aAErC,CAOA,MAAArF,GACEh5C,KAAKi5C,UACP,CAMA,OAAAC,GACE,QAASl5C,KAAKi5C,QAChB,CAKA,WAAAE,GACE,OAAOn5C,KAAKi5C,QACd,CAWA,eAAAsF,CAAgBC,EAAStU,EAAS97B,GAChC,IAAIqwC,EACAC,EAA0B,iBAAZtwC,EAAuB,CACvCuwC,SAAUvwC,GACRA,GAAW,CAAA,EACXgV,EAAQ,CACVo7B,UACAtU,UACAyU,SAA+C,QAApCF,EAAiBC,EAAKC,oBAAsBF,EAA4BA,EAAiB,EACpGG,iBAAkBF,EAAKE,iBACvBC,eAAgBH,EAAKG,gBAKvB,OAHA7+C,KAAK8+C,SAASh+C,KAAKsiB,GAEnBpjB,KAAK8+C,SAAStlC,KAAK,CAAChV,EAAGggB,IAAMA,EAAEm6B,SAAWn6C,EAAEm6C,UACrC,KACL,IAAIh3C,EAAQ3H,KAAK8+C,SAASt2C,QAAQ4a,GAC9Bzb,GAAS,GACX3H,KAAK8+C,SAASl9B,OAAOja,EAAO,GAGlC,CAKA,iBAAAo3C,CAAkB7U,GAChB,IAAIviC,EAAQ3H,KAAK8+C,SAASzuB,UAAUjN,GAASA,EAAM8mB,UAAYA,GAC3DviC,GAAS,GACX3H,KAAK8+C,SAASl9B,OAAOja,EAAO,EAEhC,CAKA,eAAAi2C,CAAgB/tC,EAAM0pC,GAEpB,IAAIA,EAAQG,UAAZ,CAOA,QAAkB73C,IAAdgO,EAAKwtC,KAAoB,CAC3B,IAAI2B,EAAeh/C,KAAKq9C,OAASpd,GAAYE,OAASF,GAAYC,OAASD,GAAYE,OACvF,GAAItwB,EAAKwtC,OAAS2B,EAEhB,MAEJ,CACA,IACEh/C,KAAKi/C,MAAM1B,QAAQx/C,KAAK8R,EAAM0pC,GAC9B,IAsBErB,EAtBEgH,EAAQrvC,EAAK/C,KACbqyC,ElBnEH,SAA4BtvC,GACjC,GAAIA,GAAwB,iBAATA,GAAuD,iBAA3BA,EAAKgmC,kBAClD,OAAOhmC,EAAKgmC,iBAGhB,CkB8DqBuJ,CAAmBvvC,GAU9BwvC,EAAe,CACjBlZ,MAAM,GAEJmZ,EAAe,KACbD,EAAalZ,MACZoT,EAAQG,WACRH,EAAQM,aACbwF,EAAalZ,MAAO,EACpBnmC,KAAKu/C,WAAW1vC,EAAM0pC,KAEpBpB,EAAYd,GAA2Br3C,KAAK8+C,UAEhD,IACE,IAAK3G,EAAUX,MAAOU,EAAQC,EAAU9wC,KAAKsN,MAAO,CAClD,IAAIyO,EAAQ80B,EAAM73C,MAClB,GAAIL,KAAKw/C,UAAUN,EAAO97B,EAAMo7B,SAAU,CAExC,GAAIjF,EAAQG,UACV,MAIF,GAAIt2B,EAAMw7B,uBAAiC/8C,IAAbs9C,IACvB/7B,EAAMw7B,iBAAiBO,GAAW,CACrC,IAAIM,EAE+C,QAAlDA,EAAwBr8B,EAAMy7B,sBAA2D,IAA/BY,GAAoCA,EAAsB1hD,KAAKqlB,EAAOvT,EAAM0pC,EAAS4F,GAChJ,QACF,CAEF,IACE/7B,EAAM8mB,QAAQr6B,EAAM0pC,EAGtB,CAAE,MAAOvoB,GAEPylB,GAAiB,QAAS,gBAAiBzlB,EAC7C,CAAC,QAECsuB,GACF,CACF,CACF,CAIF,CAAE,MAAOlH,GACPD,EAAUnnB,EAAEonB,EACd,CAAC,QACCD,EAAUxxC,GACZ,CACA24C,GACF,CAAC,QAMK/F,EAAQG,WACVH,EAAQmG,WAAWnG,EAAQG,UAE/B,CAtFA,CAuFF,CAYA,UAAA6F,CAAW1vC,EAAM0pC,GACf,IAAIoG,EACAzJ,EAAsD,QAAtCyJ,EAAkBpG,EAAQp4C,cAAwC,IAApBw+C,EAA6BA,EAAkB3/C,KAAK89C,qBACtH,GAAK5H,EAAL,CACA,IAAI8D,EAAeT,EAAQp4C,OAASo4C,EAAQlsB,OAASrtB,KAAK+9C,sBAAwBxE,EAAQlsB,OAI1F,GAHWxd,EAAK/C,OAGHuyB,GAAYE,MAaD,IAApB1vB,EAAK+vC,YAAyBrG,EAAQM,WAAY,CACpD,IAAIkC,EAAM/7C,KAAK6/C,sBAAsBhwC,EAAKksC,KAC1C/7C,KAAKi6C,YAAY/D,EAAc8D,EAAc3a,GAAYE,IAAK1vB,EAAKmiC,UAAW,CAC5EtmB,KAAM7b,EAAK6b,KACXo0B,SAAUjwC,EAAKkwC,UACfhE,OAEJ,CAzBmB,CA0BrB,CASA,qBAAA8D,CAAsBG,GACpB,QAAen+C,IAAXm+C,EAAJ,CACA,IAAIv+C,EAAKq6C,GAASkE,GAClB,QAAWn+C,IAAPJ,KACc,iBAAPA,GAAmBA,EAAGoD,OAAS7E,KAAKs+C,oBAA/C,CACA,IAAIhL,EDzTD,SAAoByI,GACzB,GAAKA,GAAsB,iBAARA,EAAnB,CACA,IAAIzI,EAAOyI,EAAIzI,KACf,MAAuB,iBAATA,EAAoBA,OAAOzxC,CAFY,CAGvD,CCqTeo+C,CAAWD,GACtB,YAAan+C,IAATyxC,GAGAA,EAAKzuC,OAAS7E,KAAKo+C,qBAHQ,CAC7B38C,MAKK,CACLA,KACA6xC,OAViF,CAHzC,CAe5C,CAKA,SAAAkM,CAAU1yC,EAAM0xC,GACd,MAAuB,iBAAZA,EACF1xC,IAAS0xC,EAEdA,aAAmBzsB,OACdysB,EAAQhhD,KAAKsP,KAElBkpC,GAAWwI,IACNA,EAAQ1xC,EAGnB,CAUA,IAAAitC,CAAKxqC,EAAQsiC,EAASmI,EAAenc,GAAeC,UAE7Bj8B,IAAjBgwC,EAAQwL,OACVxL,EAAQwL,KAAOr9C,KAAKq9C,WAEIx7C,IAAtBgwC,EAAQkO,WAA2B//C,KAAKs9C,aAC1CzL,EAAQkO,UAAY//C,KAAKs9C,YAE3Bt9C,KAAKi/C,MAAMzB,WAAWz/C,KAAKwR,EAAQyqC,EAAcnI,GACjD,IACE,IAAIqO,EAAMlgD,KAAKipC,QAAQ8Q,KAAKxqC,EAAQsiC,EAASmI,GAE7C,OADAh6C,KAAKi/C,MAAMxB,UAAU1/C,KAAKwR,EAAQyqC,EAAcnI,EAASqO,GAClDA,CACT,CAAE,MAAOlvB,GAEP,MADAhxB,KAAKi/C,MAAMvB,UAAU3/C,KAAKwR,EAAQyqC,EAAcnI,EAAS7gB,GACnDA,CACR,CACF,CAUA,WAAAipB,CAAY1qC,EAAQyqC,EAAcltC,EAAMklC,EAAWniC,GAGjD,IAAIgiC,EAAU+D,GAAkB9oC,EAAMklC,EAAW9b,GAAcA,GAAc,CAAA,EAAIrmB,GAAO,GAAI,CAC1FwtC,KAAMr9C,KAAKq9C,KACX0C,UAAW//C,KAAKs9C,WAChB9E,UAAWx4C,KAAKw4C,aAElB,OAAOx4C,KAAK+5C,KAAKxqC,EAAQsiC,EAASmI,EACpC,CAOA,UAAAE,CAAWxuB,GACT,OAAO1rB,KAAKipC,QAAQiR,WAAWxuB,EACjC,CAKA,UAAAy0B,GACE,OAAOngD,KAAKipC,OACd,CAKA,OAAAkR,GACEn6C,KAAK8+C,SAASj6C,OAAS,EACvB7E,KAAKipC,QAAQ8P,eAAe/4C,KAAK29C,cACnC,4DE5aF,IAAIhrC,EAAIrV,KACJsC,EAAajB,IAIjBgU,EAAE,CAAE5S,QAAQ,EAAM6Q,OAAQhR,EAAWA,aAAeA,GAAc,CAChEA,WAAYA,ICLdtC,ICaA,IAAI8iD,GAA+Bx9C,OAAOy9C,IAAI,wCAiB9C,SAASC,KACP,IAAI3mC,EATkB,oBAAX9Z,OAA+BA,OAEnCD,WAWP,OAHMwgD,MAAgCzmC,IACpCA,EAAKymC,IAAgC,IAAIG,KAEpC5mC,EAAKymC,GACd,CAMA,SAASI,GAAY1zC,EAAM0rC,GACzB,MAAO,GAAG1rC,KAAQ0rC,QAA6CA,EAAY,IAC7E,CAQO,SAASiI,GAA0BjI,EAAW1rC,EAAOwrC,GAAYC,cACtE,IAAImI,EAAQJ,KACRlgD,EAAMogD,GAAY1zC,EAAM0rC,GACxBvP,EAAUyX,EAAMz8C,IAAI7D,GAMxB,OALK6oC,IACHA,EAAU,IAAIO,GAAegP,EAAW1rC,GACxC4zC,EAAM30C,IAAI3L,EAAK6oC,IAEjBA,EAAQ+P,SACD/P,CACT,CAOO,SAAS0X,GAAsB1X,GAEpC,KADeA,EAAQiQ,UACR,GAAf,CACA,IAAIwH,EAAQJ,KACRlgD,EAAMogD,GAAYvX,EAAQn8B,KAAMm8B,EAAQuP,WACxCkI,EAAMz8C,IAAI7D,KAAS6oC,IACrByX,EAAMt8B,OAAOhkB,GACb6oC,EAAQkR,UALQ,CAOpB,CASO,SAASyG,GAAyBC,GACvC,IAAIH,EAAQJ,KACZ,IAAKO,EAKH,OAJAH,EAAMpnC,QAAQ2vB,IACZA,EAAQkR,iBAEVuG,EAAMrX,QAGR,IAAIpwB,EAAwB,iBAAR4nC,EAAmB,CACrCrI,UAAWqI,GACTA,EACJH,EAAMpnC,QAAQ,CAAC2vB,EAAS7oC,KAClB6Y,EAAOnM,MAAQm8B,EAAQn8B,OAASmM,EAAOnM,MACX,iBAArBmM,EAAOu/B,WAA0BvP,EAAQuP,YAAcv/B,EAAOu/B,YACzEkI,EAAMt8B,OAAOhkB,GACb6oC,EAAQkR,YAEZ,+CC1GA,IAAIxnC,EAAIrV,KACJkD,EAAU7B,KACV+tC,EAA2B7tC,KAC3B1B,EAAQ8F,IACRyB,EAAaxB,KACbW,EAAaT,KACbwlC,EAAqBj/B,KACrB6kC,EAAiBpiC,KACjBqC,EAAgBqE,KAEhB65B,EAAyBD,GAA4BA,EAAyB5uC,UA0BlF,GAhBA6U,EAAE,CAAEpD,OAAQ,UAAWkD,OAAO,EAAM4+B,MAAM,EAAMzgC,SAP5B87B,GAA4BvvC,EAAM,WAEpDwvC,EAAgC,QAAE5uC,KAAK,CAAE0kC,KAAM,WAAY,GAAmB,aAChF,IAIuE,CACrEqe,QAAW,SAAUC,GACnB,IAAI1xB,EAAIuZ,EAAmB5oC,KAAM0E,EAAW,YACxCsxC,EAAanyC,EAAWk9C,GAC5B,OAAO/gD,KAAKyiC,KACVuT,EAAa,SAAU5uC,GACrB,OAAOonC,EAAenf,EAAG0xB,KAAate,KAAK,WAAc,OAAOr7B,GACxE,EAAU25C,EACJ/K,EAAa,SAAUhlB,GACrB,OAAOwd,EAAenf,EAAG0xB,KAAate,KAAK,WAAc,MAAMzR,GACvE,EAAU+vB,EAEV,KAIKvgD,GAAWqD,EAAW6oC,GAA2B,CACpD,IAAI9nC,EAASF,EAAW,WAAW5G,UAAmB,QAClD6uC,EAAgC,UAAM/nC,GACxC6J,EAAck+B,EAAwB,UAAW/nC,EAAQ,CAAE+J,QAAQ,GAEvE,KCnCO,MAAMqyC,WAAiCrP,MAC5C,WAAAnjC,CAAYyK,GACV24B,MAAM34B,EAAO44B,SACb7xC,KAAKyD,KAAO,2BACZzD,KAAKyf,KAAOxG,EAAOwG,KACnBzf,KAAKihD,SAAWhoC,EAAOgoC,SACvBjhD,KAAKgyC,UAAY/4B,EAAO+4B,UACxBhyC,KAAKkhD,MAAQjoC,EAAOioC,MAGhBvP,MAAMM,mBACRN,MAAMM,kBAAkBjyC,KAAMghD,GAElC,ECCK,MAAMG,GACX,WAAA3yC,CAAYyyC,EAAUn0C,EAAMs0C,EAAS70C,EAAU80C,EAASrgD,GACtDkwB,GAAgBlxB,KAAM,SAAUshD,GAAoBlgB,SACpDlQ,GAAgBlxB,KAAM,SAAU,IAChCkxB,GAAgBlxB,KAAM,UAAW,IACjCkxB,GAAgBlxB,KAAM,YAAa,IAAIugD,KACvCvgD,KAAKihD,SAAWA,EAChBjhD,KAAK8M,KAAOA,EACZ9M,KAAKohD,QAAUA,EACfphD,KAAKuM,SAAWA,EAChBvM,KAAKqhD,QAAUA,EACfrhD,KAAKgB,KAAOA,CACd,CACA,SAAIsL,GACF,OAAOtM,KAAKuhD,MACd,CAWA,EAAAC,CAAGzX,EAAO0X,GAkBR,OAjBKzhD,KAAK0hD,UAAU11C,IAAI+9B,IACtB/pC,KAAK0hD,UAAU31C,IAAIg+B,EAAO,IAAI0O,KAEhCz4C,KAAK0hD,UAAUz9C,IAAI8lC,GAAOgB,IAAI0W,GAG1B1X,IAAUvI,GAAYP,KAAOjhC,KAAKuhD,SAAWD,GAAoBhgB,MACnEthC,KAAK2hD,SAASF,IACL1X,IAAUvI,GAAYjJ,OAASv4B,KAAKuhD,SAAWD,GAAoB/oB,OAInEwR,IAAUvI,GAAYN,QAAUlhC,KAAKuhD,SAAWD,GAAoB/f,YAH7EvhC,KAAK2hD,SAASF,EAAU,CACtBpkD,MAAO2C,KAAK4hD,gBAOT,IAAM5hD,KAAK6hD,IAAI9X,EAAO0X,EAC/B,CACA,IAAAK,CAAK/X,EAAO0X,GAEV,GAAI1X,IAAUvI,GAAYP,KAAOjhC,KAAKuhD,SAAWD,GAAoBhgB,MAEnE,OADAthC,KAAK2hD,SAASF,GACP,OAET,GAAI1X,IAAUvI,GAAYjJ,OAASv4B,KAAKuhD,SAAWD,GAAoB/oB,MAIrE,OAHAv4B,KAAK2hD,SAASF,EAAU,CACtBpkD,MAAO2C,KAAK4hD,gBAEP,OAET,GAAI7X,IAAUvI,GAAYN,QAAUlhC,KAAKuhD,SAAWD,GAAoB/f,UAItE,OAHAvhC,KAAK2hD,SAASF,EAAU,CACtBpkD,MAAO2C,KAAK4hD,gBAEP,OAET,IAAIG,EAAUC,IACZhiD,KAAK6hD,IAAI9X,EAAOgY,GAChB/hD,KAAK2hD,SAASF,EAAUO,IAE1B,OAAOhiD,KAAKwhD,GAAGzX,EAAOgY,EACxB,CAMA,GAAAF,CAAI9X,EAAO0X,GACT,IAAI11C,EAAM/L,KAAK0hD,UAAUz9C,IAAI8lC,GACxBh+B,IACLA,EAAIqY,OAAOq9B,GACM,IAAb11C,EAAI4M,MACN3Y,KAAK0hD,UAAUt9B,OAAO2lB,GAE1B,CACA,IAAA0G,CAAK1G,EAAOiY,GACV,IAAIj2C,EAAM/L,KAAK0hD,UAAUz9C,IAAI8lC,GACxBh+B,GAAoB,IAAbA,EAAI4M,MAELlN,MAAM03B,KAAKp3B,GACjBuN,QAAQpb,GAAM8B,KAAK2hD,SAASzjD,EAAI8jD,GACvC,CACA,iBAAAC,GACEjiD,KAAK0hD,UAAUrY,OACjB,CACA,QAAAsY,CAASzjD,EAAI8jD,GACX,IACE9jD,EAAG8jD,EACL,CAAE,MAAOE,GAET,CACF,CACA,aAAAC,GACE,GAA4B,IAAxBniD,KAAKoiD,QAAQv9C,OAAjB,CACA,IAAIw9C,EAAOriD,KAAKoiD,QAChBpiD,KAAKoiD,QAAU,GACfC,EAAK/oC,QAAQpb,IACX,IACEA,GACF,CAAE,MAAOokD,GAET,GAR6B,CAUjC,CACA,aAAAC,GACE,OAAIviD,KAAKuhD,SAAWD,GAAoBhgB,OAASthC,KAAKuhD,SAAWD,GAAoB/oB,OAASv4B,KAAKuhD,SAAWD,GAAoB/f,UACzHgB,QAAQC,UAEV,IAAID,QAAQC,IACjBxiC,KAAKoiD,QAAQthD,KAAK0hC,IAEtB,CACA,IAAAuN,CAAK1yC,GACC2C,KAAKuhD,SAAWD,GAAoBhgB,OAASthC,KAAKuhD,SAAWD,GAAoB/oB,QACrFv4B,KAAKuhD,OAASD,GAAoB/oB,MAClCv4B,KAAK4hD,cAAgBvkD,EACrB2C,KAAKywC,KAAKjP,GAAYjJ,MAAO,CAC3Bl7B,UAEF2C,KAAKywC,KAAKjP,GAAY/0B,MAAO,CAC3BH,MAAOtM,KAAKuhD,SAEdvhD,KAAKmiD,gBACP,CACA,MAAAK,CAAOlS,GACDtwC,KAAKuhD,SAAWD,GAAoBhgB,OAASthC,KAAKuhD,SAAWD,GAAoB/oB,OAASv4B,KAAKuhD,SAAWD,GAAoB/f,YAClIvhC,KAAKuhD,OAASD,GAAoB/f,UAClCvhC,KAAK4hD,cAAgB,IAAIZ,GAAyB,CAChDnP,QAASvB,GAAU1U,GAAS5C,iBAC5BvZ,KAAMsf,GAAU/F,iBAChBioB,SAAUjhD,KAAKihD,WAEjBjhD,KAAKywC,KAAKjP,GAAYN,OAAQ,CAC5BoP,SACAjzC,MAAO2C,KAAK4hD,gBAEd5hD,KAAKywC,KAAKjP,GAAY/0B,MAAO,CAC3BH,MAAOtM,KAAKuhD,SAEdvhD,KAAKmiD,gBACP,CAKA,SAAAM,CAAUC,GACJ1iD,KAAKuhD,SAAWD,GAAoBlgB,SAAWphC,KAAKuhD,SAAWD,GAAoBjgB,YACvFrhC,KAAKuhD,OAASD,GAAoBjgB,UAClCrhC,KAAK2iD,OAAO7hD,KAAK4hD,GACjB1iD,KAAKywC,KAAKjP,GAAYZ,KAAM,CAC1B8hB,UAEF1iD,KAAKywC,KAAKjP,GAAY/0B,MAAO,CAC3BH,MAAOtM,KAAKuhD,SAEdvhD,KAAKmiD,gBACP,CAKA,GAAAva,GACM5nC,KAAKuhD,SAAWD,GAAoBhgB,QACxCthC,KAAKuhD,OAASD,GAAoBhgB,MAClCthC,KAAKywC,KAAKjP,GAAYP,KACtBjhC,KAAKywC,KAAKjP,GAAY/0B,MAAO,CAC3BH,MAAOtM,KAAKuhD,SAEdvhD,KAAKmiD,gBACP,CAOA,oBAAAS,CAAqBC,GAErB,EC5MF,SAASzzC,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CAiC/a,MAAM8xB,WAA6B3B,GACxC,WAAA3yC,CAAYJ,EAAU,IACpB,IAAI20C,EAAeC,EAAkBC,EAAeC,EAIpDtR,MAjBK,UAAU5P,KAAKC,SAASviC,KAAKiC,SAASrD,SAAS,IAAIE,MAAM,EAAG,MAeb,QAAlCukD,EAAgB30C,EAAQtB,YAAoC,IAAlBi2C,EAA2BA,EAAgBI,GAAmBviB,KACnE,QAAxCoiB,EAAmB50C,EAAQgzC,mBAAqB4B,GAA8BA,EACxD50C,EAAQ7B,UAAU,EAAO6B,EAAQpN,MACtEkwB,GAAgBlxB,KAAM,UAAW,MACjCkxB,GAAgBlxB,KAAM,cAAe,MACrCkxB,GAAgBlxB,KAAM,YAAa,MACnCkxB,GAAgBlxB,KAAM,uBAAwBgiC,KAAKC,OACnD/Q,GAAgBlxB,KAAM,oBAAqB,MAE3CkxB,GAAgBlxB,KAAM,aAAc,GACpCkxB,GAAgBlxB,KAAM,MAAO,GAC7BkxB,GAAgBlxB,KAAM,eAAgB,GACtCkxB,GAAgBlxB,KAAM,eAAgB,IACtCkxB,GAAgBlxB,KAAM,WAAW,GACjCkxB,GAAgBlxB,KAAM,oBAAqB,MAC3CkxB,GAAgBlxB,KAAM,oBAAqB,MAC3CkxB,GAAgBlxB,KAAM,mBAAoB,MAC1CkxB,GAAgBlxB,KAAM,aAAc,IAAIugD,KACxCrvB,GAAgBlxB,KAAM,yBAAyB,GAC/CA,KAAKgB,KAA0C,QAAlCiiD,EAAgB70C,EAAQpN,YAAoC,IAAlBiiD,EAA2BA,EAAgBG,GAAmBtiB,KACrH9gC,KAAKgD,SAAWoL,EAAQpL,SACxBhD,KAAKqjD,OAASj1C,EAAQ4D,KACtBhS,KAAKsjD,YAAcl1C,EAAQk1C,YAE3BtjD,KAAKujD,cAAoE,QAAnDL,EAAwB90C,EAAQm1C,qBAAqD,IAA1BL,EAAmCA,EAAwB9iB,GAAeZ,MAC3Jx/B,KAAKwjD,cAAgBp1C,EAAQo1C,cAC7BxjD,KAAKyjD,iBAAmBr1C,EAAQq1C,iBAChCzjD,KAAK0jD,gBAAkBt1C,EAAQs1C,eACjC,CACA,OAAAC,CAAQ3Y,GACN,IAEM4Y,EAFFp8C,EAAMxH,KAAKyjD,iBACf,GAAmB,iBAARj8C,GAAoBA,EAAM,GAAKxH,KAAK6jD,aAAah/C,QAAU2C,EAEpE,MAAM,IAAIw5C,GAAyB,CACjCnP,QAAS9V,GAAcH,GAASpC,8BAA+BhyB,GAC/DiY,KAAMsf,GAAUvF,8BAChBynB,SAAUjhD,KAAKihD,SACfjP,UAA8C,QAAlC4R,EAAgB5jD,KAAKu5C,eAAuC,IAAlBqK,OAA2B,EAASA,EAAc5R,YAG5G,IAAI8R,EAAQ9jD,KAAK+jD,mBAAmB/Y,EAAKn7B,MACrCm0C,EAAWhkD,KAAK0jD,gBACpB,GAAwB,iBAAbM,GAAyBA,EAAW,EAAG,CAChD,IAEMC,EAFFjyC,EAAOhS,KAAKkkD,aAAeJ,EAC/B,IAAK7yB,OAAOktB,SAASnsC,IAASA,EAAOgyC,EAEnC,MAAM,IAAIhD,GAAyB,CACjCnP,QAAS9V,GAAcH,GAASnC,8BAA+BuqB,GAC/DvkC,KAAMsf,GAAUtF,8BAChBwnB,SAAUjhD,KAAKihD,SACfjP,UAA+C,QAAnCiS,EAAiBjkD,KAAKu5C,eAAwC,IAAnB0K,OAA4B,EAASA,EAAejS,WAGjH,CACAhyC,KAAK6jD,aAAa/iD,KAAKo1B,GAAcA,GAAc,GAAI8U,GAAO,GAAI,CAChE8Y,WAEF9jD,KAAKkkD,cAAgBJ,CACvB,CACA,kBAAAC,CAAmBl0C,GACjB,GAAIA,QAAqC,OAAO,EAChD,GAAoB,iBAATA,EAAmB,OAAO7P,KAAKmkD,eAAet0C,GACzD,IAEE,GAA2B,oBAAhB2iC,aAA+B3iC,aAAgB2iC,YACxD,OAAO3iC,EAAKu0C,WAGd,GAA2B,oBAAhB5R,aAA+BA,YAAY6R,QAAU7R,YAAY6R,OAAOx0C,GACjF,OAAOA,EAAKu0C,UAEhB,CAAE,MAAOlC,GAET,CACA,IAEE,GAAoB,oBAAToC,MAAwBz0C,aAAgBy0C,KACjD,OAAOz0C,EAAK8I,IAEhB,CAAE,MAAO2pC,GAET,CAGA,OAAO,CACT,CACA,cAAA6B,CAAeI,GACb,IACE,GAA2B,oBAAhBC,YACT,OAAO,IAAIA,aAActnC,OAAOqnC,GAAM1/C,MAE1C,CAAE,MAAO4/C,GAET,CACA,IAEE,GAAsB,oBAAXC,OAET,OAAOA,OAAON,WAAWG,EAAM,OAEnC,CAAE,MAAOI,GAET,CACA,OAAOJ,EAAK1/C,MACd,CAGA,SAAIyH,GACF,OAAOslC,MAAMtlC,KACf,CAMA,KAAAs4C,CAAMrL,GACJv5C,KAAKu5C,QAAUA,CACjB,CACA,sBAAAsL,GACE,IAAIC,EACsC,QAAnCA,EAAiB9kD,KAAKu5C,eAAwC,IAAnBuL,GAA6BA,EAAeC,uBAC9F/kD,KAAKu5C,QAAQwL,sBAAsB/kD,KAAKihD,SAAUjhD,KAAKglD,qBAAqBvnD,KAAKuC,MACnF,CACA,wBAAAilD,GACE,IAAIC,EACsC,QAAnCA,EAAiBllD,KAAKu5C,eAAwC,IAAnB2L,GAA6BA,EAAeC,yBAC9FnlD,KAAKu5C,QAAQ4L,wBAAwBnlD,KAAKihD,SAC5C,CACA,oBAAA+D,CAAqBn1C,GAGnB,OADA7P,KAAKolD,qBAAuBpjB,KAAKC,MACzBpyB,EAAK/C,MACX,KAAKk0B,GAA0BF,KAE3B,IAAIukB,EAAgC,iBAAhBx1C,EAAKw1C,QAAuBx1C,EAAKw1C,OAAS,EAAIx1C,EAAKw1C,OAAS,EAChFrlD,KAAKslD,YAAcD,EACnBrlD,KAAKywC,KAAKjP,GAAYV,KAAM,CAC1BukB,SACAE,YAAavlD,KAAKslD,aAGpBtlD,KAAK8rC,QACL,MAEJ,KAAK9K,GAA0BE,OAC7BlhC,KAAKywC,KAAKjP,GAAYN,OAAQ,CAC5BoP,OAAQzgC,EAAKygC,OACbkV,QAAQ,IAEVxlD,KAAKwiD,OAAO3yC,EAAKygC,QAKvB,CACA,cAAAmV,GACMzlD,KAAK0lD,YACPC,aAAa3lD,KAAK0lD,WAClB1lD,KAAK0lD,UAAY,KAErB,CACA,gBAAAE,GACE,IAAIC,EAAQ7lD,KACZ,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASuf,IACtE,IAAIC,EACJ,OAAOzgB,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EACH,GAAyC,QAApC+zC,EAAiBF,EAAMtM,eAAwC,IAAnBwM,GAA6BA,EAAeE,UAAW,CACtGD,EAASh0C,KAAO,EAChB,KACF,CACA,OAAOg0C,EAASngB,OAAO,UAAU,GACnC,KAAK,EAMH,OALKggB,EAAMK,oBACTL,EAAMK,kBAAoB3jB,QAAQC,UAAUC,KAAK,IAAMojB,EAAMtM,QAAQ0M,aAAargB,MAAM,KAAM,GAAOkb,QAAQ,KAC3G+E,EAAMK,kBAAoB,QAGvBF,EAASngB,OAAO,SAAUggB,EAAMK,mBACzC,KAAK,EACL,IAAK,MACH,OAAOF,EAASrgB,OAEtB,EAAGmgB,EACL,GAtBOpjB,EAuBT,CACA,cAAAyjB,GACE,IAAIC,EAASpmD,KACb,GAAKA,KAAKwjD,iBAAiBxjD,KAAKwjD,eAAiB,GAAjD,CACAxjD,KAAKylD,iBACL,IAAIY,EAAUrmD,KAAKwjD,cACnBxjD,KAAK0lD,UAAYhb,WAAwBhI,GAA+B4C,GAAoBiB,KAAK,SAAS+f,IAExG,OAAOhhB,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EACH,GAAMo0C,EAAO7E,SAAWD,GAAoBjgB,UAAY,CACtDklB,EAAUv0C,KAAO,EACjB,KACF,CACA,OAAOu0C,EAAU1gB,OAAO,UAC1B,KAAK,EACH,KAAM7D,KAAKC,MAAQmkB,EAAOhB,qBAAuBiB,GAAU,CACzDE,EAAUv0C,KAAO,EACjB,KACF,CAEA,OADAo0C,EAAOD,iBACAI,EAAU1gB,OAAO,UAC1B,KAAK,EAEH,OADA0gB,EAAUv0C,KAAO,EACVo0C,EAAOR,mBAChB,KAAK,EAEH,IADKW,EAAUpgB,KACN,CACPogB,EAAUv0C,KAAO,EACjB,KACF,CAGA,OAFAo0C,EAAOhB,qBAAuBpjB,KAAKC,MACnCmkB,EAAOD,iBACAI,EAAU1gB,OAAO,UAC1B,KAAK,EACH,IACEugB,EAAO3V,KAAKjP,GAAYxC,QAAS,CAC/BqnB,YAEFD,EAAO/oD,MAAM0+B,GAAcH,GAAS1C,eAAgBmtB,GACtD,CAAE,MAAOG,GAET,CACF,KAAK,EACL,IAAK,MACH,OAAOD,EAAU5gB,OAEvB,EAAG2gB,EACL,IAAKD,EA9C+C,CA+CtD,CAKA,WAAApM,CAAYntC,EAAM+C,GAChB,IAAI42C,EACJ,IAAKzmD,KAAKu5C,QACR,MAAM,IAAIyH,GAAyB,CACjCnP,QAASjW,GAAS9C,iBAClBrZ,KAAMsf,GAAUjG,iBAChBmoB,SAAUjhD,KAAKihD,WAGnB,IACI5D,OAD2Cx7C,IAA1B7B,KAAKu5C,QAAQmN,eAAoD7kD,IAA1B7B,KAAKu5C,QAAQoN,SAC7C1mB,GAAYE,OAASF,GAAYC,OACzD6f,EAAgE,QAAnD0G,EAAwBzmD,KAAKu5C,QAAQoN,gBAAgD,IAA1BF,EAAmCA,EAAwBzmD,KAAKu5C,QAAQmN,SAChJ7U,EAAU+D,GAAkB9oC,EAAM9M,KAAKu5C,QAAQvH,UAAW,CAC5DwG,UAAWx4C,KAAKu5C,QAAQf,UACxBzzB,KAAMmR,GAAc,CAClB+qB,SAAUjhD,KAAKihD,UACdpxC,GACHwtC,OACA0C,YACAD,SAAU9/C,KAAKu5C,QAAQuG,WAGzB,IADS9/C,KAAKu5C,QAAQtQ,QAAQ8Q,KAAK/5C,KAAKu5C,QAAQrD,aAAcrE,EAAS7xC,KAAKu5C,QAAQS,cAMlF,MAJAh6C,KAAKuhD,OAASD,GAAoB/f,UAClCvhC,KAAK4mD,mBAGC,IAAI5F,GAAyB,CACjCnP,QAAS9V,GAAcH,GAAS5C,iBAAkB4C,GAASjD,sBAC3DlZ,KAAMsf,GAAUpG,qBAChBsoB,SAAUjhD,KAAKihD,SACfjP,UAAWhyC,KAAKu5C,QAAQvH,YAG5B,OAAO,CACT,CACA,iBAAA6U,GACE,IAAI7mD,KAAK8mD,uBACJ9mD,KAAKu5C,QAAV,CACA,IAAIpkB,EAAKn1B,KAAKu5C,QAAQtQ,QACjB+M,GAAW7gB,EAAGyjB,cAAiB5C,GAAW7gB,EAAG4jB,kBAClD/4C,KAAK+mD,YAAc,CAACl3C,EAAM0pC,KACxB,GAAK1pC,GAAQA,EAAK/C,OAASuyB,GAAYE,IAAvC,CACA,IAAIynB,EAAUhnD,KAAKinD,WAAWhjD,IAAI4L,EAAKmiC,WAClCgV,IACDzN,IAAYA,EAAQG,WACtBH,EAAQE,cAAc,UAAUz5C,KAAKihD,YAEvC0E,aAAaqB,EAAQE,WACrBlnD,KAAKinD,WAAW7iC,OAAOvU,EAAKmiC,WAC5BgV,EAAQxkB,SAAQ,GAR4B,GAU9CrN,EAAGyjB,YAAY54C,KAAK+mD,aACpB/mD,KAAK8mD,uBAAwB,EAfV,CAgBrB,CACA,iBAAAK,GAME,GALAnnD,KAAKinD,WAAW3tC,QAAQ8qB,IACtBuhB,aAAavhB,EAAE8iB,WACf9iB,EAAE5B,SAAQ,KAEZxiC,KAAKinD,WAAW5d,QACZrpC,KAAK8mD,uBAAyB9mD,KAAK+mD,aAAe/mD,KAAKu5C,QAAS,CAClE,IAAIpkB,EAAKn1B,KAAKu5C,QAAQtQ,QACtB,GAAI+M,GAAW7gB,EAAG4jB,gBAChB,IACE5jB,EAAG4jB,eAAe/4C,KAAK+mD,YACzB,CAAE,MAAOK,GAET,CAEJ,CACApnD,KAAK8mD,uBAAwB,EAC7B9mD,KAAK+mD,iBAAcllD,CACrB,CACA,iBAAAwlD,CAAkBrV,EAAWsV,EAAW9kB,GACtC,IAAI0kB,EAAYxc,WAAW,KACzB1qC,KAAKinD,WAAW7iC,OAAO4tB,GACvBxP,GAAQ,IACP8kB,GACHtnD,KAAKinD,WAAWl7C,IAAIimC,EAAW,CAC7BxP,UACA0kB,aAEJ,CACA,gBAAAN,GACM5mD,KAAKunD,cACP5B,aAAa3lD,KAAKunD,aAClBvnD,KAAKunD,YAAc,KAEvB,CACA,gBAAAC,GACE,GAAKxnD,KAAKujD,iBAAiBvjD,KAAKujD,eAAiB,GAAjD,CACA,IAAIA,EAAgBvjD,KAAKujD,cACzBvjD,KAAK4mD,mBACL5mD,KAAKunD,YAAc7c,WAAW,KAC5B,GAAI1qC,KAAKuhD,SAAWD,GAAoBjgB,UACxC,IACErhC,KAAKywC,KAAKjP,GAAYK,QAAS,CAC7BwkB,QAAS9C,IAEXvjD,KAAK3C,MAAM0+B,GAAcH,GAASzC,eAAgBoqB,GACpD,CAAE,MAAOkE,GAET,GACClE,EAbiD,CActD,CAKA,KAAAvhC,GACE,IAAI0lC,EAAS1nD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASohB,IACtE,IAAI1hB,EACJ,OAAOX,GAAoBc,KAAK,SAAUwhB,GACxC,cAAkBA,EAAU1hB,KAAO0hB,EAAU51C,MAC3C,KAAK,EACH,GAAI01C,EAAOnO,QAAS,CAClBqO,EAAU51C,KAAO,EACjB,KACF,CACA,MAAM,IAAIgvC,GAAyB,CACjCnP,QAASjW,GAAS9C,iBAClBrZ,KAAMsf,GAAUjG,iBAChBmoB,SAAUyG,EAAOzG,WAErB,KAAK,EACH,GAAMyG,EAAOnG,SAAWD,GAAoBlgB,QAAU,CACpDwmB,EAAU51C,KAAO,EACjB,KACF,CACA,MAAM,IAAIgvC,GAAyB,CACjCnP,QAASjW,GAAS7C,uBAClBtZ,KAAMsf,GAAUhG,uBAChBkoB,SAAUyG,EAAOzG,SACjBjP,UAAW0V,EAAOnO,QAAQvH,YAE9B,KAAK,EA2BH,GA1BA0V,EAAOG,kBAAoB,IAAItlB,QAAQ,CAACC,EAAS+K,KAC/Cma,EAAOI,kBAAoBtlB,EAC3BklB,EAAOK,iBAAmBxa,IAE5Bma,EAAOnG,OAASD,GAAoBjgB,UACpCqmB,EAAOF,mBACPE,EAAOvB,iBACPuB,EAAOtC,qBAAuBpjB,KAAKC,MACnCylB,EAAO7C,yBAGP6C,EAAOzN,YAAY5a,GAAYO,aAAc,CAC3C9yB,KAAM46C,EAAO56C,KACb9L,KAAM0mD,EAAO1mD,KACbogD,QAASsG,EAAOtG,QAChB70C,SAAUm7C,EAAOn7C,SACjB+2C,YAAaoE,EAAOpE,cAEtBoE,EAAOjX,KAAKjP,GAAYC,MAAO,CAC7Bwf,SAAUyG,EAAOzG,SACjBn0C,KAAM46C,EAAO56C,KACbs0C,QAASsG,EAAOtG,QAChBpgD,KAAM0mD,EAAO1mD,KACbuL,SAAUm7C,EAAOn7C,WAEnBq7C,EAAU1hB,KAAO,EACXwhB,EAAO1mD,OAASoiD,GAAmBriB,KAAO,CAC9C6mB,EAAU51C,KAAO,EACjB,KACF,CAEA,OADA41C,EAAU51C,KAAO,EACV01C,EAAOG,kBAChB,KAAK,EAOL,KAAK,EAeL,KAAK,EACH,OAAOD,EAAU/hB,OAAO,SAAU+hB,EAAUzhB,MArB9C,KAAK,EAIH,OAFAuhB,EAAO5b,QACP8b,EAAU51C,KAAO,EACV01C,EAAOG,kBAGhB,KAAK,EAGH,GAFAD,EAAU1hB,KAAO,EACjBD,EAAK2hB,EAAiB,MAAE,GAClBF,EAAOnG,SAAWD,GAAoB/f,UAAY,CACtDqmB,EAAU51C,KAAO,EACjB,KACF,CAEA,MADA01C,EAAOd,mBACD3gB,EACR,KAAK,EAGH,OAFAyhB,EAAOrqD,MAAM4oC,EAAG4L,SAAW5vC,OAAOgkC,IAClC2hB,EAAU51C,KAAO,EACV01C,EAAOG,kBAGhB,KAAK,GACL,IAAK,MACH,OAAOD,EAAUjiB,OAEvB,EAAGgiB,EAAU,KAAM,CAAC,CAAC,EAAG,IAC1B,GAvFOjlB,EAwFT,CAMA,KAAAt4B,CAAMyF,EAAMm4C,GAAgB,EAAO55C,GACjC,IAAI65C,EAEEC,EASAC,EAYAC,EAtBN,GAAIpoD,KAAKgB,OAASoiD,GAAmBriB,KAEnC,MAAM,IAAIigB,GAAyB,CACjCnP,QAASjW,GAASrC,+BAClB9Z,KAAMsf,GAAUxF,+BAChB0nB,SAAUjhD,KAAKihD,SACfjP,UAA+C,QAAnCkW,EAAiBloD,KAAKu5C,eAAwC,IAAnB2O,OAA4B,EAASA,EAAelW,YAG/G,GAAIhyC,KAAKuhD,SAAWD,GAAoBlgB,QAKtC,MAAM,IAAI4f,GAAyB,CACjCnP,QAASjW,GAAS9C,iBAClBrZ,KAAMsf,GAAUjG,iBAChBmoB,SAAUjhD,KAAKihD,SACfjP,UAA+C,QAAnCmW,EAAiBnoD,KAAKu5C,eAAwC,IAAnB4O,OAA4B,EAASA,EAAenW,YAG/G,GAAIhyC,KAAKuhD,SAAWD,GAAoBjgB,UAEtC,MAAM,IAAI2f,GAAyB,CACjCnP,QAASjW,GAASvC,aAClB5Z,KAAMsf,GAAU1F,aAChB4nB,SAAUjhD,KAAKihD,SACfjP,UAA+C,QAAnCoW,EAAiBpoD,KAAKu5C,eAAwC,IAAnB6O,OAA4B,EAASA,EAAepW,YAG/G,IAAIr9B,EAAgC,kBAAlBqzC,GAA8BA,EAC5CtJ,EAAgC,iBAAlBsJ,EAA6BA,EAAgB55C,EAC3DwxC,GAA+E,KAAjElB,aAAmC,EAASA,EAAKkB,YAC/DyI,EAAkG,QAApFJ,EAAmBvJ,aAAmC,EAASA,EAAK2J,kBAA6C,IAArBJ,EAA8BA,EAAmB7nB,GAAeb,IAC9K,OAAKqgB,EAaE,IAAIrd,QAAQC,IACjB,IAAI8lB,EAAevmB,KACnB/hC,KAAK2jD,QAAQ,CACX9zC,OACA8E,OACAirC,YAAY,EACZ0I,eACAD,aACAE,WAAY/lB,IAEdxiC,KAAKywC,KAAKjP,GAAYG,MAAO,CAC3B9xB,OACA8E,SAEF3U,KAAK8rC,WAzBL9rC,KAAK2jD,QAAQ,CACX9zC,OACA8E,SAEF3U,KAAKywC,KAAKjP,GAAYG,MAAO,CAC3B9xB,OACA8E,cAEF3U,KAAK8rC,QAmBT,CAKA,GAAAlE,GACE,GAAI5nC,KAAKgB,OAASoiD,GAAmBriB,KAMrC,OAAI/gC,KAAKgB,OAASoiD,GAAmBriB,MACF,IAA7B/gC,KAAK6jD,aAAah/C,OACpB7E,KAAK2jD,QAAQ,CACX9zC,UAAMhO,EACN8S,MAAM,IAIR3U,KAAK6jD,aAAa7jD,KAAK6jD,aAAah/C,OAAS,GAAG8P,MAAO,OAEzD3U,KAAK8rC,cAGP9rC,KAAKwoD,cAjBHxoD,KAAKwoD,aAkBT,CAKA,iBAAAC,GACE,IAAIC,EAAS1oD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASoiB,IACtE,IAAIC,EAAK73B,EAAGhrB,EAAQ8iD,EACpB,OAAOvjB,GAAoBc,KAAK,SAAU0iB,GACxC,cAAkBA,EAAU5iB,KAAO4iB,EAAU92C,MAC3C,KAAK,EACH,IAAK02C,EAAOK,QAAS,CACnBD,EAAU92C,KAAO,EACjB,KACF,CACA,OAAO82C,EAAUjjB,OAAO,UAC1B,KAAK,EAGH,GAFA6iB,EAAOK,SAAU,EACjBD,EAAU5iB,KAAO,GACZwiB,EAAO1lD,SAAU,CACpB8lD,EAAU92C,KAAO,EACjB,KACF,CACA42C,EAAMF,EAAO1lD,WACf,KAAK,EACH,GAAM0lD,EAAOnH,SAAWD,GAAoBjgB,UAAY,CACtDynB,EAAU92C,KAAO,EACjB,KACF,CACA,KAAM02C,EAAOpD,YAAc,GAAI,CAC7BwD,EAAU92C,KAAO,EACjB,KACF,CACA,OAAO82C,EAAUjjB,OAAO,WAAY,GACtC,KAAK,EAEH,OADAijB,EAAU92C,KAAO,EACV42C,EAAI52C,OACb,KAAK,EAEH,KADA+e,EAAI+3B,EAAU3iB,MACPxxB,KAAM,CACXm0C,EAAU92C,KAAO,EACjB,KACF,CAGA,OADA02C,EAAOF,cACAM,EAAUjjB,OAAO,WAAY,GACtC,KAAK,EACH6iB,EAAO/E,QAAQ,CACb9zC,KAAMkhB,EAAE1wB,MACRsU,MAAM,IAER+zC,EAAO5c,QACPgd,EAAU92C,KAAO,EACjB,MACF,KAAK,EACH82C,EAAU92C,KAAO,GACjB,MACF,KAAK,EACH,IAAK02C,EAAOrF,OAAQ,CAClByF,EAAU92C,KAAO,GACjB,KACF,CACF,KAAK,EACH,GAAM02C,EAAOnH,SAAWD,GAAoBjgB,UAAY,CACtDynB,EAAU92C,KAAO,GACjB,KACF,CACA,KAAM02C,EAAOpD,YAAc,GAAI,CAC7BwD,EAAU92C,KAAO,GACjB,KACF,CACA,OAAO82C,EAAUjjB,OAAO,WAAY,IACtC,KAAK,GAEH,OADAijB,EAAU92C,KAAO,GACVuwB,QAAQC,QAAQkmB,EAAOrF,UAChC,KAAK,GAOH,GANAt9C,EAAS+iD,EAAU3iB,KACnBuiB,EAAO/E,QAAQ,CACb9zC,KAAM9J,EAAO8J,KACb8E,KAAM5O,EAAO4O,OAEf+zC,EAAO5c,SACF/lC,EAAO4O,KAAM,CAChBm0C,EAAU92C,KAAO,GACjB,KACF,CACA,OAAO82C,EAAUjjB,OAAO,WAAY,IACtC,KAAK,GACHijB,EAAU92C,KAAO,EACjB,MACF,KAAK,GACH82C,EAAU92C,KAAO,GACjB,MACF,KAAK,GAEC02C,EAAOpD,WAAa,GACtBoD,EAAOF,cAEX,KAAK,GACHM,EAAU92C,KAAO,GACjB,MACF,KAAK,GACH82C,EAAU5iB,KAAO,GACjB2iB,EAAMC,EAAiB,MAAE,GACrBJ,EAAOnH,SAAWD,GAAoBjgB,WACxCqnB,EAAOrrD,OAAOwrD,aAAiC,EAASA,EAAIhX,UAAY5vC,OAAO4mD,IAEnF,KAAK,GAGH,OAFAC,EAAU5iB,KAAO,GACjBwiB,EAAOK,SAAU,EACVD,EAAU9iB,OAAO,IAC1B,KAAK,GACL,IAAK,MACH,OAAO8iB,EAAUnjB,OAEvB,EAAGgjB,EAAU,KAAM,CAAC,CAAC,EAAG,GAAI,GAAI,KAClC,GA9GOjmB,EA+GT,CAKA,QAAAsmB,CAASn5C,EAAM8E,GAAO,EAAOvG,GAC3B,IAAI66C,EAAwBC,EAC5B,IAAKlpD,KAAKu5C,QACR,MAAM,IAAIyH,GAAyB,CACjCnP,QAASjW,GAAS9C,iBAClBrZ,KAAMsf,GAAUjG,iBAChBmoB,SAAUjhD,KAAKihD,WAGnB,IAAIkI,EAAMnpD,KAAKmpD,MAEX9L,OAD2Cx7C,IAA1B7B,KAAKu5C,QAAQmN,eAAoD7kD,IAA1B7B,KAAKu5C,QAAQoN,SAC7C1mB,GAAYE,OAASF,GAAYC,OACzD6f,EAAiE,QAApDkJ,EAAyBjpD,KAAKu5C,QAAQoN,gBAAiD,IAA3BsC,EAAoCA,EAAyBjpD,KAAKu5C,QAAQmN,SACnJ7U,EAAU+D,GAAkBvW,GAAYQ,YAA4G,QAA9FqpB,EAAqB96C,aAAyC,EAASA,EAAQ4jC,iBAA8C,IAAvBkX,EAAgCA,EAAqBlpD,KAAKu5C,QAAQvH,UAAW,CAC3OwG,UAAWx4C,KAAKu5C,QAAQf,UACxBoH,WAAYxxC,aAAyC,EAASA,EAAQwxC,WAOtE7D,IAAK3tC,SAA0CA,EAAQwxC,WAAa,CAClEn+C,GAAI,GAAGzB,KAAKihD,YAAYkI,UACtBtnD,EACJkjB,KAAM,CACJk8B,SAAUjhD,KAAKihD,SACfpxC,KAAM7P,KAAKopD,WAAWv5C,GACtB8E,OACAw0C,OAEF9L,OACA0C,YACAD,SAAU9/C,KAAKu5C,QAAQuG,WAGzB,IADS9/C,KAAKu5C,QAAQtQ,QAAQ8Q,KAAK/5C,KAAKu5C,QAAQrD,aAAcrE,EAAS7xC,KAAKu5C,QAAQS,cAIlF,MAFAh6C,KAAKuhD,OAASD,GAAoB/f,UAClCvhC,KAAK4mD,mBACC,IAAI5F,GAAyB,CACjCnP,QAAS9V,GAAcH,GAAS5C,iBAAkB4C,GAASjD,sBAC3DlZ,KAAMsf,GAAUpG,qBAChBsoB,SAAUjhD,KAAKihD,SACfjP,UAAWhyC,KAAKu5C,QAAQvH,YAG5BhyC,KAAKywC,KAAKjP,GAAYI,KAAM,CAC1BunB,MACAx0C,QAEJ,CACA,KAAAm3B,GACE,GAAI9rC,KAAKuhD,SAAWD,GAAoBjgB,UAMxC,IAHIrhC,KAAKgB,OAASoiD,GAAmBtiB,MAAqC,IAA7B9gC,KAAK6jD,aAAah/C,QACxD7E,KAAKyoD,oBAELzoD,KAAKslD,WAAa,GAAKtlD,KAAK6jD,aAAah/C,OAAS,GAAK7E,KAAKuhD,SAAWD,GAAoBjgB,WAAW,CAC3G,IAAI2J,EAAOhrC,KAAK6jD,aAAaliC,QAC7B3hB,KAAKkkD,cAAgBlZ,EAAK8Y,MAC1B9jD,KAAKslD,aACL,IAIM,IAAI+D,EAHR,GAAIre,EAAK4U,YAAc5U,EAAKsd,cAAgBtd,EAAKud,WAE/C,GADAvoD,KAAK6mD,oBACD7mD,KAAK8mD,sBAEP9mD,KAAKqnD,kBAAkBrc,EAAKsd,aAAuD,QAAxCe,EAAmBre,EAAKqd,kBAAkD,IAA1BgB,EAA8BA,EAAmBjpB,GAAeb,IAAKyL,EAAKud,YACrKvoD,KAAKgpD,SAAShe,EAAKn7B,KAAMm7B,EAAKr2B,KAAM,CAClCq9B,UAAWhH,EAAKsd,aAChB1I,YAAY,SAGd5U,EAAKud,YAAW,GAChBvoD,KAAKgpD,SAAShe,EAAKn7B,KAAMm7B,EAAKr2B,WAGhC3U,KAAKgpD,SAAShe,EAAKn7B,KAAMm7B,EAAKr2B,KAElC,CAAE,MAAOqc,GACP,IAAIs4B,EAAuBC,EAgB3B,MAdAvpD,KAAKuhD,OAASD,GAAoB/f,UAClCvhC,KAAK4mD,mBACL5mD,KAAKylD,iBACLzlD,KAAKilD,2BACLjlD,KAAK6jD,aAAah/C,OAAS,EAC3B7E,KAAKkkD,aAAe,EACpBlkD,KAAKmnD,oBAC+C,QAAnDmC,EAAwBtpD,KAAK+nD,wBAAwD,IAA1BuB,GAAoCA,EAAsBvrD,KAAKiC,KAAMgxB,aAAa2gB,MAAQ3gB,EAAI,IAAIgwB,GAAyB,CACrLnP,QAAS5vC,OAAO+uB,GAChBvR,KAAMsf,GAAU9F,aAChBgoB,SAAUjhD,KAAKihD,SACfjP,UAA+C,QAAnCuX,EAAiBvpD,KAAKu5C,eAAwC,IAAnBgQ,SAAqCA,EAAevX,UAC3GkP,MAAOlwB,KAEHA,CACR,CACA,GAAIga,EAAKr2B,KAAM,CACb3U,KAAKwoD,cACL,KACF,CACF,CACF,CAKA,UAAAY,CAAWv5C,GACT,OAAOA,CACT,CAKA,WAAA24C,GACE,IAAIgB,EACAxpD,KAAKuhD,SAAWD,GAAoBjgB,YACxCrhC,KAAKuhD,OAASD,GAAoBhgB,MAClCthC,KAAK4mD,mBACL5mD,KAAKylD,iBACLzlD,KAAKilD,2BACLjlD,KAAK6jD,aAAah/C,OAAS,EAC3B7E,KAAKkkD,aAAe,EACpBlkD,KAAKi6C,YAAY5a,GAAYS,YAC7B9/B,KAAKywC,KAAKjP,GAAYP,KACtBjhC,KAAKywC,KAAKjP,GAAY/0B,MAAO,CAC3BH,MAAOtM,KAAKuhD,SAEdvhD,KAAKmnD,oBACLnnD,KAAKiiD,oBACgD,QAApDuH,EAAwBxpD,KAAK8nD,6BAA+B0B,GAAoCA,EAAsBzrD,KAAKiC,MAC9H,CAKA,KAAA3C,CAAMw0C,GACJ,IAAI4X,EAAgBC,EAChB1pD,KAAKuhD,SAAWD,GAAoBjgB,YACxCrhC,KAAKuhD,OAASD,GAAoB/oB,MAClCv4B,KAAK4mD,mBACL5mD,KAAKylD,iBACLzlD,KAAKilD,2BACLjlD,KAAK6jD,aAAah/C,OAAS,EAC3B7E,KAAKkkD,aAAe,EACpBlkD,KAAKi6C,YAAY5a,GAAYpG,aAAc,CACzC57B,MAAOw0C,IAET7xC,KAAKywC,KAAKjP,GAAYjJ,MAAO,CAC3Bl7B,MAAO,IAAI2jD,GAAyB,CAClCnP,UACApyB,KAAMsf,GAAU9F,aAChBgoB,SAAUjhD,KAAKihD,SACfjP,UAA+C,QAAnCyX,EAAiBzpD,KAAKu5C,eAAwC,IAAnBkQ,OAA4B,EAASA,EAAezX,cAG/GhyC,KAAKywC,KAAKjP,GAAY/0B,MAAO,CAC3BH,MAAOtM,KAAKuhD,SAEdvhD,KAAKmnD,oBACLnnD,KAAKiiD,oBACiD,QAArDyH,EAAyB1pD,KAAK8nD,6BAA+B4B,GAAqCA,EAAuB3rD,KAAKiC,MACjI,CAKA,KAAA2pD,CAAMrZ,GACJtwC,KAAKwiD,OAAOlS,EACd,CAKA,MAAAkS,CAAOlS,GACL,IAAIsZ,EACJ,GAAI5pD,KAAKuhD,SAAWD,GAAoBlgB,SAAWphC,KAAKuhD,SAAWD,GAAoBjgB,UAAvF,CAcA,GAbArhC,KAAKuhD,OAASD,GAAoB/f,UAClCvhC,KAAK4mD,mBACL5mD,KAAKylD,iBACLzlD,KAAKilD,2BACLjlD,KAAK6jD,aAAah/C,OAAS,EAC3B7E,KAAKkkD,aAAe,EACpBlkD,KAAKywC,KAAKjP,GAAYN,OAAQ,CAC5BoP,SACAkV,QAAQ,IAEVxlD,KAAKywC,KAAKjP,GAAY/0B,MAAO,CAC3BH,MAAOtM,KAAKuhD,SAEVvhD,KAAKu5C,QACP,IACEv5C,KAAKi6C,YAAY5a,GAAYU,cAAe,CAC1CuQ,UAEJ,CAAE,MAAOuZ,GAET,CAEF7pD,KAAKmnD,oBACLnnD,KAAKiiD,oBACiD,QAArD2H,EAAyB5pD,KAAK8nD,6BAA+B8B,GAAqCA,EAAuB7rD,KAAKiC,KAzB7B,CA0BpG,sDCx4BF,IAAI2S,EAAIrV,KACJwsD,kCCDJ,IAAI3kD,EAAY7H,KACZ+D,EAAW1C,KACXY,EAAgBV,IAChBkJ,EAAoB9E,KAEpB7D,EAAaC,UAEb0qD,EAAe,8CAGf9hD,EAAe,SAAU+hD,GAC3B,OAAO,SAAUjwC,EAAM+V,EAAYjU,EAAiBouC,GAClD,IAAIrjD,EAAIvF,EAAS0Y,GACbja,EAAOP,EAAcqH,GACrB/B,EAASkD,EAAkBnB,GAE/B,GADAzB,EAAU2qB,GACK,IAAXjrB,GAAgBgX,EAAkB,EAAG,MAAM,IAAIzc,EAAW2qD,GAC9D,IAAIpiD,EAAQqiD,EAAWnlD,EAAS,EAAI,EAChCgE,EAAImhD,GAAW,EAAK,EACxB,GAAInuC,EAAkB,EAAG,OAAa,CACpC,GAAIlU,KAAS7H,EAAM,CACjBmqD,EAAOnqD,EAAK6H,GACZA,GAASkB,EACT,KACR,CAEM,GADAlB,GAASkB,EACLmhD,EAAWriD,EAAQ,EAAI9C,GAAU8C,EACnC,MAAM,IAAIvI,EAAW2qD,EAE7B,CACI,KAAMC,EAAWriD,GAAS,EAAI9C,EAAS8C,EAAOA,GAASkB,EAAOlB,KAAS7H,IACrEmqD,EAAOn6B,EAAWm6B,EAAMnqD,EAAK6H,GAAQA,EAAOf,IAE9C,OAAOqjD,CACX,CACA,SAEAC,GAAiB,CAGflrC,KAAM/W,GAAa,GAGnBgX,MAAOhX,GAAa,ID1CRtJ,GAAqCqgB,KAC/C4R,EAAsB/xB,KACtBsrD,EAAiBlnD,KAUrB0P,EAAE,CAAEpD,OAAQ,QAASkD,OAAO,EAAM7B,QATpB1N,MAIeinD,EAAiB,IAAMA,EAAiB,KACzCv5B,EAAoB,WAII,CAClDw5B,OAAQ,SAAgBt6B,GACtB,IAAIjrB,EAASzG,UAAUyG,OACvB,OAAOilD,EAAQ9pD,KAAM8vB,EAAYjrB,EAAQA,EAAS,EAAIzG,UAAU,QAAKyD,EACzE,oLEhBAwoD,GAAuC,oBAAf7X,aAAiD,oBAAZ8X,6CCD7D,IAmCIv4C,EAAM81B,EAAa3tB,EAnCnBqwC,EAAsBjtD,KACtB4G,EAAcvF,KACdiB,EAAaf,IACbgF,EAAaZ,KACba,EAAWZ,KACX1B,EAAS4B,KACTxE,EAAU+K,KACVzE,EAAckH,KACdN,EAA8BgH,KAC9BrE,EAAgBsE,KAChBiH,EAAwBhH,KACxBjO,EAAgBkO,KAChBlC,EAAiBmC,KACjBX,EAAiBa,KACjB5P,EAAkBoc,KAClBhe,EAAMie,KACNlS,EAAsBmS,KAEtBlS,EAAuBD,EAAoBhB,QAC3CkB,EAAmBF,EAAoB1J,IACvCumD,EAAY5qD,EAAW4qD,UACvBC,EAAqBD,GAAaA,EAAU1sD,UAC5C4sD,EAAoB9qD,EAAW8qD,kBAC/BC,EAA6BD,GAAqBA,EAAkB5sD,UACpE8sD,EAAaJ,GAAaz5C,EAAey5C,GACzCK,EAAsBJ,GAAsB15C,EAAe05C,GAC3Dz5C,EAAkBjS,OAAOjB,UACzBuB,EAAYO,EAAWP,UAEvBmS,EAAgBhO,EAAgB,eAChCsnD,EAAkBlpD,EAAI,mBACtBmpD,EAA0B,wBAE1BC,EAA4BT,KAAyBh4C,GAAgD,UAA9B3T,EAAQgB,EAAWqrD,OAC1FC,GAA2B,EAG3BC,EAA6B,CAC/BX,UAAW,EACXY,WAAY,EACZV,kBAAmB,EACnBW,WAAY,EACZC,YAAa,EACbC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,aAAc,GAGZC,EAA8B,CAChCC,cAAe,EACfC,eAAgB,GAWdC,EAA2B,SAAUptD,GACvC,IAAI+T,EAAQ1B,EAAerS,GAC3B,GAAKoF,EAAS2O,GAAd,CACA,IAAInG,EAAQuB,EAAiB4E,GAC7B,OAAQnG,GAAS9K,EAAO8K,EAAOy+C,GAA4Bz+C,EAAMy+C,GAA2Be,EAAyBr5C,EAF/F,CAGxB,EAEIs5C,EAAe,SAAUrtD,GAC3B,IAAKoF,EAASpF,GAAK,OAAO,EAC1B,IAAIstD,EAAQptD,EAAQF,GACpB,OAAO8C,EAAO2pD,EAA4Ba,IACrCxqD,EAAOmqD,EAA6BK,EAC3C,EAwDA,IAAKj6C,KAAQo5C,GAEXjxC,GADA2tB,EAAcjoC,EAAWmS,KACE81B,EAAY/pC,WACxB8P,EAAqBsM,GAAW6wC,GAA2BljB,EACrEmjB,GAA4B,EAGnC,IAAKj5C,KAAQ45C,GAEXzxC,GADA2tB,EAAcjoC,EAAWmS,KACE81B,EAAY/pC,aACxB8P,EAAqBsM,GAAW6wC,GAA2BljB,GAI5E,KAAKmjB,IAA8BnnD,EAAW+mD,IAAeA,IAAe/sD,SAASC,aAEnF8sD,EAAa,WACX,MAAM,IAAIvrD,EAAU,uBACxB,EACM2rD,GAA2B,IAAKj5C,KAAQo5C,EACtCvrD,EAAWmS,IAAOQ,EAAe3S,EAAWmS,GAAO64C,GAI3D,KAAKI,IAA8BH,GAAuBA,IAAwB75C,KAChF65C,EAAsBD,EAAW9sD,UAC7BktD,GAA2B,IAAKj5C,KAAQo5C,EACtCvrD,EAAWmS,IAAOQ,EAAe3S,EAAWmS,GAAMjU,UAAW+sD,GASrE,GAJIG,GAA6Bj6C,EAAe45C,KAAgCE,GAC9Et4C,EAAeo4C,EAA4BE,GAGzC3mD,IAAgB1C,EAAOqpD,EAAqBr5C,GAQ9C,IAAKO,KAPLm5C,GAA2B,EAC3BlxC,EAAsB6wC,EAAqBr5C,EAAe,CACxDlR,cAAc,EACd2D,IAAK,WACH,OAAOH,EAAS9D,MAAQA,KAAK8qD,QAAmBjpD,CACtD,IAEespD,EAAgCvrD,EAAWmS,IACtDjG,EAA4BlM,EAAWmS,GAAO+4C,EAAiB/4C,UAInEk6C,GAAiB,CACfjB,0BAA2BA,EAC3BF,gBAAiBI,GAA4BJ,EAC7CoB,YA1GgB,SAAUxtD,GAC1B,GAAIqtD,EAAartD,GAAK,OAAOA,EAC7B,MAAM,IAAIW,EAAU,8BACtB,EAwGE8sD,uBAtG2B,SAAU98B,GACrC,GAAIxrB,EAAWwrB,MAAQ9c,GAAkBxN,EAAc6lD,EAAYv7B,IAAK,OAAOA,EAC/E,MAAM,IAAIhwB,EAAU6F,EAAYmqB,GAAK,oCACvC,EAoGE+8B,uBAlG2B,SAAUp4C,EAAKq4C,EAAUz7C,EAAQxC,GAC5D,GAAKlK,EAAL,CACA,GAAI0M,EAAQ,IAAK,IAAI07C,KAASnB,EAA4B,CACxD,IAAIoB,EAAwB3sD,EAAW0sD,GACvC,GAAIC,GAAyB/qD,EAAO+qD,EAAsBzuD,UAAWkW,GAAM,WAClEu4C,EAAsBzuD,UAAUkW,EAC7C,CAAM,MAAO3W,GAEP,IACEkvD,EAAsBzuD,UAAUkW,GAAOq4C,CAC/C,CAAQ,MAAOG,GAAQ,CACvB,CACA,CACO3B,EAAoB72C,KAAQpD,GAC/BnC,EAAco8C,EAAqB72C,EAAKpD,EAASy7C,EAC7CrB,GAA6BP,EAAmBz2C,IAAQq4C,EAAUj+C,EAdtD,CAgBpB,EAkFEq+C,6BAhFiC,SAAUz4C,EAAKq4C,EAAUz7C,GAC1D,IAAI07C,EAAOC,EACX,GAAKroD,EAAL,CACA,GAAIqO,EAAgB,CAClB,GAAI3B,EAAQ,IAAK07C,KAASnB,EAExB,IADAoB,EAAwB3sD,EAAW0sD,KACN9qD,EAAO+qD,EAAuBv4C,GAAM,WACxDu4C,EAAsBv4C,EACrC,CAAQ,MAAO3W,GAAO,CAElB,GAAKutD,EAAW52C,KAAQpD,EAKjB,OAHL,IACE,OAAOnC,EAAcm8C,EAAY52C,EAAKpD,EAASy7C,EAAWrB,GAA6BJ,EAAW52C,IAAQq4C,EAClH,CAAQ,MAAOhvD,GAAO,CAEtB,CACE,IAAKivD,KAASnB,IACZoB,EAAwB3sD,EAAW0sD,KACJC,EAAsBv4C,KAAQpD,GAC3DnC,EAAc89C,EAAuBv4C,EAAKq4C,EAlB5B,CAqBpB,EA0DEP,yBAA0BA,EAC1BzH,OArIW,SAAgB3lD,GAC3B,IAAKoF,EAASpF,GAAK,OAAO,EAC1B,IAAIstD,EAAQptD,EAAQF,GACpB,MAAiB,aAAVstD,GACFxqD,EAAO2pD,EAA4Ba,IACnCxqD,EAAOmqD,EAA6BK,EAC3C,EAgIED,aAAcA,EACdnB,WAAYA,EACZC,oBAAqBA,sCC9LvB,IAAIvjD,EAAsBhK,KACtBuK,EAAWlJ,KAEX2d,EAAcC,kBAIlBmwC,GAAiB,SAAUhuD,GACzB,QAAWmD,IAAPnD,EAAkB,OAAO,EAC7B,IAAI6I,EAASD,EAAoB5I,GAC7BmG,EAASgD,EAASN,GACtB,GAAIA,IAAW1C,EAAQ,MAAM,IAAIyX,EAAY,yBAC7C,OAAOzX,CACT,qCCbA,IAAI8nD,cCGJC,GAAiBltD,KAAKitD,MAAQ,SAAcvlD,GAC1C,IAAIC,GAAKD,EAET,OAAa,IAANC,GAAWA,GAAMA,EAAIA,EAAIA,EAAI,GAAI,EAAK,CAC/C,GDNIwlD,kCEDJ,IACIC,EAAkB,wBAEtBC,GAAiB,SAAU1lD,GACzB,OAAOA,EAAIylD,EAAkBA,CAC/B,EFJsBnuD,GAElBquD,EAAMttD,KAAKstD,WAIfC,GAAiB,SAAU7lD,EAAG8lD,EAAeC,EAAiBC,GAC5D,IAAI/lD,GAAKD,EACLimD,EAAWL,EAAI3lD,GACfmwC,EAAImV,EAAKtlD,GACb,GAAIgmD,EAAWD,EAAiB,OAAO5V,EAAIqV,EAAgBQ,EAAWD,EAAkBF,GAAiBE,EAAkBF,EAC3H,IAAI1oD,GAAK,EAAI0oD,EAPD,sBAO4BG,EACpCtnD,EAASvB,GAAKA,EAAI6oD,GAEtB,OAAItnD,EAASonD,GAAmBpnD,GAAWA,EAAeyxC,GAAI8V,KACvD9V,EAAIzxC,CACb,qCGhBA,IAAI0V,EAAShQ,MACTuhD,EAAMttD,KAAKstD,IACX3mC,EAAM3mB,KAAK2mB,IACXnf,EAAQxH,KAAKwH,MACbqmD,EAAM7tD,KAAK6tD,IACXC,EAAM9tD,KAAK8tD,WA4FfC,GAAiB,CACfC,KA3FS,SAAUnmD,EAAQomD,EAAgB7J,GAC3C,IAOI8J,EAAUC,EAAUxrB,EAPpBlX,EAAS1P,EAAOqoC,GAChBgK,EAAyB,EAARhK,EAAY6J,EAAiB,EAC9CI,GAAQ,GAAKD,GAAkB,EAC/BE,EAAQD,GAAQ,EAChBE,EAAwB,KAAnBN,EAAwBtnC,EAAI,GAAG,IAAOA,EAAI,GAAG,IAAO,EACzDsmC,EAAOplD,EAAS,GAAgB,IAAXA,GAAgB,EAAIA,EAAS,EAAI,EAAI,EAC1DI,EAAQ,EAmCZ,KAjCAJ,EAASylD,EAAIzlD,KAEEA,GAAUA,IAAW+lD,KAElCO,EAAWtmD,GAAWA,EAAS,EAAI,EACnCqmD,EAAWG,IAEXH,EAAW1mD,EAAMqmD,EAAIhmD,GAAUimD,GAE3BjmD,GADJ86B,EAAIhc,EAAI,GAAIunC,IACK,IACfA,IACAvrB,GAAK,IAGL96B,GADEqmD,EAAWI,GAAS,EACZC,EAAK5rB,EAEL4rB,EAAK5nC,EAAI,EAAG,EAAI2nC,IAEf3rB,GAAK,IAChBurB,IACAvrB,GAAK,GAEHurB,EAAWI,GAASD,GACtBF,EAAW,EACXD,EAAWG,GACFH,EAAWI,GAAS,GAC7BH,GAAYtmD,EAAS86B,EAAI,GAAKhc,EAAI,EAAGsnC,GACrCC,GAAYI,IAEZH,EAAWtmD,EAAS8e,EAAI,EAAG2nC,EAAQ,GAAK3nC,EAAI,EAAGsnC,GAC/CC,EAAW,IAGRD,GAAkB,GACvBxiC,EAAOxjB,KAAsB,IAAXkmD,EAClBA,GAAY,IACZF,GAAkB,EAIpB,IAFAC,EAAWA,GAAYD,EAAiBE,EACxCC,GAAkBH,EACXG,EAAiB,GACtB3iC,EAAOxjB,KAAsB,IAAXimD,EAClBA,GAAY,IACZE,GAAkB,EAGpB,OADA3iC,EAAOxjB,EAAQ,IAAa,IAAPglD,EACdxhC,CACT,EAoCE+iC,OAlCW,SAAU/iC,EAAQwiC,GAC7B,IAQIE,EARA/J,EAAQ34B,EAAOtmB,OACfipD,EAAyB,EAARhK,EAAY6J,EAAiB,EAC9CI,GAAQ,GAAKD,GAAkB,EAC/BE,EAAQD,GAAQ,EAChBI,EAAQL,EAAiB,EACzBnmD,EAAQm8C,EAAQ,EAChB6I,EAAOxhC,EAAOxjB,KACdimD,EAAkB,IAAPjB,EAGf,IADAA,IAAS,EACFwB,EAAQ,GACbP,EAAsB,IAAXA,EAAiBziC,EAAOxjB,KACnCwmD,GAAS,EAKX,IAHAN,EAAWD,GAAY,IAAMO,GAAS,EACtCP,KAAcO,EACdA,GAASR,EACFQ,EAAQ,GACbN,EAAsB,IAAXA,EAAiB1iC,EAAOxjB,KACnCwmD,GAAS,EAEX,GAAiB,IAAbP,EACFA,EAAW,EAAII,MACV,IAAIJ,IAAaG,EACtB,OAAOF,EAAW3rC,IAAMyqC,GAAQW,IAAWA,IAE3CO,GAAYxnC,EAAI,EAAGsnC,GACnBC,GAAYI,CAChB,CAAI,OAAQrB,KAAY,GAAKkB,EAAWxnC,EAAI,EAAGunC,EAAWD,EAC1D,yCChGA,IAAItsD,EAAW/D,KACXoK,EAAkB/I,KAClBoJ,EAAoBlJ,YAIxBuvD,GAAiB,SAAc/tD,GAO7B,IANA,IAAIuG,EAAIvF,EAASrB,MACb6E,EAASkD,EAAkBnB,GAC3BiV,EAAkBzd,UAAUyG,OAC5B8C,EAAQD,EAAgBmU,EAAkB,EAAIzd,UAAU,QAAKyD,EAAWgD,GACxE+iC,EAAM/rB,EAAkB,EAAIzd,UAAU,QAAKyD,EAC3CwsD,OAAiBxsD,IAAR+lC,EAAoB/iC,EAAS6C,EAAgBkgC,EAAK/iC,GACxDwpD,EAAS1mD,GAAOf,EAAEe,KAAWtH,EACpC,OAAOuG,CACT,wCCfA,IAAIhH,EAAatC,IACbe,EAAcM,IACduF,EAAcrF,KACd0rD,EAAsBtnD,KACtB2P,EAAe1P,KACf4I,EAA8B1I,KAC9B4W,EAAwBrQ,KACxB+U,EAAiBtS,KACjBjP,EAAQ2V,IACRmH,EAAalH,KACbzL,EAAsB0L,KACtBnL,EAAWoL,KACXy5C,EAAUx5C,KACVo7C,kCCbJ,IAAIC,EAAajxD,YASjBkxD,GAAiB9uD,KAAK4uD,QAAU,SAAgBlnD,GAC9C,OAAOmnD,EAAWnnD,EARE,sBACE,qBACA,sBAOxB,EDEagM,GACTq7C,EAAU7uC,KACV7O,EAAiB8O,KACjBtN,EAAiBuN,KACjBsuC,EAAYruC,KACZ9D,EAAa+D,KACb4zB,EAAoB3zB,KACpB3Q,EAA4B4Q,KAC5BzO,EAAiB0O,KACjBxS,EAAsByS,KAEtB/M,EAAuBT,EAAatF,OACpCI,EAA6BkF,EAAapM,aAC1CkoD,EAAe,cACfC,EAAY,WACZ/kD,EAAY,YAEZglD,EAAc,cACdC,EAA8BlhD,EAAoBf,UAAU8hD,GAC5DI,EAA2BnhD,EAAoBf,UAAU+hD,GACzD75C,EAAmBnH,EAAoB5B,IACvCgjD,EAAoBnvD,EAAW8uD,GAC/BM,EAAeD,EACfE,EAAuBD,GAAgBA,EAAaplD,GACpDslD,EAAYtvD,EAAW+uD,GACvBQ,EAAoBD,GAAaA,EAAUtlD,GAC3CoH,EAAkBjS,OAAOjB,UACzB2N,EAAQ7L,EAAW6L,MACnB8Q,EAAa3c,EAAW2c,WACxB6yC,EAAO/wD,EAAY+vD,GACnB/nB,EAAUhoC,EAAY,GAAGgoC,SAEzBgpB,EAAcZ,EAAQf,KACtB4B,EAAgBb,EAAQP,OAExBqB,EAAW,SAAUhoD,GACvB,MAAO,CAAU,IAATA,EACV,EAEIioD,EAAY,SAAUjoD,GACxB,MAAO,CAAU,IAATA,EAAeA,GAAU,EAAI,IACvC,EAEIkoD,EAAY,SAAUloD,GACxB,MAAO,CAAU,IAATA,EAAeA,GAAU,EAAI,IAAMA,GAAU,GAAK,IAAMA,GAAU,GAAK,IACjF,EAEImoD,EAAc,SAAUvkC,GAC1B,OAAOA,EAAO,IAAM,GAAKA,EAAO,IAAM,GAAKA,EAAO,IAAM,EAAIA,EAAO,EACrE,EAEIwkC,EAAc,SAAUpoD,GAC1B,OAAO8nD,EAAYf,EAAO/mD,GAAS,GAAI,EACzC,EAEIqoD,EAAc,SAAUroD,GAC1B,OAAO8nD,EAAY9nD,EAAQ,GAAI,EACjC,EAEImuB,EAAY,SAAUmS,EAAaznC,EAAKyN,GAC1CmM,EAAsB6tB,EAAYj+B,GAAYxJ,EAAK,CACjDE,cAAc,EACd2D,IAAK,WACH,OAAO4J,EAAiB7N,MAAMI,EACpC,GAEA,EAEI6D,GAAM,SAAU4rD,EAAMxtC,EAAO1a,EAAOmoD,GACtC,IAAIpvD,EAAQouD,EAAyBe,GACjCE,EAAWrD,EAAQ/kD,GACnBqoD,IAAuBF,EAC3B,GAAIC,EAAW1tC,EAAQ3hB,EAAM0jD,WAAY,MAAM,IAAI7nC,EAAWqyC,GAC9D,IAAI9K,EAAQpjD,EAAMojD,MACd9hC,EAAQ+tC,EAAWrvD,EAAMuvD,WACzBvC,EAAOzxC,EAAW6nC,EAAO9hC,EAAOA,EAAQK,GAC5C,OAAO2tC,EAAqBtC,EAAOrnB,EAAQqnB,EAC7C,EAEI3hD,GAAM,SAAU8jD,EAAMxtC,EAAO1a,EAAOuoD,EAAY7vD,EAAOyvD,GACzD,IAAIpvD,EAAQouD,EAAyBe,GACjCE,EAAWrD,EAAQ/kD,GACnB+lD,EAAOwC,GAAY7vD,GACnB2vD,IAAuBF,EAC3B,GAAIC,EAAW1tC,EAAQ3hB,EAAM0jD,WAAY,MAAM,IAAI7nC,EAAWqyC,GAG9D,IAFA,IAAI9K,EAAQpjD,EAAMojD,MACd9hC,EAAQ+tC,EAAWrvD,EAAMuvD,WACpBpnD,EAAI,EAAGA,EAAIwZ,EAAOxZ,IAAKi7C,EAAM9hC,EAAQnZ,GAAK6kD,EAAKsC,EAAqBnnD,EAAIwZ,EAAQxZ,EAAI,EAC/F,EAEA,GAAK0hD,EAqGE,CACL,IAAI4F,GAA8B98C,GAAwB07C,EAAkBtrD,OAASirD,EAEhFvxD,EAAM,WACT4xD,EAAkB,EACtB,IAAS5xD,EAAM,WACX,IAAI4xD,GAAkB,EAC1B,KAAQ5xD,EAAM,WAIV,OAHA,IAAI4xD,EACJ,IAAIA,EAAkB,KACtB,IAAIA,EAAkB7sC,KACc,IAA7B6sC,EAAkBlqD,QAAgBsrD,KAAgCziD,CAC7E,GAYayiD,IAA+BziD,GACxC5B,EAA4BijD,EAAmB,OAAQL,KAXvDM,EAAe,SAAqBnqD,GAElC,OADAoV,EAAWja,KAAMivD,GACVrb,EAAkB,IAAImb,EAAkBrC,EAAQ7nD,IAAU7E,KAAMgvD,EAC7E,GAEiBplD,GAAaqlD,EAE1BA,EAAqBzgD,YAAcwgD,EAEnC1/C,EAA0B0/C,EAAcD,IAMtCx8C,GAAkBxB,EAAeo+C,KAAuBn+C,GAC1DuB,EAAe48C,EAAmBn+C,GAIpC,IAAIo/C,GAAW,IAAIlB,EAAU,IAAIF,EAAa,IAC1CqB,GAAWhyD,EAAY8wD,EAAkBmB,SAC7CF,GAASE,QAAQ,EAAG,YACpBF,GAASE,QAAQ,EAAG,aAChBF,GAASG,QAAQ,IAAOH,GAASG,QAAQ,IAAI7xC,EAAeywC,EAAmB,CACjFmB,QAAS,SAAiBL,EAAY5vD,GACpCgwD,GAASrwD,KAAMiwD,EAAY5vD,GAAS,IAAM,GAChD,EACImwD,SAAU,SAAkBP,EAAY5vD,GACtCgwD,GAASrwD,KAAMiwD,EAAY5vD,GAAS,IAAM,GAChD,GACK,CAAEsO,QAAQ,GACf,MApIEsgD,GAdAD,EAAe,SAAqBnqD,GAClCoV,EAAWja,KAAMivD,GACjB,IAAI7K,EAAasI,EAAQ7nD,GACzBiQ,EAAiB9U,KAAM,CACrB8M,KAAM4hD,EACN5K,MAAOsL,EAAK3jD,EAAM24C,GAAa,GAC/BA,WAAYA,IAETlgD,IACHlE,KAAKokD,WAAaA,EAClBpkD,KAAKywD,UAAW,EAEtB,GAEsC7mD,GAyBpCulD,GAvBAD,EAAY,SAAkB/jC,EAAQ8kC,EAAY7L,GAChDnqC,EAAWja,KAAMmvD,GACjBl1C,EAAWkR,EAAQ8jC,GACnB,IAAIyB,EAAc7B,EAA4B1jC,GAC1CwlC,EAAeD,EAAYtM,WAC3BwM,EAAStpD,EAAoB2oD,GACjC,GAAIW,EAAS,GAAKA,EAASD,EAAc,MAAM,IAAIp0C,EAAW,gBAE9D,GAAIq0C,GADJxM,OAA4BviD,IAAfuiD,EAA2BuM,EAAeC,EAAS/oD,EAASu8C,IAC/CuM,EAAc,MAAM,IAAIp0C,EAnGnC,gBAoGfzH,EAAiB9U,KAAM,CACrB8M,KAAM6hD,EACNxjC,OAAQA,EACRi5B,WAAYA,EACZ6L,WAAYW,EACZ9M,MAAO4M,EAAY5M,QAEhB5/C,IACHlE,KAAKmrB,OAASA,EACdnrB,KAAKokD,WAAaA,EAClBpkD,KAAKiwD,WAAaW,EAExB,GAEgChnD,GAE1B1F,IACFwxB,EAAUs5B,EAAc,aAAcH,GACtCn5B,EAAUw5B,EAAW,SAAUJ,GAC/Bp5B,EAAUw5B,EAAW,aAAcJ,GACnCp5B,EAAUw5B,EAAW,aAAcJ,IAGrCpwC,EAAeywC,EAAmB,CAChCoB,QAAS,SAAiBN,GACxB,OAAOhsD,GAAIjE,KAAM,EAAGiwD,GAAY,IAAM,IAAM,EAClD,EACIY,SAAU,SAAkBZ,GAC1B,OAAOhsD,GAAIjE,KAAM,EAAGiwD,GAAY,EACtC,EACIa,SAAU,SAAkBb,GAC1B,IAAInM,EAAQ7/C,GAAIjE,KAAM,EAAGiwD,EAAY7xD,UAAUyG,OAAS,GAAIzG,UAAU,IACtE,OAAQ0lD,EAAM,IAAM,EAAIA,EAAM,KAAO,IAAM,EACjD,EACIiN,UAAW,SAAmBd,GAC5B,IAAInM,EAAQ7/C,GAAIjE,KAAM,EAAGiwD,EAAY7xD,UAAUyG,OAAS,GAAIzG,UAAU,IACtE,OAAO0lD,EAAM,IAAM,EAAIA,EAAM,EACnC,EACIkN,SAAU,SAAkBf,GAC1B,OAAOP,EAAYzrD,GAAIjE,KAAM,EAAGiwD,EAAY7xD,UAAUyG,OAAS,GAAIzG,UAAU,IACnF,EACI6yD,UAAW,SAAmBhB,GAC5B,OAAOP,EAAYzrD,GAAIjE,KAAM,EAAGiwD,EAAY7xD,UAAUyG,OAAS,GAAIzG,UAAU,OAAiB,CACpG,EACI8yD,WAAY,SAAoBjB,GAC9B,OAAOX,EAAcrrD,GAAIjE,KAAM,EAAGiwD,EAAY7xD,UAAUyG,OAAS,GAAIzG,UAAU,IAAa,GAClG,EACI+yD,WAAY,SAAoBlB,GAC9B,OAAOX,EAAcrrD,GAAIjE,KAAM,EAAGiwD,EAAY7xD,UAAUyG,OAAS,GAAIzG,UAAU,IAAa,GAClG,EACIkyD,QAAS,SAAiBL,EAAY5vD,GACpC0L,GAAI/L,KAAM,EAAGiwD,EAAYV,EAAUlvD,EACzC,EACImwD,SAAU,SAAkBP,EAAY5vD,GACtC0L,GAAI/L,KAAM,EAAGiwD,EAAYV,EAAUlvD,EACzC,EACI+wD,SAAU,SAAkBnB,EAAY5vD,GACtC0L,GAAI/L,KAAM,EAAGiwD,EAAYT,EAAWnvD,EAAOjC,UAAUyG,OAAS,GAAIzG,UAAU,GAClF,EACIizD,UAAW,SAAmBpB,EAAY5vD,GACxC0L,GAAI/L,KAAM,EAAGiwD,EAAYT,EAAWnvD,EAAOjC,UAAUyG,OAAS,GAAIzG,UAAU,GAClF,EACIkzD,SAAU,SAAkBrB,EAAY5vD,GACtC0L,GAAI/L,KAAM,EAAGiwD,EAAYR,EAAWpvD,EAAOjC,UAAUyG,OAAS,GAAIzG,UAAU,GAClF,EACImzD,UAAW,SAAmBtB,EAAY5vD,GACxC0L,GAAI/L,KAAM,EAAGiwD,EAAYR,EAAWpvD,EAAOjC,UAAUyG,OAAS,GAAIzG,UAAU,GAClF,EACIozD,WAAY,SAAoBvB,EAAY5vD,GAC1C0L,GAAI/L,KAAM,EAAGiwD,EAAYN,EAAatvD,EAAOjC,UAAUyG,OAAS,GAAIzG,UAAU,GACpF,EACIqzD,WAAY,SAAoBxB,EAAY5vD,GAC1C0L,GAAI/L,KAAM,EAAGiwD,EAAYL,EAAavvD,EAAOjC,UAAUyG,OAAS,GAAIzG,UAAU,GACpF,WAkDAqT,EAAeu9C,EAAcN,GAC7Bj9C,EAAey9C,EAAWP,GAE1B+C,GAAiB,CACflf,YAAawc,EACb1E,SAAU4E,sCEjQZ,IAAIprD,EAAWxG,KAEX4J,EAAQxH,KAAKwH,aAKjByqD,GAAiB1gC,OAAO2gC,WAAa,SAAmBlzD,GACtD,OAAQoF,EAASpF,IAAOy/C,SAASz/C,IAAOwI,EAAMxI,KAAQA,CACxD,qCCTA,IAAI4I,EAAsBhK,KAEtBgf,EAAcC,kBAElBs1C,GAAiB,SAAUnzD,GACzB,IAAIqH,EAASuB,EAAoB5I,GACjC,GAAIqH,EAAS,EAAG,MAAM,IAAIuW,EAAY,qCACtC,OAAOvW,CACT,qCCRA,IAAI8rD,EAAoBv0D,KAEpBgf,EAAcC,kBAElBu1C,GAAiB,SAAUpzD,EAAIqzD,GAC7B,IAAInB,EAASiB,EAAkBnzD,GAC/B,GAAIkyD,EAASmB,EAAO,MAAM,IAAIz1C,EAAY,gBAC1C,OAAOs0C,CACT,qCCRA,IAAIoB,EAAQtyD,KAAKsyD,aAEjBC,GAAiB,SAAUvzD,GACzB,IAAI2B,EAAQ2xD,EAAMtzD,GAClB,OAAO2B,EAAQ,EAAI,EAAIA,EAAQ,IAAO,IAAe,IAARA,CAC/C,qCCLA,IAAIzB,EAAUtB,YAEd40D,GAAiB,SAAUxzD,GACzB,IAAIstD,EAAQptD,EAAQF,GACpB,MAAiB,kBAAVstD,GAAuC,mBAAVA,CACtC,qCCLA,IAAIlmD,EAAcxI,KAEd8B,EAAaC,iBAIjB8yD,GAAiB,SAAU7wD,GACzB,IAAI8wD,EAAOtsD,EAAYxE,EAAU,UACjC,GAAmB,iBAAR8wD,EAAkB,MAAM,IAAIhzD,EAAW,kCAElD,OAAOizD,OAAOD,EAChB,qCCXA,IAAI30D,EAAOH,KACPS,EAAOY,KACPgqC,EAAe9pC,KACfwC,EAAW4B,KACX8E,EAAoB7E,KACpBmY,EAAcjY,KACdgY,EAAoBzR,KACpB4Q,EAAwBnO,KACxB8lD,EAAgBp/C,KAChBq5C,EAAyBp5C,KAA+Co5C,uBACxEgG,EAAWn/C,YAEfs/C,GAAiB,SAAcnxD,GAC7B,IAMI0H,EAAGhE,EAAQkB,EAAQwsD,EAAmBlyD,EAAO2b,EAAMhZ,EAAUgP,EAN7Dqd,EAAIsZ,EAAa3oC,MACjB4G,EAAIvF,EAASF,GACb0a,EAAkBzd,UAAUyG,OAC5BiX,EAAQD,EAAkB,EAAIzd,UAAU,QAAKyD,EAC7Cka,OAAoBla,IAAVia,EACVP,EAAiBH,EAAkBxU,GAEvC,GAAI2U,IAAmBhB,EAAsBgB,GAI3C,IAFAvJ,GADAhP,EAAWqY,EAAYzU,EAAG2U,IACVvJ,KAChBpL,EAAI,KACKoV,EAAOje,EAAKiU,EAAMhP,IAAW2R,MACpC/N,EAAE9F,KAAKkb,EAAK3b,OAShB,IANI0b,GAAWF,EAAkB,IAC/BC,EAAQre,EAAKqe,EAAO1d,UAAU,KAEhCyG,EAASkD,EAAkBnB,GAC3Bb,EAAS,IAAKomD,EAAuB98B,GAA5B,CAAgCxqB,GACzC0tD,EAAoBL,EAAcnsD,GAC7B8C,EAAI,EAAGhE,EAASgE,EAAGA,IACtBxI,EAAQ0b,EAAUD,EAAMlV,EAAEiC,GAAIA,GAAKjC,EAAEiC,GAErC9C,EAAO8C,GAAK0pD,EAAoBJ,EAAS9xD,IAAUA,EAErD,OAAO0F,CACT,wCCxCA,IAAIgC,EAAoBzK,YAExBk1D,GAAiB,SAAU3qB,EAAawa,EAAMoQ,GAI5C,IAHA,IAAI9qD,EAAQ,EACR9C,EAASzG,UAAUyG,OAAS,EAAI4tD,EAAU1qD,EAAkBs6C,GAC5Dt8C,EAAS,IAAI8hC,EAAYhjC,GACtBA,EAAS8C,GAAO5B,EAAO4B,GAAS06C,EAAK16C,KAC5C,OAAO5B,CACT,gDCRA,IAAI4M,EAAIrV,KACJsC,EAAajB,IACbZ,EAAOc,KACPqF,EAAcjB,KACdyvD,kCCHJ,IAAI9yD,EAAatC,IACbH,EAAQwB,IACR2oC,EAA8BzoC,KAC9BmsD,EAA4B/nD,KAA+C+nD,0BAE3ExY,EAAc5yC,EAAW4yC,YACzBgY,EAAY5qD,EAAW4qD,iBAE3BmI,IAAkB3H,IAA8B7tD,EAAM,WACpDqtD,EAAU,EACZ,KAAOrtD,EAAM,WACX,IAAIqtD,GAAU,EAChB,KAAOljB,EAA4B,SAAUG,GAC3C,IAAI+iB,EACJ,IAAIA,EAAU,MACd,IAAIA,EAAU,KACd,IAAIA,EAAU/iB,EAChB,GAAG,IAAStqC,EAAM,WAEhB,OAAkE,IAA3D,IAAIqtD,EAAU,IAAIhY,EAAY,GAAI,OAAG3wC,GAAWgD,MACzD,GDjBkD3B,GAC9C0vD,EAAsBxvD,KACtByvD,EAAoBlpD,KACpBsQ,EAAa7N,KACbR,EAA2BkH,KAC3BhH,EAA8BiH,KAC9B4+C,EAAmB3+C,KACnBnL,EAAWoL,KACXy5C,EAAUx5C,KACV4+C,EAAW1+C,KACX6+C,EAAiBryC,KACjB3Z,EAAgB4Z,KAChBre,EAASse,KACTlhB,EAAUmhB,KACVjc,EAAWkc,KACXhb,EAAWib,KACX3U,EAAS4U,KACTnb,EAAgBob,KAChB5N,EAAiB6N,KACjBpR,EAAsBsR,KAAsD3Z,EAC5E2rD,EAAiB/xC,KACjBjH,EAAUkH,KAAwClH,QAClDmvB,EAAahoB,KACbzG,EAAwB0G,KACxBpX,EAAuBqX,KACvBtR,EAAiCuR,KACjC4xC,EAA8B3xC,KAC9BlT,EAAsBmT,KACtB8yB,EAAoBkf,KAEpBjlD,EAAmBF,EAAoB1J,IACvC6Q,EAAmBnH,EAAoB5B,IACvC6B,EAAuBD,EAAoBhB,QAC3ComD,EAAuBzpD,EAAqB3C,EAC5CqsD,EAAiC3jD,EAA+B1I,EAChE4V,EAAa3c,EAAW2c,WACxBi2B,EAAcqgB,EAAkBrgB,YAChCyc,EAAuBzc,EAAY10C,UACnCwsD,EAAWuI,EAAkBvI,SAC7BU,EAA4B4H,EAAoB5H,0BAChDF,EAAkB8H,EAAoB9H,gBACtCF,EAAagI,EAAoBhI,WACjCC,EAAsB+H,EAAoB/H,oBAC1CkB,EAAe6G,EAAoB7G,aACnCkH,EAAoB,oBACpBC,EAAe,eAEfx9B,EAAY,SAAUh3B,EAAI0B,GAC5B4Z,EAAsBtb,EAAI0B,EAAK,CAC7BE,cAAc,EACd2D,IAAK,WACH,OAAO4J,EAAiB7N,MAAMI,EACpC,GAEA,EAEI+yD,EAAgB,SAAUz0D,GAC5B,IAAIstD,EACJ,OAAOjnD,EAAckqD,EAAsBvwD,IAAiC,iBAAzBstD,EAAQptD,EAAQF,KAAoC,sBAAVstD,CAC/F,EAEIoH,EAAoB,SAAU7jD,EAAQnP,GACxC,OAAO2rD,EAAax8C,KACdvK,EAAS5E,IACVA,KAAOmP,GACPoiD,GAAkBvxD,IAClBA,GAAO,CACd,EAEIizD,GAAkC,SAAkC9jD,EAAQnP,GAE9E,OADAA,EAAM6F,EAAc7F,GACbgzD,EAAkB7jD,EAAQnP,GAC7BwL,EAAyB,EAAG2D,EAAOnP,IACnC4yD,EAA+BzjD,EAAQnP,EAC7C,EAEIkzD,GAAwB,SAAwB/jD,EAAQnP,EAAK8M,GAE/D,OADA9M,EAAM6F,EAAc7F,KAChBgzD,EAAkB7jD,EAAQnP,IACzB0D,EAASoJ,IACT1L,EAAO0L,EAAY,WAClB1L,EAAO0L,EAAY,QACnB1L,EAAO0L,EAAY,QAEnBA,EAAW5M,cACVkB,EAAO0L,EAAY,cAAeA,EAAW3M,UAC7CiB,EAAO0L,EAAY,gBAAiBA,EAAWnG,WAI7CgsD,EAAqBxjD,EAAQnP,EAAK8M,IAFzCqC,EAAOnP,GAAO8M,EAAW7M,MAClBkP,EAEX,SAEIrL,GACG8mD,IACH37C,EAA+B1I,EAAI0sD,GACnC/pD,EAAqB3C,EAAI2sD,GACzB59B,EAAUm1B,EAAqB,UAC/Bn1B,EAAUm1B,EAAqB,cAC/Bn1B,EAAUm1B,EAAqB,cAC/Bn1B,EAAUm1B,EAAqB,WAGjCl4C,EAAE,CAAEpD,OAAQ,SAAUmB,MAAM,EAAME,QAASo6C,GAA6B,CACtE1kD,yBAA0B+sD,GAC1BnzD,eAAgBozD,KAGlBC,GAAA3yD,QAAiB,SAAUiM,EAAMgkC,EAAS2iB,GACxC,IAAIzB,EAAQllD,EAAK3K,MAAM,OAAO,GAAK,EAC/BwmC,EAAmB77B,GAAQ2mD,EAAU,UAAY,IAAM,QACvDC,EAAS,MAAQ5mD,EACjB6mD,EAAS,MAAQ7mD,EACjB8mD,EAA8B/zD,EAAW8oC,GACzC6jB,EAAwBoH,EACxBC,EAAiCrH,GAAyBA,EAAsBzuD,UAChF02C,EAAW,CAAA,EAYXqf,EAAa,SAAU95C,EAAMpS,GAC/BorD,EAAqBh5C,EAAMpS,EAAO,CAChC1D,IAAK,WACH,OAbO,SAAU8V,EAAMpS,GAC3B,IAAIkI,EAAOhC,EAAiBkM,GAC5B,OAAOlK,EAAKggD,KAAK4D,GAAQ9rD,EAAQoqD,EAAQliD,EAAKogD,YAAY,EAChE,CAUiB5hD,CAAOrO,KAAM2H,EAC9B,EACQoE,IAAK,SAAU1L,GACb,OAXO,SAAU0Z,EAAMpS,EAAOtH,GAClC,IAAIwP,EAAOhC,EAAiBkM,GAC5BlK,EAAKggD,KAAK6D,GAAQ/rD,EAAQoqD,EAAQliD,EAAKogD,WAAYuD,EAAUvB,EAAe5xD,GAASA,GAAO,EAClG,CAQiBiO,CAAOtO,KAAM2H,EAAOtH,EACrC,EACQ0G,YAAY,GAEpB,EAESikD,EAwCM0H,IACTnG,EAAwB1b,EAAQ,SAAUgD,EAAOhkC,EAAMikD,EAAkBrB,GAEvE,OADAx4C,EAAW45B,EAAO+f,GACXhgB,EACA9vC,EAAS+L,GACVsjD,EAActjD,QAA0BhO,IAAZ4wD,EAC5B,IAAIkB,EAA4B9jD,EAAMiiD,EAASgC,EAAkB/B,GAAQU,QACpD5wD,IAArBiyD,EACE,IAAIH,EAA4B9jD,EAAMiiD,EAASgC,EAAkB/B,IACjE,IAAI4B,EAA4B9jD,GAClCk8C,EAAal8C,GAAc2iD,EAA4BjG,EAAuB18C,GAC3E9R,EAAKu0D,EAAgB/F,EAAuB18C,GAPvB,IAAI8jD,EAA4BjH,EAAQ78C,IAQjEgkC,EAAO0Y,EACpB,GAEUh6C,GAAgBA,EAAeg6C,EAAuB3B,GAC1DtxC,EAAQtK,EAAoB2kD,GAA8B,SAAUvzD,GAC5DA,KAAOmsD,GACXzgD,EAA4BygD,EAAuBnsD,EAAKuzD,EAA4BvzD,GAE9F,GACMmsD,EAAsBzuD,UAAY81D,IA5DlCrH,EAAwB1b,EAAQ,SAAU92B,EAAMlK,EAAM+gD,EAAQ6B,GAC5Dx4C,EAAWF,EAAM65C,GACjB,IAEIzoC,EAAQi5B,EAAYv/C,EAFpB8C,EAAQ,EACRsoD,EAAa,EAEjB,GAAKnsD,EAAS+L,GAIP,KAAIsjD,EAActjD,GAalB,OAAIk8C,EAAal8C,GACf2iD,EAA4BjG,EAAuB18C,GAEnD9R,EAAKu0D,EAAgB/F,EAAuB18C,GAfnDsb,EAAStb,EACTogD,EAAa6B,EAASlB,EAAQmB,GAC9B,IAAIgC,EAAOlkD,EAAKu0C,WAChB,QAAgBviD,IAAZ4wD,EAAuB,CACzB,GAAIsB,EAAOhC,EAAO,MAAM,IAAIx1C,EAAW22C,GAEvC,IADA9O,EAAa2P,EAAO9D,GACH,EAAG,MAAM,IAAI1zC,EAAW22C,EACrD,MAEY,IADA9O,EAAav8C,EAAS4qD,GAAWV,GAChB9B,EAAa8D,EAAM,MAAM,IAAIx3C,EAAW22C,GAE3DruD,EAASu/C,EAAa2N,CAKhC,MApBUltD,EAAS6nD,EAAQ78C,GAEjBsb,EAAS,IAAIqnB,EADb4R,EAAav/C,EAASktD,GA2BxB,IAPAj9C,EAAiBiF,EAAM,CACrBoR,OAAQA,EACR8kC,WAAYA,EACZ7L,WAAYA,EACZv/C,OAAQA,EACRgrD,KAAM,IAAIvF,EAASn/B,KAEdxjB,EAAQ9C,GAAQgvD,EAAW95C,EAAMpS,IAChD,GAEU4K,GAAgBA,EAAeg6C,EAAuB3B,GAC1DgJ,EAAiCrH,EAAsBzuD,UAAYwN,EAAOu/C,IAyBxE+I,EAA+BplD,cAAgB+9C,GACjDzgD,EAA4B8nD,EAAgC,cAAerH,GAG7E3+C,EAAqBgmD,GAAgCrH,sBAAwBA,EAEzEzB,GACFh/C,EAA4B8nD,EAAgC9I,EAAiBpiB,GAG/E,IAAI70B,EAAS04C,IAA0BoH,EAEvCnf,EAAS9L,GAAoB6jB,EAE7B55C,EAAE,CAAE5S,QAAQ,EAAMyO,aAAa,EAAMoC,OAAQiD,EAAQhR,MAAOmoD,GAA6BxW,GAEnFye,KAAqB1G,GACzBzgD,EAA4BygD,EAAuB0G,EAAmBlB,GAGlEkB,KAAqBW,GACzB9nD,EAA4B8nD,EAAgCX,EAAmBlB,GAGjFtpB,EAAWC,EACf,GACO6qB,GAAA3yD,QAAiB,WAAY,uBE1OFtD,IAIlC02D,CAA4B,QAAS,SAAU1wC,GAC7C,OAAO,SAAoBzT,EAAMogD,EAAYprD,GAC3C,OAAOye,EAAKtjB,KAAM6P,EAAMogD,EAAYprD,EACxC,CACA,kDCRA,IAAI+tD,EAAsBt1D,KACtB22D,EAAQt1D,KACRwzD,EAAWtzD,KACXD,EAAUqE,KACVlF,EAAOmF,KACP7E,EAAc+E,IACdjG,EAAQwM,IAERuiD,EAAc0G,EAAoB1G,YAClCE,EAAyBwG,EAAoBxG,uBAC7C5tD,EAAQH,EAAY,GAAGG,OAY3B4tD,EAAuB,OAAQ,SAAc/rD,GAC3C,IAAIwE,EAASzG,UAAUyG,OACvBqnD,EAAYlsD,MACZ,IAAIk0D,EAA6C,QAA/B11D,EAAMI,EAAQoB,MAAO,EAAG,GAAemyD,EAAS9xD,IAAUA,EAC5E,OAAOtC,EAAKk2D,EAAOj0D,KAAMk0D,EAAarvD,EAAS,EAAIzG,UAAU,QAAKyD,EAAWgD,EAAS,EAAIzG,UAAU,QAAKyD,EAC3G,EAdqB1E,EAAM,WACzB,IAAIklB,EAAQ,EAGZ,OADA,IAAImoC,UAAU,GAAG4E,KAAK,CAAExpD,QAAS,WAAc,OAAOyc,GAAQ,IAC7C,IAAVA,CACT,qDClBA,IAAIziB,EAAatC,IACbH,EAAQwB,IACRN,EAAcQ,IACd+zD,EAAsB3vD,KACtBkxD,EAAiBjxD,KAGjBmO,EAFkBjO,IAEPI,CAAgB,YAC3B4nD,EAAaxrD,EAAWwrD,WACxBgJ,EAAc/1D,EAAY81D,EAAe1/C,QACzC4/C,EAAYh2D,EAAY81D,EAAelrD,MACvCqrD,EAAej2D,EAAY81D,EAAe3/C,SAC1C03C,EAAc0G,EAAoB1G,YAClCE,EAAyBwG,EAAoBxG,uBAC7CvB,EAAsBO,GAAcA,EAAWttD,UAE/Cy2D,GAAWp3D,EAAM,WACnB0tD,EAAoBx5C,GAAUtT,KAAK,CAAC,GACtC,GAEIy2D,IAAuB3J,GACtBA,EAAoBp2C,QACpBo2C,EAAoBx5C,KAAcw5C,EAAoBp2C,QAClB,WAApCo2C,EAAoBp2C,OAAOhR,KAE5BgxD,EAAmB,WACrB,OAAOL,EAAYlI,EAAYlsD,MACjC,EAIAosD,EAAuB,UAAW,WAChC,OAAOkI,EAAapI,EAAYlsD,MAClC,EAAGu0D,GAGHnI,EAAuB,OAAQ,WAC7B,OAAOiI,EAAUnI,EAAYlsD,MAC/B,EAAGu0D,GAGHnI,EAAuB,SAAUqI,EAAkBF,IAAYC,EAAoB,CAAE/wD,KAAM,WAG3F2oD,EAAuB/6C,EAAUojD,EAAkBF,IAAYC,EAAoB,CAAE/wD,KAAM,4DC5C3F,IAAI7D,EAAatC,IACbS,EAAOY,KACPi0D,EAAsB/zD,KACtBkJ,EAAoB9E,KACpB6uD,EAAW5uD,KACX1D,EAAkB4D,KAClBjG,EAAQwM,IAER4S,EAAa3c,EAAW2c,WACxBiuC,EAAY5qD,EAAW4qD,UACvBC,EAAqBD,GAAaA,EAAU1sD,UAC5C42D,EAAOjK,GAAsBA,EAAmB1+C,IAChDmgD,EAAc0G,EAAoB1G,YAClCE,EAAyBwG,EAAoBxG,uBAE7CuI,GAAkDx3D,EAAM,WAE1D,IAAIwhB,EAAQ,IAAI+rC,kBAAkB,GAElC,OADA3sD,EAAK22D,EAAM/1C,EAAO,CAAE9Z,OAAQ,EAAG,EAAG,GAAK,GACnB,IAAb8Z,EAAM,EACf,GAGIi2C,EAAgBD,GAAkD/B,EAAoB5H,2BAA6B7tD,EAAM,WAC3H,IAAIwhB,EAAQ,IAAI6rC,EAAU,GAG1B,OAFA7rC,EAAM5S,IAAI,GACV4S,EAAM5S,IAAI,IAAK,GACK,IAAb4S,EAAM,IAAyB,IAAbA,EAAM,EACjC,GAIAytC,EAAuB,MAAO,SAAazwC,GACzCuwC,EAAYlsD,MACZ,IAAI4wD,EAASkB,EAAS1zD,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EAAW,GACnEoJ,EAAMzL,EAAgBmc,GAC1B,GAAIg5C,EAAgD,OAAO52D,EAAK22D,EAAM10D,KAAMiL,EAAK2lD,GACjF,IAAI/rD,EAAS7E,KAAK6E,OACdiD,EAAMC,EAAkBkD,GACxBtD,EAAQ,EACZ,GAAIG,EAAM8oD,EAAS/rD,EAAQ,MAAM,IAAI0X,EAAW,gBAChD,KAAO5U,EAAQG,GAAK9H,KAAK4wD,EAASjpD,GAASsD,EAAItD,IACjD,GAAIgtD,GAAkDC,oDC1CtD,IAAIh1D,EAAatC,IACbe,EAAcM,KACdxB,EAAQ0B,IACRsG,EAAYlC,KACZ03C,EAAez3C,KACf0vD,EAAsBxvD,KACtBw3C,EAAKjxC,KACLkxC,EAAazuC,KACb0uC,EAAKhoC,KACLioC,EAAShoC,KAETm5C,EAAc0G,EAAoB1G,YAClCE,EAAyBwG,EAAoBxG,uBAC7Cd,EAAc1rD,EAAW0rD,YACzBtQ,EAAasQ,GAAejtD,EAAYitD,EAAYxtD,UAAU0b,MAG9Dq7C,KAA+B7Z,GAAgB79C,EAAM,WACvD69C,EAAW,IAAIsQ,EAAY,GAAI,KACjC,IAAMnuD,EAAM,WACV69C,EAAW,IAAIsQ,EAAY,GAAI,CAAA,EACjC,IAEInQ,IAAgBH,IAAe79C,EAAM,WAEvC,GAAI29C,EAAI,OAAOA,EAAK,GACpB,GAAIF,EAAI,OAAOA,EAAK,GACpB,GAAIC,EAAY,OAAO,EACvB,GAAIE,EAAQ,OAAOA,EAAS,IAE5B,IAEIpzC,EAAOmtD,EAFPn2C,EAAQ,IAAI2sC,EAAY,KACxB71B,EAAWhqB,MAAM,KAGrB,IAAK9D,EAAQ,EAAGA,EAAQ,IAAKA,IAC3BmtD,EAAMntD,EAAQ,EACdgX,EAAMhX,GAAS,IAAMA,EACrB8tB,EAAS9tB,GAASA,EAAQ,EAAImtD,EAAM,EAOtC,IAJA9Z,EAAWr8B,EAAO,SAAUna,EAAGggB,GAC7B,OAAQhgB,EAAI,EAAI,IAAMggB,EAAI,EAAI,EAClC,GAEO7c,EAAQ,EAAGA,EAAQ,IAAKA,IAC3B,GAAIgX,EAAMhX,KAAW8tB,EAAS9tB,GAAQ,OAAO,CAEjD,GAgBAykD,EAAuB,OAAQ,SAAcxtC,GAE3C,YADkB/c,IAAd+c,GAAyBzZ,EAAUyZ,GACnCu8B,EAAoBH,EAAWh7C,KAAM4e,GAElC+7B,EAAauR,EAAYlsD,MAlBb,SAAU4e,GAC7B,OAAO,SAAUxX,EAAGi9B,GAClB,YAAkBxiC,IAAd+c,GAAiCA,EAAUxX,EAAGi9B,IAAM,EAEpDA,GAAMA,GAAU,EAEhBj9B,GAAMA,EAAU,EACV,IAANA,GAAiB,IAANi9B,EAAgB,EAAIj9B,EAAI,GAAK,EAAIi9B,EAAI,EAAI,GAAI,EACrDj9B,EAAIi9B,CACf,CACA,CAQyCkX,CAAe38B,GACxD,GAAIu8B,GAAe0Z,oDCpEnB,IAAIzI,EAAyB9uD,KAA+C8uD,uBACxEjvD,EAAQwB,IACRiB,EAAaf,IACbR,EAAc4E,IAEdmoD,EAAaxrD,EAAWwrD,WACxB2J,EAAsB3J,GAAcA,EAAWttD,WAAa,CAAA,EAC5Dk3D,EAAgB,GAAG12D,SACnByP,EAAO1P,EAAY,GAAG0P,MAEtB5Q,EAAM,WAAc63D,EAAcj3D,KAAK,GAAI,KAC7Ci3D,EAAgB,WACd,OAAOjnD,EAAK/N,KAChB,GAGA,IAAIi1D,EAAsBF,EAAoBz2D,WAAa02D,EAI3D5I,EAAuB,WAAY4I,EAAeC,+DCpBlD,IAAIvpC,EAAOpuB,KACPkE,EAAS7C,KACTu2D,kCCFJ,IAAI1xD,EAAkBlG,YAEtB63D,GAAAxuD,EAAYnD,KDAuB3E,GAC/BqB,EAAiB+C,KAA+C0D,SAEpEyuD,GAAiB,SAAUrjD,GACzB,IAAInP,EAAS8oB,EAAK9oB,SAAW8oB,EAAK9oB,OAAS,CAAA,GACtCpB,EAAOoB,EAAQmP,IAAO7R,EAAe0C,EAAQmP,EAAM,CACtD1R,MAAO60D,EAA6BvuD,EAAEoL,IAE1C,EECA,SAAS3C,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,WCZ1Z1zB,IAI5B+3D,CAAsB,kBDsBf,MAAMC,WAA6BnU,GACxC,WAAA3yC,CAAYyyC,EAAUjP,EAAWujB,EAAgBnnD,EAAU,CAAA,GACzD,IAAI20C,EAAeC,EAAkBwS,EACrC5jB,MAAMqP,EAA6C,QAAlC8B,EAAgB30C,EAAQtB,YAAoC,IAAlBi2C,EAA2BA,EAAgBI,GAAmBviB,KAA+C,QAAxCoiB,EAAmB50C,EAAQgzC,eAA0C,IAArB4B,GAA8BA,EAAyB50C,EAAQ7B,SAAmD,QAAxCipD,EAAmBpnD,EAAQizC,eAA0C,IAArBmU,GAA8BA,EAAyBpnD,EAAQpN,MACzWkwB,GAAgBlxB,KAAM,oBAAqB,MAC3CkxB,GAAgBlxB,KAAM,iBAAkBgiC,KAAKC,OAE7C/Q,GAAgBlxB,KAAM,iBAAiB,GACvCkxB,GAAgBlxB,KAAM,gBAAiB,IACvCA,KAAKgyC,UAAYA,EACjBhyC,KAAKu1D,eAAiBA,EACtBv1D,KAAKw4C,UAAYpqC,EAAQoqC,UACzBx4C,KAAKy1D,YAAcrnD,EAAQqnD,YAC3Bz1D,KAAKimD,UAAY73C,EAAQ63C,UAGzBjmD,KAAKu1D,eAAexQ,sBAAsB9D,EAAUjhD,KAAK01D,oBAAoBj4D,KAAKuC,OAElFA,KAAK21D,YAAY,GAGjB31D,KAAKywC,KAAKjP,GAAYC,MAAO,CAC3Bwf,SAAUjhD,KAAKihD,SACfn0C,KAAM9M,KAAK8M,KACXs0C,QAASphD,KAAKohD,QACdpgD,KAAMhB,KAAKgB,KACXuL,SAAUvM,KAAKuM,UAEnB,CACA,WAAAqpD,CAAY9oD,EAAMiY,GAChB,IAAI8sB,EAAU+D,GAAkB9oC,EAAM9M,KAAKgyC,UAAW,CACpDwG,UAAWx4C,KAAKw4C,UAChBzzB,KAAMmR,GAAc,CAClB+qB,SAAUjhD,KAAKihD,UACdl8B,KAEL/kB,KAAKu1D,eAAetrB,YAAY4H,EAClC,CACA,WAAA8jB,CAAYtQ,GACV,GAAKA,KAAUA,GAAU,KACrBrlD,KAAKuhD,SAAWD,GAAoBlgB,SAAWphC,KAAKuhD,SAAWD,GAAoBjgB,WACvF,IACErhC,KAAK41D,YAAYv2B,GAAYW,YAAa,CACxCqlB,WAEFrlD,KAAKywC,KAAKjP,GAAYV,KAAM,CAC1BukB,UAEJ,CAAE,MAAOnD,GAET,CACF,CACA,oBAAA2T,GACM71D,KAAK81D,gBACT91D,KAAK81D,eAAgB,EACrBvzB,QAAQC,UAAUC,KAAK,KAErB,GADAziC,KAAK81D,eAAgB,EACjB91D,KAAKuhD,SAAWD,GAAoBlgB,SAAWphC,KAAKuhD,SAAWD,GAAoBjgB,UAAvF,CACA,IAAI00B,EAAOr2D,KAAK8H,IAAI,EAAGxH,KAAKg2D,cAAgBh2D,KAAK2iD,OAAO99C,QACpDkxD,EAAO,GACT/1D,KAAK21D,YAAYI,EAH+E,IAMtG,CAGA,SAAIzpD,GACF,OAAOslC,MAAMtlC,KACf,CAKA,mBAAAopD,CAAoB7lD,GAGlB,OADA7P,KAAKi2D,eAAiBj0B,KAAKC,MACnBpyB,EAAK/C,MACX,KAAKk0B,GAA0BJ,KAC7B5gC,KAAKk2D,WAAWrmD,EAAKA,KAAMA,EAAK8E,KAAM9E,EAAKs5C,KAC3C,MACF,KAAKnoB,GAA0BC,IAC7BjhC,KAAKm2D,YACL,MACF,KAAKn1B,GAA0BzI,MAC7Bv4B,KAAKo2D,YAAY,IAAIpV,GAAyB,CAC5CnP,QAAShiC,EAAKxS,OAASu+B,GAAS3C,aAChCxZ,KAAMsf,GAAU9F,aAChBgoB,SAAUjhD,KAAKihD,SACfjP,UAAWhyC,KAAKgyC,aAElB,MACF,KAAKhR,GAA0BE,OAC7BlhC,KAAKq2D,aAAaxmD,EAAKygC,QAM7B,CAKA,UAAA4lB,CAAWrmD,EAAM8E,EAAMw0C,GACrB,GAAInpD,KAAKuhD,SAAWD,GAAoBlgB,SAAWphC,KAAKuhD,SAAWD,GAAoBjgB,UAAvF,CACArhC,KAAKuhD,OAASD,GAAoBjgB,UAClC,IAAIi1B,EAAUt2D,KAAKu2D,WAAW1mD,GAC9B7P,KAAK2iD,OAAO7hD,KAAKw1D,GACjBt2D,KAAKywC,KAAKjP,GAAYZ,KAAM,CAC1B8hB,MAAO4T,EACP3hD,OACAw0C,QAEFnpD,KAAKywC,KAAKjP,GAAY/0B,MAAO,CAC3BH,MAAOtM,KAAKuhD,SAEdvhD,KAAKmiD,gBACLniD,KAAK61D,uBACDlhD,GACF3U,KAAKm2D,WAf2F,CAiBpG,CAKA,UAAAI,CAAW1mD,GACT,OAAOA,CACT,CAKA,SAAAsmD,GACE,IAAIK,EACAx2D,KAAKuhD,SAAWD,GAAoBhgB,QACxCsQ,MAAMhK,MACN5nC,KAAKu1D,eAAepQ,wBAAwBnlD,KAAKihD,UACjDjhD,KAAKmiD,gBAC0C,QAA9CqU,EAAsBx2D,KAAKy2D,yBAA2BD,GAAkCA,EAAoBz4D,KAAKiC,MAClHA,KAAKiiD,oBACP,CAKA,WAAAyU,GACE,GAA2B,IAAvB12D,KAAK2iD,OAAO99C,OAGhB,OAA2B,IAAvB7E,KAAK2iD,OAAO99C,OACP7E,KAAK2iD,OAAO,GAGd3iD,KAAK2iD,MACd,CAKA,WAAAyT,CAAY/4D,GACV,IAAIs5D,EACA32D,KAAKuhD,SAAWD,GAAoBhgB,OAASthC,KAAKuhD,SAAWD,GAAoB/oB,QACrFqZ,MAAM7B,KAAK1yC,GACX2C,KAAKu1D,eAAepQ,wBAAwBnlD,KAAKihD,UACjDjhD,KAAKmiD,gBAC8C,QAAlDwU,EAAwB32D,KAAK42D,uBAAuD,IAA1BD,GAAoCA,EAAsB54D,KAAKiC,KAAM3C,GAChI2C,KAAKiiD,oBACP,CAKA,YAAAoU,CAAa/lB,GACXtwC,KAAK62D,eAAevmB,GAAQ,EAC9B,CAOA,cAAAumB,CAAevmB,EAAQwmB,GAAe,GACpC,GAAI92D,KAAKuhD,SAAWD,GAAoBhgB,OAASthC,KAAKuhD,SAAWD,GAAoB/oB,OAASv4B,KAAKuhD,SAAWD,GAAoB/f,UAAlI,CAOA,GANAqQ,MAAM4Q,OAAOzmB,GAAcH,GAAS5C,iBAAkBsX,GAAU,KAChEtwC,KAAKmiD,gBACLniD,KAAKywC,KAAKjP,GAAYN,OAAQ,CAC5BoP,SACAkV,OAAQsR,IAENA,EACF,IAEE,IAAIC,EAAWnhB,GAAkBvW,GAAYU,cAAe//B,KAAKgyC,UAAW,CAC1EwG,UAAWx4C,KAAKw4C,UAChBzzB,KAAM,CACJk8B,SAAUjhD,KAAKihD,SACf3Q,YAGJtwC,KAAKu1D,eAAetrB,YAAY8sB,EAClC,CAAE,MAAOzU,GAET,CAIA,IAAI0U,EAGAC,EAJN,GADAj3D,KAAKu1D,eAAepQ,wBAAwBnlD,KAAKihD,UAC7CjhD,KAAK4hD,cAE6C,QAAnDoV,EAAyBh3D,KAAK42D,2BAA6BI,GAAqCA,EAAuBj5D,KAAKiC,KAAMA,KAAK4hD,oBAGpF,QAAnDqV,EAAyBj3D,KAAK42D,uBAAwD,IAA3BK,GAAqCA,EAAuBl5D,KAAKiC,KAAM,IAAIghD,GAAyB,CAC9JnP,QAASjW,GAAS5C,iBAClBvZ,KAAMsf,GAAU/F,iBAChBioB,SAAUjhD,KAAKihD,SACfjP,UAAWhyC,KAAKgyC,aAGpBhyC,KAAKiiD,mBAnCwI,CAoC/I,CACA,gBAAA2D,GACE,IAAIC,EAAQ7lD,KACZ,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASuf,IACtE,OAAOxgB,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EACH,GAAI6zC,EAAMI,UAAW,CACnBD,EAASh0C,KAAO,EAChB,KACF,CACA,OAAOg0C,EAASngB,OAAO,UAAU,GACnC,KAAK,EAMH,OALKggB,EAAMK,oBACTL,EAAMK,kBAAoB3jB,QAAQC,UAAUC,KAAK,IAAMojB,EAAMI,aAAargB,MAAM,KAAM,GAAOkb,QAAQ,KACnG+E,EAAMK,kBAAoB,QAGvBF,EAASngB,OAAO,SAAUggB,EAAMK,mBACzC,KAAK,EACL,IAAK,MACH,OAAOF,EAASrgB,OAEtB,EAAGmgB,EACL,GArBOpjB,EAsBT,CACA,4BAAAw0B,GACE,IAAI9Q,EAASpmD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAAS+f,IACtE,IAAI6Q,EAAQC,EAAUC,EAASC,EAC/B,OAAOhyB,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EAEH,IADAmlD,EAAS/Q,EAAO7E,UACCD,GAAoBhgB,OAAS61B,IAAW7V,GAAoB/oB,OAAS4+B,IAAW7V,GAAoB/f,UAAY,CAC/HglB,EAAUv0C,KAAO,EACjB,KACF,CACA,OAAOu0C,EAAU1gB,OAAO,UAC1B,KAAK,EACH,GAAOugB,EAAOqP,eAAerP,EAAOqP,aAAe,GAAI,CACrDlP,EAAUv0C,KAAO,EACjB,KACF,CAEA,OADAu0C,EAAUv0C,KAAO,EACVo0C,EAAO7D,gBAChB,KAAK,EACH,OAAOgE,EAAU1gB,OAAO,UAC1B,KAAK,EAIH,OAHAuxB,EAAWhR,EAAO6P,eAClBoB,EAAU,KACV9Q,EAAUv0C,KAAO,EACVuwB,QAAQ+O,KAAK,CAAC8U,EAAO7D,gBAAiB,IAAIhgB,QAAQC,IACvD60B,EAAU3sB,WAAWlI,EAAS4jB,EAAOqP,iBAEzC,KAAK,EAKH,GAJI4B,GAAS1R,aAAa0R,IAG1BC,EAAalR,EAAO7E,UACCD,GAAoBhgB,OAASg2B,IAAehW,GAAoB/oB,OAAS++B,IAAehW,GAAoB/f,UAAY,CAC3IglB,EAAUv0C,KAAO,EACjB,KACF,CACA,OAAOu0C,EAAU1gB,OAAO,UAC1B,KAAK,EACH,GAAMugB,EAAO6P,iBAAmBmB,EAAW,CACzC7Q,EAAUv0C,KAAO,EACjB,KACF,CACA,OAAOu0C,EAAU1gB,OAAO,UAC1B,KAAK,EAEH,OADA0gB,EAAUv0C,KAAO,EACVo0C,EAAOR,mBAChB,KAAK,EAEH,IADKW,EAAUpgB,KACN,CACPogB,EAAUv0C,KAAO,EACjB,KACF,CAGA,OADAo0C,EAAO6P,eAAiBj0B,KAAKC,MACtBskB,EAAU1gB,OAAO,UAC1B,KAAK,EAEHugB,EAAO3V,KAAKjP,GAAYxC,QAAS,CAC/BqnB,QAASD,EAAOqP,cAElBrP,EAAOgQ,YAAY,IAAIpV,GAAyB,CAC9CnP,QAAS9V,GAAcH,GAAS1C,eAAgBktB,EAAOqP,aACvDh2C,KAAMsf,GAAU7F,eAChB+nB,SAAUmF,EAAOnF,SACjBjP,UAAWoU,EAAOpU,aAEtB,KAAK,EACL,IAAK,MACH,OAAOuU,EAAU5gB,OAEvB,EAAG2gB,EACL,GAvEO5jB,EAwET,CAKA,IAAA60B,GACE,IAAI7P,EAAS1nD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASohB,IACtE,IAAI6P,EAAQC,EACZ,OAAOnyB,GAAoBc,KAAK,SAAUwhB,GACxC,cAAkBA,EAAU1hB,KAAO0hB,EAAU51C,MAC3C,KAAK,EACH,GAAM01C,EAAOnG,SAAWD,GAAoBhgB,MAAQ,CAClDsmB,EAAU51C,KAAO,EACjB,KACF,CAKA,OAJAwlD,EAAS9P,EAAOgP,cAChBhP,EAAOjX,KAAKjP,GAAYE,KAAM,CAC5BrhC,MAAOm3D,IAEF5P,EAAU/hB,OAAO,SAAU2xB,GACpC,KAAK,EACH,GAAM9P,EAAOnG,SAAWD,GAAoB/oB,OAASmvB,EAAOnG,SAAWD,GAAoB/f,UAAY,CACrGqmB,EAAU51C,KAAO,EACjB,KACF,CACA,MAAM01C,EAAO9F,eAAiB,IAAIZ,GAAyB,CACzDnP,QAASjW,GAAStC,kBAClB7Z,KAAMsf,GAAUzF,kBAChB2nB,SAAUyG,EAAOzG,SACjBjP,UAAW0V,EAAO1V,YAEtB,KAAK,EACH,GAAM0V,EAAOnG,SAAWD,GAAoBlgB,SAAWsmB,EAAOnG,SAAWD,GAAoBjgB,UAAY,CACvGumB,EAAU51C,KAAO,EACjB,KACF,CAKA,OAJ6B,IAAzB01C,EAAO/E,OAAO99C,QAChB6iD,EAAOiO,YAAY,GAErB/N,EAAU51C,KAAO,EACV01C,EAAOwP,+BAChB,KAAK,EACHtP,EAAU51C,KAAO,EACjB,MACF,KAAK,EACH,GAAM01C,EAAOnG,SAAWD,GAAoBhgB,MAAQ,CAClDsmB,EAAU51C,KAAO,EACjB,KACF,CAKA,OAJAylD,EAAU/P,EAAOgP,cACjBhP,EAAOjX,KAAKjP,GAAYE,KAAM,CAC5BrhC,MAAOo3D,IAEF7P,EAAU/hB,OAAO,SAAU4xB,GACpC,KAAK,EACH,MAAM/P,EAAO9F,eAAiB,IAAIZ,GAAyB,CACzDnP,QAASjW,GAAStC,kBAClB7Z,KAAMsf,GAAUzF,kBAChB2nB,SAAUyG,EAAOzG,SACjBjP,UAAW0V,EAAO1V,YAEtB,KAAK,EACL,IAAK,MACH,OAAO4V,EAAUjiB,OAEvB,EAAGgiB,EACL,GA5DOjlB,EA6DT,CAKA,OAAAg1B,GACE,IAAIhP,EAAS1oD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASoiB,IACtE,IAAItG,EAAMsV,EACV,OAAOryB,GAAoBc,KAAK,SAAU0iB,GACxC,cAAkBA,EAAU5iB,KAAO4iB,EAAU92C,MAC3C,KAAK,EACH,GAAM02C,EAAOnH,SAAWD,GAAoBhgB,MAAQ,CAClDwnB,EAAU92C,KAAO,EACjB,KACF,CAKA,OAJAqwC,EAAOqG,EAAO/F,OAAOnkD,QACrBkqD,EAAOjY,KAAKjP,GAAYE,KAAM,CAC5BrhC,MAAOgiD,IAEFyG,EAAUjjB,OAAO,SAAUwc,GACpC,KAAK,EACH,GAAMqG,EAAOnH,SAAWD,GAAoB/oB,OAASmwB,EAAOnH,SAAWD,GAAoB/f,UAAY,CACrGunB,EAAU92C,KAAO,EACjB,KACF,CACA,MAAM02C,EAAO9G,eAAiB,IAAIZ,GAAyB,CACzDnP,QAASjW,GAAStC,kBAClB7Z,KAAMsf,GAAUzF,kBAChB2nB,SAAUyH,EAAOzH,SACjBjP,UAAW0W,EAAO1W,YAEtB,KAAK,EACH,GAAM0W,EAAOnH,SAAWD,GAAoBlgB,SAAWsnB,EAAOnH,SAAWD,GAAoBjgB,UAAY,CACvGynB,EAAU92C,KAAO,EACjB,KACF,CAGA,OAFA02C,EAAOmN,uBACP/M,EAAU92C,KAAO,EACV02C,EAAOwO,+BAChB,KAAK,EACHpO,EAAU92C,KAAO,EACjB,MACF,KAAK,EACH,GAAM02C,EAAOnH,SAAWD,GAAoBhgB,MAAQ,CAClDwnB,EAAU92C,KAAO,EACjB,KACF,CAKA,OAJA2lD,EAAQjP,EAAO/F,OAAOnkD,QACtBkqD,EAAOjY,KAAKjP,GAAYE,KAAM,CAC5BrhC,MAAOs3D,IAEF7O,EAAUjjB,OAAO,SAAU8xB,GACpC,KAAK,EACH,MAAMjP,EAAO9G,eAAiB,IAAIZ,GAAyB,CACzDnP,QAASjW,GAAStC,kBAClB7Z,KAAMsf,GAAUzF,kBAChB2nB,SAAUyH,EAAOzH,SACjBjP,UAAW0W,EAAO1W,YAEtB,KAAK,EACL,IAAK,MACH,OAAO8W,EAAUnjB,OAEvB,EAAGgjB,EACL,GA1DOjmB,EA2DT,CAKA,CAAC9/B,OAAOiiC,iBACN,IAAIl9B,EAAQ,EACRiwD,EAAS53D,KACb,MAAO,CACLgS,KAAI,IACK0wB,GAA+B4C,GAAoBiB,KAAK,SAASsxB,IACtE,IAAIx3D,EACJ,OAAOilC,GAAoBc,KAAK,SAAU0xB,GACxC,cAAkBA,EAAU5xB,KAAO4xB,EAAU9lD,MAC3C,KAAK,EACH,KAAMrK,GAASiwD,EAAOjV,OAAO99C,QAAS,CACpCizD,EAAU9lD,KAAO,EACjB,KACF,CACA,GAAM4lD,EAAOrW,SAAWD,GAAoBhgB,OAASs2B,EAAOrW,SAAWD,GAAoB/oB,OAASq/B,EAAOrW,SAAWD,GAAoB/f,UAAY,CACpJu2B,EAAU9lD,KAAO,EACjB,KACF,CACA,OAAO8lD,EAAUjyB,OAAO,SAAU,CAChClxB,MAAM,EACNtU,WAAOwB,IAEX,KAAK,EAIH,OAFA+1D,EAAOjC,YAAY,GACnBmC,EAAU9lD,KAAO,EACV4lD,EAAOV,+BAChB,KAAK,EACHY,EAAU9lD,KAAO,EACjB,MACF,KAAK,EAeH,OAdA3R,EAAQu3D,EAAOjV,OAAOh7C,KACtBiwD,EAAOnnB,KAAKjP,GAAYE,KAAM,CAC5BrhC,UAEEu3D,EAAOvW,SAKL15C,EAAQ,MACViwD,EAAOjV,OAASiV,EAAOjV,OAAOnkD,MAAMmJ,GACpCA,EAAQ,GAGLmwD,EAAUjyB,OAAO,SAAU,CAChClxB,MAAM,EACNtU,UAEJ,KAAK,EACL,IAAK,MACH,OAAOy3D,EAAUnyB,OAEvB,EAAGkyB,EACL,GAjDOn1B,GAoDb,CAKA,KAAAinB,CAAMrZ,GACJtwC,KAAK62D,eAAevmB,GAAQ,EAC9B,CAKA,MAAAkS,CAAOlS,GACLtwC,KAAK62D,eAAevmB,GAAQ,EAC9B,CAKA,KAAAynB,CAAMtzC,GACJzkB,KAAKy2D,cAAgBhyC,EACjBzkB,KAAKuhD,SAAWD,GAAoBhgB,OACtC7c,GAEJ,CAKA,OAAAuzC,CAAQvzC,GACNzkB,KAAK42D,gBAAkBnyC,CACzB,EE1jBF,SAAS4yB,GAA2BtmB,EAAGC,GAAK,IAAIjT,EAAI,oBAAsBnb,QAAUmuB,EAAEnuB,OAAOI,WAAa+tB,EAAE,cAAe,IAAKhT,EAAG,CAAE,GAAItS,MAAMwP,QAAQ8V,KAAOhT,EAC9J,SAAqCgT,EAAGvsB,GAAK,GAAIusB,EAAG,CAAE,GAAI,iBAAmBA,EAAG,OAAO8R,GAAkB9R,EAAGvsB,GAAI,IAAIuZ,EAAI,CAAA,EAAGzf,SAASP,KAAKgzB,GAAGvyB,MAAM,GAAG,GAAK,MAAO,WAAauf,GAAKgT,EAAEviB,cAAgBuP,EAAIgT,EAAEviB,YAAY/K,MAAO,QAAUsa,GAAK,QAAUA,EAAItS,MAAM03B,KAAKpS,GAAK,cAAgBhT,GAAK,2CAA2CvgB,KAAKugB,GAAK8kB,GAAkB9R,EAAGvsB,QAAK,CAAQ,CAAE,CADvN8yC,CAA4BvmB,KAAOC,EAAuC,CAAEjT,IAAMgT,EAAIhT,GAAI,IAAIw5B,EAAK,EAAGnsC,EAAI,WAAc,EAAG,MAAO,CAAEosC,EAAGpsC,EAAG/D,EAAG,WAAe,OAAOkwC,GAAMxmB,EAAElsB,OAAS,CAAE8P,MAAM,GAAO,CAAEA,MAAM,EAAItU,MAAO0wB,EAAEwmB,KAAS,EAAGvmB,EAAG,SAAWD,GAAK,MAAMA,CAAG,EAAGpqB,EAAGyE,EAAK,CAAE,MAAM,IAAI/L,UAAU,wIAA0I,CAAE,IAAIyxB,EAAGtsB,GAAI,EAAI89B,GAAI,EAAI,MAAO,CAAEkV,EAAG,WAAez5B,EAAIA,EAAEhgB,KAAKgzB,EAAI,EAAG1pB,EAAG,WAAe,IAAI0pB,EAAIhT,EAAE/L,OAAQ,OAAOxN,EAAIusB,EAAEpc,KAAMoc,CAAG,EAAGC,EAAG,SAAWD,GAAKuR,GAAI,EAAIxR,EAAIC,CAAG,EAAGpqB,EAAG,WAAe,IAAMnC,GAAK,MAAQuZ,EAAEynB,QAAUznB,EAAEynB,QAAU,CAAC,QAAW,GAAIlD,EAAG,MAAMxR,CAAG,CAAE,EAAK,CAEr1B,SAAS+R,GAAkB9R,EAAGvsB,IAAM,MAAQA,GAAKA,EAAIusB,EAAElsB,UAAYL,EAAIusB,EAAElsB,QAAS,IAAK,IAAImsB,EAAI,EAAG3pB,EAAIoE,MAAMjH,GAAIwsB,EAAIxsB,EAAGwsB,IAAK3pB,EAAE2pB,GAAKD,EAAEC,GAAI,OAAO3pB,CAAG,CACnJ,SAAS+H,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CAyBtb,SAASinC,GAAmBC,GAO1B,IAFA,IACIprC,EAAQ,GACHjkB,EAAI,EAAGA,EAAIqvD,EAAWrzD,OAAQgE,GAFvB,MAEuC,CACrD,IAAI65C,EAAQwV,EAAWC,SAAStvD,EAAGA,EAHrB,OAIdikB,EAAMhsB,KAAKmB,OAAOua,aAAare,MAAM,KAAMukD,GAC7C,CACA,OAAO0V,KAAKtrC,EAAM/e,KAAK,IACzB,CAkBO,MAAMsqD,WAAiCvV,GAC5C,WAAAt0C,CAAYJ,GACVwjC,MAAM1b,GAAcA,GAAc,CAAA,EAAI9nB,GAAU,CAAA,EAAI,CAClDtB,KAAMq2C,GAAmBl5B,KACzB1d,SAAU2pB,GAAcA,GAAc,CAAA,EAAI9nB,EAAQ7B,UAAW,GAAI,CAC/D+rD,SAAUlqD,EAAQkqD,SAClBC,SAAUnqD,EAAQmqD,UAAY,2BAC9B5/C,KAAMvK,EAAQuK,UAGlB3Y,KAAKs4D,SAAWlqD,EAAQkqD,SACxBt4D,KAAKu4D,SAAWnqD,EAAQmqD,UAAY,2BACpCv4D,KAAK2Y,KAAOvK,EAAQuK,IACtB,CAKA,UAAAywC,CAAWv5C,GACT,OAAIA,aAAgBu7C,WACX6M,GAAmBpoD,GAExBA,aAAgB2iC,YACXylB,GAAmB,IAAI7M,WAAWv7C,IAEvB,iBAATA,EAEFA,EAGF5N,OAAO4N,EAChB,EAOK,MAAM2oD,WAAiClD,GAC5C,WAAA9mD,CAAYyyC,EAAUjP,EAAWujB,EAAgBnnD,EAAU,CAAA,GACzD,IAAIqqD,EAAmBC,EAAoBC,EAC3C/mB,MAAMqP,EAAUjP,EAAWujB,EAAgBr/B,GAAcA,GAAc,CAAA,EAAI9nB,GAAU,GAAI,CACvFtB,KAAMq2C,GAAmBl5B,QAE3BjqB,KAAKs4D,SAAWlqD,EAAQkqD,WAAwD,QAA1CG,EAAoBrqD,EAAQ7B,gBAA4C,IAAtBksD,OAA+B,EAASA,EAAkBH,UAClJt4D,KAAKu4D,SAAWnqD,EAAQmqD,WAAyD,QAA3CG,EAAqBtqD,EAAQ7B,gBAA6C,IAAvBmsD,OAAgC,EAASA,EAAmBH,UACrJv4D,KAAK2Y,KAAOvK,EAAQuK,OAAqD,QAA3CggD,EAAqBvqD,EAAQ7B,gBAA6C,IAAvBosD,OAAgC,EAASA,EAAmBhgD,KAC/I,CAKA,UAAA49C,CAAW1mD,GACT,MAAoB,iBAATA,EAlEf,SAA4B+oD,GAG1B,IAFA,IAAIC,EAASC,KAAKF,GACdV,EAAa,IAAI9M,WAAWyN,EAAOh0D,QAC9BgE,EAAI,EAAGA,EAAIgwD,EAAOh0D,OAAQgE,IACjCqvD,EAAWrvD,GAAKgwD,EAAOzgD,WAAWvP,GAEpC,OAAOqvD,CACT,CA4Daa,CAAmBlpD,GAExBA,aAAgBu7C,WACXv7C,EAELA,aAAgB2iC,YACX,IAAI4Y,WAAWv7C,GAEjB,IAAIu7C,UACb,CAKA,WAAAsL,GACE,IAAI/T,EAAS3iD,KAAK2iD,OAClB,GAAsB,IAAlBA,EAAO99C,OACT,OAAO,IAAIumD,WAEb,GAAsB,IAAlBzI,EAAO99C,OACT,OAAO89C,EAAO,GAIhB,IAMEzK,EANE8gB,EAAcrW,EAAOyH,OAAO,CAAC6O,EAAKvW,IAAUuW,EAAMvW,EAAM79C,OAAQ,GAChEkB,EAAS,IAAIqlD,WAAW4N,GAGxBpI,EAAS,EACTzY,EAAYd,GAA2BsL,GAE3C,IACE,IAAKxK,EAAUX,MAAOU,EAAQC,EAAU9wC,KAAKsN,MAAO,CAClD,IAAI+tC,EAAQxK,EAAM73C,MAClB0F,EAAOgG,IAAI22C,EAAOkO,GAClBA,GAAUlO,EAAM79C,MAClB,CACF,CAAE,MAAOuzC,GACPD,EAAUnnB,EAAEonB,EACd,CAAC,QACCD,EAAUxxC,GACZ,CACA,OAAOZ,CACT,CAKA,IAAAwxD,GACE,IAAI2B,EAAqB,IAAMtnB,MAAM2lB,KACnC1R,EAAQ7lD,KACV,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASuf,IACtE,OAAOxgB,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EAEH,OADAg0C,EAASh0C,KAAO,EACTknD,IAAqBn7D,KAAK8nD,GACnC,KAAK,EACH,OAAOG,EAASngB,OAAO,SAAUmgB,EAAS7f,MAC5C,KAAK,EACL,IAAK,MACH,OAAO6f,EAASrgB,OAEtB,EAAGmgB,EACL,GAbOpjB,EAcT,CAKA,UAAAy2B,GACE,IAAI/S,EAASpmD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAAS+f,IACtE,IAAIz2C,EAAMsb,EACV,OAAOma,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EAEH,OADAu0C,EAAUv0C,KAAO,EACVo0C,EAAOmR,OAChB,KAAK,EAIH,OAHA1nD,EAAO02C,EAAUpgB,KAEjBhb,EAAStb,EAAKsb,OAAO3sB,MAAMqR,EAAKogD,WAAYpgD,EAAKogD,WAAapgD,EAAKu0C,YAC5DmC,EAAU1gB,OAAO,SAAU,IAAIye,KAAK,CAACn5B,GAAS,CACnDre,KAAMs5C,EAAOmS,UAAY,8BAE7B,KAAK,EACL,IAAK,MACH,OAAOhS,EAAU5gB,OAEvB,EAAG2gB,EACL,GAnBO5jB,EAoBT,CAMA,UAAA02B,CAAWC,GACT,IAAI3R,EAAS1nD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASohB,IACtE,IAAI93C,EAAMsb,EAAQ1nB,EAClB,OAAO6hC,GAAoBc,KAAK,SAAUwhB,GACxC,cAAkBA,EAAU1hB,KAAO0hB,EAAU51C,MAC3C,KAAK,EAEH,OADA41C,EAAU51C,KAAO,EACV01C,EAAO6P,OAChB,KAAK,EAKH,OAJA1nD,EAAO+3C,EAAUzhB,KAEjBhb,EAAStb,EAAKsb,OAAO3sB,MAAMqR,EAAKogD,WAAYpgD,EAAKogD,WAAapgD,EAAKu0C,YACnE3gD,EAAO41D,GAAY3R,EAAO4Q,UAAY,OAC/B1Q,EAAU/hB,OAAO,SAAU,IAAIyzB,KAAK,CAACnuC,GAAS1nB,EAAM,CACzDqJ,KAAM46C,EAAO6Q,UAAY,8BAE7B,KAAK,EACL,IAAK,MACH,OAAO3Q,EAAUjiB,OAEvB,EAAGgiB,EACL,GApBOjlB,EAqBT,CAKA,iBAAA62B,GACE,IAAI7Q,EAAS1oD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASoiB,IACtE,IAAI94C,EAAMsb,EACV,OAAOma,GAAoBc,KAAK,SAAU0iB,GACxC,cAAkBA,EAAU5iB,KAAO4iB,EAAU92C,MAC3C,KAAK,EAEH,OADA82C,EAAU92C,KAAO,EACV02C,EAAO6O,OAChB,KAAK,EAKH,OAJA1nD,EAAOi5C,EAAU3iB,KAEjBhb,EAAS,IAAIqnB,YAAY3iC,EAAKu0C,YAC9B,IAAIgH,WAAWjgC,GAAQpf,IAAI8D,GACpBi5C,EAAUjjB,OAAO,SAAU1a,GACpC,KAAK,EACL,IAAK,MACH,OAAO29B,EAAUnjB,OAEvB,EAAGgjB,EACL,GAlBOjmB,EAmBT,CAKA,aAAA82B,GACE,IAAIC,EAASz5D,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASsxB,IACtE,IAAIhoD,EAAM+oD,EACV,OAAOtzB,GAAoBc,KAAK,SAAU0xB,GACxC,cAAkBA,EAAU5xB,KAAO4xB,EAAU9lD,MAC3C,KAAK,EAEH,OADA8lD,EAAU9lD,KAAO,EACVynD,EAAOlC,OAChB,KAAK,EAGH,OAFA1nD,EAAOioD,EAAU3xB,KACjByyB,EAASX,GAAmBpoD,GACrBioD,EAAUjyB,OAAO,SAAU,QAAQ4zB,EAAOlB,UAAY,qCAAqCK,KACpG,KAAK,EACL,IAAK,MACH,OAAOd,EAAUnyB,OAEvB,EAAGkyB,EACL,GAhBOn1B,EAiBT,ECzQK,SAASg3B,GAAuBr5D,GACrC,OAAOA,aAAiBi1D,EAC1B,CAKO,SAASqE,GAA2Bt5D,GACzC,OAAOA,aAAiBm4D,EAC1B,CAKO,SAASoB,GAAuBv5D,GACrC,OAAOA,aAAiByiD,IAAwBziD,aAAiBg4D,EACnE,CAKO,SAASwB,GAA2Bx5D,GACzC,OAAOA,aAAiBg4D,EAC1B,sUC5CA,IAAI1lD,EAAIrV,KACJw8D,EAAYn7D,KAAuC4J,SACnDpL,EAAQ0B,IACR6M,EAAmBzI,KAUvB0P,EAAE,CAAEpD,OAAQ,QAASkD,OAAO,EAAM7B,OAPXzT,EAAM,WAE3B,OAAQsO,MAAM,GAAGlD,UACnB,IAI8D,CAC5DA,SAAU,SAAkBH,GAC1B,OAAO0xD,EAAU95D,KAAMoI,EAAIhK,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EACrE,IAIA6J,EAAiB,2ECpBjB,IAAIgwC,EAAWp+C,KAEX8B,EAAaC,iBAEjB06D,GAAiB,SAAUr7D,GACzB,GAAIg9C,EAASh9C,GACX,MAAM,IAAIU,EAAW,iDACrB,OAAOV,CACX,qCCRA,IAEI88C,EAFkBl+C,IAEVkG,CAAgB,gBAE5Bw2D,GAAiB,SAAUpiD,GACzB,IAAI0c,EAAS,IACb,IACE,MAAM1c,GAAa0c,EACvB,CAAI,MAAO2lC,GACP,IAEE,OADA3lC,EAAOknB,IAAS,EACT,MAAM5jC,GAAa0c,EAChC,CAAM,MAAOk4B,GAAQ,CACrB,CAAI,OAAO,CACX,ECXO,SAAS0N,GAAaC,GAC3B,OAAO,IAAI53B,QAAQ,CAACC,EAAS+K,KAC3B,IAAI6sB,EAAS,IAAIC,WACjBD,EAAOE,UAAY,KACjB,IAAIv0D,EAASq0D,EAAOr0D,OAChB6yD,EAAS7yD,EAAOwC,SAAS,KAAOxC,EAAO/G,MAAM,KAAK,GAAK+G,EAC3Dy8B,EAAQo2B,IAEVwB,EAAOG,QAAUhtB,EACjB6sB,EAAOZ,cAAcW,IAEzB,CCGO,SAASK,GAA0CC,GACxD,OAAOC,GAA2Cv8D,MAAM6B,KAAM5B,UAChE,CACA,SAASs8D,KAkFP,OAjFAA,GAA6Ch4B,GAA+B4C,GAAoBiB,KAAK,SAAS+f,EAASrtC,GACrH,IAAI0hD,EAAiBC,EACjBC,EAAexC,EAA0BE,EAAUc,EAAUt7C,EAAG+8C,EAAaC,EAAgBnD,EAAQ3xB,EACzG,OAAOX,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EAEH,OADAu0C,EAAUv0C,KAAO,EACVuwB,QAAAC,UAAAC,KAAA,WAAA,OAAA96B,EAAA,GACT,KAAK,EACHkzD,EAAgBtU,EAAUpgB,KAC1BkyB,EAA2BwC,EAAcxC,yBACzCE,EAAWt/C,EAAOs/C,UAAYt/C,EAAO+hD,iBAAmB,2BACxD3B,EAAWpgD,EAAOogD,SAClB,IACsB,oBAATC,MAAwBrgD,EAAOhP,mBAAmBqvD,OAC3Df,EAAWt/C,EAAOhP,QAAQ6C,MAAQyrD,EAClCc,EAAWA,GAAYpgD,EAAOhP,QAAQxG,KAE1C,CAAE,MAAOy+C,GAET,CACA,KACOmX,GAA4B,oBAAT/U,MAAwBrrC,EAAOhP,mBAAmBq6C,OACxEvmC,EAAI9E,EAAOhP,QAAQ6C,QACZyrD,EAAWx6C,EAEtB,CAAE,MAAOukC,GAET,CACA,GAAgC,iBAAnBrpC,EAAOhP,QAAuB,CACzCs8C,EAAUv0C,KAAO,EACjB,KACF,CACAi0B,EAAKmyB,KAAK6C,SAASz5C,mBAAmBvI,EAAOhP,WAC7Cs8C,EAAUv0C,KAAO,EACjB,MACF,KAAK,EAEH,OADAu0C,EAAUv0C,KAAO,EACVkoD,GAAajhD,EAAOhP,SAC7B,KAAK,EACHg8B,EAAKsgB,EAAUpgB,KACjB,KAAK,EA6BH,OA5BA20B,EAAc70B,EACd80B,EAAiB1B,GAAYpgD,EAAOiiD,iBAAmB,OACvDtD,EAAS,IAAIS,EAAyB,CACpCC,SAAUyC,EACVxC,WACAnX,QAAgD,QAAtCuZ,EAAkB1hD,EAAOmoC,mBAAqBuZ,GAA6BA,EACrFrX,YAA4D,QAA9CsX,EAAsB3hD,EAAOqqC,uBAAyBsX,GAAiCA,EACrG5oD,KAAM,WACJ,IAAI2wB,EAAQD,GAA+B4C,GAAoBiB,KAAK,SAASuf,IAC3E,OAAOxgB,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EACH,OAAOg0C,EAASngB,OAAO,SAAU,CAC/Bh2B,KAAMirD,EACNnmD,MAAM,IAEV,KAAK,EACL,IAAK,MACH,OAAOqxC,EAASrgB,OAEtB,EAAGmgB,EACL,IAIA,OAHA,WACE,OAAOnjB,EAAMxkC,MAAM6B,KAAM5B,UAC3B,CAEF,CAnBM,KAqBDmoD,EAAU1gB,OAAO,SAAU,CAChC+xB,SACAyB,WACAd,aAEJ,KAAK,EACL,IAAK,MACH,OAAOhS,EAAU5gB,OAEvB,EAAG2gB,EACL,IACOoU,GAA2Cv8D,MAAM6B,KAAM5B,UAChE,CCtGA,SAASgR,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CA2Btb,SAASmqC,GAAWtrD,GAClB,IACE,MAAuB,oBAATypD,MAAwBzpD,aAAgBypD,IACxD,CAAE,MAAOpX,GACP,OAAO,CACT,CACF,CACA,SAASkZ,GAAWvrD,GAClB,IACE,MAAuB,oBAATy0C,MAAwBz0C,aAAgBy0C,IACxD,CAAE,MAAOhC,GACP,OAAO,CACT,CACF,kCC1CA,IAAI3vC,EAAIrV,KACJe,EAAcM,IACd08D,EAAax8D,KACbS,EAAyB2D,IACzB3E,EAAW4E,KACXo4D,EAAuBl4D,KAEvBmzB,EAAgBl4B,EAAY,GAAGmK,SAInCmK,EAAE,CAAEpD,OAAQ,SAAUkD,OAAO,EAAM7B,QAAS0qD,EAAqB,aAAe,CAC9E/yD,SAAU,SAAkBgzD,GAC1B,SAAUhlC,EACRj4B,EAASgB,EAAuBU,OAChC1B,EAAS+8D,EAAWE,IACpBn9D,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EAE5C,ODiCO,MAAM25D,GACX,WAAAhtD,CAAYitD,EAAYvlB,EAAc8D,EAAc0hB,GAClDxqC,GAAgBlxB,KAAM,QAAS,CAC7B27D,cAAe,IAAI7jB,GACnB8jB,aAAc,IAAI9jB,GAClB+jB,aAAc,IAAI/jB,GAClBgkB,kBAAmB,IAAIhkB,GACvBikB,iBAAkB,IAAIjkB,GACtBkkB,iBAAkB,IAAIlkB,KAExB93C,KAAKy7D,WAAaA,EAClBz7D,KAAKk2C,aAAeA,EACpBl2C,KAAKg6C,aAAeA,EACpBh6C,KAAK07D,gBAAkBA,CACzB,CACA,kBAAAO,CAAmBnc,GACjB9/C,KAAK07D,gBAAkB5b,CACzB,CACA,aAAItH,GACF,OAAOx4C,KAAKy7D,WAAWjjB,SACzB,CACA,WAAIvP,GACF,OAAOjpC,KAAKy7D,WAAWtb,YACzB,CACA,YAAA+b,CAAajd,EAAO/gD,GAClB,OAAOwkC,GAA+B4C,GAAoBiB,KAAK,SAASuf,IACtE,IAAI//C,EAAQkgC,EACZ,OAAOX,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EAEH,GADAg0C,EAAS9f,KAAO,GACX+Y,EAAMkd,OAAQ,CACjBnW,EAASh0C,KAAO,EAChB,KACF,CAEA,OADAg0C,EAASh0C,KAAO,EACTitC,EAAMkd,SACf,KAAK,EAEH,OADAnW,EAASh0C,KAAO,EACT9T,IACT,KAAK,EAEH,GADA6H,EAASigD,EAAS7f,MACb8Y,EAAMrX,IAAK,CACdoe,EAASh0C,KAAO,EAChB,KACF,CAEA,OADAg0C,EAASh0C,KAAO,EACTitC,EAAMrX,IAAI7hC,GACnB,KAAK,EACH,OAAOigD,EAASngB,OAAO,SAAU9/B,GACnC,KAAK,EAGH,GAFAigD,EAAS9f,KAAO,EAChBD,EAAK+f,EAAgB,MAAE,IAClB/G,EAAM5hD,MAAO,CAChB2oD,EAASh0C,KAAO,EAChB,KACF,CAEA,OADAg0C,EAASh0C,KAAO,EACTitC,EAAM5hD,MAAM4oC,GACrB,KAAK,EACH,OAAO+f,EAASngB,OAAO,SAAUmgB,EAAS7f,MAC5C,KAAK,EACH,MAAMF,EACR,KAAK,EAEH,GADA+f,EAAS9f,KAAO,GACX+Y,EAAM6B,QAAS,CAClBkF,EAASh0C,KAAO,EAChB,KACF,CAEA,OADAg0C,EAASh0C,KAAO,EACTitC,EAAM6B,UACf,KAAK,EACH,OAAOkF,EAAShgB,OAAO,GACzB,KAAK,EACL,IAAK,MACH,OAAOggB,EAASrgB,OAEtB,EAAGmgB,EAAS,KAAM,CAAC,CAAC,EAAG,EAAG,EAAG,IAC/B,GArDOpjB,EAsDT,CAQA,uBAAA05B,CAAwBnjD,GACtB,IAAIojD,EACJ,MAAO,CACLrqB,UAAW/4B,EAAO+4B,UAClBkE,aAAcl2C,KAAKk2C,aACnB8D,aAAch6C,KAAKg6C,aACnBxB,UAAWx4C,KAAKw4C,UAChBvP,QAASjpC,KAAKipC,QACd8b,sBAAuB9rC,EAAO8rC,sBAC9BI,wBAAyBlsC,EAAOksC,wBAChCc,UAAWhtC,EAAOgtC,UAClBU,SAAU1tC,EAAO0tC,SACjBD,SAAUztC,EAAOytC,SACjB5G,SAAmD,QAAxCuc,EAAmBpjD,EAAO6mC,gBAA2C,IAArBuc,EAA8BA,EAAmBr8D,KAAK07D,gBAErH,CASA,kBAAAY,CAAmB1E,EAAQ3+C,GACzB,IAAI4sC,EAAQ7lD,KACZ,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAAS+f,IACtE,OAAOhhB,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EAGH,OAFA4lD,EAAOhT,MAAMiB,EAAMuW,wBAAwBnjD,IAC3CstC,EAAUv0C,KAAO,EACV4lD,EAAO51C,QAChB,KAAK,EACL,IAAK,MACH,OAAOukC,EAAU5gB,OAEvB,EAAG2gB,EACL,GAZO5jB,EAaT,CAKA,IAAAqX,CAAK9gC,GACH,IAAImtC,EAASpmD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASoiB,IACtE,OAAOrjB,GAAoBc,KAAK,SAAU0iB,GACxC,cAAkBA,EAAU5iB,KAAO4iB,EAAU92C,MAC3C,KAAK,EACH,OAAO82C,EAAUjjB,OAAO,SAAUugB,EAAO8V,aAAajjD,EAAqBypB,GAA+B4C,GAAoBiB,KAAK,SAASohB,IAC1I,IAAI93C,EACJ,OAAOy1B,GAAoBc,KAAK,SAAUwhB,GACxC,cAAkBA,EAAU1hB,KAAO0hB,EAAU51C,MAC3C,KAAK,EAEH,IAAK4nD,GADL/pD,EAAOoJ,EAAOpJ,MACqB,CACjC+3C,EAAU51C,KAAO,EACjB,KACF,CACA,IAAKiH,EAAOsjD,SAAU,CACpB3U,EAAU51C,KAAO,EACjB,KACF,CAEA,OADA41C,EAAU51C,KAAO,EACViH,EAAOsjD,SAAS1sD,GACzB,KAAK,EAKL,KAAK,EAaL,KAAK,EAKL,KAAK,EAKL,KAAK,EACH,OAAO+3C,EAAU/hB,OAAO,SAAU+hB,EAAUzhB,MA3B9C,KAAK,EAEH,OADAyhB,EAAU51C,KAAO,EACViH,EAAOujD,QAAQ3sD,GAGxB,KAAK,EACH,IAAMsrD,GAAWtrD,KAASurD,GAAWvrD,GAAQ,CAC3C+3C,EAAU51C,KAAO,EACjB,KACF,CACA,IAAKiH,EAAOwjD,aAAc,CACxB7U,EAAU51C,KAAO,EACjB,KACF,CAEA,OADA41C,EAAU51C,KAAO,EACViH,EAAOwjD,aAAa5sD,GAG7B,KAAK,EAEH,OADA+3C,EAAU51C,KAAO,EACViH,EAAOujD,QAAQ3sD,GAGxB,KAAK,EAEH,OADA+3C,EAAU51C,KAAO,EACViH,EAAOujD,QAAQ3sD,GAGxB,KAAK,GACL,IAAK,MACH,OAAO+3C,EAAUjiB,OAEvB,EAAGgiB,EACL,MACF,KAAK,EACL,IAAK,MACH,OAAOmB,EAAUnjB,OAEvB,EAAGgjB,EACL,GA7DOjmB,EA8DT,CACA,aAAAg6B,CAAczjD,GACZ,IAAIyuC,EAAS1nD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASsxB,IACtE,IAAI8E,EAAe52D,EACnB,OAAOu/B,GAAoBc,KAAK,SAAU0xB,GACxC,cAAkBA,EAAU5xB,KAAO4xB,EAAU9lD,MAC3C,KAAK,EAKH,GAJAiH,EAAO2+C,OAAOhT,MAAM8C,EAAO0U,wBAAwBnjD,EAAOxb,OAC1Dk/D,EAAgB1jD,EAAO2jD,YAAc3jD,EAAO2jD,YAAY,CACtDhF,OAAQ3+C,EAAO2+C,cACZ/1D,GACuB,IAAtBoX,EAAO4jD,WAAuB,CAClC/E,EAAU9lD,KAAO,EACjB,KACF,CAQA,OAFKiH,EAAO2+C,OAAO51C,QACnB81C,EAAU9lD,KAAO,EACV2qD,EACT,KAAK,EACH,OAAO7E,EAAUjyB,OAAO,SAAUiyB,EAAU3xB,MAC9C,KAAK,EAEH,OADA2xB,EAAU9lD,KAAO,EACV2qD,EACT,KAAK,EAGH,OAFA52D,EAAS+xD,EAAU3xB,KACnB2xB,EAAU9lD,KAAO,EACViH,EAAO2+C,OAAO51C,QACvB,KAAK,EACH,OAAO81C,EAAUjyB,OAAO,SAAU9/B,GACpC,KAAK,EACL,IAAK,MACH,OAAO+xD,EAAUnyB,OAEvB,EAAGkyB,EACL,GArCOn1B,EAsCT,CAKA,UAAAo6B,CAAW7jD,GACT,IAAIyvC,EAAS1oD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASw2B,IACtE,OAAOz3B,GAAoBc,KAAK,SAAU42B,GACxC,cAAkBA,EAAU92B,KAAO82B,EAAUhrD,MAC3C,KAAK,EACH,OAAOgrD,EAAUn3B,OAAO,SAAU6iB,EAAOwT,aAAajjD,EAAqBypB,GAA+B4C,GAAoBiB,KAAK,SAAS02B,IAC1I,OAAO33B,GAAoBc,KAAK,SAAU82B,GACxC,cAAkBA,EAAUh3B,KAAOg3B,EAAUlrD,MAC3C,KAAK,EAEH,OADAkrD,EAAUlrD,KAAO,EACV02C,EAAOgU,cAAczjD,GAC9B,KAAK,EACH,OAAOikD,EAAUr3B,OAAO,SAAUq3B,EAAU/2B,MAC9C,KAAK,EACL,IAAK,MACH,OAAO+2B,EAAUv3B,OAEvB,EAAGs3B,EACL,MACF,KAAK,EACL,IAAK,MACH,OAAOD,EAAUr3B,OAEvB,EAAGo3B,EACL,GAvBOr6B,EAwBT,CAKA,QAAAy6B,CAASlkD,GACP,IAAIwgD,EAASz5D,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAAS62B,IACtE,OAAO93B,GAAoBc,KAAK,SAAUi3B,GACxC,cAAkBA,EAAUn3B,KAAOm3B,EAAUrrD,MAC3C,KAAK,EACH,OAAOqrD,EAAUx3B,OAAO,SAAU4zB,EAAOyC,aAAajjD,EAAqBypB,GAA+B4C,GAAoBiB,KAAK,SAAS+2B,IAC1I,IAAIC,EACAC,EACJ,OAAOl4B,GAAoBc,KAAK,SAAUq3B,GACxC,cAAkBA,EAAUv3B,KAAOu3B,EAAUzrD,MAC3C,KAAK,EAEH,OADAyrD,EAAUzrD,KAAO,EACVwoD,GAA0C,CAC/CvwD,QAASgP,EAAOhP,QAChBovD,SAAUpgD,EAAOogD,SACjBd,SAAUt/C,EAAOs/C,SACjBnX,QAASnoC,EAAOmoC,QAChBkC,YAAarqC,EAAOqqC,YACpB4X,gBAAiBjiD,EAAOiiD,gBACxBF,gBAAiB/hD,EAAO+hD,kBAE5B,KAAK,EAGH,OAFAwC,EAAUC,EAAUt3B,KACpBs3B,EAAUzrD,KAAO,EACmC,QAA5CurD,EAAqBtkD,EAAOykD,kBAA+C,IAAvBH,OAAgC,EAASA,EAAmBx/D,KAAKkb,EAAQ,CACnIogD,SAAUmE,EAAQnE,SAClBd,SAAUiF,EAAQjF,WAEtB,KAAK,EAEH,OADAkF,EAAUzrD,KAAO,EACVynD,EAAOiD,cAAcxmC,GAAcA,GAAc,CAAA,EAAIjd,EAAO2+C,QAAS,GAAI,CAC9EA,OAAQ4F,EAAQ5F,UAEpB,KAAK,EACH,OAAO6F,EAAU53B,OAAO,SAAU43B,EAAUt3B,MAC9C,KAAK,EACL,IAAK,MACH,OAAOs3B,EAAU93B,OAEvB,EAAG23B,EACL,MACF,KAAK,EACL,IAAK,MACH,OAAOD,EAAU13B,OAEvB,EAAGy3B,EACL,GA7CO16B,EA8CT,CAKA,WAAAuX,CAAYntC,EAAMklC,EAAWniC,GAC3B,IAAImyC,EAAU9rB,GAAc,GAAIrmB,GAAQ,CAAA,QACfhO,IAArBmgD,EAAQlC,eAAmDj+C,IAAzB7B,KAAK07D,kBACzC1Z,EAAQlC,SAAW9/C,KAAK07D,iBAE1B17D,KAAKi/C,MAAM6c,kBAAkB/9D,KAAK+O,EAAMklC,EAAWgQ,GACnD,IACE,IAAI9B,EAAMlgD,KAAKy7D,WAAWxhB,YAAYj6C,KAAKk2C,aAAcl2C,KAAKg6C,aAAcltC,EAAMklC,EAAWgQ,GAE7F,OADAhiD,KAAKi/C,MAAM8c,iBAAiBh+D,KAAK+O,EAAMklC,EAAWgQ,EAAS9B,GACpDA,CACT,CAAE,MAAOlvB,GAEP,MADAhxB,KAAKi/C,MAAM+c,iBAAiBj+D,KAAK+O,EAAMklC,EAAWgQ,EAAShxB,GACrDA,CACR,CACF,CAKA,OAAA2sC,CAAQ9rB,GACN7xC,KAAKi/C,MAAM0c,cAAc59D,KAAK8zC,GAC9B,IACE,IAAI+rB,EAAO59D,KAAKy7D,WAAW1hB,KAAK/5C,KAAKk2C,aAAcrE,EAAS7xC,KAAKg6C,cAEjE,OADAh6C,KAAKi/C,MAAM2c,aAAa79D,KAAK8zC,EAAS+rB,GAC/BA,CACT,CAAE,MAAO5sC,GAEP,MADAhxB,KAAKi/C,MAAM4c,aAAa99D,KAAK8zC,EAAS7gB,GAChCA,CACR,CACF,EEjYF,MAAM6sC,GACJ,WAAArvD,GACE0iB,GAAgBlxB,KAAM,OAAQ,IAAIugD,KAClCrvB,GAAgBlxB,KAAM,WAAY,IAAIy4C,IACxC,CAIA,GAAAxoB,CAAIxsB,GACF,IAAIq6D,EAAW99D,KAAK+9D,KAAK95D,IAAIR,GAC7B,GAAIq6D,EAAU,OAAOA,EACrB,IAAIlgD,EAAI,IAAI2iC,IAEZ,OADAvgD,KAAK+9D,KAAKhyD,IAAItI,EAAMma,GACbA,CACT,CACA,GAAA3Z,CAAIR,EAAMrD,GACR,OAAOJ,KAAKiwB,IAAIxsB,GAAMQ,IAAI7D,EAC5B,CACA,GAAA2L,CAAItI,EAAMrD,EAAKC,GACbL,KAAKiwB,IAAIxsB,GAAMsI,IAAI3L,EAAKC,EAC1B,CACA,GAAA2L,CAAIvI,EAAMrD,GACR,OAAOJ,KAAKiwB,IAAIxsB,GAAMuI,IAAI5L,EAC5B,CACA,OAAOqD,EAAMrD,GACX,OAAOJ,KAAKiwB,IAAIxsB,GAAM2gB,OAAOhkB,EAC/B,CAKA,UAAAsqC,CAAWxsC,EAAI8/D,GACb,IAAIv8D,EAAKipC,WAAW,KAClB1qC,KAAKi+D,SAAS75C,OAAO3iB,GACrBvD,KACC8/D,GAEH,OADAh+D,KAAKi+D,SAASlzB,IAAItpC,GACXA,CACT,CAKA,YAAAkkD,CAAalkD,GACXkkD,aAAalkD,GACbzB,KAAKi+D,SAAS75C,OAAO3iB,EACvB,CAKA,QAAAy8D,GACEl+D,KAAKi+D,SAAS3kD,QAAQ7X,GAAMkkD,aAAalkD,IACzCzB,KAAKi+D,SAAS50B,QACdrpC,KAAK+9D,KAAKzkD,QAAQsE,GAAKA,EAAEyrB,QAC3B,EAUF,MAAM80B,GACJ,WAAA3vD,CAAYw4C,GACVhnD,KAAKgnD,QAAUA,CACjB,CACA,GAAA/iD,CAAIm6D,EAAQh+D,GACV,IAAIi+D,EACJ,OAA+D,QAAvDA,EAAoBr+D,KAAKgnD,QAAQ/iD,IAAIm6D,EAAQh+D,UAAwC,IAAtBi+D,EAA+BA,EAAoB,CAC5H,CAMA,UAAAC,CAAWF,EAAQh+D,EAAKm+D,GACtB,IAAKttC,OAAOktB,SAASogB,GAAQ,CAE3B,IAAIvsD,EAAOhS,KAAKiE,IAAIm6D,EAAQh+D,GAAO,EAEnC,OADAJ,KAAKgnD,QAAQj7C,IAAIqyD,EAAQh+D,EAAK4R,IACvB,CACT,CACA,IAAIlL,EAAU9G,KAAKiE,IAAIm6D,EAAQh+D,GAC/B,QAAI0G,GAAWy3D,KACfv+D,KAAKgnD,QAAQj7C,IAAIqyD,EAAQh+D,EAAK0G,EAAU,IACjC,EACT,CAKA,OAAAoyC,CAAQklB,EAAQh+D,GACd,IACI4R,EADUhS,KAAKiE,IAAIm6D,EAAQh+D,GACV,EACjB4R,GAAQ,EACVhS,KAAKgnD,QAAQ5iC,OAAOg6C,EAAQh+D,GAG9BJ,KAAKgnD,QAAQj7C,IAAIqyD,EAAQh+D,EAAK4R,EAChC,EAgBK,MAAMwsD,GACX,WAAAhwD,CAAY6uC,EAAMC,EAAYlvC,GAC5B,IAAIqwD,EACJvtC,GAAgBlxB,KAAM,QAAS,CAC7B0+D,WAAY,IAAI5mB,GAChB6mB,UAAW,IAAI7mB,GACf8mB,YAAa,IAAI9mB,GACjB+mB,WAAY,IAAI/mB,GAChBgnB,cAAe,IAAIhnB,GACnBinB,aAAc,IAAIjnB,GAClByG,gBAAiB,IAAIzG,GACrBiH,kBAAmB,IAAIjH,KAEzB5mB,GAAgBlxB,KAAM,UAAW,IAAI69D,IACrC3sC,GAAgBlxB,KAAM,UAAW,IAAIm+D,GAAqBn+D,KAAKgnD,UAC/D91B,GAAgBlxB,KAAM,gBAAiB,IACvCkxB,GAAgBlxB,KAAM,eAAgB,IAAIy4C,KAE1CvnB,GAAgBlxB,KAAM,WAAW,GACjCA,KAAKs9C,WAAaA,EAClBt9C,KAAK4+C,iBAA4H,QAAxG6f,EAAwBrwD,aAAyC,EAASA,EAAQwwC,wBAAwD,IAA1B6f,EAAmCA,EAAwB1oB,GAGpM,IAAI9M,EAAUwX,GAA0BryC,aAAyC,EAASA,EAAQoqC,WAClGx4C,KAAKg/D,kBAAoB,IAAI5hB,GAAkBnU,EAASoU,EAAMC,GAC9Dt9C,KAAKg/D,kBAAkBhhB,iBAAiB,CACtCE,cAAe9vC,aAAyC,EAASA,EAAQgwC,qBACzEC,YAAajwC,aAAyC,EAASA,EAAQkwC,oBAE3E,CAOA,mBAAA2gB,CAAoB/gE,GAClB8B,KAAKk/D,mBAAqBhhE,CAC5B,CAKA,eAAAqgD,CAAgBC,EAAStU,EAAS97B,GAChCpO,KAAKi/C,MAAMV,gBAAgBxgD,KAAKygD,GAChC,IAAI2gB,EAAQn/D,KAAKg/D,kBAAkBzgB,gBAAgBC,EAAStU,EAAS97B,GAErE,OADApO,KAAKo/D,cAAct+D,KAAKq+D,GACjBA,CACT,CAKA,oBAAAE,CAAqBxgB,GACnB,MAAO,CACLD,iBAAkB5+C,KAAK4+C,iBACvBC,iBAEJ,CAKA,QAAAygB,CAASl/D,EAAKlC,GACR8B,KAAKu/D,aAAavzD,IAAI5L,KAC1BJ,KAAKu/D,aAAax0B,IAAI3qC,GACtBlC,IACF,CAKA,iBAAAshE,CAAkB/6C,GAChBzkB,KAAKy/D,eAAiBh7C,CACxB,CAKA,iBAAAi7C,GACE,OAAO1/D,KAAKy/D,cACd,CAKA,iBAAAE,CAAkBC,EAAe/vD,EAAM0pC,EAASlsB,EAAQwyC,GACtD,GAAIA,EACF,IACE,OAAOA,EAAgBD,EAAe/vD,EAAM0pC,EAC9C,CAAE,MAAO2I,GACP,OAAO,CACT,CAEF,OAAK70B,GAAUA,IAAWwQ,GAAeC,KAClC8hC,IAAkBvyC,CAC3B,CAQA,iBAAAwwB,CAAkB3H,EAAc8D,GAC9Bh6C,KAAKg/D,kBAAkBnhB,kBAAkB3H,EAAc8D,EACzD,CAKA,YAAA8lB,CAAa5pB,EAAc8D,EAAc0hB,GACvC,OAAO,IAAIF,GAA4Bx7D,KAAKg/D,kBAAmB9oB,EAAc8D,EAAc0hB,EAC7F,CAKA,IAAAvwD,GACE,IAAInL,KAAK+/D,QAAT,CAGA,GAFA//D,KAAKi/C,MAAMyf,WAAW3gE,OACtBiC,KAAK+/D,SAAU,GACV//D,KAAKk/D,mBACR,MAAM,IAAIvtB,MAAM/V,GAASnD,+BAE3Bz4B,KAAKk/D,qBACLl/D,KAAKi/C,MAAM0f,UAAU5gE,MAPH,CAQpB,CAKA,KAAAsM,GACOrK,KAAK+/D,UACV//D,KAAKi/C,MAAM2f,YAAY7gE,OACvBiC,KAAK+/D,SAAU,EAGf//D,KAAKo/D,cAAc9lD,QAAQpb,GAAMA,KACjC8B,KAAKo/D,cAAcv6D,OAAS,EAC5B7E,KAAKi/C,MAAMF,kBAAkBhhD,OAC7BiC,KAAKi/C,MAAM4f,WAAW9gE,OACxB,CAKA,UAAIiiE,GACF,OAAOhgE,KAAK+/D,OACd,CAKA,aAAIvnB,GACF,OAAOx4C,KAAKg/D,kBAAkBxmB,SAChC,CAKA,OAAA2B,GACEn6C,KAAKi/C,MAAM6f,cAAc/gE,OAEzBiC,KAAKqK,QAGLrK,KAAKgnD,QAAQkX,WACbl+D,KAAKu/D,aAAal2B,QAClBrpC,KAAKy/D,oBAAiB59D,EAGtB7B,KAAKg/D,kBAAkB7kB,UACvBwG,GAAsB3gD,KAAKg/D,kBAAkB7e,cAC7CngD,KAAKi/C,MAAM8f,aAAahhE,MAC1B,ECpTK,SAASkiE,GAAoBhnD,GAClC,IAAIinD,EAAMjnD,EAAOinD,IACfxmB,EAAYzgC,EAAOygC,UACnBymB,EAAkBlnD,EAAOknD,gBAC3B,MAAO,CAACtwD,EAAM0pC,KACPA,EAAQp4C,SAEbo4C,EAAQ6mB,eAAe1mB,GAEvBwmB,EAAIlB,kBAAkB/kB,YAAYV,EAAQp4C,OAAQo4C,EAAQlsB,OAAQgS,GAAYM,KAAM9vB,EAAKmiC,UAAWmuB,EAAkB,CACpHrgB,SAAUjwC,EAAKkwC,gBACbl+C,IAER,CCGO,MAAMw+D,GACX,WAAA7xD,CAAY0xD,EAAKthB,GACf1tB,GAAgBlxB,KAAM,QAAS,CAC7Bu9C,QAAS,IAAIzF,GACbwoB,kBAAmB,IAAIxoB,GACvByoB,oBAAqB,IAAIzoB,GACzB0oB,gBAAiB,IAAI1oB,GACrB2oB,eAAgB,IAAI3oB,KAEtB93C,KAAKkgE,IAAMA,EACXlgE,KAAK4+C,iBAAmBA,QAA2DA,EAAmBshB,EAAIthB,gBAC5G,CAKA,gBAAA8hB,GACE,IAAIC,EAAiB3gE,KAAKkgE,IAAIb,qBAAqBr/D,KAAK4gE,mBAAmBnjE,KAAKuC,OAChF2gE,EAAe/hB,iBAAmB5+C,KAAK4+C,iBACvC,IAAIiiB,EAA4B7gE,KAAK8gE,qBAAqBrjE,KAAKuC,MAC/DA,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYE,IAAKshC,EAA2BF,GACrE3gE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYG,MAAOqhC,EAA2BF,GACvE3gE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYI,SAAUohC,EAA2BF,GAC1E3gE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAY9G,MAAOsoC,EAA2BF,GACvE3gE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYM,KAAM3/B,KAAK+gE,WAAWtjE,KAAKuC,MAAO2gE,GACvE3gE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYK,KAAM1/B,KAAKghE,WAAWvjE,KAAKuC,MAAO2gE,GACvE3gE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYO,aAAcihC,EAA2BF,EAChF,CAQA,aAAAM,CAAchoD,GACZ,IAAI+4B,EAAY,QAAQhQ,KAAKC,SAASviC,KAAKiC,SAASrD,SAAS,IAAIE,MAAM,KACvE,OAAO,IAAI+jC,QAAQC,IACjB,IAAI0kB,EAAYlnD,KAAKkgE,IAAIlZ,QAAQtc,WAAW,KAC1C1qC,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOi8C,GAA2Ba,mBAAoBlvB,GACvExP,GAAQ,IACPvpB,EAAOquC,WACVtnD,KAAKkgE,IAAIlZ,QAAQj7C,IAAIs0D,GAA2Ba,mBAAoBlvB,EAAW,CAC7ExP,UACA0kB,YACAlN,aAAc/gC,EAAO+gC,aACrB6lB,gBAAiB5mD,EAAO4mD,gBACxBsB,SAAUloD,EAAOkoD,WAEnBloD,EAAOmoD,KAAKnnB,YAAY5a,GAAYK,KAAMsS,EAAW,CACnD4N,YAAY,EACZE,SAAU7mC,EAAO6mC,YAGvB,CAKA,sBAAAuhB,CAAuBrvB,EAAWxP,EAAS+K,EAAQlgB,EAAQwyC,GACzD7/D,KAAKkgE,IAAIlZ,QAAQj7C,IAAIs0D,GAA2BiB,iBAAkBtvB,EAAW,CAC3ExP,UACA+K,SACAlgB,SACAwyC,oBAEF7/D,KAAKi/C,MAAMqhB,kBAAkBviE,KAAKi0C,EAAW,CAC3C3kB,UAEJ,CAKA,wBAAAk0C,CAAyBvvB,GACvBhyC,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOi8C,GAA2BiB,iBAAkBtvB,GACrEhyC,KAAKi/C,MAAMshB,oBAAoBxiE,KAAKi0C,EACtC,CACA,UAAAgvB,CAAWnxD,EAAM0pC,GACf,IAAIioB,EACJxhE,KAAKi/C,MAAM1B,QAAQx/C,KAAK8R,EAAM0pC,GACd0mB,GAAoB,CAClCC,IAAKlgE,KAAKkgE,IACVxmB,UAA4D,QAAhD8nB,EAAuBxhE,KAAKkgE,IAAI5iB,kBAAiD,IAAzBkkB,EAAkCA,EAAuBvhC,GAAYE,OACzIggC,iBAAiB,GAEnBsB,CAAU5xD,EAAM0pC,EAClB,CAKA,kBAAAqnB,CAAmB/wD,EAAM0pC,EAASx4C,GAEhC,IAAIimD,EAAUhnD,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIo8D,GAA2BiB,iBAAkBzxD,EAAKmiC,WACjFgV,IACFhnD,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOi8C,GAA2BiB,iBAAkBzxD,EAAKmiC,WAC1EgV,EAAQzZ,OAAO,IAAIoE,MAAM5V,GAAcH,GAASlE,yBAA0B32B,EAAS28B,GAAgBE,iBAEvG,CAKA,oBAAAkjC,CAAqBjxD,EAAM0pC,GACzB,IAAImoB,EAQJ,GAPA1hE,KAAKi/C,MAAM1B,QAAQx/C,KAAK8R,EAAM0pC,GAO1B1pC,EAAK/C,OAASuyB,GAAYE,IAAK,CACjC,IAEMoiC,EAAuBC,EAGrBC,EALJC,EAAmB9hE,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIo8D,GAA2Ba,mBAAoBrxD,EAAKmiC,WAChG,GAAI8vB,EAGF,OAAK9hE,KAAKkgE,IAAIP,kBAAkBpmB,EAAQlsB,OAAQxd,EAAM0pC,EAASuoB,EAAiB9nB,aAAc8nB,EAAiBjC,kBAM/GtmB,EAAQ6mB,eAAiE,QAAjDuB,EAAwB3hE,KAAKkgE,IAAI5iB,kBAAkD,IAA1BqkB,EAAmCA,EAAwB1hC,GAAYE,QACxJngC,KAAKkgE,IAAIlZ,QAAQrB,aAAamc,EAAiB5a,WAC/ClnD,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOi8C,GAA2Ba,mBAAoBrxD,EAAKmiC,WACpB,QAAvD4vB,EAAwBE,EAAiBX,oBAAsBS,GAAoCA,EAAsB7jE,KAAK+jE,EAAkBjyD,EAAKkwC,gBACtJ+hB,EAAiBt/B,SAAQ,SAPvB+W,EAAQ6mB,eAAiE,QAAjDyB,EAAwB7hE,KAAKkgE,IAAI5iB,kBAAkD,IAA1BukB,EAAmCA,EAAwB5hC,GAAYE,OAU9J,CACA,IAAI6mB,EAAUhnD,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIo8D,GAA2BiB,iBAAkBzxD,EAAKmiC,WACrF,GAAKgV,GAiBL,GAAKhnD,KAAKkgE,IAAIP,kBAAkBpmB,EAAQlsB,OAAQxd,EAAM0pC,EAASyN,EAAQ35B,OAAQ25B,EAAQ6Y,iBAAvF,CAYA,GAHAtmB,EAAQ6mB,eAAiE,QAAjDsB,EAAwB1hE,KAAKkgE,IAAI5iB,kBAAkD,IAA1BokB,EAAmCA,EAAwBzhC,GAAYE,QAGpJtwB,EAAK/C,OAASuyB,GAAYE,KAAO1vB,EAAK/C,OAASuyB,GAAYG,OAAS3vB,EAAK/C,OAASuyB,GAAYO,aAGhG,OAFA5/B,KAAKi/C,MAAMuhB,gBAAgBziE,KAAK8R,EAAKmiC,UAAWniC,QAChDm3C,EAAQxkB,QAAQ3yB,GAKlB7P,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOi8C,GAA2BiB,iBAAkBzxD,EAAKmiC,WAC1EhyC,KAAKi/C,MAAMuhB,gBAAgBziE,KAAK8R,EAAKmiC,UAAWniC,GAChDm3C,EAAQxkB,QAAQ3yB,EAnBhB,OAZO7P,KAAKkgE,IAAIF,SACZhgE,KAAKi/C,MAAMwhB,eAAe1iE,KAAK8R,EAAM0pC,GACrCv5C,KAAKkgE,IAAIZ,SAAS/iC,GAAiBH,GAAYC,kCAAmCxsB,EAAKmiC,WAAY,KACjGyE,GAAiB,OAAQ1a,GAAcH,GAAShD,0CAA2C/oB,EAAK/C,KAAM+C,EAAKmiC,cA6BnH,CAOA,UAAA+uB,CAAWlxD,EAAM0pC,GACf,IAAIwoB,EACJ/hE,KAAKi/C,MAAM1B,QAAQx/C,KAAK8R,EAAM0pC,GAC9B,IAEMyoB,EAAuBC,EAErBC,EAJJJ,EAAmB9hE,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIo8D,GAA2Ba,mBAAoBrxD,EAAKmiC,WAChG,GAAI8vB,EAEF,OAAK9hE,KAAKkgE,IAAIP,kBAAkBpmB,EAAQlsB,OAAQxd,EAAM0pC,EAASuoB,EAAiB9nB,aAAc8nB,EAAiBjC,kBAK/GtmB,EAAQ6mB,eAAiE,QAAjD4B,EAAwBhiE,KAAKkgE,IAAI5iB,kBAAkD,IAA1B0kB,EAAmCA,EAAwB/hC,GAAYE,QACxJngC,KAAKkgE,IAAIlZ,QAAQrB,aAAamc,EAAiB5a,WAC/ClnD,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOi8C,GAA2Ba,mBAAoBrxD,EAAKmiC,WACnB,QAAxDiwB,EAAyBH,EAAiBX,oBAAsBc,GAAqCA,EAAuBlkE,KAAK+jE,EAAkBjyD,EAAKkwC,gBACzJ+hB,EAAiBt/B,SAAQ,SAPvB+W,EAAQ6mB,eAAiE,QAAjD8B,EAAwBliE,KAAKkgE,IAAI5iB,kBAAkD,IAA1B4kB,EAAmCA,EAAwBjiC,GAAYE,QAU5J,IAAI6mB,EAAUhnD,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIo8D,GAA2BiB,iBAAkBzxD,EAAKmiC,WAChFgV,GACAhnD,KAAKkgE,IAAIP,kBAAkBpmB,EAAQlsB,OAAQxd,EAAM0pC,EAASyN,EAAQ35B,OAAQ25B,EAAQ6Y,mBAGvFtmB,EAAQ6mB,eAAiE,QAAjD2B,EAAwB/hE,KAAKkgE,IAAI5iB,kBAAkD,IAA1BykB,EAAmCA,EAAwB9hC,GAAYE,QACxJngC,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOi8C,GAA2BiB,iBAAkBzxD,EAAKmiC,WAC1EhyC,KAAKi/C,MAAMuhB,gBAAgBziE,KAAK8R,EAAKmiC,UAAWniC,GAChDm3C,EAAQxkB,QAAQ3yB,GAClB,EC7MK,SAASsyD,GAAmBC,EAAaC,GAC9C,YAAoBxgE,IAAhBugE,GtDKC,SAAoB3sC,EAAU6sC,GACnC,QAAiBzgE,IAAb4zB,EAAwB,OAAO,EACnC,IAAI8sC,EAAazmB,GAASrmB,GACtB+sC,EAAa1mB,GAASwmB,GAC1B,YAAmBzgE,IAAf0gE,QAA2C1gE,IAAf2gE,GACzBD,IAAeC,CACxB,CsDVSC,CAAWL,EAAaC,EACjC,CCzBA,SAASjzD,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CFoOtbE,GAAgBmvC,GAA4B,mBAAoB,yBAChEnvC,GAAgBmvC,GAA4B,qBAAsB,0BEhN3D,MAAMqC,GACX,WAAAl0D,CAAYyK,GACViY,GAAgBlxB,KAAM,WAAY,IAAIugD,KACtCvgD,KAAK05C,UAAYzgC,EAAOygC,SAC1B,CACA,QAAAipB,CAAS1hB,EAAU/W,GACjBlqC,KAAK8+C,SAAS/yC,IAAIk1C,EAAU/W,EAC9B,CACA,UAAA04B,CAAW3hB,GACTjhD,KAAK8+C,SAAS16B,OAAO68B,EACvB,CACA,KAAA5X,GACErpC,KAAK8+C,SAASzV,OAChB,CAQA,QAAAw5B,CAAShzD,EAAM0pC,GACb,IAAIx0B,EAAOlV,EAAKkV,KAChB,GAAMA,SAAoCA,EAAKk8B,SAA/C,CACA,IAAI/W,EAAUlqC,KAAK8+C,SAAS76C,IAAI8gB,EAAKk8B,UACrC,GAAK/W,EAAL,CACIqP,GACFA,EAAQ6mB,eAAepgE,KAAK05C,WAE9B,IAAIopB,EAAcjzD,EAAK/C,KAAKgB,QAAQ,UAAW,IAC/Co8B,EAAQhU,GAAcA,GAAc,CAAA,EAAInR,GAAO,CAAA,EAAI,CACjDjY,KAAMg2D,IANM,CAF4C,CAU5D,EC7CK,MAAMC,GACX,WAAAv0D,CAAYyK,GACVjZ,KAAKkgE,IAAMjnD,EAAOinD,IAClBlgE,KAAKgjE,cAAgB/pD,EAAO+pD,cAC5BhjE,KAAK05C,UAAYzgC,EAAOygC,UACxB15C,KAAKijE,gBAAkBhqD,EAAOgqD,gBAC9BjjE,KAAKkjE,6BAA+BjqD,EAAOiqD,4BAC7C,CAKA,IAAAC,CAAK/B,EAAM9Z,EAAWxH,GACpB,IAAI9N,EAAY,QAAQhQ,KAAKC,SAASviC,KAAKiC,SAASrD,SAAS,IAAIE,MAAM,KACvE,OAAO,IAAI+jC,QAAQC,IACjB,IAAI0kB,EAAYlnD,KAAKkgE,IAAIlZ,QAAQtc,WAAW,KAC1C1qC,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOpkB,KAAKgjE,cAAehxB,GAC5CxP,GAAQ,IACP8kB,GACHtnD,KAAKkgE,IAAIlZ,QAAQj7C,IAAI/L,KAAKgjE,cAAehxB,EAAW,CAClDxP,UACA0kB,cAEFka,EAAKnnB,YAAY5a,GAAYK,KAAMsS,EAAW,CAC5C4N,YAAY,EACZE,cAGN,CAKA,UAAAihB,CAAWlxD,EAAM0pC,GACf,IAAIv5C,KAAKijE,iBAAoBjjE,KAAKijE,gBAAgBpzD,EAAM0pC,GAAxD,CACA,IAGQ6pB,EAHJpc,EAAUhnD,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIjE,KAAKgjE,cAAenzD,EAAKmiC,WAC5D,GAAKgV,EAOLzN,EAAQ6mB,eAAepgE,KAAK05C,WAC5B15C,KAAKkgE,IAAIlZ,QAAQrB,aAAaqB,EAAQE,WACtClnD,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOpkB,KAAKgjE,cAAenzD,EAAKmiC,WACjDgV,EAAQxkB,SAAQ,QATTxiC,KAAKkgE,IAAIF,QAEoD,QAA/DoD,EAAwBpjE,KAAKkjE,oCAAoE,IAA1BE,GAAoCA,EAAsBrlE,KAAKiC,KAAM6P,EAL/E,CAapE,ECnBK,SAASwzD,GAA8BpqD,GAC5C,IAAIqqD,EAtB2Bv+C,EAC3Bw+C,EAAUC,EACVh/C,EAqBAi/C,GAvB2B1+C,EAuBH9L,EAAOpJ,KAAKkV,KApBlCP,OADFA,EAAIO,IAC4BP,EAAEy8B,SAC/B,CACLA,SAAUz8B,EAAEy8B,SACZn0C,KAAM0X,EAAE1X,MAAQq2C,GAAmBviB,KACnC5/B,KAAMwjB,EAAExjB,KACRogD,QAAoC,QAA1BmiB,EAAW/+C,EAAE48B,mBAAqBmiB,GAAsBA,EAClEh3D,SAAUiY,EAAEjY,SACZ+2C,YAAgD,QAAlCkgB,EAAeh/C,EAAE8+B,mBAA0C,IAAjBkgB,GAA0BA,GAP5B,MAqBxD,IAAKC,EAAM,OAAO,KAClB,IAEMC,EAAgBC,EAAiBC,EAFnCprB,EAAuD,QAA1C8qB,EAAoBrqD,EAAOu/B,qBAAuB8qB,EAA+BA,EAAoBrqD,EAAOpJ,KAAK2oC,UAClI,OAAIirB,EAAK32D,OAASq2C,GAAmBl5B,KAa5B,CACL2tC,OAZe,IAAIY,GAAyBiL,EAAKxiB,SAAUhoC,EAAO+4B,UAAW/4B,EAAOixB,QAAS,CAC7FkX,QAASqiB,EAAKriB,QACd70C,SAAUk3D,EAAKl3D,SACfisC,YACAx3C,KAAMyiE,EAAKziE,KACXy0D,YAAax8C,EAAOw8C,YACpBxP,UAAWhtC,EAAOgtC,UAClBqS,SAA+C,QAApCoL,EAAiBD,EAAKl3D,gBAAyC,IAAnBm3D,SAAqCA,EAAepL,SAC3GC,SAAgD,QAArCoL,EAAkBF,EAAKl3D,gBAA0C,IAApBo3D,SAAsCA,EAAgBpL,SAC9G5/C,KAA4C,QAArCirD,EAAkBH,EAAKl3D,gBAA0C,IAApBq3D,OAA6B,EAASA,EAAgBjrD,OAI1G8qD,QAYG,CACL7L,OAVmB,IAAItC,GAAqBmO,EAAKxiB,SAAUhoC,EAAO+4B,UAAW/4B,EAAOixB,QAAS,CAC7Fp9B,KAAM22D,EAAK32D,KACX9L,KAAMyiE,EAAKziE,KACXogD,QAASqiB,EAAKriB,QACd70C,SAAUk3D,EAAKl3D,SACfisC,YACAid,YAAax8C,EAAOw8C,YACpBxP,UAAWhtC,EAAOgtC,YAIlBwd,OAEJ,cC1DO,SAASI,GAAYx2C,EAAQmxB,GAClC,OAAIA,IAAY3gB,GAAeC,MACR,iBAAZ0gB,EACFnxB,IAAWmxB,EAEhBA,aAAmBzsB,OACdysB,EAAQhhD,KAAK6vB,KAElB5hB,MAAMwP,QAAQujC,IACTA,EAAQruB,KAAKvS,GAAKimD,GAAYx2C,EAAQzP,IAGjD,kCC5BA,IAgBM1Q,EAhBFyF,EAAIrV,KACJe,EAAcM,KACd2H,EAA2BzH,KAA2D8H,EACtFkB,EAAW5E,KACX3E,EAAW4E,KACXm4D,EAAaj4D,KACb9D,EAAyBqK,IACzB2xD,EAAuBlvD,KACvB5L,EAAUsS,KAEVvU,EAAcF,EAAY,GAAGG,OAC7BiJ,EAAM/H,KAAK+H,IAEXq8D,EAA0BxI,EAAqB,cASnD3oD,EAAE,CAAEpD,OAAQ,SAAUkD,OAAO,EAAM7B,UAPXpQ,GAAYsjE,IAC9B52D,EAAa5G,EAAyBrE,OAAOnE,UAAW,eACrDoP,GAAeA,EAAW3M,aAK8BujE,GAA2B,CAC1FC,WAAY,SAAoBxI,GAC9B,IAAIxhD,EAAOzb,EAASgB,EAAuBU,OAC3Cq7D,EAAWE,GACX,IAAI5zD,EAAQE,EAASJ,EAAIrJ,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EAAWkY,EAAKlV,SAC3E2pB,EAASlwB,EAASi9D,GACtB,OAAOh9D,EAAYwb,EAAMpS,EAAOA,EAAQ6mB,EAAO3pB,UAAY2pB,CAC/D,OCPO,MAAMw1C,GACX,WAAAx1D,CAAYyK,GACV,IAAIgrD,EAAuBC,EAC3BhzC,GAAgBlxB,KAAM,YAAa,IACnCA,KAAKkgE,IAAM,IAAI1B,GAAyBvlD,EAAOokC,KAAMpkC,EAAOqkC,WAAY,CACtE9E,UAAWv/B,EAAOu/B,UAClBoG,iBAAkB3lC,EAAO2lC,iBACzBR,qBAAsBnlC,EAAOmlC,qBAC7BE,mBAAoBrlC,EAAOqlC,qBAE7Bt+C,KAAKmkE,iBAAmB,IAAIzB,GAA8B,CACxDhpB,UAAsL,QAA1KuqB,EAA+E,QAAtDC,EAAyBjrD,EAAOkrD,wBAAyD,IAA3BD,OAAoC,EAASA,EAAuBxqB,iBAAiD,IAA1BuqB,EAAmCA,EAAwBhrD,EAAOqkC,aAElQt9C,KAAK6/D,gBAAkBmE,GAA4BI,qBAAqBnrD,EAAO4mD,iBAK/E7/D,KAAKkgE,IAAIjB,oBAAoB,KAC3Bj/D,KAAKqkE,UAAU/qD,QAAQpb,GAAMA,OAE3B+a,EAAOgtC,YACTjmD,KAAKimD,UAAY,IAAI8c,GAA+B,CAClD7C,IAAKlgE,KAAKkgE,IACV8C,cAAe/pD,EAAOgtC,UAAU+c,cAChCtpB,UAAWzgC,EAAOgtC,UAAUvM,UAC5BupB,gBAAiBhqD,EAAOgtC,UAAUgd,gBAClCC,6BAA8BjqD,EAAOgtC,UAAUid,gCAG/CjqD,EAAOqrD,QACTtkE,KAAKskE,MAAQ,IAAIjE,GAA2BrgE,KAAKkgE,IAAKjnD,EAAOqrD,MAAM1lB,mBAEjE3lC,EAAOynD,kBACT1gE,KAAKukE,OAAOtrD,EAAOynD,iBAEvB,CAKA,MAAA6D,CAAOrmE,GACL8B,KAAKqkE,UAAUvjE,KAAK5C,EACtB,CACA,0BAAAsmE,CAA2Bn3C,EAAQxd,EAAM0pC,GACvC,IAAKv5C,KAAK6/D,gBAAiB,OAAO,EAClC,IACE,OAAO7/D,KAAK6/D,gBAAgBxyC,EAAQxd,EAAM0pC,EAC5C,CAAE,MAAO2I,GACP,OAAO,CACT,CACF,CAQA,oCAAAuiB,CAAqCxrD,GACnCjZ,KAAKukE,OAAO,KACVvkE,KAAKkgE,IAAI3hB,gBAAgBzxC,GAAQA,EAAKi3D,WAAW,YAAcj3D,IAASuyB,GAAYO,aAAc,CAAC/vB,EAAM0pC,KACvG,IAAImrB,EACJ,OAAkE,QAA1DA,EAAwB1kE,KAAKkgE,IAAIR,2BAA2D,IAA1BgF,OAAmC,EAASA,EAAsB70D,EAAM0pC,IACjJtgC,EAAO0nD,iBAEd,CAKA,8BAAAgE,CAA+B1rD,GAC7BjZ,KAAKkgE,IAAIV,kBAAkB,CAAC3vD,EAAM0pC,KAChCv5C,KAAK4kE,sBAAsB/0D,EAAM0pC,EAAS,CACxC0pB,gBAAiBhqD,aAAuC,EAASA,EAAOgqD,mBAG9E,CACA,+BAAA4B,GACE7kE,KAAKkgE,IAAIV,uBAAkB39D,EAC7B,CAUA,0BAAAijE,CAA2B7rD,GACzBjZ,KAAK+kE,6BAA6B,CAChCpE,eAAgB1nD,EAAO0nD,eACvBjnB,UAAWzgC,EAAOygC,UAClBsrB,sBAAuB/rD,EAAO+rD,sBAC9B/B,gBAAiBhqD,EAAOgqD,kBAE1BjjE,KAAKilE,6BAA6B,CAChCtE,eAAgB1nD,EAAO0nD,iBAEzB3gE,KAAKklE,yBAAyB,CAC5BvE,eAAgB1nD,EAAO0nD,eACvBqC,cAAe/pD,EAAOksD,iBACtBzrB,UAAWzgC,EAAOygC,UAClBupB,gBAAiBhqD,EAAOgqD,gBACxBC,6BAA8BjqD,EAAOiqD,+BAEvCljE,KAAKolE,uBAAuB,CAC1BzE,eAAgB1nD,EAAO0nD,eACvB3hB,aAAc/lC,EAAOosD,wBACrBrC,cAAe/pD,EAAOqsD,yBACtBrC,gBAAiBhqD,EAAOgqD,gBACxBC,6BAA8BjqD,EAAOiqD,8BAEzC,CAKA,4BAAA6B,CAA6B9rD,GAC3BjZ,KAAKukE,OAAO,KACVvkE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYK,KAAM,CAAC7vB,EAAM0pC,KAChDv5C,KAAKghE,WAAWnxD,EAAM0pC,EAAS,CAC7BG,UAAWzgC,EAAOygC,UAClBymB,gBAAiBlnD,EAAO+rD,sBACxB/B,gBAAiBhqD,EAAOgqD,mBAEzBhqD,EAAO0nD,iBAEd,CAKA,4BAAAsE,CAA6BhsD,GAC3BjZ,KAAKukE,OAAO,KACVvkE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYM,KAAM,CAAC9vB,EAAM0pC,KAChDv5C,KAAK+gE,WAAWlxD,EAAM0pC,IACrBtgC,EAAO0nD,iBAEd,CAKA,wBAAAuE,CAAyBjsD,GACvBjZ,KAAKukE,OAAO,KACVvkE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYE,IAAK,CAAC1vB,EAAM0pC,KAC/Cv5C,KAAKulE,UAAU,CACb11D,OACA0pC,UACAypB,cAAe/pD,EAAO+pD,cACtBtpB,UAAWzgC,EAAOygC,UAClBupB,gBAAiBhqD,EAAOgqD,gBACxBC,6BAA8BjqD,EAAOiqD,gCAEtCjqD,EAAO0nD,iBAEd,CAKA,sBAAAyE,CAAuBnsD,GACrBjZ,KAAKukE,OAAO,KACV,IAAItB,EAAkBhqD,EAAOgqD,gBAC7BjjE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYO,aAAc,CAAC/vB,EAAM0pC,KACxDv5C,KAAKwlE,kBAAkB,CACrB31D,OACA0pC,UACAyF,aAAc/lC,EAAO+lC,aACrBgkB,cAAe/pD,EAAO+pD,cACtBC,kBACAC,6BAA8BjqD,EAAOiqD,gCAEtCjqD,EAAO0nD,gBACV3gE,KAAKkgE,IAAI3hB,gBAAgBzxC,GAAQA,EAAKi3D,WAAW,YAAcj3D,IAASuyB,GAAYO,aAAc,CAAC/vB,EAAM0pC,KACvGv5C,KAAK4kE,sBAAsB/0D,EAAM0pC,EAAS,CACxC0pB,qBAEDhqD,EAAO0nD,iBAEd,CAUA,iCAAA8E,CAAkCxsD,GAChC,IAAIiuC,EAAYlnD,KAAKkgE,IAAIlZ,QAAQtc,WAAW,KAC5B1qC,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIgV,EAAO+pD,cAAe/pD,EAAO+4B,aAEhEhyC,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOnL,EAAO+pD,cAAe/pD,EAAO+4B,WACrD/4B,EAAOysD,cACNzsD,EAAOquC,WACVtnD,KAAKkgE,IAAIlZ,QAAQj7C,IAAIkN,EAAO+pD,cAAe/pD,EAAO+4B,UAAW,CAC3DiP,SAAUhoC,EAAOgoC,SACjBiG,YACAhR,aAAcj9B,EAAOi9B,aACrB8D,aAAc/gC,EAAO+gC,aACrBtU,SAAUzsB,EAAOysB,UAErB,CAOA,UAAAs7B,CAAWnxD,EAAM0pC,EAAStgC,GACnBsgC,EAAQp4C,SACT8X,EAAOgqD,kBAAoBhqD,EAAOgqD,gBAAgBpzD,EAAM0pC,IAC5D0mB,GAAoB,CAClBC,IAAKlgE,KAAKkgE,IACVxmB,UAAWzgC,EAAOygC,UAClBymB,gBAAiBlnD,EAAOknD,iBAH1BF,CAIGpwD,EAAM0pC,GACX,CAKA,UAAAwnB,CAAWlxD,EAAM0pC,GACf,IAAIosB,EACmC,QAAtCA,EAAkB3lE,KAAKimD,iBAA2C,IAApB0f,GAA8BA,EAAgB5E,WAAWlxD,EAAM0pC,EAChH,CAKA,QAAAqsB,CAAS1vB,EAAc8D,EAAcsN,EAAWxH,GAC9C,IAAK9/C,KAAKimD,UACR,OAAO1jB,QAAQC,SAAQ,GAEzB,IAAI4+B,EAAOphE,KAAKkgE,IAAIJ,aAAa5pB,EAAc8D,EAAc8F,GAC7D,OAAO9/C,KAAKimD,UAAUkd,KAAK/B,EAAM9Z,EAAWxH,EAC9C,CAQA,aAAAmhB,CAAchoD,GACZ,IAAIqrD,EAAQtkE,KAAKskE,MACjB,OAAKA,EACEA,EAAMrD,cAAc,CACzBG,KAAMnoD,EAAOmoD,KACb9Z,UAAWruC,EAAOquC,UAClBtN,aAAc/gC,EAAO+gC,aACrB8F,SAAU7mC,EAAO6mC,SACjBqhB,SAAUloD,EAAOkoD,SACjBtB,gBAAiB7/D,KAAK6/D,kBAPLt9B,QAAQC,SAAQ,EASrC,CASA,kBAAAqjC,CAAmB5sD,GACjB,IAAI6sD,EACA1H,EAA4D,QAAlD0H,EAAwB7sD,EAAO+pD,qBAAqD,IAA1B8C,EAAmCA,EAAwB9B,GAA4B+B,4BAC3J7e,EAAYlnD,KAAKkgE,IAAIlZ,QAAQtc,WAAW,KAC1C1qC,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOg6C,EAAQnlD,EAAO+4B,WACvC/4B,EAAOupB,SAAQ,IACdvpB,EAAOquC,WACVtnD,KAAKkgE,IAAIlZ,QAAQj7C,IAAIqyD,EAAQnlD,EAAO+4B,UAAW,CAC7CxP,QAASvpB,EAAOupB,QAChB0kB,aAEJ,CAKA,SAAAqe,CAAUtsD,GACR,IAAI+sD,EACA5H,EAA6D,QAAnD4H,EAAyB/sD,EAAO+pD,qBAAsD,IAA3BgD,EAAoCA,EAAyBhC,GAA4B+B,4BAClK,IAAI9sD,EAAOgqD,iBAAoBhqD,EAAOgqD,gBAAgBhqD,EAAOpJ,KAAMoJ,EAAOsgC,SAA1E,CACA,IAGQ0sB,EAHJjf,EAAUhnD,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIm6D,EAAQnlD,EAAOpJ,KAAKmiC,WACvD,GAAKgV,EAOL/tC,EAAOsgC,QAAQE,cAAcxgC,EAAOygC,WACpC15C,KAAKkgE,IAAIlZ,QAAQrB,aAAaqB,EAAQE,WACtClnD,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOg6C,EAAQnlD,EAAOpJ,KAAKmiC,WAC5CgV,EAAQxkB,SAAQ,EAAMvpB,EAAOpJ,KAAKksC,UAT3B/7C,KAAKkgE,IAAIF,QAEsD,QAAjEiG,EAAwBhtD,EAAOiqD,wCAA0C+C,GAAoCA,EAAsBloE,KAAKkb,EAAQA,EAAOpJ,KALxE,CAatF,CAKA,qBAAA+0D,CAAsB/0D,EAAM0pC,EAAStgC,GAC/BA,SAAwCA,EAAOgqD,kBAAoBhqD,EAAOgqD,gBAAgBpzD,EAAM0pC,IACpGv5C,KAAKmkE,iBAAiBtB,SAAShzD,EAAM0pC,EACvC,CAQA,iBAAAisB,CAAkBvsD,GAChB,IAAIpJ,EAAOoJ,EAAOpJ,KAChB0pC,EAAUtgC,EAAOsgC,QACnB,KAAItgC,EAAO+lC,cAAgBnvC,EAAKwtC,OAASpkC,EAAO+lC,iBAC5C/lC,EAAOgqD,iBAAoBhqD,EAAOgqD,gBAAgBpzD,EAAM0pC,IAA5D,CACA,IAAIx0B,EAAOlV,EAAKkV,KAChB,GAAMA,SAAoCA,EAAKk8B,SAA/C,CACA,IAGQilB,EAHJlf,EAAUhnD,KAAKkgE,IAAIlZ,QAAQ/iD,IAAIgV,EAAO+pD,cAAenzD,EAAKmiC,WAC9D,GAAKgV,GAOL,GAAIA,EAAQ/F,WAAal8B,EAAKk8B,SAA9B,CACAjhD,KAAKkgE,IAAIlZ,QAAQrB,aAAaqB,EAAQE,WACtClnD,KAAKkgE,IAAIlZ,QAAQ5iC,OAAOnL,EAAO+pD,cAAenzD,EAAKmiC,WACnD,IAAIm0B,ECxVD,SAAoCltD,GACzC,MAAO,CACL8rC,sBAAuB,CAAC9D,EAAU/W,KAChCjxB,EAAOwiD,WAAWkH,SAAS1hB,EAAU/W,IAEvCib,wBAAyBlE,IACvBhoC,EAAOwiD,WAAWmH,WAAW3hB,IAE/BhX,YAAa4H,IACX54B,EAAOgxB,YAAY4H,IAGzB,CD4UwBu0B,CAA2B,CAC7C3K,WAAYz7D,KAAKmkE,iBACjBl6B,YAAa4H,IACX7xC,KAAKkgE,IAAIlB,kBAAkBjlB,KAAKiN,EAAQ9Q,aAAcrE,EAASmV,EAAQhN,iBAGvEwjB,EAAU6F,GAA8B,CAC1CrxB,UAAWniC,EAAKmiC,UAChBniC,OACAq6B,QAASi8B,EACT3tB,UAAW3oC,EAAK2oC,YAEbglB,GACLxW,EAAQthB,SAAS,CACfkyB,OAAQ4F,EAAQ5F,OAChB6L,KAAMjG,EAAQiG,KACd5zD,OACA0pC,WApBsC,OANjCv5C,KAAKkgE,IAAIF,QAEuD,QAAlEkG,EAAyBjtD,EAAOiqD,oCAAqE,IAA3BgD,GAAqCA,EAAuBnoE,KAAKkb,EAAQpJ,EAL9F,CAFY,CAiCxE,CACA,2BAAOu0D,CAAqB3+D,GAC1B,GAAKA,EAAL,CACA,GAAIA,EAAM4gE,eACR,MAAO,CAACh5C,EAAQxd,EAAM0pC,IAAY9zC,EAAM4gE,eAAeh5C,EAAQxd,EAAM0pC,GAEvE,GAAI9zC,EAAM6gE,eAAgB,CACxB,IAAI9nB,EAAU/4C,EAAM6gE,eACpB,OAAOj5C,GAAUw2C,GAAYx2C,EAAQmxB,EACvC,CAP4B,CAS9B,EAEFttB,GAAgB8yC,GAA6B,8BAA+B,qCEzWrE,SAASuC,GAAoCttD,GAClD,IAAIutD,EAAiBC,EAEjBpN,EAnBC,SAA6Ch5D,GAClD,GAAKA,EAAL,CACA,IAAIqmE,EAA+B,iBAAVrmE,EAAqBA,EAAQA,EAAM,GAC5D,GAAKqmE,EAAL,CACA,IAAIxkE,EAAQwkE,EAAYxkE,MAAM,yBAC9B,OAAOA,EAAQA,EAAM,QAAKL,CAFQ,CAFN,CAK9B,CAYuB8kE,CAA2E,QAAtCH,EAAkBvtD,EAAO6L,eAAyC,IAApB0hD,OAA6B,EAASA,EAAgBnmC,GAAWG,wBACtG,QAAhCimC,EAAextD,EAAOwqD,YAAmC,IAAjBgD,GAAsE,QAA1CA,EAAeA,EAAal6D,oBAAsBk6D,OAA0B,EAASA,EAAanO,WAAar/C,EAAO2tD,WAAWtO,SACxO,OAAOe,EAAWpgD,EAAO2tD,WAAWxN,WAAWC,GAAYpgD,EAAO2tD,WAAWzN,YAC/E,CCtBO,SAAS0N,GAAkBh3D,EAAMzB,GACtC,GAAIyB,QAAqC,OAAO,KAChD,IAAIwpC,EAAOjrC,GAAW,CAAA,EACpB04D,EAAmBztB,EAAK0tB,YACxBA,WAAcD,GAAsCA,EACpDlN,EAAyBvgB,EAAKugB,uBAGhC,GAAImN,GAAenN,GACbA,EAAuB/pD,GACzB,OAAO,KAKX,GAAoB,oBAATypD,MAAwBzpD,aAAgBypD,KACjD,OAAOzpD,EAAK/C,MAAQ,2BAItB,GAAoB,oBAATw3C,MAAwBz0C,aAAgBy0C,KACjD,OAAOz0C,EAAK/C,MAAQ,2BAItB,GAA2B,oBAAhB0lC,aAA+B3iC,aAAgB2iC,YACxD,MAAO,2BAIT,GAAwB,oBAAbw0B,UAA4Bn3D,aAAgBm3D,SAErD,OAAO,KAIT,GAA+B,oBAApB5tD,iBAAmCvJ,aAAgBuJ,gBAC5D,MAAO,oCAIT,GAAoB,iBAATvJ,EAET,IAEE,OADAo3D,KAAKn8C,MAAMjb,GACJ,kBACT,CAAE,MAAOqyC,GACP,MAAO,2BACT,CAIF,MAAoB,iBAATryC,GAAqC,kBAATA,EAC9B,mBAIW,iBAATA,EAIW,oBAATy0C,MAAwBz0C,aAAgBy0C,MAC/B,oBAATgV,MAAwBzpD,aAAgBypD,MACxB,oBAAhB9mB,aAA+B3iC,aAAgB2iC,aAClC,oBAAbw0B,UAA4Bn3D,aAAgBm3D,UACxB,oBAApB5tD,iBAAmCvJ,aAAgBuJ,gBAJE,KAKzD,mBAEF,IACT,kCC/EA,IAAIrb,EAAOT,KACPe,EAAcM,IACdw3B,EAAgCt3B,KAChCkF,EAAWd,KACXa,EAAWZ,KACX2E,EAAWzE,KACX9E,EAAWqL,KACXrK,EAAyB8M,IACzBhH,EAAY0N,KACZ4hB,EAAqB3hB,KACrBqjB,EAAiBpjB,KACjBqjB,EAAapjB,KAEbsjB,EAAgBl4B,EAAY,GAAGmK,SAGnC2tB,EAA8B,QAAS,SAAUqlB,EAAO0rB,EAAatwC,GACnE,MAAO,CAGL,SAAetC,GACb,IAAI1tB,EAAItH,EAAuBU,MAC3Bw+C,EAAU16C,EAASwwB,GAAUlvB,EAAUkvB,EAAQknB,QAAS35C,EAC5D,OAAO28C,EAAUzgD,EAAKygD,EAASlqB,EAAQ1tB,GAAK,IAAImrB,OAAOuC,GAAQknB,GAAOl9C,EAASsI,GACrF,EAGI,SAAUqJ,GACR,IAAI+mB,EAAKjzB,EAAS/D,MACdyY,EAAIna,EAAS2R,GACbgnB,EAAML,EAAgBswC,EAAalwC,EAAIve,GAE3C,GAAIwe,EAAItiB,KAAM,OAAOsiB,EAAI52B,MAEzB,IAAIkyB,EAAQj0B,EAAS83B,EAAeY,IAEpC,IAAkC,IAA9BT,EAAchE,EAAO,KAAa,OAAO8D,EAAWW,EAAIve,GAE5D,IAAI0e,GAA4C,IAA9BZ,EAAchE,EAAO,KACvCyE,EAAG9E,UAAY,EAIf,IAHA,IAEInsB,EAFA4f,EAAI,GACJte,EAAI,EAEgC,QAAhCtB,EAASswB,EAAWW,EAAIve,KAAc,CAC5C,IAAI0uD,EAAW7oE,EAASyH,EAAO,IAC/B4f,EAAEte,GAAK8/D,EACU,KAAbA,IAAiBnwC,EAAG9E,UAAYwC,EAAmBjc,EAAG5Q,EAASmvB,EAAG9E,WAAYiF,IAClF9vB,GACR,CACM,OAAa,IAANA,EAAU,KAAOse,CAC9B,EAEA,oDCpDA,IAgBMzY,EAhBFyF,EAAIrV,KACJe,EAAcM,KACd2H,EAA2BzH,KAA2D8H,EACtFkB,EAAW5E,KACX3E,EAAW4E,KACXm4D,EAAaj4D,KACb9D,EAAyBqK,IACzB2xD,EAAuBlvD,KACvB5L,EAAUsS,KAEVtU,EAAQH,EAAY,GAAGG,OACvBiJ,EAAM/H,KAAK+H,IAEXq8D,EAA0BxI,EAAqB,YASnD3oD,EAAE,CAAEpD,OAAQ,SAAUkD,OAAO,EAAM7B,UAPXpQ,GAAYsjE,IAC9B52D,EAAa5G,EAAyBrE,OAAOnE,UAAW,aACrDoP,GAAeA,EAAW3M,aAK8BujE,GAA2B,CAC1FsD,SAAU,SAAkB7L,GAC1B,IAAIxhD,EAAOzb,EAASgB,EAAuBU,OAC3Cq7D,EAAWE,GACX,IAAI8L,EAAcjpE,UAAUyG,OAAS,EAAIzG,UAAU,QAAKyD,EACpDiG,EAAMiS,EAAKlV,OACX+iC,OAAsB/lC,IAAhBwlE,EAA4Bv/D,EAAML,EAAII,EAASw/D,GAAcv/D,GACnE0mB,EAASlwB,EAASi9D,GACtB,OAAO/8D,EAAMub,EAAM6tB,EAAMpZ,EAAO3pB,OAAQ+iC,KAASpZ,CACrD,uEC9BA84C,GAAiB,iDCDjB,SAASl4D,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAE9P,SAASs5B,GAA2BtmB,EAAGC,GAAK,IAAIjT,EAAI,oBAAsBnb,QAAUmuB,EAAEnuB,OAAOI,WAAa+tB,EAAE,cAAe,IAAKhT,EAAG,CAAE,GAAItS,MAAMwP,QAAQ8V,KAAOhT,EAC9J,SAAqCgT,EAAGvsB,GAAK,GAAIusB,EAAG,CAAE,GAAI,iBAAmBA,EAAG,OAAO8R,GAAkB9R,EAAGvsB,GAAI,IAAIuZ,EAAI,CAAA,EAAGzf,SAASP,KAAKgzB,GAAGvyB,MAAM,GAAG,GAAK,MAAO,WAAauf,GAAKgT,EAAEviB,cAAgBuP,EAAIgT,EAAEviB,YAAY/K,MAAO,QAAUsa,GAAK,QAAUA,EAAItS,MAAM03B,KAAKpS,GAAK,cAAgBhT,GAAK,2CAA2CvgB,KAAKugB,GAAK8kB,GAAkB9R,EAAGvsB,QAAK,CAAQ,CAAE,CADvN8yC,CAA4BvmB,KAAOC,EAAuC,CAAEjT,IAAMgT,EAAIhT,GAAI,IAAIw5B,EAAK,EAAGnsC,EAAI,WAAc,EAAG,MAAO,CAAEosC,EAAGpsC,EAAG/D,EAAG,WAAe,OAAOkwC,GAAMxmB,EAAElsB,OAAS,CAAE8P,MAAM,GAAO,CAAEA,MAAM,EAAItU,MAAO0wB,EAAEwmB,KAAS,EAAGvmB,EAAG,SAAWD,GAAK,MAAMA,CAAG,EAAGpqB,EAAGyE,EAAK,CAAE,MAAM,IAAI/L,UAAU,wIAA0I,CAAE,IAAIyxB,EAAGtsB,GAAI,EAAI89B,GAAI,EAAI,MAAO,CAAEkV,EAAG,WAAez5B,EAAIA,EAAEhgB,KAAKgzB,EAAI,EAAG1pB,EAAG,WAAe,IAAI0pB,EAAIhT,EAAE/L,OAAQ,OAAOxN,EAAIusB,EAAEpc,KAAMoc,CAAG,EAAGC,EAAG,SAAWD,GAAKuR,GAAI,EAAIxR,EAAIC,CAAG,EAAGpqB,EAAG,WAAe,IAAMnC,GAAK,MAAQuZ,EAAEynB,QAAUznB,EAAEynB,QAAU,CAAC,QAAW,GAAIlD,EAAG,MAAMxR,CAAG,CAAE,EAAK,CAEr1B,SAAS+R,GAAkB9R,EAAGvsB,IAAM,MAAQA,GAAKA,EAAIusB,EAAElsB,UAAYL,EAAIusB,EAAElsB,QAAS,IAAK,IAAImsB,EAAI,EAAG3pB,EAAIoE,MAAMjH,GAAIwsB,EAAIxsB,EAAGwsB,IAAK3pB,EAAE2pB,GAAKD,EAAEC,GAAI,OAAO3pB,CAAG,CAoLnJ,SAASkgE,GAAc77C,GACrB,OAAKA,GAAiB,KAATA,GAERA,EAAKq4C,WAAW,OACnBr4C,EAAO,IAAMA,GAGXA,EAAK7mB,OAAS,GAAK6mB,EAAK07C,SAAS,OACnC17C,EAAOA,EAAKltB,MAAM,GAAG,IAEhBktB,GAT0B,GAUnC,kCCnMA,IAAI/Y,EAAIrV,KACJkqE,kCCDJ,IAAInpE,EAAcf,IACdgC,EAAyBX,IACzBL,EAAWO,KACXyoE,EAAcrkE,KAEd6K,EAAUzP,EAAY,GAAGyP,SACzB25D,EAAQ11C,OAAO,KAAOu1C,EAAc,MACpCI,EAAQ31C,OAAO,QAAUu1C,EAAc,MAAQA,EAAc,OAG7Dr/D,EAAe,SAAU4E,GAC3B,OAAO,SAAU1E,GACf,IAAI8H,EAAS3R,EAASgB,EAAuB6I,IAG7C,OAFW,EAAP0E,IAAUoD,EAASnC,EAAQmC,EAAQw3D,EAAO,KACnC,EAAP56D,IAAUoD,EAASnC,EAAQmC,EAAQy3D,EAAO,OACvCz3D,CACX,CACA,SAEA03D,GAAiB,CAGf3lD,MAAO/Z,EAAa,GAGpB2/B,IAAK3/B,EAAa,GAGlB2/D,KAAM3/D,EAAa,ID3BTtJ,GAAoCipE,KAC5CC,kCEFJ,IAAIx0D,EAAuB/V,KAAsCgQ,OAC7DnQ,EAAQwB,IACR2oE,EAAczoE,YAMlBipE,GAAiB,SAAUlwD,GACzB,OAAOza,EAAM,WACX,QAASmqE,EAAY1vD,MANf,cAOGA,MACHvE,GAAwBi0D,EAAY1vD,GAAanU,OAASmU,CACpE,EACA,EFZ6B/Y,GAI7B8T,EAAE,CAAEpD,OAAQ,SAAUkD,OAAO,EAAM7B,OAAQi3D,EAAuB,SAAW,CAC3ED,KAAM,WACJ,OAAOJ,EAAMxnE,KACjB,OD+LO,MAAM+nE,GACX,WAAAv5D,GACE0iB,GAAgBlxB,KAAM,UAAW,IAAIugD,IACvC,CAIA,MAAAynB,CAAOvkE,EAAMioB,GACX,MAAO,GAAGjoB,KAAQioB,GACpB,CAKA,GAAA3f,CAAIk8D,GACF,IAAI7nE,EAAMJ,KAAKgoE,OAAOC,EAAOxkE,KAAMwkE,EAAOv8C,MAC1C1rB,KAAKkoE,QAAQn8D,IAAI3L,EAAK6nE,EACxB,CAKA,gBAAAE,CAAiBC,GACf,IAAIH,EAzLD,SAAwBG,GAC7B,IAAKA,EAAc,OAAO,KAC1B,IAAIt7C,EAAQs7C,EAAappE,MAAM,KAAKixB,IAAImU,GAAKA,EAAEwjC,QAC/C,GAAqB,IAAjB96C,EAAMjoB,OAAc,OAAO,KAG/B,IAAIwjE,EAAYv7C,EAAM,GAClBw7C,EAAUD,EAAU7/D,QAAQ,KAChC,IAAgB,IAAZ8/D,EAAgB,OAAO,KAC3B,IAAI7kE,EAAO4kE,EAAUnmC,UAAU,EAAGomC,GAASV,OACvCvnE,EAAQgoE,EAAUnmC,UAAUomC,EAAU,GAAGV,OAC7C,IAAKnkE,EAAM,OAAO,KAQlB,IAPA,IAAIwkE,EAAS,CACXxkE,OACApD,QACAqrB,KAAM,KAIC7iB,EAAI,EAAGA,EAAIikB,EAAMjoB,OAAQgE,IAAK,CACrC,IAAI8jB,EAAOG,EAAMjkB,GACb0/D,EAAc57C,EAAKnkB,QAAQ,KAC/B,IAAoB,IAAhB+/D,EAAoB,CAEtB,IAAIC,EAAW77C,EAAKzc,cACH,aAAbs4D,EACFP,EAAOQ,UAAW,EACI,WAAbD,IACTP,EAAOS,QAAS,EAEpB,KAAO,CAEL,IAAIC,EAAYh8C,EAAKuV,UAAU,EAAGqmC,GAAaX,OAAO13D,cAClD04D,EAAYj8C,EAAKuV,UAAUqmC,EAAc,GAAGX,OAChD,GAAkB,SAAde,EACFV,EAAOv8C,KAAOk9C,GAAa,SACtB,GAAkB,YAAdD,EAAyB,CAClC,IAAIE,EAAO,IAAI7mC,KAAK4mC,GACf3jC,MAAM4jC,EAAKC,aACdb,EAAOc,QAAUF,EAAKC,UAE1B,MAAO,GAAkB,YAAdH,EAAyB,CAClC,IAAIK,EAAStnD,SAASknD,EAAW,IAC5B3jC,MAAM+jC,KACTf,EAAOc,QAAU/mC,KAAKC,MAAiB,IAAT+mC,EAElC,MAAO,GAAkB,aAAdL,EAA0B,CACnC,IAAIM,EAAWL,EAAUzwD,OAAO,GAAGy+B,cAAgBgyB,EAAUpqE,MAAM,GAAG0R,cACrD,WAAb+4D,GAAsC,QAAbA,GAAmC,SAAbA,IACjDhB,EAAOgB,SAAWA,EAEtB,CACF,CACF,CACA,OAAOhB,CACT,CAkIiBiB,CAAed,GACxBH,SAEqBpmE,IAAnBomE,EAAOc,SAAyBd,EAAOc,SAAW/mC,KAAKC,MACzDjiC,KAAKmpE,OAAOlB,EAAOxkE,KAAMwkE,EAAOv8C,MAEhC1rB,KAAK+L,IAAIk8D,GAGf,CAKA,MAAAkB,CAAO1lE,EAAMioB,EAAO,KAClB,IAAItrB,EAAMJ,KAAKgoE,OAAOvkE,EAAMioB,GAC5B1rB,KAAKkoE,QAAQ9jD,OAAOhkB,EACtB,CAOA,UAAAgpE,CAAWC,GACT,IAAItjE,EAAS,CAAA,EACTk8B,EAAMD,KAAKC,MAef,OAdAjiC,KAAKkoE,QAAQ5uD,QAAQ2uD,SAEIpmE,IAAnBomE,EAAOc,SAAyBd,EAAOc,SAAW9mC,GA3FrD,SAAyBonC,EAAaC,GAE3C,IAAIC,EAAUhC,GAAc8B,GACxBG,EAAQjC,GAAc+B,GAG1B,OAAIC,IAAYC,MAKZD,EAAQxF,WAAWyF,KAEjBA,EAAMpC,SAAS,MAAyC,MAAjCmC,EAAQpxD,OAAOqxD,EAAM3kE,QAKpD,CA8EU4kE,CAAgBJ,EAAapB,EAAOv8C,YAEV7pB,IAAxBkE,EAAOkiE,EAAOxkE,QAChBsC,EAAOkiE,EAAOxkE,MAAQwkE,EAAO5nE,SAI5B0F,CACT,CAOA,GAAA9B,CAAIR,EAAMioB,GACR,GAAIA,EAAM,CACR,IAAItrB,EAAMJ,KAAKgoE,OAAOvkE,EAAMioB,GACxBu8C,EAASjoE,KAAKkoE,QAAQjkE,IAAI7D,GAC9B,OAAI6nE,KAAYA,EAAOc,SAAWd,EAAOc,QAAU/mC,KAAKC,OAC/CgmC,EAAO5nE,WAEhB,CACF,CAGA,IACE63C,EADEC,EAAYd,GAA2Br3C,KAAKkoE,QAAQzzD,UAExD,IACE,IAAK0jC,EAAUX,MAAOU,EAAQC,EAAU9wC,KAAKsN,MAAO,CAClD,IAAI+0D,EAAUxxB,EAAM73C,MACpB,GAAIqpE,EAAQjmE,OAASA,KACdimE,EAAQX,SAAWW,EAAQX,QAAU/mC,KAAKC,OAC7C,OAAOynC,EAAQrpE,KAGrB,CACF,CAAE,MAAO+3C,GACPD,EAAUnnB,EAAEonB,EACd,CAAC,QACCD,EAAUxxC,GACZ,CAEF,CAKA,MAAA2d,GACE,IAAI2d,EAAMD,KAAKC,MACXl8B,EAAS,GAMb,OALA/F,KAAKkoE,QAAQ5uD,QAAQ2uD,MACdA,EAAOc,SAAWd,EAAOc,QAAU9mC,IACtCl8B,EAAOjF,KArTf,SAAuBkwB,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CAqTlakF,CAAc,CAAA,EAAI+xC,MAG3BliE,CACT,CAKA,YAAA4jE,GACE,IAAI5jE,EAAS,CAAA,EACTk8B,EAAMD,KAAKC,MAMf,OALAjiC,KAAKkoE,QAAQ5uD,QAAQ2uD,MACdA,EAAOc,SAAWd,EAAOc,QAAU9mC,KACtCl8B,EAAOkiE,EAAOxkE,MAAQwkE,EAAO5nE,SAG1B0F,CACT,CAKA,KAAAsjC,GACErpC,KAAKkoE,QAAQ7+B,OACf,CAKA,OAAAugC,GACE,IAAI3nC,EAAMD,KAAKC,MACX4nC,EAAe,GACnB7pE,KAAKkoE,QAAQ5uD,QAAQ,CAAC2uD,EAAQ7nE,UACLyB,IAAnBomE,EAAOc,SAAyBd,EAAOc,SAAW9mC,GACpD4nC,EAAa/oE,KAAKV,KAGtBypE,EAAavwD,QAAQlZ,GAAOJ,KAAKkoE,QAAQ9jD,OAAOhkB,GAClD,EItVK,MAAM0pE,GACX,WAAAt7D,GACE0iB,GAAgBlxB,KAAM,WAAY,GACpC,CAIA,GAAA+pE,CAAIC,EAAWC,GAKb,OAJAjqE,KAAK8+C,SAASh+C,KAAK,CACjBkpE,YACAC,aAEKjqE,KAAK8+C,SAASj6C,OAAS,CAChC,CAKA,KAAAqlE,CAAMzoE,GACAzB,KAAK8+C,SAASr9C,KAChBzB,KAAK8+C,SAASr9C,GAAM,KAExB,CAKA,KAAA4nC,GACErpC,KAAK8+C,SAASj6C,OAAS,CACzB,CAKA,OAAAyU,CAAQpb,GACN8B,KAAK8+C,SAASxlC,QAAQ6wD,IACV,OAANA,GACFjsE,EAAGisE,IAGT,EAMK,MAAMC,WAAkCN,IAKxC,MAAMO,WAAmCP,IAKzC,SAASQ,GAAuB7P,EAAI8P,GACzC,OAAOC,GAAwBrsE,MAAM6B,KAAM5B,UAC7C,CAKA,SAASosE,KAsBP,OArBAA,GAA0B9nC,GAA+B4C,GAAoBiB,KAAK,SAASuf,EAAQ2kB,EAAc34B,GAC/G,IAAI1G,EACJ,OAAO9F,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EAUH,OATAo5B,EAAU7I,QAAQC,QAAQsP,GAC1B24B,EAAanxD,QAAQoxD,IACnBt/B,EAAUA,EAAQ3I,KAAKqP,GAAU44B,EAAYV,UAAUl4B,GAASz0C,GAC1DqtE,EAAYT,SACPS,EAAYT,SAAS5sE,GAEvBklC,QAAQgL,OAAOlwC,MAGnB2oD,EAASngB,OAAO,SAAUuF,GACnC,KAAK,EACL,IAAK,MACH,OAAO4a,EAASrgB,OAEtB,EAAGmgB,EACL,KAC+B3nD,MAAM6B,KAAM5B,UAC7C,CACO,SAASusE,GAAwBC,EAAKC,GAC3C,OAAOC,GAAyB3sE,MAAM6B,KAAM5B,UAC9C,CACA,SAAS0sE,KAsBP,OArBAA,GAA2BpoC,GAA+B4C,GAAoBiB,KAAK,SAAS+f,EAASmkB,EAAc14B,GACjH,IAAI3G,EACJ,OAAO9F,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EAUH,OATAo5B,EAAU7I,QAAQC,QAAQuP,GAC1B04B,EAAanxD,QAAQoxD,IACnBt/B,EAAUA,EAAQ3I,KAAKsP,GAAY24B,EAAYV,UAAUj4B,GAAW10C,GAC9DqtE,EAAYT,SACPS,EAAYT,SAAS5sE,GAEvBklC,QAAQgL,OAAOlwC,MAGnBkpD,EAAU1gB,OAAO,SAAUuF,GACpC,KAAK,EACL,IAAK,MACH,OAAOmb,EAAU5gB,OAEvB,EAAG2gB,EACL,KACgCnoD,MAAM6B,KAAM5B,UAC9C,CCtHA,SAASi5C,GAA2BtmB,EAAGC,GAAK,IAAIjT,EAAI,oBAAsBnb,QAAUmuB,EAAEnuB,OAAOI,WAAa+tB,EAAE,cAAe,IAAKhT,EAAG,CAAE,GAAItS,MAAMwP,QAAQ8V,KAAOhT,EAC9J,SAAqCgT,EAAGvsB,GAAK,GAAIusB,EAAG,CAAE,GAAI,iBAAmBA,EAAG,OAAO8R,GAAkB9R,EAAGvsB,GAAI,IAAIuZ,EAAI,CAAA,EAAGzf,SAASP,KAAKgzB,GAAGvyB,MAAM,GAAG,GAAK,MAAO,WAAauf,GAAKgT,EAAEviB,cAAgBuP,EAAIgT,EAAEviB,YAAY/K,MAAO,QAAUsa,GAAK,QAAUA,EAAItS,MAAM03B,KAAKpS,GAAK,cAAgBhT,GAAK,2CAA2CvgB,KAAKugB,GAAK8kB,GAAkB9R,EAAGvsB,QAAK,CAAQ,CAAE,CADvN8yC,CAA4BvmB,KAAOC,EAAuC,CAAEjT,IAAMgT,EAAIhT,GAAI,IAAIw5B,EAAK,EAAGnsC,EAAI,WAAc,EAAG,MAAO,CAAEosC,EAAGpsC,EAAG/D,EAAG,WAAe,OAAOkwC,GAAMxmB,EAAElsB,OAAS,CAAE8P,MAAM,GAAO,CAAEA,MAAM,EAAItU,MAAO0wB,EAAEwmB,KAAS,EAAGvmB,EAAG,SAAWD,GAAK,MAAMA,CAAG,EAAGpqB,EAAGyE,EAAK,CAAE,MAAM,IAAI/L,UAAU,wIAA0I,CAAE,IAAIyxB,EAAGtsB,GAAI,EAAI89B,GAAI,EAAI,MAAO,CAAEkV,EAAG,WAAez5B,EAAIA,EAAEhgB,KAAKgzB,EAAI,EAAG1pB,EAAG,WAAe,IAAI0pB,EAAIhT,EAAE/L,OAAQ,OAAOxN,EAAIusB,EAAEpc,KAAMoc,CAAG,EAAGC,EAAG,SAAWD,GAAKuR,GAAI,EAAIxR,EAAIC,CAAG,EAAGpqB,EAAG,WAAe,IAAMnC,GAAK,MAAQuZ,EAAEynB,QAAUznB,EAAEynB,QAAU,CAAC,QAAW,GAAIlD,EAAG,MAAMxR,CAAG,CAAE,EAAK,CAEr1B,SAAS+R,GAAkB9R,EAAGvsB,IAAM,MAAQA,GAAKA,EAAIusB,EAAElsB,UAAYL,EAAIusB,EAAElsB,QAAS,IAAK,IAAImsB,EAAI,EAAG3pB,EAAIoE,MAAMjH,GAAIwsB,EAAIxsB,EAAGwsB,IAAK3pB,EAAE2pB,GAAKD,EAAEC,GAAI,OAAO3pB,CAAG,CAEnJ,SAAS+H,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CAgC/a,MAAM+5C,GAMX,sBAAAC,CAAuBrkB,GAChBA,IACA3mD,KAAKirE,kBACRjrE,KAAKirE,gBAAkBtkB,EACvB3mD,KAAKkrE,OAAOjP,mBAAmBtV,IAEnC,CACA,WAAAn4C,CAAY0nC,EAAc8D,EAAc5rC,EAASkvC,GAC/C,IAAI6tB,EAAqBC,EAAkBC,EAAuBC,EAElEp6C,GAAgBlxB,KAAM,eAAgB,CACpCurE,QAAS,IAAInB,GACbr4B,SAAU,IAAIs4B,KAOhBn5C,GAAgBlxB,KAAM,eAAgB,IAAI+nE,IAC1C/nE,KAAKyB,GAAK67C,GAAcnb,KACxBniC,KAAKk2C,aAAeA,EACpBl2C,KAAKg6C,aAAeA,EACpBh6C,KAAKw4C,UAAYpqC,aAAyC,EAASA,EAAQoqC,UAC3E,IAAIgzB,EAAW,IAAIxH,GAA4B,CAC7C3mB,KAAMpd,GAAYE,OAClBmd,WAAYt9C,KAAKyB,GACjB+2C,UAAWpqC,aAAyC,EAASA,EAAQoqC,UACrE4F,qBAAsBhwC,aAAyC,EAASA,EAAQgwC,qBAChFE,mBAAoBlwC,aAAyC,EAASA,EAAQkwC,mBAC9EgmB,MAAO,CAAA,EACPH,iBAAkB,CAChBzqB,UAAW15C,KAAKyB,IAElBo+D,gBAAiB,CACfyG,eAAgBl4D,aAAyC,EAASA,EAAQk4D,eAC1ED,eAAgBj4D,aAAyC,EAASA,EAAQi4D,kBAG9ErmE,KAAKwrE,SAAWA,EAEhBxrE,KAAKkgE,IAAMsL,EAAStL,IACpBlgE,KAAKmkE,iBAAmBqH,EAASrH,iBACjCnkE,KAAKskE,MAAQkH,EAASlH,MACtBtkE,KAAK6/D,gBAAkB2L,EAAS3L,gBAGhC7/D,KAAKkrE,OAASlrE,KAAKkgE,IAAIJ,aAAa9/D,KAAKk2C,aAAcl2C,KAAKg6C,cAM5Dh6C,KAAKwrE,SAASjH,OAAO,IAAMvkE,KAAKskE,MAAM5D,oBAGtC1gE,KAAKkgE,IAAIriB,kBAAkB79C,KAAKkrE,OAAOh1B,aAAcl2C,KAAKkrE,OAAOlxB,cAGjEh6C,KAAKyrE,kBAAqH,QAAhGN,EAAsB/8D,aAAyC,EAASA,EAAQi6C,kBAAgD,IAAxB8iB,EAAiCA,EAAsB/qC,GAAeb,IACxMv/B,KAAK0rE,eAA4G,QAA1FN,EAAmBh9D,aAAyC,EAASA,EAAQi4C,eAA0C,IAArB+kB,EAA8BA,EAAmBhrC,GAAed,QACzLt/B,KAAK2rE,oBAA2H,QAApGN,EAAwBj9D,aAAyC,EAASA,EAAQw9D,oBAAoD,IAA1BP,EAAmCA,EAAwBjrC,GAAeZ,MAGlNx/B,KAAK6rE,kBAAqH,QAAhGP,EAAsBl9D,aAAyC,EAASA,EAAQ09D,kBAAgD,IAAxBR,GAAiCA,EAGnKtrE,KAAK+rE,eAAiB39D,aAAyC,EAASA,EAAQ0W,QAGhF9kB,KAAKwrE,SAAS7G,+BAA+B,CAC3C1B,gBAAiB,CAACt/B,EAAGqoC,IAAQhsE,KAAKkgE,IAAIP,kBAAkBqM,EAAI3+C,OAAQsW,EAAGqoC,EAAKhsE,KAAKg6C,aAAch6C,KAAK6/D,mBAEtG7/D,KAAKwrE,SAAS/G,qCAAqC,CACjD9D,eAAgB3gE,KAAKkgE,IAAIb,qBAAqB,WAM6B,KAAxEjxD,eAAkDA,EAAQ69D,WAC7DjsE,KAAKmL,MAET,CAKA,qBAAA45C,CAAsB9D,EAAU/W,GAC9BlqC,KAAKmkE,iBAAiBxB,SAAS1hB,EAAU/W,EAC3C,CAKA,uBAAAib,CAAwBlE,GACtBjhD,KAAKmkE,iBAAiBvB,WAAW3hB,EACnC,CAKA,WAAAhX,CAAY4H,GACV7xC,KAAK29D,QAAQ9rB,EACf,CAOA,OAAA8rB,CAAQ9rB,GAEN7xC,KAAKkrE,OAAOvN,QAAQ9rB,EACtB,CAKA,kBAAAq6B,CAAmB7rE,EAAOyxC,GACxB,OAAIkE,GAAW31C,GACNA,EAAMyxC,GAERzxC,CACT,CAKA,wBAAA8rE,CAAyBpnD,GACvB,OAAO8hD,GAAkB9hD,EAAM,CAC7BgiD,aAAa,GAEjB,CAKA,SAAAqF,CAAUtnD,EAASrhB,GACjB,IAAI4oE,EAAQ5oE,EAAKyM,cACjB,OAAOnR,OAAOkK,KAAK6b,GAASqL,KAAKpT,GAAKA,EAAE7M,gBAAkBm8D,EAC5D,CAOA,YAAAC,CAAax6B,EAAQ/sB,GACnB,IAAIwnD,EAAkB,CAAA,EAGtB,GAAIvsE,KAAK+rE,eACP,IAAK,IAAIS,EAAK,EAAGC,EAAkB1tE,OAAOyV,QAAQxU,KAAK+rE,gBAAiBS,EAAKC,EAAgB5nE,OAAQ2nE,IAAM,CACzG,IAAIE,EAAqB5pC,GAAe2pC,EAAgBD,GAAK,GAC3DpsE,EAAMssE,EAAmB,GACzBrsE,EAAQqsE,EAAmB,GAC7BH,EAAgBnsE,GAAOJ,KAAKksE,mBAAmB7rE,EAAOyxC,EACxD,CAIF,GAAIA,EAAOhtB,QACT,IAAK,IAAI6nD,EAAM,EAAGC,EAAmB7tE,OAAOyV,QAAQs9B,EAAOhtB,SAAU6nD,EAAMC,EAAiB/nE,OAAQ8nE,IAAO,CACzG,IAAIE,EAAsB/pC,GAAe8pC,EAAiBD,GAAM,GAC9DG,EAAOD,EAAoB,GAC3BE,EAASF,EAAoB,GAC/BN,EAAgBO,GAAQ9sE,KAAKksE,mBAAmBa,EAAQj7B,EAC1D,CAIF,QAAajwC,IAATkjB,IAAuB/kB,KAAKosE,UAAUG,EAAiBlsC,GAAWE,cAAe,CACnF,IAAIysC,EAAchtE,KAAKmsE,yBAAyBpnD,GAC5CioD,IACFT,EAAgBlsC,GAAWE,cAAgBysC,EAE/C,CACA,OAAOT,CACT,CAKA,SAAAU,GAEE,OAAKh3B,GAAkBj2C,KAAKk2C,cAQrBl2C,KAAKwrE,SAASvK,cAAc,CACjCG,KAAMphE,KAAKkrE,OACX5jB,UAAWtnD,KAAKyrE,kBAChBzxB,aAAch6C,KAAKg6C,aACnB8F,SAAU9/C,KAAKirE,gBACf9J,SAAUxa,GAAY3mD,KAAKgrE,uBAAuBrkB,KAZ3CpkB,QAAQgL,OAAO,IAAImE,GAAmB,CAC3CG,QAASjW,GAASjD,qBAClBlZ,KAAMsf,GAAUpG,qBAChBmZ,YAAQjwC,EACRmwC,UAAW,QAAQhQ,KAAKC,UAU9B,CACA,IAAA8X,CAAKruB,EAAM3G,EAAM3W,GACf,IAAIy3C,EAAQ7lD,KACZ,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASuf,IACtE,IAAIhU,EAAQo7B,EAAiBC,EAC7B,OAAO7nC,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EAMH,OALA8/B,EAAS5b,GAAc,CACrBxK,OACA3G,QACC3W,GACH43C,EAASh0C,KAAO,EACTs4D,GAAuBzkB,EAAM4kB,aAAac,QAASz5B,GAC5D,KAAK,EAGH,OAFAo7B,EAAkBlnB,EAAS7f,KAC3BgnC,EAAgBD,EAAgBnoD,KACzBihC,EAASngB,OAAO,SAAUggB,EAAMqlB,OAAOnxB,KAAK,CACjDlqC,KAAMs9D,EACN1Q,aAAc,IACL5W,EAAMsX,SAASzxC,EAAMyhD,EAAe/+D,GAE7CmuD,SAAU,IACD1W,EAAMiX,WAAWpxC,EAAMyhD,EAAe/+D,GAE/CouD,QAAS,KAEP,IAAI4Q,EAAgBvnB,EAAMymB,aAAaY,EAAiBC,GACpDE,EAAgBH,EAAgBxhD,KAClC4hD,EAAmBJ,EAAgBhF,QACnCqF,EAAeL,EAAgBptB,SAC/B0tB,EAAwBN,EAAgBl7B,UACxCA,WAAYw7B,EAAmCzrC,KAAsByrC,EACnE1tB,EAAWytB,GAAgB1nB,EAAMolB,gBACrC,OAAOplB,EAAM4nB,aAAaJ,EAAeF,EAAeC,EAAeE,EAAkBJ,EAAiBl7B,EAAW8N,OAG3H,KAAK,EACL,IAAK,MACH,OAAOkG,EAASrgB,OAEtB,EAAGmgB,EACL,GAvCOpjB,EAwCT,CAKA,QAAAy6B,CAASzxC,EAAMzhB,EAASmE,GACtB,IAAIg4C,EAASpmD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAAS+f,IACtE,IAAIonB,EAAwBC,EAAuBC,EAC/C97B,EAAQo7B,EAAiBl7B,EAAW8N,EAAUutB,EAAeD,EAAeS,EAAoBC,EAAeC,EACnH,OAAOzoC,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EAMH,OALA8/B,EAAS5b,GAAc,CACrBxK,OACA3G,UAAMljB,GACLuM,GACHm4C,EAAUv0C,KAAO,EACVs4D,GAAuBlkB,EAAOqkB,aAAac,QAASz5B,GAC7D,KAAK,EAWH,OAVAo7B,EAAkB3mB,EAAUpgB,KAC5B6L,EAAqE,QAAxD07B,EAAyBR,EAAgBl7B,iBAAkD,IAA3B07B,EAAoCA,EAAyB3rC,KAC1I+d,EAAkE,QAAtD6tB,EAAwBT,EAAgBptB,gBAAgD,IAA1B6tB,EAAmCA,EAAwBvnB,EAAO6kB,gBAC5IoC,EAAgBH,EAAgBxhD,KAChC0hD,EAAgBhnB,EAAOkmB,aAAaY,OAAiBrrE,GACrDgsE,EAAqBznB,EAAO4nB,aAAa5E,WAAWiE,GACpDS,EAAgB53C,GAAcA,GAAc,CAAA,EAAI23C,GAAqBX,EAAgBhF,SACrF6F,EAAe73C,GAAcA,GAAc,CAAA,EAAIg3C,GAAkB,CAAA,EAAI,CACnEl7B,cAEKuU,EAAU1gB,OAAO,SAAUugB,EAAO8kB,OAAO/N,SAAS,CACvDlzD,UACAovD,SAAUjrD,aAAyC,EAASA,EAAQirD,SACpEd,SAAUnqD,aAAyC,EAASA,EAAQmqD,SACpEnX,SAAS,EACTkC,YAAgH,QAAlGsqB,EAAuBx/D,aAAyC,EAASA,EAAQk1C,mBAAkD,IAAzBsqB,GAAkCA,EAC1J1S,gBAAiC,oBAAT5B,MAAwBrvD,aAAmBqvD,KAAOrvD,EAAQxG,KAAO,OACzFu3D,gBAAiB,2BACjBpD,OAAQ,CACNn6D,KAAM,CACJu0C,YACA+S,sBAAuBqB,EAAOrB,sBAAsBtnD,KAAK2oD,GACzDjB,wBAAyBiB,EAAOjB,wBAAwB1nD,KAAK2oD,GAC7DH,UAAW,IAAMG,EAAO6mB,YACxBvmB,SAAUN,EAAO3kD,GACjBq+C,YAEF+c,YAAY,EACZD,YAAa,EACXhF,YAEOxR,EAAOqnB,aAAaJ,OAAexrE,EAAWurE,EAAeU,EAAeC,EAAc/7B,EAAW8N,EAAU,CACpHmB,SAAU2W,EAAO3W,eAK3B,KAAK,EACL,IAAK,MACH,OAAOsF,EAAU5gB,OAEvB,EAAG2gB,EACL,GAvDO5jB,EAwDT,CAMA,UAAAo6B,CAAWpxC,EAAMksC,EAAQxpD,GACvB,IAAIs5C,EAAS1nD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASohB,IACtE,IAAIsmB,EAAwBC,EACxBp8B,EAAQo7B,EAAiBl7B,EAAW8N,EAAUutB,EAAeD,EAAeS,EAAoBC,EAAeC,EACnH,OAAOzoC,GAAoBc,KAAK,SAAUwhB,GACxC,cAAkBA,EAAU1hB,KAAO0hB,EAAU51C,MAC3C,KAAK,EAMH,OALA8/B,EAAS5b,GAAc,CACrBxK,OACA3G,UAAMljB,GACLuM,GACHw5C,EAAU51C,KAAO,EACVs4D,GAAuB5iB,EAAO+iB,aAAac,QAASz5B,GAC7D,KAAK,EAWH,OAVAo7B,EAAkBtlB,EAAUzhB,KAC5B6L,EAAqE,QAAxDi8B,EAAyBf,EAAgBl7B,iBAAkD,IAA3Bi8B,EAAoCA,EAAyBlsC,KAC1I+d,EAAmE,QAAvDouB,EAAyBhB,EAAgBptB,gBAAiD,IAA3BouB,EAAoCA,EAAyBxmB,EAAOujB,gBAC/IoC,EAAgBH,EAAgBxhD,KAChC0hD,EAAgB1lB,EAAO4kB,aAAaY,OAAiBrrE,GACrDgsE,EAAqBnmB,EAAOsmB,aAAa5E,WAAWiE,GACpDS,EAAgB53C,GAAcA,GAAc,CAAA,EAAI23C,GAAqBX,EAAgBhF,SACrF6F,EAAe73C,GAAcA,GAAc,CAAA,EAAIg3C,GAAkB,CAAA,EAAI,CACnEl7B,cAEK4V,EAAU/hB,OAAO,SAAU6hB,EAAOwjB,OAAOpO,WAAW,CACzDlF,OAAQA,EACRn6D,KAAM,CACJu0C,YACA+S,sBAAuB2C,EAAO3C,sBAAsBtnD,KAAKiqD,GACzDvC,wBAAyBuC,EAAOvC,wBAAwB1nD,KAAKiqD,GAC7DzB,UAAW,IAAMyB,EAAOulB,YACxBvmB,SAAUgB,EAAOjmD,GACjBq+C,YAEF+c,YAAY,EACZD,YAAa,EACXhF,OAAQpgB,KAEDkQ,EAAO+lB,aAAaJ,OAAexrE,EAAWurE,EAAeU,EAAeC,EAAc/7B,EAAW8N,EAAU,CACpHmB,SAAUzJ,EAAEyJ,cAIpB,KAAK,EACL,IAAK,MACH,OAAO2G,EAAUjiB,OAEvB,EAAGgiB,EACL,GA/COjlB,EAgDT,CAKA,YAAA+qC,CAAapE,EAAatkD,EAAMqoD,EAAeE,EAAkBJ,EAAiBl7B,EAAW8N,EAAUquB,GACrG,IAAIC,EAAwBlB,EAAgB7kB,WAC1CA,OAAuC,IAA1B+lB,EAAmCpuE,KAAKyrE,kBAAoB2C,EACzEC,EAAwBnB,EAAgB7mB,QACxCA,OAAoC,IAA1BgoB,EAAmCruE,KAAK0rE,eAAiB2C,EACnEC,EAAwBpB,EAAgBtB,aACxCA,OAAyC,IAA1B0C,EAAmCtuE,KAAK2rE,oBAAsB2C,EAC7EC,EAAyBrB,EAAgBttB,WACzCA,WAAa2uB,GAA2CA,EACxD/qB,EAAgB0pB,EAAgB1pB,cAChCzH,EAAMmxB,EAAgBnxB,IACtByyB,EAAwBtB,EAAgBpB,WACxCA,OAAuC,IAA1B0C,EAAmCxuE,KAAK6rE,kBAAoB2C,EAC3E,OAAO,IAAIjsC,QAAQ,CAACC,EAAS+K,KAC3B,IAAI54B,GAAO,EACPuyC,EAAY,KACZ0iB,EAAU,KACR1iB,GAAWvB,aAAauB,GAC5BlnD,KAAKskE,MAAM/C,yBAAyBvvB,IAElCjC,EAAO1yC,IACT,IAAIsX,EAAJ,CACAA,GAAO,EACPi1D,IAEA,IAAI6E,EAAgBpxE,aAAiBq0C,GAAqBr0C,EAAQ,IAAIq0C,GAAmBr0C,GAEzFklC,QAAQgL,OAAOkhC,GAAe7oC,MAAMwS,IAElC,IAAIhN,EAAU7I,QAAQgL,OAAO6K,GAS7B,OARAp4C,KAAKyqE,aAAa14B,SAASz4B,QAAQoxD,IACjCt/B,EAAUA,EAAQxF,MAAM5U,GAClB05C,EAAYT,SACPS,EAAYT,SAASj5C,GAEvBuR,QAAQgL,OAAOvc,MAGnBoa,IACNxF,MAAM,KAEP2H,EAAOkhC,IApBC,GAkCRC,EAAoB,KAClBxnB,GAAWvB,aAAauB,GAC5BA,EAAYxc,WAAW,KACrBqF,EAAK,IAAI2B,GAAmB,CAC1BG,QAAS9V,GAAcH,GAAS3D,gBAAiBouB,GACjD5mC,KAAMsf,GAAUC,QAChB8S,OAAQo7B,EACRl7B,gBAEDqU,IAeLrmD,KAAKskE,MAAMjD,uBAAuBrvB,EAAWniC,IAC3C,IAAI8E,EAAJ,CAGA,GAAI9E,EAAK/C,OAASuyB,GAAYE,IAAK,CAEjC,IAAK4iC,GAAmBpmB,EAAKlsC,EAAKksC,KAChC,OAMF,OAHA/7C,KAAKgrE,uBAAuBn7D,EAAKkwC,gBAEjC2uB,GAEF,CAGA,GAAI7+D,EAAK/C,OAASuyB,GAAYG,MAK5B,OAHAx/B,KAAKgrE,uBAAuBn7D,EAAKkwC,WA/B/BmH,GAAWvB,aAAauB,QAC5BA,EAAYxc,WAAW,KACrBqF,EAAK,IAAI2B,GAAmB,CAC1BG,QAAS9V,GAAcH,GAAS1D,sBAAuB0zC,GACvDnsD,KAAMsf,GAAUE,cAChB6S,OAAQo7B,EACRl7B,gBAED45B,IA8BH,GAAI/7D,EAAK/C,OAASuyB,GAAYO,aAgE9B,GAAI/vB,EAAK/C,OAASuyB,GAAYI,SAA9B,CAuCE,IAAIkvC,EAAaC,EADnB,GAAI/+D,EAAK/C,OAASuyB,GAAY9G,MAG5Bv4B,KAAKgrE,uBAAuBn7D,EAAKkwC,WACjChQ,EAAK,IAAI2B,GAAmB,CAC1BG,SAAyC,QAA9B88B,EAAc9+D,EAAKxS,aAAmC,IAAhBsxE,OAAyB,EAASA,EAAY98B,UAAYjW,GAASzD,eACpH1Y,MAAuC,QAA/BmvD,EAAe/+D,EAAKxS,aAAoC,IAAjBuxE,OAA0B,EAASA,EAAanvD,OAASsf,GAAUG,cAClH4S,OAAQo7B,EACRn7B,SAAUliC,EAAKg/D,OAAS,CACtBh/D,KAAMA,EAAKA,KACXg/D,OAAQh/D,EAAKg/D,OACbC,WAAYj/D,EAAKi/D,YAAclzC,GAASrD,YACtC12B,EACJmwC,cAhBJ,KAnCA,CAQE,GAPAr9B,GAAO,EACPi1D,IAGA5pE,KAAKgrE,uBAAuBn7D,EAAKkwC,WAG7BlwC,EAAKiV,SAAWjV,EAAKiV,QAAQub,GAAWC,YAAa,CACvD,IAGE4X,EAHE62B,EAAal/D,EAAKiV,QAAQub,GAAWC,YAErC6X,EAAYd,GADK5rC,MAAMwP,QAAQ8zD,GAAcA,EAAa,CAACA,IAG/D,IACE,IAAK52B,EAAUX,MAAOU,EAAQC,EAAU9wC,KAAKsN,MAAO,CAClD,IAAIyzD,EAAelwB,EAAM73C,MACzBL,KAAKguE,aAAa7F,iBAAiBC,EACrC,CACF,CAAE,MAAOhwB,GACPD,EAAUnnB,EAAEonB,EACd,CAAC,QACCD,EAAUxxC,GACZ,CACF,CACA,IAAIqoE,EAAQ,CACVn/D,KAAMA,EAAKA,KACXg/D,OAAQh/D,EAAKg/D,QAAU3wC,GAAWC,GAClC2wC,WAAYj/D,EAAKi/D,YAAcjwC,GAAeX,GAAWC,IACzD6T,YACAltB,QAASjV,EAAKiV,SAEhB6lD,GAAwB3qE,KAAKyqE,aAAa14B,SAAUi9B,GAAOvsC,KAAKsP,IAC9DvP,EAAQspC,EAAa/5B,EAASliC,KAAOkiC,KACpCnM,MAAM2H,EAEX,KAnGA,CACE54B,GAAO,EACPi1D,IAGA5pE,KAAKgrE,uBAAuBn7D,EAAKkwC,WACjC,IAAIyd,EAAU6F,GAA8B,CAC1CrxB,YACAniC,OACAq6B,QAASlqC,KACTw4C,UAAWx4C,KAAKw4C,UAChBid,YAAajS,EACbyC,UAAW,IAAMjmD,KAAKitE,cAExB,IAAKzP,EAOH,YANAztB,EAAK,IAAI2B,GAAmB,CAC1BG,QAAS9V,GAAcH,GAAS3C,aAAc,wBAC9CxZ,KAAMsf,GAAU9F,aAChB6Y,OAAQo7B,EACRl7B,eAIJ,IAAIi9B,EAAiBzR,EAAQ5F,OAC3B6L,EAAOjG,EAAQiG,KAGjB,GAAIA,EAAK32D,OAASq2C,GAAmBl5B,KAAM,CACzC,IAAI28C,EAAaqI,EACjB,GAAIxL,EAAKngB,YAiBP,YAhBAijB,GAAoC,CAClCK,aACAnD,OACA3+C,QAASjV,EAAKiV,UACb2d,KAAKysC,IACN,IAAIC,EAAO,CACTt/D,KAAMq/D,EACNL,OAAQh/D,EAAKg/D,QAAU3wC,GAAWC,GAClC2wC,WAAYj/D,EAAKi/D,YAAcjwC,GAAeX,GAAWC,IACzD6T,YACAltB,QAASjV,EAAKiV,SAEhB,OAAO6lD,GAAwB3qE,KAAKyqE,aAAa14B,SAAUo9B,KAC1D1sC,KAAKsP,IACNvP,EAAQspC,EAAa/5B,EAASliC,KAAOkiC,KACpCnM,MAAM2H,EAGb,CACA,IAAI4hC,EAAO,CACTt/D,UAAMhO,EACNgtE,OAAQh/D,EAAKg/D,QAAU3wC,GAAWC,GAClC2wC,WAAYj/D,EAAKi/D,YAAcjwC,GAAeX,GAAWC,IACzD6T,YACAltB,QAASjV,EAAKiV,QACd8yC,OAAQqX,GAEVtE,GAAwB3qE,KAAKyqE,aAAa14B,SAAUo9B,GAAM1sC,KAAKsP,IAC7DvP,EAAQspC,EAAa/5B,EAASliC,KAAOkiC,KACpCnM,MAAM2H,EAEX,CAtFU,GA+ITlwC,IACD0yC,EAAK,IAAI2B,GAAmB,CAC1BG,QAASx0C,EAAMw0C,SAAWjW,GAASzD,eACnC1Y,KAAMsf,GAAUG,cAChB4S,OAAQo7B,EACRl7B,gBAEDhyC,KAAKg6C,aAAch6C,KAAK6/D,kBAGR,IAAfjgB,EACF8uB,KA7LIxnB,GAAWvB,aAAauB,GAC5BA,EAAYxc,WAAW,KACrBqF,EAAK,IAAI2B,GAAmB,CAC1BG,QAAS9V,GAAcH,GAAS5D,YAAaqwB,GAC7C5oC,KAAMsf,GAAU/G,YAChB8Z,OAAQo7B,EACRl7B,gBAEDqW,IA2LL,IACIylB,EAAgB53C,GAAcA,GAAc,CAAA,EADvBl2B,KAAKguE,aAAa5E,WAAWC,IACmBiE,GAGrEtrB,EAAU,CACZt2B,KAAM29C,EACNtkD,OACAD,QAASsoD,EACTlF,QAAS4F,EACThuB,WACAF,aACA7D,OAEEoyB,SAAoDA,EAAaltB,WACnEe,EAAQf,SAAWktB,EAAaltB,UAI7BhL,GAAkBj2C,KAAKk2C,cAS5Bl2C,KAAKkrE,OAAOjxB,YAAY5a,GAAYC,QAAS0S,EAAWgQ,GARtDjS,EAAK,IAAI2B,GAAmB,CAC1BG,QAASjW,GAASjD,qBAClBlZ,KAAMsf,GAAUpG,qBAChBmZ,OAAQo7B,EACRl7B,gBAMR,CAIA,MAAAo9B,GACE,OAAOpvE,KAAKkgE,GACd,CAKA,UAAIF,GACF,OAAOhgE,KAAKkgE,IAAIF,MAClB,CAMA,WAAAqP,GACE,OAAOp5B,GAAkBj2C,KAAKk2C,aAChC,CAKA,IAAA/qC,GACEnL,KAAKkgE,IAAI/0D,MACX,CAKA,KAAAd,GACErK,KAAKkgE,IAAI71D,OACX,CAKA,OAAA8vC,GAEEn6C,KAAKguE,aAAa3kC,QAGlBrpC,KAAKmkE,iBAAiB96B,QAGtBrpC,KAAKyqE,aAAac,QAAQliC,QAC1BrpC,KAAKyqE,aAAa14B,SAAS1I,QAG3BrpC,KAAKkgE,IAAI/lB,SACX,CAMA,UAAAm1B,CAAW5jD,GACT,OAAIA,EACK1rB,KAAKguE,aAAa5E,WAAW19C,GAE/B1rB,KAAKguE,aAAarE,cAC3B,CAOA,SAAA4F,CAAU9rE,EAAMioB,GACd,OAAO1rB,KAAKguE,aAAa/pE,IAAIR,EAAMioB,EACrC,CAQA,SAAA8jD,CAAU/rE,EAAMpD,EAAO+N,GACrB,IAAIqhE,EACA1G,EACA36D,SAA0CA,EAAQ26D,QACpDA,EAAU36D,EAAQ26D,QAAQD,eACsDjnE,KAAtEuM,eAAkDA,EAAQ46D,UACpED,EAAU/mC,KAAKC,MAAyB,IAAjB7zB,EAAQ46D,QAEjChpE,KAAKguE,aAAajiE,IAAI,CACpBtI,OACApD,QACAqrB,KAA2F,QAApF+jD,EAAgBrhE,aAAyC,EAASA,EAAQsd,YAAoC,IAAlB+jD,EAA2BA,EAAgB,IAC9I1G,WAEJ,CAOA,YAAA2G,CAAajsE,EAAMioB,GACjB1rB,KAAKguE,aAAa7E,OAAO1lE,EAAMioB,QAAmCA,EAAO,IAC3E,CAKA,YAAAikD,GACE3vE,KAAKguE,aAAa3kC,OACpB,EChxBF,SAASj6B,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CAGtb,SAAS4+C,GAASr5B,EAAOxM,EAAO8H,EAAShiC,GAOvC4mC,GAAiBF,EAAO1E,EANpBhiC,SAAuD,iBAATA,OAMRhO,IAATgO,EAAqB,CACpDk6B,SACE,CACFA,QACAl6B,QATiCqmB,GAAc,CAC7C6T,SACCl6B,GASP,CAKA,SAASggE,GAAkBhgE,GACzB,IAAKA,EAAM,OAAOA,EAClB,IAAIigE,EAAY55C,GAAc,CAAA,EAAIrmB,GAGlC,GAAIigE,EAAU/qD,MAAkC,iBAAnB+qD,EAAU/qD,KAAmB,CACxD,IAAIgrD,EAAU9I,KAAK+I,UAAUF,EAAU/qD,MACnCgrD,EAAQlrE,OAAS,MACnBirE,EAAU/qD,KAAOgrD,EAAQ7tC,UAAU,EAAG,KAAO,kBAEjD,CAGA,GAAI4tC,EAAUjgE,MAAkC,iBAAnBigE,EAAUjgE,KAAmB,CACxD,IAAIogE,EAAUhJ,KAAK+I,UAAUF,EAAUjgE,MACnCogE,EAAQprE,OAAS,MACnBirE,EAAUjgE,KAAOogE,EAAQ/tC,UAAU,EAAG,KAAO,kBAEjD,CACA,OAAO4tC,CACT,CAKO,SAASI,GAA6BC,GAC3C35B,GAA4B/Z,GAASE,MAGrCwzC,EAAO1F,aAAac,QAAQxB,IAAIj4B,IAC9B89B,GAASnzC,GAASE,KAAMG,GAAWC,qBAAsBnB,GAASlC,2BAA4Bm2C,GAAkB,CAC9GnkD,KAAMomB,EAAOpmB,KACb3G,KAAM+sB,EAAO/sB,KACbD,QAASgtB,EAAOhtB,QAChBojD,QAASp2B,EAAOo2B,QAChB7f,WAAYvW,EAAOuW,WACnBhC,QAASvU,EAAOuU,QAChBulB,aAAc95B,EAAO85B,aACrB55B,UAAWF,EAAOE,aAEbF,IAITq+B,EAAO1F,aAAa14B,SAASg4B,IAAIh4B,IAC/B,IAAIq+B,EAAU,CACZp+B,UAAWD,EAASC,UACpB68B,OAAQ98B,EAAS88B,OACjBC,WAAY/8B,EAAS+8B,WACrBhqD,QAASitB,EAASjtB,SAIpB,GAAIitB,EAASliC,gBAAgBypD,MAAQvnB,EAASliC,gBAAgBy0C,KAAM,CAClE,IAAI97B,EAAOupB,EAASliC,KAChBwpD,EAAW7wC,aAAgB8wC,KAAO9wC,EAAK/kB,UAAO5B,EAC9C02D,EAAW/vC,EAAK1b,WAAQjL,EACxBwuE,EAAgB7nD,EAAK7P,KACzBy3D,EAAQlB,SAAW,CACjB7V,WACAd,WACA8X,iBAEFT,GAASnzC,GAASE,KAAMG,GAAWG,4BAA6BrB,GAAShC,kCAAmCi2C,GAAkBO,GAChI,MAAWr+B,EAAS6lB,QAClBwY,EAAQxY,OAAS,CACf3W,SAAUlP,EAAS6lB,OAAO3W,SAC1Bn0C,KAAMilC,EAAS6lB,OAAO9qD,MAExB8iE,GAASnzC,GAASE,KAAMG,GAAWI,8BAA+BtB,GAAS/B,oCAAqCg2C,GAAkBO,MAElIA,EAAQvgE,KAAOkiC,EAASliC,KACxB+/D,GAASnzC,GAASE,KAAMG,GAAWE,uBAAwBpB,GAASjC,6BAA8Bk2C,GAAkBO,KAEtH,OAAOr+B,GACN10C,IACDuyE,GAASnzC,GAASlE,MAAOuE,GAAWK,sBAAuBvB,GAAS9B,4BAA6B+1C,GAAkB,CACjH79B,UAAW30C,EAAM20C,UACjBvyB,KAAMpiB,EAAMoiB,KACZoyB,QAASx0C,EAAMw0C,QACfC,OAAQz0C,EAAMy0C,OACdC,SAAU10C,EAAM00C,YAEXxP,QAAQgL,OAAOlwC,KAW1B,SAA6CizE,GAC3C,IAAIC,EAAiBC,EAAoBC,EAAeC,EAAmBC,EAAcC,EACrFtM,EAAQgM,EAAWhM,MACnB4G,EAASoF,EAAWpF,OACpBzP,GAAqD,QAAtC8U,EAAkBD,EAAWpQ,WAAqC,IAApBqQ,OAA6B,EAASA,EAAgBvR,qBAAoE,QAA5CwR,EAAqBF,EAAWlB,cAA2C,IAAvBoB,GAAgG,QAA9DA,EAAqBA,EAAmBzyE,KAAKuyE,UAAgD,IAAvBE,OAAgC,EAASA,EAAmBxR,mBAGnWkM,SAA2E,QAAlCuF,EAAgBvF,EAAOjsB,aAAqC,IAAlBwxB,GAAiF,QAApDA,EAAgBA,EAAc1U,wBAAgD,IAAlB0U,GAA4BA,EAAc14B,IACxNmzB,EAAOjsB,MAAM8c,iBAAiBhkB,IAAI,QAAS,CAACjrC,EAAMklC,EAAWniC,KACvD/C,IAASuyB,GAAYC,QACvBswC,GAASnzC,GAASE,KAAMG,GAAWO,wBAAyBzB,GAASrB,6BAA8Bs1C,GAAkB,CACnH79B,YACAtmB,KAAM7b,aAAmC,EAASA,EAAK6b,KACvD3G,KAAMlV,aAAmC,EAASA,EAAKkV,KACvDD,QAASjV,aAAmC,EAASA,EAAKiV,WAEnDhY,IAASuyB,GAAYK,KAC9BkwC,GAASnzC,GAASE,KAAMG,GAAWO,wBAAyBzB,GAASpB,0BAA2B,CAC9FwX,cAEOllC,IAASuyB,GAAYE,KAC9BqwC,GAASnzC,GAASE,KAAMG,GAAWO,wBAAyBzB,GAASnB,kCAAmC,CACtGuX,gBAIGypB,SAA2F,QAA1CiV,EAAoBjV,EAAWxc,iBAAmByxB,GAAsF,QAArDA,EAAoBA,EAAkBjzB,iBAA6C,IAAtBizB,GAAgCA,EAAkB34B,KAC5P0jB,EAAWxc,MAAMxB,UAAU1F,IAAI,QAAS,CAAC84B,EAASC,EAASj/B,KACrDA,EAAQ/kC,OAASuyB,GAAYC,SAC/BswC,GAASnzC,GAASE,KAAMG,GAAWO,wBAAyBzB,GAASrB,6BAA8Bs1C,GAAkB,CACnH79B,UAAWH,EAAQG,UACnBtmB,KAAMmmB,EAAQnmB,KACd3G,KAAM8sB,EAAQ9sB,KACdD,QAAS+sB,EAAQ/sB,aAOrBw/C,SAAuE,QAAhCqM,EAAerM,EAAMrlB,aAAoC,IAAjB0xB,GAAqE,QAAzCA,EAAeA,EAAapzB,eAAsC,IAAjBozB,GAA2BA,EAAa54B,IACtMusB,EAAMrlB,MAAM1B,QAAQxF,IAAI,QAASloC,IAC/B,GAAIA,EAAK/C,OAASuyB,GAAYE,IAC5BqwC,GAASnzC,GAASE,KAAMG,GAAWM,uBAAwBxB,GAAS7B,0BAA2B81C,GAAkB,CAC/G79B,UAAWniC,EAAKmiC,UAChBtmB,KAAM7b,EAAK6b,aAER,GAAI7b,EAAK/C,OAASuyB,GAAYG,MACnCowC,GAASnzC,GAASE,KAAMG,GAAWM,uBAAwBxB,GAAS5B,4BAA6B61C,GAAkB,CACjH79B,UAAWniC,EAAKmiC,UAChBtmB,KAAM7b,EAAK6b,aAER,GAAI7b,EAAK/C,OAASuyB,GAAYO,aAAc,CACjD,IAAImxC,EAAalhE,EAAKkV,KACtB6qD,GAASnzC,GAASE,KAAMG,GAAWM,uBAAwBxB,GAAS3B,mCAAoC41C,GAAkB,CACxH79B,UAAWniC,EAAKmiC,UAChBiP,SAAU8vB,aAA+C,EAASA,EAAW9vB,SAC7E+vB,WAAYD,aAA+C,EAASA,EAAWjkE,KAC/Es0C,QAAS2vB,aAA+C,EAASA,EAAW3vB,QAC5EkC,YAAaytB,aAA+C,EAASA,EAAWztB,YAChF/2C,SAAUwkE,aAA+C,EAASA,EAAWxkE,WAEjF,MAAO,GAAIsD,EAAK/C,OAASuyB,GAAYQ,YAAa,CAChD,IAAIoxC,EACAC,EAAcrhE,EAAKkV,KACvB6qD,GAASnzC,GAASE,KAAMG,GAAWM,uBAAwBxB,GAAS1B,kCAAmC21C,GAAkB,CACvH79B,UAAWniC,EAAKmiC,UAChBiP,SAAUiwB,aAAiD,EAASA,EAAYjwB,SAChFtsC,KAAMu8D,aAAiD,EAASA,EAAYv8D,KAC5Ew8D,YAAaD,SAA4F,QAAzCD,EAAmBC,EAAYrhE,YAAuC,IAArBohE,OAA8B,EAASA,EAAiBpsE,SAAW,IAExL,MAAO,GAAIgL,EAAK/C,OAASuyB,GAAYS,WAAY,CAC/C,IAAIsxC,EAAevhE,EAAKkV,KACxB6qD,GAASnzC,GAASE,KAAMG,GAAWM,uBAAwBxB,GAASzB,iCAAkC01C,GAAkB,CACtH79B,UAAWniC,EAAKmiC,UAChBiP,SAAUmwB,aAAmD,EAASA,EAAanwB,WAEvF,MAAWpxC,EAAK/C,OAASuyB,GAAYI,SACnCmwC,GAASnzC,GAASE,KAAMG,GAAWM,uBAAwBxB,GAASxB,+BAAgCy1C,GAAkB,CACpH79B,UAAWniC,EAAKmiC,UAChB68B,OAAQh/D,EAAKg/D,OACbC,WAAYj/D,EAAKi/D,WACjBlvB,WAAY/vC,EAAK+vC,cAEV/vC,EAAK/C,OAASuyB,GAAY9G,OACnCq3C,GAASnzC,GAASlE,MAAOuE,GAAWM,uBAAwBxB,GAASvB,4BAA6Bw1C,GAAkB,CAClH79B,UAAWniC,EAAKmiC,UAChB68B,OAAQh/D,EAAKg/D,OACbC,WAAYj/D,EAAKi/D,WACjBzxE,MAAOwS,EAAKxS,WAITo+D,SAA4F,QAA3CmV,EAAqBnV,EAAWxc,iBAAmB2xB,GAAuF,QAArDA,EAAqBA,EAAmBrzB,eAA4C,IAAvBqzB,GAAiCA,EAAmB74B,KAChQ0jB,EAAWxc,MAAM1B,QAAQxF,IAAI,QAASloC,IAChCA,EAAK/C,OAASuyB,GAAYE,KAC5BqwC,GAASnzC,GAASE,KAAMG,GAAWM,uBAAwBxB,GAAS7B,0BAA2B81C,GAAkB,CAC/G79B,UAAWniC,EAAKmiC,UAChBtmB,KAAM7b,EAAK6b,SAKrB,CA7GE2lD,CADiBlB,EAEnB,CAkHO,SAASmB,GAA0BC,GACxC/6B,GAA4B/Z,GAASE,MACrC,IAAI60C,EAAaD,EACbE,EAAa,IAAIlxB,IAGrBgxB,EAAOxH,IAAI,CAAC2H,EAAKz6C,EAAKjlB,KACpB,IAAI2/D,EACAC,EAAY5vC,KAAKC,MACrBwvC,EAAW1lE,IAAI2lE,EAAI1/B,UAAW4/B,GAC9BhC,GAASnzC,GAASE,KAAMG,GAAWQ,wBAAyB1B,GAASlB,8BAA+Bm1C,GAAkB,CACpH79B,UAAW0/B,EAAI1/B,UACftmB,KAAMgmD,EAAIhmD,KACV3G,KAAM2sD,EAAI3sD,KACVsI,OAAQqkD,EAAIrkD,OACZvI,QAAS4sD,EAAI5sD,QACbojD,QAASwJ,EAAIxJ,QACbtjE,OAAQ,UAIV,IAAIitE,EAAe56C,EAAI8iB,KAAKt8C,KAAKw5B,GAC7B66C,EAAe76C,EAAI86C,KAAKt0E,KAAKw5B,GAC7B+6C,EAAmB/6C,EAAIkmC,SAAS1/D,KAAKw5B,GACrCg7C,EAA4D,QAAtCN,EAAkB16C,EAAI6lC,kBAA4C,IAApB6U,OAA6B,EAASA,EAAgBl0E,KAAKw5B,GAC/Hi7C,EAAiBj7C,EAAI43C,OAAOpxE,KAAKw5B,GACjCk7C,EAAoBl7C,EAAIm7C,UAAU30E,KAAKw5B,GAG3CA,EAAI43C,OAAS,SAAUpvD,GAMrB,OALAmwD,GAASnzC,GAASE,KAAMG,GAAWS,qBAAsB3B,GAASjB,iCAAkC,CAClGqX,UAAW0/B,EAAI1/B,UACftmB,KAAMgmD,EAAIhmD,KACV2mD,WAAY5yD,IAEPyyD,EAAezyD,EACxB,EAGAwX,EAAIm7C,UAAY,SAAU3uE,EAAMpD,GAO9B,OANAuvE,GAASnzC,GAASE,KAAMG,GAAWS,qBAAsB3B,GAAShB,4BAA6B,CAC7FoX,UAAW0/B,EAAI1/B,UACftmB,KAAMgmD,EAAIhmD,KACV4mD,OAAQ7uE,EACRpD,MAAOoL,MAAMwP,QAAQ5a,GAASA,EAAM0N,KAAK,MAAQ9L,OAAO5B,KAEnD8xE,EAAkB1uE,EAAMpD,EACjC,EAGA42B,EAAI8iB,KAAoB,WACtB,IAAIV,EAAO3W,GAA+B4C,GAAoBiB,KAAK,SAASuf,EAAQj2C,EAAMzB,GACxF,IAAImkE,EACJ,OAAOjtC,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EAaH,OAZAugE,EAAWvwC,KAAKC,OAASwvC,EAAWxtE,IAAIytE,EAAI1/B,YAAc4/B,GAC1DH,EAAWrtD,OAAOstD,EAAI1/B,WACtB49B,GAASnzC,GAASE,KAAMG,GAAWS,qBAAsB3B,GAASf,8BAA+Bg1C,GAAkB,CACjH79B,UAAW0/B,EAAI1/B,UACftmB,KAAMgmD,EAAIhmD,KACVmjD,OAAQ53C,EAAIo7C,WACZvD,WAAYhwC,GAAc7H,EAAIo7C,YAC9BzyB,WAAYxxC,aAAyC,EAASA,EAAQwxC,WACtE96B,QAASmS,EAAInS,QACbjV,OACA0iE,SAAU,GAAGA,SAERvsB,EAASngB,OAAO,SAAUgsC,EAAahiE,EAAMzB,IACtD,KAAK,EACL,IAAK,MACH,OAAO43C,EAASrgB,OAEtB,EAAGmgB,EACL,IACA,OAAO,SAAU2U,EAAI8P,GACnB,OAAOlxB,EAAKl7C,MAAM6B,KAAM5B,UAC1B,CACF,CA5BwB,GA+BxB64B,EAAI86C,KAAoB,WACtB,IAAIS,EAAQ9vC,GAA+B4C,GAAoBiB,KAAK,SAAS+f,EAASz2C,EAAMzB,GAC1F,IAAImkE,EACJ,OAAOjtC,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EAaH,OAZAugE,EAAWvwC,KAAKC,OAASwvC,EAAWxtE,IAAIytE,EAAI1/B,YAAc4/B,GAC1DH,EAAWrtD,OAAOstD,EAAI1/B,WACtB49B,GAASnzC,GAASE,KAAMG,GAAWS,qBAAsB3B,GAASd,mCAAoC+0C,GAAkB,CACtH79B,UAAW0/B,EAAI1/B,UACftmB,KAAMgmD,EAAIhmD,KACVmjD,OAAQ53C,EAAIo7C,WACZvD,WAAYhwC,GAAc7H,EAAIo7C,YAC9BzyB,WAAYxxC,aAAyC,EAASA,EAAQwxC,WACtE96B,QAASmS,EAAInS,QACbjV,OACA0iE,SAAU,GAAGA,SAERhsB,EAAU1gB,OAAO,SAAUisC,EAAajiE,EAAMzB,IACvD,KAAK,EACL,IAAK,MACH,OAAOm4C,EAAU5gB,OAEvB,EAAG2gB,EACL,IACA,OAAO,SAAUskB,EAAKC,GACpB,OAAO2H,EAAMr0E,MAAM6B,KAAM5B,UAC3B,CACF,CA5BwB,GA+BxB64B,EAAIkmC,SAAwB,WAC1B,IAAIsV,EAAQ/vC,GAA+B4C,GAAoBiB,KAAK,SAASohB,EAAS19C,EAASmE,GAC7F,IAAImkE,EACJ,OAAOjtC,GAAoBc,KAAK,SAAUwhB,GACxC,cAAkBA,EAAU1hB,KAAO0hB,EAAU51C,MAC3C,KAAK,EAaH,OAZAugE,EAAWvwC,KAAKC,OAASwvC,EAAWxtE,IAAIytE,EAAI1/B,YAAc4/B,GAC1DH,EAAWrtD,OAAOstD,EAAI1/B,WACtB49B,GAASnzC,GAASE,KAAMG,GAAWS,qBAAsB3B,GAASb,0BAA2B80C,GAAkB,CAC7G79B,UAAW0/B,EAAI1/B,UACftmB,KAAMgmD,EAAIhmD,KACVmjD,OAAQ53C,EAAIo7C,WACZvD,WAAYhwC,GAAc7H,EAAIo7C,YAC9BhZ,SAAUjrD,aAAyC,EAASA,EAAQirD,SACpEd,SAAUnqD,aAAyC,EAASA,EAAQmqD,SACpE8X,cAAkC,iBAAZpmE,EAAuBA,EAAQpF,QAAUoF,aAAyC,EAASA,EAAQ0O,OAAS,EAClI45D,SAAU,GAAGA,SAER3qB,EAAU/hB,OAAO,SAAUmsC,EAAiB/nE,EAASmE,IAC9D,KAAK,EACL,IAAK,MACH,OAAOw5C,EAAUjiB,OAEvB,EAAGgiB,EACL,IACA,OAAO,SAAU+qB,EAAKC,GACpB,OAAOF,EAAMt0E,MAAM6B,KAAM5B,UAC3B,CACF,CA5B4B,GA+BxB6zE,IACFh7C,EAAI6lC,WAA0B,WAC5B,IAAI8V,EAAQlwC,GAA+B4C,GAAoBiB,KAAK,SAASoiB,EAASiP,GACpF,IAAI2a,EACJ,OAAOjtC,GAAoBc,KAAK,SAAU0iB,GACxC,cAAkBA,EAAU5iB,KAAO4iB,EAAU92C,MAC3C,KAAK,EAWH,OAVAugE,EAAWvwC,KAAKC,OAASwvC,EAAWxtE,IAAIytE,EAAI1/B,YAAc4/B,GAC1DH,EAAWrtD,OAAOstD,EAAI1/B,WACtB49B,GAASnzC,GAASE,KAAMG,GAAWS,qBAAsB3B,GAASZ,4BAA6B60C,GAAkB,CAC/G79B,UAAW0/B,EAAI1/B,UACftmB,KAAMgmD,EAAIhmD,KACVmjD,OAAQ53C,EAAIo7C,WACZvD,WAAYhwC,GAAc7H,EAAIo7C,YAC9BpxB,SAAU2W,aAAuC,EAASA,EAAO3W,SACjEsxB,SAAU,GAAGA,SAERzpB,EAAUjjB,OAAO,SAAUosC,EAAmBra,IACvD,KAAK,EACL,IAAK,MACH,OAAO9O,EAAUnjB,OAEvB,EAAGgjB,EACL,IACA,OAAO,SAAUkqB,GACf,OAAOD,EAAMz0E,MAAM6B,KAAM5B,UAC3B,CACF,CA1B8B,IA4BhC4T,MAUJ,SAA6Cw/D,GAC3C,IAAIsB,EAAuBC,EACvBtX,EAAa+V,EAAWxS,mBAAqBwS,EAAW/V,WAC5D,GAAMA,UAAgDA,EAAWxc,MAAQ,OAGZ,QAAxD6zB,EAAwBrX,EAAWxc,MAAMxB,iBAAiD,IAA1Bq1B,GAAoCA,EAAsB/6B,KAC7H0jB,EAAWxc,MAAMxB,UAAU1F,IAAI,QAAS,CAAC84B,EAASmC,EAAenhC,KAC/D,IAAI/kC,EAAO+kC,EAAQ/kC,KACfklC,EAAYH,EAAQG,UACpBniC,EAAOgiC,EACX,GAAI/kC,IAASuyB,GAAYE,IACvBqwC,GAASnzC,GAASE,KAAMG,GAAWW,wBAAyB7B,GAASX,yBAA0B40C,GAAkB,CAC/G79B,YACAtmB,KAAM7b,EAAK6b,aAER,GAAI5e,IAASuyB,GAAYG,MAC9BowC,GAASnzC,GAASE,KAAMG,GAAWW,wBAAyB7B,GAASV,2BAA4B20C,GAAkB,CACjH79B,YACAtmB,KAAM7b,EAAK6b,aAER,GAAI5e,IAASuyB,GAAYO,aAAc,CAC5C,IAAImxC,GAAclhE,aAAmC,EAASA,EAAKkV,OAAS,CAAA,EAC5E6qD,GAASnzC,GAASE,KAAMG,GAAWW,wBAAyB7B,GAAST,kCAAmC00C,GAAkB,CACxH79B,YACAiP,SAAU8vB,EAAW9vB,SACrB+vB,WAAYD,EAAWjkE,KACvBs0C,QAAS2vB,EAAW3vB,QACpBkC,YAAaytB,EAAWztB,YACxB/2C,SAAUwkE,EAAWxkE,WAEzB,MAAO,GAAIO,IAASuyB,GAAYQ,YAAa,CAC3C,IAAIozC,EACAC,GAAgBrjE,aAAmC,EAASA,EAAKkV,OAAS,CAAA,EAC9E6qD,GAASnzC,GAASE,KAAMG,GAAWW,wBAAyB7B,GAASR,iCAAkCy0C,GAAkB,CACvH79B,YACAiP,SAAUiyB,EAAajyB,SACvBtsC,KAAMu+D,EAAav+D,KACnBw8D,YAAyD,QAA3C8B,EAAoBC,EAAarjE,YAAwC,IAAtBojE,SAAwCA,EAAkBpuE,SAAW,IAE1I,MAAO,GAAIiI,IAASuyB,GAAYS,WAAY,CAC1C,IAAIqzC,GAAgBtjE,aAAmC,EAASA,EAAKkV,OAAS,CAAA,EAC9E6qD,GAASnzC,GAASE,KAAMG,GAAWW,wBAAyB7B,GAASP,gCAAiCw0C,GAAkB,CACtH79B,YACAiP,SAAUkyB,EAAalyB,WAE3B,MAAWn0C,IAASuyB,GAAY9G,MAC9Bq3C,GAASnzC,GAASlE,MAAOuE,GAAWW,wBAAyB7B,GAASN,2BAA4Bu0C,GAAkB,CAClH79B,YACA68B,OAAQh/D,aAAmC,EAASA,EAAKg/D,OACzDC,WAAYj/D,aAAmC,EAASA,EAAKi/D,WAC7DzxE,MAAOwS,aAAmC,EAASA,EAAKxS,MACxDquB,KAAM7b,aAAmC,EAASA,EAAK6b,QAEhD5e,IAASuyB,GAAYI,UAC9BmwC,GAASnzC,GAASE,KAAMG,GAAWW,wBAAyB7B,GAASL,6CAA8Cs0C,GAAkB,CACnI79B,YACA68B,OAAQh/D,aAAmC,EAASA,EAAKg/D,OACzDC,WAAYj/D,aAAmC,EAASA,EAAKi/D,WAC7DlvB,WAAY/vC,aAAmC,EAASA,EAAK+vC,WAC7Dl0B,KAAM7b,aAAmC,EAASA,EAAK6b,UAOJ,QAAtDqnD,EAAwBtX,EAAWxc,MAAM1B,eAA+C,IAA1Bw1B,GAAoCA,EAAsBh7B,KAC3H0jB,EAAWxc,MAAM1B,QAAQxF,IAAI,QAAS,CAACloC,EAAM0pC,KACvC1pC,EAAK/C,OAASuyB,GAAYC,SAC5BswC,GAASnzC,GAASE,KAAMG,GAAWU,uBAAwB5B,GAASJ,8BAA+Bq0C,GAAkB,CACnH79B,UAAWniC,EAAKmiC,UAChBtmB,KAAM7b,EAAK6b,KACX2B,OAAQksB,aAAyC,EAASA,EAAQlsB,OAClEgwB,KAAMxtC,EAAKwtC,KACX0C,UAAWlwC,EAAKkwC,cAK1B,CAtFEqzB,CAAoC5B,EACtC,CCpYO,SAAS6B,GAAU3nD,EAAM8yB,GAE9B,IAAI80B,EAAiB5nD,EAAKq4C,WAAW,KAAOr4C,EAAO,IAAIA,IAGvD,GAAIjgB,MAAMwP,QAAQujC,GAChB,OAAOA,EAAQruB,KAAKvS,GAAKy1D,GAAUC,EAAgB11D,IAIrD,GAAI4gC,aAAmBzsB,OACrB,OAAOysB,EAAQhhD,KAAK81E,GAItB,GAAuB,iBAAZ90B,EAAsB,CAE/B,GAAI80B,IAAmB90B,EACrB,OAAO,EAIT,IAAI+0B,EAAoB/0B,EAAQulB,WAAW,KAAOvlB,EAAU,IAAIA,IAGhE,GAAI80B,EAAevP,WAAWwP,GAAoB,CAKhD,GAAIA,EAAkBnM,SAAS,KAC7B,OAAO,EAGT,IAAIoM,EAAWF,EAAeC,EAAkB1uE,QAChD,YAAoBhD,IAAb2xE,GAAuC,MAAbA,CACnC,CAGA,OAAIh1B,EAAQj2C,SAAS,KAkBzB,SAAsBmjB,EAAM4wB,GAI1B,IAAIm3B,EAAen3B,EAAQxuC,QAAQ,qBAAsB,QACxDA,QAAQ,MAAO,MAEhB,OADY,IAAIikB,OAAO,IAAI0hD,MACdj2E,KAAKkuB,EACpB,CAzBagoD,CAAaJ,EAAgBC,KAIlC/0B,EAAQj2C,SAAS,MACZorE,GAAoBL,EAAgBC,GAAmBrxE,KAGlE,CACA,OAAO,CACT,CA2BO,SAASyxE,GAAoBjoD,EAAM4wB,GAExC,IAAIg3B,EAAiB5nD,EAAKq4C,WAAW,KAAOr4C,EAAO,IAAIA,IACnDkoD,EAAoBt3B,EAAQynB,WAAW,KAAOznB,EAAU,IAAIA,IAGhE,IAAKs3B,EAAkBrrE,SAAS,KAE9B,MAAO,CACLrG,MAAOoxE,IAAmBM,EAC1B36D,OAAQ,CAAA,GAQZ,IAHA,IAEI/W,EAFA2xE,EAAa,GACbC,EAAa,YAEuC,QAAhD5xE,EAAQ4xE,EAAW12E,KAAKw2E,KAC9BC,EAAW/yE,KAAKoB,EAAM,IAMxB,IAAIuxE,EAAeG,EAAkB9lE,QAAQ,qBAAsB,QAClEA,QAAQ,UAAW,WAGhBimE,EADQ,IAAIhiD,OAAO,IAAI0hD,MACJr2E,KAAKk2E,GAC5B,IAAKS,EACH,MAAO,CACL7xE,OAAO,EACP+W,OAAQ,CAAA,GAMZ,IADA,IAAIA,EAAS,CAAA,EACJpQ,EAAI,EAAGA,EAAIgrE,EAAWhvE,OAAQgE,IACrCoQ,EAAO46D,EAAWhrE,IAAMkrE,EAAWlrE,EAAI,GAEzC,MAAO,CACL3G,OAAO,EACP+W,SAEJ,CC9IO,MAAM+6D,GACX,WAAAxlE,CAAYqB,EAAM0pC,EAASxH,EAAU94B,EAAS,CAAA,GAI5C,GAHAjZ,KAAK+kB,KAAOlV,EAAKkV,KAEjB/kB,KAAK8kB,QAAU,CAAA,EACXjV,EAAKiV,QACP,IAAK,IAAI0nD,EAAK,EAAGC,EAAkB1tE,OAAOyV,QAAQ3E,EAAKiV,SAAU0nD,EAAKC,EAAgB5nE,OAAQ2nE,IAAM,CAClG,IAAIE,EAAqB5pC,GAAe2pC,EAAgBD,GAAK,GAC3DpsE,EAAMssE,EAAmB,GACzBrsE,EAAQqsE,EAAmB,GAC7B1sE,KAAK8kB,QAAQ1kB,GAAOqL,MAAMwP,QAAQ5a,GAASA,EAAM0N,KAAK,MAAQ1N,CAChE,CAEFL,KAAKkoE,QAAUr4D,EAAKq4D,SAAW,CAAA,EAC/BloE,KAAK0rB,KAAO7b,EAAK6b,MAAQ,GACzB1rB,KAAKiZ,OAASA,EACdjZ,KAAKgyC,UAAYniC,EAAKmiC,UACtBhyC,KAAKqtB,OAASksB,EAAQlsB,OACtBrtB,KAAKmB,OAASo4C,EAAQp4C,OACtBnB,KAAKi3B,IAAM8a,CACb,ECvBF,SAAS3iC,GAAQ4hB,EAAGD,GAAK,IAAIhT,EAAIhf,OAAOkK,KAAK+nB,GAAI,GAAIjyB,OAAO2D,sBAAuB,CAAE,IAAIouB,EAAI/xB,OAAO2D,sBAAsBsuB,GAAID,IAAMD,EAAIA,EAAEZ,OAAO,SAAUa,GAAK,OAAOhyB,OAAOuH,yBAAyB0qB,EAAGD,GAAGhqB,UAAY,IAAKgX,EAAEjd,KAAK3C,MAAM4f,EAAG+S,EAAI,CAAE,OAAO/S,CAAG,CAC9P,SAASmY,GAAclF,GAAK,IAAK,IAAID,EAAI,EAAGA,EAAI3yB,UAAUyG,OAAQksB,IAAK,CAAE,IAAIhT,EAAI,MAAQ3f,UAAU2yB,GAAK3yB,UAAU2yB,GAAK,CAAA,EAAIA,EAAI,EAAI3hB,GAAQrQ,OAAOgf,IAAI,GAAIzE,QAAQ,SAAUyX,GAAKG,GAAgBF,EAAGD,EAAGhT,EAAEgT,GAAK,GAAKhyB,OAAO4xB,0BAA4B5xB,OAAOyK,iBAAiBwnB,EAAGjyB,OAAO4xB,0BAA0B5S,IAAM3O,GAAQrQ,OAAOgf,IAAIzE,QAAQ,SAAUyX,GAAKhyB,OAAOmB,eAAe8wB,EAAGD,EAAGhyB,OAAOuH,yBAAyByX,EAAGgT,GAAK,EAAI,CAAE,OAAOC,CAAG,CAqB/a,MAAMijD,GACX,WAAAzlE,CAAYwjC,EAAWtmB,EAAMi7B,EAAUya,EAAMhzD,GAC3C8iB,GAAgBlxB,KAAM,aAAck+B,GAAWC,IAC/CjN,GAAgBlxB,KAAM,UAAW,IACjCkxB,GAAgBlxB,KAAM,SAAS,GAC/BA,KAAKgyC,UAAYA,EACjBhyC,KAAK0rB,KAAOA,EACZ1rB,KAAK2mD,SAAWA,EAChB3mD,KAAKohE,KAAOA,EACZphE,KAAK+kD,sBAAwB32C,aAAyC,EAASA,EAAQ22C,sBACvF/kD,KAAKmlD,wBAA0B/2C,aAAyC,EAASA,EAAQ+2C,wBACzFnlD,KAAKimD,UAAY73C,aAAyC,EAASA,EAAQ63C,UAC3EjmD,KAAKk0E,eAAiB9lE,aAAyC,EAASA,EAAQ+lE,MAClF,CAKA,mBAAAC,CAAoBvkE,GAClB,OAAO7P,KAAKohE,KAAKnnB,YAAY5a,GAAYI,SAAUz/B,KAAKgyC,UAAWniC,EACrE,CAKA,SAAAu8D,CAAU3oE,GACR,IAAI4oE,EAAQ5oE,EAAKyM,cACjB,OAAOnR,OAAOkK,KAAKjJ,KAAK8kB,SAASqL,KAAKpT,GAAKA,EAAE7M,gBAAkBm8D,EACjE,CAMA,iBAAAxF,CAAkBh3D,GAChB,OAAOg3D,GAAkBh3D,EAAM,CAC7Bk3D,aAAa,EACbnN,2BAEJ,CAKA,yBAAAya,CAA0BxkE,GACxB,IAAI7P,KAAKosE,UAAU/rC,GAAWE,cAA9B,CACA,IAAIysC,EAAchtE,KAAK6mE,kBAAkBh3D,GACrCm9D,GACFhtE,KAAKoyE,UAAU/xC,GAAWE,aAAcysC,EAHG,CAK/C,CAKA,iBAAAsH,CAAkB7vD,GAChBzkB,KAAKu0E,cAAgB9vD,CACvB,CAKA,WAAA+vD,CAAYlS,EAAUvmB,GAChB/7C,KAAKu0E,gBACPv0E,KAAKu0E,cAAcjS,EAAUvmB,GAC7B/7C,KAAKu0E,mBAAgB1yE,EAEzB,CAKA,QAAA4yE,GACE,IAAIz0E,KAAK00E,QACT10E,KAAK00E,OAAQ,EACT10E,KAAKk0E,gBAAgB,CACvB,IAAIS,EAAK30E,KAAKk0E,eACdl0E,KAAKk0E,oBAAiBryE,EACtB8yE,GACF,CACF,CAKA,SAAAC,GACE50E,KAAKy0E,UACP,CAKA,QAAAI,CAAShlE,EAAMzB,GACb,IAAI0mE,EACJ,GAAI90E,KAAK00E,MAAO,OAAOnyC,QAAQC,SAAQ,GACvCxiC,KAAKy0E,WACL,IAAI70B,EAA8G,QAAhGk1B,EAAsB1mE,aAAyC,EAASA,EAAQwxC,kBAAgD,IAAxBk1B,GAAiCA,EAOvJ1S,EtBrHD,SAA0BxiB,EAAY7D,GAC3C,YAAYl6C,IAARk6C,EAA0BA,EACzB6D,EACE,CACLn+C,GAAIsgC,WAFN,CAIF,CsB+GsBgzC,CAAiBn1B,EAAYxxC,aAAyC,EAASA,EAAQ2tC,KACzG,IAEE,OAAK6D,EAaE,IAAIrd,QAAQ,CAACC,EAAS+K,KAC3B,IACEvtC,KAAKs0E,kBAAkB,CAAChS,EAAU0S,KAC3B1S,GAIAH,GAAmBC,EAAa4S,GAIrCxyC,GAAQ,GAPNA,GAAQ,KASZxiC,KAAKo0E,oBAAoB,CACvB1oD,KAAM1rB,KAAK0rB,KACX7b,OACAg/D,OAAQ7uE,KAAKqyE,WACbvD,WAAYhwC,GAAc9+B,KAAKqyE,YAC/BvtD,QAAS9kB,KAAK8kB,QACd86B,YAAY,EACZ7D,IAAKqmB,GAET,CAAE,MAAO/kE,GAEP,IAAKA,aAA0C,EAAIA,EAAMoiB,QAAUsf,GAAUpG,qBAG3E,MAAMt7B,EAFNkwC,EAAOlwC,EAIX,KAzCA2C,KAAKo0E,oBAAoB,CACvB1oD,KAAM1rB,KAAK0rB,KACX7b,OACAg/D,OAAQ7uE,KAAKqyE,WACbvD,WAAYhwC,GAAc9+B,KAAKqyE,YAC/BvtD,QAAS9kB,KAAK8kB,QACd86B,YAAY,IAEPrd,QAAQC,SAAQ,GAmC3B,CAAE,MAAOnlC,GAEP,IAAKA,aAAqC,EAASA,EAAMoiB,QAAUsf,GAAUpG,qBAC3E,OAAO4J,QAAQgL,OAAOlwC,GAExB,MAAMA,CACR,CACF,CAQA,IAAA08C,CAAKlqC,EAAMzB,GACT,IAAIy3C,EAAQ7lD,KACZ,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAAS+f,IACtE,OAAOhhB,GAAoBc,KAAK,SAAUmgB,GACxC,cAAkBA,EAAUrgB,KAAOqgB,EAAUv0C,MAC3C,KAAK,EACH,IAAK6zC,EAAM6uB,MAAO,CAChBnuB,EAAUv0C,KAAO,EACjB,KACF,CACA,OAAOu0C,EAAU1gB,OAAO,SAAUtD,QAAQC,SAAQ,IACpD,KAAK,EACH,OAAO+jB,EAAU1gB,OAAO,SAAUggB,EAAMub,KAAKrnB,KAAK,CAChDlqC,OACA0sD,SAAU,WACR,IAAI0Y,EAAYvyC,GAA+B4C,GAAoBiB,KAAK,SAASuf,EAAQ8R,GACvF,OAAOtyB,GAAoBc,KAAK,SAAU4f,GACxC,cAAkBA,EAAS9f,KAAO8f,EAASh0C,MACzC,KAAK,EAEH,OADAg0C,EAASh0C,KAAO,EACT6zC,EAAMiX,WAAWlF,GAC1B,KAAK,EACH,OAAO5R,EAASngB,OAAO,UAAU,GACnC,KAAK,EACL,IAAK,MACH,OAAOmgB,EAASrgB,OAEtB,EAAGmgB,EACL,IAIA,OAHA,SAAkB2U,GAChB,OAAOwa,EAAU92E,MAAM6B,KAAM5B,UAC/B,CAEF,CAnBU,GAoBVq+D,aAAc,KAEZ,IAAIyY,EAAch/C,GAAc,CAC9B0pB,WAAYxxC,aAAyC,EAASA,EAAQwxC,YACrD,oBAAT0Z,MAAwBzpD,aAAgBypD,KAAO,CACvDf,SAAU1oD,EAAK/C,KACfusD,SAAUxpD,EAAKpM,MACb,IACJ,OAAOoiD,EAAMsX,SAASttD,EAAMqlE,IAE9B1Y,QAAS,KAEP3W,EAAMwuB,0BAA0BxkE,GACzBg2C,EAAMgvB,SAAShlE,EAAMzB,OAGlC,KAAK,EACL,IAAK,MACH,OAAOm4C,EAAU5gB,OAEvB,EAAG2gB,EACL,GArDO5jB,EAsDT,CACA,IAAAqvC,CAAKliE,EAAMzB,GACT,OAAOpO,KAAK+5C,KAAKlqC,EAAMzB,EACzB,CACA,QAAA+uD,CAASlzD,EAASmE,GAChB,IAAIg4C,EAASpmD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASohB,IACtE,OAAOriB,GAAoBc,KAAK,SAAUwhB,GACxC,cAAkBA,EAAU1hB,KAAO0hB,EAAU51C,MAC3C,KAAK,EACH,IAAKo0C,EAAOsuB,MAAO,CACjB9sB,EAAU51C,KAAO,EACjB,KACF,CACA,OAAO41C,EAAU/hB,OAAO,UAAU,GACpC,KAAK,EAEH,OADA+hB,EAAU51C,KAAO,EACVo0C,EAAOgb,KAAKjE,SAAS,CAC1BlzD,UACAovD,SAAUjrD,aAAyC,EAASA,EAAQirD,SACpEd,SAAUnqD,aAAyC,EAASA,EAAQmqD,SACpEnX,SAAS,EACTkC,aAAa,EACb4X,gBAAiB,OACjBF,gBAAiB,2BACjB0C,WAAY,EACVrE,WACAd,eAGAnS,EAAOgsB,UAAU/xC,GAAWE,aAAcg4B,GACtCc,EACFjT,EAAOgsB,UAAU/xC,GAAWG,oBAAqB,yBAAyB64B,MAE1EjT,EAAOgsB,UAAU/xC,GAAWG,oBAAqB,cAEnD4lB,EAAOquB,YAET7c,OAAQ,CACNn6D,KAAM,CACJu0C,UAAWoU,EAAOpU,UAClB+S,sBAAuBqB,EAAOrB,sBAC9BI,wBAAyBiB,EAAOjB,wBAChCc,UAAWG,EAAOH,UAClBU,SAAUP,EAAOO,SACjB7G,SAAUsG,EAAOgb,KAAK1F,iBAExBmB,YAAY,KAGlB,KAAK,EACH,OAAOjV,EAAU/hB,OAAO,UAAU,GACpC,KAAK,EACL,IAAK,MACH,OAAO+hB,EAAUjiB,OAEvB,EAAGgiB,EACL,GAnDOjlB,EAoDT,CAMA,UAAAo6B,CAAWlF,GACT,IAAIlQ,EAAS1nD,KACb,OAAO0iC,GAA+B4C,GAAoBiB,KAAK,SAASoiB,IACtE,OAAOrjB,GAAoBc,KAAK,SAAU0iB,GACxC,cAAkBA,EAAU5iB,KAAO4iB,EAAU92C,MAC3C,KAAK,EACH,IAAK01C,EAAOgtB,MAAO,CACjB5rB,EAAU92C,KAAO,EACjB,KACF,CACA,OAAO82C,EAAUjjB,OAAO,UAC1B,KAAK,EAEH,OADAijB,EAAU92C,KAAO,EACV01C,EAAO0Z,KAAKtE,WAAW,CAC5BlF,OAAQA,EACRn6D,KAAM,CACJu0C,UAAW0V,EAAO1V,UAClB+S,sBAAuB2C,EAAO3C,sBAC9BI,wBAAyBuC,EAAOvC,wBAChCc,UAAWyB,EAAOzB,UAClBU,SAAUe,EAAOf,SACjB7G,SAAU4H,EAAO0Z,KAAK1F,iBAExBmB,YAAY,EACZD,YAAa,KACXlV,EAAO+sB,cAGb,KAAK,EACL,IAAK,MACH,OAAO3rB,EAAUnjB,OAEvB,EAAGgjB,EACL,GA/BOjmB,EAgCT,CACA,MAAAmsC,CAAOpvD,GAEL,OADAzf,KAAKqyE,WAAa5yD,EACXzf,IACT,CACA,SAAAoyE,CAAU3uE,EAAMpD,GAGd,GAAIoD,EAAKyM,gBAAkBmwB,GAAWC,WAAWpwB,cAAe,CAC9D,IAAI4tD,EAAW99D,KAAK8kB,QAAQub,GAAWC,YACvC,GAAI70B,MAAMwP,QAAQ5a,GAChBL,KAAK8kB,QAAQub,GAAWC,YAAc70B,MAAMwP,QAAQ6iD,GAAY,IAAIA,KAAaz9D,GAASA,MACrF,CACL,IAAI80E,EAAWlzE,OAAO5B,GAClBoL,MAAMwP,QAAQ6iD,GAChBA,EAASh9D,KAAKq0E,GAEdn1E,KAAK8kB,QAAQub,GAAWC,YAAc,CAAC60C,EAE3C,CACF,MAAW1pE,MAAMwP,QAAQ5a,GACvBL,KAAK8kB,QAAQrhB,GAAQpD,EAAM0N,KAAK,MAEhC/N,KAAK8kB,QAAQrhB,GAAQxB,OAAO5B,EAEhC,CACA,GAAA0L,CAAItI,EAAMpD,GAGR,OADAL,KAAKoyE,UAAU3uE,EAAMpD,GACdL,IACT,CACA,MAAAioE,CAAOxkE,EAAMpD,EAAO+N,GAMlB,IAAIg6D,ETlQD,SAAyB3kE,EAAMpD,EAAO+N,GAC3C,IAAIqhE,EACAn8C,EAAM,GAAG7vB,KAAQpD,IAErBizB,GAAO,UADyF,QAApFm8C,EAAgBrhE,aAAyC,EAASA,EAAQsd,YAAoC,IAAlB+jD,EAA2BA,EAAgB,MAE/IrhE,SAA0CA,EAAQ26D,QACpDz1C,GAAO,aAAallB,EAAQ26D,QAAQqM,qBAC4CvzE,KAAtEuM,eAAkDA,EAAQ46D,UAEpE11C,GAAO,aADO,IAAI0O,KAAKA,KAAKC,MAAyB,IAAjB7zB,EAAQ46D,QAChBoM,gBAC5B9hD,GAAO,aAAallB,EAAQ46D,UAW9B,OATI56D,SAA0CA,EAAQq6D,WACpDn1C,GAAO,cAELllB,SAA0CA,EAAQs6D,SACpDp1C,GAAO,YAELllB,SAA0CA,EAAQ66D,WACpD31C,GAAO,cAAcllB,EAAQ66D,YAExB31C,CACT,CS4OuB+hD,CAAgB5xE,EAAMpD,EAAO,CAC9CqrB,KAAMtd,aAAyC,EAASA,EAAQsd,KAChEq9C,QAAS36D,aAAyC,EAASA,EAAQ26D,QACnEC,OAAQ56D,aAAyC,EAASA,EAAQ46D,OAClEP,SAAUr6D,aAAyC,EAASA,EAAQq6D,SACpEC,OAAQt6D,aAAyC,EAASA,EAAQs6D,OAClEO,UAAmF,KAAxE76D,eAAkDA,EAAQ66D,UAAqB,UAAoF,KAAxE76D,aAAyC,EAASA,EAAQ66D,WAAkC76D,aAAZvM,EAA8DuM,EAAQ66D,WAI1PnL,EAAW99D,KAAK8kB,QAAQub,GAAWC,YAMvC,OALI70B,MAAMwP,QAAQ6iD,GAChBA,EAASh9D,KAAKsnE,GAEdpoE,KAAK8kB,QAAQub,GAAWC,YAAc,CAAC8nC,GAElCpoE,IACT,CACA,WAAAs1E,CAAY7xE,EAAM2K,GAKhB,IAAIg6D,ET9PD,SAA2B3kE,EAAM2K,GACtC,IAAImnE,EAGJ,MAAO,GAAG9xE,YAFuF,QAArF8xE,EAAiBnnE,aAAyC,EAASA,EAAQsd,YAAqC,IAAnB6pD,EAA4BA,EAAiB,uDAGxJ,CSyPuBC,CAAkB/xE,EAAM,CACzCioB,KAAMtd,aAAyC,EAASA,EAAQsd,OAI9DoyC,EAAW99D,KAAK8kB,QAAQub,GAAWC,YAMvC,OALI70B,MAAMwP,QAAQ6iD,GAChBA,EAASh9D,KAAKsnE,GAEdpoE,KAAK8kB,QAAQub,GAAWC,YAAc,CAAC8nC,GAElCpoE,IACT,EC/ZK,SAASy1E,GAAUp1E,GACxB,OAAiB,OAAVA,GAAmC,iBAAVA,GAAsB,SAAUA,CAClE,CCAA,SAASg3C,GAA2BtmB,EAAGC,GAAK,IAAIjT,EAAI,oBAAsBnb,QAAUmuB,EAAEnuB,OAAOI,WAAa+tB,EAAE,cAAe,IAAKhT,EAAG,CAAE,GAAItS,MAAMwP,QAAQ8V,KAAOhT,EAC9J,SAAqCgT,EAAGvsB,GAAK,GAAIusB,EAAG,CAAE,GAAI,iBAAmBA,EAAG,OAAO8R,GAAkB9R,EAAGvsB,GAAI,IAAIuZ,EAAI,CAAA,EAAGzf,SAASP,KAAKgzB,GAAGvyB,MAAM,GAAG,GAAK,MAAO,WAAauf,GAAKgT,EAAEviB,cAAgBuP,EAAIgT,EAAEviB,YAAY/K,MAAO,QAAUsa,GAAK,QAAUA,EAAItS,MAAM03B,KAAKpS,GAAK,cAAgBhT,GAAK,2CAA2CvgB,KAAKugB,GAAK8kB,GAAkB9R,EAAGvsB,QAAK,CAAQ,CAAE,CADvN8yC,CAA4BvmB,KAAOC,EAAuC,CAAEjT,IAAMgT,EAAIhT,GAAI,IAAIw5B,EAAK,EAAGnsC,EAAI,WAAc,EAAG,MAAO,CAAEosC,EAAGpsC,EAAG/D,EAAG,WAAe,OAAOkwC,GAAMxmB,EAAElsB,OAAS,CAAE8P,MAAM,GAAO,CAAEA,MAAM,EAAItU,MAAO0wB,EAAEwmB,KAAS,EAAGvmB,EAAG,SAAWD,GAAK,MAAMA,CAAG,EAAGpqB,EAAGyE,EAAK,CAAE,MAAM,IAAI/L,UAAU,wIAA0I,CAAE,IAAIyxB,EAAGtsB,GAAI,EAAI89B,GAAI,EAAI,MAAO,CAAEkV,EAAG,WAAez5B,EAAIA,EAAEhgB,KAAKgzB,EAAI,EAAG1pB,EAAG,WAAe,IAAI0pB,EAAIhT,EAAE/L,OAAQ,OAAOxN,EAAIusB,EAAEpc,KAAMoc,CAAG,EAAGC,EAAG,SAAWD,GAAKuR,GAAI,EAAIxR,EAAIC,CAAG,EAAGpqB,EAAG,WAAe,IAAMnC,GAAK,MAAQuZ,EAAEynB,QAAUznB,EAAEynB,QAAU,CAAC,QAAW,GAAIlD,EAAG,MAAMxR,CAAG,CAAE,EAAK,CAEr1B,SAAS+R,GAAkB9R,EAAGvsB,IAAM,MAAQA,GAAKA,EAAIusB,EAAElsB,UAAYL,EAAIusB,EAAElsB,QAAS,IAAK,IAAImsB,EAAI,EAAG3pB,EAAIoE,MAAMjH,GAAIwsB,EAAIxsB,EAAGwsB,IAAK3pB,EAAE2pB,GAAKD,EAAEC,GAAI,OAAO3pB,CAAG,CAqC5I,MAAMquE,GACX,WAAAlnE,CAAYJ,GACV,IAAI+8D,EAAqBwK,EACzBzkD,GAAgBlxB,KAAM,WAAY,IAAIugD,KACtCrvB,GAAgBlxB,KAAM,cAAe,IAErCA,KAAKyB,IAAM2M,eAAkDA,EAAQ3M,KAAO0gC,KAC5E,IAAIqpC,EAAW,IAAIxH,GAA4B,CAC7C3mB,KAAMpd,GAAYC,OAClBod,WAAYt9C,KAAKyB,GACjB+2C,UAAWpqC,aAAyC,EAASA,EAAQoqC,UACrEoG,iBAAkBxwC,aAAyC,EAASA,EAAQwwC,iBAC5ER,qBAAsBhwC,aAAyC,EAASA,EAAQgwC,qBAChFE,mBAAoBlwC,aAAyC,EAASA,EAAQkwC,mBAC9E6lB,iBAAkB,CAChBzqB,UAAW15C,KAAKyB,IAElBwkD,UAAW,CACT+c,cAAe0S,GAAwBE,cACvCl8B,UAAW15C,KAAKyB,GAChBwhE,gBAAiB,CAACt/B,EAAGqoC,IAAQhsE,KAAKijE,gBAAgBt/B,EAAGqoC,GACrD9I,6BAA8Bv/B,IAC5B3jC,KAAKkgE,IAAIZ,SAAS/iC,GAAiBH,GAAYE,mCAAoCqH,EAAE72B,KAAM62B,EAAEqO,WAAY,KACvGyE,GAAiB,OAAQ1a,GAAcH,GAAS/C,mCAAoC8K,EAAE72B,KAAM62B,EAAEqO,gBAIpG6tB,gBAAiB,CACfyG,eAAgBl4D,aAAyC,EAASA,EAAQk4D,eAC1ED,eAAgBj4D,aAAyC,EAASA,EAAQi4D,kBAG9ErmE,KAAKwrE,SAAWA,EAChBxrE,KAAKkgE,IAAMsL,EAAStL,IACpBlgE,KAAK6/D,gBAAkB2L,EAAS3L,gBAChC7/D,KAAKqoD,WAA8G,QAAhG8iB,EAAsB/8D,aAAyC,EAASA,EAAQi6C,kBAAgD,IAAxB8iB,EAAiCA,EAAsB/qC,GAAeb,IACjMv/B,KAAK61E,+BAAwJ,QAAtHF,EAAwBvnE,aAAyC,EAASA,EAAQynE,sCAAsE,IAA1BF,EAAmCA,EAAwB1kD,OAAO6kD,kBACvO,IAKInV,EAAiB3gE,KAAKkgE,IAAIb,qBAAqBr/D,KAAK4gE,mBAAmBnjE,KAAKuC,OAGhFA,KAAKwrE,SAASjH,OAAO,KACnBvkE,KAAKkgE,IAAI3hB,gBAAgBlf,GAAYC,QAAS,CAACzvB,EAAM0pC,IAAYv5C,KAAK+1E,cAAclmE,EAAM0pC,GAAUonB,KAItG3gE,KAAKwrE,SAAS1G,2BAA2B,CACvCnE,iBACAjnB,UAAW15C,KAAKyB,GAChBujE,uBAAuB,EACvB/B,gBAAiB,CAACt/B,EAAGqoC,IAAQhsE,KAAKijE,gBAAgBt/B,EAAGqoC,GACrD9I,6BAlBiCv/B,IACjC3jC,KAAKkgE,IAAIZ,SAAS/iC,GAAiBH,GAAYE,mCAAoCqH,EAAE72B,KAAM62B,EAAEqO,WAAY,KACvGyE,GAAiB,OAAQ1a,GAAcH,GAAS/C,mCAAoC8K,EAAE72B,KAAM62B,EAAEqO,eAiBhGmzB,iBAAkBuQ,GAAwBM,aAC1C1Q,yBAA0BoQ,GAAwBO,wBAClD5Q,wBAAyBplC,GAAYE,UAIsC,KAAxE/xB,eAAkDA,EAAQ69D,WAC7DjsE,KAAKmL,MAET,CACA,cAAIswD,GACF,OAAOz7D,KAAKkgE,IAAIlB,iBAClB,CAGA,aAAIxmB,GACF,OAAOx4C,KAAKkgE,IAAI1nB,SAClB,CAGA,UAAIwnB,GACF,OAAOhgE,KAAKkgE,IAAIF,MAClB,CAGA,IAAA70D,GACEnL,KAAKkgE,IAAI/0D,MACX,CAGA,KAAAd,GACErK,KAAKkgE,IAAI71D,OACX,CAGA,qBAAI20D,GACF,OAAOh/D,KAAKkgE,IAAIlB,iBAClB,CAKA,eAAAiE,CAAgBpzD,EAAM0pC,GACpB,IAAKv5C,KAAK6/D,gBAAiB,OAAO,EAClC,IACE,OAAO7/D,KAAK6/D,gBAAgBtmB,EAAQlsB,OAAQxd,EAAM0pC,EACpD,CAAE,MAAO2I,GACP,OAAO,CACT,CACF,CAMA,YAAAg0B,CAAa7oD,EAAQ0yB,GACnB,MAAO,GAAG1yB,MAAW0yB,GAAa,WACpC,CAKA,kBAAA6gB,CAAmB/wD,EAAM0pC,EAASx4C,GAC3Bw4C,EAAQp4C,QAIbnB,KAAKy7D,WAAWxhB,YAAYV,EAAQp4C,OAAQo4C,EAAQlsB,OAAQgS,GAAY9G,MAAO1oB,EAAKmiC,UAAW,CAC7FtmB,KAAM7b,EAAK6b,KACXmjD,OAAQ3wC,GAAWI,YACnBwwC,WAAYlzC,GAASjE,6BACrBt6B,MAAO,CACLw0C,QAAS9V,GAAcH,GAASlE,yBAA0B32B,EAAS28B,GAAgBE,eACnFne,KAAMsf,GAAUK,uBAGtB,CACA,kBAAA+2C,CAAmBl/C,EAAKif,EAAc8D,EAAcnqC,EAAMuoC,GACxD,IAAKnhB,EAAIy9C,MAAO,CACdz9C,EAAI29C,YAKJ,IAAIwB,EAAcn/C,EAAIo7C,aAAen0C,GAAWC,GAAKD,GAAWQ,sBAAwBzH,EAAIo7C,WAG5FryE,KAAKy7D,WAAWxhB,YAAY/D,EAAc8D,EAAc3a,GAAY9G,MAAO1oB,EAAKmiC,UAAW,CACzFtmB,KAAM7b,EAAK6b,KACXruB,MAAO,CACLw0C,QAASuG,GAAOA,EAAIvG,SAAWjW,GAASzD,eACxC1Y,KAAM24B,GAAOA,EAAI34B,MAAQsf,GAAUG,eAErC2vC,OAAQuH,EACRtH,WAAYjwC,GAAeu3C,IAAgBv3C,GAAeX,GAAWQ,uBACrE5Z,QAASmS,EAAInS,QACbg7B,SAAUjwC,EAAKkwC,WAEnB,CACF,CACA,mBAAAs2B,CAAoBp/C,EAAKif,EAAc8D,EAAcnqC,EAAM9J,GACpDkxB,EAAIy9C,YAAoB7yE,IAAXkE,EAENkxB,EAAIy9C,QACdz9C,EAAI29C,YACJ50E,KAAKy7D,WAAWxhB,YAAY/D,EAAc8D,EAAc3a,GAAY9G,MAAO1oB,EAAKmiC,UAAW,CACzFtmB,KAAM7b,EAAK6b,KACXruB,MAAO,CACLw0C,QAASjW,GAASvD,iBAClB5Y,KAAMsf,GAAUI,aAElB0vC,OAAQ3wC,GAAWQ,sBACnBowC,WAAYjwC,GAAeX,GAAWQ,uBACtC5Z,QAASmS,EAAInS,WAXfmS,EAAI8iB,KAAKh0C,EAcb,CAOA,WAAAuwE,CAAYjN,GACV,IAAIkN,EAAsBv2E,KAAKy7D,WAAWvhB,WAAWmvB,GAGjDmN,EAAex2E,KAAK8+C,SAAS76C,IAAIsyE,GACrC,GAAIC,EACF,MAAO,CACLtsC,QAASssC,EACTv9D,OAAQ,CAAA,GAKZ,IACEi/B,EADEC,EAAYd,GAA2Br3C,KAAK8+C,SAAStqC,WAEzD,IACE,IAAK2jC,EAAUX,MAAOU,EAAQC,EAAU9wC,KAAKsN,MAAO,CAClD,IAAI8hE,EAAc3zC,GAAeoV,EAAM73C,MAAO,GAC5Cq2E,EAAiBD,EAAY,GAC7BvsC,EAAUusC,EAAY,GAExB,GAAIC,EAAenuE,SAAS,KAAM,CAChC,IAAIouE,EAAchD,GAAoB4C,EAAqBG,GAC3D,GAAIC,EAAYz0E,MACd,MAAO,CACLgoC,UACAjxB,OAAQ09D,EAAY19D,OAG1B,CACF,CACF,CAAE,MAAOm/B,GACPD,EAAUnnB,EAAEonB,EACd,CAAC,QACCD,EAAUxxC,GACZ,CACA,OAAO,IACT,CAKA,aAAAovE,CAAclmE,EAAM0pC,GAElB,GAAK1pC,EAAK6b,QAAQ7b,EAAKiwC,UAAYjwC,EAAKiwC,WAAa9/C,KAAKyB,KACrD83C,EAAQp4C,QACRnB,KAAKijE,gBAAgBpzD,EAAM0pC,KAG5BA,EAAQG,UAAZ,CAGA,IAAIxD,EAAeqD,EAAQp4C,OACvB64C,EAAeT,EAAQlsB,OAGvBupD,EAAe52E,KAAKs2E,YAAYzmE,EAAK6b,MACzC,IAAKkrD,EAmBH,OAfAr9B,EAAQE,cAAcz5C,KAAKyB,SAK3BzB,KAAKy7D,WAAWxhB,YAAY/D,EAAc8D,EAAc3a,GAAY9G,MAAO1oB,EAAKmiC,UAAW,CACzFtmB,KAAM7b,EAAK6b,KACXruB,MAAO,CACLw0C,QAASjW,GAASxD,iBAClB3Y,KAAMsf,GAAU3G,kBAElBy2C,OAAQ3wC,GAAWO,UACnBqwC,WAAYjwC,GAAeX,GAAWO,WACtCqhB,SAAUjwC,EAAKkwC,YAInB,IAAI82B,EAAYD,EAAa1sC,QAC3BjxB,EAAS29D,EAAa39D,OACpB69D,EAAY92E,KAAKk2E,aAAal8B,EAAcnqC,EAAKkwC,WAErD,IADe//C,KAAKkgE,IAAI6W,QAAQzY,WAAWoX,GAAwBsB,0BAA2BF,EAAW92E,KAAK61E,gCAgB5G,OAbAt8B,EAAQE,cAAcz5C,KAAKyB,SAC3BzB,KAAKy7D,WAAWxhB,YAAY/D,EAAc8D,EAAc3a,GAAY9G,MAAO1oB,EAAKmiC,UAAW,CACzFtmB,KAAM7b,EAAK6b,KACXruB,MAAO,CACLw0C,QAAS9V,GAAcH,GAASpD,kBAAmBx4B,KAAK61E,gCACxDp2D,KAAMsf,GAAUvG,mBAElBq2C,OAAQ3wC,GAAW1F,kBACnBs2C,WAAYjwC,GAAeX,GAAW1F,mBACtConB,WAAY/vC,EAAK+vC,WACjB7D,IAAKlsC,EAAKksC,IACV+D,SAAUjwC,EAAKkwC,YAMnBxG,EAAQ6mB,eAAepgE,KAAKyB,IAI5B,IAAI2/D,EAAOphE,KAAKkgE,IAAIJ,aAAa5pB,EAAc8D,EAAcnqC,EAAKkwC,WAC9D9oB,EAAM,IAAIg9C,GAAmBpkE,EAAKmiC,UAAWniC,EAAK6b,MAAQ,GAAI1rB,KAAKyB,GAAI2/D,EAAM,CAC/Erc,sBAAuB,CAAC9D,EAAU/W,KAChClqC,KAAKwrE,SAASrH,iBAAiBxB,SAAS1hB,EAAU/W,IAEpDib,wBAAyBlE,IACvBjhD,KAAKwrE,SAASrH,iBAAiBvB,WAAW3hB,IAE5CgF,UAAW,IAAMjmD,KAAKwrE,SAAS5F,SAAS1vB,EAAc8D,EAAch6C,KAAKqoD,WAAYx4C,EAAKkwC,WAC1Fo0B,OAAQ,IAAMn0E,KAAKkgE,IAAI6W,QAAQ79B,QAAQw8B,GAAwBsB,0BAA2BF,KAI5F92E,KAAKwrE,SAAS3F,mBAAmB,CAC/B7zB,UAAWniC,EAAKmiC,UAChBsV,UAAWtnD,KAAKqoD,WAChB2a,cAAe0S,GAAwBM,aACvCxzC,QAAS,CAAC8/B,EAAUvmB,KAClB9kB,EAAIu9C,YAAYlS,EAAUvmB,MAM9B,IAAIkF,EAAWpxC,EAAKoxC,SACpB,GAAIA,EAAJ,CACE,IAAIg2B,EAAqBj3E,KAAKqoD,WAC9BroD,KAAKwrE,SAAS/F,kCAAkC,CAC9CzC,cAAe0S,GAAwBO,wBACvCjkC,UAAWniC,EAAKmiC,UAChBiP,WACAqG,UAAW2vB,EACX/gC,eACA8D,eACA0rB,UAAW,KACJzuC,EAAIy9C,QACPz9C,EAAI29C,YACJ50E,KAAKy7D,WAAWxhB,YAAY/D,EAAc8D,EAAc3a,GAAY9G,MAAO1oB,EAAKmiC,UC7VrF,SAA6C/4B,GAClD,MAAO,CACLyS,KAAMzS,EAAOyS,KACbruB,MAAO,CACLw0C,QAAS9V,GAAcH,GAASxC,qBAAsBngB,EAAOquC,WAC7D7nC,KAAMsf,GAAU3F,sBAElBy1C,OAAQ3wC,GAAWjG,gBACnB62C,WAAYjwC,GAAeX,GAAWjG,iBACtC2nB,WAAY3mC,EAAO2mC,WACnB7D,IAAK9iC,EAAO8iC,IACZ+D,SAAU7mC,EAAO6mC,SAErB,CDgVuGo3B,CAAoC,CAC7HxrD,KAAM7b,EAAK6b,MAAQ,GACnB47B,UAAW2vB,EACXr3B,WAAY/vC,EAAK+vC,WACjB7D,IAAKlsC,EAAKksC,IACV+D,SAAUjwC,EAAKkwC,eAIrBra,SAAU,EACRkyB,SACA6L,OACA5zD,KAAMsnE,MAGN,IAAIzF,EAAM,IAAIsC,GAAkBnkE,EAAM0pC,EAAStiB,EAAKhe,GAGpD,IAAKwqD,aAAmC,EAASA,EAAK32D,QAAUq2C,GAAmBl5B,KAAM,CACvF,IAAI28C,EAAahP,EACjB,GAAI6L,SAAoCA,EAAKngB,YA0B3C,YAzBAijB,GAAoC,CAClCK,aACAnD,SACChhC,KAAKysC,IACNwC,EAAI3sD,KAAOmqD,EACXwC,EAAI9Z,YAAS/1D,EACb7B,KAAKo3E,eAAe1F,EAAKz6C,EAAK,KAC5B,IACE,IAAIlxB,EAAS8wE,EAAUnF,EAAKz6C,GACxBw+C,GAAU1vE,IACZ/F,KAAKy7D,WAAWxhB,YAAY/D,EAAc8D,EAAc3a,GAAYG,MAAO23C,EAAgBnlC,UAAW,CACpGtmB,KAAM7b,EAAK6b,KACXo0B,SAAUq3B,EAAgBp3B,YAE5Bh6C,EAAO08B,KAAKziC,KAAKq2E,oBAAoB54E,KAAKuC,KAAMi3B,EAAKif,EAAc8D,EAAcnqC,IAAO+1B,MAAM5lC,KAAKm2E,mBAAmB14E,KAAKuC,KAAMi3B,EAAKif,EAAc8D,EAAcnqC,KAElK7P,KAAKq2E,oBAAoBp/C,EAAKif,EAAc8D,EAAcnqC,EAAM9J,EAEpE,CAAE,MAAO1I,GACP2C,KAAKm2E,mBAAmBl/C,EAAKif,EAAc8D,EAAcnqC,EAAMxS,EACjE,MAEDuoC,MAAMvoC,IACP2C,KAAKm2E,mBAAmBl/C,EAAKif,EAAc8D,EAAcnqC,EAAMxS,KAMnEq0E,EAAI3sD,KAAO6hD,EACX8K,EAAI9Z,OAASgP,CACf,MAEE8K,EAAI3sD,UAAOljB,EACX6vE,EAAI9Z,OAASA,EAEf53D,KAAKo3E,eAAe1F,EAAKz6C,EAAK,KAC5B,IACE,IAAIlxB,EAAS8wE,EAAUnF,EAAKz6C,GACxBw+C,GAAU1vE,IACZ/F,KAAKy7D,WAAWxhB,YAAY/D,EAAc8D,EAAc3a,GAAYG,MAAO23C,EAAgBnlC,UAAW,CACpGtmB,KAAM7b,EAAK6b,KACXo0B,SAAUq3B,EAAgBp3B,YAE5Bh6C,EAAO08B,KAAKziC,KAAKq2E,oBAAoB54E,KAAKuC,KAAMi3B,EAAKif,EAAc8D,EAAcnqC,IAAO+1B,MAAM5lC,KAAKm2E,mBAAmB14E,KAAKuC,KAAMi3B,EAAKif,EAAc8D,EAAcnqC,KAElK7P,KAAKq2E,oBAAoBp/C,EAAKif,EAAc8D,EAAcnqC,EAAM9J,EAEpE,CAAE,MAAO1I,GACP2C,KAAKm2E,mBAAmBl/C,EAAKif,EAAc8D,EAAcnqC,EAAMxS,EACjE,MAKR,KAxFA,CA2FA,IAAIq0E,EAAM,IAAIsC,GAAkBnkE,EAAM0pC,EAAStiB,EAAKhe,GAGpDjZ,KAAKo3E,eAAe1F,EAAKz6C,EAAK,KAC5B,IACE,IAAIlxB,EAAS8wE,EAAUnF,EAAKz6C,GACxBw+C,GAAU1vE,IAIZ/F,KAAKy7D,WAAWxhB,YAAY/D,EAAc8D,EAAc3a,GAAYG,MAAO3vB,EAAKmiC,UAAW,CACzFtmB,KAAM7b,EAAK6b,KACXo0B,SAAUjwC,EAAKkwC,YAEjBh6C,EAAO08B,KAAKziC,KAAKq2E,oBAAoB54E,KAAKuC,KAAMi3B,EAAKif,EAAc8D,EAAcnqC,IAAO+1B,MAAM5lC,KAAKm2E,mBAAmB14E,KAAKuC,KAAMi3B,EAAKif,EAAc8D,EAAcnqC,KAGlK7P,KAAKq2E,oBAAoBp/C,EAAKif,EAAc8D,EAAcnqC,EAAM9J,EAEpE,CAAE,MAAO1I,GACP2C,KAAKm2E,mBAAmBl/C,EAAKif,EAAc8D,EAAcnqC,EAAMxS,EACjE,GAxBF,CAvKA,CAiMF,CACA,GAAA0sE,CAAIsN,EAAkBC,GAChBthC,GAAWqhC,GACbr3E,KAAKu3E,YAAYz2E,KAAK,CACpB09C,QAAS,KACT84B,WAAYD,IAELC,GACTt3E,KAAKu3E,YAAYz2E,KAAK,CACpB09C,QAAS64B,EACTC,cAGN,CACA,EAAA91B,CAAG91B,EAAMwe,GACP,IAAIstC,EAAex3E,KAAKy7D,WAAWvhB,WAAWxuB,GAI9C,OAHA1rB,KAAK8+C,SAAS/yC,IAAIyrE,EAActtC,GAGzB,KACLlqC,KAAK8+C,SAAS16B,OAAOozD,GAEzB,CACA,cAAAJ,CAAe1F,EAAKz6C,EAAKwgD,GACvB,IAAI/rD,EAAOgmD,EAAIhmD,KACX/jB,EAAQ,EACRqK,EAAO,KACT,IAAIilB,EAAIy9C,MAAR,CAGA,KAAO/sE,EAAQ3H,KAAKu3E,YAAY1yE,QAAQ,CACtC,IAAImmC,EAAOhrC,KAAKu3E,YAAY5vE,KAC5B,GAAqB,OAAjBqjC,EAAKwT,SAAoB60B,GAAU3nD,EAAMsf,EAAKwT,SAChD,IACE,IAAIz4C,EAASilC,EAAKssC,WAAW5F,EAAKz6C,EAAKjlB,GAUvC,YATIjM,aAAkBw8B,SACpBx8B,EAAO6/B,MAAMwS,IACNnhB,EAAIy9C,OACPz9C,EAAI43C,OAAO3wC,GAAWQ,uBAAuBqb,KAAK,CAChD18C,MAAO+6C,EAAIvG,SAAWjW,GAAStD,qBAMzC,CAAE,MAAO8f,GAMP,YALKnhB,EAAIy9C,OACPz9C,EAAI43C,OAAO3wC,GAAWQ,uBAAuBqb,KAAK,CAChD18C,OAAQ+6C,eAA0CA,EAAIvG,UAAYjW,GAAStD,mBAIjF,CAEJ,CACI3wB,GAAS3H,KAAKu3E,YAAY1yE,QAC5B4yE,GA3BF,GA8BFzlE,GACF,CACA,GAAA6vC,CAAIn2B,GACEjgB,MAAMwP,QAAQyQ,GAEhBA,EAAKpS,QAAQ8qB,IACXpkC,KAAK8+C,SAAS16B,OAAOpkB,KAAKy7D,WAAWvhB,WAAW9V,MAIlDpkC,KAAK8+C,SAAS16B,OAAOpkB,KAAKy7D,WAAWvhB,WAAWxuB,GAEpD,CACA,GAAAuE,CAAI6uB,GACF,IAAIsgB,EAAgB,GAIpB,OAHArgE,OAAOyV,QAAQsqC,GAAUxlC,QAAQ,EAAEoS,EAAMy+C,MACvC/K,EAAct+D,KAAKd,KAAKwhD,GAAG91B,EAAMy+C,MAE5B,KACL/K,EAAc9lD,QAAQpb,GAAMA,KAEhC,CAKA,OAAA0rE,GAEE5pE,KAAK8+C,SAASzV,QACdrpC,KAAKu3E,YAAY1yE,OAAS,EAC1B7E,KAAKwrE,SAASrH,iBAAiB96B,OACjC,CAKA,OAAA8Q,GACEn6C,KAAK4pE,UACL5pE,KAAKkgE,IAAI/lB,SACX,EAEFjpB,GAAgBwkD,GAAyB,eAAgB,sBACzDxkD,GAAgBwkD,GAAyB,gBAAiB,uBAC1DxkD,GAAgBwkD,GAAyB,0BAA2B,gCACpExkD,GAAgBwkD,GAAyB,4BAA6B,8BE7iBtE,IAAIgC,GAAsB90E,OAAOy9C,IAAI,gCAKrC,SAASs3B,GAAwBC,GAI/B,OAHMF,MAAuBE,IAC3BA,EAAIF,IAAuB,IAAIn3B,KAE1Bq3B,EAAIF,GACb,CAMA,SAASG,GAAkBr/B,EAAW/2C,GACpC,MAAO,GAAG+2C,QAA6CA,EAAY,MAAM/2C,QAA+BA,EAAK,IAC/G,CCJA,MAAMq2E,GACJ,WAAAtpE,CAAYyK,GACV,IAAI8+D,EACJ7mD,GAAgBlxB,KAAM,gBAAgB,GAEtCkxB,GAAgBlxB,KAAM,OAAQ,CAAC0rB,EAAM3G,EAAM3W,IAAYpO,KAAKg4E,YAAYj+B,KAAKruB,EAAM3G,EAAM3W,IACzF8iB,GAAgBlxB,KAAM,WAAY,CAAC0rB,EAAMzhB,EAASmE,IAAYpO,KAAKg4E,YAAY7a,SAASzxC,EAAMzhB,EAASmE,IACvG8iB,GAAgBlxB,KAAM,aAAc,CAAC0rB,EAAMksC,EAAQxpD,IAAYpO,KAAKg4E,YAAYlb,WAAWpxC,EAAMksC,EAAQxpD,IACzG8iB,GAAgBlxB,KAAM,YAAa,IAAMA,KAAKg4E,YAAY/K,aAC1D/7C,GAAgBlxB,KAAM,aAAc0rB,GAAQ1rB,KAAKg4E,YAAY1I,WAAW5jD,IACxEwF,GAAgBlxB,KAAM,YAAa,CAACyD,EAAMioB,IAAS1rB,KAAKg4E,YAAYzI,UAAU9rE,EAAMioB,IACpFwF,GAAgBlxB,KAAM,YAAa,CAACyD,EAAMpD,EAAO+N,IAAYpO,KAAKg4E,YAAYxI,UAAU/rE,EAAMpD,EAAO+N,IACrG8iB,GAAgBlxB,KAAM,eAAgB,CAACyD,EAAMioB,IAAS1rB,KAAKg4E,YAAYtI,aAAajsE,EAAMioB,IAC1FwF,GAAgBlxB,KAAM,eAAgB,IAAMA,KAAKg4E,YAAYrI,gBAE7Dz+C,GAAgBlxB,KAAM,MAAO,CAACq3E,EAAkBC,IAAet3E,KAAKi4E,YAAYlO,IAAIsN,EAAkBC,IACtGpmD,GAAgBlxB,KAAM,KAAM,CAAC0rB,EAAMwe,IAAYlqC,KAAKi4E,YAAYz2B,GAAG91B,EAAMwe,IACzEhZ,GAAgBlxB,KAAM,MAAO0rB,GAAQ1rB,KAAKi4E,YAAYp2B,IAAIn2B,IAC1DwF,GAAgBlxB,KAAM,MAAO8+C,GAAY9+C,KAAKi4E,YAAYhoD,IAAI6uB,IAC9D9+C,KAAKk4E,cAAgBj/D,EAAOi9B,aAC5Bl2C,KAAKm4E,cAAgBl/D,EAAO+gC,aAC5Bh6C,KAAKo4E,SAAWn/D,EAAO7K,QACvBpO,KAAKq4E,YAAcp/D,EAAOq/D,WAC1Bt4E,KAAKu4E,cAAmI,KAA5E,QAAtCR,EAAkB9+D,EAAO7K,eAAyC,IAApB2pE,OAA6B,EAASA,EAAgB9L,SAC5H,CAKA,SAAA+L,GACE,IAAKh4E,KAAKw4E,QAAS,CACjB,IAAIpqE,EAAUpO,KAAKo4E,SACfjI,EAAS,IAAIpF,GAAwB/qE,KAAKk4E,cAAel4E,KAAKm4E,cAAe,CAC/E3/B,UAAWpqC,aAAyC,EAASA,EAAQoqC,UACrE6P,WAAYj6C,aAAyC,EAASA,EAAQi6C,WACtEhC,QAASj4C,aAAyC,EAASA,EAAQi4C,QACnEulB,aAAcx9D,aAAyC,EAASA,EAAQw9D,aACxEE,WAAY19D,aAAyC,EAASA,EAAQ09D,WACtEhnD,QAAS1W,aAAyC,EAASA,EAAQ0W,QACnEwhD,eAAgBl4D,aAAyC,EAASA,EAAQk4D,eAC1ED,eAAgBj4D,aAAyC,EAASA,EAAQi4D,eAC1E4F,UAAU,EACV7tB,qBAAsBhwC,aAAyC,EAASA,EAAQgwC,qBAChFE,mBAAoBlwC,aAAyC,EAASA,EAAQkwC,oBAC7Et+C,KAAKq4E,aACR,GAAIjqE,SAA0CA,EAAQqqE,MAAO,CAC3D,IAAIliC,GAA0B,IAAlBnoC,EAAQqqE,MAAiBh8C,GAASC,MAAQtuB,EAAQqqE,MAC9DniC,GAAyBC,GACrBA,IAAU9Z,GAASC,OAAS6Z,IAAU9Z,GAASE,MACjDuzC,GAA6BC,EAEjC,CACAnwE,KAAKw4E,QAAUrI,CACjB,CAOA,OANInwE,KAAKu4E,eAAiBv4E,KAAKw4E,QAAQxY,QACrChgE,KAAKw4E,QAAQrtE,QAEVnL,KAAKu4E,cAAgBv4E,KAAKw4E,QAAQxY,QACrChgE,KAAKw4E,QAAQnuE,QAERrK,KAAKw4E,OACd,CAKA,SAAAP,GACE,IAAKj4E,KAAK04E,QAAS,CACjB,IAAItqE,EAAUpO,KAAKo4E,SACf7G,EAAS,IAAImE,GAAwB,CACvCl9B,UAAWpqC,aAAyC,EAASA,EAAQoqC,UACrE/2C,GAAIzB,KAAKq4E,YACThwB,WAAYj6C,aAAyC,EAASA,EAAQi6C,WACtE4jB,UAAU,EACV3F,eAAgBl4D,aAAyC,EAASA,EAAQk4D,eAC1ED,eAAgBj4D,aAAyC,EAASA,EAAQi4D,eAC1EwP,+BAAgCznE,aAAyC,EAASA,EAAQynE,+BAC1Fz3B,qBAAsBhwC,aAAyC,EAASA,EAAQgwC,qBAChFE,mBAAoBlwC,aAAyC,EAASA,EAAQkwC,qBAEhF,GAAIlwC,SAA0CA,EAAQqqE,MAAO,CAC3D,IAAIliC,GAA0B,IAAlBnoC,EAAQqqE,MAAiBh8C,GAASC,MAAQtuB,EAAQqqE,MAC9DniC,GAAyBC,GACrBA,IAAU9Z,GAASC,OAAS6Z,IAAU9Z,GAASE,MACjD20C,GAA0BC,EAE9B,CACAvxE,KAAK04E,QAAUnH,CACjB,CAOA,OANIvxE,KAAKu4E,eAAiBv4E,KAAK04E,QAAQ1Y,QACrChgE,KAAK04E,QAAQvtE,QAEVnL,KAAKu4E,cAAgBv4E,KAAK04E,QAAQ1Y,QACrChgE,KAAK04E,QAAQruE,QAERrK,KAAK04E,OACd,CAMA,UAAIvI,GACF,OAAOnwE,KAAKg4E,WACd,CACA,UAAIzG,GACF,OAAOvxE,KAAKi4E,WACd,CAGA,gBAAI/hC,GACF,OAAOl2C,KAAKk4E,aACd,CACA,MAAIz2E,GACF,OAAOzB,KAAKq4E,WACd,CACA,UAAIrY,GAKF,OAAOhgE,KAAKu4E,YACd,CACA,gBAAI9N,GACF,OAAOzqE,KAAKg4E,YAAYvN,YAC1B,CACA,gBAAIA,CAAapqE,GACfL,KAAKg4E,YAAYvN,aAAepqE,CAClC,CACA,WAAAgvE,GACE,OAAOp5B,GAAkBj2C,KAAKk4E,cAChC,CACA,IAAA/sE,GACE,IAAIwtE,EAAeC,EACnB54E,KAAKu4E,cAAe,EACe,QAAlCI,EAAgB34E,KAAKw4E,eAAuC,IAAlBG,GAA4BA,EAAcxtE,OAClD,QAAlCytE,EAAgB54E,KAAK04E,eAAuC,IAAlBE,GAA4BA,EAAcztE,MACvF,CACA,KAAAd,GACE,IAAIwuE,EAAgBC,EACpB94E,KAAKu4E,cAAe,EACgB,QAAnCM,EAAiB74E,KAAKw4E,eAAwC,IAAnBK,GAA6BA,EAAexuE,QACpD,QAAnCyuE,EAAiB94E,KAAK04E,eAAwC,IAAnBI,GAA6BA,EAAezuE,OAC1F,CACA,OAAA8vC,GACE,IAAI4+B,EAAgBC,EAKgB,QAAnCD,EAAiB/4E,KAAKw4E,eAAwC,IAAnBO,GAA6BA,EAAe5+B,UACpD,QAAnC6+B,EAAiBh5E,KAAK04E,eAAwC,IAAnBM,GAA6BA,EAAe7+B,UACxFn6C,KAAKw4E,aAAU32E,EACf7B,KAAK04E,aAAU72E,CACjB,CAEA,aAAI22C,GACF,IAAIygC,EACJ,OAA4C,QAApCA,EAAiBj5E,KAAKo4E,gBAAyC,IAAnBa,SAAqCA,EAAezgC,SAC1G,i0BCxGK,SAAuCA,GAGnB,iBAAdA,EAIXoI,KAHEA,GAAyBpI,EAI7B,kCCtBO,SAAuCqI,IHUvC,SAA0BA,GAC/B,IAAIH,EAAQi3B,GAAwB93E,QACpC,IAAKghD,EAKH,OAJAH,EAAMpnC,QAAQi4D,IACZA,EAAOp3B,iBAETuG,EAAMrX,QAGR,IAAIpwB,EAAwB,iBAAR4nC,EAAmB,CACrCrI,UAAWqI,GACTA,EACArkB,EAAqC,iBAArBvjB,EAAOu/B,UAAyB,GAAGv/B,EAAOu/B,kBAAe32C,EACzEq3E,EAA8B,iBAAdjgE,EAAOxX,GAAkB,IAAIwX,EAAOxX,UAAOI,EAC/D6+C,EAAMpnC,QAAQ,CAACi4D,EAAQnxE,KACjBo8B,IAAWp8B,EAAI2jE,WAAWvnC,IAC1B08C,IAAW94E,EAAIgnE,SAAS8R,KAC5Bx4B,EAAMt8B,OAAOhkB,GACbmxE,EAAOp3B,YAEX,CG5BEg/B,CAAiBt4B,EACnB,0D3KyFO,WACL,OAAO3qB,GAAc,CAAA,EAAIyF,GAC3B,6N0K/IO,SAA6BpsB,EAAQnB,GAC1C,IAAI8nC,EAAe,KACf8D,EAAenc,GAAeC,IAClC,GAAuB,WAAnBvuB,EAAO6pE,QAAsB,CAC/B,IAAIzuE,EAAS4E,EAGb,GAFA2mC,EAAevrC,EAAOO,cACtB8uC,EAAelY,GAAsBn3B,IAChCurC,EACH,KAAM,CACJrE,QAASjW,GAASlD,iBAClBjZ,KAAMsf,GAAUrG,iBAGtB,MACEwd,EAAe3mC,EACfyqC,EAAenc,GAAeC,IAI5B1vB,SAA0CA,EAAQ4rC,eACpDA,EAAe5rC,EAAQ4rC,cAIzB,IAAIxB,EAAYpqC,aAAyC,EAASA,EAAQoqC,UAGtE8E,EAAanb,KAGbguC,EAAS,IAAIpF,GAAwB70B,EAAc8D,EAAc,CACnExB,YACA6P,WAAYj6C,aAAyC,EAASA,EAAQi6C,WACtEhC,QAASj4C,aAAyC,EAASA,EAAQi4C,QACnEulB,aAAcx9D,aAAyC,EAASA,EAAQw9D,aACxEE,WAAY19D,aAAyC,EAASA,EAAQ09D,WACtEhnD,QAAS1W,aAAyC,EAASA,EAAQ0W,QACnEwhD,eAAgBl4D,aAAyC,EAASA,EAAQk4D,eAC1ED,eAAgBj4D,aAAyC,EAASA,EAAQi4D,eAC1E4F,SAAU79D,aAAyC,EAASA,EAAQ69D,SACpE7tB,qBAAsBhwC,aAAyC,EAASA,EAAQgwC,qBAChFE,mBAAoBlwC,aAAyC,EAASA,EAAQkwC,oBAC7EhB,GAOH,GAAIlvC,SAA0CA,EAAQqqE,MAAO,CAC3D,IAAIliC,GAA0B,IAAlBnoC,EAAQqqE,MAAiBh8C,GAASC,MAAQtuB,EAAQqqE,MAC9DniC,GAAyBC,GACrBA,IAAU9Z,GAASC,OAAS6Z,IAAU9Z,GAASE,MACjDuzC,GAA6BC,EAEjC,CACA,OAAOA,CACT,0BDwHO,SAA+B5gE,EAAQnB,GAC5C,IAAIirE,EACAnjC,EAAe,KACf8D,EAAenc,GAAeC,IAClC,GAAuB,WAAnBvuB,EAAO6pE,QAAsB,CAC/B,IAAIzuE,EAAS4E,EAGb,GAFA2mC,EAAevrC,EAAOO,cACtB8uC,EAAelY,GAAsBn3B,IAChCurC,EACH,KAAM,CACJrE,QAASjW,GAASlD,iBAClBjZ,KAAMsf,GAAUrG,iBAGtB,MACEwd,EAAe3mC,EACfyqC,EAAenc,GAAeC,IAI5B1vB,SAA0CA,EAAQ4rC,eACpDA,EAAe5rC,EAAQ4rC,cAOzB,IAAIs+B,EAA8F,QAAhFe,EAAcjrE,aAAyC,EAASA,EAAQ3M,UAAgC,IAAhB43E,EAAyBA,EAAcl3C,KACjJ,OAAO,IAAI21C,GAA+B,CACxC5hC,eACA8D,eACA5rC,UACAkqE,cAEJ,wBErNO,SAA6BlqE,GAElC,IAAIoqC,EAAYpqC,aAAyC,EAASA,EAAQoqC,UACtE/2C,EAAK2M,aAAyC,EAASA,EAAQ3M,GAGnE,GAAIA,EAAI,CACN,IAAI63E,EHaD,SAAyB9gC,EAAW/2C,GACzC,IAAKA,EAAI,OAAO,KAChB,IAAIi/C,EAAQi3B,GAAwB93E,QAChCO,EAAMy3E,GAAkBr/B,EAAW/2C,GACvC,OAAOi/C,EAAMz8C,IAAI7D,IAAQ,IAC3B,CGlBiBm5E,CAAgB/gC,EAAW/2C,GACxC,GAAI63E,EACF,OAAOA,CAEX,CAGA,IAAI/H,EAAS,IAAImE,GAAwB,CACvCl9B,YACA/2C,KACA4mD,WAAYj6C,aAAyC,EAASA,EAAQi6C,WACtE4jB,SAAU79D,aAAyC,EAASA,EAAQ69D,SACpE3F,eAAgBl4D,aAAyC,EAASA,EAAQk4D,eAC1ED,eAAgBj4D,aAAyC,EAASA,EAAQi4D,eAC1EwP,+BAAgCznE,aAAyC,EAASA,EAAQynE,+BAC1Fz3B,qBAAsBhwC,aAAyC,EAASA,EAAQgwC,qBAChFE,mBAAoBlwC,aAAyC,EAASA,EAAQkwC,qBAQhF,GAAIlwC,SAA0CA,EAAQqqE,MAAO,CAC3D,IAAIliC,GAA0B,IAAlBnoC,EAAQqqE,MAAiBh8C,GAASC,MAAQtuB,EAAQqqE,MAC9DniC,GAAyBC,GACrBA,IAAU9Z,GAASC,OAAS6Z,IAAU9Z,GAASE,MACjD20C,GAA0BC,EAE9B,CAMA,OAHI9vE,GHPC,SAAqB8vE,EAAQ/4B,EAAW/2C,GAC7C,GAAKA,EAAL,CACA,IAAIi/C,EAAQi3B,GAAwB93E,QAChCO,EAAMy3E,GAAkBr/B,EAAW/2C,GACvCi/C,EAAM30C,IAAI3L,EAAKmxE,EAHN,CAIX,CGGIiI,CAAYjI,EAAQ/4B,EAAW/2C,GAE1B8vE,CACT,kB3KuEO,WACL51C,GAAkBzF,GAAc,CAAA,EAAIsB,GACtC,gBATO,SAAqBiiD,GAC1B99C,GAAkBzF,GAAcA,GAAc,CAAA,EAAIsB,IAAkBiiD,EACtE","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,146,147,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,219,221,222,223,225,227,228,229,230,231,232,235,236,237,239,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,274,277,278,279,283,292,297,298,299,301,302,303]}
|